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

Podobne dokumenty
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

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

Przedsięwzięcia Informatyczne w Zarządzaniu

Procesy wytwarzania oprogramowania Specyfikacja i projektowanie oprogramowania

Programowanie zespołowe

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

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

Zakres wykładu. Podstawy InŜynierii Oprogramowania

Wstęp do zarządzania projektami

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.

ZASADY TWORZENIA 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

Wstęp do zarządzania projektami

WPROWADZENIE DO UML-a

KOMPUTEROWE WSPOMAGANIE ZARZĄDZANIA

Jakość w procesie wytwarzania oprogramowania

MSF. Microsoft Solution Framework

Projektowanie systemów informatycznych. wykład 6

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

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

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

Wstęp do zarządzania projektami

Wykład 1 Inżynieria Oprogramowania

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

Agile Project Management

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

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

Rozpoczęcie, inicjacja (ang. inception

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

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

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

Metody wytwarzania oprogramowania. Metody wytwarzania oprogramowania 1/31

Podstawy programowania III WYKŁAD 4

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

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

Harmonogramowanie projektów Wprowadzenie

SYSTEMY INFORMATYCZNE ćwiczenia praktyczne

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

Plan wykonania systemu ISOiWUT

Wytwarzanie oprogramowania

Testujemy dedykowanymi zasobami (ang. agile testers)

Inżynieria oprogramowania

Systemy zabezpieczeń

Egzamin / zaliczenie na ocenę*

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

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

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

Testowanie oprogramowania

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

Metodyki programowania. Tomasz Kaszuba 2015

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

Zarządzanie projektami. Porównanie podstawowych metodyk

Testy poziom po poziomie

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

Techniki komputerowe w robotyce

Dwuwymiarowy sposób na podróbki > 34

Overlord - Software Development Plan

Zarządzanie kosztami projektu

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

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

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

Metodyka projektowania komputerowych systemów sterowania

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

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

Zarządzanie procesami pomocniczymi w przedsiębiorstwie

Wprowadzenie do systemów informacyjnych

Metodyka Sure Step. Agenda:

REQB POZIOM PODSTAWOWY PRZYKŁADOWY EGZAMIN

PRZEWODNIK PO PRZEDMIOCIE

Feature Driven Development

Zarządzanie Projektami Wprowadzenie

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

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

Luki w bezpieczeństwie aplikacji istotnym zagrożeniem dla infrastruktury krytycznej

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

Inżynieria oprogramowania II

Wprowadzenie w tematykę zarządzania przedsięwzięciami/projektami. dr inż. Agata Klaus-Rosińska

Budowa systemu zarządzania jakością oraz metodologia weryfikacji wymagań IRIS w obszarze Projektowania i Rozwoju. w teorii i praktyce

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

Zarządzanie projektem prawnym w praktyce

Narzędzia CASE dla.net. Łukasz Popiel

INKS105 ( INK9117 ) Podstawy inżynierii oprogramowania

Dlaczego testowanie jest ważne?

Transkrypt:

Etapy życia oprogramowania Modele cyklu życia projektu informatycznego Organizacja i Zarządzanie Projektem Informatycznym Jarosław Francik marzec 23 Określenie wymagań Testowanie Pielęgnacja Faza strategiczna Instalacja Dokumentacja 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ć 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 tworzenie systemu (narzędzia, gotowe komponenty) Modele cyklu życia projektu separacja faz specyfikacji i implementacji przeplatanie się faz specyfikacji i implementacji Model spiralny elementy u kaskadowego i ewolucyjnego Różne odmiany i modyfikacje Modele nietypowe 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

Określenie Określenie Zalety u 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 Testowanie Testowanie Określenie Określenie prototypowanie: PROTOTYP PROTOTYP zalety: z prototypowaniem wczesna 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 przetrzymywaniem prototypu wykrycie Institute błędów of Informatics, w specyfikacji Silesian University of wymagań Technology, Gliwice, Poland Wady u 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 u Określenie Określenie z iteracjami : Ułatwia zarządzanie projektem Utrudnia wprowadzanie zmian Zwiększa koszty błędów Testowanie Testowanie często pożądany przez kierownictwo część odpowiedzialności spychana jest na zespół projektowy 2

Wersja Wersja początkowa początkowa : Utrudnia zarządzanie projektem Wprowadzanie zmian immanentną cechą tego u Zwiększa ryzyko błędów, ale zmniejsza ich koszty Zarys Zarys Rozwój Rozwój Wersje pośrednie rzadko preferowany przez kierownictwo Weryfikacja Weryfikacja czynności przebiegające równolegle Wersja Wersja końcowa końcowa 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 kaskadowy ewolucyjny iteracyjny Zalety: 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 (spiralny) podobny do iteracyjnego u kaskadowego nacisk na wielokrotne prototypowanie powtarzanie u kaskadowego każdy cykl kończy się stworzeniem prototypu, jego weryfikacją i wyciągnięciem wniosków mocny punkt: zarządzanie ryzykiem 3

Zalety u iteracyjnego: 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 u kaskadowym elastyczność, łatwość wprowadzania zmian wczesne wykrywanie błędów zarządzanie ryzykiem (planowanie) Wady u iteracyjnego: nie tak łatwe, jak w u kaskadowym, zarządzanie narzucone przez klienta wymogi dot. harmonogramu mogą utrudniać skorzystanie z tego u Testowanie (ocena) Konstrukcja (prototypowanie) Model spiralny Boehma ustalanie celów i alternatywnych dróg ryzyka ryzyka Prototyp ryzyka Prototyp 3 operacyjny Prototyp 2 Identyfikacja i analiza ryzyka ryzyka Proto typ 1 Symulacja, e, y 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 owania Test Test scalania akceptacyjny Obsługa Planowanie następnej fazy prototypy Konstrukcja Aowanie : Zarządzanie projektem lekko utrudnione Wprowadzanie zmian immanentną cechą tego u Pozwala na wczesne wykrywanie błędów dobry kompromis pomiędzy em kaskadowym i ewolucyjnym, dodatkowo pozbawiony wad tego ostatniego często uważany za najdoskonalszy wytwór inżynierii oprogramowania w tej dziedzinie 4

Modele porównanie Inne e zarządzanie elastyczność ryzyko błędów koszty błędów kaskadowy ewolucyjny iteracyjny Montaż z gotowych elementów komponentów komponentów Modyfikacja Modyfikacja Projekt Projekt w oparciu oparciu o o komponenty komponenty Weryfikacja Weryfikacja Inne e Inne e Programowanie odkrywcze Określenie Określenie Realizacja przyrostowa próbuj Ogólny Ogólny projekt projekt OK? koniec tak nie Wybór Wybór podzbioru podzbioru funkcji funkcji Szczegółowy Szczegółowy projekt, projekt, implementacja implementacja y y Dostarczenie Dostarczenie zrealizowanej zrealizowanej części części Inne e 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) 5

Propagacja błędów Zasada 1:1 Wyniki badań wg Pressmana Faza projektowania Przed rozpoczęciem ciem owania W trakcie owania Po przekazaniu do eksploatacji Koszt 1,5 15 7 Zamiast podsumowania Propagacja błędów Model projektu RUP RUP Rational Unified Process 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 Rational Software Propagacja błędów 1 % wstępne 1 7% wstępne 1 3 z ami kończącymi fazy % szczegółowe 4*1,5 2 1,5 5% szczegółowe 1*1,5 37 15 1 81 2% kodu/ jednostek 27*3 5 3 % kodu/ jednostek 1*3 94 94 5% scalania 5% scalania 47 12 47 5% walidacyjny 12 bez ów kończących fazy 5% walidacyjny 5% systemowy 5% systemowy 12 3