Systemutviklingsmetoder



Like dokumenter
Ulike typer prosessmodeller. Systemutvikling. Utviklingsmodeller. Prosessmodell - faser

Lynkurs 10. Januar 2012

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

Systemutvikling (Software Engineering) Professor Alf Inge Wang

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

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

Faglærer : Tom Røise. IMT Objektorientert systemutvikling 1. IMT3102 Objektorientert systemutvikling. Læringsutbytte i emnebeskrivelsen.

Prosessmodeller og smidig programvareutvikling. INF1050: Gjennomgang, uke 02

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

GJENNOMGANG UKESOPPGAVER 2 PROSESSMODELLER OG SMIDIG PROGRAMVAREUTVIKLIG

Systemutviklingsprosesser Forelesning 2 - INF1050 Systemutvikling

Systemutviklingsprosesser Forelesning 2 - INF1050 Systemutvikling

I dag. Prosjektstyring og prosjektgjennomføring. Hva er et prosjekt? Oppdeling i. Planlegging. arbeidsoppgaver. Hva er en prosess? En prosessmodell?

UNIVERSITETET I OSLO

Innhold. Innledning Del 1 En vei mot målet

UKE 9 Prosesser og prosessmodeller inkludert smidige metoder. Gruppetime INF1055

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

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

Prosjektstyring og prosjektgjennomføring

DRI 2001 Systemutviklingsarbeidet et overblikk Forelesning

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

Use case modellen. Use case modellering i analysefasen. Hva er en Aktør? Hva er et Use case?

DRI2001 forelesning

I dag Prosjektstyring og prosjektgjennomføring

DRI 2001 Systemutviklingsarbeidet et overblikk Forelesning

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

Prosessmodeller og smidig programvareutvikling

Tom Røise 18. Februar 2009

Løsningsforslag Sluttprøve 2015

prosjektarbeid Forelesning 3 - INF1050 Systemutvikling

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

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

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

Validering og verifisering. Kirsten Ribu

Use case modellen. Use case modellering i analysefasen. Hva er en Aktør? Hva er et Use case? Use case modellering. Eksempel

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

UKEOPPGAVER 2: SYSTEMUTVIKLINGSPROSESSER OG PROSJEKTARBEID INNSPILL TIL SVAR

Slides made by Sommerville adapted by Letizia Jaccheri, all the slides are part of the syllabus Topics covered

GJENNOMGANG UKESOPPGAVER 7 REPETISJON

Kravhåndtering. INF1050: Gjennomgang, uke 03

Digitaliseringsreisen

Distributed object architecture

Presentasjon 1, Requirement engineering process

Kap 11 Planlegging og dokumentasjon s 310

Forprosjektrapport for Agresso R&D Ansettelsessystem Hovedprosjekt våren Skrevet av:

GJENNOMGANG UKESOPPGAVER 3 KRAVHÅNDTERING

PROSJEKTPLAN FOR INF [4 3]120-PROSJEKT: PROJECT HOSPITAL 2004

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

RS402 Revisjon i foretak som benytter serviceorganisasjon

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

Forelesning 2: Systemutviklingsprosesser

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

EKSAMEN 05HBINDA, 05HBINFA, 05HBISA, 05HBMETEA, 06HBINFA. Tom Røise. INNFØRING MED PENN, evt. trykkblyant som gir gjennomslag

Endringsdyktige og troverdige systemer

User Story Mapping gir en nyttigere backlog

DRI2001 h04 - Forelesning Systemutvikling og nettsteder

11 Planlegging og dokumentasjon

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

Mellom barken og veden Smidig testing i krevende terreng TTC 2015

INF1500 Høst 2015 Magnus Li Martine Rolid Leonardsen. Utviklingsprosesser & krav og behov

Kort om evaluering og testing av It-systemer. Hvordan vurdere, verdsette, velge og teste?

Use case modellering. Use case modellen. Metode for systembeskrivelse og Nettsted-design

Utvikling. 3 syn på systemutvikling

UNIVERSITETET I OSLO

Systemutviklingen er ferdig når et system er operativt. Med operativt menes når systemet blir brukt av brukerne på et faktisk arbeidssted.

Prosjektledelse - fra innsiden

UKE 6 Utviklingsprosesser og tjenestedesign. Plenum IN1050 Julie og Maria

Migrering hos Gjensidige Bank. 9. februar 2011 Ellen Aaslund - Gjensidige Bank Knut Erik Terjesen - bwise

Kravspesifikasjon med UML use case modellering. Erik Arisholm

PLAN. INF5180 Produkt og prosessforbedring i systemutvikling DEL 8 Valg av prosessmodell. Geir Amsjø. CHECK

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

Brukerinvolvering i smidig utvikling: Utfordringer og muligheter

Use Case Modeller. Administrator og standardbruker

Kravspesifiseringsprosessen

Utvikling fra skallet og inn

Software Project Progress Report Flight Progress Strip System for Air Traffic Control. Fag:

A Study of Industrial, Component-Based Development, Ericsson

Oppgaver uke 42. Systemutvikling

DRI 2001 Systemutviklingsarbeidet og nettsteder Forelesning

Design, bruk, interaksjon

AlgDat 12. Forelesning 2. Gunnar Misund

Web Accessibility Toolbar. Struktur. Funksjonene. Headinger. Mer om tilgjengelighet og Flash.

Krav. Beskriver tjenestene produktet skal håndtere Kravene kan testes

Programvareprosesser Software Process

Ifea seminar om IEC 61508/ /8 Mars 2012 Oppfølging av SIL på Gjøa

Inception Elaboration Construction Transition Bemanning 1 1,5 2 2 Varighet i uker Antall iterasjoner (lengde i uker i parentes) Tabell 1

Brukersentert design Kapittel 3 i Shneiderman

Prosjektstyring. Innhold: Prosessmodeller og prosjekter Prosjektplanlegging, inkl. tidsplanlegging Estimering og risikostyring

Nye krav i ISO 9001, hvilke er de og hvordan implementere disse i TQM? Ragna Karoline Aasen

PLAN. INF5180 Produkt og prosessforbedring i systemutvikling DEL 6 Valg av prosessmodell. Geir Amsjø. CHECK

INF1500 Høst 2016 Lone Lægreid Martine Rolid Leonardsen. Utviklingsprosesser, krav og behov & Analyse

Transkript:

Systemutviklingsmetoder Kapittel 2, 4, 5 07.01.2004 Kirsten Ribu 1 I dag Et eksempel på et system med kravspesifikasjon Utviklingsmodeller: Strukturert systemutvikling (Fossefall-modellen) Evolusjonær systemutvikling (Prototyping) Spiralmodellen (Risikostyring) Gruppene 2 1

Hva slags datasystemer har vi? Eksempler: Minibank Nettbank Bookingsystemer (flyreiser, kino og teaterbilletter etc.) Personalsystemer (Agresso) Store logistikksystemer for butikker (bruk av strekkoder for salg av melk, brød, ost - Hakongruppen) 3 Litt statistikk Ca 50% av alle store prosjekter tar lengre tid enn planlagt 75% av de leverte systemene virker ikke som de skal 25% av alle større prosjekter havarerer 4 2

Et eksempel: Optikerkjeden Zebra har butikker i hele Norge, og ønsker et timebestillingssystem på Internett. I dag foregår all timebestilling på telefon eller ved personlig oppmøte i en av butikkfilialene. Det medfører mye arbeid for de ansatte som må booke timer manuelt, og kontakte andre butikker på telefon for å finne ledige tider til travle kunder. Zebra vil at kundene selv skal registrere timebestillingene sine og fritt kunne velge tid og sted. Du blir engasjert for å lage et system som skal ta seg av bestilling av timer for kontroll av kontaktlinser og briller. Zebra har bestemt at kundene skal registrere seg i systemet med e- post som ID. En ny kunde må registrere seg før det kan bestilles time. Ved førstegangsregistrering skal kunden fylle ut et skjema med personopplysninger, e-post adresse og et egendefinert passord. Ved alle senere bestillinger oppgis e- postadresse og passord ved innlogging på timebestillingssiden. 5 Eksempel forts. Når kunder bestiller time skal de først velge ønsket butikk. Kunden velger så om hun vil ha synsprøve, kontaktlinse- eller brillekontroll, om det er førstegangstilpasning av linser eller briller, og et passende tidspunkt for kontrollen. Det er nødvendig å oppgi hva slags kontroll det er snakk om fordi det avsettes ulik tid til de forskjellige kontrollene. Førstegangstilpasning av linser tar for eksempel lenger tid enn en rutinekontroll. Dersom den valgte tiden er opptatt skal kunden få en melding om dette, og bli vist andre ledige timer den samme dagen. Kunden kan eventuelt velge en annen butikk dersom ingen av de ledige timene passer. Når tidspunkt er valgt får kunden en melding på skjermen om bestilt tid og sted, og mottar en e-post eller SMS-melding med disse opplysningene. Det kan bestilles flere timer om gangen dersom ønskelig. Kunden skal kunne se alle sine oppsatte timer, og kunne endre eller slette timeavtaler etter behov. Optikeren i den enkelte butikk skal kunne se på timebestillingene, og få opp kundens personopplysninger 6 og journal. 3

Oppgave Er det noe i denne beskrivelsen du reagerer/lurer på? Er det noe det kan være ulovlig å registrere? Diskuter hvordan et slikt system kan se ut, hvilken funksjonalitet det skal ha og hvem som er brukerne. Systemet skal ligge på Internett. Hvordan vil dere presentere systemet for brukeren visuelt? Tegn en rask skisse. 7 Eksempel på Internett Brilleland 8 4

Utviklerens ulike roller Utviklere av hardware (maskinorienterte) Installerer og tilpasser programvare, f.eks regnskapssystemer (Programorienterte) Systemutviklere lager/endrer informasjonssystemer (problemorienterte) 9 Utviklingsmodeller En modell er en oversikt over utviklingsarbeidet Modellen beskriver hvilket arbeid som skal gjøres og hvordan arbeidet skal inndeles i faser og aktiviteter og arbeidstrinn Det finnes mange forskjellige utviklingsmodeller Valg av modell er avhengig av: hvor store deler av systemutviklingsarbeidet modellen omfatter hvordan faser og aktiviteter er delt inn hvor fleksibel modellen er hvordan ansvaret og organiseringen skal gjøres 10 5

Oversikt over aktiviteter 11 Mål og planlegging - Hva er et mål? Et mål er noe man skal oppnå eller gjennomføre Målet må være realistisk 1. leveranse av systemet skal skje før 1. mars (ikke underbudsjettere for å få kunden, eller være altfor optimistisk med hensyn til tidspunkt for leveranse av hele systemet) Målet må være klart formulert Omsetningen skal øke med 10% i året Klassen skal bli god i modellering med UML Målet bør kvantifiseres (tallfestes) Firmaet skal redusere klager med 10% (ikke: Vi skal bli bedre på service) Strykprosenten på HiO skal ned med 10% i år (ikke: vi skal bli bedre lærere) 12 6

Delmål Del opp problemet i mindre deler De viktigste målene (leveransene) tas først Sideeffekter underveis kan føre til risiko (negativ sideeffekt) Synergieffekt (positiv sideeffekt) 13 Systemutviklingsprosessen Informasjonssystemer har med mennesker og arbeidsplasser å gjøre Systemutvikling er et levende fag Gir rom for skapertrang og kontakt med mennesker kommunikasjon er viktig 14 7

Tradisjonell systemutvikling: Fossefallmodellen En såkalt strukturert systemutviklingsmodell En tradisjonell modell som benyttes lite i dag men er pedagogisk Aktivitetene er inndelt i faser som kommer etter hverandre En fase avsluttes før neste begynner (en utopi!) 15 Fossefallmodellen Requirements definition System and software design Implementation and unit testing Integration and system testing Operation and maintenance 16 8

Fossefallmodellen -faser Kravanalyse Systemdesign (konstruksjon) Implementasjon og enhetstesting Integrasjon og systemtesting Drift og vedlikehold 17 Fossefall-problemer Lite fleksibel inndeling i fastlagte steg Vanskelig å etterkomme kundens skiftende krav Modellen er bare anvendelig dersom kravene er tydelige og godt dokumenterte, og lette å forstå. 18 9

En variant fossefall med delprosjekter Et stort system må deles opp i delprosjekter Iterativ og inkrementell utvikling Utviklingen går trinnvis framover i konstruksjonsfasen, med mulighet til å gå tilbake og gjøre endringer (iterasjoner) Produktet blir utviklet og ferdigstilt i deler (inkrementer) 19 Evolusjonær utvikling Explorativ (utforskende) utvikling Arbeidet foregår sammen med kunden med å utvikle et ferdig produkt utfra et utkast til kravspesifikasjon Må starte med veldefinerte krav Prototyping Målet er å forstå systemkravene. Brukes når kravene er uklare, (for å tydeliggjøre kravene) 20 10

Evolusjonær utvikling Parallelle aktiviteter Specification Initial version Outline description Development Intermediate versions Validation Final version 21 Prototyping - prosess Establish prototype objectives Define prototype functionality Develop prototype Evaluate prototype Prototyping plan Outline definition Executable prototype Evaluation report 22 11

Prototyping forts. Ofte dårlig strukturerte systemer Dårlig dokumentasjon Anvendbarhet: For små eller mellomstore systemer For deler av større systemer (f.eks brukergrensesnittet) For systemer med kort levetid. 23 Tilnærming til prototyping Outline Requirements Evolutionary prototyping Throw-away Prototyping Delivered system Executable Prototype + System Specification 24 12

Evolusjonær prototyping Develop abstract specification Build prototype system Use prototype system N Deliver system YES System adequate? 25 Evolusjonær prototyping : fordeler Raskere leveranse av systemet Brukerengasjement under utviklingen av systemet Systemet oppfyller brukerkravene, og brukerne blir mer dedikerte (føler eierskap til systemet) 26 13

Bruk-og-kast prototyping Outline requirements Develop prototype Evaluate prototype Specify system Reusable components Develop software Validate system Delivered software system 27 Spiralmodellen Systemutviklingsprosessen er representert som en spiral, ikke som et sett aktiviteter der man går tilbake Hver omgang i spiralen representerer en fase i prosessen Det er ingen faste faser som spesifikasjon eller design rundene i spiralene velges utfra hva som skal gjøres Risikostyring: Risiko avdekkes og løses gjennom hele prosessen 28 14

Spiralmodellen Determine objectives alternatives and constraints Plan next phase REVIEW Requirements plan Life-cycle plan Development plan Integration and test plan Risk analysis Risk analysis Risk analysis Prototype 2 Risk analysis Prototype 1 Concept of Operation S/W requirements Requirement validation Design V&V Acceptance Service test Evaluate alternatives identify, resolve risks Prototype 3 Operational protoype Simulations, models, benchmarks Product design Detailed design Code Unit test Integration test Develop, verify next-level product 29 Extreme programming - XP En ny tilnærming til utvikling basert på utvikling og leveranse av svært små inkrementer (deler) Rask og kontinuerlig koding Brukermedvirkning i utviklingsteamet Parprogrammering 30 15

Inkrementell utvikling Define outline requirements Assign requirements to increments Design system architecture Develop system increment Validate increment System incomplete Integrate increment Validate system Final system 31 Incrementell utvikling - fordeler Viktig funksjonalitet kan leveres tidlig Tidlige inkrementer kan være prototyper som avdekker krav for senere inkrementer Mindre risko for at prosjektet skal feile og ingenting leveres Funksjonalitet med høyest prioritet blir testet best. 32 16

Neste gang Objektorientert systemutvikling kap. 6.1, -6.5 i Gurholt & Hasle (les gjerne om XP 6.6, men dette blir forelest senere). 33 34 17

35 36 18

37 19