1 / 35

FINF4001 - Forelesning 2. 9 2004 Systemutvikling II – metoder & teknikker

FINF4001 - Forelesning 2. 9 2004 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

ania
Download Presentation

FINF4001 - Forelesning 2. 9 2004 Systemutvikling II – metoder & teknikker

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. FINF4001 - Forelesning 2. 9 2004 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. 4-16 Boehm: A Spiral Model of Software Development and Enhancement, Blomberg, J. et al: Ethnographic Field Methods and Their Relations to design. 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 FINF4001 H -04, 2.9 Arild Jansen. AFIN/UiO

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

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

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

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

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

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

  25. Eksempel på rikt bilde 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 1965..) • Tilsammen 12 ulike diagrammer • http://www.rational.com/uml/index.jsp?SMSESSION=NO • http://www.omg.org/uml/ 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 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 FINF4001 H -04, 2.9 Arild Jansen. AFIN/UiO

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

  30. Sammenheng UML-diagranner og bruksområde Use-Case diagram Class/object diagram Sequence diagram Collaboration diagram State diagram Activity diagram Component diagram Deployment diagram Use- Case view Logi- cal view Compo- nent view Concur- rency view Deploy- ment view 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 ? 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 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 ? 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 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 FINF4001 H -04, 2.9 Arild Jansen. AFIN/UiO

More Related