Loading content…
Loading…
Transcript

UML for dummies

Are you ready

for an

adventure

Are you ready

for an

adventure?

Simon Brown

Sławomir Sobótka

Software architecture

Software architecture

For what?

Excercise

Excercise

"draw one or more software architecture diagrams to describe your software system" - Simon Brown

stormtroopers

This doesn’t make sens, but we’ll explain it.

What goes wrong?

  • Notation is not explained or is inconsistent.
  • The purpose and meaning of elements is ambiguous.
  • Relationships between elements are missing or ambiguous.
  • Generic terms such as “business logic” are used.
  • Technology choices are omitted.
  • Levels of abstraction are mixed.
  • Too much or too little detail.
  • No context or a logical starting point.

C4

Model

Shneiderman's mantra

"Overview first, zoom and filter, then details-on-demand"

C4 model

  • Context
  • Containers
  • Components
  • Classes

C4 - Context

Enterprise architecture

C3 - Containers

Implementation architecture

C2 - Components

"system" architecture

C1 - Classes

Code architecture

C4 model

  • Context
  • Containers
  • Components
  • Classes

Overview

Overview

Name things

  • Person: Name and description.
  • Software system: Name and description.
  • Container: Name, technology and description.
  • Component: Name, technology and description.

Use well defined notation

Add descriptions

Use shapes