SEPMModule 2
SEPMModule 2
Software Requirements
Analysis And Modelling
Introduction to requirement gathering
Functional requirements will vary for different types of software. For example, functional requirements for a website or
mobile application should define user flows and various interaction scenarios.
The system sends a confirmation email when a new user account is created.
The system sends an approval request after the user enters personal information.
A search feature allows users to search content/items by entering the query in the search bar.
The user can review items in the cart, change their number, or remove them before checkout.
The app should allow users to create accounts and log in using credentials like email and password or through social
media integration.
The app can send notifications to users for updates, reminders, or promotional content.
Users should be able to provide feedback or rate services/products within the app.
These are some common functional requirements. More specialized software systems will have more specific
requirements. For example, a hotel property management system will include such requirements as “the user should
be able to view and update room status” or “the system must aggregate bills from all points of service in a folio.”
Nonfunctional requirements
The website pages should load in 3 seconds with the total number of simultaneous users <5
thousand.
The system should be able to handle 20 million users without performance deterioration.
A program running on Windows 10 must be able to run on Windows 11 without any change in its
behavior and performance.
Business requirements
These include high-level statements of goals, objectives, and needs. Business requirements do not
have any details or specific features. They just state the problem and the business objective to be
achieved, such as
increased revenue/throughput/customer reach,
reduced expenses/errors,
improved customer service, etc.
User requirements
This group of requirements reflects the needs of discrete stakeholder groups (top-level
managers, non management staff, customers, etc.) and defines what they expect from a
particular solution. They serve as a bridge between generalized business requirements and
specific solution requirements. They are outlined in a User Requirements Specification and
can include, for example, the ability to create various reports, view order history and status,
manage customer databases, etc.
Requirement Engineering
? Requirement Engineering is the process of defining,
documenting and maintaining the requirements.
? Requirements engineering encompasses seven distinct tasks:
inception, elicitation, elaboration, negotiation, specification,
validation, and management.
? Requirements engineering begins with inception. It moves
onward to elicitation, and then elaboration.
Inception
? How does a software project get started?
? The basic aim is to understand the problem
? To Know who will use Software
? To know exact nature of problem that is expected
from customers side
? What will be economical benefits of a successful
solution.
Requirement Elicitation
? Requirements elicitation (also called requirements gathering)
combines elements of problem solving, elaboration, negotiation,
and specification.
? An important part of elicitation is to establish business goals.
? Once the goals have been captured, a prioritization mechanism
should be established, and a design rationale for a potential
architecture can be created.
Elaboration
? The information obtained from the customer during
inception and elicitation is expanded and refined
during elaboration.
? Elaboration is driven by the creation and refinement of
user scenarios that describe how the end user (and
other actors) will interact with the system.
? Each user scenario is parsed to extract analysis
classes—business domain entities that are visible to the
end user.
Negotiation.
? Discussion on financial and other Commercial issue.
? In this Customer , user , stakeholders discuss to decode:
? To rank the Requirement
? To decide priorities
? To decide risks
? To finalize the product cost
Specification.
? A specification can be a written document, a set of
graphical models, a formal mathematical model, a
collection of usage scenarios, a prototype, or any
combination of these.
? For large systems, a written document, combining
natural language descriptions and graphical models
may be the best approach.
Validation.
? Requirements validation examines the specification to
ensure that all software requirements have been stated
unambiguously; that inconsistencies, omissions, and
errors have been detected and corrected; and that the
work products conform to the standards established for
the process, the project, and the product.
? The primary requirements validation mechanism is the
technical review
Requirements management.
? Requirements for computer-based systems change
and the desire to change requirements persists
throughout the life of the system.
? Requirements management is a set of activities that
help the project team identify, control, and track
requirements and changes to requirements at any
time as the project proceeds. Many of these
activities are identical to the software configuration
management (SCM) techniques
Software Requirement Specification (SRS)
? SRS is a work product that is created when a detailed
description of all aspects of the software to be built must
be specified before the project is to commence.
? It include a set of use cases that describes all interactions
that the user will have with the software.
? It also contains functional as well as non functional
requirements.
Software Requirement Specification (SRS)
? First, the SRS could be written by the client of a system in
which they define the needs and expectation.
? Second, the SRS could be written by a developer of the
system. SRS is written for various purposes and serves as a
contract document between customer and developer.
? Every requirement in the SRS should be identifiable by
a unique number or tag.
Need of SRS
? A contract between the customer and the software vendor
? Enables costing and pricing of the project
? Input for detailed design
? Management of customer expectations
A good SRS document usually contains project scope
section, functional requirements, requirement analysis
models, external interface requirements and non functional
requirements.
SRS - Scope of the project/ Product vision
● During the analysis phase of a project, you might create a class diagram to describe the structure of a
system and then create a set of object diagrams as test cases to verify the accuracy and completeness
● Before you create a class diagram, you might create an object diagram to discover facts about
specific model elements and their links, or to illustrate specific examples of the classifiers that are
required.
Class to Object diagram example
Component Diagram
It describes all the individual components that are used to make the functionalities, but not the
functionalities of the system. It visualizes the physical components inside the system. The
components can be a library, packages, files, etc.
The component diagram also describes the static view of a system, which includes the
organization of components at a particular instant. The collection of component diagrams
represents a whole system.
The main purpose of the component diagram are enlisted below:
PROCESS
Employee Details
1.Payroll
Payslip
Work days
▪ A circle represents a process
EXTERNAL ENTITIES
Place
Customer Employee
order Pay slip
DATA STORES
3 Label
A Process
Store
Issue Name
Label
GOOD STYLE IN DRAWING DFD
▪ Use meaningful names for data flows, processes and data stores.
▪ Use top down development starting from context diagram and successively
levelling DFD
▪ A process can only transfer input to output .It cannot create new data
▪ If
a DFD is too detailed it will have too many data flows and will be
large and difficult to understand
▪ All data flow entering or leaving p must also enter or leave its expanded
version.
▪ Expanded DFD may have data stores
▪ No external entity can appear in expanded DFD
▪ Keep the number of processes at each level less than 7.
ILLEGAL CONSTRUCTS IN DFD
Get Record
students Calculate
extra/reb Bill
ates Ask for next record
record
Extra/rebate store
• Not correct as loop is formed
LEVELLING EXAMPLES
Items issued
Order
2.1
Inventory
2.2
update
Canteen manager Create order
And
Items used today low stock
Low stock for vendor
warning item
Items needed
From 2.3
Vendor Stores inventory Order Vendor data
supplies
Vendor
Order to vendor
2.3
2.4
Calculate
Check Item
Items
availability
Canteen secretary needed Items needed Low stock items
Menu
today today
No of meals to Stores inventory
today
LEVELLING EXAMPLES
Top
Ext A Level Ext B
process
Ext A 1 2 4 Ext B
F1 F4
Process 1 Process 2
1.3
3.3
LOGICAL AND PHYSICAL DFD
▪ Physical DFDs can be drawn during fact gathering phase of a life cycle
II. Behavioral Diagrams
It Capture dynamic aspects or behavior of the system.
Behavior diagrams include:
➔ Use case diagram
➔ Sequence diagram
. Use Cases diagram
? A use case describes how a user uses a system to
accomplish a particular goal.
? The actor can be a human, an external system, or time.
? It would help us to understand the role of various actors
in our project. It helps to organize and plan out things.
? Use case diagrams specify the events of a system and
their flows. But use case diagram never describes how
they are implemented.
5. Use Case Diagram - Example
Student
management
system
Note: It is not
necessary that each
actor should
interact with all
the use cases, but
it can happen.
5. Use Case Diagram - Purpose
Use case diagrams are typically develop in early stage of
development and people often apply use case modeling for
the following purposes:
▪ Specify the context of a system
▪ Capture the requirements of a system
▪ Validate a systems architecture
▪ Drive implementation and generate test cases
▪ Developed by analysts together with domain experts
Sample Use
Case Diagram
. Use Case Diagram - Notations
Use Case
Use Case Diagram - Notations
System
USE CASE DIAGRAM - Relationships