Inżynieria oprogramowania II Wykład 1 Wprowadzenie [email protected] www.cs.put.poznan.pl/jnawrocki/io Copyright © Jerzy R. Nawrocki Syndrom LOOP Loop L ate (późno) Over budget (przekroczony budżet) O vertime (nadgodziny) Poor 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 ? J.Nawrocki, Wprowadzenie “.. 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ą ..” 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 J.Nawrocki, Wprowadzenie Przeglądy Recenzja Prezentacja Formalny przegląd techniczny Inspekcja Audyt 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 begin .. end 500 LOC 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 Dobrzy Audytor J.Nawrocki, Wprowadzenie Źli ISO 9001 Dobrzy Audytor J.Nawrocki, Wprowadzenie Źli 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 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% 9.5% 27.7% 27.7% 5.4% Początkowy Zdefiniowany Optymalizujący Zarządzany Zarządzany ilościowo 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 1. Rejestrator IO: Wprowadza NIP lub REGON IO. 2. System: Sprawdza poprawność wprowadzonego NIP/REGON. 3. Rejestrator: Wprowadza pozostałe dane identyfikacyjne IO. 4. System: Weryfikuje poprawność składniową wprowadzonych danych. 5. Rejestrator: Wprowadza dane dotyczące jednostek IO. ... J.Nawrocki, Wprowadzenie Specyfikacja wymagań J.Nawrocki, Wprowadzenie Wymagania funkcjonalne Wymagania pozafunkcjonalne Interfejs użytkownika Scenariusze testów akceptacyjnych 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 publicznego itp. 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 J.Nawrocki, Wprowadzenie Czytelnik w bibliotece: czekanie, czytanie. Bardzo prosty przykład waiting strt_reading reading stop_reading J.Nawrocki, Wprowadzenie Czytelnik w bibliotece: czekanie, czytanie. Bardzo prosty przykład waiting strt_reading reading stop_reading J.Nawrocki, Wprowadzenie Czytelnik w bibliotece: czekanie, czytanie. Bardzo prosty przykład waiting strt_reading reading stop_reading J.Nawrocki, Wprowadzenie Czytelnik w bibliotece: czekanie, czytanie. Bardzo prosty przykład waiting strt_reading reading stop_reading J.Nawrocki, Wprowadzenie Czytelnik w bibliotece: czekanie, czytanie. 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 IN Controlled 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 Poziomy: Rozwój cykliczny Wzorce projektowe Przeglądy kodu i proj. Planowanie zadań i harmon. Szacowanie rozmiaru + raport tst Stand. kodu + Pomiar rozm. + PPO Rejestry czasu i defektów J.Nawrocki, Wprowadzenie 3.Cykliczny 2.Jakości 1.Planowania 0.Bazowy 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 = Team Software 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 Addison-Wesley, 1st edition March 2000. (Amazon: $30) April 2003. (Amazon: $30) J.Nawrocki, Wprowadzenie Fazy w RUP Inception Elaboration Construction Transition Rozpoczęcie Dopracowanie Konstrukcja J.Nawrocki, Wprowadzenie Wdrożenie 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 „XP jest dzisiaj najważniejszym ruchem w IO." Tom DeMarco 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 Studio Rozwoju Oprogramowania Od 1998 Część programu Master in Software Engineering Corocznie 11-12 przedsięwzięć realizowanych w zespołach 8-osobowych (III + IV + V rok) J.Nawrocki, Wprowadzenie Ocena wykładów 2004/05 J.Nawrocki, Wprowadzenie Pytania? J.Nawrocki, Wprowadzenie 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, 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