Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 1 FINF4001 - Forelesning 1.9.2005 Systemutvikling II – metoder & teknikker Temaer: SU: Rammeverk og tilnærmingsmåter.

Liknende presentasjoner


Presentasjon om: "FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 1 FINF4001 - Forelesning 1.9.2005 Systemutvikling II – metoder & teknikker Temaer: SU: Rammeverk og tilnærmingsmåter."— Utskrift av presentasjonen:

1 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 1 FINF Forelesning Systemutvikling II – metoder & teknikker Temaer: SU: Rammeverk og tilnærmingsmåter Overblikk over Avison og Fitzgerald Metoder og teknikker Litt om analysemetoder og teknikker Prototyping, litt UML,.. Litteratur Avison & Fitzgerald, Information Systems, Kap  Dahlbom, B. and L. Mathiassen  Bratteteig, Tone: A Scandianvian Perspective on Systems Development, Phd Dissertation, Kap

2 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 2 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

3 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 3 Kap 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

4 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 4 Metodologier og rammeverk (kap ) 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,...

5 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 5 System feasibility Validasjon Programvareplaner og behov Validasjon Produktdesign Verifisering Detaljert design Verifisering Kode Enhetstest Integrasjon Produktverifisering Implementering Systemtest Bruk og vedlike- hold Revalidering ( med laksetrapper)

6 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 6 Fossefalls’modellen’ er utilstrekkelig - men fortsatt like aktuell ! Problemet er ikke veldefinert (upresist) Ønsker og behov er uklare/ikke konsistente Rammer og begrensninger er ikke klarlagt Verden er i forandring Brukernes ønsker endrer seg Omgivelsene endrer seg Tekniske forhold endrer seg  Alternative modeller er nødvendig Evolusjonær systemutvikling Eksperimentell systemutvikling Ekstrem programmering

7 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 7 Noen ulike utviklingsmetodologier Riccardi: Structured approach to DB design Analyse & kravspek. -> Konseptuelt design ->logisk design ->Fysisk design SASD (Structurert analyse og design) Analyse& kravspek-> design -> Realisering RUP & UML Use Cases & risk analysis -> O-O-analyse –> Arkitektorisk design -realisering OOA&D (Mathiassen et al) Problemanalyse& applik. Analyse-> Arkitektonisk design.. ……

8 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 8 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.)

9 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 9 Spiralmodellen- skjematisk skisse Fastlegge mål og rammer Vurdere alternativer, risikovurderinger Planlegge neste fase Utvikle neste produkt Analyse Risikoanalyser Krav utforming Vurdering Prototyping

10 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 10 Hvorfor ulike metodologier Mål for et SU-prosjekt vil være svært forskjellig Konstruksjonsprosess, OU-prosess, 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,..

11 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 11 Prioriteringer og valg av tilnærmingsmåte

12 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 12 Sammenheng kontraktstype og kostnadsforløp

13 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 13 Sammenheng kontraktstype og utviklingsstrategi Fastpris: Sett fra leverandørens/konsulentens side en god betalingsform når usikkerhet knyttet til funksjonalitet er liten. Fokus på å styre leveranse og ressursbruk: Prioriteter: Leveransepkt: H, Ressurser: G, Funksjonalitet og feil : lavere Fossefallmetoden vil ofte kunne være en egnet metode Timepris: Stor usikkerhet knyttet til funksjonalitet/brukergrensesnitt (høy prioritet ), feil: G. Iterativ SU-metode (prototyping) best egnet ’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 metoder kan være MS Foundation, RUP, XP.

14 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 14 Noen eksempler En ny nettside Student-web ved UiO Studentenes egne eksempler Norge.no ?

15 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 15 Systemutviklingsmetoder og teknikker ( Utviklingsmetodikker) Hva er en SU-metodikk Aktivitetsliste Aktivitetsrekkefølge Spesifikasjon av hva som skal leveres Programmoduler, Forslag til milepæler Anbefalte teknikker Sjekklister Rutiner for kvalitetssikring Verktøystøtte

16 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 16 Litt om Objekt-Orientert (O-O) tilnærming til SU Objekt : Et begrep eller en abstraksjon som avgrenser noe og gir mening for problemet, som skal bidra til å forstå den virkelig verden (Rumbaugh et al 1991) En entitet som har en identitet, en tilstand og adferd (Mathiassen et al 2000) ( kombinerer programmer og data, min komm. ) Klasse: En beskrivelse av en samling objekter som deler struktur, adferd og attributter Et objekt representerer en instans av en klasse Generalisering [og spesialisering] En generell klasse beskriver egenskaper som er felles for en gruppe av spesialiserte klasser Eks: Mennesker (menn kvinner, barn, voksne), bil (P-bil, lastebil,…)

17 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 17 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?

18 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 18 Hva er prototyping Prototyping er en systematisk teknikk for å ’oversette’ og prøve ut nye ideer og begreper i praksis. 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 Prototyping som metode i evolusjonær SU. Utvikle prototyper som en integrert del av en skrittvis SU-prosessen og vil utgjøre pilotsystem (er)

19 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 19 Ulike typer prototyper : A) Ekte (proper) prototyp : bruk og kast, f eks. skal framvise bestemte sider ved brukergrensesnitt eller funksjonelle egenskaper B) Verktøy (Arbeidsbenk, ) Prøve ut tekniske spørsmål i utviklingsarbeidet C) Pilot system : En tidlig versjon som kan bli brukt i anvendelsesområdet som en del av det framtidige system

20 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 20 Hvorfor prototyping For brukerne 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

21 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 21 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 ( breadboard) 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

22 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 22 Prototyping som tilnærmingsmåte i SU-arbeidet Representerer et evolusjonært syn på SU- prosessen 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.

23 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 23 Forhold mellom prototyp og det ferdige system To alternativer 1. Prototypen er en del av spesifikasjonen av det ferdige system (ekte prototype eller ’verktøy’) for eks. å vise funksjonalitet eller brukergrensesnitt 2. Prototyper blir gradvis utviklet og forbedret til å produsere den framtidige systemløsningen Eksperimentell og/eller iterativ SU Både for brukerne og systemutviklere er det viktig å skille mellom disse alternativer

24 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 24 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

25 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 25 Modeller og virkeligheten. (Edb)-system Bruker Problemområdet: Formål/oppgave: Eks - Saksbehandling (studentveb, lånekassa beslutningsstøtte, støtte for samhandling,.. Anvendelsesområdet : Del av brukerorganisasjonen Eks: Saksbehandlere eller studenter, lånesøkere Modell av virkeligheten Virkeligheten

26 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 26 Analyse av problemområdet Kartlegging og studier av skriftlige kilder Intervjuer og kartleggingsarbeid ved behov Formelle teknikker for analyse av problem/oppgavebeskrivelser, f eks. rettsregler Andre spesifikasjonsteknikker Prototyping

27 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 27 Analysemetoder Metoder og teknikker for å få innsikt i problemet og anvendelsesområder. Skal bidra til å utarbeide en kravspesifikasjon (men ikke bare det Formaliserte og mindre formaliserte metoder Spørreskjemaer, kartleggings- og analysemetoder, Analyse av skriftlige materiale Strukturerte og mindre strukturerte intervjuer Observasjoner, Etnografiske metoder Scenarier Bruksmønstre – (use cases )

28 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 28 Analysefasen – alternative metoder og teknikker Rike bilder – basert på ulike metoder: besøkobservasjon, intervjuer, dokumentstudier,.. Use-cases Scenarier Ulike former for prototyping Etnografiske metoder.....

29 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 29 Eksempel på rikt bilde

30 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 30 Litt om Objekt-Orientert (O-O) tilnærming til SU Objekt : Et begrep eller en abstraksjon som avgrenser noe og gir mening for problemet, som skal bidra til å forstå den virkelig verden (Rumbaugh et al 1991) En entitet som har en identitet, en tilstand og adferd (Mathiassen et al 2000) ( kombinerer programmer og data, min komm. ) Klasse: En beskrivelse av en samling objekter som deler struktur, adferd og attributter Et objekt representerer en instans av en klasse Generalisering [og spesialisering] En generell klasse beskriver egenskaper som er felles for en gruppe av spesialiserte klasser Eks: Mennesker (menn kvinner, barn, voksne), bil (P-bil, lastebil,…)

31 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 31 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 ) Tilsammen 12 ulike diagrammer

32 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 32 De 8 mest vanlige UML-diagrammene Classe/objekt diagram Komponent diagram (utplasserings) Deployment diagram Bruks mønster diagram Sekvens-diagram Aktivitetsdiagram Samarbeidsdiagram Tilstandsdiagram

33 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 33 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

34 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 34 Use Cases System Use Case 2 Use Case 3 Use Case 1 Actor

35 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 35 A Use Case for an Automatic Teller Machine Automatic Teller Machine Show recent transactions Show currency exchange rates Withdraw cash Customer Insert card Give PIN Select amount Remove card Take money

36 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 36 Sammenheng UML-diagranner og bruksområde Use- Case view Logi- cal view Compo- nent view Concur- rency view Deploy- ment view Use-Case diagram Class/object diagram Sequence diagram Collaboration diagram State diagram Activity diagram Component diagram Deployment diagram

37 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 37 Hva er bra med bruksmønstre – og mindre bra Beskriver forventet funksjonalitet av det framtidige system på et passende detaljerings- nivå 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 ?

38 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 38 Etnografiske metoder Etnografi : systematiske studier av andre kulturer ( i deres egne omgivelser) Etnografisk metode i SU-arbeidet : Skal gi best mulig forståelse av arbeidsaktiviteter. Metode: Observasjon, uformelle intervjuer, deltakelse, videobruk etc. Fokus: Studere arbeidstaker på egne premisser (over tid) Vekt på naturlige aktiviteter som inngår i helheten Forskjeller mellom idealer og reell adferd Formelle aspekter Oppfatninger og holdninger av arbeidet Det faktiske arbeidet

39 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 39 Problemer ved etnografiske og andre kartleggingsmetoder Drukner vi i data om dages situasjon Er det problemområdet eller anvendelsesområdet (brukerorganisasjonen) vi beskriver Når og hvordan skal vi trekke grenser mellom (data)systemet og omgivelsene Eks: Vi skal lage et nettsted for en kommune. Hva slags metoder tro dere er fruktbare ?

40 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 40 Konsekvenser av systemtenkningen i systemutviklingsarbeidet Vi må fastlegge systemets mål og rammer Dette kan innebære konfliktfyllte prioriteringer:, eks: Effektivitet sikkerhet funksjonalitet brukervennlighet fleksibilitet. Vi må finne en hensiktsmessig avgrensning av systemet Slike grenser kan (må) endre seg over tid Vi må klarlegge hvilke deler av omverdenen som er særlig relevant for systemet i bruk Organisasjonsmessige forhold, hos/ved ’kundene’, i samfunnet ellers

41 FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 41 IS-strategier Kort oppsummering Behov for ulike tilnærmingsmåter Software engineering (SE) og Sosio-teknisk (SO) er komplementære og ikke alternativer Utviklingsmetodikker (rammeverk for SU- arbeidet) Veileder i SU-arbeidet : angir faser og arbeidsformer mm Viktig for kommunikasjon og organisering av prosjektet Må brukes med fornuft, tilpasses avhengig av problemtype, betingelser, kompetanse, kultur osv


Laste ned ppt "FINF4001 H-05, 1.9 Arild Jansen. AFIN/UiO 1 FINF4001 - Forelesning 1.9.2005 Systemutvikling II – metoder & teknikker Temaer: SU: Rammeverk og tilnærmingsmåter."

Liknende presentasjoner


Annonser fra Google