Skip to the content.

Developer Guide

Acknowledgements

Setting up, getting started

Refer to the guide Setting up and getting started.

Design

  1. Class diagram (refer to the image below)
  2. Object diagram

Implementation (Sequence Diagram)


Documentation, logging, testing

Appendix: Requirements

Product scope

Target user profile

Value proposition

User Stories

Version As a … I want to … So that I can …
v1.0 user add expense item with description and amount know how much I spent on the item
v1.0 user view all the expense items know number of expense items
v1.0 user delete the expense item remove the expense item with wrong information
v1.0 user have exit command quit the system without using mouse
v2.0 user add income item with description and amount know how much I earned on the item
v2.0 user sort the list in descending order of the amount view the highest expenses quickly
v2.0 user record the date of items know when the items incurred
v2.0 user classify items into categories the distribution of my expenditure
v2.0 user search items with keyword view the specific item quickly
v3.0 user sort the list in descending order of the date know the most recent expenses quickly
v3.0 user edit the item without deleting it rectify the item with wrong information quickly
v3.0 user get summary report of my existing item know my total income and expense
v3.0 user save item list as file print record into hard copy
v3.0 user read previous items from the file continue to add items from the previous record

Use Cases

(For all use cases below, the System is EXPENSES MANAGEMENT SYSTEM (EMS) and the Actor is the user, unless specified otherwise)

Use case: Add Expense

  1. User keys in expense details
  2. EMS records the expense
  3. EMS shows the expense added successfully
  4. Data files updated automatically

Use case: Add Income

  1. User keys in income details
  2. EMS records the income
  3. EMS shows the income added successfully
  4. Data files updated automatically

Use case: List Items

  1. User requests to view items
  2. EMS shows the list of items

Use case: Delete Item

  1. User requests to delete a specific item
  2. EMS deletes the item from the list
  3. EMS shows the item deleted successfully
  4. Data files updated automatically

Use case: Find Items

  1. User keys in the keyword to search
  2. EMS performs searching
  3. EMS displays the result

Use case: Edit Item

  1. User request to edit a specific item with new item details
  2. EMS updated the item in the list
  3. EMS shows the item updated successfully
  4. Data files updated automatically

Use case: Sort Item List

  1. User request to sort the item list with the specific order
  2. EMS sorts the list accordingly
  3. EMS shows the sorted list

Use case: Summarize Items

  1. User request for summary of the item list
  2. EMS summarizes the list
  3. EMS shows the summary report of the list

Use case: Exit

  1. User requests to exit the program
  2. EMS terminates safely

Non-Functional Requirements

Glossary

Mainstream OS: Windows, Linux, Unix, OS-X