Week 02 - Requirements Engineering and Prototyping
Week 02 - Requirements Engineering and Prototyping
and Requirements
Engineering
System Analysis And Design- Session 02
Aim…
• Requirements elicitation
• Requirements analysis
• Requirements validation
• Requirements documentation
• Requirements management
• Prototyping
• Characteristics of Good Information
Requirements engineering
A process of
What is meant requirements:
• Elicitation
by requirements • Analysis
engineering? • Validation
• Documentation
• Management
Requirements engineering activities
Requirements documentation
Requirements management
5
Sources of requirements
The Stakeholders
Where do • Sponsors
• Managers
requirements • End users
come from? • SME
• The project team
• Legacy applications
• Documents
• Competition
Requirement gathering techniques
Elicitation techniques
Requirements • Workshops
• Interviews
gathering • Observation
techniques • Questionnaires
• Scenarios
• Prototyping
• Document analysis
Workshops
• A structured meeting in which a group of appropriately
knowledgeable and motivated people are moderated by
an impartial facilitator to achieve an agreed objective
• Advantages
• Fast (?)
• Stakeholders involved and committed – feel ownership
• Developers and stakeholders understand each other
• Simple method of resolving issues/options
• More creative solutions are produced
• Disadvantages
• Hard to schedule
• Group dynamics need careful managing
• Hidden agendas
8
Interviews
9
Observation
• Advantages:
• We can get a good understanding of the processes,
problems, politics etc.
• Helps devise workable, acceptable solutions
• Disadvantages:
• Can feel like ‘Big Brother’ – unsettles the observed
• Your presence may impact the process
10
Types of observation
• Formal observation
• Watching specified tasks
• Staff are prepared
• May see only what they want you to see
• Informal observation
• No staff preparation
• May not see all required tasks being performed
• Shadowing
• Following a user for period of time
• May include protocol analysis
• Good for uncovering tacit knowledge
11
Questionnaires
• Good way to get information from a wide range of viewpoints
• Advantages
• Can reach a large audience, even if geographically separated
• Can uncover common problems
• Can determine attitudes
• Disadvantages
• People don’t like questionnaires
• They must be kept small and focused
• It takes skill to formulate the questions
Scenarios
13
Document analysis
14
Prototyping
• Advantages
• Helps the user to really determine the requirements
• Especially user interface, performance, navigation paths
• Validates requirements
• Reduces risk of “getting it wrong”
• Disadvantages
• Can run out of control
• Can raise unrealistic expectations
• Can lead user to overestimate progress
15
Requirements engineering activities: Analysis
Requirements documentation
Requirements management
16
Analysis in context
17
Types of requirements
Requirements
Business Solution
General Functional
Non-
Technical
functional
18
Business: general requirements
Business continuity
• Coping with disaster
19
Business: technical requirements
Hardware Software
• IT and other hardware • Operating systems, package
applications, networking,
communications etc.
Interoperability Internet
• Standards for communicating • Policies on Internet use and
between systems and devices web services
20
Requirement Redefined
• A specification of want or need that an eventual application solution
should satisfy.
• Functional requirements (FR):
• Specify what the product must do,
• What actions it must take, in order to satisfy the product’s goals, as
defined by the stakeholders
• They relate to some form of data/information manipulation
W
Non-functional Solutions?
Requirements?
How many
HA
How fast
Who
WhenT Functional
Requirements?
Solution: functional requirements
23
Solution: functional requirements
24
Solution: non-functional requirements
• Define HOW WELL the functional requirements will be provided
• Must be implementable and testable
• Major factors in the cost of the product
25
Solution: non-functional requirements
Performance Security Access
• Speed of processing • Security levels for • Permissions, who has
transactions protection of data access to which
functionality and how
26
FURPS
FURPS is an acronym representing a model for classifying software quality
attributes (functional and non-functional requirements):
• Functionality - Capability (Size & Generality of Feature Set), Reusability
(Compatibility, Interoperability, Portability), Security (Safety &
Exploitability)
• Usability (UX) - Human Factors, Aesthetics, Consistency, Documentation,
Responsiveness
• Reliability - Availability (Failure Frequency
(Robustness/Durability/Resilience), Failure Extent & Time-Length
(Recoverability/Survivability)), Predictability (Stability), Accuracy
(Frequency/Severity of Error)
• Performance - Speed, Efficiency, Resource Consumption (power, ram,
cache, etc.), Throughput, Capacity, Scalability
• Supportability (Serviceability, Maintainability, Sustainability, Repair
Speed) - Testability, Flexibility (Modifiability, Configurability, Adaptability,
Extensibility, Modularity), Installability, Localizability
27
Requirements Hierarchies
• Requirements are often associated hierarchically
• A functional requirement (FR) may have non-functional requirements
(NFR) specific to it
• E.g. Reprint the report on demand
• A non-functional requirement could lead to the need for functionality
• E.g. Access control leads to functionality for
• Identification of the user
• Authentication of the user
Prioritising requirements (MoSCoW)
• It is important to prioritise requirements:
• It allows the staging of requirement implementation
• It enables the management of user expectations
29
Requirements engineering activities: Validation
Requirements documentation
Requirements management
• The majority of errors are made in the analysis stage of the project
• After the requirements catalogue has been analysed and negotiated, it
MUST be validated and signed off by the senior stakeholders
• A forum for requirements validation is a formal review
• A peer group or stakeholder group review for the purposes of finding
deficiencies in the requirements
31
Review responsibilities
• Requirements engineer (the author):
• Liaise with the moderator prior to the review
• Provide necessary documentation for distribution
• Walkthrough the requirements
• Moderator:
• Is independent of the requirements engineering process
• Selects time and place acceptable to all
• Ensures that reviewers can/will attend
• Distributes the documentation
• Enforces the rules
• Ensures that the review runs smoothly and efficiently
• Reviewers:
• Work hard to ensure defects are found
32
Role of moderator in the review
33
What we covered …
Requirements Engineering activities
Exercises