Systemudvikling: Forskelle mellem versioner

Content deleted Content added
m Tilføjet engelsk artikel en:Software development, hvis indhold svarer rimelig godt til den danske. Andre sprog manglede fuldstændigt
Yderligere uddybning af "Analyse" og "Design"
Linje 1:
'''Systemudvikling''' er en bred betegnelse for udvikling af [[software]]-baserede systemer. Systemudvikling består af en kombination af at finde frem til kravene til det kommende system, analysere sammenhængene i, designe, programmere og teste det. Groft deles systemudvikling op i tre discipliner:
På engelsk kaldes området bl.a. [[en:software development]] og [[en:system engineering]], men der er hverken på dansk, engelsk eller internationalt fuld konsensus om begreberne.
 
== Discipliner ==
Groft deles systemudvikling op i tre discipliner:
* Analyse
*: Går ud på at beskrive, hvilke krav systemet skal opfylde. Dette indebærer dels en analyse af systemets [[problemområde]]/[[genstandsområde]]/[[domæne (systemudvikling)|domæne]], dvs. den del af omverdenen, som systemet skal afspejle (indeholde data om), dels en analyse af systemets anvendelsesområde, dvs. den del af omverdenen, der skal bruge systemet (give input og modtage output). Analysen udmøntes overvejende i en [[kravspecifikation]] og andre dokumenter som grundlag for designet.
* Design
*: Skal med baggrund i analysen finde frem til en hensigtsmæssig opdeling af systemet med hensyn til dels dataene om problemområdet (datamodel), dels grænsefladen til brugerne og andre systemer. I designet indgår både en beskrivelse af, hvilke komponenter systemet skal opdeles i, og hvordan de enkelte komponenters grænseflade med hinanden skal fungere. Designet skal danne grundlag for programmeringen.
* [[Programmering]]
*: Går ud på at implementere designet i kode og teste den.
 
Programmeringsdisciplinen omfatter en række kompetencer, der kan studeres og behandles for sig selv, og derfor benyttes betegnelsen "systemudvikling" ofte om alt det, der ikke direkte har med programmering at gøre, nemlig at skabe fundamentet for, at man udvikler det rigtige system. Omvendt er det svært i praksis at løsrive programmeringingsdisciplinen fra de to øvrige discipliner, fordi systemudvikling normalt udføres som en iterativ proces. Det kan også ofte være svært at afgøre, om designdisciplinen har størst berøringsflade med analysedisciplinen eller programmeringsdisciplinen. Flere aspekter af designet kunne nemt opfattes som en del af analysen og andre som en del af programmeringen.