Top Banner
Introduction Use Case Diagram Unified Modeling Language (UML) Introduction and Use Case Diagram Miaoqing Huang University of Arkansas Spring 2011 1 / 24
24

Unified Modeling Language (UML) Introduction and Use Case ...csce.uark.edu/~mqhuang/courses/3513/s2011/lectures/SE_Lecture_… · Introduction Use Case Diagram What is UML? UML is

Aug 10, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Unified Modeling Language (UML) Introduction and Use Case ...csce.uark.edu/~mqhuang/courses/3513/s2011/lectures/SE_Lecture_… · Introduction Use Case Diagram What is UML? UML is

IntroductionUse Case Diagram

Unified Modeling Language (UML)Introduction and Use Case Diagram

Miaoqing HuangUniversity of Arkansas

Spring 2011

1 / 24

Page 2: Unified Modeling Language (UML) Introduction and Use Case ...csce.uark.edu/~mqhuang/courses/3513/s2011/lectures/SE_Lecture_… · Introduction Use Case Diagram What is UML? UML is

IntroductionUse Case Diagram

Outline

1 Introduction

2 Use Case Diagram

2 / 24

Page 3: Unified Modeling Language (UML) Introduction and Use Case ...csce.uark.edu/~mqhuang/courses/3513/s2011/lectures/SE_Lecture_… · Introduction Use Case Diagram What is UML? UML is

IntroductionUse Case Diagram

Outline

1 Introduction

2 Use Case Diagram

3 / 24

Page 4: Unified Modeling Language (UML) Introduction and Use Case ...csce.uark.edu/~mqhuang/courses/3513/s2011/lectures/SE_Lecture_… · Introduction Use Case Diagram What is UML? UML is

IntroductionUse Case Diagram

What is UML?

UML is a modeling languageA model is an abstraction describing a systemModeling language is used to express design

Use notation for depicting models

UML is the de facto modeling language in software engineeringCreated and managed by the Object Management Group, now atversion 2.3 (May 2010)Key persons: (three amigos) James Rumbaugh, Grady Booch,Ivar Jacobson

UML includes a set of graphical notation techniques to createvisual models of software-intensive systems

14 diagrams7 structural diagrams7 behavior diagrams

4 / 24

Page 5: Unified Modeling Language (UML) Introduction and Use Case ...csce.uark.edu/~mqhuang/courses/3513/s2011/lectures/SE_Lecture_… · Introduction Use Case Diagram What is UML? UML is

IntroductionUse Case Diagram

UML Diagrams

5 / 24

Page 6: Unified Modeling Language (UML) Introduction and Use Case ...csce.uark.edu/~mqhuang/courses/3513/s2011/lectures/SE_Lecture_… · Introduction Use Case Diagram What is UML? UML is

IntroductionUse Case Diagram

UML Diagrams – Example

use case diagram class diagram sequence diagram

6 / 24

Page 7: Unified Modeling Language (UML) Introduction and Use Case ...csce.uark.edu/~mqhuang/courses/3513/s2011/lectures/SE_Lecture_… · Introduction Use Case Diagram What is UML? UML is

IntroductionUse Case Diagram

UML Diagrams – Example

Use case diagramDescribe the functional behavior of the system as seen by theuser

Class diagramDescribe the static structure of the system: Objects, attributes,associations

Sequence diagramDescribe the dynamic behavior between objects of the system

State machine diagramDescribe the dynamic behavior of an individual object

7 / 24

Page 8: Unified Modeling Language (UML) Introduction and Use Case ...csce.uark.edu/~mqhuang/courses/3513/s2011/lectures/SE_Lecture_… · Introduction Use Case Diagram What is UML? UML is

IntroductionUse Case Diagram

UML Core Conventions

All UML Diagrams denote graphs of nodes and edgesNodes are entities and drawn as rectangles or ovalsRectangles denote classes or instances

Ovals denote functionsNames of Classes are not underlined

SimpleWatchFirefighter

Names of Instances are underlinedmyWatch:SimpleWatchJoe:Firefighter

An edge between two nodes denotes a relationship between thecorresponding entities

8 / 24

Page 9: Unified Modeling Language (UML) Introduction and Use Case ...csce.uark.edu/~mqhuang/courses/3513/s2011/lectures/SE_Lecture_… · Introduction Use Case Diagram What is UML? UML is

IntroductionUse Case Diagram

Use Case Diagram

Use case diagrams represent the functionality of the systemfrom user’s point of view

WatchUser

Actor

Use case

ReadTime

SetTime

ChangeBattery

WatchRepairPerson

9 / 24

Page 10: Unified Modeling Language (UML) Introduction and Use Case ...csce.uark.edu/~mqhuang/courses/3513/s2011/lectures/SE_Lecture_… · Introduction Use Case Diagram What is UML? UML is

IntroductionUse Case Diagram

Class Diagram

Class diagrams represent the structure of the system

12

push()release()

1

1

blinkIdxblinkSeconds()blinkMinutes()blinkHours()stopBlinking()referesh()

LCDDisplay BatteryLoad

1

2

1

TimeNow

1

Watch

Operations

statePushButton

Attribute

ClassAssociation

Multiplicity

10 / 24

Page 11: Unified Modeling Language (UML) Introduction and Use Case ...csce.uark.edu/~mqhuang/courses/3513/s2011/lectures/SE_Lecture_… · Introduction Use Case Diagram What is UML? UML is

IntroductionUse Case Diagram

Sequence Diagram

Sequence diagrams represent the behavior of a system asmessages (“interactions”) between different objects

Message

:Time:Watch:WatchUser

Object

Activation

Actor

pressButton1()

Lifeline

blinkHours()

pressButton2()incrementMinutes()

:LCDDisplay

pressButton1and2()commitNewTime()

stopBlinking()

refresh()

pressButton1()blinkMinutes()

11 / 24

Page 12: Unified Modeling Language (UML) Introduction and Use Case ...csce.uark.edu/~mqhuang/courses/3513/s2011/lectures/SE_Lecture_… · Introduction Use Case Diagram What is UML? UML is

IntroductionUse Case Diagram

State Machine Diagram

State machine diagrams represents behavior of a single objectwith interesting dynamic behavior

State

Initial state

Final state

Transition

Event

button1&2Pressed

button1Pressed

button2Pressed

button2Pressed

button2Pressed

button1Pressed

button1&2Pressed IncrementMinutes

IncrementHours

BlinkHours

BlinkSeconds

BlinkMinutes

IncrementSeconds

StopBlinking

12 / 24

Page 13: Unified Modeling Language (UML) Introduction and Use Case ...csce.uark.edu/~mqhuang/courses/3513/s2011/lectures/SE_Lecture_… · Introduction Use Case Diagram What is UML? UML is

IntroductionUse Case Diagram

Outline

1 Introduction

2 Use Case Diagram

13 / 24

Page 14: Unified Modeling Language (UML) Introduction and Use Case ...csce.uark.edu/~mqhuang/courses/3513/s2011/lectures/SE_Lecture_… · Introduction Use Case Diagram What is UML? UML is

IntroductionUse Case Diagram

What is a use case?

ScenarioA sequence of steps describing an interaction between a user anda system

The customer browse the catalog and adds desired items to the shoppingbasket. When the customer wishes to pay, the customer describes theshipping and credit information and confirms the sale. The systemchecks the authorization on the credit card and confirms the sale bothimmediately and with a follow-up email.

Use caseA use case is a set of scenarios tied together by a common usergoal

Buy a Product use case: a successful purchase or authorizationfailure

14 / 24

Page 15: Unified Modeling Language (UML) Introduction and Use Case ...csce.uark.edu/~mqhuang/courses/3513/s2011/lectures/SE_Lecture_… · Introduction Use Case Diagram What is UML? UML is

IntroductionUse Case Diagram

Describe a use case

A set of scenarios in the Use Case “Buy a product online”:1. Customer browses through catalog and selects items to buy2. Customer goes to check out3. Customer fills in shipping information4. System presents full pricing information, including shipping5. Customer fills in credit card information6. System authorizes purchase7. System confirms sale immediately8. System sends confirming email to customer

15 / 24

Page 16: Unified Modeling Language (UML) Introduction and Use Case ...csce.uark.edu/~mqhuang/courses/3513/s2011/lectures/SE_Lecture_… · Introduction Use Case Diagram What is UML? UML is

IntroductionUse Case Diagram

An Example

uc Use Cases

System Boundary

OrderFood

CookFood

OrderWine

ServeFood

ServeWine

EatFood

DrinkWine

Pay forFood

Pay forWine

Waiter

Chef

Client

Cashier

receive order

confirm order

facilitate payment

pay

accept

payment

place order

<<extend>> {if wine was ordered}

<<extend>>

<<extend>>

{if wine was

served}

<<extend>>{if wine

was consumed}

16 / 24

Page 17: Unified Modeling Language (UML) Introduction and Use Case ...csce.uark.edu/~mqhuang/courses/3513/s2011/lectures/SE_Lecture_… · Introduction Use Case Diagram What is UML? UML is

IntroductionUse Case Diagram

Actor and Use Case

An actor is a role that a user play with respect to thesystemActors are connected to the use cases by a line

A single actor may perform many use casesA use case may have several actors performing it

Four types of relationships in use case diagramGeneralization between use casesGeneralization between actorsInclude relationship between use casesExtend relationship between use cases

17 / 24

Page 18: Unified Modeling Language (UML) Introduction and Use Case ...csce.uark.edu/~mqhuang/courses/3513/s2011/lectures/SE_Lecture_… · Introduction Use Case Diagram What is UML? UML is

IntroductionUse Case Diagram

Generalization between use cases

Different versions of a use case share some actions in commonand have some that are unique to each one

Generalized use case: abstract use caseIt may never exist in a real system

Specialized use case: concrete use case

Pay utility bill

18 / 24

Page 19: Unified Modeling Language (UML) Introduction and Use Case ...csce.uark.edu/~mqhuang/courses/3513/s2011/lectures/SE_Lecture_… · Introduction Use Case Diagram What is UML? UML is

IntroductionUse Case Diagram

Generalization between Actors

Specialized actor can do everything the generalactor can do, and more

19 / 24

Page 20: Unified Modeling Language (UML) Introduction and Use Case ...csce.uark.edu/~mqhuang/courses/3513/s2011/lectures/SE_Lecture_… · Introduction Use Case Diagram What is UML? UML is

IntroductionUse Case Diagram

Generalization between Actors

Specialized actor can do everything the generalactor can do, and more

20 / 24

Page 21: Unified Modeling Language (UML) Introduction and Use Case ...csce.uark.edu/~mqhuang/courses/3513/s2011/lectures/SE_Lecture_… · Introduction Use Case Diagram What is UML? UML is

IntroductionUse Case Diagram

Generalization between Actors

Specialized actor can do everything the generalactor can do, and more

21 / 24

Page 22: Unified Modeling Language (UML) Introduction and Use Case ...csce.uark.edu/~mqhuang/courses/3513/s2011/lectures/SE_Lecture_… · Introduction Use Case Diagram What is UML? UML is

IntroductionUse Case Diagram

Include Relationship between Use Cases

One use case includes the functionality of another use caseInvocation of one use case by another one

e.g., calling a function or invoking an operation within source code

22 / 24

Page 23: Unified Modeling Language (UML) Introduction and Use Case ...csce.uark.edu/~mqhuang/courses/3513/s2011/lectures/SE_Lecture_… · Introduction Use Case Diagram What is UML? UML is

IntroductionUse Case Diagram

Extend Relationship between Use Cases

One use case may be extended by the functionality in anotheruse case

23 / 24

Page 24: Unified Modeling Language (UML) Introduction and Use Case ...csce.uark.edu/~mqhuang/courses/3513/s2011/lectures/SE_Lecture_… · Introduction Use Case Diagram What is UML? UML is

IntroductionUse Case Diagram

Include, Generalization, Extend

IncludeUse include when you are repeating yourself in two or moreseparate use cases and you want to avoid repetition

GeneralizationUse Generalization when you are describing a variation on normalbehavior and you wish to describe it casually

ExtendUse extend when you are describing a variation on normalbehavior and you wish to use the more controlled form, declaringyour extension points in your base use case

24 / 24