io w6 harmonogramowanie

background image

1

Inżynieria oprogramowania

Tworzenie i śledzenie

harmonogramów

background image

2/32

Harmonogramowanie –
podstawowe informacje

cel → pomaga w terminowej realizacji
przedsięwzięcia

wykonanie → podział przedsięwzięcia na mniejsze
zadania, ustalenie czasu i kolejności ich
wykonania

praktyczna realizacja → możliwe wspomaganie
komputerowe, np. MsProject, Primavera
Contractor, Project Manager, Planista

background image

3/32

Czynności wykonywane podczas
tworzenia harmonogramu

podział prac procesu wytwórczego na mniejsze zadania

określenie efektów realizacji poszczególnych zadań

ułożenie zadań w określonym porządku przewidzianym do
realizacji, zgodnie z przyjętym modelem procesu
wytwórczego i z uwzględnieniem zależności między
zadaniami

określenie pracochłonności zadań i przydzielenie na tej
podstawie czasu na realizację (data rozpoczęcia i
zakończenia)

przydzielenie do poszczególnych zadań zasobów (osoba
odpowiedzialna, pracownicy, środowisko programistyczne,
komponenty i inne)

background image

4/32

Przyczyny opóźnień w
realizacji przedsięwzięcia

wymuszony i nierealny termin wykonania ustalony przez osobę spoza
zespołu programistów

zmiany wymagań klienta, nie uwzględnione na etapie planowania w
harmonogramie

niedoszacowanie pracochłonności przedsięwzięcia lub poszczególnych
zadań

niedoszacowanie niezbędnych zasobów (za mało sprzętu, za mały
zespół)

zagrożenia nie uwzględnione na etapie planowania

czynniki losowe powodujące nieprzewidziane trudności techniczne

nieprzewidziane kłopoty z pracownikami

nieporozumienia, słaba współpraca w zespole

niedostateczny nadzór i monitorowanie procesu wytwórczego, brak
reakcji na opóźnienia

background image

5/32

Zależność między czasem realizacji
przedsięwzięcia a jego pracochłonnością*

zależność ma charakter nieliniowy

E = L

3

/ (P

3

∙t

4

)

E - pracochłonność w osobomiesiącach

L – liczba wierszy kodu

t - czas trwania przedsięwzięcia w miesiącach/latach

P – współczynnik wydajności, np. P=10000 dla syst. operacyjnych,
P=28000 dla aplikacji informacyjnych, zależny od m.in. dojrzałości
procesu wytw., metod zarządzania, umiejętności pracowników,
poziomu języków programowania, stos. metod inż.. oprogr.,
złożoności aplikacji, środowiska programistycznego

wniosek: można uzyskać korzyści realizując
przedsięwzięcie w dłuższym okresie ale mniejszym
zespołem

* L. Putnam, W. Myers: „Measures for Excellence”,Yourdon Press, 1992

background image

6/32

Podział czasu realizacji
przedsięwzięcia

podział czasu pracy jest zwykle indywidualnie
dostosowywany do charakterystyki przedsięwzięcia

reguła 40-20-40 (obecnie niezalecana): analizowanie i
projektowanie oraz testowanie – po 40%, kodowanie
20%

obecnie szacuje się następująco średni nakład pracy:

planowanie: 2-3%

analizowanie wymagań: 10-25%

projektowanie: 20-25%

kodowanie: 15-20%

testowanie, usuwanie błędów: 30-40%

background image

7/32

Typy przedsięwzięć
informatycznych

nowy projekt wg wymagań klienta

projekt koncepcyjny – nowy pomysł na produkt,
inne zastosowanie, nowa technologia

modyfikacja istniejącego produktu
(funkcjonalności, interfejs, efektywność działania)

pielęgnacja produktu

reinżynieria – częściowa lub całkowita
przebudowa odziedziczonego produktu

background image

8/32

Stopnie rygoru pracy

swobodny → podstawowe czynności wytwórcze zgodne z
zasadami inżynierii oprogramowania, ograniczone jednak do
minimum (ograniczenia: dokumentacja, czynności
przekrojowe)

strukturalny → prace wg uniwersalnego schematu proc.
wytw., stosowane procedury zapewnienia jakości,
prowadzona dokumentacja oraz pomiary (proc. wytw. i
produktu)

ścisły → pełny schemat proc. wytw. dla zapewnienia
jakości, wykonywane czynności przekrojowe

szybkiego reagowania → stos. w nagłych wypadkach,
wykonywane tylko zadania niezbędne dla utrzymania
jakości, inne zadania (np. dokumentacja) wykonywane są
później (po oddaniu produktu użytkownikowi)

background image

9/32

Kryteria adaptacji

analizowane w celu wyznaczenia zalecanego rygoru pracy

kryteria dla przedsięwzięcia programistycznego*

wielkość przedsięwzięcia

liczba potencjalnych użytkowników

skala skutków potencjalnej awarii (krytyczność)

trwałość produktu

stabilność wymagań

łatwość komunikacji między twórcą a klientem

stopień dojrzałości stosowanej technologii

ograniczenia dotyczące efektywności produktu

różnice między systemami wbudowanymi i innymi

pracownicy

czynniki związane ze stosowaniem reinżynierii

każdemu kryterium przypisywana jest waga (1-5), gdzie 1-
wykonywane nie wszystkie czynności wytwórcze, małe wymagania
dotyczące metod pracy i dokumentacji, 5-wykonywane wszystkie
zadania wytwórcze, duże wymagania dot. metod pracy i dokumentacji

* R.S. Pressman: „Adaptable Process Model”,R. S. pressman & Associates 1999

background image

10/32

Obliczanie wskaźnika doboru
zadań (1)

1

0

0

0

0

1,2

czynniki reinżynierii

1

1

1

1

0

1,1

współdziałanie z innymi syst.

1

1

1

1

1

1,0

pracownicy

1

0

1

1

1

1,2

systemy wbudowane/inne

1

0

1

1

0

0,8

ograniczenia efektywności

1

0

0

1

1

0,9

dojrzałość technologii

1

1

1

1

1

0,9

łatwość komunikacji

1

1

1

1

0

1,2

stabilność wymagań

0

0

1

1

0

0,9

trwałość

1

1

1

1

0

1,1

krytyczność

1

1

1

1

0

1,1

liczba użytkowników

1

1

1

1

0

1,2

wielkość przedsięwzięcia

reinży-

nieria

pielę-

gnacja

rozsze-

rzenie

nowy

koncep-

cja

iloczyn

mnożnik punktowy

waga

wartość

kryterium

background image

11/32

Obliczanie wskaźnika doboru
zadań (2)

analiza kryteriów adaptacji i przypisanie im wartości z zakresu 1-5

analiza wag przypisanych kryteriom (0.8-1.2) i ewentualna ich zmiana
w danych warunkach realizacji przedsięwzięcia

dla każdego kryterium obliczenie iloczynu:
wartość∙waga∙mnożnik_punktowy

obliczenie wartości średniej iloczynów

wyznaczenie stopnia rygoru wg poniższej tabeli (wspomagane
doświadczeniem i analizą konkretnego przypadku - przedziały
częściowo pokrywają się):

ścisły

> 2.4

strukturalny

1.0 – 3.0

swobodny

< 1.2

stopień rygoru

wskaźnik doboru zadań

background image

12/32

Sieć zadań

przedstawia graficznie zależności między zadaniami i
podzadaniami

zadania muszą być wykonywane w określonej
kolejności, wykonanie niektórych zadań warunkuje
wykonanie następnych

zadania mogą być wykonywane równocześnie, gdy są
niezależne od siebie a nad przedsięwzięciem pracuje
większa liczba osób

należy zidentyfikować zadania leżące na tzw. ścieżce
krytycznej procesu wytwórczego

sieć zadań może stanowić dane wejściowe do
automatycznych narzędzi generujących harmonogram

background image

13/32

Techniki planowania i
harmonogramowania

WBS (Work Break-Down Structure)

sieciowe (PERT, CPM)

wykresy (diagramy) Gantta

background image

14/32

Planowanie metodą WBS

przedstawia działania w sposób hierarchiczny (projekt,
podprojekt, grupa zadań, zadanie)

po określeniu najważniejszych grup zadań, dzieli się je na
bardziej szczegółowe, aż do założonego poziomu
szczegółowości

każde zadanie powinno być związane z konkretnym
rezultatem (produktem), powinno mieć przypisane zasoby
ludzkie, musi istnieć możliwość określenia czy zadanie
zostało zrealizowane

background image

15/32

Planowanie metodą WBS -
schemat

zadanie główne

zadanie 2

zadanie 3

zadanie 1

zadanie 1.1

zadanie 1.2

zadanie 2.1

zadanie2.2

zadanie 2.3

zadanie 3.1

zadanie 3.2

zadanie 3.2.1

zadanie 3.2.2

zadanie 2.2.1

zadanie 2.2.2

background image

16/32

Metody sieciowe

oparte są na teorii grafów

zbiór działań można przedstawić w postaci grafu
skierowanego zadań i zależności

każde zadanie ma zdefiniowany czas realizacji, moment
rozpoczęcia i zakończenia, przydzielone zasoby,
zdefiniowany poprzednik i następnik

zdarzenia (działania pozorne)→ nie zużywają czasu ani
zasobów

background image

17/32

Podstawowe metody sieciowe

CPM (Critical Path Method) → stosowana w projektach
o zdeterminowanych czasach realizacji zadań
składowych

PERT (Programm Evaluation and Receive Technique)
→ stosowana w projektach o stochastycznych czasach
realizacji zadań składowych (nie można dokładnie
określić czasu realizacji zadania, wykorzystywane są
metody rachunku prawdopodobieństwa: wartość
oczekiwana, wariancja)

background image

18/32

Metody sieciowe –
reprezentacja zadania

NWP

NPP

NWK

NPK

4.2

testowanie

5 d

czas realizacji

nazwa zadania

numer zadania

background image

19/32

Czasy rozpoczęcia/zakończenia
zadania

NWP → najwcześniejszy czas rozpoczęcia
zadania

NPP → najpóźniejszy czas rozpoczęcia
zadania

NWK → najwcześniejszy czas zakończenia
zadania

NPK → najpóźniejszy czas zakończenia
zadania

background image

20/32

Relacje między zadaniami

ZR (FS) → zadanie następne może się
rozpocząć najwcześniej po zakończeniu
zadania poprzedniego

ZZ (FF) → zadanie następne może się
zakończyć się najwcześniej po
zakończeniu zadania poprzedniego

RR (SS) → zadanie następne może się
rozpocząć najwcześniej po rozpoczęciu
zadania poprzedniego

RZ (SF) → zadanie następne może
zakończyć się najwcześniej po
rozpoczęciu zadania poprzedniego

A

B

A

B

A

B

A

B

background image

21/32

Ścieżka krytyczna

jeżeli zadanie ma NWP=NPP oraz NWK=NPK, to jest
zadaniem krytycznym

ciąg zadań krytycznych tworzy ścieżkę krytyczną

ścieżka krytyczna określa maksymalny czas wykonania
projektu

każde opóźnienie wykonania zadania krytycznego
powoduje opóźnienie realizacji całego projektu

przyśpieszenie wykonania zadania krytycznego może
spowodować przyśpieszenie realizacji całego projektu

background image

22/32

Ścieżka krytyczna - przykład

zadanie

wykonane

zadanie

wykonane

częściowo

background image

23/32

Zalety i wady metod sieciowych

zalety:

pokazują logiczne zależności między
poszczególnymi zadaniami

pozwalają na określanie ścieżek krytycznych i ryzyka

wady:

nienajlepsza czytelność

trudności podczas nanoszenia poprawek

background image

24/32

Wykres (diagram) Gantta

graficzne przedstawienie kolejności działań,
zależności między nimi, terminów rozpoczęcia i
zakończenia poszczególnych zadań, czasu ich
wykonania, wykorzystywanych zasobów

jest jedną z najpopularniejszych metod
harmonogramowania

umożliwia tworzenie różnego typu raportów,
wyznaczenie ścieżki krytycznej i wyświetlenie
projektu w widoku sieciowym

background image

25/32

Procedura tworzenia wykresu
Gantta

określenie celu projektu

podział projektu na zadania

określenie kolejności wykonywania zadań

określenie czasów trwania zadań oraz terminów
rozpoczęcia/zakończenia

określenie zależności między zadaniami

przydzielenie zasobów dla poszczególnych
zadań

background image

26/32

Wykres Gantta - przykład

background image

27/32

Wykres Gantta – tryb śledzenia

background image

28/32

Śledzenie harmonogramu-
możliwości

spotkania informacyjne zespołu, opisywanie postępów
prac i ewentualnych problemów

analiza wyników przeglądów technicznych
(wyszukiwanie błędów, sprawdzenie zgodności z
wymaganiami i inne działania mające na celu
zapewnienie jakości oprogramowania)

porównywanie planowanego i rzeczywistego czasu
rozpoczęcia/zakończenia poszczególnych zadań

ilościowa analiza postępu prac wytwórczych w oparciu
o pewne wskaźniki

pomaga w zarządzaniu zasobami i skutecznej reakcji
na zagrożenia, pomaga w zarządzaniu pracownikami

background image

29/32

Analiza wartości uzyskanej

analiza wartości uzyskanej → earned value analysis (EVA)

pomaga w obiektywnej (ilościowej) ocenie postępu prac w
procesie wytwórczym i ewentualny wdrożeniu działań
naprawczych celem dotrzymania czasu realizacji
przedsięwzięcia

obliczenie wartości uzyskanej:

dla każdego zadania w harmonogramie ustala się pracochłonność
w osobomiesiącach lub osobodniach – BCWS

i

w analizowanym momencie wykonywania przedsięwzięcia oblicza
się planowaną pracochłonność zaplanowanych zadań BCWS (dla
zadań które wg harmonogramu powinny się już zakończyć)

obliczenie całkowitej planowanej pracochłonności (dla wszystkich
zadań): BAC=Σ(BCWS

k

)

obliczenie planowanej pracochłonności wykonanych zadań BCWP

background image

30/32

Wskaźniki realizacji
przedsięwzięcia

I - na podstawie BCWS, BCWP, BAC:

wskaźnik wykonania harmonogramu SPI=BCWP/BCWS
wskaźnik ten opisuje tzw. efektywność wykorzystania zaplanowanego
czasu pracy, wartość bliska 1 oznacza postęp prac zgodny z
harmonogramem

odchylenie (bezwzględne) od harmonogramu SV=BCWP-BCWS

zaplanowany postęp prac = BCWS/BAC, pokazuje jaka część prac
powinna być już zrealizowana

rzeczywisty postęp prac = BCWP/BAC, pokazuje jaką część prac
faktycznie zrealizowano

II - na podstawie rzeczywistej pracochłonności wykonanych zadań ACWP

wskaźnik wykonania budżetu CPI=BCWP/ACWP (bliskie 1 oznacza
koszty pracy nieprzekraczające zaplanowanego budżetu)

odchylenie od budżetu CV=BCWP-ACWP (miara oszczędności)

background image

31/32

Plan przedsięwzięcia

zakres przedsięwzięcia

dostępne zasoby

potencjalne zagrożenia przedsięwzięcia,
metody zapobiegania i reakcji gdy wystąpią

kosztorys przedsięwzięcia

harmonogram

podejście do procesu wytwórczego

metody zapewnienia jakości i zarządzania
zmianami

background image

32

Dziękuję za uwagę

źródło: „Praktyczne podejście do inżynierii oprogramowania”, R.S. Pressman


Wyszukiwarka

Podobne podstrony:
W6 Technika harmonogramów i CPM
W6 Technika harmonogramów i CPM
w6 Czołowe przekładanie walcowe o zebach srubowych
AM1 W6
ulog w6 E
IO ALL
Zmiana harmonogramu
io wyk5
III rok harmonogram strona wydział lekarski 2013 2014 II i III Kopia
ZP W6 Planowanie
analizatory harmonicznych
HARMONOGRAM KONKURSU
Metody numeryczne w6
Harmonogram ćwiczeń s5 2014 TABL 03 (08 10 14 )
Mechanika Ruchu Okretu I Harmonogram id 291291

więcej podobnych podstron