Szacowanie pracochłonności (c) J.Nawrocki Lecture 5 Analiza systemów informatycznych Wykład 10 Szacowanie pracochłonności Jerzy.Nawrocki@put.poznan.pl www.cs.put.poznan.pl/jnawrocki/wsb-wdi/ Req. Eng. & Project Manag.
Oszacowanie czynności Hierarchiczna struktura produktów Opisy produktów Diagram przepływu produktów Lista czynności Zależności między czynnościami Projektowanie planu Definiowanie i analiza produktów Identyfikacja czynności i zależności PL1 PL2 PL3 Szacowanie Szeregowanie Analizowanie ryzyka PL4 PL5 PL6 Scalanie planu PL7 Oszacowanie czynności Harmonogram Rejestr ryzyka J.Nawrocki, Szacowanie pracochłonności
Metoda punktów funkcyjnych Punkty przypadków użycia Metoda delficka Plan wykładu 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 COCOMO II Metoda punktów funkcyjnych Punkty przypadków użycia Metoda delficka J.Nawrocki, Szacowanie pracochłonności
Metoda punktów funkcyjnych Punkty przypadków użycia Metoda delficka Plan wykładu 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 COCOMO II Metoda punktów funkcyjnych Punkty przypadków użycia Metoda delficka J.Nawrocki, Szacowanie pracochłonności
1957: BA, Matematyka, Harvard 1961: MS, Matematyka, UCLA 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 J.Nawrocki, Szacowanie pracochłonności
Model post-architektoniczny PMNS = A SizeE i=116 EMi gdzie E = B + 0.01 i=15 SFi Size w KSLOC Effort Multiplier Scale Factor J.Nawrocki, Szacowanie pracochłonności
Model post-architektoniczny PMNS = A SizeE i=116 EMi gdzie E = B + 0.01 i=15 SFi Size w KSLOC Wartości A, B skalibrowane na podstawie 161 projektów: A = 2.94 B = 0.91 Dla przeciętnego projektu EMi = 1. 0 i=15 SFi 31.6 PMNS = 2.94 SizeE gdzie 0.91 E 1.226 J.Nawrocki, Szacowanie pracochłonności
Wpływ czynników skali, SF, na pracochłonność E= 1.226 E= 1 E= 0.91 J.Nawrocki, Szacowanie pracochłonności
Rozpiętość pracochłonności 8.9 8.1 7.1 5.7 J.Nawrocki, Szacowanie pracochłonności
Czynniki skali, SFi 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 7.07 5.65 4.24 2.83 1.41 5.48 4.38 3.29 2.19 1.10 7.80 6.24 4.68 3.12 1.56 Typowość Elastyczność Zarz. ryzykiem Spójność zespołu Dojrzałość proc. J.Nawrocki, Szacowanie pracochłonności
Model post-architektoniczny Dla przeciętnego projektu: PMNS = 2.94 SizeE gdzie 0.91 E 1.226 Size w KSLOC J.Nawrocki, Szacowanie pracochłonności
Metoda punktów funkcyjnych Punkty przypadków użycia Metoda delficka Plan wykładu 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 COCOMO II Metoda punktów funkcyjnych Punkty przypadków użycia Metoda delficka 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 3 4 3 7 5 4 5 4 10 7 6 7 6 15 10 J.Nawrocki, Szacowanie pracochłonności
Metoda punktów funkcyjnych Inna aplikacja Interfejs zewn. Budowana aplikacja Wejście Wyjście Wewn. plik Zapytanie J.Nawrocki, Szacowanie pracochłonności
Metoda punktów funkcyjnych Wyjście Zapytanie 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). J.Nawrocki, Szacowanie pracochłonności
Metoda punktów funkcyjnych 2 2 2 3 3 3 2 1 0 0 1 0 J.Nawrocki, Szacowanie pracochłonności
Metoda punktów funkcyjnych 2 2 2 26 3 3 3 48 2 1 0 10 2 1 0 24 0 1 0 7 115 Problem: proste, średnie, czy złożone? 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 J.Nawrocki, Szacowanie pracochłonności
Metoda punktów funkcyjnych Ocena współczynników wpływu 0 – Brak wpływu 1 – Bardzo słaby 2 – Raczej słaby 3 – Średni 4 – Istotny 5 – Zasadniczy Factor 5 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? Influence Factors J.Nawrocki, Szacowanie pracochłonności
Metoda punktów funkcyjnych Język Język asemblera C Cobol Fortran Pascal Ada Języki obiektowe Arkusze kalkulacyjne LOC/FP 320 128 105 90 70 30 6 J.Nawrocki, Szacowanie pracochłonności
Model post-architektoniczny Dla przeciętnego projektu: PMNS = 2.94 SizeE gdzie 0.91 E 1.226 Size w KSLOC J.Nawrocki, Szacowanie pracochłonności
Model post-architektoniczny Dla przeciętnego projektu w Pascalu: PMNS = 2.94 ( 0.09 Size )E gdzie 0.91 E 1.226 Size w FP J.Nawrocki, Szacowanie pracochłonności
Metoda punktów funkcyjnych Punkty przypadków użycia Metoda delficka Plan wykładu 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 COCOMO II Metoda punktów funkcyjnych Punkty przypadków użycia Metoda delficka J.Nawrocki, Szacowanie pracochłonności
1 pkt: Prosty - Zdefiniowane API 2 pkt: Średni - TCP/IP lub tekst Aktorzy 1 pkt: Prosty - Zdefiniowane API 2 pkt: Średni - TCP/IP lub tekst 3 pkt: Złożony - GUI J.Nawrocki, Szacowanie pracochłonności
5 pkt: Prosty – do 3 transakcji 10 pkt: Średni – 4-7 transakcji Przypadki użycia Rejestracja artykułu Scenariusz główny 1. System wyświetla formularz. 2. Autor wypełnia formularz. 3. System sprawdza dane. Rozszerzenia 3a. Zły format danych. 3a1. System wyświetla komunikat. Powrót do kroku 2. 5 pkt: Prosty – do 3 transakcji 10 pkt: Średni – 4-7 transakcji 15 pkt: Złożony – powyżej 7 transakcji J.Nawrocki, Szacowanie pracochłonności
Punkty przypadków użycia (Use-Case Points) Unadjusted Use-Case Points UCP = UUCP * TCF * EF Effort = UCP * <20, 30> [godz.] gdzie: TCF = 0.6 + (0.01 * TFactor) EF = 1.4 + ( –0.03 * EFactor) J.Nawrocki, Szacowanie pracochłonności
Technical Factors (TFactor) T1 System rozproszony 2 T2 Czas odp. lub przepustowość 2 T3 Efektywność użyt. końcowego 1 T4 Złożone przetwarzanie wew. 1 T5 Reużywalny kod 1 T6 Łatwość instalacji 0.5 T7 Łatwość użycia 0.5 T8 Przenośność 2 T9 Łatwość modyfikowania 1 T10 Współbieżność 1 T11 Mechanizmy bezpieczeństwa 1 T12 Dostęp dla trzeciej strony 1 T13 Spec. mechanizmy szkoleniowe 1 Factor 5 J.Nawrocki, Szacowanie pracochłonności
Environment Factors (EFactor) F1 Znajomość RUP-a 1.5 F2 Dośw. w budowie takich aplikacji 0.5 F3 Doświadczenie w „obiektowości” 1 F4 Umiejętności głównego analityka 0.5 F5 Motywacja 1 F6 Stabilne wymagania 2 F7 Pracownicy na część etatu -1 F8 Trudny język programowania -1 Factor 5 J.Nawrocki, Szacowanie pracochłonności
Punkty przypadków użycia (Use-Case Points) UCP = UUCP * TCF * EF Effort = UCP * <20, 30> [godz.] gdzie: TCF = 0.6 + (0.01 * TFactor) EF = 1.4 + ( –0.03 * EFactor) J.Nawrocki, Szacowanie pracochłonności
Metoda punktów funkcyjnych Punkty przypadków użycia Metoda delficka Plan wykładu 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 COCOMO II Metoda punktów funkcyjnych Punkty przypadków użycia Metoda delficka J.Nawrocki, Szacowanie pracochłonności
Rand Corporation, Boehm’81 Metoda delficka Pytia Rand Corporation, Boehm’81 Kilku ekspertów indywidualnie szacuje nakład (rozmiar). Stosując proces delfijski dochodzi się do konsensusu. J.Nawrocki, Szacowanie pracochłonności
1. Eksperci dostają specyfikację i formularz estymacyjny. 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. Moderator J.Nawrocki, Szacowanie pracochłonności
Projekt: Procedura sortowania Metoda delficka Estymator: Jerzy Nawrocki Data: 12.03.2004 Projekt: 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.: .......................................... ............................................................................................ 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. Moderator J.Nawrocki, Szacowanie pracochłonności
Podsumowanie COCOMO II – szacowanie pracochłonności na podstawie rozmiaru kodu w KSLOC Punkty funkcyjne i przejście na KSLOC (tablica przeliczania FP na SLOC dla różnych języków) Punkty przypadków użycia: mnożnik 20-30 godz./UCP Metoda delficka: wykorzystanie wiedzy ekspertów At last! J.Nawrocki, Szacowanie pracochłonności
? Pytania? J.Nawrocki, Szacowanie pracochłonności (c) J.Nawrocki Lecture 5 ? J.Nawrocki, Szacowanie pracochłonności Req. Eng. & Project Manag.
3. Czego ważnego dowiedziałeś się na wykładzie? 4. Co poprawić i jak? 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? J.Nawrocki, Szacowanie pracochłonności