4.o o design tools=uml -_lecture 4
DESCRIPTION
dTRANSCRIPT
1
Object Oriented Design Object Oriented Design Tools, UML Tools, UML
2
An Introduction to An Introduction to Using the Unified Modeling Using the Unified Modeling
Language (UML)Language (UML)
3
UMLUML::OverviewOverview
Use of Models Brief History of UML UML Modeling Diagrams Inside the UML Demo Reference Resources
4
Purpose of Modeling
“Modeling captures essential parts of the system.”
Dr. James Rumbaugh
Visual Modeling is modelingusing standard graphical notations
5
UML:Software Modeling Language
What is UML? UML stands for Unified Modeling Language A standard language notation for visualizing, specifying,
constructing, and documenting a software design. Unified Modeling Language ("UML") is the industry standard
"language" for describing, visualizing, and documenting object-oriented (OO) systems.
Uses concepts from Data Modeling (Entity Relationship Diagrams) Business Modeling (work flow) Object Modeling Component Modeling
6
UML:Software Modeling Language
UML Creators Grady Booch, James Rumbaugh, and Ivar
Jacobson
7
What UML is and is not?
Standard modeling language
Defines a semantic metamodel
Process independent
Visual programming language
A tool interface, storage, or run-time model
A standard process
IS IS NOT
8
UML History
Jacobson was from objectory company
Odell – Is applications
Specialist
http://www.vinci.org/uml/history.html
http://atlas.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/history_of_uml.htm
9
Provide users with a ready-to-use, expressive visual modeling language so they can develop and exchange meaningful models.
Provide extensibility and specialization mechanisms to extend the core concepts.
Design Goals for UML
10
Be independent of particular programming languages and development processes.
Provide a formal basis for understanding the modeling language.
Support higher-level development concepts such as collaborations, frameworks, patterns and components.
Integrate best practices.
Design Goals for UML
11
UML Diagrams
12
UML:Diagrams
UML is a collection of a variety of diagrams for differing purposes.
Each type of diagram models a particular aspect of OO design in an easy to understand, visual manner.
The UML standard specifies exactly how the diagrams are to be drawn and what each component in the diagram means.
13
UML Diagrams
UML modeling Diagrams are as follows: Use case Interaction
Sequence Collaboration
Class State Transition Component Deployment
14
UML Diagrams
State
Component
Class
DeploymentComponent
Use Case
Relationship
Actor
Object
15
UML Diagrams: Use Case diagram
A set of use cases and actors and their relationships.
Important for organizing and modeling system behaviors.
Crucial for requirements management and communication with end users using their own domain terminology.
Uses very few symbols, all software independent.
16
Use Case DiagramActor - Person, Organization, orSystemUse Case
System
Interaction
Information Flow
17
UML Diagrams
Object diagram A set of objects (instances of classes) and their
relationships. A static snapshot of a dynamic view of the system. Reperesent real or prototypical cases.
Class Diagram A set of classes, interfaces, collaborations, and
relationships Reflects the static design of a system.
18
Class DiagramClass
Attribute
Methods
Relationship
19
UML DiagramsSequence & Collaboration
Composed of objects and messages dispatched between them.
Shows a dynamic view of the system. Sequence Diagram exposes time ordering of messages. Collaboration Diagram exposes exposes structural
organization of messages. In some tools (i.e. Rational Rose), these diagrams can be
interchanged from the same underlying information.
20
Sequence DiagramObjects
Method Invocation
Messages
21
Collaboration DiagramObjects
Relationship
MessageReturn Value
22
UML DiagramsState transition or statechart
Represents a state machine, composed of states and transitions.
Addresses the dynamic view of the system.
Useful for reactive behaviors.
Important for modeling interfaces, classes, or collaborations.
23
State Transition DiagramState
Final State
Initial StateTransition
24
UML DiagramsActivity diagram
Addresses a dynamic view of the system.
Important for modeling system functions.
Emphasizes the flow of objects and synchronization of the flow in support of parallel processing.
An extension of the old "flow chart" diagram combined with Petri nets.
25
UML Diagrams
Component Diagram Shows organization and dependencies among a set of
components. Components are composed of one or more classes or
interfaces. A static view of the system implementation.Deployment diagram Shows the configuration of run-time processing nodes
in the system. Nodes contain one or more components. Address a static deployment view of the system.
26
Component DiagramComponents Dependencies
27
Deployment DiagramComponents
28
UML Modeling
29
UML Modeling Serial View
30
Internet UML Resources
UML Revision Task Force uml.shl.com
Object Management Group www.omg.org
Rational Software Corp.'s UML Resource Center http://www.rational.com/uml/index.jtmpl
Lockheed Martin Advanced Concepts Center http://www.lmco.com/acc/
Addison-Wesley's Object Technology Series http://www.awl.com/cseng/otseries/
Software Development Magazine http://www.sdmagazine.com/uml/
UML resource page http://home.pacbell.net/ckobryn/uml.htm
31
References Ambler, Scott W, “How the UML Models
Fit Together” Communications of ACM, Oct 1999 The Unified Modeling Language Reference
Manual Fowler, Martin; Scott Kendall, “UML
Distilled Second Edition” “UML in a Nutshell”, O’Reilly