Lecture 6 - Requirements Analysis and Specification Part II

Download as pdf or txt
Download as pdf or txt
You are on page 1of 29

Lecture 6

Requirements Analysis and Specification


Part II
BITP 2213 Software Engineering
Part II

BITP 2213 | Sem 1 2022/23


Content
Part II:

Modeling

Why developer models?

How to model FR and NFR

How to engineering a specification

Type of Review

Tools to Manage Requirements

A good SRS

BITP 2213 | Sem 1 2022/23


Modeling
• Approximate representation of the real
item being built.

Building Engineers
Business analyst complex
structure
or system

Scientist

BITP 2213 | Sem 1 2022/23


Why developers model ?
• Create and communicate software
design before committing additional
resources.
• Trace the design back to requirement
 Verification and validation of building right
system
• Practice iterative software development
 Higher level abstraction facilitate quick
and frequent changes

BITP 2213 | Sem 1 2022/23


Why do I model?
• To better understand the business or
engineering situation at hand (“as-is”
model) and to craft better system (“to-
be” model)
• To build and design a system architecture
• To create visualizations of code and
other forms of implementation.

BITP 2213 | Sem 1 2022/23


How To Model Functional
Requirements?
• Structured
Approach

BITP 2213 | Sem 1 2022/23


How To Model Functional
Requirements?
• Object
Oriented
Approach

BITP 2213 | Sem 1 2022/23


Is Modeling Enough?
• Yes, towards some extent.
• But, its only provide high level view.
• We need details!
• DETAILS! DETAILS! DETAILS!

BITP 2213 | Sem 1 2022/23


How To Model Non-Functional
Requirement?
• Diagrams drawback -> A diagram is not
able to model non-functional
requirements.
• Therefore, we need to use plain text to
model Non-Functional Req.
 Express in a language that could be
understood by the stakeholders and team
members.

BITP 2213 | Sem 1 2022/23


How to Capture NFR?
• Business process = functional requirements
• NFR = ?

• NFR = Measurement
• General NFR in business process
 Performance of a task
 Security policies that apply
 Availability of an activity or process
 Activity response time
 Organization standards that apply
 Regulatory constraint
 Quality of user interaction with activity

BITP 2213 | Sem 1 2022/23


Is NFR Easy to Capture?

BITP 2213 | Sem 1 2022/23


A Software Specification is …

“An explicit set of requirements to be


satisfied by a software product”

BITP 2213 | Sem 1 2022/23


Engineering a Specification
• Pre Condition
• Post Condition
• Normal Flow
• Alternative Flow
• Exceptional Flow

BITP 2213 | Sem 1 2022/23


Engineering Condition
• Pre Condition
 Anything that must always be true before
the scenario begins
• Post Condition
 State that must be true after the use case
complete

BITP 2213 | Sem 1 2022/23


Engineering Flows
• Normal Flow
 The expected flow of scenario without
problems
• Alternative Flow
 Document other than expected flow
• Exceptional Flow
 Document deviation from expected flow

BITP 2213 | Sem 1 2022/23


Documenting Requirements

Engineering the requirements are realized by :

• Software Requirement Analysis (SRA)


• Software Requirement Specification (SRS)

#An SRA – define what the system should do – for user/business purposes
#An SRS – define how the plan for the system should be carried out – for
contract/technical purposes

BITP 2213 | Sem 1 2022/23


How To Document Software Specification?

• International Standard
• Customized template

BITP 2213 | Sem 1 2022/23


What is SRS?

An SRS is basically an
organization's understanding (in writing) of a
customer or potential client's system
requirements and dependencies at a particular
point in time (usually) prior to any actual design
or development work

BITP 2213 | Sem 1 2022/23


SRS is a Document that . . .
functions and
capabilities
precise and
explicit states

constraints
two-way
insurance policy

blueprint

contains functional
and
nonfunctional "parent"
requirements only document

BITP 2213 | Sem 1 2022/23


Goal of SRS
Decomposes the
Provides
problem into
feedback to the
component parts
customer

Serves as an Serves as a
input to the product validation
design check
specification

BITP 2213 | Sem 1 2022/23


Standard Topic of SRS
1. Interfaces
2. Functional Capabilities
3. Performance Levels
4. Data Structures/Elements
5. Safety
6. Reliability
7. Security/Privacy
8. Quality
9. Constraints and Limitations

BITP 2213 | Sem 1 2022/23


A Question

How do you know the


requirements and specification
that you have develop is correct?

BITP 2213 | Sem 1 2022/23


Types of Review
• Formal
 Inspection
• Informal
 Peer review
• Distribution of the work product to several
peers to look through.
 Walk-through
• the author describes the product in front of an
audience and solicits comments.

BITP 2213 | Sem 1 2022/23


Requirement Review Process

Distribute
Plan review documents

Prepare for Hold review


review meeting

Follow-up Revise
actions document

BITP 2213 | Sem 1 2022/23


Tools to manage requirements
• Diagramming tools
 DFD, ERD, UML
• Full suite
 Agile Manager – by Hewlett-Packard
 IBM Rational DOORS – by IBM
 Enterprise Architect – by Sparx System
 ReqView - free
• Word processor
• Version control software
BITP 2213 | Sem 1 2022/23
A question

What makes a

Software requirement?

BITP 2213 | Sem 1 2022/23


A Good SRS have . . .
Consistent Accurate

Complete
Modifiable

Verifiable
Ranked

Valid
Testable
Unambiguous Traceable

BITP 2213 | Sem 1 2022/23


Lecture 6
Requirements Analysis and Specification
BITP 2213 Software Engineering

Next on Lecture 7
Software Design

You might also like