1 / 50

Inżynieria oprogramowania

Wstęp do informatyki Wykład 12. Inżynieria oprogramowania. Jerzy.Nawrocki@put.poznan.pl www.cs.put.poznan.pl/jnawrocki/wsb-wdi. Syndrom LOOP. Loop. ate ( późno ). L O O P. ver budget ( przekroczony budżet ). vertime ( nadgodziny ). oor quality ( kiepska jakość ). Plan wykładu.

Download Presentation

Inżynieria oprogramowania

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Wstęp do informatyki Wykład 12 Inżynieria oprogramowania Jerzy.Nawrocki@put.poznan.pl www.cs.put.poznan.pl/jnawrocki/wsb-wdi

  2. Syndrom LOOP Loop ate (późno) L O O P ver budget (przekroczony budżet) vertime (nadgodziny) oor quality (kiepska jakość) J.Nawrocki, Inżynieria oprogramowania

  3. Plan wykładu Zasady skutecznego działania Kontrola jakości oprogramowania Szacowanie rozmiaru i pracochłonności Standardy serii ISO 9000 Modele CMMI Inżynieria wymagań Zarządzanie projektami i PRINCE2 Personal Software Process Team Software Process Rational Unified Process Zwinne metodyki programowania J.Nawrocki, Inżynieria oprogramowania

  4. 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, Inżynieria oprogramowania

  5. 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, Inżynieria oprogramowania

  6. Plan wykładu Zasady skutecznego działania Kontrola jakości oprogramowania Szacowanie rozmiaru i pracochłonności Standardy serii ISO 9000 Modele CMMI Inżynieria wymagań Zarządzanie projektami i PRINCE2 Personal Software Process Team Software Process Rational Unified Process Zwinne metodyki programowania J.Nawrocki, Inżynieria oprogramowania

  7. Kontrola jakości oprogramowania Artefakt Testowanie Przeglądy Recenzja Prezentacja Formalny przegląd techniczny Inspekcja Audyt IEEE Std. 1028 J.Nawrocki, Inżynieria oprogramowania

  8. Plan wykładu Zasady skutecznego działania Kontrola jakości oprogramowania Szacowanie rozmiaru i pracochłonności Standardy serii ISO 9000 Modele CMMI Inżynieria wymagań Zarządzanie projektami i PRINCE2 Personal Software Process Team Software Process Rational Unified Process Zwinne metodyki programowania J.Nawrocki, Inżynieria oprogramowania

  9. Systematyczne podejście do planowania 13 May Szacowanie harmonogramu Szacowanie pracochłonności begin .. end 500 LOC Szacowanie rozmiaru J.Nawrocki, Inżynieria oprogramowania

  10. Szacowanie pracochłonności • COCOMO: • Effort = a  Sizeb • COCOMO 2.0: • Effort = (ei)  A  SizeB • Walston-Felix model: • Effort = 5.2  Size0.91 • Software equation (Putnam): • Effort = (Size  B0.333/P)3/ t4 J.Nawrocki, Inżynieria oprogramowania

  11. 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, Inżynieria oprogramowania

  12. Plan wykładu Zasady skutecznego działania Kontrola jakości oprogramowania Szacowanie rozmiaru i pracochłonności Standardy serii ISO 9000 Modele CMMI Inżynieria wymagań Zarządzanie projektami i PRINCE2 Personal Software Process Team Software Process Rational Unified Process Zwinne metodyki programowania J.Nawrocki, Inżynieria oprogramowania

  13. ISO 9001 Źli Kryte- ria Dobrzy Audytor J.Nawrocki, Inżynieria oprogramowania

  14. ISO 9001 Źli Kryte- ria Dobrzy Audytor J.Nawrocki, Inżynieria oprogramowania

  15. 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, Inżynieria oprogramowania

  16. Główne części normy ISO 9001:2000 4 System zarządzania jakością (dokumentacja) 5 Odpowiedzialność kierownictwa 6 Zarządzanie zasobami 7 Realizacja wyrobu 8 Pomiary, analiza i doskonalenie ISO 9001:2000 J.Nawrocki, Inżynieria oprogramowania

  17. Plan wykładu Zasady skutecznego działania Kontrola jakości oprogramowania Szacowanie rozmiaru i pracochłonności Standardy serii ISO 9000 Modele CMMI Inżynieria wymagań Zarządzanie projektami i PRINCE2 Personal Software Process Team Software Process Rational Unified Process Zwinne metodyki programowania J.Nawrocki, Inżynieria oprogramowania

  18. 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, Inżynieria oprogramowania

  19. 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, Inżynieria oprogramowania

  20. CMMI w układzie geograficznym Szwecja, Niemcy, Francja, Dania, .., Rosja, Białoruś Polska: Motorola Polska Software Center, Kraków J.Nawrocki, Inżynieria oprogramowania

  21. Plan wykładu Zasady skutecznego działania Kontrola jakości oprogramowania Szacowanie rozmiaru i pracochłonności Standardy serii ISO 9000 Modele CMMI Inżynieria wymagań Zarządzanie projektami i PRINCE2 Personal Software Process Team Software Process Rational Unified Process Zwinne metodyki programowania J.Nawrocki, Inżynieria oprogramowania

  22. Wymaganie .. • .. jest to zdolność (capability) lub warunek, który system musi spełnić. J.Nawrocki, Inżynieria oprogramowania

  23. Wymagania .. .. specyfikacja tego, co ma być implementowane. Sommerville & Sawyer’97 J.Nawrocki, Inżynieria oprogramowania

  24. 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, Inżynieria oprogramowania

  25. Specyfikacja wymagań • Wymagania funkcjonalne • Wymagania pozafunkcjonalne • Interfejs użytkownika • Scenariusze testów akceptacyjnych  IEEE Std. 830 J.Nawrocki, Inżynieria oprogramowania

  26. Plan wykładu Zasady skutecznego działania Kontrola jakości oprogramowania Szacowanie rozmiaru i pracochłonności Standardy serii ISO 9000 Modele CMMI Inżynieria wymagań Zarządzanie projektami i PRINCE2 Personal Software Process Team Software Process Rational Unified Process Zwinne metodyki programowania J.Nawrocki, Inżynieria oprogramowania

  27. Historia PRINCE2 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, Inżynieria oprogramowania

  28. Główne źródła wiedzy 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, Inżynieria oprogramowania

  29. Certyfikaty PRINCE2 PRINCE2 Foundation (Podstawy) PRINCE2 Practitioner (Praktyk) J.Nawrocki, Inżynieria oprogramowania

  30. 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, Inżynieria oprogramowania

  31. 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, Inżynieria oprogramowania

  32. Plan wykładu Zasady skutecznego działania Kontrola jakości oprogramowania Szacowanie rozmiaru i pracochłonności Standardy serii ISO 9000 Modele CMMI Inżynieria wymagań Zarządzanie projektami i PRINCE2 Personal Software Process Team Software Process Rational Unified Process Zwinne metodyki programowania J.Nawrocki, Inżynieria oprogramowania

  33. Co to jest PSP? • 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, Inżynieria oprogramowania

  34. Twórca PSP • 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, Inżynieria oprogramowania

  35. Model PSP 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, Inżynieria oprogramowania

  36. Plan wykładu Zasady skutecznego działania Kontrola jakości oprogramowania Szacowanie rozmiaru i pracochłonności Standardy serii ISO 9000 Modele CMMI Inżynieria wymagań Zarządzanie projektami i PRINCE2 Personal Software Process Team Software Process Rational Unified Process Zwinne metodyki programowania J.Nawrocki, Inżynieria oprogramowania

  37. Co to jest TSP? • 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, Inżynieria oprogramowania

  38. Role w TSP • Lider zespołu • Kierownik rozwoju • Kierownik planowania • Kierownik jakości • Kierownik wspomagania J.Nawrocki, Inżynieria oprogramowania

  39. Plan wykładu Zasady skutecznego działania Kontrola jakości oprogramowania Szacowanie rozmiaru i pracochłonności Standardy serii ISO 9000 Modele CMMI Inżynieria wymagań Zarządzanie projektami i PRINCE2 Personal Software Process Team Software Process Rational Unified Process Zwinne metodyki programowania J.Nawrocki, Inżynieria oprogramowania

  40. Co to jest RUP? RUP is a knowledge base, containing software engineering practices that represent many of the best practices observed in successful software development http://www-306.ibm.com/services/learning/ites.wss?pageType= course_description&courseCode=RP401&country=us&language=en J.Nawrocki, Inżynieria oprogramowania

  41. Philippe Kruchten Inżynier mechanik: Ecole Centrale de Lyon, Francja. Doktorat (informatyka): Institute of Telecommunications, Paryż Alcatel (8 lat) 1-szy certyfikowany kompilator Ady, NYU Rational Software (15 lat), Director of Process Development, odpowiedzialny za RUP J.Nawrocki, Inżynieria oprogramowania

  42. Genealogia RUP http://www3.software.ibm.com/ibmdl/pub/software/rational/web/whitepapers/2003/rup_bestpractices.pdf J.Nawrocki, Inżynieria oprogramowania

  43. Literatura nt. RUP Addison-Wesley, 2nd edition March 2000. (Amazon: $30) Addison-Wesley, 1st edition April 2003. (Amazon: $30) J.Nawrocki, Inżynieria oprogramowania

  44. Fazy w RUP Inception Rozpoczęcie Elaboration Dopracowanie Construction Konstrukcja Transition Wdrożenie J.Nawrocki, Inżynieria oprogramowania

  45. Plan wykładu Zasady skutecznego działania Kontrola jakości oprogramowania Szacowanie rozmiaru i pracochłonności Standardy serii ISO 9000 Modele CMMI Inżynieria wymagań Zarządzanie projektami i PRINCE2 Personal Software Process Team Software Process Rational Unified Process Zwinne metodyki programowania J.Nawrocki, Inżynieria oprogramowania

  46. 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, Inżynieria oprogramowania

  47. Programowanie Ekstremalne Programowanie Ekstremalne (XP) = lekka (zwinna) metodyka tworzenia oprogramowania Tom DeMarco „XP jest dzisiaj najważniejszym ruchem w IO." J.Nawrocki, Inżynieria oprogramowania

  48. Praktyki XP • Wybrane praktyki XP: • Klient na miejscu • Krótkie przyrosty i wydania • Najpierw przypadki testowe potem kod • Automatyzacja wykonywania testów • Programowanie parami • Dokumentacja = Przypadki testowe + kod J.Nawrocki, Inżynieria oprogramowania

  49. Pytania? ? J.Nawrocki, Inżynieria oprogramowania

  50. 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, Inżynieria oprogramowania

More Related