Category Archives: Arhitectura&Design

Cei trei amigos sau povestea UML-ului

Vorbiti umeleza? Do you speak UML modeling language? Daca da, s-ar putea sa va intereseze contextul aparitiei UML-ului. Ca orice poveste care se respecta are niste eroi – in cazul nostru trei crai de la … apus.

Era pe la inceputul anilor ’90 in State o companie numita Rational Software (sunt sigur ca ati auzit de ea) care avea ca chief scientist pe primul dintre eroii nostri – domnul Grady Booch. La acea vreme stiinta programarii era mai putin dezvoltata ca astazi si nu existau nici procese, nici standarde, nici macar un limbaj comun pentru notatii sau diagrame. Existau tentative de a crea asa ceva, dar ele variau de la companie la companie.

Domul Booch resimtea din plin problemele de mai sus, asa ca isi storsese creierii si produsese “Booch method” – o tehnica de analiza si design a software-lui, insotita de elemente grafice, care se preta foarte bine pentru OOD (Object Oriented Desing).

Dar simtea ca nu e totul, drept pentru care in 1994 a mai chemat la Rational un alt personaj, pe domnul James Rumbaugh, tocmai de la General Electric, care si dansul elaborase o metodologie numita OMT (Object Modeling Technique), care continea in principal ceea ce noi azi numim class diagram, object diagram, state diagram.

Cireasa de pe tort s-a pus un an mai tarziu, cand Rational l-a adus pe cel de-al treilea crai, domnul Ivar Jacobson, tocmai din Suedia, si nu oricum, ci cu tot cu firmulita domniei sale Object AB, care fusese parte a Ericsson.

Iacobson, si el o minte sclipitoare, era dorit in acest club pentru ca, pe la sfarsitul anilor ’60, nu la o firma de software, ci, surpriza, la o companie de telecomunicatii (Ericsson) concepuse tipuri de diagrame care azi fac parte din UML (sequence diagrams, collaboration diagrams, state transition diagrams), dar si use case diagrams. Evident ca si in cazul lui, acestea purtau un nume de cod – metoda OOSE (Object-Oriented Software Engineering), la care si el tinea foarte mult.

James Rumbaugh
Ivar Jacobson
Grady Booch

Asadar cei trei domni, cu viziuni si idei nu tocmai omogene, cu teorii relativ disjuncte s-au pus la discutii, si pana la inceputul lui 1997 au pus de-un limbaj de modelare unitar, pe care l-au numit UML (Unified Modeling Language). Au venit fiecare cu conceptiile lui si au plecat cu o idee comuna, impartasita de toti si care le includea si pe celelalte. Era si timplul pentru ca a OMG (Object Management Group) tocmai submisese o cerere de astfel de speificatie – propunerea celor trei fiind rapid adoptata.
In urma acestei colaborari fructuase cei trei “metodologisti” cum li se mai spunea au fost numiti “The Three Amigos“. Atat de bine au copt specificatiile UML incat in scurt timp ele au fost adoptate de toata comunitatea dezvoltatorilor ca un standard al industriei – ceea ce-si si dorisera “the treee Amigos”. O schimbare semnificativa apare de abia in 2005 cand apare UML 2.0, care mai adauga cateva tipuri de diagrame.

Dupa successul UML-ului cei trei colegi acum si-au mai dat odata mana si au pus la cale metodologia/procesul de dezvoltare software RUP in celebra carte publicata in 1999 – “The Unified Software Development Process” – care a devenit si ea foarte populara pe durata anilor 2000 (atat cartea, cat si metodologia), dar asta-i o alta poveste.

Dar cum in business pestele cel mare inghite pe cel mic, in anul 2003 compania Rational a fost cumparata de IBM, ceea ce n-a fost foarte bine, dar nici cel mai rau lucru cu putinta pentru ea, IBM fiind serios interesata de arhitectura software. Gasca celor trei insa s-a cam spart, Jacobson retragandu-se primul, urmat in 2006 de Rumbaugh si in final de Booch. Oricum, cand vine vorba de arhitectura si metodologii de dezvoltare software, numele acestor domni sunt de referinta.

Tree swing engineering cartoon

Ce ne dorim intr-un proiect software

De-a lungul timpului am constat ca nu exista proiecte livrate gresit sau esuate, ci doar diferite intelegeri asupra lor din partea stakeholder-ilor, diferite view-uri asupra cerintelor.

Scenariile din poza de mai jos vorbesc despre asta mult mai elocvent decat as face-o eu.

Sursa foto: openbravouxlab.blogspot.com