Istnieje wiele metod analizy i projektowania informatycznych systemów komputerowych. Większość z nich obejmuje następujące etapy tworzenia systemów informatycznych:
- analiza i określenie wymagań (modelowanie).
- projektowanie systemu i aplikacji.
- programowanie (implementacja) i dokumentowanie.
- testowanie i walidacja.
- wdrożenie systemu u odbiorcy.
- eksploatacja i ewaluacja systemu.
Rezultatem analizy wymagań powinien być dokument określający, jakie funkcje ma spełniać system z punktu widzenia użytkownika, czyli jakie są wymagania funkcjonalne. Na tym etapie nie jest istotne, w jaki sposób system ma je realizować. W praktyce określa się także wymagania niefunkcjonalne (np. czas odpowiedzi na żądanie użytkownika, wydajność). Do tego etapu można zaliczyć również stworzenie modelu systemu lub jego prototypu.
W fazie projektowania określa się sposób, w jaki system powinien realizować wymagania określone na etapie analizy wymagań. Projektowanie może oczywiście odbywać się na różnych poziomach - od ogólnego do bardzo szczegółowego, uwzględniającego nazwy zmiennych w kodzie. W praktyce stosuje się projekty koncepcyjne określające istotę rozwiązań. W systemie bankowym mogą to być encje wynikające z jego opisu rzeczywistości, np. klient, konto. Tego typu projekt jest przydatny zwłaszcza w sytuacji, gdy zrezygnowano z modelowania w poprzednim etapie. Granica pomiędzy modelem a projektem koncepcyjnym jest bardzo płynna. Stopień uszczegółowienia projektu zależy również od swobody, jaka ma być pozostawiona programistom.
Etap programowania polega na zakodowaniu rozwiązań w języku programowania. Jeśli projekt nie jest zbyt szczegółowy, programiści samodzielnie decydują o konkretnych rozwiązaniach w aspektach wymagających doprecyzowania, co odpowiada realizacji szczegółowego projektu. Takie działania powinny oczywiście zostać udokumentowane. Na etapie programowania można dokonać integracji podsystemów lub modułów wchodzących w skład systemu. Faza ta obejmuje również wstępne testowanie na poziomie funkcji lub modułów. Programiści poprawiają zauważone przez siebie błędy.
Na etapie testowania dokonuje się próbnej eksploatacji systemu przez testerów znających obszar działania systemu. Celem jest przekształcenie wersji beta systemu w wersję dla użytkownika.
Wdrożenie i eksploatacja obejmują instalację i konfigurację systemu u klienta oraz dostarczenie wsparcia technicznego. W produktach gotowych wdrożeniu odpowiadają działania marketingowe zmierzające do wprowadzenia produktu na rynek.
Ewaluacja polega na badaniu działania systemu i nanoszeniu poprawek w celu doskonalenia całego systemu informatycznego.
W praktyce do tworzenia systemów informatycznych często wykorzystuje się metodę spiralną. Rysunek 1.3 przedstawia praktyczną wizualizację tej metody.
7