Page 220 -
P. 220
Chapter 7 References 203
7.4. Using the weather station objects identified in Figure 7.6 as a starting point, identify further
objects that may be used in this system. Design an inheritance hierarchy for the objects that
you have identified.
7.5. Develop the design of the weather station to show the interaction between the data collection
subsystem and the instruments that collect weather data. Use sequence diagrams to show
this interaction.
7.6. Identify possible objects in the following systems and develop an object-oriented design for
them. You may make any reasonable assumptions about the systems when deriving the design.
A group diary and time management system is intended to support the timetabling of
meetings and appointments across a group of co-workers. When an appointment is to be
made that involves a number of people, the system finds a common slot in each of their
diaries and arranges the appointment for that time. If no common slots are available, it
interacts with the user to rearrange his or her personal diary to make room for the
appointment.
A filling station (gas station) is to be set up for fully automated operation. Drivers
swipe their credit card through a reader connected to the pump; the card is verified by
communication with a credit company computer, and a fuel limit is established. The driver
may then take the fuel required. When fuel delivery is complete and the pump hose is
returned to its holster, the driver’s credit card account is debited with the cost of the fuel
taken. The credit card is returned after debiting. If the card is invalid, the pump returns it
before fuel is dispensed.
7.7. Draw a sequence diagram showing the interactions of objects in a group diary system when a
group of people are arranging a meeting.
7.8. Draw a UML state diagram showing the possible state changes in either the group diary or the
filling station system.
7.9. Using examples, explain why configuration management is important when a team of people
are developing a software product.
7.10. A small company has developed a specialized product that it configures specially for each
customer. New customers usually have specific requirements to be incorporated into their
system, and they pay for these to be developed. The company has an opportunity to bid for a new
contract, which would more than double its customer base. The new customer also wishes to
have some involvement in the configuration of the system. Explain why, in these circumstances, it
might be a good idea for the company owning the software to make it open source.
REFERENCES
Abbott, R. (1983). ‘Program Design by Informal English Descriptions’. Comm. ACM, 26 (11), 882–94.
Alexander, C., Ishikawa, S. and Silverstein, M. (1977). A Pattern Language: Towns, Building,
Construction. Oxford: Oxford University Press.
Bayersdorfer, M. (2007). ‘Managing a Project with Open Source Components’. ACM Interactions,
14 (6), 33–4.