Uml

15
1 Unified Modeling Language (UML) A modeling language is a language whose rules focus on the conceptual and physical representation of a system. Standard Language for – visualizing – specifying – constructing – documenting Process independent Notation is well-defined semantics

description

uml diagram

Transcript of Uml

Page 1: Uml

1

Unified Modeling Language (UML)

• A modeling language is a language whose rules focus on the conceptual and physical representation of a system.

• Standard Language for – visualizing– specifying– constructing– documenting

• Process independent• Notation is well-defined semantics

Page 2: Uml

2

Actors• Actor represents a role that a human, a hardware device,

or even another system plays with a system.• Actor models external entities of system• Actors interact directly with system

– Human user– External data store– External network– External system

• Actor initiates actions by system– May use I/O devices or external system to physically interact

with system– Actor initiates use cases

Page 3: Uml

3

Actors

• Actors are always external to system– Who uses the system?– Who installs the system?– Who starts the system?– Who maintains the system?– Who shuts down the system?– What other systems use this system?– Who gets information from this system?– Who provides information to the system?– Does anything happen automatically at a preset time?

Page 4: Uml

4

Use Cases• Use Case

– Scenario showing interaction between user (actor) and system

• Initially developed in the Inception phase– Shows interaction between actor and black box system

• Use cases refined in Elaboration Phase– Show major objects participating in use case

– Develop collaboration diagrams or sequence diagrams

• Use cases refined further in Construction Phase• Use cases form basis of integration & system test cases

Page 5: Uml

5

Use Cases

• Identifying use cases – Consider each major function an actor needs to perform

– Provides value to actor

– Use case is a complete sequence of events initiated by an actor

• Specifies interaction between actor and system

– Use case starts with input from an actor

– Basic path• Most common sequence

– Alternative branches• Variants of basic path

– E.g., for error handling

Page 6: Uml

6

Use Cases

• Identifying use cases– What functions will the actor want from the system?

– Does the system store information? What actors will create, read, update, or delete that information?

– Does the system need to notify an actor about changes in its internal state?

– Are there any external events that the system must know about? What actor informs the system about those events?

– Startup, shutdown, diagnostics, installation, training, changing a business process.

Page 7: Uml

7

Describing Actors and Use Cases

• Each actor and use case needs a brief description• Example of a order processing company

– Customer - a person who orders products– Customer rep - an employee who processes customer

requests– Shipping Co. - USPS, UPS, DHL FedEx, etc.– Clerk - an employee who packages, labels, and ships

orders.– Inventory system - software that tracks the company

inventory– Accounting system - software that keeps the company

books.

Page 8: Uml

8

Describing Actors and Use Cases

• Place order - a customer creates a new order to request products and provide payment for those products.

• Get catalog - a customer requests a catalog.

• Get status on order - a customer gets the status of an existing order

• Return product - a customer returns a product for a refund

• Cancel order - a customer cancels an existing order

• Register Complaint - a customer sends a message to customer support

• Charge account - charge a customer’s account

• Credit account - credit a customer’s account

Page 9: Uml

9

Describing Actors and Use Cases

• Deliver packages - request a shipping company to deliver products or our customers

• Calculate postage - determine how much postage is needed to send an order to an customer

• Print mailing label - print a mailing label for an order

• Get product information - get information about a product

• Update product quantities - update the amount of product in stock

• Receive back-ordered item - the processing to be done when item that are back-ordered have been received

Page 10: Uml

10

Use Case Diagram for Placing Orders

Customer

CustomerRep

Placeorder

Get statuson order

Getcatalog

Cancelorder

Returnproduct

Registercomplaint

Page 11: Uml

11

Use Cases for Filling Orders

ShippingCompany

Inventorysystem

Deliverpackages

Calculatepostage

Print mailinglabel

Chargeaccount

Creditaccount

Get productinformation

Clerk Accountingsystem

Update productquantities

Receive back-ordered items

Page 12: Uml

12

Use Case Package

• Use Case Package – Encompasses related group of use cases

– Represent high level requirements

• Use Case Package Structuring– Group use cases into packages based on

• Major subset of system functionality

• Related use cases started by the same actor

Order placement Order fulfillment

Page 13: Uml

13

Use Case Relationships

• Include relationship– Identify common patterns (sequences) in several use

cases

– Extract common pattern into abstract use case

• Concrete use cases include abstract use case• Example

– Withdraw Funds use case includes Validate PIN use case

Page 14: Uml

14

Use Case Diagram for ATM

ATMCustomer

Withdrawfunds

Queryaccount

Transferfunds

Startup

Shutdown

ValidatePIN

Operator

Addcash

«include»

«include»

«include»

Page 15: Uml

15

Use Case Relationships

• Extend relationship– Use case A is an extension of use case B

– Under certain conditions use case B will be extended by description given in use case A

– Same use case is extended in different ways

– Eliminate duplicate event sequences

• When to use extend– Show conditional parts of use case

– Model complex or alternative paths