1 Ilościowe zarządzanie przedsięwzięciemAdam Wojciechowski Doskonalenie Procesów Programowych Wykład 5 Ilościowe zarządzanie przedsięwzięciem Copyright, 2001 © Jerzy R. Nawrocki, Adam Wojciechowski Doskonalenie Procesów Programowych
2 J.Nawrocki, A.Wojciechowski, DPP - wykład 5Plan wykładu Przypomnienie metod intuicyjnych Rola pomiarów w modelach dojrzałości Metoda wartości rozmytych Metoda standardowego składnika PSP-0: Proces podstawowy Podsumowanie J.Nawrocki, A.Wojciechowski, DPP - wykład 5
3 Aby rzeczy pierwsze były pierwszeByć skutecznym Pilne Nie naglące I “Gaszenie pożarów”, walka z czasem, robienie rzeczy na wczoraj II Zapobieganie, planowanie, szkolenia, penetracja możliwości Ważne III Przerwania, telefony, niektóre spotkania, ... IV Oglądanie stron www, niektóre listy dyskusyjne, gazety, programy TV .. Nieważne J.Nawrocki, A.Wojciechowski, DPP - wykład 5
4 Z poprzedniego wykładu: Szeregowanie zadańKalendarz Inne zajęcia Nakład pracy Rozmiar kodu J.Nawrocki, A.Wojciechowski, DPP - wykład 5
5 Z poprzedniego wykładu: Metody oceny intuicyjnejAdam Wojciechowski Z poprzedniego wykładu: Metody oceny intuicyjnej e E M e e e - estimates, E - your estimate, M - median estimate Metoda Delfijska Metoda Earned Value J.Nawrocki, A.Wojciechowski, DPP - wykład 5 Doskonalenie Procesów Programowych
6 J.Nawrocki, A.Wojciechowski, DPP - wykład 5Plan wykładu Przypomnienie metod intuicyjnych Rola pomiarów w modelach dojrzałości Metoda wartości rozmytych Metoda standardowego składnika PSP-0: Proces podstawowy Podsumowanie J.Nawrocki, A.Wojciechowski, DPP - wykład 5
7 J.Nawrocki, A.Wojciechowski, DPP - wykład 5Na dobry początek Cel szacowania rozmiaru oprogramowania (kodu) Wiarygodne plany Ocena pracochłonności Optymalne szeregowanie zadań produkcyjnych “Sizing represents the project planner’s first major challenge” -- R.S. Pressman J.Nawrocki, A.Wojciechowski, DPP - wykład 5
8 J.Nawrocki, A.Wojciechowski, DPP - wykład 5Pomiary a CMM CMM ver 2.0 (level 2) Software Project Control: tracking software project performance against estimates, commitments, and plans Software Project Planning: developing estimates of the planning parameters for the work to be performed J.Nawrocki, A.Wojciechowski, DPP - wykład 5
9 J.Nawrocki, A.Wojciechowski, DPP - wykład 5Pomiary a PSP Szacowanie złożoności w modelu PSP bazuje na danych historycznych Kosztowna inwestycja – wiarygodne planowanie poprzedzone jest pracą programistyczną i zbieraniem danych Potencjalne korzyści oddalone w czasie Czy można inaczej? J.Nawrocki, A.Wojciechowski, DPP - wykład 5
10 J.Nawrocki, A.Wojciechowski, DPP - wykład 5Plan wykładu Przypomnienie metod intuicyjnych Rola pomiarów w modelach dojrzałości Metoda wartości rozmytych Metoda standardowego składnika PSP-0: Proces podstawowy Podsumowanie J.Nawrocki, A.Wojciechowski, DPP - wykład 5
11 Metoda wartości rozmytychPutnam’92: Oszacowanie złożoności musi być wiarygodne, choć nie koniecznie precyzyjne. Estymacja powinna być konstruowana na bazie danych historycznych Wysoki Średni Niski J.Nawrocki, A.Wojciechowski, DPP - wykład 5
12 Metoda wartości rozmytychRozmyte przedziały wielkości J.Nawrocki, A.Wojciechowski, DPP - wykład 5
13 Metoda wartości rozmytychMając najmniejszy (S) oraz największy (L) rozmiar programu, poszukujemy granic przedziałów A, B, C, D takich, że S, A, B, C, D, L tworzą szereg geometryczny. A/S = B/A = C/B = D/C = L/D = p L/S = p5 p = (L/S)0.2 Jeżeli S= i L= , to p=4 B. mały: S - A Mały: A - B Średni: B - C Duży: C - D B.duży: D - L J.Nawrocki, A.Wojciechowski, DPP - wykład 5
14 J.Nawrocki, A.Wojciechowski, DPP - wykład 5Fuzzy-logic method Uwagi: Potrzebne są dane historyczne odnoszące się do wielu programów różnej wielkości. Zamiast zmieniać zakresy istniejących przedziałów lepiej jest dodać nowy przedział wielkości. Wysoki Średni Niski ? J.Nawrocki, A.Wojciechowski, DPP - wykład 5
15 J.Nawrocki, A.Wojciechowski, DPP - wykład 5Plan wykładu Przypomnienie metod intuicyjnych Rola pomiarów w modelach dojrzałości Metoda wartości rozmytych Metoda standardowego składnika PSP-0: Proces podstawowy Podsumowanie J.Nawrocki, A.Wojciechowski, DPP - wykład 5
16 Metoda standardowego składnikaPutnam’92 System dekomponujemy w formie zestawu standardowych składników (ekrany/formularze, pliki, moduły itd.) Z każdym standardowym składnikiem mamy związane historyczne dane opisujące rozmiar Typowy dom: 2 łazienki 4 sypialnie 1 kuchnia 1 pokój J.Nawrocki, A.Wojciechowski, DPP - wykład 5
17 Metoda standardowego składnikaCo musimy wiedzieć o każdym typie składników: S – minimalna liczba składników danego typu; L – maksymalna liczba składników tego typu M – liczba najbardziej prawdopodobna Szacowana liczba składników danego typu: (S+4*M+L) / 6 Dla każdego typu znamy średni rozmiar LOC. J.Nawrocki, A.Wojciechowski, DPP - wykład 5
18 J.Nawrocki, A.Wojciechowski, DPP - wykład 5Plan wykładu Przypomnienie metod intuicyjnych Rola pomiarów w modelach dojrzałości Metoda wartości rozmytych Metoda standardowego składnika PSP-0: Proces podstawowy Podsumowanie J.Nawrocki, A.Wojciechowski, DPP - wykład 5
19 PSP0 – proces podstawowyWymagania Planowanie Projekt Kompilacja Kodowanie Test Budowa Postmortem Gotowy produkt, dane o procesie, raport końcowy J.Nawrocki, A.Wojciechowski, DPP - wykład 5
20 J.Nawrocki, A.Wojciechowski, DPP - wykład 5Program pomiarów w PSP Wymagania Planowanie Projekt Kompilacja Kodowanie Testowanie Postmortem Gotowy produkt Skrypty Plan realizacji Raport końcowy Dzien-nik J.Nawrocki, A.Wojciechowski, DPP - wykład 5
21 Dziennik rejestracji czasuGraphColor 9:10 9 +7 9:47 21 Plan Boss +książka Faza czy zadanie? J.Nawrocki, A.Wojciechowski, DPP - wykład 5
22 Dziennik rejestracji błędówGraphColor 1 20 C M 1 Brak ‘;’ C M Brak dekl. var M M Brak ‘,’ Faza czy zadanie? P: Planning D: Design C: Coding M: coMpilation T: Testing J.Nawrocki, A.Wojciechowski, DPP - wykład 5
23 Standard klasyfikacji błędów10 Dokumentacja: komentarze… 20 Składnia: ortografia, interpunkcja… 30 Łączenie pakietów: zarz.wersjami, bibliot. 40 Wyrażenie: deklaracja zm., zakres, .. 50 Interfejs: wołanie procedur, parametry,.. 60 Weryfikacja: niepoprawne warunki 70 Dane: struktura, zawartość 80 Funkcja: logika, rekurencja, pętla .. 90 System: czas, pamięć, konfiguracja.. 100 Środowisko: problem z kompilatorem,.. J.Nawrocki, A.Wojciechowski, DPP - wykład 5
24 Alternatywna klasyfikacja błędówRodzaj i miejsce błędu A - Algorytm, implementacja I - Interfejs (np. pomiędzy modułami) T - Test O - Opis zadania N - Narzędzia programowania S - System (hardware+sys operacyjny) Przyczyna błędu 3 - Edukacja (nie wiedziałem/am, że ...) 2 - Komunikacja (myślałem/am, że partner/ka to zrobił/a) 1 - Przeoczenie (nie zauważyłem/am lub zapomniałem/am, że ...) 0 - Pisownia (źle wpisałem/am nazwę zniennej itp...) J.Nawrocki, A.Wojciechowski, DPP - wykład 5
25 J.Nawrocki, A.Wojciechowski, DPP - wykład 5Plan realizacji Czas pracy w poszczeg. fazach J.Nawrocki, A.Wojciechowski, DPP - wykład 5
26 J.Nawrocki, A.Wojciechowski, DPP - wykład 5Plan realizacji Wprowadzone błędy J.Nawrocki, A.Wojciechowski, DPP - wykład 5
27 J.Nawrocki, A.Wojciechowski, DPP - wykład 5Plan realizacji Usunięte błędy J.Nawrocki, A.Wojciechowski, DPP - wykład 5
28 PSP0 - Proponowany program pomiarówCo jest nam potrzebne? Specyfikacja problemu (zadanie) Formularz planu realizacji Dziennik rejestracji czasu Dziennik rejestracji błędów Standard klasyfikacji błędów Stoper (dla skrupulatnych) J.Nawrocki, A.Wojciechowski, DPP - wykład 5
29 J.Nawrocki, A.Wojciechowski, DPP - wykład 5Plan wykładu Przypomnienie metod intuicyjnych Rola pomiarów w modelach dojrzałości Metoda wartości rozmytych Metoda standardowego składnika PSP-0: Proces podstawowy Podsumowanie J.Nawrocki, A.Wojciechowski, DPP - wykład 5
30 J.Nawrocki, A.Wojciechowski, DPP - wykład 5Podsumowanie Warto zaczynać od metod intuicyjnych Dla wzrostu precyzji oszacowań niezbędne jest tworzenie bazy danych Pomiar czasu Pomiar błędów Metody ilościowe zakładają możliwość odwołania do danych z wcześniej realizowanych projektów Metoda wartości rozmytych Metoda standardowego składnika PSP-0 oferuje gotowe procedury i szablony dokumentów rejestracji postępów J.Nawrocki, A.Wojciechowski, DPP - wykład 5
31 J.Nawrocki, A.Wojciechowski, DPP - wykład 5Ocena wykładu 1. Ogólne wrażenie? (1 - 6) 2. Za szybko, czy za wolno? 3. Czy dowiedziałeś(-aś) się czegoś ciekawego? 4. Co można zmienić na lepsze i w jaki sposób? J.Nawrocki, A.Wojciechowski, DPP - wykład 5