Hva er et CASE-verktøy?
I informasjonsteknologi er et datamaskinassistert systemteknikk (CASE) verktøy programvare som hjelper med programvareutvikling. Hovedhensikten med å bruke et CASE-verktøy er å produsere feilfri, enkel å vedlikeholde programkode. Det gjør det også mulig for brukere å utvikle programvaresystemer raskere enn det som er mulig uten bruk av et slikt verktøy.
CASE-verktøy kan brukes gjennom hele informasjonssystemets utviklingssyklus, i områder som er så forskjellige som prosjektledelse, forretningskravanalyse, systemanalyse og design, programmering og kvalitetssikring. Selv om et CASE-verktøy kan brukes i hvilken som helst av utviklingsfasene, brukes verktøyene oftest i systemdesign og dataprogrammeringsfaser. Disse verktøyene begynte å bli utviklet på 1970-tallet, og bygger trender fra maskinvareproduksjonsprosesser. Programvareutviklingsmetodologier var ikke godt definert på det tidspunktet, og CASE-verktøy la struktur og strenghet til programvareutviklingsprosessen.
Et CASE-verktøy lar ofte utviklere programmere visuelt så vel som å bruke OOP-metoder (Object Oriented Programming). Et UML-designverktøy (Unified Markup Language) er et eksempel på et CASE-verktøy. Systemdesigndokumenter og programkode kan genereres av verktøyet som en del av den visuelle designen, og dermed redusere utviklingstiden og øke nøyaktigheten til dokumentene og koden.
Å bruke et CASE-verktøy for programvareutvikling gir en rekke fordeler, spesielt når de implementeres for hver fase av utviklingssyklusen. Totalt sett støtter verktøyene strukturert systemdesign og programmering av datamaskiner ved å bruke en organisert metodikk, som forbedrer gjenbruk av design og kode. Med en fullstendig implementering av CASE-verktøy, blir virksomhetens krav til systemet dokumentert og sporet, noe som gjør det enkelt å verifisere at hvert enkelt krav i systemet ble implementert og testet. Det ferdige systemet bør ha færre programmeringsfeil. Selv om noen faser i utviklingssyklusen kan ta lengre tid, for eksempel kravanalyse, bør den totale prosessen være raskere enn å utvikle seg uten verktøyene.
Flere trender fremhever behovet for at programvareutviklingsteam får disse fordelene. Dataprogrammer blir stadig mer komplekse, og derfor er de vanskeligere å forstå og administrere. Flere programvareutviklingsteam er spredt geografisk, og medlemmene jobber muligens i forskjellige tidssoner og for forskjellige selskaper. Høye systemutviklingskostnader og behov for redusert tid til marked legger press til utviklingsprosessen. Med denne blandingen av utfordringer har implementering av et CASE-verktøy blitt stadig viktigere for en vellykket programvareutviklingsprosess.