Title: ARCH-2:%20UML%20101%20-%20From%20Design%20to%20Implementation%20using%20UML
1ARCH-2 UML 101 - From Design to Implementation
using UML
Frank Beusenberg
Senior Technical Consultant
2Theory vs. Practice
The difference between theory and practice is
that, in theory, there is no difference between
theory and practice.
3Shu-Ha-Ri
Shu - Learning Ha - Understanding Ri - Be
creative
4Agenda
- Introduction
- UML 2.0 Diagrams
- Use Case View
- Logical View
- Dynamic View
- Implementation View
- Demonstration
- QA
5Introduction
What is UML? Facts
- UML Unified Modeling Language
- First UML spec in 1997
- Current version 2.0
- Object Management Group (OMG)
- Graphical language
- Object Oriented in nature
- Has syntax rules
- Can be extended using stereotypes
- NOT a methodology!
6Introduction
What is UML?
7Introduction
Why model?
- Manage complexity
- Mitigate risk
- Facilitate communication
- Modeling provides ability to visualize entire
systems, assess options and designs - Software has grown from do-it-yourself into
highly complex systems - Software is integral part of business process, so
has to be well planned - Software has become capital equipment that cannot
just be removed/changed
8Introduction
Why use UML?
- Specify, visualize, and document models of
software systems - Current and new systems
- Structure and design
- Behavior and interaction
- De facto standard (Tool Support!)
- Unambiguous and consistent notation
- Documentation
9Agenda
- Introduction
- UML 2.0 Diagrams
- Use Case View
- Logical View
- Dynamic View
- Implementation View
- Demonstration
- QA
10UML 2.0 Diagrams
UML 2.0 Types of Diagrams Behavior Diagrams
11UML 2.0 Behavioral Diagrams
UML Use Case Diagram
- Describes the functional requirements of the
system
12UML 2.0 Behavioral Diagrams
UML Activity Diagram
- Describe procedural logic, business processes and
workflow
13UML 2.0 Behavioral Diagrams
UML Sequence Diagram
- Describes the message flow between objects in
chronological order
14UML 2.0 Diagrams
UML 2.0 Types of Diagrams Structure Diagrams
15UML 2.0 Structural Diagrams
UML Class Diagram
- Captures logical structure of system
16UML 2.0 Structural Diagrams
UML Component Diagram
- Illustrates the pieces of software that will make
up a system.
17UML 2.0 Structural Diagrams
UML Deployment Diagram
- Shows how and where the system will be deployed.
18UML Modeling
Logical View
Implementation View
Use Case View
Dynamic View
Deployment View
19Model-Driven Architecture (MDA)
20Agenda
- Introduction
- UML 2.0 Diagrams
- Use Case View
- Logical View
- Dynamic View
- Implementation View
- Demonstration
- QA
21AutoPark - Use Case View
Describing system functionality
- Gathering requirements
- Functional non-functional requirements
- Document functional requirements
- UML Use Case Diagram
- Use Case Description Documents
- Identify actor(s) and association to use case
- Create different levels of use cases (re-use!)
22AutoPark - Use Case View
Use Case Packages
23AutoPark - Use Case View
Use Case Diagram
24AutoPark - Use Case View
Describing use case scenario(s)
- Scenario Use Case Activity Flow
- Basic Scenario
- Alternate Scenario(s)
- UML Activity Diagram
- Describe what happens, now how!
25AutoPark - Use Case View
Activity Diagram
26AutoPark - Use Case View
Creating Test Scenarios
- Identify paths in activity diagram
- Create minimal test-scenarios (using each path
once) - Create all possible test-scenarios (combining all
paths to create unique scenarios)
27Agenda
- Introduction
- UML 2.0 Diagrams
- Use Case View
- Logical View
- Dynamic View
- Implementation View
- Demonstration
- QA
28AutoPark - Logical View
Designing The System Structure
- Identify entities/things used in use case
- Identify attributes
- Identify operations
- Identify entity relations
- Identify multiplicity
- Create class diagram
29AutoPark - Logical View
Class Diagram
30AutoPark - Logical View
Patterns
- "A pattern is a proven solution to a problem in a
context."
31Agenda
- Introduction
- UML 2.0 Diagrams
- Requirements
- Logical View
- Dynamic View
- Implementation View
- Demonstration
- QA
32AutoPark - Dynamic View
Describing Behavior
- Identify objects involved
- Identify interactions (messages)
- Use public operations
- Describe how things work
33AutoPark - Dynamic View
Describing Behavior
34Agenda
- Introduction
- UML 2.0 Diagrams
- Requirements
- Logical View
- Dynamic View
- Implementation View
- Demonstration
- QA
35AutoPark - Implementation View
36Agenda
- Introduction
- UML 2.0 Diagrams
- Requirements
- Logical View
- Dynamic View
- Implementation View
- Demonstration
- QA
37Demonstration
38In Summary
- Model Design
- Manage complexity
- Minimize risk
- Facilitate communication
- Use UML
- De facto standard
- Unambiguous
- Documentation
39For More Information, go to
Relevant Exchange Sessions
- ARCH-6 UML Modeling with Enterprise Architect
40For More Information, go to
Relevant Web Resources
- Object Management Group
- http//www.omg.org
- Hillside.net Patterns Library
- http//hillside.net/patterns
41For More Information, go to
Relevant Literature
- Addison-Wesley Object Technology Series
- UML Distilled Third Edition
- Martin Fowler ISBN 0-321-19368-7
- Use Case Driven Object Modeling with UML
- Doug Rosenberg ISBN 0-201-43289-7
- Developing Software with UML
- Bernd Oestereich ISBN 0-201-75603-X
42Questions?
43Thank you foryour time
44(No Transcript)