Documente Academic
Documente Profesional
Documente Cultură
Lecture 01
An Introduction to Requirements Engineering
Tutorial 01
Lecture 02
Requirements Engineering Processes
Tutorial 02
Lecture 03
Requirements Elicitation and Analysis
Tutorial 03
Past Year Examination Questions
Page
1
8
9
18
20
30
32
TSE2451
Lecture 01
TSE2451
Lecture 01
TSE2451
7. Emergent properties
Emergent properties are properties of the system as a whole and only emerge once al of
its individual sub-systems have been integrated
Examples of emergent properties
Reliability
Maintainability
Performance
Usability
Security
Safety
8. The systems engineering process
Lecture 01
TSE2451
Lecture 01
TSE2451
Lecture 01
TSE2451
Hardware specification
This is an optional chapter specifying the hardware that the software is expected to
control. It may be omitted if the standard instrument platform is used.
Detailed software specification
This is a detailed description of the functionality expected of the software of the
system. It may include details of specific algorithms which should be used for
computation. If a prototyping approach is to be used for development on the standard
instrument platform, this chapter may be omitted.
Reliability and performance requirements
This chapter should describe the reliability and performance requirements which are
expected of the system. These should be related to the statement of user requirements
in Chapter 4.
The following appendices may be included where appropriate:
Hardware interface specification
Software components which must be reused in the system implementation
Data structure specification
Data-flow models of the software system
Detailed object models of the software system
Index
Lecture 01
TSE2451
Key Points
1. Requirements define what the system should provide and define system constraints
2. Requirements problems lead to late delivery and change requests after the system is in use
3. Requirements engineering is concerned with eliciting, analysing, and documenting the
system requirements
4. Systems engineering is concerned with systems as a whole including hardware, software and
operational processes
5. The requirements document is the definitive specification of requirements for customers,
engineers and managers.
6. The requirements document should include a system overview, glossary, statement of the
functional requirements and the operational constraints
Lecture 01
TSE2451
Library Users
Cataloging Staff
Library Management
Helpdesk
Book Publishers (indirect)
Systems Developers
Managers of other library automation systems
2. Suggest the uses which each of the stakeholders which you have identified in question 1
might make of a requirements document for a library system.
Library Users Not used directly but used to produce user documentation.
Library Staff Responsible for cataloguing Used to assess if the facilities specified are
those required to support the cataloguing process.
Library Management Used to asses if the system supports the overall goals of the
library.
Library Staff responsible for providing user assistance Used to assess whether or not
the retrieval facilities are those commonly used by end-users.
Book Publishers (indirect) No direct use of document.
Managers of other library automation system Used to check interactions with these
systems.
3. Suggest how the following requirements might be rewritten in a quantitative way. You may
use any metrics you like to express the requirements.
Tutorial 01
TSE2451
Lecture 02
TSE2451
Input
Domain
information
Agreed
requirements
Input
System
specification
System models
Output
Input
Output
Output
Description
Information about the functionality of systems to be
replaced or other systems which interact with the system
being specified
Descriptions of what system stakeholders need from the
system to support their work
Standards used in an organization regarding system
development practice, quality management, etc.
External regulations such as health and safety regulations
which apply to the system.
General information about the application domain of the
system
A description of the system requirements which is
understandable by stakeholders and which has been agreed
by them
This is a more detailed specification of the system
functionality which may be produced in some cases
A set of models such as a data-flow model, an object
model, a process model, etc. which describes the system
from different perspectives.
10
Lecture 02
TSE2451
Lecture 02
11
TSE2451
System end-user
Requirements engineer
Software engineer
Project manager
12
Description
Responsible for providing information about the application
domain and the specific problem in that domain which is to be
solved
Responsible for using the system after delivery
Responsible for eliciting and specifying the system
requirements
Responsible for developing the prototype software system
Responsible for planning and estimating the prototyping
project
Lecture 02
TSE2451
Lecture 02
13
TSE2451
14
Lecture 02
TSE2451
Lecture 02
15
TSE2451
16
Lecture 02
TSE2451
Key Points
1. The requirements engineering process is a structured set of activities which lead to the
production of a requirements document.
2. Inputs to the requirements engineering process are information about existing systems,
stakeholder needs, organizational standards, regulations and domain information.
3. Requirements engineering processes vary radically from one organization to another. Most
processes include requirements elicitation, requirements analysis and negotiation and
requirements validation.
4. Requirements engineering process models are simplified process description which are
presented from a particular perspective.
5. Human, social and organizational factors are important influences on requirements
engineering processes.
6. Requirements engineering process improvement is difficult and is best tackled in an
incremental way.
7. Requirements engineering processes can be classified according to their degree of maturity.
Lecture 02
17
TSE2451
Making an omelette:
Prepare the ingredients/tools and draft the expectation of the omelette (taste, look, shape, etc)
Follow the listed steps or recipe
Try the taste of the omelette
Omele
18
Tutorial 02
TSE2451
Output:
Step 7: Software installed and work as expected.
Step 8: Test software by Giving input process
output.
3. Explain why the waterfall model of the software process is not an accurate reflection of the
detailed software processes in most organizations. Why is a spiral model more realistic?
The waterfall model is not an accurate reflection because it does not allow for mistakes and
the redo-ing of each activity. Most organizations have to go back to the previous activity to
undo a mistake several times when developing software. A spiral model would be more
realistic because all activities can be re-iterated several times.
Tutorial 02
19
TSE2451
2. Elicitation activities
Application domain understanding
Application domain knowledge is knowledge of the general area where the system is
applied.
Problem understanding
The details of the specific customer problem where the system will be applied must
be understood.
Business understanding
You must understand how systems interact and contribute to overall business goals.
Understanding the needs and constraints of system stakeholders
You must understand, in detail, the specific needs of people who require system
support in their work.
20
Lecture 03
TSE2451
5. Elicitation stages
Objective setting
The organizational objectives should be established including general goals of the
business, an outline description of the problem to be solved, why the system is
necessary and the constraints on the system.
Background knowledge acquisition
Background information about the system includes information about the
organization where the system is to be installed, the application domain of the system
and information about existing systems
Knowledge organization
The large amount of knowledge which has been collected in the previous stage must
be organized and collated.
Stakeholder requirements collection
System stakeholders are consulted to discover their requirements.
Lecture 03
21
TSE2451
7. Analysis checks
Necessity checking
The need for the requirement is analysed. In some cases, requirements may be
proposed which dont contribute to the business goals of the organisation or to the
specific problem to be addressed by the system.
Consistency and completeness checking
The requirements are cross-checked for consistency and completeness. Consistency
means that no requirements should be contradictory; completeness means that no
services or constraints which are needed have been missed out.
Feasibility checking
The requirements are checked to ensure that they are feasible in the context of the
budget and schedule available for the system development.
8. Requirements negotiation
Requirements discussion
Requirements which have been highlighted as problematical are discussed and the
stakeholders involved present their views about the requirements.
Requirements prioritization
Disputed requirements are prioritized to identify critical requirements and to help the
decision making process.
Requirements agreement
Solutions to the requirements problems are identified and a compromise set of
requirements are agreed. Generally, this will involve making changes to some of the
requirements.
22
Lecture 03
TSE2451
9. Elicitation techniques
Specific techniques which may be used to collect knowledge about system requirements
This knowledge must be structured
Partitioning - aggregating related knowledge
Abstraction - recognising generalities
Projection - organising according to perspective
Elicitation problems
Not enough time for elicitation
Inadequate preparation by engineers
Stakeholders are unconvinced of the need for a new system
10. Special elicitation techniques
Interviews
Scenarios
Soft systems methods
Observations and social analysis
Requirements reuse
11. Interviews
The requirements engineer or analyst discusses the system with different stakeholders and
builds up an understanding of their requirements.
Types of interview
Closed interviews. The requirements engineer looks for answers to a pre-defined set
of questions
Open interviews. There is no predefined agenda and the requirements engineer
discusses, in an open-ended way, what stakeholders want from the system.
Interviewing essentials
Interviewers must be open-minded and should not approach the interview with preconceived notions about what is required
Stakeholders must be given a starting point for discussion. This can be a question, a
requirements proposal or an existing system
Interviewers must be aware of organizational politics - many real requirements may
not be discussed because of their political implications
12. Scenarios
Scenarios are stories which explain how a system might be used. They should include
a description of the system state before entering the scenario
the normal flow of events in the scenario
exceptions to the normal flow of events
information about concurrent activities
a description of the system state at the end of the scenario
Scenarios are examples of interaction sessions which describe how a user interacts with a
system
Discovering scenarios exposes possible system interactions and reveals system facilities
which may be required
Lecture 03
23
TSE2451
24
Lecture 03
TSE2451
25
TSE2451
This viewpoint presents the work from a series of work activities with information
flowing from one activity to another.
20. Requirements reuse
Reuse involves taking the requirements which have been developed for one system and
using them in a different system
Requirements reuse saves time and effort as reused requirements have already been
analyzed and validated in other systems
Currently, requirements reuse is an informal process but more systematic reuse could lead
to larger cost savings
21. Reuse possibilities
Where the requirement is concerned with providing application domain information.
Where the requirement is concerned with the style of information presentation. Reuse
leads to a consistency of style across applications.
Where the requirement reflects company policies such as security policies.
22. Prototyping
A prototype is an initial version of a system which may be used for experimentation
Prototypes are valuable for requirements elicitation because users can experiment with
the system and point out its strengths and weaknesses. They have something concrete to
criticize
Rapid development of prototypes is essential so that they are available early in the
elicitation process
Prototyping benefits
The prototype allows users to experiment and discover what they really need to
support their work
Establishes feasibility and usefulness before high development costs are incurred
Essential for developing the look and feel of a user interface
Can be used for system testing and the development of documentation
Forces a detailed study of the requirements which reveals inconsistencies and
omissions
Types of prototyping
Throw-away prototyping
o intended to help elicit and develop the system requirements.
o The requirements which should be prototyped are those which cause most
difficulties to customers and which are the hardest to understand. Requirements
which are well-understood need not be implemented by the prototype.
Evolutionary prototyping
o intended to deliver a workable system quickly to the customer.
o Therefore, the requirements which should be supported by the initial versions of
this prototype are those which are well-understood and which can deliver useful
end-user functionality. It is only after extensive use that poorly understood
requirements should be implemented.
26
Lecture 03
TSE2451
Lecture 03
27
TSE2451
28
Lecture 03
TSE2451
Lecture 03
29
TSE2451
30
Tutorial 03
TSE2451
Tutorial 03
31
TSE2451
(2 marks)
Question 2
(a) Using examples to support your answer, explain why domain knowledge is important in the
requirements elicitation process.
(3 marks)
(b) Identify possible stakeholders in the following system:
(4 marks)
An information system for television schedulers which provides information about viewing
figures for all programmes produced by different TV stations as well as other information
about major events, such as football matches, which may affect programme scheduling.
(c) What is the critical distinction between throw-away and evolutionary prototyping? (4 marks)
(d) In checks of object models of a system, give examples of two problems which can be
discovered automatically by CASE tools and two problems which can only he discovered by
manual inspection.
(4 marks)
32
TSE2451
(Trimester 1, 2010/2011)
Question 1
(a) Briefly describe the FOUR elicitation stages.
(4 marks)
(b) Mention two advantages and disadvantages of using formal methods in requirements
engineering?
(4 marks)
(c) Explain in details TWO types of traceability.
(4 marks)
(d) Writing a user manual from the requirements forces a detailed requirements analysis. What
is information is most crucial to be included in the user manual?
(3 marks)
Question 2
(a) List the possible stakeholders for a library cataloguing system.
(6 marks)
(b) What factors are likely to be particularly significant when considering requirements
engineering process improvement?
(4 marks)
(c) Draw a role-action diagram to show the actors association with the different RAD for
software prototyping process activities.
(5 marks)
(Trimester 2, 2010/2011)
Question 1
(a) Briefly describe FOUR consequences when the requirements are wrong.
(4 marks)
(5 marks)
(c) What are the THREE types of traceability analysis? List down the processes supported for
each of the traceability analysis.
(6 marks)
33
TSE2451
(Trimester 1, 2011/2012)
Question 1
(a) Why is it sometimes necessary for requirements documents to include information about the
design of a system?
(4 marks)
(b) Identify the possible stakeholders for a hospital management system.
(5 marks)
(c) Systems integration is an important systems engineering activity. Suggest at least THREE
problems which might arise when subsystems from different suppliers are integrated.
(6
marks)
(Trimester 1, 2012/2013)
Question 2
(a) In the requirements interaction matrix below; 1 refers to conflict, 1000 refers to overlap, and
0 to independence.
(Total: 7 marks)
Requirement
R1
R2
R3
R4
R5
R6
R1
0
0
1000
0
1
1
R2
0
0
0
0
0
0
R3
1000
0
0
1000
0
1000
R4
0
0
1000
0
1
1
R5
1
0
0
1
0
0
R6
1
0
1000
1
0
0
(a1) Starting with the most-problematic and ending with the least-problematic, list down the
requirements R1, R2, R3, R4, R5, and R6 (explain the logic behind your answer).
(6
marks)
(a2)
What is the disadvantage of using the requirements interaction matrix?
(1 mark)
(b) Draw the role-action diagram to show the actors association with different RAD for
software prototyping process activities.
(5 marks)
(c) Differentiate between mutable, emergent and consequential requirements.
34
(3 marks)
TSE2451
(b) A video library intends to develop an interactive web-based video-on-demand system for its
customers. The service will allow its members to select and play video recordings of their
choice via the Internet. Identify three potential direct and two indirect viewpoints of the
system and their likely concerns or requirements.
(5 marks)
(c) List six possible stakeholders for the Siti Hasmah Digital Library library system at
Multimedia University.
(3 marks)
(d) Why are system requirements hard-to-test?
(1 mark)
(1 mark)
Question 4
(a) Write plausible scenarios for the following activities:
(a1)
Registering for a university or college course
(5 marks)
(a2)
Transferring funds from one account to another using an ATM
(5 marks)
(a3) Searching a library catalogue for books on the topic of requirements elicitation. If there
are no books with this title, you should extend your search to related areas.
(5 marks)
35
TSE2451
(Trimester 2, 2012/2013)
Question 2
(a) The figure below depicts the procedure of pre-review checking. Name the components
labeled E, F, G, H and I.
(5 marks)
(b) A video library intends to develop an interactive web-based video-on-demand system for its
customers. The service will allow its members to select and play video recordings of their
choice via the Internet. Identify three potential direct and two indirect viewpoints of the
system and their likely concerns or requirements.
(5 marks)
(c) List six possible stakeholders for the Siti Hasmah Digital Library library system at
Multimedia University.
(3 marks)
(d) Why are system requirements hard-to-test?
(1 mark)
(1 mark)
36
TSE2451
Question 4
(a) A Library Scenario-document ordering can be summarized in the following sequence of
events:
Draw a diagram to represent the sequence of events along with possible respective
exceptions.
(5 marks)
(b) In the requirements interaction matrix below; 1 refers to conflict, 1000 refers to overlap, and
0 to independence.
(8 marks)
Requirement
R1
R2
R3
R4
R5
R6
R1
0
0
1000
0
1
1
R2
0
0
0
0
0
0
R3
1000
0
0
1000
0
1000
R4
0
0
1000
0
1
1
R5
1
0
0
1
0
0
R6
1
0
1000
1
0
0
Starting with the most-problematic and ending with the least-problematic, list down the
requirements R1, R2, R3, R4, R5, and R6 (explain the logic behind your answer).
(c) Differentiate between mutable and emergent and requirements.
(2 marks)
37