Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
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
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.