Wprowadzenie do modelu wodospadu

Pochodzi z branży budowlanej i produkcyjnej, jest wysoce ustrukturyzowanym środowiskiem fizycznym przeznaczonym do procesów projektowania i rozwoju. Model wodospadu jest również znany jako model cyklu życia oprogramowania. Był to pierwszy model procesu wprowadzony jako liniowo-sekwencyjny model cyklu życia. Model wodospadu mówi po prostu fenomenowi, że należy całkowicie ukończyć jedną fazę przed rozpoczęciem nowej fazy rozwoju, więc fazy nie pokrywają się. W dziedzinie rozwoju oprogramowania model wodospadu został po raz pierwszy zastosowany jako podejście SDLC. Aby pracować nad modelem wodospadu, musimy zrozumieć jego podejście do aplikacji oparte na czynnikach wewnętrznych i zewnętrznych, które mogą być następujące:

  • Brak niejednoznacznych wymagań w aplikacji.
  • Stabilność definicji produktu
  • Jest to technologia zrozumiana
  • To nie jest dynamiczne
  • Dostępne są duże zasoby z odpowiednią wiedzą fachową w celu wsparcia produktu
  • Vey krótki projekt
  • Dobry dokument, jasne i ustalone wymagania.

Na początek chciałbym powiedzieć, że pierwsza próbka modelu wodospadu została wprowadzona w 1970 roku przez Winstona w Royce w artykule. Od tego czasu model wodospadu stwierdza, że ​​należy przejść do innej fazy tylko wtedy, gdy poprzednie fazy zostaną całkowicie przetestowane, sprawdzone i zweryfikowane. Podkreśla logiczny postęp kroków fazowych. Jego funkcjonalność jest podobna do wody przepływającej przez krawędź klifu. To podejście do tworzenia oprogramowania zostało nazwane wodospadem, ponieważ systematycznie rozwija się z jednej fazy do drugiej w sposób malejący. Od czasu pierwszej publikacji Winstona W. Royce'a w 1970 r. Model wodospadu jest szeroko stosowany w dziedzinie tworzenia oprogramowania. W cyklu procesu tworzenia oprogramowania modele programowania są wykorzystywane do planowania różnych etapów tworzenia aplikacji. Jednym z takich modeli jest model wodospadu.

Fazy ​​modelu wodospadu

Porozmawiajmy teraz o fazach modelu wodospadu, które można wyjaśnić jasno za pomocą tej infografiki demo.

Dzięki powyższym infografikom możemy zrozumieć, że model wodospadu ma w sumie 7 faz cyklu projektowania i programowania oprogramowania, które są następujące:

  1. Wymagania
  2. Analiza
  3. Projekt
  4. Kodowanie / wdrożenie
  5. Testowanie
  6. Operacja / wdrożenie
  7. Konserwacja

Widzimy więc, że model kaskady działa od góry do dołu z jedną fazą zakończoną pełną weryfikacją, a następnie przejściem do innej fazy obejmującej procesy fazowe, takie jak koncepcja, inicjacja, analiza, projekt, konstrukcja, testowanie, produkcja / wdrożenie i utrzymanie. Aby uzyskać krótszą wiedzę na temat modelu wodospadu, musimy dokładnie zrozumieć wszystkie jego procesy za pomocą jego modelu pracy. Istnieje podstawowa faza wstępna, którą należy zrozumieć przed rozpoczęciem głębokich faz wiedzy. Chodzi o studium wykonalności oprogramowania. Zajmuje się finansowymi i technicznymi aspektami wymagań projektu. Ten etap dotyczy korekty miar na podstawie analizowanych korzyści i wad. Dlatego wybierane jest najlepsze rozwiązanie.

  1. Wymagania: Jak konkretnie słowami, musimy wiedzieć i rozumieć, co musimy zaprojektować, co musimy opracować, jego procesy, jaka będzie jego funkcjonalność itp. Zapewnia materiał wejściowy do wytwarzanego produktu, a tym samym do nadchodzącego produktu jest badany, finalizowany i oznaczany. Daje nam również rozszerzenie do decydowania o wymaganiach sprzętowych lub programowych produktu, który zostanie zaprojektowany, opracowany i zarejestrowany na wszystkich etapach.
  2. Analiza: Wynikiem jest projektowanie modeli, schematów i reguł biznesowych. Nie tylko to wymaganie jest podzielone na dwie części:
  • Zbieranie wymagań i analiza: Najpierw wszystkie informacje i wymagania dotyczące rozwoju produktu są gromadzone od klienta, a następnie przetwarzane do analizy. Główną rolą tej części jest eliminacja niekompletności i niespójności związanych z tworzeniem oprogramowania.
  • Specyfikacja wymagań: następnie przeanalizowane powyżej wymagania są udokumentowane w dokumencie SRS (specyfikacja wymagań oprogramowania). Służy jako droga między klientem a zespołem programistycznym SRS. Wszelkie spory w przyszłości są rozwiązywane i rozstrzygane wyłącznie na podstawie tej dokumentacji SRS.
  1. Projektowanie: Po zakończeniu i weryfikacji pierwszej fazy jest to kolejna najważniejsza faza do zbadania, ponieważ jest używana do projektowania systemu. Pomaga w określeniu wymagań dotyczących oprogramowania i sprzętu dla projektu produktu. Pomaga również w ogólnej architekturze projektowania systemu. Tak więc specyfikacja wymagań jest głównie badana i weryfikowana na tym etapie. Jest także pomocny w przekształcaniu dokumentu SRS w funkcjonalny projekt i rozwój oprogramowania. Możemy więc powiedzieć, że na etapie projektowania powstaje ogólna architektura dla projektu rozwoju oprogramowania.
  2. Wdrożenie: Po w pełni zweryfikowanym projekcie systemu faza wdrożenia przychodzi z rzędu. W tej fazie pobierane są dane wejściowe z projektowania systemu, które są najpierw opracowywane w małych programach zwanych jednostkami, które są testowane i wdrażane w nadchodzącej fazie. Każda jednostka w fazie implementacji przechodzi prace rozwojowe, a jej pełna funkcjonalność jest testowana, co jest również znane jako testowanie jednostkowe. Na tym etapie projekt systemu jest przekształcany w kod źródłowy za pomocą w pełni funkcjonalnych modułów programów. Obejmuje tworzenie, sprawdzanie i integrację oprogramowania.
  3. Integracja i testowanie: Każdy projekt jednostki i opracowany we wcześniejszych fazach jest włączony od fazy implementacji, która jest zintegrowana z modułem lub systemem dla różnych testów, takich jak test obciążenia, test elektrody itp. Po testowaniu każdej jednostki. Środowisko testowe podlega ciągłemu sprawdzaniu oprogramowania, aby sprawdzić, czy występują jakieś przepływy lub błędy w projekcie lub kodzie. Testy przeprowadzane są w celu utrzymania stabilności i wykonalności oprogramowania, aby klient nie napotykał żadnych zakłóceń ani błędów podczas jego produkcji. Na tym etapie po wdrożeniu cały system jest dokładnie testowany pod kątem wszelkich usterek i awarii. Testowanie systemu składa się z trzech różnych rodzajów działań, które można wyjaśnić jak poniżej:
  • Testy alfa (α): są to testy przeprowadzone przez zespół programistów.
  • Testy beta (β): są to testy przeprowadzone przez przyjazny zespół klientów i użytkowników.
  • Testy akceptacyjne: odbywa się to zarówno po testach alfa, jak i beta. Zasadniczo testowanie odbywa się po dostarczeniu przez klientów. Po testach przeprowadzonych przez klienta podejmowana jest decyzja, czy to oprogramowanie jest dopuszczalne, czy też odrzucone. Tak więc w tej fazie wykonuje się zasadniczo debugowanie błędów.
  1. Wdrożenie systemu / operacji: po zakończeniu testów niefunkcjonalnych, funkcjonalnych, alfa i beta produkt oprogramowania zostaje wdrożony w systemie użytkownika lub klienta lub zostaje wprowadzony na rynek. Faza wdrażania obejmuje instalację, migrację i obsługę całego systemu w środowisku użytkownika lub klienta.
  2. Utrzymanie: Jest to ostatnia, ale najważniejsza faza w modelu przepływu pracy w wodospadzie. Ten krok następuje tuż po instalacji i obejmuje dokonanie odpowiedniej modyfikacji produktu lub systemu, lub ulepszenie, zmianę lub modyfikację atrybutów związanych z problemem wydajności związanym z systemem. jego główną rolą jest poprawa wydajności systemu z maksymalną dokładnością wyniku oprogramowania. Zmiany zgłoszone podczas fazy konserwacji są głównie związane ze zmianami zainicjowanymi przez klienta lub użytkowników po fazie instalacji i testowania, które obejmują błędy, takie jak usterki wykryte podczas użytkowania systemu na żywo lub zgłoszenie zgłoszone przez klientów. Dzięki temu klient otrzymuje terminową i zaplanowaną konserwację i wsparcie dla opracowanego produktu. Będziesz naprawdę zaskoczony, gdy dowiesz się, że wysiłek włożony w fazę projektowania i rozwoju oprogramowania to tylko 60% wysiłku w porównaniu do wysiłku włożonego w fazę konserwacji. Istnieją trzy podstawowe rodzaje konserwacji, które wyjaśniono poniżej:
  • Konserwacja korygująca: Podczas fazy projektowania i rozwoju niektóre błędy nie są wykrywane, uwzględniane są tylko wtedy, gdy używa tego klient. Jest to tylko konserwacja naprawcza, co oznacza naprawę problemów lub błędów, które nie zostały wykryte w fazie rozwoju.
  • Doskonała konserwacja: ten rodzaj konserwacji jest przeprowadzany na życzenie klienta w celu zwiększenia i ulepszenia funkcjonalności systemu lub oprogramowania.
  • Konserwacja adaptacyjna: jest to konserwacja wymagana do zmiany środowiska systemowego. Zwykle wymagany do przeniesienia istniejącego systemu do nowego środowiska lub nowego komputera lub systemu albo może z nowym systemem operacyjnym. Ta faza jest zbyt ważna, ponieważ prowadzi do lepszej wydajności systemu.

Tak więc w powyższej dyskusji dogłębnie poznaliśmy każdą fazę modelu wodospadu z pełnymi specyfikacjami. Możemy więc powiedzieć, że model wodospadu jest bardzo ważny w dziedzinie oprogramowania, także w porównaniu z przemysłem mechanicznym, ponieważ każda faza ma swoje znaczenie, prowadzi do wygenerowania bardziej produktywnego i stabilnego oprogramowania.

Zalety

Ten model wodospadu ma nie tylko wiele innych zalet w cyklu życia oprogramowania, które można omówić poniżej:

  • Umożliwia podział na działy i kontrolę.
  • Harmonogram można ustalić z terminami dla każdego etapu rozwoju, a produkt może przechodzić kolejno przez kolejne fazy modelu procesu rozwoju.
  • Ponieważ przechodzi fazy łatwe do zrozumienia i wyjaśnienia, pokonuje wiele problemów, dlatego jest bardzo łatwy w użyciu.
  • Ze względu na sztywność modelu przepływu pracy zarządzanie nim jest bardzo łatwe, ponieważ każda faza w modelu wodospadu ma określone procesy przeglądu i dostarczania.
  • Model wodospadu działa dobrze w przypadku mniejszych projektów, w których wymagania są bardzo dobrze zrozumiane.
  • Harmonogram można ustalić z terminami dla każdego etapu rozwoju, a produkt może przechodzić kolejno przez kolejne fazy modelu procesu rozwoju.
  • Jasno określone etapy.
  • Dobrze zrozumiane kamienie milowe.
  • Łatwe do aranżacji zadania.
  • Proces i wyniki są dobrze udokumentowane.
  • Wzmacnia dobre nawyki: zdefiniuj przed projektowaniem,
  • Projekt przed kodem.
  • Model działa dobrze w przypadku mniejszych projektów i projektów, w których wymagania są dobrze zrozumiane.

Niekorzyść

Ponieważ wiemy, że każda moneta ma dwie twarze, więc dzięki dużemu dostępowi do zalet modelu wodospadu model wodospadu ma również pewne wady lub można powiedzieć o wadach, które omówiono poniżej:

  • Nie jest to dobry model dla złożonych i obiektowych projektów.
  • Nie nadaje się do projektów, w których wymagania są umiarkowane do wysokiego ryzyka zmiany.
  • Trudno jest oszacować czas i koszty dla każdej fazy procesu rozwoju.
  • Nie jest to dobry model dla złożonych i obiektowych projektów.
  • Żadne działające oprogramowanie nie jest produkowane aż do późnej fazy cyklu życia.
  • Nie można dostosować się do zmieniających się wymagań.
  • Trudno jest mierzyć postępy etapami.
  • Wysokie ryzyko i niepewność.
  • Zły model dla długich i trwających projektów.
  • Dostosowanie zakresu podczas cyklu życia może zakończyć projekt.
  • Brak ścieżki zwrotnej
  • Brak nakładania się faz
  • Trudno uwzględnić prośby o zmianę.
  • ryzyko i niepewność są wysokie w tym modelu procesu.

Gdzie używać modelu wodospadu

Teraz, po objęciu wszystkich scenariuszy, dochodzimy do punktu, w którym chcemy wiedzieć, gdzie użyć modelu wodospadu.

  • Model wodospadu jest używany głównie w projekcie obronnym, ponieważ wymaganie jest jasne, ponieważ przed przejściem do fazy rozwoju dobrze go analizują.
  • Można to również wykorzystać w projektach migracyjnych, w których wymagania będą takie same, tylko platforma lub języki mogą się zmieniać / zmieniać.

Wniosek

Podsumowując, mogę powiedzieć, że model wodospadu najlepiej nadaje się do małych projektów programistycznych w porównaniu do dużych projektów, ponieważ projektowanie, programowanie i wdrażanie jest łatwiejsze w małych projektach podczas pracy nad modelem wodospadowym, ponieważ w tym modelu wszystkie poprzednie fazy wymagają do wypełnienia przy nadchodzących fazach. Tak więc w dużym projekcie problemy i błędy pojawiają się często, ponieważ ma duży model, więc za każdym razem faza testowania będzie kontynuowana, jeśli zostanie wdrożona za pomocą modelu kaskadowego, co doprowadzi do mniejszej optymalizacji i dokładności oprogramowania.

Polecane artykuły

To był przewodnik po modelu wodospadu. Omówiliśmy tutaj fazy, zalety i wady modelu wodospadu. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -

  1. Co to jest AWS?
  2. Co to jest Bootstrap?
  3. Co to jest ul?
  4. Co to jest Unix?
  5. Scrum vs Waterfall | Porównanie