Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

FINF4001 H -04, 2.9 Arild Jansen. AFIN/UiO 1 FINF4001 - Forelesning 2. 9 2004 Systemutvikling II – metoder & teknikker Temaer: Utvikling av IS – Rammeverk.

Liknende presentasjoner


Presentasjon om: "FINF4001 H -04, 2.9 Arild Jansen. AFIN/UiO 1 FINF4001 - Forelesning 2. 9 2004 Systemutvikling II – metoder & teknikker Temaer: Utvikling av IS – Rammeverk."— Utskrift av presentasjonen:

1 FINF4001 H -04, 2.9 Arild Jansen. AFIN/UiO 1 FINF Forelesning Systemutvikling II – metoder & teknikker Temaer: Utvikling av IS – 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  Boehm: A Spiral Model of Software Development and Enhancement,  Blomberg, J. et al: Ethnographic Field Methods and Their Relations to design.

2 FINF4001 H -04, 2.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 -04, 2.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 -04, 2.9 Arild Jansen. AFIN/UiO 4 Utviklingsmodeller Representerer ulike tilnærminger til systemutvikling Gjenspeiler også evolusjon av programvareutvikling Hovedklasser av utviklingsmodeller er: Kod og fiks Stegvise utviklingsmodeller Fossefall/vannfallsmodellen (“waterfall”) Evolusjonære Transformasjonsmodeller Spiralmodeller

5 FINF4001 H -04, 2.9 Arild Jansen. AFIN/UiO 5 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

6 FINF4001 H -04, 2.9 Arild Jansen. AFIN/UiO 6 Utviklingsmodeller (forts.) Evolusjonsmodeller : løsningen blir gradvis utviklet basert på erfaring Iterativ systemutvikling: utvikling der omfanget gradvis økes og fasene gjentas Prototyping: en prototyp utvikles som til slutt blir systemet Transformasjonsmodeller: antar at høy nivås spesifikasjoner kan automatisk bli transformert til spesifikasjoner på lavere nivå (fra formelle spesifikasjoner til programvare)

7 FINF4001 H -04, 2.9 Arild Jansen. AFIN/UiO 7 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.)

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

9 FINF4001 H -04, 2.9 Arild Jansen. AFIN/UiO 9 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,...

10 FINF4001 H -04, 2.9 Arild Jansen. AFIN/UiO 10 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

11 FINF4001 H -04, 2.9 Arild Jansen. AFIN/UiO 11 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-analyse –> Arktek. design … OOA&D (Mathiassen et al) Problemanalyse& applik. Analyse-> Arkitektonisk design.. ……

12 FINF4001 H -04, 2.9 Arild Jansen. AFIN/UiO 12 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?

13 FINF4001 H -04, 2.9 Arild Jansen. AFIN/UiO 13 Hva er prototyping Prototyping er en systematisk teknikk for å ’oversette’ og prøve ut nye ideer og begreper i praksis A) Ekte (proper) prototyp : bruk og kast, f eks. skal framvise bestemte sider ved brukergrensesnitt eller funksjonelle egenskaper B) Smørebrett (Arbeidsbenk, verktøy) 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

14 FINF4001 H -04, 2.9 Arild Jansen. AFIN/UiO 14 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

15 FINF4001 H -04, 2.9 Arild Jansen. AFIN/UiO 15 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 NB: Må skille mellom prototyping som teknikk og som metode i evolusjonær SU.

16 FINF4001 H -04, 2.9 Arild Jansen. AFIN/UiO 16 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

17 FINF4001 H -04, 2.9 Arild Jansen. AFIN/UiO 17 Forhold mellom prototyp og det ferdige system To alternativer 1. Prototypen er en del av spesifikasjonen av det ferdige system (ekte prototype eller breadboard) for eks. å vise funksjonalitet eller brykergrensesnitt 2. Prototyper blir gradvis utviklet ogforbedret til å produsere demn framtidige systemløsningen

18 FINF4001 H -04, 2.9 Arild Jansen. AFIN/UiO 18 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

19 FINF4001 H -04, 2.9 Arild Jansen. AFIN/UiO 19 Prioriteringer og valg av tilnærmingsmåte

20 FINF4001 H -04, 2.9 Arild Jansen. AFIN/UiO 20 Sammenheng kontraktstype og utviklingsstrategi

21 FINF4001 H -04, 2.9 Arild Jansen. AFIN/UiO 21 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 )

22 FINF4001 H -04, 2.9 Arild Jansen. AFIN/UiO 22 Modeller og virkeligheten. (Edb)-system Bruker Problemområdet: Formål/oppgave: Eks - Informasjonsformidling, beslutningsstøtte, støtte for samhandling,.. Anvendelsesområdet : Del av brukerorganisasjonen Eks: Saksbehandlere eller borgerne Modell av virkeligheten Virkeligheten

23 FINF4001 H -04, 2.9 Arild Jansen. AFIN/UiO 23 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

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

25 FINF4001 H -04, 2.9 Arild Jansen. AFIN/UiO 25 Eksempel på rikt bilde

26 FINF4001 H -04, 2.9 Arild Jansen. AFIN/UiO 26 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

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

28 FINF4001 H -04, 2.9 Arild Jansen. AFIN/UiO 28 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 anvedelsesområdet Det beskriver en avgrenset bruk av (en del av) det framtidige system. Bruksmønstre tillater oss å lage mange ulike scenarier for framtidig bruk

29 FINF4001 H -04, 2.9 Arild Jansen. AFIN/UiO 29 Use Cases System Use Case 2 Use Case 3 Use Case 1 Actor

30 FINF4001 H -04, 2.9 Arild Jansen. AFIN/UiO 30 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

31 FINF4001 H -04, 2.9 Arild Jansen. AFIN/UiO 31 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 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 arbiedsformer ?

32 FINF4001 H -04, 2.9 Arild Jansen. AFIN/UiO 32 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

33 FINF4001 H -04, 2.9 Arild Jansen. AFIN/UiO 33 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 ?

34 FINF4001 H -04, 2.9 Arild Jansen. AFIN/UiO 34 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

35 FINF4001 H -04, 2.9 Arild Jansen. AFIN/UiO 35 IS-strategier Kort oppsummering Behov for ulike tilnærmingsmåter Software engineering (SE) og Ssoio-teknisk (SO) er komplementære og ikke alterntiver 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 -04, 2.9 Arild Jansen. AFIN/UiO 1 FINF4001 - Forelesning 2. 9 2004 Systemutvikling II – metoder & teknikker Temaer: Utvikling av IS – Rammeverk."

Liknende presentasjoner


Annonser fra Google