Lektion 1 - Konstruktion vs. evolution Flashcards
Beskriv begrebet konstruktion.
Produktion
Lineær tilgang
Rationel tænkning
Fordele
- God til konplekse opgaver, opbrydning, dokumentation.
- Økonomi
Ulemper
- Dyrt at ændre
- Minimal brugerinddragelse
Beskriv vandfaldsmodellen.
Analyse – Dybdegående analyse i starten af projektet, som ender i en kravspecifikation, når den er godkendt, går man videre til næste trin.
Design – her arbejder man med specifikationer af systemets opbygning. Dette ender i en design specifikation, som skal godkendes inden næste step.
Implementering – Løsningen som er fundet i kravs- og designspecifikationen programmeres (realisering af systemet).
Aftestning – Aftestning ender i en testrapport, hvor systemets fejl rettes.
Drift – sidste step, hvor systemet sættes i drift og overvåges og vedligeholdes.
Beskriv begrebet evolution.
Eksperimenter – Benyttes for at sikre at man får udviklet den rette læsning. Her anvendes prototyper.
Empirisk tilgang – kundens involvering spiller en vigtig rolle.
Iterationer – man arbejder iterativt.
Fordele
Lettere at foretage ændringer
Brugerinddragelse
Ulemper
Kompleksitet (hvis det er stort, det som skal laves)
Dokumentation – svær at vedligeholde, fordi den hele tiden ændres.
Tidskrævende, fordi man kan blive fanget i, at det hele tiden skal blive bedre og bedre.
Beskriv den evolutionære arbejdstilgang.
Cyklisk arbejdstilgang – små iterationer, hvor små dele af systemet udvikles.
- *Analyse:** Krav til systemet fastlægges samt en foreløbig kravsspecifikation udarbejdes. – mindre end ved konstruktion.
- *Design** – fastlæggelse af de foreløbige system.
- *Programmering** – implementering af den specificerede del af systemet.
- *Aftestning** – den programmerede del af systemet testes. Hvis der er kørt flere iterationer, testes det også om de forskellige dele kan køre sammen.
- *Afprøvning** – viser og afprøver den programmerede del for kunden, som kommenterer og kommer med nye ønsker.
Herefter køres endnu en iteration, og man fortsætter indtil man har et fuldt tilfredsstillende system.
Beskriv forskellen på konstruktion og evolution, samt hvordan disse kan interagere.
Konstruktion henvender sig til projekter med stabile og eksplicitte problemer (komplekse problemer).
Evolution egner sig bedst til at skabe løsninger til skiftende miljøer. Evolution anvendes ved stor usikkerhed i et projekt.
Hvis der er både kompleksitet og usikkerhed er det muligt at anvende et miks af konstruktion og evolution. Hertil kommer princippet om begrænset reducérbarhed, for hvis usikkerheden reduceres, så øger kompleksiteten (da fx mere data indsamles), og omvendt så øges usikkerheden hvis kompleksiteten skal reduceres.
Beskriv 8-dronninge problemet, hvor opgaven er at udvikle et system, som kan placere 8 dronninger på et skakbræt uden at nogle af dem kan slå hinanden. Tag også stilling til om den følger en konstruktiv eller evolutionær tilgang.
Der er tale om en konstruktiv tilgang.
Løsning 1 – Afsøgning af hele løsningsområdet. Den stopper når en løsning er fundet, eller når der ikke er flere muligheder. Den er uhensigtsmæssig, da den grundet de mange opstillingsmuligheder bliver meget beregningstung.
Løsning 2 – begræns søgningsfeltet ved at udelukke løsninger, som vi ved på forhånd ikke virker (maks 1 dronning pr. kolonne, række samt diagonalt).
Løsning 3 – Opdel problemet i delproblemer. Placér en dronning af gangen. Fjern den forrige dronning, hvis den næste dronning ikke kan placeres, og fortsæt indtil alle dronninger er placeret, eller der ikke forefindes nogen løsning.
Beskriv kort systemudvikling.
Formål: Optimering af arbejdsgang/IT-system.
Tilpasning til virksomhedens kontekst.
Programmør - central aktør - Hvad kan lade sig gøre?
Brugerne - central aktør - lære at bruge det. -> Brugervenlighed
Problemløsning
Forbedre afdelinger - intern infrastruktur
Beskriv kompleksitet.
Kompleksitet
- megen information
- ”indviklet” men defineret problem
- stort løsningsrum (8-dronningeproblemet,ruteplanlægning, lokalefordeling, sortering)
Strategi:
- kategorisér og abstrahér
- opdel i delproblemer indtil hvert delproblem har en simpel løsning.
Beskriv usikkerhed.
- utilstrækkelig eller ”upålidelig” information om problemet og den ønskede løsning
- systemets ønskede egenskaber er ukendte og/eller kun delvist beskrevne.
- Eksempler: Et universitets skemalægningssystem samt system til elektronisk aflevering af opgaver.
Strategi:
- indsamle mere (og mere pålidelig) information om problemet og mulige løsninger
- eksperimentér med forskellige løsninger