Projektowanie systemów informatycznych. wykład 6



Podobne dokumenty
Błędy procesu tworzenia oprogramowania (Badania firmy Rational Software Corporation)

Rozpoczęcie, inicjacja (ang. inception

RUP. Rational Unified Process

Opis metodyki i procesu produkcji oprogramowania

Zakres wykładu. Podstawy InŜynierii Oprogramowania

Wytwarzanie oprogramowania

Programowanie zespołowe

Etapy życia oprogramowania

Analiza i projektowanie obiektowe w UML Kod przedmiotu

Etapy życia oprogramowania. Modele cyklu życia projektu. Etapy życia oprogramowania. Etapy życia oprogramowania

PRZEWODNIK PO PRZEDMIOCIE

Inżynieria oprogramowania. Jan Magott

Ogólne określenie wymagań. Ogólny projekt. Budowa systemu. Ocena systemu. Nie. Tak. System poprawny. Wdrożenie. Określenie.

UML w Visual Studio. Michał Ciećwierz

PYTANIA PRÓBNE DO EGZAMINU NA CERTYFIKAT ZAAWANSOWANY REQB KLUCZ ODPOWIEDZI. Część DODATEK

Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne

In ż ynieria oprogramowania wykład II Modele i fazy cyklu życia oprogramowania

Modelowanie i analiza systemów informatycznych.

Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1

Feature Driven Development

MODELE CYKLU ŻYCIA OPROGRAMOWANIA (1) Model kaskadowy (często stosowany w praktyce do projektów o niewielkiej złożonoś

Zasady organizacji projektów informatycznych

Modelowanie i analiza systemów informatycznych.

Wykład 2. MIS n Inżynieria oprogramowania Marzec Kazimierz Michalik Akademia Górniczo-Hutnicza im. S. Staszica w Krakowie

Cykle życia systemu informatycznego

Inżynieria oprogramowania (Software Engineering)

Narzędzia CASE dla.net. Łukasz Popiel

INŻYNIERIA OPROGRAMOWANIA

Języki i metodyka oprogramowania

Rational Unified Process. Dokładny opis metodyki i procesu produkcji oprogramowania

Projekt systemu informatycznego

Agile Project Management

Analityk i współczesna analiza

Cel wykładu. Literatura. Wyższa Szkoła Menedżerska w Legnicy. Modelowanie wymagań Wykład 2

Analiza i projektowanie obiektowe 2016/2017. Wykład 1: Wprowadzenie oraz cykl życia oprogramowania i faza określenia wymagań

Agile vs PRINCE /2015 I rok st. magisterskie Informatyka

PRZEWODNIK PO PRZEDMIOCIE

SYSTEMY INFORMATYCZNE ćwiczenia praktyczne

KARTA MODUŁU KSZTAŁCENIA

Analiza i projekt systemu pracy grupowej z zastosowaniem metodyki SCRUM w technologii SharePoint Karolina Konstantynowicz

Projektowanie systemów informatycznych. Roman Simiński programowanie.siminskionline.pl. Cykl życia systemu informatycznego

WPROWADZENIE DO UML-a

METODYKA RUP JAKO NAJLEPSZE DOPEŁNIENIE ZARZĄDZANIA PROJEKTAMI INFORMATYCZNYMI

Wykład 1 Inżynieria Oprogramowania

Analiza i programowanie obiektowe 2016/2017. Wykład 6: Projektowanie obiektowe: diagramy interakcji

Zarządzanie projektami. Wykład 2 Zarządzanie projektem

ANALIZA EKONOMICZNO-FINANSOWA

Inżynieria oprogramowania I

Lekkie metodyki. tworzenia oprogramowania

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017

SVN. 10 października Instalacja. Wchodzimy na stronę i pobieramy aplikację. Rysunek 1: Instalacja - krok 1

Inżynieria Oprogramowania w Praktyce

Oceny z prezentacji INKU011S. Zofia Kruczkiewicz

Tematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, Zofia Kruczkiewicz

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)

Informatyczne fundamenty

Część I - Załącznik nr 7 do SIWZ. Warszawa. 2011r. (dane Wykonawcy) WYKAZ OSÓB, KTÓRYMI BĘDZIE DYSPONOWAŁ WYKONAWCA DO REALIZACJI ZAMÓWIENIA

Egzamin / zaliczenie na ocenę*

Wstęp do zarządzania projektami

Organizacja procesu projektowania, rozwoju i serwisowania systemu wspomagającego zarzadzanie uczelnią

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2012/2013

Wykaz osób w postępowaniu o udzielenie zamówienia publicznego nr 32-CPI-WZP-2244/13. Podstawa do dysponowania osobą

1. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI

Wytwórstwo oprogramowania. michał możdżonek

Spis treści. Analiza i modelowanie_nowicki, Chomiak_Księga1.indb :03:08

Konfiguracja modelowania w procesie wytwarzania oprogramowania

Przedsięwzięcia Informatyczne w Zarządzaniu

Karta opisu przedmiotu Zaawansowane techniki analizy systemowej oparte o modelowanie warsztaty

INŻYNIERIA OPROGRAMOWANIA Metodyki zarządzania projektem - porównanie

RATIONAL UNIFIED PROCESS. Opis metodyki i procesu produkcji oprogramowania

STUDIA NIESTACJONARNE I STOPNIA Przedmioty kierunkowe

wbudowane October 7, 2015 KSEM WETI PG Komputery przemysłowe i systemy wbudowane Oprogramowanie systemów wbudowanych - wydajność Wydajność

PROJEKTOWANIE ZORIENTOWANE NA UŻYTKOWNIKA W METODYCE SCRUM. Hubert Wawrzyniak Grupa Allegro

Podstawy modelowania programów Kod przedmiotu

Warsztaty FRAME. Sygnatura warsztatu: W1 (W3) Czas trwania: 3 dni

INŻYNIERIA OPROGRAMOWANIA

Metodyki programowania. Tomasz Kaszuba 2015

Dr Katarzyna Grzesiak-Koped

Projekt: Współpraca i Rozwój wzrost potencjału firm klastra INTERIZON

tel. (+48 81) /22 fax (+48 81) Wykład Ćwiczenia Laboratorium Projekt

Wybór ZSI. Zakup standardowego systemu. System pisany na zamówienie

Metodyki zwinne wytwarzania oprogramowania

DLA SEKTORA INFORMATYCZNEGO W POLSCE

Wstęp do zarządzania projektami

Grupa treści kształcenia, w ramach której przedmiot jest realizowany Przedmiot kierunkowy

Inżynieria wymagań. Wykład 3 Zarządzanie wymaganiami w oparciu o przypadki użycia. Część 5 Definicja systemu

Zarządzanie testowaniem wspierane narzędziem HP Quality Center

Metodyka projektowania komputerowych systemów sterowania

Zagadnienia. Inżynieria Oprogramowania

Wykład VII. Programowanie III - semestr III Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

DIAGRAM PRZYPADKÓW UŻYCIA USE CASE MODEL

Wykład I. Wprowadzenie do baz danych

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2015/2016

Spis treści 1. Wstęp 2. Projektowanie systemów informatycznych

Tematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, Zofia Kruczkiewicz

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

PRZEWODNIK PO PRZEDMIOCIE

Co to jest jest oprogramowanie? 8. Co to jest inżynieria oprogramowania? 9. Jaka jest różnica pomiędzy inżynierią oprogramowania a informatyką?

Techniki modelowania programów Kod przedmiotu

Transkrypt:

Projektowanie systemów informatycznych wykład 6

Iteracyjno-przyrostowy proces projektowania systemów Metodyka (ang. methodology) tworzenia systemów informatycznych (TSI) stanowi spójny, logicznie uporządkowany zestaw metod i procedur o charakterze technicznym i organizatorskim, pozwalających zespołowi projektowemu realizować cykl życia systemu. Ogólnie metodyki można podzielić na strukturalne, obiektowe i społeczne.

Podejście obiektowe Podobnie jak w przypadku metodyk strukturalnych, pojawił się szereg propozycji związanych z modelowaniem obiektowym. Największe uznanie zdobyły podejścia OMT, OOAD i OOSE, włączające pewne elementy metodyki. Pierwsza próba unifikacji obiektowego procesu tworzenia systemu nosiła nazwę USDP (Unified Software Development Process). Autorami USDP sa l. Jacobson, G. Booch oraz J. Rumbaugh. Jest to metodyka rodzajowa (ang. generic), stwarzająca możliwość opracowywania różnych jej konfiguracji i implementacji.

Metodyka rodzajowa Główne cechy tego podejścia: ukierunkowanie na przypadki użycia; potraktowanie architektury systemu jako centralnego zagadnienia w procesie tworzenia oprogramowania; iteracyjno-przyrostowy charakter procesu tworzenia systemu.

USDP Założenia rodzajowej metodyki USDP (Unified Software Development Process), iteracyjno-przyrostowy cykl życia systemu, a także kategorie modelowania języka UML wykorzystywane są przez inne, aktualnie rozwijane metodyki obiektowe. Do najbardziej interesujących należą: XP (Extreme Programming); Agile; Scrum, DSDM (Dynamic Systems Development Method).

RUP (ang. Rational Unified Process) RUP to metodyka tworzenia systemów informatycznych oparta na paradygmacie obiektowości i języku UML, zaproponowana przez korporacje Rational Software. Kompletna metodyka RUP zawiera następujące elementy: przyrostowo-iteracyjny cykl życia systemu; pojęcia, metody i techniki z zakresu języka UML i inne, w tym heurystyczne; zintegrowany pakiet narzędzi CASE, wspomagający stosowanie elementów metodyki; role zdefiniowane w zespole projektowym i procedury zarzadzania projektem; kryteria oceny i monitorowania postępu prac; hipertekstowa bazę wiedzy; internetowy serwis wspomagający metodykę i jej użytkowników.

Metodyka RUP Metodyka RUP jest ukształtowana w sposób umożliwiający dopasowanie procesu tworzenia systemu do potrzeb konkretnego przedsięwzięcia na podstawie pełnego spektrum swoich możliwości. W efekcie RUP jest elastyczny - znajduje zastosowanie zarówno przy mniejszych, jak i dużych projektach informatycznych.

Ewolucja metodyki RUP Najważniejsze obszary zmian w zakresie metodyki związane były z: rozwijaniem poszczególnych dyscyplin, w tym przepływów pracy oraz dotyczących ich dokumentów; wprowadzeniem modułów dodatkowych (ang. plug-ins) RUP oraz integracja i włączaniem nowych narzędzi CASE, wspomagających metodykę RUP; reorganizacja układu hipertekstowej bazy wiedzy; zdefiniowanymi w metodyce artefaktami - modelami i dokumentami.

Struktura RUP Przez kilka dekad dominującym wzorcem cyklu życia systemu był cykl liniowy, a później spiralny. Metodyka RUP opiera sie na zasadniczym novum: iteracyjno przyrostowym (ang. iterative-incremental) cyklu życia systemu. Ma on postać dwuwymiarowa. Linia pozioma reprezentuje czas (dynamiczny aspekt procesu TSI), uwzględniając: fazy; iteracje; punkty przeglądu. Z kolei linia pionowa odzwierciedla statyczny aspekt procesu TSI, tj. jego opis w kategoriach: dyscyplin; czynności; artefaktów; ról; przepływów pracy.

Struktura RUP

Role Rola oznacza obowiązki i kompetencje osoby lub zespołu zaangażowanego w proces tworzenia systemu informatycznego lub jego wycinka. W wyniku realizacji roli powstają oczekiwane artefakty. Spektrum ról, odpowiadających często współczesnym zawodom informatycznym, jest bardzo szerokie i wiąże sie z możliwościami zaawansowanych technologii informatycznych. Przykładami ról w metodyce RUP są: menadżer projektu, inżynier procesu, analityk procesów biznesowych, analityk systemowy, projektant testów, testujący, specjalista ds. narzędzi CASE. Przepływ pracy - stanowi sekwencje czynności, w wyniku której powstaje lub jest przetwarzany artefakt.

Artefakty i czynności Artefakt (ang. artifact) - dowolna grupa informacji lub fizyczny byt wykorzystywany (przetwarzany) przez czynności procesu. Przykłady: modele, plany, kod, programy wykonywalne, dokumenty, bazy danych,....). Podział pracy na czynności ułatwia monitorowanie, gdyż każda czynność jest odrębnym zadaniem, które może być zaplanowane i ocenione Artefakty są elementami tworzonymi, modyfikowanymi i wykorzystywanymi przez proces; pracownicy mogą otrzymywać określone artefakty na wejściu czynności oraz rezultatem wykonania czynności są również artefakty Zwykle artefakty mają określone w miarę szczegółowe zalecenia (ang. guidelines), dzięki czemu mogą być opisane w sposób wyczerpujący; ponadto mogą składać się z innych elementów (np. model projektowy zawierający klasy)

Dyscypliny Dyscyplina (ang. discipline), jest kolekcja powiązanych czynności, artefaktów, ról oraz przepływów pracy odpowiadających tematycznie głównym obszarom tworzenia systemów informatycznych. Dyscypliny podstawowe stanowią rdzeń procesu tworzenia systemu. Należą do nich: modelowanie biznesowe; specyfikacja wymagań; analiza i projektowanie; programowanie; testowanie; wdrożenie. Dyscypliny wspomagające realizują funkcje zarządcze i konfiguracyjne w procesie tworzenia systemu. Można do nich zaliczyć: zarzadzanie konfiguracjami i zmianami; zarzadzanie projektem; przygotowanie środowiska.

Układ dyscyplin cyklu życia RUP w iteracji

Podstawowy zakres merytoryczny dyscyplin w procesie RUP

Fazy Faza (ang. phase) w metodyce RUP jest okres miedzy kolejnymi punktami przeglądu cyklu iteracyjno-przyrostowego, w którym zrealizowano niezbędne czynności i opracowano adekwatne artefakty. Metodyka RUP wprowadza cztery fazy: rozpoczęcie (ang. inception); opracowanie (ang. elaboration); budowa (ang. construction); przekazanie (ang. transition).

Iteracje w fazach System informatyczny jest rozwijany w kolejnych iteracjach (ang. iterations), występujących w ramach każdej z wymienionych faz. Przejście pomiędzy iteracjami poprzedza przyrostowa integracja artefaktów otrzymanych we wszystkich dotychczasowych iteracjach. Iteracja w metodyce RUP to pojedynczy cykl w ramach fazy, polegający na realizacji czynności poszczególnych dyscyplin; jej efektem jest kolejny przyrost systemu. W wyniku oceny związanej z użytkowaniem systemu następuje jego modyfikacja. W ten sposób, po następujących po sobie cyklach użytkowania powstają kolejne generacje systemu. Przykładowe oznaczenie systemu w postaci 2.7 wskazuje siódmą wersję w ramach drugiej generacji systemu.

Iteracje w fazach W miarę realizacji kolejnych iteracji powstają kolekcje powiązanych ze sobą artefaktów stanowiących wersje projektu systemu. Początkowo są one ogólne, wzbogacane i udoskonalane w kolejnych iteracjach. Zastosowanie cyklu iteracyjno-przyrostowego znacząco zmniejsza ryzyku niepowodzenia projektu w porównaniu z cyklem liniowym. Wynika to z możliwości przeprowadzanie oceny kolejnych wersji systemu nie tylko pod kątem technicznym, lecz również pod kątem zgodności z wymaganiami użytkownika. Iteracyjne podejście umożliwia ponadto szybką reakcję na wprowadzenie nowych wymagań lub zmianę już istniejących. Liczba iteracji uzależniona jest od złożoności tworzonego systemu oraz czasochłonności poszczególnych faz.

Fazy w metodyce RUP i ich cele Rozpoczęcie (ang. inception) - wypracowanie ogólnej wizji przedsięwzięcia oraz osiągnięcie zrozumienia i akceptacji projektu ze strony wszystkich jego uczestników (poświęca się ok. 10% czasu). Opracowanie (ang. elaboration) - ustalenie architektury systemu, stworzenie planu projektu oraz wyeliminowanie elementów wysokiego ryzyka z projektu (poświęca się ok. 30% czasu). Budowa (ang. construction) - stworzenie systemu na podstawie przyjętej architektury (poświęca się ok. 50% czasu). Przekazanie (ang. transition) - dostarczenie gotowego systemu użytkownikom czy klientom (poświęca się ok. 10% czasu).

RUP