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
   214   215   216   217   218   219   220   221   222   223   224