UML – k cemu vlastne

Nazory na vyuziti UML (Unified Modelling Language) se znacne ruzni. Na jedne strane stoji tabor UML nadsencu, kteri kresli diagramky jak na bezicim pasu. Uplne na opacne strane jsou lide, povazujici UML za naprostou zbytecnost (vetsinou razici cestu CowBoyCoding). A nekde mezi nimi se vidim ja.

UML jako takove odsoudit nelze, je znacne jednoduche a k jeho pouzivani vam staci popisek na vnitrni strane desek UML Distilled od Fowlera. Vim to, protoze jsem UML dlouhou dobu skolil a mucit nekoho den nebo 2 je opravdu trochu drsne. Proto byva casto skoleni UML casto spojeno se zaklady Objektove Orientovane Analyzy a Designu, coz muze nektere lidi znudit.

Muj problem s UML je, ze jeho vyuziti vidim pro vsechno jineho nez pro fazi designu software, pro kteru byva vrele doporucovano. Jeste jsem nepotkal projekt, kde by skutecne necemu pomohlo. Spise zdrzuje, predpoklada roli architekta-poloboha, ktery je schopen pojmout a vyresit s predstihem vsechny nastrahy projektu. A to je presne proti metodikam jako XP (extreme programming) ci TDD (test driven development), ktere se ridi pravidlem, vsichni v projektu jsou stejny paka, zvracejme svuj kod, oni nas uz testy ohlidaj. No i kdyz je to samozrejme nadsazka (jak velka :) ), tak mi taky prijde, ze malovani diagramku spise zdrzuje – designovat a prototypovat muzu uz v cilovem jazyku a riziko pramenici z opomenuti ci zaneseni zavazne chyby odhalim s vyuzitim mock objektu drive a tudiz levneji. Mam v zive pameti jeden opravdu velky projekt, kdy vetsinu casu potrebneho pro implementaci ci fixu dane feature zabrala uprava modelu, aby byl up-to-date. Potizi bylo, ze mi vlastni model stejne prilis nepomohl, zakladem pro me byl zdrojovy kod.

Abych nebyl jen negativni, UML je naopak skvele pro vymenu myslenek mezi developery, osobne se mi v minulosti osvedcily zejmena UC diagramy a pak dynamicke sekvencni diagramy, ukazujici kolaboraci mezi objekty.

UML muze byt dobre pro zjistovani stavu projektu pomoci reverse engineeringu pro ucely reportovani. I kdyz podpora toolu zatim dosti pokulhava a vetsinou pro vetsi projekty clovek zkonci na smetisti car a obdelniku.

Takze zaverem: ztracet zbytecne cas s malovanim diagramku je IMHO luxus, lepsi je se soustredit primo na to, za co ste placeni – dodani software.