View Single Post
UML er så mangt. Dvs. det kan brukes til så mangt. Til å tegne ulike typer diagrammer. Å bruke verktøy til å generere statiske relasjonsdiagrammer over hvilke klasser du har i systemet, og hvilke avhengigheter du har mellom dem, er greit nok. Det kan du for eksempel gjøre for C#-prosjekter i Visual Studio (kjenner ikke verktøy for C/C++/PHP, men de finnes sikkert).

De diagrammene som har størst verdi er likevel ikke disse. Diagrammene som kan være lurt å tegne opp er de som viser flyten i de mest komplekse delene av systemet ditt. Flytdiagrammer og samhandlingsdiagrammer. Og disse må du nok satse på å gjøre og vedlikeholde manuelt.

Husk på at diagrammene ikke er et mål i seg selv. Det er den eksekverbare koden som er mest verdifull, og som forteller den absolutte sannheten om systemet. Diagrammer kan visualisere, dokumentere og kommunisere hva du lager, og hjelpe deg å tenke og vurdere om noe er riktig (før du implementerer). Men ofte er et ad-hoc diagram tegnet der og da det du trenger - et diagram som du kaster like etterpå når det har gjort nytten sin. Å holde dokumentasjon oppdatert er en kostnad. Men det er ofte verdt det når man dokumenterer "kjernen" i systemet - elementer som er viktige å forstå godt, og som endrer seg lite over tid.