Estimeringsmetoder. I dag. Kostnadsestimering. Kostnader og prisfastsettelse. Ulike estimeringsmetoder. Måling av programvare. Estimeringsteknikker

Like dokumenter
Estimeringsmetoder. Kirsten Ribu. HiO - Kirsten Ribu

Estimeringsmetoder. I dag. Estimering = måling. Kostnader og prisfastsettelse

Måling Hvordan ta beslutninger Estimeringsteknikker

I dag. Estimeringsmetoder.

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

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

I dag UML. Domenemodell visualisering av konsepter. Eksempel. Hvordan finne domeneklasser?

Oppsummering av hovedområdene i kurset LO 135A Kirsten Ribu

UML 1. Use case drevet analyse og design Kirsten Ribu

I dag Prosjektstyring og prosjektgjennomføring

Ulike typer prosessmodeller. Systemutvikling. Utviklingsmodeller. Prosessmodell - faser

UML-Unified Modeling Language

Use case modellering

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

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

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

Kapittel 7 & 8. Kravspesifikasjoner & Data design. Thomas Tjøstheim og Thomas Edvinsen. 20 September Kapittel 7 & 8 p.1/20

Use case drevet design med UML

Kravhåndtering. INF1050: Gjennomgang, uke 03

Kravspesifikasjon med UML use case modellering. Erik Arisholm

Validering og verifisering. Kirsten Ribu

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

Forskningsmetoder. INF1050: Gjennomgang, uke 13

UNIVERSITETET I OSLO

STE6221 Sanntidssystemer LØSNINGSFORSLAG TIL EKSAMEN

Produktrapport Gruppe 9

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

UNIVERSITETET I OSLO

GJENNOMGANG UKESOPPGAVER 7 REPETISJON

GJENNOMGANG UKESOPPGAVER 9 TESTING

UNIVERSITETET I OSLO

Metrikker og målte størrelser. Vi måler fakta for å bestemme systemets egenskaper

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

Innhold. Forord... 11

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

Oppgave 1: Multiple choice (20 %)

Eksamen 2013 Løsningsforslag

Kvalitetssikring av konseptvalg, samt styringsunderlag og kostnadsoverslag for valgt prosjektalternativ. Kostnadsestimering

TESTRAPPORT Tittel på hovedprosjektet: Varebestillingssystem for Wokas Salg AS

Fra krav til objektdesign

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

Løsningsforslag til Case. (Analysen)

UKE 9 Prosesser og prosessmodeller inkludert smidige metoder. Gruppetime INF1055

Unified Modeling Language (UML) Kravspesifikasjon med UML use case modellering. UML diagrammer. Notasjon som støtter opp under modellbasert

Grunnleggende om Evaluering av It-systemer

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

Akseptansetesten. Siste sjanse for godkjenning Etter Hans Schaefer

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

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

UKE 13 Mer UML modellering. Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski

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

Team2 Requirements & Design Document Værsystem

Forslag til ny læreplan for informatikk studieretningsfag

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

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

Livsløpstesting av IT-systemer

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

Tom Røise 25. Januar 2011

Kirsten Ribu

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

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

Diskusjonsoppgaver Hvilke fordeler oppnår man ved analytisk evaluering sammenliknet med andre tilnærminger?

Kravspesifikasjon. 14. oktober 2002

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

UNIVERSITETET I OSLO

Kravspesifikasjon med. UML diagrammer. systemutvikling. Dokumentasjon av systemets krav, arkitektur, design og implementasjon

Karakter 2: 10p Karakter 3: 17p Karakter 4: 23p Karakter 5: 30p Karakter 6: 36p

Grunnleggende testteori

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

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

Kravspesifikasjon med. Erik Arisholm

Eksamen i fag SIF8018 Systemutvikling. Fredag 25. mai 2001 kl

Kapittel 5 - Advanced Hypertext Model Kapittel 6 - Overview of the WebML Development Process

Kravspesifikasjon MetaView

Presentasjon 1, Requirement engineering process

Modellering av krav. INF1050: Systemutvikling 11. februar Universitetslektor Yngve Lindsjørn

Model Driven Architecture (MDA) Interpretasjon og kritikk

Spesifikasjon av Lag emne

Oppsummering. Thomas Lohne Aanes Thomas Amble

TDT4110 Informasjonsteknologi grunnkurs: Programmering: En større case. Professor Alf Inge Wang

Læringsmål og pensum. En større case. Mål Lære å lage større og sammensatte programmer Pensum Kapitlene 1-9 og 12.

Evaluering av IT-systemer Introduksjon. Monica Kristiansen

Mål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Et større case. Terje Rydland - IDI/NTNU. Lære å lage større og sammensatte programmer

SLUTTRAPPORT. gruppe 42 Nils-Kristian Liborg, Bente Brevig, Tom Olav Bruaas, Eirik Lied og Hege Lid Pedersen. 25. november 2002

OptimalJ-kurs UIO Oppsummering av kurset. De ulike modellene egenskaper og formål

Design Patterns - mønstre. Kirsten Ribu

GJENNOMGANG UKESOPPGAVER 2 PROSESSMODELLER OG SMIDIG PROGRAMVAREUTVIKLIG

Beskjed fra Skagestein

Grunnleggende testteori

Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer

Oblig 2, SLI250 Et kortfattet analyse og designdokument for skifteregister på nett

Prosjektet - leveranser. Testing og evaluering av systemer. Hva er sikkerhetskritiske systemer? I dag: Systemfeil og testing. Robust kraftforsyning?

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

INF våren Fra problem til program. Utvikling av store datasystemer. Eksempel: Lage en nytt hus. Oversikt:

Forslag til løsning. Oppgave 1

Forside Eksamen INF1055 V17

ESTIMERING I SMIDIGE PROSJEKTER

UNIVERSITETET I OSLO

Modellering IT konferanse

Transkript:

Estimeringsmetoder. Kirsten Ribu I dag Estimeringsteknikker Ekspertestimering, estimering ved analogi, estimering ved bruk av algoritmer Prosjektplanen med akrivitetetsdiagram HiO - Kirsten Ribu 2005 1 HiO - Kirsten Ribu 2005 2 Kostnader og prisfastsettelse Man estimerer for å avdekke utviklingskostnadene ved å lage et datasystem Det er ikke nødvendigvis en relasjon mellom utviklingskostnader og den prisen kunden betaler Forretnings-, organisasjonsmessige, økonomiske hensyn og politikk virker inn på prisen HiO - Kirsten Ribu 2005 3 Kostnadsestimering Ingen enkel oppgave: Tidlige estimater baserer seg på ufullstendig informasjon i kravspesifikasjonen Man må kanskje benytte ny teknologi Det kan være uerfarne folk i prosjektteamet Estimater kan være selvoppfyllende profetier: Estimatet bestemmer budsjettet - produktet justeres for å holde budsjettet HiO - Kirsten Ribu 2005 4 Ulike estimeringsmetoder Telle antall kodelinjer Ekspertestimering Analogier Algoritmer - kostnadsmnodeller Funksjonspoengmetoden Use case poeng metoden Måling av programvare Størrelsen på systemet = størrelsen på hele prosjektet: Prosjektledelse Analyse, design, koding Testing Systemintegrasjon Størrelsen på prosjektet må måles og oversettes til et tall som representerer tidskostnader (effort) og prosjektets varighet HiO - Kirsten Ribu 2005 5 HiO - Kirsten Ribu 2005 6 1

Pricing-to-win Kostnadene = kundens budsjett En ikke uvanlig strategi Kan synes uetisk og lite profesjonelt Men det er fordeler: Kunde og leverandør må alltid forhandle om funksjonalitet innenfor visse kostnadsrammer Kostnader er den virkelige begrensningen, ikke kravspesifikasjonen, den kan justeres Et mindre firma/en nykommer i markedet kan bevisst underby andre for å få kontrakten systemutviklingsmetoder/ teknologi gir nye utfordringer Det kan være store forskjeller på tidligere og framtidige prosjekter Mange prosjektledere kan ha problemer med å estimere nye prosjekter pga bla: objekt-orientert systemutvikling i motsetning til funksjonsorientert Klient/tjener systemer Bruk av ferdige komponenter i motsetning til å lage alt selv Gjenbruk vs. utvikling fra scratch CASE verktøy med kodegenerering HiO - Kirsten Ribu 2005 7 HiO - Kirsten Ribu 2005 8 Bruk av algoritmer Mest systematisk framgangsmåte Ikke nødvendigvis nøyaktig En algoritme lages ved å analysere kostnader og attributter på ferdige prosjekter En matematisk formel brukes for å forutsi kostnader basert på estimater av systemets størrelse, antall programmere, og ulike prosess- og produktfaktorer Er basert på empiriske observasjoner Størrelse på systemet Defineres som et sett interne attributter: Lengde, funksjonalitet og kompleksitet Kan måles uten å kjøre systemet: Lengde: Systemets fysiske størrelse, kan måles for spesifikasjonen, designet og koden Funksjonalitet måler funksjonene slik brukeren ser dem. Kompleksitet referer til både effektivitet og problemkompleksitet HiO - Kirsten Ribu 2005 9 HiO - Kirsten Ribu 2005 10 Bottom-up vs. Top-down Bottom-up estimering begynner med komponentene på laveste nivå, og det lages et estimat for hver del. Bottom-up tilnærmingen setter sammen estimering av enkelttdeler til høynivå estimater. Top-down estimering begynner med det overordnede produkt Estimater for enkeltdelene regnes ut som deler (prosenter) av estimatet for hele systemet. Prosentvis bottom-up estimering basert på empiri Prosjektledelse 20% Analyse: 15% Design: 20% Koding: 25% Testing 15% Systemintegrasjon 5% Totalt 100% HiO - Kirsten Ribu 2005 11 HiO - Kirsten Ribu 2005 12 2

Ekspert-estimering Kostnadsoverslag gjøres av eksperter basert på tidligere erfaringer Kan resultere i ganske nøyaktige estimater, men det er helt avhengig av ekspertens erfaringsbakgrunn Expertbaserte teknikker er nyttige når man ikke har empiriske data Fordel: Metoden anvender kunnskap om forskjeller og likheter på tidligere prosjekter (erfaring). Ulempe: Estimatene er ikke bedre enn ekspertens vurderinger. De er ikke målbare, og er preget av enkeltpersoners holdninger og forventninger Analogi Analogi = en mer formell tilnærming til ekspertestimering Estimererne sammenligner det planlagte prosjektet med ett eller flere tidligere prosjekter Forskjeller og likheter brukes til å justere estimatet: Type applikasjon blir identifisert, et tidlig overslag gjøres, og justeres i henhold til prosjekterfaringer. Nøyaktighet er avhengig av at det finnes informasjon om tidligere prosjekter. HiO - Kirsten Ribu 2005 13 HiO - Kirsten Ribu 2005 14 Konklusjon Eksperiment av Amos Tversky og Daniel Kahneman (1974) Tilfeldig sammensetning av forsøkspersoner Resultat: Nåla stoppet på 65: Gjennomsnittssvar = 45% Nåla stoppet på 10: Gjennomsnittssvar = 25% Ankereffekten er blitt dokumentert i mange sammenhenger Algoritmer Kostnadsmodeller HiO - Kirsten Ribu 2005 15 HiO - Kirsten Ribu 2005 16 Kostmodeller (cost models) Algoritmer som relaterer et bestemt input til et bestemt output f.eks systemstørrelse til antall arbeidstimer Modellene frambringer estimater direkte Det finnes 2 typer modeller: Matematiske ligninger Oppslagstabeller Kostnadsdrivere Ligninger bruker systemstørrelse som input variabel og arbeidstid (effort) som output. I tillegg brukes ulike justeringsfaktorer = kostnadsdrivere (cost drivers). Disse påvirker produktiviteten Er ofte i form av en skala: (for eksempel som et mål på programmeringserfaring): Svært erfaren, erfaren, middels, lite, novise 1-5 HiO - Kirsten Ribu 2005 17 HiO - Kirsten Ribu 2005 18 3

Fordeler og ulemper Fordeler: Kan brukes av ikke-eksperter Ulemper: Formelen må oppdateres for å ta høyde for endringer i system utviklingsmetoder. Modeller antar at fremtiden er lik fortiden Gir derfor resultater som passer på gjennomsnittsprosjekter. Estimering med use cases Use case poeng metoden (Karners metode) HiO - Kirsten Ribu 2005 19 HiO - Kirsten Ribu 2005 20 Estimering basert på use cases Use case modellen beskriver funksjonaliteten til systemet Attributter ved use case modellen kan dermed brukes som et mål på størrelsen til systemet som skal lages Samme filosofi som funksjonspoengmetoden Størrelsesmålet brukes som input til et top-down estimat. Use case baserte estimater kan brukes sammen med ekspertvurderinger Gode resultater på ulike prosjekter Eksempler: Prosjekt Ekspertestimat UC-estimat Faktisk tidsbruk 1 7000 10831 10043 2 12600 14965 13933 3 2730 2550 3670 4 2340 2730 2860 5 2080 2100 2740 HiO - Kirsten Ribu 2005 21 HiO - Kirsten Ribu 2005 22 Oversikt over metoden: Identifiser, klassifiser og vekt aktører Identifiser, klassifiser og vekt use case Identifiser og vekt tekniske faktorer Identifiser og vekt omgivelsesfaktorer Konverter poeng til arbeidstimer Kalkuler justerte poeng Framgangsmåte 1. Tell aktører og definer kompleksitet: Enkel aktør: Programgrensesnitt Medium aktør: Interaktivt grensesnitt eller protokolldrevet grensesnitt (f.eks TCP/IP) Kompleks aktør: Grafisk brukergrensesnitt (person) HiO - Kirsten Ribu 2005 23 HiO - Kirsten Ribu 2005 24 4

Use case poeng metoden Aktørbeskrivelse Use case kompleksitet Aktørtype Beskrivelse Faktor Enkel Program-grensesnitt 1 Use case Beskrivelse Faktor Enkel 3 eller færre transaksjoner 5 Middels Interaktivt grensesnitt 2 Middels 4 til 7 transaksjoner 10 Kompleks Grafisk brukergrensesnitt 3 Kompleks Mer enn 7 transaksjoner 15 HiO - Kirsten Ribu 2005 25 HiO - Kirsten Ribu 2005 26 Spørreskjemageneratoren UC Generer spørreskjema : >8 transaksjoner = komplekst 3 aktører: 1 eksternt system = enkel 2 personer = komplekse HiO - Kirsten Ribu 2005 27 Use Case Aktør Trigger Pre-betingelser Post-betingelser Normal hendelsesflyt Variasjoner Relatert informasjon Generer spørreskjema Ansatt Ansatt ønsker å opprette et nytt spørreskjema Ansatt har valgt å sette opp et nytt spørreskjema 1.Nytt spørreskjema opprettet eller 2. Ansatt har fått feilmelding 1. Systemet ber om overskrift, innledning og antall spørsmål som spørreskjemaet skal bestå av 2. Ansatt skriver inn nødvendig informasjon 3. Systemet sjekker at alle felt er utfylt 4. Systemet viser et spørreskjema der tekst til spørsmål skal fylles inn. 5. Ansatt skriver inn tekst og evnt. svaralternativ til hvert av spørsmålene 6. Systemet sjekker at riktig antall spørsmål har fått tekst 7. Ansatt ber om at spørreskjema blir lagret 8. Systemet lagrer spørreskjemaet 3a. Alle felt er ikke tilfredsstillende utfylt. 3a1. Systemet informerer ansatt om hvilke felt som ikke er utfylt, og går ikke videre før dette har blitt ordnet. 6a. Alle de angitte spørsmålene har ikke fått en tekst. 6a1. Systemet informerer sekretæren om hvilke spørsmål som ikke har fått tekst, og går ikke videre før dette har blitt ordnet. Svar på spørsmål HiO - Kirsten kan være Ribu fritekst 2005 eller avkrysningsbokser med alternativer. 28 Legg sammen Tekniske faktorer og omgivelsefaktorer Summen av antall use case* kompleksitetsfaktor UUCW (unadjusted use case weights) + Summen av antall aktører*kompleksitetsfaktor UAW (unadjusted actor weights) = UUCP (unadjusted use case points) Antallet use case poeng ganges med en justeringsfaktor = (omgivelsesfaktor) Opprinnelig: 13 tekniske faktorer Kan antakelig utelates. Dette forskes det på. 8 omgivelsesfaktorer ytre påvirkning som har innflytelse på tidsbruken HiO - Kirsten Ribu 2005 29 HiO - Kirsten Ribu 2005 30 5

Omgivelsesfaktorer F1 Erfaring med RUP/ anvendt prosessmodell F2 Team-erfaring med tilsvarende applikasjon F3 Team-erfaring med objekt-orientering/ UML modellering F4 Prosjektleders kompetanse F5 Team-motivasjon F6 Stabile krav/domenekunnskap F7 Ustabile ressurser (deltidsansatte, ikke tilgjengelige ressuser) F8 Ukjent programmeringsspråk/ ny teknologi HiO - Kirsten Ribu 2005 31 Beregn timeforbruk per use case poeng: Omgivelsesfaktorene påvirker antall timer pr use case poeng Erfaring viser at timer pr use case poeng i større prosjekter varierer mellom 20 og 36 Studentprosjekter: 2-3 timer pr ucp HiO - Kirsten Ribu 2005 32 Use case poeng totalt Eksempel: Regneark Neste gang Testing (Validering og verifisering) kvalitetssikring Gurholt & Hasle kapittel 14 Ukeoppgave: lag et estimat for systemet ditt utfra de use casene du har spesifisert. Bruk malen/regnearket. Omgivelsesfaktorene må bestemmes ved gjetning. HiO - Kirsten Ribu 2005 33 HiO - Kirsten Ribu 2005 34 6