Chapter 4: System Analysis and Design
4.1: Introduction
This chapter provides a list of the identified functional and non-functional required and
highlights the approaches that we used in the of gathering the mentioned requirements during the
system analysis stage. It also contains the system analysis and designs diagrams. These diagrams
include the:
i. Use Case diagram.
ii. Sequence diagram.
iii. ERD diagram.
iv. Logical Database Schema.
v. Class diagram.
4.2: Requirements Gathering
This involved the collection and the identification of the different requirements that the system
was able to satisfy either functional or non-functional. It involved analyzing and interaction with
the different users of the system. There are different methods used by researchers to gather and
understand the system requirement but the method that was used to gather the system
requirements is qualitative in nature. The qualitative requirements gathering methods used
included observation and interviews.
The interviews were done with some potential users of the system within the target population to
analyze the efficiency of current methods used for tracking expenses. This helped us understand
the pain points of the system and what solutions the users think could solve their problems. The
use of observation on how the expense tracking is done helped in getting a detailed way of how
the system and entities interact. This helped formulate the system requirements.
4.3: System Requirements
This features the functional and non-functional requirements of the expense tracking system. The
functional and non- functional requirements will be covered in sub-sections that follow,
respectively.
4.3.1: Functional Requirements
The system’s functional requirements are the requirements that are related to the functional
elements of the expense tracking system.
i. The system should allow users to create accounts with unique username and password.
ii. The system should allow the user to manually input their individual expenses.
iii. The system should allow users to categorize expenses, which will help in budgeting.
iv. The system should be able to save the data entered by the user.
v. The user should be able to view their expense.
vi. The system should be able to generate reports for the user to analyze.
vii. The system should provide the user with advice depending on their spending tendencies.
viii. The user should be able to log out of their account.
4.3.2: Non-Functional Requirements
i. The system should feature a user-friendly interface to facilitate easy navigation for users.
ii. The system should be designed for continuous availability.
iii. The system should be optimized for speed and responsiveness.
iv. The system should implement robust security protocols to safeguard user data.
4.4: System Analysis Diagrams
System analysis can be defined as the process of gathering data, interpreting information,
identifying issues, and using the results to recommend or develop system improvements. This
section will provide the use case and sequence diagrams that were created.
4.4.1: Use Case Diagram
The use-case diagram illustrates the requirements of the various users of the expense tracking
system.
Figure 4.1: Use Case Diagram
4.4.2: Sequence Diagram
The below sequence diagrams illustrate the objects involved during the development of the
system and the sequence of messages exchanged between them to fulfil the specified
requirements.
Figure 4.2: Sequence Diagram
4.5: System Design Diagrams
This is the process of defining the components, modules and data for a system that satisfies the
specific requirements. This section will provide the ERD, logical Database Schema and class
diagrams that were created.
4.5.1: ERD Diagram
The entity relationship diagram is a visual representation of the data model that is used to show
the relationships between different entities in a system. The diagram below shows the
relationship among entities in this system.
Figure 4.3: ERD Diagram
4.5.2: Logical Database Schema
This depicts the design of the expense tracking system’s database in terms of entities and their
interrelationships as well as an illustration of the constraints of data stored in the database.
Figure4.4: Logical Database Schema
4.5.3: Class Diagram
The class diagram below depicts the classes of models of this application system and their
interactions.
Figure 4.5: Class Diagram