News about UML, UML diagrams tutorials, and UML-oriented features. You will find more about UML now.

UML Abstract Class vs Interface

What is the difference between an abstract class and an interface? This tutorial shows you similarities and differences between these two object-oriented programming concepts.

C# Class, Interface, Enum and Other Concepts in UML

You can model your C# software in UML. The classes can be modeled using UML class diagrams. It is possible to depict abstract, static, generic classes and their members.

UML Class Diagram Enumeration

An enum allows you to define an entity with a list of literals in the UML class diagram. UML Enumeration values can be used by class attributes.

Convert UML Class Diagram to ERD

UML class diagram and ER diagram share the ability to define a domain model. Software Ideas Modeler allows you to convert the classes to entities, associations to relationships and the class attributes to ERD attributes.

UML Arrows - Know UML Relationship Types

UML diagrams use different types of arrows. Each arrow type represents another relationship. Sometimes the relationships are depicted in the same way, but they have a slightly different meaning. In that case, they can be annotated with a stereotype.

UML Notation

UML is an acronym for unified modeling language. UML is designed as a general-purpose notation. The best application for UML is in the field of software engineering. It allows you to design software architecture, processes, and communication between services and system parts. UML models are visualized in the form of various diagrams.

What Is the Difference Between UML Aggregation and Composition?

An aggregation and a composition are both a type of association in UML diagrams. They are more specific versions of an association. An association connects two classes that need to communicate somehow. Both association and composition are kind of "has-a" relationships. Despite these similarities, there is a difference between aggregations and compositions.

Advanced Use Case Analysis

A use case analysis allows you to understand the functional user requirements on the modeled system. During the analysis, you will identify the actors and specify their interactions with the system using use cases. Use cases are detailed using a flow of events.

Code Generation - Turn Your Diagram to Code

Transform UML to code. Our code generator allows you to convert your diagrams to source code in various programming languages. Mostly, you will need to build codes and scripts for UML class diagrams or entity-relationship diagrams. However, you can also generate code from a UML state machine diagram or any other diagram type with custom-defined templates.

Regex to State Machine Diagram

Regular expressions can be transformed into a state machine diagram. It is possible to map regex syntax to states and transitions.

What is UML used for?

UML is used for designing of various software aspects. It provides a notation for structure and behavior modeling. There are 7 structure diagrams and 7 behavior diagrams.

Add Constructor to UML Class

A constructor is a procedure called to create a class. This tutorial shows you how to add a constructor to a class in your UML diagram easily.

Object as a Default Value (UML Diagramming)

Apart from literal values, you can set an instance as a default value of an attribute.

Set Enumeration Item as Default Value of Attribute

Enumeration items can be set as default values of attributes. After setting an enumeration item as a default value, it will be referenced - so if the item will be renamed, the changed name will be used for all references of the item.

Edit Visibility For Multiple Attributes/Operations

You do not need to change visibility of the class attributes (or operations) one by one. You may select multiple attributes (or operations) and then perform the desired action.

Adding Attributes by Association Roles

If you have two classes connected by association you may want to add attributes representing the association roles. This tutorial shows how to do it in just a click.

Set Attribute Type Using Drag & Drop

There are many options how to set attribute type. You may type it, set it in the Properties dialog or drag another element from your project and set it as the type. The last option is described in this tutorial.

UML Abstract Class - Using Abstract Modifier

An abstract class in UML is a class that cannot be instantiated. It contains abstract operations (operations without body) whose behavior is defined in subclasses. This tutorial shows you how to set abstract modifiers to classes, attributes and operations.

Profile Diagram (UML)

UML Profile Diagram describes and defines extensions to UML language. The extension mechanism allows you to adjust the language to a specific domain or platform. The extensions are defined via stereotypes.

Timing Diagram (UML)

UML timing diagram is focused mainly on time, it shows the changes of classifiers in time depicted on a timeline. The timelines are stacked vertically, the time increases from left to right.

Interaction Overview Diagram (UML)

UML Interaction Overview Diagram provides a high-level view on interactions in a system or a subsystem. It depicts the flow in similar way as an activity diagram, but instead of action nodes it uses other interaction diagrams and interaction references.

Composite Structure Diagram (UML)

A composite structure diagram shows the internal structure of a classifier, its parts and ports via which it communicates with the environment. It models collaborations where each element has its defined role.

Deployment Diagram (UML)

UML Deployment Diagram depicts deployment of artifacts on nodes. It is used for showing the placements of artifacts (software, system, module, etc.) on physical nodes (hardware, server, database, etc.) and the relationships between particular parts of the solution.

Component Diagram (UML)

A component diagram offers a view on a complex system. It depicts the interfaces provided and/or required by the parts of the system and the relationships between the parts. The parts are represented by components and other artifacts.

Package Diagram (UML)

A UML package diagram shows dependencies between the packages in the model. It depicts the structure and organization of project in the large scale.

Object Diagram (UML)

An object diagram is a structural UML diagram. It describes a system or its part at a specific time. It models instances, their values and relationships. It may be used to show examples of data structures.

State Machine Diagram (UML)

A state machine diagram describes states of en entity (device, process, program, software, module, etc.) and transitions between the states. Conditions specifies when a transition from a state to another state may be used.

Communication Diagram (UML)

A UML communication diagram shows interactions in the form of messages between objects and parts, which are represented by lifelines. Communication Diagram is a modified form of UML Sequence Diagram, but unlike it, its elements do not have to be ordered horizontally and may have any position in the diagram.

Activity Diagram (UML)

An activity diagram is a behavior diagram that shows a scenario using a flow of actions. It models a sequence of actions, decisions based on conditions, concurrent branches and various cycles.

Sequence Diagram (UML)

A sequence diagram models communication among objects in sequential order. It shows objects, classes, and actors involved in the scenario and exact order of messages. It consists of vertical lines which belong to lifelines and horizontal lines of messages.

Use Case Diagram (UML)

A use case diagram consists of use cases, actors and relationships among them. It presents a user interaction with the system, and defines the specifications of use cases.

Class Diagram (UML)

A class diagram is a static diagram that describes the structure of a system by showing its classes with their attributes and operations and the relationships among objects. This tutorial explains how you can draw UML class diagrams and what usage they have.