Lecture 5
Lecture 5
1
Requirements Engineering
• The process of establishing the services that
– The customer requires from a system; and
– The constraints under which it operates and is developed.
• The requirements themselves are the descriptions of
– The system services; and
– Constraints that are generated during the requirements
engineering process.
2
What is a Requirement?
• It may range from a high-level abstract statement of
a service or of a system constraint to a detailed
mathematical functional specification.
• This is inevitable as requirements may serve a dual
function
– May be the basis for a bid for a contract - therefore must
be open to interpretation;
– May be the basis for the contract itself - therefore must be
defined in detail;
3
Types of Requirements
• User requirements
– Statements in natural language plus diagrams of the
services the system provides and its operational
constraints.
– Written for customers.
• System requirements
– A structured document setting out detailed descriptions of
the system’s functions, services and operational
constraints.
– Defines what should be implemented so may be part of a
contract between client and contractor.
4
Types of Requirements
• Functional requirements
– Statements of services the system should provide,
– How the system should react to particular inputs;
– How the system should behave in particular situations.
• Non-functional requirements
– constraints on the services or functions offered by the
system such as timing constraints,
– constraints on the development process, standards, etc.
5
Types of Requirements
• Domain requirements
– Requirements that come from the application
domain of the system and that reflect
characteristics of that domain.
– They may be functional or non-functional
requirements.
6
Functional requirements
• Describe functionality or system services.
– Expected users and the type of system where the
software is used.
• Functional user requirements may be
– High-level statements of what the system should
do
– Functional system requirements should describe
the system services in detail.
7
Example
• A library system that provides a single
interface to a number of databases of articles
in different libraries.
• Users can search for, download and print
these articles for personal study.
8
Non-functional requirements
• These define system properties and constraints e.g.
– reliability,
– response time and storage requirements.
– Constraints are I/O device capability,
– system representations, etc.
• Non-functional requirements may be more critical
than functional requirements.
9
Non-functional classifications
• Product requirements - system must behave in a
particular way e.g.
– execution speed, reliability, etc.
• Organisational requirements - result of
organisational policies e.g.
– process standards used, implementation requirements,
delivery requirements etc.
• External requirements - factors which are external to
the system e.g.
– interoperability requirements, legislative requirements,
etc.
10
Non-functional requirements
examples
• Product requirement
– The user interface for LIBSYS shall be implemented as
simple HTML without frames or Java applets.
• External requirement
– The system shall not disclose any personal information
about customers apart from their name and reference
number.
11
Seven Fact‐Finding Methods
• Background Research
• Sampling of existing documentation, forms, and
databases
• Observation of the work environment
• Questionnaires
• Interviews
• Prototyping
• Joint requirements planning (JRP)
12
Seven Fact‐Finding Methods
• Background Research
• Sampling of existing documentation, forms, and
databases
• Observation of the work environment
• Questionnaires
• Interviews
• Prototyping
• Joint requirements planning (JRP)
13
Observation
14
Observation Guidelines
• Background Research
• Sampling of existing documentation, forms, and
databases
• Observation of the work environment
• Questionnaires
• Interviews
• Prototyping
• Joint requirements planning (JRP)
16
Interviews
1. Select Interviewees
– End users
– Learn about individual prior to the interview
2. Prepare for the Interview
– An interview guide is a checklist of specific questions
the interviewer will ask the interviewee.
3. Conduct the Interview
– Summarize the problem
– Offer an incentive for participation
– Ask the interviewee for assistance
4. Follow Up on the Interview
– Memo that summarizes the interview
19
Interviewing Do’s and Don’ts
Do’s Don’ts
Be courteous Continuing an interview
unnecessarily.
Listen carefully Assuming an answer is finished or
leading nowhere.
Maintain control Revealing verbal and nonverbal clues.
Probe Using jargon
Observe mannerisms and nonverbal Revealing your personal biases
Communication Talking instead of listening
Be patient Assuming anything about the topic
and the interviewee
Keep interviewee at ease Tape recording -- a sign of poor
listening skills.
Maintain self-control 20
Seven Fact‐Finding Methods
• Background Research
• Sampling of existing documentation, forms, and
databases
• Observation of the work environment
• Questionnaires
• Interviews
• Prototyping
• Joint requirements planning (JRP)
21
Joint Requirements Planning
• Joint requirements planning (JRP)
– a process whereby highly structured
group meetings are conducted for the
purpose of analyzing problems and defining
requirements.
– JRP is a subset of a more comprehensive joint application development or
JAD technique that encompasses the entire systems development process.
• JRP Participants-
– Sponsor
– Facilitator
– Users and Managers 22
– Scribes
– IT Staff
Steps to Plan a JRP Session
1. Selecting a location
– Away from workplace when possible
– Requires several rooms
– Equipped with tables, chairs, whiteboard, overhead projectors
– Needed computer equipment
2. Selecting the participants
– Each needs release from regular duties
3. Preparing the agenda
– Briefing documentation
– Agenda distributed before each session
23
Typical room layout for JRP session
24
Guidelines for Conducting a JRP Session
28
The PIECES Problem‐Solving Framework
P the need to improve performance
I the need to improve information (and data)
E the need to improve economics, control costs, or
increase profits
C the need to improve control or security
E the need to improve efficiency of people and
processes
S the need to improve service to customers,
suppliers, partners, employees, etc.