Cykl życia rozwoju oprogramowania

Cykl życia oprogramowania (SDLC) to proces realizowany w projekcie oprogramowania w organizacji oprogramowania. Składa się ze szczegółowego planu opisującego, jak rozwijać, utrzymywać, zastępować, zmieniać lub ulepszać określone oprogramowanie. Definiuje metodologię poprawy jakości oprogramowania i całego procesu rozwoju.

  • SDLC to proces używany przez analityków IT w celu opracowania lub przeprojektowania wysokiej jakości systemu oprogramowania, spełniającego zarówno wymagania klienta, jak i rzeczywiste.

  • Uwzględnia wszystkie powiązane aspekty testowania oprogramowania, analizy i konserwacji poprocesowej.

Na poniższej ilustracji przedstawiono ważne fazy SDLC -

Etap planowania

Każda czynność musi zaczynać się od planu. Brak planu oznacza niepowodzenie. Stopień planowania różni się w zależności od modelu, ale bardzo ważne jest, aby dokładnie zrozumieć, co zamierzamy zbudować, tworząc specyfikacje systemu.

Definiowanie etapu

Na tym etapie analizujemy i definiujemy strukturę systemu. Definiujemy architekturę, komponenty i sposób, w jaki te komponenty pasują do siebie, aby stworzyć działający system.

Projektowanie etapu

W projekcie systemu szczegółowo opisano funkcje i operacje projektowe, w tym układy ekranu, reguły biznesowe, diagramy procesów i inną dokumentację. Wyniki tego etapu opisują nowy system jako zbiór modułów lub podsystemów.

Etap budowy

To jest faza rozwoju. Generowanie kodu rozpoczynamy w oparciu o projekt systemu przy użyciu kompilatorów, interpreterów, debuggerów, aby ożywić system.

Realizacja

Wdrożenie jest częścią Etapu Budowy. W tej fazie rozpoczynamy generowanie kodu w oparciu o projekt systemu przy użyciu kompilatorów, interpreterów, debuggerów, aby ożywić system.

Etap testowania

Ponieważ różne części systemu są ukończone; przechodzą serię testów. jest testowany pod kątem wymagań, aby upewnić się, że produkt faktycznie spełnia potrzeby określone w fazie wymagań.

  • Plany testów i przypadki testowe służą do identyfikacji błędów i upewnienia się, że system działa zgodnie ze specyfikacjami.

  • W tej fazie wykonywane są różne rodzaje testów, takie jak testy jednostkowe, testy ręczne, testy akceptacyjne i testy systemowe.

Śledzenie defektów w testowaniu

Raporty z testów oprogramowania służą do przekazywania wyników wykonanych planów testów. W takim przypadku raport powinien zawierać wszystkie informacje testowe, które odnoszą się do aktualnie testowanego systemu. Kompletność raportów będzie weryfikowana podczas sesji instruktażowych.

Testowanie projektu ma na celu osiągnięcie dwóch głównych celów -

  • Wykrywaj awarie i usterki w systemie.

  • Wykryj niespójność między wymaganiami a implementacją.

Poniższy schemat blokowy przedstawia Defect Tracking Process -

Aby osiągnąć główne cele, strategia testowania proponowanego systemu będzie zwykle składać się z czterech poziomów testowania.

Są to testy jednostkowe, testy integracyjne, testy akceptacyjne i testy regresyjne. W poniższych podrozdziałach opisano te poziomy testowania, które role zespołu programistów są odpowiedzialne za ich opracowanie i wykonanie oraz kryteria określania ich kompletności.

Rozlokowanie

Po zakończeniu fazy testowej system zostaje zwolniony i trafia do środowiska produkcyjnego. Gdy produkt jest przetestowany i gotowy do wdrożenia, zostaje oficjalnie wypuszczony na odpowiedni rynek. Czasami wdrażanie produktu odbywa się etapami, zgodnie ze strategią biznesową organizacji.

Produkt może najpierw zostać wydany w ograniczonym segmencie i przetestowany w rzeczywistym środowisku biznesowym (UAT - testy akceptacyjne użytkowników). Następnie, na podstawie opinii, produkt może zostać wydany w takim stanie, w jakim jest lub z sugerowanymi ulepszeniami w docelowym segmencie rynku.

Proces post SDLC

Po wprowadzeniu produktu na rynek, jego utrzymanie odbywa się dla istniejącej bazy klientów.

W środowisku produkcyjnym system zostanie poddany modyfikacjom z powodu niewykrytych błędów lub innych nieoczekiwanych zdarzeń. System jest oceniany, a cykl jest powtarzany w celu konserwacji systemu.

Rola analityka biznesowego w procesie SDLC

Jak widać na poniższym diagramie, BA bierze udział w określaniu wymagań biznesowych i przekształcaniu ich w wymagania rozwiązania.

Zajmuje się przekładaniem funkcji rozwiązania na wymagania programowe. Następnie kieruje fazą analizy i projektowania, dyktuje tworzenie kodu, a następnie śledzi fazę testowania podczas naprawiania błędów jako agent zmian w zespole projektowym i ostatecznie spełnia wymagania klienta.