Szacowanie rozmiaru i pracochłonności

31
Copyright © Jerzy R. Nawrocki Szacowanie rozmiaru i pracochłonności [email protected] www.cs.put.poznan.pl/jnawrocki/io Inżynieria oprogramowania II Wykład 3

description

Inżynieria oprogramowania II Wykład 3 . Szacowanie rozmiaru i pracochłonności. [email protected] www.cs.put.poznan.pl/jnawrocki/io. Syndrom LOOP. Loop. ate ( późno ). L O O P. ver budget ( przekroczony budżet ). vertime ( nadgodziny ). oor quality ( kiepska jakość ). - PowerPoint PPT Presentation

Transcript of Szacowanie rozmiaru i pracochłonności

Page 1: Szacowanie rozmiaru i pracochłonności

Copyright © Jerzy R. Nawrocki

Szacowanie rozmiaru i pracochłonności

[email protected]/jnawrocki/io

Inżynieria oprogramowania IIWykład 3

Page 2: Szacowanie rozmiaru i pracochłonności

J.Nawrocki, Wprowadzenie..

Syndrom LOOP

L

O

O

P

ate (późno)

oor quality (kiepska jakość)

ver budget (przekroczony budżet)

vertime (nadgodziny)

Loop

Page 3: Szacowanie rozmiaru i pracochłonności

J.Nawrocki, Wprowadzenie..

Plan wykładu

•Kontrola jakości oprogramowania•Szacowanie rozmiaru i pracochłonności•Standardy serii ISO 9000•Modele CMM/CMMI•Inżynieria wymagań i IEEE 830•Zarządzanie projektami i PRINCE 2•Personal Software Process•Team Software Process•Zwinne metodyki programowania•Rational Unified Process•Projekty dyplomowe

•Kontrola jakości•Szacowanie rozmiaru i•Standardy serii ISO 9000•Modele CMM/CMMI•Inżynieria wymagań•Zarządzanie projektami •Personal Software Process•Team Software Process•Zwinne metodyki•Rational Unified Process•Projekty dyplomowe

Page 4: Szacowanie rozmiaru i pracochłonności

J.Nawrocki, Wprowadzenie..

Szacowanie rozmiaru i pracochłonności

Gra planistyczna w XP

Pracochłonność, ryzyko

More

colors 9 godz.

Wymagania

More

colors

Zakres wydania

More

colors

More

func.9 h

6 h

Page 5: Szacowanie rozmiaru i pracochłonności

J.Nawrocki, Wprowadzenie..

Szacowanie rozmiaru i pracochłonności

Przetargi

Pracochłonność, ryzyko

More

colors 9 godz.

Wymagania

More

colors

Wykonawca

2 mln zł 1 mln zł

Page 6: Szacowanie rozmiaru i pracochłonności

J.Nawrocki, Wprowadzenie..

Systematyczne podejście do planowania

begin .. end

500 LOC

Page 7: Szacowanie rozmiaru i pracochłonności

J.Nawrocki, Wprowadzenie..

Szacowanie pracochłonności

COCOMO:Effort = a Sizeb COCOMO 2.0:Effort = (ei) A SizeB Walston-Felix model:Effort = 5.2 Size0.91 Software equation (Putnam):Effort = (Size B0.333/P)3/ t4

Page 8: Szacowanie rozmiaru i pracochłonności

J.Nawrocki, Wprowadzenie..

Metoda wartości rozmytych

Putnam’92:

Potrzebujemy oszacowań rozmiaru, które są dokładne ale nie koniecznie precyzyjne.

Odnieśmy oszacowanie do danych historycznych.

WysokiWysoki ŚredniŚredni NiskiNiski

Page 9: Szacowanie rozmiaru i pracochłonności

J.Nawrocki, Wprowadzenie..

Metoda wartości rozmytych

Zakres Dół Środek Góra

B. mały 11 000000 22 000000 44 000000

Mały 44 000000 88 000000 1166 000000

Średni 1166 000000 3322 000000 6644 000000

Duży 6644 000000 112288 000000 225566 000000

B. duży 225566 000000 551122 000000 11 002244 000000

Zakresy rozmytych rozmiarów

Page 10: Szacowanie rozmiaru i pracochłonności

J.Nawrocki, Wprowadzenie..

Metoda wartości rozmytych

Mając dany najmniejszy (S) i największy (L) rozmiar, znajdź granice zakresów A, B, C, D takie, że S, A, B, C, D, L tworzą postęp geometryczny.

A/S = B/A = C/B = D/C = L/D = pL/S = p5 p = (L/S)0.2

Jeśli S= 1 000 i L= 1 024 000, to p=4

B.dużyB.duży: D - : D - LLDużyDuży: C - D: C - D

ŚredniŚredni: B - C: B - C

MałyMały: A - B: A - B

B.małyB.mały: : SS - A - A

Page 11: Szacowanie rozmiaru i pracochłonności

J.Nawrocki, Wprowadzenie..

Metoda delfijska

Rand Corporation, Boehm’81

Kilku ekspertów indywidualnie szacuje nakład (rozmiar).

Stosując proces delfijski dochodzi się do konsensusu.

PytiaPytia

Page 12: Szacowanie rozmiaru i pracochłonności

J.Nawrocki, Wprowadzenie..

Metoda delfijska

1. Eksperci dostają specyfikację i formularz estymacyjny.

2. Spotykają się by przedyskutować: cele projektu, założenia, problemy estymacji.

3. Ekspert anonimowo wylicza zadania i szacuje nakład (rozmiar).

4. Szacunki trafiają do moderatora, który opracowuje wyniki i przedstawia je ekspertom.

ModeratorModerator

Page 13: Szacowanie rozmiaru i pracochłonności

J.Nawrocki, Wprowadzenie..

Metoda delfijska

Estymator: Jerzy Nawrocki Data: 12.03.2004Projekt: Procedura sortowania

Oszacowania z 1-szej rundy:

e E M e e 0 20 40 60 80 100

e - oszacowania, E - Twoje oszac., M - średnie oszac.Twoje oszacowanie do następnej rundy: ......... LOCUzasadnienie Twojego oszac.: ......................................................................................................................................

Page 14: Szacowanie rozmiaru i pracochłonności

J.Nawrocki, Wprowadzenie..

Metoda delfijska

5. Eksperci spotykają się by przedyskutować wyniki. Dyskutują zadania, które zdefiniowali, ale nie dyskutują ich szacunkowych nakładu (rozmiarów).

6. Procedura jest powtarzana od kroku 3 aż szacunki ekspertów są dostatecznie bliskie.

ModeratorModerator

Page 15: Szacowanie rozmiaru i pracochłonności

J.Nawrocki, Wprowadzenie..

Plan of the lecture

Delphi methodFuzzy-logic method

Standard-component methodFunction point method

Page 16: Szacowanie rozmiaru i pracochłonności

J.Nawrocki, Wprowadzenie..

Metoda standardowego składnika

Putnam’92Dekompozycja systemu do zbioru

standardowych składników (ekrany, pliki, moduły etc.).

Dla każdego standardowego składnika mamy dane historyczne o jego rozmiarze.

Page 17: Szacowanie rozmiaru i pracochłonności

J.Nawrocki, Wprowadzenie..

Metoda standardowego składnika

Dla każdego typu składnika należy określić:S – najmniejszą liczbę składników tego typu;L – największą liczbęM – najbardziej prawdopodobną liczbę

Szacunkowa liczba komponentów danego typu:(S+4*M+L) / 6

Dla każdego typu komponentu znamy średnie LOC.

Page 18: Szacowanie rozmiaru i pracochłonności

J.Nawrocki, Wprowadzenie..

Plan of the lecture

Delphi methodFuzzy-logic methodStandard-component method

Function point method

Page 19: Szacowanie rozmiaru i pracochłonności

J.Nawrocki, Wprowadzenie..

Metoda punktów funkcyjnych

Albrecht, IBM, 1979

Podstawowe funkcje: Wejścia Wyjścia Zapytania Wewn. pliki danych Zewn. interfejsy

Page 20: Szacowanie rozmiaru i pracochłonności

J.Nawrocki, Wprowadzenie..

Metoda punktów funkcyjnych

BudowanaBudowanaaplikacjaaplikacja

Wewn.Wewn.plikplik

WyjścieWyjście

WejścieWejście

ZapytanieZapytanie

InnaInnaaplikacjaaplikacja

InterfejsInterfejs

zewn.zewn.

Page 21: Szacowanie rozmiaru i pracochłonności

J.Nawrocki, Wprowadzenie..

Metoda punktów funkcyjnych

Wyjście: raport, ekran, komunikat o błędzie. Pojedyncze dane w raporcie nie są liczone osobno.

Zapytanie: bezpośrednie wej. skutkujące bezpośrednim wyj. Zapytanie nie może modyfikować żadnego pliku wewnętrznego (stanu).

WyjścieWyjście ZapytanieZapytanie

Page 22: Szacowanie rozmiaru i pracochłonności

J.Nawrocki, Wprowadzenie..

Metoda punktów funkcyjnych

Typ funk. Proste Śred. Złożone Razem Wejście x 3 x 4 x 6

Wyjście x 4 x 5 x 7

Zapytanie x 3 x 4 x 6 Pliki wewn. x 7 x 10 x 15

Interfejsy x 5 x 7 x 10 Unadjusted total

2 2 2 263 3 3 482 1 0 102 1 0 240 1 0 7 115

ProblemProblem: : prosteproste, , średnie,średnie, czyczy złożonezłożone??

Page 23: Szacowanie rozmiaru i pracochłonności

J.Nawrocki, Wprowadzenie..

Metoda punktów funkcyjnych

FP = UT * CM

FP – Punkty funkcyjne (Function points)UT – Wstępne oszacowanie (Unadjusted total)CM – Mnożnik złożoności (Complexity multiplier): 0.65 .. 1.35

CM = 0.65 + 0.01 * Współczynniki_wpływu (Influence_factors)

14 współczynników wpływu, 0 - 5 punktów każdy

Page 24: Szacowanie rozmiaru i pracochłonności

J.Nawrocki, Wprowadzenie..

Metoda punktów funkcyjnych

Ocena współczynników wpływu0 – Brak wpływu1 – Bardzo słaby2 – Raczej słaby3 – Średni4 – Istotny5 – Zasadniczy

Page 25: Szacowanie rozmiaru i pracochłonności

J.Nawrocki, Wprowadzenie..

Metoda punktów funkcyjnych

Czy jest wymagane przesyłanie danych?Czy są funkcje przetwarzania rozproszonego?Czy wydajność ma kluczowe znaczenie?Czy system ma działać w mocno obciążonym środowisku operacyjnym?Czy system wymaga wprowadzania danych on-line?Czy wewnętrzne przetwarzanie jest złożone?Czy kod ma być re-używalny?

Page 26: Szacowanie rozmiaru i pracochłonności

J.Nawrocki, Wprowadzenie..

Metoda punktów funkcyjnych

Czy wejścia, wyjścia, pliki i zapytania są złożone?Czy wprowadzanie danych on-line wymaga transakcji obejmujących wiele ekranów lub operacji?Czy pliki główne są aktualizowane on-line?Czy system ma mieć automatyczne konwersje i instalacje?

Page 27: Szacowanie rozmiaru i pracochłonności

J.Nawrocki, Wprowadzenie..

Metoda punktów funkcyjnych

Czy system wymaga mechanizmu kopii zapasowych i odtwarzania?Czy system jest projektowany dla wielu instalacji w różnych organizacjach?Czy aplikacja jest projektowana aby wspomagać zmiany i być łatwą w użyciu przez użytkownika?

Page 28: Szacowanie rozmiaru i pracochłonności

J.Nawrocki, Wprowadzenie..

Metoda punktów funkcyjnych

Język Język asembleraCCobolFortranPascalAdaJęzyki obiektoweArkusze kalkulacyjne

LOC/FP3201281051059070306

Page 29: Szacowanie rozmiaru i pracochłonności

J.Nawrocki, Wprowadzenie..

Metoda punktów funkcyjnych

Modyfikacje metody punktów funkcyjnych:Feature points (C. Jones, 1991)Object points (R. Kauffman, R. Kumar, 1993)3D function point (S.A. Whitmire, 1995)

Page 30: Szacowanie rozmiaru i pracochłonności

J.Nawrocki, Wprowadzenie..

Pytania?

Page 31: Szacowanie rozmiaru i pracochłonności

J.Nawrocki, Wprowadzenie..

Ocena wykładu

1. Wrażenie ogólne (1 - 6)2. Za szybko czy za wolno?3. Czy dowiedziałeś się czegoś ważnego?4. Co i jak poprawić?