Charakteristika nástroje COOL:Jex 4.0
Po akvizici společnosti Cayenne americkou společností Sterling Software došlo také ke změnám původních nástrojů společnosti Cayenne. Jejich nástroj ObjectTeam byl zařazen do řady nástrojů COOL a byl přejmenován na COOL:Jex. Stal se tak komponentou ucelené řady nástrojů pro modelování procesů, analýzu a návrh systému, jeho implementaci a údržbu.
|
Co je COOL:Jex?
COOL:Jex je objektový CASE nástroj společnosti Sterling Software. Je nástrojem pro podporu analýzy, návrhu a implementace systému. Zahrnuje všechny tři typy CASE, upper, middle a lower CASE, které tvoří jednotný celek. Tím je umožněno všechny etapy vývoje systému provádět integrovaně a zcela konzistentně. Na druhé straně je logicky rozčleněn do vývojových etap (standardně do etap analýzy, systémového návrhu, objektového návrhu a implementace), takže při vývoji projektu lze zřetelně rozeznat hranice jednotlivých etap, zcela přesně určit jejich počátek či konec, samostatně je dokumentovat, sledovat rozdíly mezi etapami apod. Nástroj patří do integrované rodiny nástrojů COOL, která jako blok podporuje celý životní cyklus projektu.
Jakou užívá metodiku?
Stejně jako předchozí verze i tato vychází z Rumbaughovy objektové metodiky OMT (Object Modeling Technics). Jedná se o metodiku, která pohlíží na systém několika různými pohledy. Prvním z nich je statický pohled. Definují se jednotlivé třídy systému a vztahy mezi nimi. Druhým je dynamický pohled, ve kterém se modeluje chování systému v čase, jeho reakce a události. Třetím je pohled funkční, pohled na jednotlivé funkční celky či funkce systému. Již předchozí verze byly rozšířeny o Jacobsonovy diagramy Use Case, pomocí nichž je možné definovat odpovědnosti systému a jeho základní chování.
Jak se v nástroji modeluje?
Každý z vyjmenovaných pohledů je reprezentován jedním nebo více diagramy. Jednotlivé diagramy jsou navzájem metodicky svázané. Uchopí-li se vývoj systému od “správného konce”, metodika svázaná do diagramů sama vede vývojáře k cíli. Nástroj však umožňuje metodiku libovolně modifikovat. Osmá verze obsahuje některé nové diagramy. Jedním z nich je diagram aktivit, pomocí kterého je možné modelovat business procesy nebo jej použít jako stavový diagram pro více tříd současně a tím docílit globálního pohledu na chování systému. Další dva diagramy, komponentový a rozvinutý, umožňují modelovat pohled na celek jako závislosti mezi jeho částmi. Komponentový diagram, pomocí něhož lze modelovat závislosti a rozhraní jednotlivých softwarových komponent, je extrémně důležitý. Umožňuje totiž jasně definovat, jak lze velký a nepřehledný systém rozdělit na menší a lépe vyrobitelné komponenty, které mají jednoznačné rozhraní. Rozvinutý model pak umožňuje modelovat i jiné než softwarové prvky systému a hledat vztahy mezi softwarovými a jinými prvky.
Není COOL:Jex příliš rozsáhlý?
Nástroj je plně modulární. Modul je část nástroje, která může nebo nemusí být zpřístupněna pro práci. Tak se upraví “rozsáhlost” nástroje specifikám a potřebám jednotlivých projektů. V jeden okamžik může být nástroj pro každý projekt jinak rozsáhlý. Modulem je generátor kódu do určitého jazyka, integrace s jiným nástrojem, správce přístupu uživatelů apod. COOL:Jex obsahuje manažer modulů, který zajišťuje jejich správu. Jaké moduly je možné v CASE používat lze definovat nejenom na úrovni celého nástroje, ale také na úrovni jednoho projektu, konfigurace, fáze či systému. Každý tento fragment totiž obsahuje definiční soubor, který určuje, jaké moduly jsou v rámci fragmentu přístupné. Zda je modul použitelný, rozhoduje pouze přítomnost licenčního řetězce, takže zpřístupnění modulu neznamená dodatečnou instalaci softwaru, ale pouze jeho zpřístupnění.
Zpřístupnění modulu znamená rozšíření atributů diagramů. Jestliže se posléze modul znepřístupní, atributy neztrácejí vložené informace a po opětovném zpřístupnění modulu jsou tyto informace opět dostupné (např. Modul generátoru C++ vyžaduje pro každou třídu stanovit, zda je persistentní. Je-li zpřístupněn modul generátoru Javy, nemá atribut persistence smysl a tudíž není ani přítomný v definici třídy. Po opětovném zpřístupnění modulu generátoru C++ jsou hodnoty atributu persistence opět takové, jak byly pro jednotlivé třídy definované).
Lze nástroj nějak upravit nebo pozměnit?
COOL:Jex je zcela otevřený a upravitelný nástroj. Je to dáno třemi faktory. Prvním faktorem je systém definičních polí. Definiční pole může existovat buď nad celým nástrojem nebo nad jeho částí, tedy projektem, konfigurací, etapou, systémem, diagramem či entitou. Editorem definičních polí lze upravit jak nástroj navenek vypadá, strukturu menu, přidat uživatelské atributy entitám diagramů apod. Druhým faktorem je přítomnost jazyka Tcl. Jedná se o objektovou verzi poměrně jednoduchého jazyka. Podstatné je, že kromě rozsáhlého jádra nástroje jsou všechny moduly naprogramovány v tomto jazyce. Nástroj samozřejmě disponuje interpretrem tohoto jazyka. Jakoukoliv změnu modulu je možné provést zásahem do jeho kódu. Je samozřejmě možné vytvořit si jakýkoliv vlastní modul a zahrnout jej do nástroje (např. vlastní generátor kódu). Třetím faktorem je otevřená a dokumentovaná repository. Veškeré informace uložené v repository jsou přístupné prostřednictvím jazyka Tcl. Rovněž všechny metody nad třídami repository jsou tímto jazykem volně přístupné. Lze říci, že v COOL:Jexu je možné provést jakoukoliv změnu.
Lze se spolehnout na repository nástroje?
Jestliže je v úvodu napsáno, že nástroj COOL:Jex je součástí integrovaného celku COOL, pak je to dáno především politikou práce s repository. Ta není součástí COOL:Jexu, ale je samostatná. K repository mohou přistupovat některé další nástroje rodiny COOL (COOL:BusinessTeam, COOL:DBA). Repository je dostatečně robustní, aby zvládla rozsáhlé projekty či práci mnoha uživatelů v jeden okamžik. Má rychlou odezvu a díky manažeru repository je přenosná mezi podporovanými platformami. Je možné ji provozovat na databázových platformách Sybase SQL Anywhere (Windows NT a Windows 95), Informix, Oracle a Ingres (unix).
Jak je to se správou verzí?
COOL:Jex kvalitně podporuje možnost vytváření verzí a jejich správu. Každý fragment vývoje systému může existovat v několika verzích, které lze ”konzervovat”, rozvíjet více způsoby současně, mohou k nim přistupovat různí uživatelé. Verze je možné vytvářet v horizontálním nebo vertikálním směru. Lahůdkou je synchronizovaný vývoj. Nástroj podporuje možnost vyvíjet projekt ve víceuživatelském režimu off-line. Jednotlivé části projektů se posléze synchronizují.
Rozezná nástroj neautorizovaný přístup? Na všech úrovních projektu?
Administrátor nástroje či projektu řídí přístup jednotlivých uživatelů systému k jeho fragmentům. Jsou definované uživatelské role, které mají přiřazenu množinu oprávnění (např. mazání diagramu nebo přidání entity v diagramu). Každému uživateli systému se přiřazuje jedna nebo více uživatelských rolí. Jednotlivé role se mohou přiřazovat nad daným projektem nebo nad jeho libovolným fragmentem, až na úroveň jednotlivých diagramů.
Existuje možnost kontrol projektů?
COOL:Jex disponuje rozsáhlou množinou kontrol nad jednotlivými fragmenty projektu. Kontroluje se nejenom syntaktická správnost diagramů, ale také dodržování metodiky či konzistence prvků projektu. Co všechno má být kontrolováno lze opět stanovit prostřednictvím jednoho z definičních polí.
Umožňuje nástroj vytvářet dokumentaci?
Nástroj automaticky generuje dokumentaci jednotlivých subsystémů projektu. Buď ve formě textových reportů nebo přímo do zvoleného textového editoru včetně jednotlivých diagramů. Samozřejmě lze ovlivnit, co bude součástí dokumentace. Vytvářejí se tzv. dokumentační matriky, které specifikují obsah dokumentace. Tak lze vytvářet jinou dokumentaci např. pro testery a jinou pro vedení projektu. Standardně je dokumentace generována do MS Wordu (v prostředí NT) a do FrameMakeru a InterLeafu (v prostředí unixu). Samozřejmě díky otevřenosti nástroje je možné snadno vytvořit generátor do jakéhokoliv jiného formátu.
Vytváří nástroj programový kód?
COOL:Jex disponuje sadou generátorů aplikačního kódu. Aplikační kód se generuje na základě diagramu asociací tříd v etapě implementace. Jednotlivé generátory disponují možnostmi roundtrip engineeringu, reverse engineeringu a code injection. Round trip engineeering znamená, že změny provedené ve vygenerovaném kódu se přenášejí zpět do diagramů (např. přidání metody třídy se zobrazí v daném diagramu, který tuto třídu obsahuje). Reverse engineering převádí již hotový kód do diagramu asociace tříd, tedy vytváří strukturu tříd a vazeb mezi nimi. Pokud si to uživatel přeje, jsou všechny třídy, zahrnuté v kódu, převedeny do jednoho diagramu. Tímto způsobem je možné integrovat již hotovou aplikaci s analyzovaným systémem či použít hotové objekty v novém systému. Novinkou osmé verze je plná podpora injektace kódu (code injection) pro C++ a Javu. Při reverse engineeringu se do repository ukládají nejen informace o třídách, ale také programový kód. Ten se potom udržuje v COOL:Jexu. Injektace kódu značně rozšiřuje možnosti COOL:Jexu a optimalizuje správu kódu. Aplikační kód je generován do těchto jazyků: C++, Java, PowerBuilder, Delphi, Ada, SmallTalk, CORBA IDL, Visual Basic, NewEra a Forté.
Generuje také datový model?
COOL:Jex dokáže generovat úplný datový model. Podporované platformy jsou Informix, Oracle, MS SQL Server, Ingres, Sybase. Datový model se generuje ve formě sql skriptů. Generují se jak skripty pro založení tabulek, tak skripty procedur nad tabulkami či databázové triggery.
S jakými nástroji je COOL:Jex integrován?
Již bylo řečeno, že COOL:Jex patří do řady nástrojů COOL, přičemž s některými je integrován. Díky jeho otevřenosti (jazyk Tcl) je integrovatelný i s jinými nástroji. V současné době je plně integrován s nástroji konfiguračního managementu Apex Ada, ClearCase, Continuus, Razor, PVCS Version Manager, dále s nástroji pro správu požadavků DOORS, icConcept RTM, SLATE, s testovacím nástrojem QA Organizer, s dokumentačními nástroji DocIt a DocExpress, s nástrojem pro správu repository MS Repository a samozřejmě s textovými procesory MS Word, FrameMaker a InterLeaf.
Kde se dozvím další podrobnosti?
Výhradním distributorem COOL:Jexu a dalších nástrojů společnosti Sterling Software je společnost Komix, spol. s r. o. Zde je možné získat jakékoliv informace o těchto nástrojích, domluvit si prezentaci nástrojů nebo časově omezenou zápůjčku ostré verze nástroje.
Petr Kopřiva, kopriva@komix.cz
|