UML Simplified

February 28, 2012

What is Unified Modeling Language (UML)

UML (Unified Modeling Language) is a modeling language that was initially designed in the 1990s by a combination of the modeling approaches of James Rumbaugh, Grady Booch, and Ivar Jacobson. The three were together referred to as the Three Amigos.

The Unified Modeling Language is mainly used to help software developers mentally visualize and organize software systems. In essence, UML is to a software program what a blue print is to a building. It (UML) specifically defines the function, input and output of each software module. This clarifies the tasks as well as allows for bugs to be found and fixed in a shorter period of time.

Programming languages like Java and C # build the apps and websites that run on our computers, by using code that is written and intended to be read only by a computer. But UML belongs to a different class of languages that is used behind the scenes to explain the design and context necessary to build the apps. UML is not to be read by the computer but by the developers. The primary goal is to communicate the design concepts to the developers and the clients. Programming languages like Java and C # translate the words and symbols into ones and zeros to be read by the computers only.

Why Unified Modeling Language (UML)

There are several reasons why a developer should use the Unified Modeling Language (UML) – to develop an application. The first and foremost reason is to improve software quality. In the past, most software applications would be coded by programmers in close proximity to each other working on a team at the same location. However, with increased globalization and outsourcing, many companies have developers living not only in remote national locations but international as well. This has increased the need to improve communication tools with high levels of precision. Another powerful feature that can be found in UML is automatic documentation.

When a large program is being designed by a team of developers, the modules cannot simply be lumped together. They must be assembled in a way that will allow then to function in a scalable, stable and flexible manner while also handling the most complex processes during stressful conditions. UML creates this type of necessary organization.

Greater demands have been placed on software developers to create software programs that work flawlessly. While also assisting in the initial development of the software, UML is also necessary for the maintenance of the program. The structure of an application is often known as its architecture, and the architecture must be defined in a way which allows the maintenance programmer to easily find bugs and fix them. Because many problems may not show up until long after development has been completed and the software implemented, the programmer needs to be able to find and fix the issues as quickly as possible.

The structure of an application is also beneficial because it allows the code to be reused and even updated or replaced. During the design time, it is fairly easy to structure a program based on a group of self contained modules. Thus, allowing an business to eventually create a large library of models, with each model serving as a representation for an implementation that is stored within a repository. If a developer should need a specific functionality, they can take the module from the repository. During the process of coding, the developer can select the necessary code and place it within the application. This will allow for shorter coding timelines.


The Unified Modeling Language (UML) is a necessary tool for any software developer in the design, implementation and maintenance of large software projects. This will give rise to improved communication in our global community, increased productivity, simplification of repairs and maintenance and help developers to achieve the ultimate goal of increased software quality.

Author: Arletha Jones

Works Cited:


One Response to “UML Simplified”

  1. Cedric Matthews said

    I have some experience with UML, you did a good job with this post. Software development is a science and an art and it is difficult to cover all of the possible scenarios that one can encounter when deploying software for the first time. UML certainly reduces the possibility of overlooking critical functions that need to be implemented in software. Thanks you for the blog.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: