[go: up one dir, main page]

0% found this document useful (0 votes)
21 views6 pages

Chapter Three

Uploaded by

HASSAN LAWAL ULI
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)
21 views6 pages

Chapter Three

Uploaded by

HASSAN LAWAL ULI
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/ 6

Chapter Three

System Analysis and Design

3.0 Introduction
This chapter highlighted the software development model use in the project, the requirement
engineering and its processes and also the system design.

3.1 Software Development Model


The waterfall model is a breakdown of project activities into linear sequential phases, meaning
they are passed down onto each other, where each phase depends on the deliverables of the
previous one and corresponds to a specialization of tasks
The Waterfall model was chosen as the software development model for this project due to its
structured and sequential approach, which aligns well with the project's well-defined objectives
and requirements.

3.1.1 Waterfall Development Model


Waterfall approach was first SDLC Model to be used widely in Software Engineering to ensure
success of the project. In "The Waterfall" approach, the whole process of software development
is divided into separate phases. In this Waterfall model, typically, the outcome of one phase acts
as the input for the next phase sequentially.

Fig Waterfall model


The sequential phases in Waterfall model are −
1. Requirement Gathering and analysis − All possible requirements of the system to be
developed are captured in this phase and documented in a requirement specification document.

2. System Design − The requirement specifications from first phase are studied in this phase and
the system design is prepared. This system design helps in specifying hardware and system
requirements and helps in defining the overall system architecture.

3. Implementation − With inputs from the system design, the system is first developed in small
programs called units, which are integrated in the next phase. Each unit is developed and tested
for its functionality, which is referred to as Unit Testing.

4. Integration and Testing − All the units developed in the implementation phase are integrated
into a system after testing of each unit. Post integration the entire system is tested for any faults
and failures.

5. Deployment of system − Once the functional and non-functional testing is done; the product is
deployed in the customer environment or released into the market.

6. Maintenance − There are some issues which come up in the client environment. To fix those
issues, patches are released. Also to enhance the product some better versions are released.
Maintenance is done to deliver these changes in the customer environment.

3.2 Requirement Engineering


Requirement engineering refers to the process of defining, documentation, and maintaining
requirements in the engineering design process, it provides the appropriate mechanism to
understand what the customer desires, analyzing the need and accessing feasibility, negotiating a
reasonable solution, specifying the solution clearly, validating specification and managing the
requirements as they are transformed into a working system (Sadiq & Jain, 2012).
3.2.1 Requirement Elicitation
The requirement engineering process began with the elicitation of user requirements. This
involved brainstorming, engaging potential users through surveys and interviews to understand
their expectations and needs when using the Family System Application. The following user
requirements were identified:

3.2.2 Requirements Specification


Based on the user requirements, the system requirements were specified to provide a clear
understanding of what the application must achieve. These system requirements were
documented as follows:

3.2.3 Requirement Analysis


In this section, we delve into the comprehensive analysis of the requirements for our mobile
application, specifically focusing on the functional and non-functional aspects.

Functional Requirements Analysis


The functional analysis concentrates on the core use cases identified for our "Family Tree
Management System" mobile application. These use cases align with the requirements of family
members, providing an intuitive and convenient way to manage family tree data.

Use Case 1 - Create and Edit Family Tree Profiles:


- This use case allows family members to create and edit their family tree profiles, including
adding and updating individual details and relationships.
- It caters to User Requirement 1, addressing the need for an accessible and user-friendly
family tree management system.

Use Case 2 - Privacy Controls and Sharing:


- Family members can set privacy controls to determine who can access and contribute to their
family tree.
- It caters to User Requirement 2, ensuring that family members have the flexibility to manage
data privacy and sharing.

Non-Functional Requirements Analysis


In addition to functional aspects, we have analyzed non-functional requirements to enhance user
experience and ensure the application's overall performance:

 Performance:
- The application should provide fast response times, even during peak usage. Users expect
quick access to family data and seamless interactions.

 Security and Privacy:


- User data must be securely stored, and data integrity maintained. Privacy is paramount, and
the application should comply with data protection regulations.

 Usability:
- The interface must be intuitive and easy to navigate, as family members of all generations
will use the application.

3.2.4 Requirement Validation


Ensuring that our mobile application meets the specified requirements is crucial. We discuss our
validation methods to guarantee that our application aligns with the expectations of users in a
mobile environment.

3.3 System Design


3.3.2 Use Case Diagram
Use case is a graphical depiction of a user’s possible interactions with the system. Below is the
use case diagram of the system
fig 3.1 Use case diagram of the system

3.3.1 Conceptual Design


Conceptual design, also known as high-level design or architectural design, is a phase in the
software development process where the overall structure and organization of a software system
are defined. It focuses on creating a high-level representation of the system's components, their
interactions, and their relationships. The goal of conceptual design is to establish a clear and
coherent blueprint that guides the subsequent phases of development.

Fig 3.2Conceptual design of the system


3.4 Chapter Summary
This chapter has comprehensively addressed the requirement engineering process for the
"Family Tree Management Application." It encompasses the elicitation of user requirements,
specification of system requirements, thorough analysis, and validation. These processes are
pivotal in establishing the groundwork for the forthcoming design and development stages of our
Family Tree Management Application.

You might also like