Opis metodyki i procesu produkcji oprogramowania

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

RUP. Rational Unified Process

RATIONAL UNIFIED PROCESS. Opis metodyki i procesu produkcji oprogramowania

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

Projektowanie systemów informatycznych. wykład 6

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

Etapy życia oprogramowania

Analityk i współczesna analiza

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

Inżynieria oprogramowania (Software Engineering)

Projektowanie interakcji

Zarządzanie i realizacja projektów systemu Microsoft SharePoint 2010

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

Rozpoczęcie, inicjacja (ang. inception

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

Cykle życia systemu informatycznego

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

Metodyki programowania. Tomasz Kaszuba 2015

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

PRZEWODNIK PO PRZEDMIOCIE

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

METODYKA. Metodyka Budowy Internetowej Platformy Handlowej. Data: r. Wersja 1.0. Dokument przygotowany przez zespół DC S.A.

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

Jak opisać wymagania zamawiającego wybrane elementy

Zasady organizacji projektów informatycznych

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

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

Konfiguracja modelowania w procesie wytwarzania oprogramowania

Jarosław Kuchta Dokumentacja i Jakość Oprogramowania. Wymagania jakości w Agile Programming

Projekty BPM z perspektywy analityka biznesowego. Wrocław, 20 stycznia 2011

Wprowadzenie do metodologii modelowania systemów informacyjnych. Strategia (1) Strategia (2) Etapy Ŝycia systemu informacyjnego

Testowanie oprogramowania w środowisku IBM Rational Software Architect

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

WPROWADZENIE DO UML-a

Wykład 1 Inżynieria Oprogramowania

Wytwarzanie oprogramowania

AUREA BPM HP Software. TECNA Sp. z o.o. Strona 1 z 7

Programowanie zespołowe

Modelowanie i analiza systemów informatycznych

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

SYSTEMY INFORMATYCZNE ćwiczenia praktyczne

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

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

ANALIZA EKONOMICZNO-FINANSOWA

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

Karta opisu przedmiotu Zaawansowane techniki analizy systemowej oparte o modelowanie warsztaty

Kontraktor - Analityk Biznesowy

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

Jakość w procesie wytwarzania oprogramowania

Zarządzanie testowaniem wspierane narzędziem HP Quality Center

Luki w bezpieczeństwie aplikacji istotnym zagrożeniem dla infrastruktury krytycznej

Metodyki wdrażania systemów informatycznych. Beata Karasek Ewa Sitarek

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

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

Zakład Języków Programowania Instytut Informatyki Uniwersytet Wrocławski

Praktyczne aspekty stosowania metody punktów funkcyjnych COSMIC. Jarosław Świerczek

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

Zakres wykładu. Podstawy InŜynierii Oprogramowania

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

Dr Katarzyna Grzesiak-Koped

1. Planowanie systemu (w tym specyfikacja wymagań) 3. Projekt systemu (model poszczególnych struktur itp.)

Agile Project Management

Projekt współfinansowany ze środków Europejskiego Funduszu Rozwoju Regionalnego w ramach Programu Operacyjnego Innowacyjna Gospodarka

Metodyki zwinne wytwarzania oprogramowania

Narzędzia CASE dla.net. Łukasz Popiel

Testy poziom po poziomie

Inżynieria oprogramowania II

Cechy charakterystyczne tworzenia oprogramowania w Inżynierii Biomedycznej. Wykładowca Dr inż. Zofia Kruczkiewicz

Przedsięwzięcia Informatyczne w Zarządzaniu

Informatyczne fundamenty

Testowanie oprogramowania

Maciej Oleksy Zenon Matuszyk

IO - Plan wdrożenia. M.Jałmużna T.Jurkiewicz P.Kasprzyk M.Robak. 5 czerwca 2006

Procesy wytwarzania oprogramowania Specyfikacja i projektowanie oprogramowania

Model referencyjny doboru narzędzi Open Source dla zarządzania wymaganiami

Feature Driven Development

udokumentowanych poprzez publikacje naukowe lub raporty, z zakresu baz danych

Inżynieria oprogramowania (Software Engineering)

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

Waterfall model. (iteracyjny model kaskadowy) Marcin Wilk

Projekty IT w praktyce biznesowej

Główne założenia XP. Prostota (Simplicity) Komunikacja (Communication) Sprzężenie zwrotne (Feedback) Odwaga (Agressiveness)

Programowanie zwinne

Inżynieria oprogramowania. Jan Magott

REQB POZIOM PODSTAWOWY PRZYKŁADOWY EGZAMIN

Opis przedmiotu zamówienia

Spis treúci. 1. Wprowadzenie... 13

Studia podyplomowe PROGRAM NAUCZANIA PLAN STUDIÓW

Języki i metodyka oprogramowania

Metodyka Sure Step. Agenda:

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

Wstęp. Inżynieria wymagań. Plan wykładu. Wstęp. Wstęp. Wstęp. Schemat procesu pozyskiwania wymagań

Jak patrzymy na testy czyli Jak punkt widzenia zależy od punktu siedzenia. Click Piotr Kałuski to edit Master subtitle style

Projektowanie Graficznych Interfejsów Użytkownika Robert Szmurło

Leszek Dziubiński Damian Joniec Elżbieta Gęborek. Computer Plus Kraków S.A.

Projektowanie Modeli Usług dla rozwiązań typu SOA

JAK OPTYMALNIE DOBRAĆ ODPOWIEDNIE TECHNOLOGIE INFORMATYCZNE?

UPEDU: Testowanie (ang. Testing discipline)

Optymalizacja Automatycznych Testów Regresywnych

Testujemy dedykowanymi zasobami (ang. agile testers)

Transkrypt:

Opis metodyki i procesu produkcji oprogramowania

Rational Unified Process Rational Unified Process (RUP) to iteracyjny proces wytwarzania oprogramowania opracowany przez firmę Rational Software, a obecnie rozwijany przez IBM. Proces RUP nie jest pojedynczym, ściśle określonym procesem, ale raczej szablonem procesu. Został on zaprojektowany w celu przystosowania do charakteru konkretnej organizacji (przedsiębiorstwa), konkretnego zespołu projektowego lub nawet charakteru konkretnego projektu. Z szablonu RUP można wybrać elementy w zależności od konkretnych potrzeb.

Analiza procesu wytwórczego Autorzy procesu skupili się na diagnozowaniu charakterystyk projektów, które zakończyły się fiaskiem. Postępując w ten sposób, próbowali poznać przyczyny owych niepowodzeń. Przyglądali się również ówcześnie istniejącym procesom inżynierii oprogramowania i sposobom, w jaki rozwiązywały one problemy.

Analiza procesu wytwórczego Najczęstsze błędy napotykane w procesie realizacji projektów: Zarządzanie wymaganiami (najczęściej brak zarządzania nimi) Niejednoznaczna, nieprecyzyjna komunikacja Architektura oprogramowania trudna do utrzymania lub rozwijania Zbytnia, niepotrzebna złożoność oprogramowania Niewykryte niespójności w wymaganiach, projekcie, oraz implementacji Brak lub niewystarczające testowanie Subiektywna ocena postępu projektu Brak zarządzania ryzykiem Brak automatyzacji prowadzenia projektu

Analiza procesu wytwórczego Na podstawie obserwacji błędów jakie najczęściej są popełniane przez zespoły programistów oraz dzięki analizie sposobów ich rozwiązywania zawartych w już istniejących metodologiach inżynierii oprogramowania opracowano zbiór dobrych praktyk, które nazwano Rational Unified Process.

Podstawy i najlepsze praktyki RUP bazuje na zbiorze zasad inżynierii programowania oraz najlepszych praktykach, takich jak: Iteracyjne wytwarzanie oprogramowania (Iterative Development) Zarządzanie wymaganiami (Requirement Management) Używanie architektury bazującej na komponentach (Component-based architecture) Graficzne projektowanie oprogramowania Kontrola jakości oprogramowania (Quality Assurance) Proces kontroli zmian w oprogramowaniu (Change

Cykl życia projektu Cykl życia w RUP bazuje na modelu spiralnym. RUP jest dostępny jako struktura prowadzenia projektu, która może być personalizowana w celu przystosowania do specyficznych potrzeb projektowych. Cykl życia w RUP układa zadania w fazy i iteracje. Projekt został podzielony na cztery fazy: Faza rozpoczęcia (Inception phase) Faza opracowywania (Elaboration phase) Faza konstrukcji (Construction phase) Faza przekazania systemu (Transition phase)

Faza rozpoczęcia W fazie tej formułowany jest problem - zagadnienie biznesowe (business case). Przy opracowaniu tego zagadnienia określa się jego kontekst (business context); czynniki wpływające na jego powodzenie (success factors) - na przykład spodziewany zwrot z inwestycji, zwiększenie udziału w rynku; oraz prognozę finansową. Dodatkowo uzupełnia się go o prosty model przypadków użycia, plan projektu, wstępną analizę ryzyka oraz opis projektu (główne wymagania, ograniczenia, główna funkcjonalność).

Faza rozpoczęcia Wynikiem tej fazy są: Dokument wizji (Vision) Model przypadków użycia (10%-20%) Początkowy zestaw definicji Przypadek Biznesowy (kontekst biznesu, kryteria sukcesu, prognozy finansowe) Dokument podsumowujący studium osiągalności Plan projektowy (fazy i iteracje) Model Biznesowy (jeśli jest wymagany) Prototyp

Faza opracowania W tej fazie projekt systemu nabiera kształtów. Przeprowadzona jest analiza dziedziny zagadnienia i budowana podstawowa architektura systemu. Jeżeli projekt nie może przejść tej fazy, ciągle mamy czas na jego zaniechanie, lub ponowne opracowanie. Przechodząc do następnej fazy przechodzimy w obszar większego ryzyka, w którym zmiana (np. wymagań) jest dużo trudniejsza i znacząca.

Faza opracowania Wynikiem tej fazy są: Kompletny model przypadków użycia (min. 80%) Dodatkowe wymagania Opis architektury Prototyp Końcowy plan projektu Specyfikacja procesów Wstępna wersja podręcznika użytkownika (opcjonalnie)

Faza konstrukcji W fazie tej główny nacisk położony jest na budowę komponentów i innych funkcjonalności opracowywanego systemu. W tej fazie odbywa się większość prac programistycznych. W większych projektach może być wiele iteracji konstrukcji, w celu podzielenia dziedziny przypadków użycia na mniejsze, zarządzalne poddziedziny. Pozwala to także na szybsze przekazywanie części prac (lub prototypów).

Faza konstrukcji Wynikiem tej fazy są: Działająca wersja oprogramowania zintegrowana z platformą docelową Podręcznik użytkownika Opis wydania

Faza przekazania W tej fazie produkt przekazywany jest od zespołu programistycznego do użytkowników końcowych (potocznie mówiąc: do produkcji). W tej fazie znajdują się takie czynności jak: trening użytkowników końcowych i administratorów, testy akceptacyjne (testy beta). Sprawdzana jest zgodność produktu z miarami jakości określonymi w pierwszej fazie.

Faza przekazania Wynikiem tej fazy jest działający system posiadający funkcjonalności określone w fazie pierwszej.

Dyscypliny Z każdą z powyżej opisanych faz związane są grupy czynności (dyscypliny), które wykonuje się podczas każdej z iteracji. Są to: Dyscypliny inżynierskie (Engineering Disciplines): Modelowanie biznesowe (Business modeling) Wymagania (Requirements) Analiza i projektowanie (Analysis and design) Implementacja (Implementation) Testowanie (Test) Wdrożenie (Deployment)

Dyscypliny Dyscypliny pomocnicze (Supporting Disciplines): Zarządzanie zmianami oraz konfiguracją (Configuration and change management) Zarządzanie projektem (Project management) Środowisko (Environment)

Dyscypliny

Modelowanie biznesowe Celem modelowania biznesowego jest przede wszystkim zapewnienie komunikacji i lepsze zrozumienie pomiędzy biznesem (inżynieria biznesowa) a IT (inżynieria oprogramowania). Zrozumienie biznesu oznacza, że inżynierowie oprogramowania muszą zrozumieć strukturę i dynamikę organizacji swojego klienta, jego bieżące problemy i możliwe usprawnienia. Muszą także zapewnić wspólne zrozumienie celów pomiędzy klientami, użytkownikami końcowymi a programistami.

Modelowanie biznesowe Modelowanie biznesowe tłumaczy w jaki sposób opisać wizję organizacji, w której będzie wdrożony system i jak później użyć jej do opisania procesów, ról i odpowiedzialności w organizacji.

Wymagania Celem Wymagań jest opisanie tego, co system powinien robić. Wymagania zbierane są przez analityków, którzy odkrywają je, klasyfikują i dokumentują. Proces zbierania wymagań polega na dyskusji i uzgodnieniach pomiędzy tworzącymi system a klientem.

Analiza i projektowanie Celem Analizy i projektowania jest zobrazowanie sposobu w jaki będzie tworzony system w fazie implementacji Zadaniem analizy jest transformacja wymagań do postaci klas i podsystemów w oparciu o przypadki użycia i wymagania funkcjonalne Na etapie projektowania wyniki analizy są przystosowywane do wymagań niefunkcjonalnych oraz ograniczeń środowiska implementacji

Analiza i projektowanie Na tym etapie są tworzone: Model analityczny Model projektowy Interfejsy

Implementacja Polega na wytworzeniu działającej aplikacji na podstawie modelu stworzonego w fazie projektowania Opracowanie planu scalania systemu Implementacja komponentów Scalanie podsystemów i całego systemu

Testowanie Celami dyscypliny testowania są: Weryfikacja interakcji pomiędzy obiektami. Weryfikacja poprawnej integracji komponentów. Sprawdzenie, czy wszystkie wymagania zostały zaimplementowane w sposób poprawny. Identyfikacja i sprawdzenie, że defekty zostały usunięte przed wdrożeniem oprogramowania.

Wdrożenie Celem wdrożenia jest dostarczenie oprogramowania do użytkowników końcowych. Na ten cel mogą składać się: Fizyczne wytworzenie wersji instalacyjnej oprogramowania. Opakowania oprogramowania Dystrybucja oprogramowania Instalacja oprogramowania Utworzenie dokumentacji i pomocy dla użytkowników Zapewnienie pomocy i wsparcia technicznego

Zarządzanie zmianami oraz konfiguracją Dyscyplina zarządzania zmiami w RUP dotyka trzech obszarów: Zarządzanie konfiguracją - wersjonowanie artefaktów, utrzymywanie rejestru zależności pomiędzy artefaktami Zarządzanie zleceniami zmian - utworzenie rejestru propozycji i zleceń zmian Zarządzanie stanem i miarami - określenie i przechowywanie informacji na temat zleceń zmian takich jak: stan, przyczyna, natura, priorytet

Nie próbuje natomiast objąć wszystkich aspektów zarządzania projektem, takich jak: Organizacja zespołów Zarządzanie budżetem Zarządzanie umowami ze sprzedawcami i klientami Zarządzanie projektem RUP na tym etapie skupia się na: Planowaniu projektu iteracyjnego w ramach całego cyklu i pojedynczych iteracji Zarządzaniu ryzykiem Kontroli realizacji projektu i monitorowaniu postępów

Środowisko Wybór i określenie narzędzi, które będą użyte w procesie wytwórczym Identyfikacja środowiska systemowego

Konie c