Page 219 -
P. 219
202 Chapter 7 Design and implementation
Configuration management is the process of managing changes to an evolving software system.
It is essential when a team of people are cooperating to develop software.
Most software development is host-target development. You use an IDE on a host machine to
develop the software, which is transferred to a target machine for execution.
Open source development involves making the source code of a system publicly available. This
means that many people can propose changes and improvements to the software.
FURTHER RE ADING
Design Patterns: Elements of Reusable Object-oriented Software. This is the original software
patterns handbook that introduced software patterns to a wide community. (E. Gamma, R. Helm,
R. Johnson and J. Vlissides, Addison-Wesley, 1995.)
Applying UML and Patterns: An Introduction to Object-oriented Analysis and Design and Iterative
Development, 3rd edition. Larman writes clearly on object-oriented design and, as well as
discussing the use of the UML. This is a good introduction to using patterns in the design process.
(C. Larman, Prentice Hall, 2004.)
Producing Open Source Software: How to Run a Successful Free Software Project. His book is a
comprehensive guide to the background to open source software, licensing issues, and the
practicalities of running an open source development project. (K. Fogel, O’Reilly Media Inc., 2008.)
Further reading on software reuse is suggested in Chapter 16 and on configuration management
in Chapter 25.
E XERCISES
7.1. Using the structured notation shown in Figure 7.3, specify the weather station use cases for
Report status and Reconfigure. You should make reasonable assumptions about the
functionality that is required here.
7.2. Assume that the MHC-PMS is being developed using an object-oriented approach. Draw a use
case diagram showing at least six possible use cases for this system.
7.3. Using the UML graphical notation for object classes, design the following object classes,
identifying attributes and operations. Use your own experience to decide on the attributes
and operations that should be associated with these objects.
a telephone
a printer for a personal computer
a personal stereo system
a bank account
a library catalog