UML designer Cil: napsat prostredi pro vyvoj UML diagramu fungujici nad J2SE (a tudis multiplatformne) Podrobny popis: Cilem je napsat UML kreslitko, ktere bude podporovat vytvareni UML diagramu tak, jak je to uvedeno ve specifikaci UML verze 1.3. (tj. zejmena tyto diagramy - class diagrams, usecase diagrams, activity diagrams, sequence diagrams, collaboration diagrams, statechart diagram, deploy diagrams, Hybrid diagrams, component diagrams). Tyto diagramy by se meli nechat prehledne usporadat do packages. Take bude mozne pouzivat stereotypy. Melo by byt mozne, aby vice lidi pracovalo paralelne na jednom projektu a to nejenom v ruznych packages (jak je to napr. v Rational Rose), ale i na rucnych diagramech v tomtez package). Take bude umozneno prevadet mezi sebou podobne druhy diagramu (sequence na collaboration a naopak.) Vyvojove prostredi by melo byt prehledne (napr. podobne Rational Rose), obrazky by meli vypadat hezky. Samozrejmosti bude zmena barev a velikost jednotlivych obrazku. Projekty by mohli jit vzajemne mergovat (alespon na urovni balicku) extra features: Bude mozne pridavat vlastni nejen vlastni obrazky, ale take definovat omezeni mezi nove pridanymi obrazky a obrazky jiz stavajicimy (napr. ze dany obrazek nejde spojit napr. s obrazkem tridy atp.) System umozni generovat zdrojovy code z class diagramu (alespon do Javy a C++) a bude mozno system rozsirit o nove generatory codu. Bude mozne take ukladat diagramy jako obrazky (coz neumoznuji ani komercni prostredi jako MS Visio ci Rose) a zvetsovat diagramy jako fullscreeen. System bude take nabizet mnozstvi napovedy a to nejen tooltipu, ale bude upozornovat na chyby v navrhu vuci UML, ci vuci kodu v Jave (napr. multiple inheritance, depricated methods.). bude take mozno menit obrazky pro stavajici komponenty. Bude mozne ukladat osobni nastaveni klientu vcetne jazyka (vsechny popisky budou ulozeny napr. ve formatu XML a bude mozno snadno rozsirit XML o nove jazyky. otevrene otazky (Tohle asi bude opravdu slozite): Podpora reverse engeneeringu stavajiciho kodu . Udrovani modelu a vygenerovaneho kodu (zmena v kodu se promitne do modelu a naopak - co vim, tak to podporuje JDeveloper od Oracle, ale ten je dost drahy). Podpora i datovych modelu a generovani kodu SQL a kodu pro oracle (takze rozsireni UML o datove modely) To by melo tu vyhodu, ze by byly u sebe jak datove modely, tak modely aplikacni casti (coz usnadni orientaci pri delani objektovne relacnich DB - napr. javovska nadstavba nad relacni DB) Nevyhodou je znacna slozitost, nebot by se v podstate jednalo o projekty dva (to zase umi Power designer, ale ten take neni free) Vytvoreni prostredi pro generovani doplnkovych trid a pluginu Podpora nejakych vyvojovych metodik (RUP, XP, ...) (myslim, ze Rose nejak podporuje RUP, ale nevim jak presne, kdyz teda vynecham, ze RUP pocita s pouzivanim CASE nastroju) predgenerovani balicku pro tridy napr. J2SE, J2EE (coz je ovsem znacne rozsahle - spousta nudne prace (imho by to potrebovalo tak 1 cloveko rok, takze by 1 clovek vubec neprogramoval a jen by kreslil, coz vzhledem k potrebe 1 roku na vyvoj prostredi je temer nemozne, take je problem s ruznymi verzemi - J2SE1.3 ma jine (min) tridy nez 1.4), Proc zrovna tento projekt: Na tomto projektu se necha perfektne vyzkouset objektove orientovana analyza a navrh, je zde siroky prostor pro vyuziti mnoha designe patterns a procviceni si J2SE Projekt je dostatecne paralelizovatelny (nekdo muze delat tridy pro obrazky, nekdo generovani kodu, nekdo to prostredi atp.) Co prinasi nas projekt noveho oproti stavajicim prostredim: Mam zkusenost s temito prostredimy - Rational Rose, MS Visio, a ArgoUML. Rose je profesionalni prostredi, ktere umoznuje generovat velice prehledne diagramy, bohuzel ma problemy s paralelni praci a je drahy. Visio je pekne rozsiritelne, ale vystupy z nej jsou pekne pro neformalni vystupy, ale jako UML designer se mi zda malicko neprehledny a diagramy z nej nevypadaj tak hezky jako z Rose (a je take drahy). ArgoUML je zdarma jako Open source, ale taky se mi moc nelibi ( i kdyz vic jak visio). Imho je moc preplacane - porovnejte Screen shoty oproti Rose. Takze si myslim, ze by bylo treba vytvorit novy UML designer, ktery bude free, opensource, bude prehledny a podobny jako Rose (bude ovsem podporavat to, co je napsane vyse (tj. ve funkcnosti se muze od vyse zminovanych prostredi malicko lisit). Pokud bychom podporovali jeste neco z "otevrenych otazek", tak bychom vytvorili asi neco naprosto noveho (nicmene nic se nema prehanet) Pozadavky: projekt typuju tak na 4-5 lidi (jsme 4:-)), znalost Javy, design patterns, UML (necha se snadno doucit) Doporucena literatura: Myslime v Jazyku java (Bruce Eckel) (oba dily u ceskeho vydani od Grady),Java Efektivne od Joshua Bloch (Grada),Java Programujeme profesionalne, Myslime v UML (taky Grada), (Objektova analyza a navrh V UML ci tak nejak od Grady spise nedoporucuju), jinak o UML vysla ted nova kniha od Computer pressu, ale tu jsem necetl. Navrh programu pomoci vzoru od Gamma a kol. (Grada). Popripade jine knihy podobneho zamereni:-)