Upload
fayre
View
60
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
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?