Konserwacja programu
Program maintenance to proces modyfikowania oprogramowania lub programu po dostarczeniu w celu osiągnięcia któregokolwiek z tych wyników -
- Popraw błędy
- Poprawić wydajność
- Dodaj funkcjonalności
- Usuń przestarzałe części
Pomimo powszechnego przekonania, że konserwacja jest wymagana do naprawienia błędów pojawiających się po uruchomieniu oprogramowania, w rzeczywistości większość prac konserwacyjnych obejmuje dodawanie mniejszych lub większych możliwości do istniejących modułów. Na przykład niektóre nowe dane są dodawane do raportu, nowe pole dodawane do formularzy zgłoszeniowych, kod do modyfikacji w celu uwzględnienia zmienionych przepisów rządowych itp.
Rodzaje konserwacji
Czynności konserwacyjne można podzielić na cztery kategorie -
Corrective maintenance- Naprawiono błędy, które pojawiają się po wdrożeniu na miejscu. Błędy mogą zostać wskazane przez samych użytkowników.
Preventive maintenance - Modyfikacje wprowadzone w celu uniknięcia błędów w przyszłości nazywane są konserwacją prewencyjną.
Adaptive maintenance- Zmiany w środowisku pracy wymagają czasem modyfikacji oprogramowania. Nazywa się to konserwacją adaptacyjną. Na przykład, jeśli rządowa polityka edukacyjna ulegnie zmianie, odpowiednie zmiany muszą zostać wprowadzone w module przetwarzania wyników uczniów w oprogramowaniu do zarządzania szkołą.
Perfective maintenance- Zmiany dokonane w istniejącym oprogramowaniu w celu uwzględnienia nowych wymagań klienta nazywane są konserwacją perfekcyjną. Celem jest bycie zawsze na bieżąco z najnowszymi technologiami.
Narzędzia do konserwacji
Twórcy oprogramowania i programiści używają wielu narzędzi, aby pomóc im w utrzymaniu oprogramowania. Oto niektóre z najczęściej używanych -
Program slicer - wybiera część programu, na którą miałaby mieć wpływ zmiana
Data flow analyzer - śledzi wszystkie możliwe przepływy danych w oprogramowaniu
Dynamic analyzer - śledzi ścieżkę wykonywania programu
Static analyzer - umożliwia ogólne przeglądanie i podsumowanie programu
Dependency analyzer - pomaga w zrozumieniu i analizie współzależności różnych części programu