Computer aided software engineering (CASE) är genomförandet av datorstödda verktyg och metoder för programvaruutveckling. CASE används för att säkerställa en högkvalitativ och defektfri programvara. CASE säkerställer ett kontrollerat och disciplinerat tillvägagångssätt och hjälper designers, utvecklare, testare, chefer och andra att se projektets milstolpar under utvecklingen.
CASE kan också hjälpa till som ett lager för dokument relaterade till projekt, som affärsplaner, krav och designspecifikationer. En av de stora fördelarna med att använda CASE är leveransen av slutprodukten, som med större sannolikhet kommer att uppfylla verkliga krav eftersom det säkerställer att kunderna förblir en del av processen.
CASE illustrerar en bred uppsättning arbetsbesparande verktyg som används vid programvaruutveckling. Det genererar en ram för att organisera projekt och för att vara till hjälp för att öka produktiviteten. Intresset för begreppet CASE-verktyg var större för flera år sedan, men mindre idag, eftersom verktygen har förvandlats till olika funktioner, ofta som en reaktion på programvaruutvecklarens behov. Begreppet CASE fick också en rejäl dos av kritik efter att det släpptes.
CASE-verktyg:
Den grundläggande idén med CASE-verktyg är att inbyggda program kan hjälpa till att analysera utvecklingssystem för att öka kvaliteten och ge bättre resultat. Under 1990-talet blev CASE-verktyg en del av mjukvarulexikonet, och stora företag som IBM använde denna typ av verktyg för att hjälpa till att skapa mjukvara.
Flera verktyg ingår i CASE och kallas CASE-verktyg, som används för att stödja olika stadier och milstolpar i en mjukvaruutvecklingslivscykel.
Typer av CASE-verktyg:
- Diagramverktyg:
Det hjälper till med diagrammatiska och grafiska representationer av data och systemprocesser. Det representerar systemelement, kontrollflöde och dataflöde mellan olika programvarukomponenter och systemstruktur i bildform.
Till exempel Flow Chart Maker verktyg för att göra toppmoderna flödesscheman. - Datorskärm och rapportgeneratorer:
Det hjälper till att förstå datakraven och de inblandade relationerna. - Analysverktyg:
Det fokuserar på inkonsekventa, felaktiga specifikationer som ingår i diagrammet och dataflödet. Det hjälper till att samla in krav, automatiskt kontrollera om det finns oegentligheter, oprecisioner i diagrammen, dataredundanser eller felaktiga utelämnanden.
Till exempel:- (i) Acceptera 360, Accompa, CaseComplete för behovsanalys.
- (ii) Visible Analyst för totalanalys.
- Centralt arkiv:
Det ger en enda lagringsplats för datadiagram, rapporter och dokument med anknytning till projektledning. - Dokumentationsgeneratorer:
Det hjälper till att generera användar- och teknisk dokumentation enligt standarder. Den skapar dokument för tekniska användare och slutanvändare.
Till exempel: Doxygen, DrExplain, Adobe RoboHelp för dokumentation. - Kodgeneratorer:
Det hjälper till att automatiskt generera kod, inklusive definitioner, med hjälp av konstruktioner, dokument och diagram.
Fördelar med CASE-metoden:
- Då särskild vikt läggs vid omkonstruktion samt testning, minskas servicekostnaden för en produkt under dess förväntade livslängd avsevärt.
- Den övergripande kvaliteten på produkten förbättras eftersom ett organiserat tillvägagångssätt tillämpas under utvecklingsprocessen.
- Chanserna att uppfylla verkliga krav är mer sannolika och lättare med en datorstödd metod för programvaruteknik.
- CASE ger indirekt en organisation en konkurrensfördel genom att bidra till att säkerställa utvecklingen av högkvalitativa produkter.
Nackdelar med CASE-metoden:
- Kostnad: Att använda case-verktyg är en mycket kostsam sak. De flesta företag som sysslar med mjukvaruutveckling i liten skala investerar inte i CASE-verktyg eftersom de anser att fördelarna med CASE endast är motiverade vid utveckling av stora system.
- Lärandekurva: I de flesta fall kan programmerarnas produktivitet sjunka i den inledande fasen av genomförandet, eftersom användaren behöver tid för att lära sig tekniken. Många konsulter erbjuder utbildning och tjänster på plats som kan vara viktiga för att påskynda inlärningskurvan och för utvecklingen och användningen av CASE-verktygen.
- Verktygsmix: Det är viktigt att bygga upp en lämplig verktygsmix för att få fram kostnadsfördelar CASE-integration och dataintegration över alla plattformar är extremt viktigt.