Oppsummering INF1050. Hovedtemaene i INF1050. Utviklingsverktøy og plattformer. Produksjon av informasjonssystemer

Like dokumenter
Oppsummering INF1050. Hovedtemaene i INF1050. Utviklingsverktøy og plattformer. Produksjon av informasjonssystemer

Oversikt over forelesningene. Fra analyse til objektdesign. Utfordringen i å lage OO-modeller. Metode for ansvarsdrevet OO. Uke 12: Ansvarsdrevet OO:

OO Design, del 2. Oversikt over forelesningene. Metode for ansvarsdrevet OO Hva er et objekt. Uke 12: Fra sekvensdiagram til klasser

Beskjed fra Skagestein

Metode for ansvarsdrevet OO. Dagens forelesning. Delegering av ansvar i en trelagsarkitektur

NB! Endring i undervisningsplanen

Intermesso. Visjonen... samling av trådene. Veivalget. Et bedre bilde av visjonen?

Fra krav til objektdesign

Metode for ansvarsdrevet OO. Dagens forelesning. Delegering av ansvar i en trelagsarkitektur

Metode for ansvarsdrevet OO. Dagens forelesning. Delegering av ansvar i en trelagsarkitektur

Spesifikasjon av Lag emne. Kursregistrering bruksmønstermodell (ny versjon) Dagens forelesning. Fra krav til objektdesign

Dagens forelesning. o Litt mer om design med UML sekvensdiagrammer. Sentralisert og delegert kontrollstil

Metode for ansvarsdrevet OO med UML. Dagens forelesning. Hovedflyt for Meld på kurs. Delegering av ansvar i en trelagsarkitektur

Metode for ansvarsdrevet OO med UML. Dagens forelesning. Hovedflyt for Meld på kurs. Delegering g av ansvar i en trelagsarkitektur

o UML klassediagrammer

Dagens forelesning. o Litt mer om design med UML sekvensdiagrammer. Sentralisert og delegert kontrollstil

UML klassediagrammer

Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer

Spesifikasjon av Lag emne. Kursregistrering bruksmønstermodell. Dagens forelesning. Fra krav til objekter

Hva vi i alle fall bør huske fra INF1050

Samling av trådene. Persistens. Dagens forelesning. Normal hendelsesflyt for Meld på kurs. Erik Arisholm. o Kort repetisjon. o Design av persistens

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

Dagsorden. Hovedtemaene i INF102. Fra kjernen og ut. Produksjon av informasjonssystemer. Produksjon av informasjonssystemer

Datamodellering med UML

Spesifikasjon av Lag emne

INF Industriell systemutvikling (Utvikling av store programsystemer) Software engineering

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

Spesifikasjon av Lag emne. Kursregistrering g bruksmønstermodell. Dagens forelesning. Fra krav til objekter

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

The Unified Modeling Language - UML

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

Instituttets krav om autentisitet og regler for obligatoriske oppgaver gjelder.

Obligatorisk oppgave INF3221/4221

Instituttets krav om autentisitet og regler for obligatoriske oppgaver gjelder.

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

Software Faults and Failure Testing Issues 8.1 / 8.2

Representasjoner. Modell uten representasjoner. Modell med representasjoner. Forekomster i interesseområdet og i informasjonssystemet

Datamodellering med UML (forts.)

Modellenes to formål. Datamodellering med UML (forts.) Fra naturlig språk til datamodell. Figur 5-2. Ogdens trekant

INF1050 Systemutvikling

Dagens tema. Den redundansfri datamodellen. Modellenes to formål. Den grunnleggende konstruksjonen det elementære utsagnet

Modellenes to formål. Datamodellering med UML (forts.) Ugrupperte og grupperte modeller. Figur 5-2. Ogdens trekant

Kursregistrering bruksmønstermodell

Læringsmål. INF1050 dagsorden 14. jan Formålet med prosjektet. Den obligatoriske prosjektoppgaven

Underbegreper. Homogenitetsregelen. Bruk av homogenitetsregelen

Sikkerhets- og samhandlingsarkitektur ved intern samhandling

Krav til pilot Magasinmodul. MUSIT Ny IT-arkitektur, planleggingsfasen

Fjerne prosess og produkt rapport som overskrift. Ha det som bunntekst.

Utvikling fra skallet og inn

Velkommen til. INF Systemutvikling. INF1050 dagsorden 16. jan Læringsmål. Læringskomponenter. Om kurset. o Læringsmål.

Utkast Notat Brukers hverdagssituasjoner og tiltak for trygghet, mestring og sosial deltakelse sett i lys av kommunal tjenesteinnovasjon

Invitasjon til dialogkonferanse. Tema: Ny rammeavtale på kundeinformasjonselementer til bruk i Jernbaneverkets infrastruktur.

Modellenes to formål. Datamodellering med UML (forts.) Ugrupperte og grupperte modeller. Figur 5-2. Ogdens trekant

UNIVERSITETET I OSLO

INF1050 Systemutvikling

Persistens. Erik Arisholm. Institutt for informatikk Erik Arisholm INF1050-persistens-1

RAMMER FOR MUNTLIG-PRAKTISK EKSAMEN I INFORMASJONSTEKNOLOGI ELEVER OG PRIVATISTER 2015

Personvernsreglene. Bruk og beskyttelse av personopplysninger. Vår Policy om Personvern

Pensum for Kvalitetsrevisorer og Revisjonsledere Kvalitet

INF1050 Systemutvikling

Den redundansfri datamodellen

VEILEDER FOR EXTRANET

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

UML-Unified Modeling Language

Kravspesifikasjon Leie av lokaler for ikt backup-løsning

Dagens tema. Den redundansfri datamodellen. Modellenes to formål. Individer i interesseområdet

Prosjektoppgave våren 2007

UML- Use case drevet analyse og design. Domenemodeller Sekvensdiagrammer Use case realisering med GRASP patterns Klassediagram - designmodeller

Forprosjektrapport TOOLBOX FOR DISTRIBUTED AGILE TEAMS. Cathrine Bui, Milad Sharif, Paul Sørensen

Representasjoner. En bro kobler begrep og representasjon. Forekomster i interesseområdet og i informasjonssystemet

BEREDSKAPSPLAN FOR DOPINGSAKER NORGES BRYTEFORBUND

Veileder for Extranet. Juni 2013

UNIVERSITETET l OSLO Det matematisk-naturvitenskapelige fakultet

Bilag til SSA-T/SSA-V/SSA-D. Bilag 4. Prosjekt- og fremdriftsplan. Anskaffelse av analyse- og informasjonsplattform /345746

Markedsdialog Hvilke utfordringer og muligheter ser den offentlige aktør? Stian Jenssen, Innkjøpsrådgiver Østfold fylkeskommune

INTEGRASJON MOT KOMTEK RENOVASJON FOR EKSTERNE SYSTEMER - OVERORDNET

Sjekkliste for vurdering av en oversiktsartikkel

SELMERS BIM-PROTOKOLL EN VEILEDER

SQL Structured Query Language. Definere tabeller Skranker Fylle tabeller med data

Dataforeningens vedlikeholdskontrakt for programvare. Veiledning for kontraktsutarbeidelse

Spørsmål og svar til Konkurransegrunnlag

Kravspesifikasjon med UML use case modellering. Erik Arisholm

Vedlegg A. Kravspesifikasjon

INF1050 Klasseromsoppgave Uke 6

Samfunnsviternes kommunikasjonsplattform

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

Representasjoner. En bro kobler begrep og representasjon. Forekomster i interesseområdet og i informasjonssystemet

Konkurransegrunnlag Bistand til kartlegging og analyse av arbeidsprosesser samt utvikling av funksjonell prototyp

SELMERS BIM-PROTOKOLL EN VEILEDER. Av: Johannes Meyer-Myklestad og Mads Fuglesang

Jakten på tidstyvene i Asker

Innkalling til møte 1. juni Forberedelse og prosess ved etablering av ny Database for statistikk om fagskoleutdanning

Brukermanual. Oppgavebasert versjon, for montører. Gjennomgår de vanligste gjøremålene for en montør!

Det er et krav at dere gjennom prosjektet demonstrerer en beherskelse av:

Rammeavtale managementprogramvare med opsjon på integrasjon mot CA Unicenter

Gerhard Skagestein: Systemutvikling fra kjernen og ut, fra skallet og inn.

Produktrapport Gruppe 9

Veiledning Risikoanalyse for Digital postkasse til innbyggere. Versjon 1.0

Én journal for hele helsetjenesten

Et lite kompendium i Systemutvikling

Transkript:

Oppsummering INF050 Hvedtemaene i INF050 Prduksjn av infrmasjnssystemer Styring av prduksjn av infrmasjnssystemer Rammer fr utvikling av infrmasjnssystemer Thedr Kittelsen: Og i det fjerne, langt, langt brte så han ne lyse g glitre Nasjnalgalleriet Verktøy g plattfrmer Dagsrden Prduksjn av infrmasjnssystemer Systemutviklingsprsessen Eventuelt INF050-ppsum- INF050-ppsum-2 Figur 2-2. Et verrdnet rammeverk fr systemutvikling Hva Analyse Realisering Prdukt Utfrming Hva Vurdering Regulering Styring Hvrdan Refleksjn Frandring Hvrdan Planlegging Etter N. E. Andersen et.al. (986): Prfessinel Systemudvikling Utviklingsverktøy g plattfrmer Utviklingsverktøy CASE-verktøy Editrer, kmpilatrer Utviklingsmiljøer Prgrammeringsspråk Utviklingsverktøy Systemutvikler Infrmasjnssystem Plattfrm (prgramvare) Plattfrm (maskinvare) Plattfrmer Operativsystemer Webtjenere Databasehåndteringssystemer Mellmvarer (Middleware) Plattfrm (prgramvare) Plattfrm (maskinvare) Bruker INF050-ppsum-3 INF050-ppsum-4

Hva raklet skal kunne vite uttrykkes i ORM, datarientert UML-klassediagram eller sm tabelldatabasestruktur registrering Fra kjernen g ut Interessemrådet påvirkning Fra kjernen g ut : Datarientert klassediagram -> Relasjnsdatabase -> Spørringer De funksjnelle krav uttrykkes i UML-bruksmønstre Fra skallet g inn registrering Interessemrådet påvirkning Fra skallet g inn: Bruksmønster -> Sekvensdiagram -> Klassediagram Jeg svarer på alle spørsmål (nesten, da) Oppfatningen av interessemrådet Jeg gjør det du frventer at jeg skal gjøre Oppfatningen av interessemrådet Orakel Infrmasjnssystem Organisasjnen Brukere INF050-ppsum-5 Infrmasjnssystem Organisasjnen Brukere INF050-ppsum-6 Datarientert vs. bjektrientert utfrming Utviklingsretninger g utfrminger Prgram SQL Infrmasjnssystem CREATE TABLE INSERT INSERT Datarientert klasse (entitet) Datarientert arkitektur Fra kjernen g ut Fra skallet g inn? Objektrientert arkitektur? metdekall create/new Infrmasjnssystem create/new klasse Objektrientert Er rutene med? interessante? INF050-ppsum-7 INF050-ppsum-8

Mdellenes t frmål Interessemrådet Hva brukes UML til? Ntasjn sm støtter pp under (et virvar av) metder fr bjektrientert analyse ( hva systemet skal gjøre ) Beskrivelse Oppfatningen av interessemrådet Freskrivelse bjektrientert design ( hvrdan systemet skal gjøre det ) datarientert analyse ( hva skal systemet vite ) Dkumentasjn av systemets krav, design g implementasjn fr andre utviklere (g fr deg selv) Evt. fr kmmunikasjn med kunde/sluttbruker under utviklingsprsjektet Infrmasjnssystem Brukere INF050-ppsum-9 INF050-ppsum-0 Nytteverdi av mdeller Sftware is becming larger and mre cmplex: mdeling helps develpers cmmunicate mre efficiently. With cde alne it s harder t grasp the big picture. The success f mdeling is highly dependent n gd tls. Mdels must be cnnected t the cde. Nytteverdien av UML sm dkumentasjn fr andre utviklere resultater fra et kntrllert eksperiment (m/java endringsppgaver g Tau UML) % subjects with crrect task 00 90 80 70 60 50 40 30 20 0 Task Crrectness N UML UML 0 Task Task2 Task3 Task4 Erik Arishlm, Samera Afsheen Ali & Siw Elisabeth Hve: An Initial Cntrlled Experiment t Evaluate the Effect f UML Design Dcumentatin n the Maintainability f Object-Oriented Sftware in a Realistic Prgramming Envirnment, Simula TR-2003-4 INF050-ppsum- Institutt fr infrmatikk G. Skagestein/E. Arishlm Arishlm/O. Hanseth 8. mai 2005 INF050-ppsum-2

Nytteverdi av UML tidsfrbruk på kding g testing Nytteverdi av UML ekstra tidsfrbruk fr å ppdatere UML-mdellene med Tau UML Effrt t understand, cde and test tasks 2+3+4 250 250 Effrt (incl. updating UML dc) fr tasks 2+3+4 Time (minutes) 200 50 00 50 Time (minutes) 200 50 00 50 0 0 NUML UML NUML UML Erik Arishlm, Samera Afsheen Ali & Siw Elisabeth Hve: An Initial Cntrlled Experiment t Evaluate the Effect f UML Design Dcumentatin n the Maintainability f Object-Oriented Sftware in a Realistic Prgramming Envirnment, Simula TR-2003-4 Erik Arishlm, Samera Afsheen Ali & Siw Elisabeth Hve: An Initial Cntrlled Experiment t Evaluate the Effect f UML Design Dcumentatin n the Maintainability f Object-Oriented Sftware in a Realistic Prgramming Envirnment, Simula TR-2003-4 Institutt fr infrmatikk G. Skagestein/E. Arishlm Arishlm/O. Hanseth 8. mai 2005 INF050-ppsum-3 Institutt fr infrmatikk G. Skagestein/E. Arishlm Arishlm/O. Hanseth 8. mai 2005 INF050-ppsum-4 Datarientert (statisk) virkelighetsmdell Datarientert klassediagram (ugruppert) Virkelighetsmdellen mfatter interessemrådets tilstander g deres representasjner regler fr lvlige/ulvlige tilstander g tilstandsverganger Virkelighetsmdellen mfatter ikke transfrmasjner fra en tilstand til den neste Infrmasjnssystemet får istedenfr en melding m at virkeligheten har endret seg, g virkelighetsmdellen ppdateres ved hjelp av funksjner i applikasjnslaget. Virkelighetsmdellen deles av alle funksjner Vi har i INF050 brukt datarienterte klassediagrammer (ugrupperte g grupperte) fr å beskrive mdellene jf. figur 5-0 kmmunenr {id} «begrep» Kmmunenavn «begrep» År «begrep» Kmmune årstall {id} «begrep» Materialgjenvinning gjenvunnet_ materiale 0: gjenvunnet mengde «begrep» Materiale materialnavn {id} «begrep» Mengde # tnn {id} kmmunenavn {id} INF050-ppsum-5 INF050-ppsum-6

Kmmune kmmunenr {id} kmmunenavn Kmmunenavn kmmunenavn {id} Datarientert klassediagram (gruppert) År årstall {id} Materialgjenvinning kmmunenr {id} årstall {id} materialnavn {id} mengde gjenvunnet_ materiale 0: gjenvunnet mengde Materiale materialnavn {id} Mengde # tnn {id} UI Realisering av et klassediagram Fylke fylkenr {id} fylkenavn {unique} fylkenr fylkenr fylkenavn Østfld kmnr2s kmmunenavn 04 relasjnsdatabase Halden Mss Østfld:Fylke Østfld evt. metder Kmmune fylkenr {id} {fk} kmnr2s {id} kmmunenavn bjekter realiseres ved hjelp av OIDs eller relatinships :Kmmune Halden evt. metder :Kmmune 04 Mss evt. metder INF050-ppsum-7 INF050-ppsum-8 Fra datamdell til relasjnsdatabase Sjekk datamdellen Fylke fylkenr {id}. mfatter : primærnøkkel referanseintegritet (fra implisitt delmengdeskranke) UI Fylke fylkenr 02 03 Er representasjnene i samsvar med begrepene? Er asssiasjnene velvalgte g frnuftige? Gir de interessante pplysninger? Er det sikkert at de ikke kan avledes? Hvis tvil: Lag frekmsttabeller! fremmednøkkel null / nt null Er multiplisitetene krrekte? ligger-i Kmmune kmnr2s {id}. plassering av fremmednøkkel primærnøkkel Kmmune NOT NULL fylkenr kmnr2s 04 05 Hvis tvil: Lag frekmsttabeller! Er rller angitt der hvr latmannsregelen ikke hlder? Er hmgenitetsregelen anvendt? Er viktige skranker dkumentert? INF050-ppsum-9 INF050-ppsum-20

Sjekk relasjnsdatabasestrukturen Er fremmednøkkelen generert på riktig side? Er {null} angitt fr fremmednøkler der minimumsmultiplisiteten er 0? Har du fått med deg eventuelle sammensatte fremmednøkler? Er delmengdeskranker satt på mellm fremmednøkler g primærnøkler? Er undertrykking av tabeller begrunnet? Er NOT NULL angitt fr alle ikke {null} attributter? Er valg av partisjnering, absrbsjn eller separasjn ved gruppering rundt underbegreper begrunnet? Er eventuelle avvik fra tredje nrmalfrm/bcnf begrunnet? Finnes det ne i relasjnsdatabasestrukturen sm ikke finnes i datamdellen, eller mvendt? Objektrientert (dynamisk) virkelighetsmdell Virkelighetsmdellen gjenspeiler knkrete g/eller tenkte (mentale) bjekter, med hver sin tilstand g hver sin ppførsel Virkelighetsmdellens bjekter kan selv sørge fr transfrmasjner fra en tilstand til den neste Infrmasjnssystemet må i tillegg ha funksjner (fte implementert ved hjelp av bjekter) fr (resten av) frretningslgikken brukergrensesnittet Vi har i INF050 brukt sekvens-, bjekt- g klassediagrammer fr å beskrive mdellene INF050-ppsum-2 INF050-ppsum-22 Metde fr ansvarsdrevet OO Inf050 metden (Iterativ): Kursregistrering bruksmønstermdell Analyse av krav () Identifiser aktører g deres mål (2) Lag et høynivå bruksmønsterdiagram (3) Spesifiser hvert bruksmønster tekstlig med nrmal hendelsesflyt g variasjner Objektdesign Fr hvert bruksmønster: (4) Identifiser bjekter g frdel ansvar mellm dem (CRC) (5) Lag sekvensdiagram fr nrmal hendelsesflyt g viktige variasjner (6) Lag klassediagram sm tilsvarer sekvensdiagrammene (7) Lag til slutt klassediagram på systemnivå Institutt fr infrmatikk G. Skagestein/E. Arishlm Arishlm/O. Hanseth 8. mai 2005 INF050-ppsum-23 INF050-ppsum-24

Revidert spesifikasjn av Meld på kurs Navn: Meld på kurs Aktør: Student Trigger: Student ønsker å melde seg på et kurs Pre-betingelse: Student har betalt semesteravgift g er lgget inn på systemet Pst-betingelse: Student er meldt på kurset eller er satt på venteliste Nrmal Hendelsesflyt:. Studenten velger emne 2. Systemet sjekker at studenten kvalifiserer til å ta emnet 3. Systemet finner kurs fr emnet 4. Systemet sjekker m det er ledig plass på kurset 5. Systemet registrerer studenten på kurset Meld på kurs (frts.) Variasjner: a. Emnet finnes ikke:. Studenten velger et annet emne eller avslutter 2a. Emnet frutsetter andre emner:. Systemet sjekker at studenten har bestått kurs fr emner sm frutsettes a. Studenten har ikke bestått kurs fr emner sm frutsettes:. Studenten velger et annet emne eller avslutter 3a. Det hldes ikke kurs i emnet dette semesteret:. Studenten velger et annet emne eller avslutter 4a. Kurset er fullt:. Systemet spør m studenten ønsker å bli satt på venteliste a. Studenten ønsker å bli satt på venteliste:. Systemet setter studenten på venteliste Relatert infrmasjn: I denne versjnen hldes administrasjn av gruppeundervisning utenfr systemet INF050-ppsum-25 INF050-ppsum-26 Utfrdringen i å lage OO-mdeller Tre typer bjekter Frretningsbjekter ( entity bjects ) Kntrllbjekter ( cntrl bjects ) Kantbjekter ( bundary bjects ) Gitt et sett bruksmønstre: Hvrdan finne bjekter g frdele ansvar mellm dem slik at bruksmønstrene blir realisert! Litt frenklet kan man si at denne tredelingen skiller mellm ) bjekter sm skal lagres i en database, 2) bjekter sm krdinerer handlingene i et bruksmønster g 3) bjekter sm kmmuniserer med aktørene. Men hvr mye ansvar bør kntrllbjektene ha, g i hvilken grad bør vi bevisstgjøre frretningsbjektene våre?? INF050-ppsum-27 INF050-ppsum-28

Nrmal hendelsesflyt fr Meld på kurs (sentralisert kntrllstil, kntrllbjektet har ansvar fr det meste av handlingsfrløpet) Nrmal hendelsesflyt fr Meld på kurs (delegert kntrllstil: Emne g Kurs har vertatt mye av ansvaret fra kntrllbjektet) Institutt fr infrmatikk G. Skagestein/E. Arishlm Arishlm/O. Hanseth 8. mai 2005 INF050-ppsum-29 Institutt fr infrmatikk G. Skagestein/E. Arishlm Arishlm/O. Hanseth 8. mai 2005 INF050-ppsum-30 Klassediagram fr nrmal hendelsesflyt Freløpig klassediagram på systemnivå INF050-ppsum-3 INF050-ppsum-32

Figur 0-0. Sekvensdiagram fr avfallsstatistikk-system Be m statistikk new( ) lagstatistikk(args) Kntrllbjekt :Kantbjekt :Statistikkinteressert persn :Statistikkprdusent hentdata(args) :HeleLandet Fjern bjektet det trengs ikke lenger Halden: Kmmune Frretningsbjekter Mss: Kmmune mengde :=gjenvunnetmengde (peride,materiale) gjenta fr alle kmmuner Halden998: Gjenvinning mengde:=gjenvunnetmengde (peride,materiale) mengde :=gjenvunnetmengde(materiale) mengde := gjenvunnetmengde(materiale) Halden20: Gjenvinning mengde := gjenvunnetmengde(materiale) gjenta fr alle aktuelle år Mss998: Gjenvinning INF050-ppsum-33 -... +...() Emne -emnet -kurs Realisering av asssiasjner (NB! Det finnes verktøystøtte fr dette) Kurs -antallplasser : int -antallpaameldt : int -semester : String +ledigplass() : blean +meldpaa(in studenten : Student) class Kurs { } -paameldtekurs //asssiasjner Emne emnet; // referanse til emnet fr kurset Vectr paameldtestudenter; // liste ver påmeldte studenter // attributter private int antallplasser; private int antallpaameldt; private String semester; public blean ledigplass() {} 0.. public blean meldpaa(student s) { antallpaameldt = antallpaameldt + ; paameldtestudenter.addelement(s); } er meldt på -paameldtestudenter 0.. class Student { } //asssiasjner Vectr paameldtekurs; Student -studentid : String -navn : String +ermeldtpaa(in kurset : Kurs) // attributter private String studentid, navn; public blean ermeldtpaa(kurs k) { paameldtekurs.addelement(k); } // liste ver påmeldte kurs INF050-ppsum-34 Frmalisme i UML UML Et tegneverktøy eller fremtidens systemutviklingsspråk? De fleste utviklere i dag bruker UML sm et rent tegneverktøy fr å lage relativt ufrmelle mdeller av IT-systemer, sm de deretter kder i et prgrammeringsspråk Behv fr å ppdatere ikke bare kde, men gså UML-mdellene, dersm de skal ha verdi sm fremtidig dkumentasjn av et system. Ofte gidder ikke systemutviklere benytte seg av eksisterende mdeller fr å frstå et system frdi de av erfaring regner med at mdellene ikke er ppdatert? mdellene er fr upresise eller ufullstendige, slik at man likevel må se på kden? kden uansett er den beste dkumentasjnen? Mdell-drevet utvikling (MDA/MDD): Tneangivende grupperinger (OMG, IBM m.fl.) begynner nå å lage teknlgier hvr UMLmdeller (tilsvarende de vi har laget i Inf050) i praksis blir en sentral del av plattfrmuavhengig kde. Integrert verktøystøtte fr systemspesifikasjn (med UML g OCL Object Cnstraint Language) g autmatisk kdegenerering er sentralt Veien videre? http://www.mg.rg/mda/ OMG Mdel Driven Architecture Key standards that make up the MDA suite f standards include Unified Mdeling Language (UML); Meta-Object Facility (MOF); XML Meta-Data Interchange (XMI); and Cmmn Warehuse Meta-mdel (CWM). Institutt fr infrmatikk G. Skagestein/E. Arishlm Arishlm/O. Hanseth 8. mai 2005 INF050-ppsum-35 Institutt fr infrmatikk G. Skagestein/E. Arishlm Arishlm/O. Hanseth 8. mai 2005 INF050-ppsum-36

Lver g regler Rammer Persnpplysningslven Relevante pplysninger Samtykke i innsamling av persndata Arbeidsmiljølven Medvirkningsrett Regler fr saksbehandling Teknlgi Etikk Styring av prduksjn av infrmasjnssystemer Styringsmdell (fssefall, iterativ, inkrementell, ) velges avhengig av ppdraget (hva slags system vi skal utvikle) hvilke usikkerheter er frbundet med ppdraget? hvilke rammer settes fr ppdraget? Estimering: hvr mye g hvilke ressurser trenger vi? Milepælsdefinisjner veldefinert, målbar prsjekttilstand kblet til et bestemt tidspunkt Kntrakter g avtaler INF050-ppsum-37 INF050-ppsum-38 Evlusjnære strategier fr å håndtere usikkerheter Iterativ utviklingsmdell (skrittvis frbedring) Gjentatte evalueringer, frbedringer g tilpasninger av kravspesifikasjn, arkitektur, prgrammer g infrmasjnssystemet Evaluering av risik før hver iterasjn Barry W. Behm (988) A spiral mdel f sftware develpment and enhancement. IEEE Cmputer, May, 6-72 Inkrementell (del-leveranser) Gjentatte leveranser av mindre deler av systemet Evaluering av nytte før hvert nytt delsystem utvikles Tm Gilb (988) Principles f sftware engineering management. Addisn-Wesley, Wkingham, UK Oppsummering Hvem bestemmer hvilke systemer vi skal ha? Orakel Vi lager det systemet vi får til: det vi kan frstå av bruken (g brukerne) Infrmasjnssystem det vi kan få til teknisk (håndverk & teri) Systemutviklingsprsessen Vi designer både systemet g prsessen med å lage systemet vi må velge strategi etter hvr de største prblemene er Brukergrensesnittdesign Brukergrensesnittet presenterer systemet fr brukeren g infrmasjnen i systemet (presentasjn på ulike nivåer) NB husk at brukerne tenker med sin lgikk Evaluering av infrmasjnssystemer Systemet må virke i praksis riktig system (validering) g at systemet er riktig (verifisering) heuristisk testing (etter retningslinjer) realistisk testing med brukere INF050-ppsum-39 Institutt fr infrmatikk G. Skagestein/E. T. Bratteteig Arishlm/O. Hanseth 8. mai 2005 INF050-ppsum-40

Læringsmål Du har lært hva det innebærer å utvikle et infrmasjnssystem hvrdan man fastlegger systemets egenskaper hvilke rammer sm gjelder fr utviklingen hvrdan man lager selve systemet hvrdan man mest effektivt får tatt systemet i bruk hvrdan utviklingsprsessen styres Lykke til! INF050-ppsum-4