You are on page 1of 51

BY

Touseef Tahir
touseeftahir@ciitlahore.edu.pk

What are software requirements


Why software requirements are important
Levels of software requirements
Categories of software requirements
Requirement elicitation techniques
Requirement specification in natural
language

CIIT Lahore

04/13/16

Software engineering
Software engineering phases
Software development life cycle

CIIT Lahore

04/13/16

A set or arrangements of elements that are


organized to accomplish some predefined
goal by processing information. And the
goal may be a business function or to
develop a product function.

04/13/16

Business Engineering Product


Engineering
****System****

Requirement
Engineering
Ananalysis
04/13/16

What are the system elements?

Software
Hardware
People
Database
Documentation
Procedures

04/13/16

World View (Domains)


Domain View (Elements)
Elements View( Sub elements)

04/13/16

1)
2)
3)
4)

Vision
focus on why
Definition
focus on what
Development
focus on how
Maintenance
focus on
change
Vision

Definition Development Maintenance

CIIT Lahore

04/13/16

Requirements are ... A specification of what


should
be
implemented.
They
are
descriptions of how the system should
behave, or of a system property or attribute.
They may be a constraint on the
development process of the system. Somerville 1997

CIIT Lahore

04/13/16

Requirements

definition

A statement in natural language plus


diagrams of the services the system
provides and its operational constraints.
Written for customers
Requirements

specification

A structured document setting out detailed


descriptions of the system services.
Written as a contract between client and
contractor. For customers + developers
CIIT Lahore

04/13/16

10

Requirement Elicitation
Requirement Analysis & Negotiation
Requirement Specification
System Modeling
Requirement Validation
Requirement Management

04/13/16

11

Project
Planning
Project
Tracking

Construction
Process

Software
Requirements

User
Documentation

Change
Control
System
Testing
04/13/16

12

Business
Requirements

Vision and Scope Document

User
Requirements

Quality
Attributes

Other Non
Functional
Requirements

Use Case Document

System
Requirements

Functional
Requirements

Constraints

Functional Specification
Document

04/13/16

13

A survey on 8000 software projects


Most of the projects failed due to incomplete
requirements

Cost to fix software errors


Requirements

1.0

Design

5.0

code

10.0

Testing

30.0

CIIT Lahore

04/13/16

14

CIIT Lahore

04/13/16

15

Business

requirements

User/customer

requirements

Functional requirements
Non-functional requirements

CIIT Lahore

04/13/16

16

Business Requirements

Represent high level objectives of the


organization or customer requesting the system
or product
Captured in a document describing the project
vision and scope.
All user requirements must align with business
requirements

CIIT Lahore

04/13/16

17

An embedded system is to be developed


for a kiosk (booth). This system will be
sold to the retail stores and will be used
by the store customers.

For example, a business requirement to


generate maximum revenue from the
kiosk
would
imply
the
early
implementation
of
features
directly
associated with selling more products or
services to the customer, rather than
glitzy features that appeal to only a subset
of customers.

CIIT Lahore

04/13/16

19

BR user will be able to correct spelling errors in


a document efficiently.
Spell checker is included as a feature

UR finding spelling errors in the document and


decide whether to replace each misspelled word
with the one chosen from a list of suggested
words.
FR
find and highlight misspelled words.
Display a dialog box with suggested replacements
Making global replacements

NFR It must be integrated into the existing


word-processor which runs on windows platform.
04/13/16

20

Functional Requirements
Define the software functionalities the developers
must build into the product.

CIIT Lahore

04/13/16

21

Non-Functional

Requirements

Regulations
Standards
Quality attributes

CIIT Lahore

04/13/16

22

CIIT Lahore

04/13/16

23

CIIT Lahore

04/13/16

24

CIIT Lahore

04/13/16

25

Bespoke requirements

Particular
customer

Market Driven Requirements

market
segments

CIIT Lahore

04/13/16

26

...the process of discovering the requirements


for
a
system
by
communication
with
stakeholders and through the observation of
them in their domain
(Tony Gorschek)

CIIT Lahore

04/13/16

27

Interviews

+ Getting to know the present (domain,


problems) and ideas for future systems
- Hard to see the goals and critical issues,
subjective

Group interviews
+ Stimulate each other, complete each other.
- Censorship, domination (some people may not
get attention)

CIIT Lahore

04/13/16

28

Observation

+ Map current work, practices, processes


- Critical issues seldom captured (e.g. you have to
be observing when something goes wrong), usability
issues seldom captured, time consuming

CIIT Lahore

04/13/16

29

Task

demonstrations

+ Clarify what is done and how, current work.


- Your presence and questions may influence the
user, critical issues seldom captured, usability
problems hard to capture

CIIT Lahore

04/13/16

30

Questionnaires
+ Gather information from many users (statistical
indications, views, opinions)
- Difficult to construct good questionnaires,
questions often interpreted differently, hard to
classify answers in open questions and closed
questions may be too narrow

CIIT Lahore

04/13/16

31

Brainstorming

+ Many ideas (none are rejected)


- Many ideas (have to be sorted and prioritized),
hard to create a good atmosphere, hard to get
everybody involved, small groups, time consuming

CIIT Lahore

04/13/16

32

Use

cases and Scenarios

+ Concentration on the specific (rather than the


general) which can give greater accuracy
- Solution oriented (rather than problem
oriented),can result in a premature design of the
interface between the problem domain and the
solution

CIIT Lahore

04/13/16

33

Prototyping
+ Visualization, stimulate ideas, usability
centered, (can be combined with e.g. use cases)
- Solution oriented (premature design), is it
already done?!

CIIT Lahore

04/13/16

34

Natural language specification


RFC(Request For Comments) 2119

Memorandum published by the Internet


Engineering Task Force (IETF) Internet
Engineering Task Force

CIIT Lahore

04/13/16

35

Requirement specification in natural


language pose some problems which
include
Lack of clarity
Requirements confusion
Requirements amalgamation

CIIT Lahore

04/13/16

36

Complete
Feasible
Unambiguous
Verifiable
prioritized
Traceable
Consistent
Not design
Not combined
Correct

CIIT Lahore

04/13/16

37

Requirement
The system shall play the sound alarm when the
door is opened.
The system shall play the sound C:\alarm.wav
once, at the highest volume setting in the main
speaker for the building X when the door Y opens.

CIIT Lahore

04/13/16

38

Requirement (Amalgamation)
When a user has entered the building, this shall
be registered in the entry log and the users
computer shall be booted.
When a user has entered the building, this
shall be registered in the entry log.
When a user has entered the building, the
users computer shall be booted.
The system shall register in the entry log
when a user has entered the building.

CIIT Lahore

04/13/16

39

Implementable with current technical


support
Reality check while requirement elicitation

CIIT Lahore

04/13/16

40

Assign an implementation priority


Releases and software versions

Microsoft word and notepad

Methods of prioritization
E-g 100 dollar method

CIIT Lahore

04/13/16

41

Requirement
The system shall respond quickly to user
interaction.
The system shall respond to user interaction
within maximum 2 seconds, minimum 0.2
seconds, average 1 second (with a CPU load of
0.5).

CIIT Lahore

04/13/16

42

Requirement
R11: When a user enters a correct code,
the door shall open.
When a user enters the code associated with
him/her on keypad K2 the door D2 shall unlock
and remain unlocked for 30 seconds.

CIIT Lahore

04/13/16

43

Backward-traceability Links requirements to


their sources in other documents or people

Forward-traceability Links requirements to


the design and implementation components

CIIT Lahore

04/13/16

44

No conflict
Example
System must monitor all temperatures in a chemical
reactor.
System should only monitor and log temperatures
below -200 C and above 4000 C.

CIIT Lahore

04/13/16

45

Any two reader understand the requirement


in same way.
Example
words such as "always," "never," "all, "or "every.
Incomplete lists ending with "etc.," "and/or," and
"TBD.
Vague words and phrases such as "generally,"
"normally," "to the greatest extent," and "where
practicable."

CIIT Lahore

04/13/16

46

Software requirements objects and states by


Justice Gul M.LIB.
Software engineering (7th edition)by Sommerville
Human aspects of software engineering by
James E. Tomayko and Orit hazzan
Introduction to software engineering by ronald
J.Leach
Software engineering theory and practice(2 nd
edition) by Shari Lawrence Pfleeger
Requirements engineering processes and
techniques by Gerald kotonya and Ian
sommerville
CIIT Lahore

04/13/16

47

Assignment 1
Make the group of five members and conduct the interview of a
Head librarian. I will act as a head librarian and you will have
to ask me the questions in order to know the problems.
During a meeting with a customer (me) you shall acquire
information about which system the customer wants, and what
requirements that the customer poses on this system. You shall
plan the customer meeting and prepare how you intend to get
the required information from the customer. You shall conduct
the meeting in a professional manner. You shall bring a printed
paper to the meeting where the names and rollno of all
participants are listed.

Assignment 2
Make the observations about the working of manual library
system. Identify different stakeholders and different scenarios
of working.

CIIT Lahore

04/13/16

48

Write the requirements (in natural language) for


system described.
You are designing the software for a railway
crossing. A sensor on the rails detects when a train
is arriving and lowers the bars over the road. The
bars remains lowered until another sensor detects
that the train has passed or until a signal from the
Railway Control Centre (RCC) is received. If the
sensors malfunction, or if the connection to the RCC
is lost, the bars are lowered and shall remain
lowered until everything is working again and they
are reset from the RCC. While the bar is being
lowered or raised and while the bar is in its lowered
position, lights will flash and a bell will ring

CIIT Lahore

04/13/16

49

CIIT Lahore

04/13/16

50

Thank

you
CIIT Lahore

04/13/16

51

You might also like