DEV Community

Cover image for Do you use UML to model complex web applications?
Diego Sánchez
Diego Sánchez

Posted on

1 1

Do you use UML to model complex web applications?

A few weeks ago I was learning from a course object oriented design in which they taught me class, state machine and sequence diagrams using the The Unified Modeling Language.

I like web development so I asked myself if these diagrams, specifically class diagrams, could be used to model web applications, preferably complex ones.

At first I though this wouldn't be possible since JavaScript is a prototype based language even tho having a class keyword.

Doing a little bit of research I found and read two papers that addressed this.

  1. Modeling Web Application Architectures with UML (1999)
  2. A comparison of UML and WAE-UML for the design of Web applications (2005)

The second paper gives good reasons on why use UML to model web apps in chapter 1.4.

What they do to use UML is to extended it with stereotypes, constraints and tagged values, this new extension is called Web Application Extension (WAE).

As you can see these are old papers, the examples that they show are for what today are called server side rendered web apps.

I want to know if any of you have used UML to model web pages or if you like to consider UML to do so.

Sentry blog image

How I fixed 20 seconds of lag for every user in just 20 minutes.

Our AI agent was running 10-20 seconds slower than it should, impacting both our own developers and our early adopters. See how I used Sentry Profiling to fix it in record time.

Read more

Top comments (1)

Collapse
 
nickfun profile image
Nick F

I use UML for sequence diagrams and other architecture diagrams often. It is a great tool to augment documentation on how our internal systems work. I've never used it for class diagram. At my current company we are pretty into micro-services so the classes in any one project are not very complex. Generally I need to describe the interactions between many services for some user flow. UML has been great for this situation.

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay