Szacowanie pracochłonności

38
Szacowanie pracochłonności [email protected] www.cs.put.poznan.pl/jnawrocki/wsb-wdi/ Analiza systemów informatycznych Wykład 10

description

Analiza systemów informatycznych Wykład 10. Szacowanie pracochłonności. [email protected] www.cs.put.poznan.pl/jnawrocki/wsb-wdi/. Hierarchiczna struktura produktów. Diagram przepływu produktów. Zależności między czynnościami. Lista czynności. Opisy produktów. - PowerPoint PPT Presentation

Transcript of Szacowanie pracochłonności

Page 1: Szacowanie pracochłonności

Szacowanie pracochłonnościSzacowanie pracochłonności

[email protected]/jnawrocki/wsb-wdi/

Analiza systemów informatycznychWykład 10

Page 2: Szacowanie pracochłonności

J.Nawrocki, Szacowanie pracochłonności

Projektowanie planu

Definiowanie i analiza produktów

Identyfikacja czynności i zależności

Analizowanie ryzyka

PL1 PL2 PL3

PL6

Scalanie planu PL7

Hierarchiczna struktura produktów

Opisy produktów

Szeregowanie

Diagram przepływu produktów

Szacowanie

PL4 PL5

Lista czynności

Zależności między czynnościami

Oszacowanie czynności

Harmonogram Rejestr ryzyka

Page 3: Szacowanie pracochłonności

J.Nawrocki, Szacowanie pracochłonności

Plan wykładu

•COCOMO II•Metoda punktów funkcyjnych •Punkty przypadków użycia•Metoda delficka

•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 pracochłonności

J.Nawrocki, Szacowanie pracochłonności

Plan wykładu

•COCOMO II•Metoda punktów funkcyjnych •Punkty przypadków użycia•Metoda delficka

•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 5: Szacowanie pracochłonności

J.Nawrocki, Szacowanie pracochłonności

Barry W. Boehm

1957: BA, Matematyka, Harvard

1961: MS, Matematyka, UCLA

1964: PhD, Matematyka, UCLA

1959-73: Rand Corporation

1973-89: TRW

1989-92: Department of Defence (DoD)

1993-teraz: USC Center for SE

Page 6: Szacowanie pracochłonności

J.Nawrocki, Szacowanie pracochłonności

Model post-architektoniczny

Effort Multiplier

Scale Factor

PMNS = A SizeE i=116 EMi

gdzie E = B + 0.01 i=15 SFi

Size w KSLOC

Page 7: Szacowanie pracochłonności

J.Nawrocki, Szacowanie pracochłonności

Model post-architektoniczny

PMNS = A SizeE i=116 EMi

gdzie E = B + 0.01 i=15 SFi

Wartości A, B skalibrowane na podstawie 161 projektów: A = 2.94 B = 0.91

Size w KSLOC

Dla przeciętnego projektu EMi = 1.

0 i=15 SFi 31.6

PMNS = 2.94 SizeE

gdzie 0.91 E 1.226

Page 8: Szacowanie pracochłonności

J.Nawrocki, Szacowanie pracochłonności

Wpływ czynników skali, SF, na pracochłonność

E= 1.226

E= 1E= 0.91

Page 9: Szacowanie pracochłonności

J.Nawrocki, Szacowanie pracochłonności

Rozpiętość pracochłonności

5.7

7.1

8.1

8.9

Page 10: Szacowanie pracochłonności

J.Nawrocki, Szacowanie pracochłonności

Czynniki skali, SFi

Typowość

Elastyczność

Zarz. ryzykiem

Spójność zespołu

Dojrzałość proc.

Very low

Low Nominal

High Very high

Extra high

6.20 4.96 3.72 2.48 1.24 0.00

5.07 4.05 3.04 2.03 1.01 0.00

7.07 5.65 4.24 2.83 1.41 0.00

5.48 4.38 3.29 2.19 1.10 0.00

7.80 6.24 4.68 3.12 1.56 0.00

Page 11: Szacowanie pracochłonności

J.Nawrocki, Szacowanie pracochłonności

Model post-architektoniczny

Size w KSLOC

Dla przeciętnego projektu:

PMNS = 2.94 SizeE

gdzie 0.91 E 1.226

Page 12: Szacowanie pracochłonności

J.Nawrocki, Szacowanie pracochłonności

Plan wykładu

•COCOMO II•Metoda punktów funkcyjnych •Punkty przypadków użycia•Metoda delficka

•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 13: Szacowanie pracochłonności

J.Nawrocki, Szacowanie pracochłonności

Metoda punktów funkcyjnych

Albrecht, IBM, 1979

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

Page 14: Szacowanie pracochłonności

J.Nawrocki, Szacowanie pracochłonności

Metoda punktów funkcyjnych

BudowanaBudowana

aplikacjaaplikacja

Wewn.Wewn.plikplik

WyjścieWyjście

WejścieWejście

ZapytanieZapytanie

InnaInna

aplikacjaaplikacja

InterfejsInterfejs

zewn.zewn.

Page 15: Szacowanie pracochłonności

J.Nawrocki, Szacowanie pracochłonności

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 16: Szacowanie pracochłonności

J.Nawrocki, Szacowanie pracochłonności

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

3 3 3

2 1 0

2 1 0

0 1 0

Page 17: Szacowanie pracochłonności

J.Nawrocki, Szacowanie pracochłonności

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 26

3 3 3 48

2 1 0 10

2 1 0 24

0 1 0 7

115

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

Page 18: Szacowanie pracochłonności

J.Nawrocki, Szacowanie pracochłonności

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 19: Szacowanie pracochłonności

J.Nawrocki, Szacowanie pracochłonności

Metoda punktów funkcyjnych

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

Page 20: Szacowanie pracochłonności

J.Nawrocki, Szacowanie pracochłonności

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 21: Szacowanie pracochłonności

J.Nawrocki, Szacowanie pracochłonności

Metoda punktów funkcyjnych

Język Język asembleraCCobolFortranPascalAdaJęzyki obiektoweArkusze kalkulacyjne

LOC/FP3201281051059070306

Page 22: Szacowanie pracochłonności

J.Nawrocki, Szacowanie pracochłonności

Model post-architektoniczny

Size w KSLOC

Dla przeciętnego projektu:

PMNS = 2.94 SizeE

gdzie 0.91 E 1.226

Page 23: Szacowanie pracochłonności

J.Nawrocki, Szacowanie pracochłonności

Model post-architektoniczny

Size w FP

Dla przeciętnego projektu w Pascalu:

PMNS = 2.94 ( 0.09 Size )E

gdzie 0.91 E 1.226

Page 24: Szacowanie pracochłonności

J.Nawrocki, Szacowanie pracochłonności

Plan wykładu

•COCOMO II•Metoda punktów funkcyjnych •Punkty przypadków użycia•Metoda delficka

•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 25: Szacowanie pracochłonności

J.Nawrocki, Szacowanie pracochłonności

Aktorzy

1 pkt: Prosty - Zdefiniowane API

2 pkt: Średni - TCP/IP lub tekst

3 pkt: Złożony - GUI

Page 26: Szacowanie pracochłonności

J.Nawrocki, Szacowanie pracochłonności

Przypadki użycia

5 pkt: Prosty – do 3 transakcji

10 pkt: Średni – 4-7 transakcji

15 pkt: Złożony – powyżej 7 transakcji

Rejestracja artykułu

Scenariusz główny1. System wyświetla

formularz.2. Autor wypełnia

formularz.3. System sprawdza dane.

Rozszerzenia3a. Zły format danych. 3a1. System wyświetla

komunikat. Powrót do kroku 2.

Page 27: Szacowanie pracochłonności

J.Nawrocki, Szacowanie pracochłonności

Punkty przypadków użycia (Use-Case Points)

gdzie: TCF = 0.6 + (0.01 * TFactor)

EF = 1.4 + ( –0.03 * EFactor)

UCP = UUCP * TCF * EF

Effort = UCP * <20, 30> [godz.]

Unadjusted Use-Case Points

Page 28: Szacowanie pracochłonności

J.Nawrocki, Szacowanie pracochłonności

Technical Factors (TFactor)

T1 System rozproszony 2T2 Czas odp. lub przepustowość 2T3 Efektywność użyt. końcowego 1T4 Złożone przetwarzanie wew. 1T5 Reużywalny kod 1T6 Łatwość instalacji 0.5T7 Łatwość użycia 0.5T8 Przenośność 2T9 Łatwość modyfikowania 1T10 Współbieżność 1T11 Mechanizmy bezpieczeństwa 1T12 Dostęp dla trzeciej strony 1T13 Spec. mechanizmy szkoleniowe 1

Page 29: Szacowanie pracochłonności

J.Nawrocki, Szacowanie pracochłonności

Environment Factors (EFactor)

F1 Znajomość RUP-a 1.5F2 Dośw. w budowie takich aplikacji 0.5F3 Doświadczenie w „obiektowości” 1F4 Umiejętności głównego analityka 0.5F5 Motywacja 1F6 Stabilne wymagania 2F7 Pracownicy na część etatu -1F8 Trudny język programowania -1

Page 30: Szacowanie pracochłonności

J.Nawrocki, Szacowanie pracochłonności

Punkty przypadków użycia (Use-Case Points)

gdzie: TCF = 0.6 + (0.01 * TFactor)

EF = 1.4 + ( –0.03 * EFactor)

UCP = UUCP * TCF * EF

Effort = UCP * <20, 30> [godz.]

Page 31: Szacowanie pracochłonności

J.Nawrocki, Szacowanie pracochłonności

Plan wykładu

•COCOMO II•Metoda punktów funkcyjnych •Punkty przypadków użycia•Metoda delficka

•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 32: Szacowanie pracochłonności

J.Nawrocki, Szacowanie pracochłonności

Metoda delficka

Rand Corporation, Boehm’81

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

Stosując proces delfijski dochodzi się do konsensusu.

PytiaPytia

Page 33: Szacowanie pracochłonności

J.Nawrocki, Szacowanie pracochłonności

Metoda delficka

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 34: Szacowanie pracochłonności

J.Nawrocki, Szacowanie pracochłonności

Metoda delficka

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: ......... Uzasadnienie Twojego oszac.: ......................................................................................................................................

Page 35: Szacowanie pracochłonności

J.Nawrocki, Szacowanie pracochłonności

Metoda delficka

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 36: Szacowanie pracochłonności

J.Nawrocki, Szacowanie pracochłonności

Podsumowanie

COCOMO II – szacowanie COCOMO II – szacowanie pracochłonności na podstawie pracochłonności na podstawie rozmiaru kodu w KSLOCrozmiaru kodu w KSLOC

Punkty funkcyjne i przejście na Punkty funkcyjne i przejście na KSLOC (tablica przeliczania FP KSLOC (tablica przeliczania FP na SLOC dla różnych języków)na SLOC dla różnych języków)

Punkty przypadków użycia: Punkty przypadków użycia: mnożnik 20-30 godz./UCPmnożnik 20-30 godz./UCP

Metoda delficka: wykorzystanie Metoda delficka: wykorzystanie wiedzy ekspertówwiedzy ekspertów

Page 37: Szacowanie pracochłonności

J.Nawrocki, Szacowanie pracochłonności

Pytania?

Page 38: Szacowanie pracochłonności

J.Nawrocki, Szacowanie pracochłonności

Ocena jakości

1. Wrażenie ogólne? (1 - 6)2. Tempo wykładu?3. Czego ważnego dowiedziałeś się na wykładzie?4. Co poprawić i jak?