CASE (A)
Computer Aided Software Engineering. Et CASE-værktøj kan betegne et hvilket som helst stykke programmel, der tilbyder automatiseret hjælp til udvikling, projektstyring eller vedligeholdelse af edb-systemer. Denne meget brede definition betyder, at næsten alle andre typer programmelværktøjer bliver en delmængde af CASE. Derfor er det interessant at se på, hvad der er det nye ved CASE? Til dette spørgsmål er der mindst fem svar:
- Muligheden for at tegne diagrammer, såsom datamodeller (se datamodellering) og dataflow-diagrammer, hvor konsistensen automatisk bliver kontrolleret.
- Muligheden for at få genereret databaser automatisk ud fra datamodeller.
- Muligheden for, at alle diagrammer, programmer, skærmbilleder, data etc. opbevares sammenhængende ét sted, nemlig i det såkaldte repository (gemmested).
- Muligheden for, at ændringer ét sted, f.eks. i et diagram, automatisk fører til ændringer alle relevante steder, eller at systemudvikleren i det mindste bliver gjort opmærksom på alle relevante steder, hvor der må laves ændringer.
- Muligheden for at få automatiseret afprøvning af et program helt eller delvist samt at få verificeret sammenhængen mellem det udviklede program og den oprindelige kravspecifikation.
Med andre ord er styrken ved CASE-værktøjer, at alle dele af systemudvikling, fra analyse over kodning til test, integreres. Stadig er det dog ikke lykkedes at få lavet kravspecifikationen automatisk og ej heller afprøvning og indførelse i en organisation.
Der findes flere måder, hvorpå CASE-værktøjer kan kategoriseres. En måde er efter graden af tilknytning til en bestemt systemudviklingsmetode. Her er tre typer (se også figur):
- Et CASE-værktøj, der knytter sig tæt til én metode.
- Et CASE-værktøj, der mere eller mindre understøtter brugen af et bestemt antal metoder, større end én.
- Et CASE-værktøj, ofte kaldet en CASE-Shell, der ikke understøtter bestemte metoder.
Den tætte tilknytning til en metode kan være et problem, idet systemudvikleren kan blive tvunget ind i en meget faseopdelt vandfaldsmodel, hvor det måske i stedet ville have været mere hensigtsmæssigt med prototyping. Reelt er de mange CASE-værktøjer, der knytter sig til strukturerede metoder eller vandfaldsmodeller, i konflikt med tendensen til at lave prototyper. På den anden side kan en CASE-Shell med "alt godt fra havet" af teknikker og værktøjer i værste fald betyde totalt anarki i et firmas systemudvikling. [[Image:case-a.gif|center|Et CASE-værktøj kan være tæt knyttet til en metode (øverst);helt eller delvist understøtte flere metode (midten), eller være en skal (shell), der ikke understøtter nogen bestemt metode (nederst)]]

