Introduction to UML

Modelling

UML Background

  • In 1996, the Object Management Group (OMG) issued a request for proposals for a standard approach to object-oriented modeling.
  • The Unified Modeling Language was adopted unanimously by the membership of the OMG as a standard in November 1997 [UML-98].
  • The emergence of the UML appears to be attractive to the general computing public because it consolidates the experiences of many authors with an official status that will reduce gratuitous divergence among tools.

What Does a Unified Means?

  • Across historical methods and notations. The UML combines the commonly accepted concepts from many object-oriented methods, selecting a clear definition for each concept, as well as a notation and terminology.
  • Across the development lifecycle. The UML is seamless from requirements to deployment.
  • Across application domains. The UML is intended to model most application domains, including those involving systems that are large, complex, real-time, distributed, data or computation intensive, among other properties.
  • Across implementation languages and platforms. The UML is intended to be usable for systems implemented in various implementation languages and platforms, including programming languages, databases, 4GLs, organization documents, firmware, and so on.
  • Across development processes. The UML is intended to be usable as the modeling language underlying most existing or new development processes,
  • Across internal concepts. In constructing the UML metamodel, we made a deliberate effort to discover and represent underlying relationships among various concepts, trying to capture modeling concepts in a broad way applicable to many known and unknown situations. This process led to a better understanding of the concepts and a more general applicability of them.

The Unified Modelling Language

  • The Unified Modeling Language (UML) is a general-purpose visual modeling language that is used to specify, visualize, construct, and document the artifacts of a software system.
  • It captures decisions and understanding about systems that must be constructed.
  • Intended to be used in all Software Development LifeCycles
  • Intended to support Object Orinted Development process
  • Capture Static and Dynamic Behavior of a System
  1. Static Behavior
  • Any precise model must first define the universe of discourse, that is, the key concepts from the application, their internal properties, and their relationships to each other.
  • This view is static because it does not describe the time-dependent behavior of the system.
  • The main constituents of the static view are
    • Classes
    • Objects
    • Interface and their relationships
  1. Dynamic Behavior
  • Used to represent the interactions, workflows, and different states of the static constituents in the software
  • There are two ways to Dynamic model behavior.
    • life history of one object as it interacts with the rest of the world;
    • the other is the communication patterns of a set of connected objects as they interact to implement behavior.

UML Views

There is no sharp line between the various concepts and constructs in UML, but, for convenience, we divide them into several views. At the top level, views can be divided into three areas: structural classification, dynamic behavior, and model management.

  1. Structural Classification

Describes the things in the system and their relationships to other things. Classifiers include classes, use cases,         components, and nodes.

  • Views:
    • Static, UseCase, Deployment and Component Views
  •  Diagrams:
    • Class Diagram, Use Case Diagram, Component and Deployment Diagram

2. Dynamic Classification

  • Describes the behavior of a system over time. Behavior can be described as a series of changes to snapshots of the system drawn from the static view.
  • Views:
    • State machine, activity and interaction Views
  • Diagrams:
    • Statechart, activity, sequence and collaboration diagrams.

3. Model Management Classification

  • Describes the organization of the models themselves into hierarchical units.
  • The package is the generic organizational unit for models. Special packages include models and subsystems. The model management view crosses the other views and organizes them for development work and configuration control.

References:

  • The Unified Modeling Language Reference ManualJames Rumbaugh, Ivar Jacobson, Grady Booch