Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Copyright © Jerzy R. Nawrocki Wprowadzenie do przedmiotu Inżynieria oprogramowania II Wykład.

Podobne prezentacje


Prezentacja na temat: "Copyright © Jerzy R. Nawrocki Wprowadzenie do przedmiotu Inżynieria oprogramowania II Wykład."— Zapis prezentacji:

1 Copyright © Jerzy R. Nawrocki Wprowadzenie do przedmiotu Inżynieria oprogramowania II Wykład 1

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

3 J.Nawrocki, Wprowadzenie.. Plan wykładów Zasady skutecznego działania Kontrola jakości oprogramowania 1.04 Szacowanie rozmiaru i pracochłonności 8.04 Standardy serii ISO Modele CMMI Inżynieria wymagań Zarządzanie projektami i PRINCE Personal Software Process Team Software Process Rational Unified Process Zwinne metodyki programowania Projekty dyplomowe i XPrince

4 J.Nawrocki, Wprowadzenie.. Plan wykładów Zasady skutecznego działania Kontrola jakości oprogramowania 1.04 Szacowanie rozmiaru i pracochłonności 8.04 Standardy serii ISO Modele CMMI Inżynieria wymagań Zarządzanie projektami i PRINCE Personal Software Process Team Software Process Rational Unified Process Zwinne metodyki programowania Projekty dyplomowe i XPrince

5 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ą.. ?

6 J.Nawrocki, Wprowadzenie.. Zasady skutecznego działania Bądź proaktywny Zaczynaj mając koniec na względzie Aby rzeczy pierwsze były pierwsze Myśl o obopólnej korzyści Najpierw staraj się zrozumieć Dbaj o synergię Ostrz piłę

7 J.Nawrocki, Wprowadzenie.. Plan wykładów Zasady skutecznego działania Kontrola jakości oprogramowania 1.04 Szacowanie rozmiaru i pracochłonności 8.04 Standardy serii ISO Modele CMMI Inżynieria wymagań Zarządzanie projektami i PRINCE Personal Software Process Team Software Process Rational Unified Process Zwinne metodyki programowania Projekty dyplomowe i XPrince

8 J.Nawrocki, Wprowadzenie.. Kontrola jakości oprogramowania Testowanie Artefakt Przeglądy Recenzja Prezentacja Formalny przegląd techniczny Inspekcja Audyt

9 J.Nawrocki, Wprowadzenie.. Plan wykładów Zasady skutecznego działania Kontrola jakości oprogramowania 1.04 Szacowanie rozmiaru i pracochłonności 8.04 Standardy serii ISO Modele CMMI Inżynieria wymagań Zarządzanie projektami i PRINCE Personal Software Process Team Software Process Rational Unified Process Zwinne metodyki programowania Projekty dyplomowe i XPrince

10 J.Nawrocki, Wprowadzenie.. Systematyczne podejście do planowania begin.. end 500 LOC

11 J.Nawrocki, Wprowadzenie.. Szacowanie pracochłonności COCOMO: Effort = a Size b COCOMO 2.0: Effort = ( e i ) A Size B Walston-Felix model: Effort = 5.2 Size 0.91 Software equation (Putnam): Effort = (Size B /P) 3 / t 4

12 J.Nawrocki, Wprowadzenie.. Metoda delficka Rand Corporation, Boehm81 Kilku ekspertów indywidualnie szacuje nakład (rozmiar). Stosując proces delficki dochodzi się do konsensusu. Pytia

13 J.Nawrocki, Wprowadzenie.. Plan wykładów Zasady skutecznego działania Kontrola jakości oprogramowania 1.04 Szacowanie rozmiaru i pracochłonności 8.04 Standardy serii ISO Modele CMMI Inżynieria wymagań Zarządzanie projektami i PRINCE Personal Software Process Team Software Process Rational Unified Process Zwinne metodyki programowania Projekty dyplomowe i XPrince

14 J.Nawrocki, Wprowadzenie.. Audytor Dobrzy ISO 9001 Kryte- ria Źli

15 J.Nawrocki, Wprowadzenie.. Audytor Dobrzy ISO 9001 Kryte- ria Źli

16 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

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

18 J.Nawrocki, Wprowadzenie.. Plan wykładów Zasady skutecznego działania Kontrola jakości oprogramowania 1.04 Szacowanie rozmiaru i pracochłonności 8.04 Standardy serii ISO Modele CMMI Inżynieria wymagań Zarządzanie projektami i PRINCE Personal Software Process Team Software Process Rational Unified Process Zwinne metodyki programowania Projekty dyplomowe i XPrince

19 J.Nawrocki, Wprowadzenie.. CMM: Capability Maturity Model 1. Początkowy 2. Zarządzany (powtarzalny) 3. Zdefiniowany 4. Zarządzany ilościowo 5. Optymalizujący Organizacje programistyczne SEI, Pittsburg, USA

20 J.Nawrocki, Wprowadzenie.. Profil dojrzałości wg SEI Początkowy Zarządzany Zdefiniowany Zarządzany ilościowo Optymalizujący 9.5% 29.7% 27.7% 5.4% 27.7%

21 J.Nawrocki, Wprowadzenie.. CMMI w układzie geograficznym Szwecja, Niemcy, Francja, Dania,.., Rosja, Białoruś Polska: Motorola Polska Software Center, Kraków

22 J.Nawrocki, Wprowadzenie.. Plan wykładów Zasady skutecznego działania Kontrola jakości oprogramowania 1.04 Szacowanie rozmiaru i pracochłonności 8.04 Standardy serii ISO Modele CMMI Inżynieria wymagań Zarządzanie projektami i PRINCE Personal Software Process Team Software Process Rational Unified Process Zwinne metodyki programowania Projekty dyplomowe i XPrince

23 J.Nawrocki, Wprowadzenie.. Wymaganie.... jest to zdolność ( capability ) lub warunek, który system musi spełnić.

24 J.Nawrocki, Wprowadzenie.. Wymagania.... specyfikacja tego, co ma być implementowane. Sommerville & Sawyer97

25 J.Nawrocki, Wprowadzenie.. Przykładowy przypadek użycia Zarejestruj IO Aktor Aktor: Rejestrator IO Cel Cel: Zarejestrować w systemie nową IO. Zdarzenie Zdarzenie: Rejestrator otrzymał wniosek papierowy. Główny scenariusz 1.Rejestrator IO 1.Rejestrator IO: Wprowadza NIP lub REGON IO. 2.System 2.System: Sprawdza poprawność wprowadzonego NIP/REGON. 3.Rejestrator 3.Rejestrator: Wprowadza pozostałe dane identyfikacyjne IO. 4.System 4.System: Weryfikuje poprawność składniową wprowadzonych danych. 5.Rejestrator 5.Rejestrator: Wprowadza dane dotyczące jednostek IO....

26 J.Nawrocki, Wprowadzenie.. Specyfikacja wymagań Wymagania funkcjonalne Wymagania pozafunkcjonalne Interfejs użytkownika Scenariusze testów akceptacyjnych

27 J.Nawrocki, Wprowadzenie.. Plan wykładów Zasady skutecznego działania Kontrola jakości oprogramowania 1.04 Szacowanie rozmiaru i pracochłonności 8.04 Standardy serii ISO Modele CMMI Inżynieria wymagań Zarządzanie projektami i PRINCE Personal Software Process Team Software Process Rational Unified Process Zwinne metodyki programowania Projekty dyplomowe i XPrince

28 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

29 J.Nawrocki, Wprowadzenie.. Wstęp Managing Successful Projects with PRINCE2 Metodyka zarządzania przedsięwzięciami Główny aktor: kierownik przedsięwzięcia OGC = Office of Goverment Commerce 408 stron, £ 55.00

30 J.Nawrocki, Wprowadzenie.. Certyfikaty PRINCE2 PRINCE2 Foundation (Podstawy) PRINCE2 Practitioner (Praktyk)

31 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

32 J.Nawrocki, Wprowadzenie.. PRINCE2 w Polsce 4-7 maja 2004: Metodyka zarządzania projektami PRINCE2 Cena: zł (4 dni) 22 maja 2004: Egzamin PRINCE2 Foundation Cena: zł + VAT

33 J.Nawrocki, Wprowadzenie.. Plan wykładów Zasady skutecznego działania Kontrola jakości oprogramowania 1.04 Szacowanie rozmiaru i pracochłonności 8.04 Standardy serii ISO Modele CMMI Inżynieria wymagań Zarządzanie projektami i PRINCE Personal Software Process Team Software Process Rational Unified Process Zwinne metodyki programowania Projekty dyplomowe i XPrince

34 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

35 J.Nawrocki, Wprowadzenie.. 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

36 J.Nawrocki, Wprowadzenie.. 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

37 J.Nawrocki, Wprowadzenie.. Plan wykładów Zasady skutecznego działania Kontrola jakości oprogramowania 1.04 Szacowanie rozmiaru i pracochłonności 8.04 Standardy serii ISO Modele CMMI Inżynieria wymagań Zarządzanie projektami i PRINCE Personal Software Process Team Software Process Rational Unified Process Zwinne metodyki programowania Projekty dyplomowe i XPrince

38 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

39 J.Nawrocki, Wprowadzenie.. Role w TSP Lider zespołu Kierownik rozwoju Kierownik planowania Kierownik jakości Kierownik wspomagania

40 J.Nawrocki, Wprowadzenie.. Plan wykładów Zasady skutecznego działania Kontrola jakości oprogramowania 1.04 Szacowanie rozmiaru i pracochłonności 8.04 Standardy serii ISO Modele CMMI Inżynieria wymagań Zarządzanie projektami i PRINCE Personal Software Process Team Software Process Rational Unified Process Zwinne metodyki programowania Projekty dyplomowe i XPrince

41 J.Nawrocki, Wprowadzenie.. 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 course_description&courseCode=RP401&country=us&language=en

42 J.Nawrocki, Wprowadzenie.. 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

43 J.Nawrocki, Wprowadzenie.. Genealogia RUP

44 J.Nawrocki, Wprowadzenie.. Literatura nt. RUP Addison-Wesley, 2nd edition March (Amazon: $30) Addison-Wesley, 1st edition April (Amazon: $30)

45 J.Nawrocki, Wprowadzenie.. Fazy w RUP Inception Rozpoczęcie ElaborationDopracowanie Construction Konstrukcja Transition Wdrożenie

46 J.Nawrocki, Wprowadzenie.. Plan wykładów Zasady skutecznego działania Kontrola jakości oprogramowania 1.04 Szacowanie rozmiaru i pracochłonności 8.04 Standardy serii ISO Modele CMMI Inżynieria wymagań Zarządzanie projektami i PRINCE Personal Software Process Team Software Process Rational Unified Process Zwinne metodyki programowania Projekty dyplomowe i XPrince

47 J.Nawrocki, Wprowadzenie.. Manifest zwinności Jednostki i interakcje niż procesy i narzędzia Ważniejsze: Działające oprogramowanie niż obszerna dokumentacja Współpraca klienta niż negocjacja kontraktu Nadążanie za zmianami niż trzymanie się planu

48 J.Nawrocki, Wprowadzenie.. Zwinne metodyki programowania Tom DeMarco XP jest dzisiaj najważniejszym ruchem w IO." Programowanie Ekstremalne (XP) = lekka (zwinna) lekka (zwinna) metodyka tworzenia oprogramowania metodyka tworzenia oprogramowania

49 J.Nawrocki, Wprowadzenie.. Wprowadzenie Wybrane praktyki XP: Klient na miejscu Klient na miejscu Krótkie przyrosty i wydania Krótkie przyrosty i wydania Najpierw przypadki testowe potem kod Najpierw przypadki testowe potem kod Automatyzacja wykonywania testów Automatyzacja wykonywania testów Programowanie parami Programowanie parami Dokumentacja = Przypadki testowe + kod Dokumentacja = Przypadki testowe + kod

50 J.Nawrocki, Wprowadzenie.. Plan wykładów Zasady skutecznego działania Kontrola jakości oprogramowania 1.04 Szacowanie rozmiaru i pracochłonności 8.04 Standardy serii ISO Modele CMMI Inżynieria wymagań Zarządzanie projektami i PRINCE Personal Software Process Team Software Process Rational Unified Process Zwinne metodyki programowania Projekty dyplomowe i XPrince

51 J.Nawrocki, Wprowadzenie.. Studio Rozwoju Oprogramowania Od 1998 Część programu Master in Software Engineering Corocznie przedsięwzięć realizowanych w zespołach 8-osobowych (III + IV + V rok)

52 J.Nawrocki, Wprowadzenie.. Eksperymenty JFK Cel: Eksperymentalna ocena efektywności programowania parami Wcześniejsze eksperymenty : J. Nosek: 40% narzutu L. Williams: ok. 15% narzutu A.Wojciechowski: 70% narzutu M.Jasiński: ok. 80% narzutu (aplikacje internetowe, 6 godz.) Fazy eksperymentu : Szkolenie (wykłady + ćw.) Kwalifikacje Eksperymenty (indywidualiści, pary XP i pary SbS)

53 J.Nawrocki, Wprowadzenie.. Pytania?

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

55 J.Nawrocki, Wprowadzenie.. Plan wykładów Zasady skutecznego działania Kontrola jakości oprogramowania 1.04 Szacowanie rozmiaru i pracochłonności 8.04 Standardy serii ISO Modele CMMI Inżynieria wymagań Zarządzanie projektami i PRINCE Personal Software Process Team Software Process Rational Unified Process Zwinne metodyki programowania Projekty dyplomowe i XPrince


Pobierz ppt "Copyright © Jerzy R. Nawrocki Wprowadzenie do przedmiotu Inżynieria oprogramowania II Wykład."

Podobne prezentacje


Reklamy Google