• Nie Znaleziono Wyników

Cykl życia Cykl życia oprogramowania oprogramowania

N/A
N/A
Protected

Academic year: 2021

Share "Cykl życia Cykl życia oprogramowania oprogramowania"

Copied!
34
0
0

Pełen tekst

(1)

Cykl życia Cykl życia

oprogramowania oprogramowania

AUTORZY: Filip Jakubowski-Drzewiecki, AUTORZY: Filip Jakubowski-Drzewiecki,

Tomasz Ściwiarski Tomasz Ściwiarski

(2)

Plan Prezentacji Plan Prezentacji

• Wstęp. Wstęp.

• Modele cyklu życia oprogramowania. Modele cyklu życia oprogramowania.

• Omówienie faz cyklu życia Omówienie faz cyklu życia oprogramowania.

oprogramowania.

• Podsumowanie. Podsumowanie.

(3)

Różne modele cykli Różne modele cykli

 Kaskadowy Kaskadowy

 Realizacja kierowana dokumentami Realizacja kierowana dokumentami

 Prototypowanie Prototypowanie

 Programowanie odkrywcze Programowanie odkrywcze

 Spiralny Spiralny

 Formalne transformacje Formalne transformacje

(4)

Model Kaskadowy Model Kaskadowy

(Wodospadu, Liniowy) (Wodospadu, Liniowy)

 Określenie wymagań Określenie wymagań

 Analiza Analiza

 Projektowanie Projektowanie

 Implementacja Implementacja

 Testowanie Testowanie

 Konserwacja Konserwacja

(5)

Realizacja kierowana Realizacja kierowana

dokumentami dokumentami

Każda faza kończy się opracowaniem szeregu Każda faza kończy się opracowaniem szeregu dokumentów

dokumentów

Zaleta: Zaleta:

Przerwanie realizacji w dowolnym czasie i wznowienie Przerwanie realizacji w dowolnym czasie i wznowienie jej przez inną firmę

jej przez inną firmę

Wady: Wady:

Ponad 50% więcej nakładu pracy na opracowanie Ponad 50% więcej nakładu pracy na opracowanie dokumentów zgodnych ze standardem.

dokumentów zgodnych ze standardem.

Przerwy w realizacji przedsięwzięcia niezbędne Przerwy w realizacji przedsięwzięcia niezbędne dla weryfikacji dokumentów przez klienta

dla weryfikacji dokumentów przez klienta

(6)

Prototypowanie Prototypowanie

 Ogólne określenie wymagań Ogólne określenie wymagań

 Budowa prototypu Budowa prototypu

 Weryfikacja prototypu przez klienta Weryfikacja prototypu przez klienta

 Pełne określenie wymagań Pełne określenie wymagań

 Realizacja pełnego systemu zgodnie Realizacja pełnego systemu zgodnie z modelem kaskadowym

z modelem kaskadowym

(7)

Prototypowanie c.d.

Prototypowanie c.d.

Zalety: Zalety:

Wczesna Wczesna

demonstracja demonstracja

działającej wersji działającej wersji

systemu systemu

Możliwość Możliwość

szkolenia przed szkolenia przed

wykonaniem wykonaniem

systemu systemu

Wady: Wady:

Dodatkowy koszt Dodatkowy koszt budowy prototypu budowy prototypu

Długi czas Długi czas

oczekiwania na oczekiwania na

całkowitą wersję całkowitą wersję

programu w programu w stosunku do stosunku do

oczekiwania na oczekiwania na

prototyp

prototyp

(8)

Programowanie Programowanie

odkrywcze odkrywcze

1. 1. Określenie ogólnego wymagania Określenie ogólnego wymagania

2. 2. Budowa systemu Budowa systemu

3. 3. Testowanie systemu Testowanie systemu

4. 4. Jesli niedziała to powrót do punktu Jesli niedziała to powrót do punktu 2 2

5. 5. Dostarczenie systemu Dostarczenie systemu

(9)

Programowanie Programowanie

odkrywcze c.d.

odkrywcze c.d.

Zaleta: Zaleta:

Możliwość stosowania w wypadkach, Możliwość stosowania w wypadkach, kiedy trudno jest określić wymagania kiedy trudno jest określić wymagania klienta

klienta

Wady: Wady:

Praktycznie niemożliwe zachowanie Praktycznie niemożliwe zachowanie sensownej struktury

sensownej struktury

Testowanie może odbywać się prawie Testowanie może odbywać się prawie wyłącznie przy bezpośrednim udziale wyłącznie przy bezpośrednim udziale

klienta

klienta

(10)

Realizacja przyrostowa Realizacja przyrostowa

Zalety: Zalety:

Skrócenie przerw w kontaktach z klientem Skrócenie przerw w kontaktach z klientem

Możliwość wczesnego wykorzystania przez Możliwość wczesnego wykorzystania przez klienta dostarczonych frgmentów systemu klienta dostarczonych frgmentów systemu

Opóźnienie realizacja fragmentu systemu nie Opóźnienie realizacja fragmentu systemu nie wpływa na opóźnienie realizacji całego

wpływa na opóźnienie realizacji całego przedsięwzięcia

przedsięwzięcia

 Wada: Wada:

Dodatkowy koszt związany z realizacją Dodatkowy koszt związany z realizacją niezależnego fragmentu systemu

niezależnego fragmentu systemu

(11)

Montaż z gotowych Montaż z gotowych

elementów elementów

(programowanie z półki) (programowanie z półki)

Zalety: Zalety:

Wysoka niezawodność Wysoka niezawodność

Zmniejszenie ryzyka błedów Zmniejszenie ryzyka błedów

Potencjalna redukcja kosztów Potencjalna redukcja kosztów

Wady: Wady:

Dodatkowy koszt przygotowania elementów Dodatkowy koszt przygotowania elementów do ponownego użycia

do ponownego użycia

Ryzyko uzależnienia się od dostawcy Ryzyko uzależnienia się od dostawcy elementów

elementów

Brak narzędzi wspomagających ten rodzaj Brak narzędzi wspomagających ten rodzaj pracy

pracy

(12)

Model spiralny Model spiralny

 Analiza rezyka Analiza rezyka

 Konstrukcja (model kaskaowy) Konstrukcja (model kaskaowy)

 Atestowanie Atestowanie

 Planowanie Planowanie

(13)

Formalne transformacje Formalne transformacje

 Formalna specyfikacja wymagań Formalna specyfikacja wymagań

 Postać pośrednia... Postać pośrednia...

 Kod Kod

(14)

Formalne transformacje Formalne transformacje

c.d. c.d.

Zaleta: Zaleta:

Wysoka niezawodność tak stworzonego Wysoka niezawodność tak stworzonego oprogramowania

oprogramowania

Wady: Wady:

Trudność formalnego wyspecyfikowania Trudność formalnego wyspecyfikowania wymagań

wymagań

Mała efektywność kodu uzyskanego w ten Mała efektywność kodu uzyskanego w ten sposób

sposób

Brak dobrze rozwiniętych, uniwersalnych Brak dobrze rozwiniętych, uniwersalnych

języków formalnej specyfikacji wymagań

języków formalnej specyfikacji wymagań

(15)

Faza Strategiczna (1) Faza Strategiczna (1)

Czynności Fazy Strategicznej Czynności Fazy Strategicznej

Dokonanie serii rozmów (wywiadów) z przedstawicielami Dokonanie serii rozmów (wywiadów) z przedstawicielami klienta

klienta

Określenie celów przedsięwzięcia z punktu widzenia klientaOkreślenie celów przedsięwzięcia z punktu widzenia klienta

Określenie zakresu oraz kontekstu przedsięwzięciaOkreślenie zakresu oraz kontekstu przedsięwzięcia

Ogólne określenie wymagań, wykonanie zgrubnej analizy i Ogólne określenie wymagań, wykonanie zgrubnej analizy i projektu systemu

projektu systemu

Propozycja kilku możliwych rozwiązań (sposobów realizacji Propozycja kilku możliwych rozwiązań (sposobów realizacji systemu)

systemu)

Oszacowanie kosztów oprogramowaniaOszacowanie kosztów oprogramowania

Analiza rozwiązańAnaliza rozwiązań

Prezentacja wyników fazy strategicznej przedstawicielom Prezentacja wyników fazy strategicznej przedstawicielom klienta oraz korekta wyników

klienta oraz korekta wyników

Określenie wstępnego harmonogramu przedsięwzięcia oraz Określenie wstępnego harmonogramu przedsięwzięcia oraz struktury zespołu realizatorów

struktury zespołu realizatorów

Określenie standardów, zgodnie z którymi realizowane będzie Określenie standardów, zgodnie z którymi realizowane będzie przedsięwzięcie

przedsięwzięcie

(16)

Faza Strategiczna Faza Strategiczna

Wyodrębnienie w procesie projektowania klienta, Wyodrębnienie w procesie projektowania klienta, użytkownika i wykonawcę.

użytkownika i wykonawcę.

Określenie celów z punktu widzenia klienta.Określenie celów z punktu widzenia klienta.

Określenie ograniczeń klienta.Określenie ograniczeń klienta.

Zakres przedsięwzięcia Zakres przedsięwzięcia : określenie fragmentu : określenie fragmentu

procesów informacyjnych zachodzących w organizacji, procesów informacyjnych zachodzących w organizacji, które będą objęte przedsięwzięciem. Na tym etapie

które będą objęte przedsięwzięciem. Na tym etapie może nie być jasne, które funkcje będą wykonywane może nie być jasne, które funkcje będą wykonywane przez oprogramowanie, a które przez personel, inne przez oprogramowanie, a które przez personel, inne systemy lub standardowe wyposażenie sprzętu.

systemy lub standardowe wyposażenie sprzętu.

Kontekst przedsięwzięcia: Kontekst przedsięwzięcia: systemy, organizacje, systemy, organizacje,

użytkownicy zewnętrzni, z którymi tworzony system ma użytkownicy zewnętrzni, z którymi tworzony system ma współpracować.

współpracować.

Decyzje Strategiczne i ograniczenia Decyzje Strategiczne i ograniczenia

(17)

Faza Strategiczna (3) Faza Strategiczna (3)

 Studium i ocena problemu Studium i ocena problemu

Wybór narzędzi modelowania i Wybór narzędzi modelowania i prognozowania.

prognozowania.

Problem może się nie kalkulować (np. Problem może się nie kalkulować (np.

finansowo).

finansowo).

Określanie możliwych terminów. Określanie możliwych terminów.

Ocena Ryzyka Ocena Ryzyka

(18)

Faza Strategiczna (4) Faza Strategiczna (4)

Na koszt oprogramowania składa się:

Na koszt oprogramowania składa się:

koszt sprzętu będącego częścią koszt sprzętu będącego częścią tworzonego systemu

tworzonego systemu

koszt wyjazdów i szkoleń koszt wyjazdów i szkoleń

koszt zakupu narzędzi koszt zakupu narzędzi

nakład pracy nakład pracy

(19)

Faza Analizy Faza Analizy

Rezultaty Fazy Strategicznej Rezultaty Fazy Strategicznej

Dokument będący podstawą dalszych prac i rozmów.Dokument będący podstawą dalszych prac i rozmów.

definicję celów przedsięwzięciadefinicję celów przedsięwzięcia

opis zakresu przedsięwzięciaopis zakresu przedsięwzięcia

opis systemów zewnętrznych, z którymi system będzie opis systemów zewnętrznych, z którymi system będzie współpracować

współpracować

ogólny opis wymagańogólny opis wymagań

ogólny model systemuogólny model systemu

opis proponowanego rozwiązaniaopis proponowanego rozwiązania

oszacowanie kosztówoszacowanie kosztów

wstępny harmonogram pracwstępny harmonogram prac

Raport oceny rozwiązań, zawierający informację o rozważanych Raport oceny rozwiązań, zawierający informację o rozważanych rozwiązaniach oraz przyczynach wyboru jednego z nich.

rozwiązaniach oraz przyczynach wyboru jednego z nich.

Opis wymaganych zasobów - pracownicy, oprogramowanie, Opis wymaganych zasobów - pracownicy, oprogramowanie, sprzęt, lokale, ...

sprzęt, lokale, ...

Definicje standardów.Definicje standardów.

Harmonogram fazy analizyHarmonogram fazy analizy

(20)

Faza Analizy (1) Faza Analizy (1)

Celem fazy analizy jest ustalenie Celem fazy analizy jest ustalenie

wymagań klienta wobec tworzonego wymagań klienta wobec tworzonego

systemu. Dokonywana jest zamiana systemu. Dokonywana jest zamiana

celów klienta na konkretne celów klienta na konkretne

wymagania zapewniające wymagania zapewniające

osiągnięcie tych celów.

osiągnięcie tych celów.

Klient rzadko wie, jakie wymagania Klient rzadko wie, jakie wymagania zapewnią osiągniecie jego celów.

zapewnią osiągniecie jego celów.

(21)

Faza Analizy (2) Faza Analizy (2)

Wywiady i przeglądy Wywiady i przeglądy . .

Studia na istniejącym Studia na istniejącym oprogramowaniem

oprogramowaniem .. ..

Studia wymagań systemowych Studia wymagań systemowych . .

Studia osiągalności Studia osiągalności .. ..

Prototypowanie Prototypowanie . .

(22)

Faza Analizy (3) Faza Analizy (3)

 Dostępne źródła informacji Dostępne źródła informacji

Wywiady i przeglądy Wywiady i przeglądy . .

Studia na istniejącym Studia na istniejącym oprogramowaniem

oprogramowaniem .. ..

Studia wymagań systemowych Studia wymagań systemowych . .

Studia osiągalności Studia osiągalności .. ..

Prototypowanie Prototypowanie . .

(23)

Faza Analizy (4) Faza Analizy (4)

 Dostępne narzędzia analizy Dostępne narzędzia analizy

Język naturalny Język naturalny

Formalizm matematyczny Formalizm matematyczny . .

Język naturalny strukturalny Język naturalny strukturalny

Tablice, formularze Tablice, formularze . .

Diagramy blokowe Diagramy blokowe

Diagramy kontekstowe Diagramy kontekstowe

Diagramy przypadków użycia Diagramy przypadków użycia

(24)

Faza Analizy (5) Faza Analizy (5)

Wymaganie Funkcjonalne Wymaganie Funkcjonalne

Określenie użytkowników systemu. Określenie użytkowników systemu.

Określenie dostępnych funkcji dla użytkowników. Określenie dostępnych funkcji dla użytkowników.

Określenie środowiska zewnętrznego dla systemu. Określenie środowiska zewnętrznego dla systemu.

Wymagania Niefunkcjonalne Wymagania Niefunkcjonalne

Wymagania dotyczące produktu Wymagania dotyczące produktu . (ograniczenia . (ograniczenia dla programu)

dla programu)

Wymagania dotyczące procesu Wymagania dotyczące procesu . (np. standardy) . (np. standardy)

Wymagania zewnętrzne Wymagania zewnętrzne . (środowiskowe np. zew. . (środowiskowe np. zew.

Baza danych)

Baza danych)

(25)

Faza Analizy (6) Faza Analizy (6)

Kluczowe Czynniki Sukcesu Kluczowe Czynniki Sukcesu

Zaangażowanie właściwych osób ze strony Zaangażowanie właściwych osób ze strony klienta

klienta

Pełne rozpoznanie wymagań, wykrycie Pełne rozpoznanie wymagań, wykrycie przypadków i dziedzin szczególnych i przypadków i dziedzin szczególnych i

nietypowych. Błąd popełniany w tej fazie polega nietypowych. Błąd popełniany w tej fazie polega na koncentrowaniu się na sytuacjach typowych.

na koncentrowaniu się na sytuacjach typowych.

Sprawdzenie kompletności i spójności Sprawdzenie kompletności i spójności

wymagań. Przed przystąpieniem do dalszych wymagań. Przed przystąpieniem do dalszych prac, wymagania powinny być przejrzane pod prac, wymagania powinny być przejrzane pod kątem ich kompletności i spójności.

kątem ich kompletności i spójności.

Określenie wymagań niefunkcjonalnych w Określenie wymagań niefunkcjonalnych w sposób umożliwiający ich weryfikację

sposób umożliwiający ich weryfikację

(26)

Faza Projektowania (1) Faza Projektowania (1)

Wynikiem jest Wynikiem jest logiczny model systemu logiczny model systemu , , opisujący sposób realizacji przez system opisujący sposób realizacji przez system

postawionych wymagań, lecz postawionych wymagań, lecz

abstrahujących od szczegółów abstrahujących od szczegółów

implementacyjnych.

implementacyjnych.

W odróżnieniu, celem fazy W odróżnieniu, celem fazy projektowania projektowania jest udzielenie odpowiedzi na pytanie:

jest udzielenie odpowiedzi na pytanie:

Jak system ma być zaimplementowany? Jak system ma być zaimplementowany?

Wynikiem jest opis sposobu implementacji.

Wynikiem jest opis sposobu implementacji.

(27)

Faza Projektowania (2) Faza Projektowania (2)

Tematy i techniki Analizy Tematy i techniki Analizy

Budowa statycznego modelu klas Budowa statycznego modelu klas

Analiza funkcji i przypadków użycia Analiza funkcji i przypadków użycia

Weryfikacja klas i obiektów Weryfikacja klas i obiektów

Identyfikacja i definiowanie metod oraz Identyfikacja i definiowanie metod oraz komunikatów

komunikatów

Modelowanie stanów i przejść między stanami Modelowanie stanów i przejść między stanami

Modelowanie procesów i przepływów danych Modelowanie procesów i przepływów danych

Modelowanie przepływu sterowania Modelowanie przepływu sterowania

Inne Inne

(28)

Faza Projektowania (3) Faza Projektowania (3)

Metodyka wykorzystująca pojęcia obiektowości dla celów modelowania pojęciowego oraz analizy i projektowania systemów informatycznych.

Podstawowym składnikiem jest diagram klas, będący zwykle wariantem notacyjnym i pewnym rozszerzeniem diagramów encja-związek.

Diagram klas zawiera: klasy, w ramach klas specyfikacje

atrybutów i metod, związki generalizacji, związki asocjacji i agregacji, liczności tych związków, różnorodne

ograniczenia oraz inne oznaczenia.

Uzupełnieniem tego diagramu są inne: diagramy dynamiczne uwzględniające stany i przejścia pomiędzy tymi stanami,

diagramy interakcji ustalające zależności pomiędzy

wywołaniami metod, diagramy funkcjonalne (będące zwykle pewną mutacją diagramów przepływu danych), itd.

Koncepcja przypadków użycia (use cases) zakłada

odwzorowanie struktury systemu z punktu widzenia jego użytkownika.

(29)

Faza Projektowania (4) Faza Projektowania (4)

Przykładowe wymagania które można zdefiniować

Wymagania dotyczące funkcji systemu

Wymagania dotyczące wydajności systemu

Wymagania dotyczące zewnętrznych interfejsów

Wymagania dotyczące wykonywanych operacji

Wymagania dotyczące wymaganych zasobów

Wymagania dotyczące sposobów weryfikacji

Wymagania dotyczące sposobów testowania

Wymagania dotyczące dokumentacji

Wymagania dotyczące ochrony

Wymagania dotyczące przenośności

Wymagania dotyczące jakości

Wymagania dotyczące niezawodności

Wymagania dotyczące pielęgnacyjności

Wymagania dotyczące bezpieczeństwa

(30)

Faza Implementacji Faza Implementacji

Niezawodność oprogramowania

Unikanie błędów

Niebezpieczne techniki

Zasada ograniczonego dostępu

Mocna kontrola typu

Tolerancja błędów

Porównywanie wyników różnych wersji

Transakcja: jednostka działalności systemu

Typowe środowiska implementacyjne

Czynniki sukcesu i rezultaty fazy

implementacji

(31)

Faza Instalacji Faza Instalacji

Szkolenie użytkowników końcowych i administratorów systemu

Instalacja sprzętu i przeniesienie oprogramowania

Wypełnienie baz danych

Nadzorowane korzystanie z systemu, często równoległe z tradycyjnym sposobem pracy

Usuwanie błędów w oprogramowaniu i dokumentacji użytkowej

Przekazanie systemu klientowi

(32)

Konserwacja Konserwacja

Modyfikacje poprawiające: polegają na usuwaniu z oprogramowania błędów

popełnionych w fazach wymagań, analizy, projektowania i implementacji .

Modyfikacje ulepszające: polegają na poprawie jakości oprogramowania.

Modyfikacje dostosowujące: polegają na dostosowaniu oprogramowania do zmian

zachodzących w wymaganiach użytkownika

lub w środowisku komputerowym.

(33)

Faza Testowania Faza Testowania

Dwa główne cele testowania:

wykrycie i usunięcie błędów w systemie

ocena niezawodności systemu

 Peer Review (Audyt)

 UAT (User Acceptance Testing) UAT (User Acceptance Testing)

 Bug Tracking Bug Tracking

(34)

Bibliografia Bibliografia

„ „ Wprowadzeni do Inżynierii Wprowadzeni do Inżynierii

Oprogramowania” -Kazimierz Subieta – Oprogramowania” -Kazimierz Subieta –

Wydawnictwo PJWSTK Wydawnictwo PJWSTK

„ „ Inżynieria oprogramowania” – Andrzej Inżynieria oprogramowania” – Andrzej Jaszkiewicz – Wydawnictwo Helion

Jaszkiewicz – Wydawnictwo Helion

http://cs.wwc.edu/~aabyan/435/Process http://cs.wwc.edu/~aabyan/435/Process .html

.html

http://searchcio.techtarget.com/searchC http://searchcio.techtarget.com/searchC IO/downloads/LifeCycleModelling.pdf

IO/downloads/LifeCycleModelling.pdf

Cytaty

Powiązane dokumenty

Stylistyka, cz. Komarnicki, Stylistyka polska wyjaśniona na przykładach i ćwiczeniach, Warszawa 1910; K. Wóycicki, Stylistyka i rytmika polska, Warszawa 1917. Podręczniki

Niektóre z tych prób opie- rają się na założeniach, że życie jest stale odnawiającym się, złożonym, interakcyjnym systemem, jaki powstał: jako samoorganizujące się cykle

Badania fenomenu religii prowadzone przez polskich filozofów określają religię jako „realną i dynamiczną relacją osobową człowieka do osobowego Absolutu, od którego

Dla tej części pierw szej trzeb a będzie zaprojektow ać nisko posadow ione, polowe, płaskie, pulpitow e i skośnie ustaw ione gabloty, n ie stanow iące silnych

„stawiam tezę” – udało mi się podkreślić, że niniejszy artykuł prezentuje nie dogma- ty, a moje poglądy na problem czytelności dokumentacji graficznej.. W każdym razie

– Inżynierowie oprogramowania pracują w sposób systematyczny i uporządkowany ponieważ jest to najskuteczniejszy sposób tworzenia oprogramowania wysokiej jakości..

Dla każdego dokumentu można ale nie trzeba podawać jego DTD; wte- dy proces zwany parsingiem bez walidacji weryfikuje pewne ogólne reguły budowy dokumentu sprowadzające się do

Taki sposób postępowania jest uprawniony jedynie wówczas, gdy założymy, że metoda, którą się posługujemy, poszukując prawdy, sama już jest prawdziwa, sama już