Top Banner
ن الرحيم الرحم بسمIntroduction to Unified Modeling Language (UML) Prepared By: Eng.\ Tarig Ahmed Khalid, M.Sc., PMP , CEC, CBAP
36

03.2- UML Overview

Apr 30, 2017

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 03.2- UML Overview

بسم هللا الرحمن الرحيم

Introduction to

Unified Modeling Language (UML)

Prepared By:

Eng.\ Tarig Ahmed Khalid, M.Sc., PMP, CEC, CBAP

Page 2: 03.2- UML Overview

1.1 Object Oriented Analysis (OOA):

a. Object Structure Analysis:

Concerned with object types and their associations.

b. Object Behavior Analysis:

Concerned with what happens to the objects over time.

1. Object Oriented Analysis & Design

Page 3: 03.2- UML Overview

1.2 Object Oriented Design (OOD):

a. Object Structure Design:

Concerned with classes and inheritance.

b. Object Behavior Design:

Concerned with the design of methods and messaging.

Page 4: 03.2- UML Overview

Overview:

The Unified Modeling Language (UML) is a language

for specifying, visualizing, constructing, and

documenting the artifacts of software systems, as well

as for business modeling and other non-software

systems.

The UML represents a collection of the best

engineering practices that have proven successful in the

modeling of large and complex systems.

2. Unified Modeling Language

Page 5: 03.2- UML Overview

Evolution of the UML

Booch method

(Grady Booch)

OMT

(Raumbaugh)

Unified Method 0.8 10/95

OOSE

(Jacobson)

Other methods

UML 0.9 (Rational Software) Web - June ´96

public

feedback

Final submission to OMG, Sep ‘97

First submission to OMG, Jan ´97

UML 1.1 - 1.3

OMG Acceptance, 97

UML 2.4.1

UML 1.0 UML partners

1/95

OMG Acceptance, 2005

Page 6: 03.2- UML Overview

UML Standards:

The Unified Modeling Language is an international standard:

– ISO19501:2005 Information technology UML Version

1.4.2

UML 2:

– Although UML 2.1 was never released as a formal

specification, versions 2.1.1 and 2.1.2 appeared in 2007,

followed by UML 2.2 in February 2009.

– UML 2.3 was formally released in May 2010.

– UML 2.4.1 was formally released in August 2011.

– UML 2.5 was released in October 2012 as an “in process"

version and has yet to become formally released.

Page 7: 03.2- UML Overview

UML Partners:

1. Microsoft

2. Oracle Corporation

3. IBM

4. Hewlett-Packard

5. Digital Equipment Corporation

6. Rational Software Corporation

7. I-Logix

8. ICON Computing

9. Intellicorp

10. MCI Systemhouse

11. ObjecTime

12. Platinum Technology

13. Taskon

14. Texas Instruments

15. Unisys

16. Softeam

17. Ptech

18. Reich Technology

Page 8: 03.2- UML Overview

3. UML Diagrams

A diagram is a view into a model:

– Presented from the aspect of a particular stakeholder

– Provides a partial representation of the system

– Is semantically consistent with other views

In the UML, there are 9+ standard diagrams:

– Static views:

1. Structural Diagrams

2. Implementation

– Dynamic views:

1. Behavioral

2. Interaction

Page 9: 03.2- UML Overview

The UML diagrams allow the designer look at the reality with

different perspectives.

Page 10: 03.2- UML Overview

Features of the UML:

In terms of the views of a model, the UML

defines the following graphical diagrams:

1. Structure Diagrams

2. Behavior Diagrams

3. Interaction Diagrams

4. Implementation Diagrams

Page 11: 03.2- UML Overview

3.1 Structural Diagrams

1. Use Case Diagram

2. Class Diagram

3. Object Diagram

Page 12: 03.2- UML Overview

3.1.1 Use Case Diagram

Captures system functionality as seen by users

Built in the early stages of development

Page 13: 03.2- UML Overview

3.1.2 Class Diagram

Captures the vocabulary of a system

Built and refined throughout development

Purpose:

– Name and model concepts in the system

– Specify collaborations

Developed by analysts, designers, and implementers

Page 14: 03.2- UML Overview

Captures the vocabulary of a system

Page 15: 03.2- UML Overview

3.1.3 Object Diagram

Captures instances

Page 16: 03.2- UML Overview

Shows instances

Built during analysis and design

Purpose:

– Illustrate data/object structures

– Specify snapshots

Developed by analysts, designers, and implementers

Page 17: 03.2- UML Overview

1. State-chart Diagram

2. Activity Diagram

3.2 Behavior Diagrams

Page 18: 03.2- UML Overview

3.2.1 Statechart Diagram

Captures dynamic behavior (event-oriented)

Page 19: 03.2- UML Overview

Captures dynamic behavior (event-oriented)

Purpose:

– Model object lifecycle

– Model reactive objects (user interfaces, devices, etc.)

Page 20: 03.2- UML Overview

3.2.2 Activity Diagram

Captures dynamic behavior (activity-oriented)

Page 21: 03.2- UML Overview

Captures dynamic behavior (activity- oriented)

Purpose:

– Model business workflows

– Model operations

Page 22: 03.2- UML Overview

1. Sequence Diagram

2. Collaboration Diagram

3.3 Interaction Diagrams

Page 23: 03.2- UML Overview

3.3.1 Sequence Diagram

Captures dynamic behavior (time-oriented)

Page 24: 03.2- UML Overview

Captures dynamic behavior (time-oriented)

Purpose:

– Model flow of control

– Illustrate typical scenarios

Page 25: 03.2- UML Overview

3.3.2 Collaboration Diagram

Captures dynamic behavior (message-oriented)

Page 26: 03.2- UML Overview

Captures dynamic behavior (message-oriented)

Purpose

– Model flow of control

– Illustrate coordination of object structure and control

Page 27: 03.2- UML Overview

1. Component Diagram

2. Deployment Diagram

3.4 Implementation Diagrams

Page 28: 03.2- UML Overview

3.4.1 Component Diagram

Captures the physical structure of the implementation

Page 29: 03.2- UML Overview

Captures the physical structure of the implementation

Built as part of architectural specification

Purpose:

– Organize source code

– Construct an executable release

– Specify a physical database

Developed by architects and programmers

Page 30: 03.2- UML Overview

3.4.2 Deployment Diagram

Captures the topology of a system’s hardware

Page 31: 03.2- UML Overview

Captures the topology of a system’s hardware

Built as part of architectural specification

Purpose:

– Specify the distribution of components

– Identify performance bottlenecks

Developed by architects, networking engineers, and system engineers

Page 32: 03.2- UML Overview

Summary

Architecture and the UML

Design View Implementation View

Process View

Components Classes, interfaces,

collaborations

Active classes

Deployment View

Nodes

Use Case View

Use cases

Page 33: 03.2- UML Overview

Models and Diagrams

Use Case Diagrams Use Case

Diagrams Use Case Diagrams

Scenario Diagrams Scenario

Diagrams Collaboration Diagrams

State Diagrams State

Diagrams Component Diagrams

Component Diagrams Component

Diagrams Deployment

Diagrams

State Diagrams State

Diagrams Object Diagrams

Scenario Diagrams Scenario

Diagrams Statechart Diagrams

Use Case Diagrams Use Case

Diagrams Sequence Diagrams

State Diagrams State

Diagrams Class Diagrams

Activity Diagrams

A model is a complete description of a system from a particular perspective

Models

Page 34: 03.2- UML Overview

4. UML Modeling Tools

A UML modeling tool is a software application that supports

some or all of the notation and semantics associated with the

UML.

UML tools support the following kinds of functionality:

1. Diagramming

2. Code Generation

3. Round-Trip Engineering

Code Design Models Reverse Engineering

Page 35: 03.2- UML Overview

UML Tools:

1. Commercial: such as

1. Rational Rose (IBM)

2. Power Designer (Sybase)

3. NetBeans (Oracle)

4. MS-Visio (Microsoft) only diagramming

2. GPL: General Public License

1. UML Pad

2. Gaphor

3. Modelio

4. NClass

5. PlantUML

The selection of the appropriate UML tools depends on the

development language used such as Java, C#, C++, etc.

Page 36: 03.2- UML Overview