24 April 2025
Stara Kotłownia
Europe/Warsaw timezone

Wpływ stopnia sprzężenia klas na czas wprowadzenia zmian - badanie empiryczne

24 Apr 2025, 11:30
30m
SK 04/05 (Stara Kotłownia)

SK 04/05

Stara Kotłownia

Warsaw University of Technology, Main Campus

Speaker

Dawid Pura (Revolut)

Description

Zmiany w oprogramowaniu stanowią największą część kosztów ponoszonych podczas jego utrzymywania. Optymalizacja kosztów, a w szczególności czasu poświęconego na wprowadzanie zmian umożliwia organizacjom utrzymującym oprogramowanie uzyskanie przewagi konkurencyjnej. Kluczową aktywnością w modyfikacji kodu źródłowego jest jego zrozumienie, na co wpływ ma zastosowana struktura klas.
Prezentacja przedstawia eksperyment przeprowadzony na 10 programistach, przed każdym z nich postawiono dwa zadania dostosowania programu do nowych wymagań. Pierwsze zadanie stanowiło próbę kontrolną i obejmowało obszar wspólny dla obu wariantów programu. Zmierzony czas został wykorzystany jako baza normalizacji wyników badania w celu kontroli zmiennych zakłócających. Dla połowy z badanych kod źródłowy został zmodyfikowany metodą odwróconej refaktoryzacji, która zwiększyła metrykę sprzężenia Message Passing Coupling dwukrotnie w obszarze zadania drugiego.
Eksperyment został poprawnie przeprowadzony w 9 na 10 przypadków. Znormalizowany czas zadania drugiego wykazał 73% różnicę pomiędzy grupami, jednocześnie t test Welcha t = -3.23 p = 0.01 co ugruntowuje wynik jako statystycznie istotny.
Wyniki badania potwierdzają założenie praktyków, że w celu przyszłych oszczędności w obszarze dostosowywania oprogramowania programiści powinni utrzymywać sturuktury kodu o możliwie najniższym sprzężeniu klas. Jednocześnie wskazuje, że istotnym elementem poprawnego przeprowadzenia eksperymentu jest jednolity dostęp do informacji, a przyszłe próby odtworzenia powinny opierać się o większe grupy z zachowaniem niższych kosztów samego badania, wykorzystując technologię kontrolowanych środowisk programistycznych, używaną dziś w ocenie zdolności programistycznych (Remote IDE).

Author

Dawid Pura (Revolut)

Presentation materials

There are no materials yet.