🚀 Welcome to MDriven Learn –  MDriven is now on Discord!  Don’t miss the latest Release Notes.
What is UML
This page was created by Stephanie on 2025-04-25. Last edited by Wikiadmin on 2026-07-29.

UML (Unified Modeling Language) is the language you use to describe the structure and behavior of a software system, and this page is for anyone starting to model an application in MDriven.

UML is a general-purpose modeling language used in software engineering to visualize, specify, and document a system. It was created by Grady Booch, Ivar Jacobson, and James Rumbaugh at Rational Software during 1994–1995, with further development through 1996.

In MDriven, UML is not only documentation. You use UML to create a model of the problem domain: the information the system manages, the rules that apply to it, and the relationships between its concepts. MDriven can execute that model.

What UML helps you describe

A software system has a system gist: the domain-specific ideas and rules that make that system different from other systems. UML gives you a structured, partly visual way to describe that gist.

For example, a library system may need to describe:

  • A Book with a title and ISBN.
  • A Member who can borrow books.
  • A Loan that connects one member to one book and records a loan date.
  • A rule that a loan must have both a member and a book.

These are domain concepts, not user-interface fashion or the technical framework used to run the application. Describing them explicitly makes the system easier to discuss, maintain, and evolve.

UML in MDriven

MDriven focuses on the information structure of the problem you want to solve. You define classes, attributes, associations, and other model elements in MDriven Designer, then use the model as the basis for the running application.

UML concept Meaning Library example
Class A description or blueprint for a kind of object in the domain. Book, Member, and Loan
Attribute A named piece of information held by an object. Book.Title and Loan.LoanDate
Association A relationship between objects or classes. A Loan is associated with a Member and a Book.
Class diagram A UML diagram that shows classes and the relationships between them. A diagram showing Member, Loan, and Book.

A class diagram makes this structure visible. For the library example, you can see that a loan connects a member with a book before you decide how a screen or database query should look.

Why model the system gist

Software work includes more than the domain model. The MDriven training material distinguishes three areas:

  • System gist is the domain-specific structure and rules of the system. In the library example, this includes books, members, loans, and how they relate.
  • Modernity is the current set of technical tools and strategies used to build software.
  • Fashion concerns choices that users or the market find appealing, such as interaction and presentation patterns.

UML is primarily a way to work with system gist. Keep discussions in the right category. If the question is whether a loan may be created without a member, research the library domain and model the rule. If the question is which technical approach to use, evaluate the relevant development practices. If the question is which visual style users prefer, let users or the market guide the decision.

Read Training:Praise to UML for the full explanation of system gist, modernity, and fashion.

Start modeling with UML in MDriven

  1. Open UML School to learn the main modeling concepts.
  2. Create or open a model in MDriven Designer.
  3. Identify the nouns in the domain. For a library, start with Book, Member, and Loan.
  4. Create a class for each domain concept.
  5. Add attributes that the system must remember, such as Title for Book and LoanDate for Loan.
  6. Add associations to express the domain relationships. For example, connect Loan to both Member and Book.
  7. Review the resulting class diagram with people who know the domain. Ask whether it describes the real business concepts and rules.

Do not start by forcing the domain into a generic list or meta-system structure. Give each problem domain its own explicit UML description so that the model can be understood, maintained, and changed over time.

UML as an executable model

UML is commonly used to reason about, visualize, specify, and document software systems. In MDriven, the model also has a direct role in execution: MDriven Designer works with the modeled information structure, and the wider MDriven ecosystem can run a model through MDrivenServer and Turnkey front ends.

This makes it important that the model represents the domain accurately. A model that only looks plausible as documentation is not enough; it must express the information structure that the application uses.

Learn the notation

Start with class diagrams because they show the concepts, data, and relationships at the center of an information system. Continue with Short introduction to UML – class diagram for a focused introduction, and use UML School for the broader walkthrough.

See also