1 of 17

Introduction to Unified Modeling Language (UML)

Book: Systems Analysis and Design with

UML Version 2.0

An Object-Oriented Approach

2 of 17

OBJECTIVES:

  • Model Driven Engineering (MDE)
  • Be familiar with the Unified Modeling Language (UML), Version 2.0.
  • UML Views
  • UML Diagrams

3 of 17

Model Driven Engineering (MDE)

  • Software development need to be Model-driven
    • A paradigm shift from code to model

Model Driven Development

3

Model

Analysis

Design

Versioning

Documentation

Code Generation

Testing

4 of 17

OBJECTIVES:

  • Model Driven Engineering (MDE)
  • Be familiar with the Unified Modeling Language (UML), Version 2.0.
  • UML Views
  • UML Diagrams
  • Extension Mechanism

5 of 17

THE UNIFIED MODELING LANGUAGE (UML)

Model Driven Development

5

6 of 17

THE UNIFIED MODELING LANGUAGE (UML)

  • The UML is an object-oriented modeling language used to describe information systems.
  • The objective of UML is to provide a common vocabulary of object-oriented terms and diagramming techniques that is rich enough to model any systems development project from analysis through implementation.
  • Although the UML defines a large set of diagramming techniques, this course focuses on a smaller set of the most commonly used techniques.
  • It should be noted that UML is nothing more than a notation.

6

7 of 17

UML and SPM

  • Although unlikely, it is possible to develop an information system using a traditional approach with UML.
  • The UML does not dictate any formal approach to developing information systems, but its iterative nature is best-suited to RAD-based approaches such as phased or incremental development.
  • A popular RAD-based approach that uses the UML is the Unified Process.

8 of 17

UML History

Model Driven Development

8

9 of 17

UML History

  • Until 1995, object concepts were popular but implemented in many different ways by different developers.
  • Each developer had his or her own methodology and notation (e.g., Booch, Coad, Moses, OMT, OOSE, and SOMA).
  • Grady Booch, Ivar Jacobson, and James Rumbaugh worked with others to create a standard set of diagramming techniques known as the Unified Modeling Language (UML).
  • The U in UML stands for unified because the UML is a unification and standardization of earlier modeling notations.
  • In November 1997, the Object Management Group (OMG) formally accepted UML as the standard for all object developers.

10 of 17

UML...

UML is a modeling language for visualizing, specifying, constructing and documenting the artifacts of software systems.

Model Driven Development

10

Visualizing - a picture worth a thousand words;

- a graphical notation articulates and communicates the overall view of the system (problem-domain).

11 of 17

UML...

Specifying - UML provides the means to model precisely, unambiguously and completely, the system in question.

Model Driven Development

11

Constructing - models built with UML have a design dimension to it;

- these are language independent and can be implemented in any programming language.

12 of 17

UML...

Documenting - every software project involves a lot of documentation - from the inception phase to the deliverables.

Model Driven Development

12

  • Requirements
  • Design
  • Tests

Documentation is

(among others) for:

UML provides the notations for documenting these artifacts

13 of 17

UML Diagrams

Model Driven Development

13

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

Models/

diagrams

14 of 17

OBJECTIVES:

  • Model Driven Engineering (MDE)
  • Be familiar with the Unified Modeling Language (UML), Version 2.0.
  • UML Views
  • UML Diagrams

15 of 17

UML Diagrams Views

  • Unfortunately, even a model may become so complex that it is not easily understandable.
  • We can continue to use the divide-and-conquer method to refine a complex model into simpler models.
  • A view focuses on a subset of a model to make it understandable
    • Different groups of interested parties will employ/use different views at different times.
    • The bird's-eye view
    • The fine-grained view.

Model Driven Development

15

16 of 17

UML Diagrams Views

Model Driven Development

16

User View

Structural

View

Implementation

View

Behavioral

View

Environmental

View

Class Diagrams

Object Diagrams

Sequence Diagrams

Collaboration Diagrams

Statechart Diagrams

Activity Diagrams

Component Diagrams

Deployment Diagrams

Use Case

Diagrams

17 of 17

UML Modeling Tools

  • Star UML : (http://staruml.io)
  • Visual Paradigm for uml (https://www.visual-paradigm.com/features/)
  • SmartDraw (https://www.smartdraw.com)
  • EDrawMax (https://www.edrawsoft.com/EDrawMax.php)
  • MS Visio (http://office.microsoft.com/en-us/visio/) by Microsoft
  • Rational Rose (www.rational.com) by IBM
  • TogetherSoft Control Center, Borland (http://www.borland.com/together/index.html)
  • ArgoUML (free software) (http://argouml.tigris.org/ )

OpenSource; written in java

Model Driven Development

17