estamacja kosztów oprogramowania
TRANSCRIPT
Estymacja projektów informatycznych
Tomasz Koszlajda ���������������� ����������� �������� ��� e-mail: [email protected]
1. �����
Uruchomienie dowolnego projektu informatycznego wymaga estymacji podstawowych parametrów tego projektu. Proces estymacji obejmuje cztery podstawowe etapy: estymacja roz����� ������� ����������� ���������� ���������� �� ����� ����� ��������
������ ������ ��������������� ������������� ������������ ������������������������� ��
estymacja kosztu wyprodukowania oprogramowania. Rzetelna estymacja projektów informatycznych jest potrzeb��� ������� ���������� ������ ���� ���� ��� ��� �� ������� ����
���������������� ������������������������������������� ����� ������������� ���
informatycznego. Estymacja jest n��������� ���� ���������� ������������ ��������������
������ �erowników projektów:
• ���������� ������� ���������� �� ��������� ���������� ��� �� � ������� ��
wymaganych kwalifikacji pracowni ���� ������ ����������� ������� ���� ������-programowej.
• Ustalanie����������������������������!
• " �������� ������� ������� ������ ����������� �� �� ����� �� ��� �����������produktu.
• �������� ����� ��� �� �� �������� ���������� ���� ������� ��� ���� �� ����� ����������
��������������!
• Monitorowanie realizacji projektu.
• #���� ����� �������� �� ��������� �� ����� �� ������������ �����������������
������!
$ ������������������� ���� �������������� ����� ����� ���������� ������� ������� ��
produktów informatycznych, która polega na tak zwanej ������������� oprogramowania. %����� ���� ��� �� ��������� ������ �� ���� ��������� ���������� �� � ���� ���� ����
��o����� ���� �� ��!� $��� ���� ������������ ����� �� ��� ��� ���������� ��� ��� �����
��������� ����� ���������� ���� ����������� ����� ������� ����� ������� ��� ���
informa�������� ����� �������� ����� ������ �� ��������������!� $������ ���������� �����
stosowanie przez kie��� ��� ��� ���� ����������� ����� �� ��������� ���� ���������� ����� �������� ����o������ ����������� �� ����� ����� �� ������ ���� ����
oprogramowani��������������� ��������������������������eniach.
$��������� ���������� ���������� �������� ������ �������� ���� ���������
oprogramowania oraz metod i modeli estymacji projektów informatycznych. Proponowane ����� ���������� ������� ����� ���� ��� ���� ���� ��������� � �����
������� �ó������� –� ������� ������� ������ ��� �������� &'(")*�� ��� ���������
programów – mie���������������!���� ������� ������������������ �����������– ����������!���� ����� ���� ��������&���!�object points*!�%��� ������������������
podstawo����������������������������������������������������������� ����������
�����������������!����������������������������������������������������������!�
�������� ��� ��� ��������� �������� ���������� ������������ ������� ���� ������������������ �����������������������������!
+������� ��� � ������������ ������ �� ������ ���� ��������� ������� ���������������
���������� ����� ���������� ���������� ������ ���������!� ,���������� ������
progr������������������������������� �)O)"#"�&������������������������������
�� � �� ������ �������� ���������� ����� ������� ����������� ��! � )"'-.+�� +/0�)��
COSTMODL), SLIM, SoftCost i PRICE-S.
2. Proces estymacji Proces estymacji obejmuje osiem kroków�� ������ ������� ����������� ��� ���� ��
poni���!� ����� �������� ���������� ������� �������� ������������ �������� ��
� ���������������� ��������� ���uowany produkt informatyczny.
� ���������� ���������� �����������
������� ��������
����������
������� ���� ���� � ����� �
������� ���� ���� � ����� ��
������� �����
��� �����������
�������� �����
��������
������
������ �����
���������� ������������������
��������������������
��������
����� ����
�������� � �������� ��������
���� ����
����� ������
�����������
�������
!�������� �����
"�������� ����� ���
� ������� ���������
�� ���
�������
1. Identyfikacja komponentów oprogramowania. Ma ona na celu ustalenie produktów, ���� �������� �������� ��������������� ��������������!�%������������������
��������� ���� ���� ���� ���� �������� ���� ��� �� ���� ����� ���� ���� ��������
kie��� ����� ��!��������������������� ��� ��� �������� ������������ ��������
wer���� ���� ������ ��� ��!� ������� ��� �������� ������� ��� ���� ���������
���������enia dodatkowych kosztów integracji.
2. Estymacja rozmiarów komponentów!�,� ����������������� ������������� ��!�-� �
����� � ���������� �������������������������������������������������� ��������
�� ������acy. Wybór jednej z metod estymacji rozmiaru budowanego oprogramowania ������� �� �� �� ������ �� � ����� ���� ���� �� �������� ���������� ��� ����
do���������� �� ������ �� ���������� �������� ��� ����� �������������� ��������
informatycznych do budowy oprogramowania, dziedziny zastosowania, itp.. Uzyskanie do���� ���������� ������ ��������� ����� ����� �������� ��� �������� ��� �����czu���� �������� ������ymacji od wyników uzyskanych w tym kroku.
3. ����������������� ����� ���������������!�%������������������� ������acy, ������ ���������� �� ����� ��� ��� ����� ���� �������� �� �������� ��������
przewidywanego zakresu prac, to jest identyfikacji etapów, które� ������� ���� �� �� ���
������ �o�� ��� ��� ������������ �������� ��� ��!� ������� �� ���������� ������������
�������� �o�� ��� ���� ���� �� ������ �� ��������� ������ �������!� -���������
��������� ������� ������� ��������� �� ����������� �� ������ ����� ��� ��arakter ekspotencjalny.
4. �������������� ������������������ �������. Popularnych jest kilka metod ���������� �� ����� ����� ����������� ���� ���������� ������� �� ��������� �������
zakresu prac w celu zbudowania komponentu o oszacowanym rozmiarze. Metody te pozwa����� ��� �������������� �� ������� ���������� ���� ����� ������ ��� ���������
�������������������� ��������!�,�� ������ ��������������������������������
����� ��� �o���� ����� ��������������� ��� ��� ���� �������� �� ���� ������ �� ����zrealizowanych projektów.
5. ������������������������� ���!�$������� �����������������������������������
������� ��������� �� �� ������������� ����!� $��� �� ������������ ����������
mo��������������������������������� ������!
6. Analiza ryzyka. Uzyskane������������������������������������������ �!����nna ����������� ������������������������������������������������������ �������
�������� ��������� � ������� ��������� ���� �������������� ������ �������
oprogramowania, na szacowany nak��������!
7. Alokacja zasobów!� $��� ���������� ��������� ���� ���������� ����� ����������� ��
pro�� ��������������������� ������!�)������������������������������������������������������������� ������!�
8. Estymacja kosztu. Gotowy harmonogram jest pods����� �� ������������ �����
przed���������������������������������������������!�%������� ���������������
kosz���� �� �������� ���� ����� ����� ��� �� �o�� ��� ������� ��������� �������
������!� 1������ ������ ���� ������������ ��������� ���� ����� �������� ������� ��
trakcie re��������� ��� ���� �� ���� �� ������� ������� ����� �������� ���� ����������
realizacji projektu od planu.
3. ������� �������������������
����������� �������� ���� ���� ��������� ����� ���� ���� ��������� � ���� ���
����� ������� �������� ������� ��� �������� �� ������� ���� �����!������� ��
�������������������� ����2������� ������������� ��������������!
• #���� ���� ���� �������� ������� ������� ����� ������� ����������� ������ ���
�����ego (SLOC – Source Lines of Code*!� 3���� ��� ������ ��� ������ �����������
instrukcje i deklara���!� (����� ����������� �� �� ����� ���� ���� �� ������� ����� ����� ���
������ ��� � ��!� (����� ������� ����� ����������� ��� � �������� ��� �������!� ���������
kilka odmian tej podstawowej propozyc��!� ,�� ��� ���� ����������� ����� ���������
���������� ������ ��!� %� ���� ��������� �� �� ������ ����������� ������������ ��������������� ���� ��� �� �o����� �� � ������ ������ �!� '����� ��������� ���� ���� �������������������� � ���������� ������owania.
Zalety
��������� ������� ����� '(")� ����� ���� �����!� $��� �� ����� ��� ������� �����
do �����!� �� �� �������� ��� ��� ����� ����������� ��������� zmiar ���������!�#�������������� ������������������ �������������znych modeli estymacji.
Wady
(����� ���� ���� ����� ����� ����� �����!� 4���� ��� ������ �� ����������� ������� ������
pla�������� � ���� ����������� �������� ������ ������� ����� ���������!� ,���
������d������������������ ��������� �� ���� ����������������!�4������������
od jako�������������!�-�������������������������������������� ��� ���!
������ ����� ��� ����� �������� �� ��������� ���� �� ����������� �� ��� ������
pozytywne jak i negatywne implikacje.
• #��������������� �������������������������!���� ����unkcyjne. Istnieje kilka �������������������������������������������� �������!���� ������ ������������������
�� �������� ������� ��� ���������� ���������!� %� �������� ��� ����
funkcyj��������������������������� �������� �������k��������� �
o wprowa����������������������������������&�������), o ������������������������������������&�������), o ��������������� ����������&pliki), o ���� ������������������������������������&interfejs), o ����� ������������������������������������&zapytania).
5�������������������������������������������� ���yfikowany do jednej z ����� ���!�$��� ���������������������������������������������o���� ���� ���
������ ���� ��� �!� 1� �������������� ������� �� �������� �������� � ������ ���okre����� ������ ����!� ������� ����������� ��� ������ ������ ����� ����������
abstrak������� ���������� ��� ����������� ����������� �������� ��������
informa�������� � ���������� ���� �� ������ ������� ������������ ���� ����� � ������
funkcjonalno���!
������ ������ Pliki Interfejsy Zapytania
nisk. ��� wys. n � w n � w n � w n � w �����
3 4 6 4 5 7 7 10 15 5 7 10 3 4 6
Suma punktów
funkcyjnych
#����6 1x3 1x4 1x5 10x10 5x4 1x6 138
#����7 2x4 2x5 2x7 5x10 5x4 102
Razem 3 12 15 14 150 40 6 240
%�������� ����� ��� ���� ��� �������� ���� ������ ���������� ����� ����������
kory������ ���� �������������� �� ������� ������ ��� ����������� ���� ������������������ ������� ����������� ��!� ����� �� ���ie on-line, rozproszenie, ������� ��e��������� �������� ���!!� $������ ������� ��� �������� �������� �����
obli����������������
Skorygowane FP = [0,65*������ ��� �������������������� ����������
Zaproponowano przeliczenia miary punktów funkcyjny��� �� ������ ��� �������!�
Przy �����������������������������������������!
����� ��������� Liczba linii kodu przy �������� ��
jeden punkt funkcyjny
Assembler 320
Basic 107
C 128
C++ 53
COBOL 107
Delphi 29
Eiffel 21
Java 53
���� ��� ����ny 3200
Oracle Developer/2000 23
SQL 13
Visual Basic 5 29
4GL 20
Zalety
��� ��� ��� ������ ���� ��� ��������� �� ��� ������ �� ��� ����������� �� ���� ���
pro��������!�%������������������������ ���������������������� �����������
wczesnych etapa������ ��!�'����������������� ���� ���� ���������!�#��������
���������������������������������������� ��� ���- IFPUG.
Wady
��������� ����� ������ ��� ���� ��� �������� ����� ������ ����� ������� ����
przypi�������!�'�������� �����������������acji tej metody. Ponadto metoda ta jest przypi����� �� �������������� ����� ��� ���������!� %������ ��� ���������� ��
������ ������������!
• #������������ ���� �������������!���� ��� ���� �����!�#��������������������
punktów funkcyjnych. Jednak �� ���������� �� ��� ���� ��� ��������� ��� ���
konstruk������ ���������� ���� ���� �����ntom funkcjonalnym oprogramowania, lecz ��������� ���� ������!� %������� ���� ���� ����� �� ���� ���������� ����������� ���
����� ���� �������� ).'/ � � ����� ����� ��� ������ ������� ��� ��������� ���89(!�
"������������������ ���� ���������������������� ����������� �����������������
konstruk���� � ����������� ���� ��� ����� ������� ������������ �� ����������� ��� �������
����� �������������� ������� ����������� ����entu. Dla ekranów i raportów zaproponowa�� ������������ ������ �������� ����� �������� �� ���������� ��
���� ����� ����� �� ��rtów oraz liczby bazowych relacji. Dla obliczenia sumarycznej �����������������u����������� ������ ��� ���� �����!
Meto��� ��� ���������� ���� �� �������� �������������� ������� ������������
istniej�cych elementów konstrukcyjnych.
Zalety i wady� ������������������������������������� ������� �������!�$��� ��������������������������������� ��������� ����).'/!
4. Metody estymacji
%������� ���� ������ ����������� ����� ���������� ��� ���� ��������������� ����
po ���������� ��������������!�%������d��������������� ��������������������������
�������������������������������������������������� �����������ktu.
1. �������� ��� ������!� /��������� ��� ��� ������ ���� ��� ��������� �����������
�� ����������������������������������!�,���������������������������������
�� �������� ��� ���� ��� �������� �� ������������ �� ������������ ��������!�
Informacj�� ��� ������ �������� ������� �� ��� ���� ����������� ��� ����������
���������� �� ������ ������� �������������� ��� ����� ��� ����� ���������
�������������������� ����������������������������� ����!
2. Metoda bottom-up!� /��������� ����� �� ������� ���� � �adowych jednostek komponentów oprogramowania i poszczególnych etapów ich realizacji: projektu, kodowania, testo������� ���!�� ��� ����� ������� ���� �� �� ���������� ����!� ,���������
wyniki poszczegól�������������������������!
3. Modele parametryczne. Estymacja� ����� �� ������� ��� ��������� ��� ���� ����������
����� ���������� �� ����� ���� ��� ������ �� ����� �� �� ����������� �� �������
���������!�%����������� ��������������� �������������������������������������
��������������������������� ��� ���������������!������������������������������������� ����� ������������!� #����� ��� ��������� ���������� ��� ���� ��������� ���
podstawie bazy estymowanych i zrealizowanych projektów.
4. PERT!� %� �������� ���� ���������� ��� �� ������� ��� ��������� � �����
prawdopodo��������� ���� ��������� l, najlepszego h i najbardziej prawdopodobnego przypadku m��� ������a������������� �������������������������������������
�� !���"����#���$%&$���'
%�����������������������������������������������������$�����!
5. Metoda top-down!� /��������� ����� �� ������� ���� �������� �� � ������� ���
podsta���� ���� �������� ��������� �������� ���� �� �������������� ����������!�
Wyniki es���������������������������������������������� ������ �������!�
6. Metoda Delphi. Dla realizacji tej m����� ����� ���������� ������� � ������!� / ������
rów������� ��������� ��������� �������� ��� ��!� %��� �� ���������� ��� ����������
kon�������!��������������������������������������������������������������ików
Metoda Zalety Wady Analogia Bazuje na ������������ 3� ������������������� ���
nowego typu ��������������������� ����
�������������� Bottom-up /������������������������������
������ ��dniejsza ������������������ ����� �� Stabilna
������������������������ ���
��������������������������
systemu Jest kosztowna
Modele parametryczne
Obiektywne i powtarzalne 3�������������������������� �� ������������������ ������� ��
Trudna jest kalibracja metod )����������� ���������� ���
subiektywny Nie obejmuje wszystkich dziedzin ��������
PERT �������������������
Trudne do uzyskania dobre dane ��������
Top-down Wspiera widzenie systemu jako ���o��� Efektywna
������������������������ Nie wspiera szczególnych przypadków
Delphi +������������������
alternatywnych estymacji Ogran�������� ������ ������
%��� �����&������� ���� ���*����������������������������������������� ��������� �����
�����������!�,����� ����������������������� ��������������������� ��osowana jest ������������������������������ ���������������������������������������������������
konkurencji, abstrahu���������� �����������������������!
5. Parametryczne modele estymacji projektów
%� ���������� �� ����������� ����� �������������� �������� ���� ������ ��������� �����
modeli parametrycznych:
o Modele oparte na regresji –���� ����������������COCOMO, o Modele fenomenologiczne –���� ����������������SLIM, o Modele heurystyczne –���� ����������������PRICE-S, o Modele hybrydowe –���� ����������������SoftCost.
4���� � ������ ��� ��� ������ ������� ��� ������� �������������� ������ ��������� �����
��� ���������������������������������������������������������������� ������
�������������������������������!�:��������������������������
�� !���"����#�α ∗ (rozmiar) β
gdzie:
α jest pewn�� �������� ������������� ����� ������ ��� ������������� ���
������n������������������� β� ����� ���������� ������ � ���� ���� ���� ���������� ��� �����a��� �� ����
pracy.
"������ �������� ���������� ������ �������������� ������ ������������ ��� ���������
rysunku.
�
���������������
��������
������ �����������
���� ������� �����
���������� � ����������
#�� ����
$��������
%����
��� ����������� �� �������
������������ ������ ������ ���� ������ ������ ���� ������ ������ ����� ������������� ��
wyzna������������������������������������������ �������������������������
czynni �!�+��������������������������� ������������������������������������������
przez parametr β!���� ����������������������������)")"#"�������������������
��������� ������ ��� ���� ���� ����������� �������� ������� ����� �������� ��� ��� ��
in������������������������������������
∗+
=
∑=∗∏∗=
5
1
01,091,06
1)(45,2 j
jSF
ii sizeEMPM
gdzie: • PM oznacza ��������������������������������������������������; • size oznacza rozmiar budowanego systemu informatycznego w standardowych
li������ ����������2 • EMi i SFj��������������� ���� ��������������������� ���������o
���������cym znaczeniu;
SF1 -������������ SF2 /���������������������� SF3 Ryzyko wyboru architektury SF4 '������������� SF5 Opanowanie technologii
EM1 ,���������������������� �� EM2 %��� ��������������;������������z������ EM3 1��������������������-programowej EM4 5������ �������������� onawców EM5 $�������������� ����� EM6 '��������������������������istycznych
����������� ������ ����� ���������� �� ����� ����� �� ������ ���������� ��� ����
����iwia��� ������� ��� ����� �������������� ������� ������� ����� �����
���� ������!� 1a������� ������� ����� ���������� ����� ������� ���������!� ' ������� ������
����������� �� ������� ����������� �� ������� ������� ������� ����������� �������
���� ��������� ���������. Naj ����������������������� ������������ ��������������
��� ����� ������������ �� ��������� �� �����!� 1�������� ��� ����������� ���
������������� �!
�
� ��
��� ��
#������� ��� �������� #�������
������� ��� ��������
���������������������������������������������������u o szacowanym rozmiarze ������ <=� 5'(")� ���� ������ ��������� ������� ���������!� ��� ���� ���� ��������� �� �
niepraw������ ����� ��� ������ � ����������� ���������� ������� ���� ��������
�������������� �������������� ��������������ealizacji. Plan nominalny Plan o najkrótszym
czasie realizacji ��������������
koszcie ,� ��������� [roboczomie�����>
40 97 14
Czas realizacji ?��������>
12,4 10 16,2
Koszt 605 000 $ 1 479 000 $ 212 000 $
Maksymalna liczba wykonawców
4,8 14,6 1,3
�������������� 3,2 9,8 0,9
wykonawców ,����������� ������������������������� ������������������� ���������� ������������
od wyrafi������� �� ����������� ������� ��������������� ����� �� ����� ���� ������
��� ����������� �!�%�������������������������� �����������������������������!�
1�������� ������ ������� ���������� �� ������ �a����������� ��� ��� ��������� ��������
wykres. �
������� ����
�����������
�� ����
'������ �����
��������
���
���
������
���
�����
%�������
��� ��
6. Podsumowanie
/��������� ��� ���� �������������� ����� ������� ���������!�$��������� ��� ������������
dob���� �������� ������� ���������!� 1�� ������������ ������������ ��������������a������ ������!�+��� ������������������� �� ����������������������������
stosowa����������������������������!������ ������������������ ��������������
zasto���������������������� ������������������������ ����������������� �������!�
Ak�������� ����� �� �� ���������� �� ���� ���� ��� ��� ������������� ������������
rozwi������� �� ��������� ������!� �������� ������� ��������� ���d ������ ��������
defin����������������� �!
1� ������� ������ ���������� ��� �� ������ ��������� ���� ��� ��� ��� �� ��
informatycznym. Prawdopodobnymi przyczynami tej niedobrej sytuacji jest brak opanowania tych tech�� ������������������������������� ����������������������������������������
������������������������������������������������������������������������ �����
�� ������ ����������� ����������� �� ���� ���������!� %������ ����� ��� ����� �� ������� ��
��������������� �����������������������������������������rmatycznych.
$���������������������� ����������������������������������������������������������
������ ������� �������� �������������� �� ������ ���� ��������� ��� ����
informa��������!� ,��� ������ ��� ��������� �� �������� ��� ���� ������������ � �� ���������������� ���� ������������������������ ����� ������������ ������
�������������a��������������).'/!
Literatura:
• Boehm, Barry, Software Engineering Economics, Prentice-Hall, 1981 • Putnam, Lawrence, Myers Ware, Measures for Excellence: Reliable Software on Time,
Within Budget, Yordon Press, 1992 • Marciniak, John, Encyclopedia of Software Engineering, John Wiley & Sons, Inc.1994 • Humphrey, Watts, A Discipline for Software Engineering, Addison-Wesley, 1995