Professional Documents
Culture Documents
Copyrights: @ZzLouaizZ
• Most projects require a short initial step in which the following kinds of questions are explored
project?
• A short, quantified statement of what the product is intended to do, and what bene t it brings to the
business.
• This statement of purpose is an explanation of why the business is investing in the project, along
with the business bene t it wants to achieve.
• This justifies the project and serves as a focus for the requirements discovery process.
• • Definition of solution system boundaries
• • Scope of initial release
• • Major features planned for initial release
• Acceptable quality characteristics of initial release
• • Scope of subsequent releases
Risks:
• Possibly a short risk analysis to reveal the main risks faced by the project.
Go/No decisions:
• Decide whether it makes good business sense to press the button and launch the requirements project
• Is the product goal clear and unambiguous? Or • Does it contain fudge words?
Needs Finding:
Framing design:
What’s in and what’s out: Frame describes aspects of the design problem the designer considers to be
important and will focus on.
Design space:
what can vary in how you are thinking about the problem?
Ideation:
Goal: Generate a lot concepts from which you can generate a high-quality solution.
Requirement Elicitation:
“Undiscovered requirements” syndrome • “The more you nd, the more you need to
know”
12
13
• Role playing
• User observation • Storyboarding
• Prototypes
•...
Apprenticing
• This technique is also known as ”job shadowing”
• The analyst sits with the user at the user’s place of work, learning the job by:
• making observations
• asking questions
• doing, sometimes, some of the work under supervision
Apprenticing
3
Apprenticing
• If you want to get an accurate explanation of the work:
1. Go to the work
2. Sit beside the user in the normal workplace
3. Get a running commentary on the work as it happens
• While he is working, the user can describe his task precisely and tell you why he is doing things.
Apprenticing
• Can not expect users to have the presentation and teaching skills needed to present their work e
ectively to others.
• Conversely, almost everyone is good at explaining what they are doing while they are doing it.
Nobody can talk better about what they do and why they do it than they can while in the middle of doing
it.
Apprenticing
• The requirements analyst learns the work while sitting at the user’s desk, sometimes building models of
the work while learning it
6
Apprenticing
• Apprenticeship can be combined with modeling.
• As you observe the work and the user explains it, you sketch a model
• As you build your models, feed them back to the user and con rm that they are correct.
Interviews
Interviews
• Interviews are a traditional source of requirements
• One of the most frequently-used methods for understanding your
users.
• Variety of di erent types of interviews you can conduct, depending on your constraints and needs
Interviews
• Who
• User/potential user
• ”Typical” member of group you are interested in
• Where
• Where participant normally uses product or service (or might do so) • Where participant feels comfortable
• When
• Scheduled in advance
• Mutually convenient time
• When participant normally uses product or service (or might do so)
10
Interviews
• Types of Interviews
• Group vs. individual • Remote vs. in-person
• Semi-structured • Unstructured
11
Structured Interviews
• Structured interview is a verbal questionnaire.
• The interaction is limited by a script and a xed set of questions.
• Every participant is generally asked the same questions in the same order.
• Closed question.
• Pre-coded responses, limited range of responses is elicited.
• Example: Do you think that health services in this area are excellent, good, average or poor?
12
Structured Interviews
• Can be conducted in person, over the phone, or through collaboration technologies such as chat.
• Can last from several minutes to several hours with dedicated participants.
• Can be used throughout the development cycle but are most useful when:
• the goals and major issues of a project are well understood, and
• you know enough to generate a list of expected response categories.
13
14
15
16
Semi-Structured Interviews
• Combines some structured questions with some unstructured exploration
Balance between...
17
Semi-Structured Interviews
• Alternative Names: Focused interview, qualitative research interview
• It is useful when you know something about a topic, but want to give users an opportunity to raise new
issues
• Goal: Gather systematic information about a set of central topics, while also allowing some exploration
when new issues or topics emerge.
18
• Gather data on topics where the interviewer is relatively certain that the relevant issues have been
identi ed
19
• Provide some exibility for interviewers and also allows some broad comparisons across
interviews
• Require less training time than unstructured interviews because the interviewer has a set of
speci c questions available as a starting point
20
• The ndings of semi-structured interviews might be hard to generalize because di erent interviewers
may ask some di erent questions
21
Unstructured Interviews
• An unstructured interview is the most similar to a normal conversation
• ”Unstructured” does not mean unprepared
• Interviewers need to de ne the goals of the interview clearly during
22
Unstructured Interviews
• Unstructured interviews can be done at any time during the development cycle but they are
most useful during the early stages
• The questions or topics for discussion are open-ended
• Generate rich data
• No predetermined interview format or speci c questions
23
24
25
26
27
• Risk
• To be a pioneering product is a risk in market
• Problem
• To replace the existing information broadcasting model
• Requirement
• To provide real-time noti cation of schedule change
28
29
• SR1: The system should provide the passenger information which can be used to uniquely identify a
passenger (e.g., passport No.)
• SR2: The system should provide the departure and arrival time and airport information
• SR3: The system should provide ght number information. •...
30
• Disadvantage
• Document is always not up-do-date
• Much irrelevant data results in wasting e ort
• Appropriate for
• When you are unfamiliar with the system background
Questionnaires
• Survey large groups
• Can be open-ended or closed-ended
32
• Those that do choose to respond may be systematically di erent from those who do not. -> Response Bias
Remark
Experienced questionnaire researchers give response rate estimates of anywhere between 20% and
60%, depending on user type and whether incentives are o ered or not.
33
population
• Impossible to increase the sample size -> it becomes a feedback
form.
• Feedback form: does not o er everyone in the population an equal
Example
• It may represent only people that are particularly angry about your customer service and seek out a way to contact you.
34
35
Compose Questions
1. Identify Your Research Questions and Constructs • For each objective, you need to identify :
2. Keep It Short
actionable
36
37
• Anonymity: It is di erent from con dentiality. If a respondent is anonymous, it means that even you, the researcher,
cannot associate a completed questionnaire with the respondent’s identity.
• Example: Web questionnaires are typically con dential but not anonymous. They are not anonymous because you
could trace the questionnaire (via an IP address).
38
Questionnaires Tools
• Some basic questionnaires tools are free (e.g., Google Forms)
• Online questionnaires will most likely require the purchase of a license for an online survey tool
39
40
41
42
43
Data Analysis and Interpretation
• Measures of Dispersion
These statistics show you the ”spread” or dispersion of the data around the mean.
• Standard deviation: A measure of the deviation from the mean. The larger the standard deviation, the more varied
the responses were that participants gave.
• Frequency: The number of times that each response is chosen. This is one of the more useful calculations for survey
analysis. It is nice to convert the frequencies to percentages
44
• Comparisons: Comparisons demonstrate how answers to one question are related to the responses to another
question in order to see relationships.
• Correlations: They are used to measure the degree to which two variables are related. Correlation analysis
generates a correlation coe cient, which is the measure of how the two variables move together.
45
population.
46
survey.
• Example:
whole survey
• If the respondent changed any answers to his or her questions or went back to previous pages
• If the respondent opened and closed the survey without completing it (i.e., partial completion)
• How the respondent completed it (e.g., smartphone app, web browser, phone, paper).
47
• They can focus the users on speci c topics • They can be used to prioritize requirements
• Disadvantages:
• Understanding the motivations for system requirements • Helping to ensure that the right system is
built
achievement
Identifying Stakeholders’ Goals
• Focus on why a system is required
• Express the ’why’ as a set of stakeholder goals
• Goal evolution
• re ne, elaborate, and operationalize goals
goals
De ne Goals
Where do goals come from?
• Conveyed by stakeholders
• Disclosed in requirements documents • Analysis of similar or current system • Elaborating other goals
Non-Goal Examples
Goal Exercise
Order the list of goals from high-level concern to low-level concern
• User receives a request for a timetable from a system • Collect timetables by system
• Schedule meeting
• System collect timetables from user
• Collect timetables
Goal Exercise
Order the list of goals from high-level concern to low-level concern
• Schedule meeting
• Collect timetables
• Collect timetables by system
• System collect timetables from user
• User receives a request for a timetable from a system
Goal Orientation in RE
• Goal = prescriptive statement of intent the system should satisfy through cooperation of its
agents
• ”prescriptive statement”: in optative mood
• e.g. “Loan periods shall be limited to 2 weeks”
• software + environment
10
goals
• Agent types
• software (software-to-be, legacy software, foreign software)
• The more ne-grained a goal, the fewer agents required for its satisfaction
Goals vs Domain Properties
• Domain property = descriptive statement about environment • indicative mood: ”is”, ”are”, etc –not
prescriptive
• e.g. ”A borrowed book is not available for other patrons”
• The distinction between goals & domain properties • Goals can be negotiated, weakened, prioritized
15
Goal Granularity
• Goals -> di erent levels of abstraction
• Higher-level goals: strategic, coarse-grained • “50% increase of transportation capacity” • “E ective
access to state of the art”
• Lower-level goals: technical, ne-grained
• “Acceleration command sent every 3 secs”
• “Reminder issued by end of loan period if no return”
• Linked together by AND/OR re nement
• The ner-grained a goal → the fewer agents required for its satisfaction
16
Goal Types
Goal Types
• Two types of goals:
17
Behavioral Goal
• Prescribe intended system behaviors declaratively
• Used for building operation models to meet them ”Worst-case stopping distance maintained”
“Reminder sent if book not returned on time”
18
19
Achieve Goals
• Achieve [TargetCondition]:
[if CurrentCondition then] sooner-or-later TargetCondition
• Achieve [BookRequestSatis ed]:
if a book is requested then sooner-or-later
a copy of the book is borrowed by the requesting patron
• Achieve [FastJourney]:
if train is at some plateform then, within 5 minutes, it is at next platform
20
Maintain Goals
• Maintain [GoodCondition]:
[if CurrentCondition then] always GoodCondition always (if SomeCondition then GoodCondition)
• Maintain [DoorsClosedWhileMoving]:
always (if a train is moving then its doors are closed)
• Maintain [WorstCaseStoppingDistance]:
always (if a train follows another then
its distance is su cient to allow the other to stop suddenly)
21
Avoid Goals
• Avoid [BadCondition]:
[if CurrentCondition then] never BadCondition
• Avoid [BorrowerLoansDisclosed]:
never patron loans disclosed to other patrons
22
Soft Goals
• Cannot be satis ed in clear-cut sense:
more satis ed in one option, less satis ed in another
• goal satis cing, qualitative analysis (Chung et al. 2000 ”Non-functional Requirements in Software Engineering)
23
Soft Goals
• E.g. for a train system:
24
Soft Goals
25
Goal Modeling
Behavioral Goal
• Achievable/cease goals
• Maintain/avoid goals
Soft Goals
26
Goal Analysis
Goal Elaboration:
• ”Why” questions explore higher goals (context) • ”How” questions explore lower goals (operations) •
”How else” questions explore alternatives
• One
• Precedence ordering
Obstacle Analysis:
27
28
29
Goal-based
• Advantage
• Reasonable intuitive
• Easy for business goal identi cation and decomposition
• Disadvantage
• Hard to cope with goals evolution
• Either very complex goal hierarchy or lack of details
• Appropriate for
• Initial business goal modeling
31
i* language: layout
Designed by Eric Yu in the early 90s as his PhD thesis
• SD (Strategic Dependency) models goal related dependencies between depender and dependee actors
• SR (Strategic Rationale) models how actors achieve goals, and their dependencies on other actors
32
Example
University travel reimbursement
• Students organize trips to conferences
• They rely on travel agencies and the university’s trip management information system
34
i* language
• Actor
• an active, autonomous entity that aims at achieving its goals by exercising its know-how, in collaboration with
other actors
ex= Travel Agency
• Role
• Agent
• actor with concrete, physical manifestations, such as a human individual, an organization, or a department
35
36
37
• (linking elements of the same type) may represent the part-of relationship
38
i* Intentional Elements
• Actor boundaries
• all of the elements within a boundary for an actor are explicitly desired by that actor
• to achieve these elements, an actor must depend on the intentions of other actors
• Goal (hardgoal)
• Softgoal
39
i*
• Task
40
Goal
• A goal is a state of a a airs that the actor wants to achieve and that has clear-cut criteria of achievement
• “Paper published”
• “Tickets booked” ->There is a clear criterion to determine if
41
Qualities
• A quality is an attribute for which an actor desires some level of achievement
• Examples:
42
Tasks
• A task represents actions that an actor wants to be executed
• Examples:
• Represented as diamonds
43
Resources
• A resource is a physical or informational entity that an actor requires in order to perform a task
• Examples:
• Credit card
• Server
• Personal details
• Represented as rectangles
44
45
Dependencies
• Social relationships are represented as dependencies
46
Dependencies, an example
47
• Omitting the dependeeElmt implies not specifying how the dependency will be ful lled
48
49
• Re nement • NeededBy
• Contribution • Quali cation
50
Re nement
• Re nement is a generic relationship that links goals and tasks hierarchically
• AND: the ful llment of all n children (n 2) makes the parent ful lled • Inclusive OR: the ful llment of at least one child
makes the parent
ful lled
51
NeededBy
• The NeededBy relationship links a task with a resource and it indicates that the actor needs the
resource in order to execute the task
52
Contribution
• Four types, expressing that “the source provides...”
the target
• Break: su cient evidence against the satisfaction (or for the denial)
of the target
53
Quali cation
• The quali cation relationship relates a quality to its subject: a task, goal, or resource
• Examples:
• the quality “Quick booking” refers to the goal “Trip parts booked”, elaborating on how this goal might be achieved
• the quality “No errors” refers to errors possibly created while ful lling the goal “Request prepared”
54
• Requirements are still ambiguous & open-ended after elicitation, which leads to:
• User <-> Dev di erence: User not satis ed • Dev <-> Dev di erence: Inconsistent system
• BUT:
• Goal is ideal PRODUCT not ideal Req Doc! • Thus: Req Analysis to reduce Risks!
• Requirements Analysis:
• Purpose: produce a system model that is correct, complete,
consistent, unambiguous
• Fully understand the user requirements, remove in-consistencies, anomalies, etc. from requirements
environment
• Quality of analysis directly a ects product quality • More rigorous analysis leads to better software
quality
Requirements Analysis
• Analysis and elicitation feed each other
Requirements Triage
Requirements Triage
Definition : Requirements Triage
• Requirements triage is the art of selecting the right requirements to include in the next release of
your product.
Davis Alan
• The word triage has originated from a French verb ”trier” which means to sort
• Some requirements must be included
• Some requirements should de nitely be excluded
• Some requirements are nice-to-have
Note
10
• The desired schedule and the available budget can be insu cient to address all the requirements.
• Balance the desired requirements, the available budget, and the desired schedule.
11
Activities of Triage
• Calculating the resources required and the time needed
• Selecting requirements which can bring pro t and success when the given product is marketed
12
Requirements Triage
• Not doing triage guarantees that your organization is taking huge risks:
13
Requirements Classification :
Structuring Requirements
In order to better understand and manage the large number of requirements, it is important to organize
them in logical clusters
• It is possible to classify the requirements by the following categories (or any other clustering
that appears to be convenient)
• Features
• Use cases
• User class
• Responsible subsystem
14
Requirements Relationships
• The requirements are independent!
15
Requirements Relationships
Necessity Dependency
In this relationship, it makes sense to satisfy requirement A only if we are also satisfying requirement B.
Example:
16
Requirements Relationships
Necessity Dependency
In this relationship, it makes sense to satisfy requirement A only if we are also satisfying requirement B.
Example:
16
Requirements Relationships
E ort Dependency
In this relationship, requirement A will be easier to satisfy if we are also satisfying requirement B.
Example:
• Requirement A: The system shall provide reports of accounts receivable older than 60 days.
17
Requirements Relationships
E ort Dependency
In this relationship, requirement A will be easier to satisfy if we are also satisfying requirement B.
Example:
• Requirement A: The system shall provide reports of accounts receivable older than 60 days.
• Requirement B: The system shall provide a general-purpose report-generation utility
17
Requirements Relationships
Subset Dependency
If requirement A is satis ed, then requirement B will be satis ed. That is, requirement B is part of
requirement A.
18
Requirements Relationships
Subset Dependency
If requirement A is satis ed, then requirement B will be satis ed. That is, requirement B is part of
requirement A.
you wish.
• However, if you select the parent, you must select all its children.
18
Requirements Relationships
Cover Dependency
This is a special case of subset dependency in which the union of the children’s functionality is the
parent’s functionality.
• If requirements B, C, and D are satis ed, then requirement A will be satis ed; and
• If requirement A is satis ed, then requirements B, C, and D will be satis ed.
19
Requirements Relationships
Cover Dependency
This is a special case of subset dependency in which the union of the children’s functionality is the
parent’s functionality.
• If requirements B, C, and D are satis ed, then requirement A will be satis ed; and
• If requirement A is satis ed, then requirements B, C, and D will be satis ed.
wants?
• Checks the software requirements speci cation against stakeholders goals and requirements
• It concerns the correctness of the product being built.
Some distinctions:
• Domain Properties: things in the application domain that are true anyway
• Requirements: things in the application domain that we wish to be made true
• Specification: a description of the behaviours the program must have in order to meet the requirements
• The Program running on a particular Computer satis es the Speci cation • The Speci cation, given the
Domain properties, satis es the Requirements
10
Validation Techniques
Validation in Requirements
Are we building the right system?
12
Validation Techniques
Scenario
• Can validate scenarios with users using semi-structured interviews (other techniques possible too)
• Strategies
• Read scenarios aloud together with users
13
Validation Techniques
Prototyping
Experiencing requirements directly through prototypes is the most e ective method to identify errors in
requirements.
Excellent for validation by users and customers
problems
• Help clarify fuzzy requirements • Help elicit reactions, e.g.:
• Yes, but...
• Now that I can see it working, it comes to me that I also need... • etc.
Jones 1998
14
Validation Techniques
Prototyping
Davis 1990
15
Validation Techniques
•
Prototype: Throwaway
Frequently - horizontal
• Implements a large portion of the
functionality
• Purpose
• Use
• Early or late
• Approach
• Advantages
• Disadvantages
Validation Techniques
•
Prototype: Evolving
Frequently - Vertical
• Implements a few functions better
• Advantages
• Disadvantages
• Purpose
• Use
• Incremental, evolutionary
• Approach
Validation Techniques
Evolutionary vs. Throwaway prototypes
• Throw-away prototypes are not maintained once they have been
used.
• Evolutionary prototypes are developed with the goal to be
18
Validation Techniques
Requirements Review Types Di erent types of reviews with varying degrees of formality exist
the document
• Walkthroughs
• Informal, often high-level overview • Can be led by author/expert to
de ned roles for participants, preparation is needed, exit conditions are de ned
• Always formal
19
Validation Techniques
Reading
• Authors reads
• Go section by section
• Evaluators hear/read it
• Give time for evaluators to read it
• Have questions prepared to stimulate discussion in case you get a passive audience
• Ensure the meeting focus on requirements not on how to build them or on the process.
20
Validation Techniques
Walk-through
• ad hoc preparation
• Select participants
21
Validation Techniques
Inspection: De nition
Inspection is a type of formal peer review that involves a trained team of individuals who follow a well-
de ned process to examine a work product carefully for defects.
wants?
• Checks the software requirements speci cation against stakeholders goals and requirements
• It concerns the correctness of the product being built.
• Validation usually depends on domain knowledge; that is, knowledge of the application for which the
software is written.
Some distinctions:
• Domain Properties: things in the application domain that are true anyway
• Requirements: things in the application domain that we wish to be made true
• Specification: a description of the behaviours the program must have in order to meet the requirements
Two verification criteria:
• The Program running on a particular Computer satisfies the Specification • The Specification, given the
Domain properties, satisfies the Requirements
10
11
Validation Techniques
Validation in Requirements
Are we building the right system?
12
Validation Techniques
Scenario
• Can validate scenarios with users using semi-structured interviews (other techniques possible too)
• Strategies
• Read scenarios aloud together with users
13
Validation Techniques
Prototyping
Experiencing requirements directly through prototypes is the most e ective method to identify errors in
requirements. //Excellent for validation by users and customers
problems
• Help clarify fuzzy requirements • Help elicit reactions, e.g.:
• Yes, but...
• Now that I can see it working, it comes to me that I also need... • etc.
Jones 1998
14
Validation Techniques
Prototyping
15
Validation Techniques
•
Prototype: Throwaway
Frequently - horizontal
• Implements a large portion of the functionality
• Purpose
• Use
• Early or late
• Approach
• Advantages
• Disadvantages
Validation Techniques
Prototype: Evolving
Frequently - Vertical
• Implements a few functions better
• Advantages
• Disadvantages
• Purpose
• Use
• Incremental, evolutionary
• Approach
Validation Techniques
Evolutionary vs. Throwaway prototypes
• Throw-away prototypes are not maintained once they have been
used.
• Evolutionary prototypes are developed with the goal to be
Validation Techniques
Requirements Review Types Different types of reviews with varying degrees of formality exist
• Reading and approval (sign-o ) • Encourage the reader to be more careful (and responsible)
• (Fagan) Inspections
• Very structured and detailed review,
de need roles for participants, preparation is needed, exit conditions are de need
• Always formal
Validation Techniques
Reading
• Authors reads
• Go section by section
• Evaluators hear/read it
• Give time for evaluators to read it
• Have questions prepared to stimulate discussion in case you get a passive audience
• Ensure the meeting focus on requirements not on how to build them or on the process.
Validation Techniques
Walk-through
• ad hoc preparation
• Select participants
Inspection is a type of formal peer review that involves a trained team of individuals who follow a well-
de ned process to examine a work product carefully for defects.
verify/validate requirements.