3.1 Use Case Diagrams



Similar documents
Use Case Diagrams. Tutorial

Interaction Diagrams. Use Cases and Actors INTERACTION MODELING

UML Diagram Types. Use Cases do the Following. Use Case Diagram

UML TUTORIALS THE USE CASE MODEL

Use Cases. Use Cases Diagrams

Sequence Diagram Tutorial. From: UML Distilled, Third Edition, Chapter 4 M. Fowler

System Modeling / Class Diagra Diagr m a Week 6

Tutorial - Building a Use Case Diagram

The «include» and «extend» Relationships in Use Case Models

Towards an Integration of Business Process Modeling and Object-Oriented Software Development

Design and UML Class Diagrams. Suggested reading: Practical UML: A hands on introduction for developers

COSC 3351 Software Design. Recap for the first quiz. Edgar Gabriel. Spring For the 1 st Quiz

Menouer Boubekeur, Gregory Provan

Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design

Software Requirements Specification of A University Class Scheduler

Process Modeling Notations and Workflow Patterns

The UML «extend» Relationship as Support for Software Variability

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?

Chapter 7: Structuring System Process Requirements

Use-Case Analysis. ! What is it? ! From where did it come? ! Now part of UML

Topic # 08. Structuring System Process Requirements. CIS Life Cycle and Requirements Structuring Stage

Chapter 6. Data-Flow Diagrams

2.1. Introduction to UML: Use-Case Diagram

1. Process Modeling. Process Modeling (Cont.) Content. Chapter 7 Structuring System Process Requirements

4.7 Business Process Model and Notation

Sofware Requirements Engineeing

Use Cases. Reference: Craig Larman, Applying UML and Patterns, Ch. 6

ATM Case Study Part 1

Course Code and Name Year - Semester. Number of marks

IRA 423/08. Designing the SRT control software: Notes to the UML schemes. Andrea Orlati 1 Simona Righini 2

(Refer Slide Time: 01:52)

BPMN by example. Bizagi Suite. Copyright 2014 Bizagi

Mobile Money Manager

Designing Real-Time and Embedded Systems with the COMET/UML method

Announcements. SE 1: Software Requirements Specification and Analysis. Review: Use Case Descriptions

[1] [2]

Circles and Diamonds and Squares, Oh My! Demystifying the BPMN Standard

Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page:

Software Specification and Architecture 2IW80

Ontological Identification of Patterns for Choreographing Business Workflow

UML FOR OBJECTIVE-C. Excel Software

Modeling Guidelines Manual

3C05: Unified Software Development Process

The Tropos and MaSE Agent-Oriented Software Engineering Methodologies. Msury Mahunnah, Tallinn University of Technology

Case Study: conceptual modeling of a helpdesk request manager

Object-Oriented Design Guidelines

UML-based Test Generation and Execution

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT SYSTEMS ANALYSIS & DESIGN EXAMINERS REPORT

Syllabus M.C.A. Object Oriented Modeling and Design usung UML

UML SUPPORTED SOFTWARE DESIGN

UCINET Quick Start Guide

Writing Use Case Scenarios for Model Driven Development

What is a life cycle model?

Collated Food Requirements. Received orders. Resolved orders. 4 Check for discrepancies * Unmatched orders

Use Cases. Massimo Felici. Massimo Felici Use Cases c

Requirements Document for the Banking System. Lecture # 40

LAB 3: Introduction to Domain Modeling and Class Diagram

Objectives After completion of study of this unit you should be able to:

Swirl. Multiplayer Gaming Simplified. CS4512 Systems Analysis and Design. Assignment Marque Browne Manuel Honegger

BCS Certificate in Systems Modelling Techniques (UML)

Requirements / Use Case Specification

TDDC88 Lab 2 Unified Modeling Language (UML)

Design and UML Class Diagrams

Masters of Science in Software & Information Systems

Methods and Tolls for Business Process Modeling

Requirement engineering Exercise the POS System solution

Application of UML in Real-Time Embedded Systems

System testing from UML diagrams

Use Case-based Requirements

Using UML Part Two Behavioral Modeling Diagrams

Keywords Online food system, Short Massage Service, E-business, notification

7. Business views (2/3h)

Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit

Bringing Business Objects into ETL Technology

A Characterization Taxonomy for Integrated Management of Modeling and Simulation Tools

CHAPTER 11 REQUIREMENTS

Software Development: An Introduction

11 November

Business Modeling with UML

View Controller Programming Guide for ios

Rose/Architect: a tool to visualize architecture

Goals of the Unit. spm adolfo villafiorita - introduction to software project management

From Business Process Models to Use Case Models

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice

2. Analysis, Design and Implementation

Execution of A Requirement Model in Software Development

USING UML FOR OBJECT-RELATIONAL DATABASE SYSTEMS DEVELOPMENT: A FRAMEWORK

The first program: Little Crab

What Every Enterprise Architect Needs to Know about Workflow and BPM

THE BCS PROFESSIONAL EXAMINATION Diploma October 2014 EXAMINERS REPORT Systems Analysis and Design

Software Engineering Reference Framework

Glossary of Object Oriented Terms

Transcription:

3.1 Subject/Topic/Focus: Introduction to Use Cases Summary: System Boundary Actors Use Cases Generalization, Inclusion, Extension Literature: [Fowler99], UML Distilled, Second Edition [Booch98] Last change: Dezember 7, 1999 3.1.1 Role of in UML Reading: A delegates task A B to B Requirements Documents actors and use cases workflows (interclass behavior) scenarios object structures Activity Diagrams Interaction Diagrams Class Diagrams 3.1.2 3.1.1

Scenarios, Workflows, Object Structures A certain path through a use case is called a scenario. A scenario shows a particular set and combination of conditions within that use case. E.g., ordering some goods: Scenario 1: All goes well. Interaction Diagrams Scenario 2: There are not enough goods. Scenario 3: Our credits are insufficient. Processes involving different use cases are shown in workflows, e.g., from ordering to delivery and payment. Activity Diagrams The structure of the objects (and actors) that occur in use cases are described by classes, e.g., customers, goods, invoices. Class Diagrams 3.1.3 Use Case Model Requirements are described in UML by a use case model. A use case model consists of single use case diagrams further (nested) packages of use case diagrams The supreme package of the nested packages is the use case model. Sale Name Package 3.1.4 3.1.2

A use case diagram shows the relationship between actors and use cases in a system. A use case diagram for a system consists of The system boundary Actors Use cases Relationships between actors and use cases Relationship System boundary Entry system Use case Ask for price Customer Actor 3.1.5 System Boundary The use case view describes the functionality of a system from an outside point of view, that means from the user s point of view. Only the interactions between actors (users) and system are shown, what happens inside the system is hidden. This boundary is clarified by the system boundary. System boundary Entry system Change price Employee Observation: In further use cases a system can appear as an actor again, e.g., an entry system (of a travel agency) acting with another system (flight reservation system). 3.1.6 3.1.3

Actors An Actor is an abstraction for an object outside the system interacting with the system, e.g., a user. This enables: several roles for one user several users with the same role systems as actors. Properties of an actor are: Name: noun Description: textual description of its role, operations, faculties, protocols,... all descriptions together built the actors-catalog Actor Customer «actor» Customer Representation as a class 3.1.7 Use Cases (1) A use case is the specification of a sequence of interactions between an actor and the computer system which should be inspected. Use cases describe user-visible functionality. An instance of a use case (instantiation) is the execution of the described interactions. A use case is defined by: Name: Verb (or noun), name of the procedure Priority: Priority in development process Description: textual description of the interaction between user and system in reference to the requirements specification (e.g., /LF70/) sequence of the interaction steps using the terms of a glossary all descriptions together built the use case catalog. 3.1.8 3.1.4

Use Cases (2) Description of a use case in the use case catalog: Example: Use case Change price 1. The employee searches the desired product. 2. The system shows all product data. 3. The employee enters the new price. 4. The system proofs if the price is in the limits. 5. The system proofs if actual orders are concerned and asks whether they should be changed to the new price. The employee can cancel the changes here. 6. The new price becomes active. Chance price Use case 3.1.9 Relationships Relationships between use cases and actors are represented by directional or non-directional arrows with different arrow peaks, may be annotated by stereotypes; «stereotype», may consist between two use cases, may consist between two actors or may consist between an use case and an actor. 3.1.10 3.1.5

Communication The communication between an actor and the system is represented by a edge between actor and use case. An actor can be associated with several use cases and vice versa. Exact term: Actor-Use Case Communication Change price Cancel travel Employee Communication Possible meanings are: A is concerned in B, A releases B, A communicates with B, A uses B,... 3.1.11 Include Use Cases Include means the inclusion of particular action sequences in the base use case. The included use case can be used independent of the base use cases. Stereotype Pay salary «include» Cancel travel «include» Base use case Included case Pay out money Inclusion 3.1.12 3.1.6

Generalization of Use Cases Generalization correlates (taxonomically) more specialized use cases and more general ones. The special case inherits every property from the general and adds incrementally further properties or replaces them. Special use cases can substitute general ones. Cancel travel Generalization Cancel group travel Cancel Last-Minute Special use case 3.1.13 Extend Use Cases Extensions define variations and special cases with the meaning, that the extending case completes the base use case, i.e., may be inserted in the behavior of the base case. Extensions are included, maybe optional, at extension points. A use case may have many extension points An extending use case may extend one or more of these extension points Stereotype «extend» (Accounting) Account travel extension points Accounting Base use case (extended case) Extending case Accounting per waiting list Extension 3.1.14 3.1.7

Generalization of Actors Actors may have a taxonomic relationship. In use case diagrams the taxonomy is usually not shown. Separate actor diagrams show the relationships between actors. general actor Customer specialized actor Tourist Business customer 3.1.15 Summary of Concepts Actors Use case System boundary System X UCBase «extend» UCExt Actor A UCVar1 UCVar2 Extending case Generalization «include» Actor B UCIncl Included case 3.1.16 3.1.8

Algorithm: Use Case Analysis with UML Input: requirements specification Output: use case model, actors catalog, use case catalog, glossary X:= set of use cases and actors mentioned in the requirements specification begin with empty use case model, actor catalog,... WHILE X!= Ø DO chose a use case or actor x of X together with the customer DO describe use case identify the participating actors and enter them into the actor catalog create the use case diagrams and enter them into the UC catalog if necessary develop prototypical user interface as discussion foundation (if necessary) actuate glossary create conceptual class, activity and interaction diagrams reconstruct the use case model (include, extend, generalize) X:= X - {x} + new detected use cases and actors END WHILE 3.1.17 Tip: Interaction with External Systems There are 4 approaches to the interaction with external systems: 1. Show each interaction with remote systems in the diagram. 2. Only show use cases for external interaction, if the other system initiates the contact. 3. Only show system actors, if they need the already identified use cases. 4. Don t treat systems as actors, but use the user s requests. Use external events to identify use cases not covered by actors. Find every possible event of the world outside needing a reaction. 3.1.18 3.1.9