UML Unified Modeling Language Creative Commons License Curt

  • Slides: 21
Download presentation
UML Unified Modeling Language Creative Commons License – Curt Hill.

UML Unified Modeling Language Creative Commons License – Curt Hill.

History • Developed in the 1990 s to visually model object oriented systems –

History • Developed in the 1990 s to visually model object oriented systems – Grady Booch, Ivar Jacobson, Jim Rumbaugh • Adopted by Object Management Group (the real OMG) in 1997 – They are the maintainers • ISO standard in 2000 • Combines data, business, object and component modeling • Current version is 2. 4 Creative Commons License – Curt Hill.

Related and Included Visualizations • Entity Relation Diagrams • Rummler-Brache (swimlane) diagrams – Derived

Related and Included Visualizations • Entity Relation Diagrams • Rummler-Brache (swimlane) diagrams – Derived from flow charts • Gane-Sarson (data flow diagrams) • The Unified of UML shows that these were incorporated or modified Creative Commons License – Curt Hill.

OMG Specification The Unified Modeling Language (UML) is a graphical language for visualizing, specifying,

OMG Specification The Unified Modeling Language (UML) is a graphical language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive system. The UML offers a standard way to write a system's blueprints, including conceptual things such as business processes and system functions as well as concrete things such as programming language statements, database schemas, and reusable software components Creative Commons License – Curt Hill.

What is UML • It is a graphics language – More of a specification

What is UML • It is a graphics language – More of a specification of a language • • Use to define a system Describe the components of that system Blueprint for the system Does not define methodology, but supports any methodology • Defines syntax and semantics for a variety of domains Creative Commons License – Curt Hill.

Domains • Six major domains • Use case model – The interaction between a

Domains • Six major domains • Use case model – The interaction between a user and the system • Communication model – How components within the system interact • Dynamic model – The states the system will pass through in order to accomplish work Creative Commons License – Curt Hill.

More domains • Logical model – System’s classes and objects • Component model –

More domains • Logical model – System’s classes and objects • Component model – The system’s software – Hardware used if unusual • Physical Deployment model – Hardware architecture – How applications are deployed on this hardware Creative Commons License – Curt Hill.

Diagrams • Classify UML diagrams into several basic types • Behavioral – Describes dynamic

Diagrams • Classify UML diagrams into several basic types • Behavioral – Describes dynamic interactions • Structural – Describes static architecture Creative Commons License – Curt Hill.

Reference Chart Creative Commons License – Curt Hill.

Reference Chart Creative Commons License – Curt Hill.

Use Case Diagram • Diagrams an interaction between a user and the system •

Use Case Diagram • Diagrams an interaction between a user and the system • A scenario is a single interaction between a user and the system – Usually a text description of what will happen • The use case diagram will often have multiple scenarios Creative Commons License – Curt Hill.

Contents • People, internal or external, are depicted as stick figures • Ovals represent

Contents • People, internal or external, are depicted as stick figures • Ovals represent the use case • Lines connect the various actors • Each one of these should be accompanied by a text scenario Creative Commons License – Curt Hill.

Example Pharmacy Creative Commons License – Curt Hill.

Example Pharmacy Creative Commons License – Curt Hill.

State Chart Diagram • An interaction with a component • Has one start and

State Chart Diagram • An interaction with a component • Has one start and one or more finish nodes • Each box represents a state • Each arrow a state transition – Often several arrows exiting a box – Usually labeled by some decision that determines which arrow • Based on the mathematical notion of a finite state machine Creative Commons License – Curt Hill.

Older Windows Login • Has one start and one end state • Two middle

Older Windows Login • Has one start and one end state • Two middle states – Entering login – Entering password • All state changes are determined by key pressed by user or the response of the system • The Enter or Tab changes state • All other characters return to same state Creative Commons License – Curt Hill.

Example Windows Login Creative Commons License – Curt Hill.

Example Windows Login Creative Commons License – Curt Hill.

Activity Diagram • Modified flowchart • Flow of activities between various items – Item

Activity Diagram • Modified flowchart • Flow of activities between various items – Item could be person or program • Each item has a column – Known as a swimlane • The activity moves between the lanes as the pieces interact • Shows dependence of the actions of these items Creative Commons License – Curt Hill.

Activity Diagrams • Ovals or rectangles represent actions • Diamond are decisions with multiple

Activity Diagrams • Ovals or rectangles represent actions • Diamond are decisions with multiple possible output actions or merges with multiple inputs • Arrows are the flow • Actions may fork, that is split into concurrent actions, or join concurrent actions into a sequential action Creative Commons License – Curt Hill.

Example: Buying Car Creative Commons License – Curt Hill.

Example: Buying Car Creative Commons License – Curt Hill.

Diagrams • UML is not generally precise • It is not usually compiled into

Diagrams • UML is not generally precise • It is not usually compiled into code – Although may be in some cases • Different places might have different conventions for the symbols used • Diagrams may be generated with Microsoft Visio or many other applications Creative Commons License – Curt Hill.

Other Tools • A number of software tools for UML may also be used

Other Tools • A number of software tools for UML may also be used that have more power • Most of these favor one methodology or another • Some features – Code generation from diagrams – Generate diagrams from code – Round trip engineering – Report generation – Collaboration on diagrams Creative Commons License – Curt Hill.

Conclusion? • Devised for software system design • Has incorporated many different graph and

Conclusion? • Devised for software system design • Has incorporated many different graph and diagram types • Used in Entrerprise Architecture to model the enterprise – Used for modeling in other disciplines as well • An exercise should follow • You should install Visio, if it is not on your computer Creative Commons License – Curt Hill.