25
J. Nawrocki, Inżynieria o prog. Plan Plan wykładu wykładu Praktyki XP Praktyki XP Wcześniejsze badania Wcześniejsze badania Personal Software Process Personal Software Process eXtremme Programming eXtremme Programming Opis eksperymentu Opis eksperymentu Wyniki Wyniki Podsumowanie Podsumowanie

Plan wykładu

  • Upload
    fayre

  • View
    54

  • Download
    1

Embed Size (px)

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

Page 1: Plan  wykładu

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

Page 2: Plan  wykładu

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

Page 3: Plan  wykładu

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ć??

Page 4: Plan  wykładu

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..

Page 5: Plan  wykładu

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.).)

Page 6: Plan  wykładu

J. Nawrocki, Inżynieria oprog.

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

Eksperyment Noska

71 %

100 %

Czas Czas wykonaniawykonania

PracochPracoch

143 %

100 %

Page 7: Plan  wykładu

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’).

Page 8: Plan  wykładu

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

Page 9: Plan  wykładu

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??

Page 10: Plan  wykładu

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

Page 11: Plan  wykładu

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

Page 12: Plan  wykładu

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

Page 13: Plan  wykładu

J. Nawrocki, Inżynieria oprog.

Personal Software ProcessPersonal Software ProcessPersonal Software ProcessPersonal Software Process

PlanowaniePlanowanie

ProjektowanieProjektowanie

KodowanieKodowanie

KompilacjaKompilacja

TestowanieTestowanie

PostmortemPostmortem

WymaganiaWymagania

ProduProdukkt + t + dadanene

Page 14: Plan  wykładu

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

Page 15: Plan  wykładu

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::

Page 16: Plan  wykładu

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

Page 17: Plan  wykładu

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

Page 18: Plan  wykładu

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++

Page 19: Plan  wykładu

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

Page 20: Plan  wykładu

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

Page 21: Plan  wykładu

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..

Page 22: Plan  wykładu

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

Page 23: Plan  wykładu

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..

Page 24: Plan  wykładu

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).

Page 25: Plan  wykładu

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?