Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

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 Jerzy.Nawrocki@put.poznan.pl www.cs.put.poznan.pl/jnawrocki/io Inżynieria oprogramowania II Wykład 8

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

3 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

4 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

5 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

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 KolorGraf20.04.04 9:109+79:4721PlanSzef+ książka Pytanie: faza czy zadanie ?

11 J.Nawrocki, Personal Software Process Rejestr defektów GraphColor20.04.04 120CM1brak ; P P: Planning D D: Design C C: Coding M M: coMpilation T T: Testing 2 20 C M 1 brak dekl. zm. 3 20 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. 2 + 3 = 5 2 + 3 = 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 - 0 - 1 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 ) 2 + 1 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 Base program

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

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

30 J.Nawrocki, Personal Software Process Przykład Base program LOC modyfikowane (M)................................... 5 Nowe obiekty Typ Metody Rozmiar Razem Matrix Data 13 Medium 115 Linear sys. Calc. 8 Large 197 Linked list 1 Data 3 Large 49 Razem nowe i modyfikowane (X)..................... 366 0.................................................................... 62 1.................................................................... 1.3 Szacowane nowe i modyfikowane (Y).............. 538

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

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

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

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

35 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

36 J.Nawrocki, Personal Software Process Actual size Actual time 1. 2. Effort = Estimated_size / P av time 1 +.. + time 2 size 1 +.. + 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

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

38 J.Nawrocki, Personal Software Process Szacowanie harmonogramu Rozmiar Pracochłon. Kalendarz Harmonogr Współczyn. dostępności 10 20 30 40 50 60 70 80 90 [h] 10 20 30 40 50 60 70 80 90 [h] 1tydz. 2t2t2t2t 3t3t3t3t 4t4t4t4t 5t5t5t5t 6t6t6t6t 7t7t7t7t Zadanie 1Zad. 2Zadanie 3

39 J.Nawrocki, Personal Software Process Szacowanie harmonogramu 10 20 30 40 50 60 70 80 90 [h] 10 20 30 40 50 60 70 80 90 [h] 1tydz. 2t2t2t2t 3t3t3t3t 4t4t4t4t 5t5t5t5t 6t6t6t6t 7t7t7t7t Zadanie 1Zad. 2Zadanie 3

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

41 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

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

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

44 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

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

46 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

47 J.Nawrocki, Personal Software Process Podsumowanie Organizacja projektu wg PRICE 2 Rola kierownika projektu Najważniejsze procesy PRINCE 2 Przygotowanie założeń projektu Inicjowanie projektu Sterowanie etapem Zarządzanie zakresem etapu Zamknięcie projektu

48 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ć?

49 J.Nawrocki, Personal Software Process Plan wykładu Wstęp Organizacja zespołu Cykl życia projektu Przygotowanie założeń projektu Planowanie Inicjowanie projektu Sterowanie etapem Zarządzanie zakresem etapu Wstęp Organizacja zespołu Cykl życia projektu Wybrane praktyki i narzędzia XPrince a ISO 9001:2000 XPrince a CMMI Oferta dla Polsoftu


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

Podobne prezentacje


Reklamy Google