Aktuální vydání

celé číslo

05

2019

komunikace a software pro snímače a akční členy

tlakoměry

celé číslo

Recenze: UML srozumitelně

číslo 1/2005

Recenze: UML srozumitelně

Kanisová, H. – Müller, M.: UML srozumitelně. Brno, Computer Press, 2004, ISBN 80-251-0231-9, 158 stran, náklad neuveden, cena 169 Kč.

Když se mi dostala do rukou tato kniha, nezapochyboval jsem o tom, že by neměla ujít pozornosti čtenářů časopisu Automa. Stále se potýkáme s analytickou stránkou automatizačních projektů. Moderní metody v této oblasti sotva začínají zapouštět kořeny. O modernosti a potřebnosti objektově orientovaného přístupu není pochyb. To platí jak pro vlastní programování, tak pro systémovou analýzu. Protože se domnívám, že tři velká bílá písmena U, M a L na obálce knihy upoutají jistě mnohého projektanta informačních a řídicích systémů, nabízím čtenářům základní informaci a názor na tuto knihu. Mohou tak ušetřit čas a možná i peníze. Pro nezasvěcené připomínám, že UML je zkratka označující jednotný modelovací jazyk zaměřený na objektově orientovaný přístup.

V automatizačních projektech se dnes již pravidelně setkáváme s problematikou informačních systémů a s aplikacemi databází. Kniha je orientována právě tímto směrem. Na omezené ploše recenze nepovažuji za účelné probírat obsah knihy podrobněji a omezím se na její stručnou charakteristiku. Autoři otevřeně přiznávají, že se opírají o zkušenosti s metodikou Select Perspective a nástroj Select Component Architect ze skupiny nástrojů pro CASE. Při pohledu do knihy zjistíme, že se snaží o širší záběr něž jen o úvod do používání metodiky UML. Zabývá se vlastně životním cyklem projektu, zasahuje do oblasti řízení projektů a dosti prostoru věnuje i již zmíněnému nástroji CASE. Obsah knihy by jistě byl lépe vystižen jiným názvem, který by, např. v podtitulu, upozornil na orientaci na metodiku Select Perspective. Zaměření knihy jen na jednu metodiku však rozhodně snižuje její zajímavost pro automatizační projekty. Bude tedy zajímavá spíše pouze pro ty čtenáře, kteří se ve svých projektech setkají s působením firmy, v níž pracují autoři knihy.

Abych se zhostil úkolu, který bývá na recenzi kladen především, obrátím v dalším textu pozornost k některým věcným přednostem a nedostatkům knihy. K metodice UML je třeba dodat, že její vývoj nebyl tak přímočarý a jednoduchý, jak autoři uvádějí. Roztříštěné metodiky, jako Rambough, Booch a další, měly do dokonalosti daleko a systémy CASE, jež jsou na nich založeny, se do praxe prosazovaly obtížně. U nás se nepodařilo uvést do života nejméně dva objektově orientované systémy CASE. Také metodika UML, kterou lze brát vážně až od konce 90. let dvacátého století, se přes ohlašovaný záběr od systémové analýzy až po softwarové inženýrství nakonec omezila jen na oblast analýzy a návrhu programových systémů. Ani v současné době nelze použití objektově orientovaných metodik jednoznačně doporučit pro analýzu a návrh automatizovaných informačních a řídicích systémů. Metody označované jako strukturované nejsou zdaleka odepsány a ukazuje se, že správnou cestou k širšímu uplatnění nových metod a metodik (souborů metod) a jejich počítačové podpory je pravděpodobně vhodná kombinace obou přístupů. Zejména je tomu tak v širší oblasti, než je tvorba programových systémů pro zpracování dat.

Ze způsobu zpracování tématu lze vytušit, že autoři knihy jsou silně ovlivněni firemním prostředím. Základní pojmy objektově orientovaného přístupu jsou někdy podávány dosti zjednodušeně a ne zcela správně. Namátkou vybraný příklad je definice atributů objektu. Těmi nejsou jen data, ale také instance objektů bez jakýchkoliv omezení. Velmi nepříznivě působí rozkolísanost terminologie. Opět uvedeme příklad. Při výkladu o dědičnosti jsou běžně používané pojmy podtřída a nadtřída zmíněny až v příkladu a uvedeny v závorce. Ve vlastním výkladu se o nadtřídě postupně píše jako o obecné objektové třídě, super class, parent, nadřízené třídě. A podobně podtřída je porůznu potomek, subclass, child, podřízená třída. To jistě začátečníkovi, ke kterému se ale kniha především obrací, neusnadňuje pochopení problematiky. Text nevyniká jasností ani srozumitelností. Je spíše komplikovaný a obtížně pochopitelný i pro znalého věci. Místy působí jako ne zcela dokonalý překlad z cizího jazyka. Opět můžeme uvést příklad – definici objektu: „Objekt je seskupením dat a funkcionality, které jsou spolu spojeny za účelem plnění soudržné množiny zodpovědností.„ atd. Autoři zřejmě získávali poznatky z anglické literatury. Nepodařilo se jim však anglické termíny vhodným způsobem převést do češtiny. Česká terminologie v oblasti objektově orientovaných přístupů se dosud vyvíjí a vždy bude nutně závislá na angličtině. Její základ však existuje, a to autorům pravděpodobně uniklo. Některé termíny jsou voleny (překládány) velmi nevhodně, např. metodologie. Anglická metodology je totiž metoda nebo metodika. Podobně jako technology není technologie, ale technika. Tyto omyly jsou dosti rozšířeny a již se s nimi zřejmě budeme musit smířit, i za cenu ochuzení výrazových schopností našeho jazyka. Musíme asi mít pochopení pro to, že zřejmě málokdo z šiřitelů „metodologie„ má představu, co vlastně toto slovo česky znamená. Jiným příkladem je otrocký překlad anglického use case jako případ užití. Český čtenář jistě cítí tento termín jako něco nečeského nebo alespoň intuitivně cítí, že případem „užití“ máme na mysli jeden nebo některé z možných případů užití něčeho. Mnohem výstižnější by bylo použít termín uživatelský model. To je totiž přesně to, co se chtělo anglickým use case říci, totiž že jde o popis funkcí systému z hlediska jeho uživatele. Podobných nešvarů bohužel najdeme v knize nemálo.

Závěrem tedy lze konstatovat, že recenzovaná kniha nepatří k perlám naší počítačové literatury. Současně však nepatří k tomu nejhoršímu. Snad jen poněkud zúžený rozhled autorů v novém tématu, dosud hledajícím plné uplatnění, způsobil, že jinak v podstatě inteligentně napsanou knihu nemůžeme označit za vynikající.

Jiří Cendelín