Konserwacja oprogramowania – Wikipedia, wolna encyklopedia
Konserwacja 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
[edytuj | edytuj kod]- Pigoski, Thomas M.: Practical Software Maintenance. New York: John Wiley & Sons, 1996. ISBN 978-0-471-17001-3.
- Pigoski, Thomas M.: Description for Software Evolution and Maintenance (version 0.5). SWEBOK Knowledge Area.
- April, Alain; Abran, Alain: Software Maintenance Management. New York: Wiley-IEEE, 2008. ISBN 978-0470-14707-8.
- Lehman, M.M.; Belady, L.A.: Program evolution : processes of software change. London: Academic Press Inc, 1985. ISBN 0-12-442441-4.