Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałSylwia Sosnowska Został zmieniony 8 lat temu
1
Od badań uczelnianych do innowacyjności w firmach Instytut Informatyki, Politechnika Poznańska Seminarium projektu InMoST 28 października 2005 Instytut Logistyki i Magazynowania w Poznaniu J. Nawrocki, Ł. Olek, M. Jasiński, B. Paliświat, B. Walter, B. Pietrzak, P. Godek
2
J.Nawrocki i inni, XPrince Kryzys oprogramowania LOOPLOOP ate oor quality ver budget vertime Loop Loop is dangerous.
3
J.Nawrocki i inni, XPrince Plan prezentacji Wstęp Struktura zespołu Cykl życia projektu Inżynieria wymagań i UC Workbench Techniki programowania Testy jednostkowe jako wymagania Wykrywanie defektów w kodzie
4
J.Nawrocki i inni, XPrince XP Tom DeMarco "XP jest dzisiaj najważniejszym ruchem w IO." Extreme Programming (XP) = lekka (zwinna) lekka (zwinna) metodyka rozwoju oprogramowania metodyka rozwoju oprogramowania
5
J.Nawrocki i inni, XPrince Słabości Dyscyplina (Celebra)Zwinność (XP) Nadmiar papierów Powolny proces decyz. Mała elastyczność Opór przed zmianą Założenie „on-site customer” Brak spisanej dokumentacji Zbyt krótka perspektywa planu
6
J.Nawrocki i inni, XPrince Rozwiązanie Addison-Wesley, 2004. Barry Boehm Richard Turner Balancing Agility and Discipline A Guide for the Perplexed „ każde skuteczne przedsięwzięcie w zmieniającym się świecie wymaga zarówno zwinności, jak i dyscypliny ”
7
J.Nawrocki i inni, XPrince Studio Rozwoju Oprogramowania Politechnika Poznańska Wydział Informatyki i Zarządzania Studio Rozwoju Oprogramowania (od 1998) Produkty programist. Transfer technologii: Dobre praktyki Metody i narzędzia Wzorce dokumentów
8
J.Nawrocki i inni, XPrince XPrince e X treme PR ogramming IN C ontrolled E nvironments Źródła XPrince XP PRINCE 2Rational Unified Process
9
J.Nawrocki i inni, XPrince Zespół XP Klient Coach Tracker Tester Programiści
10
J.Nawrocki i inni, XPrince Kierownik Zespołu Zespół Zarządzania Projektem w PRINCE2 Komitet sterujący Główny użytkownik Przewodn.Główny dostawca Kierownik projektu Nadzór projektu Kierownik zesp. Wsparcie projektu Raport Plan Raport Grupa zad.
11
J.Nawrocki i inni, XPrince Role w RUP Kierownik projektu Tester Programista Analityk Architekt
12
J.Nawrocki i inni, XPrince XP Prince2 Kierownik Zespołu Zespół XPrince Komitet sterujący Główny użytkownik Przewodn.Główny dostawca Kierownik = Coach Nadzór projektu Programiści Architekt Analityk = Klient
13
J.Nawrocki i inni, XPrince Plan prezentacji Wstęp Struktura zespołu Cykl życia projektu Inżynieria wymagań i UC Workbench Techniki programowania Testy jednostkowe jako wymagania Wykrywanie defektów w kodzie
14
J.Nawrocki i inni, XPrince Cykl życia wg PRINCE2 16.1027.1123.018.0427.0517.061.07 Przyg. założ. proj. Inicjowanie projektu Etap 1Etap 2Etap 3Etap 4Zamk. Projektu
15
J.Nawrocki i inni, XPrince Wydanie 2Wydanie 1 Cykl życia wg XP Przyrost 1Przyrost 2Przyrost 1Przyrost 2
16
J.Nawrocki i inni, XPrince XP Prince2 Kierownik Zespołu Zespół XPrince Komitet sterujący Główny użytkownik Przewodn.Główny dostawca Kierownik = Coach Nadzór projektu Programiści Architekt Analityk = Klient
17
J.Nawrocki i inni, XPrince Fazy wg RUP Rozpoczęcie RozpracowanieKonstrukcjaWdrożenie
18
J.Nawrocki i inni, XPrince Cykl życia wg XPrince 16.1027.1123.018.0427.0517.068.07 Przyg. założ. proj. Cel i zakres Architek tura Wydanie 1 Wydanie 2 Wydanie 3 Zamkn. Projektu Modelowa nie biznesowe Przyrost 1 ZakresPrzyrost 2 Wdroż.
19
J.Nawrocki i inni, XPrince Plan prezentacji Wstęp Struktura zespołu Cykl życia projektu Inżynieria wymagań i UC Workbench Techniki programowania Testy jednostkowe jako wymagania Wykrywanie defektów w kodzie
20
J.Nawrocki i inni, XPrince Ivar Jacobson ▪ 1967: Ericsson, systemy telefomunikacyjne ▪ 1985: Ph.D., Dep. of Computer Systems, The Royal Institute of Tech., Sztokholm ▪ 1987: Objectory AB ▪ 1995: Objectory AB łączy się z Rational Software ▪ 2003: IBM kupuje Rational
21
J.Nawrocki i inni, XPrince Ivar Jacobson Addison-Wesley, 1992
22
J.Nawrocki i inni, XPrince Przypadek użycia Wstępna rejestracja artykułu Scenariusz główny 1. System presents a registration form. 2. Author fills the form in. 3. System validates the data and returns a login and password. Rozszerzenia 3a. The data are in wrong format. 3a1. System displays a message and returns to step 2. Edycja przypadków użycia Generowanie prototypów typu mockup...
23
J.Nawrocki i inni, XPrince Przykładowy przypadek użycia UC1. Preliminary paper registration
24
J.Nawrocki i inni, XPrince ID Pełny opis Krótki opisAtrybut Rational RequisitePro
25
J.Nawrocki i inni, XPrince Edytor przypadków użycia
26
J.Nawrocki i inni, XPrince Edytor przypadków użycia
27
J.Nawrocki i inni, XPrince Eksperymentalna ocena 25% less 40% less
28
J.Nawrocki i inni, XPrince Zautomatyzowane przeglądy przypadków użycia Stranger Lazy actor Too short or too long scenarios Too many extensions Incomplete extensions Too much happiness Dangling functionality Outsider
29
J.Nawrocki i inni, XPrince Czy wymagania są zrozumiałe?
30
J.Nawrocki i inni, XPrince Generacja makiet
31
J.Nawrocki i inni, XPrince Generacja makiet Makieta = przypadki użycia + formatki
32
J.Nawrocki i inni, XPrince Kontrola przeglądów
33
J.Nawrocki i inni, XPrince Kompozytor SRS
34
J.Nawrocki i inni, XPrince Szacowanie nakładów Punkty use-case Wideband Delphi Gra planistyczna
35
J.Nawrocki i inni, XPrince UC Workbench 1,5 roku rozwoju Nadal szybki rozwój Wdrożenia: projekt w PB Polsoft Rozpowszechnianie: Za darmo http://www.ucworkbench.org http://www.ucworkbench.org
36
J.Nawrocki i inni, XPrince Plan prezentacji Wstęp Struktura zespołu Cykl życia projektu Inżynieria wymagań i UC Workbench Techniki programowania Testy jednostkowe jako wymagania Wykrywanie defektów w kodzie
37
J.Nawrocki i inni, XPrince Programować parami czy indywidualnie? Programowanie indywidualne - Ind 1 osoba – 1 komputer – 1 zadanie Programowanie parami - XP 2 osoby – 1 komputer – 1 zadanie Programowanie Side-by-Side - SbS 2 osoby – 2 komputery – 1 zadanie
38
J.Nawrocki i inni, XPrince Zadania i proces Aplikacje internetowe System zarządzania artykułami konf. PapersOnLine 6 dni, około 8 godz. dziennie: Dzień 0: „Praca domowa” Dzień 1: Sprawdzian znajomości technologii Dzień 2: Pomiar indywidualnej prędkości program. Dni 3-4: Zdobywanie dośw. w programowaniu parami Dni 5-6: Właściwy eksperyment i pomiar czasu
39
J.Nawrocki i inni, XPrince Średni CZAS programowania Ind XP SbS IndXPSbS
40
J.Nawrocki i inni, XPrince Średnia PRACOCHŁONNOŚĆ programowania Ind XP SbS IndXPSbS
41
J.Nawrocki i inni, XPrince Programować parami czy indywidualnie? Ind XP SbS Wniosek: Elastyczna metodyka programowania powinna udostępniać wszystkie ‘ tryby’ programowania: indywidualny, programowanie parami w stylu XP i programowanie Side-by-Side.
42
J.Nawrocki i inni, XPrince Plan prezentacji Wstęp Struktura zespołu Cykl życia projektu Inżynieria wymagań i UC Workbench Techniki programowania Testy jednostkowe jako wymagania Wykrywanie defektów w kodzie
43
J.Nawrocki i inni, XPrince Integracja powtórnego użycia i test-first coding public void testStack(){ for (int k=0; k <10; k++){ call(„wloz", k, DONT_CARE); } for (int k = 0; k < 10; k++){ call(„zdejmij", 9 - k); }
44
J.Nawrocki i inni, XPrince Integracja powtórnego użycia i test-first coding java.util.Stack wloz = void push(Object) zdejmij = Object pop()
45
J.Nawrocki i inni, XPrince Prosty eksperyment 9 programistów 10 jednostek do znal. Opis w języku naturalnym public void testStack(){ for (int k=0; k <10; k++){ call(„wloz", k, DONT_CARE); } for (int k = 0; k < 10; k++){ call(„zdejmij", 9 - k); } JUnit
46
J.Nawrocki i inni, XPrince Prosty eksperyment - wyniki 9 z 10 jednostek – Poprawna i jednoznaczna charakterystyka ‘Trudna’ jednostka – klasa manipulująca łańcuchami
47
J.Nawrocki i inni, XPrince Plan prezentacji Wstęp Struktura zespołu Cykl życia projektu Inżynieria wymagań i UC Workbench Techniki programowania Testy jednostkowe jako wymagania Wykrywanie defektów w kodzie
48
J.Nawrocki i inni, XPrince Przykry zapach „Przykry zapach jest symptomem niskiej jakości kodu, który wskazuje na konieczność refaktoryzacji” Martin Fowler Refactoring, Improving the designof existing code Addison-Wesley, 1999
49
J.Nawrocki i inni, XPrince Objawy przykrych zapachów Bad code smell Metryki Analiza drzewa składniowego Intuicja programisty Historia zmian w repozytorium Testy jednostkowe Obecność innych zapachów
50
J.Nawrocki i inni, XPrince XSmells 1,5 roku rozwoju Wtyczka dla Eclipse Wykrywanie 6 przykrych zapachów w Javie Badania nad nowymi technikami wykrywania Rozpowszechnianie: Za darmo
51
J.Nawrocki i inni, XPrince XSmells
52
J.Nawrocki i inni, XPrince Podsumowanie Kombinacja zwinnej metodyki (XP) ze zdyscyplinowaną (PRINCE2 i RUP) jest możliwa Wsparcie narzędziowe (UC Workbench) jest ważne Elastyczne podejście do programowania parami Kombinacja powtórnego użycia z test-first coding. Wczesne wykrywanie potencjalnych defektów w kodzie programów
53
J.Nawrocki i inni, XPrince Pytania?
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.