Forelesning Systemutvikling: Rammeverk- strategier metoder og teknikker

Like dokumenter
Systemutvikling II Rammeverk- strategier metoder og teknikker

DRI2001 h04 - Forelesning Systemutvikling og nettsteder

DRI 2001 Systemutviklingsarbeidet og nettsteder Forelesning

DRI 2001 Systemutviklingsarbeidet et overblikk Forelesning

Systemutvikling med usikre og uforutsigbare rammer

DRI2001 forelesning

DRI 2001 Systemutviklingsarbeidet et overblikk Forelesning

DRI2001 Offentlige nettsteder. Litt om systemutvikling Torsdag 24 aug Arild Jansen, AFIN, UiO

FINF H september Arild Jansen, AFIN Systemutvikling med usikre og uforutsigbare rammer FINF

Kravspesifikasjon. Dagens forelesning. Mal for kravspesifikasjon. Hvordan finne fram til kravene? Kravspesifikasjon og objektorientert analyse

Kravspesifikasjon med UML use case modellering. Erik Arisholm

Innhold. Innledning Del 1 En vei mot målet

AlgDat 12. Forelesning 2. Gunnar Misund

Kap3: Klassemodellering

Hensikten med denne delen av kurset. Objektets egenskaper. Objektorientering hva er det? Best practises ved programvareutvikling. Kravspesifikasjonen

Kravspesifikasjon. Erik Arisholm. Simula Research Laboratory. Institutt for Informatikk. INF1050-krav-1

Oppsummering : IMT2243 Systemutvikling. Hensikt med kurset. Innfallsvinkel : Tom Røise IMT2243 : Systemutvikling 1

Oppsummering : IMT2243 Systemutvikling. Hensikt med kurset. Innfallsvinkel : Tom Røise IMT2243 : Systemutvikling 1

Kravspesifikasjon. Kravspesifikasjon. Mal for kravspesifikasjon. Hvordan finne fram til kravene? Hva skal systemet gjøre? Hvem og hva påvirker krav?

Informatiske metoder Masterskolen Arild Jansen, AFIN

Brukersentert design Kapittel 3 i Shneiderman

Systemutvikling og prosjektveiviseren Arild Jansen, FINF

UNIVERSITETET I OSLO

Utvikling fra skallet og inn

UML-Unified Modeling Language

God objektorientert design Flere UML diagrammer UML Distilled kap. 7,8, 9 Using UML, kap. 11, 12, 14 Kirsten Ribu

Obligatorisk oppgave INF3221/4221

Dagens tema. Systemutvikling og omstilling i praksis. Noen eksempler på IKT og omstillingsprosjekter i staten. 3 cases gjennomgås

UML-Unified Modeling Language. Prosess-oversikt. Use case realisering

Tom Røise 2/28/2007. IMT2243 : Systemutvikling 1. Forelesning IMT mars Tema : Litteratur : Strukturert analyse. Strukturert analyse

Temaer: FINF aug Arild Jansen 1. FINF4001 Høst Repetisjon om informasjonssystemer (IS) Litteratur

1. Forelesning : Introduksjon Arild Jansen, AFIN

Unified Modeling Language (UML) Kravspesifikasjon med UML use case modellering. UML diagrammer. Notasjon som støtter opp under modellbasert

Informatiske metoder Masterskolen Arild Jansen, AFIN

I dag UML. Domenemodell visualisering av konsepter. Eksempel. Hvordan finne domeneklasser?

UKE 11 UML modellering og use case. Gruppetime INF1055

AlgDat 10. Forelesning 2. Gunnar Misund

Use case modellen. Use case modellering i analysefasen. Hva er en Aktør? Hva er et Use case? Use case modellering. Eksempel

Arild Jansen, AFIN. Prinsipper for fortolkende felt-studier (i en hermeneutisk tradisjon)

Kravspesifiseringsprosessen

UNIVERSITETET I OSLO

UKE 6 Utviklingsprosesser og tjenestedesign. Plenum IN1050 Julie og Maria

Design, bruk, interaksjon

Distributed object architecture

Sist oppdatert: 18.november Øvelsesoppgaver til INF1500

Læreplan i informasjonsteknologi - programfag i studiespesialiserende utdanningsprogram

The Unified Modeling Language - UML

Use case modellen. Use case modellering i analysefasen. Hva er en Aktør? Hva er et Use case?

Kravspesifikasjon med. UML diagrammer. systemutvikling. Dokumentasjon av systemets krav, arkitektur, design og implementasjon

Kravspesifikasjon med. Erik Arisholm

Universitetet i Oslo Institutt for informatikk. Eskild Busch. UML hefte

t Institutt for informatikk Erik Arisholm 13. mai 2009 INF1050-oppsummering-1

FINF aug Arild Jansen 1. Temaer: FINF4001 Høst Repetisjon om informasjonssystemer (IS) Litteratur

Fra krav til modellering av objekter

UKE 13 Mer UML modellering. Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski

GJENNOMGANG UKESOPPGAVER 7 REPETISJON

INF Introduksjon til design, bruk, interaksjon Evaluering, del 2

Gruppenavn. Prosjektnavn Beskrivelse av design For Navn på systemet. Versjon <1.0>

Kap. 2 Prosessen. Utviklingsmodeller -2. Utviklingsmodeller. Utviklingsmodeller -4. Utviklingsmodeller - 3. Software Engineering - definisjoner

Datamodellering med UML

Ulike typer prosessmodeller. Systemutvikling. Utviklingsmodeller. Prosessmodell - faser

Tom Røise 18. Februar 2009

Datamodellering med UML. Modellenes to formål. The Unified Modeling Language - UML

Kreativitet i brukerundersøkelser: Personas and beyond

System integration testing. Forelesning Systems Testing UiB Høst 2011, Ina M. Espås,

Use Case-modellering. INF1050: Gjennomgang, uke 04

UML 1. Use case drevet analyse og design Kirsten Ribu

Datamodellering med UML. Modellenes to formål. The Unified Modeling Language - UML

UNIVERSITETET I OSLO

Tom Røise IMT2243 : Systemutvikling 1. IMT2243 Systemutvikling 26. februar Klassediagrammet. Klasse

Kvalitet og programvare. Når bare det beste er godt nok. Produktet prosessen eller begge deler?

det offentlige kartgrunnlaget (DOK)

INF1000: Forelesning 7

21. Objektorientert Analyse (OOA) Kap. 21 Objektorientert Analyse (OOA)

GJENNOMGANG UKESOPPGAVER 4 USE CASE MODELLERING HELGA NYRUD & KRISTIN BRÆNDEN

Ved KHiB brukes åtte kriterier som felles referanseramme for vurdering av studentenes arbeid ved semestervurdering og eksamen:

Oppgave 1: Multiple choice (20 %)

Akseptansetesten. Siste sjanse for godkjenning Etter Hans Schaefer

Oppsummering. Thomas Lohne Aanes Thomas Amble

Utvikling. 3 syn på systemutvikling

INF 5120 Obligatorisk oppgave Nr 2

Model Driven Architecture (MDA) Interpretasjon og kritikk

GJENNOMGANG UKESOPPGAVER 9 TESTING

Transkript:

FINF4001 - Forelesning 11.9 og 13.9.2007 Systemutvikling II metoder & teknikker Temaer: Rammeverk og tilnærmingsmåter Overblikk over Avison og Fitzgerald Objekt-orientert tilnærming Objekter, klasser, strukturer og handlinger Metoder og teknikker Litt om analysemetoder og teknikker Prototyping, litt UML,.. Litteratur Avison & Fitzgerald, Information Systems, Kap. 4-16 Dahlbom, B. and L. Mathiassen, kap. 4-6 FINF4001 H-07, 11.9 og 13.9 Arild Jansen. AFIN/UiO 1 Avison & Fitzgerald, IS development Et kort leseveiledning Kap. 1-3 : Forstå IS, omgivelser og kontekst Introduksjon og kritikk av Livsyklusmodellen Kap. 4-9 Temaer i IS utvikling Organisatoriske temaer Modellering Prosess-, data, og objekt-modellering Programvareutvikling Konstruksjon, evolusjonær utvikling, prototyping vev-utvikling.. Menneskeperspektiver Brukere og brukerdeltaking, kunnskapsforvaltning mm Ekstern utvikling: kjøp av standardpakker, utskilling, mm FINF4001 H-07, 11.9 og 13.9 Arild Jansen. AFIN/UiO 2 Kap 10-18 Teknikker og verktøy Holistiske analyseteknikker Rike bilder, rot-definisjoner.begrepsmodeller,.. Data (modellerings-) teknikker (ER,ORM...) Prosess (modellering-) teknikker: Dataflyt,.beslutningstabeller, strukturerte språk Objekt-orienterte modellering /teknikker OOA&D, UML & Use cases Organisatoriske og menneske teknikker Kritisk suksess-faktorer, risiko-analyse,..swot, Verktøy Web-verktøy, Database MS, Prosjektstyringsverktøy Integrerte pakker, f eks. Oracle MS, Designer 2000 FINF4001 H-07, 11.9 og 13.9 Arild Jansen. AFIN/UiO 3 Metodologier og rammeverk (kap. 19-25) Hva er en metodologi En samling av prosedyrer, metoder, teknikker og dokumentasjonsstøtte som skal bistå systemutviklere i å planlegge, gjennomføre, kontrollere og evaluere arbeidet... Den vil omfatte faser og retningslinjer for valg av teknikker og verktøy.. Prosess-orienterte (Strukturert analyse (SA), eks. JSP) Blandete metoder (eks SSADM, både SA og datamodellering) Objekt-orienterte metodologier Mathiassen OOA&D, RUP: Use cases &UML,... Rapid development metodologier : RAD, XP,.Web dev. Menneske og organisasjonsorienterte metologier Sosio-teknikk tilnærming/ethics, Soft System methodlogy,... FINF4001 H-07, 11.9 og 13.9 Arild Jansen. AFIN/UiO 4 AFIN 1

Fra krypteringsalgoritmer til Windus-menyer Bakgrunnen for Objekt-Orientert (O-O) tenkning Funksjonsorientert tenkning Utgangspkt er prosedyre(algoritmer) som basis i å løseen oppgave Eks. beregne brospenn, kalkulere krypteringsnøkkel, anvende en /transformert lovtekst. Behandlingsreglene er sentrale Y F(x) Y Dataorientert tenkning Utgangspkt er datastrukturen som styrer oppgaveløsningen Eks Folkeregister, kunderegister i bank, lønnsberegninger, samme opplysninger for alle enheter (objekter) Hendelses (transaksjons)orientert tenkning Utgangspunkt er hendelser som utløser handlinger, f eks. innlogging, legge inn data, bestilling, bekrefte, betale/signere,.. Moderne systemløsninger omfatter alle disse perspektiver, dvs. både prosedyrer, datastruktur og transaksjoner FINF4001 H-07, 11.9 og 13.9 Arild Jansen. AFIN/UiO 5 Hva innebærer Objekt-orientert tenkning O-O programming is a method.. in which programs are organised a co-operative collection of objects, each of which represents an instance of some class, and whose classes are members of hierarchy of classes united via inheritance relationships (Avison and Fitzgerald) Object har en identitet, en tilstand og som framviser en adferd som avhenger av dens attributter Historia Simula1 (1965) Simula 67 (1968) (O.J.Dahl og K. Nygaard) LISP Programspråket Ada (1976) Utviklingen av Apple Windu-system (1978) JAVA O_O System analysis og Design (1990+ UML (1998+) FINF4001 H-07, 11.9 og 13.9 Arild Jansen. AFIN/UiO 6 Hva er Objekt-orientert modellering i praksis O-O modellering har som mål å kombinere en funksjons-, data-, og hendelsesorientering orientering ved å kunne beskrive kompliserte datastrukturer, funksjoner og interaksjonsmønstre på en oversiktig og struktur møte Nøkkelbegreper : Objekter og klasser Generalisering og spesialisering (arv) Spesialiserte klasser arver egenskaper fra generelle Eks: Mennesker (menn kvinner, barn, voksne), bil (P-bil, lastebil, ) Helhet (Aggregering) og deler (komponenter) En overordnet klasse består av underordnede objekter Eks. Bil: karosseri, hjul, motor, Strukturer : Relasjoner mellom klasser og mellom klasser og objekter Eks. Eierforhold, Dynamikk: Hendelser /aktiviteter som endrer (tilstanden) av objektene Lagdeling, modularisering og innkapsling Eksempel like typer kjøretøy Bil Kjøretøy Motorisert sykkel P-bil L-bil Buss Moped Scooter Kjøretøy Hjul Ratt Motor Karosseri Motorsykkel FINF4001 H-07, 11.9 og 13.9 Arild Jansen. AFIN/UiO 7 FINF4001 H-07, 11.9 og 13.9 Arild Jansen. AFIN/UiO 8 AFIN 2

Hvordan skrive en klasseobjekt Klassebetegnelse (eks; Bil, Student, Emne) Attributter (eks.: Nr, Navn, Adresse, Alder,.. Operasjoner (funksjoner, tjenester,..) eks : Søke, bekrefte, melde_seg_på, Melde_seg_av Objekt-Orientert (O-O) tilnærming i systemutvikling O-O tenkningen skal hjelpe oss til å beskrive fruktbare modeller av virkeligheten (problemområdet) O-O brukes både i analyse og design: Analyse: Forstå og modellere problemområdet Design : Utforme en helhetlig modell (arkitektur og komponenter) som basis for implementasjon Modellene kan framkomme ved analyse, f eks. ved en detaljering av overordnet problemstruktur til delstrukturer Ved mer konkrete handlinger F eks. utprøving av prototyper, eksperimenter, rollespill, scenarier,. FINF4001 H-07, 11.9 og 13.9 Arild Jansen. AFIN/UiO 9 FINF4001 H-07, 11.9 og 13.9 Arild Jansen. AFIN/UiO 10 Tradisjonell SU fokuserer problemet men har lett for å glemme brukerne og brukernes organisasjon!. Virkeligheten Modell av virkeligheten (Edb)-system Problemområdet: Bruker Anvendelsesområdet: Formål/oppgave: Del av brukerorganisasjonen Eks Eksemple : -Økonomistyring Økonomiavd. eller brukerne -Studentregistrering (sjølbetjening) Studentenes egen hverdag FINF4001 H-07, 11.9 og 13.9 Arild Jansen. AFIN/UiO 11 Analysefasen hvordan få fram krav og beskrive representere dette på en god måte Hva Formelle krav : Lover/regler, Rammebet. Funksjonelle krav Tekniske krav Bruksmessige krav Andre krav F eks. sikkerhet Hvordan (metode/teknikker Analyse av skriftlige materiale (Lover, budsjetter, andre Dokumenter Bestemmes av formålet (problemområdet ) Bestemmes av teknisk plattform Bestemmes av anvendelsesområdet Rike bilder Scenarier Workshops /brukerseminarer (framtidsverksteder) Rollespill Spørreskjemaer, kartleggings- og analysemetoder, Strukturerte og mindre strukturerte intervjuer FINF4001 H-07, 11.9 og 13.9 Arild Jansen. AFIN/UiO 12 AFIN 3

Bruksmønstre (use cases) Brukes til å bestemme funksjonalitet og spesielt hvordan aktører samhandler med systemet Aktør : Bruker eller andre systemer Bruksmønstre modellerer aktiviteter i anvendelsesområdet Det beskriver en avgrenset bruk av (en del av) det framtidige system. Bruksmønstre tillater oss å lage mange ulike scenarier for framtidig bruk Actor Use Cases System Use Case 1 Use Case 2 Use Case 3 FINF4001 H-07, 11.9 og 13.9 Arild Jansen. AFIN/UiO 13 FINF4001 H-07, 11.9 og 13.9 Arild Jansen. AFIN/UiO 14 A Use Case for an Automatic Teller Machine Hva er bra med bruksmønstre og mindre bra Customer Automatic Teller Machine Withdraw cash Show recent transactions Show currency exchange rates Insert card Give PIN Select amount Remove card Take money Beskriver forventet funksjonalitet av det framtidige system på et passende detaljeringsnivå og på en forståelig måte Godt egnet for å utarbeide kravspesifikasjoner Lett åforståav brukerne Utmerket grunnlag for testing og validering Men bruksmønstre kan låse grensesnitt mellom system og omgivelsene Stimulerer kanskje ikke til å nye arbeidsformer? FINF4001 H-07, 11.9 og 13.9 Arild Jansen. AFIN/UiO 15 FINF4001 H-07, 11.9 og 13.9 Arild Jansen. AFIN/UiO 16 AFIN 4

Eksempel på rikt bilde UML - The Unified Modelling Language UML er en standardisert grafisk notasjon for å støtte OO analyse og utforming grafiske symboler og enkel gramatikk (regler for bruk) Uavhengig av programmeringsspråk og utvikl. Metoder Adminstrert av OMG (obj. Man. Group) Aktører: Rumbaugh, Booch, Jacobson, Cod &Yourdan,... Bygger på grunnideene i SIMULA (Dahl&Nygård 1965..) Tilsammen 12 ulike diagrammer http://www.rational.com/uml/index.jsp?smsession=no http://www.omg.org/uml/ FINF4001 H-07, 11.9 og 13.9 Arild Jansen. AFIN/UiO 17 FINF4001 H-07, 11.9 og 13.9 Arild Jansen. AFIN/UiO 18 Forelesningen torsdag 13.9 Litt repetisjon om mm UML Diskusjon av UML på Case : student web Prototyping og Brukermedvirkning Spiralmetodikken Kriterier for valg av SU-metode De 8 mest vanlige UML-diagrammene Bruks mønster diagram Klass og objekt diagram Komponent diagram Sekvens-diagram Aktivitetsdiagram Samarbeidsdiagram Tilstandsdiagram (utplasserings) Deployment diagram FINF4001 H-07, 11.9 og 13.9 Arild Jansen. AFIN/UiO 19 FINF4001 H-07, 11.9 og 13.9 Arild Jansen. AFIN/UiO 20 AFIN 5

Sammenheng UML-diagranner og bruksområde Use- Case view Use-Case diagram Class/object diagram Sequence diagram Collaboration diagram State diagram Activity diagram Component diagram Deployment diagram Logical view Component view Concurrency view Deployment view FINF4001 H-07, 11.9 og 13.9 Arild Jansen. AFIN/UiO 21 Forutsetninger UML-Øvelse Case: Student-web en Anta at det eksisterer 3 student-kategorier: (bachelor&master-student, enkeltemne-student og ferdig kandidat Bachelor- og masterstudenter er knyttet til kun ETT program, men kan ha hospitant-status i andre programmer Anta at alle emner er knyttet til et program Emner er på 10, 20 eller 30 stp. Studentene skal kunne melde seg av og på emner, og av eksamen. Oppgave: Lag klasse/objekt-, komponent- og sekvensdiagram. FINF4001 H-07, 11.9 og 13.9 Arild Jansen. AFIN/UiO 22 Brukermedvirkning for hvem, hvor og hvordan Hvem: hvilke brukere skal involveres? Ledelse, interne brukere, eksterne (nettbaserte) brukere, andre Hvor: hvilke faser skal inngå? I analyse: lage kravspek, særlig brukergrensesnitt og design: Utforme struktur på nettside, skisse av funksjoner realisering: < Mindre aktuelt>?? Implementering : Utprøving og testing med mer sette Hvordan : Aktuelle metoder/teknikker Rike bilder, scenerier, Use-caser Ulike former for Prototyping.. FINF4001 H-07, 11.9 og 13.9 Arild Jansen. AFIN/UiO 23 Brukermedvirkning- viktige punkter Avklare formålet, involvere ledelsen Klarlegge hvem (de viktigste ) brukergrupper Målgruppe og interessent-analyse Sikre god/riktig brukerrepresentasjon Involvere representanter for ulike grupper Skille mellom storbrukere (daglige ) og sjeldne brukere Hva er de viktige kravene til brukskvalitet Hva er brukskvalitet for dette prosjekt :funksjoner, brukergrensesnitt, sikkerhet, stabilitet/svartid, Kvantifisere /definere nyttemål: brukerens nytteverdi Få fram alle behov for utvikling FINF4001 H-07, 11.9 og 13.9 Arild Jansen. AFIN/UiO 24 AFIN 6

Prototyping Noen sentrale spørsmål Hva er prototyping? Hvorfor bruker vi prototyping? Når bruker vi prototyping? Hvilke perspektiver/tilnærminger, metoder og teknikker kan omfatte prototyping? FINF4001 H-07, 11.9 og 13.9 Arild Jansen. AFIN/UiO 25 Hva er prototyping Prototyping er en systematisk teknikk for å oversette /prøve ut nye ideer og konkrete løsninger i praksis. Eks: bilmodell, flymodell, prøvebil,..testversjon av nettside,.. Ulike tilnærminger til prototyping Prototyping som teknikk Lage prototyper til å prøve ut brukergrensesnitt, tekniske løsninger osv. som IKKE inngår i den ferdige løsningen Tilsvarer bil- og flymodell Prototyping som metode i evolusjonær SU-proses (dvs. inkrementell (skrittvis) utvikl. og innføring Utvikle prototyper som en integrert del av en skrittvis SU-prosessen og vil utgjøre pilotsystem (er) FINF4001 H-07, 11.9 og 13.9 Arild Jansen. AFIN/UiO 26 Ulike typer prototyper A) Ekte (proper) prototyp : bruk og kast, f eks. skal framvise bestemte sider ved brukergrensesnitt eller funksjonelle egenskaper Ikke del av et ferdig system B) Pilot system : En tidlig versjon som kan bli brukt i anvendelsesområdet som en del av det framtidige system Eksperimentell og/eller iterativ SU [C) Verktøy (Arbeidsbenk ): Prøve ut tekniske spørsmål i utviklingsarbeidet)] FINF4001 H-07, 11.9 og 13.9 Arild Jansen. AFIN/UiO 27 Ulike mål ved prototyping Utforskende (eksplorerende) prototyping: avklare uklarheter i problemområdet (ekte prototyper) Eksperimenterende prototyping: teste ut ulike aspekter ved teknisk løsning eller f eks. brukergrensesnitt Evolusjonær prototyping : Inngår i en skrittvis SU-prosess (pilot systemer ) Mens de 2 første målene utgjør prototyping en teknikk for å avklare, framskaffe informasjon osv, så innebærer det siste målet prototyping som metode FINF4001 H-07, 11.9 og 13.9 Arild Jansen. AFIN/UiO 28 AFIN 7

Prototyping som metode i SU-prosessen Representerer et evolusjonært syn på SUprosessen Kan lage tidlig virkende versjoner tidlig i prosessen Gjør det mulig å drive programutvikling basert på eksperimentering og erfaring Husk: Må skille mellom prototyping som teknikk og som metode i evolusjonær SU. FINF4001 H-07, 11.9 og 13.9 Arild Jansen. AFIN/UiO 29 For brukerne Hvorfor prototyping Brukerne kan prøve ut operative versjoner tidlig i prosessen Gir god basis forlæring Grunnlag for å planlegge/gjennomføre organisatoriske endringer For systemutviklere Relevante problemer kan avklares gjennom eksperimentering Prototyper representerer en felles basis for kommunikasjon mellom systemutviklere og brukere Utprøving av alternative tekniske løsninger FINF4001 H-07, 11.9 og 13.9 Arild Jansen. AFIN/UiO 30 Prototyping er ingen enkel løsning på vanskelige problemer Viktig å avklare mål og strategier Prototyping må planlegges Det tar (lenger) tid, både for utviklere og brukerorganisasjon Det stiller krav til brukerne (ansvarliggjøring ) Dere sa at det var dette dere ville ha Viktig å dokumenterer hva som blir besluttet Brukeren (etter 4. prototyp) : Nei, det er ikke slik jeg vil ha det Utvikler: det var dette du sa du ville ha på siste møte Spiralmodellen Et forsøk på å kombinere evolusjonær tankegang med de positive sider av konstruksjonstenkning Fokus på risiko og reduksjon av risiko Utvikling oppdelt i et sett av sykler (i spiralen) Målsetning (hva skal oppnås f.eks. funksjonalitet, ytelse, etc.) Alternative måter å realisere løsning for dette (utvikle, kjøpe, etc.) Identifisere begrensningene (kostnad, grensesnitt, etc.) FINF4001 H-07, 11.9 og 13.9 Arild Jansen. AFIN/UiO 31 FINF4001 H-07, 11.9 og 13.9 Arild Jansen. AFIN/UiO 32 AFIN 8

Spiralmodellen- skjematisk skisse Fastlegge mål og rammer Analyse Vurdering Planlegge neste fase Vurdere alternativer, risikovurderinger Risikoanalyser Krav utforming Prototyping Utvikle neste produkt FINF4001 H-07, 11.9 og 13.9 Arild Jansen. AFIN/UiO 33 Eksempel på strategi for valg mellom ulike SUmetoder Et konsulentselskap har plukket ut 4 kriterier for å velge mellom ulike SU-metoder: Funksjonalitet/brukervennlig, dvs. viktig med et god system (f eks. Skatt, SO, lånekassa Holde tidsfrist(er), dvs. frister er absolutt (OL, 17. mai,.. Feilfritt (lav feiltoleranse): (Styre/Kontrollsystemer) Kontrollere ressursforbruk (utv. Nettsteder) Dette knyttes opp mot ulike kontrakst-typer (fastpris timepris, eller blanding av disse FINF4001 H-07, 11.9 og 13.9 Arild Jansen. AFIN/UiO 34 Prioriteringer og valg av tilnærmingsmåte I valget av tilnærmingsmåte og konkrete metoder er viktig å definere de viktigste faktorene, og denne prioriteringstabellen kan være nyttig Sammenheng kontraktstype og kostnadsforløp Disse kan illustreres slik: Kostnader = inntekter for konsulenten Prioritet Krav Oppfylle krav til Funksjonalitet Oppfylle Leveransetidspunkt (er) Lav Feiltoleranse Kontrollere Ressursforbruk Høyeste Middels høy Minimum FINF4001 H-07, 11.9 og 13.9 Arild Jansen. AFIN/UiO 35 Leveransetidspunkt Timepris : PS: fast + timep Fastpris Tid FINF4001 H-07, 11.9 og 13.9 Arild Jansen. AFIN/UiO 36 AFIN 9

Sammenheng kontraktstype og utviklingsstrategi 1. Fastpris: Sett fra leverandørens/konsulentens side er dette en god betalingsform når usikkerhet knyttet til funksjonalitet er liten. Fokus på å styre leveranse og ressursbruk: Prioriteter: Leveransetpkt: H, Ressurser:M, Funksj.& feil: L Fossefallmetoden vil ofte kunne være en egnet metode 2. Timepris: Stor usikkerhet knyttet til funksjonalitet/brukergrensesnitt (høy prioritet ), feil: G. Iterativ SU-metode (prototyping) best egnet 3 PS : Her vil usikkerheten kunne være knyttet til flere faktorer, og utfordringen ligger i å avdekke de kritiske risiko-områdene. Prioritetene må fastlegges for hvert prosjekt. Spiralmodellen er en egnet tilnærmingsmåte. Aktuelle Hvorfor ulike metodologier Målet for et SU-prosjekt vil være svært forskjellig Konstruksjonsprosess, OU-prosess, ledelsesstyrt (politisk) prosess Egenskaper ved det ferdige system er forskjellig Eks. database, vev-tjeneste, transaksonssystem Ulike rammebetingelsene rundt utvikling av systemet Tekniske, organisatoriske, økonomiske, juridiske,.. SU-prosjektet organiseres på ulike måter Top-down, Bottom-up, spesialist bruker styrt,.. metoder kan være FINF4001 MS H-07, Foundation, 11.9 og 13.9 Arild Jansen. RUP AFIN/UiO, XP. 37 FINF4001 H-07, 11.9 og 13.9 Arild Jansen. AFIN/UiO 38 Ulike strategier i SU-arbeidet Hva er resultat: Et produkt eller en prosess? Overordnet strategi og metode: Analytisk (topp-styrt/) vs Eksperimentell/Iterativ (prototyping) Ekspertdominert vs brukerdrevet Ensidig teknisk SU vs sosioteknisk SU Strategi for realisering Egenutvikling vs kjøp av standardsystem Leveranse/innføringsform: Revolusjonær (alt på en gang) vs evolusjonær/inkrementell (skrittvis ) FINF4001 H-07, 11.9 og 13.9 Arild Jansen. AFIN/UiO 39 Eksempel: Utvikling av Regjeringen.no Hvorfor: Politisk profilering, prioritere målgrupper Faggrupper: Ulike brukere Utviklere Interaksjonsdesigner & grafisk designee Infoavdelingen Netteredaktører Publisere Driftsstab: (DSS) 3 løp : Teknologi Organisering og innhold Løsningsutvikling FINF4001 H-07, 11.9 og 13.9 Arild Jansen. AFIN/UiO 40 AFIN 10