Charakteristika moderních nástrojů CASE. Nástroje pro návrh databáze CASE

V rámci softwarového inženýrství jsou nástroje CASE základní technologií používanou k vytváření a provozu softwarových systémů. CASE nástroj (v souladu s mezinárodní normou ISO/1EC 14102:1995(E)) je chápán jako softwarový nástroj, který podporuje procesy životního cyklu softwaru (definované v normě ISO/1EC 12207:1995), včetně analýzy systémových požadavků , návrh aplikačního softwaru a databází, generování kódu, testování, dokumentace, zajišťování kvality, správa konfigurace softwaru a řízení projektů, jakož i další procesy. Nástroje CASE spolu se systémovým softwarem a hardwarem tvoří prostředí pro vývoj softwaru (Software Engineering Environment).

Moderní nástroje CASE pokrývají širokou škálu podpory pro řadu návrhových technologií EIS: od jednoduchých analytických a dokumentačních nástrojů až po plnohodnotné automatizační nástroje pokrývající celý životní cyklus softwaru.

Pracně nejnáročnější fáze vývoje softwaru jsou fáze tvorby požadavků a návrhu, během kterých CASE nástroje zajišťují kvalitu učiněných technických rozhodnutí a přípravu projektové dokumentace. V tomto případě hrají důležitou roli metody vizuální prezentace informací. To zahrnuje vytváření různých grafických modelů (diagramů), použití rozmanité palety barev a komplexní kontrolu syntaktických pravidel. Nástroje pro grafické modelování domén umožňují vývojářům vizuálně studovat stávající systém a přestavět jej v souladu s jejich cíli a stávajícími omezeními.



Kategorie CASE nástrojů zahrnuje jak relativně levné systémy pro osobní počítače s velmi omezenými schopnostmi, tak drahé systémy pro heterogenní výpočetní platformy a operační prostředí. Moderní softwarový trh tedy zahrnuje asi 300 různých CASE nástrojů, z nichž ty nejvýkonnější používají tak či onak téměř všechny přední západní společnosti.

Nástroje CASE mají následující hlavní vlastnosti:

Dostupnost výkonných grafických nástrojů pro popis a dokumentaci systému, které poskytují pohodlné rozhraní s vývojářem a rozvíjejí jeho kreativní schopnosti;

Integrace jednotlivých komponent nástrojů CASE zajišťující ovladatelnost procesu vývoje softwaru;

Pomocí speciálně organizovaného úložiště metadat projektu (úložiště).

Integrovaný nástroj CASE- (sada nástrojů, které podporují kompletní životní cyklus softwaru) obsahuje následující součásti:

1. úložiště, které je základem nástroje Case. Měl by zajistit ukládání verzí projektu a jeho jednotlivých komponent, synchronizaci informací získaných od různých vývojářů při skupinovém vývoji, kontrolu úplnosti a konzistence metadat;

2. grafické nástroje pro analýzu a návrh, které zajišťují tvorbu a editaci sady vzájemně propojených diagramů, které tvoří modely činností a softwarových systémů organizace;

3. nástroje pro vývoj aplikací, včetně jazyků 4GL (jazyk 4. generace) a generátorů kódu;

4. nástroje pro správu požadavků

5. nástroje pro správu konfigurace softwaru;

6. dokumentační nástroje;

7. testovací nástroje

8. nástroje projektového řízení;

9. softwarové a databázové nástroje zpětného inženýrství.

Úložiště

Hlavní funkce organizace úložiště a podpůrné nástroje

Ukládání, přístup, aktualizace, analýza a vizualizace všech informací o softwarovém projektu. Obsahem úložiště jsou nejen informační objekty různého typu, ale také vztahy mezi jejich komponentami a také pravidla pro použití či zpracování těchto komponent. V úložišti lze uložit přes 100 typů objektů, jejichž příklady jsou diagramy, definice obrazovek a nabídek, projekty sestav, popisy dat, zdrojové kódy atd.

Každý informační objekt v úložišti je popsán výpisem jeho vlastností: identifikátor, synonymní názvy, typ, textový popis, komponenty, rozsah hodnot. Kromě toho se ukládají veškeré vztahy s ostatními objekty, pravidla pro vytváření a úpravy objektu a také kontrolní informace o době vytvoření objektu, době jeho poslední aktualizace, čísle verze, aktualizovatelnosti atd.

Úložiště je základem pro standardizaci projektové dokumentace a sledování specifikací návrhu. Všechny zprávy jsou generovány automaticky na základě obsahu úložiště. Na základě úložiště jsou také implementovány důležité funkce projektového řízení a kontroly. Prostřednictvím úložiště lze implementovat zejména kontrolu zabezpečení (omezení přístupu, přístupová práva), kontrolu verzí, kontrolu změn atd.

Grafické nástroje (diagramy ) poskytnout:

Vytváření hierarchicky propojených diagramů, které kombinují grafické a textové objekty;

Vytvářejte a upravujte objekty kdekoli v diagramu;

Vytváření, přesouvání a zarovnávání skupin objektů, změna jejich velikosti, škálování;

Zachování spojení mezi objekty při jejich přesunutí a změně velikosti;

Automatická kontrola chyb atd.

Význam kontroly chyb ve fázi požadavků a návrhu je dán tím, že v pozdějších fázích je jejich identifikace a odstranění mnohem nákladnější. V nástrojích CASE jsou obvykle implementovány následující typy řízení:

1. ovládání syntaxe diagramů a typů jejich prvků. Obvykle
tato kontrola se provádí při zadávání a editaci prvků diagramu;

2. kontrola úplnosti a konzistence diagramů: všechny prvky diagramů musí být identifikovány a zohledněny v úložišti. Například pro RTW jsou řízeny nepojmenované nebo nesouvisející datové toky, procesy a datová úložiště;

3. end-to-end kontrola diagramů jednoho nebo různých typů pro jejich konzistenci podle úrovně - vertikální a horizontální vyvažování diagramů. Vertikální vyvážení grafů stejného typu odhaluje nevyvážené datové toky mezi rozbalovacími a rozbalovacími grafy. Horizontální vyvažování identifikuje nekonzistence mezi datovými strukturami a specifikacemi procesů.

Klasifikace nástrojů CASE

V literatuře lze nalézt mnoho příkladů různých klasifikací nástrojů CASE. Podívejme se na dvě nejběžnější možnosti: podle typu a kategorie.

Klasifikace podle typu odráží funkční orientaci nástrojů CA8E na určité procesy životního cyklu a zahrnuje následující typy:

1. nástroje pro analýzu a návrh, určený pro konstrukci a analýzu jak modelů činnosti organizace (oboru), tak modelů navrhovaného systému. Mezi takové nástroje patří BPwin (technologie PLATINUM), Silverrun (technologie Silverrun), Oracle Designer (Oga1e), Ration Rose (technologie Ration), Paradigm Plus (technologie PLATINUM), Power Designer (Sybase), System Architect (Popkin Software). Jejich cílem je stanovit systémové požadavky a vlastnosti, které musí systém mít, a také vytvořit návrh systému, který tyto požadavky splňuje a má odpovídající vlastnosti. Výstupem těchto nástrojů jsou specifikace komponent systému a jejich rozhraní, algoritmů a datových struktur;

2. nástroje pro návrh databází, poskytující datové modelování a generování databázových schémat (obvykle v SQL - Structured Query Language - strukturovaný dotazovací jazyk) pro nejběžnější DBMS. Nástroje pro návrh databáze jsou k dispozici jako součást nástrojů CASE, jako je Silverrun, Ocas1e Designer, Paradigm Plus, Power Designer. Nejznámějším nástrojem zaměřeným pouze na návrh databází je ERwin (technologie PLATINUM);

3. nástroje pro správu požadavků, poskytující komplexní
podpora heterogenních požadavků na vytvořený systém. Příklady takových nástrojů jsou RequisitePro (Rational Software) a DOORS - Dinamic Object-Oriented Requirements System (Quality Systems and Software Inc.);

4. nástroje pro správu konfigurace Software - PVCS (Merant), ClearCase (Rational Software) atd.;

5. dokumentační nástroje. Nejznámější z nich je SoDA - Software Document Automation - automatizovaná softwarová dokumentace (Rational Software);

6. testovací nástroje. Nejrozvinutějším nástrojem současnosti je Rational Suite TestStudio (Rational Software) – sada produktů určených pro automatické testování aplikací;

7. nástroje projektového řízení- Orep P1an Professional (Welcom Software), MicroSoft Project 98 atd.;

8. nástroje reverzního inženýrství, určený k přenosu stávajícího softwarového systému do nového prostředí. Poskytují analýzu programových kódů a databázových schémat a na jejich základě tvoří různé modely a specifikace návrhu. Nástroje pro analýzu schémat a generování databází jsou součástí takových nástrojů CASE, jako jsou Silverrun, Occasion Designer, Power Designer, ERwin. Analyzátory kódu jsou k dispozici s produkty Rational Rose a Paradigm Plus.

Klasifikace podle kategorií určuje stupeň integrace z hlediska vykonávaných funkcí a zahrnuje samostatné lokální nástroje, které řeší malé autonomní úlohy (nástroje), sadu částečně integrovaných nástrojů pokrývajících většinu procesů životního cyklu softwaru (toolkit) a plně integrované nástroje, které podporují celý životní cyklus softwaru a jsou propojeny společným úložištěm. Kromě toho lze CASE nástroje klasifikovat také podle aplikované strukturální nebo objektově orientované metody analýzy a návrhu softwaru.

Dnes má ruský softwarový trh téměř všechny výše uvedené nástroje.

Silverrun

CASE nástroj Silverrun od americké společnosti Computer Systems Advisers, Inc. používá se pro analýzu a návrh integrovaných obvodů business třídy. Je použitelný pro podporu jakékoli metodiky založené na samostatné konstrukci funkčních a informačních modelů. Silverrun má modulární strukturu a skládá se ze čtyř modulů, z nichž každý je samostatným produktem a lze jej zakoupit a používat bez spojení s jinými moduly: modul modelování obchodních procesů, modul koncepčního datového modelování, modul relačního modelování a úložiště pracovních skupin. manažer. Cena za vysokou flexibilitu a rozmanitost vizuálních prostředků konstrukce modelů je takovou nevýhodou Silverrunu, jako je absence přísné vzájemné kontroly mezi komponenty různých modelů.

Nástroj pro vývoj aplikací JAM je produktem americké společnosti JYACC. Hlavním rysem JAM je jeho soulad s metodikou RAD, protože vám umožňuje rychle implementovat vývojový cyklus aplikace, který se skládá z generování další verze prototypu aplikace s přihlédnutím k požadavkům identifikovaným v předchozím kroku a prezentaci to uživateli. JAM má modulární strukturu a skládá se z následujících komponent:

  • · Jádro systému;
  • · JAM/DBi - specializované moduly rozhraní k DBMS (JAM/DBi-Oracle, JAM/DBi-Informix, JAM/DBi-ODBC atd.);
  • · JAM/RW - modul generátoru zpráv;
  • · JAM/CASEi - specializované moduly rozhraní pro nástroje CASE (JAM/CASE-TeamWork, JAM/CASE-Innovator atd.);
  • · JAM/TPi - specializované moduly rozhraní pro správce transakcí (například JAM/TPi-Server TUXEDO atd.);
  • · Jterm je specializovaný emulátor X-terminálu.

Jádro systému (vlastně samotný JAM) je kompletní produkt a lze jej nezávisle použít k vývoji aplikací. Všechny ostatní moduly jsou doplňkové a nelze je používat samostatně. Při použití JAM je vývoj externího rozhraní aplikace vizuálním návrhem a spočívá v vytváření obrazovkových formulářů umístěním struktur rozhraní na ně a definováním polí obrazovky pro vstup/výstup informací.

Tvůrce týmu Vantage

Vantage Team Builder je integrovaný softwarový produkt zaměřený na implementaci kaskádového modelu životního cyklu softwaru a podporu kompletního životního cyklu softwaru. Přítomnost univerzálního systému generování kódu založeného na specifikovaných prostředcích přístupu k úložišti projektu umožňuje vývojářům udržovat vysokou úroveň provedení disciplíny designu: přísné pořadí generování modelu; pevná struktura a obsah dokumentace; automatické generování zdrojových kódů programu atd. - to vše zajišťuje zvýšení kvality a spolehlivosti vyvinutých IC.

Místní nástroje (ERwin, BPwin, S-Designor)

ERwin je koncepční nástroj pro modelování databází, který využívá metodologii IDEF1X. ERwin implementuje návrh databázového schématu, generování jeho popisu v jazyce cílové DBMS a reengineering existující databáze. ERwin přichází v několika různých konfiguracích zaměřených na nejběžnější nástroje pro vývoj aplikací 4GL. Pro řadu nástrojů pro vývoj aplikací (PowerBuilder, SQLWindows, Delphi, Visual Basic) jsou generovány formuláře a prototypy aplikací. BPwin je funkční modelovací nástroj, který implementuje metodiku IDEF0. S-Designor je CASE nástroj pro návrh relačních databází. Funkčností a cenou se blíží nástroji ERwin CASE, liší se externím zápisem použitým v diagramech. S-Designor implementuje standardní metodologii datového modelování a generuje popisy databází pro DBMS, jako je ORACLE, Informix, Ingres, Sybase, DB/2, Microsoft SQL Server atd.

Objektově orientované CASE nástroje (Rational Rose)

Rational Rose, nástroj CASE od společnosti Rational Software Corporation, je navržen tak, aby automatizoval fáze analýzy a návrhu softwaru, stejně jako generoval kódy v různých jazycích a vydával návrhovou dokumentaci. Rational Rose používá metodologii syntézy pro objektově orientovanou analýzu a návrh, založenou na přístupech tří předních odborníků v oboru: Boocha, Rumbaugha a Jacobsona. Univerzální notace, kterou vyvinuli pro objektové modelování (UML - Unified Modeling Language), tvrdí, že je standardem v oblasti objektově orientované analýzy a návrhu. Konkrétní verze Rational Rose je určena jazykem, ve kterém je generován programový kód (C++, Smalltalk, PowerBuilder, Ada, SQLWindows a ObjectPro). Hlavní možnost - Rational Rose/C++ - umožňuje vyvíjet projektovou dokumentaci ve formě diagramů a specifikací a také generovat programové kódy v C++. Kromě toho Rational Rose obsahuje nástroje pro reengineering softwaru, které umožňují opětovné použití softwarových komponent v nových projektech.

Moderní nástroje CASE pokrývají širokou škálu podpory pro řadu technologií návrhu IS: od jednoduchých analytických a dokumentačních nástrojů až po plnohodnotné automatizační nástroje pokrývající celý životní cyklus softwaru.

Pracně nejnáročnější fáze vývoje IS jsou fáze analýzy a návrhu, během kterých CASE nástroje zajišťují kvalitu učiněných technických rozhodnutí a přípravu projektové dokumentace. V tomto případě hrají důležitou roli metody vizuální prezentace informací. To zahrnuje konstrukci strukturálních nebo jiných diagramů v reálném čase, s použitím rozmanité palety barev a komplexní kontrolu syntaktických pravidel. Nástroje pro grafické modelování domén umožňují vývojářům vizuálně studovat existující IS a přestavět jej v souladu s jejich cíli a stávajícími omezeními.

Kategorie CASE nástrojů zahrnuje jak relativně levné systémy pro osobní počítače s velmi omezenými schopnostmi, tak drahé systémy pro heterogenní výpočetní platformy a operační prostředí. Moderní softwarový trh tedy zahrnuje asi 300 různých CASE nástrojů, z nichž ty nejvýkonnější používají tak či onak téměř všechny přední západní společnosti.

Nástroje CASE obvykle zahrnují jakýkoli software, který automatizuje jednu nebo druhou sadu procesů životního cyklu softwaru a má následující hlavní charakteristické rysy:

  • výkonné grafické nástroje pro popis a dokumentaci IP, poskytující pohodlné rozhraní s vývojářem a rozvíjející jeho kreativní schopnosti;
  • integrace jednotlivých komponent nástrojů CASE, zajištění kontroly nad procesem vývoje IS;
  • použití speciálně organizovaného úložiště projektových metadat (úložiště).

Integrovaný nástroj CASE (nebo sada nástrojů, které podporují celý životní cyklus softwaru) obsahuje následující součásti;

  • úložiště, které je základem nástroje CASE. Měl by zajistit ukládání verzí projektu a jeho jednotlivých komponent, synchronizaci informací získaných od různých vývojářů při skupinovém vývoji, kontrolu úplnosti a konzistence metadat;
  • nástroje pro grafickou analýzu a návrh, které umožňují tvorbu a editaci hierarchicky souvisejících diagramů (DFD, ERD atd.), které tvoří modely IS;
  • nástroje pro vývoj aplikací, včetně jazyků 4GL a generátorů kódu;
  • nástroje pro správu konfigurace;
  • dokumentační nástroje;
  • testovací nástroje;
  • nástroje projektového řízení;
  • reengineeringové nástroje.

Požadavky na funkce jednotlivých komponent v podobě hodnotících kritérií pro CASE nástroje jsou uvedeny v kapitole 4.2.

Všechny moderní nástroje CASE lze klasifikovat především podle typů a kategorií. Klasifikace podle typu odráží funkční orientaci nástrojů CASE na určité procesy životního cyklu. Klasifikace podle kategorií určuje míru integrace podle vykonávaných funkcí a zahrnuje samostatné lokální nástroje, které řeší malé autonomní úlohy (nástroje), sadu částečně integrovaných nástrojů pokrývajících většinu fází životního cyklu IS (toolkit) a plně integrované nástroje, které podporují celý životní cyklus IS a jsou propojeny společným úložištěm . Nástroje CASE lze navíc klasifikovat podle následujících kritérií:

  • aplikované metodiky a modely systémů a databází;
  • stupeň integrace s DBMS;
  • dostupné platformy.

Klasifikace podle typu se v zásadě shoduje s komponentním složením nástrojů CASE a zahrnuje následující hlavní typy:

  • analytické nástroje (Upper CASE), určené pro vytváření a analýzu doménových modelů (Design/IDEF (Meta Software), BPwin (Logic Works));
  • nástroje pro analýzu a návrh (Middle CASE), podporující nejběžnější metodologie návrhu a používané k vytváření specifikací návrhu (Vantage Team Builder (Cayenne), Designer/2000 (ORACLE), Silverrun (CSA), PRO-IV (McDonnell Douglas), CASE Analytik (MacroProject)). Výstupem těchto nástrojů jsou specifikace systémových komponent a rozhraní, systémové architektury, algoritmů a datových struktur;
  • nástroje pro návrh databází, které poskytují datové modelování a generování databázových schémat (obvykle v jazyce SQL) pro nejběžnější DBMS. Patří mezi ně ERwin (Logic Works), S-Designor (SDP) a DataBase Designer (ORACLE). Nástroje pro návrh databáze jsou také dostupné v nástrojích Vantage Team Builder, Designer/2000, Silverrun a PRO-IV CASE;
  • nástroje pro vývoj aplikací. Patří mezi ně nástroje 4GL (Uniface (Compuware), JAM (JYACC), PowerBuilder (Sybase), Developer/2000 (ORACLE), New Era (Informix), SQL Windows (Gupta), Delphi (Borland atd.) a kódy generátorů zahrnuto ve Vantage Team Builder, PRO-IV a částečně v Silverrunu;
  • reengineeringové nástroje, které poskytují analýzu programových kódů a databázových schémat a vytváření různých modelů a návrhových specifikací na nich založených. Nástroje pro analýzu schémat databáze a generování ERD jsou součástí aplikací Vantage Team Builder, PRO-IV, Silverrun, Designer/2000, ERwin a S-Designor. V oblasti analýzy programového kódu jsou nejpoužívanější objektově orientované CASE nástroje, které zajišťují reengineering programů v C++ (Rational Rose (Rational Software), Object Team (Cayenne)).

Mezi pomocné typy patří:

  • nástroje pro plánování a řízení projektů (SE Companion, Microsoft Project atd.);
  • nástroje pro správu konfigurace (PVCS (Intersolv));
  • testovací nástroje (Quality Works (Segue Software));
  • dokumentační nástroje (SoDA (Rational Software)).

Dnes má ruský softwarový trh tyto nejrozvinutější nástroje CASE:

  • Vantage Team Builder (Westmount I-CASE);
  • Designer/2000;
  • Silverrun;
  • ERwin+BPwin;
  • S-Designor;
  • CASE.Analytik.

Popis uvedených nástrojů CASE je uveden v části 5. Kromě toho jsou neustále k dispozici jak nové systémy pro domácí uživatele (například CASE /4/0, PRO-IV, System Architect, Visible Analyst Workbench, EasyCASE), tak nové verze uvedení na trh a úpravy uvedených systémů.

1.1 Pojem pojmu – „CASE-tools“

Zpočátku byl pojem „technologie CASE“ (Computer – Aided Software Engineering) doslova chápán jako „automatizovaný vývoj softwaru IS pomocí počítačové technologie“.

V současné době se pod pojmem CASE nástroje označuje rozsáhlá sada softwarových nástrojů, které podporují procesy tvorby a údržby IS, včetně analýzy a formulace požadavků, návrhu aplikačního softwaru (aplikací) a databází, generování kódu, testování, dokumentace, zajištění kvality , konfigurační management a projektový management, stejně jako další procesy. Nástroje CASE spolu se systémovým softwarem a hardwarem tvoří kompletní vývojové prostředí IS.

CASE technologie jsou souborem metodik a nástrojů pro analytiky, vývojáře a programátory, které jsou určeny k automatizaci návrhu a údržby informačních systémů v průběhu celého životního cyklu.

Metodika nástroje CASE definuje fáze a kroky realizace projektu a také pravidla pro použití metod, kterými je projekt vypracován. Metoda nástroje CASE je postup nebo technika pro generování popisů komponent informačního systému (návrh datových toků a struktur). Notace nástroje CASE – zobrazení struktury systému a datových prvků pomocí speciálních grafických symbolů.

Nástroje CASE jsou speciální programy, které podporují jednu nebo více metodologií pro analýzu a návrh informačních systémů. Technologie CASE v rámci metodiky zahrnuje metody, kterými se na základě zápisů konstruují diagramy, které jsou podporovány konkrétním nástrojem CASE. Technologie CASE nelze považovat za nezávislé, poskytují pouze vysokou efektivitu jejich aplikace, danou dobou vývoje projektu.

Moderní CASE nástroje pokrývají širokou škálu podpory pro četné technologie návrhu informačních systémů: od jednoduchých analytických a dokumentačních nástrojů až po plnohodnotné automatizační nástroje pokrývající celý životní cyklus softwaru. Nejnáročnějšími fázemi vývoje informačních systémů jsou fáze analýzy a návrhu, během kterých CASE nástroje zajišťují kvalitu učiněných technických rozhodnutí a přípravu projektové dokumentace. V tomto případě hrají důležitou roli metody vizuální prezentace informací. To zahrnuje konstrukci strukturálních nebo jiných diagramů v reálném čase, s použitím rozmanité palety barev a komplexní kontrolu syntaktických pravidel. Nástroje pro grafické modelování domén umožňují vývojářům vizuálně studovat existující informační systém a přestavět jej v souladu s jejich cíli a stávajícími omezeními.

1.2 Typická struktura nástrojů CASE

Nástroje CASE slouží jako nástroje pro podporu a použití metod statické analýzy při navrhování. Tyto nástroje pomáhají uživatelům interaktivně vytvářet a upravovat grafický projekt. Pomáhají organizovat projekt ve formě hierarchie úrovní abstrakce a provádět kontroly souladu komponent. Nástroje CASE jsou ve skutečnosti novým typem graficky orientovaných nástrojů, které se vracejí k systému podpory životního cyklu softwaru. Obvykle mezi ně patří jakýkoli softwarový nástroj, který poskytuje automatickou pomoc při vývoji softwaru, jeho údržbě nebo činnostech projektového řízení a vykazuje následující další vlastnosti:

    výkonná grafika pro popis a dokumentaci softwarových systémů se specifickým uživatelským rozhraním, rozvíjející kreativní schopnosti specialistů a neodvádějící jejich pozornost od procesu návrhu k řešení sekundárních problémů;

    integrace, která zajišťuje snadný přenos dat mezi nástroji a umožňuje řídit celý proces návrhu a vývoje softwaru přímo prostřednictvím procesu plánování projektu;

    využití počítačového úložiště (repository) pro šablony částí a jednotlivých prvků projektu, které mohou využít různí vývojáři, jako základ pro automatickou výrobu softwaru a jeho opětovné použití v budoucích systémech.

Kromě uvedených základních principů grafické orientace, integrace a lokalizace všech projektových informací v úložišti jsou základem koncepční konstrukce CASE nástrojů následující ustanovení:

1. Lidský faktor, který určuje vývoj softwaru jako snadný, pohodlný a ekonomický proces.

2. Široké používání základních softwarových nástrojů, které se staly široce používanými v jiných aplikacích (databáze a DBMS, kompilátory pro různé programovací jazyky, debuggery, dokumentátory, publikační systémy, shelly expertních systémů a báze znalostí, jazyky čtvrté generace atd.).

3. Automatizované nebo automatické generování kódu pro různé platformy a různé typy kódu: transformace pro získání dokumentace; tvorba struktury databáze, zadávání/úprava dat; získávání spustitelných strojových kódů ze specifikací softwaru; sestavování modulů ze slovníků a datových modelů a opakovaně použitelných programů.

4. Snadné použití, jehož výsledkem jsou komponenty, které jsou ovladatelné, viditelné a srozumitelné a mají jednoduchou a jasnou strukturu.

5. Dostupnost pro různé kategorie uživatelů.

6. Ziskovost.

7. Efektivní řešení problémů na podporu vypracovaného projektu, zajištění schopnosti adaptace při změně požadavků a cílů projektu ze strany zákazníka.

Téměř všechny moderní nástroje CASE obsahují následující prvky:

    úložiště, umožňuje zajistit bezpečnost projektových šablon a jejich specifických komponent, synchronizaci informací od různých vývojářů v procesu skupinového vývoje, kontrolu úplnosti a konzistence metadat;

    nástroje pro vývoj aplikací využívající jazyky a generátory kódu 4GL;

    testovací nástroje;

    dokumentační nástroje;

    grafické analytické a návrhové nástroje, které umožňují vytvářet a upravovat modely informačních systémů ve formě hierarchicky propojených diagramů v implementovaném zápisu konkrétní metodiky;

    nástroje pro reengineering;

    nástroje pro správu konfigurace;

    nástroje projektového řízení.

1.3 Vývoj vývoje CASE technologií

Od samého počátku se technologie CASE vyvíjely, aby překonaly omezení „ručního“ použití metodologie strukturální analýzy a návrhu z 60. a 70. let tím, že je automatizovaly a integrovaly do podpůrných nástrojů. CASE technologie tedy nelze považovat za nezávislé metodiky modelování, pouze zefektivňují jejich použití z hlediska doby vývoje.

Tradičně se rozlišuje šest období, kvalitativně odlišných v použité technologii a metodách vývoje softwaru, které se vyznačují jejich použitím jako nástrojů:

1. Assemblery, výpisy paměti, analyzátory;

2. Překladače, interpreti, sledovače;

3. Symbolické debuggery, softwarové balíčky;

4. Systémy analýzy a správy zdrojového textu;

5. CASE nástroje pro analýzu požadavků, navrhování specifikací a struktur, editační rozhraní (první generace CASE-I);

6. CASE nástroje pro generování zdrojových kódů a implementaci integrovaného prostředí pro podporu celého životního cyklu vývoje softwaru (druhá generace CASE-II)

CASE-I je první technologie zaměřená přímo na systémové analytiky a návrháře a zahrnuje nástroje pro podporu grafických modelů, návrh specifikací, editory obrazovek a datové slovníky. Není určen k podpoře celého životního cyklu a zaměřuje se na funkční specifikace a počáteční kroky projektu - systémová analýza, definice požadavků, návrh systémů, návrh logické databáze.

CASE-II se vyznačuje výrazně pokročilejšími možnostmi, vylepšeným výkonem a komplexním přístupem k celému životnímu cyklu vyvíjeného softwaru. Sada nástrojů CASE-II primárně využívá nástroje pro podporu automatického generování kódu a také poskytuje plnou funkční podporu pro splnění požadavků na grafický systém a specifikace návrhu; kontrola, analýza a propojování systémových informací a informací o řízení návrhu; vytváření prototypů a modelů systému; testování, ověřování a analýza vytvořených programů; generování projektových dokumentů; kontrola dodržování norem ve všech fázích životního cyklu. CASE-II může obsahovat přes 100 funkčních komponent podporujících všechny fáze životního cyklu, přičemž uživatelé mají možnost vybrat si potřebné nástroje a integrovat je do požadovaného složení.

1.4 Metodiky návrhu používané v CASE nástrojích

Nástroje CASE jsou výsledkem přirozeného evolučního vývoje nástrojového (nebo technologického) průmyslu. Technologie CASE se začaly vyvíjet s cílem překonat omezení metodologie strukturovaného programování.

Tato metodika, navzdory své formalizaci v programování, se stále vyznačuje obtížným pochopením, vysokou pracností a náklady na použití a obtížností provádění změn ve specifikacích návrhu. Principy v ní obsažené umožnily vyvinout tuto metodiku a zvýšit její efektivitu automatizací nejrutinnějších fází (obr. 1.1).

Hlavní standardy metodik implementovaných v CASE nástrojích jsou:

SADT (Structured Analysis and Design Technique) je metodologie pro strukturální analýzu a navrhování. Na základě konceptů funkčního modelování. Odráží systémové charakteristiky, jako je ovládání, zpětná vazba a výkon;

IDEF0 (Integrated Definition Function Modeling) - metodologie funkčního modelování. Používá se k vytvoření funkčního modelu, který zobrazuje strukturu a funkce systému, stejně jako toky informací a materiálních objektů transformovaných těmito funkcemi. Jde o podmnožinu metodiky SADT;

DFD (DataFlow Diagram) je metodika pro modelování datových toků.

Obrázek 1.1 – Porovnání tradičního vývoje a vývoje pomocí CASE technologií

K popisu výměny dat mezi pracovními postupy se používají následující standardy metodologie:

IDEF1 se používá k vytvoření informačního modelu, který zobrazuje strukturu a obsah informačních toků nezbytných pro podporu systémových funkcí;

IDEF2 umožňuje sestavit dynamický model časově proměnlivého chování funkcí, informací a systémových zdrojů;

IDEF3 je metodika pro modelování pracovních toků. Je podrobnější ve vztahu k IDEF0 a DFD. Umožňuje zvážit konkrétní proces s přihlédnutím k posloupnosti prováděných operací. IDEF3 popisuje skript a sekvenci operací pro každý proces;

IDEF1X (IDEF1 Extended) - metodika pro popis dat. Používá se k vytváření databází. Odkazuje na typ metodologie Entity-Relationship (ER) a obvykle se používá k modelování relačních databází relevantních pro daný systém;

IDEF4 je objektově orientovaná metodika. Odráží interakci objektů. Umožňuje jasně zobrazit strukturu objektů a základní principy jejich interakce. Pohodlné pro vytváření softwarových produktů v objektově orientovaných jazycích;

IDEF5 je metodologie pro ontologický výzkum komplexních systémů. Pomocí metodologie IDEF5 lze ontologii systému popsat pomocí specifického slovníku pojmů a pravidel, na jehož základě lze vytvořit spolehlivá prohlášení o stavu uvažovaného systému v určitém okamžiku;

ARIS - popisuje obchodní proces ve formě toku sekvenčně prováděných prací;

UML - (Unified Modeling Language) je jednotný modelovací jazyk založený na objektově orientovaném přístupu. UML umožňuje popsat statickou strukturu systému a jeho dynamické chování ve vhodných notacích.

Nástroje CASE široce využívají strukturované a objektově orientované metodologie návrhu. Strukturální návrh je založen na algoritmickém rozkladu, zatímco objektově orientovaný návrh je založen na objektově orientovaném rozkladu. Algoritmický rozklad umožňuje určit pořadí událostí. Objektově orientovaná dekompozice umožňuje definovat hierarchii tříd objektů, jejich metod a vlastností. Nástroje CASE, které podporují objektově orientovaný návrh, využívají metodologii RUP (Rational Unified Process) a notace jazyka UML.

1.5 Metodika CASE nástrojů pro objektově orientovaný design

V objektově orientovaném přístupu hlavní kategorie objektového modelu, třída, kombinuje na elementární úrovni jak data, tak operace, které se na nich provádějí (metody). Právě z tohoto pohledu jsou změny spojené s přechodem od strukturálního k objektově orientovanému přístupu nejpatrnější. Oddělení procesů a dat bylo překonáno, ale zůstává problém s překonáním složitosti systému, který je vyřešen použitím komponentového mechanismu.

Data jsou ve srovnání s procesy stabilnější a relativně zřídka se měnící součástí systému. Z toho vyplývá hlavní výhoda objektově orientovaného přístupu, který Gradi Booch formuloval následovně: objektově orientované systémy jsou otevřenější a snadněji se mění, protože jejich design je založen na stabilních formách. To umožňuje postupný vývoj systému a nevede k jeho úplnému přepracování ani v případě výrazných změn původních požadavků.

Booch si také všímá řady následujících výhod objektově orientovaného přístupu.

1. Objektová dekompozice umožňuje vytvářet menší softwarové systémy pomocí běžných mechanismů, které poskytují potřebné úspory výrazových prostředků. Využití objektového přístupu výrazně zvyšuje míru sjednocení vývoje a vhodnost pro opětovné použití nejen programů, ale i projektů, což v konečném důsledku vede k vytvoření vývojového prostředí a přechodu na tvorbu montážního softwaru. Systémy jsou často kompaktnější než jejich konstrukční ekvivalenty, což znamená nejen méně kódu, ale také levnější design díky využití předchozích návrhů.

2. Dekompozice objektů snižuje riziko vytváření složitých softwarových systémů, protože předpokládá evoluční cestu vývoje systému založenou na relativně malých subsystémech. Proces systémové integrace se rozprostírá po celou dobu vývoje a nemění se v jednorázovou událost.

3. Objektový model je zcela přirozený, protože je primárně zaměřen na lidské vnímání světa a ne na počítačovou implementaci.

4. Objektový model umožňuje plně využít vyjadřovací schopnosti objektově a objektově orientovaných programovacích jazyků.

Mezi nevýhody objektově orientovaného přístupu patří mírný pokles výkonu softwaru a vysoké počáteční náklady. Objektová dekompozice se výrazně liší od funkční dekompozice, proto je přechod na novou technologii spojen jak s překonáním psychických potíží, tak s dalšími finančními náklady. Objektově orientovaný model samozřejmě nejpřiměřeněji odráží skutečný svět, který je sbírkou interagujících (prostřednictvím zasílání zpráv) objektů. V praxi se však v současné době vytváří jazykový standard UML pro objektově orientované modelování a počet CASE nástrojů, které podporují objektově orientovaný přístup, je malý ve srovnání s podobnými nástroji, které podporují strukturní přístup.

Navíc diagramy, které odrážejí specifika objektového přístupu (diagramy tříd atd.), jsou mnohem méně vizuální a neprofesionálové jim špatně rozumějí. Proto jeden z hlavních cílů zavádění technologie CASE, totiž poskytnout všem účastníkům projektu (včetně zákazníka) společný jazyk „k předání porozumění“, je v současnosti dosahován pouze strukturálními metodami.

Při přechodu od strukturálního přístupu k objektovému je jako při každé změně technologie nutné investovat peníze do pořízení nových nástrojů. Zde je třeba počítat i s náklady na školení (ovládání metody, nástrojů a programovacího jazyka). Pro některé organizace mohou tyto okolnosti představovat vážné překážky. Objektově orientovaný přístup neposkytuje okamžité výhody. Efekt jeho použití se začíná projevovat po vypracování dvou nebo tří projektů a nahromadění opakovaně použitelných komponentů, které odrážejí standardní konstrukční řešení v této oblasti. Přechod organizace na objektově orientované technologie je změnou pohledu na svět, a nejen učením se novým CASE nástrojům a programovacím jazykům.

Je zřejmé, že v konkrétním projektu nelze složitý systém rozkládat dvěma způsoby současně. Dekompozici můžete zahájit jedním způsobem a pomocí výsledků se pak pokusit podívat na systém z jiného úhlu pohledu. Nyní přejdeme k úvaze o vztahu mezi strukturálním a objektově orientovaným přístupem. Základem vztahu je shodnost řady kategorií a konceptů obou přístupů (proces a případ užití, entita a třída atd.). Tento vztah se může projevovat v různých podobách. Jedním z možných přístupů je tedy použití strukturální analýzy jako základu pro objektově orientované navrhování. Tento přístup je vhodný vzhledem k širokému použití nástrojů CASE, které podporují strukturální analýzu. Strukturální analýza pokračuje, dokud diagramy datových toků nezačnou odrážet nejen předmětnou oblast, ale také softwarový systém.

Po provedení strukturální analýzy a vytvoření diagramů toku dat spolu s datovými strukturami a dalšími výsledky analýzy můžete začít definovat třídy a objekty různými způsoby. Pokud tedy vezmeme jakýkoli jednotlivý diagram, pak kandidáty na objekty mohou být externí entity a zařízení pro ukládání dat a kandidáty na třídy mohou být datové toky.

Za další formu projevu propojení lze považovat integraci objektových a relačních technologií. Relační DBMS jsou dnes hlavním prostředkem implementace rozsáhlých databází a datových skladů. Důvody jsou zřejmé: relační technologie se používá již poměrně dlouho, ovládá ji velké množství uživatelů a vývojářů, stala se průmyslovým standardem, byly do ní investovány značné finanční prostředky a bylo vytvořeno mnoho podnikových databází. v různých odvětvích je relační model jednoduchý a má striktní matematický základ; Existuje široká škála průmyslových nástrojů pro návrh, implementaci a provoz relačních databází. V důsledku toho se relační databáze používají především pro ukládání a získávání objektů v tzv. objektově relačních systémech. Objektově orientovaný design má společný základ s relačním designem. Například, jak je uvedeno výše, třídy v objektovém modelu mohou nějakým způsobem odpovídat entitám (jako cvičení zvažte podrobnou analýzu všech podobností a rozdílů mezi diagramy vztahů mezi entitami a diagramy tříd). K takové shodě zpravidla dochází pouze v rané fázi vývoje systému – ve fázi tvorby požadavků. Do budoucna se samozřejmě cíle objektově orientovaného designu (adekvátní modelování předmětné oblasti z hlediska interakce objektů) a vývoj relační databáze (normalizace dat) rozcházejí. Jediným možným způsobem, jak překlenout tuto propast, je tedy určit shodu mezi objektově orientovanými a relačními technologiemi, což se týká především mapování diagramů tříd a diagramů vztahů mezi entitami relačního modelu. Jedním z příkladů praktické implementace vztahu mezi strukturálním a objektově orientovaným přístupem je softwarové rozhraní (bridge) mezi strukturálním CASE nástrojem Silverrun a objektově orientovaným CASE nástrojem Rational Rose, vyvinutý ruskou společností Argussoft Tento software vytváří Diagramy tříd Rational Rose založené na modelu Silverrun RDM (Relational Data Model) a naopak. Podobná rozhraní existují také mezi nástroji CASE ERwin (na jedné straně), Rational Rose a Paradigm Plus (na straně druhé).

1.6 Metodika nástrojů CASE pro navrhování konstrukcí

Podstata strukturálního přístupu k vývoji informačních systémů spočívá v jeho rozkladu (rozdělení) na automatizované funkce. Automatizovaný systém je rozdělen na funkční podsystémy, které se dále dělí na podfunkce, dále na úkoly a tak dále. Proces rozdělení pokračuje až ke konkrétním postupům. Automatizovaný systém si zároveň zachovává holistický pohled, ve kterém jsou všechny komponenty propojeny. Při vývoji systému „zdola“ od jednotlivých úkolů k celému systému dochází ke ztrátě integrity a problémům v informačním propojení jednotlivých komponent.

Všechny nejběžnější metodologie strukturálního přístupu jsou založeny na řadě obecných principů. Základní používané principy jsou:

    princip dekompozice - princip řešení složitých problémů jejich rozdělením na mnoho menších a samostatných úloh, které jsou snadno pochopitelné a řešitelné;

    princip hierarchického uspořádání je princip uspořádání složek problému do hierarchických stromových struktur s přidáním nových detailů na každé úrovni.

    princip abstrakce – má vyzdvihnout podstatné aspekty systému a abstrahovat od nedůležitého;

    principem formalizace je nutnost striktního metodického přístupu k řešení problému;

    princip konzistence – spočívá v platnosti a konzistentnosti použití prvků systému;

    Principem strukturování dat je, že data by měla být strukturována a hierarchicky organizována.

Strukturální analýza používá především dvě skupiny nástrojů k ilustraci funkcí prováděných systémem a vztahů mezi daty.

Každá skupina nástrojů odpovídá určitým typům modelů (diagramů), z nichž nejběžnější jsou následující:

    Modely SADT (Structured Analysis and Design Technique) a odpovídající funkční diagramy;

    DFD (Data Flow Diagrams) diagramy toku dat;

    ERD (Entity-Relationship Diagrams) diagramy vztahů mezi entitami.

Ve fázi návrhu informačního systému (IS) se modely stávají složitějšími, zpřesněnými a doplněnými o diagramy odrážející strukturu a architekturu softwaru, bloková schémata programů a obrazovková schémata. Uvedené modely společně poskytují kompletní popis informačního systému bez ohledu na to, zda je stávající nebo nově vyvíjený. Složení diagramů v každém konkrétním případě závisí na požadované úplnosti popisu systému.

Problém výběru nejvhodnějšího CASE nástroje, který plně uspokojí stanovené cíle a záměry, se dnes jeví jako nejrelevantnější vzhledem k jejich široké rozmanitosti a obrovské škále řešení, která je vývojář připraven nabídnout pro uspokojení potřeb automatizace. Účelem tohoto článku je seznámit se s existujícími nástroji a také zdůraznit nejdůležitější kritéria pro provádění srovnávací analýzy.

Designové přístupy

Výběr CASE nástroje do značné míry závisí na konkrétním přístupu k návrhu IC. Nejdůležitější přístupy jsou strukturní (funkční), objektově orientované a vyzdvihována je také metodika ARIS.
Podstata strukturálního přístupu k rozvoji IS spočívá v jeho rozkladu na automatizované funkce: systém se dělí na funkční subsystémy, které se dále dělí na subfunkce, dále na úkoly atd. V současné době jsou široce používány následující:
  • CA ERwin Process Modeler (dříve: BPwin)
  • CA ERwin Data Modeler (dříve: ERwin)
Objektově orientovaný přístup využívá objektové dekompozice, kdy je statická struktura systému popsána z hlediska objektů a vztahů mezi nimi a chování systému z hlediska výměny zpráv mezi objekty. Nástroje, které splňují objektově orientovaný přístup:

Metodika ARIS definuje principy pro modelování různých aspektů činností organizace, je založena na konceptu integrace, nabízí holistický pohled na podnikové procesy a představuje mnoho různých metodologií integrovaných v rámci jediného systémového přístupu. Graficky je tento přístup znázorněn níže:

Porovnání fondů

Jako kritéria pro porovnávání CASE nástrojů je vhodné vyzdvihnout: schopnost provádět hlubokou komplexní analýzu podnikových procesů, úplnost popisu a srozumitelnost použitých modelů, flexibilitu, míru přizpůsobení použitého nástroje k řešení konkrétních problémy, stejně jako schopnost generovat programový kód a rozšířenost nástrojů, které splňují uvažovaný přístup.

Porovnání uvažovaných přístupů podle zvolených kritérií

Srovnání nejoblíbenějších nástrojů CASE v Rusku

Mezi jednotlivé vlastnosti každého z nástrojů lze charakterizovat: možnost výstupu návrhových informací třemi způsoby do externích souborů pro Silverrun, orientaci na kaskádový model nástroje od Westmount - Vantage Team Builder, výhodu rychlého prototypování při interakci s Uniface. Nástroje společnosti Oracle (Designer/Developer) poskytují plnou podporu pro životní cykly. ERwin a BPwin, které jsou místními automatizačními nástroji, mají zjednodušenou strukturu a jsou cílené, v důsledku toho se zdají být jedním z nejjednodušších a nejpohodlnějších automatizačních řešení. Objektově orientované nástroje, jako je Rational Rose, dnes plně uspokojují úkoly skupinové práce.

Z porovnání produktů můžeme usoudit, že nástroje splňující strukturální přístup (ERwin, BPwin) nacházejí uplatnění především ve fázích určování požadavků IS. Tyto nástroje jsou vhodné pro provádění hloubkové analýzy daných procesů (Vantage Team Builder) a umožňují co nejefektivnější využití zdrojů díky nezávislosti jednotlivých softwarových komponent (Oracle). Co se týče objektově orientovaných nástrojů, stojí za zmínku, že metodika jejich použití umožňuje návrh libovolného typu s využitím univerzálnosti a přehlednosti jazyka UML, který se používá v rámci Rational Rose a Power Designer a je poměrně pohodlný nástroj pro použití specialisty jakékoli úrovně školení.

Umístění přístupů lze také provést ve vztahu k řešení problému modelování podnikových procesů ve fázi analýzy a návrhu (v souladu s výše uvedenou analýzou) takto:

Na závěr bych rád řekl, že kvůli rozšíření standardu UML už možná taková analýza nevypadá tak relevantní jako před několika lety. Poměrně jasně však odráží klady a zápory určitých prostředků v kontextu určité metodiky návrhu.

Tagy: CASE nástroje, CASE, design, přístup, metodologie, informační systémy, analýza, srovnání, kritéria