1 / 47 WARSZAWA 2005 Przemysław Siekierko Stanisław Andraszek Rational Unified Process.

Slides:



Advertisements
Podobne prezentacje
Modelowanie przypadków użycia
Advertisements

Projektowanie w cyklu życia oprogramowania
Złożoność procesu konstrukcji oprogramowania wymusza podział na etapy.
Część 2 OiZPI Iteracyjny przyrostowy model cyklu życiowego Rational Unified Process™ w materiałach wykorzystano: K.Subieta: Budowa i integracja systemów.
Formalizacja i uwiarygodnianie Iteracyjny proces syntezy modeli
Czy warto wdrażać ISO w Banku Spółdzielczym
Rational Unified Process www-306.ibm.com/software/rational/
Projektowanie Aplikacji Komputerowych
Propozycja metodyki nauczania inżynierii oprogramowania
Cykle życia oprogramowania
Wymagania jakości w Agile Programming
Jakość systemów informacyjnych (aspekt eksploatacyjny)
Rational Unified Process
7. Platformy informatyczne przyszłości (wizja SAP)
Proces tworzenia oprogramowania
Projekt zaliczeniowy z przedmiotu "Inżynieria oprogramowania"
Dalsze elementy metodologii projektowania. Naszym celem jest...
Analiza, projekt i częściowa implementacja systemu obsługi kina
Projekt i implementacja aplikacji wspomagającej testowanie oprogramowania, zgodne z metodologią Unified Software Development Process (RUP). Włodzimierz.
Wykład 4 Analiza i projektowanie obiektowe
Wykład 2 Cykl życia systemu informacyjnego
Psychologiczne aspekty pracy testera oprogramowania
Projekt i implementacja aplikacji wspomagającej testowanie
Projekt i implementacja aplikacji wspomagającej testowanie
C.d. wstępu do tematyki RUP
Strategiczne potrzeby ZUS
Kontrola spójności modeli UML za pomocą modelu przestrzennego DOD
Model przestrzenny Diagramu Obiegu Dokumentów
Wykład 1 – część pierwsza
Kompleksowe zarządzanie jakością informacji (TIQM)
Microsoft Solution Framework
Zarządzanie jakością projektu
Metodyki zarządzania projektami
Rational Unified Process Implementacja Aleksandra Reiman, gr. I-52.
Dr Karolina Muszyńska Na podst.:
Proces tworzenia oprogramowania
UML W V ISUAL S TUDIO Mateusz Lamparski. UML D EFINICJA Unified Modeling Language (UML) to graficzny język do obrazowania, specyfikowania, tworzenia i.
Service Oriented Architecture
Systemy informatyczne
Upowszechnianie produktu projektu MJUP. Ramowy harmonogram 2011 Zadanie 5 - Zarządzanie projektem Zadanie 4 - Upowszechnianie produktu Zadanie 3 - Opracowanie.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Komputerowe wspomaganie projektowania
Waterfall model.
Metodologia CASE. Przyczyny użycia narzędzi CASE Główną przesłanką użycia narzędzi CASE jest zwiększenie produktywności i jakości produkowanych systemów.
Zarządzanie zagrożeniami
SYSTEM FUNKCJI, PROCESÓW I PRZEDSIĘWZIĘĆ W ORGANIZACJI.
ŁUKASZ DZWONKOWSKI Modele zwinne i ekstremalne. Podejście tradycyjne
Proces tworzenia oprogramowania Proces tworzenia oprogramowania jest zbiorem czynności i związanych z nimi wyników, które prowadzą do powstania produktu.
Michał Sipek Piotr Kapciak
Systemy kontroli wersji
Copyright © Jerzy R. Nawrocki Team Software Process Inżynieria oprogramowania II Wykład.
1 1 / 15 Techniki lokalizacji oprogramowania – wykład 7 Wykład 7: Testowanie projektów lokalizacyjnych dr inż. Agenor Hofmann-Delbor.
KOMPANIA WĘGLOWA S.A..
Ergonomia procesów informacyjnych
7/1/ Projektowanie Aplikacji Komputerowych Piotr Górczyński Cykl życia systemu.
Moduł e-Kontroli Grzegorz Dziurla.
Zintegrowany monitoring infrastruktury IT w Budimex
E. Stemposz. Rational Unified Process, Wykład 10, Slajd 1 wrzesień 2002 Powrót Studia Podyplomowe IT w Biznesie Rational Unified Process Wykład 10 Przepływ.
E. Stemposz. Rational Unified Process, Wykład 11, Slajd 1 wrzesień 2002 Powrót Studia Podyplomowe IT w Biznesie Rational Unified Process Wykład 11 Typowe.
E. Stemposz. Rational Unified Process, Wykład 2, Slajd 1 Studia Podyplomowe IT w Biznesie Rational Unified Process Wykład 2 Krótka charakterystyka RUP.
Agile Programming a jakość
Inżynieria systemów informacyjnych
Zarządzanie projektami informatycznymi
Inżynieria Oprogramowania Laboratorium
IV Konferencja Naukowo-Techniczna "Nowoczesne technologie w projektowaniu, budowie.
Wykład 1 – część pierwsza
IEEE SPMP Autor : Tomasz Czwarno
Cykl życia oprogramowania
Zapis prezentacji:

1 / 47 WARSZAWA 2005 Przemysław Siekierko Stanisław Andraszek Rational Unified Process

Plan prezentacji Czym jest RUP? Czym jest RUP? RUP jako metodyka RUP jako metodyka RUP jako proces RUP jako proces Fazy Fazy Dyscypliny Dyscypliny Narzędzia RUP Narzędzia RUP

Czym jest RUP? Czym jest RUP? RUP jako metodyka RUP jako metodyka RUP jako proces RUP jako proces Fazy Fazy Dyscypliny Dyscypliny Narzędzia RUP Narzędzia RUP

Czym jest RUP ? Konfigurowalnym procesem wytwórczym inżynierii oprogramowania. Konfigurowalnym procesem wytwórczym inżynierii oprogramowania. Metodyką wytwarzania oprogramowania opierającą się na iteracyjności, najlepszych praktykach i szerokim wykorzystaniu modeli. Metodyką wytwarzania oprogramowania opierającą się na iteracyjności, najlepszych praktykach i szerokim wykorzystaniu modeli.

Platformą narzędziową wspierającą proces tworzenia oprogramowania. Przewodnikiem zawierającym bazę wskazówek i szablonów przydatnych w krytycznych momentach tworzenia oprogramowania. Czym jest RUP ?

Czym jest RUP? Czym jest RUP? RUP jako metodyka RUP jako metodyka RUP jako proces RUP jako proces Fazy Fazy Dyscypliny Dyscypliny Narzędzia RUP Narzędzia RUP

RUP jako metodyka RUP bazuje na kilku ważnych elementach zwanymi najlepszymi praktykami (ang. best practices) które są ogólnie znane i stosowane jako dobre rozwiązania w tworzeniu oprogramowania. RUP bazuje na kilku ważnych elementach zwanymi najlepszymi praktykami (ang. best practices) które są ogólnie znane i stosowane jako dobre rozwiązania w tworzeniu oprogramowania. Praktykami tymi są: Praktykami tymi są:

RUP jako metodyka Iteracyjne tworzenie oprogramowania – umożliwia stopniowe zrozumienie problemu i przyrostowe opracowywanie rozwiązania. Iteracyjne tworzenie oprogramowania – umożliwia stopniowe zrozumienie problemu i przyrostowe opracowywanie rozwiązania. Zarządzanie wymaganiami - opisuje jak gromadzić, organizować i dokumentować wymaganą funkcjonalność i ograniczenia oprogramowania. Zarządzanie wymaganiami - opisuje jak gromadzić, organizować i dokumentować wymaganą funkcjonalność i ograniczenia oprogramowania.

RUP jako metodyka Stosowanie architektur komponentowych – umożliwia tworzenie oprogramowania przy użyciu dobrze opisanych komponentów, modułów. Stosowanie architektur komponentowych – umożliwia tworzenie oprogramowania przy użyciu dobrze opisanych komponentów, modułów. Wizualne modelowanie oprogramowania – przedstawia jak wizualnie modelować oprogramowanie w celu określenia struktury i zachowania architektury. Wizualne modelowanie oprogramowania – przedstawia jak wizualnie modelować oprogramowanie w celu określenia struktury i zachowania architektury.

RUP jako metodyka Weryfikacja jakości oprogramowania – pomaga w planowaniu, wykonaniu i oszacowaniu wyników testów. Weryfikacja jakości oprogramowania – pomaga w planowaniu, wykonaniu i oszacowaniu wyników testów. Kontrola zmian w oprogramowaniu – opisuje jak kontrolować wszelkie zmiany wprowadzane do dokumentów, modeli i kodu. Kontrola zmian w oprogramowaniu – opisuje jak kontrolować wszelkie zmiany wprowadzane do dokumentów, modeli i kodu.

Czym jest RUP? Czym jest RUP? RUP jako metodyka RUP jako metodyka RUP jako proces RUP jako proces Fazy Fazy Dyscypliny Dyscypliny Narzędzia RUP Narzędzia RUP

oś pionowa reprezentuje statyczne aspekty (zawartość) procesu RUP może zostać przedstawiony wzdłuż dwóch osi: oś pozioma reprezentuje czas i przedstawia dynamiczne aspekty procesu RUP jako proces

Proces tworzenia oprogramowania podzielony jest na cykle. Proces tworzenia oprogramowania podzielony jest na cykle. Cykl tworzenia oprogramowania dzieli się na cztery fazy. Cykl tworzenia oprogramowania dzieli się na cztery fazy. Każdą faza może zostać podzielona na iteracje. Iteracja jest kompletną pętlą tworzenia pewnej części produktu. Każdą faza może zostać podzielona na iteracje. Iteracja jest kompletną pętlą tworzenia pewnej części produktu. RUP jako proces

Czym jest RUP? Czym jest RUP? RUP jako metodyka RUP jako metodyka RUP jako proces RUP jako proces Fazy Fazy Dyscypliny Dyscypliny Narzędzia RUP Narzędzia RUP

Fazy Inicjacja (ang.inception – rozpoczęcie) Inicjacja (ang.inception – rozpoczęcie) Rozwinięcie (ang.elaboration) Rozwinięcie (ang.elaboration) Budowa (ang.construction) Budowa (ang.construction) Wdrożenie (ang.transition - przejście) Wdrożenie (ang.transition - przejście)

Faza: Rozpoczęcie Ustalenie zakresu projektu i warunków granicznych: Ustalenie zakresu projektu i warunków granicznych: zakresu projektu zakresu projektu kryteriów sukcesu kryteriów sukcesu oceny ryzyka i zasobów oceny ryzyka i zasobów kamieni milowych i ich dat kamieni milowych i ich dat

Faza: Rozpoczęcie Wynikiem tej fazy są : Wynikiem tej fazy są : Dokument wizji (Vision) Dokument wizji (Vision) Model przypadków użycia (10%-20%) Model przypadków użycia (10%-20%) Początkowy zestaw definicji Początkowy zestaw definicji Przypadek Biznesowy Przypadek Biznesowy Dokument podsumowujący studium osiągalności Dokument podsumowujący studium osiągalności Plan projektowy (fazy i iteracje) Plan projektowy (fazy i iteracje) Model Biznesowy (o ile wymagany) Model Biznesowy (o ile wymagany) Prototyp (-typy) Prototyp (-typy)

Faza: Opracowanie Szczegółowa analiza problemu Szczegółowa analiza problemu Rozwinięcie planu projektowego Rozwinięcie planu projektowego Minimalizacja ryzyka Minimalizacja ryzyka Budowa Prototypów Budowa Prototypów

Faza: Opracowanie Wynikiem tej fazy są : Wynikiem tej fazy są : Kompletny model przypadków użycia (min %) Kompletny model przypadków użycia (min %) Dodatkowe wymagania Dodatkowe wymagania Opis architektury Opis architektury Prototyp Prototyp Końcowy plan projektu Końcowy plan projektu Specyfikacja procesów Specyfikacja procesów Wstępna wersja podręcznika użytkownika (opcja) Wstępna wersja podręcznika użytkownika (opcja)

Faza: Konstruowanie Budowa Budowa Rozwój Rozwój Integracja Integracja Testowanie Testowanie

Faza: Konstruowanie Wynikiem tej fazy są : Wynikiem tej fazy są : Produkt zintegrowany z platformą docelową Produkt zintegrowany z platformą docelową Podręcznik użytkownika Podręcznik użytkownika Opis bieżącego wydania Opis bieżącego wydania

Faza: Wdrażanie Przekazanie produktu do użytkownika końcowego Przekazanie produktu do użytkownika końcowego Wynikiem tej fazy jest działający system Wynikiem tej fazy jest działający system

Czym jest RUP? Czym jest RUP? RUP jako metodyka RUP jako metodyka RUP jako proces RUP jako proces Fazy Fazy Dyscypliny Dyscypliny Narzędzia RUP Narzędzia RUP

Dyscypliny Modelowanie biznesowe Modelowanie biznesowe Wymagania Wymagania Analiza i projektowanie Analiza i projektowanie Implementacja Implementacja Testowanie Testowanie Wdrażanie Wdrażanie Konfiguracja i zarządzanie zmianami Konfiguracja i zarządzanie zmianami Zarządzanie projektem Zarządzanie projektem Określenie środowiska Określenie środowiska

Dyscyplina: Modelowanie biznesowe Celem Modelowania Biznesu jest: Zrozumienie bieżących problemów danej organizacji i Zrozumienie bieżących problemów danej organizacji i identyfikacja możliwości ulepszenia zachodzących procesów biznesowych. Ocena wpływu zmian organizacyjnych. Ocena wpływu zmian organizacyjnych. Zapewnienie, że klienci, końcowi użytkownicy i inni Zapewnienie, że klienci, końcowi użytkownicy i inni jednakowo rozumieją organizację pod kątem zachodzących w niej procesów biznesowych. Wskazanie wymagań na utworzenie oprogramowania Wskazanie wymagań na utworzenie oprogramowania niezbędnego dla wsparcia procesów biznesowych danej organizacji.

Dyscyplina: wymagania Opis ograniczeń projektu Opis ograniczeń projektu Specyfikacja wymagań funkcjonalnych Specyfikacja wymagań funkcjonalnych Uszczegółowienie scenariuszy use caseów Uszczegółowienie scenariuszy use caseów Specyfikacja wymagań niefunkcjonalnych: usability, reliability, performance, supportability Specyfikacja wymagań niefunkcjonalnych: usability, reliability, performance, supportability Koszty i Czas wytworzenia Koszty i Czas wytworzenia Interfejs użytkownika Interfejs użytkownika

Dyscyplina: Analiza i Projektowanie Zamiana wymagań w specyfikację iplementacji systemu : Ustanowienie stabilnej architektury Ustanowienie stabilnej architektury Przystosowanie projektu do środowiska implementacji Przystosowanie projektu do środowiska implementacji Uwzględnienie własności systemu Uwzględnienie własności systemu

Analiza Transformacja wymagań do postaci zbiorów klas i podsystemów w oparciu o: Transformacja wymagań do postaci zbiorów klas i podsystemów w oparciu o: Przypadki użycia Przypadki użycia Wymagania funkcjonalne Wymagania funkcjonalne Wynikiem jest idealny system bez uwzględnienia ograniczeń środowiska implementacji i wymagań niefunkcjonalnych Wynikiem jest idealny system bez uwzględnienia ograniczeń środowiska implementacji i wymagań niefunkcjonalnych

Projektowanie Przystosowanie wyników analizy do wymagań niefunkcjonalnych i ograniczeń środowiska implementacji Przystosowanie wyników analizy do wymagań niefunkcjonalnych i ograniczeń środowiska implementacji Optymalizacja systemu Optymalizacja systemu Pełne uwzględnienie funkcjonalności Pełne uwzględnienie funkcjonalności

Projektowanie Projektowanie przypadków użycia Projektowanie przypadków użycia Projektowanie podsystemów Projektowanie podsystemów Projektowanie klas Projektowanie klas

Produkty dyscyplin Analizy i Projektowania Model Projektowy Model Projektowy Model Analityczny Model Analityczny Interfejsy Interfejsy

Implementacja Wytworzenie działającej aplikacji na podstawie modelu z dyscypliny projektowania. Wytworzenie działającej aplikacji na podstawie modelu z dyscypliny projektowania.

Dyscyplina: Testy Sprawdzenie zgodności z wymaganiami Sprawdzenie zgodności z wymaganiami Sprawdzenie stabilności działania aplikacji Sprawdzenie stabilności działania aplikacji Wykrycie i usunięcie błędów Wykrycie i usunięcie błędów Ocenę niezawodności programu Ocenę niezawodności programu

cd. Dyscyplina Testy Na testowanie składają się następujące aktywności: przygotowanie planu testów przygotowanie planu testów projektowanie i implementacja testów projektowanie i implementacja testów wykonanie testów integracyjnych oraz testów systemowych wykonanie testów integracyjnych oraz testów systemowych analiza wyników analiza wyników

Dyscyplina: Wdrożenie Wytworzenie i dostarczenie oprogramowania do użytkowników końcowych

Dyscyplina: Wdrożenie Aktywności dotyczące wdrożenia: fizyczne wytworzenie wersji instalacyjnej oprogramowania. fizyczne wytworzenie wersji instalacyjnej oprogramowania. opakowania oprogramowania opakowania oprogramowania dystrybucja oprogramowania. dystrybucja oprogramowania. instalacja oprogramowania. instalacja oprogramowania. utworzenie dokumentacji i pomocy dla użytkowników. utworzenie dokumentacji i pomocy dla użytkowników.

Dyscyplina: Konfiguracja i zarządzanie zmianami Utrzymanie spójności projektu Utrzymanie spójności projektu Identyfikacja elementów Identyfikacja elementów Określenie dostępu do elementów (wprowadza możliwość śledzenia dalczego, kiedy i przez kogo dany artefakt zostal zmieniony) Określenie dostępu do elementów (wprowadza możliwość śledzenia dalczego, kiedy i przez kogo dany artefakt zostal zmieniony) Skladowanie, struktura katalogów Skladowanie, struktura katalogów Udostępnienie stabilnego środowiska w którym produkt będzie rozwijany Udostępnienie stabilnego środowiska w którym produkt będzie rozwijany Wprowadzenie zabezpieczeń przed szkodliwymi zmianami Wprowadzenie zabezpieczeń przed szkodliwymi zmianami Tworzenie workspaceów dla programistów Tworzenie workspaceów dla programistów Kontrola zmian Kontrola zmian Audyt zmian, stany zgloszeń Audyt zmian, stany zgloszeń Wybór wersji Wybór wersji Unikanie konfliktów wersji Unikanie konfliktów wersji

Dyscyplina: Zarządzanie projektem Główne cele : Główne cele : Dostarczenie wskazówek wspomagających planowanie prac Dostarczenie wskazówek wspomagających planowanie prac Organizowanie zespołów Organizowanie zespołów Dostarczenie szablonów Dostarczenie szablonów W RUP nie ma pełnego przykrycia procesu zarządzania W RUP nie ma pełnego przykrycia procesu zarządzania

Dyscyplina: Środowisko Wybór i dostarczenie narzędzi Wybór i dostarczenie narzędzi Określenie środowiska systemowego Określenie środowiska systemowego

Czym jest RUP? Czym jest RUP? RUP jako metodyka RUP jako metodyka RUP jako proces RUP jako proces Fazy Fazy Dyscypliny Dyscypliny Narzędzia RUP Narzędzia RUP

Narzędzia RUP Rational Rose – narzędzie do wizualnego modelowania procesów biznesowych, analizy wymagań, projektowania architektury komponentowej. Rational Rose – narzędzie do wizualnego modelowania procesów biznesowych, analizy wymagań, projektowania architektury komponentowej.

Narzędzia RUP Rational RequisitePro – umożliwia zespołom projektowym śledzenie aktualnych wymagań, ułatwia ich wnoszenie, przekazywanie, zmienianie. Rational RequisitePro – umożliwia zespołom projektowym śledzenie aktualnych wymagań, ułatwia ich wnoszenie, przekazywanie, zmienianie.

Narzędzia RUP Rational ClearQuest – produkt do zarządzania żądaniami zmian, który umożliwia zespołom projektowym śledzenie i zarządzanie wszystkimi występującymi w trakcie tworzenia oprogramowania zmianami. Rational ClearQuest – produkt do zarządzania żądaniami zmian, który umożliwia zespołom projektowym śledzenie i zarządzanie wszystkimi występującymi w trakcie tworzenia oprogramowania zmianami.

Narzędzia RUP Rational SoDA – automatyzuje tworzenie dokumentacji dla całego procesu znacząco redukując czas i koszty dokumentowania. Rational SoDA – automatyzuje tworzenie dokumentacji dla całego procesu znacząco redukując czas i koszty dokumentowania. Rational ClearCase – narzędzie zarządzania konfiguracją, umożliwiające śledzenie ewolucji projektu. Rational ClearCase – narzędzie zarządzania konfiguracją, umożliwiające śledzenie ewolucji projektu. Rational TeamTest – tworzy, utrzymuje i wykonuje automatyczne testy funkcjonalne, umożliwiając gruntowne przetestowanie kodu i określenie czy oprogramowanie spełnia założone wymagania działania. Rational TeamTest – tworzy, utrzymuje i wykonuje automatyczne testy funkcjonalne, umożliwiając gruntowne przetestowanie kodu i określenie czy oprogramowanie spełnia założone wymagania działania.

Dziękujemy za uwagę