Transcript Slajdy cz 2
Część 2 OiZPI >Iteracyjny przyrostowy model cyklu życiowego Rational Unified Process™ w materiałach wykorzystano: K.Subieta: Budowa i integracja systemów informatycznych A.Kobieliński: Inżynieria Oprogramowania I.Sommerville: Software Engineering IBM Rational: RUP™ Organizacja i Zarządzanie Projektem Informatycznym Model iteracyjny przyrostowy © IBM-Rational Software Organizacja i Zarządzanie Projektem Informatycznym Model iteracyjny przyrostowy Organizacja i Zarządzanie Projektem Informatycznym Model iteracyjny przyrostowy Organizacja i Zarządzanie Projektem Informatycznym Porównanie z cyklem kaskadowym tradycyjny model kaskadowy model iteracyjny przyrostowy © IBM-Rational Software Organizacja i Zarządzanie Projektem Informatycznym Etapy i fazy cyklu Etapy (oś pionowa) są powtarzane w kolejnych iteracjach odzwierciedlają grupy czynności Fazy (oś pozioma) następują kolejno po sobie odzwierciedlają stan zaawansowania projektu © IBM-Rational Software Organizacja i Zarządzanie Projektem Informatycznym Etapy i fazy cyklu Fazy Inception (faza wstępna) Elaboration (faza opracowania) Contruction (faza budowy systemu) Transition (faza przekazania) © IBM-Rational Software Organizacja i Zarządzanie Projektem Informatycznym Faza wstępna (inception) Cele fazy wstępnej Ustalenie kontekstu projektu oraz granic systemu Wydzielenie podstawowych przypadków użycia (sytuacji, w których używany będzie system) Oszacowanie kosztu przedsięwzięcia oraz wstępnego harmonogramu realizacji* Analiza ryzyka* Przygotowanie środowiska projektu * - czynności strategiczne Organizacja i Zarządzanie Projektem Informatycznym Faza opracowania (elaboration) Cele fazy opracowania Zapewnienie wystarczającej stabilności wymagań, architektury oraz planu budowy Opracowanie zarysu architektury oraz zapewnienie, że będzie ona w stanie zrealizować ustalone wymagania Ostateczne zamknięcie prac nad przygotowaniem środowiska realizacji projektu Organizacja i Zarządzanie Projektem Informatycznym Faza budowy systemu (construction) Cele fazy budowy Minimalizacja kosztów implementacji Osiągnięcie określonej jakości Opracowanie testowych wersji systemu (Alpha, Beta, i innych) Ustalenie momentu przekazania systemu do użytku Organizacja i Zarządzanie Projektem Informatycznym Faza przekazania (transition) Cele fazy przekazania Przeprowadzenie testów beta Szkolenie użytkowników Wykonanie wszelkich czynności związanych z rozprowadzaniem oprogramowania Osiągnięcie samowystarczalności użytkowników Osiągnięcie porozumienia z udziałowcami, co do faktu wywiązania się z przyjętych zobowiązań Organizacja i Zarządzanie Projektem Informatycznym Etapy Etapy/Dyscypliny (pracy) Business Modeling (modelowanie procesów biznesowych) Requirements (etap formułowania wymagań) Analysis & Design (analiza i projektowanie) Implementation (implementacja) Test (testy) Deployment (rozpowszechnianie) Configuration & Change (zarządzanie zmianami i konfiguracją) Project Management (zarządzanie projektem) Environment (zarządzanie środowiskiem projektu) Organizacja i Zarządzanie Projektem Informatycznym Modelowanie procesów biznesowych Główne cele prac w ramach etapu Poznanie struktury i działania organizacji Upewnienie się, czy uczestnicy projektu (klienci, użytkownicy, projektanci) wiedzą co będzie przedmiotem projektu Wstępne ustalenie wymagań (w sensie wymagań organizacji) Organizacja i Zarządzanie Projektem Informatycznym Formułowanie wymagań Główne cele prac w ramach etapu Osiągnięcie porozumienia pomiędzy zamawiającym i innymi udziałowcami, odnośne tego, co system powinien robić Edukacja projektantów w zakresie wymagań Ustalenie granic systemu Dostarczenie materiału pozwalającego zaplanować projekt i oszacować jego koszty Organizacja i Zarządzanie Projektem Informatycznym Analiza i projektowanie Główne cele prac w ramach etapu Transformacja wymagań w projekt systemu Rozwinięcie architektury Dopasowanie projektu do środowiska implementacyjnego Organizacja i Zarządzanie Projektem Informatycznym Implementacja Główne cele prac w ramach etapu Określenie konfiguracji kodu i innych komponentów Implementacja i testowanie klas Integracja pracy poszczególnych osób tworzących kod źródłowy Organizacja i Zarządzanie Projektem Informatycznym Testy Główne cele prac w ramach etapu Weryfikacja interakcji pomiędzy obiektami Weryfikacja interakcji komponentów Sprawdzenie, czy zaimplementowano wszystkie funkcje wynikające z wymagań Organizacja i Zarządzanie Projektem Informatycznym Rozpowszechnianie Główne cele prac w ramach etapu Instalacja systemu (oprogramowania) Organizacja i Zarządzanie Projektem Informatycznym Czynności przekrojowe © IBM-Rational Software Organizacja i Zarządzanie Projektem Informatycznym Proces architekturocentryczny RUP™ jest procesem architekturocentrycznym Rola architektury Zrozumieć to co system robi Zrozumieć jak działa Móc pracować z fragmentem systemu Móc rozszerzać system Móc wykorzystać części systemu w innym projekcie Co to jest architektura: „Opis systemu, z którego nie można już nic usunąć, gdyż nie będzie możliwe jego zrozumienie i wyjaśnienie jego działania.” [P.Kruchten] Minimalna specyfikacja wystarczająca do zrozumienia systemu i wyjaśnienia zasad jego działania. Element projektu mający znaczenie dla architektury – element mający szeroki wpływ na strukturę systemu i na jego istotne cechy. Organizacja i Zarządzanie Projektem Informatycznym Proces bazujący na przypadkach użycia Przypadki użycia są bazą dla wszystkich czynności realizowanych w ramach procesu Przypadek użycia jest wyjściową jednostką dekompozycji Ścieżka metodyczna Przypadek użycia organizacji Obiektowy model organizacji Przypadek użycia Model projektowy, Model wdrożenia, Scenariusz testów class Class Model Przypadek uzycia organizacj i Przypadek użycia Realizuje Realizuje Testuje Implementuje Realizuje Obiektow y model organizacj i Model proj ektow y Automatyzuje Model implementacyj ny Scenariusz testów Organizacja i Zarządzanie Projektem Informatycznym Metodyka jako produkt Wersja komercyjna - Rational Suite (metodyka + narzędzia) Wersja otwarta metodyki – „Open UP” Interaktywna przeglądarka metodyki: http://epf.eclipse.org/wikis/openup/ Organizacja i Zarządzanie Projektem Informatycznym Diagramy przebiegu pracy (Workflows) Objaśnienie podstawowych pojęć Symbole Role uczestników projektu przewidziane w RUP™ Organizacja i Zarządzanie Projektem Informatycznym Pojęcia Rola – definicja zachowania i zakresu odpowiedzialności określonego uczestnika projektu lub grupy takich uczestników Czynność – część prac nad projektem do której wykonania zobowiązana jest określona rola Artefakt – część informacji jaka powstaje, jest modyfikowana lub wykorzystywana w określonym procesie (zespole ról i czynności) Organizacja i Zarządzanie Projektem Informatycznym Rola Rola jest abstrakcyjnym pojęciem definiującym pewien zbiór czynności i posiadanych artefaktów Rola jest przeważnie realizowana przez określonego uczestnika projektu lub grupę takich uczestników współpracujących w ramach zespołu Każdy członek zespołu najczęściej spełnia wiele różnych ról Rola nie wskazuje określonego uczestnika projektu, rola określa sposób zachowania się osoby występującej w tej roli Role określa się również dla osób spoza jednostki realizującej projekt Organizacja i Zarządzanie Projektem Informatycznym Czynności Każdej roli odpowiada pewien ściśle ustalony zbiór czynności Czynności te są związane z daną rolą Jedna czynność może być związana z większą liczbą ról, wówczas czynność ta jest realizowana wspólnie przez kilka osób występujących w różnych rolach Czynności są powiązane z artefaktami, które są przedmiotem tychże czynności Organizacja i Zarządzanie Projektem Informatycznym Artefakty Artefakty są ostatecznymi lub pośrednimi "owocami" pracy Artefakt może być: dokumentem – np. Dokument Wymagań, Dokument Wizji modelem – Model Procesów Biznesowych, Biznesowy Model Obiektowy elementem systemu – np. Klasa, Podsystem Organizacja i Zarządzanie Projektem Informatycznym Symbole graficzne (notacja) Symbole artefaktów różnego rodzaju Organizacja i Zarządzanie Projektem Informatycznym Diagramy podstawowe i szczegółowe Do ogólnego przedstawienia przebiegu pracy służą diagramy podstawowe (core workflows) Diagramy podstawowe zapisuje się w notacji diagramów czynności UML Na diagramach tych występują strzałki, bloki decyzyjne, elementy synchronizujące oraz symbole grupujące Z każdy symbolem grupującym związany jest jeden lub wiele diagramów szczegółowych Jeśli diagramów szczegółowych jest więcej, stosuje się hierarchię diagramów szczegółowych Organizacja i Zarządzanie Projektem Informatycznym Diagram podstawowy (notacja) Symbol grupujący (stan) Początek Blok decyzyjny Element synchronizujący Koniec Organizacja i Zarządzanie Projektem Informatycznym Diagram podstawowy i szczegółowy (przykład) Organizacja i Zarządzanie Projektem Informatycznym Role uczestników RUP™ W Rational Unified Process™ uczestnicy projektu występują następujące grupy ról: Analitycy Projektanci (developers) Testerzy Managerowie Inni W grupie analityków wyróżnia się takie role jak: Analityk procesów biznesowych Projektant biznesowy Weryfikator (reviewer) modelu biznesowego Weryfikator wymagań Analityk systemowy Specyfikator wymagań Projektant interfejsu Organizacja i Zarządzanie Projektem Informatycznym Role uczestników RUP™ W grupie projektantów występują takie role jak: Architekt oprogramowania Weryfikator architektury Weryfikator kodu Projektant baz danych Weryfikator projektów Projektant Implementator Integrator Do grupy testerów zalicza się następujące role: Projektant testów Tester W grupie managerów występują: Manager zmian Manager konfiguracji Manager wdrożenia Inżynier procesów Manager projektu Weryfikator projektu Organizacja i Zarządzanie Projektem Informatycznym Role uczestników RUP™ Oprócz tego wyróżnia się pewne dodatkowe role, takie jak: Użytkownik końcowy Grafik Udziałowiec Administrator systemu Specjalista do spraw narzędzi Organizacja i Zarządzanie Projektem Informatycznym