W5-Lecture 9&10 - Requirement Engineering Process & Discovery Techniques
W5-Lecture 9&10 - Requirement Engineering Process & Discovery Techniques
W5-Lecture 9&10 - Requirement Engineering Process & Discovery Techniques
Concepts
Lecture 9&10
Requirements Engineering Process &
Discovery Techniques
04/30/2024 CSC291 - Software Engineering Concepts 2
Outline
• Feasibility studies
• Requirements elicitation and analysis
• Requirements validation
• Requirements management
04/30/2024 CSC291 - Software Engineering Concepts 3
Requirements Engineering
Feasibility Requirements
report validation
System
models
Requirements
document
04/30/2024 CSC291 - Software Engineering Concepts 6
• Requirements Elicitation
• Requirements Analysis
• Requirements Validation
• Requirements Management
04/30/2024 CSC291 - Software Engineering Concepts 7
Feasibility Study
• A feasibility study decides whether or not the proposed system
is worth implementing.
Requirements documentation(Specification)
• Requirements are documented.
04/30/2024 CSC291 - Software Engineering Concepts 10
Requirements Discovery
Effective Interviewers
• Interviewers should be open-minded.
a question or a proposal.
04/30/2024 CSC291 - Software Engineering Concepts 15
User Stories
• User stories are commonly used in adaptive or agile methodologies
• A typical user story has the form: “As a <role>, I want <goal/desire>
so that <benefit>.”
Example
Downloading and printing an article
First, you select the article that you want from a displayed list. You
then have to tell the system how you will pay for it - this can either
be through a subscription, through a company account or by credit
card.
After this, you get a copyright form from the system to fill in and,
when you have submitted this, the article you want is downloaded
onto your computer.
You then choose a printer and a copy of the article is printed. You
tell the system if printing has been successful.
If the article is a print-only article, you canÕ t keep the PDF version
so it is automatically deleted from your computer .
04/30/2024 CSC291 - Software Engineering Concepts 17
Scenarios
• People usually find it easier to relate to real-life examples
Scenarios
LIBSYS 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.
04/30/2024 CSC291 - Software Engineering Concepts 20
LIBSYS Scenario
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.
Other activities: Simultaneous downloads of other articles.
System state on completion: User is logged on. The downloaded article has been deleted
from LIBSYS workspace if it has been flagged as print-only.
04/30/2024 CSC291 - Software Engineering Concepts 21
Use Cases
• Use-cases are a scenario based technique for
requirement elicitation
Article search
Example
• Consider a system which allows senior management to
access information without going through middle
managers
• Managerial status. Senior managers may feel that they are too
important to use a keyboard. This may limit the type of system
interface used
• Managerial responsibilities. Managers may have no uninterrupted
time where they can learn to use the system
• Organisational resistance. Middle managers who will be made
redundant may deliberately provide misleading or incomplete
information so that the system will fail
04/30/2024 CSC291 - Software Engineering Concepts 25
Ethnography
Requirements Validation
Requirements Checking
Checks include
• Requirements reviews:
• Systematic manual analysis of the requirements(by a team of
reviewers) who check for error and inconsistencies.
• Prototyping:
• Using an executable model of the system to check
requirements.
• Test-case generation:
• Developing tests for requirements to check testability.
04/30/2024 CSC291 - Software Engineering Concepts 29
Requirements Management
Requirements Evolution
Initial Changed
understanding understanding
of problem of prob lem
Initial Changed
requirements requirements
Time
04/30/2024 CSC291 - Software Engineering Concepts 31
Change Management
Identified Revised
problem Problem analysis and Change analysis Change requirements
change specification and costing implementation
04/30/2024 CSC291 - Software Engineering Concepts 34
Key Points
Key Points
Chapter Reading
Chapter 4, Requirement Engineering,
Software Engineering by Ian Sommerville
Chapter 5: Understanding Requirement
by “Software Engineering- A Practitioner's Approach”
(Book and Lecture Slides are already uploaded on resource
link.)
Resource Link:
https://sites.google.com/cuilahore.edu.pk/sec