Zio-7-lab: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Enawrocka (dyskusja | edycje)
Nie podano opisu zmian
MOchodek (dyskusja | edycje)
Nie podano opisu zmian
 
Linia 1: Linia 1:
==Ćwiczenia – Personal Software Process==
==Ćwiczenia – Metodyki programowania: TSP i RUP==


===Zadanie 1. Rejestr czasu===
===Zadanie 1. Struktura zespołu dla połączenia PRINCE2 i RUP===
Zadanie polega na stworzenie rejestru czasu, podczas dwóch następnych zadań. Rejestr czasu należy wykonać w postaci tabelarycznej.
Załóżmy, że w Twojej firmie macie bardzo dobrze opanowaną metodykę RUP. Niestety, klient - na którym bardzo Wam zależy - wymaga, aby w przedsięwzięcie było zgodne (przynajmniej w ogólnym zarysie) z metodyką PRINCE2, które jest mu bardzo dobrze znana.  


'''Program:''' ''W tym przypadku zadanie''
Opracuj (być może w zespole z kolegami, stosując metodę burzy mózgów) organizację zespołu, który byłby zgodny z PRINCE2 i RUP.


'''Data:''' ''Data wykonania zadań, np. 09.08.06''
<div class="mw-collapsible mw-made=collapsible mw-collapsed">
{| border="1" cellspacing="0" cellpadding="5" style="text-align:center"
<span style="font-variant:small-caps">Rozwiązanie </span>
!Start
<div class="mw-collapsible-content" style="display:none">
!Przerwa
 
!Stop
Role w RUP:
!<math>\Delta</math>
*Analityk
!Faza
*Architekt
!Uwagi
*Kierownik projektu
|-
*Tester
|''10:00''
*Programista
|''10+5''
Role w PRINCE2:
|''11:00''
*Dyrektor
|''45'' 
*Reprezentant użytkowników
|''Zadanie 10''
*Reprezentant dostawcy
|''Stworzenie szablonu dokumentu''
*Kontroler jakości
|}
*Kierownik przedsięwzięcia
*Kierownik zespołu
 
Aby, utrzymać zgodność z obiema metodykami można zaproponować zespół o następującej strukturze (role z RUP, oznaczone są poprzez użycie kursywy):


Opis kolumn:
[[image:zio-6-lab01.png|Proponowana struktura zespołu]]
*Start - godzina rozpoczęcia
 
*Przerwa - suma przerw w trakcie pracy (np. 6 + 8)
Rys 1. Proponowana struktura zespołu
*Stop – godzina zakończenia
 
*<math>\Delta</math> -  różnica między czasem zakończenia a rozpoczęcia pomniejszona o sumę czasów przerw
</div>
*Faza – faza w trakcie której został zebrany pomiar
</div>
*Uwagi – dodatkowe uwagi dotyczące pracy


----
----
===Zadanie 2. Tworzenie harmonogramu===
===Zadanie 2. Cykl życia oprogramowania dla połączenia PRINCE2 i RUP===
Należy stworzyć harmonogram dla projektu informatycznego obejmującego stworzenie prostego sklepu internetowego.
W ramach pierwszego zadania udało Ci się opracować strukturę zespołu, który jest zgodny z PRINCE2 i RUP. Kolejnym problem może być zaproponowanie cyklu życia projektu, który także będzie wpasowywał się w obie metodyki.  


Ramy czasowe projektu obejmują czas między 1 a 28 marca bieżącego roku. Zakładamy, że możemy poświęcić 5h dziennie (dla uproszczenia także w weekendy). Między 8-13 marca zmuszeni będziemy ograniczyć czas pracy do 3h dziennie. Dodatkowo 17 marca nie będziemy mogli w ogóle pracować nad projektem.
Zadanie polega na opracowaniu cyklu życia projektu zgodnego z PRINCE2 i RUP.


Wyodrębniono następujące zadania, wraz z pracochłonnością:
<div class="mw-collapsible mw-made=collapsible mw-collapsed">
*Z1 - Konfiguracja środowiska (serwer HTTP, serwer bazy danych itp.) – '''10h'''
<span style="font-variant:small-caps">Rozwiązanie </span>
*Z2 - Projekt UML aplikacji – '''15h'''
<div class="mw-collapsible-content" style="display:none">
*Z3 - Stworzenie schematów bazy danych – '''5h'''
*Z4 - Implementacja panelu administracyjnego – '''50h'''
*Z5 - Implementacja koszyka zakupowego – '''40h'''
Nie ma zależności zadań implementacyjnych oraz tworzenia schematu bazy danych.


Nanieś na wykres 1 dostępne godziny w poszczególnych tygodniach, oraz ustal kolejność wykonania zadań.
Cykl życia projektu według RUP:
{| border="1" cellspacing="0" cellpadding="5" style="text-align:center"
|+ Wykres 1. Uszeregowanie zadań
|-
!Zadania
| || || || || || || || || || || || ||
|-
!Tygodnie
| || || || || || || || || || || || || 
|-
!Czas[h]
| width="20"|10 ||width="20"|20 ||width="20"|30 ||width="20"|40 ||width="20"|50 ||width="20"|60 ||width="20"|70 ||width="20"|80 ||width="20"|90 ||width="20"|100 ||width="20"|110 ||width="20"|120 ||width="20"|130
|}


[[image:zio-6-lab02.png|Cykl życia projektu według RUP]]


Następnie wypełnij szablony harmonogramu i zadań – tabela 3 i 4.
Rys 2. Cykl życia projektu według RUP




{| border="1" cellspacing="0" cellpadding="5"  style="text-align:center"
Cykl życia projektu realizowanego według PRINCE2:
|+ Tabela 3. Szablon zadań
!
!colspan="3"|Plan
!Rzeczywistość
|-
!Zadanie
!Godzin
!Godziny narastająco
!Tydzień
!Data
|-
|''Z1 - Konfiguracja środowiska''
|''10''
|''10''
|''1.03''
|''--''
|}


[[image:zio-6-lab03.png|Cykl życia projektu według PRINCE2]]


{| border="1" cellspacing="0" cellpadding="5"  style="text-align:center"
Rys 3. Cykl życia projektu według PRINCE2
|+ Tabela 4. Szablon harmonogramu
!
!colspan="2"|Plan
!colspan="2"|Rzeczywistość
|-
!Tydzień
!Godzin w tyg.
!Godziny narastająco
!Godzin w tyg.
!Godziny narastająco
|-
!1.03 || || || ||
|-
!8.03 || || || ||
|-
!15.03 || || || ||
|-
!22.03 || || || || 
|}


Szablon zawierający edytowalne tabele ([[media:zio-7-lab01.doc|doc]])


<div class="mw-collapsible mw-made=collapsible mw-collapsed">
Aby połączyć oba podejścia należy zagłębić się w poszczególne etapy, aby odszukać podobieństwa. Staramy się zatem mapować etapy jednego cyklu w drugi. Na przykład:
<span style="font-variant:small-caps">Rozwiązanie </span>
*Rozpoczęcia w pewnym stopniu odpowiada przygotowaniu założeń z PRINCE2, obie fazy mają na celu przygotowanie wizji i zakresu projektu,
<div class="mw-collapsible-content" style="display:none"> 
*Dopracowanie, jak i Inicjowanie projektu, mają na celu wyodrębnienie zadań oraz zidentyfikowanie wymaganych zasobów. Dodatkowo w ramach RUP, który jest bardziej zorientowany na wytwarzanie oprogramowania, mamy stworzenie architektury
Czas dostępny w ramach poszczególnych tygodni:
*W oby dwóch cyklach kolejnymi etapami jest konstrukcja. W PRINCE2 podzielona jest ona na etapy, natomiast w przypadku RUP mamy przyrosty. Dodatkowo w RUP dodany jest etap wdrożenia, o którym nie możemy zapomnieć,
*1.03 > 7*5 = 35h
*W PRINCE2 istnieje jeszcze zamknięcie projektu.
*8.03 -> 6*3+5 = 23h
*15.03 -> 6*5 = 30h
*22.03 -> 7*5= 35h


{| border="1" cellspacing="0" cellpadding="5" style="text-align:center"
|+ Wykres 2. Prawidłowe uszeregowanie zadań
|-
!Zadania
| colspan="2"|Z1|| colspan="3"|Z2|| colspan="1"|Z3|| colspan="10"|Z4|| colspan="8"|Z5 || ||
|-
!Tygodnie
| colspan="7"|Tydzień 1|| colspan="5"|Tydzień 2|| colspan="6"|Tydzień 3|| colspan="7"|Tydzień 4 ||
|-
!Czas[h]
| colspan="2" width="20"|10 ||colspan="2" width="20"|20 ||colspan="2" width="20"|30 ||colspan="2" width="20"|40 ||colspan="2" width="20"|50 ||colspan="2" width="20"|60 ||colspan="2" width="20"|70 ||colspan="2" width="20"|80 ||colspan="2" width="20"|90 ||colspan="2" width="20"|100 ||colspan="2" width="20"|110 ||colspan="2" width="20"|120 ||colspan="2" width="20"|130
|}


Jako połączenie można zaproponować następujący cykl życia:


{| border="1" cellspacing="0" cellpadding="5"  style="text-align:center"
[[image:zio-6-lab04.png|Proponowany cykl życia projektu]]
|+ Tabela 3. Prawidłowy szablon zadań
!
!colspan="3"|Plan
!Rzeczywistość
|-
!Zadanie
!Godzin
!Godziny narastająco
!Tydzień
!Data
|-
|Z1 - Konfiguracja środowiska
|10
|10
|1.03
| --
|-
|Z2 - Projekt UML aplikacji
|15
|25
|1.03
| --
|-
|Z3 - Stworzenie schematów bazy danych
|5
|30
|1.03
| --
|-
|Z4 - Implementacja panelu administracyjnego
|50
|80
|8.03, 15.03
| --
|-
|Z5 - Implementacja koszyka zakupowego
|40
|120
|15.03, 22.03
| --
|}


Rys 4. Proponowany cykl życia projektu


{| border="1" cellspacing="0" cellpadding="5"  style="text-align:center"
|+ Tabela 4. Prawidłowy harmonogram
!
!colspan="2"|Plan
!colspan="2"|Rzeczywistość
|-
!Tydzień
!Godzin w tyg.
!Godziny narastająco
!Godzin w tyg.
!Godziny narastająco
|-
!1.03 || 35|| 35|| -- || --
|-
!8.03 || 23 || 58  ||  -- ||  --
|-
!15.03 || 30 || 88 ||  -- ||  --
|-
!22.03 || 35 ||  123 || --  ||  --
|}
</div>
</div>
</div>
</div>


----
----
===Zadanie 3. Śledzenie postępu===
===Zadanie 3. Procesy w TSP i PRINCE2===
Należy wyliczyć dla każdego zadania proporcjonalną do pracochłonności liczbę punktów przeznaczonych dla metody wartości zarobionej.
Zadanie polega na dokonaniu mapowania pomiędzy procesami TSP (w obrębie jednej iteracji) i PRINCE2. Po jednej stronie rozpisz sobie listę procesów TSP, a po drugiej procesy PRINCE2. Połącz odpowiadające sobie funkcjami procesy liniami.
 
Okazało się niestety, że rzeczywista liczba dostępnych godzin zmalała procentowo:
*1.03 –  '''40%'''
*8.03 – '''0%'''
*15.03 –  '''10%'''
*22.03 -  '''5%'''
Zbadaj jaka będzie wartość zarobiona w dniu 22.03. Dodatkowo stwórz wykres zdobytych punktów w tym dniu do liczby punktów planowanych.
 
 
{| border="1" cellspacing="0" cellpadding="5"  style="text-align:center"
|+ Tabela 5. Szablon zadań z wartościami zarobionymi
!
!colspan="4"|Plan
!colspan="2"|Rzeczywistość
|-
!Zadanie
!Godzin
!Godziny narastająco
!WZ
!Tydzień
!Data
!WZ
|-
|''Z1 - Konfiguracja środowiska''
|''10''
|''10''
|''...''
|''1.03''
|''1.03''
|''...''
|}


[[image:zio-6-lab05.png|Procesy TSP i PRINCE2 przed mapowaniem]]


{| border="1" cellspacing="0" cellpadding="5"  style="text-align:center"
Rys 5. Procesy TSP i PRINCE2 przed mapowaniem
|+ Tabela 6. Szablon harmonogramu z wartościami zarobionymi
!
!colspan="3"|Plan
!colspan="3"|Rzeczywistość
|-
!Tydzień
!Godzin w tyg.
!Godziny narastająco
!WZ narastająco
!Godzin w tyg.
!Godziny narastająco
!WZ narastająco
|-
!1.03 || || || || || ||
|-
!8.03 || || || || || ||
|-
!15.03 || || || || || ||
|-
!22.03 || || || || || ||
|}
Szablon zawierający edytowalne tabele ([[media:zio-7-lab02.doc|doc]])


<div class="mw-collapsible mw-made=collapsible mw-collapsed">
<div class="mw-collapsible mw-made=collapsible mw-collapsed">
<span style="font-variant:small-caps">Rozwiązanie </span>
<span style="font-variant:small-caps">Rozwiązanie </span>
<div class="mw-collapsible-content" style="display:none">  
<div class="mw-collapsible-content" style="display:none">
{| border="1" cellspacing="0" cellpadding="5"  style="text-align:center"
|+ Tabela. 8. Wyliczone wartości zarobione dla zadań
!
!colspan="4"|Plan
!colspan="2"|Rzeczywistość
|-
!Zadanie
!Godzin
!Godziny narastająco
!WZ
!Tydzień
!Data
!WZ
|-
|Z1 - Konfiguracja środowiska
|10
|10
|85
|1.03
| --
| --
|-
|Z2 - Projekt UML aplikacji
|15
|25
|127
|1.03
| --
| --
|-
|Z3 - Stworzenie schematów bazy danych
|5
|30
|44
|1.03
| --
| --
|-
|Z4 - Implementacja panelu administracyjnego
|50
|80
|419
|8.03, 15.03
| --
| --
|-
|Z5 - Implementacja koszyka zakupowego
|40
|120
|325
|15.03, 22.03
| --
| --
|}


Podobnie jak w przypadku poprzednich zadań, należy zaznajomić się z podprocesami dla porównywanych procesów (co jest wejściem, wyjściem, celem).


{| border="1" cellspacing="0" cellpadding="5"  style="text-align:center"
[[image:zio-6-lab06.png|Procesy TSP i PRINCE2 po mapowaniu]]
|+ Tabela. 9. Harmonogram rzeczywisty
!
!colspan="3"|Plan
!colspan="3"|Rzeczywistość
|-
!Tydzień
!Godzin w tyg.
!Godziny narastająco
!WZ narastająco
!Godzin w tyg.
!Godziny narastająco
!WZ narastająco
|-
!1.03 || 35|| 35|| 256 || 21 || 21 || 85
|-
!8.03 || 23 || 58  ||  256 ||  23 || 44 || 256
|-
!15.03 || 30 || 88 || 675  || 27 || 71 || 256
|-
!22.03 || 35 ||  123 || 1000  || 33 || 104 || 675 
|}


[[image:zio-7-lab01.png|Wartości zarobione – planowane i rzeczywiste]]
Rys 6. Procesy TSP i PRINCE2 po mapowaniu


Wykres 3. Wartości zarobione – planowane i rzeczywiste
</div>
</div>
</div>
</div>


==Pytania do dyskusji==
==Pytania do dyskusji==
#Czy prowadzenie rejestru czasu jest opłacalne? Jakie są korzyści i trudności?
#Czy można znaleźć wspólny mianownik dla poznanych metody TSP, RUP i PRINCE2?  
#Czy sądzisz, że używanie PSP, przyniosłoby Ci więcej korzyści, niż trudności?
#Jakie są najważniejsze różnice między TSP, RUP i PRINCE2?

Aktualna wersja na dzień 17:04, 7 wrz 2006

Ćwiczenia – Metodyki programowania: TSP i RUP

Zadanie 1. Struktura zespołu dla połączenia PRINCE2 i RUP

Załóżmy, że w Twojej firmie macie bardzo dobrze opanowaną metodykę RUP. Niestety, klient - na którym bardzo Wam zależy - wymaga, aby w przedsięwzięcie było zgodne (przynajmniej w ogólnym zarysie) z metodyką PRINCE2, które jest mu bardzo dobrze znana.

Opracuj (być może w zespole z kolegami, stosując metodę burzy mózgów) organizację zespołu, który byłby zgodny z PRINCE2 i RUP.

Rozwiązanie


Zadanie 2. Cykl życia oprogramowania dla połączenia PRINCE2 i RUP

W ramach pierwszego zadania udało Ci się opracować strukturę zespołu, który jest zgodny z PRINCE2 i RUP. Kolejnym problem może być zaproponowanie cyklu życia projektu, który także będzie wpasowywał się w obie metodyki.

Zadanie polega na opracowaniu cyklu życia projektu zgodnego z PRINCE2 i RUP.

Rozwiązanie


Zadanie 3. Procesy w TSP i PRINCE2

Zadanie polega na dokonaniu mapowania pomiędzy procesami TSP (w obrębie jednej iteracji) i PRINCE2. Po jednej stronie rozpisz sobie listę procesów TSP, a po drugiej procesy PRINCE2. Połącz odpowiadające sobie funkcjami procesy liniami.

Procesy TSP i PRINCE2 przed mapowaniem

Rys 5. Procesy TSP i PRINCE2 przed mapowaniem

Rozwiązanie

Pytania do dyskusji

  1. Czy można znaleźć wspólny mianownik dla poznanych metody TSP, RUP i PRINCE2?
  2. Jakie są najważniejsze różnice między TSP, RUP i PRINCE2?