Prehľad CASE systémov pre fázu správy a údržby programových systémov
1 Úvod
V referáte sa popisuje fáza správy a údržby programových systémov a podpora správy a údržby v CASE systémoch všeobecne aj konkrétne. Najväčší priestor je venovaný generovaniu projektovej dokumentácie, ktorá sa používa pri správe a údržbe softvéru. 2 Fáza správy a údržby programových systémov
Životný cyklus programových systémov je súhrnom všetkých potrebných úkonov pre tvorbu programových systémov a pre zabezpečenie ich prevádzky a údržby [1]. Životný cyklus sa skladá zo štyroch základných fáz, ktoré sa cyklicky opakujú, kým systém nezanikne:
analýza (analysis) návrh (design) implementácia (implementation) prevádzka a údržba (maintenance) Fáza prevádzky a údržby obsahuje: pravidelnú prevádzku programových systémov podľa prijatých organizačných predpisov pozorovanie a testovanie programových systémov správu verzií postupné zisťovanie a odstraňovanie nedostatkov, riešenie poruchových situácií modifikácie (z dôvodu riešenia problémov, rozširovania funkcie alebo zlepšovania vlastností) evidenciu nových používateľských požiadaviek Všetky zmeny softvéru prevádzané v priebehu údržby sa majú previesť, pokiaľ je to možné, rovnakým postupom ako pri vývoji softvérového produktu. Všetky tieto zmeny majú byť dokumentované podľa postupov pre operatívne dokumentačné a konfiguračné riadenie. Záznam o činnostiach spojených s údržbou sa môže využiť pre vyhodnotenie a zlepšenie softverového produktu a pre zdokonalenie vlastného systému kvality [2].
3 Generovanie projektovej dokumentácie
Výskumy ukázali, že vývojári strávia najviac času pokúšaním sa porozumieť existujúcemu zdrojovému kódu programov. Preto je pri správe a údržbe veľmi užitočná projektová dokumentácia, ktorá skráti čas na porozumenie systému a vývojári získajú viac času pre tvorivú prácu ako navrhovanie, rozširovanie funkcií, lokalizácia a odstraňovanie chýb atď.
Projektová dokumentácia je integrálnou súčasťou procesu vývoja softvéru.
Je to súhrn písaných materiálov, ktoré zhromažďujú štruktúrovane a logicky usporiadané informácie o životnom cykle programového systému, napríklad:
programové požiadavky správanie systému návrh systému štruktúra zdrojových kódov história testov Väčšina CASE systémov podporuje automatické generovanie dokumentácie, ktorá má oproti manuálne písanej tieto výhody:
dokumentácia je vždy správna a aktuálna závislosti medzi modulmi sú dokumentované a redokumentované vždy, keď je dokumentácia generovaná znova dokumentácia softvérového systému môže byť prezentovaná uniformovaným spôsobom, hoci je systém implementovaný pomocou rôznych jazykov a na viacerých platformách. Generovaná projektová dokumentácia môže mať rôzne úrovne abstrakcie od podrobnej systémovej dokumentácie až po abstraktnú používateľskú. Dokumentácia môže byť vytvorená pomocou štandardných šablón (templates) alebo môže mať definovanú štruktúru pomocou voliteľných možností a prvkov. Ak je generovanie dokumentácie súčasťou integrovaného CASE systému, informácie v dokumentácii sú zvyčajne prepojené s údajmi z archívu (repository) a vývojových nástrojov tohto CASE systému. Vygenerovaná dokumentácia je uložená väčšinou v štandardných formátoch (HTML, PDF, RTF, DOC, PostScript, PCL, ...), aby mohla byť vytlačená alebo publikovaná v sieťovom prostredí, čo má význam pri vývoji programového systému ako distribuovaného projektu, keď sa jednotlivé časti systému nachádzajú na rôznych miestach.
4 Prehľad CASE systémov
CASE (Computer Aided Software Engineering) systémy automatizujú úlohy jednej alebo viacerých fáz životného cyklu programových systémov a podporujú určité metodológie a metódy ich tvorby. Vytvoriť CASE systém, ktorý by podporoval všetky úlohy životného cyklu je zložitá a rozsiahla úloha, ale existujú CASE systémy, ktoré majú ambíciu splniť ju.
CASE systémy poskytujú pre podporu správy a údržby zvyčajne služby a nástroje:
generovanie a publikovanie projektovej dokumentácie (documentation generation, reports) správa verzií a konfigurácií systému (version management, configuration m.) testovanie systému analýza vplyvov zmien (impact analysis) pri modifikáciách, upgrade systému. Pri hľadaní informácií o CASE systémoch pre fázu správy a údržby programových systémov sme pre popis vlastností vybrali tieto systémy: integrované CASE systémy Adelia, Case/4/0, Rational Suite, Cradle, PowerDesigner, +1Environment a jeden špecializovaný produkt DocGen, ktorý slúži len na automatické generovanie a publikovanie dokumentácie priamo zo zdrojových kódov programu.
4.1 Adelia
Adelia je CASE systém od francúzskej firmy Hardis [1], [3], [4], [5], ktorý pokrýva všetky fázy životného cyklu softvéru. Dátové modelovanie je založené na modifikovanej metodológii MERISE.
Adelia umožňuje vývoj aplikácií pre prostredia:
Web - produkt Adelia/Web Windows a Klient/Server - produkt Visual Adelia v ktorom sa môžu generovať serverovské aplikácie pre platformy: IBM eServer iSeries (AS/400) Windows NT/2000 UNIX - Linux, AIX, Solaris IBM eServer iSeries (AS/400) - produkt Adelia/400 Jadrom celej Adelie je integrovaný archív (repository), v ktorom sú uložené všetky objekty, s ktorými Adelia pracuje. Adelia ďalej obsahuje komplexný súbor nástrojov a manažérov, ktoré zabezpečujú všetky fázy životného cyklu programového systému.
Na správe a údržbe sa podieľajú tieto moduly:
Maintenance management module - modul pre riadenie údržby obsahuje okrem iného version manager, nástroje pre efektívnu analýzu vplyvov zmien (impact analysis) a nástroje pre upgrade aplikácie, keď je modifikovaná štruktúra databázy. Version manager - slúži na sledovanie verzií, riadi testovanie a vývoj prostredí, vytvorenie correction environmentu a tvorbu inštalácie. Documentation manager - používa sa na definovanie obsahu dokumentácie, užívateľskej alebo technickej. Definujú sa tu štruktúry rôznych analytických a používateľských zložiek (folders), ktoré môžu byť na požiadanie vytlačené a systematicky obnovované, aby zodpovedali zmenám v aplikácii. Translation manager - automatizácia prekladu, podpora viacjazyčných aplikácií
4.2 Case/4/0
Systém Case/4/0 je vytvorený nemeckou firmou MicroTOOL GmbH [1], [6]. Pracuje na PC klient/server platformách Windows NT, Windows 95/98/2000 a potrebuje MS Word. Case/4/0 integruje grafickú analýzu, návrh a programovacie nástroje. Case/4/0 obsahuje modul Publishing , ktorý obsahuje editor pre prípravu a tlač užívateľsky špecifikovaných prehľadov a správ pre MS Word a HTML. Modul umožňuje definovať štruktúru dokumentácie zostrojením stromového diagramu, ktorého prvky sú kapitoly a časti dokumentácie a zaradiť do dokumentácie všetky vytvorené diagramy vrátane textového popisu a komentárov.
Najnovšie verzie systému Case/4/0 obsahujú modul Web Publisher, ktorý umožňuje publikovanie dokumentácie na internete alebo intranete pre podporu tímovej práce v sieti na distribuovaných projektoch. Informácie v dokumentácii sa získavajú z archívu (repository) systému Case/4/0. Archív je relačnou databázou a microTOOL vyvinul jednoduchý skriptovací jazyk, ktorý pomáha používateľom pristupovať k tabuľkám a atribútom z archívu. Vytvorený skript číta podľa svojej schémy informácie z archívu a zapisuje ich do súborov vo formáte HTML.
Manažment verzií a konfigurácií v Case/4/0 zabezpečuje integrovanú históriu verzií individuálnych výsledkov a konzistentnú konfiguráciu všetkých výsledkov.
4.3 Rational Suite
Firma Rational Software Corporation [7] ponúka vyše 40 produktov, ktoré môžu byť kúpené jednotlivo alebo v integrovaných Rational Suite edíciách, ktoré ponúkajú riešenie pre celý životný cyklus softvéru.
Mnohé z produktov Rational získali ocenenia a sú považované za najlepšie vo svojej oblasti.
Jedným z kľúčových komponentov v Rational Team Unifying Platform, ktorý je základom všetkých edícií Rational Suite, je Rational SoDA:
vykonáva automatické generovanie projektovej dokumentácie extrahovaním údajov z rôznych databáz projektových nástrojov je pevne integrovaná s ostatnými vývojárskymi nástrojmi Rational ponúka používateľom jednoduché rozhranie pre tvorbu správ o požiadavkách, návrhu, testovaní a poruchových stavoch automatické zachytenie zmien a aktualizácia dokumentácie uniformné usporiadanie údajov v jednom dokumente z rôznych archívov umožňuje rýchlo publikovať informácie z viacerých zdrojov (nástrojov) použitím konzistentného rozhrania. permanentne integruje doplnkové informácie s projektovými údajmi, aby mohol používateľ pracovať s extrahovanými údajmi bez obáv o stratu zmien, keď sú tieto údaje obnovené obsahuje preddefinované šablóny a WYSIWYG komponent pre tvorbu šablón pre špecifické potreby. SoDA for Word pridáva k funkciám MS Word funkcie pre generovanie dokumentácie.
Testovanie systému zabezpečuje súbor produktov v Rational Suite TestStudio a niektoré ďalšie samostatné produkty. Do Rational Suite TestStudio patria:
Rational TestManager zabezpečuje kontrolu, riadenie a podávanie správ o všetkých testovacích aktivít z jedného miesta. Ihneď dá vedieť, že sa zmenila požiadavka, ktorá ovplyvňuje testovaný prípad. Výsledky testov sú hneď prístupné všetkým členom pracovného tímu. Rational TeamTest automatizuje funkcionálne, distribuovano-funkcionálne, regresné a záťažové testovanie pre klient/server, Web a ERP aplikácie. So sledovaním porúch a možnosťami pre riadenie testov, Rational TeamTest znižuje riziko odovzdania chybných aplikácií. Rational PurifyPlus je určený pre run-time analýzu, automatizuje testovanie jednotiek počas vývoja, zabezpečujúc spoľahlivosť, výkon a kvalitu. Obsahuje tri nástroje: Rational Purify lokalizuje ťažko objaviteľné pretečenia pamäte a run-time chyby, Rational Quantify zisťuje príčiny kritické pre výkon systému a Rational PureCoverage identifikuje netestovaný kód a vykonáva jeho analýzu. Rational Robot automatizuje funkcionálne testovanie a obsahuje regresné a smoke testy Web, ERP a klient/server aplikácií vyvíjaných v rôznych prostrediach. Rational ClearQuest je flexibilný tímovo-založený nástroj na sledovanie porúch a zmien. Zachytáva, sleduje a riadi poruchy a požiadavky na zmeny pre akýkoľvek projekt na rôznych platformách vrátane Windows, UNIX a Web. 4.4 Cradle
Cradle je komplexný CASE systém od americkej firmy Structured Software Systems Limited (3SL) [8]. Cradle je v súčasnosti podporovaný pre tieto architektúry:
MS Windows 95,98,NT4,2000 HP9000/700 (HP-UX 10.20) HP9000/800 (HP-UX 10.20) IBM RS/6000 (AIX 4.1.4) Sparc Sun/OS 4.1.X Sparc (Solaris 2.3 a vyššie) (na UNIX platformách beží Cradle ako X klient).
Cradle sa skladá z Project Data Module (PDM - kostra systému a databáza pre kontrolu a riadenie informácií) a zo súboru špecifických modulov integrovaných s PDM:
Requirements Management Systems Modelling Performance Modelling Software Engineering Document Generation Web Publishing Document Generation
Document Composer (DCOM) je modul, ktorý dovoľuje pre každý projekt navrhnúť, štruktúrovať a formálne prezerať dokumentáciu nezávisle na jej obsahu. DCOM teda rozlišuje medzi informačným obsahom projektového dokumentu a jeho štruktúrou. Kľúčové vlastnosti DCOM:
Konštruuje ľubovoľne veľké a komplexné dokumenty zo súborov dát v projektovej databáze. Dokumenty definované v grafických editoroch, žiadne skriptovacie jazyky. Dokumenty môžu obsahovať krížovo odkazované informácie s rôznym stupňom komplexnosti. Dovoľuje ľubovoľné množstvo zoznamov a indexov v dokumente, podporuje wordové a dokumentové procesory, a externé projektovo-špecifické štýly a katalógy odsekov. Document Register - register pre podporu uchovávania vydaných špecifických verzií výsledných formálnych projektových dokumentov. Keď je produkovaná konkrétna verzia formálneho dokumentu, zaznamená sa to v registri a kópia dokumentu je uchovaná. Cradle poskytuje služby pre prezeranie a prehľady o obsahu registra a umožňuje regenerovať, vytlačiť hociktorú verziu dokumentu. Dokumenty sú definované pomocou dvoch notácií: štruktúry dokumentu (hierarchia častí) a šablón dokumentov (formátovanie položiek v danej časti). Obsah dokumentu je potom kombináciou jeho štruktúry, šablón a obsahu databázy v čase generovania. Výstupom generátora dokumentu je tlačiareň (aj Postscript, PJC) alebo softvér (RTF, MIF (Frame)...).
Web Publishing
Web Publisher umožňuje publikovať časti Cradle databázy ako komponenty web-stránok s hyperlinkami na súvisiace informácie. Web Publisher, integrovaný s ostatnými modulmi Cradle, má kontrolu nad tým, ktoré sekcie databázy budú publikované a nad formátom a obsahom produkovaných HTML súborov. Diagramy sú publikované ako Scalable Vector Graphics (SVG) súbory (rozšírenie XML), čo dovoľuje používateľom kontrolované posúvanie, škálovanie a zmenu veľkosti diagramov. Všetky symboly v diagrame odkazujú na svoje definície.
4.5 PowerDesigner
PowerDesigner je CASE systém od firmy Sybase Inc. [9] a je určený pre prostredie MS Windows. Posledná verzia PowerDesigner 8.0 je plne integrované aplikačné prostredie s podporou dátového (PDM, CDM) aj objektového modelovania (OOM pomocou UML). PowerDesigner 8.0 je modulárny a umožňuje používateľovi vybrať si rôzne úrovne funkcionality:
PowerDesigner PhysicalArchitect (PDM) - iba pre fyzický návrh a generovanie databázy v SQL. PowerDesigner DataArchitect (PDM, CDM) - fyzické aj konceptuálne (logické) dátové modelovanie. PowerDesigner ObjectArchitect (PDM, CDM, OOM) - funkcionalita objektového a dátového modelovania kombinovaná v jednom nástroji.
PowerDesigner Developer (PDM, OOM) - objektové modelovanie a fyzický návrh databázy - určené špeciálne pre vývojárov a reverse engineering. K tomu je možné pridať voliteľný modul PowerDesigner MetaWorks, ktorý obsahuje centrálny sklad informácií (repository) a umožňuje:
viacerým členom tímu pracovať na tom istom modeli uchovávať a spravovať verzie modelov a inej dokumentácie hľadať a znovupoužívať objekty efektívne spravovať vzťahy medzi modelmi. Pri údržbe a znovupoužití aplikácie pomáhajú funkcie pre generovanie reportov a dokumentácie. Tieto funkcie majú všetky moduly, lebo ich zabezpečuje štandardne dodávaný modul PowerDesigner Viewer. Tento modul tiež umožňuje grafický read-only prístup z celej organizácie k informáciám o modeloch. Používatelia môžu otvárať, prezerať a vytvárať o modeloch reporty pomocou report generatora. Report generator [10] umožňuje vygenerovať report ako súbor RTF alebo ako súbor HTML, prípadne ho vytlačiť. Pre generovanie sa môžu využiť štandardné predlohy (report templates) alebo sa použije Report Editor pre definovanie vlastnej štruktúry reportov.
4.6 +1Environment
+1Environment je vývojové prostredie od americkej firmy +1 Software Engineeering [11], ktoré podporuje vývoj aplikácií a real-time programov napísaných v jazykoch Ada, C, C++, FORTRAN, Pascal a ďalších. +1Environment môže byť použitý v lokálnej sieti pre podporu práce tímu programátorov na jednom projekte. +1Environment beží na Sun Workstation s operačnými systémami SunOS 4.1.x, Solaris 1.x alebo Solaris 2.x podporujúce OpenWindows, Motif alebo prostredie Common Desktop Environment (CDE). +1Environment je rozdelený na sedem produktov, ktoré fungujú aj samostatne (tab.2). Tab.1 Produkty v systéme +1Environment
+1Base Base Module +1CM Configuration Management +1CR Change Requests +1DataTree Project Data Repository +1Reports Reports Generator +1Reuse Reuse +1Test Unit, Integration and Regression Testing
Na správe a údržbe sa podieľajú hlavne produkty +1Reports, +1Reuse, +1Test. +1Reports generuje viacero druhov prispôsobenej a aktuálnej projektovej dokumentácie v textovom alebo HTML formáte. Používateľ môže definovať, pre ktoré moduly a modely budú generované reporty. Tieto reporty môžu obsahovať množstvo voliteľných položiek ako úvod a záver, stromové diagramy, tabuľky krížových odkazov (cross reference tables), popisy modulov, volania, hlavičkové a zdrojové súbory, vložené komentáre, testovacie súbory, softvérovú metriku, chybové správy atď.
+1Reuse podporuje selektívne znovupoužitie modulov (návrh, dokumentácia, zdrojové kódy a testovacie súbory) z (predošlých) projektov v prostredí +1Environment. +1Reuse podporuje archívy (repository) vytvorené a udržiavané užívateľom a filtrované archívy, ktoré majú prísnejšiu kontrolu kvality.
+1Test podporuje testovanie jednotiek, testovanie integrácie a regresné testovanie. Pre každý testovaný modul sa s použitím testovacích prípadov, testovacích skriptov pre shell a očakávaných a skutočných výsledkov generuje prehľad úspešnosti testov a detailný Test Report.
4.7 DocGen
DocGen je produkt holandskej spoločnosti Software Improvement Group (SIG) [12], ktorá je vedľajším produktom renomovaného výskumného inštitútu Dutch Center for Mathematics and Computer Science (CWI). Hlavné aktivity spoločnosti SIG sú v oblasti rýchleho rozpoznávania systémov (system understanding) a ich transformácii a vylepšovania (system transformation). Rozpoznávanie systémov má za cieľ odkryť štruktúru a obsah daného softvérového systému. Prehľad v zdrojových kódoch získame pomocou generovanej dokumentácie, vizualizáciou a inými upravenými výsledkami z analýz programu. Preto bol vyvinutý systém DocGen, ktorý automaticky generuje dokumentáciu zo zdrojových kódov.
DocGen automaticky analyzuje softvérové systémy a výsledky prezentuje štruktúrovane a logicky usporiadané pre zobrazenie pomocou štandardného web browsera (používa sa HTML, PDF formát). Výsledky sú v textovej aj grafickej forme, súvisiace položky sú prepojené navzájom hyperlinkami. Dokumentácia je generovaná na dokumentačom serveri a je zdieľaná cez intranet alebo internet, čo umožní sprístupniť ju rôznym ľuďom alebo oddeleniam, ktorým stačí PC pripojené v sieti a štandardný prehliadač. DocGen na serveri môže byť prepojený s nástrojmi na riadenie konfigurácií na strane zákazníka, čo zabezpečí, že keď je kód modifikovaný niektorým vývojárom, súvisiaca dokumentácia sa na serveri automaticky obnovuje. Generovaná dokumentácia môže byť prepojená aj s existujúcou funkcionálnou dokumentáciou priamymi linkami. Generovaná dokumentácia má rôzne úrovne abstrakcie. DocGen generuje informácie týkajúce sa celého systému, ako aj vnútorné technické pohľady na každý jednotlivý program v systéme (z každého analyzovaného programu je odvodené množstvo faktov, ako napríklad ich používanie databáz a ich vzťah k iným programom, porušenia štandardov kódovania atď.).
Preto môže byť DocGen použitý v rôznych situáciách:
Vývoj a údržba systému - systémoví inžinieri majú aktuálny a ucelený pohľad na softvér, môžu prechádzať od abstraktnejších prehľadov k detailným analýzam zdrojových kódov a pre úlohy vývoja a údržby môžu vykonávať analýzu vplyvov zmien. Rýchle porozumenie systému - noví inžinieri a programátori získajú rýchlym a ľahkým spôsobom vedomosti a prehľad o systéme. Riadenie projektu - manažéri projektov môžu sledovať postup vývojárskych prác, majú prehľad o veľkosti a komplexnosti jednotlivých subsystémov. Monitorovanie vstupov a výstupov v systéme - audítori môžu kontrolovať, že daný program iba číta údaje z databázy a nemanipuluje s databázovými tabuľkami. DocGen je založený na jazykovo nezávislej technológii, čo mu umožňuje používať a spájať informácie z programov v rôznych programovacích jazykoch dohromady. Je preto veľmi vhodný pre prispôsobovanie špecifickým požiadavkám zákazníka, keď je možné nastaviť DocGen pre špecifické jazyky používané zákazníkom v priebehu niekoľkých týždňov. DocGen je vhodný na zdokumentovanie staršieho nedostatočne dokumentovaného softvérového systému a táto vygenerovaná dokumentácia môže byť základom pre transformáciu systému na nový.
5 Záver
Väčšina CASE systémov, ktoré sa môžu využiť pri správe a údržbe programových systémov, sú integrované CASE systémy (Adelia, Case/4/0, Oracle Designer, Rational Suite, Cradle, PowerDesigner, +1Environment, atď.) s podporou viac-menej celého životného cyklu. Funkcie pre podporu správy a údržby (generovanie dokumentácie, správa verzií, upgrade systému) zabezpečujú niektoré z ich nástrojov resp. modulov. Je to zrejme preto, lebo je výhodné udržiavať a spravovať programový systém pomocou CASE systému, v ktorom bol vyvíjaný. Pre prípad, keď je potrebné udržiavať už hotový programový systém a z nejakého dôvodu sa nemôže na to použiť CASE, v ktorom sa daný systém vyvíjal, existujú systémy ako napríklad DocGen, ktorý slúži na automatické generovanie dokumentácie priamo zo zdrojových kódov programu.
6 Referencie
Russev S., Adamec M., Brdjar J. Softvérové inžinierstvo a systémy CASE, Ekonomická univerzita Bratislava, 1993 Demko R., Ďurčenková M., Horvát M., Petruš J., Podolinský M. Projektová dokumentácia podľa ISO 9000 (referát), FEI TU Košice, 2000 Brdjar J., Nagy A.
Visual Adelia a UNIX generátor - prezentácia, www.rasax.sk, 2001 Adelia, www.rasax.sk, 2001 Key benefits of Adelia, www.hardis.com/socigb/frsoci1.htm, 2000 case/4/0, Web Publishing with case/4/0, www.microtool.de/case40/en/, 2001 Rational products, http://www.rational.com/products/, 2001 Cradle, www.threesl.com/framesets/products.htm, 2001 PowerDesigner 8.0 Data Sheet, PowerDesigner 8.0 Packaging Information, www.sybase.com, Sybase Inc., 2001 PowerDesigner ProcessAnalyst Help, Sybase Inc., 1997 +1 Software Engineering Product Summary, www.plus-one.com/product_summary.html, +1 Software Engineering, 1996 DocGen, DocGen Whitepaper, DocGen FAQ, www.software-improvers.com, Software Improvement Group, 2001.
|