Professional Documents
Culture Documents
Jeffrey H Bush
Software Consultant
Embarcadero Technologies,Inc.
• OMG standard
• The de-facto industry standard today
• The UML supports both Process and Architecture
UML Architecture Support
• Design View
– classes, interfaces and collaborations that
form the vocabulary of the problem and its
solution
– supports the functional requirements of the
system
– static aspects are captured in Class and
Object diagrams
– dynamic aspects are captured in
Interaction, Statechart and Activity
diagrams
Architecture
• Process View
– threads and processes that form
the system’s concurrency and
synchronization mechanisms
– addresses performance, reliability,
scalability and throughput of the
system
– static and dynamic aspects are
captured as with the Design View
with a focus on active classes that
represent the processes and
threads
Architecture
• Implementation View
– the components and files used to
assemble the system
– primarily addresses the
configuration management of the
system’s releases
– static aspects are captured in
Component diagrams
– dynamic aspects are captured in
Interaction, Statechart and Activity
diagrams
Architecture
• Deployment View
– the nodes that form the
system’s hardware topology
– addresses the distribution,
delivery and installation of the
system
– static aspects captured in
Deployment diagrams
– dynamic aspects captured in
Interaction, Statechart and
Activity diagrams
The UML and Software Process
The
The Unified
Unified
Process
Process
The Inception
Inception
The Software
Software Software
Software
Development
Development Development
Development
Plan Elaboration
Elaboration Tools
Plan Tools
Construction
Construction
Transition
Transition
Software
Software
Development
Development
Team
Team
Software Development Life Cycle
Requirements
Analysis
Design
Implementation
Test
Iter. Iter. --- --- --- --- --- Iter. Iter.
1 2 n-1 n
Inception
Inception
Elaboration
Elaboration
Construction
Construction
Transition
Transition
Inception Phase
• Major Activities
– Capture all user requirements
• Deliverables
– Use Case database
– Use Case / Sequence / Activity / Collaboration diagrams
– Requirements document
– User interface prototypes
• Completion Criteria
– Domain experts and requirements team have recorded all Use
Cases
– User sign-off on requirements
Inception: Use-Case Diagram
Inception: Development Use-Case Database
Inception
Inception
Elaboration
Elaboration
Construction
Construction
Transition
Transition
Elaboration
• Major Activities
– Detailed System Design
– Preparation for Construction
• Deliverables
– Development Use Cases
– Package Diagrams / Class Diagrams / Sequence Diagrams
– Initial Test Matrix
• Completion Criteria
– Design is complete - all Use Cases have been accounted for
– Complete dynamic and static view of system has
been designed
Package Diagram
Inception
Inception
Elaboration
Elaboration
Construction
Construction
Transition
Transition
Construction
• Major Activities
– System coding
– System integration
– Alpha testing
• Deliverables
– Completed initial release of system
– User and internal system documentation
– Beta release plan
• Completion Criteria
– Stable release exists that meets all agreed
upon requirements
– Complete documentation is ready to release with
initial system
Construction: Models guide Code
Inception
Inception
Elaboration
Elaboration
Construction
Construction
Transition
Transition
Transition
• Major Activities
– Refining system performance
– Correcting bugs
– Clarification of documentation
• Deliverables
– Updated builds of system
– Updated user and internal documentation
• Completion Criteria
– Improved builds address specific identified issues
– New release is ready for next iteration
Transition: Document As-Built Code
Login
Create/Edit Portfolio
values.
Get News
CNN Financial News
Export Portfolio
Application Use Case
Login
Export Portfolio
Hands-On Example
36
What is an Activity Diagram
• Describes activities and flows of data or decisions
between activities
• Provides a very broad view of business processes
• Can be used to break out the activities that occur within
a use case
• Commonly show many different activities that will be
handled by lots of different objects
• Good for showing parallel threads
37
Activity Diagrams
40
What is a Sequence Diagram
z This diagram is a model describing how groups of objects
collaborate in some behavior in a time sequence
z The diagram captures the behavior of a single use case
z It shows objects and the messages that are passed between
these objects in the use case
41
Sequence Diagrams
43
What is a Collaboration Diagram
• Cross between an object diagram and a sequence
diagram
• Describes a specific scenario
• Numbered arrows show the movement of messages
during the course of a scenario
44
Collaboration Diagrams
46
What is a Class Diagram
• Diagram that shows classes, their relationships with
other classes and, in some cases, relationships
between objects
• Can be a high level view of a system or a specific
subsection of the overall model
• Shows the static structure of a system
47
Package Diagram
48
What is a Package Diagram
• Diagram that is just a form of the class diagram
• Shows how classes can be divided into modules
and high-level relationships between packages
• Can be a high level view of a system or a
specific subsection of the overall model
49
State Diagram
50
What is a State Diagram
• Provides a very detailed picture of how a specific object
changes states
• A state refers to the value associated with a specific
attribute of an object and to any actions or side effects
that occur when the attribute’s value changes
51
State Diagram
54
What is a Component Diagram
z Simple, high-level diagram
z Refers to physical components in a design
z Used to show how code is actually divided into modules
z There is usually a one-to-one relationship between package
diagrams and component diagrams
55
Component Diagrams
57
What is a Deployment Diagram
z Developer can model the physical platforms and network
connections to be used in their application
z Nodes usually represent hardware platforms
58
Deployment Diagrams