![Page 1: Softwaretechnik - Lecture 03: From Requirements to Definition€¦ · Use Cases and Use Case Diagrams Jacobson, UML Actor I participates directly in a process I stands for a role](https://reader034.vdocuments.site/reader034/viewer/2022042209/5eacd8baf4ef996d3a284125/html5/thumbnails/1.jpg)
SoftwaretechnikLecture 03: From Requirements to Definition
Peter Thiemann
University of Freiburg, Germany
SS 2011
Peter Thiemann (Univ. Freiburg) Softwaretechnik SWT 1 / 21
![Page 2: Softwaretechnik - Lecture 03: From Requirements to Definition€¦ · Use Cases and Use Case Diagrams Jacobson, UML Actor I participates directly in a process I stands for a role](https://reader034.vdocuments.site/reader034/viewer/2022042209/5eacd8baf4ef996d3a284125/html5/thumbnails/2.jpg)
Requirements Engineering
comprises methods, means of description, and tools to discover, analyze,and formulate requirements of software systems
I requirements analysis (Systemanalyse)
I requirements specification (Produktdefinition)
Peter Thiemann (Univ. Freiburg) Softwaretechnik SWT 2 / 21
![Page 3: Softwaretechnik - Lecture 03: From Requirements to Definition€¦ · Use Cases and Use Case Diagrams Jacobson, UML Actor I participates directly in a process I stands for a role](https://reader034.vdocuments.site/reader034/viewer/2022042209/5eacd8baf4ef996d3a284125/html5/thumbnails/3.jpg)
Requirements
I Functional requirementsI inputs and their constraintsI functions of the systemI outputs (reactions)
I Nonfunctional requirementsI runtimeI memoryI standards
Peter Thiemann (Univ. Freiburg) Softwaretechnik SWT 3 / 21
![Page 4: Softwaretechnik - Lecture 03: From Requirements to Definition€¦ · Use Cases and Use Case Diagrams Jacobson, UML Actor I participates directly in a process I stands for a role](https://reader034.vdocuments.site/reader034/viewer/2022042209/5eacd8baf4ef996d3a284125/html5/thumbnails/4.jpg)
Requirements
I Requirements on realizationI software / hardwareI devicesI interfacesI facilities (OS, computers, . . . )I documentation
I Requirements on testing, installation, supportI Requirements on construction of the system
I approachI resources (personal, cost, deadlines)I rules, standards
Peter Thiemann (Univ. Freiburg) Softwaretechnik SWT 4 / 21
![Page 5: Softwaretechnik - Lecture 03: From Requirements to Definition€¦ · Use Cases and Use Case Diagrams Jacobson, UML Actor I participates directly in a process I stands for a role](https://reader034.vdocuments.site/reader034/viewer/2022042209/5eacd8baf4ef996d3a284125/html5/thumbnails/5.jpg)
Systematic Investigation of Functional Requirements
I Inside-out methodsmodeling starts from product internals(rarely applicable for new products)
I Outside-in methodsmodeling starts from environment of product
I actors and use cases (use case diagram, UML)I interfaces and data flows (context diagram)
Peter Thiemann (Univ. Freiburg) Softwaretechnik SWT 5 / 21
![Page 6: Softwaretechnik - Lecture 03: From Requirements to Definition€¦ · Use Cases and Use Case Diagrams Jacobson, UML Actor I participates directly in a process I stands for a role](https://reader034.vdocuments.site/reader034/viewer/2022042209/5eacd8baf4ef996d3a284125/html5/thumbnails/6.jpg)
Use Cases and Use Case DiagramsJacobson, UML
Actor
I participates directly in a processI stands for a role
I natural personI unit of organizationI external system
Peter Thiemann (Univ. Freiburg) Softwaretechnik SWT 6 / 21
![Page 7: Softwaretechnik - Lecture 03: From Requirements to Definition€¦ · Use Cases and Use Case Diagrams Jacobson, UML Actor I participates directly in a process I stands for a role](https://reader034.vdocuments.site/reader034/viewer/2022042209/5eacd8baf4ef996d3a284125/html5/thumbnails/7.jpg)
Use Cases
Use case [Definition]
I a sequence of actionsI performed by one actorI to achieve a particular goal
two forms:
I graphical (UML diagram)I textual (with templates)
Peter Thiemann (Univ. Freiburg) Softwaretechnik SWT 7 / 21
![Page 8: Softwaretechnik - Lecture 03: From Requirements to Definition€¦ · Use Cases and Use Case Diagrams Jacobson, UML Actor I participates directly in a process I stands for a role](https://reader034.vdocuments.site/reader034/viewer/2022042209/5eacd8baf4ef996d3a284125/html5/thumbnails/8.jpg)
Example Use Case Diagram
Peter Thiemann (Univ. Freiburg) Softwaretechnik SWT 8 / 21
![Page 9: Softwaretechnik - Lecture 03: From Requirements to Definition€¦ · Use Cases and Use Case Diagrams Jacobson, UML Actor I participates directly in a process I stands for a role](https://reader034.vdocuments.site/reader034/viewer/2022042209/5eacd8baf4ef996d3a284125/html5/thumbnails/9.jpg)
Generalization
I generalization
I concrete and abstract use cases
I concrete and abstract actors
Peter Thiemann (Univ. Freiburg) Softwaretechnik SWT 9 / 21
![Page 10: Softwaretechnik - Lecture 03: From Requirements to Definition€¦ · Use Cases and Use Case Diagrams Jacobson, UML Actor I participates directly in a process I stands for a role](https://reader034.vdocuments.site/reader034/viewer/2022042209/5eacd8baf4ef996d3a284125/html5/thumbnails/10.jpg)
Use Case Textual Template
Use case: name
Goal: achieved by successful execution
Category: primary, secondary, optional
Precondition:
Postcondition/success:
Postcondition/failure:
Actors:
Trigger:
Description: numbered tasks
Extensions: wrt previous tasks
Alternatives: wrt tasks
Peter Thiemann (Univ. Freiburg) Softwaretechnik SWT 10 / 21
![Page 11: Softwaretechnik - Lecture 03: From Requirements to Definition€¦ · Use Cases and Use Case Diagrams Jacobson, UML Actor I participates directly in a process I stands for a role](https://reader034.vdocuments.site/reader034/viewer/2022042209/5eacd8baf4ef996d3a284125/html5/thumbnails/11.jpg)
Use Case Guidelines
I Outside view — System as black box
I No implementation specifics
I No UI specifics
I Primarily text
Peter Thiemann (Univ. Freiburg) Softwaretechnik SWT 11 / 21
![Page 12: Softwaretechnik - Lecture 03: From Requirements to Definition€¦ · Use Cases and Use Case Diagrams Jacobson, UML Actor I participates directly in a process I stands for a role](https://reader034.vdocuments.site/reader034/viewer/2022042209/5eacd8baf4ef996d3a284125/html5/thumbnails/12.jpg)
Tools
I http://www.umlet.com/UML diagram drawing — standalone and in Eclipse
I http://yuml.me/online drawing of use case and class diagrams (UML)
I http://www.gliffy.com/flowchart-software/flowcharts and DFD
Peter Thiemann (Univ. Freiburg) Softwaretechnik SWT 12 / 21
![Page 13: Softwaretechnik - Lecture 03: From Requirements to Definition€¦ · Use Cases and Use Case Diagrams Jacobson, UML Actor I participates directly in a process I stands for a role](https://reader034.vdocuments.site/reader034/viewer/2022042209/5eacd8baf4ef996d3a284125/html5/thumbnails/13.jpg)
Related Approaches
User StoriesA user story is a very high-level definition of a requirement, containing justenough information so that the developers can produce a reasonableestimate of the effort to implement it. [Scott Amblerhttp://www.agilemodeling.com/artifacts/userStory.htm]
I Very slim, very high-level, often just one sentence.
I Informal, but proposed formal style [Mike Cohn]:As a (role) I want (something) so that (benefit).
Peter Thiemann (Univ. Freiburg) Softwaretechnik SWT 13 / 21
![Page 14: Softwaretechnik - Lecture 03: From Requirements to Definition€¦ · Use Cases and Use Case Diagrams Jacobson, UML Actor I participates directly in a process I stands for a role](https://reader034.vdocuments.site/reader034/viewer/2022042209/5eacd8baf4ef996d3a284125/html5/thumbnails/14.jpg)
Example User Stories
I Students can purchase monthly parking passes online.
I Parking passes can be paid via credit cards.
I Professors can input student marks.
I Students can obtain their current seminar schedule.
I Students can order official transcripts.
I Students can only enroll in seminars for which they have prerequisites.
I As a student I want to purchase a monthly parking pass so that I candrive to school.
I As a student I want to obtain my current seminar schedule so that Ican follow my classes.
Peter Thiemann (Univ. Freiburg) Softwaretechnik SWT 14 / 21
![Page 15: Softwaretechnik - Lecture 03: From Requirements to Definition€¦ · Use Cases and Use Case Diagrams Jacobson, UML Actor I participates directly in a process I stands for a role](https://reader034.vdocuments.site/reader034/viewer/2022042209/5eacd8baf4ef996d3a284125/html5/thumbnails/15.jpg)
User Stories Guidelines
I Authors
I Tools
I Size
I Priority
I Traceability
Peter Thiemann (Univ. Freiburg) Softwaretechnik SWT 15 / 21
![Page 16: Softwaretechnik - Lecture 03: From Requirements to Definition€¦ · Use Cases and Use Case Diagrams Jacobson, UML Actor I participates directly in a process I stands for a role](https://reader034.vdocuments.site/reader034/viewer/2022042209/5eacd8baf4ef996d3a284125/html5/thumbnails/16.jpg)
Related Approaches
Usage Scenarios
A usage scenario, or scenario for short, describes a real-world example ofhow one or more people or organizations interact with a system. Theydescribe the steps, events, and/or actions which occur during theinteraction. Usage scenarios can be very detailed, indicating exactly howsomeone works with the user interface, or reasonably high-level describingthe critical business actions but not the indicating how they are performed.[Scott Amblerhttp://www.agilemodeling.com/artifacts/usageScenario.htm]
I Further elaboration of a use case.
I Scenario ∼ path through a use case.
Peter Thiemann (Univ. Freiburg) Softwaretechnik SWT 16 / 21
![Page 17: Softwaretechnik - Lecture 03: From Requirements to Definition€¦ · Use Cases and Use Case Diagrams Jacobson, UML Actor I participates directly in a process I stands for a role](https://reader034.vdocuments.site/reader034/viewer/2022042209/5eacd8baf4ef996d3a284125/html5/thumbnails/17.jpg)
Example High-Level Scenario
Peter Thiemann (Univ. Freiburg) Softwaretechnik SWT 17 / 21
![Page 18: Softwaretechnik - Lecture 03: From Requirements to Definition€¦ · Use Cases and Use Case Diagrams Jacobson, UML Actor I participates directly in a process I stands for a role](https://reader034.vdocuments.site/reader034/viewer/2022042209/5eacd8baf4ef996d3a284125/html5/thumbnails/18.jpg)
Example Detailed Scenario
Peter Thiemann (Univ. Freiburg) Softwaretechnik SWT 18 / 21
![Page 19: Softwaretechnik - Lecture 03: From Requirements to Definition€¦ · Use Cases and Use Case Diagrams Jacobson, UML Actor I participates directly in a process I stands for a role](https://reader034.vdocuments.site/reader034/viewer/2022042209/5eacd8baf4ef996d3a284125/html5/thumbnails/19.jpg)
Interfaces and Data Flows
interfaces:
I information sourcesI information sinksI should specify origin of information
data flow:
I all input and output dataI arrows with markingsI markings should be informative
representation by context diagram
origin: Tom DeMarco’s structured analysis
Peter Thiemann (Univ. Freiburg) Softwaretechnik SWT 19 / 21
![Page 20: Softwaretechnik - Lecture 03: From Requirements to Definition€¦ · Use Cases and Use Case Diagrams Jacobson, UML Actor I participates directly in a process I stands for a role](https://reader034.vdocuments.site/reader034/viewer/2022042209/5eacd8baf4ef996d3a284125/html5/thumbnails/20.jpg)
Example Context Diagram
http://upload.wikimedia.org/wikipedia/commons/8/8e/NDE Context Diagram.jpg
Peter Thiemann (Univ. Freiburg) Softwaretechnik SWT 20 / 21
![Page 21: Softwaretechnik - Lecture 03: From Requirements to Definition€¦ · Use Cases and Use Case Diagrams Jacobson, UML Actor I participates directly in a process I stands for a role](https://reader034.vdocuments.site/reader034/viewer/2022042209/5eacd8baf4ef996d3a284125/html5/thumbnails/21.jpg)
Perspective on Changing Requirements
I Produce high quality requirements (see checklist in CC2)
I Advertize the cost of requirements changes
I Establish a change-control procedure
I Anticipate changes
I Consider the business value of requirements
I Cancel a project with bad or frequently changing requirements
Peter Thiemann (Univ. Freiburg) Softwaretechnik SWT 21 / 21