UML models and diagrams

Models and diagrams are representations of a real-world application. Models provide an abstract view of the system, while different diagrams provide concrete representations of the system.

UML models

Unified Modeling Language (UML) Models represent systems at different levels of detail. Some models describe a system from a higher, more abstract level, while other models provide greater detail. UML models contain model elements, such as actors, use cases, classes, and packages, and one or more diagrams that show a specific perspective of a system. A model can also contain other, more detailed models.

You create and manage models using modeling projects in the Project Explorer view. The contents of a modeling project are organized into three types of logical folders: diagrams, models, and profiles. This structure displays the logical containment of the UML model elements, regardless of where they are stored physically. The models in a modeling project are displayed under the Models folder, or node. These nodes are not the physical model files, which have the .emx as a file name extension, but are the root model elements of the models. Similarly, the corresponding diagrams and profiles are displayed under the Diagrams folder and Profiles folder respectively.

You can use modeling diagrams to capture system use cases in a use-case model during the requirements gathering phase, you define the application domain in an analysis model during the system analysis phase, and you refine the application model in a design model during the detailed design phase.

You can use models to do the following things:

  • Visually represent a system that you want to build
  • Communicate your vision of a system to customers and colleagues
  • Develop and test the architecture of a system
  • Use the UML diagrams to direct code generation

UML diagrams

A Unified Modeling Language (UML) diagram provides a visual representation of an aspect of a system.

UML diagrams illustrate the quantifiable aspects of a system that can be described visually, such as relationships, behavior, structure, and functionality. For example, a class diagram describes the structure of the system or the details of an implementation, while a sequence diagram shows the interaction between objects over time.

In a UML diagram, the diagram elements visually represent the classifiers in a system or application. These classifiers are the diagrammatic representation of a source element. UML diagrams provide views of source elements; however, diagram elements do not have semantic value.

UML diagrams can help system architects and developers understand, collaborate on, and develop an application. High-level architects and managers can use UML diagrams to visualize an entire system or project and separate applications into smaller components for development.

System developers can use UML diagrams to specify, visualize, and document applications, which can increase efficiency and improve their application design. UML diagrams can also help identify patterns of behavior, which can provide opportunities for reuse and streamlined applications.

The visual representation of a system that UML diagrams provide can offer both low-level and high-level insight into the concept and design of an application.

You can use a wide variety of diagram types to model a system or application, based on the system, audience, and detail of the model you create. Depending on the diagram choice, you can select the detail and level of abstraction that the diagrams display.

A typical UML model can consist of many different types of diagrams, with each diagram presenting a different view of the system that you are modeling. Some examples of UML 2.1 and later diagrams include use case diagrams, state diagrams, sequence and communication diagrams, and topic and browse diagrams. Some UML 2.1 and later diagrams also allow the use of freeform and non-UML shapes.

You can use freeform diagrams to represent general high-level views of a model or alternate model views that cannot be represented by standard UML notation. There are two types of freeform diagrams:
  • the pure freeform diagram, which has no UML semantic context
  • the UML diagrams that allow the use of freeform diagram elements, which are the use-case, class, component, and deployment diagrams

The difference between UML models and diagrams

Models are abstract representations of a system. A model uses UML or other notation to describe a system at various levels of abstraction. Models often contain one or more diagrams that display an aspect of a model or a subset of the model's elements graphically. In this way, a diagram represents a certain aspect or part of a model. Diagrams can exist outside a model or within a model. When a diagram is deleted from a model, the elements remain part of the model.

Diagrams illustrate the quantifiable aspects of a system that can be described visually, such as relationships, behavior, structure, and functionality. For example, a class diagram describes the structure of the system or the details of an implementation, while a sequence diagram shows the interaction between objects over time.

In addition, models can also contain profiles which can be predefined or customized to a particular system or application.


Feedback