0/0
UML & Documentation

Introduction to Software Documentation & UML

Explore the landscape of software documentation, understand the role of design documentation, and discover UML — the Unified Modeling Language that standardized how we visualize, specify, and document software systems.

Explore Topics

šŸ“š
Software Documentation
The written backbone of every software project
šŸ“… UML Evolution Timeline — From Method Wars to Modern Standard
1991–93
The Method Wars
1994
Booch + Rumbaugh Unite
1995
Jacobson Joins — UML 0.8
Jan 1997
UML 1.0 Submitted
Nov 1997
OMG Adopts UML 1.1
2005
UML 2.0 — Major Redesign
2015
UML 2.5 — Current Standard
Click a milestone node above to explore UML's history
šŸ“š
Software Documentation
The written backbone of every software project

Software documentation encompasses all written artifacts that describe a system — from what it should do (requirements) to how it works internally (technical docs) to how end-users interact with it (user guides). Good documentation reduces onboarding time, prevents knowledge silos, and survives employee turnover. Without it, teams rely on tribal knowledge and reverse-engineering. Documentation is not an afterthought — it is a first-class engineering deliverable.

Key Ideas
  • Documentation captures the intent, design, and usage of software
  • Five major types: Requirements, Design, Technical, API, and User documentation
  • Requirements docs define WHAT the system should do (SRS, BRD, PRD)
  • Technical docs describe HOW it works (architecture, algorithms, data structures)
  • API docs expose the contract for programmatic consumers
  • User docs guide end-users through features and troubleshooting
  • Documentation debt accumulates just like technical debt
Strengths
  • ✦Reduces onboarding time for new team members
  • ✦Creates a single source of truth for decisions
  • ✦Enables asynchronous collaboration across time zones
  • ✦Survives employee turnover — knowledge stays with the project
Weaknesses
  • ā–³Can become outdated if not maintained alongside code
  • ā–³Over-documentation creates noise and reduces signal
  • ā–³Writing quality documentation requires skill and effort
  • ā–³No universally agreed-upon standard for all doc types
Used in:The Java Development Kit (JDK) ships with extensive Javadoc API documentation — every public class, method, and field is documented. This is why developers can use Java's standard library without reading source code.
Code Snippets

Quiz

Software Documentation Quiz
QUIZ 1/6
Which type of software documentation defines WHAT the system should do from a technical perspective?

Diagrams

Software Documentation Landscape
Loading diagram...
UML Building Blocks
Loading diagram...
UML 2.5 Diagram Taxonomy
Loading diagram...

Practice

Classify each UML diagram type into its correct category:
EXERCISE 1/5
Class Diagram
Sequence Diagram
Use Case Diagram
Component Diagram
Activity Diagram
Deployment Diagram
State Machine Diagram
Communication Diagram
Object Diagram
Timing Diagram
Structure Diagrams
Behavior Diagrams (non-interaction)
Interaction Diagrams
Classify each UML "Thing" into its correct subcategory:
EXERCISE 2/5
Class
State Machine
Package
Note
Interface
Activity
Component
Use Case
Interaction
Node
Structural Things
Behavioral Things
Grouping Things
Annotational Things
UML Myths vs Facts
EXERCISE 3/5
UML is a programming language that compiles to bytecode.
UML was created by unifying three existing OO methods: Booch, OMT, and OOSE.
You must use all 14 UML diagram types in every project.
UML is language-independent — it works with Java, C++, Python, and other languages.
Sequence diagrams are classified as Structure diagrams because they show object structure.
The OMG (Object Management Group) adopted UML as an industry standard in 1997.
Arrange UML History Milestones in Chronological Order
EXERCISE 4/5
Drag the lines into the correct order.
OMG adopts UML 1.1 as industry standard (November 1997)
50+ competing OO methods — the "Method Wars" (early 1990s)
UML 2.0 released — major redesign with 14 diagrams (2005)
Booch and Rumbaugh join forces at Rational Software (1994)
UML 0.8 — first draft of unified method (1995)
UML 2.5 released — current standard (2015)
Jacobson joins, adds OOSE and use cases (1995)
Complete the UML Facts
EXERCISE 5/5
UML stands for Modeling Language. The three categories of UML building blocks are: Things, , and Diagrams. UML 2.5 defines official diagram types. The four UML relationship types are: Dependency, Association, Generalization, and .

References

šŸ“‹

UML 2.5 Diagrams Overview — uml-diagrams.org

uml-diagrams.org

docs
šŸ“‹

OMG UML 2.5.1 Specification

omg.org

docs
šŸ“š

UML Distilled — Martin Fowler (Addison-Wesley)

martinfowler.com

book
šŸ“„

What is UML? — Visual Paradigm Guide

visual-paradigm.com

article
šŸ“„

UML Diagram Types with Examples — Nulab

nulab.com

article