Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
65 views10 pages

Chapter 3

Uploaded by

emmanuelayuk21st
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
65 views10 pages

Chapter 3

Uploaded by

emmanuelayuk21st
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 10

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

You might also like