• Nie Znaleziono Wyników

Wybrane metody szacowania zasobów w inżynierii oprogramowania

N/A
N/A
Protected

Academic year: 2021

Share "Wybrane metody szacowania zasobów w inżynierii oprogramowania"

Copied!
19
0
0

Pełen tekst

(1)ITI?. 551. w. Dariusz Dymek Katedra Informatyki. Wybrane metody szacowania zasobów w inżynierii • oprogramowarua Streszczenie: W tworzeniu oprogrllmowaniajcdnym 'l podstawowych ctapów jest przygotowanie hamlOnogrnrnu i budżetu prLcdsir,:wzio;:cia. Pilcwidywane kosZly slanowiij jedną z głównych prlcslanek podjęcia decyzji o realizacji lub odrzuceniu projektu i dlatego dokładność szacowania koszt6w jest b3r<l7.0 wa:rnym czynnikiem . Jednak ze względu na specyfikę oprogramowania, do której nalcżol : długi CZIlS powstawania. bllf(lzo wysoki poziom zlożanoki. duza liczba czynmków. na kOlkowy efekt prac, silna zależność od dziedziny zastosowań i duże różnice poszczególnymi projektami. sIanowi 10 bardzo poważny problem. Do oszacowania koszIÓW w projektach informlllycznych wykorlystywane są modele predykcyjne. pozwalające na OSZUcow~nie kosztów w początkowcj fazie projcktu . Prace nad tymi modelami rozpoc~ly si~ już w latach 60. i trwają do dziś . Oprócz klasycznych metod statystycznych modele te wykorzystują również inne ZIl:lwanSOWllne metody m.in. z obszaru sztucznej inteligencji . Celem niniejszej praey jest prledS1llwienie metod wykorlystywanych II' modelach predykcyjnych. ic h właściwości i moż· liwości wykorqStania, tak aby ułatwić wybór metody w konkrctnym prly padku. Słowa k ł ucl.uwe : inżynieria oprogr.lffiowilnia, metody analizy danyc h, modele prcdyktywne. szacowanie kosztów . wpływających pomiędzy. l . Wprowadzenie Oprogramowanie komputerowe jest jednym z najbardziej zlozonyc h produktów człowi eka, szeroko wykorzystywanym w zyciu codziennym. nie posiadającym praktyczn ie żad ny c h mozliwości substytucj i. Dodatkowo oprogramowanie komputerowe wyróznia jeszcze jedna właściwość - unikalno ść. Praktycznie każdy program komputerowy jest nie powtarzaln y i jedy ny w swoim rodzaju . W konsekwencj i proces tworzenia oprogramowania komputerowego, mimo i s tni ejącyc h p odobień s tw , jest równ i eż procesem unikalnym i niepowtarzalnym , wyma g ającym zaangazowan ia wielu specja listów z róznych dziedzin , ni e tylko z obszaru inzynierii oprogramowania..

(2) Dariusl.. czas trwania projektów informatycznych oraz s kalę rodzi s ię potrzeba precyzyjnego zaplanowania całego procesu i określenia jego kosztów jeszcze przed rozpoczęciem prac lub w jak najwcześ ni ejszym ich etapie . Ma to na celu ograniczenie ryzyka zwi'lza nego z ka żdy m przedsięwzięciem informatycznym. Praktyka w tym zakresie nie jest niestety zadowalająca - analiza zakończonych projektów wskazuje, że ś redni bląd niedoszacowania zarów no czasu trwania projektu. jak i jego kosztów wynosi 50% lMilosz 1997]. Jest to konsekwencją faktu, że w większości przypadków planowanie prac, a w konsekwencji oszacowanie kosztów tworzone jest tylko na podstawie osob istego doświadczenia twórców oprogramowania 1J0nes 1998; Lederer, Prasad 1998] . W obecnej sytuacji . przy silnej konkurencj i panują cej na rynku, coraz więcej przedsięwzięć jest realizowanych przy przyjęciu stopy zysku na poziomie kilku lub kilkunastu procenI. SI'ld tak wysoki margines błędu jest absolutnie nie do przyjęcia. Pomocne dla twórców oprogramowania są metody formaln e, a w szczególności modele predykcyjne. Łączy je wspólna idea, aby na podstawie posiadanych informacji na temat zakończonych projektów stworzyć model pozwalający na precyzyjne oszacowanie poszukiwanych parametrów procesu tworzenia oprogramowa nia na podstawie danych dostępnych w jego początkowej fazie. Formalnie można to następująco sformu łowa ć: Niech X;: (XI' ... , X,,) będzie zbiorem danych dostępnych na początku procesu oraz niech Y =(Y I , ... • Yn ) będzie zbiorem poszukiwanych parametrów. Na podstawie zbioru danych o zakończonych projektach postaci (X, Y) należy skons truowa ć funkcję F taką , że: Ze. względu. na. długi. angażowanych środ ków I. y = F(X). +,. przy za łożon ym poziomic błędu E. Tak skonstruowaną funkcję możemy na s tęp­ nie wykorzystać do znalezienia parametrów Y w nowym prOjekcie, po zgromadzeniu danych X. Dane te są gromadzone w początkowej fazie procesu w trakcie specyfikacji wymagań i analizy wyk ona lnoś c i . Określają one m.in . takie właściwości przyszłego produktu,jak złożoność, wielkość, liczbę i rozmiar poszczególnych modułów , platformę syste mowo- sprzę tową , język programowania, narzęd zia programistyczne, docelowe środowisko eksploatacji, wymagania dotyczące ni ezawod ności, itp. Na podstawie tych danych określane są parametry przyszłego procesu, a mianowicie czas trwania poszczegó lnych faz, li czeb n ość i s kład zespołu projektowego w trakcie realizacji poszczegó lnych z adań , prawdopodobieństwo wystąpienia błędów w poszczególnych m od ułac h i związany z tym czas i rodzaj potrzebnych testów walidacyjnych. itd. Oszacowane parametry pozwalają z kolei na oszacowanie kosztów calego proces u. Warto tu podkreślić, że c hociaż szacowanie kosztów jest jednym z głównych ce lów u życia modeli predykcyjnych , to nie jest to ce l jedyny - stal Na przykł ad nowy system informatyczny dla ZUS-u będzie w latach 1998- 2000 kosztowa! ponad 200 mln USD (ComputerWor!d nr 44, styczeli 1997)..

(3) szacowania zasobów .... nowi on raczej końcowy wynik planowania całego procesu tworzenia oprogramowama. Istnieje wiele różnych modeli predykcyjnych, które różnią się między sobą przede wszystkim postacią funkcji F, wymaganiami stawianymi danym wejściowym X oraz ukierunkowaniem na pewne specyficzne obszary zas tosowa ń . Na rynku dostępnych jest wiele narzędzi informatycznych implementującyc h modele predykcyjne. Na l eżą do nich takie narzędzia jak COCOMO. GECOMO, REVIC , SUM, PRICE-S, ProQMS. SoftCost, SPQRl20 czy CHECKPOINT. Należy podkreś li ć tutaj dwa istotne fakty. Po pierwsze, modele predykcyjne wykorzystywane m ogą być zarów no do oszacowania kosztów wytworzenia oprogramowania. jak i do oszacowania kosztów utrtymania (eksploatacji) systemu. Z zastrzeżen i em, że oszacowanie kosztów utrzymania ulega zmianom w procesie tworzenia oprogramowan ia , co wynika z faktu, że dokładniejsze oszacowanie kosztów utrzymania oprogramowania wymaga danych, które są dostępne dopiero w końcowej fazie procesu tworzenia oprogramow:m ia . Po drugie. każdy model przyjmuje pewien ustalony poziom jakośc i oprogramowania. Mówiąc inaczej zakłada, że proces powstawania oprogramowania będz i e zgodny z obowiązującymi w tym zakresie standardami . O wartości modelu decydują dwa podstawowe ełemen ty : zakres potrzebnych danych oraz wykorzystywana metoda analizy danych. Pierwszy z e lementów wp ł ywa na koszt wykorzystania modelu . natomiast drugi wpływa na dokładność oszacowań. Ze względu na specyri k ę danych wykorzystywanych w modelach predyktywnych, ktÓra jest przedstawiana na początku punktu 2, podstawowym problemem jest wybór właśc i wej metody analizy. W niniejszej pracy pragnę przedstawić przegląd podstawowych metod wykorzystywanych w procesie analizy danych w modelach prognozuj'lcych . W punkcie 2 przedstawione zostaną naj częśc i ej stosowane metody. Punkt 3 stanowi próbę porównania tych metod poprzez wskazanie ich s łaby c h i mocnych punktów . Wnioski płynące z tych rozważań wraz ze wskazaniem obszarów dalszych badań z najdują się w punkcie 4.. 2. Metody analizy danych w modelach. prognozujących. tl"ódla j jakość tl{lI/ycl!. Żród łem danych d ł a modełi predykcyjnych są miary oprogramowania. Obecnie zdefini owanych jest co najmniej kilkaset róż­ nych miar oprogramowania. z których dla potrzeb konkretnego proje ktu lub organizacji wybicra s i ę od kilkunastu do kilkudziesięciu miar , ktÓre tworzą system miar (measuremem fra mework) , s tanowiąc y pods t awę calości procesu pomiaru. System miar może być konstruowany zarówno na potrzeby konkretnego projektu,jak i danej organizacji. Koni eczność wykorzystywania tak dużej liczby różnych miar w pojedynczym projekcie informatycznym wynika ze z ł o­ żoności produktu , jakimjest oprogramowanie oraz z koni ecznośc i konLroli kil -.

(4) Dariusl. kudzi es ię ci u l w ł aściwości wpływaj ących. na jego końcową jak ość. Konselego jesl duża ł iczba zmiennych, którą mus i uwzględniać każdy model predykcyjny. Po ł ączenie tego z faktem , że znakomita większość miar oprogramowan ia wykorzystywanych do pomiaru tej samej właściwości nie jest porównywalna J , jest przyczyną jednego z podstawowych problemów związanych z da nym i, a mianowi cie problemów z uzyskaniem wysta rczają co licznego zbioru danych żródł owyc h umo ż l iwiających stworzenie modelu. Innym problemem związanym z danymi jest istnienie związków pomiędzy poszczególnymi właściwościami oprogramowania , co prowadzi do powstania si lnych za l eż n ośc i pomiędzy zmiennymi, za l eżności zarów no o chara kterze liniowym, jak i nicliniowym. Dodatkowo, ponieważ procesu pomiaru właści­ wości nie można w pelni zauto mat yzować, nal eży li czyć s i ę z możliwością wyst'łpienia problemu niekompletnych danych i wartości izolowanych. Niektóre z tych problemów mogą zos ta ć zredukowane lub nawet wye liminowane dzięki wykorzystaniu różnego rodzaju metod np. liniowe za le ż no ści można usunąć korzystając z analizy czynnikowej (facto,. allalysis). Jednak czę­ ści problemów nie można w ten sposób rozw i ązać, co w specyfi cznych przypadkach może p rowadzić do eliminacj i niektórych metod anali zy, szczególnie podatnych na daną sytuację. Te problemy czyn i ą proces tworzenia modelu znacznie trudn iejszy m, a modeJ uzyskany w tym procesie mniej pewnym. Są one również podstawową przyczyną poszukiwania innych niż statystyczne metod analizy danych. Metody stat)'st)'cZ/le. Mimo i stn i ejącyc h problemów z jakości,} danych, metody stat ystyczne s ą naj częściej wykorzystywanymi metodami w modelach prognozujących . Najpopularniejsze 4 metody statystyczne to oparte na regresj i liniowej metoda najmniejszych kwad ratów i metoda najmniejszej mediany kwadratów 5 • Wymagają one m.in., aby li czba danych znacznie przekraczała liczbę poszukiwanych parametrów, niewielkiej liczby istotnych zmiennych niezależnyc h oraz kompletności (tzn. nie d opuszczają brakujących wa rt ości),jed ­ norodn ości i porównywalnośc i danych [Zając 1988}. Te ograniczenia spraw i ają, że metody te sprawdzają się naj lepiej w standardowych projektach. Jednak, ponieważ wię k szość zastosowań biznesowych technologi i informakwencją. l W najczęściej wykorzystywanych modelach jakości oprogramowania [Kitchenham. pnccger 1996) do których należą : model Dromey'a, modet McCatl'a i model t50·9126. wyróżnia s ię ok. trzyd z ieści podstawowych właściwości oprogramowania maj:lcych wplyw na jego jakoSć. l Pod pojęciem porównywalności rozumiemy sytuację, w której znajomość waności jednej z miar umożliwia wyciągnięcie racjonal nych wniosków co do wartości (choćby prlybliżoncj) innej miary . ~ Informacje na temat popularności różnych metod podają w swoich pracach A.R . Grcy i S.G. MacDonelI [Grcy. MacDonnelI 1997: Grey. MacDonnell 1997a: MacDonnelI. Grey 1997) opierając się na częstości występowania danej metody w literaturze związanej z analizą danych w zasto· sowaniach związanych z inżynierią oprogramowania. Upatrują oni przyczyn popularności metody najmniejszych kwadratów w jej prostocie i dostępności w praktycznie wszystkich popularnych pakietach statystycznych. i Metody te są standardowymi metodami stat ystycznymi. Ich prezentację i dokładne omówie· nie mol.na znateM: np. w [Metody ... , 1992]..

(5) szacowania zasobów ... tycznej mo ż na zal ic zyć do projek lów standardowyc h, rola,jaką odgrywają te metody dzisiaj jest bardzo istotna, na co wpływa niewątpliwie wieloletnie doświadczenie w ich wykorzystaniu. W ostatnich latach pojawiła s i ę jeszcze jedna metoda regresyjna, na którą warto zwróc i ć uwagę ze wzg l ędu na jej odmienność. Metoda regresji logistycznej (logistic regressioll) [Morasca, Ruhe 1996] zamiast poszukiwania zw iązków funkcyjnych określa prawdopodobieństwo przynależności danego przypadku do jednej z wyodrębnionych kategorii. D z i ęki temu staw ia ona znacznie niższe wymagan ia co do jakości danych. Metoda ta zos tała stworzona do zastosowall w biomedycynie, a s tamt ąd przenies iona do zagad ni eń inżynie­ rii oprogramowania6 . Wymienione metody stanow ią jedynie przykład metod staty stycznych wykorzystywanych w modelach predykcyjnych . Niemniej są to najbardziej zna ne i najczęściej wykorzystywane metody? Ze względu na popularno ść metod statystycznych nie będziemy ich szerzej omawiać, kon ce ntrując s ię na mniej znanyc h metodach, które pow stały w ostatnich latach. Sieci lIeurOllowe. Sieci neuronowe podobnie jak omawiane później systemy rozmyte i systemy oparte na wiedzy, należą do metod określanych wspólnym mianem szt ucznej inteligencji (clrlificia{ illte/ligence). Są one najbardziej popularną niestatystyczną metodą, wykorzystywaną w tworzeniu modeli prognozującyc h i traktowaną jako alternatywa dla metody najmniejszych kwadratów. Należy zwrócić uwag~ na fakt. że wykorzystywanie nazwy siec i neuronowe jest częśc i owo niepoprawne, gdyż w inżynierii oprogramowani a wykorzystuje się tylko jeden z rodzajów siec i neuronowych: antycypacyjne sieci neuronowe z pro pa gacją wsteczną (back-propagarioll rrained feed-forward llellralllellVorks). Rozwój sieci neuronowych w ostatnich latach s prawił , że nastąpi I znaczny rozwój w zakres ie ich zastosowań [Rume lharl, Widrow 1994: Rumelhart, Widrow 1994; Zadeh 1994]. Przyk ł ad wykorzystania siec i neuronowych do oszacowania ca ł ości nakładów na real i zację projektu na podstaw ie specyfikacji wymagall przedstawia rys. I. Prezentowana sieć neuronowa jako metoda "uczenia s i ę" wykorl:ystuje propagację wsteczną, polegającą na takim dopasowaniu wag, aby z minimali zować błąd oszacowan ia. W ogólnym przypadku tworzenie siec i neuronowej rozpoczynamy od określenia struktury sieci obejmującej: li czbę neuronów.liczb~ warstw i sposobu połą cze nia poszczegó lnych neuronów ze sobą. Następnie określa my zachowanie się poszczególnych neuronów: funkcje przejścia (transfe r fUllctiolls) i parametry algorytmu uczącego. Tak s kon s truowaną s ie ć możemy poddać procesowi uczenia , polegającemu na dostarczeniu serii danych na wejście i dostarczeniu poprawnych rezu ltatów (wyjście). S i eć "uczy s ię" 6 Przykłady wykorzystania regresji logistycznej można zna1.etć w IBriand, Morasca t994: Basiii. Briand t996: Briand, Dcvanbu 1996J. 1 Zainteresowany Czytelnik może znaleźć informacje o innych metodach statystycznyc h w [Lanubile. Visaggio 19961..

(6) Dymek. poprzez laką modyfikację wag, aby zminimalizować różnicę pomiędzy wartoprzewidywanymi i rzeczywistymi danymi. Proces uczenia s ię zostaje zakończo n y po osiąg ni ęciu przez s i eć optymalnego poziomu generali zacj i (mierzonej jako zdolność oszacowania na nowych danych). Proces uczenia się siec i nie może trwać zbyt długo ze względu na możliwość wystąpienia efektu "nauczen ia s i ę" danych treningowych i utraty zdolnośc i do uogólnieJl. Zwykle w procesie tworze nia modelu testowanych jest kilka różnych architektur i wybiera się najl e p szą z nich, na podstawie weryfikacji prowadzonej na danych walidacyjnych. Metody z użyciem sieci neuronowych są również populame w innych dziedzinach, co można uzasadnić ich pozorną prostotą i odpornością na "nieporZ'ldne" dane. W literaturze często wykorzystuje się przykład y u życia sieci neuronowych dla danych tak małych lub z takimi za l eż n ościami, że klasyczne metody statystyczne ni e byłyby zdol ne do uzyskania wartościowego wyniku. W rezultacie często autorzy sugerują wykorzystani e sieci neuronowych jako rozwiązanie problemu analizy "nieporz'ldnych" danych. W rzeczywistości sieci neuronowe nie są odporne na prob lemy statystyczncj analizy danych, gdyż w wielu przypadkach są one równowa żne standardowym metodom statystycznym, przyk ł adowo: prezentowana sieć neuronowa jest równoważna modelom opartym o wielokrotną re g resję nieliniową (lIIultiple IWII-lil/ear regreJJioll) ścia mi. IGrcy, MacDonc lI 1997].. wej śc ie. warstwy ukryte. wyj ście. liczba elemenlów w modelu danych liczba ekranów. liczba raportów. caloS\! nakładów na realizację projektu. liczba Iwor/.onych modułów. liczba modyfikowanych modułów. Rys. l. Przykład struktury sieci neuronowej w modelu [Grey, MacDonell 1997].. progn ozującym.

(7) w wykorzystaniu sieci neuronowych odgrywa wspomniany wcześniej problem uzyskania odpowiedn io du żego zbioru danych . Wynika 10 z faktu , że jakość procesu uczenia s i ę za l eży od danych treningowych, a w szczególnośc i od ich ilośc i i różnorodności. M ożna dowidć , że anlycypacyjne sieci neuronowe z propagacją wSl eczn ą są w stanie wykryć każdy "dobrle zachowujący s ię" rodzaj zależności międz y zmiennymi. Jako "dobrze zachowujący s ię" rodzaj za l eż no śc i rozumiemy za l eżność, którą mo ż na opisać funkcją (w sensie matematycznym). Dlatego często sieci neuronowe okreś l a s ię mianem uniwersalnego aproksymatora (u niversal approximator). Proble m tkwi w tym, że dowód tego faktu nie dokon uje żadnych za ł ożeń co do il ośc i warstw w architekturze sieci i ilo ści neuronów. A poni eważ czas " nauki" i ilo ść potrzebnych danych testowych jest wprost proporcjonalny do ilości ne uronów w sieci, istnienie teoretycznego dowodu , że s i eć pos iada możliwo ść wykrywania za l eżn ośc i ma niewi e lką użyteczność, gdy ż nie zawsze może być ona wykor.tystana praktycznie . Inn ym probl eme m zw i ązanym z sieciami neuronowymi jest proble m inte rpretacji wyników i ich akceptacji przez u ży tk ownika. Po nieważ sieć ne uronowa funkcjonuje jako "czarna skrzynka", nie dostarczaj'lc u ży tk ow nikowi infonnacji na temat , w jaki sposób zostal osiągnięty wynik, powstaje problem,jak uzas adni ć taki rezultat i czy rezultat te n jest na pewno poprawny. Probl em ten zre sz t ą nie dotyczy tylko sieci neuronowych i zag adni e ń związanych z inżynie­ ri " oprogra mowania , alc wszystkich zas t osowań technik sztucznej inteli ge ncj i, funk cj onującyc h na podstaw ie koncepcj i "czarnej skrLynki 8". Analizując kw es tię wy korzystania sieci neuronowych w modelach prognozujących nal eży wspomnieć o problemi e wyboru warto śc i począ tko wyc h dla poszczególnych wag i wla śc i-weg o algorytmu uczącego. Jest to o tyle wa ż ne , że w niektórych prLy padkach może prowadzi ć do roz wią zania opierającego s i ę na jakim ś minimum lokalnym , pomijającym istotne za l eżnośc i . Systemy rovnyte . Kolejnym przykladem metod sztucznej inteli gencji są systemy rozmyte (jIl ZZY systems) . Systemy rozmyte nie są zbyt popularne w zastosowaniach z zakresu in żyn i e rii oprogramowania, co może trochę d ziw i ć bi o rąc pod uwa gę ich burzliwy rozwój w ostatnic h latach [Zadeh 1994]. Ich ogólna idea opiera się na przetwarzaniu wartosci opi sowych zamiast wart ości numerycz n yc h 'ł [Munakata, Jani 1994 ]. Systemy wykorzystywane w modelach predykcyjnych składaj 'l się z trlech ele mentów : - funkcji przy należnośc i (me mber~·hip filllction) - okreś laj ącej, w jakim stopniu wartość numeryczna dla konkretnej zmiennej speł nia roz.wa ża n e kryteri um , - zbi oru reguł wnioskowania (rule base) - p owstałego na podstawie wiedz.y ekspertów z danej dziedziny o modelowanych zależ nośc iac h i u z upełnionego I S l otną rolę. 8 Koncepcja" czarnej sknynki" (blllck..box) opiera się na założeniu, żc analizowane jcstt ylko i wyjScic systemu, bez analizy sposobu d ziałani a. Ma ona szerokie zastosowanie w inży. nierii oprogramowania, szczególnie w melOdaeh testowania oprogramowania. 9 Zamiast operować wanościami numerycznymi przypisujemy zmiennym waność kategoryzującą pcwną waność np . .,m ało", "Srednio", , .dużo· · itd, wejśc ie.

(8) DaritlJl. Dymek na podstawie. róż n yc h. technik wnioskowania sterowanego danymi (data-dri-. vell adaptatioll techniques) , - procesu usuwan ia rozmycia (defuzzificatioll process) - polegającego na przetworzeniu wy ników system u w pojedynczą n um eryczną lub lingwistycz n ą wartość. K orzystaj ąc. z regu ł wnioskowania system dokonuje mapowania p om i ędzy a wyjśc i owy m i funkcjam i przyna l eżnośc i . Wielko ść wp ł yw u poszczególnych zmi ennych wejśc i owych na rezultat y pracy syste mu jest zależ na od reguł wnioskowania i wa rt ośc i fun kcj i przy nale żnośc i - im większa wa rtość funkcji przyna l eżnośc i , tym w i ę k szy wp ł yw reguły na wynik. Sposób wykorzystania systemów rozmytych prześledzimy na przykładzie zaczerp ni ę­ tym z lGrey, M ac Do n e łl 1997]. wejśc i owym i. Zmienne mały. 0.5. wejściowe. średni. 30 modelu danych średni. mały. wnioskowania. Zmienne. wyjściowe. duiy. -----. wielkość. Reguły. duży. Jeieli model danych mały lo czas tworzenia krótki Jeieli model danych średni i ilość ekranów mala 10 czas tworzenia średni. Jeieli ... długi. krótki. 05 O.,. 254. 26 iloŚĆ. Olał. 0.8. ekranów. czas tworrenia oprogramowania. średni. -74 wielkość. modelu procesów. Rys. 2. Wykorzystanie systemu rozmytego d o oszacowani a czasu trwan ia projektu lG rey, MacDonnell 1997]..

(9) szacowania Załóżmy, że mamy dane numeryczne obejmujące: wielkość model u danych (30), l iczbę ekranów (26) i wie lkość modelu procesów (74). Proces rozpoczynamy od umiejscowienia tych wartości na fun kcji przy n ależności i okreś l en i u ich przynależności do odpowied nich wartości. Patrząc na rys. 2 m ożna za uważyć, że w i e lko ść modelu danych jest ś re dn ia w stopniu 0.5 i duża rów nież w stopniu 0.5, wielkość model u procesów jest mała w stopniu 0.8. natomiast liczba ekranów jest mała w stopniu 0.5 i ś rednia w stopniu OA. Stopień prlYna l eżności do danej wartości o kreś la wagę przyp i saną do regu ł związa n ych z tą wartośc i ą w dalszym procesie przetwarzania. Następ n ie tak uzyskane wartośc i są .,przepuszczane" przez zbiór reg uł. Wyniki zastosowania reg uł przy uw zg l ędnieniu wagi każdej z reg uł są pods tawą do wy liczenia wartości k ońco­ wej: w naszym przykładzie czas tworzenia oprogramowania jest ś redni w stopniu równym l (krótki i d ł ug i w stopniu równym O). Wynik ten w procesie usunięcia rozmycia zostaje zam ieniony na wartość li czbową (254 godziny). Podstawowa zaleta systemów rozmytych tkwi w korzystaniu przez nie z warto śc i lingwistycznyc h, które są intuicyjne i z rozumia łe dla wszystkich. Umożli ­ wia to ich wykorzystanie bez specjalnego szkolenia. Natomiast s łabą s t roną systemów rozmytych jest problem stworzenia system u o d u żej dokł adnośc i : zwię k sza ni e dok ładności wymaga zwiększenia liczby reg uł i ich większą komplikację, co w kon sekwencji prowadzi do bardziej skomplikowanych systemów i zmniejszenia ogó ln ośc i systemu. Syslemy hybrydowe ne/lronowo-rozmyle. N iektórzy z autorów pró bują połączyć za lety siec i neuronowych i systemów rozmytych w pojedy nczych neuronowo-rozmytych systemach (hybr id neum-flluy syslenu). Połączenie tych dwóch metod mo ż l iwe jest dzięki podobieństwu podstawowych w ła s no ­ śc i : zarówno sieci neuronowe,jak i systemy rozmy te są systemami adaptacyjnymi. wykorzystującymi łatwo modyfikowal ne regu ł y i pozwalającymi na inicjali zację na podstaw ie d ostę pnej wiedzy. Podstawowa idea systemów neuronowo-rozmytych opiera s i ę na fuzyfikacji danych wprowadzonych do syste mu oraz na możliwośc i zmiany funkcji przy· nal eżności na analogicznych zasadach jak zmiana wag w sieciach neuronowych. W lakiej mieszanej strukturze neuronami są poszczególne wartośc i funkcji przyn a l eżności i reguły, natomiasl wagi po ł ączeń międ zy neuronami okreś l ają rodzaj i stopierl za l eżnośc i . Przykład takiego systemu pokazuj ą w swej pracy A. Grey i S. MacDonelI [ 1997}. Systemy hybrydowe nie są powszechnie wykorzystywane i ich własności nie są do koń ca zbadane . Ciekawos tk ą jest, że choc i aż sieci neuronowe i systemu rozmyte posiadają wspo mnianą wcześn i ej właściwość un iwersa lnego aproksymatora, to systemy mieszane neuronowe- rozmyte tak iej w ł aśc i wości nie posiadają. Systemy oparte fia regli/ach. Systemy oparte na regułach (rule-based systems) oraz prezentowane dalej systemy wnioskowania oparte na przypadkach (case-based reasollillg) należą do podgrupy systemów szt ucznej inteligencji.

(10) DarillSZ. na zywanej syste mami opartymi na wiedzy (knowledge-base systems). Ze na sposób interpretacji regu ł nazywane są również syste mami opartymi na "twardych" regułach (crisp rule systems). Podstaw'l systemu jest zbiór wyrażonych w sposób jednoznacznyl0 regu ł , o bej mującyc h dostępną wiedzę. Wykonanie każdej z reguł jest ograniczone pewnymi warunkami. J eżel i wykonanie reguły sprawia, że s pe łni one zosta ną warunki innej regu ł y, wtedy wykonywana jest następna regu ła . Cykł ten jest powtarlany aż do momentu, gdy nie ma już żadn yc h możl i wyc h do wykonania reguł. Wtedy wyniki są przekazywane na zew n ą tr z systemu , Schemat takiego syste mu przedstawia rys. 3. względu. nowe dane. wejśc,~.,=---_. wyszukanie kolejnej. _. I. [~;::)---'~~.~g"~łyi.lllz~b~iÓI'J Dane reguł. brak reguł do wykonania wynik. Rys. 3. Schemat systemu opartego na. regułach. 2:r6<1ło : opracowanie wlasne .. Systemy oparte na regu łach różni ą się od syste mów rozmytyc h g ł ów ni e tym, wszystkie poprzed niki i n astępnik i mu szą dawa ć jed noznaczny wynik: prawda lub falsz, bez możl iwości pos łu g iw a nia s i ę stopniem prawdy lub falszu jak w syste mach rozmytych. Ic h sposób d ziałania zilu strujemy poni ższy m przykłade m . Dla uproszczenia zapi su przyjmijmy na st ę pujące skróty: W(M) - wielkość modułu wyrażona w liniach kodu ź ród łow ego; CT(M) - czas tworzenia modułu M wy r ażony w godzinac h; RWM(M) - ryzyko wys t ąpien ia błędu w trójstopIliowej skali N (niskie), S (średni e), IV (wysok ie); RT(M) - rodzaj testów dla modułu M w skali S (standardowy), D (d ok ła dne), B (bard zo dokładne) oraz 1.2(M) - li cze bność zespołu tworz'lcego moduł M. W eźmy przyże,. kładowe regu ł y n as tępującej lre śc i :. (Rl ). W(M) < = 50 wtedy (a) j eżeli CT(M) < 2 lo RWB(M): = N; (b) j eże li CT(M) > = 2 i CT(M) < 4 lo RWB(M): (e) jeżeli CT(M) > =4 10 RWB(M): =W;. J eże li. =S;. 10 Pod pojęciem jednoznaczny rozumiemy. że istnieją tylko dwie sytu acje: reguła jest spełniona [ub nic. Nie ma sytuacji takich jak w pnypadku systemów rozmytych. gdzie można mówić o regułach spelnionych w pewnym stopniu..

(11) Wybralle. szacowallia zasobów. (R2) Jeżeli W(M) > 50 wtedy (a) jeżeli CT(M) < =2 to RWB(M): =S; (b) jeżeli CT(M) > 2 to RWB(M): = W; (R3) Jeżeli RWB(M) =N i LZ(M) = I to RT(M): =S; (R4) Jeżeli RWB(M) = N i LZ(M) > I to RT(M): = D; (R5) Jeżeli RWB(M) =S i LZ(M) = I to RT(M): =S; (RIl) J eże li RWB(M) = IV i LZ(M) = I to RT(M): =D. Rozpatrzmy dwa moduły MI i M 2 o następujących w ł asnościach W(M.) = 50, IV(M 2) =52, CT(M,) =CT(M 2) =3 oraz LZ(M,) =LZ(M2) = I. Po zastosowaniu przykładowych reguł otrzymamy proponowany rodzaj testu: dła modułu MI standardowy, a dla moou lu M 2 - dokładny. Przedstawiony przykład pokazał dodatkowo jedną z właściwości systemów opartych na regułach. a mianowicie problem wartości gran icznych. Powoduje on, że dwa nieznacznie różn i ące s ię moduly m ogą zostać zak lasyfikowane cał­ kowicie inaczej. Dlatego czasam i jest to traktowane jako wada tej metody . Z drugiej strony właściwość ta może być zaletą: jeżeli ta niewielka różni ca odpowiada istotny m różnicom mi ędzy tymi modu lami, to d z ięki lej własności system jest czuły nawet na niewielkie zmiany wartośc i zmiennych, które mogą być kluczowe w procesie kJasyfikacji. Problem ten nie jest jedynie problemem inżynierii oprogramowania i jest ws pólny dla wiciu metod klasyfikującychii. Niepodważalną zaletą tych systemów opartych na regu lachjesl ich prostota, łatwość wykorzystania oraz możliwość ś led zen ia sposobu wnioskowania, pozwalająca na ewe ntualną ocenę uzyskanych wyn ików. WI/ioskowanie oparte 110 przypadkach. Systemy wykorzystujące wnioskowanie oparte na przypadkach (case-based reasollillg) powstały jako próba sym ulacji procesu wnioskowania wykonywanego przez ekspertów z danej dziedziny, stąd czasami są określane jako systemy eksperckie [Allen 1994; Hayes-Roth, Jacobslein 1994]. Sama idea jest bardzo prosta i oparta jest na zbiorze rzeczywiście realizowanych projektów (przypadków - case), reprezentowanyc h poprzez dane obejmujące specyfi ka cję wymagań (dane wejśc i owe) i ponies ione nakłady (dane wyjściowe, czas tworzenia systemu , liczebn ość zespo lu, koszt całkow it y itd.). Chcąc dokonać oszacowania dla nowego projektu, na wejściu systemu podajemy dane pochodzące ze specyfikacj i wymagań i w pie rwszym kroku system dokonuje wstępnego przetworl.enia danych (pre -procel·sillg), dopasowując je do mode lu, w którym przechowywane są dane w systemie. Następnie korzystając z funkcji podobieństwa l2 (similari(y IUf/ctioll) wyod rębniane są ze zb ioru przy padków te najbardziej zbliżone do nowego projektu . Na podstawie kombinacji danych wynikowych tych przypadków generowane jest oszacowanie dla nowego projektu. Problem len jesl okrcStany problemem selektywności metod ldasyfikacji . Funkcja podobieństwa stanowi element systemu. sposób doboru lej fu nkcji wykracza poza ramy naszych rozważano 11 12.

(12) Dariusz. Jak w ida ć, proces te n przypomina wn ioskowanie dokonywane przez e k s ~ perta na podstawie wła s nych w cześ niej szyc h do św iadc ze ń. Naji stolniejszym elementem system u jest funkcja pod obie ń s t wa: ma ona d ecyd ują cy wplyw na wynik pracy systemu i jej właściwy dobór jest elementem krytyczny m dla cało­ śc i systemu. Metoda ta uchod zi za m etodę nieodporną na za kł óce ni a i ni eistotne dane, c hoc i a ż przeprowadzane ekspery menty dają bardzo obiecujące wyniki IShepperd , Schoficld 1997]. Ni estety podobnie jak syste my oparte na regu ła c h , wnioskowanie oparte na przy pad kach jest bardzo rzad ko slosowane praktyczn ie i s tąd brak jest więk szej ilo śc i danyc h po z walając yc h na obiekt y wną oce n ę jej m oż liw ośc i. Drzewa decyzyjne. Drzewa regresyj ne (regressioll rree) i drzewa klasyfi~ kujące (cJassificariol/ tree) są oparte na tych samych zasadach , różnią się jedynie sposobem traktowanie dan ych: drzewa regresyjne o pierają się na wartośc iac h li czbowych. podczas gdy drzewa kla s yfikujące wykorzystują kategorie opisowe (np . mało , ś redni o, du żo itp .). Tym samym wyniki algorytmu opartego o drzewa regresyjne określają przed z i ał wartośc i szacowan ej zmiennej, podczas gdy drzewa kla syfikują ce po s ł u g ują s i ę raczej ska l ą nomina l ną lub porząd ko wą dla określenia jej wartości. Idea obu metod jest podobna: na podstawie d os t ęp n ej wiedzy i mają c kompletne dane wywodzi my reg uł y potrzebne do stworzenia a ł gory tmu . Ze w zg l ędu na podobie ń s two obu metod czasa mi nie rozróż n ia s i ę ich i wy korzystuje pod wspó ln,! nazw,!: drzewa decyzyj ne. Zasadę d z iał an i a tych metod najprosciej poznać na przykładzi e. Rys. 4 przedstawia szacow ani e czas u testowania oprogramowania na podstawie drzewa regresyjnego, zamiast w PQstac i przedzia ł ów, wyniki s ą podawane jako wartośc i ś redni e. Jest to oczyw i śc i e przypadek bardzo uproszczony , m ający na cel u ilu stracj ę idei drzew decyzyjnych.. WielkoŚĆ. programu. ' 435K~ ~35 KLOC Czas {wor./.:enia. , 900V Liczba ekranów. Liczba ekranów. ~<900 h średnio. 143 h. ~,. < 10 / średnio. 112 h. średnio. <15/~ ' 15 średnio. 2 15 h. średni o. 243 h. Rys. 4. Szacowanie czasu testowania na podstaw ie drzewa regresyjnego :2:r6<l10: opracowanie wlasne.. 10. 187 h.

(13) szacowania zasobów .. .. Jak wida ć na rys. 4 łi ść mi (węz łami końcowym i ) są poszukiwane oszacowawarto śc i zmiennej za le żnej, nat om iast węzły drzewa rep reze ntują reg uł y pod zia łu - oczyw i śc i e ilo ść n as tę pnik ów każdego węzła nie musi wy n os i ć dwa i m oże przyj mować w i ęk sze wartości , co pozwala na tworzenie znacznie bardziej skomplikowanych drzew . Warto zw róc i ć uwa gę. że re gu ły nie mu szą obejmować wszyslki ch zmie nnych ni eza l eż n yc h , na przy klad do oszacowan ia czasu testowan ia dla programów mniejszych od 435 KLOC H wystarczy wziąć pod uwagę ty lko ilo ść ekranów. podczas gdy dla programów większych musimy dodatkowo uwzg l ędni ć czas tworzenia . Metod y te są rzadko stosowane w modeJach predykcyjnych J4, chociaż w samej in ży ni e rii oprogramowania s ą SlOsowane bardzo szeroko, szczegó lnie w anali zie wymagań i projektowaniu algorytmów. Ich podstawową za l etą jest ł atwość zrozumienia i wizualno ść , pozwalająca na korzystanie z nich nawet osobom ni e m ającym do ś w i adczenia w stosowan iu technik inFormatycznych. Merotla zbiorów przybliżonych. Metoda zbiorów przyb li żonyc h (roug h set) jes t j edną z naj nowszych metod wy korzystywanyc h w modelach prcdykcyjnych. Metoda ta zak ł ada, że wszystk ie wła śc i wośc i ob iektów są mierzalne w skali porządkowej lub nominalnej. Dla zag adni e ń związa ny c h z in ży ni e rią oprog ramowani a jest 10 za l ożenie nie powodują ce żadnyc h komplikacj i (dl a wiel u w l aśc i wości np. stopn ia doświadczenia zespolu , specy fiki języka programowan ia jest to nillumlna skala). Pods lawowal ~ idea tej metody opiera się na poj ęciu ni e rozróżni a ln ości. Dwa ob iekt y nazywamy ni erozróż nialn y mi ze w zg l ędu na podzbiór P zmie nnyc h nie za l eż n yc h , j eże l i wa rtości zmiennych niezal eż n yc h należących do zbioru P są rów ne dla obu obiektów . Relacja niezal eż no ści jest rel acją rów nowa ż n o­ ściową, dla której klasami równoważnośc i s ą zbiory nierozróżn i alnych ob iektów. Dla celów klasy fikacyjnych podzbi ory P są konstru owan e tak, aby wszyst ki e obiekty z kla sy równoważnośc i posiadaly tę s amą wartość zmiennej za l eż n ej Y. Oczywi śc i e pojedynczy obiekt m oże należeć do wielu różn yc h klas ni a. równoważ n ości. M e t od ę zb iorów pr zybl i żo n yc h moż emy wykorzystywa ć do wywodzeni a regu l w systemach opartych na regu lac h lub wy k o r zys t ywać j ą jako Funkcję podob i eństwa w metodach opartych o wnioskowanie na podstawie przypadkÓw . Jest ona również częściowo podobna do syste mów rozmytych ze wzg l ęd u na możliwość wywodzen ia regul , dla których okre ś la s ię stopi e ń prawdziwośc i . Ciekaw~ wła s n ośc i~ metody zb iorów przy bli żo n yc h jest ich du ża odporn ość na wa rtośc i izo lowane.. Il KLOC _ miara wielkości programu: ! KLOC == I tysi:jc linii kodu programu. Przyklad wykorzystania zostal opisany w ITian 1995) .. 15 Czytelnik zainteresowany tcorią zbiorów przybliżonych i możliwością ich wykorzystania w zagadnieniach zw iązanych z inżynicri:j oprogramowania. dokladniejszą prc zcntację może znaIc ić w [Mof3sca. Ruhe 19961 . 14.

(14) Daril/SZ. 3. Porównanie metod analizy danych Chcąc porównać różn e metody analizy nal eży wziąć pod uwagę dwa kryteria: - właściwości podstawowe - odpow iad ające za ogólną charakterysty k ę danej metody: wskazujące na jej si lne i slabe stron y, obszary wykorzystania, uniwersalność, mo ż l iwość dostosowania itp. , - poprawność metody - slopiell, w jakim dana metoda pozwala na poprawną predykcję poszukiwanych wartości (kosztów, zasobów, czasu , itd .). Wyodręb ni enie tych dwóch kryteriów nie wynika tylko z ich różnego charakteru - charakterysty ka w ła ściwości pod stawowych pozostawia znacznie większy zakres interpretacji , podczas gdy poprawn ość metody można, korzystając z różnego rodzaju miar. określić z dużym ob iek tywizmem - lecz ma równi eż uzasadnieni e w sposobie wyboru metody w konkretnym przypadku. W pierwszym elapie mu simy dokonać szczegó łowej analizy przypadku, okreś li ć, jakimi danymi dysponujemy i jaka jest jakość tych danych. W drugim etapie na podstawie tej charakterystyki wybieramy metodę ana lizy. Takie podejśc i e pozwoli na uniknięcie sytuacj i, w której przykładowo dysponuj"c danymi niekompletnymi i z dużą ilością waności izo lowanych, wybieramy metodę wrażliwą na wartości izo lowane. Podstawowe właściwości. Tabela I zaw iera zestaw ienie podstawowych właściwości. prezentowanych metod. Do tych. właściwości. za liczamy:. - ni eza l eż ność - czy li zdo ln ość systemu opartego o daną me t odę do k sz tał ­ towania swojej struktu ry. pr zeciwieństwem metod niezależnych są systemy wykorLystuj1)ce metody, w których informacja o zależnośc ia ch między zmiennymi pochodzi bezpośrednio od twórcy lub u żytkown ik a, - odporność na wartości izolowane - czy pojawienie s i ę danych izo lowanych może znacz"co wp ł ynąć na wyniki, - czyt e ln ość wyn ików - czy i stnieją przeslanki pozwalające na uzasadnienie wyniku, - możliwość wykorzystania dl a m ałyc h zbiorów danych, - m ożliwość u względnienia nowych danych - oznacza możliwość dodania nowych danych do systemu bez potrzeby zmiany całości systemu, - czyte ln ość procesu wnioskowania - jest to możliwość odtworzenia sposobu, w jaki system doszedl do wyników, - możliwość wykorzystania w modelach z ło żonych - czy li moż łi wość wykorzystania danej metody w po łączeniu z wiedzą ekspertów, - moż li wość oparcia metody o aktualny stan wiedzy - czyli możliwość zainicjowania systemu w oparciu o aktualny stan wiedzy, a następnie wykorz.ystywanie danych do udoskona lania takiego systemu. Poprawność metody. Oceny poprawn ośc i danej metody można dokonać na wiele sposobów. Chcąc jednak zachować możliwość porównania wyników pochodzący c h z różnych ź ródeł [Grey, MacDonnell 1997; Grey, MacDonnell 1997b,; Schepperd, Schofield 1997; Morasca, Ruhe 1996] oprzemy się na.

(15) szacowa /l ia. Tabela l . Podstawowe ::) Metoda n. Właściwość. Metoda najmnicjszych kwadratów Metoda najmniejszej mediany kwadmtów Regresja logistycZI13 Sieci neuronowe Systemy rozmyte Systemy hybrydowe Systemy oparte na regułach Wnioskowanie oparte na paypadkach Dl7.cwa decyzyjnc Zbiory prLybłiżone. wł aściwośc i. metod analizy danych. WykGOdporUżycie Czytelny Zawiera na CZyIeI- dla ma- Wpływ nystanic Niczaaktualny proces wartości 00", w modeIych nowych Icżnośt wnioskoSlan lach złoizolG- wyników zbiorów danych wania wiedzy wane danych żonych nośt. -. -. +/-. -. -. +. -. +/-. -. +. +/-. +/-. -. +. -. +/-. -. +. +/-. +/-. -. +. -. +/-. +. -. -. -. +/-. -. +. +1-. +. +1-. +. +. +/-. +. +. +. +. +/-. +. +1-. +/-. +1-. +. +. -. ,. +. ,. ,. +. +. +. +. +/-. +. +/-. +/-. +/-. +. -. +. +. +. +/-. +1-. +/-. +. +/-. +. .+. +. +/-. +/-. +/-. -. +/-. +Tak - Nic opracowanie wł3s ne .. +1- Częściowo. x nie dotyczy. Źródło:. wskażn ikacn: średniej wart ości b ł ęd u wzg l ęd n ego MMR E (/II eal/ magniflule oj relaril'e error) i mierze predO pozwalającej na podstawie MMRE. dwóch. okreś l ić i lość. ra ncji. Aby względ n ego. trafnych oszacowali. poszukiwanyc h wartości przy zadanej toleMMRE musimy wcześniej określić wartość b l ę d u MRE (lIIagl/itude oj relative aror): zdefiniować. MRE. =!V.\! -. V) I VA. gdzie: VA -. VM -. wart ość. wa rtość. rzeczywista, oszacowa na.. MMRE defi niujemy j ako wartość ś redn ią MRE dla wszystki ch w zbiorze wal idacyj nym. Z kolei: pred(k) = i III. wart ośc i.

(16) Dariusl.. gdzie:. k - wartość graniczna dla MRE , i - li czba obserwacji o MRE ~ k, 11 - liczba wszystkich obserwacji. przykład owo pred(0.25) = 0.4 oznacza, że 40 % wartośc i prognozowanych VM mi eści s i ę w przedziale rv A - 0 .25 . VA'VA + 0.25 . VAl. Tabela 2 przedstawia wyniki uzy skane czterema metodami dla tego samego zbioru dan yc h. Porównując wyniki nale ży pamiętać o tym , że dane mają bardzo istotn y wp ł y w na uzyskane rezu ltaty, co m oż na zauważyć porównują c wyniki dla metody najmniejszych kwadratów z tabel 2 i 3. Dodatkowo warto pami ę ta ć, że dla metod taki ch jak sieci ne uron owe bardzo istotny jest proces " ucze nia się" i struktura inicjalna sieci. Dlatego nie mo ż na wyciąg n ąć bezpoś red ni ego wni osku o przewadze syste mów opartych o sieci neuronowe . Tabela 2. Porównanie metod statystycznych i metod sztucznej intel igencj i Metoda Metoda najmniejslyeh Kwadratów Metoda najmniejszej mediany kwadratów Sicci neurono""'c Systemy rozmyte. MMRE. pre(O.JO). pre(0.25). 0.86 0.85 0.44 0.54. 0.!5 0.07 0.27 0.07. 0.4! 0.4! 0.63 0 .30. Zródlo: opracowanie wlasne.. Tabela 3 prezentuje wyniki dla dwóch metod. Ponieważ wyniki te uzyskano dla innych zbiorów danych, nic m oż n a ich bez poś redni o porów nywać z wy ni kami z tabeli 2. Tabela 3. Porównanie metody najmniejszych kwadratów i systemów opartych na przypadkach Metoda Metoda najmniejslych kwadratów Systemy oparte na przypadkach. MM RE. pre(0.25). 0 .42 0.36. 0.37 0 .51. Żródło: opracowanie własne.. Tabela 4 zawiera dane dla dwóch metod kla sy fikują cych : regresji logistycznej i zbi orów przy bliżonych . Po ni eważ w przypadku metod klasy fikującyc h trudno byłoby s i ę pos łuż yć w c ześniej określonymi wska ź nikami MMRE i predO, dlatego wykorzystamy inne dwa wskaź niki : procent błędni e zaklasyfikowanych obiektów i procent niesklasyfikowanych obicktów t6. Wyodrębni e n ie t6 W przypadku regresji logistycznej klasyfikacja jest do konywana zawsze..

(17) Tabela 4. Porównanie metod Metoda Regresja logistyczna Zbiory przybliżone. klasyfikujących. %. błędnej. klasyfikacji. ,.. 8. % braku klasyfikacji. "'. 3. Źródło: opracowanie własne .. oraz osobne rozpatrywanie obiektów nieskJasyfi kowanych jest istotne i pozwala unikną ć błędów w przypadkach granicznych.. 4. Podsumowanie Jednoznaczne wskazanie metody, która miałaby i sto tną przew agę nad innymi metodami jest niemożliwe . Każda posiada swoje silne i s łabe punkty , d ł atego wybór metody analizy danych musi być dokonywany w kontek śc ie konkretnego przypadku. Nie można przy tym zapominać, że wyniki modeli predykcyjnych są poddawane interpretacji i często istotnym kryterium wyboru metody mogą być indyw idualne preferencje i doświadczenie osób z aa n gażo­ wanych w danym projekcie. Istotny jest również dobór właściwych wartości parametrów dla wykorzystywanego modelu w konkretnym przypadku (kalibracja modelu), gdyż pope ł nio n e tam błędy mogą prowadzić do błędów szacowania na poziomic nawe t 600% [Kramerer 1987]. Analizując przedstawione metody na podstawie kryteriów z tabeli l , moż na zauważyć, że potencjał tkwiący w niektórych niestandardowych metodach anali zy i modelowania danych będzie prowadził do ich coraz szerszego wykorzystywania. Szczególnie istotna m oże tu być prostota i intui cyjność takich metod jak drzewa decyzyjne czy wnioskowanie oparte o przypadki, po ł ączo na z ich dużą efek tywno śc ią.. Pojawianie s ię nowych narzędzi programowania i dynamiczna zmiana śro­ dowiska funk cjonowania oprogramowania !? prowadzi do powstawania wciąż nowych prob lemów w zakresie wykorzystania modeli predykcyjnych. Tym samym wszystkie prezentowane metody analizy i modelowania danych są przedmiotem badań mających na ce lu ich rozwój i dostosowanie do szybko zmieniającej s i ę technologii informatycznej. literatura Allen B.P. 11994]. Case- Based Reasonil!g: Business ApplicatiOl!s. COlllmunications af the ACM,voI.37,no3. 17 Przykladem takiej gwaltownej zmiany środowiska by10 upowszechnienie i zw i ązane z tym pojawienie się koncepcji komputera sieciowego.. się. Internetu.

(18) Darillsz Basili V.R., Briand L.C ., Meto W L [1996]. A Va{i(/arion of Objecl-Orienled Design Metrics as Qllality /lIdicators, IEEE Transaction on Software Engineering, vot. 22, no. 10. BasiIi V .R., Briand L.e., Meto WL [1995], Measuring the Impacl of Rel/se 011 QI/ality mul Pro([lIctivily in Objecl·0riemed Systems, Technical Report, University of Maryland CS-TR-3395. Briand L.C., Devanbu P., Melo W.L. [1996]. Defining (II/d Vnlidatil1g Design COllplillg Measurel' in Object·Oriented SyJtems, Technicat Report JSERN-96-08. Briand L.C" Laitcnbergcr 0" Wieczorek I. [1997], BI/ildillg Resol/rce and QI/ality Mana gement Modelsfor Software Inspections , Technicat Report ISERN-97·06. Briand L.C .. Morasca S., Basiii V .R. [1994], Defining and Validatin g High-Level Design Metdcs , Technical Report CS-TR-3301, University of Maryland , Briand L.C" Morasca S., BasiIi V.R. [1995]. Theoretical and Empirical Validation of Software Prodllcl MeaSllres, Technical Report ISERN-95-03. Cockroft S. [1996J, Estimllting CASE Del'elopment Siufrom Ol/Iline SpeciflctUion:), lnformation and Software Technology 38. COSf and Schu/ule Estimation Swdy Report [1993], Software Engincering Laboratory Series, NASA . Goldfedder B" Rising L. [1997]. A Trainillg Experiellce with Pallems, Commun ications of the ACM , vot. 39, no 10. Grey A.R., MacDonell S.G. [1997].A Comparison ofTeclllliqllesfor Delle/oping Predictil'e Modefs of Software Metrics, Information and Software Technology 39. G rey A.R., MacDonell S.G. li 997a]. Applications of FII1.zy Logic to Software Metric A/Ol/els/or D el'e!op mtmt Elfort Estimalion. Procecdings ofthe 1997 AllIlU:!1 Meet;ng of The North America Fuzzy lnformation Processing Society -NAFIPS, Syracuse NY, USA, IEEE. Grey A.R .. MacDonell S.G. [1997bJ, GQM++ A F111I Ufe Time Cycle Framelt"orkfor t/Je De~'e ­ lopmel1t wuf /mplementatioll of Software Me/ric Program. Proceedings of ACOSM'97 4th Australian Conference on Software Metrics, Canberra. Australia. ASMA. Hayes-Roth F .. Jacobstein N, [1994], Tlle Stale of Knowledge· Basaf Systems, Communicalions ofthe ACM. vo t. 37, no 3. Jones C. [1998 J, Software Project Managemelll in fhe 2/ st Cellwry, American Program mer , vot. XI, no 2, FCbruary, Kitchcnham B., pneeger S.L. {1996], Software QlI(jlity: The Elusil"e Target,lEEE Software. vol. 13,number l. January. Kramerer C.F. r1987], An Empirical Va/idatioll of Software Cost Estimation ModeIs ,Communicalions of the ACM, vol. 30. LanubiJe F., Visaggio G . {1996J, E1'a lllating Predictive Ql/ality Models Derived [rom Software Measllres : Lessom Leamed, Techn ical Report CS-TR-3606, University of Maryland, dos tępne również jako Technica! Report ISERN-96-03 i Technical Report UM IACS-TR-96- 14, Lederer A.L., Prasad J . [ 199B], A Caslwl Modelfor Software CQJ't Estimalil1g Error, IEEE Trans. on Software Enginecring, vot. 24, no 2. MacOoneJl S.G .. Grey A.R .. ( 1997], A Comparisoll of Model/ing Teclrniquesfor Software Developmelll Effort Prediction, Proceedings of the 1997 International Confercncc on Neura! lnformation Processing and Intelligent Information Systems, Ouncdin, New Zealand, Springer-Verlag. Metody slatystyclolle dla chemików ] 1992]. J .B. Czermiński, A. Iwasiewicz, Z. Paszek, A. Sikorski, PWN, Warszawa. Mi/osz M. [19971, Szacowanie l.llSob6w w projektach informatycznych, "Infonnatyka", nr II..

(19) Morasca S .. Ruhe G. [19961. A Comparative Study of Twa Techniques for Analysillg Software Mea:'ilIremelll Data, Technical Report ESPR IT/ESSI projcct #10358. Munakata T., Jani Y. [1994], FIIUY Systems: Ali Overvicll'. Coml1umica1iO/Js offlle ACM, vol. 37, no 3. Rumelhart D.E., Widrow B., Lehr M.A. [J 994J, The Basic /dellS in Neum! Networks, Communications ofthe ACM, \'01. 37, no 3. Sheppcrd M .. SchofieJd C. (1997j, Estimating Software Projec/ Effor/ UsilIg A/latogies, IEEE Trans. on Software Engineering, vol. 23. no 12. Shmidt D.C., Fayad M. , Johnson R.E. [ 1997], Software Pattems, Communications of the ACM, vol. 39, no 10 . Tian J. 119951, IllIegm/ing Time DO"laiIJ lInd Inpllt Domain A/Jalyses of Software Reliabilily U!;i/Jg Tree-Baselj Model:J, IEEE Trans . on Software Engineering, vol. 2 1, no 12. Vigder M .R., Kark A.W. [1994], Software Cos/ Estimarion and Control, National Research Council of Canada, !nstjtute for Information TechnoJogy, NR C, no 37 116 . Widrow B., Rumelhart D.E., Lehr M.A.(1994],Neural Nerworks: Applieatiolls in lIu/us/ry, ,.Business and Science", Communications ofthe ACM, vol. 37, no 3. Zadeh L.A. [ 19941, FI/ ZZ)' Logie, Nel/ral Networh", and Soft Compl/ring, Commun icat ions of the ACM, vo1. 37, no 3. Zająe K. [ 19881, Zarys metod slaryslycl./Iych, rWE , Warszawa. UJ.HId)' al/dylll przedsięwzięć iliformlllyctTIych [1998], InfoV l DE, Warszawa.. Sel e cte d Methods of Resource s Evaluation in Software Enginee ring One of the most important factors in software development is the preparation of " \'cntu rc schedule and budget. The :mticipated cost is one of the basic dccision-making r"ctors determining the acceptation or rejection of a projecl. As a consequence, the accuracy ar cost evaluation tS crucial. However, this is a key problem due to the specific fea tures of software, Le. the long time involved in lts development. a high levcl of complexity, the large number of factors shaping the final resu]t of the work, a strong dependence on the appl ication area, and sign ificam differcnces among indi vid ual projec ts. In order to cvaluate cosls in sueh projects. the predietion modcls that allow cost assessment in the jnitia l stages of a project are appl ied. Studies on such modeIs began as early as in {he 1960s and have been continued up to now. Besides the classie statistical methods, these models also exploit other advanced methods, including artificial inte lligence tools. The goal of this study is to discuss the methods used in prediction models. their properties and ex ploitation possibilitics, sa that a method can be consciously chosen in a specific case..

(20)

Cytaty

Powiązane dokumenty

Źródłem tych dodatkowych warunków mogą być na przykład jakieś właściwości parametrów wynikające z teorii opisującej badaną zależność (np. w naszym przypadku inten- sywność

W problemie estymacji parametrów w nieliniowych modelach regresji metodą najmniejszych kwadratów najczęściej wykorzystuje się metody Gaussa-Newtona i Levenberga-Marquardta oraz

Część I. Rejestracja widma kryształu LiF przy wykorzystaniu metody Lauego. 1.2 Uchwyt na błonę fotograficzną ustawić w odległości 1,5 cm od kryształu. 1.3 W celu

Zamiast tego zajmują się albo analizą wewnętrzną zjawisk dotyczących mediów społecznościo- wych, albo próbują przewidzieć zjawiska zewnętrzne, wykorzy- stując

Na podstawie tych danych oszacuj metod¡ najmniej- szych kwadratów model regresji liniowej wpªywu dochodów na wydatki konsumpcyjne w gospodarstwie domowym9. Oblicz sumy kwadratów

(Centralne twierdzenie graniczne dla ciągów niezależnych zmiennych losowych o jedna- kowym rozkładzie) Niech dany będzie ciąg niezależnych zmiennych losowych {Z n } o tym

Wykluczono wpływ liczby ludności, liczby miast i udziału

[r]