Helt centralt i systemudvikling er de forskellige systemmodeller, der laves igennem systemudviklingsforløbet - fra modellering af problemområdet over kravspecifikation, analyse, design og programmering til selve det udviklede system i form af eksekverbare programmer og data samt eventuelle tilhørende manuelle procedurer.
Der anvendes meget forskellige modeltyper, der kan kategoriseres som verbale, matematiske, grafiske eller simulerede modeller, i de forskellige systemudviklingsmetodologier og indenfor de enkelte systemudviklingsmetodologier, og der anvendes modeller på meget forskellige abstraktionsniveauer i form af henholdsvis konceptuelle, logiske og fysiske modeller.
Resultatet af de forskellige faser/aktiviteter i systemudviklingsforløbet består i vid udstrækning af systemmodeller, som skal danne grundlaget for den videre systemudvikling/systemmodellering i de efterfølgende faser/aktiviteter. Typisk er der ikke nogen direkte sammenhæng mellem de forskellige systemmodeller i de forskellige faser/aktiviteter men kun indirekte sammenhæng i form af de metoder systemudviklingsmetodologierne angiver for systemudviklerne til at oversætte/fortolke og videreudvikle fra en model til en anden.
Anvendelsen af meget forskellige modeltyper på meget forskellige abstraktionsniveauer begrænser og komplicerer systemudviklingen:
Det er ikke umiddelbart muligt at skifte mellem forskellige modeltyper indenfor en enkelt fase/aktivitet til forskellige formål/situationer, som for eksempel anvendelse af en grafisk model til præsentation og overblik, en verbal model for generel forståelse, en matematisk model for detaljeret validering/verifikation og en simuleret model til afprøvning. Hvis der ønskes anvendelse af flere forskellige modeltyper skal de ofte laves som separate modeller med manuel sikring af konsistens mellem modellerne.
Den manglende/begrænsede direkte sammenhæng mellem modellerne i de forskellige faser/aktiviteter i systemudviklingsforløbet kan eventuelt ses som årsag til eller resultat af ensrettede systemudviklingsforløb. Metoderne angiver som regel kun oversættelse/fortolkning og videreudvikling i den ene "retning" i systemudviklingsforløbet ved at én fases/aktivitets systemmodeller danner rammerne for efterfølgende fasers/aktiviteters systemmodeller. Det er sjældent muligt direkte at arbejde i den modsatte retning af systemudviklingsforløbet, hvis der viser sig behov for at bryde rammerne. I sådanne tilfælde må man i stedet for iterere de relevante faser/aktiviteter i systemudviklingsforløbet, hvis der skal sikres konsistens i systemodellerne på tværs af faserne/aktiviteterne.
De mange forskellige systemudviklingsmetodologier anvender mange forskellige systemudviklingsmodeller selvom mange systemudviklingsmetodologier også anvender de samme systemudviklingsmodeller eller varianter af de samme grundlæggende systemudviklingsmodeller. Anvendelsen af forskellige systemudviklingsmodeller begrænser/umuliggør mulighederne for umiddelbart at skifte mellem forskellige systemudviklingsmetodologier.
Generel systemudvikling bør være baseret på tilsvarende generel systemmodellering baseret på fælles generelle koncepter og metoder på tværs af de forskellige systemudviklingsmetodologier, faser/aktiviter i systemudviklingsforløbet og formål/situationer, således at der igennem systemudviklingsforløbet opbygges én komplet (i det omfang det er nødvendigt/ønskeligt) og konsistent systemmodel.
|