Computer Science 340 Assignments
(most recent first - please note renumbering of the most recent three exercises)
All exercises should be turned in at the start of class on the due-date unless otherwise indicated.
Taken from problems 14.7 – 14.9 on page 338
A group diary and time management system is intended to support the timetabling of meetings and appointments across a group of coworkers. 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.
1. Identify possible objects in this system and develop an object-oriented design for them. You may make any reasonable assumptions about the systems when deriving the design (but write these assumptions down). Identify static relationships (including hierarchical and aggregation relationships)
2. Write precise interface definitions in Java or C++ for the objects you have defined.
3. Draw a sequence diagram showing the interactions of objects when a group of people arrange a meeting.
4. Draw a statechart showing the possible state changes in one or more of these objects.
In class Nov. 3: Work part 1 as far as you can (reasonably) get in the short time provided in class, and make a brief presentation.
Before Wednesday, Nov. 17: Complete the assignment as a group. Prepare both a written solution and a PowerPoint presentation.
Wednesday, Nov. 17: We will spend the time in formal presentations of the group work. Turn in the written solution and (in handouts format) the PowerPoint presentation. The length of presentations will depend on the number of small groups, but plan on no more than ten minutes with time for setup and questions/answers. Presentations must be completed on this date.
Value: 25 points, of which 5 points will be allocated to the presentation.