Zúčastnil jsem se celodenního semináře ve firmě UNICORN, kde bylo hlavním cílem představit produkt IBM Rational Software Architect (dále jen RSA). Vše probíhalo v příjemném prostředí na Karlíně, UNICORN má v současné době reklamní kampaň plnou ratolestí a maminek („Tak se dělá software“), takže na každém rohu jste našli ležící hračky, plakáty s maminkami nebo jistě praktické baby-roomy. Zajímavé bylo, že na patře bylo velké množství žen, které obvykle v IT prostředí nepotkáváme tak často -– ženy stojící, bavící se, diskutující ve lounge roomu, vyplňující formuláře nebo probíhající meetingy za prosklenými dveřmi (dokonce v jednom případě žádní muži). UNICORN to zřejmě myslí vážně.
V úvodu proběhlo představení metodiky RUP, poté proběhlo představení projektu Eclipse jako platformy a ukázka silné integrace v produktu RSA. Všechny prezentace měly trošku obchodní nádech a v podstatě se jednalo o shrnutí klíčových vlastností RSA produktu, k dispozici byly počítače s nainstalovaným nástrojem pro „proklikávání“ -– nejednalo se tedy workshop.
Produkt RSA integruje téměř všechnu činnost potřebnou pro úspěšné vedení projektu v RUPu. Pro sběr požadavků se však používá speciální nástroj IBM Rational RequisitePro, který propojuje Word dokumenty, databázi a zaznamenávání změn v požadavcích. RRP obsahuje přednastavené šablony, ze kterých se vychází při psaní vlastních dokumentů s požadavky, dále hierarchickou strukturu požadavků a různé pohledy. Dokumenty jsou různých typů: slovníček, vize, supplementary specifikace a use case specifikace.
Vše je integrováno s Wordem pomocí maker, metadata jsou uložena v databázi (Access nebo SQL databáze). Nad požadavky je možné vytvářet atributy, ty ukládat včetně historie do databáze a poté je analyzovat (tabulky, dotazy). Poté jsme se už věnovali produktu RSA, do kterého bude RRP integrováno až v dalších verzích.
Na vytváření případů užití má RSA plnou podporu UML 2.0, bohužel však nelze k use-cases připojit scénář napsaný ve Wordu. Integrace s RRP je obousměrná a dobře řešená. Mezi hlavní výhody patří dobrá integrace všech potřebných nástrojů v jedno prostředí, například vývojář vůbec nemusí opouštět Eclipse a veškeré výstupy analytiků má k dispozici on-line přímo ve svém Eclipse IDE.
Po obědě jsme se věnovali většině vlastností RSA z pohledu role architekta. Model driven development (business, use case, analysis, user experience, design, data a implementation model), model driven architecture (transformace modelů na konkrétní technologie jako je J2EE, CORBA, plain Java a podobně). Technologii MDA se lektor vůbec věnoval hodně, což bylo pro mne překvapením -– MDA je stále dost v plenkách.
Lektor se zabýval také otázkou úrovně abstrakce při modelování softwaru a také důvod, proč modelujeme. Programátoři mají tendenci přiklánět se k názoru, že modelování zpomaluje a je zbytečné. Modelování nám ale umožňuje:
Velmi pěkně jsou v RSA řešeny transformace (z UML do kódu a naopak). Jedná se o akce, které se integrují do Eclipse, takže je můžeme spouštět standardním způsobem (eventuelně i externě).
V současné době začínají být v oblasti modelování velmi populární návrhové vzory. V podstatě žádný moderní modelovací nástroj by si nemohl dovolit luxus návrhové vzory nepodporovat, v RSA je k dispozici pattern explorer a práce s patterny je intuitivní a rychlá. Je zde možnost i patterny vyhledávat v již existujícím zdrojovém kódu.
Strukturální analýza je další vlastností RSA, což je věc, které jsem se dotkl v předchozím paragrafu. Prostředí efektivně zobrazuje chyby v analýze na všech úrovních, a také různá varování (nalezené anti-patterns, příliš komplexní datové toky a podobně, složité struktury například „butterfly“). Structural control slouží k vynucování architektury a kontrole implementace, jestli se neodchyluje od návrhu. Detekce architektonických problémů spolu se silnou detekcí problémů na úrovni zdrojového kódu v Eclipse IDE chápu jako docela šikovné vlastnosti.
RSA je silným produktem, který výborně integruje s Eclipse. Toto prostředí patří nejen v naší zemi mezi jedno z nejoblíbenějších pro vývoj softwaru v Javě, takže právě proto je RSA aktuálním a zajímavým produktem. V několika případech na nás dýchla ještě jistá nevyzrálost systému, protože verze 7 je poměrně nová (firma IBM přepisuje portfolio získané akvizicí firmy Rational na platformu Eclipse). Otázkou je samozřejmě nastavení ceny produktu, protože ta bude jistě výrazně vyšší, než u jiných (jednodušších) softwarů, jako je například Enterprise Architect, který ve firmě používáme.
Po skončení semináře na mě čekalo před budovou UNICORNu nemilé překvapení…
…a totiž – zjistil jsem, že asi nestihnu vlak