Počítačové softwarové inženýrství - Computer-aided software engineering

Příklad nástroje CASE.

Počítačové softwarové inženýrství ( CASE ) je doménou softwarových nástrojů používaných k navrhování a implementaci aplikací. Nástroje CASE jsou podobné a byly částečně inspirovány nástroji pro počítačový design (CAD), které se používají při navrhování hardwarových produktů. Nástroje CASE se používají k vývoji vysoce kvalitního, bezchybného a udržovatelného softwaru. Software CASE je často spojován s metodami pro vývoj informačních systémů spolu s automatizovanými nástroji, které lze použít v procesu vývoje softwaru .

Dějiny

Projekt Návrh a optimalizace informačního systému (ISDOS), zahájený v roce 1968 na University of Michigan , vyvolal velký zájem o celou koncepci používání počítačových systémů, která má analytikům pomoci ve velmi obtížném procesu analýzy požadavků a vývoje systémů. Několik článků od Daniela Teichroewa vystřelilo celou generaci nadšenců s potenciálem vývoje automatizovaných systémů. Jeho nástroj Problem Statement Language / Problem Statement Analyzer (PSL / PSA) byl nástrojem CASE, i když předcházel tomuto termínu.

Dalším významným nit se ukázal jako logické rozšíření na datovém slovníku části databáze . Rozšířením rozsahu uchovávaných metadat lze atributy aplikace zadržet ve slovníku a použít za běhu. Tento „aktivní slovník“ se stal předchůdcem modernějších technických schopností založených na modelech . Aktivní slovník však neposkytl grafické znázornění žádného z metadat. Právě propojení konceptu slovníku obsahujícího metadata analytiků, odvozeného z použití integrované sady technik, spolu s grafickým znázorněním těchto údajů vedlo k dřívějším verzím CASE.

Dalším účastníkem na trhu byl Excelerator od společnosti Index Technology v Cambridge v Massachusetts. Zatímco DesignAid běžel na Convergent Technologies a později na mikropočítačích zapojených do sítě Burroughs Ngen, společnost Index spustila Excelerator na platformě IBM PC / AT . Zatímco v době uvedení na trh a několik let platforma IBM nepodporovala síťování ani centralizovanou databázi, stejně jako stroje Convergent Technologies nebo Burroughs, přitažlivost IBM byla silná a do popředí se dostal Excelerator. V patách společnosti Excelerator byla spousta nabídek od společností, jako je Knowledgeware (James Martin, Fran Tarkenton a Don Addington), CA Gen od společnosti Texas Instrument a sada nástrojů FOUNDATION společnosti Andersen Consulting (DESIGN / 1, INSTALL / 1, FCP).

Nástroje CASE byly na vrcholu 90. let. Podle PC Magazine z ledna 1990 více než 100 společností nabízelo téměř 200 různých nástrojů CASE. V době, kdy IBM navrhla AD / cyklus, který byl aliance dodavatelů softwaru se soustředil na IBM Software úložiště pomocí IBM DB2 na sálových a OS / 2 :

Nástroje pro vývoj aplikací mohou pocházet z několika zdrojů: od IBM, od dodavatelů a od samotných zákazníků. IBM uzavřela vztahy se společnostmi Bachman Information Systems, Index Technology Corporation a Knowledgeware, přičemž vybrané produkty od těchto dodavatelů budou prodávány prostřednictvím doplňkového marketingového programu IBM, aby poskytly nabídky, které pomohou dosáhnout úplného pokrytí životního cyklu .

S poklesem sálového počítače nástroje AD / Cycle a Big CASE odumřely, což otevřelo trh dnešních běžných nástrojů CASE. Mnoho z vůdců trhu CASE na počátku 90. let bylo nakonec zakoupeno společností Computer Associates , včetně IEW, IEF, ADW, Cayenne a Learmonth & Burchett Management Systems (LBMS). Dalším trendem, který vedl k vývoji nástrojů CASE, byl vzestup objektově orientovaných metod a nástrojů. Většina různých prodejců nástrojů přidala podporu pro objektově orientované metody a nástroje. Kromě toho vznikly nové produkty, které byly navrženy zdola nahoru, aby podporovaly objektově orientovaný přístup. Andersen vyvinul svůj projekt Eagle jako alternativu k Foundation. Několik myšlenkových lídrů v objektově orientovaném vývoji každý vyvinulo vlastní metodiku a sadu nástrojů CASE: Jacobsen, Rumbaugh, Booch atd. Nakonec byly tyto rozmanité sady nástrojů a metody konsolidovány prostřednictvím standardů vedených skupinou Object Management Group (OMG). Unified Modeling Language (UML) společnosti OMG je v současné době široce přijímán jako průmyslový standard pro objektově orientované modelování.

Software CASE

A. Fuggetta klasifikoval software CASE odlišně do 3 kategorií:

  1. Nástroje podporují konkrétní úkoly v životním cyklu softwaru .
  2. Pracovní stoly kombinují dva nebo více nástrojů zaměřených na konkrétní část životního cyklu softwaru.
  3. Prostředí kombinuje dva nebo více nástrojů nebo pracovních stolů a podporuje celý životní cyklus softwaru.

Nástroje

Nástroje CASE podporují konkrétní úkoly v životním cyklu vývoje softwaru. Lze je rozdělit do následujících kategorií:

  1. Obchodní a analytické modelování. Nástroje pro grafické modelování. Např. E / R modelování, modelování objektů atd.
  2. Rozvoj. Fáze návrhu a konstrukce životního cyklu. Ladicí prostředí. Např. IISE LKO .
  3. Ověření a validace . Analyzujte správnost , výkon atd. Kódu a specifikací .
  4. Správa konfigurace. Ovládejte odbavení a odhlášení z objektů a souborů úložiště. Např. SCCS , IISE.
  5. Metriky a měření. Analyzujte kód na složitost, modularitu (např. Žádné „přejít na“), výkon atd.
  6. Projektový management. Spravujte plány projektu, přiřazení úkolů, plánování.

Dalším běžným způsobem, jak rozlišit nástroje CASE, je rozdíl mezi Upper CASE a Lower CASE. Horní CASE Tools podporují obchodní a analytické modelování. Podporují tradiční schematické jazyky, jako jsou ER diagramy , datový tokový diagram , strukturní grafy , rozhodovací stromy , rozhodovací tabulky atd. Lower CASE Tools podporují vývojové aktivity, jako je fyzický design, ladění, konstrukce, testování, integrace komponent, údržba a reverzní inženýrství. Všechny ostatní aktivity pokrývají celý životní cyklus a platí stejně pro horní i dolní PŘÍPAD.

Pracovní stoly

Pracovní stoly integrují dva nebo více nástrojů CASE a podporují konkrétní aktivity softwarového procesu. Proto dosahují:

  • homogenní a konzistentní rozhraní (integrace prezentace).
  • Hladká integrace nástrojů a řetězců nástrojů (řízení a integrace dat).

Příkladem pracovního stolu je programovací prostředí Microsoft Visual Basic . Zahrnuje několik vývojových nástrojů: tvůrce grafického uživatelského rozhraní, editor inteligentních kódů, debugger atd. Většina komerčních produktů CASE měla tendenci být takovými pracovními stoly, které hladce integrovaly dva nebo více nástrojů. Pracovní stoly lze také klasifikovat stejným způsobem jako nástroje; jako zaměření na analýzu, vývoj, ověření atd., jakož i zaměření na velká písmena, malá písmena nebo procesy, jako je správa konfigurace, které pokrývají celý životní cyklus.

Prostředí

Prostředí je kolekce nástrojů a pracovních stolů CASE, která se pokouší podporovat celý softwarový proces. To kontrastuje s nástroji, které se zaměřují na jeden konkrétní úkol nebo konkrétní část životního cyklu. Prostředí CASE klasifikuje společnost Fuggetta následovně:

  1. Sady nástrojů. Volně spojené kolekce nástrojů. Obvykle se opírají o pracovní stoly operačního systému, jako je Workbench programátoru Unix nebo sada VMS VAX. Obvykle provádějí integraci pomocí potrubí nebo jiného základního mechanismu pro sdílení dat a předávání kontroly. Síla snadné integrace je také jednou z nevýhod. Jednoduché předávání parametrů pomocí technologií, jako je skriptování prostředí, nemůže poskytnout takovou sofistikovanou integraci, jakou může běžná databáze úložiště.
  2. Čtvrtá generace. Tato prostředí jsou také známá jako 4GL stojící za jazykové prostředí čtvrté generace kvůli skutečnosti, že raná prostředí byla navržena kolem konkrétních jazyků, jako je Visual Basic. Byli to první prostředí, která poskytla hlubokou integraci více nástrojů. Obvykle se tato prostředí zaměřovala na konkrétní typy aplikací. Například aplikace řízené uživatelským rozhraním, které prováděly standardní atomové transakce do relační databáze. Příkladem jsou Informix 4GL a Focus.
  3. Zaměřeno na jazyk. Prostředí založená na jediném často objektově orientovaném jazyce, jako je prostředí Symbolics Lisp Genera nebo VisualWorks Smalltalk od Parcplace. V těchto prostředích byly všechny prostředky operačního systému objekty v objektově orientovaném jazyce. To poskytuje výkonné ladění a grafické příležitosti, ale vyvinutý kód je většinou omezen na konkrétní jazyk. Z tohoto důvodu byla tato prostředí většinou CASE. Jejich použití bylo většinou pro prototypování a projekty výzkumu a vývoje. Společným základním nápadem pro tato prostředí bylo uživatelské rozhraní model – pohled – kontrolér, které usnadnilo udržení více prezentací stejného designu v souladu se základním modelem. Architektura MVC byla přijata jinými typy prostředí CASE i mnoha aplikacemi, které byly s nimi vytvořeny.
  4. Integrovaný. Tato prostředí jsou příkladem toho, na co má většina IT lidí tendenci myslet jako první, když uvažují o PŘÍPADU. Prostředí jako AD / Cycle společnosti IBM, FOUNDATION společnosti Andersen Consulting, systém ICL CADES a DEC Cohesion. Tato prostředí se pokoušejí pokrýt celý životní cyklus od analýzy po údržbu a poskytují integrované databázové úložiště pro ukládání všech artefaktů softwarového procesu. Integrující softwarové úložiště bylo určujícím prvkem pro tyto druhy nástrojů. Poskytli několik různých designových modelů i podporu kódu v heterogenních jazycích. Jedním z hlavních cílů pro tyto typy prostředí bylo „Round Trip Engineering“: schopnost provádět změny na úrovni designu a nechat je automaticky odrážet v kódu a naopak. Tato prostředí byla také obvykle spojena s konkrétní metodikou pro vývoj softwaru. Například sada FOUNDATION CASE od Andersena byla úzce spjata s metodikou Andersen Method / 1.
  5. Procesně zaměřený. Jedná se o nejambicióznější typ integrace. Tato prostředí se pokoušejí nejen formálně specifikovat objekty analýzy a návrhu softwarového procesu, ale i samotný skutečný proces a použít tento formální proces k řízení a vedení softwarových projektů. Příkladem jsou East, Enterprise II, Process Wise, Process Weaver a Arcadia. Tato prostředí byla ze své podstaty svázána s nějakou metodikou, protože samotný softwarový proces je součástí prostředí a může řídit mnoho aspektů vyvolání nástroje.

V praxi byl rozdíl mezi pracovními stoly a prostředím flexibilní. Například Visual Basic byl programovací pracovní stůl, ale mnozí ho také považovali za prostředí 4GL. Funkce, které odlišovaly pracovní stoly od prostředí, byly hluboká integrace prostřednictvím sdíleného úložiště nebo společného jazyka a nějaký druh metodiky (integrovaná prostředí a prostředí zaměřená na proces) nebo doménová (4GL) specifičnost.

Hlavní CASE rizikové faktory

Mezi nejvýznamnější rizikové faktory pro organizace využívající technologii CASE patří:

  • Nedostatečná standardizace. Organizace obvykle musí přizpůsobit a přijmout metodiky a nástroje podle svých konkrétních požadavků. To může vyžadovat značné úsilí k integraci jak odlišných technologií, tak odlišných metod. Například před přijetím standardu UML se konvence diagramů a metody pro navrhování objektově orientovaných modelů mezi stoupenci Jacobsena, Boocha a Rumbaugha značně lišily.
  • Nerealistická očekávání. Zastánci technologie CASE - zejména prodejci prodávající drahé sady nástrojů - často pokřivují očekávání, že nový přístup bude stříbrnou kulkou, která vyřeší všechny problémy. Ve skutečnosti to žádná taková technologie nedokáže, a pokud organizace přistoupí k PŘÍPADU s nerealistickými očekáváními, budou nevyhnutelně zklamáni.
  • Nedostatečné školení. Stejně jako u každé nové technologie vyžaduje CASE čas na zaškolení lidí v používání nástrojů a na to, aby se s nimi dostali do tempa. Projekty CASE mohou selhat, pokud odborníci nemají dostatek času na školení nebo pokud je první pokus o novou technologii sám o sobě vysoce kritický a plný rizika.
  • Nedostatečná kontrola procesu. CASE poskytuje významné nové funkce pro inovativní využití nových typů nástrojů. Bez řádného vedení procesu a ovládacích prvků mohou tyto nové funkce také způsobit významné nové problémy.

Viz také

Reference