Beruflich Dokumente
Kultur Dokumente
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide1
Objectives
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide2
Topics covered
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide3
Requirements engineering
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide4
What is a requirement?
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide5
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide6
Types of requirement
User requirements
System requirements
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide7
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide8
Requirements readers
User
requirements
Client mana
gers
System end-users
Client eng
ineers
Contractor mana
gers
System ar
chitects
System
requirements
System end-users
Client eng
ineers
System ar
chitects
Software developers
Software design
specifi ca
tion
IanSommerville2004
Client eng
ineers (perha
ps)
System ar
chitects
Software developers
SoftwareEngineering,7thedition.Chapter6
Slide9
Functional requirements
Non-functional requirements
Domain requirements
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide10
Functional requirements
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide11
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide12
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide13
Requirements imprecision
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide14
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide15
Non-functional requirements
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide16
Non-functional classifications
Product requirements
Organisational requirements
External requirements
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide17
Product
requirements
Efficiency
requirements
Reliability
requirements
Usability
requirements
Performance
requirements
IanSommerville2004
Organisational
requirements
Portability
requirements
Delivery
requirements
External
requirements
Interoperability
requirements
Implementation
requirements
Ethical
requirements
Standards
requirements
Space
requirements
Pri vacy
requirements
SoftwareEngineering,7thedition.Chapter6
Legislative
requirements
Safety
requirements
Slide18
Product requirement
8.1 The user interface for LIBSYS shall be implemented as simple HTML
without frames or Java applets.
Organisational requirement
9.3.2 The system development process and deliverable documents shall
conform to the process and deliverables defined in XYZCo-SPSTAN-95.
External requirement
7.6.5 The system shall not disclose any personal information about
customers apart from their name and reference number to the
operators of the system.
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide19
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide20
Examples
A system goal
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide21
Requirements measures
Property
Measure
Speed
Processed transactions/second
User/Event response time
Screen refresh time
Size
M Bytes
Number of ROM chips
Ease of use
Training time
Number of help frames
Reliability
Robustness
Portability
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide22
Domain requirements
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide23
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide24
Understandability
Implicitness
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide25
User requirements
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide26
Lack of clarity
Requirements confusion
Requirements amalgamation
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide27
LIBSYS requirement
4..5LIBSYSshallprovideafinancialaccountingsystem
thatmaintainsrecordsofallpaymentsmadebyusersof
thesystem.Systemmanagersmayconfigurethissystem
sothatregularusersmayreceivediscountedrates.
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide28
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide29
System requirements
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide30
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide31
Ambiguity
Over-flexibility
Lack of modularisation
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide32
Alternatives to NL specification
Notation
Description
Structured natural
language
Design
description
languages
This approach uses a language like a programming language but with more abstract
features to specify the requirements by defining an operational model of the system.
This approach is not now widely used although it can be useful for interface
specifications.
Graphical
notations
Mathematical
specifications
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide33
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide34
Form-based specifications
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide35
Action: CompDose is zero if the sugar level is stable or falling or if the level is increasing but the rate of
increase is decreasing. If the level is increasing and the rate of increase is increasing, then CompDose is
computed by dividing the difference between the current sugar level and the previous level by 4 and
rounding the result. If the result, is rounded to zero then CompDose is set to the minimum dose that can
be delivered.
Requires
Two previous readings so that the rate of change of sugar level can be computed.
Pre-condition
The insulin reservoir contains at least the maximum allowed single dose of insulin..
Post-condition
Side-effects
None
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide36
Tabular specification
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide37
Tabular specification
Condition
Action
CompDose = 0
CompDose = 0
CompDose = 0
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide38
Graphical models
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide39
Sequence diagrams
Validate card;
Handle request;
Complete transaction.
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide40
Database
Card number
Card OK
PIN
Validate card
Option menu
<<exception>>
invalid card
Withdraw request
Amount request
Balance request
Balance
Handle request
Amount
Debit (amount)
<<exception>>
insufficient cash
Debit response
Card
Card removed
Cash
Complete
transaction
Cash removed
Receipt
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide41
Interface specification
Procedural interfaces;
Data structures that are exchanged;
Data representations.
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide42
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide43
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide44
IanSommerville2004
System
customers
Managers
System
engineers
System test
engineers
System
maintenance
engineers
SoftwareEngineering,7thedition.Chapter6
Slide45
Introduction.
General description.
Specific requirements.
Appendices.
Index.
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide46
Preface
Introduction
Glossary
User requirements definition
System architecture
System requirements specification
System models
System evolution
Appendices
Index
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide47
Key points
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide48
Key points
IanSommerville2004
SoftwareEngineering,7thedition.Chapter6
Slide49