SlideShare a Scribd company logo
1 of 62
Fundamentals of RE
Chapter 2
Domain Understanding
& Requirements Elicitation
The scope of RE:
the WHY, WHAT, WHO dimensions
Objectives
WHY
a new system?
WHAT
services?
WHO
will be
responsible
for what ?
satisfy
assignment
requirements,
constraints,
assumptions
problems,
opportunities,
system knowledge
System-to-be
System-as-is
The WHY dimension
 Identify, analyze, refine the system-to-be’s objectives
– to address analyzed deficiencies of the system-as-is
– in alignment with business objectives
– taking advantage of technology opportunities
 Example: airport train control
“Serve more passengers”
“Reduce transfer time among terminals”
 Difficulties
– Acquire domain knowledge
– Evaluate alternative options (e.g. alternative ways of satisfying
the same objective)
– Match problems-opportunities, and evaluate these:
implications, associated risks
– Handle conflicting objectives
?
The WHAT dimension
 Identify & define the system-to-be’s functional services
(software services, associated manual procedures)
– to satisfy the identified objectives
– according to quality constraints: security, performance, ...
– based on realistic assumptions about the environment
 Example: airport train control
“Computation of safe train accelerations”
“Display of useful information for passengers inside trains”
 Difficulties
– Identify the right set of features
– Specify these precisely for understanding by all parties
– Ensure backward traceability to system objectives
?
The WHO dimension
 Assign responsibilities for the objectives, services, constraints
among system-to-be components
– based on their capabilities and on the system’s objectives
– yielding the software-environment boundary
 Example: airport train control
– “Safe train acceleration” ... under direct responsibility of
software-to-be (driverless option) or of driver following
software indications ?
– “Accurate estimation of train speed/position” ... under responsibility
of tracking system or of preceding train ?
 Difficulties
– Evaluate alternative options to decide on the right degree of
automation
?
Statements about the System
 Descriptive statements state system properties holding
regardless of how the system should behave (indicative mood)
– natural law, physical constraint, etc
– e.g. “If train doors are closed, they are not open”
“If the train’s acceleration is positive, its speed is non-null”
 Prescriptive statements state desirable properties holding or
not depending on how the system behaves (optative mood)
e.g. “Doors shall always remain closed when the train is moving”
 Important distinction for RE:
– prescriptive statements can be negotiated, weakened,
replaced by alternatives
– descriptive statements cannot
Statements may differ in scope
A RE statement may refer to phenomena ...
– owned by the environment
– or shared between the environment & the software-to-be:
one controls phenomena monitored by the other, and resp.
Types of statements:
system requirements, software requirements
 System requirement: prescriptive statement refering to
environment phenomena (not necessarily shared)
– to be enforced by the software-to-be possibly together
with other system components
– formulated in a vocabulary understandable by all parties
TrainMoving  DoorsClosed
 Software requirement: prescriptive statement refering to
shared phenomena
– to be enforced by the software-to-be solely
– formulated in the vocabulary of software developers
measuredSpeed  0  doorsState = 'closed’
(A software req is a system req; the converse is not true)
Types of statements:
domain properties, assumptions, definitions
 Domain property: descriptive statement about problem world
phenomena (holds regardless of any software-to-be)
trainAcceleration > 0  trainSpeed  0
 Assumption: statement to be satisfied by the environment of
the software-to-be
– formulated in terms of environment phenomena
– generally prescriptive (e.g. on sensors or actuators)
measuredSpeed  0 iff trainSpeed  0
 Definition: statement providing a precise meaning to system
concepts or auxiliary terms
– no truth value
“measuredSpeed is the speed estimated by the train’s speedometer”
measuredSpeed
I: input data
DoorsClosed
C: controlled variables
trainSpeed
doorsState
Environment
M: monitored variables
O: output results
SoftwareToBe
Output Devices (e.g. actuators)
Input Devices (e.g. sensors)
SysReq Í M ´ C relation on environment monitored/controlled variables
SofReq Í I ´ O relation on software input/output variables
SofReq = Map (SysReq, Dom, Asm)
translates SysReq using domain properties and assumptions
Relating software reqs to system reqs:
the 4-variable model [Parnas95]
Mapping system reqs to software reqs involves
satisfaction arguments
SOFREQ, ASM, DOM |= SysReq
“If the software requirements in SOFREQ, the assumptions in ASM
and the domain properties in DOM are all satisfied and consistent,
then the system requirements SysReq are satisfied”
SofReq: measuredSpeed  0  doorsState = 'closed’
ASM: measuredSpeed  0 iff trainSpeed  0
doorsState = 'closed’ iff DoorsClosed
Dom: TrainMoving iff trainSpeed  0
---------------------------------------------------------------------------
SysReq: TrainMoving  DoorsClosed
Further to requirements, we need to elicit, evaluate, document,
consolidate relevant assumptions & domain properties
The RE process (1)
start
domain understanding
& elicitation
alternative proposals
Domain understanding
 Studying the system-as-is
– Business organization: structure, dependencies, strategic
objectives, policies, workflows, operational procedures, ...
– Application domain: concepts, objectives, tasks, constraints,
regulations, ...
– Strengths & weaknesses of the system-as-is
 Identifying the system stakeholders:
– Groups or individuals affected by the system-to-be, who
may influence its elaboration and its acceptance
– Decision makers, managers, domain experts, users, clients,
subcontractors, analysts, developers, ...
Products: Initial sections for preliminary draft proposal
Glossary of terms
Requirements elicitation
Exploring the problem world ...
 Further analysis of problems with system-as-is: symptoms,
causes, consequences
 Analysis of technology opportunities, new market conditions
 Identification of ...
– improvement objectives
– organizational/technical constraints on system-to-be
– alternative options for satisfying objectives, for assigning
responsibilities
– scenarios of hypothetical software-environment interaction
– requirements on software, assumptions on environment
Product: Additional sections for preliminary draft proposal
The RE process (2)
start
domain understanding
& elicitation
evaluation
& agreement
alternative proposals
agreed
requirements
The RE process (3)
start
domain understanding
& elicitation
evaluation
& agreement
alternative proposals
agreed
requirements
documented requirements
specification
& documentation
Specification & documentation
 Precise definition of all features of the agreed system
– Objectives, concepts, relevant domain properties,
system/software requirements, assumptions, responsibilities
– Satisfaction arguments, rationale for options taken
– Likely system variants & evolutions
– Estimated costs
 Organization of these in a coherent structure
 Documentation in a form understandable by all parties
Resulting product: Requirements Document (RD)
The RE process (4)
start
domain understanding
& elicitation
evaluation
& agreement
alternative proposals
agreed
requirements
documented requirements
consolidated
requirements
specification
& documentation
validation
& verification
Requirements consolidation
 Quality assurance activity on RD ...
– Validation: adequacy of RD items wrt real needs ?
– Verification: omissions, inconsistencies ?
– Checks for other target qualities (discussed next)
– Fixing of errors & flaws
 Products: Consolidated RD
Acceptance test data, prototype
Development plan
Project contract
Target qualities for RE process
 Completeness of objectives, requirements, assumptions
 Consistency of RD items
 Adequacy of requirements, assumptions, domain props
 Unambiguity of RD items
 Measurability of requirements, assumptions
 Pertinence of requirements, assumptions
 Feasibility of requirements
 Comprehensibility of RD items
 Good structuring of the RD
 Modifiability of RD items
 Traceability of RD items
Types of RE errors & flaws: a wide palette
 Omission (critical error!)
 Contradiction (critical error!)
 Inadequacy (critical error!)
 Ambiguity (critical error!)
 Unmeasurability
 Noise, overspecification
 Unfeasibility (wishful thinking)
 Unintelligibility
 Poor structuring, forward reference, remorse
 Opacity
Errors in a requirements document (RD)
 Omission: problem world feature not stated by any RD item
e.g. no req about state of train doors in case of emergency stop
 Contradiction: RD items stating a problem world feature in an
incompatible way
“Doors must always be kept closed between platforms”
and “Doors must be opened in case of emergency stop”
 Inadequacy: RD item not adequately stating a problem world feature
“Panels inside trains shall display all flights served at next stop”
 Ambiguity: RD item allowing a problem world feature to be
interpreted in different ways
“Doors shall be open as soon as the train is stopped at platform”
 Unmeasurability: RD item stating a problem world feature in a way
precluding option comparison or solution testing
“Panels inside trains shall be user-friendly”
Flaws in a requirements document (RD)
 Noise: RD item yielding no information on any problem world feature
(Variant: uncontrolled redundancy)
“Non-smoking signs shall be posted on train windows”
 Overspecification: RD item stating a feature not in the problem world,
but in the machine solution
“The setAlarm method shall be invoked on receipt of an Alarm message”
 Unfeasibility: RD item not implementable within budget/schedule
“In-train panels shall display all delayed flights at next stop”
 Unintelligibility: RD item incomprehensible to those needing to use it
A requirement statement containing 5 acronyms
 Poor structuring: RD item not organized according to any sensible &
visible structuring rule
Intertwining of acceleration control and train tracking issues
Flaws in a requirements document (2)
 Forward reference: RD item making use of problem world features not
defined yet
Multiple uses of the concept of worst-case stopping distance before its
definition appears several pages after in the RD
 Remorse: RD item stating a problem world feature lately or incidentally
After multiple uses of the undefined concept of worst-case stopping
distance, the last one directly followed by an incidental definition
between parentheses
 Poor modifiability: RD items whose changes must be propagated
throughout the RD
Use of fixed numerical values for quantities subject to change
 Opacity: RD item whose rationale, authoring or dependencies are
invisible
“The commanded train speed must always be at least 7 mph above physical
speed” without any explanation of rationale for this
start
Chap. 2:
Elicitation
techniques
alternative options
agreed
requirements
documented requirements
consolidated
requirements
Elicitation techniques
RE has multiple connections with other disciplines
 Primarily with Software Engineering (SE)
 Other connections:
– Domain understanding & requirements elicitation: system
engineering, control theory, management science,
organization theory, behavioral psychology, anthropology,
AI knowledge acquisition
– Requirements evaluation & agreement: multicriteria analysis,
risk management, conflict management, negotiation theory
– Requirements specification, documentation & consolidation:
software specification, formal methods in SE
– Requirements evolution: change management, configuration
management in SE
– System modeling: conceptual models in DB & MIS; task
models in HCI; knowledge representation in AI
Domain analysis & requirements elicitation:
outline
 Identifying stakeholders & interacting with them
 Artefact-driven elicitation techniques
– Background study
– Data collection, questionnaires
– Repertory grids, card sorts for concept acquisition
– Scenarios, storyboards for problem world exploration
– Prototypes, mock-ups for early feedback
– Knowledge reuse: domain-independent, domain-specific
 Stakeholder-driven elicitation techniques
– Interviews
– Observation and ethnographic studies
– Group sessions
Stakeholder analysis
 Stakeholder cooperation is essential for successful RE
– Elicitation = cooperative learning
 Representative sample must be selected to ensure adequate,
comprehensive coverage of the problem world
– dynamic selection as new knowledge is acquired
 Selection based on ...
– relevant position in the organization
– role in making decisions, reaching agreement
– type of contributed knowledge, level of domain expertise
– exposure to perceived problems
– personal interests, potential conflicts
– influence in system acceptance
Knowledge acquisition from stakeholders is difficult
 Distributed sources, conflicting viewpoints
 Difficult access to key people & data
 Different background, terminology, culture
 Tacit knowledge, hidden needs
 Irrelevant details
 Internal politics, competition, resistance to change, ...
 Personnel turnover, changes in organization, in priorities, ...
 Needed:
– Communication skills: for talking to, listening from diverse
people
– Trust relationship
– Knowledge reformulation & restructuring (review meetings)
Background study
 Collect, read, synthesize documents about...
– the organization: organizational charts, business plans,
financial reports, meeting minutes, etc
– the domain: books, surveys, articles, regulations, reports
on similar systems in the same domain
– the system-as-is: documented workflows, procedures,
business rules; exchanged documents; defect/complaint
reports, change requests, etc.
 Provides basics for getting prepared before meeting
stakeholders => prerequisite to other techniques
 Data mining problem: huge documentation, irrelevant details,
outdated info
 Solution: use meta-knowledge to prune the doc space
– know what you need to know & what you don’t need to know
Data collection
 Gather undocumented facts & figures
– marketing data, usage statistics, performance figures,
costs, ...
– by designed experiments or selection of representative
data sets from available sources (use of statistical sampling
techniques)
 May complement background study
 Helpful for eliciting non-functional reqs on performance,
usability, cost etc.
 Difficulties:
– Getting reliable data may take time
– Data must be correctly interpreted
Questionnaires
 Submit a list of questions to selected stakeholders, each with
a list of possible answers (+ brief context if needed)
– Multiple choice question: one answer to be selected from
answer list
– Weighting question: list of statements to be weighted...
• qualitatively (‘high’, ‘low”, ...), or
• quantitatively (percentages)
to express perceived importance, preference, risk etc.
 Effective for acquiring subjective info quickly, cheaply,
remotely from many people
 Helpful for preparing better focussed interviews (see next)
Questionnaires should be carefully prepared
 Subject to ...
– multiple biases: recipients, respondents, questions, answers
– unreliable info: misinterpretation of questions, of answers,
inconsistent answers, ....
=> Guidelines for questionnaire design/validation:
– Select a representative, statistically significant sample of
people; provide motivation for responding
– Check coverage of questions, of possible answers
– Make sure questions, answers, formulations are unbiased &
unambiguous
– Add implicitly redundant questions to detect inconsistent
answers
– Have your questionnaire checked by a third party
Card sorts & repertory grids
 Goal: acquire further info about concepts already elicited
 Card sort: ask stakeholders to partition a set of cards ...
– Each card captures a concept textually or graphically
– Cards grouped into subsets based on stakeholder’s criteria
– For each subset, ask...
? implicit shared property used for grouping ?
? descriptive, prescriptive ?
– Iterate with same cards for new groupings/properties
 Example: meeting scheduling system
– Iteration 1: “Meeting”, “Participant” grouped together
=> “participants shall be invited to the meeting”
– Iteration 2: “Meeting”, “Participant” grouped together
=> “participant constraints for the meeting must be known”


Card sorts & repertory grids (2)
 Repertory grid: ask stakeholders to characterize target
concept through attributes and value ranges
=> concept-attribute grid
e.g. (Date, Mon-Fri), (Location, Europe)
for grid characterizing Meeting concept
 Conceptual laddering: ask stakeholders to classify target
concepts along class-subclass links
e.g. subclasses RegularMeeting, OccasionalMeeting of Meeting
J Simple, cheap, easy-to-use techniques for prompt elicitation of
missing info
L Results may be subjective, irrelevant, inaccurate
Scenarios & storyboards
 Goal: acquire or validate info from concrete examples through
narratives ...
– how things are running in the system-as-is
– how things should be running in the system-to-be
 Storyboard: tells a story by a sequence of snapshots
– Snapshot = sentence, sketch, slide, picture, etc.
– Possibly structured with annotations:
WHO are the players, WHAT happens to them, WHY this
happens, WHAT IF this does / does not happen, etc
– Passive mode (for validation): stakeholders are told the story
– Active mode (for joint exploration): stakeholders contribute
Scenarios
 Illustrate typical sequences of interaction among system
components to meet an implicit objective
 Widely used for...
– explanation of system-as-is
– exploration of system-to-be + elicitation of further info ...
e.g. WHY this interaction sequence ?
WHY among these components ?
– specification of acceptance test cases
 Represented by text or diagram (see Chap. 4)
Scenario example: meeting scheduling
1. The initiator asks the scheduler for planning a meeting within some
date range. The request includes a list of desired participants.
2. The scheduler checks that the initiator is entitled to do so and that
the request is valid. It confirms to the initiator that the requested
meeting is initiated.
3. The scheduler asks all participants in the submitted list to send
their date and location constraints back within the prescribed date
range.
4. When a participant returns her constraints, the scheduler validates
them (e.g., with respect to the prescribed date range). It confirms
to the participant that the constraints have been safely received.
5. Once all valid constraints are received, the scheduler determines a
meeting date and location that fit them.
6. The scheduler notifies the scheduled meeting date and location to
the initiator and to all invited participants
Types of scenario
 Positive scenario = one behavior the system should cover
(example)
 Negative scenario = one behavior the system should exclude
(counter-example), e.g.
1. A participant returns a list of constraints covering all dates
within the given date range
2. The scheduler forwards this message to all participants asking
them for alternative constraints within extended date range
 Normal scenario: everything proceeds as expected
 Abnormal scenario = a desired interaction sequence in
exception situation (still positive)
e.g. meeting initiator not authorized
participant constraints not valid
Scenarios: pros & cons
J Concrete examples/counter-examples
J Narrative style (appealing to stakeholders)
J Yield animation sequences, acceptance test cases
L Inherently partial (cf. test coverage problem)
L Combinatorial explosion (cf. program traces)
L Potential overspecification: unnecessary sequencing,
premature software-environment boundary
L May contain irrelevant details,
incompatible granularities from different stakeholders
L Keep requirements implicit
cf. confidentiality req in negative scenario example
Concrete scenarios naturally jump in anyway...
invaluable as initial elicitation vehicles
Prototypes & mock-ups
 Goal: check req adequacy from direct user feedback, by showing
reduced sketch of software-to-be in action
– focus on unclear, hard-to-formulate reqs to elicit further
 Prototype = quick implementation of some aspects ...
– Functional proto: focus on specific functional reqs
e.g. initiating meeting, gathering participant constraints
– User interface proto: focus on usability by showing input-
output forms, dialog patterns
e.g. static/dynamic interaction to get participant constraints
 Quick implementation: by use of very high-level programming
language, executable spec language, generic services, ...
Requirements prototyping
 Mock-up: proto is thrown away (product = adequate reqs)
 Evolutionary proto: transformed towards efficient code
Elaborate
requirements
Prototype
requirements
Demonstrate proto
& get feedback
[ Proto_OK ]
[ not Proto_OK ]
…
Prototypes & mock-ups: pros & cons
J Concrete flavor of what the software will look like
=> clarify reqs, elicit hidden ones, improve adequacy,
understand implications, ...
J Other uses: user training, stubb for integration testing, ...
L Does not cover all aspects
– missing functionalities
– ignores important non-functional reqs (performance, cost, ...)
L Can be misleading, set expectations too high
L ‘Quick-and-dirty’ code, hard to reuse for sw development
L Potential inconsistencies between modified code and
documented reqs
Knowledge reuse
 Goal: speed up elicitation by reuse of knowledge from
experience with related systems
– knowledge about similar organization, domain, problem world:
requirements, assumptions, dom props, ...
 General reuse process:
1. RETRIEVE relevant knowledge from other systems
2. TRANSPOSE it to the target system
3. VALIDATE the result, ADAPT it if necessary & INTEGRATE it
with the system knowledge already acquired
 Transposition mechanisms:
– instantiation (memberOf)
– specialization (subClassOf) + feature inheritance
– reformulation in vocabulary of target system
Reuse of domain-independent knowledge:
requirements taxonomies
 For each leaf node in available req taxonomies:
“Is there any system-specific req instance from this class?”
 More specific taxonomy => more focussed search
Throughput
ResponseTime
Secondary
Storage
Main
Storage
Performance Requirement
Time
Space
PeakThroughput
OffPeakThroughput
PeakMeanThroughput PeakUniformThroughput
Reusable catalogue in
(Chung et al 2000)
mean number of meetings to
be scheduled at peak times ?
response time for ...
participant constraints ?
meeting scheduling ?
meeting notification ?
Reuse of domain-independent knowledge:
RD meta-model
 RD meta-model = concepts & relationships in terms of which
RD items are captured
 Elicitation by meta-model traversal
 RD items are acquired as instantiations of meta-model items
Goal
Reference Responsibility Performance
Instantiation
Agent Operation
Object
BookCopy BorrowedCopies
ReturnedOnTime
Patron CheckOut
Meta level
System level
Reuse of domain-specific knowledge
 Abstract domain = concepts, tasks, actors, objectives, reqs,
dom props abstracting from a class of domains
 RD items acquired as specializations of abstract items to
target system (feature inheritance + system-specific renaming)
Limited
Use
Specialization
User GetUnit
Resource
Book
Limited
Loans
Patron BorrowCopy
Abstract domain
Concrete domain
“A user may not use more than X resource units at a time”
“A patron may not borrow more than X book copies at a time”
Spec inheritance
Reuse of domain-specific knowledge (2)
 Same abstract domain may have multiple specializations
e.g. resource management <-- library loan management,
videostore management, flight or concert seat allocation, ...
 Same concrete domain may specialize multiple abstract domains
e.g. library management:
loan management --> resource management
book acquisition --> e-shopping
patron registration --> group membership management
 More adequate RD items elicited by reuse of more structured,
more accurate abstract domains
e.g. resource management: returnable vs. consumable resource
sharable vs. non-sharable resource
=> “A book copy can be borrowed by one patron at a time”
(dom prop for non-sharable, returnable resource)
Knowledge reuse: pros & cons
J Expert analysts naturally reuse from past experience
J Significant guidance and reduction of elicitation efforts
J Inheritance of structure & quality of abstract domain spec
J Effective for completing RD with overlooked aspects
L Effective only if abstract domain sufficiently “close”, accurate
L Defining abstract domains for significant reusability is hard
L Validation & integration efforts
L Near-matches may require tricky adaptations
Domain analysis & requirements elicitation:
outline
 Identifying stakeholders & interacting with them
 Artefact-driven elicitation techniques
– Background study
– Data collection, questionnaires
– Repertory grids, card sorts for concept acquisition
– Scenarios, storyboards for problem world exploration
– Prototypes, mock-ups for early feedback
– Knowledge reuse: domain-independent, domain-specific
 Stakeholder-driven elicitation techniques
– Interviews
– Observation and ethnographic studies
– Group sessions
Interviews
 Primary technique for knowledge elicitation
1. Select stakeholder specifically for info to be acquired
(domain expert, manager, salesperson, end-user, consultant, ...)
2. Organize meeting with interviewee, ask questions, record
answers
3. Write report from interview transcripts
4. Submit report to interviewee for validation & refinement
 Single interview may involve multiple stakeholders
J saves times
L weaker contact; individuals less involved, speak less freely
 Interview effectiveness:
(utility x coverage of acquired info) / acquisition time
Types of interview
 Structured interview: predetermined set of questions
– specific to purpose of interview
– some open-ended, others with pre-determined answer set
=> more focussed discussion, no rambling among topics
 Unstructured interview: no predetermined set of questions
– free discussion about system-as-is, perceived problems,
proposed solutions
=> exploration of possibly overlooked issues
=> Effective interviews should mix both modes ...
– start with structured parts
– shift to unstructured parts as felt necessary
Interviews: strengths & difficulties
J May reveal info not acquired through other techniques
– how things are running really, personal complaints,
suggestions for improvement, ...
J On-the-fly acquisition of info appearing relevant
– new questions triggered from previous answers
L Acquired info might be subjective (hard to assess)
L Potential inconsistencies between different interviewees
L Effectiveness critically relies on interviewer’s attitude,
appropriateness of questions
=> Interviewing guidelines
Guidelines for effective interviews
 Identify the right interviewee sample for full coverage of
issues
– different responsibilities, expertise, tasks, exposure to
problems
 Come prepared, to focus on right issue at right time
– backgound study first
– predesign a sequence of questions for this interviewee
 Centre the interview on the interviewee’s work & concerns
 Keep control over the interview
 Make the interviewee feel comfortable
– Start: break ice, provide motivation, ask easy questions
– Consider the person too, not only the role
– Do always appear as a trustworthy partner
Guidelines for effective interviews (2)
 Be focused, keep open-ended questions for the end
 Be open-minded, flexible in case of unexpected answers
 Ask why-questions without being offending
 Avoid certain types of questions ...
– opiniated or biased
– affirmative
– obvious or impossible answer for this interviewee
 Edit & structure interview transcripts while still fresh in mind
– including personal reactions, attitudes, etc
 Keep interviewee in the loop
– co-review interview transcript for validation & refinement
Model-driven interviews may help structure them
(see Part 2 of the book)
Observation & ethnographic studies
 Focus on task elicitation in the system-as-is
 Understanding a task is often easier by observing people
performing it (rather than verbal or textual explanation)
– cf. tying shoelaces
 Passive observation: no interference with task performers
– Watch from outside, record (notes, video), edit transcripts,
interpret
– Protocol analysis: task performers concurrently explain it
– Ethnographic studies: over long periods of time, try to
discover emergent properties of social group involved
about task performance + attitudes, reactions, gestures, ...
 Active observation: you get involved in the task, even become a
team member
Observation & ethnographic studies: pros & cons
J May reveal ...
– tacit knowledge that would not emerge otherwise
e.g. ethnographic study of air traffic control => implicit mental
model of air traffic to be preserved in system-to-be
– hidden problems through tricky ways of doing things
– culture-specific aspects to be taken into account
J Contextualization of acquired info
L Slow & expensive: to be done over long periods of time,
at different times, under different workload conditions
L Potentially inaccurate (people behave differently when observed)
L Data mining problem, interpretation problem
L Focus on system-as-is
Some of the interviewing guidelines are relevant
Group sessions
 More perception, judgement, invention from interactions within
group of diverse people
 Elicitation takes place in series of group workshops (a few days
each) + follow-up actions
audiovisuals, wall charts to foster discussion, record outcome
 Structured group sessions:
– Each participant has a clearly defined role
(leader, moderator, manager, user, developer, ...)
– Contributes to req elaboration according to his/her role,
towards reaching synergies
– Generally focused on high-level reqs
– Variants: focus groups, JAD, QFD, ...
Group sessions (2)
 Unstructured group sessions (brainstorming):
– Participants have a less clearly defined role
– Two separate stages ...
1. Idea generation to address a problem:
as many ideas as possible
from each participant
without censorship/criticism
2. Idea evaluation:
by all participants together
according to agreed criteria (e.g. value, cost, feasibility)
to prioritize ideas
Group sessions: pros & cons
J Less formal interactions than interviews
=> may reveal hidden aspects of the system (as-is or to-be)
J Potentially ...
– wider exploration of issues & ideas
– more inventive ways of addressing problems
J Synergies => agreed conflict resolutions
L Group composition is critical ...
– time consuming for key, busy people
– heavily relying on leader expertise & skills
– group dynamics, dominant persons => biases, inadequacies
L Risk of ...
– missing focus & structure => rambling discussions, little
concrete outcome, waste of time
– superficial coverage of more technical issues
Combining techniques
 Elicitation techniques have complementary strengths &
limitations
 Strength-based combinations are more effective for full,
adequate coverage
– artefact-driven + stakeholder-driven
 Examples
– Contextual Inquiry: workplace observation + open-ended
interviews + prototyping
– RAD: JAD group sessions + evolutionary prototyping (with
code generation tools)
 Techniques from other RE phases support elicitation too
– Resolution of conflicts, risks, omissions, etc.
Domain analysis & requirements elicitation:
summary
 Identifying the right stakeholders, interacting the right way
 Artefact-driven elicitation techniques
– Background study as a prerequisite
– Data collection, questionnaires for preparing interviews
– Repertory grids, card sorts for concept characterization
– Scenarios, storyboards for concrete exploration
– Prototypes, mock-ups for early feedback & adequacy check
– Knowledge reuse brings a lot: domain-independent, domain-specific
 Stakeholder-driven elicitation techniques
– Interviews are essential - structured, unstructured, cf. guidelines
– Observation, ethnographic studies for hidden knowledge
– Group sessions for broader, more inventive acquisition & agreement
Model-driven elicitation provides focus & structure for what
needs to be elicited (see Part 2 of the book)

More Related Content

Similar to Lecture2.pptx

Traffic Simulator
Traffic SimulatorTraffic Simulator
Traffic Simulatorgystell
 
Verifying and Validating Requirements
Verifying and Validating RequirementsVerifying and Validating Requirements
Verifying and Validating RequirementsRavikanth-BA
 
SAP BASIS Training in Chennai Demo Part-3
SAP BASIS Training in Chennai Demo Part-3SAP BASIS Training in Chennai Demo Part-3
SAP BASIS Training in Chennai Demo Part-3Thecreating Experts
 
Sw engg l4_requirements_case_study
Sw engg l4_requirements_case_studySw engg l4_requirements_case_study
Sw engg l4_requirements_case_studyMahima Bhave
 
Performance testing : An Overview
Performance testing : An OverviewPerformance testing : An Overview
Performance testing : An Overviewsharadkjain
 
From Model-based to Model and Simulation-based Systems Architectures
From Model-based to Model and Simulation-based Systems ArchitecturesFrom Model-based to Model and Simulation-based Systems Architectures
From Model-based to Model and Simulation-based Systems ArchitecturesObeo
 
Requirement verification & validation
Requirement verification & validationRequirement verification & validation
Requirement verification & validationAbdul Basit
 
Requirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRequirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRupesh Vaishnav
 
Complex System Engineering
Complex System EngineeringComplex System Engineering
Complex System EngineeringEmmanuel Fuchs
 
clean architecture uncle bob AnalysisAndDesign.el.en.pptx
clean architecture uncle bob AnalysisAndDesign.el.en.pptxclean architecture uncle bob AnalysisAndDesign.el.en.pptx
clean architecture uncle bob AnalysisAndDesign.el.en.pptxsaber tabatabaee
 
Modeling Search Computing Applications
Modeling Search Computing ApplicationsModeling Search Computing Applications
Modeling Search Computing ApplicationsMarco Brambilla
 
Software requirement verification & validation
Software requirement verification & validationSoftware requirement verification & validation
Software requirement verification & validationAbdul Basit
 
DAE Tools 1.8.0 - Overview
DAE Tools 1.8.0 - OverviewDAE Tools 1.8.0 - Overview
DAE Tools 1.8.0 - OverviewDragan Nikolić
 
[2015/2016] AADL (Architecture Analysis and Design Language)
[2015/2016] AADL (Architecture Analysis and Design Language)[2015/2016] AADL (Architecture Analysis and Design Language)
[2015/2016] AADL (Architecture Analysis and Design Language)Ivano Malavolta
 
Software Requirement Specification
Software Requirement SpecificationSoftware Requirement Specification
Software Requirement SpecificationNiraj Kumar
 

Similar to Lecture2.pptx (20)

Traffic Simulator
Traffic SimulatorTraffic Simulator
Traffic Simulator
 
Day01 01 software requirement concepts
Day01 01 software requirement conceptsDay01 01 software requirement concepts
Day01 01 software requirement concepts
 
Verifying and Validating Requirements
Verifying and Validating RequirementsVerifying and Validating Requirements
Verifying and Validating Requirements
 
Man.ppt
Man.pptMan.ppt
Man.ppt
 
SAP BASIS Training in Chennai Demo Part-3
SAP BASIS Training in Chennai Demo Part-3SAP BASIS Training in Chennai Demo Part-3
SAP BASIS Training in Chennai Demo Part-3
 
Sw engg l4_requirements_case_study
Sw engg l4_requirements_case_studySw engg l4_requirements_case_study
Sw engg l4_requirements_case_study
 
Performance testing : An Overview
Performance testing : An OverviewPerformance testing : An Overview
Performance testing : An Overview
 
From Model-based to Model and Simulation-based Systems Architectures
From Model-based to Model and Simulation-based Systems ArchitecturesFrom Model-based to Model and Simulation-based Systems Architectures
From Model-based to Model and Simulation-based Systems Architectures
 
Requirement verification & validation
Requirement verification & validationRequirement verification & validation
Requirement verification & validation
 
Requirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRequirement analysis and specification, software engineering
Requirement analysis and specification, software engineering
 
Complex System Engineering
Complex System EngineeringComplex System Engineering
Complex System Engineering
 
clean architecture uncle bob AnalysisAndDesign.el.en.pptx
clean architecture uncle bob AnalysisAndDesign.el.en.pptxclean architecture uncle bob AnalysisAndDesign.el.en.pptx
clean architecture uncle bob AnalysisAndDesign.el.en.pptx
 
Modeling Search Computing Applications
Modeling Search Computing ApplicationsModeling Search Computing Applications
Modeling Search Computing Applications
 
Requirements analysis lecture
Requirements analysis lectureRequirements analysis lecture
Requirements analysis lecture
 
Software requirement verification & validation
Software requirement verification & validationSoftware requirement verification & validation
Software requirement verification & validation
 
DAE Tools 1.8.0 - Overview
DAE Tools 1.8.0 - OverviewDAE Tools 1.8.0 - Overview
DAE Tools 1.8.0 - Overview
 
ProgrammingPrimerAndOOPS
ProgrammingPrimerAndOOPSProgrammingPrimerAndOOPS
ProgrammingPrimerAndOOPS
 
SLALOM Project Technical Webinar 20151111
SLALOM Project Technical Webinar 20151111 SLALOM Project Technical Webinar 20151111
SLALOM Project Technical Webinar 20151111
 
[2015/2016] AADL (Architecture Analysis and Design Language)
[2015/2016] AADL (Architecture Analysis and Design Language)[2015/2016] AADL (Architecture Analysis and Design Language)
[2015/2016] AADL (Architecture Analysis and Design Language)
 
Software Requirement Specification
Software Requirement SpecificationSoftware Requirement Specification
Software Requirement Specification
 

Recently uploaded

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXssuser89054b
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Arindam Chakraborty, Ph.D., P.E. (CA, TX)
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfRagavanV2
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
Unit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfUnit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfRagavanV2
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapRishantSharmaFr
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdfKamal Acharya
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTbhaskargani46
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueBhangaleSonal
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxJuliansyahHarahap1
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756dollysharma2066
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringmulugeta48
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01KreezheaRecto
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...Call Girls in Nagpur High Profile
 

Recently uploaded (20)

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
Unit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfUnit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdf
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 

Lecture2.pptx

  • 1. Fundamentals of RE Chapter 2 Domain Understanding & Requirements Elicitation
  • 2. The scope of RE: the WHY, WHAT, WHO dimensions Objectives WHY a new system? WHAT services? WHO will be responsible for what ? satisfy assignment requirements, constraints, assumptions problems, opportunities, system knowledge System-to-be System-as-is
  • 3. The WHY dimension  Identify, analyze, refine the system-to-be’s objectives – to address analyzed deficiencies of the system-as-is – in alignment with business objectives – taking advantage of technology opportunities  Example: airport train control “Serve more passengers” “Reduce transfer time among terminals”  Difficulties – Acquire domain knowledge – Evaluate alternative options (e.g. alternative ways of satisfying the same objective) – Match problems-opportunities, and evaluate these: implications, associated risks – Handle conflicting objectives ?
  • 4. The WHAT dimension  Identify & define the system-to-be’s functional services (software services, associated manual procedures) – to satisfy the identified objectives – according to quality constraints: security, performance, ... – based on realistic assumptions about the environment  Example: airport train control “Computation of safe train accelerations” “Display of useful information for passengers inside trains”  Difficulties – Identify the right set of features – Specify these precisely for understanding by all parties – Ensure backward traceability to system objectives ?
  • 5. The WHO dimension  Assign responsibilities for the objectives, services, constraints among system-to-be components – based on their capabilities and on the system’s objectives – yielding the software-environment boundary  Example: airport train control – “Safe train acceleration” ... under direct responsibility of software-to-be (driverless option) or of driver following software indications ? – “Accurate estimation of train speed/position” ... under responsibility of tracking system or of preceding train ?  Difficulties – Evaluate alternative options to decide on the right degree of automation ?
  • 6. Statements about the System  Descriptive statements state system properties holding regardless of how the system should behave (indicative mood) – natural law, physical constraint, etc – e.g. “If train doors are closed, they are not open” “If the train’s acceleration is positive, its speed is non-null”  Prescriptive statements state desirable properties holding or not depending on how the system behaves (optative mood) e.g. “Doors shall always remain closed when the train is moving”  Important distinction for RE: – prescriptive statements can be negotiated, weakened, replaced by alternatives – descriptive statements cannot
  • 7. Statements may differ in scope A RE statement may refer to phenomena ... – owned by the environment – or shared between the environment & the software-to-be: one controls phenomena monitored by the other, and resp.
  • 8. Types of statements: system requirements, software requirements  System requirement: prescriptive statement refering to environment phenomena (not necessarily shared) – to be enforced by the software-to-be possibly together with other system components – formulated in a vocabulary understandable by all parties TrainMoving  DoorsClosed  Software requirement: prescriptive statement refering to shared phenomena – to be enforced by the software-to-be solely – formulated in the vocabulary of software developers measuredSpeed  0  doorsState = 'closed’ (A software req is a system req; the converse is not true)
  • 9. Types of statements: domain properties, assumptions, definitions  Domain property: descriptive statement about problem world phenomena (holds regardless of any software-to-be) trainAcceleration > 0  trainSpeed  0  Assumption: statement to be satisfied by the environment of the software-to-be – formulated in terms of environment phenomena – generally prescriptive (e.g. on sensors or actuators) measuredSpeed  0 iff trainSpeed  0  Definition: statement providing a precise meaning to system concepts or auxiliary terms – no truth value “measuredSpeed is the speed estimated by the train’s speedometer”
  • 10. measuredSpeed I: input data DoorsClosed C: controlled variables trainSpeed doorsState Environment M: monitored variables O: output results SoftwareToBe Output Devices (e.g. actuators) Input Devices (e.g. sensors) SysReq Í M ´ C relation on environment monitored/controlled variables SofReq Í I ´ O relation on software input/output variables SofReq = Map (SysReq, Dom, Asm) translates SysReq using domain properties and assumptions Relating software reqs to system reqs: the 4-variable model [Parnas95]
  • 11. Mapping system reqs to software reqs involves satisfaction arguments SOFREQ, ASM, DOM |= SysReq “If the software requirements in SOFREQ, the assumptions in ASM and the domain properties in DOM are all satisfied and consistent, then the system requirements SysReq are satisfied” SofReq: measuredSpeed  0  doorsState = 'closed’ ASM: measuredSpeed  0 iff trainSpeed  0 doorsState = 'closed’ iff DoorsClosed Dom: TrainMoving iff trainSpeed  0 --------------------------------------------------------------------------- SysReq: TrainMoving  DoorsClosed Further to requirements, we need to elicit, evaluate, document, consolidate relevant assumptions & domain properties
  • 12. The RE process (1) start domain understanding & elicitation alternative proposals
  • 13. Domain understanding  Studying the system-as-is – Business organization: structure, dependencies, strategic objectives, policies, workflows, operational procedures, ... – Application domain: concepts, objectives, tasks, constraints, regulations, ... – Strengths & weaknesses of the system-as-is  Identifying the system stakeholders: – Groups or individuals affected by the system-to-be, who may influence its elaboration and its acceptance – Decision makers, managers, domain experts, users, clients, subcontractors, analysts, developers, ... Products: Initial sections for preliminary draft proposal Glossary of terms
  • 14. Requirements elicitation Exploring the problem world ...  Further analysis of problems with system-as-is: symptoms, causes, consequences  Analysis of technology opportunities, new market conditions  Identification of ... – improvement objectives – organizational/technical constraints on system-to-be – alternative options for satisfying objectives, for assigning responsibilities – scenarios of hypothetical software-environment interaction – requirements on software, assumptions on environment Product: Additional sections for preliminary draft proposal
  • 15. The RE process (2) start domain understanding & elicitation evaluation & agreement alternative proposals agreed requirements
  • 16. The RE process (3) start domain understanding & elicitation evaluation & agreement alternative proposals agreed requirements documented requirements specification & documentation
  • 17. Specification & documentation  Precise definition of all features of the agreed system – Objectives, concepts, relevant domain properties, system/software requirements, assumptions, responsibilities – Satisfaction arguments, rationale for options taken – Likely system variants & evolutions – Estimated costs  Organization of these in a coherent structure  Documentation in a form understandable by all parties Resulting product: Requirements Document (RD)
  • 18. The RE process (4) start domain understanding & elicitation evaluation & agreement alternative proposals agreed requirements documented requirements consolidated requirements specification & documentation validation & verification
  • 19. Requirements consolidation  Quality assurance activity on RD ... – Validation: adequacy of RD items wrt real needs ? – Verification: omissions, inconsistencies ? – Checks for other target qualities (discussed next) – Fixing of errors & flaws  Products: Consolidated RD Acceptance test data, prototype Development plan Project contract
  • 20. Target qualities for RE process  Completeness of objectives, requirements, assumptions  Consistency of RD items  Adequacy of requirements, assumptions, domain props  Unambiguity of RD items  Measurability of requirements, assumptions  Pertinence of requirements, assumptions  Feasibility of requirements  Comprehensibility of RD items  Good structuring of the RD  Modifiability of RD items  Traceability of RD items
  • 21. Types of RE errors & flaws: a wide palette  Omission (critical error!)  Contradiction (critical error!)  Inadequacy (critical error!)  Ambiguity (critical error!)  Unmeasurability  Noise, overspecification  Unfeasibility (wishful thinking)  Unintelligibility  Poor structuring, forward reference, remorse  Opacity
  • 22. Errors in a requirements document (RD)  Omission: problem world feature not stated by any RD item e.g. no req about state of train doors in case of emergency stop  Contradiction: RD items stating a problem world feature in an incompatible way “Doors must always be kept closed between platforms” and “Doors must be opened in case of emergency stop”  Inadequacy: RD item not adequately stating a problem world feature “Panels inside trains shall display all flights served at next stop”  Ambiguity: RD item allowing a problem world feature to be interpreted in different ways “Doors shall be open as soon as the train is stopped at platform”  Unmeasurability: RD item stating a problem world feature in a way precluding option comparison or solution testing “Panels inside trains shall be user-friendly”
  • 23. Flaws in a requirements document (RD)  Noise: RD item yielding no information on any problem world feature (Variant: uncontrolled redundancy) “Non-smoking signs shall be posted on train windows”  Overspecification: RD item stating a feature not in the problem world, but in the machine solution “The setAlarm method shall be invoked on receipt of an Alarm message”  Unfeasibility: RD item not implementable within budget/schedule “In-train panels shall display all delayed flights at next stop”  Unintelligibility: RD item incomprehensible to those needing to use it A requirement statement containing 5 acronyms  Poor structuring: RD item not organized according to any sensible & visible structuring rule Intertwining of acceleration control and train tracking issues
  • 24. Flaws in a requirements document (2)  Forward reference: RD item making use of problem world features not defined yet Multiple uses of the concept of worst-case stopping distance before its definition appears several pages after in the RD  Remorse: RD item stating a problem world feature lately or incidentally After multiple uses of the undefined concept of worst-case stopping distance, the last one directly followed by an incidental definition between parentheses  Poor modifiability: RD items whose changes must be propagated throughout the RD Use of fixed numerical values for quantities subject to change  Opacity: RD item whose rationale, authoring or dependencies are invisible “The commanded train speed must always be at least 7 mph above physical speed” without any explanation of rationale for this
  • 25. start Chap. 2: Elicitation techniques alternative options agreed requirements documented requirements consolidated requirements Elicitation techniques
  • 26. RE has multiple connections with other disciplines  Primarily with Software Engineering (SE)  Other connections: – Domain understanding & requirements elicitation: system engineering, control theory, management science, organization theory, behavioral psychology, anthropology, AI knowledge acquisition – Requirements evaluation & agreement: multicriteria analysis, risk management, conflict management, negotiation theory – Requirements specification, documentation & consolidation: software specification, formal methods in SE – Requirements evolution: change management, configuration management in SE – System modeling: conceptual models in DB & MIS; task models in HCI; knowledge representation in AI
  • 27. Domain analysis & requirements elicitation: outline  Identifying stakeholders & interacting with them  Artefact-driven elicitation techniques – Background study – Data collection, questionnaires – Repertory grids, card sorts for concept acquisition – Scenarios, storyboards for problem world exploration – Prototypes, mock-ups for early feedback – Knowledge reuse: domain-independent, domain-specific  Stakeholder-driven elicitation techniques – Interviews – Observation and ethnographic studies – Group sessions
  • 28. Stakeholder analysis  Stakeholder cooperation is essential for successful RE – Elicitation = cooperative learning  Representative sample must be selected to ensure adequate, comprehensive coverage of the problem world – dynamic selection as new knowledge is acquired  Selection based on ... – relevant position in the organization – role in making decisions, reaching agreement – type of contributed knowledge, level of domain expertise – exposure to perceived problems – personal interests, potential conflicts – influence in system acceptance
  • 29. Knowledge acquisition from stakeholders is difficult  Distributed sources, conflicting viewpoints  Difficult access to key people & data  Different background, terminology, culture  Tacit knowledge, hidden needs  Irrelevant details  Internal politics, competition, resistance to change, ...  Personnel turnover, changes in organization, in priorities, ...  Needed: – Communication skills: for talking to, listening from diverse people – Trust relationship – Knowledge reformulation & restructuring (review meetings)
  • 30. Background study  Collect, read, synthesize documents about... – the organization: organizational charts, business plans, financial reports, meeting minutes, etc – the domain: books, surveys, articles, regulations, reports on similar systems in the same domain – the system-as-is: documented workflows, procedures, business rules; exchanged documents; defect/complaint reports, change requests, etc.  Provides basics for getting prepared before meeting stakeholders => prerequisite to other techniques  Data mining problem: huge documentation, irrelevant details, outdated info  Solution: use meta-knowledge to prune the doc space – know what you need to know & what you don’t need to know
  • 31. Data collection  Gather undocumented facts & figures – marketing data, usage statistics, performance figures, costs, ... – by designed experiments or selection of representative data sets from available sources (use of statistical sampling techniques)  May complement background study  Helpful for eliciting non-functional reqs on performance, usability, cost etc.  Difficulties: – Getting reliable data may take time – Data must be correctly interpreted
  • 32. Questionnaires  Submit a list of questions to selected stakeholders, each with a list of possible answers (+ brief context if needed) – Multiple choice question: one answer to be selected from answer list – Weighting question: list of statements to be weighted... • qualitatively (‘high’, ‘low”, ...), or • quantitatively (percentages) to express perceived importance, preference, risk etc.  Effective for acquiring subjective info quickly, cheaply, remotely from many people  Helpful for preparing better focussed interviews (see next)
  • 33. Questionnaires should be carefully prepared  Subject to ... – multiple biases: recipients, respondents, questions, answers – unreliable info: misinterpretation of questions, of answers, inconsistent answers, .... => Guidelines for questionnaire design/validation: – Select a representative, statistically significant sample of people; provide motivation for responding – Check coverage of questions, of possible answers – Make sure questions, answers, formulations are unbiased & unambiguous – Add implicitly redundant questions to detect inconsistent answers – Have your questionnaire checked by a third party
  • 34. Card sorts & repertory grids  Goal: acquire further info about concepts already elicited  Card sort: ask stakeholders to partition a set of cards ... – Each card captures a concept textually or graphically – Cards grouped into subsets based on stakeholder’s criteria – For each subset, ask... ? implicit shared property used for grouping ? ? descriptive, prescriptive ? – Iterate with same cards for new groupings/properties  Example: meeting scheduling system – Iteration 1: “Meeting”, “Participant” grouped together => “participants shall be invited to the meeting” – Iteration 2: “Meeting”, “Participant” grouped together => “participant constraints for the meeting must be known”  
  • 35. Card sorts & repertory grids (2)  Repertory grid: ask stakeholders to characterize target concept through attributes and value ranges => concept-attribute grid e.g. (Date, Mon-Fri), (Location, Europe) for grid characterizing Meeting concept  Conceptual laddering: ask stakeholders to classify target concepts along class-subclass links e.g. subclasses RegularMeeting, OccasionalMeeting of Meeting J Simple, cheap, easy-to-use techniques for prompt elicitation of missing info L Results may be subjective, irrelevant, inaccurate
  • 36. Scenarios & storyboards  Goal: acquire or validate info from concrete examples through narratives ... – how things are running in the system-as-is – how things should be running in the system-to-be  Storyboard: tells a story by a sequence of snapshots – Snapshot = sentence, sketch, slide, picture, etc. – Possibly structured with annotations: WHO are the players, WHAT happens to them, WHY this happens, WHAT IF this does / does not happen, etc – Passive mode (for validation): stakeholders are told the story – Active mode (for joint exploration): stakeholders contribute
  • 37. Scenarios  Illustrate typical sequences of interaction among system components to meet an implicit objective  Widely used for... – explanation of system-as-is – exploration of system-to-be + elicitation of further info ... e.g. WHY this interaction sequence ? WHY among these components ? – specification of acceptance test cases  Represented by text or diagram (see Chap. 4)
  • 38. Scenario example: meeting scheduling 1. The initiator asks the scheduler for planning a meeting within some date range. The request includes a list of desired participants. 2. The scheduler checks that the initiator is entitled to do so and that the request is valid. It confirms to the initiator that the requested meeting is initiated. 3. The scheduler asks all participants in the submitted list to send their date and location constraints back within the prescribed date range. 4. When a participant returns her constraints, the scheduler validates them (e.g., with respect to the prescribed date range). It confirms to the participant that the constraints have been safely received. 5. Once all valid constraints are received, the scheduler determines a meeting date and location that fit them. 6. The scheduler notifies the scheduled meeting date and location to the initiator and to all invited participants
  • 39. Types of scenario  Positive scenario = one behavior the system should cover (example)  Negative scenario = one behavior the system should exclude (counter-example), e.g. 1. A participant returns a list of constraints covering all dates within the given date range 2. The scheduler forwards this message to all participants asking them for alternative constraints within extended date range  Normal scenario: everything proceeds as expected  Abnormal scenario = a desired interaction sequence in exception situation (still positive) e.g. meeting initiator not authorized participant constraints not valid
  • 40. Scenarios: pros & cons J Concrete examples/counter-examples J Narrative style (appealing to stakeholders) J Yield animation sequences, acceptance test cases L Inherently partial (cf. test coverage problem) L Combinatorial explosion (cf. program traces) L Potential overspecification: unnecessary sequencing, premature software-environment boundary L May contain irrelevant details, incompatible granularities from different stakeholders L Keep requirements implicit cf. confidentiality req in negative scenario example Concrete scenarios naturally jump in anyway... invaluable as initial elicitation vehicles
  • 41. Prototypes & mock-ups  Goal: check req adequacy from direct user feedback, by showing reduced sketch of software-to-be in action – focus on unclear, hard-to-formulate reqs to elicit further  Prototype = quick implementation of some aspects ... – Functional proto: focus on specific functional reqs e.g. initiating meeting, gathering participant constraints – User interface proto: focus on usability by showing input- output forms, dialog patterns e.g. static/dynamic interaction to get participant constraints  Quick implementation: by use of very high-level programming language, executable spec language, generic services, ...
  • 42. Requirements prototyping  Mock-up: proto is thrown away (product = adequate reqs)  Evolutionary proto: transformed towards efficient code Elaborate requirements Prototype requirements Demonstrate proto & get feedback [ Proto_OK ] [ not Proto_OK ] …
  • 43. Prototypes & mock-ups: pros & cons J Concrete flavor of what the software will look like => clarify reqs, elicit hidden ones, improve adequacy, understand implications, ... J Other uses: user training, stubb for integration testing, ... L Does not cover all aspects – missing functionalities – ignores important non-functional reqs (performance, cost, ...) L Can be misleading, set expectations too high L ‘Quick-and-dirty’ code, hard to reuse for sw development L Potential inconsistencies between modified code and documented reqs
  • 44. Knowledge reuse  Goal: speed up elicitation by reuse of knowledge from experience with related systems – knowledge about similar organization, domain, problem world: requirements, assumptions, dom props, ...  General reuse process: 1. RETRIEVE relevant knowledge from other systems 2. TRANSPOSE it to the target system 3. VALIDATE the result, ADAPT it if necessary & INTEGRATE it with the system knowledge already acquired  Transposition mechanisms: – instantiation (memberOf) – specialization (subClassOf) + feature inheritance – reformulation in vocabulary of target system
  • 45. Reuse of domain-independent knowledge: requirements taxonomies  For each leaf node in available req taxonomies: “Is there any system-specific req instance from this class?”  More specific taxonomy => more focussed search Throughput ResponseTime Secondary Storage Main Storage Performance Requirement Time Space PeakThroughput OffPeakThroughput PeakMeanThroughput PeakUniformThroughput Reusable catalogue in (Chung et al 2000) mean number of meetings to be scheduled at peak times ? response time for ... participant constraints ? meeting scheduling ? meeting notification ?
  • 46. Reuse of domain-independent knowledge: RD meta-model  RD meta-model = concepts & relationships in terms of which RD items are captured  Elicitation by meta-model traversal  RD items are acquired as instantiations of meta-model items Goal Reference Responsibility Performance Instantiation Agent Operation Object BookCopy BorrowedCopies ReturnedOnTime Patron CheckOut Meta level System level
  • 47. Reuse of domain-specific knowledge  Abstract domain = concepts, tasks, actors, objectives, reqs, dom props abstracting from a class of domains  RD items acquired as specializations of abstract items to target system (feature inheritance + system-specific renaming) Limited Use Specialization User GetUnit Resource Book Limited Loans Patron BorrowCopy Abstract domain Concrete domain “A user may not use more than X resource units at a time” “A patron may not borrow more than X book copies at a time” Spec inheritance
  • 48. Reuse of domain-specific knowledge (2)  Same abstract domain may have multiple specializations e.g. resource management <-- library loan management, videostore management, flight or concert seat allocation, ...  Same concrete domain may specialize multiple abstract domains e.g. library management: loan management --> resource management book acquisition --> e-shopping patron registration --> group membership management  More adequate RD items elicited by reuse of more structured, more accurate abstract domains e.g. resource management: returnable vs. consumable resource sharable vs. non-sharable resource => “A book copy can be borrowed by one patron at a time” (dom prop for non-sharable, returnable resource)
  • 49. Knowledge reuse: pros & cons J Expert analysts naturally reuse from past experience J Significant guidance and reduction of elicitation efforts J Inheritance of structure & quality of abstract domain spec J Effective for completing RD with overlooked aspects L Effective only if abstract domain sufficiently “close”, accurate L Defining abstract domains for significant reusability is hard L Validation & integration efforts L Near-matches may require tricky adaptations
  • 50. Domain analysis & requirements elicitation: outline  Identifying stakeholders & interacting with them  Artefact-driven elicitation techniques – Background study – Data collection, questionnaires – Repertory grids, card sorts for concept acquisition – Scenarios, storyboards for problem world exploration – Prototypes, mock-ups for early feedback – Knowledge reuse: domain-independent, domain-specific  Stakeholder-driven elicitation techniques – Interviews – Observation and ethnographic studies – Group sessions
  • 51. Interviews  Primary technique for knowledge elicitation 1. Select stakeholder specifically for info to be acquired (domain expert, manager, salesperson, end-user, consultant, ...) 2. Organize meeting with interviewee, ask questions, record answers 3. Write report from interview transcripts 4. Submit report to interviewee for validation & refinement  Single interview may involve multiple stakeholders J saves times L weaker contact; individuals less involved, speak less freely  Interview effectiveness: (utility x coverage of acquired info) / acquisition time
  • 52. Types of interview  Structured interview: predetermined set of questions – specific to purpose of interview – some open-ended, others with pre-determined answer set => more focussed discussion, no rambling among topics  Unstructured interview: no predetermined set of questions – free discussion about system-as-is, perceived problems, proposed solutions => exploration of possibly overlooked issues => Effective interviews should mix both modes ... – start with structured parts – shift to unstructured parts as felt necessary
  • 53. Interviews: strengths & difficulties J May reveal info not acquired through other techniques – how things are running really, personal complaints, suggestions for improvement, ... J On-the-fly acquisition of info appearing relevant – new questions triggered from previous answers L Acquired info might be subjective (hard to assess) L Potential inconsistencies between different interviewees L Effectiveness critically relies on interviewer’s attitude, appropriateness of questions => Interviewing guidelines
  • 54. Guidelines for effective interviews  Identify the right interviewee sample for full coverage of issues – different responsibilities, expertise, tasks, exposure to problems  Come prepared, to focus on right issue at right time – backgound study first – predesign a sequence of questions for this interviewee  Centre the interview on the interviewee’s work & concerns  Keep control over the interview  Make the interviewee feel comfortable – Start: break ice, provide motivation, ask easy questions – Consider the person too, not only the role – Do always appear as a trustworthy partner
  • 55. Guidelines for effective interviews (2)  Be focused, keep open-ended questions for the end  Be open-minded, flexible in case of unexpected answers  Ask why-questions without being offending  Avoid certain types of questions ... – opiniated or biased – affirmative – obvious or impossible answer for this interviewee  Edit & structure interview transcripts while still fresh in mind – including personal reactions, attitudes, etc  Keep interviewee in the loop – co-review interview transcript for validation & refinement Model-driven interviews may help structure them (see Part 2 of the book)
  • 56. Observation & ethnographic studies  Focus on task elicitation in the system-as-is  Understanding a task is often easier by observing people performing it (rather than verbal or textual explanation) – cf. tying shoelaces  Passive observation: no interference with task performers – Watch from outside, record (notes, video), edit transcripts, interpret – Protocol analysis: task performers concurrently explain it – Ethnographic studies: over long periods of time, try to discover emergent properties of social group involved about task performance + attitudes, reactions, gestures, ...  Active observation: you get involved in the task, even become a team member
  • 57. Observation & ethnographic studies: pros & cons J May reveal ... – tacit knowledge that would not emerge otherwise e.g. ethnographic study of air traffic control => implicit mental model of air traffic to be preserved in system-to-be – hidden problems through tricky ways of doing things – culture-specific aspects to be taken into account J Contextualization of acquired info L Slow & expensive: to be done over long periods of time, at different times, under different workload conditions L Potentially inaccurate (people behave differently when observed) L Data mining problem, interpretation problem L Focus on system-as-is Some of the interviewing guidelines are relevant
  • 58. Group sessions  More perception, judgement, invention from interactions within group of diverse people  Elicitation takes place in series of group workshops (a few days each) + follow-up actions audiovisuals, wall charts to foster discussion, record outcome  Structured group sessions: – Each participant has a clearly defined role (leader, moderator, manager, user, developer, ...) – Contributes to req elaboration according to his/her role, towards reaching synergies – Generally focused on high-level reqs – Variants: focus groups, JAD, QFD, ...
  • 59. Group sessions (2)  Unstructured group sessions (brainstorming): – Participants have a less clearly defined role – Two separate stages ... 1. Idea generation to address a problem: as many ideas as possible from each participant without censorship/criticism 2. Idea evaluation: by all participants together according to agreed criteria (e.g. value, cost, feasibility) to prioritize ideas
  • 60. Group sessions: pros & cons J Less formal interactions than interviews => may reveal hidden aspects of the system (as-is or to-be) J Potentially ... – wider exploration of issues & ideas – more inventive ways of addressing problems J Synergies => agreed conflict resolutions L Group composition is critical ... – time consuming for key, busy people – heavily relying on leader expertise & skills – group dynamics, dominant persons => biases, inadequacies L Risk of ... – missing focus & structure => rambling discussions, little concrete outcome, waste of time – superficial coverage of more technical issues
  • 61. Combining techniques  Elicitation techniques have complementary strengths & limitations  Strength-based combinations are more effective for full, adequate coverage – artefact-driven + stakeholder-driven  Examples – Contextual Inquiry: workplace observation + open-ended interviews + prototyping – RAD: JAD group sessions + evolutionary prototyping (with code generation tools)  Techniques from other RE phases support elicitation too – Resolution of conflicts, risks, omissions, etc.
  • 62. Domain analysis & requirements elicitation: summary  Identifying the right stakeholders, interacting the right way  Artefact-driven elicitation techniques – Background study as a prerequisite – Data collection, questionnaires for preparing interviews – Repertory grids, card sorts for concept characterization – Scenarios, storyboards for concrete exploration – Prototypes, mock-ups for early feedback & adequacy check – Knowledge reuse brings a lot: domain-independent, domain-specific  Stakeholder-driven elicitation techniques – Interviews are essential - structured, unstructured, cf. guidelines – Observation, ethnographic studies for hidden knowledge – Group sessions for broader, more inventive acquisition & agreement Model-driven elicitation provides focus & structure for what needs to be elicited (see Part 2 of the book)