Skip to main content
CS 690
REPORT-03
Unified Modeling Language
1
Reference:http://www.csfa47.edu.ar/user/sitio/acerca_de_uml.php
Contents
2
Contents Slide No.
Introduction 3-4
Main features/functions/characteristics 5-9
Real World Examples 10-16
SWOT:Advantage 17-18
SWOT:Weaknesses/Potential Problems 19-20
OPTIONAL Part 21-30
References Recommended 31-37
1.1 Introduction(Basics)
 UML stands for Unified Modeling Language.
 UML is a graphical language for visualizing, specifying, constructing, and documenting the
artifacts of a software-intensive system.
 The UML offers a standard way to write a system's blueprints, including conceptual
things such as business processes and system functions
 UML is different from the other common programming languages like C++, Java, COBOL etc.
 The UML is used to define a software system; to detail the artifacts in the system, to document
and construct
 The UML may be used in a variety of ways to support a software development methodology (such
as the Rational Unified Process) - but in itself it does not specify that methodology or process.
 Although UML is generally used to model software systems but it is not limited within this
boundary. It is also used to model non software systems as well like process flow in a
manufacturing unit etc.
 UML is not a programming language but tools can be used to generate code in various languages
using UML diagrams. UML has a direct relation with object oriented analysis and design
3
1.2 Introduction(History)
 Object oriented concepts were introduced
much earlier than UML. So at that time
there were no standard methodologies to
organize and consolidate the object
oriented development. At that point of time
UML came into picture.
 UML was created by Object Management
Group (OMG) and UML 1.0 specification draft
was proposed to the OMG in January 1997.
 In 1997 UML was adopted as a standard by
the Object Management Group (OMG), and
has been managed by this organization ever
since
 In 2005 the Unified Modeling Language
was also published by the International
Organization for Standardization (ISO) as
an approved ISO standard.
4
Reference:https://en.wikipedia.org/wiki/Unified_Modeling_Language
2. Main Features
5
Features Description
Classifications of
UML
Behavior diagrams. Includes
behavioral features of a system or
business process. This includes
activity, state machine, and use
case diagrams as well as the four
interaction diagrams.
Structure diagrams. A type of
diagram that depicts the elements
of a specification that are
irrespective of time. This includes
class, composite structure,
component, deployment, object,
and package diagrams
Reference:http://www.sparxsystems.com/uml-tutorial.html
Cont’d
6
Types of
Models in
UML
Functional Model
Showcases the functionality of the system from the user's Point of View.
Object Model
Showcases the structure and substructure of the system using objects
Dynamic Model
Showcases the internal behavior of the system.
Most widely
used UML
Diagrams
Use Case Diagram
Class Diagram
Sequence Diagram
Collaboration Diagram
State Diagram
Note:This is only a subset of diagrams … but are most widely used
Cont’d
7
Use Case Diagram (core
components)
Actors: A role that a user plays with respect to the system, including
human users and other systems. e.g., inanimate physical objects
(e.g. robot); an external system that needs some information from
the current system.
Use case: A set of scenarios that describing an interaction between a
user and a system, including alternatives
System boundary: rectangle diagram representing the boundary
between the actors and the system.
Reference:http://www.tutorialspoint.com/uml/uml_overview.htm
Cont’d
8
Class diagram Used for describing structure and
behavior in the use cases
Provide a conceptual model of the
system in terms of entities and their
relationships
Used for requirement capture, end-user
interaction
Detailed class diagrams are used for
developers
Sequence
Diagram
Sequence diagrams demonstrate the
behavior of objects in a use case by
describing the objects and the messages
they pass.
The horizontal dimension shows the
objects participating in the interaction.
The vertical arrangement of messages
indicates their order.
Reference:http://www.omg.org
Cont’d
9
State Diagrams State Diagrams show the sequences of states an object goes
through during its life cycle in response to stimuli, together
with its responses and actions; an abstraction of all possible
behaviors.
Take the example of online shopping system.
Reference:
3.Real World Examples
10
Examples Description
Information system
Handle large amounts of data with complex
relationships, which are stored in relational
or object databases
Technical system Handle control technical equipment such as
telecommunications, military systems, or
industrial processes. They must handle the
special interfaces of the equipment and have
less standard software than Information
system. The are often real-time system.
Embedded real-time systems Execute on simple hardware embedded in
some other equipment such as a mobile
phone, car, household appliance, etc.
Cont’d
11
Distributed System Distributed on a number of machines where
data Is transferred easily from one machine
to another. They require synchronized
communication mechanisms to ensure data
integrity and are often built upon object
mechanisms such as CORBA,
COM/DCOM, or Java Beans/RMI
System software Define the technical infrastructure that other
software uses. Operating system. Databases.
Business system Describe the goals, the resources (human,
computers), the rules (laws, business
strategies, policies), and the actual work in
the business
3.1.Real-Time Embedded Systems
12
The UML was designed as a graphical notation for use with object-oriented systems and
applications. Because of its popularity, now it is emerging in the field of embedded systems
design as a modeling language. The UML notation is useful in capturing the requirements,
documenting the structure, decomposing into objects and defining relationships between objects.
It is a notational language that is very useful in modelling the real-time embedded systems.
Like: designing of electromechanical systems that are controlled by multi-processors
 Low-Current Sytems Prototyping
 Bikes Modeling
 Motors Modeling Etc.
Reference:http:/www.engineering.com
3.2.Real-Time Information system
13
 Accounts Systems
 Business Management Systems
 Health Care Systems
 Social Networking Systems
 Softwares developed for database management
 Security systems
 Brain Mapping Systems
Reference:http:/www.engineering.com
3.3.Real Time Technical Systems
14
 Complicated Technical systems need modeling
 Example In Amazon there are Robots not man power for packaging
They used UML for creating prototypes
Like :
Robots
Aircrafts
Rockets are complex technical
Systems designed through
UML
Reference:http:/technoworld.com
3.4.Real Time Distributed systems
15
 telephone networks and cellular networks,
 computer networks such as the Internet,
 wireless sensor networks,
 routing algorithms;
 World wide web and peer-to-peer networks,
 massively multiplayer online games and virtual reality communities,
 distributed databases and distributed database management systems,
 network file systems,
Reference:http:/www.w7cloud.com
3.4.Real World Applications of UML in Fields
16
 Enterprise information systems
 Banking and financial services
 Telecommunications
 Defense
 Transportation
 Retail
 Science and Research
 Distributed Web-based services
 Agriculture
Reference:http:/engineeringworld.com
4. SWOT: Advantages and Benefits
17
# Advantages Brief explanation
1 Easy to Organize Use case diagrams help to organize the requirements. The
notations for a use case represents a cohesive set of interaction
between the user and the system. By simply referring to a use case
, a complex set of interactions can be accessed easily thereby
simplifying the discussions
2 Reduces
documentation
Use case documents complete the functional requirement. Thus
for the projects using use case diagrams no additional document
needed.
3 Use case diagram is
strength
The ability to show an abstract actor that deals with the common
user is one of the major strength of use case diagrams.
4 Cost Efficient The right decisions are made before you are
given poorly written code. Less overall costs
Cont’d
18
5 Easy to Understand UML breaks the complex system into discrete pieces that can be
understood easily
Complex system can be understood by the disparate developers
who are working on different platforms
6 Standards UML is the current standard for programming in object-oriented
programming languages. When creating classes and other objects
with relationships between each other, UML is what is used to
visually describe these relationships. Because it is used as a standard,
it is widely understood and well known. This makes it easy for a new
programmer to step into a project and be productive from day one.
7 Planning Tool UML helps to plan a program before the programming takes place.
In some tools used to model UML, the tool will generate code based
on the classes set up in the model. This can help reduce overhead
during the implementation stage of any program.
Additionally, a UML model diagram is easy to change, whereas
reprogramming a section of code can be tedious and time-
consuming.
5.SWOT:Weaknesses/Potential Problems
19
# Advantages Brief explanation
1 Specification Still no specification for modeling of user interfaces.
2 Poor for distributed systems No way to formally specify serialization and object
persistence. E.g. no way to specify that an object resides on
a server process and shared among instances of a running
process.
3 Synchronizing code with
models is difficult
Using multiple models/diagrams makes it difficult to keep
them consistent with each other and the code and much
code has to be added by hand
4 Unclear Who Benefits UML is not advantageous to software developers, mainly
because software developers work with code, not pictures
or diagrams. UML diagrams may be beneficial to project
managers or executives to illustrate how a software tool
will work, but it might be easier to draw the diagram out on
a whiteboard or piece of paper, rather than take the time to
learn the UML language.
Cont’d
20
5 Too Much Emphasis on Design UML places much emphasis on design, which can be
problematic for some developers and companies
Companies cannot solve every problem with a
software tool using a UML diagram -- eventually, they
just have to start coding and testing
6 Time One disadvantage some developers might find when
using UML is the time it takes to manage and maintain
UML diagrams. To work properly, UML diagrams must
be synchronized with the software code, which requires
time to set up and maintain, and adds work to a
software development project. Small companies and
independent developers might not be able to handle the
added amount of work required to synchronize the
code.
6. List of Open Source(Optional)
21
# Source tool Exact Web address
to download that
tool
OPTIONAL: Test tool and provide your evaluation of
this tool
1 ArgoUML
http://argouml.tig
ris.org/
The diagramming features are easy to use and provides
useful assistance in the formatting / aligning process.
The nicer aspects of ArgoUML lie in its design assistance
features.
The design evaluation and checklists provides valuable
help to make sure that your models are well formed. This
will be specifically attractive for people that are learning
UML diagrams or don't use them continuously.
Cont’d
22
2 UMLet http://www.umlet.c
om/
UMLet is a UML tool aimed at providing a fast way of
creating UML diagrams. UML elements are modified
using text input instead of pop-up dialogs. Users can easily
tailor UMLet to their modeling needs. UMLet supports a
variety of UML diagram types: class diagrams, use case
diagrams, sequence diagrams, state diagrams, deployment
diagrams, activity diagrams
3 StarUML http://staruml.io/ StarUML supports many shorthands in Quick Edit to
create elements and relationships at once
StarUML is compatible with UML 2.x standard and
supports totally 11 kinds of UML diagrams
4 Umbrello https://umbrello.kd
e.org/
Umbrello UML Modeller is a Unified Modelling
Language (UML) diagram program based on KDE
Technology.
UML allows you to create diagrams of software and other
systems in a standard format to document or design the
structure of your programs.
Cont’d
23
www.rational.com Rational Rose By IBM Rational Rose supports an
internal scripting and
extension language
BasicScript. BasicScript is
compliant with the VBA
(Visual Basic for Applications)
language. VBA is considered
to be the standard Microsoft
Windows extension and
scripting language for
applications. Applications like
Microsoft Office, Visio,
AutoCAD for NT, and many
other Windows applications
all use VBA as their extension
language
http://www.borland.com/togethe
r/index.html
TogetherSoft Control Center,
Borland
Cont’d
24
Reference: http://www.cs.utah.edu/~ndykman/Draft.pdf
6.1.(Optional)Why AgroUML?
25
• Systems: platform independent (Java Runtime Environment)
• Exports to: XMI, PNG, SVG, GIF, JPEG, EPS, PS
Supports:
o Class Diagram
o Use Case Diagram
o Sequence Diagram
o Collaboration Diagram
o State Diagram
o Activity Diagram
o Deployment Diagram
• Code generation for: C++, C#, Java, PHP4, PHP5, SQL
• Code reverse engineering (Code to UML): Java, C++, C#, IDL (including relationships)
• Code generation from UML Code to UML Exports to XMI UI a bit crowded, harder for
beginners
Reference: http://argouml.tigris.org/
6.2.(Optional)Why UMLet?
26
• Systems: platform independent (Java Runtime Environment)
• Exports to: PNG, PDF, SVG, JPEG, EPS, BMP
• Supports:
o Class Diagram
o Use Case Diagram
o Interaction Diagram
o State Diagram
o Activity Diagram
o Deployment Diagram
o Context Diagram
o code reverse engineering (Code to UML): Java (only classes, no relationships)
 It also works as eclipse plugin no code generation from UML not very user friendlySummary:
This tool offers no functionality which could not also be found in most other UML tools. But it is more difficult to use, so I
would not personally recommend it.
Notes: attributes, operations, etc. cannot be changed via GUI, but via a custom Properties file (which may be edited directly in the
GUI, but you do need to learn the layout of this file, which means reading the documentation)
Reference: http://www.umlet.com/
6.3.(Optional)Why StarUML?
27
Features of StarUML are as follows:
 Accurate UML standard model
 Open software model format
 True MDA support
 Excellent extensibility
 Software model verification function
 Useful Add-Ins
Reference: http://staruml.sourceforge.net
6.4.(Optional)Why Umbrello?
28
Umbrello UML Modeller supports the following types:
 Class Diagram
 Sequence Diagram
 Collaboration Diagram
 Use Case Diagram
 State Diagram
 Activity Diagram
 Component Diagram
 Deployment Diagram
 Entity Relationship Diagram
Reference: http://umbrello.kde.org/
6.5.(Optional)Why Rational Rose?
29
 Capture information visually and directly - provides a visual modeling language to improve
creation of database applications.
 Evolve database design into the application’s logic - allows you to visualize the database
architecture and how it ties to the application.
 Integrate database design with development - unifies the project team by providing common UML
model execution and notation.
Reference: http://www-03.ibm.com/software/products/en/datamodeler
6.6.(Optional)Why TogetherSoft(TCC) ?
30
 Togethersoft is a very good product that combines the design and development environment.
 But Togethersoft's target is Java, which is unique in this industry, and it does a very good job as
well. I would say, from a pure object modeling point of view.
 TCC has an integrated Java development environment.
 Togethersoft Control Center isn't just a UML modeling tool. It is a full development platform that
supports the software development process from requirements through testing. It supports bi-
directional updates between UML models and project source, so changes that you make to a
model simultaneously update the corresponding project source (and vice-versa).
 It can retro-engineer an existing project from its source which is very handy when you're trying to
understand an undocumented application (which, of course, never happens).
 Control Center is built in Java, so it runs under any Java-enabled platform.
 TCC has a full-featured editor that is somewhat reminiscent of IntelliJ's IDEA.
Reference: http://codeverge.com/sybase.powerdesigner.general/togethersoft-control-center-
6.0/819005
7. References
31
Topic of articles, papers or
reports
Exact Web address to
download that article
Topics covered
UML Based Object-oriented
Development: Experience with
Inexperienced Developers
https://bib.irb.hr/datoteka/
85049.055_C28.pdf
UML in practise
Development process
Reverse engineering
Experiments with inexperience
developers
Unified Modeling Language
(UML) for Database Systems
and
Computer Applications
http://www.sersc.org/jour
nals/IJDTA/vol5_no1/9.pd
f
UML for database system
Database systems
Uml diagram for DB syatem
Using UML for Automatic
Test Generation
https://www.research.ibm.
com/haifa/projects/verific
ation/mdt/papers/uml4test
gen.pdf
Architecture
The Agedis modelling language
Chooding UML
Target language
Class diagrams
Object diagrams
State diagrams
Cont’d
32
UML-Based Integration Testing https://www4.in.tum.de/publ/pa
pers/meisinge00.pdf
Modeling components in UML.
Establishing a Global
Behavioral Model
Test Generation and Execution
Implementatiopn of TnT
Evaluation of example
Software Design Testing Based
on UML Diagrams
http://www.ijarcsse.com/docs/p
apers/Special_Issue/icadet2014/
Lord_38.pdf
The UML
UML Based Software Testing
Related work
Proposed technique
Data extraction from UML
8.1.1 Our Own Conclusion
33
 UML amounts to a combination of EER diagrams, statecharts and other diagrammatic notations.
 Much of this is useful for conceptual modeling. Some diagrams, however, are appropriate for
software modeling only.
 The great contribution of UML is that for the first time ever, there is a modeling standard; this has
led to compatibility and portability of conceptual models.
 The great weakness of UML is that it was designed by committee, and some design decisions
were based on political, rather than technical considerations.
 Another major weakness of UML is that it is (still largely) informal. Informal models are not
scalable!
 Unified Modeling Language - UML.
 A modeling language, not a method.
 Provides a graphical representation that allows developers and architects to model a software
system before the system is ever built.
 Analogy - an architect creating a blueprint before a house or office building is ever built.
8.1.2.Summary
34
 The UML does not specify a methodology/process. Therefore, saying ``We use the UML
methodology is incorrect.'‘
 Structure Diagram
 Class Diagram (shows the static, structural, model elements, mainly classes and types)
 Composite Structure Diagram (shows the internal structure and interaction points of a class
or component or use case)
 Object Diagram (shows objects and their relationships at a point in time)
 Package Diagram (shows the grouping of model elements into packages and the
releationships between packages)
 Component Diagram (shows components — e.g., source code, binaries, media — and their
dependencies)
 Deployment Diagram (shows the configuration of processing devices and which components
run on them)
8.1.3.Summary
35
 Behavior Diagram
 Use Case Diagram (shows actors and use cases)
 Activity Diagram (shows processes)
 State Machine Diagram (shows behavior in terms of state transitions)
 Interaction Diagram
 Sequence Diagram (shows an interaction by laying out objects across the top and running
their lifelines down the diagram, wit messages exchanged between lifelines to make the
sequence of messages clear)
 Communication Diagram (shows an interaction where the layout of objects is arbitrary
and the sequence of messages is shown by numbering them)
 Interaction Overview Diagram (groups interaction diagrams into a high level activity
diagram)
 Timing Diagram (shows state changes over time)
8.2.1.Our Own Recommendations(Part-A)
36
A)Should companies and businesses invest financial and human resources, deploy and use Unified Modeling Language?
Yes,The good thing about UML is It can model any kind of software(like Linux kernel, open office, any web application, etc)
or only can model a software which uses Object Oriented language(Java, c++, etc).
Only thing is we should decide what kind of modeling methods is used for giant open source projects(Linux kernel, Openoffice.org,
Firefox, Apache http, MySQL, Eclipse, VIM, etc.
Yes,We think modeling is good way to figure out software so, UML need to be used.
Yes,UML is first and foremost a communication tool, it helps you communicate ideas to other people on your team (or to
yourself three months in the future), and as such, should be evaluated based on how easy it can express whatever you have in mind.
Yes,Being language-independent, UML cannot be used to express the expected, idiomatic way to use a given API or module, yet
this is an essential part of the design.
No,Here is a pitfall as well UML cannot easily capture some specific properties of data structures that are relied on by
algorithms
Yes,Finally, languages may have features that are not represented elegantly in UML at all - for instance, Objective Caml module
functors, or closures in any language that has them.
Yes, Engineers use standards for building bridges, so that they do not fall over (at least in developed countries); to ensure that the
purchaser and the supplier mean the same thing when they draw a symbol for a standard bolt; and we use standards in designing
i.e. UML to in the same way.
Yes,For small UML diagrams Gaphor is recommended, and for complex UML tool with a lot of functionality ArgoUML
recommended.Use tools as per the requirements of projects
8.2.2Our Own Recommendations(Part-B)
37
B)Should we (CS/IS Department) recommend Unified Modeling Language for active use in CS/IS curricula, for example, as a
separate DIS or Advanced Topics course?
Yes, A software engineer should know how to choose a right tool for the particular software modeling.
Yes, A software engineer should know UML Modeling Standard.
Yes, A software engineer should have knowledge of all kinds of UML Tools available and their usage.
Yes, UML is being used for fighter aircraft, banks and financial institutions and govt. depts. in developed countries for Information
Modeling, Relational Database Modeling, Function Modeling .
So, people involved in Information Modeling, Relational Database Modeling, Function Modeling and architecting the softwares
of all types should have knowledge in UML
Yes, To represent complex things in simplified manner, UML is primary requirement to learn.
Yes, Learning UML helps promote a deeper understanding of the system, exposing opportunities for simplification and re-use
Manage risk.
Yes, UML is for the communication of the desired structure and behaviour of a system between analysts, architects, developers,
stakeholders and users.
Yes, Learning UML helps visualisation and control of system architecture.
Final words:
As explained in real world examples above all kinds of fields require the usage of UML: Accounts Systems, Business Management
Systems, Health Care Systems, Social Networking Systems, Software's developed for database management, Security systems, Brain
Mapping Systems.
Credits(Content help+Pictures)
 http://www.sparxsystems.com/uml-tutorial.html
 https://en.wikipedia.org/wiki/Unified_Modeling_Language
 http://www.tutorialspoint.com/uml/uml_overview.htm
 https://www.google.co.in/imgres?imgurl=http://www.softwaretestinggenius.com/photos/TA45.JPG&imgrefurl=http://m.softwaretes
tinggenius.com/?page%3Ddetails%26url%3Distqb-advanced-level-test-analyst-and-technical-test-analyst-exam-sample-paper-q-
41-to-
50&h=200&w=542&tbnid=es08jcJVDhGLBM:&docid=p8frQms2eHpeyM&ei=qKCYVpn6OIGLuATl8Y7QDg&tbm=isch&ved=
0ahUKEwiZ7ubLpqvKAhWBBY4KHeW4A-oQMwg3KAcwBw
 http://www-306.ibm.com/software/rational/uml/
 http://www.togethersoft.com/services/practical_guides/umlonlinecourse/
 http://www.ehow.com/info_8584011_list-advantages-uml.html
 http://www.methodsandtools.com/tools/tools.php?argouml
 http://www.soi.wide.ad.jp/class/20040034/slides/11/25.html
 http://www.omg.org
 http://www.rational.com/uml/index.jsp
 UML Distilled - http://www.awl.com/cseng/titles/0-201-32563-2
38