Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Personal Software Process

Коpie: 1
Copyright © Jerzy R. Nawrocki Personal Software Process Inżynieria oprogramowania II Wykład.

Podobne prezentacje


Prezentacja na temat: "Personal Software Process"— Zapis prezentacji:

1 Personal Software Process
Inżynieria oprogramowania II Wykład 9 Personal Software Process

2 Personal Software Process
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 J.Nawrocki, Personal Software Process

3 oor quality (kiepska jakość) ver budget (przekroczony budżet)
Syndrom LOOP Loop L O P ate (późno) oor quality (kiepska jakość) ver budget (przekroczony budżet) vertime (nadgodziny) J.Nawrocki, Personal Software Process

4 A Discipline for Software Engineering, Addison Wesley, 1995
Wprowadzenie Watts Humphrey Fellow of the Software Engineering Insititue (SEI) at Carnegie Mellon University 1959 – 1986: IBM Corporation, Director of Programming Quality and Process A Discipline for Software Engineering, Addison Wesley, 1995 J.Nawrocki, Personal Software Process

5 PSP = Personal Software Process PSP: samodoskonalenie
Wprowadzenie PSP = Personal Software Process PSP: samodoskonalenie PSP: jak podejmować i wypełniać zobowiązania PSP: formularze + procedury Dublin City University, 1996 Czego brak: inżynieria wymagań, zarządzanie konfiguracją, zarządzanie ryzykiem J.Nawrocki, Personal Software Process

6 PSP Wprowadzenie Poziomy: 3.Cykliczny Rozwój cykliczny
Przeglądy kodu i proj. Wzorce projektowe 2.Jakości Szacowanie rozmiaru + raport tst Planowanie zadań i harmon. 1.Planowania Stand. kodu + Pomiar rozm. + PPO 0.Bazowy Rejestry czasu i defektów J.Nawrocki, Personal Software Process

7 Rejestry czasu i defektów
Wprowadzenie PSP 0.Bazowy Rejestry czasu i defektów J.Nawrocki, Personal Software Process

8 Skrypty Proces bazowy Wymagania Rej. Podsum. przeds. Produkt końcowy
Planowanie Skrypty Podsum. przeds. Raport podsumowania Rej. Projekt Kodowanie Kompilacja Testowanie Postmortem Produkt końcowy J.Nawrocki, Personal Software Process

9 Rejestr czasu J.Nawrocki, Personal Software Process

10 Pytanie: faza czy zadanie ?
Rejestr czasu KolorGraf 9:10 9 +7 9:47 21 Plan Szef + książka Pytanie: faza czy zadanie ? J.Nawrocki, Personal Software Process

11 Rejestr defektów GraphColor 20.04.04 1 20 C M 1 brak ‘;’
C M brak dekl. zm. M M brak ‘,’ 20 Składnia: ortografia, interpunkcja .. 40 Przypisania: deklaracje, zakres, .. 50 Interfejs: wołania procedur, parametry,.. 70 Dane: struktura, zawartość 80 Funkcje: logika, rekursja, pętle, .. P: Planning D: Design C: Coding M: coMpilation T: Testing J.Nawrocki, Personal Software Process

12 PSP Wprowadzenie Planowanie zadań i harmon. 1.Planowania
Szacowanie rozmiaru + raport tst Planowanie zadań i harmon. 1.Planowania Stand. kodu + Pomiar rozm. + PPO 0.Bazowy Rejestry czasu i defektów J.Nawrocki, Personal Software Process

13 13 May Schemat planowania Szacowanie pracochłonności Szacowanie
harmonogramu 13 May begin .. end 500 LOC Szacowanie rozmiaru J.Nawrocki, Personal Software Process

14 y++; x-=y; Metoda PROBE Watts Humphrey, 1995 PROxy-Based Estimating
Obiekty jako elementy zastępcze y++; x-=y; Metoda PROBE Dane historycze Metody statystyczne J.Nawrocki, Personal Software Process

15 Planowanie przedsięwzięcia
Wymagania Projekt koncepcyjny Szacowanie rozmiaru Baza rozmiarów Szacowanie zasobów Baza produktyw. Harmonogram Dostępne zasoby Produkt Rozmiar, pracochł. J.Nawrocki, Personal Software Process

16 Liczba Typ Rozmiar Kategoria metod obiektu względny re-użycia
Metoda PROBE Projekt koncepcyjny Identyfikuj obiekty Liczba Typ Rozmiar Kategoria metod obiektu względny re-użycia Oblicz nowe i zmodyfikowane LOC Oszacuj rozmiar programu Oblicz przedział ufności J.Nawrocki, Personal Software Process

17 1. Opracuj projekt koncepcyjny (obiekty i metody + ich funkcje)
Metoda PROBE 1. Opracuj projekt koncepcyjny (obiekty i metody + ich funkcje) J.Nawrocki, Personal Software Process

18  Metoda PROBE 2. Każdemu obiektowi przypisz jego typ. Logic
I/O Text Calculation Data Set-up Drapacz chmur Kościół Garaż J.Nawrocki, Personal Software Process

19 Bardzo duży Duży Średni Mały Bardzo mały
Metoda PROBE 3. Oszacuj rozmyty rozmiar każdego obiektu. Bardzo duży Duży Średni Mały Bardzo mały J.Nawrocki, Personal Software Process

20 rozmyty rozmiar obiektu liczbę metod
Metoda PROBE 4. Znając: język programowania typ obiektu rozmyty rozmiar obiektu liczbę metod oszacuj, korzystając z danych historycznych, rozmiar każdego obiektu. J.Nawrocki, Personal Software Process

21 Metoda PROBE 2 + 3 = 5 5. Określ początkowe oszacowanie rozmiaru kodu, X, dodając wartości otrzymane w poprzednim kroku. J.Nawrocki, Personal Software Process

22  xi yi - n xavg yavg  xi2 - n xavg2 1 = 0 = yavg - 1 xavg
Metoda PROBE 5, czyli 10 6. Zastosuj regresję liniową, aby otrzymać szacowany rozmiar programu, Y: Y = 1 X + 0  xi yi - n xavg yavg  xi2 - n xavg2 1 = 0 = yavg - 1 xavg J.Nawrocki, Personal Software Process

23 Metoda PROBE Dla 100% przedział wynosi [0; +].
7. Korzystając z rozkładu t Studenta i odchylenia standardowego oblicz przedział dla podanego poziomu ufności. J.Nawrocki, Personal Software Process

24 Metoda PROBE 7a. Oblicz odchylenie standardowe, , twoich danych historycznych od prostej regresji. 1 2 = (yi - 0 - 1xi)2 n-2 n i=1 J.Nawrocki, Personal Software Process

25 Metoda PROBE 7b. Aby znaleźć dwustronną wartość t dla prawdopodobieństwa q, zajrzyj do tablicy rozkładu t, kolumna p()= (1+q)/2 i wiersz odpowiadający n-2 stopniom swobody. J.Nawrocki, Personal Software Process

26 7c. Oblicz zakres w następujący sposób:
Metoda PROBE 7c. Oblicz zakres w następujący sposób: Początkowe oszac. otrzymane w kroku 5. (X - xavg)2 1 Zakres = t    1 + + n  (xi - xavg)2 J.Nawrocki, Personal Software Process

27 Program podlegający modyfikacji
Przykład Program podlegający modyfikacji Program główny Matrix Linear system Linked list Data entry J.Nawrocki, Personal Software Process

28 Program podlegający modyfikacji
Przykład Program podlegający modyfikacji Program główny Matrix Linear system Linked list 1 Linked list 2 Data entry J.Nawrocki, Personal Software Process

29 Przykład Program główny LOC modyfikowane (M) J.Nawrocki, Personal Software Process

30 Program podlegający modyfikacji
Przykład Program podlegający modyfikacji Program główny Matrix Linear system Linked list 1 Linked list 2 Data entry J.Nawrocki, Personal Software Process

31 Nowe obiekty Typ Metody Rozmiar Razem Matrix Linear sys. Linked list 1
Przykład Program główny LOC modyfikowane (M) Nowe obiekty Typ Metody Rozmiar Razem Matrix Linear sys. Linked list 1 J.Nawrocki, Personal Software Process

32 Nowe obiekty Typ Metody Rozmiar Razem Matrix Data Linear sys. Calc.
Przykład Program główny LOC modyfikowane (M) Nowe obiekty Typ Metody Rozmiar Razem Matrix Data Linear sys. Calc. Linked list 1 Data J.Nawrocki, Personal Software Process

33 Nowe obiekty Typ Metody Rozmiar Razem Matrix Data 13 Średni
Przykład Program główny LOC modyfikowane (M) Nowe obiekty Typ Metody Rozmiar Razem Matrix Data Średni Linear sys. Calc Duży Linked list 1 Data Duży J.Nawrocki, Personal Software Process

34 Przedziały odpowiadające wartościom rozmytym
Przykład Przedziały odpowiadające wartościom rozmytym J.Nawrocki, Personal Software Process

35 Nowe obiekty Typ Metody Rozmiar Razem Matrix Data 13 Średni 115
Przykład 13 x 8.84  115 Program główny LOC modyfikowane (M) Nowe obiekty Typ Metody Rozmiar Razem Matrix Data Średni Linear sys. Calc Duży Linked list 1 Data Duży J.Nawrocki, Personal Software Process

36 Nowe obiekty Typ Metody Rozmiar Razem Matrix Data 13 Średni 115
Przykład Program główny LOC modyfikowane (M) Nowe obiekty Typ Metody Rozmiar Razem Matrix Data Średni Linear sys. Calc Duży Linked list 1 Data Duży J.Nawrocki, Personal Software Process

37 Nowe obiekty Typ Metody Rozmiar Razem Matrix Data 13 Średni 115
Przykład Program główny LOC modyfikowane (M) Nowe obiekty Typ Metody Rozmiar Razem Matrix Data Średni Linear sys. Calc Duży Linked list 1 Data Duży Razem nowe i modyfikowane (X) J.Nawrocki, Personal Software Process

38 Nowe obiekty Typ Metody Rozmiar Razem Matrix Data 13 Średni 115
Przykład Program główny LOC modyfikowane (M) Nowe obiekty Typ Metody Rozmiar Razem Matrix Data Średni Linear sys. Calc Duży Linked list 1 Data Duży Razem nowe i modyfikowane (X) J.Nawrocki, Personal Software Process

39 Nowe obiekty Typ Metody Rozmiar Razem Matrix Data 13 Średni 115
Przykład Program główny LOC modyfikowane (M) Nowe obiekty Typ Metody Rozmiar Razem Matrix Data Średni Linear sys. Calc Duży Linked list 1 Data Duży Razem nowe i modyfikowane (X) Szacowane nowe i modyfikowane (Y) 1.3 x  538 J.Nawrocki, Personal Software Process

40 Szacowane nowe i modyfikowane (Y) ............. 538
Przykład Szacowane nowe i modyfikowane (Y) J.Nawrocki, Personal Software Process

41 Szacowane nowe i modyfikowane (Y) ............. 538
Przykład Szacowane nowe i modyfikowane (Y) Poziom ufności .… % p = (1 + poziom)/ J.Nawrocki, Personal Software Process

42 Szacowane nowe i modyfikowane (Y) ............. 538
Przykład Szacowane nowe i modyfikowane (Y) Poziom ufności .… % p = (1 + poziom)/ Liczba programów w historycznej DB (n) Odchylenie stand.  od prostej regresji Liczba stopni swobody (n-2) t (8, 0.9) (1 + 1/ ) J.Nawrocki, Personal Software Process

43 Szacowane nowe i modyfikowane (Y) ............. 538
Przykład Szacowane nowe i modyfikowane (Y) Poziom ufności .… % p = (1 + poziom)/ Liczba programów w historycznej DB (n) Odchylenie stand.  od prostej regresji Liczba stopni swobody (n-2) t (8, 0.9) (1 + 1/ ) Zakres predykcji 198 x 1.4 x 1.05  291 J.Nawrocki, Personal Software Process

44 Szacowane nowe i modyfikowane (Y) ............. 538
Przykład Szacowane nowe i modyfikowane (Y) Poziom ufności .… % p = (1 + poziom)/ Liczba programów w historycznej DB (n) Odchylenie stand.  od prostej regresji Liczba stopni swobody (n-2) t (8, 0.9) (1 + 1/ ) Zakres predykcji Górna granica (Y + zakres) Dolna granica (Y - zakres) J.Nawrocki, Personal Software Process

45 Schemat planowania Szacowanie pracochłonności begin .. end 500 LOC
rozmiaru J.Nawrocki, Personal Software Process

46 Szacowanie pracochłonności
Szacowany rozmiar Rzecz. czas Best case: r2  0.5 Dane historyczne begin .. end J.Nawrocki, Personal Software Process

47 Szacowanie pracochłonności
Szacow. rozmiar Rzeczyw. czas 0, 1 Best case: r2  0.5 2. Effort = 1 * Estimated_size + 0 + ... 1 n + 3. Range = t    4. Effortmin = Effort - Range J.Nawrocki, Personal Software Process

48 Szacowanie pracochłonności
Brak danych bądź brak korelacji między szacowanym rozmiarem a rzeczywistym czasem Rzecz. czas Szacow. rozmiar Dane historyczne begin .. end J.Nawrocki, Personal Software Process

49 Szacowanie pracochłonności
Actual size Actual time Worst case size size2 1. Pav= time time2 2. Effort = Estimated_size / Pav 3. Pmin= min { sizei / timei } Pmax= max { sizei / timei } 4. Effortmin = Estimated_size/Pmax Effortmax= Estimated_size/Pmin J.Nawrocki, Personal Software Process

50 13 May Schemat planowania Szacowanie pracochłonności Szacowanie
harmonogramu 13 May begin .. end 500 LOC Szacowanie rozmiaru J.Nawrocki, Personal Software Process

51 Szacowanie harmonogramu
Kalendarz Współczyn. dostępności Pracochłon. Rozmiar Zadanie 1 Zad. 2 Zadanie 3 [h] 1tydz. 2t 3t 4t 5t 6t 7t J.Nawrocki, Personal Software Process

52 Szacowanie harmonogramu
Zadanie 1 Zad. 2 Zadanie 3 1tydz. 2t 3t 4t 5t 6t 7t [h] J.Nawrocki, Personal Software Process

53 Szacowanie harmonogramu
Projekt: KolorMapa Data: Szablony harmonogramu i zadań J.Nawrocki, Personal Software Process

54 Problem: Jak śledzić postęp prac, gdy zmienia się kolejność zadań?
Śledzenie postępów Problem: Jak śledzić postęp prac, gdy zmienia się kolejność zadań? Metoda Wartości Zarobionej (WZ): Każde zadanie ma przypisaną pewną liczbę punktów. Aby zarobić punkty związane z zadaniem należy zakończyć zadanie. Punkty odzwierciedlają pracochłonność i są znormalizowane do 1000 punktów. T1 T2 T2 T1 J.Nawrocki, Personal Software Process

55 Metoda Wartości Zarobionej
Śledzenie postępów Metoda Wartości Zarobionej J.Nawrocki, Personal Software Process

56 Szablony harmonogramu i zadań (2)
Śledzenie postępów Projekt: KolorMapa Data: Szablony harmonogramu i zadań (2) J.Nawrocki, Personal Software Process

57 Śledzenie postępów Zapomniałem o zadaniu Tj !!! Skorygowana WZ: czasi
Nowa_WZi= x1000 czasi czasj +  czask J.Nawrocki, Personal Software Process

58 Szablon zadań Śledzenie postępów Projekt: KolorMapa Data: 23.05.2001
J.Nawrocki, Personal Software Process

59 PSP Podsumowanie Poziomy: 3.Cykliczny Rozwój cykliczny
Przeglądy kodu i proj. Wzorce projektowe 2.Jakości Szacowanie rozmiaru + raport tst Planowanie zadań i harmon. 1.Planowania Stand. kodu + Pomiar rozm. + PPO 0.Bazowy Rejestry czasu i defektów J.Nawrocki, Personal Software Process

60 3. Czy dowiedziałeś się czegoś ważnego? 4. Co i jak poprawić?
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ć? J.Nawrocki, Personal Software Process


Pobierz ppt "Personal Software Process"

Podobne prezentacje


Reklamy Google