Page 161 -
P. 161
144 Chapter 5 System modeling
5.3. You have been asked to develop a system that will help with planning large-scale events
and parties such as weddings, graduation celebrations, birthday parties, etc. Using an
activity diagram, model the process context for such a system that shows the activities
involved in planning a party (booking a venue, organizing invitations, etc.) and the system
elements that may be used at each stage.
5.4. For the MHC-PMS, propose a set of use cases that illustrates the interactions between a
doctor, who sees patients and prescribes medicine and treatments, and the MHC-PMS.
5.5. Develop a sequence diagram showing the interactions involved when a student registers
for a course in a university. Courses may have limited enrollment, so the registration
process must include checks that places are available. Assume that the student accesses
an electronic course catalog to find out about available courses.
5.6. Look carefully at how messages and mailboxes are represented in the e-mail system that
you use. Model the object classes that might be used in the system implementation to
represent a mailbox and an e-mail message.
5.7. Based on your experience with a bank ATM, draw an activity diagram that models the data
processing involved when a customer withdraws cash from the machine.
5.8. Draw a sequence diagram for the same system. Explain why you might want to develop
both activity and sequence diagrams when modeling the behavior of a system.
5.9. Draw state diagrams of the control software for:
An automatic washing machine that has different programs for different types of
clothes.
The software for a DVD player.
A telephone answering system that records incoming messages and displays the
number of accepted messages on an LED. The system should allow the telephone
customer to dial in from any location, type a sequence of numbers (identified as tones),
and play any recorded messages.
5.10. You are a software engineering manager and your team proposes that model-driven
engineering should be used to develop a new system. What factors should you take into
account when deciding whether or not to introduce this new approach to software
development?