# UML Perspectives: Conceptual, Specification, Implementation

**In short:** UML diagrams can be read at three levels. Conceptual diagrams describe the real-world domain. Specification diagrams describe software through interfaces. Implementation diagrams describe code in a specific technology.

## Explanation

The same UML notation can mean different things depending on how you read it. Three perspectives make that explicit. Each one answers a different question about the same system.

**Conceptual perspective.** The diagram describes things in the real world or the domain of interest. It is not about software.

**Specification perspective.** The diagram describes software abstractions or components. It uses specifications and interfaces. It does not commit to a particular implementation technology.

**Implementation perspective.** The diagram describes how software is built in a specific technology, such as Java.

**Earlier roots.** The Syntropy method used a similar split into three models. Its essential model describes the world or domain in terms of event broadcasting. Its specification model describes the software, or at least the system boundary. Its implementation model describes the software using the conventional message-passing paradigm. The 1994 Syntropy book also influenced the Object Constraint Language, which became part of UML.

**Links to other ideas.** The conceptual perspective ties to the shared vocabulary of a project. The ubiquitous language (see the article Ubiquitous Language) should be based on the domain model used in the software. The C4 model splits a system differently. It uses software systems, containers, components and code. That is a different decomposition from the three UML perspectives, so the two should not be treated as the same thing.

## Example

A team models an online library.

- Conceptual: a diagram shows "Member", "Book" and "Loan". It uses only words the librarians use.
- Specification: a diagram shows a lending component with an interface for borrowing a book. It says nothing about the programming language or database.
- Implementation: a diagram shows the Java classes that realize that interface.

All three diagrams describe the same library, but each reads at a different level.



## Checks

- Each diagram states whether it shows the domain, the software specification, or the implementation.
- Specification diagrams describe interfaces without naming a particular implementation technology.
- Implementation diagrams name the specific technology they describe.

## Related

- [Unified Modeling Language (UML)](https://arc.fuet.ch/concepts/modeling-uml/uml-unified-modeling-language.md)
- [Ubiquitous Language](https://arc.fuet.ch/concepts/domain-driven-design/ubiquitous-language.md)
- [Domain Model](https://arc.fuet.ch/concepts/domain-driven-design/domain-model.md)
- [C4 Model](https://arc.fuet.ch/concepts/documentation/c4-model.md)
- [UML Interface](https://arc.fuet.ch/concepts/modeling-uml/uml-interface.md)
- [UML Class Diagram](https://arc.fuet.ch/concepts/modeling-uml/class-diagram.md)
- [Domain-Driven Design](https://arc.fuet.ch/concepts/domain-driven-design/domain-driven-design.md)
- [UML Modeling Best Practice](https://arc.fuet.ch/concepts/modeling-uml/uml-modeling-best-practice.md)

## Sources

- [What is the UML? | Object-Oriented Analysis and Design | InformIT](https://www.informit.com/articles/article.aspx?p=360440&seqNum=6) — informit.com, accessed 2026-11-09
- [](https://c2wiki.gothdyke.mom/SyntropyMethodology.html) — c2wiki.gothdyke.mom, accessed 2026-11-09
- [Syntropy book available online | Microsoft Learn](https://learn.microsoft.com/cs-cz/archive/blogs/stevecook/syntropy-book-available-online) — learn.microsoft.com, accessed 2026-11-09
- [Ubiquitous Language](https://martinfowler.com/bliki/UbiquitousLanguage.html) — martinfowler.com, accessed 2026-11-09
- [Home | C4 model](https://c4model.com/) — c4model.com, accessed 2026-11-09
