Presentation is loading. Please wait.

Presentation is loading. Please wait.

UML: Unified Modeling Language L. Grewe History Graphic modeling language for describing object-oriented software Graphic modeling language for describing.

Similar presentations


Presentation on theme: "UML: Unified Modeling Language L. Grewe History Graphic modeling language for describing object-oriented software Graphic modeling language for describing."— Presentation transcript:

1

2 UML: Unified Modeling Language L. Grewe

3 History Graphic modeling language for describing object-oriented software Graphic modeling language for describing object-oriented software Started in 1994 Started in 1994 Combined notations from 3 leading OO methodsCombined notations from 3 leading OO methods OMT(James Rumbaugh) OMT(James Rumbaugh) OOSE(Ivar Jacobson) OOSE(Ivar Jacobson) Booch(Grady Booch) Booch(Grady Booch) Industry standard Industry standard

4 Why UML? Software larger & complex Software larger & complex Difficult to analyzeDifficult to analyze Describe SW clearly Describe SW clearly Use Computer-aided software engineering (CASE) tools Use Computer-aided software engineering (CASE) tools A picture is worth a thousand words…..save time looking at and making visuals.A picture is worth a thousand words…..save time looking at and making visuals.

5 What is UML? Specify & Visualize Software via modeling language Specify & Visualize Software via modeling language viewsviews diagramsdiagrams relationships between classesrelationships between classes

6 UML Concepts Use case diagrams/studies Use case diagrams/studies Class Diagrams Class Diagrams Instance Snapshots Instance Snapshots Sequence Diagrams Sequence Diagrams ….more (for complete understanding of UML take our SW Engineering course) ….more (for complete understanding of UML take our SW Engineering course)

7 UML Concepts….more Use Case Diagrams Use Case Diagrams Use Case Diagrams Scenario Diagrams Scenario Diagrams Collaboration Diagrams State Diagrams State Diagrams Component Diagrams Component Diagrams Component Diagrams Deployment Diagrams State Diagrams State Diagrams Object Diagrams Scenario Diagrams Scenario Diagrams Statechart Diagrams Use Case Diagrams Use Case Diagrams Sequence Diagrams State Diagrams State Diagrams Class Diagrams Activity Diagrams Models

8 UML: Use case study Use Case Studies to understand system and the stakeholders & requirements. Use Case Studies to understand system and the stakeholders & requirements. Uses concept of Actors: Uses concept of Actors: Often serves some kind of role in the SW system. (e.g. customer, vendor, etc.)Often serves some kind of role in the SW system. (e.g. customer, vendor, etc.) Define State & Operations for each ActorDefine State & Operations for each Actor Define Relationships between ActorsDefine Relationships between Actors

9 Use Case Diagram Shows actors, entities and actions involved in one usage scenario Shows actors, entities and actions involved in one usage scenario Have a diagram and often corresponding description Have a diagram and often corresponding description Can (often) have more than one for a software program Can (often) have more than one for a software program

10 Example: Use Case Diagram use case: buy_thing participants: (Purchaser, Vendor, Thing) pre-condition: vendor.possessions -> includes thing purchaser.pocket >= thing.price post-condition: vendor.possessions = vendor.possessions - thing purchaser.possessions = purchaser.possessions + thing vendor.till = vendor.till@pre + thing.price purchaser.pocket = purchaser.pocket@pre - thing.price

11 UML: Class Diagrams Classes are Graphically Represented with areas for Classes are Graphically Represented with areas for Class Name, Class Variables, and OperationsClass Name, Class Variables, and Operations Properties, Responsibilities, Rules, Modification History, etc.Properties, Responsibilities, Rules, Modification History, etc.

12 Example: Class Diagram BookTitle class BookTitle class BookTitle Instance BookTitle Instance

13 Another Example: Class Diagrams Here show class diagrams and associations between the classes. Here show class diagrams and associations between the classes. Associations (diamonds/arrows) show aggregations/ compositionsAssociations (diamonds/arrows) show aggregations/ compositions See class webiste and reading for more details.See class webiste and reading for more details. Classes: Company, Department, Office, Headquarters, Person, ContractInformation, PersonalRecord Classes: Company, Department, Office, Headquarters, Person, ContractInformation, PersonalRecord

14 Class Diagrams: relationships Between Classes Association Association Permanent, structural, “has a”Permanent, structural, “has a” Solid line (arrowhead optional)Solid line (arrowhead optional) Dependency Dependency Temporary, “uses a”Temporary, “uses a” Dotted line with arrowheadDotted line with arrowhead Generalization Generalization Inheritance, “is a”Inheritance, “is a” Solid line with open (triangular) arrowheadSolid line with open (triangular) arrowhead Implementation Implementation Dotted line with open (triangular) arrowheadDotted line with open (triangular) arrowhead OR

15 Associations w/ Navigation Information Can indicate direction of relationship Can indicate direction of relationship Represented by solid line with arrowhead Represented by solid line with arrowhead Gas Pedal class knows about Engine class Engine class doesn’t know about Gas Pedal class

16 Cardinality of Associations Some relationships may be quantified Some relationships may be quantified Cardinality denotes how many objects the source object can legitimately reference Cardinality denotes how many objects the source object can legitimately reference Examples Examples * 0, 1, or more* 0, 1, or more 5 5 exactly5 5 exactly 5..8 between 5 and 8, inclusive5..8 between 5 and 8, inclusive 5..* 5 or more5..* 5 or more

17 Example: cardinality Says : Bank to Branch is a 1 to many association….means a Bank can have many Branches, but, a Branch is associated with one Bank. Says : Bank to Branch is a 1 to many association….means a Bank can have many Branches, but, a Branch is associated with one Bank.

18 UML Instance Snapshot Diagram that shows results of applying a use-case action. Diagram that shows results of applying a use-case action.

19 UML Use Case Sequence Diagram Scenario shows the sequence of events in a use-case. Scenario shows the sequence of events in a use-case. Here the use-case is ian applying for a job, where tony is the secretary and sue is the manager. Here the use-case is ian applying for a job, where tony is the secretary and sue is the manager.

20 Generalization Denotes inheritance between classes Denotes inheritance between classes Can view as “is-a” relationship Can view as “is-a” relationship Represented by line ending in (open) triangle Represented by line ending in (open) triangle Laptop, Desktop, PDA inherit state & behavior from Computers


Download ppt "UML: Unified Modeling Language L. Grewe History Graphic modeling language for describing object-oriented software Graphic modeling language for describing."

Similar presentations


Ads by Google