Presentation is loading. Please wait.

Presentation is loading. Please wait.

Design Jon Walker. More UML ● What is UML again?

Similar presentations


Presentation on theme: "Design Jon Walker. More UML ● What is UML again?"— Presentation transcript:

1 Design Jon Walker

2 More UML ● What is UML again?

3 UML (Unified Modeling Language) ● UML is a way to model a software system ● What does “model” mean? ● Each UML diagram is designed to let developers and customers view a software system from a different perspective and in varying degrees of abstraction ● UML diagrams commonly created in visual modeling tools include?

4 UML Diagrams ● Use Case ● Class ● Interaction (Sequence, Collaboration) ● State Diagrams ● Activity Diagram ● Physical Diagram (Component, Deployment)

5 Use Case Diagram ● Use Case Diagram displays the relationship among actors and use cases

6 Class Diagram ● Class Diagram models class structure and contents using design elements such as classes, packages and objects. It also displays relationships such as containment, inheritance, associations and others

7 Class Diagram

8 Interaction Diagrams ● Sequence Diagram displays the time sequence of the objects participating in the interaction. This consists of the vertical dimension (time) and horizontal dimension (different objects) ● Collaboration Diagram displays an interaction organized around the objects and their links to one another. Numbers are used to show the sequence of messages.

9 Sequence Diagram

10 Collaboration Diagram

11 State Diagrams ● State Diagram displays the sequences of states that an object of an interaction goes through during its life in response to received stimuli, together with its responses and actions.

12 State Diagram

13 Activity Diagrams ● Activity Diagram displays a special state diagram where most of the states are action states and most of the transitions are triggered by completion of the actions in the source states. This diagram focuses on flows driven by internal processing.

14 Activity Diagram

15 Physical Diagram ● Component Diagram displays the high level packaged structure of the code itself. Dependencies among components are shown, including source code components, binary code components, and executable components. Some components exist at compile time, at link time, at run times well as at more than one time. ● Deployment Diagram displays the configuration of run-time processing elements and the software components, processes, and objects that live on them. Software component instances represent run-time manifestations of code units.

16 Component Diagram

17 Why Would You Use... ● Use Case ● Class ● Interaction (Sequence, Collaboration) ● State Diagrams ● Activity Diagram ● Physical Diagram (Component, Deployment)

18 Class Diagrams Revisited ● What are the elements?

19 Class Icon ● Class ● Attribute ● Operation()

20 Composition ● The black diamond represents composition ● What would this code look like?

21 Circle Contains a Point

22 What Kind of a Relationship is Composition? ● How are objects/classes related?

23 Composition = Has A ● A circle “has a” point

24 Inheritance ● Arrowhead indicates inheritance

25 What Kind of a Relationship is Inheritance? ● How are objects/classes related?

26 Inheritance = Is A ● A circle “is a” shape

27 Aggregation ● An open diamond denotes the weak form of aggregation ● An aggregation is a whole/part relationship ● Note that the ends of the relationship are referred to as “roles” in UML

28 Aggregation ● What else do you notice about this diagram? ● What would the code look like?

29 Window Contains Shapes

30 Generic Associations ● Weaker than Aggregation ● Solid line with an arrow head ● How would this be implemented?

31 Dependency ● Even weaker than associations ● Dashed line with an arrow head ● How would this be implemented?

32 Others

33 What can you do with UML? ● Communicate to others ● Translate into code  Round trip engineering

34 Let's Try ● Google Calendar


Download ppt "Design Jon Walker. More UML ● What is UML again?"

Similar presentations


Ads by Google