Konserwacja oprogramowania

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj

Konserwacja oprogramowania – w inżynierii oprogramowania jest modyfikacją 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.

Linki zewnętrzne[edytuj | edytuj kod]