Page 214 -
P. 214
7.3 Implementation issues 197
UML deployment diagrams
UML deployment diagrams show how software components are physically deployed on processors; that
is, the deployment diagram shows the hardware and software in the system and the middleware used
to connect the different components in the system. Essentially, you can think of deployment diagrams as
a way of defining and documenting the target environment.
http://www.SoftwareEngineering-9.com/Web/Deployment/
A software development platform should provide a range of tools to support soft-
ware engineering processes. These may include:
1. An integrated compiler and syntax-directed editing system that allows you to
create, edit, and compile code.
2. A language debugging system.
3. Graphical editing tools, such as tools to edit UML models.
4. Testing tools, such as JUnit (Massol, 2003) that can automatically run a set of
tests on a new version of a program.
5. Project support tools that help you organize the code for different development
projects.
As well as these standard tools, your development system may include more special-
ized tools such as static analyzers (discussed in Chapter 15). Normally, development
environments for teams also include a shared server that runs a change and con-
figuration management system and, perhaps, a system to support requirements
management.
Software development tools are often grouped to create an integrated develop-
ment environment (IDE). An IDE is a set of software tools that supports different
aspects of software development, within some common framework and user inter-
face. Generally, IDEs are created to support development in a specific programming
language such as Java. The language IDE may be developed specially, or may be an
instantiation of a general-purpose IDE, with specific language-support tools.
A general-purpose IDE is a framework for hosting software tools that provides data
management facilities for the software being developed, and integration mechanisms,
that allow tools to work together. The best-known general-purpose IDE is the Eclipse
environment (Carlson, 2005). This environment is based on a plug-in architecture so
that it can be specialized for different languages and application domains (Clayberg and
Rubel, 2006). Therefore, you can install Eclipse and tailor it for your specific needs by
adding plug-ins. For example, you may add a set of plug-ins to support networked sys-
tems development in Java or embedded systems engineering using C.
As part of the development process, you need to make decisions about how the
developed software will be deployed on the target platform. This is straightforward