zadania przykladowe


Inżynieria Oprogramowania  zadania przykładowe Przykłady
PRZYKAADOWE ZADANIA I PROBLEMY
Przykład 1.
Informatyk pracujący w pewnej firmie pisze średnio 40 linii kodu w ciągu pięciu minut, przy czym
myli się średnio raz na 200 linii. Wykorzystując liczbę linii jako metrykę kodu, oszacuj czas pisania
programu składającego się z około tysiąca linii. Przyjąć dodatkowo, że czas pracy w ciągu dnia
roboczego wynosi 8 godzin.
RozwiÄ…zanie:
W pierwszym kroku należy wyliczyć szybkość pisania linii kodu na sekundę, gdyż ta jednostka
czasu nie komplikuje niepotrzebnie dalszych obliczeń.
Zatem:
40[lini ] 40[linii] linii
vcode= = =0,06(7)
(1.1)
[ ]
5[min] 5Å"60[s] s
Następnie należy obliczyć prawdopodobieństwo popełnienia błędu przez programistę:
1[linia]
perror= =0,005 (1.2)
200[linii]
Posiadając powyższe parametry, obliczam szacowany czas potrzebny na napisanie tysiąca linii
kodu:
NÅ"perror 1000[linii] 1000Å"0,005
N
T= + = + =
( )
( )
vcode vcode
linii linii
0,067 0,067 (1.3)
( ) ( )
[ ] [ ]
s s
=14925,3731343[s]+74,6268656716[s]=15000 [s]
Celem oszacowania, ile dni roboczych zajmie napisanie kodu o długości linii, przeliczam dzienny
czas pracy na sekundy:
T =8[h]=8Å"3600[s]=28800[s]
(1.4)
pracy
Teraz obliczam liczbÄ™ dni roboczych potrzebnych do napisania kodu:
15000
liczba dni roboczych= =0,520833333333 dnia=4h i 10min
(1.5)
28800
Należy się zatem spodziewać, że w ciągu jednego dnia roboczego, nasz informatyk nie będzie miał
problemu z napisaniem kodu składającego się z tysiąca linii.
Uwaga: Jedna błędna linia na 200 to bardzo rzadki przypadek. Przeciętne prawdopodobieństwo
popełnienia błędu jest znacznie wyższe.
© Piotr Wrzeciono, 2011 1
Inżynieria Oprogramowania  zadania przykładowe Przykłady
Przykład 2.
Dane zadanie wymaga napisania 500 linii kodu. Programista popełnia jeden błąd na 25 linii kodu,
pisząc z prędkością 0,04 linii na sekundę. Zakładając, że w najlepszym przypadku nie popełni
żadnej pomyłki, a w najgorszym będzie pisał cztery razy wolniej niż normalnie, oblicz
optymistyczny, pesymistyczny, pożądany i oczekiwany czas wykonania zadania.
RozwiÄ…zanie:
Pojęcia czasu optymistycznego (O), pesymistycznego (P), pożądanego (M), oraz oczekiwanego (T )
E
używane są jako parametry wierzchołka w grafach PERT.
Zatem szacowania czasów dokonuję następująco:
500[ linii]
O= =12500[s]
linii (2.1)
0,04
[ ]
s
Wartość czasu O jest zdeterminowana tylko szybkością pisania kodu, gdyż obowiązuje założenie,
że nie programista nie popełni żadnej pomyłki.
Wartość czasu M, obliczam poprzez uwzględnienie prawdopodobieństwa popełnienia błędu,
korzystając jednocześnie z czasu O.
1
500[linii]Å"
NÅ"perror
25
M=O+ =12500[s]+ =12500[s]+500[s]=13000[s]
(2.2)
( )
vcode
linii
0,04
[ ]
s
Następnie, znając już czasy O i M, obliczam czas P (pesymistyczny). Według treści zadania, jest on
cztery razy dłuższy od czasu M. Zatem:
P=4Å"M =4Å"13000[s]=52000 [s] (2.3)
Znane są już wartości czasów O, P oraz M, które są potrzebne do wyliczenia czasu T . Zatem:
E
O+4M+P= 12500+4Å"13000+52000
TE= [s]=19416,6666667[s]H"19417 [s]
(2.4)
6 6
Wyliczone czasy O,M,P oraz T zostały przedstawione w tabeli poniżej:
E
Typ czasu O M P T
E
Wartość [s] 12500 13000 52000 19417
Tabela 2.1 Wyniki z przykładu numer 2
Komentarz do przykładu:
W przypadku pisania długiego kodu, często się zdarza, że prędkość jego pisania nie jest stała.
Szacunkowo przyjmuje się, że może być czterokrotnie mniejsza od nominalnej.
© Piotr Wrzeciono, 2011 2
Inżynieria Oprogramowania  zadania przykładowe Przykłady
Przykład 3.
Dany jest graf PERT przedstawiony na rysunku 3.1. Oblicz oczekiwany czas realizacji całego
projektu, przy założeniu, że wszystkie ścieżki są krytyczne. Poszczególne czasy przedstawiono
w tabelach 3.1, 3.2 i 3.3.
A B C
Rysunek 3.1
Zadanie A Czas O Oznaczenie Czas M Oznaczenie Czas P Oznaczenie
Wartość [dni] 3 O 5 M 8 P
A A A
Tabela 3.1 Czasy realizacji zadania A
Zadanie B Czas O Oznaczenie Czas M Oznaczenie Czas P Oznaczenie
Wartość [dni] 1 O 2 M 7 P
B B B
Tabela 3.2 Czasy realizacji zadania B
Zadanie C Czas O Oznaczenie Czas M Oznaczenie Czas P Oznaczenie
Wartość [dni] 4 O 9 M 14 P
C C C
Tabela 3.3 Czasy realizacji zadania C
RozwiÄ…zanie:
W grafach PERT, każdy czasów (O,M i P) posiada z góry założone prawdopodobieństwo. Jego
wartości są następujące:
4 1
p(O)=1 ; p(M )= ; p(P)=
(3.1)
6 6 6
Przy wyliczeniach prawdopodobieństwa poszczególnych zdarzeń, należy używać wzorów (3.1).
Zdarzenia A, B i C są zdarzeniami niezależnymi. Niezależność zdarzeń polega na tym, że czas
wykonania poszczególnych zadań nie zależy od czasu wykonania poprzednich zadań. Należy
jednakże pamiętać, że zadania są wykonywane jedne po drugich.
W pierwszym kroku rozpisuję możliwe zdarzenia związane z realizacją zadań A i B (tabela 3.4).
© Piotr Wrzeciono, 2011 3
Inżynieria Oprogramowania  zadania przykładowe Przykłady
Zdarzenia O i O O i M O i P M i O M i M M i P P i O P i M P i P
A B A B A B A B A B A B A B A B A B
Prawdop. 1/36 4/36 1/36 4/36 16/36 4/36 1/36 4/36 1/36
Czas-dni 3+1=4 3+2=5 3+7=10 5+1=6 5+2=7 5+7=12 8+1=9 8+2=10 8+7=15
Tabela 3.4 Rozkład prawdopodobieństwa realizacji zadań A i B
Dopiero po ukończeniu zadań A i B następuje zadanie C. Otrzymujemy wtedy następujący rozkład:
Zdarzenia O i O O i M O i P M i O M i M M i P P i O P i M P i P
A B A B A B A B A B A B A B A B A B
i O i O i O i O i O i O i O i O i O
C C C C C C C C C
1/216 4/216 1/216 4/216 16/216 4/216 1/216 4/216 1/216
Prawdop.
4+4=8 5+4=9 10+4=14 6+4=10 7+4=11 12+4=16 9+4=13 10+4=14 15+4=19
Czas-dni
Zdarzenia O i O O i M O i P M i O M i M M i P P i O P i M P i P
A B A B A B A B A B A B A B A B A B
i M i M i M i M i M i M i M i M i M
C C C C C C C C C
4/216 16/216 4/216 16/216 64/216 16/216 4/216 16/216 4/216
Prawdop.
4+9=13 5+9=14 10+9=19 6+9=15 7+9=16 12+9=21 9+9=18 10+9=19 15+9=24
Czas-dni
Zdarzenia O i O O i M O i P M i O M i M M i P P i O P i M P i P
A B A B A B A B A B A B A B A B A B
i P i P i P i P i P i P i P i P i P
C C C C C C C C C
1/216 4/216 1/216 4/216 16/216 4/216 1/216 4/216 1/216
Prawdop.
4+14=28 5+14=19 10+14=24 6+14=20 7+14=21 12+14=26 9+14=23 10+14=24 15+14=29
Czas-dni
Tabela 3.6 Rozkład prawdopodobieństwa czasów realizacji projektu
Na podstawie Tabeli 3,6, zawierający kompletny rozkład prawdopodobieństwa, obliczam teraz
wartość oczekiwaną EX. W tym przypadku wartość EX będzie interpretowana jako oczekiwany
czas realizacji projektu.
Zatem:
N
1 4 1 4 16 4 1
EX= ak pk=8Å" +9Å" +14Å" +10Å" +11Å" +16Å" +13Å" +
"
216 216 216 216 216 216 216
k=1
4 1 4 16 4 16 64 16 4
+14Å" +19Å" +13Å" +14Å" +19Å" +15Å" +16Å" +21Å" +18Å" +
216 216 216 216 216 216 216 216 216
16 4 1 4 1 4 16 4
+19Å" +24Å" +28Å" +19Å" +24Å" +20Å" +21Å" +26Å" +
216 216 216 216 216 216 216 216
1 4 1
(3.2)
+23Å" +24Å" +29Å" =
216 216 216
1
( )
= 8+36+14+40+176+171+13+56 +
216
1
+ (52+224+76+240+1024+336+72+304+96)+
216
1 1 62
+ (28+76+24+80+336+104+23+96+29)= (514+2424+796)=17
216 216 216
Zatem oczekiwany czas realizacji projektu będzie wynosił około 18 dni.
© Piotr Wrzeciono, 2011 4
Inżynieria Oprogramowania  zadania przykładowe Przykłady
Przykład 4.
Dany jest graf PERT przedstawiony na rysunku 4.1. Zadania A, B i C posiadajÄ… czasy O,M, P takie
same jak w tabelach 3.1, 3.2 i 3.3 (przykład nr 3). Oblicz szacowany czas potrzebny na realizację
projektu.
A
C
B
Rysunek 4.1. Graf PERT do przykładu nr 4
RozwiÄ…zanie:
W tym przypadku zadania A i B są realizowane równolegle. Oznacza to, że zamiast czasów
realizacji O, M i P dla każdego z nich, otrzymamy rozkład czasów w postaci dystrybuanty.
Realizacja zadań A i B jest konieczna do zrealizowania zadania C. Biorąc pod uwagę wszystkie
możliwe czasy dla zadań A i B, otrzymujemy następującą dystrybuantę:
T [dni] 1 2 3 5 7 8
p(tA B A B A B
+ + +
p(O )p(M ) p(O )p(M ) p(O )p(M )
A B A B A B
+ +
p(M )p(O ) p(M )p(O )
A B A B
+ +
p(M )p(M ) p(M )p(M )
A B A B
+
p(O )p(P )
A B
+
p(M )p(P )
A B
Wartości 0 0 5/36 25/36 30/36 1
Tabela 4.1 Dystrybuanta czasu równoległej realizacji zadań A i B
Następnie, korzystając z wyznaczonej dystrybuanty (tabela 4.1) obliczam prawdopodobieństwa:
p(t<3)=0
5
p(t=3)= p(t<5)-p(t<3)=
36
25 5 20
p(t=5)= p(t<7)-p (t<5)= - =
36 36 36 (4.1)
30 25 5
p(t=7)= p(t<8)-p (t<7)= - =
36 36 36
30 6
p (t=8)=1- p(t<8)=1- =
36 36
© Piotr Wrzeciono, 2011 5
Inżynieria Oprogramowania  zadania przykładowe Przykłady
Dla większej przejrzystości rozumowania, przyjmę teraz następujące oznaczenia:
T3Ò! t=3[dni ]
T5 Ò!t=5[dni ]
(4.2)
T7Ò! t=7[dni ]
T8Ò! t=8[dni ]
Znając prawdopodobieństwa ze wzoru 4.1, obliczam teraz rozkład czasów realizacji zadań A, B i C:
T i O T i M T i P T i O T i M T i P T i O T i M T i P T i O T i M T i P
czas 3 C 3 C 3 C 5 C 5 C 5 C 7 C 7 C 7 C 8 C 8 C 8 C
7 12 17 9 14 19 11 16 21 12 17 22
dni
5/216 20/216 5/216 20/216 80/216 20/216 5/216 20/216 5/216 6/216 24/216 6/216
p(t)
Tabela 4.2 Rozkład prawdopodobieństwa czasu wykonania projektu
Uwaga: proszę zauważyć, że liczba możliwych czasów w przykładzie czwartym (tabela 4.2) jest
znacząco mniejsza od liczby możliwych zdarzeń w przykładzie trzecim (tabela 3.6).
Następnie, korzystając z tabeli 4.2, obliczam wartość oczekiwaną EX realizacji zadania z grafu
PERT (rysunek 4.1):
7Å"5+12Å"20+17Å"5+9Å"20+14Å"80+19Å"20+11Å"5+16Å"20+21Å"5+12Å"6+17Å"24+22Å"6=
EX=
216
(4.3)
3132=14 108
=35+240+85+180+1120+380+55+320+105+72+408+132 = =14,5
216 216 216
Zatem, czas potrzebny na realizacjÄ™ zadania przedstawionego za pomocÄ… grafu PERT (rysunek 4.1),
wynosi około 15 dni.
Komentarz:
Poprzez równoległe prowadzenie prac na kilkoma zadaniami, czas oczekiwany (EX) potrzebny na
realizację zadania maleje, jednakże skrócenie realizacji projektu nie musi być znaczące, tak jak to
ma miejsce w przypadku przykładów trzeciego i czwartego. Jednakże im więcej zadań realizuje się
równolegle, tym większe przyspieszenia prac na projektem.
Z powyższych zależności wynika również, jak istotny jest prawidłowy podział zadań w zespole.
Jeżeli dobrze się przydzieli zadania, każdemu według jego możliwości, uzyskuje się znaczące
przyspieszenie prac nad całością. Jeżeli zaś podziału zadań dokona się nie według posiadanej
wiedzy na temat poszczególnych członków zespołu, ale posiłkując się tylko intencjami
programistów, czas realizacji projektu wydłuży się w sposób znaczny. Zazwyczaj w takim
przypadku niemożliwe jest dotrzymanie terminu zapisanego w umowie z klientem,
to w konsekwencji trzeba doliczyć do kosztów również kary umowne za zwłokę.
© Piotr Wrzeciono, 2011 6


Wyszukiwarka

Podobne podstrony:
Przekształcenia liniowe zadania i przykłady
Wnioskowanie statystyczne estymacja zadania przykładowe
technik informatyk egzamin praktyczny probny zadanie1 przyklad rozwiazana
si zadania przykladowe
zadania przykladowe 3 10
zadania przykladowe 4 10
skrypt kombinatoryka (zadania przyklady)
Zadania przykladowe Nr 1
Elektronika analogowa Zadania i przykłady
zadania przykladowe
Przegląd pracowniczy cele i zadania przykład
zadanie przykładowe wykład 13052013
Zadania przykłady MiF
cw2 zadania przyklad
Matma Dyskretna Vol 2 Arytmetyka(zadania przyklady)
Zadania przykladowe PS 2011 12

więcej podobnych podstron