You are here

Applying Unified Modeling Language (UML) Training


Unified Modeling Language (or UML for short) is a visual modeling language used in the modeling of software intensive systems. Visual modeling allows describing a system before it is implemented (or describing already implemented systems) in an easy to grasp mannar. Models facilitate general construction process in documenting what to be built in a mannar that can be communicated to various stakeholders. They also allow the verification of system design and architecture. Many modeling tools also allow code generation to minimizing coding time and errors.

UML is not a software development method or a process. It is a notation only. However, knowing only the notation is not sufficient to apply UML effectively. To receive the maximum from UML, one should understand how to use UML during different phases of the software development process.

The purpose of this training program is to introduce the modeling concepts, modeling language (UML) and also to investigate the effective use of UML during different phases of software development process.

Training Objectives:

At the end of the training, participants will be able to

  1. Create and understand UML diagrams (All of the 14 diagrams types as in UML 2).
  2. Use UML effectively in association with different phases of software development process (Business process modeling, Requirements, System analysis, System architecture and design).
  3. Understand how to translate UML models to code and vice-versa (as applicable to some diagram types).

Target Groups:

  1. Business Analysts, Software Architects, Software Designers, Software Engineers


  1. General understanding about software development is expected.
  2. Knowing an object oriented programming language would be advantageous in fully understanding some of the UML diagrams.

Communication Language:

English (With Sinhala explanations if requested)


3 full days (~24 Hours)


Kamal Wickramanayake (Profile)

Training Content:

  1. Introduction to Modeling and UML
    • Why modeling is important?
    • The origin of UML
    • Understanding the role of UML in the software development process
    • Relationships between model, modeling and metamodeling
    • Which aspects of a system should be modeled?
    • The degree (level of details) to which modeling should be done
    • UML infrastructure and superstructure
    • Classification of UML diagrams
  2. Structure Diagrams
    • Class diagrams
    • Object diagrams
    • Component diagrams
    • Profile diagrams
    • Composite structure diagrams
    • Deployment diagrams
    • Package diagrams
  3. Behavior Diagrams
    • Use case diagrams
    • Activity diagrams
    • State machine diagrams
  4. Interaction Diagrams
    • Sequence diagrams
    • Communication diagrams
    • Interraction overview diagrams
    • Timing diagrams
  5. Business Analysis with UML
    • Business structure modeling
    • Business process modeling
    • Business use cases and business actors
  6. Representing Functional Requirements with UML
    • System use cases
    • System actors
    • Reuse mechanisms (generalization, include and extend relationships)
  7. System Analysis with UML
    • Creating a domain model
    • Representing class structures and relationships
    • Representing object structures and relationships
    • Other views that may be required
  8. Describing Architecture and Design with UML
    • Modeling subsystems and their relationships
    • Deployment model
    • Packages and dependencies
    • Abstract classes and interfaces
    • Representing class structures and relationships
    • Representing object structures and relationships
    • Design to code translation