This assignment contributes towards the following Learning Outcomes (LOs):
LO1 Identify and use appropriate software engineering principles to successfully design and develop a software project;
LO2 Assess how software quality issues impact on software design;
LO3 Autonomously manage a small project with respect to time and task management and be able to critically evaluate personal performance;
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. For each Use Case draw an analysis sequence diagram (see Appendix D as an example) using the ModelView Controller as a design pattern.
Derive an algorithm for the prediction of your finances at a given date based on your current usage. Draw a detailed activity diagram to describe the calculation. This should be detailed enough for youtoproduce a codedalgorithm for your CW2.