Konserwacja oprogramowaniaKonserwacja oprogramowania – modyfikacja oprogramowania po jego dostarczeniu w celu skorygowania błędów, aby poprawić wydajność lub inne własności. Uważa się, że utrzymanie obejmuje tylko usuwanie błędów w systemie. Jednak jedno z badań wskazuje, że większość, tj. ponad 80% nakładów konserwacyjnych, ponoszonych jest na wszelkie działania nienaprawcze (Pigosky 1997). To poczucie utrwalane jest przez użytkowników składających zgłoszenia problemów, które w rzeczywistości okazują się rozszerzeniami funkcjonalności systemu (żargonowe: "it's not a bug, it's a feature"). Pojęcie konserwacji oprogramowania i ewolucji systemów po raz pierwszy zostało sformułowane przez Meira M. Lehmana w 1969 roku. W ciągu dwudziestu lat jego badania doprowadziły do sformułowania prawa Lehmana (Lehman 1997). W wyniku badań dowodzi, że utrzymanie jest tak naprawdę rozwojem ewolucyjnym systemu i że decyzje utrzymania są wspomagane przez zrozumienie, co dzieje się w systemie (i oprogramowaniu) na przestrzeni czasu. Lehman wykazał, że systemy ewoluują w czasie. Jak ewoluują, stają się coraz bardziej złożone, chyba że podjęte zostaną pewne działania, takie jak refaktoryzacja kodu w celu zmniejszenia jego złożoności. Do kluczowych problemów utrzymania oprogramowania należą problemy zarówno zarządcze, jak i techniczne. Istotnymi kwestiami zarządczymi są: dostosowanie do priorytetów klienta, odpowiedni personel utrzymujący system, szacowanie kosztów. Kluczowymi kwestiami technicznymi są: ograniczone zrozumienie, analiza wpływu, testowanie, pomiar stopnia możliwości konserwacji systemu. Bibliografia
Linki zewnętrzne |