Next: Object Oriented Software Development
Up: UML summary
Previous: UML summary
Contents
Subsections
The UML defines nine standard diagrams:
- Use Case
- Class
- Interaction
- Sequence
- Collaboration
- Package
- State
- Activity
- Component
- Deployment
Note that the UML can be used to model other processes besides software development.
A typical interaction between a user and a computer system.
Figure 1.1:
A sample UML Use Case Diagram.
|
- Describes the types of objects in the system, and the static relationships between them.
- Two main kinds of static relationships:
- Associations - Has-A
- Subtypes - Is-A
Figure 1.2:
Class diagram relationships.
|
Figure 1.4:
Attributes of a class.
|
Figure 1.5:
Associations and generalizations
|
- Sequence diagrams follow the flow of entire use cases (emphasis on time ordering).
- One sequence diagram for the basic course and alternative courses for each of your use cases.
Figure 1.6:
A sequence diagram follows the flow of an entire use case.
|
- Shows how critical objects collaborate within a use case.
- Similar to sequence diagrams.
- Focus on key transactions.
- Sequence diagrams follow the flow of entire use cases (emphasis on time ordering).
- Collaboration diagrams add extra detail related to timing of messages.
Figure 1.7:
A collaboration diagram shows how important objects collaborate within a use case.
|
- Classes are arranged into logically-ordered packages.
- Package diagrams show relationships and dependencies between packages.
- Package diagrams are vital for large projects.
- Captures the lifecycle of one or more objects.
Figure 1.8:
Icons that can be used in state diagrams.
|
Figure 1.9:
A state diagram captures the lifecycle of one or more objects.
|
- Advanced flowcharts.
- Swimlanes let you organize a set of activities according to who is performing them.
- The implementation view of a system.
- Displays the organization and dependencies between software components.
- The environment view of a system.
- Shows the physical relationships among software and hardware components.
- Each node represents some computational unit - usually a piece of hardware.
- Connections show communication paths.
- In practice probably not used very much, though most projects have a drawing that looks something like these.
Next: Object Oriented Software Development
Up: UML summary
Previous: UML summary
Contents