Vad är ett CASE-verktyg?
Inom informationsteknologi är ett datorstött systemteknikverktyg (CASE) verktyg som hjälper till med mjukvaruutveckling. Huvudsyftet med att använda ett CASE-verktyg är att producera felfri, lätt att underhålla programkod. Det gör det också möjligt för användare att utveckla programvarusystem snabbare än vad som skulle vara möjligt utan att använda ett sådant verktyg.
CASE-verktyg kan användas under hela informationssystemets utvecklingscykel, inom områden som är så olika som projektledning, analys av företagskrav, systemanalys och design, programmering och kvalitetssäkring. Även om ett CASE-verktyg kan användas i någon av utvecklingsfaserna används verktygen oftast i systemdesign och datorprogrammeringsfaser. Dessa verktyg började utvecklas på 1970-talet och byggde upp trender från tillverkningsprocesser för hårdvara. Metoder för mjukvaruutveckling var inte väl definierade vid den tiden, och CASE-verktyg tillförde struktur och noggrannhet i mjukvaruutvecklingsprocessen.
Ett CASE-verktyg gör det ofta möjligt för utvecklare att programmera visuellt och använda OOP-metoder (Object Oriented Programming). Ett UML-verktyg (Unified Markup Language) är ett exempel på ett CASE-verktyg. Systemdesigndokument och programkod kan genereras av verktyget som en del av den visuella designen, vilket reducerar utvecklingstiden och ökar noggrannheten för dokumenten och koden.
Att använda ett CASE-verktyg för mjukvaruutveckling erbjuder ett antal fördelar, särskilt när de implementeras för varje fas i utvecklingscykeln. Sammantaget stöder verktygen strukturerad systemdesign och datorprogrammering med hjälp av en organiserad metodik, vilket förbättrar återanvändning av design och kod. Med en fullständig implementering av CASE-verktyg dokumenteras och spåras affärskraven för systemet, vilket gör det enkelt att kontrollera att varje krav i systemet implementerades och testades. Det färdiga systemet bör ha färre programmeringsfel. Även om vissa faser i utvecklingscykeln kan ta längre tid, till exempel kravanalys, bör den övergripande processen vara snabbare än att utvecklas utan verktygen.
Flera trender belyser behovet av programvaruutvecklingsteam för att få dessa fördelar. Datorapplikationer blir allt mer komplexa, och därför blir de svårare att förstå och hantera. Fler mjukvaruutvecklingsteam sprids geografiskt, och medlemmar kan arbeta i olika tidszoner och för olika företag. Höga systemutvecklingskostnader och behov av minskad tid till marknad lägger press på utvecklingsprocessen. Med denna blandning av utmaningar har implementeringen av ett CASE-verktyg blivit allt viktigare för en framgångsrik mjukvaruutvecklingsprocess.