Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.