What is UML, the Unified Modeling Language?
UML is an open modeling language mainly used to design software applications and information systems.
The UML Meta Model
UML is about object-oriented analyses and design. UML defines every entity, like a software application, a house, or a person, as 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, as shown 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 types 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 use the software application and also what they primarily want or need to use it 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 complicated in a software application or information system, creating a sequence diagram like the one below is wise 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 detail how to model and name classes, etc... As an architect or team of architects that want to use UML, you must put effort into creating your own modeling rules and naming conventions.