SlideShare a Scribd company logo
1 of 9
Download to read offline
CS2 Software Engineering note 2 CS2Ah Autumn 2003
Software Requirements1
Requirements are descriptions of the services that a software system must pro-
vide and the constraints under which it must operate
Requirements can range from high-level abstract statements of services or sys-
tem constraints to detailed mathematical functional specifications
Requirements Engineering is the process of establishing the services that the
customer requires from the system and the constraints under which it is to be
developed and operated
Requirements may serve a dual function:
As the basis of a bid for a contract
As the basis for the contract itself
Requirements Documents
“If a company wishes to let a contract for a large software development project
it must define its needs in a sufficiently abstract way that a solution is not pre-
defined. The requirements must be written so that several contractors can bid
for the contract, offering, perhaps, different ways of meeting the client organi-
sation’s needs. Once a contract has been awarded, the contractor must write a
system definition for the client in more detail so that the client understands and
can validate what the software will do. Both of these documents may be called
the requirements document for the system.”
[A.M. Davis “Software Requirements: Objects, Functions and States”, Englewood
Cliffs, 1993]
2.1 Types of Requirement
User requirements
Statements in natural language plus diagrams of the services that the sys-
tems provides and its operational contraints.
Written for customers
System requirements
A structured document setting out detailed descriptions of the system ser-
vices.
1
These notes are based on those provided by Ian Sommerville on his “Software Engineering”
text website
1
CS2 Software Engineering note 2 CS2Ah Autumn 2003
Written as a contract between client and contractor
Software specification
A detailed software description which can serve as a basis for a design or
implementation.
Written for developers
2.1.1 Example Definition and specifications
User Requirements definition:
The software must provide a means of representing and accessing external files
created by other tools
System Requirements specification:
1. The user should be provided with facilities to define the type of external files
2. Each external file type may have an associated tool which may be applied
to the file
3. Each external file type may be represented as a specific icon on the user’s
display
4. Facilities should be provided for the icon representing an external file to be
defined by the user
5. When a user selects an icon representing an external file, the effect of that
selection is to apply the tool associated with the type of external file to the
file represented by the selected icon
2.2 Functional, non-functional and domain require-
ments
Functional requirements
Statements of services that the system should provide, how the system
should react to particular inputs and how the system should behave in
particular situations
Non-functional requirements
Constraints on the services or functions offered by the system such as tim-
ing constraints, constraints on the development process, standards, etc.
2
CS2 Software Engineering note 2 CS2Ah Autumn 2003
Domain requirements
Requirements that come from the application domain of the system that
reflect the characteristics of that domain
May be functional or non-functional
2.2.1 Functional requirements
Describe functionality or system services
Depend on the type of software, expected users and the type of system
where the software is used
Functional user requirements may be high-level statements of what the sys-
tem should do; functional system requirements should describe the system
services in detail
Examples
The user shall be able to search either all of the initial set of databases or
select a subset from it
The system shall provide appropriate viewers for the user to read documents
in the document store
Every order shall be allocated a unique identifier (ORDER ID) which the
user shall be able to copy to the account’s permanent storage area
2.2.2 Non-functional requirements
Product requirements
– Requirements which specify that the delivered product must behave in
a particular way, e.g. execution speed, reliability etc.
Organisational requirements
– Requirements which are a consequence of organisational policies and
procedures, e.g. process standards used, implementation requirements
etc.
External requirements
– Requirements which arise from factors which are external to the sys-
tem and its development process, e.g. interoperability requirements,
legislative requirements etc.
3
CS2 Software Engineering note 2 CS2Ah Autumn 2003
Product
requirements
Non−functional
requirements
Portability
requirements
Usability
requirements
Reliability
requirements
Efficiency
requirements
Delivery
requirements
Implementation
requirements
Standards
requirements
Space
requirements
Performance
requirements
Organistational
requirements requirements
External
Ethical
requirements
Interoperability
requirements
Legislative
requirements
Safety
requirements
Privacy
requirements
Figure 2.1: Non-functional Requirements
Metrics for non-functional requirements
See figure 2.2.
2.2.3 Domain requirements
Describe system characteristics and features that reflect the domain
May be new functional requirements, constraints on existing requirements
or may define specific computations
If domain requirements are not satisfied, the system may be unworkble
Example: Library system
4
CS2 Software Engineering note 2 CS2Ah Autumn 2003
Property Measure
Speed Processed transactions/s
User/Event response time
Screen refresh time
Size Kbytes
Number of RAM chips
Ease of Use Training time
Number of help frames
Reliability Mean time to failure
Probability of unavailability
Rate of failure occurrence
Availability
Robustness % events causing failure
Time to restart after failure
Probability of data corruption
on failure
Portability % target system dependent
statements
Number of target systems
Figure 2.2: Metrics for non-functional requirements
Because of copyright restrictions, some received on-line documents must
be deleted immediately after printing
Example: Train protection system
Train deceleration shall be computed as
where
	  is 9.81 ms! * compensated gradient/alpha and where the
values of 9.81 ms! /alpha are known for different types of train
Domain requirement issues
Understandability
Requirements are expresed in the language of the application domain
– this is often not understood by software engineers developing the sys-
tem
Implicitness
5
CS2 Software Engineering note 2 CS2Ah Autumn 2003
Domain specialists understand the area so well that they do not think of
making the domain requirements explicit
2.3 User requirements
Should describe functional and non-functional requirements so that they
are understandable by system users who don’t have detailed technical knowl-
edge
User requirements are defined using natural language, tables and diagrams
2.3.1 Problems with natural language
Ambiguity
– Readers and writers may not interpret words in the same way
Over-flexibility
– The same thing may be expressed in a number of different ways
Requirements amalgamation  confusion
– Several different requirements may be expressed together; functional
and non-functional requirements may be mixed together
Lack of modularisation
– NL structures are inadequate to structure system requirements
Example
The requirements for a CASE tool for editing software design models include the
requirement for a grid to be displayed in the design window
“To assist in the positioning of entities on a diagram, the user may turn on a grid
in either centimetres or inches, via an option on the control panel”
This statement mixes up three different kinds of requirement
A conceptual functional requirement stating that the editing system should
provide a grid; it presents a rationale for this
A non-functional requirement giving information about the grid units
A non-functional user interface requirement defining how the grid is switched
on and off by the user
6
CS2 Software Engineering note 2 CS2Ah Autumn 2003
2.3.2 Revised requirement
“The editor shall provide a grid facility where a matrix of horizontal and
vertical lines provides a background to the editor window. This grid shall
be a passive grid where the alignment of entities is the user’s responsibility.
Rationale: A grid helps the user to create a tidy diagram with well-spaced entities.
Although an active grid, where entities ‘snap’ to grid lines can be useful, the
positioning is imprecise; the user is the best person to decide where entities
should be positioned.”
Concentrates on the essential system feature
Presents a rationale both its inclusion and for rejection of an automatic
alignment feature
Separate statements are needed to cover the other parts of the original require-
ment, e.g.
The grid can be turned on or off via an option in the control panel
The grid can be in centimetres or inches
The grid shall initially be in inches
2.3.3 Alternatives to NL specification
Structured natural language
– depends on defining standard forms or templates to express require-
ments specification
Design description languages
– similar to programming languages but with additional, more abstract
features
Graphical notations
– a graphical language, supplemented by text annotations, is used to
define functional requirements (e.g. use-case diagrams)
Mathematical/formal specifications
– based on mathematical concepts such as finite-state machines or sets;
unambiguous specifications reduce arguments between customers and
contractors but most customers don’t understand formal specifications
7
CS2 Software Engineering note 2 CS2Ah Autumn 2003
2.4 The Requirements Document
Official statement of what is required of the system developers
Should include both a definition and a specification of requirements
Should:
– specify external system behaviour
– specify implementation constraints
– be easy to change
(but changes must be managed)
– serve as a reference tool for maintenance
– record forethought about the life cycle of the system (i.e. predict changes)
– characterise responses to unexpected events
It is not a design document
– it should state what the system should do rather than how it should
do it
2.4.1 Requirements document structure
Introduction
Glossary
User requirements definition
System architecture
System requirements specification
System models
System evolution
Appendices
Index
8

More Related Content

What's hot

Software Specification Requirement
Software Specification RequirementSoftware Specification Requirement
Software Specification Requirementsuhasreddy1
 
Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5koolkampus
 
Domain-Specific Software Engineering
Domain-Specific Software EngineeringDomain-Specific Software Engineering
Domain-Specific Software Engineeringelliando dias
 
Srs template ieee
Srs template ieeeSrs template ieee
Srs template ieeehoinongdan
 
Low level design template (1)
Low level design template (1)Low level design template (1)
Low level design template (1)anosha jamshed
 
7(srs template)
7(srs template)7(srs template)
7(srs template)randhirlpu
 
software requirement specification
software requirement specificationsoftware requirement specification
software requirement specificationmaliksiddique1
 
Ch4-Software Engineering 9
Ch4-Software Engineering 9Ch4-Software Engineering 9
Ch4-Software Engineering 9Ian Sommerville
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9Ian Sommerville
 
Chapter 4 software design
Chapter 4  software designChapter 4  software design
Chapter 4 software designCliftone Mullah
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specificationAman Adhikari
 
21. Application Development and Administration in DBMS
21. Application Development and Administration in DBMS21. Application Development and Administration in DBMS
21. Application Development and Administration in DBMSkoolkampus
 
Ch7-Software Engineering 9
Ch7-Software Engineering 9Ch7-Software Engineering 9
Ch7-Software Engineering 9Ian Sommerville
 
Lead Allocation System - Attribute Driven Design (ADD)
Lead Allocation System - Attribute Driven Design (ADD)Lead Allocation System - Attribute Driven Design (ADD)
Lead Allocation System - Attribute Driven Design (ADD)Amin Bandeali
 
9. Software Implementation
9. Software Implementation9. Software Implementation
9. Software Implementationghayour abbas
 

What's hot (20)

Srs
SrsSrs
Srs
 
Software Specification Requirement
Software Specification RequirementSoftware Specification Requirement
Software Specification Requirement
 
Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5
 
Domain-Specific Software Engineering
Domain-Specific Software EngineeringDomain-Specific Software Engineering
Domain-Specific Software Engineering
 
Srs template ieee
Srs template ieeeSrs template ieee
Srs template ieee
 
Low level design template (1)
Low level design template (1)Low level design template (1)
Low level design template (1)
 
Sample SRS format
Sample SRS formatSample SRS format
Sample SRS format
 
7(srs template)
7(srs template)7(srs template)
7(srs template)
 
Hld and lld
Hld and lldHld and lld
Hld and lld
 
software requirement specification
software requirement specificationsoftware requirement specification
software requirement specification
 
Ch4-Software Engineering 9
Ch4-Software Engineering 9Ch4-Software Engineering 9
Ch4-Software Engineering 9
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9
 
Chapter 4 software design
Chapter 4  software designChapter 4  software design
Chapter 4 software design
 
Ch6
Ch6Ch6
Ch6
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 
21. Application Development and Administration in DBMS
21. Application Development and Administration in DBMS21. Application Development and Administration in DBMS
21. Application Development and Administration in DBMS
 
Ch7-Software Engineering 9
Ch7-Software Engineering 9Ch7-Software Engineering 9
Ch7-Software Engineering 9
 
Ch2 - SW Processes
Ch2 - SW ProcessesCh2 - SW Processes
Ch2 - SW Processes
 
Lead Allocation System - Attribute Driven Design (ADD)
Lead Allocation System - Attribute Driven Design (ADD)Lead Allocation System - Attribute Driven Design (ADD)
Lead Allocation System - Attribute Driven Design (ADD)
 
9. Software Implementation
9. Software Implementation9. Software Implementation
9. Software Implementation
 

Similar to Cs2 ah0405 softwarerequirements

Lecture-5-Requirements Analysis and Specification.pptx
Lecture-5-Requirements Analysis and Specification.pptxLecture-5-Requirements Analysis and Specification.pptx
Lecture-5-Requirements Analysis and Specification.pptxYaseenNazir3
 
SE - Software Requirements
SE - Software RequirementsSE - Software Requirements
SE - Software RequirementsJomel Penalba
 
Software engineering lecture 1
Software engineering  lecture 1Software engineering  lecture 1
Software engineering lecture 1JusperKato
 
CS8494 SOFTWARE ENGINEERING Unit-2
CS8494 SOFTWARE ENGINEERING Unit-2CS8494 SOFTWARE ENGINEERING Unit-2
CS8494 SOFTWARE ENGINEERING Unit-2SIMONTHOMAS S
 
1 Software Requirements Descriptions and specification.docx
1 Software Requirements Descriptions and specification.docx1 Software Requirements Descriptions and specification.docx
1 Software Requirements Descriptions and specification.docxjeremylockett77
 
Cs2 ah0405 softwarerequirements
Cs2 ah0405 softwarerequirementsCs2 ah0405 softwarerequirements
Cs2 ah0405 softwarerequirementsjayyu123
 
Software requirement specification
Software requirement specificationSoftware requirement specification
Software requirement specificationshiprashakya2
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineeringJennifer Polack
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements EngineeringEhsan Elahi
 
W4 lecture 7&8 - requirements gathering
W4 lecture 7&8 - requirements gatheringW4 lecture 7&8 - requirements gathering
W4 lecture 7&8 - requirements gatheringFareeha Iftikhar
 
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
2nd MODULE  Software Requirements   _ SW ENGG  22CSE141.pdf2nd MODULE  Software Requirements   _ SW ENGG  22CSE141.pdf
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdfJayanthi Kannan MK
 
chapter_3_8 of software requirements engineering
chapter_3_8 of software requirements engineeringchapter_3_8 of software requirements engineering
chapter_3_8 of software requirements engineeringJavedKhan524377
 
Assessment RubricExemplary Accomplished Developing B.docx
Assessment RubricExemplary Accomplished Developing B.docxAssessment RubricExemplary Accomplished Developing B.docx
Assessment RubricExemplary Accomplished Developing B.docxgalerussel59292
 

Similar to Cs2 ah0405 softwarerequirements (20)

SECh56
SECh56SECh56
SECh56
 
Lecture-5-Requirements Analysis and Specification.pptx
Lecture-5-Requirements Analysis and Specification.pptxLecture-5-Requirements Analysis and Specification.pptx
Lecture-5-Requirements Analysis and Specification.pptx
 
SE - Software Requirements
SE - Software RequirementsSE - Software Requirements
SE - Software Requirements
 
Software engineering lecture 1
Software engineering  lecture 1Software engineering  lecture 1
Software engineering lecture 1
 
SE UNIT 2.pdf
SE UNIT 2.pdfSE UNIT 2.pdf
SE UNIT 2.pdf
 
CS8494 SOFTWARE ENGINEERING Unit-2
CS8494 SOFTWARE ENGINEERING Unit-2CS8494 SOFTWARE ENGINEERING Unit-2
CS8494 SOFTWARE ENGINEERING Unit-2
 
1 Software Requirements Descriptions and specification.docx
1 Software Requirements Descriptions and specification.docx1 Software Requirements Descriptions and specification.docx
1 Software Requirements Descriptions and specification.docx
 
Cs2 ah0405 softwarerequirements
Cs2 ah0405 softwarerequirementsCs2 ah0405 softwarerequirements
Cs2 ah0405 softwarerequirements
 
Software requirement specification
Software requirement specificationSoftware requirement specification
Software requirement specification
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Chap1 RE Introduction
Chap1 RE IntroductionChap1 RE Introduction
Chap1 RE Introduction
 
Se week 4
Se week 4Se week 4
Se week 4
 
Se week 4
Se week 4Se week 4
Se week 4
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
 
W4 lecture 7&8 - requirements gathering
W4 lecture 7&8 - requirements gatheringW4 lecture 7&8 - requirements gathering
W4 lecture 7&8 - requirements gathering
 
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
2nd MODULE  Software Requirements   _ SW ENGG  22CSE141.pdf2nd MODULE  Software Requirements   _ SW ENGG  22CSE141.pdf
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
 
chapter_3_8 of software requirements engineering
chapter_3_8 of software requirements engineeringchapter_3_8 of software requirements engineering
chapter_3_8 of software requirements engineering
 
Lec srs
Lec srsLec srs
Lec srs
 
cheatsheet.pdf
cheatsheet.pdfcheatsheet.pdf
cheatsheet.pdf
 
Assessment RubricExemplary Accomplished Developing B.docx
Assessment RubricExemplary Accomplished Developing B.docxAssessment RubricExemplary Accomplished Developing B.docx
Assessment RubricExemplary Accomplished Developing B.docx
 

Recently uploaded

Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)Suman Mia
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxhumanexperienceaaa
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingrknatarajan
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 

Recently uploaded (20)

Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 

Cs2 ah0405 softwarerequirements

  • 1. CS2 Software Engineering note 2 CS2Ah Autumn 2003 Software Requirements1 Requirements are descriptions of the services that a software system must pro- vide and the constraints under which it must operate Requirements can range from high-level abstract statements of services or sys- tem constraints to detailed mathematical functional specifications Requirements Engineering is the process of establishing the services that the customer requires from the system and the constraints under which it is to be developed and operated Requirements may serve a dual function: As the basis of a bid for a contract As the basis for the contract itself Requirements Documents “If a company wishes to let a contract for a large software development project it must define its needs in a sufficiently abstract way that a solution is not pre- defined. The requirements must be written so that several contractors can bid for the contract, offering, perhaps, different ways of meeting the client organi- sation’s needs. Once a contract has been awarded, the contractor must write a system definition for the client in more detail so that the client understands and can validate what the software will do. Both of these documents may be called the requirements document for the system.” [A.M. Davis “Software Requirements: Objects, Functions and States”, Englewood Cliffs, 1993] 2.1 Types of Requirement User requirements Statements in natural language plus diagrams of the services that the sys- tems provides and its operational contraints. Written for customers System requirements A structured document setting out detailed descriptions of the system ser- vices. 1 These notes are based on those provided by Ian Sommerville on his “Software Engineering” text website 1
  • 2. CS2 Software Engineering note 2 CS2Ah Autumn 2003 Written as a contract between client and contractor Software specification A detailed software description which can serve as a basis for a design or implementation. Written for developers 2.1.1 Example Definition and specifications User Requirements definition: The software must provide a means of representing and accessing external files created by other tools System Requirements specification: 1. The user should be provided with facilities to define the type of external files 2. Each external file type may have an associated tool which may be applied to the file 3. Each external file type may be represented as a specific icon on the user’s display 4. Facilities should be provided for the icon representing an external file to be defined by the user 5. When a user selects an icon representing an external file, the effect of that selection is to apply the tool associated with the type of external file to the file represented by the selected icon 2.2 Functional, non-functional and domain require- ments Functional requirements Statements of services that the system should provide, how the system should react to particular inputs and how the system should behave in particular situations Non-functional requirements Constraints on the services or functions offered by the system such as tim- ing constraints, constraints on the development process, standards, etc. 2
  • 3. CS2 Software Engineering note 2 CS2Ah Autumn 2003 Domain requirements Requirements that come from the application domain of the system that reflect the characteristics of that domain May be functional or non-functional 2.2.1 Functional requirements Describe functionality or system services Depend on the type of software, expected users and the type of system where the software is used Functional user requirements may be high-level statements of what the sys- tem should do; functional system requirements should describe the system services in detail Examples The user shall be able to search either all of the initial set of databases or select a subset from it The system shall provide appropriate viewers for the user to read documents in the document store Every order shall be allocated a unique identifier (ORDER ID) which the user shall be able to copy to the account’s permanent storage area 2.2.2 Non-functional requirements Product requirements – Requirements which specify that the delivered product must behave in a particular way, e.g. execution speed, reliability etc. Organisational requirements – Requirements which are a consequence of organisational policies and procedures, e.g. process standards used, implementation requirements etc. External requirements – Requirements which arise from factors which are external to the sys- tem and its development process, e.g. interoperability requirements, legislative requirements etc. 3
  • 4. CS2 Software Engineering note 2 CS2Ah Autumn 2003 Product requirements Non−functional requirements Portability requirements Usability requirements Reliability requirements Efficiency requirements Delivery requirements Implementation requirements Standards requirements Space requirements Performance requirements Organistational requirements requirements External Ethical requirements Interoperability requirements Legislative requirements Safety requirements Privacy requirements Figure 2.1: Non-functional Requirements Metrics for non-functional requirements See figure 2.2. 2.2.3 Domain requirements Describe system characteristics and features that reflect the domain May be new functional requirements, constraints on existing requirements or may define specific computations If domain requirements are not satisfied, the system may be unworkble Example: Library system 4
  • 5. CS2 Software Engineering note 2 CS2Ah Autumn 2003 Property Measure Speed Processed transactions/s User/Event response time Screen refresh time Size Kbytes Number of RAM chips Ease of Use Training time Number of help frames Reliability Mean time to failure Probability of unavailability Rate of failure occurrence Availability Robustness % events causing failure Time to restart after failure Probability of data corruption on failure Portability % target system dependent statements Number of target systems Figure 2.2: Metrics for non-functional requirements Because of copyright restrictions, some received on-line documents must be deleted immediately after printing Example: Train protection system Train deceleration shall be computed as
  • 6. where is 9.81 ms! * compensated gradient/alpha and where the values of 9.81 ms! /alpha are known for different types of train Domain requirement issues Understandability Requirements are expresed in the language of the application domain – this is often not understood by software engineers developing the sys- tem Implicitness 5
  • 7. CS2 Software Engineering note 2 CS2Ah Autumn 2003 Domain specialists understand the area so well that they do not think of making the domain requirements explicit 2.3 User requirements Should describe functional and non-functional requirements so that they are understandable by system users who don’t have detailed technical knowl- edge User requirements are defined using natural language, tables and diagrams 2.3.1 Problems with natural language Ambiguity – Readers and writers may not interpret words in the same way Over-flexibility – The same thing may be expressed in a number of different ways Requirements amalgamation confusion – Several different requirements may be expressed together; functional and non-functional requirements may be mixed together Lack of modularisation – NL structures are inadequate to structure system requirements Example The requirements for a CASE tool for editing software design models include the requirement for a grid to be displayed in the design window “To assist in the positioning of entities on a diagram, the user may turn on a grid in either centimetres or inches, via an option on the control panel” This statement mixes up three different kinds of requirement A conceptual functional requirement stating that the editing system should provide a grid; it presents a rationale for this A non-functional requirement giving information about the grid units A non-functional user interface requirement defining how the grid is switched on and off by the user 6
  • 8. CS2 Software Engineering note 2 CS2Ah Autumn 2003 2.3.2 Revised requirement “The editor shall provide a grid facility where a matrix of horizontal and vertical lines provides a background to the editor window. This grid shall be a passive grid where the alignment of entities is the user’s responsibility. Rationale: A grid helps the user to create a tidy diagram with well-spaced entities. Although an active grid, where entities ‘snap’ to grid lines can be useful, the positioning is imprecise; the user is the best person to decide where entities should be positioned.” Concentrates on the essential system feature Presents a rationale both its inclusion and for rejection of an automatic alignment feature Separate statements are needed to cover the other parts of the original require- ment, e.g. The grid can be turned on or off via an option in the control panel The grid can be in centimetres or inches The grid shall initially be in inches 2.3.3 Alternatives to NL specification Structured natural language – depends on defining standard forms or templates to express require- ments specification Design description languages – similar to programming languages but with additional, more abstract features Graphical notations – a graphical language, supplemented by text annotations, is used to define functional requirements (e.g. use-case diagrams) Mathematical/formal specifications – based on mathematical concepts such as finite-state machines or sets; unambiguous specifications reduce arguments between customers and contractors but most customers don’t understand formal specifications 7
  • 9. CS2 Software Engineering note 2 CS2Ah Autumn 2003 2.4 The Requirements Document Official statement of what is required of the system developers Should include both a definition and a specification of requirements Should: – specify external system behaviour – specify implementation constraints – be easy to change (but changes must be managed) – serve as a reference tool for maintenance – record forethought about the life cycle of the system (i.e. predict changes) – characterise responses to unexpected events It is not a design document – it should state what the system should do rather than how it should do it 2.4.1 Requirements document structure Introduction Glossary User requirements definition System architecture System requirements specification System models System evolution Appendices Index 8
  • 10. CS2 Software Engineering note 2 CS2Ah Autumn 2003 2.4.2 Requirements document users System customers Specify the requirements and read them back to check that they meet their needs; specify changes to the requirements Development Managers Use the requirements document to plan a bid for the system and to plan the system development process Implementation Programmers Use the requirements to understand what system is to be developed Test programmers Use the requirements to develop validation tests for the system Maintenance programmers Use the requirements to help understand the system and the relationships be- tween its parts 2.5 Summary Requirements set out what the system should do and define constraints on its operation and implementaion Functional requirements set out services that the system should provide Non-functional requirements constrain the system being developed or the development process User requirements are high-level statements of what the system should do User requirements should be written using natural language, tables and diagrams System requirements are intended to communicate the functions that the system should provide System requirements may be written in structured natural language, a PDL or in a formal language A software requirements document is an agreed statement of the system requirements 9