Technorati Tagi: Rational Unified Process,inżynieria oprogramowania,RUP

Procesy, jakie są realizowane w czasie budowy oprogramowania, są zazwyczaj cykliczne. Systemy, w zależności od zastosowanej metody, charakteryzują się spiralnym, kaskadowym (wodospadowym) lub strukturalnym cyklem wytwarzania. Praktycznie każda metodyka preferuje swój cykl wytwórczy.

Cykl wytwórczy RUP jest charakterystyczny, gdyż pokazuje procesy w dwóch płaszczyznach. W pionie przedstawione są statyczne aspekty wytwarzania oprogramowania, takie jak czynności, role, przepływy oraz artefakty jakie im towarzyszą. W poziomie natomiast przedstawione zostały dynamiczne aspekty wytwarzania oprogramowania takie, jak fazy oraz iteracje.


Cykl tworzenia oprogramowania w RUP (na podstawie RUP)

Fazy tworzenia oprogramowania

RUP składa się z czterech faz wytwórczych oprogramowania. Pierwsza faza to Rozpoczęcie (ang. Inception), która jest odpowiedzialna za określenie założeń przedsięwzięcia. Ustala się w niej założenia techniczne, rynkowe i ekonomiczne. Na etapie tym tworzony jest harmonogram prac oraz szacuje się ryzyko powodzenia projektu. Pod koniec fazy rozpoczęcia następuje określenie celów przedsięwzięcia oraz zapada decyzja czy nastąpi przystąpienie do pełnego procesu wytwórczego.

Gdy zapada decyzja o kontynuacji, projekt przechodzi w fazę Opracowania (ang. Elaboration). Etap ten polega na analizie dziedziny problemu, solidnym zdefiniowaniu architektury, przygotowaniu planu prac i zneutralizowaniu największych zagrożeń . Wszystkie wymienione powyżej czynności mogą zaistnieć tylko w sytuacji, gdy opisano większość wymagań na system.

Kolejną fazą jest Budowa (ang. Construction). Podczas tej fazy w sposób iteracyjny i przyrostowy następuje budowanie oraz integrowanie wszystkich komponentów składających się na tworzony system. Końcowym produktem tej fazy jest gotowy, w pełni przetestowany oraz udokumentowany program nadający się do wdrożenia.

Ostatnią fazą procesu wytwórczego RUP jest Przekazanie (ang. Transition). Celem tego etapu jest przekazanie użytkownikowi końcowemu gotowego systemu. W fazie Przekazania na światło dzienne wychodzą nieprzewidziane do tej pory problemy z systemem, które wymagają często dodatkowych prac programistycznych. Po tych czynnościach mających na celu dopracowanie rozwiązania może nastąpić produkcja systemu, która kończy proces wytwarzania oprogramowania.

Wymienione powyżej fazy składają się z iteracji, czyli działań produkcyjnych zmierzających do stworzenia funkcjonalnej części systemu. Przejście przez wszystkie fazy stanowi cykl wytworzenia oprogramowania. Każde przejście przez wymienione fazy daje nową generację oprogramowania.

Planowanie faz

Fazy składające się na proces wytwórczy oprogramowania nie rozkładają się równomiernie ani pod względem czasochłonności, ani pod względem potrzebnych do ich realizacji zasobów. Lata doświadczeń metodyków wykazały, że w czasie projektowania systemów na realizację poszczególnych faz należy zarezerwować odpowiednią ilość czasu. W swoim artykule David West określa, że na fazę Rozpoczęcia należy przeznaczyć 10% czasu projektu. Faza Opracowania wymaga 30% czasu. Najwięcej czasu potrzeba na fazę Budowy, bo aż około 50%. Ostanie 10% procent należy przeznaczyć na fazę Przekazania. Odmiennie od rozkładu czasu wygląda rozkład potrzebnych zasobów do realizacji faz. I tak faza Rozpoczęcia wymaga użycia około 5% zasobów. Etap opracowania pochłania zazwyczaj około 20% środków. Najbardziej zasobożerny jest etap budowy, który na swoje potrzeby zużywa około 65% zasobów. Na ostatnią fazę Przekazania zostaje około 10% środków.


Zasoby i czas potrzebny do realizacji cyklu oprogramowania (na podstawie RUP)

Przedstawione liczby są tylko orientacyjnymi danymi, gdyż każdy projekt z racji swej niepowtarzalności może mieć inny rozkład faz w czasie i wymagać dla każdego etapu innych zasobów.

Zostaw odpowiedź

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Możesz użyć tych HTML tagów i atrybutów: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Close