projektowanie systemów informatycznych

Projekty

Kategorie

Linki

Polecam


tagi

archiwum

Ewolucja czy rewolucja?

wtorek 16 cze 2009

Cleeve Amos zamieścił poniższy obrazek w swojej prezentacji. Kolejny raz jeden obraz znaczy więcej niż setki słów.image


Eclipse Process Framework

piątek 9 maj 2008

Jestem zwolennikiem wolnego oprogramowania i wszystkich narzędzi, które pozwalają na pracę przy podobnych standardach co narzędzia płatne. Dlaczego? W każdym działaniu liczy się człowiek i jego wiedza, doświadzcenie. Narzędzie to tylko dodatek. Dlatego też bardzo się ucieszyłem, że jest już odpowiednik IBM Rational Method Composer – narzędzia, która jest platformą pozwalajacą projektować model procesów  zgodnych z Rational Unified Process (i nie tylko). IBM Rational Method Composer  jest produktem, który umożliwia zbudowanie portalu zawierającego opis procesów, które nie są  ograniczone do sfery tworzenia oprogramowania. Tego typu rozwiązanie może być przydatne przykładowo do opisu procedur i procesów biznesowych. IBM Rational Method Composer zawiera wiele wtyczek i dodatków i jest płatny. Bezpłatnym rozwiązaniem jest, które posiada niemalże identyczną funkcjonalność jest Eclipse Process Framework (EPF). EPF pozwala także na budowanie metod i procesów, zarządzanie biblioteką metodyki, konfigurowania i co moim zdaniem jest najważniejsze publikowanie zamodelowanych wcześniej procesów.

przeczytaj pozostałą część »


Cykl tworzenia oprogramowania w Rational Unified Process

wtorek 31 lip 2007

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.