Title: Studia Podyplomowe IT w Biznesie Rational Unified Process
1 Polsko-Japonska Wyzsza Szkola Technik
Komputerowych Warszawa
Studia Podyplomowe IT w BiznesieRational Unified
Process
Wyklad 2Krótka charakterystyka RUP
Wykladowca dr inz. Ewa Stemposz
ewag_at_ipipan.waw.pl
2Zagadnienia
Co to jest RUP? Kto i jak uzywa RUP? Dwa
wymiary RUP Najlepsze praktyki a
RUP Podsumowanie
Prezentowany material zostal przygotowany w
oparciu o publikacje Philippe Kruchten, The
Rational Unified Process An Introduction,
Addison-Wesley, 1999.
3Co to jest Rational Unified Process ? (1)
Lee Osterweil (1987)
Software processes are software, too
Rational Unified Process (RUP) - produkt firmy
Rational Software, wspomagajacy zdyscyplinowane
podejscie do rozwoju oprogramowania. Cel -
produkcja oprogramowania wysokiej jakosci w
przewidywalnym dla klienta czasie i budzecie.
RUP, to takze szkielet, rama (framework), który
moze byc przystosowany (równiez rozszerzany)
stosownie do specyficznych potrzeb adaptujacej go
organizacji. RUP oparty zostal o zbiór szesciu
najlepszych praktyk iteracyjny rozwój,
zarzadzanie wymaganiami, architektura oparta o
komponenty, wizualne modelowanie, systematyczna
weryfikacja jakosci i zarzadzanie zmianami (ale
nie tylko).
RUP jest zintegrowany z wieloma produktami firmy
Rational Software, np. Rational Rose
(modelowanie wizualne) czy ClearCase (zarzadzanie
zmianami) kazde z narzedzi zostalo
zaprojektowane w taki sposób, by dostarczyc
wsparcia równiez uzytkownikom poczatkujacym (tool
mentors).
4Co to jest Rational Unified Process ? (2)
RUP - w ramach douczania - dostarcza
(1) Szablony dla podstawowych artefaktów
wytwarzanych w trakcie procesu projektowego,
takich jak np.
- Microsoft Word i Adobe FrameMaker szablony dla
podstawowych dokumentów i raportów. - Rational SoDa szablony wspierajace
automatyzacje prac przy przetwarzaniu dokumentów
pochodzacych z wielu zródel. - RequisitePro szablony wspomagajace
zarzadzanie wymaganiami. - Microsoft Project szablony wspomagajace
planowanie projektu realizowanego w oparciu o
iteracyjne podejscie i bazujacego na RUP. - HTML szablony wspierajace prace online.
(2) Przykladowe artefakty dla prostych systemów.
E-coach zawiera wiele wariantów RUP ( np. RUP dla
e-biznesu), które moga sluzyc jako punkt startowy
dla wielu róznych zastosowan.
5Kto i jak uzywa RUP ?
- RUP zostal wykorzystany jak dotad przez wiecej
niz 1000 organizacji (dane z konca 1999 roku) dla
róznych zastosowan, dla malych i duzych projektów
- Telekomunikacja Ericsson, Alcatel, MCI
- Transport, lotnictwo, obrona Lockheed-Martin,
British Aerospace - Produkcja Xerox, Volvo, Intel
- Finance Visa, Merrill Lynch, Schwab
- Inne Ernst Young, Oracle, Deloitte Touche.
- Wiecej niz 50 uzytkowników albo juz
wykorzystywalo RUP do e-biznesu albo planowalo
wykorzystac w najblizszej przyszlosci.
- Niektóre z organizacji - scisle w oparciu o RUP
- budowaly wlasny proces dostosowany do ich
specyficznych potrzeb, a niektóre wykorzystywaly
RUP bardziej nieformalnie traktujac jak
repozytorium rad, wytycznych i szablonów.
6Dwa wymiary RUP (1)
Strukture RUP mozna analizowac z dwóch
perspektyw, zwanych tu wymiarami
(1) Wymiar statyczny, zwiazany ze statycznymi
aspektami procesu, takimi jak, np. czesci
skladowe procesu, przeplywy prac, aktywnosci,
artefakty i uczestnicy projektu. Wymiar statyczny
procesu jest reprezentowany przez os pionowa
rysunku na nastepnej folii. Na osi pionowej
zostaly oznaczone glówne przeplywy prac,
grupujace aktywnosci zgodnie z ich wewnetrzna
natura.
(1) Wymiar dynamiczny, reprezentujacy aspekty
dynamiczne procesu i opisywany w terminach,
takich jak cykle, fazy, iteracje i kamienie
milowe. Os pozioma rysunku reprezentujaca ten
wymiar odzwierciedla uplyw czasu.
7Dwa wymiary RUP (2)
Fazy
Przeplywy prac
Poczatkowa
Opracowywanie
Konstrukcja
Wdrazanie
Modelowanie biznesowe
Wymagania
Analiza i projektowanie
Implementacja
Testowanie
Wdrazanie
Konfiguracja i zarzadzanie wymaganiami
Zarzadzanie projektem
Srodowisko
Iter. 1
Iter.1, Iter.2
Iter.1, Iter.2, Iter.3
Iter.1, Iter.2
Iteracje
8Najlepsze praktyki a RUP (1)
Podejscie iteracyjno-przyrostowe rekomendowane
przez RUP wspomaga
- zarzadzanie wymaganiami,
- integracje elementów skladowych produktu
(integracja postepuje progresywnie, a nie w
postaci jednego big bang na koncu, ponadto
integruje sie mniejsze elementy), - wczesniejsza mitygacje ryzyk (z reguly
moment integracji jest tym momentem, w którym
odslaniaja sie zagrozenia dla projektu), - ponowne uzycie,
- bardziej stabilna architekture,
- zwiekszenie zaangazowania i umiejetnosci
uczestników projektu (patrz przyklad testerów), - ulepszenie procesu w efekcie nabywania
doswiadczen w kolejnych iteracjach.
W RUP planowana jest liczba iteracji, cel i czas
trwania kazdej z nich, tak by zapobiec
powstaniu niekontrolowanego, trwajacego bez
konca procesu.
9Najlepsze praktyki a RUP (2)
Zarzadzanie wymaganiami rekomendowane przez RUP
wspomaga
- lepsza kontrole zlozonych projektów,
- uzyskanie produktu o lepszej jakosci,
- zwiekszenie satysfakcji klienta,
- poprawe komunikacji w zespole projektowym.
- Architektura oparta o komponenty
Aktywnosci zwiazane z projektowaniem, szczególnie
w pierwszych iteracjach, skupione sa glównie na
definiowaniu architektury przyszlego systemu. W
efekcie, w pierwszych iteracjach powstaje
architektoniczny prototyp, stopniowo ewoluujacy,
az do przybrania ostatecznej postaci systemu w
iteracjach koncowych. RUP wspiera systematyczne,
metodyczne podejscie do projektowania, rozwijania
i poddawania walidacji architektury systemu
oferujac style architektoniczne, reguly,
ograniczenia oraz szablony dla opisu architektury
bazujace na idei posiadania wielu perspektyw
systemu.
10Najlepsze praktyki a RUP (3)
Komponent Nietrywialny fragment softwareu (np.
modul, pakiet czy podsystem), który wykonuje
jasno sformulowane zadania i jest dobrze
wyizolowany z otoczenia dzieki wyraznie
okreslonym granicom. Komponent stanowi
realizacje elementu modelu logicznego.
- Komponenty moga byc stopniowo (dzieki
iteracyjnemu podejsciu), niezaleznie rozwijane i
stopniowo integrowane - stary pomysl bazujacy
na pojeciach modularnosc i hermetyzacja
(obiektowosc idzie troche dalej). - Niektóre z komponentów moga byc
przeksztalcone w aktywa ponownego uzycia. Takie
komponenty powinny obejmowac wiekszy fragment
oprogramowania niz np. biblioteka funkcji.
Aktywa ponownego uzycia moga znalezc zastosowanie
takze w innych projektach w obrebie danej
organizacji, dzieki czemu tworzenie ich moze miec
wplyw na wzrost produktywnosci, a przez to na
poprawe jakosci produktów organizacji jako
calosci. - CORBA, ActiveX, JavaBeans co budowac, co
wykorzystac, co kupic? - Dwa ostatnie punkty przesuwaja ciezar budowy
systemów z programowania na skladanie z
komponentów.
11Najlepsze praktyki a RUP (4)
- Wizualne modelowanie modelowanie a UML
- UML jezyk z notacja graficzna do specyfikowania,
wizualizowania i dokumentowania artefaktów
wytwarzanych w trakcie procesu projektowego. - UML nie jest metodyka, tzn. wspomaga
modelowanie, ale nie narzuca regul tworzenia
systemu.
- Systematyczna weryfikacja jakosci jakosc
procesów i produktu
- RUP nie wyróznia grupy czlonków zespolu
projektowego odpowiedzialnych za jakosc produktu,
przeciwnie za ostateczna jakosc produktu
odpowiedzialny jest kazdy czlonek zespolu. - Jakosc produktu dotyczy wszystkich artefaktów,
które produkt obejmuje. - Jakosc procesów zalezy od tego w jakim stopniu
pomiary i kryteria jakosci dla artefaktów
wytwarzanych w trakcie (np. plan. iteracji,
plan testów, realizacja use-case, model, itp.) sa
rzeczywiscie wykorzystywane. - RUP poswieca wiele uwagi systematycznej
weryfikacji jakosci.
12Najlepsze praktyki a RUP (5)
- Konfiguracja i zarzadzanie zmianami
W trakcie procesu projektowego, a szczególnie
procesu opartego o podejscie iteracyjne wiele
produktów podlega modyfikacji. RUP wspomaga
zarzadzanie zmianami dzieki umozliwieniu
sledzenia zmian w wymaganiach, projekcie
implementacji i samej implementacji. Sa
zdefiniowane aktywnosci (wraz z odpowiednimi
artefaktami) umozliwiajace sledzenie defektów,
nieporozumien czy uzgodnien.
- Rozwijanie oprogramowania w oparciu o przypadki
uzycia. - Mozliwosc wykorzystania RUP jako wzorca
(szablonu), który moze byc rozszerzany i
przystosowywany do wlasnych potrzeb (konfiguracja
procesu). Wszystkie elementy procesu artefakty,
aktywnosci. przeplywy prac, wytyczne, szablony
moga byc modyfikowane. - Istnienie narzedzi, które wspieraja tworzenie i
zarzadzanie artefaktami wytwarzanymi w trakcie
procesu projektowego.
13Inne wlasnosci RUP
- Rozwijanie oprogramowania w oparciu o przypadki
uzycia
- Przypadki uzycia (nazywane czasami
scenariuszami czy watkami (thread)) tworza
polaczenie miedzy zbiorem wymagan a innymi
artefaktami wytwarzanymi w procesie projektowym,
takimi jak np. projekt implementacji, kod czy
testy. Ta wlasnosc powoduje, ze sa powszechnie
wykorzystywane, choc nie sa elementem koniecznym
w obiektowym podejsciu do tworzenia
oprogramowania. - RUP wspiera rozwijanie oprogramowania w oparciu
o przypadki uzycia, co oznacza, ze wlasnie
przypadki uzycia stanowia podstawe dla dalszych
etapów projektowych. Przypadki uzycia graja
glówna role w przeplywach prac, takich jak
wymagania, projektowanie, testowanie czy
zarzadzanie projektem.
RUP moze byc z powodzeniem wykorzystany w
postaci as is dla malych i srednich
organizacji, szczególnie dla tych, które nie
rozwinely wlasnego procesu.
14Podsumowanie
- RUP przykrywa calosc cyklu zyciowego SI.
- RUP wykorzystuje najnowsze trendy i
technologie obiektowe podejscie, architektura
oparta o komponenty, modelowanie wizualne z UML,
podejscie iteracyjne, itd. - RUP jest systematycznie rozwijany i ulepszany
(nie jest produktem zamrozonym). - RUP posiada solidna architekture, która moze
byc przystosowana do konkretnych potrzeb
uzytkownika. - RUP wspiera rozwój oprogramowania w oparciu o
szesc najlepszych praktyk iteracyjny rozwój,
zarzadzanie wymaganiami, architektura oparta o
komponenty, wizualne modelowanie, systematyczna
weryfikacja jakosci i zarzadzanie zmianami. - RUP posiada cala palete wspierajacych
narzedzi.