Plan wykładu

Preview:

DESCRIPTION

Plan wykładu. Praktyki XP Wcześniejsze badania Personal Software Process eXtremme Programming Opis eksperymentu Wyniki Podsumowanie. Programowanie parami. Wcześniejsze badania. Ma być x==y. if (x=y). z=0;. Recenzent. Autor. Po pewnym czasie. Wcześniejsze badania. Jak to - PowerPoint PPT Presentation

Citation preview

J. Nawrocki, Inżynieria oprog.

Plan Plan wykładuwykładuPlan Plan wykładuwykładu

Praktyki XPPraktyki XP

Wcześniejsze badaniaWcześniejsze badaniaPersonal Software ProcessPersonal Software Process

eXtremme ProgrammingeXtremme Programming

Opis eksperymentuOpis eksperymentu

WynikiWyniki

PodsumowaniePodsumowanie

J. Nawrocki, Inżynieria oprog.

Wcześniejsze badaniaWcześniejsze badaniaWcześniejsze badaniaWcześniejsze badania

Programowanie parami

AutorAutor RecenzentRecenzent

if (x=y)if (x=y) z=0;z=0;

Ma byćMa byćx==yx==y

J. Nawrocki, Inżynieria oprog.

Wcześniejsze badaniaWcześniejsze badaniaWcześniejsze badaniaWcześniejsze badania

Po pewnym czasie..

AutorAutorRecenzentRecenzent

x-=y;x-=y;elseelse

Jak toJak to

testowaćtestować??

J. Nawrocki, Inżynieria oprog.

Wcześniejsze badaniaWcześniejsze badaniaWcześniejsze badaniaWcześniejsze badania

Eksperyment Noska

Napisz skrypt Napisz skrypt sprawdzający sprawdzający spójność bazy spójność bazy danychdanych..

J. Nawrocki, Inżynieria oprog.

Wcześniejsze badaniaWcześniejsze badaniaWcześniejsze badaniaWcześniejsze badania

Eksperyment Noska

30 minut

42 minuty

Czas wykonaniaCzas wykonania ( (średśred.).)

J. Nawrocki, Inżynieria oprog.

Wcześniejsze badaniaWcześniejsze badaniaWcześniejsze badaniaWcześniejsze badania

Eksperyment Noska

71 %

100 %

Czas Czas wykonaniawykonania

PracochPracoch

143 %

100 %

J. Nawrocki, Inżynieria oprog.

Wcześniejsze badaniaWcześniejsze badaniaWcześniejsze badaniaWcześniejsze badania

Główny zarzut

‘‘Jeśli realizacja każdego z kilku Jeśli realizacja każdego z kilku zadań trwa godzinę, połącz je w zadań trwa godzinę, połącz je w jedno większe zadaniejedno większe zadanie.’.’

Kent BeckKent Beck

Extreme Programming ExplainedExtreme Programming Explained

‘‘Jeśli realizacja każdego z kilku Jeśli realizacja każdego z kilku zadań trwa godzinę, połącz je w zadań trwa godzinę, połącz je w jedno większe zadaniejedno większe zadanie.’.’

Kent BeckKent Beck

Extreme Programming ExplainedExtreme Programming Explained

Tylko jedno krótkie zad.Tylko jedno krótkie zad. (45’). (45’).Tylko jedno krótkie zad.Tylko jedno krótkie zad. (45’). (45’).

J. Nawrocki, Inżynieria oprog.

Wcześniejsze badaniaWcześniejsze badaniaWcześniejsze badaniaWcześniejsze badania

Eksperyment Utah

1414

11

22

33

. . .. . .

1414

11

22

33

. . .. . .

4 4 zad. programistycznezad. programistyczne

6 6 tygodnitygodni

4 4 zad. programistycznezad. programistyczne

6 6 tygodnitygodni

50% - 60%

100%

Czas realizacjiCzas realizacji

J. Nawrocki, Inżynieria oprog.

Wcześniejsze badaniaWcześniejsze badaniaWcześniejsze badaniaWcześniejsze badania

Zarzuty

1414

11

22

33

. . .. . .

1414

11

22

33

. . .. . .

Czego dotyczyły zadaniaCzego dotyczyły zadania??

Jaki był procesJaki był proces??

Jakie były rozmiaryJakie były rozmiary??

Jaki był czas w godz.Jaki był czas w godz.??

Jakie było odchylenie Jakie było odchylenie standardowe dla czasu i standardowe dla czasu i rozmiarurozmiaru??

Czego dotyczyły zadaniaCzego dotyczyły zadania??

Jaki był procesJaki był proces??

Jakie były rozmiaryJakie były rozmiary??

Jaki był czas w godz.Jaki był czas w godz.??

Jakie było odchylenie Jakie było odchylenie standardowe dla czasu i standardowe dla czasu i rozmiarurozmiaru??

J. Nawrocki, Inżynieria oprog.

Wcześniejsze badaniaWcześniejsze badaniaWcześniejsze badaniaWcześniejsze badania

Eksperyment poznański

Cel: eksperymentalna ocena programowania parami.Cel: eksperymentalna ocena programowania parami.

XP-like processXP-like process

PSP-like processPSP-like process

Semestr zimowy 1999/2000;Politechnika PoznańskaSemestr zimowy 1999/2000;Politechnika Poznańska

J. Nawrocki, Inżynieria oprog.

Plan Plan wykładuwykładuPlan Plan wykładuwykładu

Praktyki XPPraktyki XPWcześniejsze badaniaWcześniejsze badania

Personal Software ProcessPersonal Software ProcesseXtremme ProgrammingeXtremme ProgrammingOpis eksperymentuOpis eksperymentuWynikiWynikiPodsumowaniePodsumowanie

J. Nawrocki, Inżynieria oprog.

Personal Software ProcessPersonal Software ProcessPersonal Software ProcessPersonal Software Process

Notatki dotyczące czasu i defektów.Standaryzacja typów defektów.

00

Standard kodowania. Pomiar rozmiaruPropozycje poprawy procesu.

0.10.1

Szacowanie rozmiaru oprogr.Raporty z testowania.

11

Planowanie zadań.Tworzenie harmonogramu.

1.11.1

22Wzorce projektowe.Przeglądy kodu i projektu

2.12.1

Podejście przyrostowe 33

J. Nawrocki, Inżynieria oprog.

Personal Software ProcessPersonal Software ProcessPersonal Software ProcessPersonal Software Process

PlanowaniePlanowanie

ProjektowanieProjektowanie

KodowanieKodowanie

KompilacjaKompilacja

TestowanieTestowanie

PostmortemPostmortem

WymaganiaWymagania

ProduProdukkt + t + dadanene

J. Nawrocki, Inżynieria oprog.

Plan Plan wykładuwykładuPlan Plan wykładuwykładu

Praktyki XPPraktyki XPWcześniejsze badaniaWcześniejsze badaniaPersonal Software ProcessPersonal Software Process

eXtremme ProgrammingeXtremme ProgrammingOpis eksperymentuOpis eksperymentuWynikiWynikiPodsumowaniePodsumowanie

J. Nawrocki, Inżynieria oprog.

eXtreme Programming (XP)eXtreme Programming (XP)eXtreme Programming (XP)eXtreme Programming (XP)

Program. parami

Testo-centryczne zapew. jakości

Prostota rozw.

‘Spike solutions’

Rotacja w parach

Program. parami

Testo-centryczne zapew. jakości

Prostota rozw.

‘Spike solutions’

Rotacja w parach

StosowanoStosowano::

‘User stories’

Stała obecność przedst. klienta

Gra planistyczna.

‘CRC cards’

Ciągła integracja

‘User stories’

Stała obecność przedst. klienta

Gra planistyczna.

‘CRC cards’

Ciągła integracja

Nie stosowanoNie stosowano::

J. Nawrocki, Inżynieria oprog.

Plan Plan wykładuwykładuPlan Plan wykładuwykładu

Praktyki XPPraktyki XPWcześniejsze badaniaWcześniejsze badaniaPersonal Software ProcessPersonal Software ProcesseXtremme ProgrammingeXtremme Programming

Opis eksperymentuOpis eksperymentuWynikiWynikiPodsumowaniePodsumowanie

J. Nawrocki, Inżynieria oprog.

Opis eksperymentuOpis eksperymentuOpis eksperymentuOpis eksperymentu

Programow. Programow. parami wg XPparami wg XP

XP2XP2

PSP 0.1 (PSP 0.1 (czasczas, , defedefekty,kty, pomiar oprogpomiar oprog))

PSPPSP

TestTesty najpierwy najpierw, , Spike solutionsSpike solutions

XP1XP1

J. Nawrocki, Inżynieria oprog.

Opis eksperymentuOpis eksperymentuOpis eksperymentuOpis eksperymentu

Zadania programistyczne

1. Wartość oczekiwana i odchylenie standardowe.1. Wartość oczekiwana i odchylenie standardowe.

2. Parametry regresji liniowen.2. Parametry regresji liniowen.

3. Liczenie logicznych linii kodu bez komentarzy i pustych wierszy.3. Liczenie logicznych linii kodu bez komentarzy i pustych wierszy.

4. LOC dla każdej klasy i liczba metod w każdej klasie.4. LOC dla każdej klasy i liczba metod w każdej klasie.

C/C++C/C++

J. Nawrocki, Inżynieria oprog.

Plan Plan wykładuwykładuPlan Plan wykładuwykładu

Praktyki XPPraktyki XPWcześniejsze badaniaWcześniejsze badaniaPersonal Software ProcessPersonal Software ProcesseXtremme ProgrammingeXtremme ProgrammingOpis eksperymentuOpis eksperymentu

WynikiWynikiPodsumowaniePodsumowanie

J. Nawrocki, Inżynieria oprog.

WynikiWynikiWynikiWyniki

Completion Time (Average)

0:00

1:12

2:24

3:36

4:48

Zad 1 Zad 2 Zad 3 Zad 4

PSP

XP1

XP2

Prawie nie ma różnicy międzyPrawie nie ma różnicy między XP2 a XP1. XP2 a XP1.

Prog 1 Prog 2 Prog 3 Prog 4

J. Nawrocki, Inżynieria oprog.

WynikiWynikiWynikiWyniki

Completion Time (Std. Deviation)

0:00

0:28

0:57

1:26

1:55

2:24

Zad 1 Zad 2 Zad 3 Zad 4

PSP

XP1

XP2

Prog 1 Prog 2 Prog 3 Prog 4

Programowanie parami jest bardziej Programowanie parami jest bardziej przewidywalne niż indywidualneprzewidywalne niż indywidualne..

J. Nawrocki, Inżynieria oprog.

WynikiWynikiWynikiWyniki

Average Program Size (LOC)

0

100

200

300

400

500

Zad 1 Zad 2 Zad 3 Zad 4

PSP

XP1

XP2

Prog 1 Prog 2 Prog 3 Prog 4

J. Nawrocki, Inżynieria oprog.

WynikiWynikiWynikiWyniki

Standard Deviation in Code Size

0

50

100

150

200

Zad 1 Zad 2 Zad 3 Zad 4

PSP

XP1

XP2

Prog 1 Prog 2 Prog 3 Prog 4

Programowanie parami daje bardziej stabilne Programowanie parami daje bardziej stabilne rozwiązaniarozwiązania..

J. Nawrocki, Inżynieria oprog.

PodsumowaniePodsumowaniePodsumowaniePodsumowanie

• Programowanie parami wydaje się Programowanie parami wydaje się mniej efektywne niż to wynika z mniej efektywne niż to wynika z eksperymentóweksperymentów J.T. Nosk J.T. Noskaa and L. and L. Williams et al.Williams et al.

• Programowanie parami jest Programowanie parami jest bardziej przewidywalne, zarówno z bardziej przewidywalne, zarówno z punktu widzenia czasu, jaki i punktu widzenia czasu, jaki i rozmiaru kodu.rozmiaru kodu.

• Eksperyment był ograniczony do Eksperyment był ograniczony do stosunkowo małych programówstosunkowo małych programów (150 - 400 LOC).(150 - 400 LOC).

J. Nawrocki, Inżynieria oprog.

Ocena wykładuOcena wykładuOcena wykładuOcena wykładu

1. Wrażenie ogólne? (1 - 6)1. Wrażenie ogólne? (1 - 6)

2. Zbyt wolno czy zbyt 2. Zbyt wolno czy zbyt szybko?szybko?

3. Czy dowiedziałeś się 3. Czy dowiedziałeś się czegoś ważnego?czegoś ważnego?

4. Co poprawić i jak?4. Co poprawić i jak?