Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Inżynieria oprogramowania Programowanie Ekstemalne Koncepcja wykładu: Slajdy/Lektor/Montaż: Jerzy Nawrocki/Łukasz Olek Łukasz Olek.

Podobne prezentacje


Prezentacja na temat: "Inżynieria oprogramowania Programowanie Ekstemalne Koncepcja wykładu: Slajdy/Lektor/Montaż: Jerzy Nawrocki/Łukasz Olek Łukasz Olek."— Zapis prezentacji:

1 Inżynieria oprogramowania Programowanie Ekstemalne Koncepcja wykładu: Slajdy/Lektor/Montaż: Jerzy Nawrocki/Łukasz Olek Łukasz Olek

2 Inżynieria oprogramowania Programowanie Ekstremalne (2) Plan wykładów Zasady skutecznego działania Specyfikacja wymagań Kontrola jakości artefaktów Język UML, cz. I Język UML, cz. II Metody formalne Wzorce projektowe Zarządzanie konfiguracją Wprowadzenie do testowania Automatyzacja wykonywania testów Programowanie Ekstremalne Ewolucja oprogramowania i refaktoryzacja

3 Inżynieria oprogramowania Programowanie Ekstremalne (3) Wprowadzenie Syndrom LOOP –Late Późno –Over budget Przekrocznoy budżet –Overtime Nadgodziny –Poor quality Kiepska jakość LOOP

4 Inżynieria oprogramowania Programowanie Ekstremalne (4) Rozwiązanie problemu (lata 80-90) Więcej dyscypliny!

5 Inżynieria oprogramowania Programowanie Ekstremalne (5) ISO 9000 Audytor

6 Inżynieria oprogramowania Programowanie Ekstremalne (6) Model CMM (Capability Maturity Model) Departament Obrony USA SEI, Carnegie-Mellon Univ CMMI: grudzień, 2000 CMM

7 Inżynieria oprogramowania Programowanie Ekstremalne (7) Procedury dla CMM Poziom 2 przeglądy zobowiązań zewnętrznych opracowywanie planu przedsięwzięcia szacowanie rozmiaru, pracochłonności, kosztu, krytycznych zasobów obliczeniowych i harmonogramu dokonywanie zmian w planie przeglądy przedsięwzięcia przy kamieniach milowych planowanie zapewnienia jakości...

8 Inżynieria oprogramowania Programowanie Ekstremalne (8) Krytyka podejść zorientowanych na dyscyplinę Dużo czasu poświęcanego na administrację Papierowa fikcja Skupienie się na procesie, nie jakości produktu Zapis procedur utrudnia poprawy procesów

9 Inżynieria oprogramowania Programowanie Ekstremalne (9) Dyscyplina zabija inicjatywę i elastyczność

10 Inżynieria oprogramowania Programowanie Ekstremalne (10) Programowanie Ekstremalne Extreme Programming (XP): –lekka (ang. agile) metodyka rozwoju oprogramowania –1999 –Kent Beck

11 Inżynieria oprogramowania Programowanie Ekstremalne (11) Plan wykładu Wprowadzenie Manifest zwinności Wartości XP Główne reguły i praktyki XP: –Struktura zespołu –Relacje z klientem –Zapewnienie jakości –Programowanie parami Czynniki ryzyka

12 Inżynieria oprogramowania Programowanie Ekstremalne (12) Manifest zwinności Luty 2001, Snowbird, Utah, 17 osób: –Kent Beck –Alistair Cockburn –Martin Fowler –Jim Highsmith

13 Inżynieria oprogramowania Programowanie Ekstremalne (13) Manifest zwinności Jednostki i interakcje O K Działające oprogr. Współpraca klienta Nadążanie za zmianami Jutro, albo nigdy!

14 Inżynieria oprogramowania Programowanie Ekstremalne (14) Plan wykładu Wprowadzenie Manifest zwinności Wartości XP Główne reguły i praktyki XP: –Struktura zespołu –Relacje z klientem –Zapewnienie jakości –Programowanie parami Czynniki ryzyka

15 Inżynieria oprogramowania Programowanie Ekstremalne (15) Wartości XP Komunikacja –wymagania, wyobrażenie systemu –głównie werbalna Prostota Sprzężenie zwrotne Odwaga Szacunek

16 Inżynieria oprogramowania Programowanie Ekstremalne (16) Wartości XP Komunikacja Prostota –na początku najprostsze rozwiązanie –refaktoryzacja pomaga przekształcić w bardziej skomplikowane Sprzężenie zwrotne Odwaga Szacunek

17 Inżynieria oprogramowania Programowanie Ekstremalne (17) Wartości XP Komunikacja Prostota Sprzężenie zwrotne –w różnych wymiarach: system klient zespół Odwaga Szacunek

18 Inżynieria oprogramowania Programowanie Ekstremalne (18) Wartości XP Komunikacja Prostota Sprzężenie zwrotne Odwaga: –aby nie projektować na wyrost –aby refaktoryzować kod –aby wyrzucić kod kiedy potrzeba Szacunek

19 Inżynieria oprogramowania Programowanie Ekstremalne (19) Wartości XP Komunikacja Prostota Sprzężenie zwrotne Odwaga Szacunek –pomiędzy członkami zespołu –czasu i pracy innych

20 Inżynieria oprogramowania Programowanie Ekstremalne (20) Wartości XP

21 Inżynieria oprogramowania Programowanie Ekstremalne (21) Plan wykładu Wprowadzenie Manifest zwinności Wartości XP Główne reguły i praktyki XP: –Struktura zespołu –Relacje z klientem –Zapewnienie jakości –Programowanie parami Czynniki ryzyka

22 Inżynieria oprogramowania Programowanie Ekstremalne (22) Struktura zespołu Klient Programiści Coach Tracker Tester

23 Inżynieria oprogramowania Programowanie Ekstremalne (23) Plan wykładu Wprowadzenie Manifest zwinności Wartości XP Główne reguły i praktyki XP: –Struktura zespołu –Relacje z klientem –Zapewnienie jakości –Programowanie parami Czynniki ryzyka

24 Inżynieria oprogramowania Programowanie Ekstremalne (24) Opowieści użytkowników (ang. user stories) Data: Typ: Nowa: X Naprawa:__ Rozbudowa:__ Numer opowieści: 23 OPOWIEŚĆ: System przechowuje artykuły w formacie PDF. Umożliwia ich dodawanie, listowanie, a także pobieranie. Rozmiar:3 dni

25 Inżynieria oprogramowania Programowanie Ekstremalne (25) Opowieści użytkowników Są wstępem do rozmowy Są krótkie Opisują funkcję/cechę systemu Mają wartość dla klienta Muszą być testowalne Muszę napisać opowieść Klient

26 Inżynieria oprogramowania Programowanie Ekstremalne (26) Hydrodynamiczny model projektu Data dostarczeniaKosztDefektyNiekompletność

27 Inżynieria oprogramowania Programowanie Ekstremalne (27) Hydrodynamiczny model projektu Data dostarczeniaKosztDefektyNiekompletność

28 Inżynieria oprogramowania Programowanie Ekstremalne (28) Hydrodynamiczny model projektu Data dostarczeniaKosztDefektyNiekompletność

29 Inżynieria oprogramowania Programowanie Ekstremalne (29) Cykl życia: model kaskadowy i XP Kompletna wersja zbieranie wymagań, analiza, projektowanie, kodowanie, testowanie,…

30 Inżynieria oprogramowania Programowanie Ekstremalne (30) Cykl życia: model kaskadowy i XP Wizja klienta zbieranie wymagań, analiza, projektowanie, kodowanie, testowanie,… Końcowy system

31 Inżynieria oprogramowania Programowanie Ekstremalne (31) Cykl życia: model kaskadowy i XP Wstępna wersja Wizja klienta Kolejna wersja Wizja klienta

32 Inżynieria oprogramowania Programowanie Ekstremalne (32) Cykl życia w XP Wydanie 2 Wydanie 1 Przyrost 1Przyrost 2Przyrost 1Przyrost 2

33 Inżynieria oprogramowania Programowanie Ekstremalne (33) Pierwsze wydanie sterowca gotowe! Stosuj częste, krótkie wydania Wydanie: –Ma wartość użytkową. –Trafia do użytkowników końcowych.

34 Inżynieria oprogramowania Programowanie Ekstremalne (34) Przyrost I Przyrost II Wydanie podziel na przyrosty Przyrost: –Niepusty zbiór opowieści użytkownika. –Charakter wewnętrzny (nie trafia do użytkownika końcowego). –2 – 3 tygodnie

35 Inżynieria oprogramowania Programowanie Ekstremalne (35) Znajdź metaforę dla systemu Metafora: –Wyjaśnia działanie systemu w terminach zrozumiałych dla klienta Sterowiec? To taka łódka, tyle, że pływa w powietrzu a nie po wodzie.

36 Inżynieria oprogramowania Programowanie Ekstremalne (36) Gra planistyczna Pisze opowieśćDzieli opowieść Szacują opowieść Za duża! Klient Informatycy

37 Inżynieria oprogramowania Programowanie Ekstremalne (37) Gra planistyczna Pisze opowieśćWybiera zakres Szacują opowieść Więcej kolorów 9 h Klient Informatycy Więcej kolorów Więcej opcji 9 h 6 h

38 Inżynieria oprogramowania Programowanie Ekstremalne (38) CMM & Zarządzanie zmianą Żądanie zmiany Err Użytkownik S.C. Manager Żądanie zmiany Programista Raport zmiany Kierownictwo Decyzja Polecenie zmiany Menadżer OK

39 Inżynieria oprogramowania Programowanie Ekstremalne (39) Zarządzanie zmianą w XP Klient Zmieńmy wymagania Programiści OK

40 Inżynieria oprogramowania Programowanie Ekstremalne (40) Zarządzanie zmianą w XP Klient Mamy problem. Zmieńmy wymagania Programiści OK

41 Inżynieria oprogramowania Programowanie Ekstremalne (41) Testy akceptacyjne Klient Tester Failure Success

42 Inżynieria oprogramowania Programowanie Ekstremalne (42) Plan wykładu Wprowadzenie Manifest zwinności Wartości XP Główne reguły i praktyki XP: –Struktura zespołu –Relacje z klientem –Zapewnienie jakości –Programowanie parami Czynniki ryzyka

43 Inżynieria oprogramowania Programowanie Ekstremalne (43) Zapewnianie jakości Dbaj o prostotę Unikaj optymalizacji Dla każdej jednostki kodu opracuj NAJPIERW zestaw testów, potem pisz kod Automatyczne wykonanie testów Refaktoryzacja

44 Inżynieria oprogramowania Programowanie Ekstremalne (44) Refaktoryzacja Nowa wersja Stara wersja Lepsza wersja Refaktoryzacja Mała zmiana Stara wersja Nowa wersja Duża zmiana Ta sama funkcjonalność

45 Inżynieria oprogramowania Programowanie Ekstremalne (45) Zapewnianie jakości Kod musi przejść wszystkie testy jednostkowe zanim przekażesz go do eksploatacji Dla każdego wykrytego błędu utwórz zestaw testów Często integruj kod Często wykonuj testy akceptacyjne i publikuj ich wyniki

46 Inżynieria oprogramowania Programowanie Ekstremalne (46) Plan wykładu Wprowadzenie Manifest zwinności Wartości XP Główne reguły i praktyki XP: –Struktura zespołu –Relacje z klientem –Zapewnienie jakości –Programowanie parami Czynniki ryzyka

47 Inżynieria oprogramowania Programowanie Ekstremalne (47) Programowanie parami if (x=y) z=0; z=0; Autor Recenzent Powinno być x==y!

48 Inżynieria oprogramowania Programowanie Ekstremalne (48) Programowanie parami Cały produkt jest kodowany w parach Standard kodowania Tylko jedna para integruje kod w danej chwili Pary się zmieniają

49 Inżynieria oprogramowania Programowanie Ekstremalne (49) Programowanie parami Kod jest własnością całego zespołu System zarządzania wersjami! Otwarta przestrzeń pracy dla zespołu

50 Inżynieria oprogramowania Programowanie Ekstremalne (50) Plan wykładu Wprowadzenie Manifest zwinności Wartości XP Główne reguły i praktyki XP: –Struktura zespołu –Relacje z klientem –Zapewnienie jakości –Programowanie parami Czynniki ryzyka

51 Inżynieria oprogramowania Programowanie Ekstremalne (51) Czynniki ryzyka Klient pracuje cały czas z zespołem Brak dokumentacji Brak fazy projektowania Krótka perspektywa planowania

52 Inżynieria oprogramowania Programowanie Ekstremalne (52) Podsumowanie Manifest zwinności: –Zorientowanie na ludzi i komunikację –Dopuszczenie zmian –Jakość oprogramowania Gra planistyczna Programowanie parami Wady XP Wreszcie

53 Inżynieria oprogramowania Programowanie Ekstremalne (53) Literatura K. Beck. Extreme Programming Explained. Addison-Wesley, 1999 K. Beck and M. Fowler. Planning Extreme Programming. Addison-Wesley, 2000


Pobierz ppt "Inżynieria oprogramowania Programowanie Ekstemalne Koncepcja wykładu: Slajdy/Lektor/Montaż: Jerzy Nawrocki/Łukasz Olek Łukasz Olek."

Podobne prezentacje


Reklamy Google