Questions: Mark Van Den Brand Tom Verhoeff
Questions: Mark Van Den Brand Tom Verhoeff
/ Faculteit Wiskunde en Informatica 03-05-12 PAGE 2 / Faculteit Wiskunde en Informatica 03-05-12 PAGE 3
Domain analysis Domain analysis
/ Faculteit Wiskunde en Informatica 03-05-12 PAGE 4 / Faculteit Wiskunde en Informatica 03-05-12 PAGE 5
/ Faculteit Wiskunde en Informatica 03-05-12 PAGE 6 / Faculteit Wiskunde en Informatica 03-05-12 PAGE 7
Defining the Scope Processes in requirements engineering
/ Faculteit Wiskunde en Informatica 03-05-12 PAGE 8 / Faculteit Wiskunde en Informatica 03-05-12 PAGE 9
/ Faculteit Wiskunde en Informatica 03-05-12 PAGE 10 / Faculteit Wiskunde en Informatica 03-05-12 PAGE 11
Functional Requirements Quality Requirements
/ Faculteit Wiskunde en Informatica 03-05-12 PAGE 12 / Faculteit Wiskunde en Informatica 03-05-12 PAGE 13
• Why is domain analysis crucial for good • You model part of reality: the Universe of Discourse (UoD)
requirements?
• Why is scoping important in problem definition? • This model is an explicit conceptual model
/ Faculteit Wiskunde en Informatica 03-05-12 PAGE 14 / Faculteit Wiskunde en Informatica 03-05-12 PAGE 15
Conceptual modeling Conceptual modeling
• Success depends on the degree with which we • a library employee may also be a client
manage to properly describe the system desired • there is a difference between `a book` and `a copy of a
book`
• status info `present` / `not present` is not sufficient; a
(copy of a) book may be lost, stolen, in repair, ...
/ Faculteit Wiskunde en Informatica 03-05-12 PAGE 16 / Faculteit Wiskunde en Informatica 03-05-12 PAGE 17
/ Faculteit Wiskunde en Informatica 03-05-12 PAGE 18 / Faculteit Wiskunde en Informatica 03-05-12 PAGE 19
Conceptual modeling Elicitation techniques
/ Faculteit Wiskunde en Informatica 03-05-12 PAGE 20 / Faculteit Wiskunde en Informatica 03-05-12 PAGE 21
Interviewing Brainstorming
! !
!
/ Faculteit Wiskunde en Informatica 03-05-12 PAGE 22 / Faculteit Wiskunde en Informatica 03-05-12 PAGE 23
Observation Task Analysis
• Read documents and discuss requirements with • Task analysis is the process of analyzing the way
users people perform their jobs: the things they do, the
• Shadowing important potential users as they do things they act on and the things they need to know.
their work • The relation between tasks and goals: a task is
• ask the user to explain everything he or she is doing performed in order to achieve a goal.
• Session video taping • Task analysis has a broad scope.
/ Faculteit Wiskunde en Informatica 03-05-12 PAGE 24 / Faculteit Wiskunde en Informatica 03-05-12 PAGE 25
• Task analysis concentrates on the current situation. • Provides a more user-oriented view perspective on
However, it can be used as a starting point for a new the design and development of an interactive
system: system.
• users will refer to new elements of a system and its • The defining property of a scenario is that it projects
functionality a concrete description of an activity that the user
• scenario-based analysis can be used to exploit new engages in when performing a specific task, a
possibilities description sufficiently detailed so that the design
implications can be inferred and reasoned about.
/ Faculteit Wiskunde en Informatica 03-05-12 PAGE 26 / Faculteit Wiskunde en Informatica 03-05-12 PAGE 27
Scenario-Based Analysis (example) Scenario-Based Analysis
• first shot:
• check due back date Scenario view Standard view
• if overdue, collect fine • concrete descriptions • abstract descriptions
• record book as being available again • focus on particular instances • focus on generic types
• put book back • work-driven • technology-driven
• open-ended, fragmentary • complete, exhaustive
• as a result of discussion with library employee: • informal, rough, colloquial • formal, rigorous
• what if person returning the book is not registered as a client? • envisioned outcomes • specified outcomes
• what if the book is damaged?
• how to handle in case the client has other books that are overdue,
and/or an outstanding reservation?
/ Faculteit Wiskunde en Informatica 03-05-12 PAGE 28 / Faculteit Wiskunde en Informatica 03-05-12 PAGE 29
Certainty vs uncertainty
/ Faculteit Wiskunde en Informatica 03-05-12 PAGE 30 / Faculteit Wiskunde en Informatica 03-05-12 PAGE 31
Questions Use case analysis
• Which problems can arise when making explicit the • Determine the classes of users that will use the
implicit model in conceptual modeling? facilities of this system (actors)
• What is the purpose of requirements elicitation? • Determine the tasks that each actor will need to do
• Name a number of elicitation techniques? with the system
/ Faculteit Wiskunde en Informatica 03-05-12 PAGE 32 / Faculteit Wiskunde en Informatica 03-05-12 PAGE 33
/ Faculteit Wiskunde en Informatica 03-05-12 PAGE 34 / Faculteit Wiskunde en Informatica 03-05-12 PAGE 35
Scenarios How to describe a single use case
A. Name: Give a short, descriptive name to the use case.
• A scenario is an instance of a use case B. Actors: List the actors who can perform this use case.
• A specific occurrence of the use case C. Goals: Explain what the actor or actors are trying to achieve.
− a specific actor ... D. Preconditions: State of the system before the use case.
− at a specific time ... E. Summary: Give a short informal description.
− with specific data. F. Related use cases.
G. Steps: Describe each step using a 2-column format.
H. Postconditions: State of the system in following completion.
/ Faculteit Wiskunde en Informatica 03-05-12 PAGE 36 / Faculteit Wiskunde en Informatica 03-05-12 PAGE 37
Register in Course • Often one use case (or a very small number) can be
Add Course Offer ing identified as central to the system
• The entire system can be built around this particular
use case
Registr ar Actor Add Course
• There are other reasons for focusing on particular
Enter Grade
for Cour se use cases:
Student
• Some use cases will represent a high risk because for
some reason their implementation is problematic
Find information about course • Some use cases will have high political or commercial
value
Pr ofessor Actor
/ Faculteit Wiskunde en Informatica 03-05-12 PAGE 38 / Faculteit Wiskunde en Informatica 03-05-12 PAGE 39
The benefits of basing software Use cases must not be seen as a
development on use cases panacea
• Be used to plan the development process • Some aspects of software are not covered by use
case analysis.
• Be used to both develop and validate the requirements
• Innovative solutions may not be considered.
• Form the basis for the definition of test cases
/ Faculteit Wiskunde en Informatica 03-05-12 PAGE 40 / Faculteit Wiskunde en Informatica 03-05-12 PAGE 41
/ Faculteit Wiskunde en Informatica 03-05-12 PAGE 42 / Faculteit Wiskunde en Informatica 03-05-12 PAGE 43
Prioritizing requirements (MoSCoW) Prioritizing requirements (Kano model)
• Must haves: top priority requirements • Attractive: more satisfied if +, not less satisfied if –
• Must-be: dissatisfied when -, at most neutral
• Should haves: highly desirable • One-dimensional: satisfaction proportional to
number
• Could haves: if time allows • Indifferent: don’t care
• Reverse: opposite of what analyst thought
• Won’t haves: not today • Questionable: preferences not clear
One dimensional
/ Faculteit Wiskunde en Informatica 03-05-12 PAGE 44 / Faculteit Wiskunde en Informatica 03-05-12 PAGE 45
• readable
• understandable
• non-ambiguous
• complete
• verifiable
• consistent
• modifiable
• traceable
• usable
• …
/ Faculteit Wiskunde en Informatica 03-05-12 PAGE 46 / Faculteit Wiskunde en Informatica 03-05-12 PAGE 47
IEEE Standard 830 IEEE Standard 830 (cntd)
SE, Requirements Engineering, Hans van Vliet, ©2007 48 SE, Requirements Engineering, Hans van Vliet, ©2007 49
SE, Requirements Engineering, Hans van Vliet, ©2007 50 SE, Requirements Engineering, Hans van Vliet, ©2007 51
Functional vs. Non-Functional
The 7 sins of the analyst
Requirements
/ Faculteit Wiskunde en Informatica 03-05-12 PAGE 54 SE, Requirements Engineering, Hans van Vliet, ©2007 55
Requirements Review Checklist
Requirements Review Checklist
(continued)
1. Does the (software) product have a succinct name, and a clearly 8. Are all unstable requirements marked as such? (TBC=`To Be Confirmed',
TBD=`To Be Defined')
described purpose? 9. Is each requirement verifiable (in a provisional acceptance test)?
2. Are the characteristics of users and of typical usage mentioned? (No (Measurable: where possible, quantify; capacity, performance, accuracy)
user categories missing.) 10. Are the requirements consistent? (Non-conflicting.)
11. Are the requirements sufficiently precise and unambiguous? (Which
3. Are all external interfaces of the software explicitly mentioned? (No interfaces are involved, who has the initiative, who supplies what data, no
interfaces missing.) passive voice.)
4. Does each specific requirement have a unique identifier? 12. Are the requirements complete? Can everything not explicitly constrained
indeed be viewed as developer freedom? Is a product that satisfies every
5. Is each requirement atomic and simply formulated? (Typically a requirement indeed acceptable? (No requirements missing.)
single sentence. Composite requirements must be split.) 13. Are the requirements understandable to those who will need to work with
them later?
6. Are requirements organized into coherent groups? (If necessary, 14. Are the requirements realizable within budget?
hierarchical; not more than about ten per group.) 15. Do the requirements express actual customer needs (in the language of the
problem domain), rather than solutions (in developer jargon)?
7. Is each requirement prioritized? (Is the meaning of the priority levels
clear?)
Chapter 4: Chapter 4:
© Lethbridge/Laganière 2005 56 Developing © Lethbridge/Laganière 2005 57 Developing
requirements requirements
• Traceability:
Re quirements
document
rationale Design
1.1 XXXX
document
.... bec ause
1.2 YYYY
....due to
requirement 1.2
Chapter 4: Chapter 4:
© Lethbridge/Laganière 2005 58 Developing © Lethbridge/Laganière 2005 59 Developing
requirements requirements
Managing Changing Requirements
• Requirements change because:
• Business process changes
• Technology changes
• The problem becomes better understood
Chapter 4:
© Lethbridge/Laganière 2005 60 Developing
requirements