UML Introduction

A model is an abstract representation of a system, constructed to understand the system prior to building or modifying it.

  1. Most of the modeling techniques involve graphical languages.
  2. UML is a general purpose modeling language.
  3. It helps to capture the behavior of complex software and non software system and it has become an OMG standard.
  4. UML allows elements and components to support the requirement of complex systems.
  5. UML is an object oriented concepts and methodology. So UML modeled using the pictorial language.
  6. UML diagrams are drawn from different ways like design, implementation, deployment etc.
  7. The UML has an important role in this OO analysis and design, The UML diagrams are used to model the design.

 UML

Language for specifying, constructing, visualizing and documenting the software system and its components

Graphical language with sets of rules and semantics (expressed in English, known as object constraint language (OCL)

  • OCL – a specification language that uses simple logic for specifying the properties of a system

— Static Model

Viewed as a snapshot of a system’s parameters at rest or at a specific point in time.

Represent the structural or static aspect of  a system

UML class diagram – e.g. of static model

Dynamic Model

Viewed as a collection of procedures or behaviors taken together, reflect the behavior of a system over time

Show how the business objects interact to perform tasks

E.g. UML interaction diagram, activity models

Why modeling?

Good models are essential for communication among project teams

Modeling language includes

Model elements – fundamental modeling concepts and semantics

Notation – visual rendering of model elements

Guidelines – expression of usage within the trade

Benefits

Clarity – Pick out errors and omissions from a graphical or visual representation much better than from listing of codes

Familiarity – more comfortable to work with this type of representation  because it is similar to the way the information actually is represented and used by the employees currently working in the problem domain

Maintenance – visual notation can improve the maintainability of a system. .visual identification of locations to be changed and the visual confirmation of those changes will reduce errors.

Simplification – use of a higher level representation generally results in the use of fewer but more general constructs, contributing to simplicity and conceptual understanding.

Advantages of modeling

  • Models make it easier to express complex ideas
  • Reduction of complexity.
  • Models enhance and reinforce learning and training
  • Cost of the modeling analysis is much lower than the cost of similar experimentation conducted with a real system.
  • Manipulation of the model is much easier than manipulating a real system

Primary goals in the design of the UML

  • Provide users 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
  • Be independent of particular programming  languages and development processes
  • Provide a formal basis for understanding the modeling language
  • Encourage the growth of the OO tools market
  • Support higher-level development concepts
  • Integrate best practices and methodologies