Unified Modeling Language, also known as UML, is used to create blueprints of software systems. It defines the elements and relationships of a project to help clarify goals before coding begins. As the project develops, UML helps redefine goals and objectives to keep things moving along.
Let's take a closer look at UML and find out about its origins and some common use cases. We'll also explore different types of UML diagrams and their elements.
History of UML
Object-oriented modeling languages emerged during the late 1970s and 1980s. From the late 1980s through the beginning of the next decade, the number of modeling languages exploded. The consolidation of these different systems was inevitable, and in the mid-1990s, UML emerged as a combination of three methods: Booch, OOSE and OMT. This created stability and predictability, allowing developers to rely on a solid system.
At the same time, the entire industry was seeking a modeling language that would act as an industry standard. In 1996, the Object Management Group asked for proposals from major industry players, such as IBM, Microsoft and Oracle. They combined efforts to create UML 1.0, which was submitted for consideration to the Object Management Group. This quickly became a standard and continues to be regularly updated.
Common Use Cases and Benefits
UML outlines a software development project or system in order to set goals and organize phases in a step-by-step fashion. Use case diagrams outline the action steps that a subject will perform. A simple example is that of a bank customer, known as an "actor" in UML, withdrawing money from an automated teller machine. Actors are people or external systems that act upon the system.
Definition of Requirements
The use case lists the steps an actor must take to achieve a goal. The requirements and how they will be achieved are outlined, but no code is written. There are two main types of requirements:
• Shall requirements, which are necessary.
• Should requirements, which are considered useful, but not vital, components.
Other common examples of use cases include:
• Company payroll system
• Restaurant ordering and fulfillment system
• Hotel operation system
• Financial trading desk system
• Airline reservation system
In these examples, use cases describe what the system will accomplish before expensive and involved software coding or other work is done. Delays, scope creep and other problems are more common when the requirements are not clear at the beginning of a project.
Types of UML Diagrams
There are two main types of UML diagrams:
• Use case diagrams (like the one above) are some of the most common UML diagrams. They give a big-picture view of the actors in a system, their functions and the interaction of those functions.
• Sequence diagrams indicate how different objects interact and the sequence of the interactions.
• Activity diagrams show workflow in a graphical presentation, often for operational or business workflow systems.
• State machine diagrams show the status of a system at a particular state in time.
• Collaboration diagrams, also known as communication diagrams, detail the messages being sent between objects.
• Class diagrams (like the one above) are another common type of UML diagram. They indicate classes and operations as well as attributes of every class and the relationships between them.
• Deployment diagrams are useful for describing hardware systems and related software.
• Component diagrams show the structures and relationships of components in a complex software project.
• Object diagrams, also known as instance diagrams, are similar to class diagrams and indicate the relationship between real-world objects.
The rise of cloud computing as Software as a Service (SaaS) providers means you don't need to be an expert to create great UML diagrams. Gliffy provides lightning-fast online editing of the most common UML diagram types, and templates if you need help getting started. UML diagrams are part of our Business plan, which you can try for free for 14 days.
To Get Started Using a Template
Select Create From A Template from the lower right hand corner of the dialog box that pops up when you first open the app.
Open the Software Design & UML folder.
Choose the UML folder based on the template you need.
Alternatively, you can access templates by selecting File>New from the menu bar.