Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Złożoność procesu konstrukcji oprogramowania wymusza podział na etapy.

Podobne prezentacje


Prezentacja na temat: "Złożoność procesu konstrukcji oprogramowania wymusza podział na etapy."— Zapis prezentacji:

1 Problemy analizy, specyfikacji i projektowania oprogramowania czasu rzeczywistego
Złożoność procesu konstrukcji oprogramowania wymusza podział na etapy. Konstrukcja SCR jest zazwyczaj zagadnieniem skomplikowanym i z tego powodu nie jest możliwe podanie metod pozwalających na automatyczne tworzenie systemu. Z drugiej strony ogólnie znaną tendencją jest podział skomplikowanego procesu na mniejsze etapy (precyzyjnie określone), aby ułatwić rozwiązanie zadania.

2 problem Analiza wymagań specyfikacja projektowanie programowanie rozwiązanie metoda Dekompozycja na etapy podczas tworzenia oprogramowania

3 Modele procesu tworzenia oprogramowania
Omówione modele: Kaskadowy; Typu V; Przyrostowy (ewolucyjny); Szybkie prototypowanie (makietowanie); Model spiralny.

4 Model kaskadowy. Zaproponowana idea polega na rozbiciu procesu tworzenia oprogramowania na poszczególne etapy, począwszy od wymagań, a skończywszy na testowaniu i integracji.

5 Wymagania i specyfikacja
projektowanie programowanie testowanie integracja Model kaskadowy

6 Wynikiem etapy specyfikacji jest opis systemu wraz z interfejsem pomiędzy systemem, a otoczeniem. Opis traktuje system całościowo bez podziału na współbieżne komponenty. Kolejny etap składa się z dwóch faz: -projektu wstępnego; -projektu szczegółowego. Celem pierwszego jest określenie podstawowych składników systemu, a także sposobu w jaki będą współpracować i jak powinny być testowane. Następnie tworzony jest projekt szczegółowy, który definiuje strukturę poszczególnych składników, realizowanych przez nie algorytmów oraz struktury danych na których będą pracować.

7 W trakcie programowania realizowane jest tworzenie kodu źródłowego zdefiniowanych wcześniej jednostek programowych (modułów, zadań). Następuje tu przejście od opisu logicznego do postaci programu wykonywalnego, który po załadowaniu jest zdolny do samodzielnej pracy. W kolejnym etapie realizowane jest testowanie poszczególnych składników. Jest to proces który rozpoczyna się od testowania poszczególnych modułów i następnie obejmuje kolejne, stopniowo zwiększane grupy składników. Stanowi to przejście do fazy integracji. Po wykonaniu tych procesów testowania system powinien zostać zainstalowany w otoczeniu w którym będzie pracował. Dokonuje się wówczas ostatecznej oceny skonstruowanego systemu.

8 Tworzenie systemu wg. Modelu V
potrzeby Analiza wymagań Dekompozycja systemu Specyfikacja oprogramowania Projektowanie wstępne Projektowanie szczegółowe programowanie Testy modułów Testy integracyjne Testy oprogramowania Integracja systemu Testowanie operacyjne produkt Tworzenie systemu wg. Modelu V

9 Model V zakłada rozbicie procesu tworzenia systemu na większą ilość faz oraz uwzględnia część sprzętową (jeśli takie są wymagania). Rozwijanie systemu rozpoczyna się od wyznaczenia potrzeb i przechodzi przez kolejne fazy analizy wymagań, dekompozycji systemu (część sprzętowa i oprogramowanie), specyfikację, projektowanie wstępne i szczegółowe oraz kończy się (w swej pierwszej części) w fazie programowania. Fazy te są wymienione w lewej gałęzi litery V i odpowiadają przechodzeniu od wyższych poziomów abstrakcji do niższych. Z kolei prawa gałąź opisuje czynności związane z analizą i testowaniem oprogramowania w kolejnych warstwach abstrakcji, poczynając od najniższego (testowanie modułów), a skończywszy na testach całego systemu.

10 Powyższy model zwiększa możliwość zarządzania procesem rozwijania systemu przez polepszenie widoczności odpowiednich poziomów. Pozwala to lepiej zrozumieć zależności odpowiednich opisów systemu, a tym samym ich wykorzystanie w etapach położonych na tych samych poziomach abstrakcji. Jest to szczególnie ważne dla weryfikacji i oceny systemu.

11 Szybkie prototypowanie
wymagania testowanie projektowanie konstrukcja specyfikacja programowanie integracja budowa prototypu budowanie systemu Szybkie prototypowanie

12 Wytwarzanie oprogramowania według technologii szybkiego prototypowania (makietowania) jest stosowane, gdy wymagania nie są sprecyzowane oraz stosunkowo łatwo można skonstruować prototyp systemu. Idea polega na konstrukcji prototypu systemu (analiza wymagań, projektowanie, budowanie i testowanie prototypu), na podstawie którego można analizować i oceniać wymagania formułowane dla systemu. Dopiero po zakończeniu analizy i weryfikacji wymagań przystępuje się do specyfikacji systemu i następnie realizuje kolejne etapy (budowanie systemu). W metodzie tej konstrukcja prototypu jest wyraźnie oddzielona od rozwijania właściwego systemu.

13 Model przyrostowy wymagania specyfikacja testowanie projektowanie
programowanie integracja Model przyrostowy użytkowanie

14 Przyrostowe (ewolucyjne) tworzenie oprogramowania polega na iteracyjnym tworzeniu systemu, począwszy od jego najprostszej bazowej wersji. W kolejnych iteracjach rozwijane i dołączane są kolejne części (przyrosty), aż do osiągnięcia systemu docelowego. Faza prototypowania jest więc rozciągnięta w czasie i kończy się utworzeniem systemu końcowego. Jest to podstawowa różnica w stosunku do poprzedniej metody. Praktycznie podejście to jest stosowane przy budowaniu systemów zarządzania bazami danych, gdzie można wyodrębnić podstawowy zestaw funkcji i następnie dodawać kolejne, realizujące bardziej zaawansowane funkcje. Metoda ta charakteryzuje się rozproszeniem fazy analizy wymagań na cały cykl tworzenia oprogramowania.

15 Model spiralny Określenie celów wariantów i ograniczeń
Ocena wariantów, oszacowanie ryzyka Konstrukcja i weryfikacja Planowanie następnej fazy Kumulowany koszt Model spiralny

16 Model spiralny stanowi pewne połączenie omawianych wcześniej modeli: kaskadowego, szybkiego prototypowania, i przyrostowego. Proces tworzenia składa się również z wielu iteracji, przy czym pojedyncza iteracja odpowiada jednemu cyklowi spirali. Z kolei każdy cykl można podzielić na cztery etapy: 1. Planowanie następnej fazy; 2. Definiowanie celów i ograniczeń; 3. Ocena rozwiązań i analiza ryzyka; 4. Wytworzenie produktu (danego cyklu i weryfikacja) Model ten traktuje w sposób szczególny analizę ryzyka i ocenę kosztów związanych z produktem w dalszej fazie rozwoju.

17 Weryfikacja i ocena poprawności
Jednym z istotniejszych zagadnień, w szczególności dla systemów czasu rzeczywistego, jest analiza poprawności. Wykonanie tej analizy dopiero w etapie końcowym jest jedną z wad modelu kaskadowego. Należy dążyć, aby analiza poprawności była realizowana możliwie często, przede wszystkim, na koniec każdego etapu w procesie tworzenia. Analiza odnosi się wówczas do części wytworzonej w danym etapie.

18 Wg standardu IEEE: Produkt (oprogramowanie) jest poprawny w danym etapie wytwarzania, jeśli jest zgodne z wymaganiami zdefiniowanymi w poprzednim etapie. Analiza poprawności systemu może być realizowana w dwóch kierunkach co prowadzi do następujących pojęć: -weryfikacja odnosząca się do wytwarzania, tj. polegająca na badaniu, czy metody i narzędzia są poprawnie stosowane: Czy konstruuję program poprawnie? - ocena dotycząca produktu: Czy buduję poprawny program?

19 I-ty krok konstrukcji I+1 krok konstrukcji ocena weryfikacja Weryfikacja i ocena oprogramowania


Pobierz ppt "Złożoność procesu konstrukcji oprogramowania wymusza podział na etapy."

Podobne prezentacje


Reklamy Google