Professional Documents
Culture Documents
1
Course Agenda
• De 201 / De Bridge Certification Scheme
• Course Scope
• ‘Software Requirements’ definition
• Need for Systematic Approach to Requirements Gathering
• Characteristics of Good Requirements
• Components of Software Requirements
• Activities in Requirements Engineering
• Requirements Engineering Framework
1-2
2
De 201 / De Bridge
1-3
3
In Scope Content
• Requirements Engineering
• Requirements Elicitation
• Requirements Management
• InFlux - Business Process Engineering (BPE)
• InFlux Workbench
1-4
4
Out of Scope Content
• Software Estimation
• InFlux UxD (User Experience Design)
• InFlux Architecture
1-5
5
Software Requirements Defined
• IEEE Standard Glossary of Software Engineering Terminology (1997)
1. A condition or capability needed by a user to solve a problem or achieve an
objective.
2. A condition or capability that must be met or possessed by a system or
system component to satisfy a contract, standard, specification, or other
formally imposed document.
3. A documented representation of a condition or capability as in 1 or 2.
1-6
6
Some Interpretations of “Requirements”
• The statement of needs by a user that triggers the development of a program or
system
1-7
7
Importance of Systematic Requirements
Cost of Repair
Inconsistency
Ambiguity [5%] [13%]
Omission [31%] Incorrect Facts [49%]
Misplaced Req [2%]
1-8
8
Distribution of Errors in Project Lifecycle
100
90
80
70
60 56
%
50
40
27
30
20
7 10
10
0
Requirements Design Code Test &
Maintain
1-9
9
Impact of Errors on Project Cost
$16,000 $14,102
$14,000
$12,000
$10,000 $7,136
$8,000
$6,000
$4,000
$455 $977
$2,000 $139
$0
Requirements Arch & Design Build Test & Implement Maintenance
1 - 10
10
Exercise
• If on an average just 20 requirements defects per project get passed on to
implementation phase how much would these errors cost for a company running 40
projects a year ?
1 - 11
11
Risks from Inadequate Requirements Process
• Insufficient user involvement leads to unacceptable products.
1 - 12
12
Importance of Requirements …
1 - 13
13
Characteristics of Good Requirements
• Complete
• Correct
• Consistent
• Unambiguous
• Concise
• Feasible
• Verifiable
• Prioritised
• Modifiable
• Traceable
• Agreed
1 - 14
14
Activity: Identify Good Requirements
• Data will be gathered at a maximum of daily in all cases with measures aggregated
on a daily weekly and/or monthly basis depending on the measure.
• The interface must be intuitive and easy to use.
• Customers are restricted to nominating the account number they are recharging.
No other number will be acceptable.
• CCAS Administrator shall have the ability to change user attributes via an admin
screen. User attributes to include (but not limited to) ……
• The DSS platform will keep customers’ data for one month.
1 - 15
15
Business versus Application centric thinking
Conventional IT Approaches Current business-IT initiatives
FOH Mobile
App
Application CC App
Bank 1
Fin App
BPay
Bank 2
Service
1 - 16
16
Limitations of Conventional Methods
• Not scalable for all initiatives
– Solution does not consider all stakeholders DFD, ER Model,
UI, Use case
• Sub-optimal solution - may not solve business problem Object Model ...
– Risk of applications not meeting the business need is
higher
– Incomplete identification of solution needs - risk of frequent
requirement changes
Application
• Difficult to elicit
– Users can articulate easily how they do their work, not
what they need from the applications
– Not suitable when users are not clear about requirements
1 - 17
17
Components of Requirements
• Technical
– Requirements to be met by a software while it works
– Types of technical requirements
• Functional
• Non-functional
• System Constraints
• Non-Technical
– Constraints that do not affect the software directly
• Schedule
• Cost
• Methodology etc.
1 - 18
18
Components of Software Requirements
Business Security
Requirements requirements
Performance
Business Req doc requirements Reliability
requirements
User UI
Information Requirements requirements
Requirements System
Requirements
Use-Case doc
System Non-functional
Constraints Software Requirements requirements
Specification
1 - 19
19
Functional Requirements
• Business domain
• Organization practice
• Extent of automation
1 - 20
20
Non-Functional Requirements
• Performance
• Availability , Reliability
• Usability / Configurability
• Operational scalability
• Design Constraints
• Support for maintenance, re-use , enhancement
• System Constraints
• Hardware / OS platforms or legacy applications
• …
1 - 21
21
Activity: Classify these requirements
• The Personal Assistant Device (PAD) shall only be sold to customer who has
mobile phone type 1020 or fixed phone service.
• Peak transaction volume(s): 20,000 calls in a busy hour, average duration of 20
secs, grade of service 99.98%.
• Mean time to failure (MTTF) : There should be no more than three “Severity 1”
outages per month.
• Access to the PAD Personal Address Book (PAB) from the web shall be via
abc.com using Single Sign-On.
• Service Deactivation for Non-Payment will remove the PAD product and result in all
access being removed from the customer.
1 - 22
22
Activity: Classify these requirements (contd.)
• Platform logs shall be kept for at least 12 months.
• Online web pages shall conform to the ABC company standards for branding and
usability.
• All ABC company Standards shall apply.
• Incremental daily backup shall be performed.
• Users shall be able to place calls quickly and easily by simply speaking a name and
phone type (ie mobile, home or other) or number (i.e. live dial) into the phone.
1 - 23
23
Requirements - Development & Management
Requirements
Engineering
Requirements Requirements
Development Management
1 - 24
24
Boundary between RD and RM
Analyze,
Document,
Review,
Negotiate
Requirements
Development
Baselined Requirements
Requirements
current Revised Management
baseline baseline
Marketing, Requirements
Customers, Requirement Change
Project Project
Management changes changes Environment
Process
1 - 25
25
De 201 / De Bridge (OOAD) - Framework
1 - 26
26
De 201 / De Bridge (SSAD) - Framework
1 - 27
27
Summary
• Objectives of the workshop – what we will cover, and what we will not
• Definition of requirements
• Importance of requirements in software development process
• Business versus Application centric thinking
• Characteristics of good requirements
• Components of software requirements – functional and non-functional
• Activities in Requirements Engineering - Requirements Development and
Requirements Management
• Requirements Engineering Framework
1 - 28
28