Fazy i modele cyklu życia oprogramowania (SDLC).
Co to jest SDLC?
SDLC to systematyczny proces tworzenia oprogramowania zapewniający jakość i poprawność tworzonego oprogramowania. Proces SDLC ma na celu wytworzenie wysokiej jakości oprogramowania spełniającego oczekiwania klientów. Rozwój systemu powinien zostać ukończony we wcześniej określonych ramach czasowych i kosztach. SDLC składa się ze szczegółowego planu wyjaśniającego, jak planować, budować i utrzymywać określone oprogramowanie. Każda faza cyklu życia SDLC ma swój własny proces i produkty, które wpływają na następną fazę. SDLC oznacza Cykl życia rozwoju oprogramowania i jest również nazywany cyklem życia tworzenia aplikacji.
Dlaczego SDLC?
Oto główne powody, dla których SDLC jest ważny przy opracowywaniu systemu oprogramowania.
- Stanowi podstawę do planowania, harmonogramowania i szacowania projektów
- Zapewnia ramy dla standardowego zestawu działań i wyników
- Jest to mechanizm śledzenia i kontroli projektów
- Zwiększa widoczność planowania projektu dla wszystkich stron zaangażowanych w proces rozwoju
- Zwiększona i zwiększona prędkość rozwoju
- Poprawa relacji z klientami
- Pomaga zmniejszyć ryzyko projektu i obciążenie planu zarządzania projektem
Fazy SDLC
Cały proces SDLC dzieli się na następujące kroki SDLC:
- Faza 1: Gromadzenie i analiza wymagań
- Faza 2: Studium wykonalności
- Faza 3: Projekt
- Faza 4: Kodowanie
- Faza 5: Testowanie
- Faza 6: Instalacja/wdrożenie
- Faza 7: Konserwacja
W tym samouczku wyjaśniłem wszystkie fazy cyklu życia oprogramowania
Faza 1: Gromadzenie i analiza wymagań
Wymóg jest pierwszym etapem procesu SDLC. Jest on prowadzony przez starszych członków zespołu przy udziale wszystkich interesariuszy i ekspertów dziedzinowych z branży. Planowanie dla najwyższą jakość wymagań i rozpoznanie związanego z tym ryzyka odbywa się również na tym etapie.
Ten etap daje jaśniejszy obraz zakresu całego projektu oraz przewidywanych problemów, możliwości i dyrektyw, które zapoczątkowały projekt.
Na etapie zbierania wymagań zespoły muszą uzyskać szczegółowe i precyzyjne wymagania. Pomaga to firmom w sfinalizowaniu niezbędnego harmonogramu zakończenia pracy tego systemu.
Faza 2: Studium wykonalności
Po zakończeniu fazy analizy wymagań kolejnym krokiem SDLC jest zdefiniowanie i udokumentowanie potrzeb oprogramowania. Proces ten przeprowadza się za pomocą dokumentu „Specyfikacja wymagań oprogramowania”, znanego również jako dokument „SRS”. Obejmuje wszystko, co powinno zostać zaprojektowane i opracowane w trakcie cyklu życia projektu.
Wyróżnia się pięć typów kontroli wykonalności:
- Gospodarczy: Czy uda nam się zrealizować projekt w ramach budżetu czy nie?
- Prawna: Czy możemy potraktować ten projekt jako prawo cybernetyczne i inne ramy/zgodności regulacyjne?
- Operawykonalność: Czy możemy tworzyć operacje, których oczekuje klient?
- Techniczny: Należy sprawdzić, czy bieżący system komputerowy obsługuje oprogramowanie
- Plan zajęć: Zdecyduj, czy projekt da się ukończyć w założonym harmonogramie, czy nie.
Faza 3: Projekt
W tej trzeciej fazie dokumenty projektowe systemu i oprogramowania są przygotowywane zgodnie z dokumentem specyfikacji wymagań. Pomaga to zdefiniować ogólną architekturę systemu.
Ta faza projektowania służy jako wkład do następnej fazy modelu.
Na tym etapie powstają dwa rodzaje dokumentów projektowych:
Projekt wysokiego poziomu (HLD)
- Krótki opis i nazwa każdego modułu
- Zarys funkcjonalności każdego modułu
- Relacje interfejsu i zależności pomiędzy modułami
- Identyfikacja tabel bazy danych wraz z ich kluczowymi elementami
- Kompletne schematy architektury wraz ze szczegółami technologicznymi
Projekt niskiego poziomu (LLD)
- Logika funkcjonalna modułów
- Tabele bazy danych, które obejmują typ i rozmiar
- Pełne szczegóły interfejsu
- Rozwiązuje wszystkie typy problemów z zależnościami
- Lista komunikatów o błędach
- Kompletne wejścia i wyjścia dla każdego modułu
Faza 4: Kodowanie
Po zakończeniu fazy projektowania systemu następną fazą jest kodowanie. W tej fazie programiści rozpoczynają budowę całego systemu od napisania kodu w wybranym języku programowania. W fazie kodowania zadania są dzielone na jednostki lub moduły i przydzielane różnym programistom. Jest to najdłuższa faza procesu cyklu życia oprogramowania.
Na tym etapie programista musi przestrzegać pewnych wcześniej zdefiniowanych wytycznych dotyczących kodowania. Oni też muszą korzystać narzędzia programistyczne jak kompilator, interpretery, debugger do generowania i implementowania kodu.
Faza 5: Testowanie
Gdy oprogramowanie jest gotowe i wdrożone w środowisku testowym, zespół testujący rozpoczyna testowanie funkcjonalności całego systemu. Robi się to w celu sprawdzenia, czy cała aplikacja działa zgodnie z wymaganiami klienta.
Na tym etapie zespół ds. kontroli jakości i zespół testujący mogą znaleźć pewne błędy/defekty, o których poinformują programistów. Zespół programistów naprawia błąd i odsyła go do kontroli jakości w celu ponownego przetestowania. Proces ten trwa do momentu, aż oprogramowanie będzie wolne od błędów, stabilne i będzie działać zgodnie z potrzebami biznesowymi systemu.
Faza 6: Instalacja/wdrożenie
Gdy faza testowania oprogramowania dobiegnie końca i w systemie nie pozostaną żadne błędy ani błędy, rozpoczyna się ostateczny proces wdrażania. Na podstawie informacji zwrotnych przekazanych przez kierownika projektu ostateczna wersja oprogramowania jest wydawana i sprawdzana pod kątem ewentualnych problemów z wdrożeniem.
Faza 7: Konserwacja
Po wdrożeniu systemu i rozpoczęciu korzystania z niego przez klientów, wykonywane są następujące 3 czynności
- Naprawianie błędów – błędy są zgłaszane z powodu niektórych scenariuszy, które w ogóle nie są testowane
- Upgrade – Aktualizacja aplikacji do nowszych wersji Oprogramowania
- Ulepszenia – dodanie kilku nowych funkcji do istniejącego oprogramowania
Głównym celem tej fazy SDLC jest zapewnienie dalszego zaspokajania potrzeb i ciągłego działania systemu zgodnie ze specyfikacją wymienioną w pierwszej fazie.
Popularne modele SDLC
Oto niektóre z najważniejszych modeli cyklu życia oprogramowania (SDLC):
Model wodospadu w SDLC
Wodospad jest powszechnie akceptowanym modelem SDLC. W tym podejściu cały proces tworzenia oprogramowania jest podzielony na różne fazy SDLC. W tym modelu SDLC wynik jednej fazy pełni rolę danych wejściowych dla następnej fazy.
Ten model SDLC wymaga dużej dokumentacji, a wcześniejsze fazy dokumentują, co należy wykonać w kolejnych fazach.
Model przyrostowy w SDLC
Model przyrostowy nie jest odrębnym modelem. Zasadniczo jest to seria cykli wodospadu. Na początku projektu wymagania są dzielone na grupy. Dla każdej grupy przy opracowywaniu oprogramowania stosuje się model SDLC. Proces cyklu życia SDLC jest powtarzany, a każde wydanie dodaje więcej funkcjonalności, aż do spełnienia wszystkich wymagań. W tej metodzie każdy cykl pełni rolę fazy konserwacji poprzedniej wersji oprogramowania. Modyfikacja modelu przyrostowego umożliwia nakładanie się cykli rozwoju. Następnie kolejny cykl może rozpocząć się przed zakończeniem poprzedniego.
Model V w SDLC
W przypadku tego typu testowania i rozwoju modelu SDLC faza ta jest planowana równolegle. Zatem z jednej strony są fazy weryfikacji SDLC, a z drugiej faza walidacji. Model V dołącza w fazie kodowania.
Model zwinny w SDLC
Metodologia Agile to praktyka, która promuje ciągłą interakcję rozwoju i testowania podczas procesu SDLC dowolnego projektu. W metodzie Agile cały projekt jest dzielony na małe przyrostowe kompilacje. Wszystkie te kompilacje są dostarczane w iteracjach, a każda iteracja trwa od jednego do trzech tygodni.
Model spiralny
Model spiralny jest modelem procesu opartego na ryzyku. Ten model testowania SDLC pomaga zespołowi przyjąć elementy jednego lub większej liczby modeli procesów, takich jak model kaskadowy, przyrostowy, kaskadowy itp.
Model ten przyjmuje najlepsze cechy modelu prototypowego i modelu wodospadu. Metodologia spiralna to połączenie szybkiego prototypowania i współbieżności działań projektowych i rozwojowych.
Model Wielkiego Wybuchu
Model Wielkiego Wybuchu koncentruje się na wszystkich rodzajach zasobów związanych z tworzeniem i kodowaniem oprogramowania, bez planowania lub w bardzo niewielkim stopniu. Wymagania są rozumiane i wdrażane, gdy się pojawią.
Model ten sprawdza się najlepiej w przypadku małych projektów z mniejszym zespołem programistów, który współpracuje ze sobą. Jest również przydatny w projektach rozwoju oprogramowania akademickiego. Jest to idealny model w przypadku, gdy wymagania są nieznane lub nie jest podana ostateczna data premiery.
Podsumowanie
- Cykl życia oprogramowania (SDLC) to systematyczny proces tworzenia oprogramowania, który zapewnia jakość i poprawność tworzonego oprogramowania
- Pełna forma SDLC to cykl życia oprogramowania lub cykl życia systemu.
- SDLC w inżynierii oprogramowania zapewnia ramy dla standardowego zestawu działań i wyników
- Siedem różnych etapów SDLC to 1) Gromadzenie i analiza wymagań 2) Studium wykonalności: 3) Projektowanie 4) Kodowanie 5) Testowanie: 6) Instalacja/wdrożenie i 7) Konserwacja
- Starsi członkowie zespołu prowadzą analiza wymagań faza
- Etap Studium Wykonalności obejmuje wszystko, co powinno zostać zaprojektowane i opracowane w trakcie cyklu życia projektu
- W fazie projektowania dokumenty projektowe systemu i oprogramowania są przygotowywane zgodnie z dokumentem specyfikacji wymagań
- W fazie kodowania programiści zaczynają budować cały system, pisząc kod w wybranym języku programowania
- Testowanie to kolejna faza, która ma na celu sprawdzenie, czy cała aplikacja działa zgodnie z wymaganiami Klienta.
- Instalacja i wdrożenie rozpoczyna się, gdy Testowanie oprogramowania faza się skończyła i w systemie nie pozostały żadne błędy ani błędy
- Naprawianie błędów, uaktualnianie i działania związane z zaangażowaniem objęte częścią konserwacyjną
- Waterfall, Inkrementalny, Agile, Model V, Spiral, Big Bang to tylko niektóre z popularnych modeli SDLC w inżynierii oprogramowania
- SDLC w testowaniu oprogramowania składa się ze szczegółowego planu wyjaśniającego, jak planować, budować i utrzymywać określone oprogramowanie