Uml
description
Transcript of 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
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
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?
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
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
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.
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.
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
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
10
Use Case Diagram for Placing Orders
Customer
CustomerRep
Placeorder
Get statuson order
Getcatalog
Cancelorder
Returnproduct
Registercomplaint
11
Use Cases for Filling Orders
ShippingCompany
Inventorysystem
Deliverpackages
Calculatepostage
Print mailinglabel
Chargeaccount
Creditaccount
Get productinformation
Clerk Accountingsystem
Update productquantities
Receive back-ordered items
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
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
14
Use Case Diagram for ATM
ATMCustomer
Withdrawfunds
Queryaccount
Transferfunds
Startup
Shutdown
ValidatePIN
Operator
Addcash
«include»
«include»
«include»
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