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

Slides:



Advertisements
Podobne prezentacje
JĘZYK VHDL Geneza: komputerowa symulacja układu cyfrowego, Departament Obrony USA opis skomplikowanego systemu w postaci schematu jest nieczytelny, szybkie.
Advertisements

Projektowanie w cyklu życia oprogramowania
Katedra Mikroelektroniki i Technik Informatycznych Politechniki Łódzkiej Inżynieria oprogramowania (IO) Wykłady: mgr inż. Sławomir Wróblewski Godziny przyjęć:
Role w zespole projektowym
Budowa i integracja systemów informacyjnych
1 / 47 WARSZAWA 2005 Przemysław Siekierko Stanisław Andraszek Rational Unified Process.
Referat 3. Planowanie zadań i metody ich obrazowania
Projektowanie Aplikacji Komputerowych
Propozycja metodyki nauczania inżynierii oprogramowania
Cykle życia oprogramowania
DOKUMENTACJA KOSZTORYSOWA
Opracowanie i weryfikacja algorytmów szeregowania zadań dla potrzeb redukcji poboru mocy układów cyfrowych. Temat ten jest częścia jednego z 12 etapów.
Rational Unified Process
Podstawy Inżynierii Oprogramowania
Systemy czasu rzeczywistego Podstawowe pojęcia, cykl tworzenia oprogramowania W uproszczeniu system czasu rzeczywistego jest określany jako system komputerowy,
Projektowanie i programowanie obiektowe II - Wykład IV
Proces tworzenia oprogramowania
Projekt zaliczeniowy z przedmiotu "Inżynieria oprogramowania"
Dalsze elementy metodologii projektowania. Naszym celem jest...
Wykład 2 Cykl życia systemu informacyjnego
Projekt i implementacja aplikacji wspomagającej testowanie
C.d. wstępu do tematyki RUP
Certyfikacja Kompetencji Informatycznych w standardzie ECCC
POJĘCIE ALGORYTMU Pojęcie algorytmu Etapy rozwiązywania zadań
Wprowadzanie opisu przedmiotu po stronie USOSweb (według sylabusa zgodnego z załącznikiem 1 do Zarządzenia nr 11 Rektora UW z dnia 19 lutego 2010) DAK.
Największe problemy w projektach informatycznych IT Opracował: Karol Pietrzak na podstawie artykułu z SDJ/2007 IX.
Metodyki zarządzania projektami
Zarządzanie projektami
Zarządzanie projektami
Tworzenie przedmiotów, zajęć i protokołów
Tworzenie programów, etapów oraz określanie wymagań etapowych
Rational Unified Process Implementacja Aleksandra Reiman, gr. I-52.
Dr Karolina Muszyńska Na podst.:
Na wysokościach myślenia jest sfera,
Proces tworzenia oprogramowania
Metodyki wytwarzania i utrzymywania aplikacji
Algorytmika.
1 Moduł IV. Obszar formułowania zadań budżetowych typu B.
Moduł III Definiowanie i planowanie zadań typu P 1.
Model obiektowy bazy danych
Komputerowe wspomaganie projektowania
Waterfall model.
Diagram aktywności (czynności)
Zarządzanie zagrożeniami
ŁUKASZ DZWONKOWSKI Modele zwinne i ekstremalne. Podejście tradycyjne
Inżynieria oprogramowania
Proces tworzenia oprogramowania Proces tworzenia oprogramowania jest zbiorem czynności i związanych z nimi wyników, które prowadzą do powstania produktu.
Andrzej Majkowski 1 informatyka +. 2 Bezpieczeństwo protokołu HTTP Paweł Perekietka.
Podstawy zarządzania projektami Karta projektu
Podstawy języka skryptów
Copyright © Jerzy R. Nawrocki Team Software Process Inżynieria oprogramowania II Wykład.
ZINTEGROWANE SYSTEMY ZARZĄDZANIA
Projektowanie obiektowe. Przykład: Punktem wyjścia w obiektowym tworzeniu systemu informacyjnego jest zawsze pewien model biznesowy. Przykład: Diagram.
Projekt modułu Nazwa całego projektu Nazwa modułu Imię i Nazwisko Inżynieria Oprogramowania II dzień, godzina rok akademicki W szablonie na niebiesko zamieszczone.
7/1/ Projektowanie Aplikacji Komputerowych Piotr Górczyński Cykl życia systemu.
4 lipca 2015 godz pok września 2015 godz pok. 212.
Podstawy programowania
Logical Framework Approach Metoda Macierzy Logicznej
Budowa i integracja systemów informacyjnych Wykład 2 Cykl życiowy oprogramowania dr inż. Włodzimierz Dąbrowski P olsko J apońska W yższa S zkoła T echnik.
Innowacyjne metody zarządzania jakością oprogramowania Przeglądy oprogramowania i standard IEEE 1028 Bartosz Michalik
Urząd Marszałkowski Województwa Podlaskiego Departament Europejskiego Funduszu Społecznego Białystok, 26 października 2011 r. „Na czym polega logika projektu.
Programowanie strukturalne i obiektowe Klasa I. Podstawowe pojęcia dotyczące programowania 1. Problem 2. Algorytm 3. Komputer 4. Program komputerowy 5.
Cykle życia oprogramowania oraz role w zespole projektowym Autor: Sebastian Szałachowski s4104.
Inżynieria systemów informacyjnych
Zarządzanie projektami informatycznymi
Cykl życia oprogramowania
POJĘCIE ALGORYTMU Wstęp do informatyki Pojęcie algorytmu
Budowa planu strategicznego – formułowanie celów.
Zapis prezentacji:

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.

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

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

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.

Wymagania i specyfikacja projektowanie programowanie testowanie integracja Model kaskadowy

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ć.

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.

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

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.

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.

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

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.

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

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.

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

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.

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.

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?

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