1 / 53

Programowanie Ekstemalne

Programowanie Ekstemalne. Koncepcja wykładu: Slajdy/Lektor/Montaż:. Jerzy Nawrocki/Łukasz Olek Łukasz Olek. 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

Download Presentation

Programowanie Ekstemalne

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. Programowanie Ekstemalne Koncepcja wykładu: Slajdy/Lektor/Montaż: Jerzy Nawrocki/Łukasz Olek Łukasz Olek

  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. Wprowadzenie LOOP • Syndrom LOOP • Late Późno • Over budgetPrzekrocznoy budżet • OvertimeNadgodziny • Poor qualityKiepska jakość

  4. Rozwiązanie problemu (lata 80-90) Więcej dyscypliny!

  5. ISO 9000 Audytor

  6. Model CMM (Capability Maturity Model) • Departament Obrony USA • SEI, Carnegie-Mellon Univ. • 1987-97 • CMMI: grudzień, 2000 CMM

  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 obliczeniowychiharmonogramu • dokonywanie zmian w planie • przeglądy przedsięwzięcia przy kamieniach milowych • planowanie zapewnienia jakości • ...

  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. Dyscyplina zabija inicjatywę i elastyczność

  10. Programowanie Ekstremalne • Extreme Programming (XP): • lekka (ang. agile) metodyka rozwoju oprogramowania • 1999 • Kent Beck

  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. Manifest zwinności • Luty 2001, Snowbird, Utah, 17 osób: • Kent Beck • Alistair Cockburn • Martin Fowler • Jim Highsmith

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

  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. Wartości XP • Komunikacja • wymagania, wyobrażenie systemu • głównie werbalna • Prostota • Sprzężenie zwrotne • Odwaga • Szacunek

  16. Wartości XP • Komunikacja • Prostota • na początku najprostszerozwiązanie • refaktoryzacja pomaga przekształcić w bardziej skomplikowane • Sprzężenie zwrotne • Odwaga • Szacunek

  17. Wartości XP • Komunikacja • Prostota • Sprzężenie zwrotne • w różnych wymiarach: • system • klient • zespół • Odwaga • Szacunek

  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. Wartości XP • Komunikacja • Prostota • Sprzężenie zwrotne • Odwaga • Szacunek • pomiędzy członkami zespołu • czasu i pracy innych

  20. Wartości XP

  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. Struktura zespołu Tester Klient Coach Programiści Tracker

  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. Opowieści użytkowników (ang. user stories) Data: 06.06.2006Typ: 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. 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. Hydrodynamiczny model projektu Data dostarczenia Koszt Defekty Niekompletność

  27. Hydrodynamiczny model projektu Data dostarczenia Koszt Defekty Niekompletność

  28. Hydrodynamiczny model projektu Data dostarczenia Koszt Defekty Niekompletność

  29. Cykl życia: model kaskadowy i XP Kompletna wersja zbieranie wymagań, analiza, projektowanie, kodowanie, testowanie,…

  30. Cykl życia: model kaskadowy i XP Końcowy system zbieranie wymagań, analiza, projektowanie, kodowanie, testowanie,… Wizja klienta

  31. Cykl życia: model kaskadowy i XP Wstępna wersja Kolejna wersja Wizja klienta Wizja klienta

  32. Cykl życia w XP Wydanie 1 Wydanie 2 Przyrost 1 Przyrost 2 Przyrost 1 Przyrost 2

  33. Stosuj częste, krótkie wydania • Wydanie: • Ma wartość użytkową. • Trafia do użytkowników końcowych. Pierwsze wydanie sterowca gotowe!

  34. 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 Przyrost II Przyrost I

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

  36. Gra planistyczna Klient Informatycy Klient Za duża! Pisze opowieść Dzieli opowieść Szacują opowieść

  37. Więcej kolorów Więcej opcji Więcej kolorów Gra planistyczna Klient Informatycy Klient 6 h 9 h Więcej kolorów 9 h Pisze opowieść Wybiera zakres Szacują opowieść

  38. CMM & Zarządzanie zmianą Żądanie zmiany Żądanie zmiany Err Programista Użytkownik S.C. Manager Raport zmiany OK Menadżer Polecenie zmiany Decyzja Kierownictwo

  39. Zarządzanie zmianą w XP Zmieńmy wymagania OK OK OK OK Programiści Klient

  40. Zarządzanie zmianą w XP Mamy problem. Zmieńmy wymagania OK Programiści Klient

  41. Testy akceptacyjne Klient Tester Success Failure

  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. 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. Refaktoryzacja Stara wersja Nowa wersja Duża zmiana Mała zmiana Stara wersja Lepsza wersja Nowa wersja Refaktoryzacja Ta sama funkcjonalność

  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. 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. Programowanie parami if (x=y) z=0; Powinno być x==y! Recenzent Autor

  48. Programowanie parami • Cały produkt jest kodowany w parach • Standard kodowania • Tylko jedna para integruje kod w danej chwili • Pary się zmieniają

  49. Programowanie parami • Kod jest własnością całego zespołu • System zarządzania wersjami! • Otwarta przestrzeń pracy dla zespołu

  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

More Related