Unit2 ... Till Requirement Eleicitation
Unit2 ... Till Requirement Eleicitation
SOFTWARE
REQUIREMENTS
ANALYSIS AND
SPECIFICATIONS
1. Requirements and Specification
Requirements describe:
planning
Software
tracking
document
ation
Requirements
coding
testing
3. Importance of Requirements
3.1 Any mistake at this phase leads to high cost
cost
14
12
10
8
cost
6
4
2
0
feasibilty requirement design coding testing
analysis
4. Types of Requirements
• Levels of Business
requirements
requirements
User System
requirements requirements
Specification
Document
Contd…Types of Requirements
Business Requirements :
- Top level requirements
- It focus on vision
User Requirement or High level requirements
- It derives from business requirements
- It defines the requirements by which the objective of business
will be achieved
- It describes the services that the system should provide and the
constrains under which it must operate. we don’t expect to see
any level of detail, or what exactly the system will do, It’s
more of generic requirements.
- It’s usually written in a natural language and supplied by
diagrams.
Contd..
System requirements
It mean a more detailed description of the system
services and the operational constrains such as how
the system will be used, and development constrains
such as the programming languages.
- This level of detail is needed by those who are
involved in the system development, like engineers,
system architects, testers, etc.
Difference between user and system requirements
Functional Requirements :
• It is same as user requirements only the difference is ,it defines
user’s view while functional requirements defines what
functionality is to be added in the software so that user
perform those activities
• It focus on system’s view(What system has to perform)
• It covers the main functions that should be provided by the
system.
• When expressed as user requirement, they are usually descried
in an abstract way. However more specific
functional system requirement describe the system functions,
it’s inputs, processing; how it’s going to react to a particular
input, and what’s the expected output.
Contd..
• The constrains, like how many process the system can handle
(performance), what are the (security) issues the system needs to
take care of such as SQL injections …
• The rate of failure (reliability), what are the languages and tools will
be used (development), what are the rules you need to follow to
ensure the system operates within the law of the organization
(legislative).
Examples of levels of requirements :
Functional Requirements :
• Find and highlight misspelled words.
• Display a dialog box with suggested
replacements.
• Making global replacements.
Contd..
Maintainability
Portability For developers
Testability
Contd..
Non functional Requirements are sensitive…
• Non-functional requirements are often critical than
individual functional requirements. Users can usually
find ways to work around a system function that doesn’t
really meet their needs. However, failing to meet a non-
functional requirement can mean that the whole system
is unusable.
• For example, if an aircraft doesn’t mean meet it’s
reliability requirements, it won’t be safe for operation,
or if an embedded control system fails to meet it’s
performance requirements, the control functions won’t
operate correctly.
Contd..
Non-functional requirements should be
measurable
Contd…4.1 Another type of requirements:-
--Known Requirements Functional
--Unknown Requirements
--Undreamt Requirements Non Functional
.
Contd..
Input to Requirement engineering – Problem
statement of an existing system along with broad
expectations from the new system.
Output from Requirement engineering- It produces one
large document, written in a natural language
contains the description of what the system will do
without describing how it will do
Without well written document
•-- Developers do not know what to build
•-- Customers do not know what to expect
•-- What to validate
Problem Statement
as input
Requirement SRS as a
Engineering output
Requirement Requirement
Development Management
1. Organizational Feasibility
2. Technical Feasibility
3. Economic Feasibility
4. Legal feasibility
Contd..
•Economic Feasibility
It focus on economic justification on new system
Legal feasibility : it focus on whether new
system may result in any infringement,
violation , contracts or liabilities
Contd..
1.Requirements Elicitation
1. Interviews
2. Brainstorming
3. FAST(Facilitated Application specification
Technique)
4. Quality function deployment
5. User scenario and use case approach
6. Delphi technique
1. Interviews
Success of the
project
Contd..
• Interviews can be
1. open ended: There is no pre-set agenda.
Context free questions may be asked to
understand the problem and to have an
overview of situation .
Types of questions for result management systems :
group discussions
• Technical requirements.
• Documented
Steps
1. Identify stakeholders
2. List out requirements
3. Degree of importance to each requirement.
5 Points : V. Important
4 Points : Important
3 Points : Not Important but nice to have
2 Points : Not important
1 Points : Unrealistic, required further
Contd.
• Actor
• Use case
• Link
• System Boundary(Optional)
Contd.. 1. Actor
•An actor or external agent, lies outside the system model, but
interacts with it in some way.
•Notations used for Actor :
•A use case represents a user goal that can be achieved by accessing the
system or software application.
•It describes the sequence of interactions between actors and the
system necessary to deliver the services that satisfies the goal. it
also includes the possible variants of this sequence . i.e alternative
flow.
•A complete set of use cases specifies all the different ways to use the
system.
•Each use case has a description which describes the functionality that
will be built in the proposed system.
3. Link
• The base use case is incomplete without the included use case.
• The included use case is mandatory and not optional.
A large use case could have some behaviors which might be detached
into distinct smaller use cases to be included back into the base use case
using the UML include relationship. The purpose of this action is
modularization of behaviors, making them more manageable.
Example
• Include :
Contd… include
• Example 2:
5. Generalization of use case
2.Actors
List the actors that interact and participate in the
use cases.
3.Pre Conditions
Pre conditions that need to be satisfied for the use
case to perform.
4. Post Conditions
Define the different states in which we expect the system
to be in, after the use case executes.
5. Flow of events
1. Basic Flow
List the primary events that will occur when this use case is executed.
2. Alternative Flows
Any Subsidiary events that can occur in the use case should be
separately listed. List each such event as an alternative flow.
A use case can have many alternative flows as required.
6.Special Requirements
Business rules should be listed for basic & information flows as special
requirements in the use case narration .These rules will also be used for writing
test cases. Both success and failures scenarios should be described.
7. Related use cases
77
Refer Example 6
Similarly make template for remaining use cases ….refer k k aggarawal chapter 3
Use cases should not be used to capture all the details of the system.
Only significant aspects of the required functionality
No design issues
Use Cases are for “what” the system is , not “how” the system will be designed
free of design characteristics
6. Delphi Technique
The Delphi technique involves circulating questionnaires on a specific
problem among group members, sharing the questionnaire results with them,
and then continuing to re circulate and refine individual responses until a
consensus regarding the problem is reached.
In contrast to the brainstorming, the Delphi technique does not
have group members meet face to face. The formal steps followed in the Delphi
Technique are:
STEP 1: A problem is identified.
STEP 2: Group members are asked to offer solutions to the problem by
providing anonymous responses to a carefully designed questionnaires.
STEP 3: Responses of all group members are compiled and sent out to all group
members.
STEP 4: Individual group members are asked to generate a new individual
solution to the problem after they have studied the individual responses of all
other group members.
STEP 5: Step 3 and 4 are repeated until a consensus problem solutions is reached.
Contd………Delphi Technique
86
Step 1. Draw the Context Diagram(0 Level DFD)
• This is also called as Fundamental System Model or Level-0 DFD.
• It shows :
- data input to the system
- output data generated by the system
- external entities.
For example: if bubble A has two inputs x1 and x2, and one output y that
represents A should have exactly two external inputs and one external output
.
Context Diagram of Result Mgmt System
Step 2. Development of prototype(optional)
• Data Dictionaries
• ER Diagrams
90
Data Flow Diagrams(DFDS
.
Standard Symbols for DFD’s
Symbol Name Function
Levelling :
---The number of levels can be increased until every process represents basic
functionality or problem at hand is well understood
Designing Data Flow
Diagrams(DFDS
94
Level 1 and level 2 DFDs
Level 1: DFD depicts basic modules in the system and flow of data among various
modules. Level 1 DFD also mentions basic processes and sources of information.
Level 2 - At this level, DFD shows how data flows inside the modules mentioned in
Level 1.
Higher level DFDs can be transformed into more specific lower level DFDs with
deeper level of understanding unless the desired level of specification is achieved.
95
DFD for Result management Sytem
96
Data Dictionaries
It stores meaning and origin of data, its relationship with other data, data format for
usage etc.
It Includes :
Meaning Notation
= Composed of
{} Repetition
() Optional
+ And
[/] Or
98
Introduction
Example :
99
Entity – Relationship
Model
(ER model)
10
0
Introduction
10
1
Basic elements in ER model
10
2
Symbols used in E-R Diagram
Entity – rectangle
Attribute -oval
Relationship – diamond
Link - line
10
3
ER Model
Entity
Entities are represented by means of rectangles. Rectangles are named with the
entity set they represent.
10
4
ER Model
Relationship
10
5
TYPES OF ATTRIBUTES
1. Simple attribute
2. Composite attribute
3. Derived attribute
4. Stored attribute
5. Single valued attribute
6. Multi valued attribute
10
6
TYPES OF ATTRIBUTES
10
7
TYPES OF ATTRIBUTES
•Composite attribute:
10
8
TYPES OF ATTRIBUTES
•Derived attribute:
10
9
TYPES OF ATTRIBUTES
Stored attribute:
11
0
TYPES OF ATTRIBUTES
Single-valued attribute:
For example a person can have only one ‘date of birth’, ‘age’ ,
Social_Security_Number.etc.
That is a single valued attributes can have only single value. But
it can be simple or composite attribute.
11
1
TYPES OF ATTRIBUTES
Multi-value attribute:
Attribute may contain more than one values. Denoted by double circled oval
line connecting to the entity in the ER diagram.
Ex: Phone-number, College-degree, email addresses etc
11
2
KEYS
1. Candidate Key
2. Composite Key
3. Primary key
4. Foreign Key
11
3
CANDIDATE KEY
11
4
COMPOSITE KEY
11
5
PRIMARY KEY
11
6
FOREIGN KEY
•Both foreign and primary keys must be of the same data type
11
7
Graphical Representation in E-R diagram
11
8
DEGREE OF A RELATIONSHIP
CUSTOMER
11
9
CARDINALITY CONSTRAINTS
12
0
CARDINALITY CONSTRAINTS
one-to-one
12
1
CARDINALITY CONSTRAINTS
one to many
WORKS-
EMPLOYEE DEPARTMENT
FOR
1 M
12
2
CARDINALITY CONSTRAINTS
many-to-one
WORKS-
EMPLOYEE DEPARTMENT
FOR
12
3
CARDINALITY CONSTRAINTS
many-to-many
WORKS-
EMPLOYEE PROJECT
ON
M N
12
4
Benefits of ER diagrams
Second, ER diagrams are readily translatable into relational tables which can
be used to quickly build databases. In addition, ER diagrams can directly be
used by database developers as the blueprint for implementing data in
specific software applications.
The basic issues that the SRS writer shall address are the
following:
a) Functionality
b) External Interfaces
c) Performance
d) Attributes
e) Design Constraints imposed on an implementation.
SRS Should
-- Correctly define all requirements
-- not describe any design details
-- not impose any additional constraints
Characteristics of a good SRS
SRS should be
1. Correct
2. Unambiguous
3. Complete
4. Consistent
5. Ranked for importance and/or stability
6. Verifiable
7. Modifiable
8. Traceable
• Correct : The SRS is correct if and only if, every
requirement stated therein is one that the
software shall meet.
• Unambiguous: every requirement has only
interpretation.
• Complete : SRS is complete if and only if it
includes all significant requirements relating
to functionality , performance, design,
constraints, attributes or external interfaces.
• Consistency : SRS is consistent if and only if, no
requirements are in conflicting situation.
Consistency is achieved by :
Use of standards terms or definitions
Use of data dictionary
• Ranked for importance or stability : SRS is ranked for
importance and/or stability if each requirement in it has an
identifier to indicate either the importance or stability of
that particular requirement.
• Verifiability : It should be verifiable
Eg: “system should be user friendly” is not verifiable
• Modifiable
An SRS is modifiable, if and only if, its structure and style
are such that any changes to the requirements can be made
easily, completely, and consistently while retaining structure and style..
• Traceable
• An SRS is traceable, if the origin of each of the requirements is clear and
if it facilitates the referencing of each requirement in future
development or enhancement
documentation.
Backward traceability : this depends upon each requirement explicitly
referencing its source in earlier documents.
Forward traceability : this depends upon each requirement in the SRS
having a unique name or reference number.
Organization of the SRS
IEEE has published guidelines and standards to organize an SRS.
1. Introduction
1.1 Purpose
1.2 Scope
1.3 Definition, Acronyms and abbreviations
1.4 References
Overview
1.5
2. The Overall Description
3. Specific Requirements
3.1External Interfaces
3.2Functions
3.3Performance requirements
3.4Logical database requirements
3.5Design Constraints
3.6Software System attributes
3.7Organization of specific requirements
3.8Additional Comments.
• It will be very difficult for user document writers to write the users’
manuals properly without understanding the SRS document.
For complex logic we have :
• Decision trees
• Decision table
REQUIREMENTS
VALIDATION
• It is a process of ensuring that system requirements are
complete, correct , consistent .
• After the completion of SRS document, we would like to
check the document for:
• Completeness & consistency check
• Validity checks
• Realism check
• Conformance to standards check
• Verifiability check
• Technical errors
• Ambiguous requirements
• Requirement Review process
Plan Distribute Read
SRS
review Document
Organize
review
meeting
Follow
Revise SRS
up
document
actions
• Plan review : The review team is selected and time and place for
review meeting is fixed.
• Distribute SRS document : SRS document is distributed to all the
members.
• Read SRS document : Each member should read the document
carefully to find conflicts, omissions, inconsistencies, etc
• Organize review meeting : each member presents his/her views and
identified problems . The problems are discussed and a set of
actions to address the problem is approved.
• Follow up actions : The chairperson of the team checks that the
approved actions have been carried out.
• Revise SRS : The SRS document is revised to reflect the approved
actions. At this stage , it may be accepted or may reviewed.
REQUIREMENTS VALIDATION
• Requirements clarification
• Unrealistic requirements
• Security issues
REVIEW CHECKLISTS
Understandability
Redundancy
Completeness
Ambiguity
Consistency
Organization
Conformance to standards
Traceability
VALIDATION TECHNIQUES
1. Requirements Reviews
2. Prototyping
REQUIREMENTS REVIEWS
Requirement Management
Change Management
Management of changes
Documenting Requirement s
Requirements traceability
Communications of change
Establishment of baselines
1. Assignment of responsibilities : All changes
should be approved or rejecting by competent
authority designated for the project.
2. Management of changes : change request is
analyzed due to its impact on overall project
cost, resources allocated and delivery
schedule of the project. After implementation
of any change, formal notice is issued for the
information to all stakeholders
Requirement Management planning
Revised
Requirements
Requirement Management Planning
• Very critical.
•Assignment of responsibilities
• Management of changes
• Documentation
•Requirements traceability
• Communication of change
• Establishment of baseline
Feasibility Study
1. Organizational Feasibility
2. Technical Feasibility
3. Economic Feasibility
4. Legal feasibilty
12
Elements of a good Feasibility Study
• Requirements
• Approach
• Evaluation
13
• Review
SOFTWARE QUALITY
ASSURANCE
Software Quality
•Conformance to requirements
•Fitness for the purpose
•Level of satisfaction
When user uses the product, and finds the product fit for its
purpose, he/she feels that product is of good quality. 1
6
9
Software Quality Assurance
1
7
0
Software Quality Assurance
Are we building the product right? Are we building the right product?
Ensure that the software system Ensure that the functionalities meet
meets all the functionality the intended behavior.
Verifications take place first and Validation occurs after verification and
include the checking for mainly involves the checking of the
documentation, code etc overall product.
Done by developers Done by testers
1. Software Inspection
2. System testing
The testing can be carried out using following tests:-
i. Unit testing
ii. Module testing
iii. System testing
iv. Acceptance testing
1
7
4
SQA Plans
The SQA Plan provides a road map for instituting software quality
assurance. Developed by the SQA group, the plan serves as a
template for SQA activities that are instituted for each software
project.
1. ISO 9000
2. Capability Maturity Model
1
7
6
ISO 9000
• “ISO” in greek means “equal”, so the association wanted to
convey the idea of equality.
• It is an attempt to improve software quality based on ISO
9000 series standards.
• It has been adopted by over 130 countries including India
and Japan.
• One of the problem with ISO-9000 series standard is that it
is not industry specific.
• It can be interpreted by the developers to diverse projects
such as hair dryers, automobiles, televisions as well as
software.
Notes
• ISO-9000 applies to all types of organizations.
• After adopting the standards, a country
typically permits only ISO registered companies
to supply goods and services to government
agencies and public utilities.
• ISO-9000 series is not just software standard,
but are applicable to a wide variety of industrial
activities including design/development,
production, installation and servicing.
ISO 9000 Certification
This process consists of following stages:-
1. Application
2. Pre-assessment
3. Document review and adequacy of audit
4. Compliance audit
5. Registration
6. Continued surveillance
ISO 9000 Series
The types of software industries to which the different ISO
standards apply are as follows:
ISO 9000 standard is written for a wide range of industries whereas CMM
framework is specifies for the software industry.
CMM is a five level framework for measuring software engineering practices, and
ISO 9000 defines a minimum level of attributes for a quality management program.
The ISO 9000’s concept is to follow a set of standards to make success repeatable.
The CMM emphasizes a process of continuous improvement.