0% found this document useful (0 votes)
339 views32 pages

Requirement Analysis in Software Engineering

The document provides information on software engineering concepts including requirement analysis, structured analysis, software prototyping and specification, data dictionaries, and finite state machine models. It discusses the tasks involved in requirement analysis such as problem recognition, evaluation and synthesis, and modeling. It also describes different types of software requirements like functional, non-functional, and domain requirements. Finally, it explains concepts like data dictionaries, finite state machines, and provides examples.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
339 views32 pages

Requirement Analysis in Software Engineering

The document provides information on software engineering concepts including requirement analysis, structured analysis, software prototyping and specification, data dictionaries, and finite state machine models. It discusses the tasks involved in requirement analysis such as problem recognition, evaluation and synthesis, and modeling. It also describes different types of software requirements like functional, non-functional, and domain requirements. Finally, it explains concepts like data dictionaries, finite state machines, and provides examples.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 32

Swami Keshvanand Institute of Technology,

Management & Gramothan, Jaipur

II Year- III Semester: B.Tech. CSE(DS)

Session: 2023-24

Software Engineering

Kailash Soni
Associate Professor(CSE)
1
Software Engineering
Syllabus

2
Unit-III
Requirement Analysis:
• Requirement analysis tasks,
• Analysis principles,
• Software prototyping and specification ,
• Data dictionary & Finite State Machine (FSM)
models.
Structured Analysis:
• Data and control flow diagrams,
• control and process specification behavioral
modeling.
3
Requirement
Main types of software requirement can be of 3
types:-
1. Functional requirements
2. Non-functional requirements
3. Domain requirements

4
Requirement
Functional Requirements:
• These are the requirements that the end user
specifically demands as basic facilities that the
system should offer.
• It can be a calculation, data manipulation,
business process, user interaction, or any
other specific functionality which defines
what function a system is likely to perform.

5
Requirement
Non-functional requirements:
• These are basically the quality constraints that
the system must satisfy according to the
project contract.
• Nonfunctional requirements, not related to
the system functionality. They basically deal
with issues like: Portability, Security,
Maintainability, Reliability, Scalability,
Performance, Reusability, Flexibility, etc..

6
Requirement
Domain requirements:
• Domain requirements are the requirements which are
characteristic of a particular category or domain of
projects. Domain requirements can be functional or
nonfunctional. Domain requirements engineering is a
continuous process to increase the proactively.
• The basic functions that a system of a specific domain
must necessarily exhibit come under this category. For
instance, in an academic software that maintains
records of a school or college, the functionality of
being able to access the list of faculty and list of
students of each grade is a domain requirement. These
requirements are therefore identified from that
domain model and are not user specific.
7
Requirement Analysis
• Requirements analysis or requirements engineering is a
process used to determine the needs and expectations
of a new product.
• It involves frequent communication with the
stakeholders and end-users of the product to define
expectations, resolve conflicts and document all the
key requirements.
• Software requirement analysis simply means complete
study, analyzing, describing software requirements so
that requirements that are genuine and needed can be
fulfilled to solve problem.

8
Requirement Analysis
• There are several activities involved in analyzing Software
requirements. Some of them are given below :

9
Requirement Analysis
Problem Recognition :
• The main aim of requirement analysis is to fully
understand main objective of requirement that
includes why it is needed, does it add value to
product, will it be beneficial, does it increase
quality of the project, does it will have any other
effect.
• All these points are fully recognized in problem
recognition so that requirements that are
essential can be fulfilled to solve business
problems.

10
Requirement Analysis
Evaluation and Synthesis :
• Evaluation means judgement about something
whether it is worth or not and synthesis means to
create or form something.
 To define all functions of software that necessary.
 To evaluate that flow of data is worth or not.
 To fully understand overall behavior of system that
means overall working of system.
 To identify and discover constraints that are
designed.
11
Requirement Analysis
Modeling :
• After complete gathering of information from above tasks,
functional and behavioral models are established after
checking function and behavior of system using a domain
model that also known as the conceptual model.
Specification :
• The software requirement specification (SRS) which means
to specify the requirement whether it is functional or non-
functional should be developed.
Review:
• After developing the SRS, it must be reviewed to check
whether it can be improved or not and must be refined to
make it better and increase the quality.

12
Requirement Analysis
Various steps for requirement analysis:

13
Requirement Analysis
SOFTWARE PROTOTYPING AND SPECIFICATION:
A prototype may be categorized as follows:
1. A paper prototype, which is a model depicting
human machine interaction in a form that makes
the user understand how such interaction, will
occur.
2. A working prototype implementing a subset of
complete features.
3. An existing program that performs all of the
desired functions but additional features are
added for improvement.
14
Requirement Analysis
SOFTWARE PROTOTYPING AND SPECIFICATION:
Sequence of prototyping:-

15
Requirement Analysis
Data Dictionaries in Software Engineering:
• Data Dictionary is the major component in the
structured analysis model of the system.
• It lists all the data items appearing in DFD.
• It is a file or a set of files that includes a
database’s metadata (hold records about
other objects in the database), like data
ownership, relationships of the data to
another object, and some other data.
16
Requirement Analysis
Components of Data Dictionary:
In Software Engineering, the data dictionary contains the
following information:
• Name of the item: It can be your choice.
• Aliases: It represents another name.
• Description: It is a textual description of what the data
item is used for or why it exists.
• Related data items: Relationships between data items
e.g., total_marks must always equal to internal_marks
plus external_marks..
• Range of values: It will represent all possible answers.

17
Requirement Analysis
Data Dictionary Notations tables :

18
Requirement Analysis
Features/Uses of Data Dictionary :
• Used for creating the ordered list of data
items.
• Used for creating the ordered list of a subset
of the data items.
• Used for Designing and testing software in
Software Engineering.
• Used for finding data items from a description
in Software Engineering.
19
Requirement Analysis
Finite State Machine (FSM) models:
• Finite state machine is used to recognize patterns.
• Finite automata machine takes the string of symbol as
input and changes its state accordingly. In the input,
when a desired symbol is found then the transition
occurs.
• While transition, the automata can either move to the
next state or stay in the same state.
• FA has two states: accept state or reject state. When
the input string is successfully processed and the
automata reached its final state then it will accept.
20
Requirement Analysis
Finite State Machine (FSM) models:
• The conditions on which this depends are its current
state and inputs.
• A simple example of a state machine is a light-bulb.
• It has two states, on and off. These two states can be
changed based on what state it is currently in and
whether or not you flip the switch.
• So, if it is currently in the off state, it can either be kept
in the off state by doing nothing or it can transition to
the on state if the switch is flipped and vice versa.

21
Requirement Analysis
Finite State Machine (FSM) models:
• This is relevant to the field of software engineering because
this is usually seen in the contest of finite-state machines
(FSM) or finite automaton (FA).

22
Requirement Analysis
Finite State Machine models: Online shopping cart Ex:-

23
Requirement Analysis
Finite State Machine (FSM) models:
• A finite automata consists of following:-
Q: finite set of states
∑: finite set of input symbol
q0: initial state
F: final state
δ: Transition function
Transition function can be define as
δ: Q x ∑ →Q (DFA) δ: Q x ∑ →2Q (NDFA)
• FA is characterized into two ways:
1. DFA (finite automata)
2. NDFA (non deterministic finite automata)
24
Requirement Analysis
Finite State Machine (FSM) models:
1. DFA (finite automata):-
• DFA stands for Deterministic Finite Automata.
• Deterministic refers to the uniqueness of the
computation.
• DFA doesn't accept the null move that means
the DFA cannot change state without any input
character.
• Transition function for DFA: δ: Q x ∑ →Q

25
Requirement Analysis
Finite State Machine (FSM) models:
1. DFA (finite automata):- Example of deterministic finite automata:
Q = {q0, q1, q2} ∑ = {0, 1}
q0 = {q0} F = {q3}

26
Requirement Analysis
Finite State Machine (FSM) models:
2. NDFA (non deterministic finite automata):
• NDFA refer to the Non Deterministic Finite Automata.
• It is used to transit the any number of states for a
particular input.
• NDFA accepts the NULL move that means it can change
state without reading the symbols.
• NDFA also has five states same as DFA. But NDFA has
different transition function.
• Transition function for NDFA: δ: Q x ∑ →2Q

27
Requirement Analysis
Finite State Machine (FSM) models:
2. NDFA (non deterministic finite automata):- Example:
Q = {q0, q1, q2} ∑ = {0, 1}
q0 = {q0} F = {q3}

28
Requirement Analysis
Structured analysis:
The analysis model must achieve three primary
objectives:
1. to describe what the customer requires
2. to establish a basis for the creation of a
software design, and
3. to define a set of requirements that can be
validated once the software is built.
29
Requirement Analysis
• To accomplish these objectives, the analysis model derived
during structured analysis takes the form illustrated in
following figure:

30
Requirement Analysis
Data and control flow diagrams &
control and process specification behavioral
modeling

These topics has completed.

31
THANK YOU

32

You might also like