Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Copyright © Jerzy R. Nawrocki Personal Software Process Inżynieria oprogramowania II Wykład.

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

Podobne prezentacje


Prezentacja na temat: "Copyright © Jerzy R. Nawrocki Personal Software Process Inżynieria oprogramowania II Wykład."— Zapis prezentacji:

1 Copyright © Jerzy R. Nawrocki Personal Software Process Inżynieria oprogramowania II Wykład 9

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

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

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

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

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

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

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

9 J.Nawrocki, Personal Software Process Rejestr czasu

10 J.Nawrocki, Personal Software Process Rejestr czasu KolorGraf :109+79:4721PlanSzef+ książka Pytanie: faza czy zadanie ?

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

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

13 J.Nawrocki, Personal Software Process Schemat planowania begin.. end 500 LOC

14 J.Nawrocki, Personal Software Process Metoda PROBE Watts Humphrey, 1995 PROxy-Based Estimating Obiekty jako elementy zastępcze DanehistoryczeMetodystatystyczne MetodaPROBE

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

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

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

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

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

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

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

22 J.Nawrocki, Personal Software Process Metoda PROBE 6. Zastosuj regresję liniową, aby otrzymać szacowany rozmiar programu, Y: Y = 1 X + 0 x i y i - n x avg y avg x i 2 - n x avg 2 1 = 0 = y avg - 1 x avg 5, czyli 10 5, czyli 10

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

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

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

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

27 J.Nawrocki, Personal Software Process Przykład Program podlegający modyfikacji MatrixMatrixLinearsystemLinearsystemLinkedlistLinkedlist Data entry Program główny

28 J.Nawrocki, Personal Software Process Przykład Program podlegający modyfikacji MatrixMatrixLinearsystemLinearsystemLinkedlist1Linkedlist1 Data entry Program główny Linkedlist2Linkedlist2

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

30 J.Nawrocki, Personal Software Process Przykład Program podlegający modyfikacji MatrixMatrixLinearsystemLinearsystemLinkedlist1Linkedlist1 Data entry Program główny Linkedlist2Linkedlist2

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

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

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

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

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

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

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

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

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

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

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

42 J.Nawrocki, Personal Software Process 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/ )

43 J.Nawrocki, Personal Software Process 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 x 1.4 x

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

45 J.Nawrocki, Personal Software Process Schemat planowania begin.. end 500 LOC

46 J.Nawrocki, Personal Software Process begin.. end Szacowany rozmiar Rzecz. czas Dane historyczne r Szacowanie pracochłonności

47 J.Nawrocki, Personal Software Process Szacow. rozmiar Rzeczyw. czas 1. 0, 1 2. Effort = 1 * Estimated_size n Range = t 3. Range = t r Effort min = Effort - Range Szacowanie pracochłonności

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

49 J.Nawrocki, Personal Software Process Actual size Actual time Effort = Estimated_size / P av time time 2 size size 2 P av = 3. P min = min { size i / time i } P max = max { size i / time i } P max = max { size i / time i } 4. Effort min = Estimated_size/P max Effort max = Estimated_size/P min Effort max = Estimated_size/P min Szacowanie pracochłonności

50 J.Nawrocki, Personal Software Process Schemat planowania begin.. end 500 LOC

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

52 J.Nawrocki, Personal Software Process Szacowanie harmonogramu [h] [h] 1tydz. 2t2t2t2t 3t3t3t3t 4t4t4t4t 5t5t5t5t 6t6t6t6t 7t7t7t7t Zadanie 1Zad. 2Zadanie 3

53 J.Nawrocki, Personal Software Process Szacowanie harmonogramu Projekt: KolorMapa Data:

54 J.Nawrocki, Personal Software Process Ś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. T1T2 T1T2

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

56 J.Nawrocki, Personal Software Process Śledzenie postępów Projekt: KolorMapa Data:

57 J.Nawrocki, Personal Software Process Zapomniałem o Zapomniałem o zadaniu T j !!! Śledzenie postępów Skorygowana WZ: Nowa_WZ i = x1000 czas i czas j + czas k

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

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

60 J.Nawrocki, Personal Software Process 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ć?


Pobierz ppt "Copyright © Jerzy R. Nawrocki Personal Software Process Inżynieria oprogramowania II Wykład."

Podobne prezentacje


Reklamy Google