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

Slides:



Advertisements
Podobne prezentacje
Programowanie Ekstemalne
Advertisements

Wprowadzenie do informatyki Wykład 6
Imperatywne modele obliczeń Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do.
Programowanie Ekstremalne
Estymacja przedziałowa
Zarządzanie przedsięwzięciami i PRINCE2
Jerzy Nawrocki Piotr Pawałowski Krzysztof Pospiech
Próba eksperymentalnej oceny metody PROBE
Na Etapie Inżynierii Wymagań
Lekkie metodyki programowania: Szansa czy zagrożenie?
ISO 9001:2000 z perspektywy CMMI a poznańska rzeczywistość
Imperatywne modele obliczeń Copyright, 2001 © Jerzy R. Nawrocki Wprowadzenie do.
Inżynieria oprogramowania II Wykład 5 Standardy serii ISO 9000
Inżynieria oprogramowania II Wykład 4 Normy serii ISO 9000
Inżynieria oprogramowania Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Zwinne metodyki programowania
Szacowanie rozmiaru i pracochłonności
Inżynieria oprogramowania II Wykład 12 Projekty dyplomowe
Wprowadzenie do przedmiotu
Model dojrzałości CMMI
Copyright © Jerzy R. Nawrocki Standardy serii ISO Inżynieria oprogramowania II Wykład.
Zwinne metodyki programowania Copyright, 2006 © Jerzy R. Nawrocki Inżynieria oprogramowania.
Copyright © Jerzy R. Nawrocki Kontrola jakości oprogramowania Inżynieria oprogramowania.
Wykład 1 Inżynieria oprogramowania II Wykład 1 Wprowadzenie
Inżynieria Oprogramowania Copyright, 2002 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Szacowanie rozmiaru i pracochłonności
Personal Software Process
XPrince: Równoważenie zwinności i dyscypliny
J. Nawrocki, Inżynieria oprog. Plan wykładu Praktyki XP Wcześniejsze badania Personal Software Process eXtremme Programming Opis eksperymentu WynikiPodsumowanie.
Analiza i walidacja wymagań
Copyright © Jerzy R. Nawrocki Zbieranie wymagań Analiza systemów informatycznych Wykład.
Copyright © Jerzy R. Nawrocki Wprowadzenie Analiza systemów informatycznych Wykład.
Inżynieria oprogramowania II Wykład 10 PRINCE2 i TSP
Testy akceptacyjne Analiza systemów informatycznych Wykład 9
Szacowanie pracochłonności
Modelowanie i język UML
Dokument specyfikacji wymagań
Dyscyplina i zwinność w projektach informatycznych
Dyscyplina i zwinność w projektach informatycznych (cz. 2)
Ilościowe zarządzanie przedsięwzięciem
Imperatywne modele obliczeń Copyright, 2003 © Jerzy R. Nawrocki Teoretyczne podstawy.
Informatyka jako dziedzina wiedzy Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Programowanie imperatywne i granice obliczalności Copyright, 2004 © Jerzy R. Nawrocki
Procesy współbieżne Copyright, 2005 © Jerzy R. Nawrocki Wstęp do informatyki.
Informatyka jako dziedzina wiedzy Copyright, 2005 © Jerzy R. Nawrocki Wstęp.
Metody formalne Copyright, 2005 © Jerzy R. Nawrocki Analiza systemów informatycznych.
Testowanie oprogramowania
Copyright © Jerzy R. Nawrocki Szacowanie rozmiaru i pracochłonności Inżynieria oprogramowania.
Zarządzanie przedsięwzięciami i PRINCE2
Tomasz Pieciukiewicz Rafał Hryniów
Szacowanie rozmiaru oprogramowania
Wykład 4 Przedziały ufności
Rozkład normalny Cecha posiada rozkład normalny jeśli na jej wielkość ma wpływ wiele niezależnych czynników, a wpływ każdego z nich nie jest zbyt duży.
Inżynieria oprogramowania Copyright, 1999 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Elementy Rachunku Prawdopodobieństwa i Statystyki
Inżynieria Oprogramowania Copyright, 2001 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Pomiary procesów programistycznych Copyright, 2002 © Jerzy R. Nawrocki Zarządzanie jakością.
Copyright © Jerzy R. Nawrocki Kontrola jakości oprogramowania Inżynieria oprogramowania.
Komputerowe wspomaganie projektowania
Wnioskowanie statystyczne
(c) Jerzy Nawrocki Jerzy Nawrocki
Wprowadzenie do teoretycznych podstaw informatyki Copyright, 2004 © Jerzy R. Nawrocki
Copyright © Jerzy R. Nawrocki Team Software Process Inżynieria oprogramowania II Wykład.
Innowacyjne metody zarządzania jakością oprogramowania, Zarządzanie ryzykiem w metodyce PRINCE2 Jerzy Nawrocki
Innowacyjne metody zarządzania jakością oprogramowania Przeglądy oprogramowania i standard IEEE 1028 Bartosz Michalik
Innowacyjność w planowaniu przedsięwzięć informatycznych Mirosław Ochodek Łukasz Olek
(c) InMoST 2006 Plan szkolenia ▪ Wprowadzenie (9:00-10:30): Czym jest szacowanie? (MO) Systematyczne podejście do planowania (ŁO) Planowanie, a kalendarz.
Zarządzanie projektami informatycznymi
IEEE SPMP Autor : Tomasz Czwarno
Inżynieria oprogramowania II Wykład 5 Model CMMI
Zapis prezentacji:

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

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

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

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

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

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

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

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

J.Nawrocki, Personal Software Process Rejestr czasu

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

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,..

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

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

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

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ł.

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

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

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

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

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.

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

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

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; + ].

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

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.

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.

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

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

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

J.Nawrocki, Personal Software Process Przykład Base program LOC modyfikowane (M) 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) Szacowane nowe i modyfikowane (Y)

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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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