CASE nástroje: Porovnání verzí
Smazaný obsah Přidaný obsah
uu |
Provedení urgentních úprav |
||
Řádek 1:
{{
Zkratka CASE je označením pro Computer Aided Software Engineering nebo také Computer Aided Systems Engineering, což v překladu znamená "počítačem podporované softwarové (systémové) inženýrství" nebo
CASE nástroje primárně umožňují
* modelování IT systému pomocí diagramů (člověk lépe chápe obrázek než složitě psané slovo),
* generování zdrojového kódu z modelu (usnadňuje práci programátorům),
* zpětné vytvoření modelu podle existujícího zdrojového kódu (reverse engeneering),
* synchronizaci modelu a zdrojového kódu,
* vytvoření dokumentace z modelu.
CASE nástroje jsou postaveny tak, aby podporovaly týmovou práci při vývoji systému, zajišťují sdílení rozpracovaných fragmentů, správu vývoje, sledují konzistenci modelu systému, automatizují některé procesy, hlídají dodržování zvolené metodiky, některé umožňují řízení celého životního cyklu aplikací. Úspěch využití CASE nástrojů záleží mimo jiné na vybrané metodice.
== Historie a současnost ==
Pokud se chceme zaměřit na historii CASE nástrojů, musíme vyjít z názvu CASE, konkrétně ze softwarového (systémového) inženýrství.
Podle definice IEEE 610.12 „softwarové inženýrství je aplikace systematického, disciplinovaného, kvantifikovatelného přístupu k vývoji, provozu a údržby softwaru, tj. aplikace inženýrství na software. Také je to studium přístupů dle výše uvedeného.“
[[Softwarové inženýrství]] se začalo formovat ke konci 60. let, kdy začala tzv. softwarová krize, kdy výkon hardware předčil vývoj software. Zcela zlomová byla konference NATO v r. 1968 ve středisku Garmisch Partenkirchen ve Spolkové republice Německo, která popularizovala softwarové inženýrství. Do té doby se počítače využívaly pro vědeckotechnické výpočty, kde záleželo spíše na preciznosti řešení, než na efektivitě
Obrození zažívají CASE nástroje v 80. letech společně s grafickým uživatelským rozhraním. To byl prvopočátek CASE nadšenosti. Dosud byly dostupné pouze samostatné malé nástroje, nyní bylo možné vše integrovat
Časem, v souvislosti s vývojem strukturovaných a hlavně objektových metod, se problémy a chyby postupně odstranily, tzn. nástroje začaly zajišťovat provázanost jednotlivých modelů, je poskytují možnost zpětného vytvoření modelu ze zdrojového kódu ad.
V současné době existuje nespočet CASE nástrojů, které plní různé funkce, nepomáhají již pouze vývojářům, ale také např. v procesu řízení firmy, kdy se zanalyzují stávající firemní procesy a pomocí CASE nástrojů se potom na základě analýzy vymodelují tak, jak by správně tyto procesy měly fungovat.
Dnes většina CASE nástrojů představuje velké aplikace, které je možno využít ve všech fázích procesu vývoje software. U většiny nástrojů je jádrem univerzální modelovací jazyk UML (Unified Modeling Language).
Pokud se podíváme na CASE nástroj, první co uvidíme, je grafické rozhraní. Zde je možno modelovat nejrůznější typy diagramu. Uveďme alespoň ty nejběžnější: DFD diagramy, které dovolují provádět funkční analýzu; Class diagramy – pro modelování tříd; STD diagramy; procesní diagramy a další. Podpora používání těchto nástrojů byla jedním z podnětů pro vznik CASE nástrojů. Hlavním důvodem byla častá aktualizace diagramu, kterou, při vyšší složitosti diagramu, nebylo možné provádět jen tak v ruce.
Při používání CASE nástrojů, při podpoře návrhu a vývoje softwarové aplikace či informačního systému je potřeba dodržovat určitá pravidla a postupy, které zaručí smysluplnost a efektivitu. Jedná se o metodiky, jakožto souhrny postupů a metod, které určují co, kdo a kdy se má řešit. Podpora metodiky prostředkem CASE vyžaduje především, aby tento prostředek pokrýval všechny fáze životního cyklu projektu. Tyto prostředky se nazývají integrovaná prostředí pro vývoj aplikací. Přičemž jejich hlavní charakteristikou je pevná svázanost s konkrétní metodikou. Takovéto nástroje mají pak výhodu integrity všech metod, technik a nástrojů v kontextu celého životního cyklu projektu. Další skupinou jsou prostředky označované jako běžné nástroje (tools), které podporují pouze některé metody a techniky z životního cyklu projektu. Od integrovaných prostředí se pak liší nezávislostí na konkrétní metodice.
== Komponenty CASE nástrojů ==
Z toho, jaké jsou obecné funkce, vlastnosti CASE nástrojů a požadavky na ně vyplývá také z jakých komponent se tyto systémy skládají. Mezi důležité funkce a vlastnosti CASE patří:
* Konzistentní grafické ovládací prostředí (podle zásad tvorby GUI) – jednotný vzhled obrazovek, popisků, tlačítek, jednotné ovládání, použití symbolických ikon apod.
* Centrální databáze (repository) pro uchování informací o všech objektech IS (tímto způsobem se zaručí, že informace je použitelná v libovolném dalším kroku projektování)
* Prostředky verifikace konzistentnosti dat a podpora normalizace dat
* Textový editor pro popis jednotlivých objektů – pro účely technické a uživatelské dokumentace systému, možnost jejího přímého generování ze systému
* Možnost rychlého návrhu uživatelských obrazovek včetně simulace vstupů a výstupů (je vyžadováno pro prototyping)
* Generátor zdrojových programů (pro případy častého znovupoužití daného kódu)
* Export / import dat – pro práci s modely a dokumentací, které byly vytvořeny v jiných programech nebo jsou v jiných programech dále využívány a zpracovávány.
== Způsoby klasifikace CASE nástrojů ==
=== Podle životního cyklu projektu ===
Nejčastější dělení CASE nástrojů vyplývá ze životního cyklu projektu, tzn. v jaké fázi cyklu vývoje se CASE nástroj využije. Toto dělení je následující: * '''Post CASE''' (podporuje fázi uvedení IS do provozu, provoz, údržbu,reengineering) Lze se i setkat s jednodušším členěním na:
* '''Upper CASE''' (nástroje podporující fáze analýzy a návrhu – např. nástroje pro tvorbu diagramu, generování reportu a formulářů a analytické nástroje)
* '''Lower CASE''' (nástroje podporující fáze implementace, testování a řízení konfigurací)
=== Podle interaktivity ===
* CASE nástroje, které '''jsou interaktivní''' ze své podstaty (např. nástroje podporující metodu návrhu)
* CASE nástroje, které '''nejsou interaktivní''' (tzv. vývojové nástroje, např. překladače)
=== Podle fáze projektu vývoje software, v níž jsou využívány ===
* '''front-end CASE''' nástroje (využívány v dřívějších fázích projektu – např. nástroje na podporu návrhu)
* '''back-end CASE''' nástroje (využívány v dřívějších fázích projektu – např. kompilery a nástroje podporující testování)
=== Podle toho, zda jsou využívány během celého životního cyklu software ===
* '''vertikální CASE''' nástroje (nástroje podporující jen dílčí krok životního cyklu software či dílčí oblast – např. zjišťování uživatelských požadavku nebo kódování)
* '''horizontální CASE''' nástroje (nástroje podporující několik kroku životního cyklu software či více oblastí – např. nástroje pro tvorbu dokumentace či řízení konfigurace)
=== Podle stupně integrace ===
* '''CASE tools''' (nástroje zabezpečující automatizovanou podporu libovolné úlohy životního cyklu software)
* '''CASE toolkits''' (soubor integrovaných softwarových nástrojů, který poskytuje částečnou či komplexní podporu jen v rámci jedné fáze životního cyklu software)
* '''CASE workbenches''' (množina integrovaných CASE tools nebo CASE toolkits, která poskytuje částečnou či komplexní podporu v minimálně dvou fázích životního cyklu software)
* '''I – CASE''' (představuje nejvyšší stupeň integrace; představuje propojení několika CASE tools, CASE toolkits a CASE workbenches)
== Přínosy využití CASE nástrojů ==
Využití CASE nástrojů s sebou přináší celou řadu výhod,
* vyšší produktivita práce
* nižší chybovost
* snazší údržba a další vývoj výsledného produktu
* kvalitnější dokumentace
* umožnění větší participace uživatelů na vývoji produktu
== Příklady CASE nástrojů ==
* Powerdesigner (Sybase)
* Oracle Designer (Oracle)
* Case Studio
* Rational Rose
* MS Visio
[[Kategorie:Softwarové inženýrství]]
|