Professional Documents
Culture Documents
©IS&JCH050207 Software Engineering, Chapter 6 Slide 0 of 55 ©IS&JCH050207 Software Engineering, Chapter 6 Slide 1 of 55
Requirements
document
©IS&JCH050207 Software Engineering, Chapter 6 Slide 2 of 55 ©IS&JCH050207 Software Engineering, Chapter 6 Slide 3 of 55
©IS&JCH050207 Software Engineering, Chapter 6 Slide 4 of 55 ©IS&JCH050207 Software Engineering, Chapter 6 Slide 5 of 55
Problems of requirements analysis Elicitation and analysis activities
● Stakeholders don’t know what they really want. ● Domain understanding
● Stakeholders express requirements in their own terms. ● Requirements collection
● Stakeholders may have conflicting requirements. ● Classification
● Organizational and political factors may influence the ● Conflict resolution
system requirements. ● Prioritization
● The requirements may change during the analysis ● Requirements checking
process due to emergence of new stakeholders or
change in business environment.
©IS&JCH050207 Software Engineering, Chapter 6 Slide 6 of 55 ©IS&JCH050207 Software Engineering, Chapter 6 Slide 7 of 55
Requirements Conflict
collection resolution
Classification
©IS&JCH050207 Software Engineering, Chapter 6 Slide 8 of 55 ©IS&JCH050207 Software Engineering, Chapter 6 Slide 9 of 55
©IS&JCH050207 Software Engineering, Chapter 6 Slide 10 of 55 ©IS&JCH050207 Software Engineering, Chapter 6 Slide 11 of 55
Types of viewpoint External viewpoints
● Data sources or sinks ● Viewpoints are a natural way to structure
Viewpoints are responsible for producing or consuming data. requirements elicitation process
Analysis involves checking that data is produced and consumed and
that assumptions about the source and sink of data are valid. ● It is relatively easy to decide if a viewpoint is
● Representation frameworks valid
Viewpoints represent particular types of system model. These may be ● Viewpoints and services may be used to structure
compared to discover requirements that would be missed using a non-functional requirements
single representation. Particularly suitable for real-time systems.
● Receivers of services
Viewpoints are external to the system and receive services from it.
Most suited to interactive systems.
©IS&JCH050207 Software Engineering, Chapter 6 Slide 12 of 55 ©IS&JCH050207 Software Engineering, Chapter 6 Slide 13 of 55
©IS&JCH050207 Software Engineering, Chapter 6 Slide 14 of 55 ©IS&JCH050207 Software Engineering, Chapter 6 Slide 15 of 55
©IS&JCH050207 Software Engineering, Chapter 6 Slide 16 of 55 ©IS&JCH050207 Software Engineering, Chapter 6 Slide 17 of 55
Viewpoint identification Viewpoint service information
Query Get Customer Cash Transaction
balance transactions database withdrawal log
ACCOUNT FOREIGN BANK
HOLDER CUSTOMER TELLER
Manager Card Remote
Machine returning Order
software Service list Service list Service list
supplies cheques
upgrade
Account Message Software
information log size Withdraw cash Withdraw cash Run diagnostics
Bank Invalid
User teller user Query balance Query balance Add cash
interface System cost Foreign
customer Printe Order cheques Add paper
r Security Send message Send message
Account Stolen Order Hardware Transaction list
card statement Card
holder maintenance retention Order statement
Message
passing Transfer funds
Remote Update Funds Card
Reliability account transfer
diagnostics validation
©IS&JCH050207 Software Engineering, Chapter 6 Slide 18 of 55 ©IS&JCH050207 Software Engineering, Chapter 6 Slide 19 of 55
ACCOUNT Services
HOLDER Control input Data input Query balance
Withdraw cash Customer Bank staff
Start transaction Card details
Cancel transaction PIN
End transaction Amount required
Account Foreign
Select service Message Services
holder customer
Teller Manager Engineer
Order cheques
Send message
Transaction list
Order statement
Transfer funds
©IS&JCH050207 Software Engineering, Chapter 6 Slide 20 of 55 ©IS&JCH050207 Software Engineering, Chapter 6 Slide 21 of 55
©IS&JCH050207 Software Engineering, Chapter 6 Slide 22 of 55 ©IS&JCH050207 Software Engineering, Chapter 6 Slide 23 of 55
Scenario descriptions Event scenarios
● System state at the beginning of the scenario ● Event scenarios may be used to describe how a
● Normal flow of events in the scenario system responds to the occurrence of some
● What can go wrong and how this is handled particular event such as ‘start transaction’
● Other concurrent activities ● VORD includes a diagrammatic convention for
event scenarios.
● System state on completion of the scenario • Data provided and delivered
• Control information
• Exception processing
• The next expected event
©IS&JCH050207 Software Engineering, Chapter 6 Slide 24 of 55 ©IS&JCH050207 Software Engineering, Chapter 6 Slide 25 of 55
Event scenario - start transaction Notation for data and control analysis
Card present
Return card Incorrect PIN ● Data leaves from the right of each box
Re-enter PIN ● Exceptions are shown at the bottom of each box
Invalid card
Retain card
©IS&JCH050207 Software Engineering, Chapter 6 Slide 26 of 55 ©IS&JCH050207 Software Engineering, Chapter 6 Slide 27 of 55
©IS&JCH050207 Software Engineering, Chapter 6 Slide 28 of 55 ©IS&JCH050207 Software Engineering, Chapter 6 Slide 29 of 55
Lending use-case Library use-cases
Lending services
Library
User
User administration
Library
Lending services Staff
©IS&JCH050207 Software Engineering, Chapter 6 Slide 30 of 55 ©IS&JCH050207 Software Engineering, Chapter 6 Slide 31 of 55
©IS&JCH050207 Software Engineering, Chapter 6 Slide 32 of 55 ©IS&JCH050207 Software Engineering, Chapter 6 Slide 33 of 55
©IS&JCH050207 Software Engineering, Chapter 6 Slide 34 of 55 ©IS&JCH050207 Software Engineering, Chapter 6 Slide 35 of 55
Ethnography and prototyping Scope of ethnography
● Requirements that are derived from the way that
people actually work rather than the way in which
Ethnographic Debriefing Focused process definitions suggest that they ought to
analysis meetings ethnography
work
Prototype
evaluation ● Requirements that are derived from cooperation
Generic system System and awareness of other people’s activities
development protoyping
©IS&JCH050207 Software Engineering, Chapter 6 Slide 36 of 55 ©IS&JCH050207 Software Engineering, Chapter 6 Slide 37 of 55
©IS&JCH050207 Software Engineering, Chapter 6 Slide 38 of 55 ©IS&JCH050207 Software Engineering, Chapter 6 Slide 39 of 55
©IS&JCH050207 Software Engineering, Chapter 6 Slide 40 of 55 ©IS&JCH050207 Software Engineering, Chapter 6 Slide 41 of 55
Review checks Automated consistency checking
● Verifiability. Is the requirement realistically
Requirements Requirements
testable? in a formal language problem report
● Comprehensibility. Is the requirement properly
understood?
Requirements Requirements
● Traceability. Is the origin of the requirement processor analyser
clearly stated?
● Adaptability. Can the requirement be changed Requirements
database
without a large impact on other requirements?
©IS&JCH050207 Software Engineering, Chapter 6 Slide 42 of 55 ©IS&JCH050207 Software Engineering, Chapter 6 Slide 43 of 55
©IS&JCH050207 Software Engineering, Chapter 6 Slide 44 of 55 ©IS&JCH050207 Software Engineering, Chapter 6 Slide 45 of 55
©IS&JCH050207 Software Engineering, Chapter 6 Slide 46 of 55 ©IS&JCH050207 Software Engineering, Chapter 6 Slide 47 of 55
Requirements management planning Traceability
Plan for: Three types of traceability information may be maintained:
● Requirements identification: How requirements are ● Source traceability
individually identified? • Links from requirements to stakeholders who proposed these
● A change management process: How to assess the requirements
impact and cost of changes? ● Requirements traceability
● Traceability policies: What relationships among • Links between dependent requirements
requirements and system design need to be ● Design traceability
maintained? • Links from the requirements to the design
● CASE tool support
©IS&JCH050207 Software Engineering, Chapter 6 Slide 48 of 55 ©IS&JCH050207 Software Engineering, Chapter 6 Slide 49 of 55
©IS&JCH050207 Software Engineering, Chapter 6 Slide 50 of 55 ©IS&JCH050207 Software Engineering, Chapter 6 Slide 51 of 55
©IS&JCH050207 Software Engineering, Chapter 6 Slide 52 of 55 ©IS&JCH050207 Software Engineering, Chapter 6 Slide 53 of 55
Key points Key points (continued)
● The process includes a feasibility study, and elicitation, ● Social and organizational factors influence system
analysis, specification, and management of requirements.
requirements. ● Requirements validation is concerned with checks for
● Requirements analysis involves domain understanding, validity, consistency, completeness, realism and
and requirements collection, classification, structuring, verifiability.
prioritization, and validation. ● Business changes inevitably lead to changes in
● Each system have multiple stakeholders with different requirements.
requirements. ● Requirements management includes planning and
change management.
©IS&JCH050207 Software Engineering, Chapter 6 Slide 54 of 55 ©IS&JCH050207 Software Engineering, Chapter 6 Slide 55 of 55