Contenu connexe Similaire à ADI Assignment Spring Winter 2023 FINAL.pdf (12) ADI Assignment Spring Winter 2023 FINAL.pdf1. Unit:
Analysis, Design and Implementation
Assignment title:
Expense Tracker
Spring – Winter 2023
Important notes
● Please refer to the Assignment Presentation Requirements for advice on how
to set out your assignment. These can be found on the NCC Education
website. Hover over ‘About Us’ on the main menu and then navigate to
‘Policies and Procedures’ then scroll to the ‘Student Support’ area.
● You must read the NCC Education document Academic Misconduct Policy
and ensure that you acknowledge all the sources that you use in your work.
These documents are available on the NCC Education website. Hover over
‘About Us’ on the main menu and then navigate to ‘Policies and Procedures’
then scroll to the ‘Student Support’ area.
● You must complete the Statement and Confirmation of Own Work. The form
is available on the NCC Education website. Hover over ‘About Us’ on the
main menu and then navigate to ‘Policies and Procedures’ then scroll to the
‘Student Support’ area.
● Please make a note of the recommended word count. You could lose marks if
you write 10% more or less than this.
● You must submit a paper copy and digital copy (on disk or similarly
acceptable medium). Media containing viruses, or media that cannot be run
directly, will result in a fail grade being awarded for this assessment.
● All electronic media will be checked for plagiarism.
2. Page 2 of 5
Analysis, Design and Implementation © NCC Education Limited 2023
Scenario
A local bank has asked the software development company you work for to develop an
expense tracking system for their customers. Tracking expenses is often the first step in
getting people’s finances in order. If you do not know how much you have spent each
month, you cannot tell when you have overspent. By understanding what you spend
money on and how much you spend, you can see exactly where your cash is going. The
company has handed the responsibility for its development on to you.
You should write a program that implements an expense tracking system. Your program
should allow the bank customers to create an account with a username and password.
The usernames can only contain letters and numbers. The password must be at least
EIGHT (8) characters long, and contain at least ONE (1) lowercase and ONE (1)
uppercase letter.
Once they have logged in, your program should present them with a welcome page with
FOUR (4) different expense categories. Examples of expense categories can be found in
the table below. Note you need to reflect on your own life experiences and learn about
your own spending habits to be able to decide FOUR (4) expense categories of your own
for the system.
Examples of Expense Categories
Home Insurance Transport Saving Family Health Clothes Education Food
Customers should be able to record expenses into their respective categories. Under each
category, customers can add a new expense item, edit and delete an existing expense
item. For example, add a new grocery expense to the food category, or delete a recorded
gift purchase for a family member from the Family category. A summary of details of all
recorded expenses of the customer’s choice should be displayed to customers. Details of
each expense should include
● month - day or year is NOT required.
● cost - the amount of money
● payment type - credit card, debit card, or cash
● description - a short note
The system should be able to create a bar chart showing the customer’s monthly
breakdown expenses by category. The bar chart is to present the monthly expenses
(the sum of costs) of each category with rectangular bars. The bars can be plotted
vertically or horizontally. The bars’ heights or lengths are proportional to the monthly
expenses of each category that they represent. For example, if you create a vertical bar
chart, the bar height should be proportional to the total expenses and the bar width should
be fixed. The bar chart should be properly labelled with title, x - and y - axis. See an
example below.
3. Page 3 of 5
Analysis, Design and Implementation © NCC Education Limited 2023
Your program will need to perform the following operations:
● Set up the GUI
● Allow customers to create a new account
● Allow existing customers to log in their account to:
o record expense details
o add a new expense - record date (month only), cost, description, payment
type. The item details should be displayed to customers after it’s been added
o amend an existing expense – date (month only)/cost/description/payment
type. An update with details should then be displayed to the customer;
o and delete an existing expense
● Create a bar chart for monthly breakdown by category
● Provide appropriate errors and help messages, and guidance for customers.
Task 1 – 20 Marks
Class Diagram
Draw a Class Diagram to represent the system structure. The Class Diagram should be
drawn with a suitable CASE tool and show attributes, operations, scope and relationship of
classes to each other with multiplicity. The use of abstract classes and sub-classes (where
appropriate) will attract additional marks.
Provide a justification why each class was selected for inclusion, and how its relationship
to other classes was derived.
4. Page 4 of 5
Analysis, Design and Implementation © NCC Education Limited 2023
Task 2 – 20 Marks
Activity diagram
Draw an activity diagram to show the classes involved when a user wants to create a new
account.
Show which function each class is associated with.
Task 3 – 10 Marks
Use case diagrams
Draw a Use-Case Diagram to capture the requirements listed in the scenario.
Task 4 – 40 Marks
System implementation
Write and deploy code to implement your system design for the requirements listed in the
scenario. The code should appropriately handle input and output. Your software should
implement GUI that allows users to perform all the operations required above.
Consider an appropriate level of coupling and cohesion between the classes and any
inheritances and encapsulations that represent the system.
All code should be written in C# for this assignment.
Task 5 – 10 Marks
Software Quality
Write a short report of 500 words answering the following two questions concerning the
coupling and cohesion principles.
a) Discuss different types of coupling and cohesion.
b) Describe how the coupling and cohesion principles have affected your program
design.
5. Page 5 of 5
Analysis, Design and Implementation © NCC Education Limited 2023
Submission requirements
● Your program must be submitted as a zip file of the full project.
o No marks will be awarded for code written in a language other than C#.
o Whatever IDE you use, it should be possible to open and run the project
directly from the extracted archive.
● Diagrams and materials associated with the tasks above should be presented in a
word-processed document.
● All references and citations must use the Harvard Style.
Candidate checklist
Please use the following checklist to ensure that your work is ready for submission.
Have you read the NCC Education document Academic Misconduct
Policy and ensured that you have acknowledged all the sources that
you have used in your work?
❑
Have you completed the Statement and Confirmation of Own Work
form and attached it to your assignment? You must do this. ❑
Have you ensured that your work has not gone over or under the
recommended word count by more than 10%? ❑
Have you ensured that your work does not contain viruses and can
be run directly? ❑