Velkommen til andre del av INF1055 Introduksjon til systemutvikling Prosesser og prosessmodeller

Størrelse: px
Begynne med side:

Download "Velkommen til andre del av INF1055 Introduksjon til systemutvikling Prosesser og prosessmodeller"

Transkript

1 21/03/17 Velkommen til andre del av INF1055 Introduksjon til systemutvikling Prosesser og prosessmodeller Professor Dag Sjøberg INF1050/ / Dag Sjøberg Slide 1 Dag Sjøberg (dagsj@ifi.uio.no) Professor i software engineering ved Ifi, UiO siden 1999 Seniorforsker II ved SINTEF IKT siden 2014 Mastergrad Ifi, UiO 1987 PhD (dr.grad), Universitetet i Glasgow 1993 Forskningsdirektør Simula Research Laboratory år som konsulent ved Rikshospitalets IT-avdeling 2,5 år som systemutvikler og gruppeleder i Statistisk Sentralbyrå Medgründer og styremedlem i tre IT-selskaper INF1050/ / Dag Sjøberg Slide 2 1

2 Fra kursbeskrivelsen til inf1055 du lærer om hvordan systemer utvikles sett fra et software engineerings perspektiv du forstår hvordan større systemutviklingsprosjekter skiller seg fra individuelle programmeringsoppgaver du kjenner til ulike faser og aktiviteter som inngår i systemutvikling og du kan vurdere fordeler og ulemper ved forskjellige metoder og teknologier for systemutvikling INF1050/ / Dag Sjøberg Slide 3 Læremidler Kap. 1: introduksjon Plan for forelesningen Hva er systemutvikling og hvorfor lære om det? Eksempel på systemutvikling Kap. 2: Systemutviklingsprosessen hvordan jobbe smart i ITprosjekter Prosessmodeller (modeller for systemutviklingsprosesser) Fossefallsmodellen Kap. 3: Smidige metoder Tidsboksbasert (Scrum) Flytbasert (Kanban) Eksempler på praksiser ved smidig utvikling INF1050/ / Dag Sjøberg Slide 4 2

3 21/03/17 Pensum 1: Lærebok Sjøberg & Lindsjørn, Selected chapters from Ian Sommerville: Software Engineering, 10th ed, pluss noe tilleggsstoff. Pearson ISBN kr. 499, Kan også kjøpe hele Ian Sommerville: Software Engineering, 10th ed., Pearson. kr. 669,ISBN-13: ISBN-10: INF1050/ / Dag Sjøberg Slide 5 Slide 6 Kapittelnr i Sommerville 10 ed. Artikkel av Dag S. til slutt i kap. 3 (ikke pensum men relevant) Artikkelen legges ut for spesielt interessert og som har kjøpt hele Sommerville-boka INF1050/ / Dag Sjøberg 3

4 Pensum 2: Lysark fra forelesningene Inkluderer pensum som utfyller læreboka Undervisningen på universitetet skal være forskningsnær. Derfor presenteres noen forskningsresultater som ikke står i læreboka Tekstbaserte, dvs. godt egnet for lesing til eksamen INF1050/ / Dag Sjøberg Slide 7 To obligatoriske oppgaver Krav for å gå opp til eksamen Grupper settes sammen tilfeldig. Mulig å danne gruppe selv, gi beskjed til gruppelærer Viktig å gå på den neste gruppeøvelsen for å bli tildelt gruppe INF1050/ / Dag Sjøberg Slide 8 4

5 Læremidler Kap. 1: introduksjon Plan for forelesningen Hva er systemutvikling og hvorfor lære om det? Eksempel på systemutvikling Kap. 2: Systemutviklingsprosessen hvordan jobbe smart i ITprosjekter Prosessmodeller (modeller for systemutviklingsprosesser) Fossefallsmodellen Kap. 3: Smidige metoder Tidsboksbasert (Scrum) Flytbasert (Kanban) Eksempler på praksiser ved smidig utvikling INF1050/ / Dag Sjøberg Slide 9 Sentralt i Ifi s strategi Ifi vil over tid prioritere en utbygging av Software Engineering forstått som læren om utvikling og forvaltning av programvaresystemer av høy kvalitet innen gitte tids- og kostnadsrammer. Magic triangle *Scope: hvor mye funksjonalitet systemet omfatter INF1050/ / Dag Sjøberg Slide 10 5

6 Definisjon: Systemutvikling (software engineering) er læren om utvikling og forvaltning av programvaresystemer av høy kvalitet innen gitte tids- og kostnadsrammer Viktige kvalitetsegenskaper er funksjonell egnethet, effektivitet, pålitelighet, brukskvalitet, kompatibilitet, vedlikeholdbarhet, sikkerhet og overførbarhet Typiske aktiviteter er planlegging, kravinnsamling og kravanalyse, design, programmering/koding, testing, konfigurasjonsstyring og versjonshåndtering Software engineering inkluderer også å utvikle og evaluere arbeidsmåter, metoder og verktøy som støtter slike aktiviteter INF1050/ / Dag Sjøberg Slide 11 Programvare finnes nærmest overalt! INF1050/ / Dag Sjøberg Slide 12 6

7 21/03/17 Typer av systemer Uavhengige systemer: Kjører lokalt på en datamaskin, f.eks. PC, og trenger ikke koples i noe nettverk Interaktive transaksjonssystemer: Grensesnittet mot brukerne er på en PC, smart-telefon eller lignende, men systemer kjøres på datamaskiner som står andre steder. Eks. Web-applikasjoner Innebygde (embedded) systemer: programvare som kontrollerer og styrer maskinvare. Eks. mobiltelefoner, vaskemaskiner, togkontrollsystemer, biler Batch-systemer: Forretningskritiske systemer som prosesserer data i store bolker (satsvis i motsetn. til interaktivt). Eks. bank og finans, skatteoppgjøret Underholdningssystemer: Spill og annen underholdning Systemer for modellering og simulering: utviklet av forskere og ingeniører for å modellere fysiske prosesser eller situasjoner Data-innsamlingssystemer: samler inn data fra omgivelsene ved bruk av sensorer og sender dataene til andre systemer for behandling. Eks. værstasjoner, satellitter (jfr. Big Data) INF1050/ / Dag Sjøberg Slide 13 Portefølje: system av systemer Systemene er integrerte med hverandre slik at utvikling og vedlikehold av ett system må ses i sammenheng med de andre systemene i porteføljen Er ofte ultra-large scale systems, dvs. ekstremt komplekse endres kontinuerlig mange interessegrupper Eksempler: Internasjonal flytrafikk-kontroll Telenor og Oslo Universitetssykehus har flere hundre IT-systemer i sine porteføljer INF1050/ / Dag Sjøberg Slide 14 7

8 Hvilke konsekvenser har det at systemer er av ulike typer? Ulike typer systemer har ulike egenskaper og stiller ulike typer krav Systemene må derfor utvikles på ulike måter Hva vil være forskjellig ved utvikling et fly/tog-kontrollsystem og web-system som gir oversikt over Ifi s kurs? INF1050/ / Dag Sjøberg Slide 15 Variasjon i størrelse og kompleksitet Programvaren Fra noen få tusen til mange millioner linjer kode Utviklingsteamene fra enkeltpersoner til over 1000 utviklere (MS Windows) Kostnad utvikling og vedlikehold fra noen tusen kroner til flere milliarder INF1050/ / Dag Sjøberg Slide 16 8

9 21/03/17 IT-skandaler: Aftenposten INF1050/ / Dag Sjøberg Slide 17 Stor usikkerhet i IT-prosjekter Få prosjekter blir skandaler Svært mange prosjekter har stor usikkerhet når det tid kostnader levert funksjonalitet og kvalitet. Spesielt store prosjekter vet man ofte ikke hvor havner INF1050/ / Dag Sjøberg Slide 18 9

10 Læremidler Kap. 1: introduksjon Plan for forelesningen Hva er systemutvikling og hvorfor lære om det? Eksempel på systemutvikling Kap. 2: Systemutviklingsprosessen hvordan jobbe smart i ITprosjekter Prosessmodeller (modeller for systemutviklingsprosesser) Fossefallsmodellen Kap. 3: Smidige metoder Tidsboksbasert (Scrum) Flytbasert (Kanban) Eksempler på praksiser ved smidig utvikling INF1050/ / Dag Sjøberg Slide 19 Tilstanden på systemutvikling i Norge? 81 firmaer invitert til å komme med anbud på et lite web-basert informasjonssystem 35 firmaer la inn anbud Hvor stor variasjon i pristilbud? INF1050/ / Dag Sjøberg Slide 20 10

11 Fra kr til kr ! Kroner Firma INF1050/ / Dag Sjøberg Slide 21 Variasjon anbud IT-prosjekter versus veiprosjekter Kroner 3 X Kroner 9,000,000 8,000,000 7,000,000 6,000,000 5,000,000 4,000,000 3,000,000 2,000,000 1,000,000 0 * *H. Pedersen, Tender Prices: Bridge, Tunnel, Electro and Road Building and Maintenance , Technology Report 2468, Norwegian Public Roads Administration,

12 Spennende studie valgte fire firmer istedenfor ett! Tilbud, Kroner Firma A B C D B.C.D. Anda, D.I.K. Sjøberg and A. Mockus. Variability and Reproducibility in Software Engineering: A Study of four Companies that Developed the same System, IEEE Transactions on Software Engineering 35(3): , INF1050/ / Dag Sjøberg Slide Hvilket firma gjorde det best? Hva betyr best? Sammenheng mellom pris/arbeidsmengde og kvalitet? INF1050/ / Dag Sjøberg Slide 24 12

13 Dårlig Godt Arbeidsmengde Effort company firma (hours) (timer) Prosjektkvalitet Arbeidsmengde Effort customer Lead Ledetid time (kal- (days) Overskridelse Overrun (%) (%) kunde (hours) (timer) endertid (dager) Compan Firma INF1050/ / Dag Sjøberg Slide 25 Systemkvalitet God 3 2 Gjennomsnitt: B D A and C Dårlig 1 0 Brukervennlighet Pålitelighet (feil) Brukskvalitet Vedlikeholdbarhet Firma A B C D INF1050/ / Dag Sjøberg Slide 26 13

14 Vedlikehold (forvaltning) Vedlikehold av IT-systemer betyr ikke å bevare originalversjonen mest mulig slik som for bil, hus etc. Vedlikehold er alle endringer utført på et system etter at det er satt i drift Utgjør 50% 90% av kostnadene i levetiden til et system Stor andel av nedarvede ( legacy ) systemer: bank, forsikring, offentlige etater INF1050/ / Dag Sjøberg Slide 27 Alle fire systemene satt i drift i parallell. Etter to år, behov for vedlikehold: Tre endringer To tilpasninger etter plattformendringer Ett ønske om ny funksjonalitet Leide inn 6 utviklere fra Tsjekkia og Polen som hver utførte vedlikeholdsoppgavene på 2 av systemene Brukte ca. 3 uker hver på hvert system kostnad kr Tid brukt på hver fil ble automatisk registrert INF1050/ / Dag Sjøberg Slide 28 14

15 Størrelse versus vedlikehold System A System B System C System D Average effort (hours) Java lines of code (KLOC) INF1050/ / Dag Sjøberg Slide 29 Hva var årsaken til forskjellene? Ulike måter å jobbe på, dvs. ulike systemutviklingsprosesser, gir ulike resultater INF1050/ / Dag Sjøberg Slide 30 15

16 Læremidler Kap. 1: introduksjon Plan for forelesningen Hva er systemutvikling og hvorfor lære om det? Eksempel på systemutvikling Kap. 2: Systemutviklingsprosessen hvordan jobbe smart i ITprosjekter Prosessmodeller (modeller for systemutviklingsprosesser) Fossefallsmodellen Kap. 3: Smidige metoder Tidsboksbasert (Scrum) Flytbasert (Kanban) Eksempler på praksiser ved smidig utvikling INF1050/ / Dag Sjøberg Slide 31 Systemutviklingsprosess er de aktivitetene som utføres for å utvikle et IT-system Aktivitetene varierer, men vil alltid ha elementer av spesifisering av kravene, dvs. hva systemet skal gjøre design av systemet (for eksempel lage en datamodell) implementering av koden (programmering) validering av at systemet gjør det kunden ønsker endringer av systemet i forhold til nye og endrede krav hos kunden INF1050/ / Dag Sjøberg Slide 32 16

17 Prosessen påvirker resultatet Systemutviklingsprosessen i et utviklingsprosjekt vil påvirke kvaliteten både på prosjektet selv og systemet som utvikles Måten man jobber på påvirker også arbeidsmiljøet (trivsel, motivasjon, kompetanseutvikling etc.) som igjen påvirker prosjekt- og produktkvalitet generelt Din kompetanse og måten du og ditt team jobber på vil avgjøre hvordan prosjektet og sluttproduktet blir! INF1050/ / Dag Sjøberg Slide 33 Prosess-egenskaper Hvilke aktiviteter inngår i prosessen? Hvor mye av hver aktivitet (absolutt og relativt i forhold til hverandre)? Når i utviklingsfasen gjøres (hvor mye) av hver aktivitet? Prosessbeskrivelser vil også kunne inneholde delprodukter/resultater av en aktivitet rollene til dem som er involvert i prosessen hvordan teamene organiseres (man jobber sjelden alene) metoder, verktøy og teknikker som brukes INF1050/ / Dag Sjøberg Slide 34 17

18 Aktiviteter i de fire firmaene INF1050/ / Dag Sjøberg Slide 35 Relativ vektlegging INF1050/ / Dag Sjøberg Slide 36 18

19 Vektlegging underveis A B C D INF1050/ / Dag Sjøberg Slide 37 Eksempel på roller Utvikler Vedlikeholder Arkitekt/system designer Grafisk designer Tester Prosjektleder Bruker-/kunderepresentant Ikke trivielt å besette et prosjekt med den riktige kompetansen! INF1050/ / Dag Sjøberg Slide 38 19

20 Eksempel på verktøy Verktøy for: Utvikling (IDE Integrated Development Environment) Konfigurasjonsstyring/endringshåndtering Testing Diagramkonstruksjon Prosjektstyring Feil- og problemhåndtering (bug & issue tracking) Valg av verktøy er heller ikke trivielt! INF1050/ / Dag Sjøberg Slide 39 Læremidler Kap. 1: introduksjon Plan for forelesningen Hva er systemutvikling og hvorfor lære om det? Eksempel på systemutvikling Kap. 2: Systemutviklingsprosessen hvordan jobbe smart i ITprosjekter Prosessmodeller (modeller for systemutviklingsprosesser) Fossefallsmodellen Kap. 3: Smidige metoder Tidsboksbasert (Scrum) Flytbasert (Kanban) Eksempler på praksiser ved smidig utvikling INF1050/ / Dag Sjøberg Slide 40 20

21 21/03/17 Reell prosess versus modell av prosess Systemutviklingsprosess (= faktisk, reell prosess): de aktivitetene som utføres i et utviklingsprosjekt Prosessmodell (=formell prosess) (kalles også gjennomføringsmodell) En abstrakt, forenklet representasjon av en prosess Normativ (preskriptiv) beskriver en prosess slik noen mener den bør være (vanligste betydning) Deskriptiv beskriver en prosess slik vi mener vi utfører den INF1050/ / Dag Sjøberg Slide 41 Formell versus reell prosess Det vi sier vi gjør eller det vi bør gjøre Prosessbeskrivelse INF1050/ / Dag Sjøberg Det vi gjør Prosessutførelse Slide 42 21

22 Nivåer av prosessmodeller Generelle prosessmodeller (fossefall, Scrum, Kanban etc.) Definerte prosessmodeller (formell prosess) Firma-spesifikke prosessmodeller Prosjekt/gruppe-spesifikke prosessmodeller Prosess-samsvar ( Process compliance ) Reell prosess Systemutviklingsprosess INF1050/ / Dag Sjøberg Slide 43 Hvordan tilpasse prosesser? Prosesser må tilpasses ingen prosjekter er like Mange faktorer påvirker prosessen Hva kan tilpasses? Faser/aktiviteter, roller, ansvarsforhold, utforming/frekvens på rapporter og gjennomganger Hvordan tilpasse? Identifiser prosjektomgivelser utviklingsstrategi, risiko, krav, applikasjonsområde, type kunde etc. Innhent synspunkter fra utviklere, brukere, kunder Definer prosesser, aktiviteter og roller Begrunn og dokumenter tilpasningene INF1050/ / Dag Sjøberg Slide 44 22

23 Læremidler Kap. 1: introduksjon Plan for forelesningen Hva er systemutvikling og hvorfor lære om det? Eksempel på systemutvikling Kap. 2: Systemutviklingsprosessen hvordan jobbe smart i ITprosjekter Prosessmodeller (modeller for systemutviklingsprosesser) Fossefallsmodellen Kap. 3: Smidige metoder Tidsboksbasert (Scrum) Flytbasert (Kanban) Eksempler på praksiser ved smidig utvikling INF1050/ / Dag Sjøberg Slide 45 Fossefallsmodellen klassisk ingeniørtilnærming Sivilingeniørprosjekter (bygg & anlegg) er plandrevet, dvs. relativt mye tid på planlegging og utviklingen dokumenter som styrer prosjektet Separate faser Vanskelig å tilpasse endringer i krav underveis INF1050/ / Dag Sjøberg Slide 46 23

24 Fossefallsmodellen Requirements definition System and software design Implementation and unit testing Integration and system testing Operation and maintenance I prinsippet går man ikke tilbake til tidligere hovedaktiviteter før systemet er satt i drift. INF1050/ / Fra Dag Ian Sjøberg Sommerville Slide 47 Læremidler Kap. 1: introduksjon Plan for forelesningen Hva er systemutvikling og hvorfor lære om det? Eksempel på systemutvikling Kap. 2: Systemutviklingsprosessen hvordan jobbe smart i ITprosjekter Prosessmodeller (modeller for systemutviklingsprosesser) Fossefallsmodellen Kap. 3: Smidige metoder Tidsboksbasert (Scrum) Flytbasert (Kanban) Eksempler på praksiser ved smidig utvikling INF1050/ / Dag Sjøberg Slide 48 24

25 Behov for smidighet Den klassiske ingeniørtilnærmingen har vist seg ofte å ikke være egnet Derfor er smidige metoder nå blitt det normale Vektlegging av kode fremfor (omfattende) design og dokumentasjon Vektlegging av samarbeid med kunde fremfor kontraktsforhandlinger Raskere levering av kode og raske endringer tilpasset endrede brukerkrav INF1050/ / Dag Sjøberg Slide 49 Inkrementer og iterasjoner i systemutvikling Et inkrement er et tillegg i funksjonaliteten et aspekt ved systemet En iterasjon er en syklus i utviklingen et aspekt ved prosessen Et nytt inkrement utvikles gjennom en ny iterasjon En ny iterasjon kan også forbedre kvaliteten på samme funksjonalitet, dvs. man lager ikke noe nytt inkrement, men bare forbedrer det eksisterende systemet INF1050/ / Dag Sjøberg Slide 50 25

26 Inkrementell utvikling Systemet utvikles gradvis i form av nye inkrementer som blir lagt til. Hvert inkrement evalueres før utviklingen av neste inkrement starter Evalueringen gjøres av en bruker- eller kunderepresentant ( product owner ) Viktigste krav utvikles først Når utviklingen av et inkrement er startet, så fryses kravene til det inkrementet. Krav til senere inkrementer kan fortsatt endres Vanlig tilnærming i smidige metoder INF1050/ / Dag Sjøberg Slide 51 Plandrevne (tunge) prosesser Smidige (lette) prosesser Prosessaktivitetene planlagt på forhånd. Progresjon måles i henhold til planen En tung prosess inkluderer mange aktiviteter og ofte roller. Krever formelle, detaljerte og konsistente prosjektdokumenter Ofte for-tunge, dvs. vektlegger aktiviteter som gjøres tidlig i prosessen (planlegging, analyse & design) Planleggingen gjøres litt etter litt Enklere å endre prosessen for å tilpasse endrede krav fra kunden Fokuserer mer på fundamentale prinsipper (f.eks. kontinuerlig testing ). Har færre formelle dokumenter INF1050/ / Dag Sjøberg Slide 52 26

27 En samling software-guruer i 2001: Agile Manifesto 12 prinsipper* * og INF1050/ / Dag Sjøberg Slide 53 Agile Manifesto 2001 (forts.) * og INF1050/ / Dag Sjøberg Slide 54 27

28 Læremidler Kap. 1: introduksjon Plan for forelesningen Hva er systemutvikling og hvorfor lære om det? Eksempel på systemutvikling Kap. 2: Systemutviklingsprosessen hvordan jobbe smart i ITprosjekter Prosessmodeller (modeller for systemutviklingsprosesser) Fossefallsmodellen Kap. 3: Smidige metoder Tidsboksbasert (Scrum) Flytbasert (Kanban) Eksempler på praksiser ved smidig utvikling INF1050/ / Dag Sjøberg Slide 55 Prosessprinsipp: Timeboxing versus task-boxing / task-flyt Tidsbokser (Scrum) Velg noen prioriterte oppgaver og jobb med dem i faste tidsintervaller (tidsbokser*) med definerte oppstarts- og avslutningsaktiviteter Flyt av oppgaver (Kanban) Definerer et sett med oppgaver eller features og lever så snart man er ferdig. Oppgaver skal flyte uten avbrudd gjennom de nødvendige aktivitetene til de er ferdige ( oppgaveboksing ) *Tidsboks: en fast tidsperiode som et gitt arbeid skal være ferdig innenfor INF1050/ / Dag Sjøberg Slide 56 28

29 Scrum analogi fra rugby INF1050/ / Dag Sjøberg Slide 57 Scrum tre faser Planleggingsfasen: overordnede mål for prosjektet etableres og programvarearkitekturen designes Gjennomføringsfasen: en serie med iterasjoner (kalt sprint ), der hver iterasjon leverer et inkrement av systemet Avslutningsfasen: nødvendig dokumentasjon som hjelpfunksjoner og brukermanualer fullføres, og man oppsummerer hva man har lært i prosjektet INF1050/ / Dag Sjøberg Slide 58 29

30 Scrum I sprint-planleggingsmøtet evalueres oppgavelisten (backlog) som er en samling av brukerhistorier. Mål for sprinten settes inkl. prioriteter og risiko. Kunden kan sette nye krav el. gi nye oppgaver Gjennomføring Utviklingsteam og kunde velger egenskaper og funksjonalitet som skal utvikles i sprinten Planlegging Outline planning and architectural design Input: Product backlog liste av arbeidsoppgaver (Work Items) som skal utføres i prosjektet Resultatene evalueres mot målene som ble satt i sprint-planleggingsmøtet, og presenteres for kundene ( retrospective ) Assess Review Select Develop Sprint cycle 2-4 uker (tilsv. iterasjon i XP) Avslutning Project closure Lag dokumentasjon (hjelpefunksjoner, brukermanualer) og oppsummer hva man lærte Design, koding, testing. Utviklingsteamet isoleres fra kunden og organisasjonen, dvs. all kommunikasjonen skjer via Product Owner/ Scrum Master for å unngå forstyrrelser INF1050/ / Dag Sjøberg Slide 59 Brukerhistorie (user story) Én eller flere setninger som beskriver hva brukeren av et system ønsker å få ut av systemet på formen: Som en <rolle> ønsker jeg <funksjon> for å oppnå <verdi> Kort beskrivelse, passer på et kort eller gul lapp INF1050/ / Dag Sjøberg Slide 60 30

31 Visualisering Noter en oppgave eller arbeidspakke på en gul lapp og sett den på en tavle User stories US5 US4 US3 US1 US2 INF1050/ / Dag Sjøberg Slide 61 (Antatte) fordeler ved Scrum Systemet blir delt opp i en mengde forståelige og håndterbare deler Ustabile krav hindrer ikke progresjon i prosjekt-gjennomføringen Hele teamet observerer hva som skjer i prosjektet, og kommunikasjon innen teamet blir god Kundene får inkrementer levert til avtalt tid og får fortløpende tilbakemelding på hvordan deler av systemet fungerer Tillit mellom kunder og utviklere etableres tidlig og en positiv kultur skapes Kryss-funksjonelle team (kompetansene på ulike områder finnes innen teamet) sikrer framdrift og reduserer risiko Mer om teamarbeid i Scrum på forelesningen 3. mai INF1050/ / Dag Sjøberg Slide 62 31

32 Læremidler Kap. 1: introduksjon Plan for forelesningen Hva er systemutvikling og hvorfor lære om det? Eksempel på systemutvikling Kap. 2: Systemutviklingsprosessen hvordan jobbe smart i ITprosjekter Prosessmodeller (modeller for systemutviklingsprosesser) Fossefallsmodellen Kap. 3: Smidige metoder Tidsboksbasert (Scrum) Flytbasert (Kanban) Eksempler på praksiser ved smidig utvikling INF1050/ / Dag Sjøberg Slide 63 Kanban Fokus på gjennomstrømningshastighet på arbeidspakkene = antall brukerhistorier (features) implementert per tidsenhet Begrense antall arbeidspakker som det jobbes med i parallell (WIP = Work In Progress) for å hindre flaskehalser Antakelse: Jo høyere WIP, jo saktere flyter arbeidspakken gjennom arbeidsprosessene Når en pakke er ferdig, kan man etterspørre en ny som man begynner å jobbe med (pull) Slakk i tidsplanen er OK, dvs. en utvikler vil kunne vente hvis det optimaliserer overordnet flyt Mindre fokus på estimering av tid og kostnader INF1050/ / Dag Sjøberg Slide 64 32

33 21/03/17 Scrum board versus Kanban board Max WIP From: Kanban and Scrum - making the most of both by Henrik Kniberg and Mattias Skarin on Dec 21, 2009 INF1050/ / Dag Sjøberg Slide 65 Fordeler ved Kanban Flaskehalser i prosessen blir synlige Fokus på å bli ferdig med oppgaver som hindrer gjennomstrømning fremfor å begynne på flere oppgaver som vil hope seg opp Kan drive smidig utvikling uten å bruke tidsbokser Spesielt for drifts- og supportoppgaver og vedlikeholdsoppgaver vil veldefinerte sprinter ofte ikke gi mye mening Gunstig der det er svært vanskelig å estimere oppgavene *Sommerville diskuterer ikke flytbasert utvikling (Kanban). Temaet er likevel viktig INF1050/ / Dag Sjøberg Slide 66 33

34 Læremidler Kap. 1: introduksjon Plan for forelesningen Hva er systemutvikling og hvorfor lære om det? Eksempel på systemutvikling Kap. 2: Systemutviklingsprosessen hvordan jobbe smart i ITprosjekter Prosessmodeller (modeller for systemutviklingsprosesser) Fossefallsmodellen Kap. 3: Smidige metoder Tidsboksbasert (Scrum) Flytbasert (Kanban) Eksempler på praksiser ved smidig utvikling INF1050/ / Dag Sjøberg Slide 67 Refaktorering (omstrukturering) Se etter forbedringsmuligheter og implementer dem selv om ikke umiddelbart behov for dem Koden mer forståelig og enklere å endre, og mindre behov for dokumentasjon (mer vedlikeholdbar) Noen endringer krever at arkitekturen omstruktureres (kostbart) Eksempler på refaktorering Reorganisering av klassehierarki for å fjerne duplisert kode Forbedre navn på attributter og metoder Erstatte kode med kall til metoder i et programbibliotek INF1050/ / Dag Sjøberg Slide 68 34

35 Parprogrammering To programmerere utvikler kode sammen: Fører skriver på tastaturet Navigatør observerer arbeidet til føreren og ser etter feil og svakheter ser etter alternativer noterer ting som må gjøres slår opp referanser Kan brukes uavhengig av smidige metoder INF1050/ / Dag Sjøberg Slide 69 Hva er kost-nytten ved parprogramming? Sommerville skriver i boka s. 70: However, studies with more experienced programmers (Arisholm et al., 2007*; Parish et al., 2004) did not replicate these results. They found that there was a significant loss of productivity compared with two programmers working alone. Verdens største eksperiment i software engineering med 300 profesjonelle utviklere som deltakere *E. Arisholm, H.E. Gallis, T. Dybå and D.I.K. Sjøberg. Evaluating Pair Programming with Respect to System Complexity and Programmer Expertise, IEEE Transactions on Software Engineering 33(2): 65-86, 2007 INF1050/ / Dag Sjøberg Slide 70 35

36 160 % Total Effect of PP Difference from individuals 140 % 120 % 100 % 80 % 60 % 40 % 20 % 0 % 84 % 7 % -20 % -40 % -8 % Duration Effort Correctness Correctness = Prosent flere riktige løsninger enn hos individuelle programmerere INF1050/ / Dag Sjøberg Slide % Moderating Effect of System Complexity on PP Difference from individuals 140 % 120 % 100 % 80 % 60 % 40 % 20 % 0 % CC (easy) DC (complex) 6 % 60 % 112 % 48 % -20 % -40 % -20 % -16 % Duration Effort Correctness INF1050/ / Dag Sjøberg Slide 72 36

37 160 % Effect of PP for Juniors 140 % Difference from individuals 120 % 100 % 80 % 60 % 40 % 20 % 0 % 5 % 111 % 73 % -20 % -40 % Duration Effort Correctness INF1050/ / Dag Sjøberg Slide 73 Difference from individuals 160 % 140 % 120 % 100 % 80 % 60 % 40 % 20 % 0 % Moderating Effect of System Complexity for Juniors CC (easy) DC (complex) 4 % 6 % 109 % 112 % 32 % 149 % -20 % -40 % Duration Effort Correctness INF1050/ / Dag Sjøberg Slide 74 37

38 160 % Effect of PP for Seniors Difference from individuals 140 % 120 % 100 % 80 % 60 % 40 % 20 % 0 % -20 % -9 % 83 % -8 % -40 % Duration Effort Correctness INF1050/ / Dag Sjøberg Slide 75 Difference from individuals 160 % 140 % 120 % 100 % 80 % 60 % 40 % 20 % 0 % -20 % -40 % Moderating Effect of System Complexity for Seniors CC (easy) DC (complex) -23 % 8 % 55 % 115 % -13 % -2 % Duration Effort Correctness INF1050/ / Dag Sjøberg Slide 76 38

39 Effekten av å bruke parprogrammering kommer an på Programmeringsekspertise Oppgavekompleksitet Bruke PP? Kommentar Junior Mellomnivå Lett Ja Gitt at hovedmålet er god kvalitet Vanskelig Ja Gitt at hovedmålet er god kvalitet Lett Nei Vanskelig Ja Gitt at hovedmålet er god kvalitet Senior Lett Vanskelig Nei Nei* * Med mindre oppgaven er svært for vanskelig, selv for en senior INF1050/ / Dag Sjøberg Slide 77 Oppsummering Software engineering er læren om utvikling og forvaltning av programvaresystemer av høy kvalitet innen gitte tidsog kostnadsrammer Finnes mange ulike kriterier for prosjekt- og systemkvalitet Ulike prosessegenskaper vil påvirke prosjekt- og systemkvaliteten Valg av prosess vil avhenge av hvilke kvalitetsaspekter man ønsker å vektlegge Det å jobbe smart, dvs. ha gode og effektive arbeidsprosesser vil alltid være et aktuelt tema INF1050/ / Dag Sjøberg Slide 78 39

40 Takk for i dag! INF1050/ / Dag Sjøberg Slide 79 40

Velkommen til andre del av IN1030

Velkommen til andre del av IN1030 Velkommen til andre del av IN1030 Introduksjon til systemutvikling Prosesser og prosessmodeller Professor Dag Sjøberg IN1030/ 14.3.2019 / Dag Sjøberg Slide 1 Dag Sjøberg (dagsj@ifi.uio.no) Professor i

Detaljer

Velkommen til INF1050: Systemutvikling

Velkommen til INF1050: Systemutvikling Velkommen til INF1050: Systemutvikling Professor Dag Sjøberg Førstelektor Yngve Lindsjørn INF1050/ 17.1.2017 / Dag Sjøberg Slide 1 Dag Sjøberg (dagsj@ifi.uio.no) Professor i software engineering ved Ifi,

Detaljer

GJENNOMGANG UKESOPPGAVER 2 PROSESSMODELLER OG SMIDIG PROGRAMVAREUTVIKLIG

GJENNOMGANG UKESOPPGAVER 2 PROSESSMODELLER OG SMIDIG PROGRAMVAREUTVIKLIG GJENNOMGANG UKESOPPGAVER 2 PROSESSMODELLER OG SMIDIG PROGRAMVAREUTVIKLIG INF1050 V16 HVA ER EN SYSTEMUTVIKLINGSPROSESS? De aktivitetene som utføres for å utvikle et IT-system Eksempler på aktiviteter:

Detaljer

Ledelse av systemutviklingsprosjekter

Ledelse av systemutviklingsprosjekter INF 5700, 28. september 2012 Ledelse av systemutviklingsprosjekter Professor Dag Sjøberg INF5700/ 28.9.2012, Dag Sjøberg Slide 1 INF5700/ 28.9.2012, Dag Sjøberg Slide 2 Plan for forelesningen Ledelsesaktiviteter

Detaljer

Prosessmodeller og smidig programvareutvikling

Prosessmodeller og smidig programvareutvikling 24/01/17 INF1050: Systemutvikling 24. januar 2017 Prosessmodeller og smidig programvareutvikling Professor Dag Sjøberg INF1050/ 24.1.2017 / Dag Sjøberg Slide 1 Smakebit på mastergradskurset Smarte prosesser

Detaljer

UKE 9 Prosesser og prosessmodeller inkludert smidige metoder. Gruppetime INF1055

UKE 9 Prosesser og prosessmodeller inkludert smidige metoder. Gruppetime INF1055 UKE 9 Prosesser og prosessmodeller inkludert smidige metoder Gruppetime INF1055 Hva skal vi i dag? Introduksjon til modul B - systemutvikling (kap. 1, 2 og 3) Prosesser og prosessmodeller + smidig utvikling

Detaljer

Prosessmodeller og smidig programvareutvikling. INF1050: Gjennomgang, uke 02

Prosessmodeller og smidig programvareutvikling. INF1050: Gjennomgang, uke 02 Prosessmodeller og smidig programvareutvikling INF1050: Gjennomgang, uke 02 Kompetansemål Prosessmodeller Kunne redegjøre for hva som kjennetegner ulike prosessmodeller Vurdere prosesser for utvikling

Detaljer

Velkommen til INF1050: Systemutvikling

Velkommen til INF1050: Systemutvikling Velkommen til INF1050: Systemutvikling Professor Dag Sjøberg Universitetslektor Yngve Lindsjørn INF1050/ 15.1.2014 / Dag Sjøberg Slide 1 Dag Sjøberg (dagsj@ifi.uio.no) Professor i software engineering

Detaljer

Prosessmodeller og smidig programvareutvikling

Prosessmodeller og smidig programvareutvikling 1/21/14 INF1050: Systemutvikling 22. januar 2014 Prosessmodeller og smidig programvareutvikling Professor Dag Sjøberg Slide 1 INF1050/ 22.1.2014 / Dag Sjøberg Plan Kap. 2: Begrepet prosessmodell Prosessmodeller

Detaljer

GJENNOMGANG UKESOPPGAVER 7 REPETISJON

GJENNOMGANG UKESOPPGAVER 7 REPETISJON GJENNOMGANG UKESOPPGAVER 7 REPETISJON INF1050 V16 KRISTIN BRÆNDEN DAGENS TEMA Oppgaver hentet fra tidligere eksamensoppgaver om temaene vi har gått gjennom til nå DAGENS PLAN Gjennomgang av oppgaver Repetisjon

Detaljer

Forskningsmetoder / Evaluering av systemutvikling Pensum: kap. 12 i lærebok (artikkel) + kap

Forskningsmetoder / Evaluering av systemutvikling Pensum: kap. 12 i lærebok (artikkel) + kap INF1050: Systemutvikling, 18. april 2017 Forskningsmetoder / Evaluering av systemutvikling Pensum: kap. 12 i lærebok + 3.5 (artikkel) + kap. 4.3.1 Professor Dag Sjøberg INF1050/ 18.4.2017 / Dag Sjøberg

Detaljer

1. Hvilke type krav angår sikkerhet og pålitelighet?

1. Hvilke type krav angår sikkerhet og pålitelighet? 1. Hvilke type krav angår sikkerhet og pålitelighet? a) Funksjonelle b) Ikke-funksjonelle Svar: b) 2. Verdien av etnografi er at den hjelper til å oppdage som reflekterer hvordan folk faktisk jobber a)

Detaljer

Undervisning i Smidige metoder ved Universitetet i Oslo

Undervisning i Smidige metoder ved Universitetet i Oslo Undervisning i Smidige metoder ved Universitetet i Oslo Dag Sjøberg Professor ved Ins4tu7 for informa4kk Universitetet i Oslo Dag Sjøberg, Universitetet i Oslo 1 Planer for undervisning Kurs INF1050 Systemutvikling/software

Detaljer

1. Hvilke type krav angår sikkerhet og pålitelighet?

1. Hvilke type krav angår sikkerhet og pålitelighet? 1. Hvilke type krav angår sikkerhet og pålitelighet? a) Funksjonelle b) Ikke-funksjonelle Svar: b), IS side 88, lærebok s.96 2. Verdien av etnografi er at den hjelper til å oppdage som reflekterer hvordan

Detaljer

Systemutvikling. Universitetet i Oslo, Institutt for informatikk Vår 2017

Systemutvikling. Universitetet i Oslo, Institutt for informatikk Vår 2017 Systemutvikling Universitetet i Oslo, Institutt for informatikk Vår 2017 Dagens plan Introduksjon Emnets oppbygging Praktisk om ukesoppgaver og obligatoriske oppgaver Gjennomgang av ukesoppgaver Registrering

Detaljer

Kravhåndtering. INF1050: Gjennomgang, uke 03

Kravhåndtering. INF1050: Gjennomgang, uke 03 Kravhåndtering INF1050: Gjennomgang, uke 03 Kompetansemål Kravhåndtering Anvende metoder og teknikker for å Innhente / Analysere / Spesifisere krav Ulike typer krav Funksjonelle krav Ikke-funksjonelle

Detaljer

Løsningsforslag: Oblig 1. INF1050: Gjennomgang, uke 12

Løsningsforslag: Oblig 1. INF1050: Gjennomgang, uke 12 Løsningsforslag: Oblig 1 INF1050: Gjennomgang, uke 12 Obligatorisk oppgave 1: Pensum Bakgrunn for systemet Aktører og interessenter Utviklingsprosesser Kravhåndtering og kravspesifikasjon Use case-modellering

Detaljer

IN2002: Software Engineering og prosjektarbeid 12. februar Forskningsmetoder / Evaluering av IT-systemer. IN2000/ 12.2.

IN2002: Software Engineering og prosjektarbeid 12. februar Forskningsmetoder / Evaluering av IT-systemer. IN2000/ 12.2. IN2002: Software Engineering og prosjektarbeid 12. februar 2019 Forskningsmetoder / Evaluering av IT-systemer Dag Sjøberg og Gunnar Bergersen IN2000/ 12.2.2019 Slide 1 Plan Behov for metodekunnskap Metodekunnskap

Detaljer

Prosjektledelse, planlegging og teamarbeid. INF1050: Gjennomgang, uke 10

Prosjektledelse, planlegging og teamarbeid. INF1050: Gjennomgang, uke 10 Prosjektledelse, planlegging og teamarbeid INF1050: Gjennomgang, uke 10 Kompetansemål Prosjektstyring og prosjektledelse Hva og hvorfor? Risikohåndtering Ledelse av mennesker og motivasjon Teamarbeid og

Detaljer

Bedre valg av leverandør gjennom trialsourcing & Fastpris eller per time?! Oslo, 1. desember, 2014 Magne Jørgensen

Bedre valg av leverandør gjennom trialsourcing & Fastpris eller per time?! Oslo, 1. desember, 2014 Magne Jørgensen Bedre valg av leverandør gjennom trialsourcing & Fastpris eller per time?! Oslo, 1. desember, 2014 Magne Jørgensen Presentasjonen bygger på:" Better selection of Software Providers Through Trialsourcing,

Detaljer

Prøveeksamen INF1050: Gjennomgang, uke 15

Prøveeksamen INF1050: Gjennomgang, uke 15 Prøveeksamen 2016 INF1050: Gjennomgang, uke 15 Overblikk Multiple choice Modellering Aktivitetsdiagram Sekvensdiagram Klassediagram Tilstandsdiagram Krav Ikke-funksjonelle krav og målbarhet Smidig metodikk

Detaljer

Prosjektledelse - fra innsiden av et utviklingsprosjekt. Presentasjon hos UiO Ida Lau Borch, prosjektleder i Bouvet ASA

Prosjektledelse - fra innsiden av et utviklingsprosjekt. Presentasjon hos UiO Ida Lau Borch, prosjektleder i Bouvet ASA Prosjektledelse - fra innsiden av et utviklingsprosjekt Presentasjon hos UiO 09.09.2011 Ida Lau Borch, prosjektleder i Bouvet ASA Agenda De umulige IT-prosjektene Hvordan vi gjør det Utfordringer og lykkestunder

Detaljer

Teamarbeid og smidig metodikk. Lean og Scrum. Prosjektarbeid

Teamarbeid og smidig metodikk. Lean og Scrum. Prosjektarbeid IN 2001 29 januar 2018 Teamarbeid og smidig metodikk. Lean og Scrum. Prosjektarbeid Yngve Lindsjørn ynglin@ifi.uio.no IN 2001 > Prosjekt og teamarbeid 1 Utvikling av programvare - Suksesskriterier Levere

Detaljer

Løsningsforslag Sluttprøve 2015

Løsningsforslag Sluttprøve 2015 Høgskolen i Telemark Løsningsforslag Sluttprøve 2015 Emne: IA4412 Systemutvikling og dokumentasjon Fagansvarlig: Hans- Petter Halvorsen, Olav Dæhli Klasse: IA2, A- vei Dato: 2015.05.27 Time: 09:00-12:00

Detaljer

Introduksjon,l SCRUM. EB og TMG 2010 1

Introduksjon,l SCRUM. EB og TMG 2010 1 Introduksjon,l SCRUM EB og TMG 2010 1 Hva er Scrum? Kilde: http:/image.google.com EB og TMG 2010 2 Kompleksitet Kilde: http://www.coderfriendly.com/ EB og TMG 2010 3 SCRUM - kortversjonen Scrum er en smidig

Detaljer

Smidig innhold Hvordan smidige metoder hjelper oss å lage kvalitetsinnhold. Ove Dalen

Smidig innhold Hvordan smidige metoder hjelper oss å lage kvalitetsinnhold. Ove Dalen Smidig innhold Hvordan smidige metoder hjelper oss å lage kvalitetsinnhold Ove Dalen There is a lack of discipline in many web publishing processes because managers in charge of websites often don't respect

Detaljer

Prosjektledelse, prosjektplanlegging, teamarbeid

Prosjektledelse, prosjektplanlegging, teamarbeid SKK modul B 03. Mai 2017 Prosjektledelse, prosjektplanlegging, teamarbeid Yngve Lindsjørn ynglin@ifi.uio.no INF1055 > SKK -> Prosjektledelse og teamarbeid 1 Temaer i dagens forelesning Prosjektstyring/Prosjektledelse

Detaljer

Prosjektledelse - fra innsiden

Prosjektledelse - fra innsiden Prosjektledelse - fra innsiden Presentasjon hos UiO 31.08.2012 Ida Lau Borch, fagansvarlig i Metier AS Det ligger et fantastisk potensial i det å være best i prosjektledelse og -styring Prosjekteierstyring

Detaljer

Kap 11 Planlegging og dokumentasjon s 310

Kap 11 Planlegging og dokumentasjon s 310 Kap 11 Planlegging og dokumentasjon s 310 11.1 Ulike arbeidsmetoder Systemutvikling Som systemutvikler er du i stand til å omsette din innsikt i brukerbehov til praktiske programbaserte løsninger. Samarbeid:

Detaljer

Oppgave 1: Multiple choice (20 %)

Oppgave 1: Multiple choice (20 %) Oppgave 1: Multiple choice (20 %) For alle oppgavene gjelder at det bare er ett riktig svar. No Spørsmål Svar A Svar B Svar C Svar D 1 Kanban er et eksempel på: Prosess Software prosess Prosess modell

Detaljer

Bruk av HP Quality Center med smidige utviklingsmetoder. HP Sofware Norge

Bruk av HP Quality Center med smidige utviklingsmetoder. HP Sofware Norge Bruk av HP Quality Center med smidige utviklingsmetoder Kjell Lillemoen HP Sofware Norge QC og smidige metoder Agenda Smidig terminologi Smidig metoder og verktøy Hvilke krav bør vi stille QC med Scrum

Detaljer

GJENNOMGANG UKESOPPGAVER 3 KRAVHÅNDTERING

GJENNOMGANG UKESOPPGAVER 3 KRAVHÅNDTERING GJENNOMGANG UKESOPPGAVER 3 KRAVHÅNDTERING INF1050 V16 HVA ER KRAVHÅNDTERING? Kravhåndtering er prosessen å identifisere, analysere og spesifisere kravene til et nytt system eller et system som skal forbedres

Detaljer

Eksamen INF1050: Gjennomgang, uke 15

Eksamen INF1050: Gjennomgang, uke 15 Eksamen 2012 INF1050: Gjennomgang, uke 15 Overblikk Varierte spørsmål fra pensum Modellering Use case Tekstlig beskrivelse Sekvensdiagram Klassediagram Krav Empiriske metoder Smidig metodikk Varierte spørsmål

Detaljer

Forfattere: Daníelsdóttir, Drífa Meland, Maiken Mijalkovic, Biljana Svendsen, Simen H. Gruppelærer: Zarei, Amir Hossein. 5.

Forfattere: Daníelsdóttir, Drífa Meland, Maiken Mijalkovic, Biljana Svendsen, Simen H. Gruppelærer: Zarei, Amir Hossein. 5. 2 Forfattere: Daníelsdóttir, Drífa Meland, Maiken Mijalkovic, Biljana Svendsen, Simen H. Gruppelærer: Zarei, Amir Hossein 5. april 2017 Innhold 1 Klassediagram 2 Sekvensdiagram 2.1 Oppgave 2a 2.2 Oppgave

Detaljer

Prosjektledelse, prosjektplanlegging, teamarbeid

Prosjektledelse, prosjektplanlegging, teamarbeid INF1050: Systemutvikling 21. mars 2017 Prosjektledelse, prosjektplanlegging, teamarbeid Yngve Lindsjørn ynglin@ifi.uio.no INF1050 Systemutvikling ->Prosjektledelse og teamarbeid 1 Temaer i dagens forelesning

Detaljer

UKE 15 Prosjektledelse, planlegging og teamarbeid. Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski

UKE 15 Prosjektledelse, planlegging og teamarbeid. Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski UKE 15 Prosjektledelse, planlegging og teamarbeid Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski Hva skal vi i dag? Se på oblig 5 Prosjektledelse og teamarbeid (kap. 22) Prosjektplanlegging og

Detaljer

Lykke til! Eksamen i fag TDT4140 Systemutvikling 28.11.2012 9.00. NTNU Norges teknisk-naturvitenskapelige universitet

Lykke til! Eksamen i fag TDT4140 Systemutvikling 28.11.2012 9.00. NTNU Norges teknisk-naturvitenskapelige universitet Side 1 av 10 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Sensurfrist:

Detaljer

Forskningsmetoder. INF1050: Gjennomgang, uke 13

Forskningsmetoder. INF1050: Gjennomgang, uke 13 Forskningsmetoder INF1050: Gjennomgang, uke 13 Kompetansemål Forskningsmetoder Hva? Hvorfor? Empiriske forskningsmetoder Eksperiment Case-studier Etnografi Aksjonsforskning Spørreskjema Systematisk litteraturstudie

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Bokmål Kandidat nummer: UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1050 Eksamensdag: 31. Mai, 2011 Tid for eksamen: 09:00-13:00 Oppgavesettet er på 6 sider Vedlegg:

Detaljer

Erfaringer fra bruk av Scrum i PS2000-prosjekter NSP temadag Agile metoder i prosjekt 13.05.2009. Motivasjon av kunder og Nyttige verktøy

Erfaringer fra bruk av Scrum i PS2000-prosjekter NSP temadag Agile metoder i prosjekt 13.05.2009. Motivasjon av kunder og Nyttige verktøy Erfaringer fra bruk av Scrum i PS2000-prosjekter NSP temadag Agile metoder i prosjekt 13.05.2009 Motivasjon av kunder og Nyttige verktøy 2009-05-20 Computas AS 2008 Computas-metodikk fra da til nå Computas

Detaljer

Konfigurasjonsstyring

Konfigurasjonsstyring INF1050: Systemutvikling 28. mars 2017 Konfigurasjonsstyring Yngve Lindsjørn ynglin@ifi.uio.no INF1050 Systemutvikling ->Konfigurasjonsstyring 1 Temaer i dagens forelesning Versjonshåndtering Systembygging

Detaljer

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

Oppsummering : IMT2243 Systemutvikling. Hensikt med kurset. Innfallsvinkel : Tom Røise 29.04.2009. IMT2243 : Systemutvikling 1 Oppsummering : IMT2243 Systemutvikling Målformuleringen i emnebeskrivelsens : Studentene skal ha forståelse for grunnleggende administrative og teknologiske aspekter ved spesifisering, utvikling, innføring

Detaljer

Neste generasjon ERP-prosjekter

Neste generasjon ERP-prosjekter Neste generasjon ERP-prosjekter Jan-Olav Arnegård 27. okt 2016 Nøkkeltall 2015 22 Land der vi er direkte representert 36 BearingPoint-kontorer 67 Kontorer der vi er representert via vår globale alliansepartnere

Detaljer

11 Planlegging og dokumentasjon

11 Planlegging og dokumentasjon 11 Planlegging og dokumentasjon Ulike arbeidsmetoder Systemutvikling Som systemutvikler er du i stand til å omsette din innsikt i brukerbehov til praktiske programbaserte løsninger. Samarbeid: Programmerer

Detaljer

Kontrakter. INF1050: Gjennomgang, uke 12

Kontrakter. INF1050: Gjennomgang, uke 12 Kontrakter INF1050: Gjennomgang, uke 12 Kompetansemål Kontrakter I plandrevet utvikling I smidig utvikling Behov for smidige kontrakter Kontraktsmodeller PS2000 Del I: Kontrakter Grunnleggende: Hva? Plandrevet

Detaljer

Oppgaver uke 42. Systemutvikling

Oppgaver uke 42. Systemutvikling Oppgaver uke 42 søndag 16. oktober 2016 13.55 Systemutvikling 1. Hva er systemutvikling? Systemutvikling er prosessen hvor man lager og opprettholder informasjonssystemer. Systemutvikling involverer alle

Detaljer

AlgDat 12. Forelesning 2. Gunnar Misund

AlgDat 12. Forelesning 2. Gunnar Misund AlgDat 12 Forelesning 2 Forrige forelesning Følg med på hiof.no/algdat, ikke minst beskjedsida! Algdat: Fundamentalt, klassisk, morsomt,...krevende :) Pensum: Forelesningene, oppgavene (pluss deler av

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Bokmål Kandidat nummer: UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Prøveeksamen i: INF1050 Eksamensdag: 0. mai, 2011 Tid for eksamen: 00:00 00:00 Oppgavesettet er på 6 sider Vedlegg:

Detaljer

CONNECTING BUSINESS & TECHNOLOGY KURS OG SERTIFISERINGER - SCRUM

CONNECTING BUSINESS & TECHNOLOGY KURS OG SERTIFISERINGER - SCRUM CONNECTING BUSINESS & TECHNOLOGY KURS OG SERTIFISERINGER - SCRUM Scrum Master og Product Owner i Høst 2015 1 Om Scrum Scrum er et populært rammeverk laget med henblikk på å utvikle komplekse informasjonssystemer.

Detaljer

Systemutvikling (Software Engineering) Professor Alf Inge Wang

Systemutvikling (Software Engineering) Professor Alf Inge Wang 1 Systemutvikling (Software Engineering) Professor Alf Inge Wang 2 Undervisningsmål og henvisning Målet med timen er: Få kunnskap om hva systemutvikling er Forstå hva en utviklingsprosess består av Få

Detaljer

Together. Free your energies Moden og modig! Ansvarsfull og fleksibel!

Together. Free your energies Moden og modig! Ansvarsfull og fleksibel! Moden og modig! Ansvarsfull og fleksibel! Anine Ragnif og Bodil Rabben 13. Mai 2009 Agile Hvorfor? Gjennomsnittlig overskridelse i arbeidsmengde var 24% for prosjektene som benyttet en fleksibel metodikk,

Detaljer

Scrum. -nøkkelbegreper og noen personlige erfaringer

Scrum. -nøkkelbegreper og noen personlige erfaringer Scrum -nøkkelbegreper og noen personlige erfaringer Agile Manifesto Manifest for smidig systemutvikling Vi oppdager stadig nye og bedre måter å utvikle systemer på, både ved å gjøre det selv og ved å hjelpe

Detaljer

UKEOPPGAVER 2: SYSTEMUTVIKLINGSPROSESSER OG PROSJEKTARBEID INNSPILL TIL SVAR

UKEOPPGAVER 2: SYSTEMUTVIKLINGSPROSESSER OG PROSJEKTARBEID INNSPILL TIL SVAR INF 1050 UKEOPPGAVER 2: SYSTEMUTVIKLINGSPROSESSER OG PROSJEKTARBEID INNSPILL TIL SVAR Oppgave 1 a) Foranalyse: Foranalysen kan med fordel gjøres i to trinn. Den første er å undersøke finansiering og øvrige

Detaljer

ESTIMERING I SMIDIGE PROSJEKTER

ESTIMERING I SMIDIGE PROSJEKTER ESTIMERING I SMIDIGE PROSJEKTER Hvorfor forsker vi på estimering av systemutviklingsarbeid? I 2007 er estimatene tilsynelatende like unøyaktige som for 30 år siden Undersøkelser viser at, da som nå, er

Detaljer

Modellering IT konferanse

Modellering IT konferanse Modellering IT konferanse 1. Interessenter Utviklere som besøker konferansen: besøke IT konferanse Frivillige hjelpere: få gratis inngang på konferansen Ledelse: Tjene penger Matkjeder: Selge mat og drikke,

Detaljer

UKE 10 Kravhåndtering. Gruppetime INF1055

UKE 10 Kravhåndtering. Gruppetime INF1055 UKE 10 Kravhåndtering Gruppetime INF1055 Hva skal vi i dag? Kravhåndtering - kapittel 4 Ukesoppgaver: Smidig programvareutvikling og kravhåndtering Krav KRAV KOMPETANSEMÅL: Kravhåndtering: anvende metoder

Detaljer

Tom Røise 9. Februar 2010

Tom Røise 9. Februar 2010 Forelesning IMT2243 9. Februar 2010 Tema : Kravspesifisering : prosessen og produktet Viewpoint en myk tilnærming Pensum : Kap. 6 og 7 i Sommerville, Kravspesifisering Kravspesifisering = arbeidet med

Detaljer

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

Oppsummering : IMT2243 Systemutvikling. Hensikt med kurset. Innfallsvinkel : Tom Røise 30.04.2007. IMT2243 : Systemutvikling 1 Oppsummering : IMT2243 Systemutvikling Målformuleringen i emnebeskrivelsens : Studentene skal ha forståelse for grunnleggende administrative og teknologiske aspekter ved spesifisering, utvikling, innføring

Detaljer

INF1050: Systemutvikling, 29. april 2015

INF1050: Systemutvikling, 29. april 2015 INF1050: Systemutvikling, 29. april 2015 Metoder for evaluering av systemutvikling/forskningsmetoder (Pensum: Upublisert kap. 11 i lærebok. Lærebok kap. 3.6, 4.5.2 og 4.5.5 (Sommerville kap. 4.5.2 og 4.5.5

Detaljer

prosjektarbeid Forelesning 3 - INF1050 Systemutvikling

prosjektarbeid Forelesning 3 - INF1050 Systemutvikling Systemutviklingssprosesser, prosjektarbeid Forelesning 3 - INF1050 Systemutvikling 28.1.2009 Rune Steinberg International Development Manager ERP INF1050 Systemutvikling Vår 2009 - Copyright Rune Steinberg

Detaljer

prosjektarbeid Forelesning 3 - INF1050 Systemutvikling Eksempel Evolusjonære modeller Utviklingsprosesser Evolusjonære modeller Foranalyse

prosjektarbeid Forelesning 3 - INF1050 Systemutvikling Eksempel Evolusjonære modeller Utviklingsprosesser Evolusjonære modeller Foranalyse Evolusjonære modeller Foranalyse Systemutviklingssprosesser, prosjektarbeid Forelesning 3 - INF1050 Systemutvikling 28.1.2009 Rune Steinberg International Development Manager ERP Iterasjonsplan Iterasjon

Detaljer

Prosjektledelse, prosjektplanlegging, teamarbeid

Prosjektledelse, prosjektplanlegging, teamarbeid INF1050: Systemutvikling 25. mars 2015 Prosjektledelse, prosjektplanlegging, teamarbeid Universitetslektor Yngve Lindsjørn INF1050 Systemutvikling ->Prosjektledelse og teamarbeid 1 Temaer i dagens forelesning

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1050 Eksamensdag: 2. juni 2014 Tid for eksamen: 09:00-13:00 Oppgavesettet er på 4 sider Vedlegg: Ingen Tillatte hjelpemidler:

Detaljer

Systemutviklingsprosesser Forelesning 2 - INF1050 Systemutvikling

Systemutviklingsprosesser Forelesning 2 - INF1050 Systemutvikling Systemutviklingsprosesser Forelesning 2 - INF1050 Systemutvikling 21.1.2009 Rune Steinberg International Development Manager ERP INF1050 Systemutvikling Vår 2009 - Copyright Rune Steinberg 2009 1 Innledning

Detaljer

Systemutviklingsprosesser Forelesning 2 - INF1050 Systemutvikling

Systemutviklingsprosesser Forelesning 2 - INF1050 Systemutvikling Innledning Læringsmål Systemutviklingsprosesser Forelesning 2 - INF1050 Systemutvikling 21.1.2009 Forstå hvorfor systemutviklingsprosessen er viktig Forstå de viktigste prinsippene for ulike prosesser

Detaljer

Eksamen 2013 Løsningsforslag

Eksamen 2013 Løsningsforslag Eksamen 2013 Løsningsforslag Oppgave 1. Multiple choice 1b# 2a# 3b# 4c# 5b# 6a# 7a# 8b# 9d# 10b# Oppgave 2 - Bibliotek - Utlån av bøker a) Måle størrelse eller mengde funksjonalitet Denne oppgaven ser

Detaljer

AlgDat 10. Forelesning 2. Gunnar Misund

AlgDat 10. Forelesning 2. Gunnar Misund AlgDat 10 Forelesning 2 Oversikt Java repetisjon IDE eller teksteditor + kommandolinje? Java Collections and Generics Programvareutvikling En mengde mer eller mindre veldefinerte metoder (software engineering):

Detaljer

Konfigurasjonsstyring. INF1050: Gjennomgang, uke 11

Konfigurasjonsstyring. INF1050: Gjennomgang, uke 11 Konfigurasjonsstyring INF1050: Gjennomgang, uke 11 Kompetansemål Konfigurasjonsstyring Hva og hvorfor? I en smidig sammenheng Endringshåndtering Versjonhåndtering Systembygging Release -håndtering Del

Detaljer

Oppgave 1 Multiple Choice

Oppgave 1 Multiple Choice Oppgave Multiple Choice a 2c 3a 4c 5d 6d 7a 8b 9b 0a b 2c 3c 4a 5b 6b 7a 8d 9c 20b Se video fra forelesningen (Kahoot) for mer detaljer) Eksamen INF050-204 Oppgave 2 a Aktivitetsdiagram Enkelt Eksamen

Detaljer

Scrum. en beskrivelse V 2012.12.13

Scrum. en beskrivelse V 2012.12.13 Scrum en beskrivelse Scrum prinsipper Verdier fra Agile Manifesto Scrum er det mest kjente av de smidige (Agile) rammeverkene. Scrum er også kilden til mye av tankegodset bak verdiene og prinsippene i

Detaljer

Hvordan unngå skuffelser i ITprosjekter

Hvordan unngå skuffelser i ITprosjekter Hvordan unngå skuffelser i ITprosjekter og ellers i livet Magne Jørgensen Simula Research Laboratory, Unversitetet i Oslo, og Scienta 192 cm 172 cm 170 cm 1 Sir Francis Galton s lov om filial regression

Detaljer

PROGRAMUTVIKLINGSPLAN. Big Data and Machine Learning

PROGRAMUTVIKLINGSPLAN. Big Data and Machine Learning PROGRAMUTVIKLINGSPLAN Big Data and Machine Learning Innholdsfortegnelse Produkt beskrivelse... 1 Team beskrivelse... 2 Prosjektets kunnskapskrav... 2 Medlemmer og roller... 2 Program prosessmodell beskrivelse...

Detaljer

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

Kap. 2 Prosessen. Utviklingsmodeller -2. Utviklingsmodeller. Utviklingsmodeller -4. Utviklingsmodeller - 3. Software Engineering - definisjoner Software Engineering - definisjoner Kap. 2 Prosessen Utviklingsprosessen Modeller for utvikling Bauer: Etablering og bruk av gode ingeniørmessige prinsipper for å fremskaffe økonomisk programvare som er

Detaljer

SCRUM EB og TMG 2010

SCRUM EB og TMG 2010 SCRUM Hovedmål Mer om roller i SCRUM Es/mering av innhold i sprinter Visualisering av fremdri; ved burndown Scrum Daily SCRUM 24h Product backlog Sprint backlog 1 uke Sprint Delprodukt / delleveranse Roller

Detaljer

Forskning på gruppe-estimeringestimering

Forskning på gruppe-estimeringestimering Eksperiment: individuell vs gruppe-estimeringestimering Gruppe-estimering Tyve fagpersoner fra samme firma estimerte hver for seg arbeidsmengden for det samme systemutviklingsprosjektet [*] Deltakerne

Detaljer

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

DRI2001 Offentlige nettsteder. Litt om systemutvikling Torsdag 24 aug Arild Jansen, AFIN, UiO DRI 2001 13.9 : Introduksjon til systemutvikling. Introduksjon til systemutvikling Systemutvikling og nettstedsutvikling Om ulike typer offentlige nettsteder Kvalitetskrav til offentlige nettsteder Litt

Detaljer

Heggset Engineering er et kreativt og uavhengig kompetansemiljø med ti ingeniører/tekniske tegnere lokalisert i moderne lokaler i Dale Industripark i

Heggset Engineering er et kreativt og uavhengig kompetansemiljø med ti ingeniører/tekniske tegnere lokalisert i moderne lokaler i Dale Industripark i Heggset Engineering er et kreativt og uavhengig kompetansemiljø med ti ingeniører/tekniske tegnere lokalisert i moderne lokaler i Dale Industripark i Kristiansund. Bedriften tilbyr engineering og maskintekniske

Detaljer

Effektive samarbeidspraksiser for kravhåndtering

Effektive samarbeidspraksiser for kravhåndtering Effektive samarbeidspraksiser for kravhåndtering Hans Gallis Symphonical Kjetil Moløkken-Østvold Conceptos Consulting JavaZone, 18. september 2008 Viktige momenter ved denne sesjonen BOF = Diskusjonsbasert

Detaljer

Kravspesifikasjon med UML use case modellering. Erik Arisholm 25.02.2009

Kravspesifikasjon med UML use case modellering. Erik Arisholm 25.02.2009 Kravspesifikasjon med UML use case modellering Erik Arisholm 25.02.2009 Unified Modeling Language (UML) Notasjon som støtter opp under modellbasert systemutvikling objektorientert analyse ( hva systemet

Detaljer

Hvordan evaluerer man kvaliteten på et IT-system?

Hvordan evaluerer man kvaliteten på et IT-system? IN2001: Software Engineering og prosjektarbeid 19. februar 2018 Forskningsmetoder / Evaluering av ITsystemer med fokus på prosjektet Professor Dag Sjøberg IN2001/ 19.2.2018 / Dag Sjøberg Slide 1 Hvordan

Detaljer

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

System integration testing. Forelesning Systems Testing UiB Høst 2011, Ina M. Espås, System integration testing Forelesning Systems Testing UiB Høst 2011, Ina M. Espås, Innhold Presentasjon Hva er integration testing (pensum) Pros og cons med integrasjonstesting Når bruker vi integration

Detaljer

Innhold. Innledning... 15. Del 1 En vei mot målet

Innhold. Innledning... 15. Del 1 En vei mot målet Innledning.............................................. 15 Del 1 En vei mot målet Kapittel 1 Utviklingsarbeidet.............................. 22 1.1 Systemutviklerens arbeid...............................

Detaljer

Gruppetime

Gruppetime Gruppetime 2 01.01.18 Bli med i Slack-kanalen vår hvis du enda ikke har gjort det! https://join.slack.com/t/in2001/shared_invite/enqtmzayntq4nji0ntawltuymjbjzwzindm1ytvkmg RmOTc4ZDI4NGIyMDFmMGZkMGMyYzJmYjk1M2NlZGQyNGNmOWM0Mzc1ODM4NTM5NzY

Detaljer

Forelesning IMT mars 2011

Forelesning IMT mars 2011 Forelesning IMT2243 17.mars 2011 Dagens : Kvalitetssikring i systemutviklingsprosjekter Konfigurasjonsstyring Teorigjennomgang Demonstrasjon av Subversion SVN v/jon Langseth Pensum : Sommerville kap. 24.1

Detaljer

DRI2001 forelesning

DRI2001 forelesning Systemutviklingsarbeidet et overblikk DRI2001 forelesning 6.10.04 Hva er systemutvikling (SU) Et enkelt eksempel å bygge et hus Rammer for SU-arbeidet Ulike SU-metoder Perspektiver i SU-arbeidet SU er

Detaljer

DRI 2001 Systemutviklingsarbeidet et overblikk Forelesning

DRI 2001 Systemutviklingsarbeidet et overblikk Forelesning Systemutviklingsarbeidet et overblikk DRI2001 forelesning 21. sept. 05 Informasjonssystem og datasystem Hva er systemutvikling (SU) Et enkelt eksempel å bygge et hus Rammer og perspektiver for SU-arbeidet

Detaljer

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

Hensikten med denne delen av kurset. Objektets egenskaper. Objektorientering hva er det? Best practises ved programvareutvikling. Kravspesifikasjonen Hensikten med denne delen av kurset Objektorientert systemutvikling Rational Unified Process (RUP) Gurholt og Hasle kap. 6 UML Distilled kap. 2 Å lære modellerings- og designprinsipper og øve opp teknikker

Detaljer

Tyve fagpersoner fra samme firma estimerte hver for seg arbeidsmengden for det samme systemutviklingsprosjektet [*]

Tyve fagpersoner fra samme firma estimerte hver for seg arbeidsmengden for det samme systemutviklingsprosjektet [*] Gruppe-estimering Eksperiment: individuell vs gruppe-estimeringestimering Tyve fagpersoner fra samme firma estimerte hver for seg arbeidsmengden for det samme systemutviklingsprosjektet [*] Deltakerne

Detaljer

Arne Maus, Ifi. med takk til Gerhard Skagstein(Ifi), Rune Steinberg, (Visma), Jo Hannay (Ifi), Ian Sommerville m. fl. for lån av gamle foiler

Arne Maus, Ifi. med takk til Gerhard Skagstein(Ifi), Rune Steinberg, (Visma), Jo Hannay (Ifi), Ian Sommerville m. fl. for lån av gamle foiler Evolusjonære modeller Systemutviklingssprosesser, prosjektarbeid Forelesning 3 - INF1050 Systemutvikling 1. feb.2010 Foranalyse Iterasjonsplan Iterasjon 1 Analyse og Design Arne Maus, Ifi med takk til

Detaljer

GJENNOMGANG UKESOPPGAVER 9 TESTING

GJENNOMGANG UKESOPPGAVER 9 TESTING GJENNOMGANG UKESOPPGAVER 9 TESTING INF1050 V16 KRISTIN BRÆNDEN 1 A) Testing viser feil som du oppdager under kjøring av testen. Forklar hvorfor testing ikke kan vise at det ikke er flere gjenstående feil.

Detaljer

Systemutviklingssprosesser, prosjektarbeid Forelesning 3 - INF1050 Systemutvikling 1. feb.2010

Systemutviklingssprosesser, prosjektarbeid Forelesning 3 - INF1050 Systemutvikling 1. feb.2010 Systemutviklingssprosesser, prosjektarbeid Forelesning 3 - INF1050 Systemutvikling 1. feb.2010 Arne Maus, Ifi med takk til Gerhard Skagstein(Ifi), Rune Steinberg, (Visma), Jo Hannay (Ifi), Ian Sommerville

Detaljer

Introduksjon til 3290

Introduksjon til 3290 Introduksjon til 3290 Magnus Li magl@ifi.uio.no INF3290 29 / 30.08.2017 Gruppetimene Presentasjon og diskusjon av ukens tema, pensum og begreper. Tirsdager 14:15-16:00 Onsdager 12:15-14:00 Dere kan møte

Detaljer

Smidige metoder i praksis Høgskolen i Oslo Kristin Meyer Kristiansen Objectnet AS

Smidige metoder i praksis Høgskolen i Oslo Kristin Meyer Kristiansen Objectnet AS Smidige metoder i praksis Høgskolen i Oslo Kristin Meyer Kristiansen Objectnet AS Agenda Min erfaring med scrum + litt input fra Javazone 2007 Universell Utforming Min erfaring med smidige metoder MT-prosjektet

Detaljer

Systemutvikling - oppsummering. Alexander Nossum blog.eksplisitt.net 22. mai 2006

Systemutvikling - oppsummering. Alexander Nossum blog.eksplisitt.net 22. mai 2006 Systemutvikling - oppsummering Alexander Nossum alexander@nossum.net blog.eksplisitt.net 22. mai 2006 INNHOLD 2 Innhold 1 Utviklingsprosessmodeller 3 1.1 Fossefall/waterfall................................

Detaljer

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

Kvalitet og programvare. Når bare det beste er godt nok. Produktet prosessen eller begge deler? Kvalitet og programvare Når bare det beste er godt nok. Produktet prosessen eller begge deler? To nøtter Hva forbinder du med et IT-system som har (høy) kvalitet? Formuler 3 kriterier for (høy) kvalitet

Detaljer

GJENNOMGANG OBLIGATORISK OPPGAVE 1

GJENNOMGANG OBLIGATORISK OPPGAVE 1 GJENNOMGANG OBLIGATORISK OPPGAVE 1 INF1050 V16 KRISTIN BRÆNDEN 1 Systemet for utleie av markasykler ønsker a benytte seg av en eksisterende betalingsløsning, og valget har falt pa det samme betalingssystemet

Detaljer

SCRUM Smidig prosjektledelse og utvikling. 10 september 2009 JOSÉ MANUEL REDONDO LOPERA AVDELINGSLEDER PROSJEKT OG RESSURSANSVARLIG

SCRUM Smidig prosjektledelse og utvikling. 10 september 2009 JOSÉ MANUEL REDONDO LOPERA AVDELINGSLEDER PROSJEKT OG RESSURSANSVARLIG SCRUM Smidig prosjektledelse og utvikling 10 september 2009 JOSÉ MANUEL REDONDO LOPERA AVDELINGSLEDER PROSJEKT OG RESSURSANSVARLIG HVORDAN SPISER DU EN ELEFANT? EN BIT AV GANGEN 'HOW WILL YOU LIVE, RAMBO?'

Detaljer

Gjennomgang av prøveeksamen. Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski

Gjennomgang av prøveeksamen. Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski Gjennomgang av prøveeksamen Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski OPPGAVE 1: MUlTIPLE CHOICE SPØRSMÅL 1.1 Hva er et funksjonelt krav? a) Teksten på skjermen skal være svart med hvit bakgrunn.

Detaljer

DRI 2001 Systemutviklingsarbeidet et overblikk Forelesning

DRI 2001 Systemutviklingsarbeidet et overblikk Forelesning Systemutviklingsarbeidet et overblikk DRI2001 forelesning 12. sept. 06 Forholdet mellom informasjonssystemet og virkeligheten Hva innebærer utvikling av et IS (systemutvikling: SU) Å utvikle et IS det

Detaljer