550 likes | 696 Views
Inżynieria oprogramowania II Wykład 1. Wprowadzenie. Jerzy.Nawrocki@put.poznan.pl www.cs.put.poznan.pl/jnawrocki/io. Syndrom LOOP. Loop. ate ( późno ). L O O P. ver budget ( przekroczony budżet ). vertime ( nadgodziny ). oor quality ( kiepska jakość ). Plan wykładów.
E N D
Inżynieria oprogramowania II Wykład 1 Wprowadzenie Jerzy.Nawrocki@put.poznan.pl www.cs.put.poznan.pl/jnawrocki/io
Syndrom LOOP Loop ate (późno) L O O P ver budget (przekroczony budżet) vertime (nadgodziny) oor quality (kiepska jakość) J.Nawrocki, Wprowadzenie
Plan wykładów Zasady skutecznego działania Kontrola jakości oprogramowania Szacowanie rozmiaru i pracochłonności Standardy serii ISO 9000 Modele CMMI Inżynieria wymagań I, II Metody formalne Zarządzanie projektami i PRINCE2 Personal Software Process 29.05.2006 Sprawdzian TSP & RUP Zwinne metodyki programowania XPrince i projekty dyplomowe J.Nawrocki, Wprowadzenie
Plan wykładów Zasady skutecznego działania Kontrola jakości oprogramowania Szacowanie rozmiaru i pracochłonności Standardy serii ISO 9000 Modele CMMI Inżynieria wymagań I, II Metody formalne Zarządzanie projektami i PRINCE2 Personal Software Process 29.05.2006 Sprawdzian TSP & RUP Zwinne metodyki programowania XPrince i projekty dyplomowe J.Nawrocki, Wprowadzenie
Zasady skutecznego działania • “.. absolwenci nie potrafią: • komunikować się, • mają niedostateczne (..) przygotowanie do pracy w zespole, • brak im umiejętności skutecznego i produktywnego zarządzania ich pracąindywidualną..” ? J.Nawrocki, Wprowadzenie
Zasady skutecznego działania Ostrz piłę Dbaj o synergię Najpierw staraj się zrozumieć Myśl o obopólnej korzyści Aby rzeczy pierwsze były pierwsze Zaczynaj mając koniec na względzie Bądź proaktywny J.Nawrocki, Wprowadzenie
Plan wykładów Zasady skutecznego działania Kontrola jakości oprogramowania Szacowanie rozmiaru i pracochłonności Standardy serii ISO 9000 Modele CMMI Inżynieria wymagań I, II Metody formalne Zarządzanie projektami i PRINCE2 Personal Software Process 29.05.2006 Sprawdzian TSP & RUP Zwinne metodyki programowania XPrince i projekty dyplomowe J.Nawrocki, Wprowadzenie
Kontrola jakości oprogramowania Artefakt Testowanie Przeglądy Recenzja Prezentacja Formalny przegląd techniczny Inspekcja Audyt J.Nawrocki, Wprowadzenie
Plan wykładów Zasady skutecznego działania Kontrola jakości oprogramowania Szacowanie rozmiaru i pracochłonności Standardy serii ISO 9000 Modele CMMI Inżynieria wymagań I, II Metody formalne Zarządzanie projektami i PRINCE2 Personal Software Process 29.05.2006 Sprawdzian TSP & RUP Zwinne metodyki programowania XPrince i projekty dyplomowe J.Nawrocki, Wprowadzenie
Systematyczne podejście do planowania 13 May Szacowanie harmonogramu Szacowanie pracochłonności begin .. end 500 LOC Szacowanie rozmiaru J.Nawrocki, Wprowadzenie
Szacowanie pracochłonności • COCOMO: • Effort = a Sizeb • Walston-Felix model: • Effort = 5.2 Size0.91 • Software equation (Putnam): • Effort = (Size B0.333/P)3/ t4 J.Nawrocki, Wprowadzenie
Metoda delficka Pytia • Rand Corporation, Boehm’81 • Kilku ekspertów indywidualnie szacuje nakład (rozmiar). • Stosując proces delficki dochodzi się do konsensusu. J.Nawrocki, Wprowadzenie
Plan wykładów Zasady skutecznego działania Kontrola jakości oprogramowania Szacowanie rozmiaru i pracochłonności Standardy serii ISO 9000 Modele CMMI Inżynieria wymagań I, II Metody formalne Zarządzanie projektami i PRINCE2 Personal Software Process 29.05.2006 Sprawdzian TSP & RUP Zwinne metodyki programowania XPrince i projekty dyplomowe J.Nawrocki, Wprowadzenie
ISO 9001 Źli Kryte- ria Dobrzy Audytor J.Nawrocki, Wprowadzenie
ISO 9001 Źli Kryte- ria Dobrzy Audytor J.Nawrocki, Wprowadzenie
Główne elementy normy ISO 9000:2000 Systemy zarządzania jakością – Podstawy i terminologia ISO 9001:2000 Systemy zarządzania jakością – Wymagania ISO 9004:2000 Systemy zarządzania jakością – Wytyczne doskonalenia funkcjonowania Certyfikacja dot. tylko ISO 9001:2000 J.Nawrocki, Wprowadzenie
Plan wykładów Zasady skutecznego działania Kontrola jakości oprogramowania Szacowanie rozmiaru i pracochłonności Standardy serii ISO 9000 Modele CMMI Inżynieria wymagań I, II Metody formalne Zarządzanie projektami i PRINCE2 Personal Software Process 29.05.2006 Sprawdzian TSP & RUP Zwinne metodyki programowania XPrince i projekty dyplomowe J.Nawrocki, Wprowadzenie
CMM: Capability Maturity Model Organizacje programistyczne SEI, Pittsburg, USA 1989-1993 5. Optymalizujący 4. Zarządzany ilościowo 3. Zdefiniowany 2. Zarządzany (powtarzalny) 1. Początkowy J.Nawrocki, Wprowadzenie
Profil dojrzałości wg SEI 29.7% 27.7% 27.7% 9.5% 5.4% Początkowy Zdefiniowany Optymalizujący Zarządzany ilościowo Zarządzany J.Nawrocki, Wprowadzenie
Plan wykładów Zasady skutecznego działania Kontrola jakości oprogramowania Szacowanie rozmiaru i pracochłonności Standardy serii ISO 9000 Modele CMMI Inżynieria wymagań I, II Metody formalne Zarządzanie projektami i PRINCE2 Personal Software Process 29.05.2006 Sprawdzian TSP & RUP Zwinne metodyki programowania XPrince i projekty dyplomowe J.Nawrocki, Wprowadzenie
Wymagania .. .. specyfikacja tego, co ma być implementowane. Sommerville & Sawyer’97 J.Nawrocki, Wprowadzenie
Przykładowy przypadek użycia • Zarejestruj IO • Aktor: Rejestrator IO • Cel: Zarejestrować w systemie nową IO. • Zdarzenie: Rejestrator otrzymał wniosek papierowy. • Główny scenariusz • Rejestrator IO: Wprowadza NIP lub REGON IO. • System: Sprawdza poprawność wprowadzonego NIP/REGON. • Rejestrator: Wprowadza pozostałe dane identyfikacyjne IO. • System: Weryfikuje poprawność składniową wprowadzonych danych. • Rejestrator: Wprowadza dane dotyczące jednostek IO. • . . . J.Nawrocki, Wprowadzenie
Specyfikacja wymagań • Wymagania funkcjonalne • Wymagania pozafunkcjonalne • Interfejs użytkownika • Scenariusze testów akceptacyjnych IEEE Std. 830 J.Nawrocki, Wprowadzenie
Plan wykładów Zasady skutecznego działania Kontrola jakości oprogramowania Szacowanie rozmiaru i pracochłonności Standardy serii ISO 9000 Modele CMMI Inżynieria wymagań I, II Metody formalne Zarządzanie projektami i PRINCE2 Personal Software Process 29.05.2006 Sprawdzian TSP & RUP Zwinne metodyki programowania XPrince i projekty dyplomowe J.Nawrocki, Wprowadzenie
Wprowadzenie • Sieci Petri’ego: • Notacja graficzna • Dobra podstawa matematyczna Zastosowania: Modelowanie systemów współbieżnych i rozproszonych Protokoły komunikacyjne, sieci komputerowe, systemy produkcyjne, systemy transportu publicznegoitp. J.Nawrocki, Wprowadzenie
Terminologia Miejsce Łuk wej. Przejście Łuk wyj. Znacznik J.Nawrocki, Wprowadzenie
Bardzo prosty przykład waiting strt_reading reading stop_reading • Czytelnik w bibliotece: • czekanie, • czytanie. J.Nawrocki, Wprowadzenie
Bardzo prosty przykład • Czytelnik w bibliotece: • czekanie, • czytanie. waiting strt_reading reading stop_reading J.Nawrocki, Wprowadzenie
Bardzo prosty przykład • Czytelnik w bibliotece: • czekanie, • czytanie. waiting strt_reading reading stop_reading J.Nawrocki, Wprowadzenie
Bardzo prosty przykład • Czytelnik w bibliotece: • czekanie, • czytanie. waiting strt_reading reading stop_reading J.Nawrocki, Wprowadzenie
Bardzo prosty przykład • Czytelnik w bibliotece: • czekanie, • czytanie. waiting strt_reading reading stop_reading J.Nawrocki, Wprowadzenie
Plan wykładów Zasady skutecznego działania Kontrola jakości oprogramowania Szacowanie rozmiaru i pracochłonności Standardy serii ISO 9000 Modele CMMI Inżynieria wymagań I, II Metody formalne Zarządzanie projektami i PRINCE2 Personal Software Process 29.05.2006 Sprawdzian TSP & RUP Zwinne metodyki programowania XPrince i projekty dyplomowe J.Nawrocki, Wprowadzenie
Wprowadzenie PRINCE = PRojects INControlled Environments CCTA = the Central Computer and Telecommunications Agency, UK 1975: PROMPT, Simpact Systems Ltd 1979: CCTA przyjmuje PROMPT jako standard rządowych przedsięwzięć dot. systemów informacyjnych 1989: CCTA wprowadza metodę PRINCE 1996: CCTA ogłasza metodę PRINCE2 J.Nawrocki, Wprowadzenie
Wstęp Metodyka zarządzania przedsięwzięciami Główny aktor: kierownik przedsięwzięcia http://www.ccta.gov.uk/prince/ OGC = Office of Goverment Commerce Managing Successful Projects with PRINCE2 408 stron, £ 55.00 J.Nawrocki, Wprowadzenie
Certyfikaty PRINCE2 PRINCE2 Foundation (Podstawy) PRINCE2 Practitioner (Praktyk) J.Nawrocki, Wprowadzenie
PRINCE2 Foundation • Format egzaminu: • Test wyboru • 1 godzina • 75 pytań • Warunek zdania: 38 poprawnych odpowiedzi • „Closed-book” APM Group – Cennik egzaminów 2004 (Milton Keynes, ..): Foundation = £100 inc VAT Practitioner = £208 inc VAT Both Exams = £308 inc VAT J.Nawrocki, Wprowadzenie
PRINCE2 w Polsce http://www.crm.com.pl 4-7 maja 2004: „Metodyka zarządzania projektami PRINCE2” Cena: 4 200 zł (4 dni) 22 maja 2004: Egzamin „PRINCE2 Foundation” Cena: 1 400 zł + VAT J.Nawrocki, Wprowadzenie
Plan wykładów Zasady skutecznego działania Kontrola jakości oprogramowania Szacowanie rozmiaru i pracochłonności Standardy serii ISO 9000 Modele CMMI Inżynieria wymagań I, II Metody formalne Zarządzanie projektami i PRINCE2 Personal Software Process 29.05.2006 Sprawdzian TSP & RUP Zwinne metodyki programowania XPrince i projekty dyplomowe J.Nawrocki, Wprowadzenie
Wprowadzenie • PSP = Personal Software Process • PSP: samodoskonalenie • PSP: jak podejmować i wypełniać zobowiązania • PSP: formularze + procedury • Czego brak: inżynieria wymagań, zarządzanie konfiguracją, zarządzanie ryzykiem J.Nawrocki, Wprowadzenie
Wprowadzenie 3.Cykliczny Rozwój cykliczny Wzorce projektowe 2.Jakości Przeglądy kodu i proj. Planowanie zadań i harmon. 1.Planowania Szacowanie rozmiaru + raport tst PSP Poziomy: Stand. kodu + Pomiar rozm. +PPO 0.Bazowy Rejestry czasu i defektów J.Nawrocki, Wprowadzenie
Plan wykładów Zasady skutecznego działania Kontrola jakości oprogramowania Szacowanie rozmiaru i pracochłonności Standardy serii ISO 9000 Modele CMMI Inżynieria wymagań I, II Metody formalne Zarządzanie projektami i PRINCE2 Personal Software Process 29.05.2006 Sprawdzian TSP & RUP Zwinne metodyki programowania XPrince i projekty dyplomowe J.Nawrocki, Wprowadzenie
Plan wykładów Zasady skutecznego działania Kontrola jakości oprogramowania Szacowanie rozmiaru i pracochłonności Standardy serii ISO 9000 Modele CMMI Inżynieria wymagań I, II Metody formalne Zarządzanie projektami i PRINCE2 Personal Software Process 29.05.2006 Sprawdzian TSP & RUP Zwinne metodyki programowania XPrince i projekty dyplomowe J.Nawrocki, Wprowadzenie
Wprowadzenie • TSP = TeamSoftware Process • TSPi: 4-6 osób; TSP: do 20 osób • Bazuje na PSP: • Organizacja pracy własnej • Formularz rejestracji błędów • Formularz rejestracji czasu • Szablon harmonogramu J.Nawrocki, Wprowadzenie
Role w TSP • Lider zespołu • Kierownik rozwoju • Kierownik planowania • Kierownik jakości • Kierownik wspomagania J.Nawrocki, Wprowadzenie
Literatura nt. RUP Addison-Wesley, 2nd edition March 2000. (Amazon: $30) Addison-Wesley, 1st edition April 2003. (Amazon: $30) J.Nawrocki, Wprowadzenie
Fazy w RUP Inception Rozpoczęcie Elaboration Dopracowanie Construction Konstrukcja Transition Wdrożenie J.Nawrocki, Wprowadzenie
Plan wykładów Zasady skutecznego działania Kontrola jakości oprogramowania Szacowanie rozmiaru i pracochłonności Standardy serii ISO 9000 Modele CMMI Inżynieria wymagań I, II Metody formalne Zarządzanie projektami i PRINCE2 Personal Software Process 29.05.2006 Sprawdzian TSP & RUP Zwinne metodyki programowania XPrince i projekty dyplomowe J.Nawrocki, Wprowadzenie
Manifest zwinności Ważniejsze: • Jednostki i interakcje niż procesy i narzędzia • Działające oprogramowanie niż obszerna dokumentacja • Współpraca klienta niż negocjacja kontraktu • Nadążanie za zmianami niż trzymanie się planu J.Nawrocki, Wprowadzenie
Zwinne metodyki programowania Programowanie Ekstremalne (XP) = lekka (zwinna) metodyka tworzenia oprogramowania Tom DeMarco „XP jest dzisiaj najważniejszym ruchem w IO." J.Nawrocki, Wprowadzenie
Plan wykładów Zasady skutecznego działania Kontrola jakości oprogramowania Szacowanie rozmiaru i pracochłonności Standardy serii ISO 9000 Modele CMMI Inżynieria wymagań I, II Metody formalne Zarządzanie projektami i PRINCE2 Personal Software Process 29.05.2006 Sprawdzian TSP & RUP Zwinne metodyki programowania XPrince i projekty dyplomowe J.Nawrocki, Wprowadzenie