Velkommen til andre del av INF1055 Introduksjon til systemutvikling Prosesser og prosessmodeller
|
|
- Magnhild Andersson
- 7 år siden
- Visninger:
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 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
DetaljerVelkommen 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,
DetaljerGJENNOMGANG 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:
DetaljerLedelse 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
DetaljerProsessmodeller 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
DetaljerUKE 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
DetaljerProsessmodeller 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
DetaljerVelkommen 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
DetaljerProsessmodeller 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
DetaljerGJENNOMGANG 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
DetaljerForskningsmetoder / 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
Detaljer1. 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)
DetaljerUndervisning 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
Detaljer1. 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
DetaljerSystemutvikling. 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
DetaljerKravhå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
DetaljerLø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
DetaljerIN2002: 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
DetaljerProsjektledelse, 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
DetaljerBedre 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,
DetaljerPrø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
DetaljerProsjektledelse - 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
DetaljerTeamarbeid 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
DetaljerLø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
DetaljerIntroduksjon,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
DetaljerSmidig 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
DetaljerProsjektledelse, 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
DetaljerProsjektledelse - 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
DetaljerKap 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:
DetaljerOppgave 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
DetaljerBruk 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
DetaljerGJENNOMGANG 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
DetaljerEksamen 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
DetaljerForfattere: 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
DetaljerProsjektledelse, 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
DetaljerUKE 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
DetaljerLykke 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:
DetaljerForskningsmetoder. 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
DetaljerUNIVERSITETET 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:
DetaljerErfaringer 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
DetaljerKonfigurasjonsstyring
INF1050: Systemutvikling 28. mars 2017 Konfigurasjonsstyring Yngve Lindsjørn ynglin@ifi.uio.no INF1050 Systemutvikling ->Konfigurasjonsstyring 1 Temaer i dagens forelesning Versjonshåndtering Systembygging
DetaljerOppsummering : 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
DetaljerNeste 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
Detaljer11 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
DetaljerKontrakter. 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
DetaljerOppgaver 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
DetaljerAlgDat 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
DetaljerUNIVERSITETET 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:
DetaljerCONNECTING 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.
DetaljerSystemutvikling (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å
DetaljerTogether. 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,
DetaljerScrum. -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
DetaljerUKEOPPGAVER 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
DetaljerESTIMERING 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
DetaljerModellering 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,
DetaljerUKE 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
DetaljerTom 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
DetaljerOppsummering : 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
DetaljerINF1050: 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
Detaljerprosjektarbeid 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
Detaljerprosjektarbeid 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
DetaljerProsjektledelse, prosjektplanlegging, teamarbeid
INF1050: Systemutvikling 25. mars 2015 Prosjektledelse, prosjektplanlegging, teamarbeid Universitetslektor Yngve Lindsjørn INF1050 Systemutvikling ->Prosjektledelse og teamarbeid 1 Temaer i dagens forelesning
DetaljerUNIVERSITETET 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:
DetaljerSystemutviklingsprosesser 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
DetaljerSystemutviklingsprosesser 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
DetaljerEksamen 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
DetaljerAlgDat 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):
DetaljerKonfigurasjonsstyring. 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
DetaljerOppgave 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
DetaljerScrum. 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
DetaljerHvordan 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
DetaljerPROGRAMUTVIKLINGSPLAN. 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...
DetaljerKap. 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
DetaljerSCRUM 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
DetaljerForskning 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
DetaljerDRI2001 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
DetaljerHeggset 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
DetaljerEffektive 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
DetaljerKravspesifikasjon 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
DetaljerHvordan 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
DetaljerSystem 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
DetaljerInnhold. 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...............................
DetaljerGruppetime
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
DetaljerForelesning 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
DetaljerDRI2001 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
DetaljerDRI 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
DetaljerHensikten 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
DetaljerTyve 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
DetaljerArne 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
DetaljerGJENNOMGANG 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.
DetaljerSystemutviklingssprosesser, 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
DetaljerIntroduksjon 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
DetaljerSmidige 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
DetaljerSystemutvikling - 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................................
DetaljerKvalitet 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
DetaljerGJENNOMGANG 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
DetaljerSCRUM 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?'
DetaljerGjennomgang 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.
DetaljerDRI 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