2. What is UML?
▪ The Unified Modeling Language (UML) is a general-purpose modeling
language in the field of software engineering, which is designed to provide a
standard way to visualize the design of a system
▪ A standardized, graphical “modeling language” for communicating software
design
▪ A language for capturing and expressing
▪ A tool for system discovery and development
▪ A tool for visual development modelling
▪ A set of well-founded guidelines
▪ A milestone generator
▪ System architecture documentation
zafar_ayub@hotmail .com 11/8/2014 2
3. What UML is not?
▪ A visual programming language or environment
▪ A database specification tool (i.e. an ERD)
▪ A development process (i.e. an SDLC)
▪ A quality guarantee
▪ A project management specification
▪ UML isn’t specific to any software process, programming paradigm, or technology
▪ UML isn’t for end user or public
▪ Design and draw is too complex
zafar_ayub@hotmail.com 11/8/2014 3
4. What UML does?
▪ Better think out and document your system before implementing it
▪ “forecast” your system
▪ Lower development costs
▪ Plan and analyze your logic (system behavior)
▪ Make the right decisions at an early stage (before committed to code)
▪ Better deploy the system for efficient memory and processor usage
▪ Easier maintenance/modification on well documented systems
▪ Lower maintenance costs
▪ Establish a communication standard
▪ Minimize “lead-in” costs
zafar_ayub@hotmail.com 11/8/2014 4
5. Why use UML?
▪ Open Standard, Graphical notation for
▪ Specifying, visualizing, constructing, and documenting software systems
▪ Open Standard, Graphical notation for
▪ Language can be used from general initial design to very specific detailed design
across the entire software development lifecycle
▪ Increase understanding/communication of product to customers and developers
▪ Support for diverse application areas
▪ Support for UML in many software packages today (e.g. Rational, plugins for
popular IDE’s like NetBeans, Eclipse)
▪ Based upon experience and needs of the user community
▪ Help to develop efficient, effective and correct designs, particularly Object
Oriented designs
zafar_ayub@hotmail.com 11/8/2014 5
6. History of UML
▪ Overcome with methodologies in early 90’s for object-oriented techniques by
Grady Booch, Ivar Jacobson, Jemas Rumbaugh
▪ Their techniques
Booch by Grady Booch
OMT (Object Modeling Technique), by Jim
OOSE (Object-Oriented Software Engineering), by Ivar Jacobson
▪ In October 1994, the Rational Software Corporation (part of IBM since February
2003) began the creation of a unified modeling language by these three
professionals
▪ 1997 OMG (Object Management Group) published UML 1.0
▪ Current version of UML is 2.4.1
zafar_ayub@hotmail.com 11/8/2014 6
8. Types of UML diagram
▪ In version 2.4.1 UML has many types of diagrams which are divided into two
categories
2.4.1 Structural
UML
Diagrams
Class Diagram
Component Diagram
Composite Structure Diagram
Deployment Diagram
Object Diagram
Package Diagram
Profile Diagram
Behavioral
UML
Diagrams
Activity Diagram
Communication Diagram
Interaction Overview Diagram
Sequence Diagram
State Diagram
Timing Diagram
Use Case Diagram
zafar_ayub@hotmail.com 11/8/2014 8
9. Blocks of UML diagram
▪ UML blocks are dived into four categories
2.4.1
Blocking Structural Blocks
Behavioral Blocks
Grouping Blocks
An notational Blocks
zafar_ayub@hotmail.com 11/8/2014 9
10. Structural Blocks
▪ The structural blocking defines the static part of the models. They represent
physical and conceptual elements, brief is their:
1. Class - Class represents set of objects having similar responsibilities
2. Interface - Interface defines a set of operations which specify the
responsibilities of a class
zafar_ayub@hotmail.com 11/8/2014 10
11. 3. Collaboration - Collaboration defines interaction between elements
4. Use case - Use case represents s set of actions performed by a system for
specific goal
UseCase
_______
zafar_ayub@hotmail.com 11/8/2014 11
12. 5. Component - Component describe physical part of a system
6. Node - A node can be defined as a physical; element that exist at run time
zafar_ayub@hotmail.com 11/8/2014 12
13. Behavioral Blocks
▪ A behavioral thing consists of the dynamic parts of UML models, following are the
behavioral things:
1. Actor - The outside entity that communicate with a system, typically a person
playing a role or an external device
Actor
2. Interaction - Interaction is define as a behavior that consist of a group of
messages exchanged among elements to accomplish a specific task
Message
zafar_ayub@hotmail.com 11/8/2014 13
14. 3. State machine - State machine is useful when the state of an object in its life
cycle is important. It defines the sequence of states an object goes through in
response to events. Events are external factors responsible for change state
zafar_ayub@hotmail.com 11/8/2014 14
15. Grouping Blocks
▪ Grouping blocks can be defined as a mechanism to group elements of a UML
model together, there only one grouping block available:
1. Package - Package is the only one grouping thing available for gathering
structural and behavioral things
zafar_ayub@hotmail.com 11/8/2014 15
16. An notational Blocks
▪ An notational blocks can be define as a mechanism to capture remakes,
descriptions and comments of UML model elements.
1. Note - A note is used to render comments, constraints etc of UML elements
zafar_ayub@hotmail.com 11/8/2014 16