What is UML, the Unified Modeling Language?
UML is an open modeling language, mainly to design software applications and information systems.
The UML Meta Model
UML is about object-oriented analyses and design. UML defines that every entity, like a software application, a house or a person, is an instance of a class. And that class has attributes (like a name, version and type) and methods (like starting up, protecting and walking).
Everything in a UML model is a model element like you can see here below in the simplified UML meta model. This meta model enables, for instance, users to create class models and visualize them as class diagrams.
UML Structural Entities
Any diagram of UML shows structural entities. The defined structural entities in UML are:
- Class
- Object
- Interface
- Collaboration
- Use Case
- Actor
- State
- Node
- Component
- Package
The standard diagram types
In UML modeling twelve standard diagram typs are recognized:
- Class Diagram
- Component Diagram
- Deployment Diagram
- Object Diagram
- Package Diagram
- Profile Diagram
- Composite Structure Diagram
- Use Case Diagram
- Activity Diagram
- State Machine Diagram
- Sequence Diagram
- Communication Diagram
- Interaction Overview Diagram
- Timing Diagram
On Dragon1, you can design your software applications using UML and you can create all of these Diagram Types.
Use Case Diagram
The first diagram you create when working with UML is a Use Case Diagram. In this diagram, you identify the stakeholders or users that will make use of the software application and also what they primarily want or need to use the software application for.
Class Diagram
Below is an example class diagram. A class diagram shows what the world your software application will know, look like or can exist.
Sequence Diagram
Because interaction can get really complicated in a software application or information system, it is a very wise thing to create a sequence diagram like the one below to visualize what should happen, and in what order.
UML Rules and Naming Convention
Every modeling language requires rules and naming conventions so that the group using the language creates pieces of work that fit together. UML does not prescribe how to model and name classes, etc.. in detail. As an architect or team of architects that want to use UML, you have to put an effort into creating your own modeling rules and naming conventions.