Der findes forskellige systemudviklingsværktøjer til de forskellige systemudviklingsmetodologier, og til de enkelte systemudviklingsmetodologier findes der flere forskellige systemudviklingsværktøjer.
Typisk understøtter systemudviklingsværktøjer kun én systemudviklingsmetodologi eller i hvert fald én familie af tæt relaterede systemudviklingsmetodologier. Typisk understøtter systemudviklingsværktøjer ligeledes kun dele af systemudviklingsmetodologien som for eksempel analyse og design uden implementering. Endeligt understøtter systemudviklingsværktøjer typisk kun et ensrettet systemudviklingsforløb fra analyse over design til implementering. Sådanne begrænsninger i systemudviklingsværktøjer skyldes formodentligt den meget store bredde og kompleksistet der kræves for at understøtte alle faser/aktiviteter i vilkårlig rækkefølge for flere forskellige systemudviklingsmetodologier. Dette vil kræve et systemudviklingsværktøj der understøtter mange, meget forskellige modelleringssprog og oversættelse mellem dem.
Lukkede systemudviklingsværktøjer har begrænsede muligheder for at udvide/tilpasse dem, og det er ikke umiddelbart muligt at udskifte de enkelte dele eller at kombinere dem med andre systemudviklingsværktøjer. Udvidelser og kombineringer af systemudviklingsværktøjer er typisk begrænset til import/eksport og konvertering af data, hvilket vanskeliggøres på grund af manglende standarderformater for data.
Delvist åbne systemudviklingsværktøjer er typisk bundet til én familie af modelleringssprog uden umiddelbar mulighed for at udskifte/kombinere med forskellige sprog. Der er dog muligheder for at udvide/tilpasse systemudviklingsværktøjet med yderligere systemudviklingsværktøjer i form af for eksempel redigeringsværktøjer og præsentationsværktøjer. Udvidelses-/tilpasningsmulighederne er dog typisk begrænset til systemkonfiguration af systemudviklingsværktøjer (i modsætning til fuldt integreret udvidelse/tilpasning af systemudviklingsværktøjets almindelige brugerfunktionalitet) og sikring af data konsistens.
Med komplekse systemudviklingsværktøjer og behov for at anvende forskellige systemudviklingsværktøjer til forskellige systemudviklingsprojekter og -aktiviteter/-faser er det kompliceret og dermed svært og kostbart for systemudviklere at beherske forskellige systemudviklingsværktøjer. Kompleksiteten for anvendelse af forskellige systemudviklingsværktøjer er formodentlig en væsentlig årsag til en vis konservatisme hos systemudviklere og systemudviklingsorganisationer.
Åbne systemudviklingsværktøjer giver derimod et systemudviklingsmiljø med umiddelbare muligheder for at udskifte/kombinere forskellige modelleringssprog igennem et fælles, underliggende (meta)modelleringssprog. Åbne systemudviklingsværktøjer giver ligeledes umiddelbar mulighed for at udvide/tilpasse den almindelige brugerfunktionalitet med direkte integration af udvidelser/tilpasninger. Generel systemmodellering bør kunne udgøre grundlaget for sådanne åbne systemudviklingsværktøjer.
|