Cykl życia oprogramowania

Slides:



Advertisements
Podobne prezentacje
Modelowanie przypadków użycia
Advertisements

Projektowanie w cyklu życia oprogramowania
Studia Podyplomowe IT w Biznesie Inżynieria Oprogramowania
Studia Podyplomowe IT w Biznesie Inżynieria Oprogramowania
Złożoność procesu konstrukcji oprogramowania wymusza podział na etapy.
Analiza ryzyka projektu
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
Tomasz Pieciukiewicz Rafał Hryniów
Cykle życia oprogramowania
Jakość systemów informacyjnych (aspekt eksploatacyjny)
Quartz. Wstęp Framework stworzony do budowy aplikacji biznesowych Metodologia która łączy prototypowanie, modelowanie wizualne oraz automatyzację budowy.
Rational Unified Process
Podstawy Inżynierii Oprogramowania
Projektowanie i programowanie obiektowe II - Wykład IV
Projekt zaliczeniowy z przedmiotu "Inżynieria oprogramowania"
Projektowanie - wprowadzenie
Dalsze elementy metodologii projektowania. Naszym celem jest...
Analiza, projekt i częściowa implementacja systemu obsługi kina
Wykład 4 Analiza i projektowanie obiektowe
Wykład 5 UML - Unified Modeling Language
Wykład 2 Cykl życia systemu informacyjnego
C.d. wstępu do tematyki RUP
Model przestrzenny Diagramu Obiegu Dokumentów
Wykład 1 – część pierwsza
Microsoft Solution Framework
Zarządzanie jakością projektu
Podsumowanie metodologii OMT
Rational Unified Process Implementacja Aleksandra Reiman, gr. I-52.
Dr Karolina Muszyńska Na podst.:
Modelowanie obiektowe Diagramy UML – diagram przypadków użycia
Studia Podyplomowe IT w Biznesie Inżynieria Oprogramowania
TESTOWANIE OPROGRAMOWANIA
Propozycja projektu Andrzej Ziółkowski.
Unified Modeling Language - Zunifikowany Język Modelowania
Wprowadzenie do UML dr hab. inż. Kazimierz Subieta profesor PJWSTK.
UML W V ISUAL S TUDIO Mateusz Lamparski. UML D EFINICJA Unified Modeling Language (UML) to graficzny język do obrazowania, specyfikowania, tworzenia i.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Model obiektowy bazy danych
Komputerowe wspomaganie projektowania
Waterfall model.
Zarządzanie zagrożeniami
Ocena projektów inwestycyjnych
Inżynieria oprogramowania
Studium osiągalności. Rozmiar projektu (np. w punktach funkcyjny projektu w porównaniu do rozmiaru zakładanego zespołu projektowego i czasu Dostępność.
Proces tworzenia oprogramowania Proces tworzenia oprogramowania jest zbiorem czynności i związanych z nimi wyników, które prowadzą do powstania produktu.
Podstawy zarządzania projektami Karta projektu
Studium osiągalności.
ZINTEGROWANE SYSTEMY ZARZĄDZANIA
Eksploatacja zasobów informatycznych przedsiębiorstwa.
Wdrażanie SYSTEMU Jacek WĘGLARCZYK.
Projektowanie obiektowe. Przykład: Punktem wyjścia w obiektowym tworzeniu systemu informacyjnego jest zawsze pewien model biznesowy. Przykład: Diagram.
7/1/ Projektowanie Aplikacji Komputerowych Piotr Górczyński Cykl życia systemu.
Logical Framework Approach Metoda Macierzy Logicznej
Studia Podyplomowe IT w Biznesie Inżynieria Oprogramowania
Wykład 2 – Zintegrowane systemy informatyczne Michał Wilbrandt.
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, Zarządzanie ryzykiem w metodyce PRINCE2 Jerzy Nawrocki
Cykle życia oprogramowania oraz role w zespole projektowym Autor: Sebastian Szałachowski s4104.
Inżynieria systemów informacyjnych
Zarządzanie projektami informatycznymi
Inżynieria Oprogramowania Laboratorium
IV Konferencja Naukowo-Techniczna "Nowoczesne technologie w projektowaniu, budowie.
Budowa i integracja systemów informacyjnych
Wykład 1 – część pierwsza
Zapis prezentacji:

Cykl życia oprogramowania AUTORZY: Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski Plan Prezentacji Wstęp. Modele cyklu życia oprogramowania. Omówienie faz cyklu życia oprogramowania. Podsumowanie. 2019-01-18 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski Różne modele cykli Kaskadowy Realizacja kierowana dokumentami Prototypowanie Programowanie odkrywcze Spiralny Formalne transformacje 2019-01-18 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

Model Kaskadowy (Wodospadu, Liniowy) Określenie wymagań Analiza Projektowanie Implementacja Testowanie Konserwacja 2019-01-18 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

Realizacja kierowana dokumentami Każda faza kończy się opracowaniem szeregu dokumentów Zaleta: Przerwanie realizacji w dowolnym czasie i wznowienie jej przez inną firmę Wady: Ponad 50% więcej nakładu pracy na opracowanie dokumentów zgodnych ze standardem. Przerwy w realizacji przedsięwzięcia niezbędne dla weryfikacji dokumentów przez klienta 2019-01-18 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski Prototypowanie Ogólne określenie wymagań Budowa prototypu Weryfikacja prototypu przez klienta Pełne określenie wymagań Realizacja pełnego systemu zgodnie z modelem kaskadowym 2019-01-18 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski Prototypowanie c.d. Zalety: Wczesna demonstracja działającej wersji systemu Możliwość szkolenia przed wykonaniem systemu Wady: Dodatkowy koszt budowy prototypu Długi czas oczekiwania na całkowitą wersję programu w stosunku do oczekiwania na prototyp 2019-01-18 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

Programowanie odkrywcze Określenie ogólnego wymagania Budowa systemu Testowanie systemu Jesli niedziała to powrót do punktu 2 Dostarczenie systemu 2019-01-18 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

Programowanie odkrywcze c.d. Zaleta: Możliwość stosowania w wypadkach, kiedy trudno jest określić wymagania klienta Wady: Praktycznie niemożliwe zachowanie sensownej struktury Testowanie może odbywać się prawie wyłącznie przy bezpośrednim udziale klienta 2019-01-18 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

Realizacja przyrostowa Zalety: Skrócenie przerw w kontaktach z klientem Możliwość wczesnego wykorzystania przez klienta dostarczonych frgmentów systemu Opóźnienie realizacja fragmentu systemu nie wpływa na opóźnienie realizacji całego przedsięwzięcia Wada: Dodatkowy koszt związany z realizacją niezależnego fragmentu systemu 2019-01-18 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

Montaż z gotowych elementów (programowanie z półki) Zalety: Wysoka niezawodność Zmniejszenie ryzyka błedów Potencjalna redukcja kosztów Wady: Dodatkowy koszt przygotowania elementów do ponownego użycia Ryzyko uzależnienia się od dostawcy elementów Brak narzędzi wspomagających ten rodzaj pracy 2019-01-18 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski Model spiralny Analiza rezyka Konstrukcja (model kaskaowy) Atestowanie Planowanie 2019-01-18 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

Formalne transformacje Formalna specyfikacja wymagań Postać pośrednia... Kod 2019-01-18 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

Formalne transformacje c.d. Zaleta: Wysoka niezawodność tak stworzonego oprogramowania Wady: Trudność formalnego wyspecyfikowania wymagań Mała efektywność kodu uzyskanego w ten sposób Brak dobrze rozwiniętych, uniwersalnych języków formalnej specyfikacji wymagań 2019-01-18 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski Faza Strategiczna (1) Czynności Fazy Strategicznej Dokonanie serii rozmów (wywiadów) z przedstawicielami klienta Określenie celów przedsięwzięcia z punktu widzenia klienta Określenie zakresu oraz kontekstu przedsięwzięcia Ogólne określenie wymagań, wykonanie zgrubnej analizy i projektu systemu Propozycja kilku możliwych rozwiązań (sposobów realizacji systemu) Oszacowanie kosztów oprogramowania Analiza rozwiązań Prezentacja wyników fazy strategicznej przedstawicielom klienta oraz korekta wyników Określenie wstępnego harmonogramu przedsięwzięcia oraz struktury zespołu realizatorów Określenie standardów, zgodnie z którymi realizowane będzie przedsięwzięcie 2019-01-18 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski Faza Strategiczna Wyodrębnienie w procesie projektowania klienta, użytkownika i wykonawcę. Określenie celów z punktu widzenia klienta. Określenie ograniczeń klienta. Zakres przedsięwzięcia: określenie fragmentu procesów informacyjnych zachodzących w organizacji, które będą objęte przedsięwzięciem. Na tym etapie może nie być jasne, które funkcje będą wykonywane przez oprogramowanie, a które przez personel, inne systemy lub standardowe wyposażenie sprzętu. Kontekst przedsięwzięcia: systemy, organizacje, użytkownicy zewnętrzni, z którymi tworzony system ma współpracować. Decyzje Strategiczne i ograniczenia 2019-01-18 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski Faza Strategiczna (3) Studium i ocena problemu Wybór narzędzi modelowania i prognozowania. Problem może się nie kalkulować (np. finansowo). Określanie możliwych terminów. Ocena Ryzyka 2019-01-18 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski Faza Strategiczna (4) Na koszt oprogramowania składa się: koszt sprzętu będącego częścią tworzonego systemu koszt wyjazdów i szkoleń koszt zakupu narzędzi nakład pracy 2019-01-18 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski Faza Analizy Rezultaty Fazy Strategicznej Dokument będący podstawą dalszych prac i rozmów. definicję celów przedsięwzięcia opis zakresu przedsięwzięcia opis systemów zewnętrznych, z którymi system będzie współpracować ogólny opis wymagań ogólny model systemu opis proponowanego rozwiązania oszacowanie kosztów wstępny harmonogram prac Raport oceny rozwiązań, zawierający informację o rozważanych rozwiązaniach oraz przyczynach wyboru jednego z nich. Opis wymaganych zasobów - pracownicy, oprogramowanie, sprzęt, lokale, ... Definicje standardów. Harmonogram fazy analizy 2019-01-18 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski Faza Analizy (1) Celem fazy analizy jest ustalenie wymagań klienta wobec tworzonego systemu. Dokonywana jest zamiana celów klienta na konkretne wymagania zapewniające osiągnięcie tych celów. Klient rzadko wie, jakie wymagania zapewnią osiągniecie jego celów. 2019-01-18 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski Faza Analizy (2) Wywiady i przeglądy. Studia na istniejącym oprogramowaniem.. Studia wymagań systemowych. Studia osiągalności.. Prototypowanie. 2019-01-18 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski Faza Analizy (3) Dostępne źródła informacji Wywiady i przeglądy. Studia na istniejącym oprogramowaniem.. Studia wymagań systemowych. Studia osiągalności.. Prototypowanie. 2019-01-18 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski Faza Analizy (4) Dostępne narzędzia analizy Język naturalny Formalizm matematyczny. Język naturalny strukturalny Tablice, formularze. Diagramy blokowe Diagramy kontekstowe Diagramy przypadków użycia 2019-01-18 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski Faza Analizy (5) Wymaganie Funkcjonalne Określenie użytkowników systemu. Określenie dostępnych funkcji dla użytkowników. Określenie środowiska zewnętrznego dla systemu. Wymagania Niefunkcjonalne Wymagania dotyczące produktu. (ograniczenia dla programu) Wymagania dotyczące procesu. (np. standardy) Wymagania zewnętrzne. (środowiskowe np. zew. Baza danych) 2019-01-18 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski Faza Analizy (6) Kluczowe Czynniki Sukcesu Zaangażowanie właściwych osób ze strony klienta Pełne rozpoznanie wymagań, wykrycie przypadków i dziedzin szczególnych i nietypowych. Błąd popełniany w tej fazie polega na koncentrowaniu się na sytuacjach typowych. Sprawdzenie kompletności i spójności wymagań. Przed przystąpieniem do dalszych prac, wymagania powinny być przejrzane pod kątem ich kompletności i spójności. Określenie wymagań niefunkcjonalnych w sposób umożliwiający ich weryfikację 2019-01-18 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski Faza Projektowania (1) Wynikiem jest logiczny model systemu, opisujący sposób realizacji przez system postawionych wymagań, lecz abstrahujących od szczegółów implementacyjnych. W odróżnieniu, celem fazy projektowania jest udzielenie odpowiedzi na pytanie: Jak system ma być zaimplementowany? Wynikiem jest opis sposobu implementacji. 2019-01-18 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski Faza Projektowania (2) Tematy i techniki Analizy Budowa statycznego modelu klas Analiza funkcji i przypadków użycia Weryfikacja klas i obiektów Identyfikacja i definiowanie metod oraz komunikatów Modelowanie stanów i przejść między stanami Modelowanie procesów i przepływów danych Modelowanie przepływu sterowania Inne 2019-01-18 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski 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. 2019-01-18 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski 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 2019-01-18 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski 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 2019-01-18 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski 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 2019-01-18 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski 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. 2019-01-18 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski 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) Bug Tracking 2019-01-18 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski Bibliografia „Wprowadzeni do Inżynierii Oprogramowania” -Kazimierz Subieta – Wydawnictwo PJWSTK „Inżynieria oprogramowania” – Andrzej Jaszkiewicz – Wydawnictwo Helion http://cs.wwc.edu/~aabyan/435/Process.html http://searchcio.techtarget.com/searchCIO/downloads/LifeCycleModelling.pdf 2019-01-18 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski