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



Podobne dokumenty
Projektowanie systemów informatycznych. wykład 6

Opis metodyki i procesu produkcji oprogramowania

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

RUP. Rational Unified Process

Zakres wykładu. Podstawy InŜynierii Oprogramowania

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

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

Inżynieria oprogramowania (Software Engineering)

Zagadnienia. Inżynieria Oprogramowania

Metody wytwarzania oprogramowania. Metody wytwarzania oprogramowania 1/31

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

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

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

Rozpoczęcie, inicjacja (ang. inception

Wytwarzanie oprogramowania

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

Analityk i współczesna analiza

Feature Driven Development

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

Podstawy programowania III WYKŁAD 4

Programowanie zespołowe

MSF. Microsoft Solution Framework

Etapy życia oprogramowania

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

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

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2

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

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

WPROWADZENIE DO UML-a

Projektowanie oprogramowania

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

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

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

Zagadnienia. Inżynieria Oprogramowania

Wstęp do zarządzania projektami

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

Tworzenie gier na urządzenia mobilne

PRZEWODNIK PO PRZEDMIOCIE

Wykład 1 Inżynieria Oprogramowania

Wstęp do zarządzania projektami

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

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

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

Analiza biznesowa a metody agile owe

Metodyki programowania. Tomasz Kaszuba 2015

Agile Project Management

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

Testowanie oprogramowania w środowisku IBM Rational Software Architect

AN EVOLUTION PROCESS FOR SERVICE- ORIENTED SYSTEMS

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

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

Faza analizy (modelowania) Faza projektowania

Cykle życia systemu informatycznego

Modelowanie testów. czyli po co testerowi znajomość UML

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

Podstawy modelowania programów Kod przedmiotu

Zarządzanie testowaniem wspierane narzędziem HP Quality Center

Analiza i projektowanie obiektowe w UML Kod przedmiotu

Testujemy dedykowanymi zasobami (ang. agile testers)

Narzędzia informatyczne wspierające przedsięwzięcia e-commerce

Metodyki zwinne wytwarzania oprogramowania

Projektowanie oprogramowania

Przedsięwzięcia Informatyczne w Zarządzaniu

Kontraktor - Analityk Biznesowy

Projektowanie oprogramowania. Termin zajęć: poniedziałek, a podstawie materiału ze strony.

Testowanie oprogramowania. Piotr Ciskowski

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

RATIONAL UNIFIED PROCESS. Opis metodyki i procesu produkcji oprogramowania

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

Programowanie zwinne

Zasady organizacji projektów informatycznych

szkolenia pod drzewem Wybrane Techniki XP bnd 2008 Tomasz Włodarek. Materiał udostępniany na podstawie licencji Creative Commons (by-nc-nd) 1.00.

INŻYNIERIA OPROGRAMOWANIA

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

Kod doskonały : jak tworzyć oprogramowanie pozbawione błędów / Steve McConnell. Gliwice, cop Spis treści. Wstęp 15.

Estimation and planing. Marek Majchrzak, Andrzej Bednarz Wroclaw,

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

Metodyka Sure Step. Agenda:

Spring Framework - wprowadzenie i zagadnienia zaawansowane

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

Spis treúci. Księgarnia PWN: Robert A. Maksimchuk, Eric J. Naiburg - UML dla zwykłych śmiertelników. Wstęp Podziękowania...

Projekt systemu informatycznego

Modelowanie i analiza systemów informatycznych

Zwinna współpraca programistów i testerów z wykorzystaniem BDD i. by Example (JBehave/Spock/SpecFlow)

Overlord - Software Development Plan

Oferta Szkoleniowa.

Całościowe podejście do testowania automatycznego dla programistów. (TDD, BDD, Spec. by Example, wzorce, narzędzia)

Jakość w procesie wytwarzania oprogramowania

Akademia ADB Wykład I Praca w grupie i jakość kodu

Zarządzanie projektami. Porównanie podstawowych metodyk

Narzędzia CASE dla.net. Łukasz Popiel

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

PRZEWODNIK PO PRZEDMIOCIE

Dni: 3. Opis: Adresaci szkolenia

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia

12) Wadą modelu kaskadowego jest: Zagadnienia obowiązujące na egzaminie z inżynierii oprogramowania: 13) Wadą modelu opartego na prototypowaniu jest:

Inżynieria Oprogramowania w Praktyce

Testowanie oprogramowania

Opis realizacji dla czterech zespołów (4 przypadki użycia)

Transkrypt:

Wykład 3 (8) Metodyka prowadzenia PI zbiór reguł i zaleceń określających sposób organizacji procesu wytwarzania oprogramowania, powstające artefakty i zakres zaangażowania uczestników procesu Metodyki klasyczne kosztowne, duży narzut kosztów związany z analizą, projektowaniem dokumentowaniem Metodyki lekkie koncentrują się na wytwarzaniu kosztem redukcji artefaktów innych niż ostateczny produkt Cechy wspólne: Dzielą proces na fazy wykonywane (częściowo) w określonym porządku Czynności przypisane są rolom, Wytwarzają artefakty, Narzucają lub proponują zbiory odpowiednich praktyk. Wykład 3 (9) Przykład metodyki klasycznej USDP (Unified Software Development Process) Elementy opisu: Model rozwoju produktu, Fazy rozwoju (zapoczątkowanie opracowanie, konstrukcja przejście) Aktywnosci i dyscypliny Role Produkty (artefakty) Przepływy (częściowo uporządkowane sekwencje aktywności w ramach dyscyplin) 1

Wykład 3 (10) Dyscypliny w USDP: Pozyskanie wymagań Analiza Projekt Implementacja Testowanie FAZY Zapoczątkowanie Opracowanie Konstrukcja Przejście Pozyskanie wymagań Analiza Projektowanie Implementacja Testowanie Zarządzanie zmianami i konfiguracją Zarządzanie projektem Otoczenie Wykład 3 (11) Pozyskanie wymagań: Produkty (artefakty): przypadki użycia, aktorzy Role: analityk, ekspert, projektant UI, architekt Aktywności: Wydzielenie przypadków użycia i aktorów - analityk Określenie priorytetów PU - architekt Uszczegółowienie PU - ekspert Prototypowanie UI projektant UI Ustrukturalizowanie PU - analityk 2

Wykład 3 (12) Analiza wymagań: Produkty (artefakty): model, analiza realizacji PU, struktura modelu, opis architektury modelu Role: architekt, inżynier PU, inżynier komponentów Aktywności: Analiza architektury - architekt Analiza przypadków użycia inżynier PU, Analiza klas inżynier komponentów Analiza pakietów inżynier komponentów Wykład 3 (13) Projekt: Produkty (artefakty): model projektowy, klasy projektowe, podział na podsystemy, interfejs, opis architektury, model rozmieszczenia Role: architekt, inżynier PU, inżynier komponentów Aktywności: Projekt architektury - architekt Projekt przypadków uzycia inżynier PU, Projekt klasy inżynier komponentów Projekt podsystemu inżynier komponentów 3

Wykład 3 (14) Implementacja: Produkty (artefakty): kod wynikowy, procedury instalacyjne, dokumentacja testów jednostkowych Role: architekt, inżynier komponentów, integrator Aktywności: Implementacja architektury - architekt Implementacja klas i podsystemów inżynier komponentów, Integracja systemu integrator Testowanie komponentów inżynier komponentów Wykład 3 (15) Testowanie: Produkty (artefakty): model testowania (metodyka), przypadki testowe, procedura testowa, plan testowania, programy i narzędzia pomocnicze, ocena testu, defekty Role: inżynier testów, integrator, tester, inżynier komponentów Aktywności: Planowanie testów inżynier testów Projektowanie testów inżynier testów, Zaimplementowanie narzędzi pomocniczych inż.. komp. Wykonanie testów integracyjnych i systemowych inżynier komponentów Ocena testów inżynier testów 4

Wykład 3 (16) Podstawowe założenia metodyki XP: Metodyka dostosowana do niewielkich projektów Prostota, Zdolność do elastycznego planowania funkcjonalności, Skrócenie cyklu wytwarzania wersji (stopniowe zmiany), Skrócenia fazy analizy i projektowania, Ograniczenie produkcji dokumentacji, Opieranie się na komunikacji słownej i tekstach źródłowych Nieustanne testowanie, Zatrudnianie rozsądnych i odpowiedzialnych ludzi, Praca dobrej jakości. Wykład 3 (17) Fazy życia projektu w XP Idealny projekt XP przechodzi przez krótką początkową fazę programowania, potem jest poddawany latom doskonalenia a na koniec podlega poważnej przebudowie, kiedy dotychczasowa postac projektu jest już bezużyteczna Badanie 1 tydzień Zaangażowanie (uzgodnienie z klientem zakresu projektu, opracowanie terminarza prac 1-2 dni Iteracje do pierwszej wersji 1-4 tygodnie * ilość iteracji (2-6 miesięcy) Wdrożenie Utrzymanie kolejne wersje co 2 miesiące Cechy: Bardzo skrócona faza rozpoczęcia (inception W RUP) Praktycznie brak projektu Brak fazy opracowania (elaboration) Krótkie cykle pomiędzy wydaniami 5

Wykład 3 (18) Planowanie w XP Faza badania Pisanie opisu zadania, Ocena opisu, Podział opisu Faza zaangażowania Sortowanie wg wartości (konieczne, niezbędne, przydatne) Sortowanie wg ryzyka (precyzyjnie wycenialne, przybliżone, niewycenialne Ustalenie zakresu wersji Faza sterowania Okresowe uaktualnianie planów Wykład 3 (19) Projektowanie w XP - podstawowe zasady Możliwie najmniejsza inwestycja początkowa w projekt, Wykorzystanie informacji zwrotnej o projekcie, Założenie prostoty, Przyrostowe zmiany projektu, Unikanie obciążeń nadmiarową funkcjonalnością. Projektowanie przez refaktoring 6

Wykład 3 (20) Artefakty (30) Stories Constraints Tasks Technical tasks Acceptance tests Software code Releases Metaphors The design UML sketch Design documents produced at the end of the project Coding standards Unit tests Workspace (development and other facilities) Release plan Iteration plan Reports and notes on any meetings Overall plan budget Reports on progress Story estimates Task estimates Defects (and associated data) Additional documentation from conversations Supporting documentation Test data Testing framework tools Code management tools Test results Spikes (solutions) Task work time records Metrics data o Resources o Scope o Quality o Time Other metrics Tracking results Wykład 3 (21) Aktywności W XP: Kodowanie, Testowanie Słuchanie, Projektowanie Odpowiednik w USDP - dyscypliny Modelowanie biznesowe Analiza wymagań, Analiza i projekt, Implementacja, Testowanie Dostarczanie 7

Wykład 3 (22) Podstawowe praktyki XP: Krótkie wersje, Metafora, Prosty projekt, Ciągłe testowanie, Refaktoring, Programowanie parami Kolektywne prawa 40-godzinny tydzień pracy Klient na miejscu Standardy kodowania Ciągła integracja Wykład 3 (23) Podstawowe różnice w stosunku do innych zaakceptowanych metodologii: Brak precyzji opisu, brak opisu procesu, Brak zaleceń co do zakresu i postaci artefaktów, Skrajne zredukowanie faz analizy i projektu, Negowanie zasady lawinowego wzrostu kosztów korekt w funkcji wykonanych faz. Dyskusyjne strony XP: Skrajne zredukowanie faz analizy i projektu, Refaktoryzacja Wspólnota kodu Programowanie parami Częsta integracja Krótkie wersje 8

Wykład 3 (24) XP vs USDP porównanie ilościowe RUP Czas trwania iteracji: 2-24 tygodni Ilość iteracji: 3-9 Łączny czas trwania projektu: 1.5-54 miesiące Liczba członków zespołu:? XP 2 tygodnie? 2-6 miesięcy <=10 Ilość artefaktów: 100 30 Ilość ról: 30 7 Wykład 3 (25) Metodyki zarządzania projektem - SPEM Software Process Engineeering Metamodel SPEM zestaw pojęć (i proponowana dla nich notacja w j.uml), spotykanych i niezbędnych do specyfikacji dowolnego procesu inżynierii oprogramowania. Termin polski Termin angielski Znaczenie Aktywność Activity Specjalizacja definicji_ pracy, opisującej fragment pracy wykonywanej przez jedną rolę procesu; może składać się z atomowych elementów zwanych krokami. Cel Goal Ograniczenie związane z definicją_pracy, wyrażone w terminach stanów produktów pracy. Cykl życia Life cycle Definicja_pracy, której elementami składowymi są fazy; definiuje zachowanie kompletnego procesu, stosowanego w danym projekcie lub programie. DefinicjaPracy WorkDefinition Rodzaj operacji, która opisuje prace wykonywane w procesie; reprezentuje złożone fragmenty prac, które podlegają dekompozycji Dyscyplina Discipline Specjalizacja pakietu, która grupuje aktywności w obrębie procesu związane z tym samym tematem. Każda aktywność może być powią-zana tylko z 1 dyscypliną. 9

Wykład 3 (26) Metodyki zarządzania projektem - SPEM Termin polski Termin angielski Znaczenie Faza Phase Definicja_pracy, w której warunek wstępny określa kryteria wejścia do definicji pracy, natomiast jej cel, zwany kamieniem milowym definiuje kryteria zakończenia fazy. Iteracja Iteration Definicja_pracy reprezentująca zbiór aktywności, związanych z pewnym fragmentem wytwarzania oprogramowania, którego wynikiem jest wewnętrzna lub zewnętrzna edycja produktu oprogramowania. KomponentProcesu ProcessComponent Wewnętrznie spójny pakiet reprezentujący zbiór elementów, pozwalających opisać fragment procesu. Krok Step Atomowa czynność obliczeniowa. Opis zewnętrzny External Description Opis elementu modelu przeznaczony dla zewnętrznego odbiorcy. Pakiet Package Kontener, który może zarówno posiadać, jak i importować elementy modelu. Proces Process Pakiet grupujący elementy pozwalające opisać proces wytwarzania oprogramowania w terminach wykonawców procesu, ról procesu, definicji_prac, produktów prac oraz powiązanych z nimi przewodników. ProduktPracy WorkProduct Cokolwiek, co jest produkowane, konsumowane lub modyfikowane przez proces. Wykład 3 (27) Metodyki zarządzania projektem SPEM Termin polski Termin angielski Znaczenie Przewodnik RodzajProduktuPrac y Guidance WorkProductKind zczegółowe informacje na temat elementu modelu. SPEM wyróżniono następujące rodzaje przewodników: technika (technique) profil UML (UML Profile) lista kontrolna (check list) Kategoria produktu pracy, np. dokument tekstowy, dokument wykonywalny itp. opis narzędzi (tool mentor) Rola procesu Process role linia porad (guideline) Wykonawca procesu, odpowiedzialny za lub asystujący w wykonaniu przypisanych mu produktów pracy. szablon (template) Warunek wstępny Precondition szacowanie (estimate) Ograniczenie związane z definicją_pracy, wyrażone w terminach stanów produktów pracy. Wykonawca procesu Proces performer Właściciel zbioru definicji_prac w procesie. 10

Wykład 3 (28) Metodyki zarządzania projektem - SPEM Elementy pakietu Process Structure Wykład 3 (29) Metodyki zarządzania projektem - SPEM Elementy pakietu Process Lifecycle 11