Presentation is loading. Please wait.

Presentation is loading. Please wait.

A tool for presentation of Architecture

Similar presentations


Presentation on theme: "A tool for presentation of Architecture"— Presentation transcript:

1 A tool for presentation of Architecture
UML Diagrams A tool for presentation of Architecture

2 UML origins 80’s and early 90’s – explosion of modeling methods and notations Not to mention competition among methods people The “three amigos” (Booch, Jacobson, Rumbaugh) were working on the UML by 1996 OMG issued UML 1.3 in March, 2000 OMG issued UML 2.0 in July 2005

3 UML is Language NOT method Good for communication
Standardization is essential Mostly graphical Example: used everywhere in Fowler NOT method You can use any design method you like to create UML diagrams Standardization can be helpful, but is not so important

4 More precise, less precise …
UML Natural language Usefulness in design Code Precision

5 UML diagram types (1.x) Static diagrams Dynamic diagrams
Use case Class Dynamic diagrams Object State Activity Collaboration (Called Communication in UML 2.0) Sequence Implementation diagrams Component Deployment

6 UML 2.0 New Diagrams Composite Structure – runtime decomposition of a class Interaction Overview – mixed sequence and activity Timing – interaction between object with timing Composite Structure – Runtime decomposition of class

7 Ron’s Belief: (Applied to UML)
Use what makes sense Don’t be subservient to the tool You don’t always need electronic forms and editors – use paper and a pencil!

8 Use Case Diagram Elements
Order Merchandise Order Book <<include>> Enter Credit Card consumer Check Order Status Remember: the ovals are use cases, NOT use case steps Use case names should be: Action-verb + object-phrase

9 Use Case Diagram

10 O-O Diagrams Class – static relationships Object – dynamic snapshot
Inheritance, composition, association,dependency Object – dynamic snapshot Object relationships at runtime, processes,threads

11 Classes Class name Attributes Interface Operations

12 Relationships dependency association generalization realization

13 Class Diagram

14 <<interface>> <<transfer object>>
Stereotypes Text in << >> are stereotypes Stereotypes should be defined in the project’s glossary. Examples: <<interface>> Runnable + run( ) : void <<transfer object>> BankMessage + balance : Money + account : long

15 Behavioral Diagrams Sequence Collaboration State Chart Activity
Interaction (for one use case) viewed by time Collaboration Interaction (for one use case) viewed by structure State Chart Internal state of an object (or class) across multiple use cases Activity Interaction of multiple objects across multiple use cases (includes concurrent activity)

16 Sequence diagram

17 System Sequence diagram (a way to draw use case steps)
:Customer :Amazon.com :creditCardSvc Add book to cart Confirm cart contents Request checkout Request authentication Provide credentials Present options Credit card service is a supporting actor This is a case where return arrows are often helpful Don’t try to include the whole GUI spec! These diagrams may not work with business people, but IT people may find them helpful for clarification, design input Third edition of Larman may have different chapter numbers (I have 2nd edition) Provide credit card info, shipping options Validate card Confirm order See Larman, Chpt 9 (2nd edition)

18 Summing up UML is responsibility-oriented
UML diagrams are a means to an end OOAD allows many benefits, but does not guarantee them

19 UML Usage Guide Use the diagrams to communicate
Don’t become a slave to the diagrams What you leave out is as important as what you put into the diagram! Highlight important details; leave the rest out Rule of thumb: when in doubt, leave it out.

20 Review question Why are there so many types of diagrams?

21 Bonus material

22 Three levels of class diagrams
Conceptual view Boxes are concepts, associations are associations :-) Concepts may or may not correspond to classes Specification view Boxes are interfaces Associations imply responsibilities Implementation view Boxes are classes Associations imply navigability Following Fowler, UML Distilled

23 Behavioral Things state message object Alice:Employee asynch message

24 Components and Nodes component node

25 System Packaging Component Diagrams Deployment
Modules and Packaging of software Deployment Physical Layout Hardware


Download ppt "A tool for presentation of Architecture"

Similar presentations


Ads by Google