You are on page 1of 19

Ambo University

Hachalu Hundessa Campus IOT


Advanced Software Engineering
Individual Assignment

School: Informatics and Electrical Engineering


Department: Information Technology
Assignment Title: Analysis of UML and UML Tools Survey

Name ID
1. Merga Kumela…………,………………… PGR/47307/13

Submitted to: Dr. Tulu Tilahun (PhD)

May, 2021
Ambo Ethiopia

0|Page
Contents
1. UML Diagram Analysis and Survey of UML Tools ................................................................................. 1
1.1. Introduction Of UML ..................................................................................................................... 1
2. Behavioral Diagram ............................................................................................................................... 1
2.1 Use case diagram ................................................................................................................................ 2
2.2 Activity Diagram .................................................................................................................................. 2
2.3 State Machine Diagram....................................................................................................................... 3
2.4 Sequence Diagram .............................................................................................................................. 4
2.5 Communication Diagram .................................................................................................................... 4
2.5.1 Communication Diagram vs Sequence Diagram .............................................................................. 5
2.6 Interaction Overview Diagram ............................................................................................................ 5
2.7 Timing diagrams .................................................................................................................................. 6
3. Structural Diagrams .............................................................................................................................. 6
3.1 Class diagram ...................................................................................................................................... 6
3.2 What is Component Diagram? ............................................................................................................ 7
3.3 Component Modeling ......................................................................................................................... 7
3.4 Deployment Modeling ........................................................................................................................ 8
3.5 Composite Structure Diagram............................................................................................................. 9
3.6 Object Diagram ................................................................................................................................... 9
3.7 Package Diagram ............................................................................................................................... 10
3.8 Profile Diagram ................................................................................................................................. 11
4 Survey of UML Tools ................................................................................................................................ 11
4.1 What is a Visio diagram Tool? ............................................................................................................... 12
4.1.1 Pros of Microsoft Visio tools .............................................................................................................. 12
4.1.2 Cons of Microsoft Visio tools ............................................................................................................. 13
4.2 Edraw Max ............................................................................................................................................ 13
4.3 Gliffy ..................................................................................................................................................... 14
Which tools I prefer to use?........................................................................................................................ 15
CONCLUSION............................................................................................................................................... 15
References .................................................................................................................................................. 16

I
List of Figures

Figure 1: Generalization of UML Diagrams ................................................................................................... 1


Figure 2: Use case Diagram ........................................................................................................................... 2
Figure 3: Activity Diagram ............................................................................................................................ 3
Figure 4: State Machine Diagram.................................................................................................................. 3
Figure 5: Sequence diagram.......................................................................................................................... 4
Figure 6: Communication Diagram ............................................................................................................... 4
Figure 7: Interaction Overview Diagram ....................................................................................................... 5
Figure 8: Timing Diagram .............................................................................................................................. 6
Figure 9: Class Diagram ................................................................................................................................. 7
Figure 10: Component Diagram .................................................................................................................... 7
Figure 11: Component Modeling .................................................................................................................. 8
Figure 12: Deployment diagrams .................................................................................................................. 8
Figure 13: Composite Structure Diagram ..................................................................................................... 9
Figure 14: Object Diagram .......................................................................................................................... 10
Figure 15: Package Diagram ........................................................................................................................ 10
Figure 16 Profile Diagram ........................................................................................................................... 11

II | P a g e
1. UML Diagram Analysis and Survey of UML Tools
1.1. Introduction Of UML
UML, short for Unified Modeling Language, is a standardized modeling language consisting of
an integrated set of diagrams, developed to help system and software developers for specifying,
visualizing, constructing, and documenting the artifacts of software systems, as well as for
business modeling and other non-software systems. The UML represents a collection of best
engineering practices that have proven successful in the modeling of large and complex systems.
The UML is very important parts of developing object-oriented software and the software
development process. The UML uses mostly graphical notations to express the design of
software projects. Using the UML helps project teams communicate, explore potential designs,
and validate the architectural design of the software. In this article, we will give you detailed
ideas about what is UML, the history of UML and a description of each UML diagram type,
along with UML examples.

Figure 1: Generalization of UML Diagrams

2. Behavioral Diagram
It shows how the system behaves and interacts with itself and other entities (users, other
systems). These show how data moves through the system, how objects communicate with
each other, how the passage of time affects the system, or what events cause the system to
change internal states.

1|Page
2.1 Use case diagram
Use case diagrams are fundamental features of the UML notation for describing for object-
oriented system model. In other simplest form use case identifies the type of interaction and the
actor involves. Use cases are scenario-based techniques for equipment selection which were first
introduced in the object model. A use case describes a sequence of actions that provide a
measurable value to an actor and is drawn as stick figures.
Use Case diagram of online Ambo town Water billing
system
Checks_cust_balance Generate reporrt

Bank
create account Reg_meter_value

De-activate/
Login
activate view cust_info

Bill officer
search account
bill payment

update account
Admin

Customer

Figure 2: Use case Diagram

2.2 Activity Diagram


Activity diagrams model is a high-level business or processes or transitions between states of a
class. In this activity diagram tried to document the flow of logic for the major business
processes. Illustrate the dynamic nature of a system by modeling the flow of control from
activity to activity and something diagrams are red from top to bottom and have branches and
fork to describe conditions and parallel activities.

Activity diagrams represent the dynamics of the system. They are flow charts that are used to
show the workflow of a system. These shows

➢ The flow of control from activity to activity in the system,


➢ What activities can be done in parallel?
➢ Alternate paths through the flow.
➢ The flow across use cases or within a use case.
o Emphasize and show flow of control among objects

2|Page
Customers

Login to hs/heri account

System Displays searching page

enter his/her own ID number to see pay amount

invalid Customer ID. Pls enter again!!


click search button

incorrect

correct

displays the result

insert bank A/c number


It is not yours

incorrect
pls recharge your account!!

Insufficient balance

Sufficient balance

payed successfully

Figure 3: Activity Diagram

2.3 State Machine Diagram


State machine diagrams are similar to activity diagrams, although notations and usage change a
bit. They are sometimes known as state diagrams or state chart diagrams as well. These are very
useful to describe the behavior of objects that act differently according to the state they are in at
the moment. The State machine diagram below shows the basic states and actions.

states that shows a door goes through during its lifetime

Figure 4: State Machine Diagram

3|Page
2.4 Sequence Diagram
Sequence e diagram is used to show the sequence of actions, interaction of an object with the
Actor’s and time frames of the system. A sequence diagram shows an interaction arranged in
time sequence. In particular, it shows the instances participating in the interaction by their
“lifelines” and the stimuli that they arranged in time sequence. It does not show the associations
among the objects. Shows the participating objects by the lifelines and the instructions among
this objects arranged in time sequence by the message they exchange with one another.
▪ Sequence Diagrams - emphasize time ordering
▪ Generally show the sequence of events that occur.

customers/employees home page login page Database

wants to login

Displays login page

enters password and username


Click login button

Validate login(username na password)

Login impossible if invalid

Pls enter valid password and username(invalid)


Login OK if Valid

Display authorization message(login ok) if valid

Figure 5: Sequence diagram

2.5 Communication Diagram


A communication diagram is an extension of object diagram that shows the objects along with
the messages that travel from one to another. In addition to the associations among
objects, communication diagram shows the messages the objects send each other.

Figure 6: Communication Diagram

4|Page
2.5.1 Communication Diagram vs Sequence Diagram
The communication diagram and the sequence diagram are similar. They're semantically
equivalent, that is, the present the same information, and we can turn a communication to a
sequence diagram and vice versa. The main distinction between is that the communication
diagram arranged elements according to space, the sequence diagram is according to time. Of the
two types of interaction diagrams, sequence diagrams seem to be used for more than
communication diagrams. So, they are very useful for visualizing the relationship between
objects collaborating to perform a particular task. This is difficult to determine from a sequence
diagram. In addition, communication diagrams can also help us determine the accuracy of our
static model (i.e., class diagrams).

2.6 Interaction Overview Diagram


Interaction Overview Diagram is one of the fourteen types of diagrams of the Unified Modeling
Language (UML), which can picture a control flow with nodes that can contain interaction
diagrams which show how a set of fragments might be initiated in various scenarios. Interaction
overview diagrams focus on the overview of the flow of control where the nodes
are interactions (sd) or interaction use (ref). The following figure shows a student who has been
accepted into a university.

Figure 7: Interaction Overview Diagram

5|Page
2.7 Timing diagrams
Timing diagrams are UML interaction diagrams used to show interactions when a primary
purpose of the diagram is to reason about time. Timing diagrams focus on conditions changing
within and among lifelines along a linear time axis. Timing Diagrams describe behavior of
both individual classifiers and interactions of classifiers, focusing attention on time of
occurrence of events causing changes in the modeled conditions of the Lifelines.

Figure 8: Timing Diagram

How to Developing a Timing Diagram

➢ Click Diagram > New from the toolbar.


➢ In the New Diagram window, choose Timing Diagram, then Click Next. ...
➢ Name the diagram then click OK. ...
➢ You will then see an empty diagram.
➢ Select Timing Frame, then click or drag on the diagram to create a timing frame.

3. Structural Diagrams
Structure diagrams depict the static structure of the elements in your system. i.e., how one object
relates to another. It shows the things in the system – classes, objects, packages or modules,
physical nodes, components, and interfaces. For example, the component diagram describes
how a software system is split up into components and shows the dependencies among these
components

3.1 Class diagram


A class diagram is a component of unified modeling language that shows level of association
among classes and objects. It also shows multiplicity associations, that means how many objects
participate on the association. Class diagram shows the role of objects or classes and
aggregations. We model classes to represent the static structure of how the system will be built.
Class model in design is that focus on the solution domain. Class diagrams show the static
structure of the model, in particular, the things that exist (such as classes and types), their
internal structure, and their relationships to other things.

6|Page
How to Draw a Class Diagram

1. Identify the class names. The first step is to identify the primary objects of the
system.
2. Distinguish relationships. Next step is to determine how each of the classes or
objects are related to one another. ...
3. Create the Structure.

Figure 9: Class Diagram

3.2 What is Component Diagram?


In the Unified Modeling Language, a component diagram depicts how components are wired
together to form larger components or software systems. It illustrates the architectures of the
software components and the dependencies between them. These software components
including run-time components, executable components also the source code components.

Component Diagram Example

Figure 10: Component Diagram

3.3 Component Modeling


Component diagram show the interaction and dependencies between software components. It
helps to model the physical aspects of an object oriented software system. Those software
components including run-time components, execute components and source code of
components.

7|Page
customers persistence

Online Ambo town security


water supply billing Bill officer
system

Administrator
Central database

Figure 11: Component Modeling

3.4 Deployment Modeling


Deployment model are an implementation type diagram that describes the physical structure of
the hardware and software of the system. This depicts the software components, processors and
the device that make up the systems architecture. Deployment models are concerned with the
physical operation of the application. This includes issues as the network layout and location of
the components on the network. Deployment diagrams show:
• The configuration of run-time processing elements and the software components,
processes, and objects that live on them. Software component instances represent run-
time manifestations of code units.
• The physical communication links between hardware items (machines and other sources,
such as printers).
• The relationship between physical machine and processes-what runs where?
Client Machine TCP/IP

:Chrome Web Server Admin


:XAMPP
:Opera
:Mozilla
PHP
:Torch Printer

WAP
Central Data
Base
:MYSQL

Figure 12: Deployment diagrams

8|Page
3.5 Composite Structure Diagram
A composite structure diagram is a UML structural diagram that contains classes, interfaces,
packages, and their relationships, and that provides a logical view of all, or part of a software
system. It shows the internal structure (including parts and connectors) of a structured classifier
or collaboration.

How to Draw Composite Structure Diagram?

1. Select Diagram > New from the application toolbar.


2. In the New Diagram window, select Composite Structure Diagram.
3. Click Next.
4. Enter the diagram name and description. The Location field enables you to select a
model to store the diagram.
5. Click OK.

Figure 13: Composite Structure Diagram

3.6 Object Diagram


An object diagram is a UML structural diagram that shows the instances of the classifiers in
models. Object diagrams use notation that is similar to that used in class diagrams.
Class diagrams show the actual classifiers and their relationships in a system

How to draw Object Diagram?

1. First, analyze the system and decide which instances have important data and association.
2. Second, consider only those instances, which will cover the functionality.
3. Third, make some optimization as the number of instances are unlimited.

9|Page
Figure 14: Object Diagram

3.7 Package Diagram


Package diagram is UML structure diagram which shows structure of the designed system at the
level of packages. The following elements are typically drawn in a package diagram: package,
packageable element, dependency, element import, package import, package merge.
How to draw Package Diagram?
Step 1 - Identify the packages present in the system

1. There is a "track order" service, it has to talk with other module to know about the
order details, let us call it "Order Processing".
2. Next after fetching Order Details, it has to know about shipping details, let us call that
as "Shipping".
3. Finally, if knows the status of the order it has to update the information to the user, let
us call this module as "UI Framework".

Step 2 - Identify the dependencies

1. "Track order" package should get order details from "Order Processing" and on
the other hand, "Order Processing" also requires the tracking information from the
"Track Order" package, thus, the two modules are accessing each other which suffices
<<access>> dual dependency.

Step 3 - Finally, Track Order dependency to UI Framework is also mapped in to the diagram
which completes the Package Diagram for Track Order subsystem.

Figure 15: Package Diagram

10 | P a g e
3.8 Profile Diagram
A Profile diagram is any diagram created in a «profile» Package. Profiles provide a means of
extending the UML. They are based on additional stereotypes and Tagged Values that are
applied to UML elements, connectors and their components.

How to draw profile Diagram?

1. Select Stereotype in diagram toolbar.


2. Click on the diagram to create a stereotype.
3. In the Select Base Type of Stereotype window, select the base type of stereotype from the
model type tree. A base type is the type of model element that the stereotype will extend.
4. Click OK. Name the stereotype and press Enter to confirm creation.

Figure 16 Profile Diagram

4 Survey of UML Tools


Unified Modeling Language (UML) is a modeling language widely used in the field of software
engineering. It is a standard to visualize the design of a system structurally and behaviorally.
UML tools are software tools used to create UML diagrams, perform model and diagram
interchange, model transformation, code generation, reverse engineering and round-trip
engineering, There are many free UML tools available to be downloaded in the internet. This
paper serves as a survey for ten UML tools and gives recommendation to users on which UML
tools to be used in different situations. { Weng Jie Thong, M. A. Ameedeen}

11 | P a g e
The ten best software tools used to draw UML diagram and the most accessible tools and popular
business process modeling approach that helps to provide a better way to document a software.

4.1 What is a Visio diagram Tool?


Visio is a Microsoft Windows based diagramming software that includes templates and symbols
allowing users to create flowcharts, organizational charts, floor plans, network diagrams, mind
maps, info graphics and more. Visio is part of the Microsoft Office software suite, although it is
sold as a stand-alone program. Microsoft Visio is software designed to translate complex
information from text and tables into diagrams. Visio diagrams facilitate communication by
breaking down information and displaying it to be understood at a glance.

4.1.1 Pros of Microsoft Visio tools


➢ Microsoft Visio an excellent modeling tools
➢ Familiar and Efficient
➢ System drawings - drag and drop icons and simple drag and drop connectors
➢ Process mapping - as with system drawing our process maps and drag and drop and
easily connected and easily modified.
➢ Mindmaps/Brainstorming - makes simple clear maps that can easily be exported to other
MS programs (word, PowerPoint etc.)
➢ Ready-to-use shapes
➢ Easy-to-understand diagrams for both technical and non-technical audiences
➢ Saves time with industry-standard shapes and templates
➢ Charts and diagrams
➢ Linking items between sheets
➢ Managing data

12 | P a g e
➢ Customizable
➢ Visio is built just like any other Microsoft Office program, so anyone familiar with
Office will find it relatively easy to use.
➢ The automatic spacing of items on a page makes a Visio project look sleek and
professional with little effort.
➢ The pre-loaded shapes and symbols in Visio are consistent with what is being taught in
business tools for appropriately flowing processes, so it takes the guesswork out of
representing processes correctly.

4.1.2 Cons of Microsoft Visio tools

➢ The main screen is very busy, even though it probably needs to be as Visio has so, so
many functions.
➢ It would be good to have some stock "title blocks" for tech drawings and wiring diagrams
that are easily available
➢ Microsoft Visio should be included in the suite of Microsoft Office products
➢ Autorotation feature sometimes creates issues--it should be more flexible
➢ Default shapes included can be more colorful, keeping business users in mind
➢ Microsoft Visio is not very easy to use for non-technical business user
➢ sometimes it crashes
➢ more sketching features
➢ rotating shapes is cumbersome
➢ Spacing things on our own can be difficult
➢ Knowing tips like these upfront would be helpful.
➢ Creating master shapes would be helpful; when a shape is too big for a diagram, resizing
it and then making sure all of the other instances are the same shape can be a pain.
➢ A wider selection of templates would be nice.

4.2 Edraw Max


Edraw Max is a UML builder software that helps you to make diagrams using ready-made
symbols and templates. It allows you to import your drawings to file formats such as PDF, PPT,
Word, HTML, etc.
Features:
➢ You can create a flowchart, mind map, UML, electrical diagrams, network diagrams, etc.
➢ It provides a user-friendly interface similar to MS Word.
➢ Edraw Max helps you to share designs anytime, anywhere.
➢ This tool provides 280+ latest flowchart and diagram solutions.
Pros:
➢ "Superb software for helping having visibility in development flows."
➢ "Excellent product few updates to take care of and will be good."
➢ "It allows me to create great floorplans with ease and great network layouts, including
server rack layouts, for my work."

13 | P a g e
Cons:
➢ “It is necessary to draw several diagrams. But only money and time are wasted."
➢ "Trying to scale the drawing is sometimes confusing. Would prefer the option of rescaling
as you draw."
➢ "Some of the icons are not scaled well compared to other icons. Sometimes the lines have
trouble snapping to the right locations or randomly disconnect."
➢ "The inability to deploy this on multiple computers that I own and the price."

4.3 Gliffy
Gliffy is a free online drawing tool which provides support for drawing UML diagrams. It is one
of the most widely used online diagramming application.
Features:
➢ Allows you to draw a diagram with ease
➢ This free UML tool offers the power of visual communication and collaboration.
➢ Fast and effective integration with Jira and Confluence
➢ Strong supports for BPMP process models
Pros:
➢ Gliffy is a great alternative if you need to create easy to understand process flows,
diagrams, wireframes, and organizational charts.
➢ The free version works for easy and simple diagrams, but you need to understand that your
documents will be public, which is not ideal.
➢ The paid version is still much less expensive than Visio at $7.99 a month. That will also
give you additional abilities not available in the free version.
➢ Callouts for comments are really nice. I can make a comment on a diagram and it's called
out with a big orange dot. There isn't any guessing on what piece of the diagram the
comments relate to.
Cons:
➢ The only reason I use Gliffy is because I can use the free version, and it's always in a pinch,
honestly, if someone needs a professional-looking process flow. I've gotten away with
sketching process flows in a notebook, taking a picture, and sending that too. It just
depends on client expectations.
➢ The Visio import doesn't work great. Everything is brought over usually without issue, but
you'll spend time reformatting.
➢ The import images feature isn't as user-friendly as I'd like. It's not hard to figure out but
takes a minute to understand how my image was imported, and then how to drag it onto the
canvas. If I click the image upload button and select my image, I want to just import the
image once I select the image, not put it in a staging area and then drag it over.

14 | P a g e
Which tools I prefer to use?
In my previous educational training, I have used Microsoft Visio in my industrial project.
In material teaching course purpose, I have taught Object Oriented System Analysis and Design
using EdrawMax and I prefer this also since it is easy to use.
In my educational hobby to take course online I am studying Smart Draw software tool
NB. For this due I like to use Microsoft Visio and I like to recommend these three tools to design
project and have conceptual on these.

CONCLUSION

The UML is a major step toward the standardization of software development. The standard has received
widespread support from tool vendors and customers alike. The UML includes specifications for nine
different diagrams used to document different views of a software solution from project inception to
installation and maintenance. The specifications define the elements of each model, how the models are
assembled, and how they can be extended.

15 | P a g e
References

1. Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language User Guide.
Pearson Education India, (1999)Google Scholar
2. UML Vendor Directory Listing. http://uml-directory.omg.org/vendor/list.htm
3. Information technology—Object Management Group Unified Modeling Language (OMG
UML—Part 1: Infrastructure (2012). https://www.iso.org/obp/ui/#iso:std:iso-iec:19505:-
1:ed-1:v1:en
4. Documents Associated with Unified Modeling Language (UML), V2.4.1
(2011). http://www.omg.org/spec/UML/2.4.1/
5. Ameedeen, M.A.: A model driven approach to analysis and synthesis of sequence diagrams.
Ph.D. diss., University of Birmingham (2012)Google Scholar
6. ArgoUML. http://argouml.tigris.org/ (2011)
7. Modelio the Open Source Modeling Environment (2011). http://www.modelio.org/
8. Altova UModel 2015, UModel—UML Tool for Software Modeling and Application
Development. http://www.altova.com/umodel.html.
9. Visual Paradigm, Visual Paradigm for UML. http://www.visual-paradigm.com/features/
10. Rational Software Architect. http://www-03.ibm.com/software/products/en/ratisoftarch
11. Software Ideas Modeler (2009). http://www.softwareideas.net/
12. UMLet. http://www.umlet.com/

16 | P a g e

You might also like