Mirpur University of Science and Technology (Must), Mirpur Department Computer Science Information Technology
Mirpur University of Science and Technology (Must), Mirpur Department Computer Science Information Technology
Samreen Ayaz
LECTURE CONTENTS
➢Feasibility studies
➢Requirements validation
➢Requirements management
Software Engineering-I 4
Requirements engineering processes
Software Engineering-I 5
The requirements engineering process
Software Engineering-I 6
Requirements engineering
Requ irements
s pecification
Sys tem requ irements
s pecification an d
mod elin g
Us er req uiremen ts
s pecification
Sys tem
Feas ib ility
req uiremen ts Us er
elicitatio n s tu dy
req uiremen ts
elicitatio n
Pro to ty pin g
Requ irements
elicitatio n Requ irements
Reviews
valid ation
Software Engineering-I 7
Feasibility studies
Software Engineering-I 8
Feasibility studies
Technical Feasibility
Operational Feasibility
Economic Feasibility
Software Engineering-I 9
Feasibility study implementation
Software Engineering-I 10
Elicitation and analysis
Software Engineering-I 11
Problems of requirements analysis
Software Engineering-I 12
The requirements spiral
Software Engineering-I 13
Process activities
• Requirements discovery
Interacting with stakeholders to discover their requirements.
Domain requirements are also discovered at this stage.
• Requirements classification and organisation
Groups related requirements and organises them into coherent
clusters.
• Prioritisation and negotiation
Prioritising requirements and resolving requirements conflicts.
• Requirements documentation
Requirements are documented and input into the next round of
the spiral.
Software Engineering-I 14
Requirements discovery
Software Engineering-I 15
ATM stakeholders
• Bank customers
• Representatives of other banks
• Bank managers
• Counter staff
• Database administrators
• Security managers
• Marketing department
• Hardware and software maintenance engineers
• Banking regulators
Software Engineering-I 16
Viewpoints
Software Engineering-I 17
Types of viewpoint
• Interactor viewpoints
People or other systems that interact directly with the system. In
an ATM, the customer’s and the account database are interactor
VPs.
• Indirect viewpoints
Stakeholders who do not use the system themselves but who
influence the requirements. In an ATM, management and security
staff are indirect viewpoints.
• Domain viewpoints
Domain characteristics and constraints that influence the
requirements. In an ATM, an example would be standards for
inter-bank communications.
Software Engineering-I 18
Viewpoint identification
All VPs
Sys tem
Stu dents Staff External Catalo gu ers
managers
Software Engineering-I 20
Interviewing
Software Engineering-I 21
Interviews in practice
Software Engineering-I 22
Effective interviewers
Software Engineering-I 23
REQUIREMENTS ANALYSIS
• Requirements analysis
• Specifies Software’s Operational Characteristics
• Indicates Software's Interface With Other System Elements
• Establishes constraints that software must meet
• Requirements analysis allows the software engineer (called an analyst
or modeler) to:
• Elaborate On Basic Requirements Established During Earlier Requirement
Engineering Tasks
• Build models that depict user scenarios, functional activities, problem classes and
their relationships, system and class behavior, and the flow of data as it is
transformed.
Software Engineering-I 24
A BRIDGE
system
d escrip tio n
an alysis
model
d esig n
mo del
Software Engineering-I 25
ELEMENTS OF REQUIREMENTS ANALYSIS:
DIFFERENT VIEWPOINTS
Software Engineering-I 26
SCENARIO-BASED MODELING
Software Engineering-I 27
Use cases
Use-cases are a scenario based technique in the UML which identify the
actors in an interaction and which describe the interaction itself.
A set of use cases should describe all possible interactions with the
system.
Sequence diagrams may be used to add detail to use-cases by showing
the sequence of event processing in the system.
Software Engineering-I 28
Scenarios
Software Engineering-I 29
WHAT TO WRITE ABOUT?
• Inception and elicitation—provide you with the information you’ll need to begin
writing use cases.
• To begin developing a set of use cases, list the functions or activities performed
by a specific actor.
Software Engineering-I 30
HOW MUCH TO WRITE ABOUT?
• If more formality is required, the same use case is rewritten using a structured
format similar to the one proposed.
Software Engineering-I 31
USE-CASE DESCRIPTION – HIGH LEVEL
DESCRIPTIONS
Description:
When a customer comes into the shop they choose a bike to hire. The
Receptionist looks up the bike on the system and tells the customer how much it
will cost to hire for a specified period. The customer pays, is issued with
a receipt, then leaves with the bike.
Software Engineering-I 32
USE-CASE DIAGRAM
Use case : Issue bike
Actors: Receptionist
Goal: To hire out a bike
Overview:
When a customer comes into the shop they choose a bike to hire. The receptionist looks up the bike on the system and tells the customer how much it will cost to hire
the bike for a specified period. The customer pays, is issued with a receipt, then leaves with the bike.
Cross reference R3, R4, R5, R6, R7, R8, R9, R10
Typical course of events
Actor action System response
Alternative courses
Steps 8 and 9. The customer details are already in the system so the Receptionist needs only to key in an identifier and the system will display the customer details.
Steps 7 – 12. The customer may not be happy with the price and may terminate the transaction.
Software Engineering-I 33
DEVELOPING A USE-CASE
• What are the main tasks or functions that are performed by the actor?
• What system information will the the actor acquire, produce or change?
• Will the actor have to inform the system about changes in the external
environment?
• What information does the actor desire from the system?
• Does the actor wish to be informed about unexpected changes?
Software Engineering-I 34
PRIMILINARY USE-CASE DIAGRAMS FOR
SAFEHOME
S af e H o m e
Access camera
s u r v e i l l a n c e via th e cameras
In t e r n e t
C o n f i g u r e Saf e H o m e
syst e m p a r a m e t e r s
hom eowner
Set alarm
select e d
input t r ies r e m ain
selec t sur v eillanc e
s e l e c t s p e c if i c
selec t c a m e r a ic o n
c a m e r a - t humbnails
prompt f or
anot her v iew
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 ei ther
provide subscriber information for the journal or to indicate how they will pay for the article . Alte rnative
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 c hecked and, if OK, the PDF version of the artic le is downloaded to the LIBSYS
working area on the userÕscomputer and the user is informed that it is available. The user is asked to selec t
a pr inter and a copy of the article is printed. If the article has been flagged as Ôprint-onlyÕit i s deleted from
the userÕs system o nce the user has confirmed that printing is complete.
Software Engineering-I 37
LIBSYS scenario (2)
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 s till incorrect then the userÕsrequest
for the article is rejec ted.
The payment may be rejected by the system. The userÕs er quest 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 artic le is deleted and the userÕs account credited with the cost of the
article .
Other activities: Simultaneous downloads of other article s.
System state on completion: User is logged on. The downloaded article has been dele ted from LIBSYS
workspace if it has been flagged as print-only.
Software Engineering-I 38
Article printing use-case
Software Engineering-I 39
LIBSYS use cases
Software Engineering-I 40
Article printing
Software Engineering-I 41
Print article sequence
Software Engineering-I 42
Social and organisational factors
Software Engineering-I 43
Ethnography
Software Engineering-I 44
Focused ethnography
Software Engineering-I 45
Ethnography and prototyping
Software Engineering-I 46
Scope of ethnography
Software Engineering-I 47
Requirements validation
Software Engineering-I 48
Requirements checking
Software Engineering-I 49
Requirements validation techniques
• Requirements reviews
Systematic manual analysis of the requirements.
• Prototyping
Using an executable model of the system to check requirements.
• Test-case generation
Developing tests for requirements to check testability.
Software Engineering-I 50
Requirements reviews
Software Engineering-I 51
Review checks
Software Engineering-I 52
Requirements management
Software Engineering-I 53
Requirements change
Software Engineering-I 54
Requirements evolution
Software Engineering-I 55
Enduring and volatile requirements
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 collec ted.
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 comm issioned
or delivered system may also have to evolve.
Software Engineering-I 57
Requirements management planning
Software Engineering-I 58
Traceability
Software Engineering-I 59
A traceability matrix
Software Engineering-I 60
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.
Software Engineering-I 61
Requirements change management
Software Engineering-I 62
Change management
Software Engineering-I 63
Key points
Software Engineering-I 64
Key points
Software Engineering-I 65
REFERENCE
Software Engineering-I 66
THANKS