Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Copyright © Jerzy R. Nawrocki Zwinne metodyki programowania Inżynieria oprogramowania II.

Podobne prezentacje


Prezentacja na temat: "Copyright © Jerzy R. Nawrocki Zwinne metodyki programowania Inżynieria oprogramowania II."— Zapis prezentacji:

1 Copyright © Jerzy R. Nawrocki Zwinne metodyki programowania Inżynieria oprogramowania II Wykład 11

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

3 J.Nawrocki, Zwinne metodyki programowania Plan wykładów 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 Rational Unified Process Zwinne metodyki programowania 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

4 J.Nawrocki, Zwinne metodyki programowania Plan wykładu Wstęp Manifest zwinności Programowanie Ekstremalne Gra Extreme 89 Matryca projektów Wstęp Organizacja zespołu Cykl życia projektu Wybrane praktyki i narzędzia XPrince a ISO 9001:2000 XPrince a CMMI Oferta dla Polsoftu

5 J.Nawrocki, Zwinne metodyki programowania Manifest zwinności ( Agile Manifesto ) Luty 2001, Snowbird, Utah, 17 osób Kent Beck (karty CRC, xUnit, XP) Alistair Cockburn (przypadki użycia, Crystal) Marin Fowler (refaktoryzacja, UML Distilled) Jim Highsmith (Adaptive Software Development)

6 J.Nawrocki, Zwinne metodyki programowania Manifest zwinności Jednostki i interakcje niż procesy i narzędzia Ważniejsze:

7 J.Nawrocki, Zwinne metodyki programowania 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

8 J.Nawrocki, Zwinne metodyki programowania Problemy z ISO 9001 Brak elastyczności działania ISO Zbyt dużo dokumentacji Udokumentowane = lepsze

9 J.Nawrocki, Zwinne metodyki programowania 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

10 J.Nawrocki, Zwinne metodyki programowania Plan wykładu Wstęp Manifest zwinności Programowanie Ekstremalne Gra Extreme 89 Matryca projektów Wstęp Organizacja zespołu Cykl życia projektu Wybrane praktyki i narzędzia XPrince a ISO 9001:2000 XPrince a CMMI Oferta dla Polsoftu

11 J.Nawrocki, Zwinne metodyki programowania 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

12 J.Nawrocki, Zwinne metodyki programowania Wprowadzenie Wybrane praktyki XP: Klient na miejscu Klient na miejscu

13 J.Nawrocki, Zwinne metodyki programowania Wprowadzenie Wybrane praktyki XP: Klient na miejscu Klient na miejscu Krótkie przyrosty i wydania Krótkie przyrosty i wydania Termin Koszty Niezawodność Zakres Defekty Niekompletność

14 J.Nawrocki, Zwinne metodyki programowania Termodynamiczny model projektu TerminKosztDefektyNiekomplet- ność

15 J.Nawrocki, Zwinne metodyki programowania Termodynamiczny model projektu TerminKosztDefektyNiekomplet- ność

16 J.Nawrocki, Zwinne metodyki programowania Termodynamiczny model projektu TerminKosztDefektyNiekomplet- ność

17 J.Nawrocki, Zwinne metodyki programowania 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

18 J.Nawrocki, Zwinne metodyki programowania 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

19 J.Nawrocki, Zwinne metodyki programowania 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 Dokumentacja = Przypadki testowe + kod Dokumentacja = Przypadki testowe + kod

20 J.Nawrocki, Zwinne metodyki programowania Dokumentacja Podróżuj z lekkim bagażem. Documen -tation Documen -tation Informatyk Zmieniłem zdanie. Chodźmy tędy! Klient

21 J.Nawrocki, Zwinne metodyki programowania Dokumentacja Podróżuj z lekkim bagażem. To czego potrzebujesz to tylko kod i testy. Zmieniłem zdanie. Klient code + tests No problem. IEEE Standard 830 UML

22 J.Nawrocki, Zwinne metodyki programowania 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 Dokumentacja = Przypadki testowe + kod Dokumentacja = Przypadki testowe + kod Programowanie parami Programowanie parami

23 J.Nawrocki, Zwinne metodyki programowania 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 Dokumentacja = Przypadki testowe + kod Dokumentacja = Przypadki testowe + kod Programowanie parami Programowanie parami Małe zespoły Małe zespoły

24 J.Nawrocki, Zwinne metodyki programowania Frederick P. Brooks OS/360 Manager (IBM), mln USD ($163 = $601)

25 J.Nawrocki, Zwinne metodyki programowania Mityczny osobomiesiąc 1. wydanie: 1975 Jubileuszowe wydanie: 1995 Polskie wydanie: Mityczny osobomiesiąc. Eseje o inżynierii oprogramowania, WNT, Warszawa, 2000.

26 J.Nawrocki, Zwinne metodyki programowania Raport Sackmana, Eriksona i Granta Sackman, Erikson, Grant, Exploratory experimental studies..., CACM, 1/68, Różnice w wydajności programowania jak Różnice w rozmiarze programu jak 10:1 5:1 Error programistów Error 25 kierowników...

27 J.Nawrocki, Zwinne metodyki programowania Raport Sackmana, Eriksona i Granta Sackman, Erikson, Grant, Exploratory experimental studies..., CACM, 1/68, Różnice w wydajności programowania jak Różnice w rozmiarze programu jak 10:1 5: programistów OK 25 kierowników... OK programistów

28 J.Nawrocki, Zwinne metodyki programowania Słabe strony XP Brak dokumentacjiBrak dokumentacji Jeden klient (na miejscu)Jeden klient (na miejscu) Zbyt krótka perspektywa planuZbyt krótka perspektywa planu Jak zwinnie uporać się z tymi problemami?

29 J.Nawrocki, Zwinne metodyki programowania Plan wykładu Wstęp Manifest zwinności Programowanie Ekstremalne Gra Extreme 89 Matryca projektów Wstęp Organizacja zespołu Cykl życia projektu Wybrane praktyki i narzędzia XPrince a ISO 9001:2000 XPrince a CMMI Oferta dla Polsoftu

30 J.Nawrocki, Zwinne metodyki programowania Gra symulacyjna Gra dydaktyczna ukierunkowana na rozwiązanie problemu Model rzeczywistości Jasno określone role Gry symulacyjne są często stosowane w kształceniu specjalistów z innych branż (np. ekonomistów)

31 J.Nawrocki, Zwinne metodyki programowania Nauka poprzez grę symulacyjną Miniatura rzeczywistego procesu Emocjonalne zaangażowanie a pamięć Znikome konsekwencje porażki (nauka na błędach) Niski koszt

32 J.Nawrocki, Zwinne metodyki programowania Miniatury procesu XP Extreme Hour (Peter Merel) 60 minut Praca koncepcyjna (pułapka na myszy) Brak zróżnicowania wiedzy klienta i programistów Brak odpowiednika testów akceptacyjnych Brak zmian (charakterystycznych dla metodyk zwinnych)

33 J.Nawrocki, Zwinne metodyki programowania Miniatury procesu XP Extreme Hour (Peter Merel) 60 minut Praca koncepcyjna (pułapka na myszy++) Brak zróżnicowania wiedzy klienta i programistów Brak odpowiednika testów akceptacyjnych Brak zmian (charakterystycznych dla metodyk zwinnych) Wprowadzenie do XP (Alistair Cockburn) Praca programistyczna (licznik dostępny przez WWW) Dwa 40 min. wydania, czas gry - 90 min. Brak zróżnicowania wiedzy klienta i programistów Trudna w realizacji Gra Planistyczna Brak możliwości porównania wyników różnych zespołów

34 J.Nawrocki, Zwinne metodyki programowania Extreme89 Prezentacja głównych praktyk XP bez konieczności programowania Zróżnicowanie wiedzy klienta i programistów – potrzeba komunikacji w zespole Możliwość przeprowadzenia gry w czasie zajęć akademickich Możliwość współzawodnictwa Możliwość wielokrotnego uczestnictwa w grze

35 J.Nawrocki, Zwinne metodyki programowania Uczestnicy gry Extreme89 Programiści Klient Moderator

36 J.Nawrocki, Zwinne metodyki programowania Akcesoria do gry Extreme89

37 J.Nawrocki, Zwinne metodyki programowania Scenariusz gry Czas gry 0 min. 5 min. 10 min. 15 min. 27 min. 32 min. 44 min. 47 min. 52 min. 57 min. 69 min. 74 min. 86 min. 89 min. Opis czynności Klient i programiści poznają swoją wiedzę dziedz. Planowanie wydania I Planowanie przyrostu I.1 Praca Planowanie przyrostu I.2 Praca Przekazanie wydania do użytkownika - weryfikacja Planowanie wydania II Planowanie przyrostu II.1 Praca Planowanie przyrostu II.2 Praca Przekazanie wydania do użytkownika - weryfikacja Podsumowanie gry

38 J.Nawrocki, Zwinne metodyki programowania Wiedza klienta tonersterowaniearytmometroprawawkład komputer procesor drukarka laser pióro Wartość rynkowa Parametr Punkty Oprawa4 Wkład3 Pióro24... Komputer100 Testy akceptacyjne ParametrPrzedział Oprawa Wkład Pióro Komputer

39 J.Nawrocki, Zwinne metodyki programowania Wiedza programistów F(a, b, 1)= a F(a, b, 2)= b F(a, b, n)= F(a, b, n-2) + F(a, b, n-1) div 2 dla n>2 G(a, b, 1)= a G(a, b, 2)= b G(a, b, n)= G(a, b, n-2) + G(a, b, n-1) div 10 dla n>2 Formuły wkład= F(x 3, x 4, 18) oprawa= F(x 5, x 6, 18) pióro= wkład + F(x 5, x 6, 35)... toner= F(x 13, x 14, 18) drukarka= laser + F(x 13,..., 35) Zestaw wartości x i x 1 = 2 x 26 =... x 2 = 3 x 27 = 2 x 3 = 2 x 28 = 16 x 4 = 4 x 29 = X 30 = 2

40 J.Nawrocki, Zwinne metodyki programowania Przebieg gry Extreme89 Zaczynamy

41 J.Nawrocki, Zwinne metodyki programowania Przebieg gry Extreme89 Brakuje danych!! ! Planowanie Za pióro dają 24 Czy pióro jest komponentem innego obiektu?

42 J.Nawrocki, Zwinne metodyki programowania Przebieg gry Extreme89 Kończymy przyrost I.1

43 J.Nawrocki, Zwinne metodyki programowania Przebieg gry Extreme89 Zmiany...

44 J.Nawrocki, Zwinne metodyki programowania Przebieg gry Extreme89 Użytkownik końcowy

45 J.Nawrocki, Zwinne metodyki programowania Przebieg gry Extreme89 oprawa170 wkład400 laser565

46 J.Nawrocki, Zwinne metodyki programowania Pierwsze doświadczenia Politechnika Poznańska, marzec studentów III, IV i V roku Informatyki Wysoka ocena ponad 90% studentów Mocne strony Extreme89 w ocenie studentów Intensywny kurs XP Obserwacja znaczenia komunikacji w zespole Świetna zabawa

47 J.Nawrocki, Zwinne metodyki programowania Plan wykładu Wstęp Manifest zwinności Programowanie Ekstremalne Gra Extreme 89 Matryca projektów Wstęp Organizacja zespołu Cykl życia projektu Wybrane praktyki i narzędzia XPrince a ISO 9001:2000 XPrince a CMMI Oferta dla Polsoftu

48 J.Nawrocki, Zwinne metodyki programowania Matryca projektów L6L20L40L100L200L500 E6E20E40E100E200E500 D6D20D40D100D200D500 C6C20C40C100C200C Życia (L) Dużych pieniędzy (E) Małych pieniędzy (D) Komfortu (C) Liczba zaangażowanych osób Krytyczność Defekty skutkują utratą

49 J.Nawrocki, Zwinne metodyki programowania Rodzina metodyk Cristal E6E20E40E80 D6D20D40D80 C6C20C40C80 ClearYellowOrangeRed Alistair Cockburn

50 J.Nawrocki, Zwinne metodyki programowania Podsumowanie Manifest zwinności Termodynamiczny model projektu Gra Extreme 89 Matryca projektów

51 J.Nawrocki, Zwinne metodyki programowania 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ć?

52 J.Nawrocki, Zwinne metodyki programowania Plan wykładu Wstęp Procesy TSP TSP a PSP Role w TSP Wstęp Organizacja zespołu Cykl życia projektu Wybrane praktyki i narzędzia XPrince a ISO 9001:2000 XPrince a CMMI Oferta dla Polsoftu


Pobierz ppt "Copyright © Jerzy R. Nawrocki Zwinne metodyki programowania Inżynieria oprogramowania II."

Podobne prezentacje


Reklamy Google