Etapy życia oprogramowania

Podobne dokumenty
Etapy życia oprogramowania. Modele cyklu życia projektu. Etapy życia oprogramowania. Etapy życia oprogramowania

MODELE CYKLU ŻYCIA OPROGRAMOWANIA (1) Model kaskadowy (często stosowany w praktyce do projektów o niewielkiej złożonoś

Cykle życia systemu informatycznego

Przedsięwzięcia Informatyczne w Zarządzaniu

In ż ynieria oprogramowania wykład II Modele i fazy cyklu życia oprogramowania

Procesy wytwarzania oprogramowania Specyfikacja i projektowanie oprogramowania

Błędy procesu tworzenia oprogramowania (Badania firmy Rational Software Corporation)

Programowanie zespołowe

Inżynieria oprogramowania (Software Engineering)

MODELE CYKLU śycia OPROGRAMOWANIA

Co to jest jest oprogramowanie? 8. Co to jest inżynieria oprogramowania? 9. Jaka jest różnica pomiędzy inżynierią oprogramowania a informatyką?

Zakład Języków Programowania Instytut Informatyki Uniwersytet Wrocławski

RUP. Rational Unified Process

Opis metodyki i procesu produkcji oprogramowania

Zasady organizacji projektów informatycznych

Wstęp do zarządzania projektami

ZASADY TWORZENIA OPROGRAMOWANIA

Zakres wykładu. Podstawy InŜynierii Oprogramowania

Wytwórstwo oprogramowania. michał możdżonek

Ogólne określenie wymagań. Ogólny projekt. Budowa systemu. Ocena systemu. Nie. Tak. System poprawny. Wdrożenie. Określenie.

Jakość w procesie wytwarzania oprogramowania

In ż ynieria oprogramowania wykład II Modele i fazy cyklu życia oprogramowania

Waterfall model. (iteracyjny model kaskadowy) Marcin Wilk

SVN. 10 października Instalacja. Wchodzimy na stronę i pobieramy aplikację. Rysunek 1: Instalacja - krok 1

WPROWADZENIE DO UML-a

Wstęp do zarządzania projektami

KOMPUTEROWE WSPOMAGANIE ZARZĄDZANIA

Projektowanie systemów informatycznych. wykład 6

Zarządzanie i realizacja projektów systemu Microsoft SharePoint 2010

MSF. Microsoft Solution Framework

Projektowanie systemów informatycznych. Roman Simiński programowanie.siminskionline.pl. Cykl życia systemu informatycznego

Wstęp do zarządzania projektami

Agile Project Management

Cele oraz techniki tworzenia prototypów systemów infromatycznych. Inżynieria Oprogramowania

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Faza Określania Wymagań

Inżynieria oprogramowania I

ŚCIEŻKA KRYTYCZNA. W ścieżkach krytycznych kolejne zadanie nie może się rozpocząć, dopóki poprzednie się nie zakończy.

Metody wytwarzania oprogramowania. Metody wytwarzania oprogramowania 1/31

Inżynieria Oprogramowania. Inżynieria Oprogramowania 1/36

Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1

IO - inżynieria oprogramowania. dr inż. M. Żabińska, zabinska@agh.edu.pl

"Projektowanie - wdrożenie - integracja - uruchomienie, czyli jak skutecznie zrealizować projekt inwestycyjny".

Rozpoczęcie, inicjacja (ang. inception

Jarosław Kuchta Dokumentacja i Jakość Oprogramowania. Wymagania jakości w Agile Programming

Wstęp. Inżynieria wymagań. Plan wykładu. Wstęp. Wstęp. Wstęp. Schemat procesu pozyskiwania wymagań

Wykład 1 Inżynieria Oprogramowania

Podstawy programowania III WYKŁAD 4

Usługa: Audyt kodu źródłowego

Testujemy dedykowanymi zasobami (ang. agile testers)

SYSTEMY INFORMATYCZNE ćwiczenia praktyczne

Wprowadzenie do metodologii modelowania systemów informacyjnych. Strategia (1) Strategia (2) Etapy Ŝycia systemu informacyjnego

Harmonogramowanie projektów Wprowadzenie

Plan wykonania systemu ISOiWUT

Wytwarzanie oprogramowania

Systemy zabezpieczeń

Inżynieria oprogramowania

AL 1302 ZARZĄDZANIE PROJEKTAMI W OPARCIU O METODYKĘ PRINCE2

Egzamin / zaliczenie na ocenę*

Bezpieczeństwo aplikacji i urządzeń mobilnych w kontekście wymagań normy ISO/IEC oraz BS doświadczenia audytora

Zarządzanie projektami. Porównanie podstawowych metodyk

IO - Plan wdrożenia. M.Jałmużna T.Jurkiewicz P.Kasprzyk M.Robak. 5 czerwca 2006

Modelowanie i analiza systemów informatycznych

Czynności konsultantów podczas wdrożenia systemu ERP w kontekście zarządzania wiedzą. Przemysław Lech, Wydział Zarządzania UG

Testowanie i walidacja oprogramowania

Overlord - Software Development Plan

1. Planowanie strategiczne. 4. Monitorowanie i ewaluacja. 3. Wdrażanie polityk. 2. Tworzenie polityk. Odniesienie do procesu

Testowanie oprogramowania

Metodyki programowania. Tomasz Kaszuba 2015

Narzędzia informatyczne wspierające przedsięwzięcia e-commerce

Testy poziom po poziomie

Techniki komputerowe w robotyce

Feature Driven Development

Szczegółowy plan szkolenia

Zarządzanie kosztami projektu

PROJEKTOWANIE. kodowanie implementacja. PROJEKT most pomiędzy specyfikowaniem a kodowaniem

Metodyka projektowania komputerowych systemów sterowania

Piotr Krząkała. Dyrektor Handlowy ds. Kluczowych Klientów

Laboratorium 5 - Projektowanie programów zorientowanych obiektowo. Indywidualny projekt programistyczny

Zarządzanie projektami. Wykład 2 Zarządzanie projektem

Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki Promotor dr inż. Paweł Figat

Wprowadzenie, podstawowe pojęcia, projekt a produkt Wykład1

Zarządzanie projektem prawnym w praktyce

INŻYNIERIA OPROGRAMOWANIA Wykład 6 Organizacja pracy w dziale wytwarzania oprogramowania - przykład studialny

Wprowadzenie do systemów informacyjnych

REQB POZIOM PODSTAWOWY PRZYKŁADOWY EGZAMIN

Metodyka Sure Step. Agenda:

Zarządzanie procesami pomocniczymi w przedsiębiorstwie

PRZEWODNIK PO PRZEDMIOCIE

PYTANIA PRÓBNE DO EGZAMINU NA CERTYFIKAT ZAAWANSOWANY REQB KLUCZ ODPOWIEDZI. Część DODATEK

Dwuwymiarowy sposób na podróbki > 34

Szkolenie Podstawy Zarządzania Projektami Informator

Zasadnicze czynności w zarządzaniu projektem, fazy cyklu życia systemu informatycznego. Modele cyklu życia - część 1

Zarządzanie Projektami Wprowadzenie

Tworzenie oprogramowania nie jest sprawą

Główne składowe przedsiębiorstwa: procesy,technologia, ludzie, organizacja.

2.11. Monitorowanie i przegląd ryzyka Kluczowe role w procesie zarządzania ryzykiem

Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne

Spis treści Wstęp 1. Wprowadzenie 2. Zarządzanie ryzykiem systemów informacyjnych

6 kroków, jak dobrze przygotować się do wdrożenia systemu ERP?

Transkrypt:

Modele cyklu życia projektu informatycznego Organizacja i Zarządzanie Projektem Informatycznym Jarosław Francik marzec 23 w prezentacji wykorzystano również materiały przygotowane przez Michała Kolano Etapy życia oprogramowania Faza strategiczna (cele i definicja projektu) ustalenie celów i definicji projektu; cele biznesowe Definiowanie wymagań zrozumienie celów klienta i ich zamiana na formalną specyfikację tego, co i przy jakich założeniach system ma robić Analiza zrozumienie dziedziny problemu, zakresu obowiązków systemu ustalenie celów systemu, specyfikacja problemu w jaki sposób system ma działać, by spełnić wymagania Implementacja tworzenie systemu (narzędzia, gotowe komponenty) Etapy życia oprogramowania Testowanie weryfikacja zgodności ze specyfikacją, poprawienie błędów Dokumentacja przygotowanie materiałów dla członków zespołu projektowego oraz użytkowników Instalacja uruchomienie systemu u klienta Wdrożenie przygotowanie użytkowników, akceptacja, szkolenie Pielęgnacja utrzymanie, konserwacja w trakcie użytkowania systemu 1

Etapy życia oprogramowania Określenie wymagań Implementacja Testowanie Pielęgnacja Faza strategiczna Analiza Instalacja Dokumentacja Modele cyklu życia projektu separacja faz specyfikacji i implementacji Model ewolucyjny przeplatanie się faz specyfikacji i implementacji Model spiralny elementy modelu kaskadowego i ewolucyjnego Różne odmiany i modyfikacje Modele nietypowe 2

Określenie Określenie Analiza Analiza Implementacja Implementacja Testowanie Testowanie Konserwacja Konserwacja Określenie Określenie Analiza Analiza PROTOTYP PROTOTYP z prototypowaniem prototypowanie: zalety: Implementacja wczesna Implementacja demonstracja możliwości systemu wstępne wymagania wstępne szkolenia weryfikacja prototypu pełna specyfikacja wymagań wady: Testowanie Testowanie cel: koszty przygotowania prototypu zagrożenie Konserwacja przetrzymywaniem prototypu Konserwacja wykrycie Institute błędów of Informatics, w specyfikacji Silesian University of wymagań Technology, Gliwice, Poland Określenie Określenie Analiza Analiza z iteracjami Implementacja Implementacja Testowanie Testowanie Konserwacja Konserwacja 3

Zalety modelu kaskadowego: Łatwość harmonogramowania i budżetowania Formalny odbiór poszczególnych etapów (kamienie milowe, milestones): monitorowanie postępu prac Rozliczenia finansowe z klientem Możliwość realizacji sterowanej dokumentami Wady modelu kaskadowego: narzucona ścisła kolejność faz wysoki koszt błędów ze wczesnych faz problemy ze wprowadzaniem zmian długa przerwa w kontaktach z klientem stąd modyfikacje tego modelu : Ułatwia zarządzanie projektem Utrudnia wprowadzanie zmian Zwiększa koszty błędów często pożądany przez kierownictwo część odpowiedzialności spychana jest na zespół projektowy 4

Model ewolucyjny Model ewolucyjny Specyfikacja Specyfikacja Wersja Wersja początkowa początkowa Zarys Zarys systemu systemu Rozwój Rozwój systemu systemu Wersje pośrednie Weryfikacja Weryfikacja Wersja Wersja końcowa końcowa czynności przebiegające równolegle Model ewolucyjny Model ewolucyjny Zalety: Model ewolucyjny dobry dla małych projektów, szybki start projektu tolerancja dla słabo zdefiniowanych wymagań niski koszt błędów (krótki czas życia błędów) Wady: trudność z harmonogramowaniem koszty prototypowania, błądzenia systemy często o złej strukturze 5

Model ewolucyjny Model ewolucyjny: Utrudnia zarządzanie projektem Wprowadzanie zmian immanentną cechą tego modelu Zwiększa ryzyko błędów, ale zmniejsza ich koszty rzadko preferowany przez kierownictwo często kształtuje się tam, gdzie brakuje dobrego zarządzania charakterystyczny dla projektów jednoosobowych Modele porównanie zarządzanie elastyczność ryzyko błędów koszty błędów model kaskadowy model ewolucyjny model iteracyjny Model iteracyjny (spiralny) podobny do iteracyjnego modelu kaskadowego nacisk na wielokrotne prototypowanie powtarzanie modelu kaskadowego każdy cykl kończy się stworzeniem prototypu, jego weryfikacją i wyciągnięciem wniosków mocny punkt: zarządzanie ryzykiem 6

Model iteracyjny Model iteracyjny Analiza (planowanie) Testowanie (ocena) Konstrukcja (prototypowanie) Model spiralny Boehma Przegląd ustalanie celów i alternatywnych dróg Przegląd Przegląd Analiza ryzyka Analiza ryzyka Identyfikacja i analiza ryzyka prototypy Przegląd Przegląd Prototyp Analiza ryzyka Prototyp 3 operacyjny Prototyp 2 Analiza ryzyka Proto typ 1 Symulacja, modele, testy wydajności Plan cyklu życia i Koncepcja akwizycji wymagań działania Wymagani a Projekt Projekt Walidacja produktu szczegółowy Planowanie tworzenia wymagań Kod (rozwijania) Walidacja Test jednostek Planowanie scalania i produktu testowania Test Test scalania akceptacyjny Obsługa Planowanie następnej fazy Konstrukcja Atestowanie 7

Zalety modelu iteracyjnego: Model iteracyjny harmonogramowanie i budżetowanie dość łatwe, choć utrudnione ze względu na liczbę iteracji możliwość wyznaczenia kamieni milowych, choć nie tak oczywistych jak w modelu kaskadowym elastyczność, łatwość wprowadzania zmian wczesne wykrywanie błędów zarządzanie ryzykiem Wady modelu iteracyjnego: Model iteracyjny nie tak łatwe, jak w modelu kaskadowym, zarządzanie narzucone przez klienta wymogi dot. harmonogramu mogą utrudniać skorzystanie z tego modelu Model iteracyjny Model iteracyjny: Zarządzanie projektem lekko utrudnione Wprowadzanie zmian immanentną cechą tego modelu Pozwala na wczesne wykrywanie błędów dobry kompromis pomiędzy modelem kaskadowym i ewolucyjnym, dodatkowo pozbawiony wad tego ostatniego często uważany za najdoskonalszy wytwór inżynierii oprogramowania w tej dziedzinie 8

Modele porównanie zarządzanie elastyczność ryzyko błędów koszty błędów model kaskadowy model ewolucyjny model iteracyjny Programowanie odkrywcze Inne modele próbuj OK? nie tak koniec Inne modele Transformacje formalne Formalna Formalna specyfikacja specyfikacja Postać Postać pośrednia pośrednia dowód poprawności Postać Postać pośrednia pośrednia dowód poprawności dowód poprawności Postać Postać pośrednia pośrednia System System (kod) (kod) 9

Inne modele Montaż z gotowych elementów Specyfikacja Specyfikacja Analiza Analiza komponentów komponentów Modyfikacja Modyfikacja Projekt Projekt w oparciu oparciu o o komponenty komponenty Weryfikacja Weryfikacja systemu systemu Określenie Określenie Ogólny Ogólny projekt projekt Inne modele Realizacja przyrostowa Wybór Wybór podzbioru podzbioru funkcji funkcji Szczegółowy Szczegółowy projekt, projekt, implementacja implementacja testy testy Dostarczenie Dostarczenie zrealizowanej zrealizowanej części części systemu systemu 1

Zasada 1:1 Wyniki badań wg Pressmana Faza projektowania Propagacja błędów Przed rozpoczęciem ciem testowania W trakcie testowania Po przekazaniu do eksploatacji Koszt 1 6,5 15 67 Propagacja błędów błędy z poprzednich etapów Defekty Błędy przepuszczone Błędy wzmacniane Nowe błędy Wykrywanie % skuteczności wykrywania błędów błędy przekazane do następnego etapu Propagacja błędów 1 % projektowanie wstępne 1 7% projektowanie wstępne 1 3 z testami kończącymi fazy 6 6 % 25 projektowanie szczegółowe 4*1,5 2 1,5 5% 25 projektowanie szczegółowe 1*1,5 37 15 1 81 2% 25 test kodu/ jednostek 27*3 5 3 6% 25 test kodu/ jednostek 1*3 94 24 94 5% test scalania 24 5% test scalania 47 12 47 5% test walidacyjny 12 bez testów kończących fazy 5% test walidacyjny 24 6 24 5% test systemowy 6 5% test systemowy 12 3 11

Zamiast podsumowania Model projektu RUP RUP Rational Unified Process Rational Software 12