Search code examples
architectureumlmodelingdiagram

Is this a UML diagram?


Usually software architectures are described using some diagram like the below one (copied from Microsoft website.)

1) I don't think that this diagram belongs to any UML type, isn't it?

2) Does this diagram follow any kind of standard notation? I want to learn how to draw these but I don't know its name.



enter image description here


Solution

  • I’d say that this is a techno-marketing drawing that communicates an architecture in a way that sells. It's about how elements in a project could be grouped and organized and the dependencies between those blocks (see legend about the arrows):

    • You got it right: this is not a standard UML representation

    • The closest UML diagram for presenting similar information could be a package diagram: the dotted boxes would be packages; the rounded-boxes would be packages; the arrows would be dependencies.

    • But the run-time dependencies to third-party services and data-sources, as well as the redis cache icon, suggest that it could also be about deployment of components that would be presented in UML with a deployment diagram.

    So this diagram bears some ambiguity about what is really represented. The UML diagrams would require greater precision, which make them less appropriate for selling a complex architecture. This is certainly why MS used a free-style diagram.

    Edit:

    You may be interested in this engineering blog about a cloud architecture that refers to C4 modeling, a technique aiming to simplify visualization of complex architecture. Its notation also uses dotted regions and smaller boxes to model containers (e.g. enclosing systems, and enclosed services and components). The promoters of this modelling technique claim it’s related to UML packages and components, defending UML for more detailed levels of the architecture, and that simplified diagramming facilitates architectural discussions on a paper-board.

    The Microsoft diagram seems close to C4 when system boundaries are shown with dotted lines, and system internal services and components as rounded boxes and static structural relationships is visualized. However Microsoft seems to make no reference to it and seems to call “maps” this kind of diagrams