Problem Statement
You are to design a time management and reporting tool for personal use. This tool will enable you to enter events for a given date and time, as well as contact and location details if needed. Events may be one-off or recurring and will be either appointments or tasks. You should also provide at least a weekly view showing the events for a given week. Finally, you should have an option to produce a report that predicts the time usage for the following four weeks. You may choose how you do the prediction; one way is by extrapolating the weekly time usage from previous weeks.
Your task is to develop a design document for this application. You are also to produce a report describing the reasons for your design decisions, and how suitable you deem your design is for implementation. The design document will consist of these sections:
Part A – Requirements
State the software/system requirements for the system using this style:
R.1. The software shall allow the user to insert a new contact.
R1.1 The software shall allow the user to enter name.
R1.2 The software shall optionally allow the user to enter an address. …
R2. Allow the user to enter an event
Part B
Use Case Diagrams
1) Draw one or more use case diagrams for the system.
Part C – Classes
1)In consideration of your use case descriptions, discover as many classes as possible and record these in a CRC (Classes, Responsibilities, and Collaborations) table.
2) Draw a domain model for the system (see lecture notes for an example). You do not need to put in any attributes or methods but you must label all associations and use correct UML when describing generalisations and aggregations etc.
Part D
Collaboration For each Use Case draw an analysis sequence diagram using the Model View Controller as a design pattern.
Part E
Activity Draw a detailed activity diagram to show the calculation of the prediction algorithm you will use. This should be detailed enough for you to produce a coded algorithm.
Part F
Report 1. A 500 to 1000 word report on the reasons for the design decisions you took. 10%
2. A 500 to 1000 word evaluation of the suitability of your design for implementation. Think about how you would react if you were the team leader and someone gave you this design for implementation. Is it detailed enough, clear enough. What are its strengths and weaknesses. 10%