softwaretechnik - lecture 03: from requirements to definition€¦ · use cases and use case...

21
Softwaretechnik Lecture 03: From Requirements to Definition Peter Thiemann University of Freiburg, Germany SS 2011 Peter Thiemann (Univ. Freiburg) Softwaretechnik SWT 1 / 21

Upload: others

Post on 30-Apr-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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