• Návrh informačního systému s využitím CASE-technologií. Návrh informačních systémů (IS) CASE pomocí prostředků

    Charakteristika moderních operačních systémů

    Struktura a možnosti operačních systémů se rok od roku vyvíjejí. V poslední době nové operační systémy a nové verze již existujících operačních systémů obsahují některé strukturální prvky, které způsobily velké změny v povaze těchto systémů. Moderní operační systémy splňují požadavky neustále se vyvíjejícího hardwaru a software. Mohou spravovat rychlejší víceprocesorové systémy, rychlejší síťová zařízení a stále se rozšiřující množství úložných zařízení. Z aplikací, které ovlivnily návrh operačních systémů, je třeba zmínit multimediální aplikace, nástroje pro přístup k internetu a model klient/server.

    Neustálý růst požadavků na operační systémy vede nejen ke zlepšování jejich architektury, ale také ke vzniku nových způsobů jejich organizace. V experimentálních a komerčních operačních systémech byla vyzkoušena široká škála přístupů a stavebních bloků, z nichž většinu lze seskupit do následujících kategorií.

    mikrokernel architektura.

    · Vícevláknové zpracování.

    · Symetrický multiprocessing.

    · Distribuované operační systémy.

    · Objektově orientovaný design.

    Charakteristickým rysem většiny dnešních operačních systémů je velké monolitické jádro. Jádro operačního systému poskytuje většinu svých funkcí, včetně plánování, manipulace se souborovým systémem, sítí, ovladačů zařízení, správy paměti a mnoha dalších. Typicky je monolitické jádro implementováno jako jeden proces, jehož všechny prvky využívají stejný adresní prostor. V mikrokernelové architektuře je jádru přiřazeno pouze několik nejdůležitějších funkcí, které zahrnují správu adresního prostoru, meziprocesovou komunikaci (IPC) a základní plánování. Další služby operačního systému jsou poskytovány procesy někdy označovanými jako servery. Tyto procesy běží v uživatelském režimu a mikrokernel s nimi zachází stejně jako s jinými aplikacemi. Tento přístup vám umožňuje rozdělit úkol vývoje operačního systému na vývoj jádra a vývoj serverů. Servery lze přizpůsobit specifickým požadavkům aplikace nebo prostředí. Alokace mikrokernelu ve struktuře systému zjednodušuje implementaci systému, zajišťuje jeho flexibilitu a také dobře zapadá do distribuovaného prostředí. Ve skutečnosti mikrojádro spolupracuje s místním a vzdáleným serverem stejným způsobem, což zjednodušuje konstrukci distribuovaných systémů.

    Multithreading je technologie, ve které je proces spouštějící aplikaci rozdělen do několika současně prováděných vláken. Níže jsou uvedeny hlavní rozdíly mezi vláknem a procesem.

    · Tok. Odesílatelná jednotka práce, která zahrnuje kontext procesoru (který zahrnuje obsah programového čítače a ukazatele zásobníku) a také vlastní oblast zásobníku (pro organizaci volání podprogramů a ukládání místních dat). Příkazy vlákna se provádějí postupně; vlákno může být přerušeno, když se procesor přepne na jiné vlákno 4 .Proces. Kolekce jednoho nebo více vláken a systémové prostředky spojené s těmito vlákny (jako je oblast paměti obsahující kód a data, otevřít soubory, různá zařízení). Tento koncept je velmi blízký konceptu běžícího programu. Rozdělením aplikace do více vláken získá programátor všechny výhody modularity aplikace a schopnosti spravovat dočasné události související s aplikací.

    Vícevláknové zpracování je velmi užitečné pro aplikace, které provádějí několik nezávislých úkolů, které nevyžadují sekvenční spouštění. Příkladem takové aplikace je databázový server, který přijímá a zpracovává více požadavků klientů současně. Pokud se v rámci stejného procesu zpracovává více vláken, přepínání mezi různými vlákny má menší režii CPU než přepínání mezi různými procesy. Kromě toho jsou vlákna užitečná při strukturování procesů, které jsou součástí jádra operačního systému, jak je popsáno v dalších kapitolách.

    Až donedávna všechny osobní počítače a pracovní stanice pro jednoho uživatele obsahovaly jediný univerzální virtuální mikroprocesor. V důsledku stále se zvyšujících požadavků na výkon a klesajících nákladů na mikroprocesory přešli výrobci na výrobu počítačů s více procesory. Technologie symetrického multiprocesingu (SMP) se používá ke zlepšení účinnosti a spolehlivosti. Tento termín označuje hardwarovou architekturu počítače a také způsob, jakým se operační systém chová podle tohoto architektonického prvku. Symetrický multiprocessing lze definovat jako autonomní počítačový systém s následujícími vlastnostmi.

    1. Systém má více procesorů.

    2. Tyto procesory, vzájemně propojené komunikační sběrnicí nebo nějakým jiným obvodem, sdílejí stejnou hlavní paměť a stejná I/O zařízení.

    3. Všechny procesory mohou vykonávat stejné funkce (odtud název symetrické zpracování).

    Operační systém běžící na systému se symetrickým multiprocesingem rozděluje procesy nebo vlákna mezi všechny procesory. Víceprocesorové systémy mají několik potenciálních výhod oproti jednoprocesorovým systémům, včetně následujících.

    · Výkon. Pokud lze úlohu, kterou počítač potřebuje ke spuštění, uspořádat tak, aby části úlohy běžely paralelně, bude to mít za následek lepší výkon než systém s jedním procesorem se stejným typem procesoru. Výše formulovaná poloha je znázorněna na Obr. 2.12. V režimu multitaskingu může současně běžet pouze jeden proces, zatímco ostatní procesy jsou nuceny čekat, až na ně přijde řada. Na víceprocesorovém systému může souběžně běžet více procesů, z nichž každý běží na samostatném procesoru.

    · Spolehlivost. Při symetrickém multiprocesingu selhání jednoho z procesorů stroj nezastaví, protože všechny procesory mohou vykonávat stejné funkce. Po takové poruše bude systém nadále fungovat, i když jeho výkon mírně poklesne.

    · Budova. Přidáním dalších procesorů do systému může uživatel zvýšit jeho výkon.

    · Škálovatelnost. Výrobci mohou nabízet své produkty v různých cenových a výkonnostních konfiguracích navržených pro práci jiná částka procesory.

    Je důležité si uvědomit, že výše uvedené výhody jsou spíše potenciální než zaručené. Aby bylo možné správně využít potenciál obsažený ve víceprocesorových počítačových systémech, musí operační systém poskytovat adekvátní sadu nástrojů a schopností.

    Rýže. 2.12. Multitasking a multiprocessing

    Je běžné, že se multithreading a multiprocessing probírají společně, ale tyto dva koncepty jsou nezávislé. Multithreading je užitečný koncept pro strukturování procesů aplikací a jádra, a to i na stroji s jedním procesorem. Na druhou stranu může mít víceprocesorový systém výhody oproti systému s jedním procesorem, i když procesy nejsou rozděleny do více vláken, protože na takovém systému je možné provozovat více procesů současně. Obě tyto možnosti se však vzájemně dobře shodují a jejich společné použití může mít znatelný efekt.

    Lákavou vlastností víceprocesorových systémů je, že přítomnost několika procesorů je pro uživatele transparentní – operační systém je zodpovědný za distribuci vláken mezi procesory a za synchronizaci různých procesů. Tato kniha pojednává o mechanismech plánování a synchronizace, které se používají ke zviditelnění všech procesů a procesorů pro uživatele ve formuláři jednotný systém. Dalším úkolem vyšší úrovně je reprezentace jako jeden systém shluku několika samostatných počítačů. V tomto případě máme co do činění se sadou počítačů, z nichž každý má svou primární a sekundární paměť a vlastní I/O moduly. Distribuovaný operační systém vytváří zdání jediného prostoru primární a sekundární paměti a také jednoho souborový systém. Přestože obliba klastrů neustále roste a na trhu se objevuje stále více klastrovaných produktů, moderní distribuované operační systémy stále ve vývoji zaostávají za jedno i víceprocesorovými systémy. S takovými systémy se seznámíte v šesté části knihy.

    Jednou z posledních novinek v návrhu operačních systémů bylo použití objektově orientovaných technologií. Objektově orientovaný design pomáhá vyčistit proces přidávání dalších modulů do hlavního malého jádra. Na úrovni operačního systému umožňuje objektově orientovaná struktura programátorům přizpůsobit operační systém bez narušení jeho integrity. Tento přístup navíc usnadňuje vývoj distribuovaných nástrojů a plnohodnotných distribuovaných operačních systémů.

    Ve dnech 12. a 13. října se konalo fórum RIF-Voronezh 2018. Za dva dny se na akci zaregistrovalo 4600 lidí. Dalších 3700 lidí sledovalo online přenos. K publiku promluvila více než stovka řečníků, formou prezentací a diskuzí se diskutovalo o aktuálních tématech z oblasti informačních technologií. První den fóra byly sečteny výsledky regionální ceny internetu. A byznys program zakončilo finále prvního studentského IT mistrovství pro řešení případů v oblasti digitálních technologií, designu a online komunikace v regionu Central Black Earth. Vítězem se stalo družstvo VSTU. Mistrovství je organizováno společně s projektem Internship.ru.

    Kvalifikačního kola šampionátu IT-Generation se zúčastnilo 30 týmů z Voroněže, Kurska, Lipecka, Orla, Brjanska, Petrohradu, Moskvy, Samary, Almaty. Nejmladším účastníkem mistrovství je žák 8. třídy školy (nastoupil do žákovského družstva). Ve finále své práce obhájilo 10 týmů. Kluci vyřešili skutečné problémy, se kterými se programátoři při své práci potýkají.

    Pro každý případ společnosti identifikovaly Nejlepší rozhodnutí:

    Případ společnosti DSR (rozvoj společnosti mobilní aplikace) - tým VSTU (Voronezh)

    Případ společnosti Atos (dokončení podnikového informačního systému) - tým BGITU (Brjansk)

    Případ společnosti Dr.Web (vyhledat skrytý horník PROTI firemní síť) - tým VSU (Voronezh)

    Odborníci zvolili i vítěze celého mistrovství, stal se jím tým VSTU! Vítězové byli pozváni na stáž do společnosti.



    Výsledky fóra

    Organizátoři ještě neshrnuli výsledky fóra. Dnes je ale jasné, že se stal navštěvovanějším než loni. Řečníci fóra poznamenali, že publikum bylo dobře připraveno, kladlo složité odborné otázky a zapojilo se do dialogu. A všichni účastníci RIF-Voronezh hovořili o skvělé organizaci akce.

    Téma digitální komunikace dostalo na fóru nový vývoj, referáty řečníků o trendech, obsahu a propagaci na sociálních sítích, video marketingu, osobním brandingu se konaly v plných sálech. Téma webdesignu bylo prezentováno v co nejširší míře. Poprvé se ve Voroněži konala minikonference za účasti řečníků Baltic Digital Days, odborníci hovořili o propagaci vyhledávačů a řízení reputace na internetu.


    Fórum zahrnovalo velké množství specializovaných témat srozumitelných profesionálům v určitých oblastech: vývoj a testování, SAP, strojové učení, digitální transformace výroby.

    Formou kulatého stolu problematika regulace internetu, voj digitální ekonomika, digitální transformace města.


    Experty RIF-Voronezh byli v roce 2018 zástupci špičkových IT společností: Mozilla Foundation, VKontakte, Yandex, Mail.Ru Group, Rambler&Co, T-Systems, Ingate, Seopult, NLMK-Information Technologies, Severstal-infocom a další.

    Všechny akce každoročního fóra byly jako vždy zdarma. Organizátoři fóra: Agentura pro inovace a rozvoj ekonomických a sociálních projektů, Oddělení hospodářského rozvoje Voroněžské oblasti, Projekt doporučení „LikenGo!“, s podporou Ruské asociace elektronických komunikací. Generálním partnerem fóra se staly Turkish Airlines.


    O fóru:

    Regionální internetové fórum (RIF) se koná ve Voroněži od roku 2009. V roce 2013 akci podpořila krajská státní instituce „Agentura pro inovace a rozvoj ekonomických a sociálních projektů“ a Odbor hospodářského rozvoje Voroněžské oblasti, čímž byl potvrzen status významné akce pro region. V rámci RIF-Voronezh se také pořádá internetová cena, jejímž hlavním úkolem je propagovat rozvoj internetových technologií v regionu a demonstrovat jasné tržní projekty.

    Organizátoři RIF v roce 2018:

    Regionální státní instituce „Agentura pro inovace a rozvoj ekonomických a sociálních projektů“ www.innoros.ru

    Ministerstvo hospodářského rozvoje Voroněžské oblasti www.econom.govvrn.ru

    Podporováno:

    Ministerstvo digitálního rozvoje, komunikací a hromadných sdělovacích prostředků Ruské federace, www.minsvyaz.ru
    Ruská asociace elektronických komunikací,

    ^

    CASE-technologie pro navrhování informačních systémů


    Za poslední desetiletí se zformoval nový směr softwarového inženýrství - CASE (Computer-Aided Software / System Engineering) - v doslovném překladu - vývoj softwaru informačních systémů s podporou (s pomocí) počítače. V současné době neexistuje žádná obecně uznávaná definice CASE, termín CASE se používá ve velmi širokém smyslu. Původní význam pojmu CASE, omezený na problematiku automatizace vývoje pouze softwaru, nyní získal nový význam, pokrývající proces vývoje komplexních automatizovaných informačních systémů jako celku. Nyní se pod pojmem CASE-tools rozumí softwarové nástroje, které podporují procesy tvorby a údržby IS, včetně analýzy a formulace požadavků, návrhu aplikačního softwaru (softwaru) (aplikací) a databází, generování kódu, testování, dokumentace, zajišťování kvality, konfiguračního managementu a projektového managementu a dalších procesů. Nástroje CASE spolu se systémovým softwarem a hardwarem tvoří kompletní vývojové prostředí IS.

    CASE-tools umožňují nejen vytvářet „správné“ produkty, ale také poskytovat „správný“ proces jejich tvorby. Hlavním cílem CASE je oddělit návrh IS od jeho kódování a následných fází vývoje a také skrýt před vývojáři všechny detaily vývojového prostředí a provozu IS. Při použití technologií CASE se mění všechny fáze životního cyklu softwaru (více o tom bude řeč níže) informačního systému, přičemž největší změny se týkají fází analýzy a návrhu. Většina existujících nástrojů CASE je založena na strukturálních (většinou) nebo objektově orientovaných metodologiích analýzy a návrhu, které používají specifikace ve formě diagramů nebo textů k popisu externích požadavků, vztahů mezi modely systémů, dynamikou chování systému a softwarovými architekturami. Tyto metodiky poskytují rigorózní a vizuální popis navrženého systému, který začíná jeho obecným přehledem a poté detaily, získávající hierarchickou strukturu s rostoucím počtem úrovní. Technologie CASE jsou úspěšně využívány k budování téměř všech typů IS, ale stabilní pozici zaujímají v následujících oblastech:


    • zajištění rozvoje podnikových a komerčních IS, široké využití CASE technologií jsou dány masovým charakterem této aplikační oblasti, ve které se CASE využívá nejen k vývoji IS, ale také k vytváření systémových modelů, které pomáhají řešit problémy strategického plánování, finanční řízení, určování politiky firem, školení zaměstnanců atd. (tento směr dostal vlastní název - obchodní analýza);

    • vývoj systémového a řídicího IS. Aktivní využívání CASE-technologií je spojeno s velkou složitostí tohoto problému a s touhou zvýšit efektivitu práce.
    CASE není revolucí v softwarovém inženýrství, ale výsledkem přirozeného evolučního vývoje celého odvětví nástrojů, dříve nazývaných instrumentální nebo technologické. Od samého počátku se technologie CASE vyvíjely, aby překonaly omezení používání metodologií strukturálního navrhování z 60. a 70. let. 20. století (složitost porozumění, vysoká pracnost a náklady na používání, potíže při provádění změn konstrukčních specifikací atd.) díky jejich automatizaci a integraci podpůrných nástrojů. CASE technologie tedy nelze považovat za nezávislé metodiky, pouze vyvíjejí strukturální metodiky a automatizací zefektivňují jejich aplikaci.

    Kromě automatizace strukturálních metodologií a v důsledku toho možnosti aplikace moderních metod systémového a softwarového inženýrství mají nástroje CASE následující hlavní výhody:


    • zlepšit kvalitu vytvářeného IS pomocí automatického řízení (především projektového řízení);

    • umožnit vytvoření prototypu na krátkou dobu budoucí systém, který umožňuje vyhodnotit očekávaný výsledek v rané fázi;

    • urychlit proces návrhu a vývoje;

    • osvobodit vývojáře od rutinní práce, což mu umožní plně se soustředit na kreativní část vývoje;

    • podporovat rozvoj a udržování rozvoje;

    • podporovat vývoj technologií opětovného použití komponent.
    Vzniku technologie CASE a nástrojů CASE předcházel výzkum v oblasti metodologie programování. Programování získalo rysy systematického přístupu s vývojem a implementací jazyků na vysoké úrovni, metod strukturovaného a modulárního programování, návrhových jazyků a jejich podpůrných nástrojů, formálních a neformálních popisných jazyků Požadavky na systém a specifikace atd. V 70.-80. v praxi se začala uplatňovat strukturální metodologie, která vývojářům poskytla přísné formalizované metody pro popis IP a byla přijata technická řešení. Je založen na vizuální grafické technice: diagramy a diagramy se používají k popisu různých druhů modelů IS. Viditelnost a přísnost nástrojů strukturální analýzy umožnila vývojářům a budoucím uživatelům systému od samého počátku neformálně se podílet na jeho tvorbě, diskutovat a upevňovat chápání hlavních technických řešení. Rozšířené použití této metodiky a dodržování jejích doporučení při vývoji kontaktních integrovaných obvodů však bylo poměrně vzácné, protože u neautomatizovaného (ručního) vývoje je to prakticky nemožné. To přispělo ke vzniku softwarových a hardwarových nástrojů speciální třídy - CASE nástrojů, které implementují technologii CASE pro tvorbu a údržbu IS.

    Je třeba si uvědomit, že úspěšné použití nástrojů CASE je nemožné bez pochopení základní technologie, na které jsou tyto nástroje založeny. Softwarové nástroje CASE jsou samy o sobě nástroji pro automatizaci procesů navrhování a údržby informačních systémů. Bez pochopení metodiky návrhu IS není možné používat CASE-tools.
    ^

    Charakteristika moderních nástrojů CASE


    Moderní nástroje CASE pokrývají širokou oblast 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 (LC) IS.

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

    Spadají do kategorie CASE-tools jako relativně levné systémy pro osobní počítače s velmi handicapované a drahé systémy pro heterogenní výpočetní platformy a operační prostředí. Tak, moderní trh Existuje asi 300 různých nástrojů CASE, z nichž ty nejvýkonnější, tak či onak, používají téměř všechny přední západní firmy.

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


    • výkonné grafické nástroje pro popis a dokumentaci IS, poskytování uživatelsky přívětivé rozhraní s vývojářem a rozvojem jeho tvůrčích schopností;

    • integrace jednotlivých komponent CASE-tools, zajišťující ovladatelnost procesu vývoje IS;

    • pomocí speciálně organizovaného úložiště metadat projektu (repository). Integrovaný nástroj CASE (nebo sada nástrojů, které podporují celý životní cyklus IP) obsahuje následující součásti:

    • úložiště, které je základem nástroje CASE. Musí zajistit ukládání verzí projektu a jeho jednotlivých součástí, synchronizaci příjmu informací od různých vývojářů při skupinovém vývoji, kontrolu úplnosti a konzistence metadat;

    • grafické analytické a návrhářské nástroje, které zajišťují tvorbu a editaci hierarchicky propojený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í prostředky;

    • testovací nástroje;

    • nástroje projektového řízení;

    • reengineeringové nástroje.
    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 pro určité procesy životního cyklu. Klasifikace 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ů, které pokrývají většinu fází životního cyklu IP (toolkit) a plně integrované nástroje, které podporují celý životní cyklus IP 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 typů se v zásadě shoduje s komponentním složením CASE-tools a zahrnuje následující hlavní typy (vývojářská společnost je uvedena v závorce za názvem nástroje):

    • 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), které podporují nejběžnější metodologie návrhu a používají se k vytváření specifikací návrhu (Vantage Team Builder (Cayenne), Designer/2000 (Oracle), Silverrun (CSA), PRO-IV (McDonnell Douglas), CASE. Analyst (Macro-Project)). 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í, poskytování datového modelování a generování databázových schémat (obvykle v 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é součástí nástrojů 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 generátory kódu obsažené ve Vantage Team Builder, PRO-IV a částečně v Silverrunu;

    • reengineeringové nástroje, poskytování analýzy programových kódů a databázových schémat a vytváření na jejich základě různé modely a konstrukční specifikace. 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 se nejvíce používají objektově orientované CASE nástroje, které poskytují reengineering programů C++ (Rational Rose (Rational Software), Object Team (Cayenne)). Mezi typy pomocníků 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)).
    K datu ruský trh Software má následující nejpokročilejší nástroje CASE:

      • Stříbrný běh;

      • Designér/2000;

      • Vantage Team Builder (Westmount I-CASE);

      • ERwin+BPwin;

      • S Designer;

      • CASE Analyst.
    Kromě toho se na trhu neustále objevují jak nové systémy pro domácí uživatele (například CASE / 4/0, PRO-IV, System Architect, Visible Analyst Workbench, EasyCASE), tak i nové verze a modifikace uvedených systémů.

    Charakterizujme hlavní vlastnosti CASE-tools na příkladu široce používaného systému Silverrun.

    Nástroj Silverrun CASE americké společnosti Computer Systems Advisers, Inc. (CSA) se používá pro analýzu a návrh podnikových IS a je zaměřen spíše na spirálový model životního cyklu. Je použitelný pro podporu jakékoli metodiky založené na samostatné konstrukci funkčních a informačních modelů (diagramy datových toků a diagramy vztahů mezi entitami).

    Naladění na konkrétní metodiku je zajištěno volbou požadovaného grafického zápisu modelů a sady pravidel pro kontrolu specifikací návrhu. Systém má připravená nastavení pro nejběžnější metodiky: DATARUN (hlavní metodika podporovaná Silverrunem), Gane/Sarson, Yourdon/DeMarco, Merise, Ward/Mellor, Informační inženýrství. Pro každý koncept představený v projektu je možné přidat vlastní deskriptory. Architektura Silverrunu umožňuje rozšiřovat vývojové prostředí podle potřeby.

    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 ostatními moduly.

    Modul vytváření modelů obchodních procesů ve formě diagramů toku dat (BPM - Business Process Modeler) umožňuje simulovat fungování zkoumané organizace nebo vytvářeného IS. Modul BPM poskytuje možnost pracovat s modely velké složitosti: automatické přečíslování, práce se stromem procesů (včetně vizuálního drag and drop větví), oddělování a připojování částí modelu pro společný vývoj. Grafy lze kreslit v několika předdefinovaných notacích, včetně Yourdon/DeMarco a Gane/Sarson. Je také možné vytvářet vlastní zápisy, včetně přidání uživatelsky definovaných polí k počtu deskriptorů zobrazených v diagramu.

    Modul koncepční datové modelování(ERX - Entity-Relationship eXpert) poskytuje konstrukci datových modelů entity-relationship, které nejsou vázány na konkrétní implementaci. Tento modul má vestavěný expertní systém, který vám umožňuje vytvořit správný normalizovaný datový model zodpovězením smysluplných otázek o vztahu dat. Z popisů datových struktur je možné automaticky sestavit datový model. Analýza funkčních závislostí atributů umožňuje zkontrolovat shodu modelu s požadavky třetí normální formy a zajistit jejich implementaci. Ověřený model je předán do RDM.

    Modul relační modelování(RDM - Relational Data Modeler) umožňuje vytvářet podrobné modely entit-vztahů určené pro implementaci v relační databázi. Tento modul dokumentuje všechny struktury související s budováním databáze: indexy, spouštěče, uložené procedury atd. Flexibilní zápis a rozšiřitelnost úložiště vám umožní pracovat na jakékoli metodice. Schopnost vytvářet podschémata je v souladu s přístupem ANSI SPARC k reprezentaci databázového schématu. V jazyce podschémů jsou modelovány jak uzly distribuovaného zpracování, tak uživatelské pohledy. Tento modul poskytuje návrh a kompletní dokumentaci relační databáze data.

    ^ Správce úložiště pracovní skupina (WRM - Workgroup Repository Manager) se používá jako datový slovník pro ukládání informací společných všem modelům a také zajišťuje integraci modulů Silverrun do jediného návrhového prostředí.

    Kompromis za vysokou flexibilitu a rozmanitost obrázkových nástrojů pro stavbu modelů je takovou nevýhodou Silverrunu, jako je absence přísné vzájemné kontroly mezi komponentami různých modelů (například možnost automatického šíření změn mezi DFD různých úrovní rozkladu). Je však třeba poznamenat, že tato nevýhoda může být významná pouze v případě použití kaskádového modelu životního cyklu IS.

    Pro automatické generování databázových schémat má Silverrun mosty k nejběžnějším DBMS: Oracle, Informix, DB2, Ingres, Progress, SQL Server, SQLBase, Sybase. Pro přenos dat do nástrojů pro vývoj aplikací existují mosty do jazyků 4GL: JAM, PowerBuilder, SQL Windows, Uniface, NewEra, Delphi. Všechny mosty umožňují Silverrun RDM načítat informace z adresářů odpovídajících jazyků DBMS nebo 4GL. To vám umožňuje dokumentovat, redesignovat nebo portovat na nové platformy již v provozních databázích a aplikačních systémech. Při použití mostu Silverrun rozšiřuje své interní úložiště o atributy specifické pro cílový systém. Po definování hodnot těchto atributů je aplikační generátor přenese do interního adresáře vývojového prostředí nebo je použije při generování SQL kódu. Je tedy možné kompletně definovat databázový stroj pomocí všech funkcí konkrétního DBMS: spouštěče, uložené procedury, omezení referenční integrity. Při vytváření aplikace 4GL se data migrovaná z úložiště Silverrun použijí buď k automatickému generování objektů rozhraní, nebo k jejich rychlému ručnímu vytvoření.

    Pro výměnu dat s jinými nástroji pro automatizaci návrhu, vytváření specializovaných postupů pro analýzu a ověřování specifikací návrhu a sestavování specializovaných zpráv v souladu s různými standardy má Silverrun tři způsoby, jak odesílat informace o návrhu do externích souborů:


    • systém hlášení. Definováním obsahu zprávy na úložišti je možné vydat zprávu v textový soubor. Tento soubor lze poté načíst do textového editoru nebo zahrnout do jiné sestavy;

    • systém export/import. Pro úplnější kontrolu nad strukturou souborů v systému export/import je možné definovat nejen obsah exportního souboru, ale také oddělovače pro záznamy, pole v záznamech, značky pro začátek a konec textových polí. Soubory se zadanou strukturou lze nejen generovat, ale také nahrávat do úložiště. To umožňuje výměnu dat s různými systémy: jinými CASE nástroji, DBMS, textovými editory a tabulkovými procesory;

    • uložení úložiště externí soubory přes ovladače ODBC. Pro přístup k datům úložiště z nejběžnějších systémů pro správu databází je možné ukládat veškeré informace o projektu přímo ve formátu těchto DBMS.
    Skupinová práce je v Silverrunu podporována dvěma způsoby:

    • standardní jednouživatelská verze má mechanismus pro řízené rozdělování a spojování modelů. Rozdělením modelu na části je můžete distribuovat několika vývojářům. Po podrobném upřesnění jsou modely sloučeny do jednotlivých specifikací;

    • síťová verze Silverrun umožňuje simultánní skupinová práce s modely uloženými v síťovém úložišti založeném na Oracle, Sybase nebo Informix DBMS. Současně může několik vývojářů pracovat se stejným modelem, protože zamykání objektů probíhá na úrovni jednotlivé prvky modely.
    Existují implementace Silverrun tří platforem - MS Windows, Macintosh a OS / 2 Presentation Manager - s možností výměny návrhových dat mezi nimi.

    Kromě systému Silverrun naznačíme účel dalších oblíbených nástrojů CASE a jejich skupin.

    Vantage Team Builder je integrovaný softwarový produkt zaměřený na implementaci kaskádového modelu životního cyklu IP a podporu celého životního cyklu IP.

    Uniface 6.1 - produkt společnosti Compuware (USA) - je vývojové prostředí pro rozsáhlé aplikace v architektuře "klient-server".

    Nástroj Oracle Designer/2000 2.0 CASE je integrovaný nástroj CASE, který spolu s nástroji pro vývoj aplikací Developer/2000 podporuje celý životní cyklus IS pro systémy využívající Oracle DBMS.

    Balíček CASE/4/0 (microTOOL GmbH), který obsahuje strukturální nástroje pro systémovou analýzu, návrh a programování, poskytuje podporu pro celý životní cyklus vývoje (až po údržbu), založený na síťovém úložišti, které řídí integritu projektu a podporuje koordinovanou práci všech jeho účastníků (systémových analytiků, návrhářů, programátorů).
    ^

    Místní fondy


    Balíček ERWin (Logic Works) se používá při modelování a vytváření databází libovolné složitosti na základě diagramů entit-vztahů. V současnosti je nejvíce ERWin oblíbený balíček datové modelování díky podpoře široké škály DBMS různých tříd - SQL servery (Oracle, Informix, Sybase SQL Server, MS SQL Server, Progress, DB2, SQLBase, Ingress, Rdb atd.) a "desktopové" DBMS jako xBase (Clipper, dBase, FoxPro, MS Access, Paradox atd.).

    BPWin je funkční modelovací nástroj, který implementuje metodiku IDEFO. Model v BPWin je sada diagramů SADT, z nichž každý popisuje samostatný proces a rozděluje jej na kroky a dílčí procesy.

    S-Designer 4.2 (Sybase/Powersoft) je CASE nástroj pro návrh relačních databází. Svým vlastním funkčnost a cenou se blíží nástroji ERWin CASE, liší se externě používaným zápisem v diagramech. S-Designer implementuje standardní metodologii datového modelování a generuje popis databáze pro takové DBMS jako Oracle, Informix, Ingres, Sybase, DB2, Microsoft SQL Server atd.

    CASE-Analyst 1.1 (Aytex) je prakticky jediný v současnosti konkurenční tuzemský CASE-nástroj pro funkční modelování a implementuje konstrukci diagramů datových toků v souladu s dříve popsanou metodikou.
    ^

    Objektově orientované CASE nástroje


    Rational Rose je CASE nástroj od Rational Software Corporation (USA) určený k automatizaci fází analýzy a návrhu integrovaných obvodů, stejně jako ke generování kódů v různých jazycích a vydávání projektové dokumentace. 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 této oblasti: Boocha, Rumbaugha a Jacobsona. Jimi vyvinutá univerzální notace pro modelování objektů (UML - Unified Modeling Language) je v současnosti a samozřejmě i v budoucnu zůstane obecně uznávaným standardem v oblasti objektově orientované analýzy a návrhu. Konkrétní varianta Rational Rose je určena jazykem, ve kterém jsou generovány programové kódy (C++, Smalltalk, PowerBuilder, Ada, SQLWindows a ObjectPro). Hlavní možnost - Rational Rose / C ++ - vám umožňuje vytvářet 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.
    ^

    Nástroje pro správu konfigurace


    Účelem konfiguračního managementu (CM) je zajistit řiditelnost a ovladatelnost procesů vývoje a údržby IS. To vyžaduje přesné a spolehlivé informace o stavu IS a jeho komponent v daném okamžiku a také o všech očekávaných a realizovaných změnách.

    K řešení problémů CG se používají metody a nástroje, které zajišťují identifikaci stavu komponent, zohlednění rozsahu všech komponent a úprav systému jako celku, kontrolu změn provedených na komponentách, strukturu systému a jeho funkcí, jakož i koordinované řízení vývoje funkcí a zlepšování vlastností systému.

    Nejběžnějším nástrojem KU je PVCS od Intersolv (USA), který zahrnuje řadu nezávislých produktů: PVCS Version Manager, PVCS Tracker, PVCS Configuration Builder a PVCS Notify.
    ^

    Dokumentační nástroje


    Pro tvorbu dokumentace v procesu vývoje AIS se používají různé reportovací nástroje a také komponenty publikačních systémů. Dokumentační nástroje jsou obvykle zabudovány do specifických nástrojů CASE. Výjimkou jsou některé balíčky, které poskytují doplňkovou službu při dokládání. Z nich je nejaktivněji využívána SoDA (Software Document Automation).

    Produkt SoDA je navržen tak, aby automatizoval vypracování projektové dokumentace ve všech fázích životního cyklu IP. Umožňuje automaticky extrahovat různé informace získané v různých fázích vývoje projektu a zahrnout je do výstupních dokumentů. Zároveň se kontroluje soulad dokumentace s projektem, vztah dokumentů, jejich včasná aktualizace. Výsledná dokumentace je automaticky generována z různých zdrojů, jejichž počet není omezen.

    Balíček obsahuje grafický editor pro přípravu šablon dokumentů. Umožňuje nastavit požadovaný styl, pozadí, písmo, určit umístění nadpisů, rezervovat místa, kam budou umístěny informace extrahované z různých zdrojů. Změny se automaticky provádějí pouze v těch částech dokumentace, kterých se týkají v programu. Tím se zkracuje doba přípravy dokumentace tím, že odpadá nutnost regenerovat veškerou dokumentaci.

    SoDA je implementována na bázi publikačního systému FrameBuilder a poskytuje kompletní sadu nástrojů pro editaci a úpravu publikované dokumentace.

    Konečným výsledkem systému SoDA je hotový dokument (nebo kniha). Dokument lze uložit do souboru formátu SoDA (Frame Builder), který je výsledkem generování dokumentu. Tisk tohoto dokumentu (nebo jeho části) je možný ze systému SoDA.

    Operačním prostředím SoDA je operační systém UNIX na pracovních stanicích Sun SPARCstation, IBM RISC System/6000 nebo Hewlett Packard HP 9000 700/800.
    ^

    Testovací nástroje


    Testování je proces spouštění programu za účelem zjištění chyb. Regresní testování je testování prováděné po vylepšení funkcí programu nebo jeho změnách.

    Jeden z nejpokročilejších nástrojů pro testování QA (nově nazývaný Quality Works) je integrované, multiplatformní prostředí pro vývoj automatizovaných testů jakékoli úrovně, včetně regresních testů pro aplikace s grafickým uživatelským rozhraním.

    QA vám umožňuje zahájit testování v jakékoli fázi životního cyklu, plánovat a řídit proces testování, zobrazovat změny v aplikaci a opakovaně používat testy pro více než 25 různých platforem.

    Na závěr uvádíme příklad komplexu CASE-tools, který poskytuje podporu pro celý životní cyklus IS. Je nevhodné porovnávat jednotlivé CASE nástroje, protože žádný z nich neřeší obecně všechny problémy tvorby a údržby IS. To potvrzuje i kompletní soubor hodnotících a výběrových kritérií, která ovlivňují všechny fáze životního cyklu duševního vlastnictví. Srovnávat lze komplexy metodicky a technologicky konzistentních nástrojů, které podporují celý životní cyklus IS a jsou opatřeny potřebnou technickou a metodickou podporou dodavatelských firem (uvědomte si, že racionální integrace nástrojů vývoje IS je nejdůležitější podmínkou pro zajištění kvality tohoto IS a tato poznámka platí pro všechny obory).

    Přednáška č. 8

    Vrstvená architektura 9

    Internetové/intranetové technologie 10

    Požadavky na informační systémy 10

    Flexibilita 11

    Spolehlivost 11

    Účinnost 11

    Zabezpečení 12

    Životní cyklus informačních systémů 16

    Úvod do projektového řízení 17

    ^ Klasifikace projektu 18

    Hlavní fáze návrhu informačního systému 18

    Koncepční fáze 19

    Příprava technické nabídky 19

    Design 19

    Vývoj 20

    Uvedení systému do provozu 20

    Procesy probíhající v průběhu životního cyklu informačního systému 21

    ^ Základní procesy životního cyklu 21

    Vývoj 21

    Operace 21

    Doprovod 22

    Podpora procesů životního cyklu 23

    Organizační procesy 23

    Struktura životního cyklu informačního systému 23

    Počáteční fáze 24

    Fáze vyjasnění 24

    ^ Fáze výstavby 24

    Fáze uvedení do provozu 24

    Životní cyklus informačních systémů 28

    Modely životního cyklu informačního systému 28

    ^ Kaskádový model životního cyklu informačního systému 29

    Hlavní fáze vývoje podle vodopádového modelu 29

    Hlavní výhody kaskádového modelu 29

    Nevýhody vodopádového modelu 30

    ^ Spirální model životního cyklu 31

    Iterace 31

    Výhody spirálového modelu 32

    Nevýhody spirálového modelu 33

    Metodika a technologie rozvoje informačních systémů 37

    Metodika RAD 40

    Hlavní rysy metodiky RAD 40

    ^ Objektově orientovaný přístup 41

    Vizuální programování 42

    Programování událostí 43

    Fáze životního cyklu v rámci metodiky RAD 44

    Fáze analýzy požadavků a plánování 44

    Fáze návrhu 44

    Fáze výstavby 45

    Fáze realizace 46

    ^ Omezení metodiky RAD 46

    Metodika a technologie rozvoje informačních systémů 51

    Profily otevřených informačních systémů 51

    Koncept profilu informačního systému 52

    Zásady tvorby profilu informačního systému 53

    ^ Struktura profilů informačních systémů 55

    Profil aplikačního softwaru 57

    Profil prostředí informačního systému 57

    Profil zabezpečení informací 58

    Profil nástroje 58

    ^ Metodika a technologie rozvoje informačních systémů 63

    Standardy a metody 63

    Druhy norem 64

    Oracle CDM 65

    Obecná struktura 66

    Vlastnosti techniky CDM 68

    ^ Mezinárodní norma ISO/IEC 12207: 1995-08-01 69

    Obecná struktura 69

    Hlavní a pomocné procesy životního cyklu 69

    Vlastnosti ISO 12207 71

    CASE-technologie pro navrhování informačních systémů 77

    Charakteristika moderních nástrojů CASE 80

    ^ Místní fondy 86

    Objektově orientované CASE nástroje 87

    Nástroje pro správu konfigurace 87

    Dokumentační nástroje 87

    Testovací nástroje 88

    Principy konstrukce a fáze návrhu databáze 93

    Základní pojmy a definice 93

    Model popisné domény 99

    ^ Principy konstrukce a fáze návrhu databáze 111

    Koncepční datové modely 111

    Typy datových struktur 112

    Operace s daty 113

    ^ Omezení integrity 114

    Hierarchický datový model 115

    Datový model sítě 117

    Relační datový model 118

    Binární datový model 119

    Sémantický web 119

    Technologie modelování informačních systémů 124

    Metody modelování systému 124

    ^ Matematický model systému 126

    Klasifikace matematických modelů 128

    Simulační modely informačních systémů 136

    Metodické základy pro aplikaci simulační metody 136

    ^ Simulační modely informačních systémů 146

    Klasifikace simulačních modelů 146

    Struktura typického simulačního modelu s kalendářem událostí 153

    ^ Simulační modely informačních systémů 161

    Technologie pro modelování náhodných faktorů 161

    Generování pseudonáhodných čísel (PRN) 161

    Multiplikativní metoda 163

    Aditivní metoda 164

    Smíšená metoda 164

    ^ Simulace náhodných událostí 165

    Sekvenční modelování 167

    Modelování po předběžných výpočtech 167

    Simulační modely informačních systémů 172

    Technologie pro modelování náhodných faktorů 172

    ^ Simulace náhodných veličin 172

    Simulace spojitých náhodných veličin 173

    Metoda inverzní funkce 173

    Metoda eliminace (Neumann) 174

    Způsob složení 176

    Modelování diskrétních náhodných veličin 177

    Metoda sekvenčního porovnávání 177

    Metoda výkladu 178

    ^ Modelování náhodných vektorů 178

    Metoda podmíněného rozdělení 179

    Eliminační metoda (Neumannova) 180

    Metoda lineární transformace 181

    Simulační modely informačních systémů 187

    Základy organizace simulačního modelování 187

    ^ Kroky simulace 187

    Simulační test 188

    Nastavení počátečních informací 189

    Ověření simulačního modelu 189

    Kontrola vhodnosti modelu 189

    Kalibrace simulátoru 190

    Zkoumání vlastností simulačního modelu 190

    Posouzení chyby simulace spojené s použitím generátorů pseudonáhodných čísel (PRN) v modelu 190

    Určení doby trvání přechodového režimu 191

    Posouzení robustnosti výsledků simulace 192

    Studie citlivosti modelu 192

    ^ Modelovací jazyky 193

    Za poslední desetiletí se zformoval nový směr softwarového inženýrství - CASE (Computer-Aided Software / System Engineering) - v doslovném překladu - vývoj softwaru informačních systémů s podporou (s pomocí) počítače. V současné době neexistuje žádná obecně uznávaná definice CASE, termín CASE se používá ve velmi širokém smyslu. Původní význam pojmu CASE, omezený na problematiku automatizace vývoje pouze softwaru, nyní získal nový význam, pokrývající proces vývoje komplexních automatizovaných informačních systémů jako celku. Nyní se pod pojmem CASE-tools rozumí softwarové nástroje, které podporují procesy tvorby a údržby IS, včetně analýzy a formulace požadavků, návrhu aplikačního softwaru (softwaru) (aplikací) a databází, generování kódu, testování, dokumentace, zajišťování kvality, konfiguračního managementu a projektového managementu a dalších procesů. Nástroje CASE spolu se systémovým softwarem a hardwarem tvoří kompletní vývojové prostředí IS.

    CASE-tools umožňují nejen vytvářet „správné“ produkty, ale také poskytovat „správný“ proces jejich tvorby. Hlavním cílem CASE je oddělit návrh IS od jeho kódování a následných fází vývoje a také skrýt před vývojáři všechny detaily vývojového prostředí a provozu IS. Při použití technologií CASE se mění všechny fáze životního cyklu softwaru (více o tom bude řeč níže) informačního systému, přičemž největší změny se týkají fází analýzy a návrhu. Většina existujících nástrojů CASE je založena na strukturálních (většinou) nebo objektově orientovaných metodologiích analýzy a návrhu, které používají specifikace ve formě diagramů nebo textů k popisu externích požadavků, vztahů mezi modely systémů, dynamikou chování systému a softwarovými architekturami. Tyto metodiky poskytují rigorózní a vizuální popis navrženého systému, který začíná jeho obecným přehledem a poté detaily, získávající hierarchickou strukturu s rostoucím počtem úrovní. Technologie CASE jsou úspěšně využívány k budování téměř všech typů IS, ale stabilní pozici zaujímají v následujících oblastech:

      zajištění rozvoje podnikových a komerčních IS, široké využití technologií CASE je dáno masovým charakterem této aplikační oblasti, ve které se CASE využívá nejen k vývoji IS, ale také k vytváření systémových modelů, které pomáhají řešit problémy strategického plánování, finančního řízení, určování politiky firem, školení personálu atd. (tento směr dostal svůj vlastní název - obchodní analýza);

      vývoj systémového a řídicího IS. Aktivní využívání CASE-technologií je spojeno s velkou složitostí tohoto problému a s touhou zvýšit efektivitu práce.

    CASE není revolucí v softwarovém inženýrství, ale výsledkem přirozeného evolučního vývoje celého odvětví nástrojů, dříve nazývaných instrumentální nebo technologické. Od samého počátku se technologie CASE vyvíjely, aby překonaly omezení používání metodologií strukturálního navrhování z 60. a 70. let. 20. století (složitost porozumění, vysoká pracnost a náklady na používání, obtížnost provádění změn konstrukčních specifikací atd.) díky jejich automatizaci a integraci podpůrných nástrojů. CASE technologie tedy nelze považovat za nezávislé metodiky, pouze vyvíjejí strukturální metodiky a automatizací zefektivňují jejich aplikaci.

    Kromě automatizace strukturálních metodologií a v důsledku toho možnosti aplikace moderních metod systémového a softwarového inženýrství mají nástroje CASE následující hlavní výhody:

      zlepšit kvalitu vytvářeného IS pomocí automatického řízení (především projektového řízení);

      umožnit na krátkou dobu vytvořit prototyp budoucího systému, který vám umožní vyhodnotit očekávaný výsledek v rané fázi;

      urychlit proces návrhu a vývoje;

      osvobodit vývojáře od rutinní práce, což mu umožní plně se soustředit na kreativní část vývoje;

      podporovat rozvoj a udržování rozvoje;

      podporovat vývoj technologií opětovného použití komponent.

    Vzniku technologie CASE a nástrojů CASE předcházel výzkum v oblasti metodologie programování. Programování získalo rysy systematického přístupu s vývojem a implementací jazyků na vysoké úrovni, strukturálních a modulárních metod programování, návrhových jazyků a jejich podpůrných nástrojů, formálních a neformálních jazyků pro popis systémových požadavků a specifikací atd. V 70.-80. v praxi se začala uplatňovat strukturální metodika, která vývojářům poskytuje striktně formalizované metody pro popis IS a technických řešení. Je založen na vizuální grafické technice: diagramy a diagramy se používají k popisu různých druhů modelů IS. Viditelnost a přísnost nástrojů strukturální analýzy umožnila vývojářům a budoucím uživatelům systému od samého počátku neformálně se podílet na jeho tvorbě, diskutovat a upevňovat chápání hlavních technických řešení. Rozšířené použití této metodiky a dodržování jejích doporučení při vývoji kontaktních integrovaných obvodů však bylo poměrně vzácné, protože u neautomatizovaného (ručního) vývoje je to prakticky nemožné. To přispělo ke vzniku softwarových a hardwarových nástrojů speciální třídy - CASE nástrojů, které implementují technologii CASE pro tvorbu a údržbu IS.

    Je třeba si uvědomit, že úspěšné použití nástrojů CASE je nemožné bez pochopení základní technologie, na které jsou tyto nástroje založeny. Softwarové nástroje CASE jsou samy o sobě nástroji pro automatizaci procesů navrhování a údržby informačních systémů. Bez pochopení metodiky návrhu IS není možné používat CASE-tools.

    Přehled některých CASE systémů.

    Seznam výrobců CASE-tools a řadu užitečných odkazů najdete na http://sunny.aha.ru/~belikov/index.htm, použití CASE je věnována ruskojazyčná konference news://fido7.su.dbms.case/, na internetu je k dispozici i Vendrovova kniha A.M. CASE technologie. Moderní metody a nástroje pro návrh informačních systémů.

    Power Designer od Sybase.

    Power Designer obsahuje následující moduly:

    · Procesní analytik- nástroj pro funkční modelování, podporuje notaci Yordon - DeMarco, Hein - Sarson a několik dalších. Je možné popsat datové prvky (názvy, typy, formáty) spojené s datovými toky a datovými úložišti. Tyto prvky jsou předány do další fáze návrhu a úložiště dat lze automaticky převést na entity.

    · Datový analytik- nástroj pro budování modelu "entity-relationship" a na jeho základě automaticky generovat relační strukturu. Vstup pro model entitního vztahu lze získat z modelů DFD vytvořených v modulu Process Analyst. V ER diagramech jsou povoleny pouze binární odkazy, nastavení atributů pro odkazy není podporováno. Jazykové dialekty SQL podporované přibližně 30 relační DBMS lze generovat tabulky, pohledy, indexy, spouštěče atd. V důsledku toho se vygeneruje SQL skript (sekvence příkazů CREATE), jehož provedením se vytvoří navržené databázové schéma. Je také možné navázat spojení s DBMS přes rozhraní ODBC. Další funkce: automatická validace modelu, výpočet velikosti databáze, reengineering (vytváření modelových diagramů pro existující databáze) atd.

    · Aplikační modelář- nástroj pro automatické generování prototypů programů pro zpracování dat na základě relačních modelů zabudovaných v Data Analyst. Kód lze získat pro Visual Basic, Delphi, ale i pro takové vývojové systémy v architektuře "klient-server" jako je PowerBuilder, Uniface, Progress atd. Generování kódu je založeno na šablonách, respektive generování lze řídit změnou odpovídající šablony.

    Zkušební verzi Power Designeru, ve které jsou blokovány funkce ukládání sestavených modelů, lze získat na ruském webovém serveru společnosti Sybase.

    Silverrun od Silverrun Technologies Ltd.

    Systém Silverrun CASE se skládá z následujících nástrojů:

    · BPM- konstrukce DFD-diagramů. Podporuje zápisy Yordon-DeMarco, Hein-Sarson, Ward-Mellor a mnoho dalších. Tento nástroj umožňuje automaticky kontrolovat integritu sestaveného modelu a seznam ověřovacích kritérií definuje uživatel (například: absence názvů prvků modelu, datové toky typu „úložiště – úložiště“ nebo „externí entita – externí entita“ atd.)

    · ERX- konstrukce diagramů "vztah entit". Podporovány jsou nejen binární odkazy, ale i odkazy vyšších řádů, u odkazů je možné definovat atributy. Postavené ER modely lze převést do relačních struktur pomocí externí utility (ve verzi, se kterou jsem pracoval, se bohužel ztratily atributy odkazu).

    · RDM- nástroj pro relační modelování, který umožňuje generovat SQL skripty pro tvorbu tabulek a indexů pro cca 25 cílových DBMS.

    Nutno podotknout, že Silverrun Technologies Ltd není pouze vývojářem CASE nástrojů, ale vytvořila i vlastní metodiku pro tvorbu informačních systémů, nazvanou Datarun. Tato metodika zahrnuje popis všech fází životního cyklu informačního systému, seznam a posloupnost prací, požadavky na obsah a provedení dokumentů a mnoho dalšího.

    Zkušební verzi Silverrunu lze stáhnout ze serveru Argussoft. V této verzi jsou limity na počet prvků ve vytvořených modelech.

    BPWin a ERWin od LogicWorks.

    LogickWorks uvolňuje dva doplňkové nástroje pro návrh informačních systémů:

    · BPWin- funkční modelování založené na metodice IDEF0. Je také povoleno používat notaci IDEF3 a DFD v notaci Yordon-DeMarco. Zkonstruované modely je možné exportovat do systémů funkční analýzy nákladů (ABC - Activity Based Costing) a informačního modelování ERWin.

    · ERWin- nástroj pro modelování informací, používá se notace IDEF1X. Je podporováno více než 20 cílových DBMS, je možné generovat prototypy aplikačních programů pro Visual Basic, Delphi atd.

    Pomocí SilverRun

    Metodologie

    Plánování a rozvoj komplexních informačních systémů není možné bez pečlivě promyšleného metodického přístupu. Jaké fáze je třeba absolvovat, jaké metody a modely použít, jak organizovat kontrolu nad postupem projektu a kvalitou práce – tyto otázky řeší metodiky softwarového inženýrství. Existuje mnoho metodologií a hlavní věcí v nich je jediná disciplína práce ve všech fázích životního cyklu systému. Pokud jsou zohledněny všechny kritické úkoly a jejich řešení je kontrolováno, kvalita vytvořených systémů výrazně stoupá. V tomto případě v obecném případě nezáleží na tom, jaké konkrétní metody byly zvoleny pro řešení těchto problémů.

    Různé třídy systémů používají své vlastní vývojové metody. Jsou určeny jak typem vytvářeného systému, tak způsobem implementace. Pravděpodobně nejběžnější z hlediska objemu vývoje jsou informační systémy podnikové třídy. Téměř každá organizace má specialisty, kteří vyvíjejí nebo udržují informační systémy. Specifikace těchto systémů se ve většině případů skládá ze dvou hlavních složek: funkční a informační. Podle způsobu, jakým jsou tyto komponenty kombinovány, lze přístupy k reprezentaci informačních systémů rozdělit na dva hlavní typy – strukturální a objektově orientované. Objektově orientované metody jsou samozřejmě také strukturální v přímém smyslu slova. Ale historicky byl tento termín v softwarovém inženýrství přiřazen řadě disciplín: strukturální programování, konstrukční návrh, strukturální analýza. Ve strukturálních technologiích se samostatně budují funkční a informační modely, nejčastěji ve formě diagramů datových toků a diagramů entit-vztahů. Objektově orientované technologie považují informace za nedílnou součást procesů jejich zpracování. Objektově orientované technologické modely popisují strukturu, chování a implementaci systémů z hlediska tříd objektů.

    Objektově orientované technologie dominují v oblasti tvorby operačních systémů, nástrojů pro vývoj a spouštění aplikací a systémů reálného času. Koncept objektu pomáhá bojovat s rychle rostoucí složitostí systémů. Kromě toho jsou interagující elektronická zařízení, stejně jako prvky programů, přirozeně reprezentovány objekty.

    V oblasti tvorby podnikových systémů vedou strukturální technologie, protože jsou nejvíce přizpůsobeny interakci se zákazníky a uživateli, kteří nejsou specialisty v oblasti informačních technologií. A analýza zkušeností s vývojem informačních systémů ukázala, že aktivní zapojení uživatelů ve fázích identifikace požadavků a zadání úkolu je kritickým faktorem úspěchu velkých projektů. Při vývoji systémů podnikové třídy je hlavní úsilí vynaloženo na pochopení a specifikaci požadavků uživatelů a k implementaci se používají zakoupené nástroje pro vývoj aplikací (nejčastěji jazyky čtvrté generace) a systémy pro správu databází (nejčastěji relační).

    S ohledem na výše uvedené lze místo systému SILVERRUN v technologiích softwarového inženýrství definovat následovně: jedná se o špičkový CASE systém určený k instrumentální podpoře strukturálních metodik pro tvorbu podnikových informačních systémů. Tento systém tak mohou používat specialisté zabývající se analýzou a modelováním podniků, vývojáři informačních systémů, správci databází.

    Metodika RAD

    Jedním z možných přístupů k vývoji softwaru v rámci spirálového modelu životního cyklu je v poslední době široce používaná metodika pro rychlý vývoj aplikací RAD (Rapid Application Development). Tento termín je obvykle chápán jako proces vývoje softwaru obsahující 3 prvky:

    malý tým programátorů (od 2 do 10 lidí);

    Krátké, ale dobře zpracované výrobního plánu(od 2 do 6 měsíců);

    · iterativní cyklus, ve kterém vývojáři, jak se aplikace začíná formovat, požadují a implementují do produktu požadavky získané prostřednictvím interakce se zákazníkem.

    Vývojový tým by měla tvořit skupina profesionálů se zkušenostmi s analýzou, návrhem, generováním kódu a testováním softwaru pomocí nástrojů CASE. Členové týmu musí být také schopni přeměnit návrhy koncových uživatelů na funkční prototypy.

    Životní cyklus softwaru podle metodiky RAD se skládá ze čtyř fází:

    fáze analýzy a plánování požadavků;

    fáze návrhu;

    fáze výstavby;

    realizační fáze.

    Ve fázi analýzy a plánování požadavků uživatelé systému určují funkce, které musí plnit, vyzdvihují ty s nejvyšší prioritou, které vyžadují rozpracování v první řadě, a popisují informační potřeby. Stanovení požadavků provádí především uživatelé pod vedením specializovaných vývojářů. Rozsah projektu je omezený, časový rámec pro každou z následujících fází je určen. Navíc je určena samotná možnost realizace tohoto projektu v rámci stanoveného finančního rámce, na tomto hardwaru atd. Výsledkem této fáze by měl být výčet a priorita funkcí budoucího IS, předběžné funkční a informační modely IS.

    Během fáze návrhu se účastní někteří uživatelé technické provedení systémy pod vedením specialistů-vývojářů. Nástroje CASE se používají k rychlému získání funkčních prototypů aplikací. Uživatelé v přímé interakci s nimi vyjasňují a doplňují požadavky na systém, které nebyly identifikovány v předchozí fázi. Procesy systému jsou zvažovány podrobněji. Funkční model je analyzován a v případě potřeby korigován. Každý proces je podrobně zvažován. V případě potřeby je pro každý elementární proces vytvořen dílčí prototyp: obrazovka, dialog, zpráva, která odstraňuje nejasnosti nebo nejasnosti. Jsou stanoveny požadavky na diferenciaci přístupu k datům. Ve stejné fázi je stanoven soubor potřebné dokumentace.

    Po podrobném definování skladby procesů je odhadnut počet funkčních prvků vyvíjeného systému a je rozhodnuto o rozdělení IS na subsystémy, které dokáže implementovat jeden tým vývojářů v době přijatelné pro projekty RAD - cca 60 - 90 dnů. Pomocí CASE-tools je projekt distribuován mezi různé týmy (funkční model je rozdělen). Výsledkem této fáze by mělo být:

    Všeobecné informační model systémy;

    funkční modely systému jako celku a subsystémů realizovaných jednotlivými vývojovými týmy;

    rozhraní mezi autonomně vyvinutými subsystémy přesně definované pomocí nástroje CASE;

    · postavené prototypy obrazovek, zpráv, dialogů.

    Všechny modely a prototypy musí být získány pomocí těch CASE nástrojů, které budou použity později při budování systému. Tento požadavek je dán tím, že v tradičním přístupu může při přenosu informací o projektu z fáze na fázi docházet k prakticky nekontrolovanému zkreslení dat. Použití jediného úložného prostředí pro informace o projektu tomuto nebezpečí předchází.

    Na rozdíl od tradičního přístupu, který využíval specifické prototypovací nástroje, které nebyly určeny pro vytváření skutečných aplikací, a prototypy vyřazoval poté, co dokončily úkol eliminovat nejednoznačnosti v projektu, v přístupu RAD je každý prototyp vyvinut jako součást budoucího systému. Do další fáze se tak přenášejí úplnější a užitečnější informace.

    Během fáze sestavení se přímo provádí rychlý vývoj samotné aplikace. V této fázi vývojáři iterativně sestavují skutečný systém na základě modelů získaných v předchozí fázi a také nefunkčních požadavků. Programový kód je částečně generován pomocí automatických generátorů, které přijímají informace přímo z úložiště nástrojů CASE. Koncoví uživatelé v této fázi vyhodnocují získané výsledky a provádějí úpravy, pokud v průběhu vývoje systém již nesplňuje dříve definované požadavky. Testování systému se provádí přímo v procesu vývoje.

    Po dokončení práce každého jednotlivého vývojového týmu se tato část systému postupně integruje se zbytkem, vytvoří se kompletní programový kód, otestuje se společná práce této části aplikace se zbytkem a následně se otestuje systém jako celek. Fyzický návrh systému se dokončuje:

    určuje potřebu distribuce dat;

    · je provedena analýza využití dat;

    fyzický návrh databáze;

    určit požadavky na hardwarové zdroje;

    Určete způsoby, jak zvýšit produktivitu

    · Dokončuje se zpracování projektové dokumentace.

    Výsledkem fáze je hotový systém, který splňuje všechny dohodnuté požadavky.

    Ve fázi implementace probíhá školení uživatelů, organizační změny a souběžně se zaváděním nového systému se pracuje se stávajícím systémem (až do úplné implementace nového systému). Vzhledem k tomu, že fáze budování je relativně krátká, plánování a příprava na implementaci musí začít brzy, obvykle ve fázi návrhu systému. Výše uvedené schéma rozvoje duševního vlastnictví není absolutní. Jsou možné různé možnosti, například v závislosti na počátečních podmínkách, ve kterých se vývoj provádí: vyvíjí se zcela nový systém; již byl proveden průzkum podniku a existuje model jeho činnosti; podnik již má nějaký IS, který lze použít jako počáteční prototyp nebo by měl být integrován s vyvíjeným.

    Nutno však podotknout, že metodika RAD si jako každá jiná nemůže tvrdit, že je univerzální, je dobrá především pro relativně malé projekty vyvíjené pro konkrétního zákazníka. Pokud se vyvíjí standardní systém, který není hotovým produktem, ale je komplexem standardních komponent, centrálně udržovaných, přizpůsobených softwarovým a hardwarovým platformám, DBMS, telekomunikačním zařízením, organizačním a ekonomickým vlastnostem objektů implementace a integrovaný se stávajícím vývojem, do popředí se dostávají takové ukazatele projektu, jako je ovladatelnost a kvalita, což může být v rozporu s jednoduchostí a rychlostí vývoje. Takové projekty vyžadují vysokou úroveň plánování a přísnou designovou disciplínu, přísné dodržování předem navržených protokolů a rozhraní, což snižuje rychlost vývoje.

    Metodika RAD není použitelná pro konstrukci složitých výpočetních programů, operačních systémů nebo programů pro řízení kosmických lodí, tzn. programy, které vyžadují zápis velkého množství (stovky tisíc řádků) jedinečného kódu.

    Aplikace, které postrádají výraznou část rozhraní, která jasně definuje logiku fungování systému (například aplikace v reálném čase) a aplikace ovlivňující bezpečnost lidí (například řízení letadla nebo jaderné elektrárny), nejsou vhodné pro vývoj pomocí metodiky RAD, protože iterativní přístup předpokládá, že prvních několik verzí s největší pravděpodobností nebude plně funkčních, což v tento případ vyloučeno.

    Velikost aplikací se odhaduje na základě tzv. funkčních prvků (obrazovky, zprávy, sestavy, soubory atd.) Taková metrika nezávisí na programovacím jazyce, ve kterém se vývoj provádí. Velikost aplikace, kterou lze spouštět pomocí metodiky RAD pro dobře zavedené vývojové prostředí IS s maximálním opakovaným využitím softwarové komponenty, je definován takto:

    V důsledku toho uvádíme hlavní principy metodiky RAD:

    vývoj aplikací pomocí iterací;

    · volitelné úplné dokončení práce v každé fázi životního cyklu;

    Povinné zapojení uživatelů do procesu vývoje IS;

    Nutné použití CASE nástrojů, které zajistí integritu projektu;

    • používání nástrojů pro správu konfigurace, které usnadňují změny v projektu a údržbu hotového systému;

    Nutné použití generátorů kódu;

    Využití prototypování k lepšímu pochopení a uspokojení potřeb koncového uživatele;

    testování a vývoj projektu, prováděné současně s vývojem;

    Vedení rozvoje malého dobře řízeného týmu profesionálů;

    · Kompetentní řízení vývoje systému, jasné plánování a kontrola provádění prací.

    Strukturální přístup

    Podstata strukturálního přístupu k vývoji IS spočívá v jeho dekompozici (rozdělení) na automatizované funkce: systém je rozdělen na funkční subsystémy, které jsou dále rozděleny na subfunkce, dále rozděleny na úkoly atd. Proces rozdělení pokračuje až ke konkrétním procedurá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 úloh k celému systému se ztrácí integrita, vznikají problémy v informačním dokování jednotlivých komponent.

    Všechny nejběžnější metodiky strukturálního přístupu jsou založeny na řadě z nich obecné zásady. Používají se následující dva základní principy:

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

    princip hierarchického uspořádání - princip organizace základní části problémy do hierarchických stromových struktur s novými detaily přidanými na každé úrovni.

    Výběr dvou základních principů neznamená, že zbývající principy jsou druhořadé, protože ignorování kteréhokoli z nich může vést k nepředvídatelným následkům (včetně selhání celého projektu). Hlavní z těchto zásad jsou následující:

    princip abstrakce – má vyzdvihnout podstatné aspekty systému a odvést pozornost od nepodstatného;

    princip formalizace - je potřeba důsledného metodologického přístupu k řešení problému;

    princip konzistence – je platnost a konzistence prvků;

    Principem strukturování dat je, že data musí být strukturována a hierarchicky organizována.

    Ve strukturální analýze se používají především dvě skupiny nástrojů, které ilustrují funkce prováděné systémem a vztahy 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í:

    · SADT (strukturovaná analýza a technika návrhu) modely a odpovídající funkční diagramy;

    · DFD (Data Flow Diagrams) diagramy datových toků;

    · ERD (Entity-Relationship Diagrams) diagramy "entity-relationship".

    Ve fázi návrhu IS jsou modely rozšiřovány, zpřesňovány a doplňovány o diagramy, které odrážejí strukturu softwaru: softwarovou architekturu, bloková schémata programů a obrazovková schémata.

    Uvedené modely společně dávají úplný popis IS 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.

    Přednáška 8. Nástroje pro vývoj případů pro informační systémy