Unified Modeling Language facts for kids
The Unified Modeling Language (UML) is like a special drawing language for computers. It helps people create visual plans, or "blueprints," for how a computer system should work. Think of it as a way to draw out ideas for software before you build it.
UML uses different types of diagrams. These diagrams can show how a system behaves, how its parts interact, and what its structure looks like.
UML was created because many different ways of designing software existed. People wanted a standard way to draw these plans. It was first developed in 1994-1995 by a company called Rational Software.
In 1997, a group called the Object Management Group (OMG) made UML an official standard. Since then, they have managed it. In 2005, it also became an international standard (ISO/IEC 19501). Even though many software designers use simple hand-drawn diagrams, these often include ideas from UML.
Contents
How UML Started
UML has grown a lot since the 1990s. Its roots come from ideas about object-oriented programming, which is a way to organize computer code using "objects."
UML combines ideas from three older design methods: the Booch method, the object-modeling technique (OMT), and object-oriented software engineering (OOSE). It brought them all together into one language.
In 1994, Rational Software Corporation hired James Rumbaugh, who created the OMT method. Then, in 1995, Ivar Jacobson, who created the OOSE method, joined them. Along with Grady Booch, who had his own method, these three experts worked together to create UML.
UML 1.x Versions
In 1996, these three experts led a group called the UML Partners. This group worked to finish the first version of UML. They proposed it to the Object Management Group (OMG) in January 1997.
Later that year, a team finalized the details, and UML 1.1 was accepted by the OMG in November 1997. After this, a special group continued to improve the language, releasing minor updates like 1.3, 1.4, and 1.5.
UML 2 Versions
A big update, UML 2.0, came out in 2005. This version was created with a larger group of experts. They wanted to make the language even better based on how people were using it.
After 2.0, more updates followed, including UML 2.2 (2009), UML 2.3 (2010), and UML 2.4.1 (2011). The most recent official version, UML 2.5.1, was adopted in December 2017.
UML 2.x has different parts that define how it works:
- The Superstructure: This part explains the symbols and meaning for diagrams.
- The Infrastructure: This is the basic structure that the Superstructure is built upon.
- The Object Constraint Language (OCL): This is a special language for adding rules to the models.
- The UML Diagram Interchange: This explains how UML diagrams can be shared between different computer tools.
Since version 2.5, the UML Specification has been simplified into fewer parts. It continues to be updated and improved by a team that fixes any issues.
Designing with UML
UML helps you draw the "blueprints" of a system. These drawings can show many things, such as:
- What jobs or tasks the system needs to do.
- The different parts of the system.
- How these parts work together with other software components.
- How the system will run step-by-step.
- How different parts interact with each other.
- What the user interface (what users see) will look like.
Even though UML was first made for designing software, it's now used for many other types of design too.
How UML Fits with Software Development
UML isn't a method for developing software by itself. Instead, it was made to work well with popular software development methods of its time. For example, it was often used with the RUP method.
Understanding UML Models
It's important to know the difference between a UML model and a diagram. A diagram is just a small picture of a system's model. The model is the complete plan, which can include many diagrams and written descriptions. Deleting a diagram doesn't change the overall model.
UML diagrams show two main ways of looking at a system:
- Static (or structural) view: This shows the fixed parts of the system, like objects, their features, and how they are connected. Examples include class diagrams.
- Dynamic (or behavioral) view: This shows how the system acts over time, like how objects work together or how their internal status changes. Examples include sequence diagrams and activity diagrams.
UML models can be shared between different UML tools using a special format called XML Metadata Interchange (XMI).
One important tool in UML for showing how a system behaves is the use-case model. Use cases describe what a system is supposed to do from a user's point of view. They help capture what the system needs to achieve.
Types of UML Diagrams
UML 2 has many types of diagrams, which are grouped into two main categories:
- Structure diagrams: These show the fixed parts of a system.
- Behavior diagrams: These show how a system acts, including how its parts interact.
You can see how these diagrams are related in the image below:
All these diagrams can include comments or notes to explain what they mean, any rules, or the purpose of certain parts.
Structure Diagrams
Structure diagrams show the static parts of a system. They focus on what needs to be in the system. These diagrams are very useful for showing the software architecture of computer systems. For example, a component diagram shows how a software system is divided into different parts and how those parts depend on each other.
Behavior Diagrams
Behavior diagrams show the dynamic parts of a system. They focus on what happens in the system. These diagrams are often used to describe how software systems work. For example, an activity diagram shows the step-by-step actions of the parts in a system.
Interaction Diagrams
Interaction diagrams are a special type of behavior diagram. They focus on how information and control flow between different parts of the system. For example, a sequence diagram shows how objects communicate with each other in a specific order of messages.
How UML is Used
In the past, UML was promoted for many uses, especially in software development. However, it hasn't always been as successful as hoped.
Sometimes, people thought UML was a "magic solution" for all design problems, which led to issues. Misusing UML can include drawing every tiny part of a system (which isn't always needed) or assuming that beginners can design complex systems with it right away.
UML is a very large language with many different rules and symbols. Some people, including Ivar Jacobson, feel that its size makes it hard to learn and use.
For example, Microsoft Visual Studio stopped supporting UML in 2016 because not many people were using it. According to Google Trends, interest in UML has been slowly going down since 2004.
See also
In Spanish: Lenguaje unificado de modelado para niños
- Applications of UML
- Business Process Model and Notation (BPMN)
- C4 model
- Department of Defense Architecture Framework
- DOT (graph description language)
- List of Unified Modeling Language tools
- MODAF
- Model-based testing
- Model-driven engineering
- Object-oriented role analysis and modeling
- Process Specification Language
- Systems Modeling Language (SysML)