Chapter 3 Requiremennts
Chapter 3 Requiremennts
REQUIREMENTS
1
Requirement
2
Functional and Non Functional
Requirements
3
Functional Requirements
4
Non-functional Requirements
6
Type of Non-Functional Requirements (cont.)
8
Type of Non-Functional Requirements (cont.)
10
Requirements Engineering Tasks
4. Negotiation: Conflict on requirements is resolved, risks
analysed and avoided
5. Specification: The final work product produced, describes
the function and performance of a computer based
system and constraints that will govern its development
6. Validation: Examining Specification to ensure that all
requirements are stated correctly, no errors and that it
conforms to standards established for the process.
7. Requirements Management: it’s a set of activities that
help project team to identify, control and track
requirements and their changes as the project proceeds.
11
R.E process
Requir ements
Feasibility elicitation and
stud y
anal ysis
Requir ements
specification
Feasibility Requir ements
repor t validation
System
models
Requir ements
document
12
Requirements Engineering
Requirements
specification
S ystem requirements
specification and
modeling
User requirements
specification
Business requirements
specification
S ystem
F easibility
requirements User
elicitation study
requirements
elicitation
Prototyping
Requirements
elicitation
Reviews Requirements
validation
Syst em requirements
document
13
Viewpoints
14
Techniques to gather requirements
• Requirements Elicitation: making sure that indeed there
is a need for a system before developing system
requirements
• Obtrusive Observation: Obtained requirements directly
from the stakeholders
• Unobtrusive Observation: observe stakeholders at
random times when they don’t know.
• Interview: talking to the stakehokders concerned.
15
Techniques to gather requirements
Social and organisational factors
• Software systems are used in a social and organisational
context. This can influence or even dominate the system
requirements.
• Social and organisational factors are not a single
viewpoint but are influences on all viewpoints.
• Good analysts must be sensitive to these factors but
currently no systematic way to tackle their analysis.
16
Requirements gathering
Ethnography
• A social scientists spends a considerable time observing
and analysing how people actually work.
• People do not have to explain or articulate their work.
• Social and organisational factors of importance may be
observed.
• Ethnographic studies have shown that work is usually
richer and more complex than suggested by simple
system models.
17
Interview
• In formal or informal interviewing, the RE team puts
questions to stakeholders about the system that they use
and the system to be developed.
• There are two types of interview
– Closed interviews where a pre-defined set of
questions are answered.
– Open interviews where there is no pre-defined agenda
and a range of issues are explored with stakeholders.
18
Interviews in Practice
• Normally a mix of closed and open-ended interviewing.
• Interviews are good for getting an overall understanding
of what stakeholders do and how they might interact
with the system.
• Interviews are not good for understanding domain
requirements
– Requirements engineers cannot understand specific
domain terminology;
– Some domain knowledge is so familiar that people
find it hard to articulate or think that it isn’t worth
articulating.
19
Requirements Validation
• Concerned with demonstrating that the requirements
define the system that the customer really wants.
• Requirements error costs are high so validation is very
important
– Fixing a requirements error after delivery may cost up
to 100 times the cost of fixing an implementation
error.
20
Requirements Checking
• Validity. Does the system provide the functions which
best support the customer’s needs?
• Consistency. Are there any requirements conflicts?
• Completeness. Are all functions required by the customer
included?
• Realism. Can the requirements be implemented given
available budget and technology
• Verifiability. Can the requirements be checked?
21
Requirements Validation Techniques
• Requirements reviews
– Systematic manual analysis of the requirements.
• Prototyping
– Using an executable model of the system to check
requirements. Covered in Chapter 17.
• Test-case generation
– Developing tests for requirements to check testability.
22
Requirement Reviews
• Regular reviews should be held while the requirements
definition is being formulated.
• Both client and contractor staff should be involved in
reviews.
• Reviews may be formal (with completed documents) or
informal. Good communications between developers,
customers and users can resolve problems at an early
stage.
23
Review Checks
24
Requirement Management
25
Requirements change
26
Requirements management planning
• During the requirements engineering process, you have
to plan:
– Requirements identification
• How requirements are individually identified;
– A change management process
• The process followed when analysing a
requirements change;
– Traceability policies
• The amount of information about requirements
relationships that is maintained;
– CASE tool support
• The tool support required to help manage
requirements change; 27
Requirements change management
28
Traceability
• Traceability is concerned with the relationships between
requirements, their sources and the system design
• Source traceability
– Links from requirements to stakeholders who
proposed these requirements;
• Requirements traceability
– Links between dependent requirements;
• Design traceability
– Links from the requirements to the design;
29
CASE tool support
• Requirements storage
– Requirements should be managed in a secure,
managed data store.
• Change management
– The process of change management is a workflow
process whose stages can be defined and information
flow between these stages partially automated.
• Traceability management
– Automated retrieval of the links between requirements.
30
Feasibility Study
31
Feasibility Study Implementation
• Based on information assessment (what is required), information
collection and report writing.
• Questions for people in the organisation
– What if the system wasn’t implemented?
– What are current process problems?
– How will the proposed system help?
– What will be the integration problems?
– Is new technology needed? What skills?
– What facilities must be supported by the proposed system?
32
Elicitation and Analysis
• Sometimes called requirements elicitation or
requirements discovery.
• Involves technical staff working with customers to find
out about the application domain, the services that the
system should provide and the system’s operational
constraints.
• May involve end-users, managers, engineers involved in
maintenance, domain experts, trade unions, etc. These
are called stakeholders.
33
Requirement Analysis problems
• Stakeholders don’t know what they really want.
• Stakeholders express requirements in their own terms.
• Different stakeholders may have conflicting
requirements.
• Organisational and political factors may influence the
system requirements.
• The requirements change during the analysis process.
New stakeholders may emerge and the business
environment change.
34
Scenarios
35
Library System scenario
Initial assumption: The user has logged on to the LIBSYS system and has
located the journal containing the copy of the article.
Normal: The user selects the article to be copied. He or she is then prompted
by the system to either provide subscriber information for the journal or to
indicate how they will pay for the article. Alternative payment methods are by
credit card or by quoting an organisational account number.
The user is then asked to fill in a copyright form that maintains details of the
transaction and they then submit this to the LIBSYS system.
The copyright form is checked and, if OK, the PDF version of the article is
downloaded to the LIBSYS working area on the user’s computer and the user
is informed that it is available. The user is asked to select a printer and a copy
of the article is printed. If the article has been flagged as ‘print-only’ it is
deleted from the user’s system once the user has confirmed that printing is
complete.
36
Library System cont..
What can go wrong: The user may fail to fill in the copyright form
correctly. In this case, the form should be re-presented to the user for
correction. If the resubmitted form is still incorrect then the user’s request
for the article is rejected.
The payment may be rejected by the system. The user’s request for the
article is rejected.
The article download may fail. Retry until successful or the user
terminates the session.
It may not be possible to print the article. If the article is not flagged as
‘print-only’ then it is held in the LIBSYS workspace. Otherwise, the article
is deleted and the user’s account credited with the cost of the article.
38
Library use case
Article search
39
Article printing
User
request
request
complete
return
copyright OK
deliver
article OK
print
send
inform confirm
delete
40
Requirements classification
Requirement Description
Type
Mutable Requirements that change because of changes to the environment in which the
requirements organisation is operating. For example, in hospital systems, the funding of patient
care may change and thus require different treatment information to be collected.
Emergent Requirements that emerge as the customer's understanding of the system develops
requirements during the system development. The design process may reveal new emergent
requirements.
Consequential Requirements that result from the introduction of the computer system. Introducing
requirements the computer system may change the organisations processes and open up new ways
of working which generate new system requirements
Compatibility Requirements that depend on the particular systems or business processes within an
requirements organisation. As these change, the compatibility requirements on the commissioned
or delivered system may also have to evolve.
41
Key Points
42
Tasks
• Identify and explain 7 points in requirements engineering.
• Define view points and give an example.
• Describe techniques in gathering requirements.
• Identify problems in requirements analysis.
• Explain requirements elicitation and analysis.
• Explain feasibility study.
• Explain in detail, what is covered in Traceability, pertaining to
requirements.
• Identify requirement review techniques and explain them,
explain why there is a need for review.
• Explain all requirements validation techniques.
• Explain requirement management.
43