3.
0 CHAPTER THREE
SYSTEM ANALYSIS AND DESIGN METHODOLOGY
3.1 CHAPTER OVERVIEW
Research methodology refers to the systematic and theoretical analysis of the methods
applied to a field of study. It consists of the theoretical analysis of the body of methods and
principles associated with a branch of knowledge. This includes qualitative, quantitative, and
mixed-method approaches, each of which has distinct characteristics and applications.
Qualitative methods focus on understanding phenomena from a subjective, contextual
perspective, often involving interviews and observations. Quantitative methods emphasize
objective measurements and statistical analysis of data, typically involving surveys and
experiments. Mixed-methods combine both qualitative and quantitative approaches to
provide a comprehensive understanding of research problems. In many different sorts of
research, methods are used, and the word is typically thought to comprise study design,
data collection, and data analysis (Campbell, Taylor, & McGlade, 2016). The chapter
describes the method used to develop the system which includes: data gathering, analysis,
design tools and development. Many methodologies exist such as waterfall, agile, etc., but
Incremental software development model was employed for developing the proposed
system.
3.2 SYSTEM ANALYSIS
3.2.1 Identification of System requirements
System requirements are the definition of the expected functions of the software system.
The functional requirements specify the things that should be implemented in the system.
This can also be called requirement specification.
3.2.2 Functional Requirements
Users should be able to register their details and login using those registered detail.
The proposed system should be a site or designed to be a stand-alone system.
Users should be able to browse the site and access educational content customized
for their various ages.
The proposed system should be able to pronounce text and numbers for the users to
repeat and learn by mimicking for example; The system will say “A”, the user will
repeat “A”, the system will say “Ball”, the user will repeat “Ball”, the system will say
“1”, the user will repeat “1”.
1
The proposed system should be able to display text and numbers on the screen for
the users to pronounce in the practice section, for example; The system will display
“cat”, if the user pronounces “cat”, the system will say “well done!” or “Good Job!”
then display another. If the user gives the wrong answer, the system will say,
“wrong…” and gives the right answer to the user so as to correct him or her.
3.2.3 Non-Functional Requirements
User’s password will be hidden.
The system should work on a smartphone or a PC hence, it should be designed
responsively to adjust to various screen sizes.
The system will be user friendly.
3.3 SYSTEM DESIGN
3.3.1 System Development Life Cycle [SDLC]
According to Ekabua, (2023), The System Development Life Cycle (SDLC) is a common
methodology used for development of systems in many organisations. It features several
phases that mark the progress of the system’s Analysis and Design effort. The life cycle is a
circular process in which the end of the useful life of one system leads to the beginning of
another project that will develop a new version or replace an existing system. The phases of
the System Development Life Cycle include;
Planning: This involves examining the information needed for the project’s success,
including the project aim, objectives, limitations, scope, and other important details.
Analysis: This involves gathering the specific needs and requirements of users,
studying these requirements to understand their relationships, and organizing them
to avoid redundancy and ensure clarity.
Design: This is when the description of recommended alternative solutions is
converted to logic and physical system specification. All aspects of the system must
be designed from input, output screens, reports to data basis.
Implementation: This involves creating and building the system according to the
system specifications. The system specifications are turned into a working system by
coding the system, testing it to ensure it works as intended, and installing it for use.
2
Maintenance: This provides ongoing support by fixing issues, making updates, and
enhancing the system when necessary. This is an important phase that keeps the
system alive and functioning.
Planning
Maintenance Analysis
Implementation Design
Figure 3.1: Diagram of System Development Life cycle.
3.3.2 Software Development Model
The software development model which I will employ in the project is the Incremental
Development Model. The Incremental Development Model is a software development
approach where a system is designed, built, and improved in small, manageable increments.
Each increment involves a complete cycle of development activities such as coding, testing,
and refining, allowing for gradual enhancement and integration of features. This model
emphasizes iterative development, where each increment builds upon the previous one,
enabling ongoing user feedback and continuous improvement throughout the development
process. the Incremental Development Model is ideal for the development of the proposed
system due to its focus on early user feedback, continuous improvement, flexibility, and
manageable development. It allows for iterative enhancement and gradual delivery of the
proposed system’s features.
According to Ekabua, (2024) Incremental Software development which is a fundamental
part of agile processes is better than a waterfall approach for most business, e-commerce
and personal projects. This is because it reflects the way we solve problems by rarely
working out the complete program solution in advance but moving through the solution in a
series of steps backtracking when we realize we have made a mistake.
3
Requirement
Initial Version
Specification
Outline Description Development Intermediate Version
Validation Final Version
Figure 3.2: Diagram of Incremental Software Development Model.
3.3.2.1 Benefits of Incremental Developmental Model
It is cheaper and easier to make changes in the software as it is being developed
It is easier to get user feedback in the recent work that has been done
More rapid delivery and deployment of useful software to the user if possible, even
though all the functionality has not been included.
3.3.2.2 Disadvantage of Incremental Developmental Model
As the project is developed incrementally, it can become more complex as each
increment is added. This can make it harder to manage and maintain, as well as
increase the risk of errors and bugs.
3.3.3.1 Logical design
This involves the input design methodology, the output design and class diagrams.
4
3.3.3.2 Input Design
The input design is the process of converting the user-oriented input in to the computer-
based format. The goal of designing input data is to make the automation as easy and free
from errors as possible. For providing a good input design for the application, easy data
input and selection features are adopted.
The input design requirements such as user friendliness, consistent format and Interactive
Dialogue for giving the right message and help for the user at right time are also considered
for the development of the project.
The main forms used here are:
a. Login Form
This is the form through which different users can enter into the system. Different levels of
validation at server and client side have been given.
b. User Requirement/Registration form
This form allows the remote clients to register in the system. On this input field, various
biodata and geodata of the user are collected and sent from here to the database for
structured and organized storage.
3.3.3.3 Output Design
Quality output is one, which meets the requirements of the end user and presents the
information clearly. In any system results of processing are communicated to the users and
to other systems through outputs.
In the output design itis determined how the information is to be displayed for immediate
need and also the hard output. It is the most important and direct source information to the
users. Efficient and intelligent output design improves the system’s relationship with the
user and helps in decision-making.
Outputs are required primarily to communicate the results of processing to the users. They
are also used to provide a permanent copy of these results for later consultation.
External output: These include printable (hard copy) tickets from event bookings, or
information that can be saved in the file system.
Internal output: These include the internal visual output that aids the user’s interaction
with the system. It includes the user interface. The system made no use of audio outputs.
However, visual outputs were used effectively,
5
Interactive output: these include the output that a user can interact with and respond to,
such as the dialogue boxes, confirmation boxes and the forms for collecting data. This was
effectively utilized in the system.
3.3.3.4 Object-Oriented Analysis and Design Methodologies
Object-oriented analysis and design (OOAD) are a technical approach to analyzing and
designing an application or system using the object-oriented paradigm and concepts such as
visual modeling. Some popular object-oriented methodology includes:
Unified Modelling Language (UML)
Object Modelling Technique (OMT)
Object Process Methodology (OPM)
3.3.3.5 Unified Modelling Language (UML)
The Unified Modeling Language (UML) is a general-purpose, developmental modeling
language used in software engineering that is designed to give a common way to visualize a
system's design. UML employs simple graphical notations that allow non-programmers to
comprehend its model. Sequence diagrams, use case diagrams, and state chart diagrams
are all used in UML. UML diagrams are used to display system requirements as well as the
overall system design. The analytical tools used in this project include the use case diagram,
entity relationship diagram, class diagram.
3.3.3.6 Use Case Diagram
The figure below shows the use case of different user of the online auction system. The use
case diagram explains the system's users and the various operations they can carry out
on it. It also discusses their various roles, the requirements for each actor to carry out
different tasks and for those tasks to be termed successful. The online auction system has three
actors: the seller, the buyer and the system administrator. The activities that can be
performed by the seller are creating account, logging in and out, creating listings, viewing
listings, viewing bids, viewing reviews and closing listings, for the buyer: creating account,
logging in and out, viewing listings, search listings, viewing bids, placing bids, posting
reviews, viewing reviews, wadding items to watch list and deleting items from their watch
list. The use case of the admin is deleting listings, deleting bids, deleting user, deleting
reviews and closing listing.
6
Login
Create account
Add Educational
content
Edit Educational
content
Remove Educational
content
Admin
Manage User
Account
Provide support and
assistance
Review and respond
to user feedback
User
Maintain voice
recognition
functionality
Update personal
information
Access Educational
content
Interact with voice
tutor
Suggest new
content
Log out
7
Figure 3.3: Use Case Diagram of the Interactive learning assistant with voice tutor.
3.3.3.7 Class Diagram
The system's class diagram is shown in Figure 3. 4. The relationship between the system
entities is depicted in the class diagram. Each of these entities' attributes corresponds to a
column in the database tables that they model. The class of users which includes
characteristics of the system's users (i.e. admin and user), also includes techniques for
carrying out various activities and items of this class.
Figure 3.4: Class Diagram of the Interactive learning assistant with voice tutor.
3.3.3.8 Activity Diagram
The Activity diagram of the system is shown in Figure 3. 5. It shows the series of actions
made on the system by the user or the flow of control.
8
StartTutor
Practice USER
User
System
Voice
Select age
Select
Voice Tutor
Lessons
Area
pronou
displays
gives
Subject
pronounces
nces
content
feedback
Figure 3.5: Activity Diagram of the Interactive learning assistant with voice tutor.
3.3.4 Physical Design
3.3.4.1 Program Specification
This project was built using the HTML (Hyper Text Mark up Language), and CSS (Cascading
Style Sheet) language for the frontend – being a web-based project. JavaScript was also
added for interactions between the different UI components in the frontend and for
embedding the voice recognition API. The backend was implemented using PHP and the
database utilized was the Relational Database. This was implemented using MySQL.
3.3.4.2 Database Structure:
The database will be created after defining the table and the fields that will be contained in
the tables. This process includes defining the data types of the data to be stored in each
field in the tables. Definition of the relationships between the various entities in the
database (One to One, One to Many, Many to Many). In the development of the system
there is need for data integrity and availability which explains the creation of relationships
between various tables in the database. The table below describes the data contained in the
database record. Field Name contains the attributes of an attribute, type describes the data
9
type of the data to be stored in the table, and the Length specifies the number of characters
to be stored.
3.4 System Controls
Few control measures were put in place to ensure that the system runs smoothly.
Input checks
Validations were applied at the front-end level (form validation) and at the server-side level
to ensure that only valid input can be submitted on forms.
Security Controls
Before inserting any data into the database, placeholders are used in php, this is to avoid
SQL injections.
Access Controls
The system implements a high-level access controls on the various parts of its components
using sessions and cookies. Only admin accounts can add, edit the educational content in
the system, and maintain the functionality of the voice tutor.
10