Transcript RUP

Wstęp do tematyki RUP

Zagadnienia

Proces wytwórczy oprogramowania Różne metodologie Kryzys oprogramowania Wprowadzenie do RUP Wymiar statyczny i dynamiczny Najlepsze praktyki tworzenia oprogramowania

Proces wytwórczy oprogramowania

(ang. software process) – proces mający na celu wytworzenie oprogramowania.

Oprogramowanie wytwarzane jest od stosunkowo niedawna, dlatego procesy wytwórcze oprogramowania szybko się zmieniają w czasie, zmienia się też często opinia na temat 'który jest najlepszy'. Istnieje wiele szkół mówiących o tym, jak należy wytwarzać oprogramowanie :

Różne metodologie

Adaptive Project Framework Agile Software Development Crystal Methods Dynamic Systems Development Model (DSDM)

Extreme Programming (XP)

Feature Driven Development (FDD) Information Technology Infrastructure Library (ITIL) Joint Application Development (JAD) Lean Development (LD) TenStep Project Management Process Rapid Application Development (RAD)

Rational Unified Process (RUP)

Scrum Spiral Systems Development Life Cycle (SDLC) Waterfall (a.k.a. Traditional)

Różne metodologie

Wariacje skrajnie różnych w stosunku do siebie procesów:

RUP (ang. Rational Unified Process)

pracochłonny proces – bardzo uporządkowany, sformalizowany, łatwy w szacowaniu, ale

XP (ang. Extreme Programming)

programistów) – proces o wiele wydajniejszy od RUP'a, obarczony jednak większym ryzykiem – jest bardzo mało sformalizowany (i przez to lubiany przez

Kryzys oprogramowania

Większość projektów wytwarzania oprogramowania nie stosuje systematycznych metodyk lub stosuje metodyki oparte na cyklu wodospadowym. Jest to przyczyną powszechnie znanego „kryzysu inżynierii oprogramowania”.

Inne powody: Szybki rozwój technologii Złożoność produktów Odpowiedzialność vs zawodność Współdziałanie ludzi, niejednoznaczna komunikacja Złe testowanie, zarządzanie ryzykiem

Co to jest RUP

Rational Unified Process (RUP) Rational Software/IBM

Ivar Jacobson, Grady Booch i James Rumbaugh

Metodyka proponująca bardzo elastyczne i skalowalne podejście do wytwarzania oprogramowania. Oferuje ona zarówno niezbędną giętkość procesu wytwórczego, jak i dokładną specyfikację produktów, ról i czynności w ramach tego procesu. Metodyka RUP proponuje przejście na wysoki poziom dojrzałości w wytwarzaniu oprogramowania dzięki zastosowaniu elastycznego, skalowanego, a zarazem powtarzalnego procesu wytwórczego.

Szkielet, rama (framework).

Produkt wspierany przez narzędzia oraz programy treningowe.

Wymiar statyczny i dynamiczny

Perspektywa statyczna: Aktywność Artefakty Przepływ prac Uczestnicy projektu Oś pionowa na wykresie.

Wymiar statyczny i dynamiczny

Perspektywa dynamiczna: Iteracje Kamienie milowe Fazy Cele Oś pozioma - czas.

Najlepsze praktyki

Iteracyjny rozwój Zarządzanie wymaganiami Architektura komponentów Wizualne modelowanie Systematyczna weryfikacja jakości Zarządzanie zmianiami

Podsumowanie

Wykorzystywanie diagramów przypadków użycia RUP wykorzystuje najnowsze trendy i technologie RUP jest ciągle rozwijany