Spisu treści:
- Definicja - Co oznacza model cyklu życia oprogramowania (SDLC)?
- Techopedia wyjaśnia Model cyklu życia oprogramowania (SDLC)
Definicja - Co oznacza model cyklu życia oprogramowania (SDLC)?
Model cyklu życia oprogramowania (SDLC) to model koncepcyjny opisujący wszystkie działania w projekcie rozwoju oprogramowania, od planowania po konserwację. Proces ten jest powiązany z kilkoma modelami, z których każdy obejmuje różnorodne zadania i działania.
Tworzenie oprogramowania jest uciążliwym zajęciem wymagającym prawidłowej identyfikacji wymagań, ich wdrożenia i wdrożenia oprogramowania. Działania na tym się jednak nie kończą. Po dystrybucji oprogramowania należy zapewnić odpowiednią konserwację w odpowiednim czasie.
Termin ten jest również znany jako model procesu tworzenia oprogramowania.
Techopedia wyjaśnia Model cyklu życia oprogramowania (SDLC)
Główne działania związane z programowaniem obejmują:
- Wyodrębnianie wymagań: klient ma niejasne pojęcie o tym, co jest wymagane. Po dogłębnej analizie wymagań i planowaniu kroków w celu osiągnięcia celu grupa inżynierów oprogramowania realizuje pomysł abstrakcyjnego klienta.
- Opis oprogramowania: opisuje, że oprogramowanie jest kolejnym krokiem w tym procesie.
- Abstrakcyjna reprezentacja systemu: jest tworzona w celu potwierdzenia, że spełnia ona wymagania produktu i łączy się z innymi produktami oprogramowania wraz z podstawowym sprzętem.
- Wymagania klienta: zaimplementowane za pomocą kodu zaprogramowanego przez inżynierów oprogramowania.
- Testowanie kodu: kod jest testowany, aby upewnić się, że jest wolny od błędów i spełnia wymagania klienta.
- Dokumentacja projektu wewnętrznego: Do przyszłej konserwacji i ulepszeń produktu.
- Konserwacja: Przeprowadzana jest w celu zmiany architektury systemu zgodnie z przyszłymi potrzebami. Może to wymagać dodania kodu lub zmiany istniejącego kodu.
Powyższy proces rozwoju został usprawniony przez szereg modeli. Zespół programistów wybiera najlepszy odpowiedni model. Różne modele to:
- Model wodospadu: programiści określają wymagania, analizują je, określają rozwiązanie i tworzą architekturę oprogramowania, reprezentację interfejsu i szczegóły algorytmiczne. Następnie opracowują kod, testują kod, wdrażają oprogramowanie i utrzymują go. Chociaż metoda kaskadowa jest łatwa do zrozumienia i ustala stabilność wymagań, może dawać fałszywe wrażenie, że nie zapewnia dużego udziału klientów. Głównym problemem związanym z tym modelem jest to, że wymóg poprawiania błędów powinien być znany z góry i na wczesnym etapie. W przeciwnym razie cały proces może przebiegać w złym kierunku, co może negatywnie wpłynąć na koszty produkcji.
- Model w kształcie litery V: Jest odmianą modelu wodospadu. Podkreśla weryfikację i walidację produktu. Wszystkie produkty są testowalne, a postępy śledzone przez kamienie milowe. Testy są wdrażane równolegle z fazą rozwoju.
- Model prototypu: Prototyp jest opracowywany w fazie wymagań i oceniany przez użytkowników końcowych. Na podstawie opinii użytkowników programiści modyfikują prototyp, aby spełnić wymagania użytkowników. Podczas gdy model ten z łatwością finalizuje wymagania, jego stosowanie w środowisku produkcyjnym może powodować problemy z jakością, co powoduje, że proces korekty trwa nadal.
- Model spiralny: Wykorzystuje zarówno modele wodospadowe, jak i prototypowe. Dodaje języki programowania czwartej generacji, szybkie prototypowanie aplikacji i analizę ryzyka do modelu wodospadu. Wymagania systemowe są projektowane i tworzony jest wstępny projekt systemu. Wstępny prototyp został zaprojektowany i przetestowany. Na podstawie oceny wyników testów powstaje drugi prototyp. Kolejne prototypy są konstruowane w celu zapewnienia zadowolenia klienta. System tworzony jest na podstawie końcowego prototypu. Ostateczny system jest oceniany i testowany. Chociaż model ten znacznie zmniejsza ryzyko, może nie pokrywać budżetu i jest stosowany w różny sposób dla każdej aplikacji.
- Iteracyjny i przyrostowy model SDLC: Określa i wdraża część oprogramowania, która jest następnie weryfikowana, a kolejne wymagania dodawane i wdrażane w grupach. Każde wydanie dostarcza działający produkt, który w pierwszej kolejności przedstawia klientom ważne funkcje, obniżając początkowe koszty dostawy. Ryzyko zmiany wymagań jest znacznie zmniejszone, a klienci mogą reagować na każdą kompilację. Pomimo swoich mocnych stron model ten wymaga dobrego planowania i wczesnej definicji kompletnego i w pełni funkcjonalnego systemu. Wymaga również dobrze zdefiniowanych interfejsów modułów.
- Zwinny model programistyczny: służy do krytycznych aplikacji w organizacjach stosujących zdyscyplinowane metody. Przyspiesza fazy cyklu życia i ma ograniczony zakres.
- Model magicznego pudełka: to model programowania aplikacji internetowych. Jest to najszybszy sposób na zakończenie projektu przy najmniejszej liczbie błędów, ponieważ daje szansę na zmianę kodu i struktur bazy danych.