Ilościowe zarządzanie przedsięwzięciem Adam Wojciechowski Doskonalenie Procesów Programowych Wykład 5 Ilościowe zarządzanie przedsięwzięciem Jerzy.Nawrocki@put.poznan.pl Adam.Wojciechowski@put.poznan.pl www.cs.put.poznan.pl/jnawrocki/psp Copyright, 2001 © Jerzy R. Nawrocki, Adam Wojciechowski Doskonalenie Procesów Programowych
J.Nawrocki, A.Wojciechowski, DPP - wykład 5 Plan 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
Aby rzeczy pierwsze były pierwsze Być 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
Z poprzedniego wykładu: Szeregowanie zadań Kalendarz Inne zajęcia Nakład pracy Rozmiar kodu J.Nawrocki, A.Wojciechowski, DPP - wykład 5
Z poprzedniego wykładu: Metody oceny intuicyjnej Adam Wojciechowski Z poprzedniego wykładu: Metody oceny intuicyjnej e E M e e 0 20 40 60 80 100 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
J.Nawrocki, A.Wojciechowski, DPP - wykład 5 Plan 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
J.Nawrocki, A.Wojciechowski, DPP - wykład 5 Na 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
J.Nawrocki, A.Wojciechowski, DPP - wykład 5 Pomiary 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
J.Nawrocki, A.Wojciechowski, DPP - wykład 5 Pomiary 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
J.Nawrocki, A.Wojciechowski, DPP - wykład 5 Plan 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
Metoda wartości rozmytych Putnam’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
Metoda wartości rozmytych Rozmyte przedziały wielkości J.Nawrocki, A.Wojciechowski, DPP - wykład 5
Metoda wartości rozmytych Mają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= 1 000 i L= 1 024 000, 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
J.Nawrocki, A.Wojciechowski, DPP - wykład 5 Fuzzy-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
J.Nawrocki, A.Wojciechowski, DPP - wykład 5 Plan 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
Metoda standardowego składnika Putnam’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
Metoda standardowego składnika Co 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
J.Nawrocki, A.Wojciechowski, DPP - wykład 5 Plan 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
PSP0 – proces podstawowy Wymagania Planowanie Projekt Kompilacja Kodowanie Test Budowa Postmortem Gotowy produkt, dane o procesie, raport końcowy J.Nawrocki, A.Wojciechowski, DPP - wykład 5
J.Nawrocki, A.Wojciechowski, DPP - wykład 5 Program 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
Dziennik rejestracji czasu GraphColor 20.04.99 9:10 9 +7 9:47 21 Plan Boss +książka Faza czy zadanie? J.Nawrocki, A.Wojciechowski, DPP - wykład 5
Dziennik rejestracji błędów GraphColor 20.04.99 1 20 C M 1 Brak ‘;’ 2 20 C M 1 Brak dekl. var 3 20 M M 1 2 Brak ‘,’ Faza czy zadanie? P: Planning D: Design C: Coding M: coMpilation T: Testing J.Nawrocki, A.Wojciechowski, DPP - wykład 5
Standard klasyfikacji błędów 10 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
Alternatywna klasyfikacja błędów Rodzaj 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
J.Nawrocki, A.Wojciechowski, DPP - wykład 5 Plan realizacji Czas pracy w poszczeg. fazach J.Nawrocki, A.Wojciechowski, DPP - wykład 5
J.Nawrocki, A.Wojciechowski, DPP - wykład 5 Plan realizacji Wprowadzone błędy J.Nawrocki, A.Wojciechowski, DPP - wykład 5
J.Nawrocki, A.Wojciechowski, DPP - wykład 5 Plan realizacji Usunięte błędy J.Nawrocki, A.Wojciechowski, DPP - wykład 5
PSP0 - Proponowany program pomiarów Co 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
J.Nawrocki, A.Wojciechowski, DPP - wykład 5 Plan 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
J.Nawrocki, A.Wojciechowski, DPP - wykład 5 Podsumowanie 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
J.Nawrocki, A.Wojciechowski, DPP - wykład 5 Ocena 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