Datum přidání: May 12, 2011 7:36:46 AM
11.5. 2011 jsme opět v rámci další hodiny základu programování Javy proletěli zajímavou kapitolu o UML diagramech, když jsem těchto diagramech slyšel poprvé na FITu tak jsem absolutně nevěděl která bije a mylně jsem si to spojoval s databázemi, které mají sice podobnou konstrukci ale významově to je úplně jiná kategorie. No a včera mě konečně došla spojitost, že to to slouží při konstrukci tříd do OOP jazyků, a nejen na to.
Jen pro upřesnění tak UML znamená Unified Modeling Language což je grafický nástroj pro vizualizaci, specifikaci, navrhování a dokumentaci programových systému. (viz česká wiki - uml)
Ono se to totiž blbě chápe když máte na krku 4 projekty na kterých máte habaděj práce, do toho se učíte databáze, Defíčka, C, PHP a na softwarovým inženýrstvím to nevysvětlují na nějakém konkrétním OOP jazyků, a na C se to pochopit nedá když je to jen procedurální jazyk. Samozřejmě pro zvládnutí UML je potřeba dost dobře chápat hlavně OOP model, který jsem v té době taktéž na vlastní pěst studoval, ale pochopil jsem ho plně až téměř o 2 roky později, kdy jsem měl za sebou celou řadu na oko vypadajících OOP aplikaci v PHP :D. Takže výsledný výrok: pro pochopení UML je zapotřebí OOP, pro pochopení OOP je zapotřebí jazyk který je na OOP jistým stylem vystavěn.
Takže pokud člověk nechápe pojmy z OOP a nedokáže si je řádně interpretovat, tak nedokáže ani řádně pochopit UML.
Tak jsme ještě během hodiny začal prohledávat můj oblíbený synaptic a našel jsem zhruba 5 UML generátorů, mezi nimi dia2code nebo kde-čkovy Umbrello.
Umbrello je pěkně udělaná aplikace, jediným ale je tu to že ze z KDE4, no a nejen že ty originální aplikace vypadají jednak divně ale se tak divně chovají, ale funguji.
Další jsem odzkoušel a posléze i upravil zdroják a rekompiloval u programu dia2code, hlavně kvůli špatnému odsazování pro php5, jinak tento program umí z UML diagramů nakreslených v programu Dia generovat do celé řady jazyků: ada, c, cpp, c#, idl, java, php4, php5, python, ruby, shp a sql.
Ona Dia umí exportovat i sama v základu do jazyků jako Java, pascal nebo python, ale php mě tam chybělo, tak jsem začal užívat tuto utilitu.
Po tom co jsem tam upravil Céčkovský soubor pro generování php5, na dvou místech kde se vkládá začínající závorka za metodu a pak ještě přidal do metody TODO komentář, a pak jsem poslal upraveny kód autorovy který tento kód napsal.
EDIT: vinikajici editor na UML s deneratorem a parserem jsem odzkoušel BOUML ... sic se nevyvijí kvůli nejakým opletačkám s wikipedii bo co... ale i tak je parádaní.. a použitelný v teto formě ve které je dostupny z repozitářů nebo z webu: http://bouml.free.fr/index.html