Your team has been hired to develop the myMoney desktop application that helps a person keep on top of their money.
The desktop application in Java will have a basic graphical user interface (GUI) and be built using the Model-View-Controler (MVC) architecture.
A preliminary interaction with your client determined that the application is targetted at young people such as students and early career professionals, like yourselves. There are a number of possible areas that could be covered by myMoney application, including
• credit cards, debit cards, and loyalty cards;
• accounts at banks and other financial institutions;
• cash spending;
• loans, including student loans, bursaries, and mortgages; • major expenses, such as rent, tuition, transport, etc;
• budgeting;
• long term financial planning.
This is a prototype application for the client. The prototype should limit its scope to a few types of data, and the prototype should not attempt to include all possible uses of the data. You do not have access directly to the data feeds from financial institutions. Therefore you should create a fictitious person X and use simple text files to simulate the contents of the data feeds for X.
As the developers, the client wishes you to decide on a set of use cases, and to categorize them as “must have”, “good to have”, or “optional”.
For your team work in this course, you should aim to have at least one use case per team member. However, for the first increment, you should decide on three basic use cases that can be implemented in one week.
• Standalone JAVA application
• JAVA SWING GUI (or similar)
• SQLite DB (or text files) for data storage
• Java as the programming language;
• Eclipse as the integrated development environment (IDE); • JUnit for unit testing in Java;
• Rational Rose for UML modeling.
• git software repository for team on github
• version control
• Latex for documentation