Den proces at konstruere og indføre systemløsninger baseret på it. Systemudvikling er en del af uddannelsen af bl.a. ingeniører, dataloger, informatikere og datamatikere og praktiseres i forskellige sammenhænge, bl.a. i softwarefirmaer, it-afdelinger og konsulentvirksomheder. Systemerne spænder fra administrative og tekniske systemer til kommunikations- og underholdningssystemer.

Systemudvikling omfatter analyse af opgaven, design af løsningen, programmering af systemet, indføring af systemet i en praktisk brugssammenhæng, kvalitetsstyring og projektledelse. I den ene yderlighed findes små projekter, som udvikler løsninger til afgrænsede brugergrupper. Den anden yderlighed er udviklingen af systemer, der skal kunne indgå i mange forskellige sammenhænge. Sådanne initiativer er opdelt i flere delprojekter, og de kan være bemandet med hundredvis af udviklere og strække sig over flere år. Samarbejdet med brugerne er i disse situationer mindre tæt, enten fordi brugerne kun er repræsenteret gennem formelt nedsatte grupper, eller fordi systemet sælges til mange kundegrupper.

Historisk rids

Mens grundelementerne i systemudvikling er relativt stabile, har opgaverne skiftet karakter i takt med den teknologiske udvikling. I den tidlige periode fra 1960 var der fokus på udvikling af enkeltstående systemer til automatisering af manuelle systemer. Systemerne kørte på store centrale anlæg, og brugerne brugte hulkort, papirudskrifter og simple terminaler.

Fra omkring 1975 blev der satset på systemer, som i højere grad støttede den enkelte bruger i arbejdet. Disse systemer er muliggjort gennem fremkomsten af de personlige computere og netværk, som kobler den enkelte bruger til databaser og faciliteter i de centrale systemer. Samtidig skete der i perioden en rivende udvikling i brugen af grafiske virkemidler, som gjorde det lettere at anvende systemerne.

Siden 1990 er der i stigende omfang fokuseret på udvikling af systemer, som styrker samarbejdet mellem mennesker, og som spiller en strategisk rolle i den enkelte virksomhed. Disse systemer er blevet muliggjort gennem fremkomsten af globale netværk, udstrakt brug af standardsystemer samt udnyttelsen af små, bærbare enheder, der giver brugerne fleksibel systemadgang.

Tilgange til systemudvikling

På det videnskabelige område er der tre hovedstrømninger inden for systemudvikling.

  • Den første er en ingeniørmæssig tilgang, der betragter systemudvikling som primært en teknisk konstruktionsopgave på linje med andre ingeniørfag.
  • Den anden er en eksperimentel datalogisk tilgang, der lægger hovedvægten på design og finder inspiration i klassiske discipliner som arkitektur og industrielt design.
  • Den tredje er en organisatorisk og forretningsmæssig tilgang, der ser systemudvikling som en forandringsproces og baserer sig på viden om organisationer og læring.

Hver af disse faglige traditioner har bidraget væsentligt til udvikling af disciplinen, og det er nødvendigt at kombinere viden fra alle tre områder for at løse de mangeartede problemer, der opstår i praktisk systemudvikling.

Komponenter og standardløsninger

It spiller en stadig voksende rolle i mange forskellige former for menneskelig aktivitet. Derfor omfatter systemudvikling i stigende omfang nyudvikling, videreudvikling af allerede eksisterende systemer og integration af forskellige enkeltsystemer.

Opgaverne er blevet mere komplekse, og det søges håndteret på forskellige måder. Ved komponentbaseret udvikling opdeles løsningen i en række afgrænsede komponenter. Det giver mulighed for at indkøbe nogle af komponenterne, det gør det lettere at rette i og videreudvikle systemet, og det hjælper til at strukturere udviklingsarbejdet i mindre dele. Komponentbaseret udvikling gør det også muligt i højere grad at satse på genbrug af komponenter. Herved spares der udviklingstid, og kvaliteten af allerede afprøvede delløsninger kan overføres til det nye system. Til gengæld bruges der resurser på at klargøre udvalgte komponenter til genbrug.

Køb af standardløsninger er en anden strategi til håndtering af den voksende kompleksitet i systemudvikling. Der kan både være tale om samlede løsninger, som dækker mange af en virksomheds behov for it-støtte, og om afgrænsede delsystemer, der løser specifikke opgaver. Systemudviklingens hovedopgave bliver at tilpasse standardløsningerne til virksomhedens behov.

Metodik

Inden for systemudvikling findes et stort antal metoder og teknikker, som støtter udviklerne under analyse, design og programmering. Man kan groft skelne mellem tre slags metoder.

  • De funktionsorienterede metoder betragter systemet som en proces, der med bestemte inddata fra brugerne leverer uddata beregnet efter en given funktion. Her er datamaskinens evne til at bearbejde data i centrum.
  • De dataorienterede metoder lægger vægten på struktureringen af de data, som systemet skal lagre, og på at sikre brugerne adgang til disse data gennem systemet. Her er systemets database i centrum.
  • De objektorienterede metoder betragter systemet som bestående af en stor mængde samarbejdende objekter, der hver indeholder data og har beregningskapacitet. Denne tankegang kombinerer styrkerne ved de to andre tilgange, samtidig med at den sætter fokus på interaktion mellem brugerne og systemet og på opdeling af systemet i mindre, afgrænsede enheder.

Processer

Systemudvikling kan for simple opgavers vedkommende organiseres som en struktureret proces, hvor én aktivitet udføres ad gangen; først analyse, så design, så programmering og endelig indføring af systemet. I takt med at opgaverne bliver mere komplekse, og der er usikkerhed om løsningens udformning, er det imidlertid nødvendigt at inddrage mere eksperimentelle arbejdsformer.

Designskitser og prototyper udarbejdes og afprøves i samarbejde med brugere. Der veksles mellem analyse, design og programmering for at drage fordel af den viden, der fremkommer, mens processen skrider frem, og det samlede system opdeles i mindre delsystemer, så erfaringerne med færdiggørelse af et delsystem kan bruges som grundlag for revision af idéerne bag andre.

Kvalitetsstyring

Inden for systemudvikling er kvalitetsstyring er en anden vigtig støtteaktivitet, der skal sikre en tilfredsstillende kvalitet af det færdige system, samtidig med at processen effektiviseres. De centrale aktiviteter er her test af delsystemer, kritisk gennemgang af beskrivelser af systemet samt systematisk vurdering af prototyper. Jo tidligere fejl og problemer kan identificeres, desto lettere er det at foretage de fornødne ændringer.

Aktiv inddragelse af brugere i kvalitetsarbejdet spiller en afgørende rolle for tilpasning af systemet til de faktiske krav og behov.

Projektledelse

Der findes ingen ideel måde at lave systemudvikling på. Det enkelte projekt må tilpasses de givne betingelser og muligheder, og evnen til at lægge en strategi og styre forløbet spiller derfor en afgørende rolle for projekternes succes eller fiasko.

15-25% af udgifterne i systemudvikling går til projektledelse: Der skal indgås aftaler om opgaven, processen skal planlægges, der skal følges op på status og problemer, og der skal skabes og vedligeholdes et godt samarbejde mellem de ofte ret forskellige grupper, der har interesse i et projekt.

Læs mere i Lex

Kommentarer

Kommentarer til artiklen bliver synlige for alle. Undlad at skrive følsomme oplysninger, for eksempel sundhedsoplysninger. Fagansvarlig eller redaktør svarer, når de kan.

Du skal være logget ind for at kommentere.

eller registrer dig