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

UML Interface

In UML, an interface is a classifier that represents a contract within a system's design. An interface specifies a group of operations but does not implement them—this implementation is left to classes or other interfaces that realize or inherit from this interface.

Collapsing and Expanding Container Elements

Managing the visibility of complex diagrams is crucial, and the collapsible container elements feature is a powerful way to handle this. This tutorial will guide you through the process of collapsing and expanding container elements (such as UML packages) and discuss scenarios where this feature is particularly useful.

How to Copy Fields from One Class to Another using Clipboard

This tutorial will guide you through the steps to efficiently copy fields from one class to another within the same or different projects via the system clipboard.

How to Create a UML Sequence Diagram

In the realm of software engineering and design, understanding how to effectively model interactions between system components is crucial. UML Sequence Diagrams are essential for visualizing how objects in a system interact over time. This tutorial provides a comprehensive guide on creating a Sequence Diagram using Software Ideas Modeler, focusing on a practical example: an ATM transaction process.

Copying and Moving Attributes Between UML Classes

This comprehensive guide explains how to efficiently copy and move attributes between classes in Software Ideas Modeler. This capability allows you to duplicate specific attributes across multiple classes without the need for manual re-entry, thus streamlining the modeling process.

Asynchronous Processes using UML Activity Diagrams

In modern software development, understanding the intricacies of asynchronous processing is vital for designing systems that are efficient, responsive, and scalable. UML activity diagrams allow to visualize the workflow of asynchronous processes. These diagrams can help to trace the flow of control and data through various system components also in parallel executions.

How to Create an Activity Diagram: A Step-by-Step Guide

This step-by-step guide demonstrates creating an authentication process a UML activity diagram in Software Ideas Modeler. From initiating a project to detailing each step of the authentication process, the tutorial covers the essentials of diagramming an authentication workflow, catering to both successful entries and handling failures.

How to Create UML State Machine Diagram with Trigger Events

A step-by-step guide on creating a UML State Machine Diagram with Trigger Events in Software Ideas Modeler. This tutorial is designed to help you visualize the various states and transitions of an existing class.

How to Create a Use Case Diagram: A Step-by-Step Guide

Use Case Diagrams are a critical component of the Unified Modeling Language (UML) that depict the interactions between users (actors) and systems to outline functional requirements. These diagrams serve as a bridge between stakeholders and developers, offering a clear, visual representation of system functionalities and user roles, thereby facilitating a deeper understanding of system behavior and requirements.

Mastering Connector Locks

Connector locks allow for precise control over how the start and end points of relationships, or connectors, behave in relation to the elements they're attached to.

How to Neatly Organize Sub- or Output Elements in Your Diagrams

This article provides a comprehensive guide on how to transform disorganized diagrams into neatly organized structures. It covers essential steps from selecting and aligning elements to adjusting connectors for a clearer visual representation. Whether you're working with UML class diagrams, flowcharts, or any other types of diagrams, these practical tips will help you enhance the readability and aesthetic appeal of your work.

Container Elements and Layouts

This tutorial is designed to help you effectively use the container elements (as UML Package) and explore the diverse range of container layouts available in the software. Although this guide is detailed and self-contained, you can also watch our accompanying video tutorial for more insights.

Convert Attributes to Properties or Generate Getter/Setter Methods

In this guide, we'll learn how to convert class attributes to properties, adjust their naming conventions, and set their visibility. We'll also explore how to create getter and setter methods for specific attributes. This skill is essential for organizing and refining your UML diagrams.

Linking Project Elements in Documentation

This tutorial explains a particularly useful feature: adding dynamic links to other elements within your project's documentation. This functionality is not only incredibly efficient but also ensures that your documentation remains interconnected and up-to-date.

How to Hide Constructors in UML Class Diagrams

This step-by-step guide shows you how to hide constructors in your UML class diagrams. We’ll be focusing on hiding all constructors from the class diagrams.

Add All Relationships By Model

In complex modeling, maintaining accuracy and efficiency is key. Software Ideas Modeler offers a robust feature Add All Relationships By Model, which automates the process of adding relationships to your diagrams. This tutorial will guide you through using this feature, especially useful when working with models that span multiple diagrams.

Efficient Nested Packages

Nested package diagrams are crucial for representing complex structures in a clear and organized manner. In this tutorial, we demonstrate the process of creating a package with uniformly sized nested packages, arranged in a table layout in Software Ideas Modeler. This method is ideal for maintaining clarity and consistency in large-scale models.

Dynamic Class Hierarchy Creation

Create and manage dynamic class hierarchies in Software Ideas Modeler. This brief tutorial guides you through the process of building a tree-structured class diagram, emphasizing automatic alignment during the editing process.

Relationship Direction Visualization

Relationship direction visualization is a potent feature in Software Ideas Modeler that facilitates a clearer understanding of element relationships within diagrams. By using this feature, users can swiftly distinguish between incoming and outgoing relationships, thereby streamlining the analysis process.

Documentation and Comments in Diagramming

Creating effective and comprehensive documentation is an essential aspect of software development. It enables developers, stakeholders, and users to understand the design and functionality of a system, and it can be a key component in effective communication and collaboration. One powerful tool for creating and maintaining software documentation is the use of diagrams.

Fork in Activity Diagram

One of the essential components of an activity diagram is the fork node. In this article, we will delve deeper into the concept of forks in UML activity diagrams, their usage, and their importance in representing concurrent flows in a system.

Tagged Values for Diagram Elements

Tagged values are a powerful tool in Software Ideas Modeler that allow you to add additional information to your diagrams. They can be used to store anything from design notes to detailed technical specifications. In this article, we will take a closer look at how you can use tagged values in Software Ideas Modeler to enhance your diagrams and make them more informative.

Understanding the Similarities and Differences of Use Cases and User Stories

This article explores the parallels and disparities between the application of use cases and user stories in software development. Delve into the ways in which these methodologies are employed to grasp the user requirements and steer the development procedure, and how they can be combined to guarantee a better product outcome.

The Art of Diagramming - How to Create Engaging and Effective Visuals

A good diagram can be a powerful tool for explaining complex ideas, illuminating patterns and relationships, and communicating information in a clear and concise way. But what makes a diagram truly great? In this article, we will explore the key elements of a good diagram and offer tips for improving your own diagramming skills, whether you are a beginner or a skilled creator.

A Comprehensive Guide to Choosing the Right UML Diagram Type Every Time

Confused about when to use which UML diagram type? Our comprehensive guide covers all 14 types of UML diagrams and their uses, so you can choose the right one every time. From use case diagrams to communication diagrams, we've got you covered. Learn the basics of UML and master the art of diagram selection with this must-read tutorial.

Communication Diagrams vs. Sequence Diagrams - Which to Use and Why

Learn the differences between UML communication diagrams and sequence diagrams, what they have in common, and when to use each one. Understand the purpose and focus of each diagram, and discover which one is best suited for your needs.

Use Case Diagram's Include and Extend Demystified

Learn the ins and outs of include and extend relationships in use case diagrams. This guide provides clear examples and explanations to help you master these concepts and effectively model the functionality of a system.

UML Key Value Pair

The key-value pair structure can be modeled using the template parameters in Software Ideas Modeler.

Class Diagram Generator

The class diagram generation is part of the reverse engineering feature in Software Ideas Modeler. It allows you to produce UML class diagrams from source codes in various programming languages.

UML Base Class

UML diagrams support defining base classes for the more specific classes using generalizations. The name of the base class can be displayed inside the classifier box.

Generate Types from OpenAPI

This tutorial shows you how to generate types in various programming languages for a chosen Open API specification.

Open API to Diagram

Open API specification (OAS) is a standard for RESTful web service definition. Software Ideas Modeler provides a reverse engineering tool that allows you to import the Open API specification and generate UML diagrams.

Show Inherited Attributes and Operations

A subclass in the UML class diagram is connected with its superclass using the generalization relationship. The subclass inherits all attributes and operations of the superclass, although they are listed only in the superclass box. This tutorial shows you how to show also the inherited fields in subclasses.

Show Association Attributes (in UML Class)

Apart from standard attributes defined within a UML class, the attributes of a UML class can also be expressed using the associations.

UML JSON Schema Diagram

The UML JSON Schema diagram allows you to design JSON schemas visually. JSON schemas specify the restrictions on the data in JSON format.

How Do I Create a UML Diagram?

UML diagrams are a standard method for describing models and processes. The UML notation provides diagrams for static structure definition as well as for behavior and process modeling. In this tutorial, you will find out how to create UML diagrams.

XSD to UML Diagram

XSD reverse engineering feature allows you to generate a UML diagram from XSD definition.

How to Generate Protocol Buffer Definition

This tutorial shows you how to generate a service definition in protocol buffer format from a UML class diagram.

Diagram Generation

Software Ideas Modeler offers various options for diagram generation. The diagrams can be generated from the textual definition, database, source code, and the project itself.

Navigation in UML Class Diagram

Complex diagrams and models can include many relationships and connectors. Software Ideas Modeler provides various tools and features that help you to navigate large models effectively.

UML and Wireframes

Software Ideas Modeler allows you to combine UML diagrams with user interface diagrams and wireframes.

Documentation Generator

Software Ideas Modeler helps you with your project documentation. You can generate documentation for your software or data models.

Use Case List

The list of use cases is available in the Use Cases module. It offers an overview table with all use cases defined in the project.

Unique Key Representation in UML

A unique key of a class can be represented as an attribute with an ID modifier in the UML class diagram.

Primary and Secondary Actors (Use Case Diagram)

Use case diagram specifies use cases and the actors that interact with the system within defined use cases. The actors can be primary or secondary, depending on their involvement.

Diagram Frame

The diagram frame surrounds all elements of the diagram and displays the diagram name in the caption in the top left corner.

UML to JSON Schema

The source code generation tool supports generating JSON schema from a UML class diagram.

UML Association Class

An association class provides more information to an association. If you need to add attributes or operations to an association, the UML association class is the right concept you should use.

UML Unique and Ordered Constraint

The multivalued attributes can be further specified using uniqueness and order modifiers. The modifiers are displayed in the braces {} after the attribute specification.

UML Xor Constraint

The XOR constraint relationship connects two elements that represent two exclusive alternatives - only one of them is actually used.

Inheritance Class Diagram

The classes in the model can inherit from other classes. The inheritance diagram shows the hierarchy of super and subclasses.

N-ary Association in UML

A N-ary association allows you to create an association between more than two classifiers.

Self-Association in UML Diagrams

A UML self-association is an association of a class with itself.

Override in UML

UML notation allows you to specify overridden properties and operations.

UML Class Diagram Association

UML association is a kind of connector in the class diagram which specifies how are the particular classes related to each other.

Reverse Engineering Source Code to Model and Diagrams

The Reverse Engineering tool helps you create new diagrams for the projects with existing source codes in no time. You can select the projects, folders, or files to generate UML class diagrams, package diagrams, and entity-relation diagrams. The tool allows you to create new diagrams or updated diagrams that were already created by a source code.

Software Engineering Diagrams

In software engineering, you can use various diagramming notations to describe and understand the designed solution from different perspectives. The diagrams can be used as a design tool and later as a part of the documentation.

UML Activity Diagram Loop

The loop in the activity or algorithm can be depicted in various ways using a UML Activity Diagram.

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 Enumeration (in UML Class Diagram)

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 Explained - 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.