VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Fakulta strojního nženýrství Ústav automatzace a nformatky Ing. Martn Halva MODELOVÁNÍ JAKOSTI SOFTWARU PRO ŘÍDICÍ SYSTÉMY CONTROL SYSTEMS SOFTWARE QUALITY MODELLING ZKRÁCENÁ VERZE PH.D. THESIS Obor: Školtel: Techncká kybernetka doc. Ing. Branslav Lacko, CSc. Oonent: rof. Ing. Karel Hruška, DrSc. rof. RNDr. Jří Vaníček, CSc. Ing. Vlastml Bejček, CSc. Datum obhajoby: 8. lstoadu 003
KLÍČOVÁ SLOVA jakost, software, řídcí systém, charakterstka jakost, metrka jakost, modelování KEYWORDS qualty, software, control system, qualty characterstc, qualty metrcs, modellng Dsertační ráce je uložena na oddělení vědy a výzkumu Fakulty strojního nženýrství VUT v Brně., Techncká 896/, 66 69 Brno. 004 Martn Halva ISBN 80-4-550-4 ISSN 3-498
OBSAH ÚVOD...5 SOUČASNÝ STAV ŘEŠENÉ PROBLEMATIKY...5. Řízení...5. Software v řídcích systémech...5.3 Jakost softwarového roduktu...6 Charakterstky jakost softwaru...6 Atrbuty jakost softwaru...6 Interní metrky...7 Eterní metrky...7 Vztah mez eterním a nterním metrkam...7 CÍLE DISERTAČNÍ PRÁCE...8 3 ZVOLENÉ METODY ZPRACOVÁNÍ...8 3. Měření a hodnocení jakost softwaru...8 3. Statstka ř hodnocení roduktu...8 Normalta rozdělení dat...8 Searmanův korelační koefcent...9 Regresní analýza...9 Intervaly solehlvost...0 Odlehlé body... Pásy solehlvost... 4 HLAVNÍ VÝSLEDKY PRÁCE... 4. Struktura modelu... 4. Subcharakterstky a eterní metrky...3 4.3 Interní metrky...4 Interní metrky ro meratvní rogramy...4 Interní metrky ro rozsáhlé objektově orentované rogramy...6 4.4 Analýza výsledků...7 Eerment s meratvním rogramy...7 Eerment s objektově orentovaným rogramy... ZÁVĚRY...5 LITERATURA...8 AUTORŮV PRACOVNÍ ŽIVOTOPIS...30 PUBLIKAČNÍ ČINNOST AUTORA...3 ABSTRACT...3 3
ÚVOD Jakost očítačových systémů, které hrají ve solečnost stále důležtější úlohu, je v osledních letech ředmětem velkého zájmu. Zejména v alkacích krtckých z hledska bezečnost může nesrávné chování očítačových systémů zůsobt zvýšené náklady, oškození majetku č zdraví ldí, nebo dokonce smrt. Jakost softwaru těchto systémů je tedy sama ředmětem velkého zájmu. Softwarové nženýrství navrhlo mnoho metod, které zvyšují jakost softwaru. Ty však bez nezávslého hodnocení neoskytují jasnou odověď na otázku, zda je dosažená jakost dostatečná. SOUČASNÝ STAV ŘEŠENÉ PROBLEMATIKY. ŘÍZENÍ Řízení je obvykle chááno dvěma oněkud odlšným zůsoby. Za rvé jde o řízení v užším slova smyslu, tj. řízení technologckých rocesů, které je v anglcké lteratuře nazýváno control. Druhý, šrší význam ojmu řízení sočívá v zahrnutí dalších částí výrobního systému včetně rozhodovacího subsystému, kde robíhá řízení včetně uvážení ldských faktorů. Tomuto tyu řízení je vyhrazen nejen v anglčtně, ale v oslední době už v češtně, ojem management.. SOFTWARE V ŘÍDICÍCH SYSTÉMECH Z důvodu odlšnost řídcích systémů ro management a ro řízení rocesů v reálném čase bylo nutno defnovat oblast zájmu. Dsertační ráce se soustředí na software řídcích systémů v reálném čase a onechává stranou software řídcích systémů ro management. Řídcím systémem je tedy myšlen rávě řídcí systém na oeratvní úrovn - řídcí systém ve smyslu anglckého control. Funkční skuna Logcké řízení: logcké obvody časovací jednotky čítače Sekvenční řízení Zracování sgnálu/dat: matematcké funkce Příklady člen AND; zožďování stavů on, off, generování časovaných mulsů; vzestuné, sestuné, obousměrné. Sekvenční funkční dagram. základní artmetcké: sčítání, odčítání, násobení, dělení, rozšířené artmetcké: třídění, gonometrcké funkce, orovnávací: větší, menší, rovno; vyhledávací, usořádávací, formátovací; PID regulátory, ntegrace, fltrování. Analogové, číslcové moduly vstu/výstu. Převod dvojkově kódovaných čísel. Komunkační rotokoly. Zobrazovací jednotky, říkazy. Zrávy, hlášení. Protokolování. manulace s daty zracování analog. dat Funkce rozhraní: Vstu/výstu Jné systémy Rozhraní člověk-stroj Tskárny Velkokaactní aměť Řízení výočtu (rovedení) Výočty erodcké, řízené událostí. Usořádání systému Kontrolování stavu. Tab. : Přehled rogramovatelných funkcí v řídcích systémech (odle ČSN EN 63-) 5
Tab. uvádí říklady funkcí, které se vyskytují v oblast řídcích systémů. Tyto rogramovatelné funkce jsou v tabulce shrnuty do funkčních skun. Z tohoto řehledu (ČSN EN 63-) je atrné, jaké skuny funkcí se dají očekávat v říslušném softwaru. Pro modelování jakost softwaru (MJSW) řídcích systémů bylo nutné, aby byly zvoleny ro rovedení eermentů takové charakterstky a metrky, které vyovídají o funkčnost logckých a matematckých konstrukcí, včetně dalších omocných funkčností, dále o srávnost vstuních a výstuních dat, funkčnost užvatelského rozhraní a odobně..3 JAKOST SOFTWAROVÉHO PRODUKTU Charakterstky jakost softwaru Charakterstky jakost softwaru jsou odle (3) defnovány takto: soubor vlastností softwarového roduktu, kterým je jeho jakost osována a hodnocena; charakterstka jakost softwaru může být zjemňována do mnohonásobného očtu úrovní subcharakterstk. Estuje jak eterní tak nterní asekt většny charakterstk. Naříklad bezoruchovost může být měřena eterně sledováním očtu chyb v daném časovém ntervalu ř zkoušení softwaru a nterně kontrolou detalní secfkace a zdrojového kódu, čímž hodnotíme úroveň chybnost. Atrbuty jakost softwaru Atrbuty jakost softwaru jsou měřtelné vlastnost softwaru. Měří se buď římo, nebo neřímo omocí hodnot jných atrbutů. Atrbuty, jako měřtelné fyzcké nebo abstraktní vlastnost softwaru, ovlvňují subcharakterstky jakost. (Podle 44.) Uvedenou skutečnost ovažuj za klíč k řešení roblému, jak měřt jakost softwaru. Model jakost, kterou vnímá užvatel, se bude skládat z určených charakterstk a subcharakterstk. Ovlvňují-l tedy atrbuty jakost softwaru jeho jakost vyjádřenou těmto charakterstkam a subcharakterstkam, je vhodné měřt římo jednotlvé atrbuty a odle naměřených hodnot usuzovat na celkovou úroveň dosažené jakost. Někdy je jakost uvažována ve dvou kategorích - nterní jakost a eterní jakost - odle toho, jaké atrbuty, nterní nebo eterní, jsou subcharakterstkám řřazovány. Eterní atrbuty jsou vlastnost chování softwaru, jehož jakost hodnotíme. Jde vlastně o neřímé měření roduktu omocí jeho vnějšího chování, které vnímá užvatel. Interní atrbuty jsou vlastnost softwaru samotného. Může jít o atrbuty vyovídající (různým zůsoby) o objemu jeho zdrojového kódu, o jeho strukturální složtost aod. Jde o atrbuty, které jakost ovlvňují, tj. ovlvňují chování softwaru vůč užvatel. Eterní atrbuty vyovídají o jakost softwaru daleko řesněj, než nterní. Jsou však k dsozc až v etaě, kdy je k dsozc hotový softwarový rodukt nebo nejdříve, když je rvní verze uvolněna k testování. V této fáz je jž velce drahé rovádět v softwaru změny za účelem zvýšení jeho jakost. Narot tomu nterní atrbuty lze změřt a vyhodnott daleko dříve, některé dokonce jž v etaě návrhu softwaru. Tak je možné včas rovádět náravná oatření a s nízkým náklady. 6
Interní atrbuty atrbut subcharakterstka charakterstka Eterní atrbuty obr. : Herarchcká struktura charakterstk, subcharakterstk a atrbutů jakost softwaru Interní metrky Termnologcká oznámka: Vz katola 3.. Metrka jakost softwaru je raktckým zůsobem osána v (3) takto: kvanttatvní stunce a metoda, která může být oužta k určení dosažené hodnoty význačného rysu u konkrétního softwarového roduktu. Znamená to, že metrky se oužívají ro reálné zjštění měřených hodnot atrbutů jakost určtým raktcky rovedtelným zůsobem. Tak jako jsou atrbuty rozčleňovány na nterní a eterní, je k nm ochotelně nutné rozlšovat také nterní a eterní metrky. Interní metrky se s výhodou oužívají během fází návrhu a rogramování softwarového roduktu, který je zatím naříklad v odobě secfkace nebo zdrojového kódu. Interní metrky tak měří vntřní vlastnost roduktu. Jejch účelem je redkovat eterní jakost a jakost ř oužívání. Eterní metrky Míry eterních metrk softwarového roduktu závsejí na chování systému, kterého je rodukt částí. Zjšťují se testováním, rovozováním a sledováním konečného softwaru nebo systému. Eterní metrky vycházejí z ožadavků na oužívání softwarového roduktu v určtém organzačním a technckém rostředí. Eterní metrky oskytují užvatel, hodnottel, ověřovatel a vývojář reálnou schonost hodnott jakost softwarového roduktu během testování a rovozu. Vztah mez eterním a nterním metrkam Měly by se oužívat nterní metrky, které mají co nejslnější vztah k cílovým eterním metrkám. Jen tak mohou být ředověděny budoucí hodnoty eterních metrk. Všeobecně se soudí, že je obtížné navrhnout rgorózní teoretcký model, který osthne slný vztah mez nterním a eterním metrkam. Není však vyloučeno sestavení emrckého modelu. 7
CÍLE DISERTAČNÍ PRÁCE Př zabezečování jakost softwaru obecně je nedostatečná možnost, jak jakost měřt. Estují sce modely, jak osat jakost softwaru omocí charakterstk jeden z modelů se dokonce stal součástí meznárodní normy ISO 96 a souvsejících. Problémy však mohou nastat, okud se okusíme řřadt charakterstkám nebo subcharakterstkám jakost softwaru říslušné metrky. Estuje mnoho ublkací zabývajících se metrkam, některé metrky byly zahrnuty do norem. Problémem však zůstává jejch šatná vyovídající schonost a obtížná oužtelnost v ra. Vytvořením modelu a jeho eermentálním ověřením se jako autor této dsertační ráce okouším řsět svým dílem ke zlešení možnost osu - modelování jakost softwaru řídcích systémů omocí metrk. Cílem dsertační ráce bylo zjstt na modelovém říkladu, zda estuje závslost mez eterním a nterním metrkam jakost softwaru včetně ndkátorů složtost. Pokud by taková závslost estovala, bylo by možné do určté míry usuzovat na jakost softwaru z měření už v ranných stádích jeho tvorby, tj. nař. ve fáz kódování nebo dokonce návrhu. V těchto ranných fázích vznku softwaru je odhalení chyb, které by ozděj ř rovozu mohly zůsobt oruchy, velm žádoucí nejen z důvodu revence havárí, ale roto, že odstraňování chyb v těchto rvotních stádích je několkanásobně snadnější a lacnější, než ozděj. Nabízí se také možnost rozkoumat všechny možné kombnace závslostí metrk, nejen závslost eterních metrk na nterních. Rozšířeným cílem dsertační ráce bylo zjstt, zda estuje vzájemná závslost mez metrkam jakost softwaru a ndkátory složtost, a okust se ověřt závslost na jednoduchém modelu. 3 ZVOLENÉ METODY ZPRACOVÁNÍ 3. MĚŘENÍ A HODNOCENÍ JAKOSTI SOFTWARU Termnologcká oznámka: Pojmy metrka a míra se v teor měření oužívají v jném smyslu, než je tomu v jných oblastech matematky. Defnc z teore měření uvádím na základě (44) v dsertační rác. Pojem metrka oužívám v souladu s meznárodní normalzací (3). V teor metrckých rostorů se slovo metrka oužívá jako zobecnění ojmu vzdálenost dvou bodů. Slovo míra se oužívá v tzv. teor míry k zobecnění ojmu délky úsečky, obsahu obdélníka a objemu kvádru. V rámc meznárodní normalzace byla dohodnuta následující termnologe: Měření (measurement) se nazývá takové zobrazení výseku emrckého světa formálním objekty (čísly), které zachovává zkoumané vztahy (relace). Míra (measure) se nazývá zobrazení, které emrckým enttám řřazuje naměřené velčny (čísla). Metrka (metrcs) se nazývá metoda, kterou se měření rovádí, solu s měřcí stuncí (oborem řřazovaných hodnot míry) a jejím tyem. 3. STATISTIKA PŘI HODNOCENÍ PRODUKTU Normalta rozdělení dat Velké množství statstckých testů je založeno na ředokladu, že analyzovaná data odléhají normálnímu rozdělení. Ne vždy je to slněno v oblast softwarových metrk. Tato skutečnost má důsledky ř oužívání statstckých metod. Problému můžeme ředejít oužtím robustních 8
metod. Robustní metody vyžadují menší ředoklady o rozdělení anebo odávají dobré výsledky v stuacích, kdy ředoklady nejsou zcela slněny (37). V oblast korelační analýzy jsou nař. k dsozc Searmanův korelační koefcent. Searmanův korelační koefcent Máme-l náhodný výběr (X,Y ),, (X n, Y n ) ze sojtého dvojrozměrného rozdělení a chceme testovat hyotézu, že X a Y jsou nezávslé náhodné velčny (,,, n), velčny X, X n se usořádají odle velkost a zjstí se jejch ořadí R,, R n. Pak se usořádají odle velkost velčny Y,, Y n a stanoví se jejch ořadí Q,..., Q n. Searmanův korelační koefcent r s se vyočte () odle vzorce: n 6 rs ( R Q ). () n( n ) Tabulky udávají krtcké hodnoty ro r s v říadě n 30. Je-l r s větší nebo rovno tabelované krtcké hodnotě, zamítneme hyotézu o nezávslost. Př n > 30 se hyotéza zamítá v říadě, že latí: u( α / ) r s, () n kde u (α/) je krtcká hodnota rozdělení N (0,). Regresní analýza Lneární model je model, který je lneární vzhledem ke svým koefcentům. Obecný tvar lneárního modelu s jednou nezávsle roměnnou je: ( ) + β f ( ) +... f ( ), η β + (3) 0 f0 β n n kde β jsou regresní koefcenty (arametry) modelu a f () známé funkce, 0,,,...,n. Máme-l k dsozc data, to znamená dvojce (, y ) osující roces, ak musíme určt tvar závslost y f(). Tato závslost není závslostí funkční s ravděodobností, ale závslostí volnější s ravděodobností v ntervalu (0, ). Výsledné vztahy ro výočet odhadů regresních koefcentů modelu jsou následující: n y b0 β ) 0 ; n n ( ) y b β ) (4, 5) n ( ) Jelkož velčny b 0, b jsou lneárním kombnacem y, obě odléhají normálnímu rozdělení Střední hodnoty: [ β0 + β( ) + ε ] β0 ( 0 ) y E E b E β0 (6) E ε ). (rotože ( ) 0, tak ( ) 0 9
0 ( ) ( ) ( ) ( ) ( ) [ ] ( ) 0 β β β + E y E b E (7) Roztyly: ( ) ( ) [ ] ( ) ( ) ( ) ( ) ( ) y y y y y D y D b E D b 0 0 0 σ σ σ σ β (8) ( ) ( ) [ ] ( ) ( ) ( ) ( ) ( ) [ ] ( ) ( ) ( ) [ ] ( ) y D y D y D b E D b y σ β (9) Odhad modelu ) ( 0 + β β η z naměřených hodnot na úrovních dává regresní rovnc ) ˆ ( 0 b b y +. Tato regresní rovnce dovoluje s jstou řesností ředovědět hodnotu ŷ ro. Přesnost redkce je určena hodnotou D(ŷ ). + + b D b D y D 0 ) ( ) ( ) ( ) ( ) ( ) ( σ ) (0) Intervaly solehlvost Interval solehlvost na úrovn významnost α ro koefcent β 0, res. β, je nterval: ) (, ); (, 0 0 0 0 b D r t b D b r t b + α α () a, ) (, ); (, b D r t b b D r t b + α α () kde číslo r t, α je α kvantl t-rozdělení s r stun volnost a D(b) je roztyl říslušného regresního koefcentu.
Odlehlé body Odlehlé body lze zjstt analýzou rezduí. Ta sleduje soubor odchylek mez eermentálním a vyočteným hodnotam závsle roměnné, tzn. y yˆ. Pokud matce H ředstavuje odíl mez odhadnutým hodnotam závsle roměnné ŷ a skutečným hodnotam závsle roměnné y, otom ŷ H y. (3) Označíme-l dále vektor rezduí u y ŷ, (4) a matc M I H, (5) ak latí u M e. (6) Podle vztahu (6) se každá složka vektoru rezduí dá sát u n j mj w e j. (7) Rezdua nemají obecně konstantní roztyl. Proto je rezdua otřeba nejdříve normovat, tj. vydělt jejch směrodatnou odchylkou. Vztah w s m normu u (8) transformuje vektor rezduí u na vektor norm u, který má tu vlastnost, že latí E(norm u ) 0, D(norm u ). (9) Vektor studentzovaných rezduí stud u se sočte obdobně jako v (8), jen s tím rozdílem, že odhad roztylu s se rovede s vyuštěním měření na -té úrovn. n k Platí vztah: stud u norm u, n k norm u (0) k ro model η β + β res. η β0 + Vztah 0, β ( ). í k (0) se zasuje odle () ve tvaru: w ( n k ) stud u u ;,,..., n, RSC m w u () r kde: RSC r je rezduální součet čtverců vztahující se k růměrným hodnotám na jednotlvých úrovních, u -tý rvek vektoru rezduí, očet oakovaných měření na úrovn, w váhový koefcent ro měření,
n očet úrovní měření, k očet koefcentů modelu mmo konstanty (ro římku k ), m rvky dolňkové matce M k matc H, která vyjadřuje odíl mez odhadnutým a skutečným hodnotam závsle roměnné. Velčna ze vztahu () má Studentovo rozdělení s (n-k-) stun volnost. Pásy solehlvost Interval solehlvost na hladně (-α) ro střední hodnotu velčny y (tzn. ro η ) ř daném je nterval: ) y α ) ) α ) t, r D( y ), y + t, r D( y ), () kde r, t je α kvantl t-rozdělení ro r stuňů volnost a D(ŷ ) je roztyl vyočtené hodnoty uvedený ve vzorc (0). Bodový odhad lneárního modelu je ŷ b 0 + b. Intervalový odhad vyočtené hodnoty z tohoto modelu ro evné na hladně ( - α) je roto: α b0 + b ± t, r. s. d( ), kde r, t je říslušný kvantl t-rozdělení, s je odhad směrodatné odchylky σ ( ) a d ( ) +. ( ) (4) Tyto ntervalové odhady vytvoří tzv. ás solehlvost kolem regresní římky. Je to ás, jehož šířka ro evně zvolenou hodnotu udává s jstou solehlvostí neřesnost vyočtené hodnoty závsle roměnné ze zvoleného modelu. 4 HLAVNÍ VÝSLEDKY PRÁCE Prvním výsledkem ráce je navržení modelu jakost softwaru ro řídcí systémy, který jsem sestavl jako herarchckou strukturu charakterstk a subcharakterstk, ke kterým jsem na základě měřtelných atrbutů řřadl metrky. Výsledný model, který jsem otom oužl jako základ ro eermenty, je na schématu v obr.. V této katole je za jakost softwaru ovažována jakost softwaru ro řídcí systémy. 4. STRUKTURA MODELU Jakost softwaru ro řídcí systémy modeluj omocí charakterstk a subcharakterstk jakost. (3)
Jakost softwaru ro řídcí systémy Funkčnost Bezoruchovost vhodnost funkční zralost zralost rozhraní bezoruchový rovoz chybová odolnost obr. : Model jakost softwaru ro řídcí systémy Za základní charakterstku jakost softwaru ro řídcí systémy ovažuj funkčnost. Každý rogram, rocedura atd. v řídcím systému musí v rvé řadě slnt svůj estenční ožadavek. Software estuje roto, aby lnl svoj funkc v řídcím systému. Funkčnost je soubor atrbutů, které se týkají estence množny funkcí a jejch secfkovaných vlastností (3). Přčemž funkcem se rozumí ty funkce, které usokojují stanovené nebo ředokládané otřeby. Dnešní řídcí systémy, které racují v reálném čase, vyžadují, aby nedocházelo ř jejch rovozu k výadkům oruchám. Výadky znamenají obrovské fnanční ztráty a někdy ohrožení bezečnost, zdraví nebo žvota osob. Proto další charakterstkou v modelu je bezoruchovost. Bezoruchovost je soubor atrbutů, které se týkají schonost softwaru udržet úroveň výkonu za stanovených odmínek a ve stanoveném časovém úseku (3). V odstatě jde o ožadavek, aby software v růběhu svého fungování v daných odmínkách o stanovenou dobu neselhal, tj. neměl oruchy. Přčemž orucha (selhání) je stav, kdy software nelní své funkce nebo se chová jnak, než se o něm ožaduje. Poruchu a selhání ovažuj za synonymum. 4. SUBCHARAKTERISTIKY A EXTERNÍ METRIKY Vhodnost defnuj jako schonost softwaru oskytnout funkce, které jsou od něj vyžadovány v zadání. Proto jako vhodnou metrku volím relatvní očet slněných funkcí funkční slnění zadání (FSZ). FSZ očet slněných funkcí ze zadání očet funkcí ožadovaných v zadání (5) Funkční zralost defnuj jako soubor atrbutů, které vyovídají o secfkovaných vlastnostech funkcí softwaru. Pro měření funkční zralost jsem navrhnul tř metrky funkční zralost (FZ), drobná nefunkčnost (DNF) a chybovost výstuů (CVY). Všechny tř metrky jsou defnovány relatvně k ožadavkům zadání. FZ očet oravovaných funkcí očet funkcí ožadovaných v zadání (6) 3
DNF CVY očet drobných nefunkčností očet funkcí ožadovaných v zadání očet chybných výstuních datových rvků očet ožadovaných výstuních datových rvků (7) (8) Zralost rozhraní defnuj jako soubor atrbutů, které vyovídají o vlastnostech užvatelského rozhraní. Jako metrku ro měření jsem zvoll relatvní očet oruch v užvatelském rozhraní. Její hodnota je vztažena na očet funkcí ožadovaných v zadání. UR očet oruch v užvatelském rozhraní očet funkcí ožadovaných v zadání Bezoruchový rovoz defnuj jako stav softwaru, kdy ve stanoveném časovém úseku software udržuje stanovenou úroveň výkonu za stanovených odmínek. Metrkam ro bezoruchový rovoz jsou čas bezoruchového rovozu (BP) a střední čas bezoruchového rovozu (BPS). (9) BP čas rovozu do rvní oruchy (30) BPS doba ozorování očet oruch (3) Chybová odolnost je schonost softwaru odolávat chybám. Jako metrku ro měření jsem oužl neošetřenost vstuů (NVS). NVS očet chybně zadaných datových rvků očet okusů o chybné zadání dat. rvku (3) 4.3 INTERNÍ METRIKY V dsertační rác jsou osány celkem dva eermenty. V obou je oužt stejný model jakost (vz katoly 4. a 4.). První eerment měl rověřt metodku MJSW na vzorku malých meratvních rogramů. Druhý měl ověřt oužtí metodky na rozsáhlých rogramech vytvořených objektovým řístuem. Protože jde o odstatně rozdílné vlastnost vzorků, musely být oužty rozdílné nterní metrky jakost softwaru. Interní metrky ro meratvní rogramy Halsteadovy metrky () jsou založeny na očtu oerandů a oerátorů ve zdrojovém kódu. Jsou defnovány čtyř základní metrky: N celkový očet oerátorů N celkový očet oerandů η očet různých oerátorů η očet různých oerandů Z těchto metrk lze odvodt velkost slovníku η: η η + η (33) a délku rogramu N Length N + N. (34) 4
Strukturální analýza (měření složtost) týká se také formálních zásů softwaru, naříklad zdrojového kódu (5). Ze zásu jsou generovány strukturální modely grafy řízení (control flowgrahs) a z nch jsou ak očítány strukturální metrky. Graf řízení je (44) orentovaný graf G (V, H, ϕ), (35) zkráceně ouze graf, okud jsou slněny následující odmínky: z obr. 3: Graf řízení (control flowgrah). Množna jeho vrcholů V se skládá z ět navzájem dsjunktních odmnožn k V Z K P R S, řčemž latí: (36) a) Z má jedný uzel z, který má vstuní řád 0 a výstuní řád. Jde o uzel vyjadřující začátek rogramu. Nemá žádný vstu a vystuuje z něj jedná hrana. b) K má jedný uzel k, který má vstuní řád a výstuní řád 0. Jde o uzel vyjadřující konec rogramu. Nemá žádný výstu a vstuuje do něj jedná hrana. c) P obsahuje uzly s jedním vstuem a jedním výstuem. Mají vstuní výstuní řád roven. Tyto uzly znázorňují výkonné kroky rogramu. d) R obsahuje uzly s jedným vstuem ale dvěma výstuy Znázorňují rozhodovací bloky. e) S obsahuje uzly se dvěma vstuy a jedným výstuem. Znázorňují slučovací bloky.. Každý uzel grafu G leží asoň na jedné cestě, která sojuje uzel z s uzlem k. Na grafu řízení je založeno několk metrk. Nejznámější je cyklomatcká složtost grafu řízení. Měření složtost grafu řízení navrhnul McCabe (35). Každý uzel v grafu řízení odovídá rozhodovacímu bodu v rogramu. Graf řízení na obr. 3 má cyklomatcké číslo rovno čtyřem. Všeobecný vzorec ro cyklomatckou složtost formuloval McCabe takto: V(G) e n +, (37) kde V(G) cyklomatcké číslo grafu řízení G, e očet hran, n očet uzlů, očet samostatných částí grafu (u softwaru je ). 5
V rvním eermentu oužívám nterní metrky délky (označení Length) a složtost (McCabe) grafu řízení. Mmo ně navrhuj novou metrku oměrná složtost grafu řízení (McCabe/Length), kterou defnuj jako oměr složtost k délce. Předokládám, že oměrná složtost grafu řízení umožní leší orovnávání různě dlouhých rogramů. McCabe/Length McCabe (38) Length Interní metrky ro rozsáhlé objektově orentované rogramy Z charakterstky objektově orentovaného rogramu lze určt měřtelné vlastnost jeho zdrojového kódu jako je očet tříd, očet metod ve třídě, očet atrbutů ve třídě, očet roměnných ve třídě atd. Soubor těchto tzv. základních objektově orentovaných metrk je uveden v tab.. Zkratka Význam Pos defnce LOC lnes of code LOC (C) vyjadřuje očet řádků zdrojového kódu v dané třídě C. NOM number of methods NOM (C) vyjadřuje očet metod v dané třídě C. NIM number of nstance methods NIM (C) vyjadřuje očet nstančních metod v dané třídě C. NCM number of class methods NCM (C) vyjadřuje očet metod třídy v dané třídě C. NOA number of attrbutes NOA (C) vyjadřuje očet atrbutů v dané třídě C. NIV NCV number of nstance varables number of class varables tab. : Základní nterní objektově orentované metrky NIV (C) vyjadřuje očet nstančních roměnných v dané třídě C. NCV (C) vyjadřuje očet roměnných třídy v dané třídě C. Chdamber a Kemerer navrhl další metrky (vz tab. 3) ro složtost objektově orentovaného rogramu na základě ředokládaného ostuu vývoje objektově orentovaných systémů. Metrky se týkají ředevším složtost návrhu tříd objektů. Podchycují ntermodulární složtost (vz 44). Zkratka Význam Pos defnce WMC DIT NOC CBO weghted methods er class deth of nhertance tree number of chldren coulng between object classes Váha metod ro třídu je ro každou třídu C defnována jako součet složtostí c j všech n metod třídy C takto: WMC( C). n c j j Složtost c j se stanovují jako složtost meratvních rogramů. Hloubka stromu dědčnost DIT (C) je ro každou třídu C defnována jako mamální očet hran na cestě od kořene k vrcholu ve stromu dědčnost odovídajícímu v herarch tříd dané třídě. Představuje očet římých otomků NOC (C) vrcholu ředstavujícího ve stromu dědčnost danou třídu C. Sřažení objektů mez třídam CBO (C) udává ro každou třídu C očet tříd, na hstor jejchž objektů třída závsí tím, že volá jejch metody nebo oužívá jejch nstanční roměnné. 6
RFC LCOM resonse for a class lack of coheson of methods Odezva třídy RFC (C) je defnována jako očet metod, které jsou buď metodam třídy C nebo atří do jné třídy, ale některá metoda třídy C je volá. Jde o nedostatečnou soudržnost tříd v metodách vyjádřenou omocí očtu dvojc sřažených a nesřažených metod dané třídy. Značí-l očet sřažených dvojc metod třídy C a q očet nesřažených dvojc metod třídy C, metrka LCOM je defnována: ro q: LCOM (C) 0, ro < q: LCOM (C) q. tab. 3: Chdamberovy-Kemererovy nterní objektově orentované metrky 4.4 ANALÝZA VÝSLEDKŮ Eerment s meratvním rogramy U každé dvojce roměnných, kterým řísluší statstcky významný korelační koefcent, jsem na základě Searmanova testu zamítnul hyotézu o jejch nezávslost. Interretovatelné závslost jsou znázorněny formou Ishkawových dagramů na následujících obrázcích. DNF UR FSZ CVY NVS obr. 4: Dagram FSZ- Na obr. 4 (FSZ-) je v znázorněna závslost Funkčního slnění zadání (FSZ), tj. oměru očtu slněných funkcí k očtu všech funkcí ožadovaných v zadání, na čtyřech velčnách roměnných DNF, UR, CVY, NVS. Bylo rokázáno, že v daných odmínkách a na dané úloze je funkční slnění zadání ovlvněno drobným nefunkčnostm, chybam v užvatelském rozhraní, chybam na výstuu a neošetřeností vstuů negatvně. To znamená, že zvyšující se hodnota jmenovaných charakterstk jakost zůsobuje snížení hodnoty funkčního slnění zadání. Ze zjštěné závslost lze vyvodt závěr, že ř vývoj softwaru je ro lné slnění funkcí daných v zadání nutné věnovat se nejen římo říslušné funkčnost rogramu, tj. nař. oužtí srávného vzorce ro výočet objemu jehlanu, ale je nutné věnovat atřčnou ozornost srávné rezentac výsledků užvatel a srávnému zjšťování vstuních dat od užvatele. 7
TP FZ TT/TP obr. 5: Dagram FZ- Na obr. 5 (FZ-) je vdět, že funkční zralost (FZ) jako oměr očtu oravovaných funkcí k celkovému očtu funkcí vyžadovaných v zadání je oztvně ovlvněna délkou rogramování (TP) měřenou časem sotřebovaným k vytvoření surového rogramu a negatvně Θ ovlvněna oměrem času testování k času rogramování (TT/TP). Z výsledků lze vyvodt závěr, že v daných odmínkách závsí očet nalezených a odstraněných chyb na čase věnovaném rogramování a odílu času testování na čase rogramování. McCabe s / Length DNF obr. 6: Dagram DNF-3 Dagram na obr. 6 (DNF-3) znázorňuje závslost DNF Drobné nefunkčnost, tj. odílu očtu dolňkových funkcí k očtu funkcí ožadovaných v zadání, na charakterstce oměrné složtost rogramu měřené metrkou McCabe s/length. Byla rokázána kladná korelace. Prokázáním vlvu se otvrdl ředoklad, že oměrná složtost McCabe s/length může být vhodným ndkátorem jakost softwaru. Narot tomu samotná složtost rogramu měřená metrkou McCabe s nevykázala korelac s žádnou jnou sledovanou metrkou (kromě délky rogramu). FSZ DNF CVY UR NVS obr. 7: Dagram CVY-4 8
Logcky a vyváženě na rvní ohled ůsobí závslost znázorněné na obr. 7 (CVY-4) ro chyby na výstuu. Ukázalo se, že výstuní chyby závsí oztvně na Neošetřenost vstuu (NVS), chybách v Užvatelském rozhranní (UR), Drobných nefunkčnostech (DNF) a negatvně na Funkčním slnění zadání (FSZ).Výstuní chyby tedy závsí jak na jakost vstuů, tak na vlastním zracování dat ve funkcích hlavních dolňkových. Nalezená závslost je velm zajímavá ro ra. Lze z ní vyvodt závěr, že ř vývoj softwaru je třeba věnovat ozornost všem složkám rocesu automatzovaného zracování dat, tj. vstuu dat, vlastnímu zracování rezentac výsledků v užvatelském rozhraní. TP BP TT obr. 8: Dagram BP-5 Významným výsledkem korelační analýzy jednotlvých velčn se jeví závslost uvedená na obr. 8 (BP-5). Je zde vyznačen rokázaný oztvní vlv hodnot časů rogramování (TP) a testování (TT) na bezoruchový rovoz (BP) měřený časem do rvní oruchy. Jako možné vysvětlení se nabízí to, že čím větší je úslí měřené časem věnovaným efektvně na rogramování a testování vyvíjeného softwaru, tím delší je bezoruchový rovoz, tedy ravděodobně v hotovém softwaru je méně chyb, res. více chyb bylo odstraněno. McCabe s / Length NVS obr. 9: Dagram NVS-6 Poslední ze sére Ishkawových dagramů - obr. 9 (NVS-6), znázorňuje oztvní závslost Neošetřenost vstuů (NVS) na oměrné složtost rogramu (řídcího flowgrafu) měřenou metrkou McCabe s/length. Jde o odobnou stuac jako v obr. 6 (DNF-3), kde šlo o tutéž oměrnou složtost, avšak měla vlv na Drobnou nefunkčnost (DNF). Zde je tedy další možné využtí metrky McCabe s/length - ro ředověď neošetřenost vstuů. Vysvětlení vlvu McCabe s/length na NVS může sočívat v tom, že čím větší je oměrná složtost, tedy hustota složtost rogramu vztažená k délce rogramu, tím větší je ravděodobnost, že rogramátor bude mít v komlením roblémovém rostoru sníženou orentac a oomene ošetřt některé vstuy. 9
Korelační koefcenty vyočtené ro kombnace jednotlvých naměřených velčn vyovídají jen o tom, zda dvojce roměnných jsou ve vzájemném vztahu, č ne. Jako říklad modelového vyjádření charakteru vzájemné závslost velčn jsou na obr. grah grah 4 ve vložených řílohách dsertační ráce uvedeny grafy závslostí. Ty vznkly tak, že naměřeným body byly roloženy římky a vyočteny jejch rovnce (tab. 4). Uvedené rovnce jsou latné jen v eermentem defnovaných odmínkách a slouží ro lustrac ostuu vytváření modelu. Pos modelu Regresní rovnce Interval solehlvost ro směrnc Závslost funkčního slnění FSZ,5 DNF +,07 <-,9; -,> zadání na drobných nefunkčnostech, chybách FSZ,05 CVY +,06 <-,5; -0,6> výstuu, chybách v užvatelském rozhraní FSZ 0,5 UR + 0,8 <-; -0,> a na neošetřenost vstuů. FSZ 0,4 NVS + 0,8 <-0,7; -0,> Závslost funkční zralost na oměrném čase testování FZ,3 TT/TP +,3 <-5,;,5> a na čase rogramování. FZ,8 0-5 TP +,8 <- 0-5 ; 5 0-5 > Závslost drobných nefunkčností a neošetřenost DNF 0,5 McCabe s/length + 0,09 <0,0; > vstuů na metrce oměrné složtost rogramu. NVS,03 McCabe s/length 0,08 <0,; > Závslost chyb výstuu CVY 0,5 FSZ + 0,7 <-0,7; -0,3> na funkčním slnění zadání, chybách v užvatelském CVY 0,6 UR + 0, <0,4; 0,8> rozhraní, drobných nefunkčnostech CVY 0,9 DNF + 0, <0,5;,> a neošetřenost vstuů. CVY 0,3 NVS + 0, <0,; 0,5> Závslost doby bezoruchového rovozu BP 0,06 TP + 507 <0,0; 0,> na čase rogramování a čase testování. BP 0, TT + 4 <0,; 0,3> tab. 4: Rovnce regresních římek K nalezení odlehlých bodů, jejchž vyloučením by mohlo dojít ke zřesnění modelů, byla oužta analýza rezduí. Její výsledky jsou ve vložených řílohách dsertační ráce zachyceny v grafech TSPLOT až TSPLOT 4. Vyloučením odlehlých bodů došlo k některým změnám v modelech, tj. úravě regresních koefcentů a korekc hodnot sgnfkance. Regresní modely,, 3, 4, 6, 9, 0,, jsou bez odlehlých bodů, tedy modely zůstaly nezměněny. 0
Pásy solehlvost V některých sestrojených modelech lze ozorovat oměrně úzké ásy solehlvost, což ukazuje na oměrně velkou řesnost hodnot závsle roměnných vyočtených z říslušných modelů. Jde o závsle roměnné FSZ a CVY vždy v závslost na jné nezávsle roměnné DNF, CVY, UR, NVS, FSZ. Ve všech říadech jde o eterní metrky. Př ohledu na ntervaly solehlvost ve zbývajících modelech lze ozorovat vesměs daleko šrší ásy solehlvost kolem říslušných regresních římek. Pochotelné je zúžení ásu solehlvost v oblast, kde se nachází nejvíce naměřených bodů. Jsté zúžení lze ozorovat u většny modelů. Pro další zúžení ásů solehlvost v celém rozsahu hodnot nezávsle roměnných dooručuj rovádět říadná další měření tak, aby naměřené hodnoty okryly celou oblast zájmu (rozsahy hodnot). Eerment s objektově orentovaným rogramy Interní objektově orentované metrky byly měřeny automatcky a detalně zaznamenávány do oměrně rozsáhlých souborů, které obsahovaly jednotlvé metrky (defnované v tab. a tab. 3) ro každou objektovou třídu modulu. Pro každý měřený softwarový modul (ADROT, AMAGAL, AMADEUS, EXTREM, IAM, XMLGAL) byl vygenerován jeden soubor metrk. Pro další statstckou analýzu naměřených dat bylo otřeba z dílčích metrk každé objektové třídy vyočítat souhrnné metrky celého měřeného modulu. Souhrnné základní nterní metrky ro celý modul byly nejdříve stanoveny omocí součtů (m je očet tříd v modulu): LOC NOA m LOC m ( C ), NOM NOM ( ), NIM NIM ( ), NCM NCM ( ), C m NOA( ), NIV NIV ( ), NCV NCV ( ). m C m C Souhrnné Chdamberovy-Kemererovy nterní metrky ro celý modul byly na základě teore nejdříve stanoveny omocí součtů a mam (m je očet tříd v modulu): WMC RFC m m WMC( C ), DIT ma( DIT ( C )), NOC NOC( C ), CBO CBO( C ), RFC( ), LCOM ma( LCOM ( C )). m C Výše uvedeným zůsoby byly vyočteny všechny otřebné souhrnné nterní metrky. Každý modul je charakterzován jednou sadou souhrnných nterních metrk. Jejch hodnoty, které jsou uvedeny v tab. A-4 v oddělených řílohách, byly dále oužty ř statstckém vyhodnocení korelační analýzou. Nalezené závslost metrk odhally zajímavou skutečnost. Na rvní ohled uoutalo velké množství závslostí nterních metrk na jných nterních metrkách. Týká se to jak základních, tak Chdamberových-Kemererových nterních metrk. Příslušné korelační koefcenty lze nalézt v horním sektoru korelační matce v tab. A-6 (I. část) v oddělených řílohách dsertační ráce. m C C m m C
Z toho jsem učnl závěr, že souhrnné základní nterní metrky defnované na základě úvahy omocí součtů a souhrnné Chdamberovy-Kemererovy nterní metrky defnované na základě teore (lteratury) omocí součtů a mam, mají malou schonost osat strukturální vlastnost měřeného softwaru z většího očtu různých ohledů. Lze říc, že různé souhrnné základní metrky vyočtené omocí součtů a také různé souhrnné Chdamberovy-Kemererovy metrky vyočtené omocí teorí dooručovaných součtů dávají v různých odobách stále stejnou nformac o vlastnostech softwaru, jenom jnak vyjádřenou. Jná stuace je u metrk DIT a LCOM, u kterých teore dooručuje místo součtů oužívat mama. U nch vzájemná závslost s jným nterním metrkam nebyla rokázána, byla však s 95% solehlvostí rokázána jejch vzájemná závslost jedné na druhé. Relatvně lée než ostatní se z tohoto ohledu chová také nterní metrka NCV, která je závslá jen na 4 jných nterních metrkách. Z uvedených důvodů jsem se rozhodl najít vhodnější zůsob výočtu souhrnných nterních metrk. Použl jsem dosud neuvažovanou alternatvu medán. Medán je statstcká charakterstka, kterou lze oužít na data, která nemají symetrcké rozdělení. Jeho další výhodou je, že medán je méně ctlvý na říadné odlehlé hodnoty, které by mohly zkreslovat hodnoty souhrnných metrk. Navíc medán lze oužít ro metrky ordnálního tyu. Souhrnné základní nterní metrky ro celý modul jsou (vlnovka označuje medán,... m, m je očet tříd v modulu): ~ ~ ~ ~ LOC LOC( ), NOM NOM ( ), NIM NIM ( ), NCM NCM ( ), C C ~ ~ ~ NOA NOA( C ), NIV NIV ( C ), NCV NCV ( C ). Souhrnné Chdamberovy-Kemererovy nterní metrky ro celý modul jsou (vlnovka označuje medán,... m, m je očet tříd v modulu): ~ ~ ~ ~ WMC WMC( C ), DIT DIT( C ), NOC NOC( C ), CBO CBO( C ), ~ ~ RFC RFC( ), LCOM LCOM ( ). C C Z nové korelační matce (tab. A-8 v oddělených řílohách dsertační ráce) byl vdět značný úbytek nežádoucích vzájemných korelací nterních metrk. Z tohoto faktu vyvozuj, že oužtí medánů je daleko vhodnější, než oužtí součtů. Také u metrk LCOM a DIT je z tohoto ohledu výhodnější oužtí medánů, rotože narozdíl od oužtí mam nejsou na sobě tyto dvě metrky vzájemně závslé (není statstcky významná korelace). Další vyhodnocení analýzu výsledků jsem roto rovedl jž jen s oužtím medánů ro výočet všech souhrnných nterních metrk. Z výsledků korelační analýzy dále vylynulo, že neošetřenost vstuu (NVS) je neřímo úměrná očtu roměnných v objektové třídě (NIV), očtu atrbutů v objektové třídě (NOA) a očtu metod ve třídě (NOM). Bezoruchový rovoz (BP) je neřímo úměrný délce času testování (TT). Jeho střední doba (BPS) je rovněž neřímo úměrná délce času testování (TT) a navíc ještě hloubce stromu dědčnost (DIT). A konečně chybovost výstuu (CVY) je neřímo úměrná odezvě objektové třídy (RFC) a očtu nstancí metod ve třídě (NIM). Analýza rezduí rokázala estenc statstcky významně odlehlých bodů, které bylo možné za účelem zřesnění modelu vyloučt, u modelů CVY-NIM a CVY-RFC. Nové modely jsou uvedeny v grafech Regrese a, Regrese a. C C
Př ohledu na výsledné grafy lneárních závslostí lze říc, že výsledky vcelku nejsou v rozoru s obecným zákontostm tvorby softwaru omocí objektově orentované technologe a vyovídají o jakost analyzovaného softwaru. Nyní rozeberu zjštěné skutečnost ro každou skunu závslostí (ro každou závsle roměnnou) odrobněj. Neošetřenost vstuů je tím menší, čím větší je v objektových třídách očet konstrukčních rvků, konkrétně atrbutů (metrka NOA), metod (metrka NOM) a nstančních roměnných (metrka NIV). Je tedy možné říc, že tyto tř modely zachycují v kladném smyslu trend, kdy v objektových třídách roste očet konstrukčních rvků, z nchž některé ravděodobně zabezečují srávné ošetření vstuů vůč nesrávným č neříustným hodnotám. Tím, že roste očet všech zmíněných konstrukčních rvků, lze ředokládat, že se zvyšuje očet konstrukčních rvků otřebných ro srávné ošetření vstuů. Není zde sce slněna odmínka dostačující, ale je slněna alesoň odmínka nutná. Pro modely se závsle roměnnou CVY uravené analýzou rezduí (grafy Regrese a, Regrese a) lze formulovat následující tvrzení. Čím větší očet nstančních metod (ndkuje metrka NIM) je v objektových třídách obsaženo anebo čím víc vlastních č jných metod na objektové třídy reaguje (metrka RFC), tím menší chybovost je na výstuu. Naoak je tedy možné říc, že model v kladném smyslu zachycuje následující trend: zvyšující se očet všech zmíněných tyů výočetních rvků č odkazů v softwaru zvyšuje očet mlementovaných výočetních rvků č odkazů, jejchž absence by měla odstatný vlv na zhoršení výstuů z rogramu. Oět je ro toto tvrzení slněna alesoň odmínka nutná. Regrese a CVY* 0, - 0,03 NIM 95% CI ro b0: <-0,08; 0,5> 95% CI ro b: <-0,08; 0,0> 0,4 0,3 0, CVY* 0, 0,0-0, -0, Regresson 95% CI 95% PI 3 4 5 NIM 6 7 8 obr. 0: Regrese a 3
Regrese a CVY* 0,3-0,0 RFC 95% CI ro b0: <-0,; 0,6> 95% CI ro b: <-0,04; 0,0> 0,4 0,3 0, CVY* 0, 0,0-0, -0, Regresson 95% CI 95% PI 9 0 3 4 5 6 7 8 RFC obr. : Regrese a Pro model se závsle roměnnou BPS a nezávsle roměnnou DIT (graf Regrese 5) lze formulovat následující tvrzení. Střední doba bezoruchového rovozu je tím delší, čím menší je hloubka vnoření stromu dědčnost. To odovídá zkušenostem ř rogramování. Programátor je schoen udržet svou ozornost jen na konečný rozsah rogramové struktury. Se zvětšujícím se rozsahem softwaru roste rzko chyb, které rogramátor může (ale nemusí) udělat. 000000 Regrese 5 BPS 478-3348 DIT 95% CI ro b0: <8485; 98605> 95% CI ro b: <-48537 ; -6546> 000000 BPS 0-000000 Regresson 95% CI 95% PI 3 4 5 DIT obr. : Regrese 5 4
Rozaky vzbuzuje jen oslední skuna nalezených závslostí závslost bezoruchového rovozu (metrka BP), resektve jeho střední hodnoty (metrka BPS) na době testování (metrka TT). Grafcké znázornění je v oddělených řílohách dsertační ráce uvedeno v grafech Regrese 3 a Regrese 4. Očekával bych síše římou úměrnost než neřímou. Se zvyšující se délkou doby testování by logcky měla růst doba bezoruchového rovozu, resektve jeho střední hodnota. Příčny, že tomu tak není, mohou být různé a zasloužly by s rověření v dalších eermentech. Naříklad může jít o klesající část složtější závslost, kdy bezoruchovost nejdříve skutečně stouá s rodlužující se délkou testování, ale o dosažení mama jž delší doba testování neřsívá ke zvýšení bezoruchovost a ze zatím neznámých říčn začne naoak klesat. Dalším možná vysvětlení jsou uvedena římo v dsertační rác. ZÁVĚRY I. Závěry z teoretcké část Modelování jakost softwaru ro řídcí systémy je oměrně nová oblast, která nebyla systematcky zkoumána. Vzhledem k vysokým ožadavkům na bezečnost dnešních řídcích systémů a z důvodu vysokého odílu softwaru na jejch srávném fungování je nutné věnovat se jakost oužtého softwaru. Z teoretckých rozborů vylynuly následující závěry:. Z řehledu vývoje rogramovacích jazyků ro řídcí systémy jsem učnl závěr, že v dalším zkoumání je vhodné zaměřt se na jazyk mnemokódů, strukturovaný tetový jazyk, říadně jný tetový rogramovací jazyk. Jako nejersektvnější do budoucna se jeví takové rogramovací jazyky, které se budou stále více řblžovat vyšším rogramovacím jazykům očítačů jako jsou Pascal a C.. Z dskuse a rozboru ojmů jsem vyvodl závěr, že software je v obou sledovaných oblastech v řídcích systémech v softwarovém nženýrství cháán obdobně, a že závěry učněné omocí metod a rostředků softwarového nženýrství budou alkovatelné v oblast softwaru ro řídcí systémy. 3. Přehled softwarových funkčních skun oskytnul ro vytvoření metodky MJSW ro řídcí systémy nformac, že je nutno volt metrky, které vyovídají o funkčnost logckých a matematckých konstrukcí, včetně dalších omocných funkčností, dále o srávnost vstuních a výstuních dat, funkčnost užvatelského rozhraní a odobně. Jakost softwaru ro řídcí systémy jsem modeloval omocí charakterstk jakost. Sestavl jsem vlastní model charakterstk a subcharakterstk jakost softwaru ro řídcí systémy. Př jejch výběru jsem se řídl těmto zásadam: vycházet ze standardzovaných charakterstk, vhodnost charakterstk ro hodnocení jakost softwaru ro řídcí systémy, snadná dostunost metrk ro zvolené charakterstky. Měření nemůže být realzováno bez standardu. Metrky jakost softwaru mají takové standardy ro měření charakterstk jakost softwaru ředstavovat. Problémem bylo stanovt, jak získat vhodné metrky. Z analýz vlastností metrk jakost vylynulo, jaká krtéra mají vhodné otencální metrky slňovat: 5
. korelace k jakost softwaru,. otencální řínosy alkace metrky, 3. kvantfkovatelnost, 4. rovedtelnost. Uvedené vlastnost by měly být brány v úvahu vždy ř vývoj a návrhu nových metrk ro měření jakost softwaru. Metrky by měly být defnovány odděleně ro každý druh roduktu. Př řešení dsertační ráce a souvsejících dskusích s odborníky jsem se setkal s nejednoznačností ř defnc a výkladu ojmů metrka a míra. Tyto ojmy jsou v teor měření oužívány v jném smyslu, než je tomu v jných oblastech matematky (vz termnologcká oznámka v katole 3.). II. Závěry z eermentální část a) závěry z eermentu s meratvním rogramy Předmětem statstckého zkoumání v rvním eermentu byly vzorky modelového softwaru, který byl vytvořen v rogramovacím jazyku Pascal, což je v souladu s rovedeným rozborem vlastností softwaru řídcích systémů. Vzorky se odařlo získat na soluracující základní škole. Rozsah souboru vzorků byl dán očtem 6 soluracujících rogramátorů. Přesná secfkace je uvedena v dsertační rác v osu odmínek ř měření. Vlastnost zdrojového kódu vzorků jsem osal nterním metrkam. Následně se m odařlo eermentálně rokázat vztah mez nterním a eterním metrkam a s využtím statstky navrhnout emrcký model jakost softwarového roduktu. V tomto eermentu jsem oužl nterní metrky délky (označení Length) a složtost (McCabe) grafu řízení. Mmo ně jsem navrhnul novou metrku oměrná složtost grafu řízení (McCabe/Length), kterou defnuj jako oměr složtost k délce. Původní metrka McCabe dobře hodnotí tzv. rozhodovací složtost. Horší je však schonost této metrky odchytt nestrukturovanost rogramu a hloubku vnoření struktur. Ukázalo se, že nově navržená metrka oměrná složtost grafu řízení bude mít dobrou vyovídací schonost o složtost rogramu a zároveň nebude ctlvá na délku rogramu, tj. umožní leší orovnávání různě dlouhých rogramů. Prokázal se vlv metrky na některé složky eterní jakost softwaru ro řídcí systémy. b) závěry z eermentu s rozsáhlým objektově orentovaným rogramy Podařlo se m rovést analýzu odle metodky MJSW na vzorku rozsáhlých rogramů. Bylo nutné volt novou sadu nterních metrk, rotože dnešní ostuy tvorby rozsáhlých rogramů jsou jž běžně založeny na aradgmatu objektově orentovaného rogramování. Sada eterních metrk zůstala zachována v ůvodní odobě jako ř rvním eermentu. Korelační analýza ukázala na statstcky významné závslost mez metrkam. Pro analýzu jsem oužl souhrnné hodnoty nterních metrk vyočtené s oužtím medánů. Medány jsem navrhl oužít roto, že teorí dooručované součty nedávaly dobré výsledky z hledska vzájemné nezávslost nterních metrk. Na základě toho jsem učnl závěr, že jednak souhrnné základní nterní metrky defnované na základě úvahy omocí součtů a jednak souhrnné Chdamberovy- Kemererovy nterní metrky defnované na základě teore omocí součtů a mam, mají malou schonost osat strukturální vlastnost měřeného softwaru z většího očtu různých ohledů. Naoak medány se m z tohoto hledska osvědčly daleko lée. Na základě výsledků rovedeného eermentu se domnívám, že mnou navržený výočet medánů je vhodným zůsobem stanovení souhrnných nterních metrk ro rogramový modul ř modelování jakost softwaru. 6
Výsledky regresní analýzy jsou, ve své zřesněné odobě (vyuštěním odlehlých bodů omocí analýzy rezduí), rezentovány na grafech lneárních závslostí. Nalezené závslost jsou vesměs v souladu se zkušenostm a s obecným zákontostm tvorby softwaru omocí objektově orentované technologe. Podle mého názoru tím tento eerment ověřl a dokázal možnost oužtí metodky MJSW na rozsáhlých rogramech. III. Obecné závěry Modelování jakost softwaru ro řídcí systémy je možné, vyžaduje však řesné vymezení odmínek latnost modelu. Mohu říc, že sestavení oužtelného modelu ro konkrétně defnované odmínky je raktcky realzovatelné. Dsertační ráce k tomu dává návod ve formě metodky modelování, která je založena na statstcké analýze naměřených dat. Navržená metodka se skládá z následujících o sobě jdoucích kroků:. Korelační analýza založená na testování hyotézy o nezávslost zkoumaných metrk omocí Searmanova korelačního koefcentu.. Sestavení modelů závslost eterních a nterních metrk, u kterých byla nalezena statstcky významná korelace, omocí regresní analýzy. 3. Zřesnění modelů analýzou odlehlých bodů omocí t-testu. 4. Vyjádření řesnost výsledného modelu omocí ntervalů solehlvost ro regresní koefcenty a ásů solehlvost ro hodnoty vyočtené z modelu. Snažl jsem se dokázat, že modelování jakost softwaru omocí metrk řnáší hodnotné nformace a že v řesně vymezených odmínkách (hardware, oerační systém, rogramovací jazyk, zkušenost rogramátorů aod.) je možné sestavt emrcký regresní model, který by bylo v budoucnu možné oužívat ř odhadu jakost softwaru (omocí eterních metrk) ještě dříve, než bude suštěn. Tj. bylo by možné rovést odhad chování softwaru ř rovozu na základě jeho strukturálních vlastností (omocí nterních metrk) jž v ranných fázích jeho tvorby. Nabízí se také možnost oužít metodku k vytvoření modelů využtelných ro měření a srovnávání jakost softwaru od různých rogramátorů, kteří racují na stejném nebo odobném rojektu. Taková možnost srovnání ráce rogramátorů zatím v ra vůbec není k dsozc. Ekonomcké vyhodnocení řínosů metodky MJSW, které je rovedeno v oddělené říloze B, dokazuje, že se oužtím metodky dosáhne nejen značných úsor nákladů, ale zvýší se výnosy, vznknou nové říležtost a dodavatel může dosáhnout dalších výhod na trhu. Prvním skromným úsěchy navržené metodky v ra jsou kromě kladného hodnocení ředtele ro výzkum a vývoj z frmy e-fractal Praha, kde byl roveden druhý eerment, také ohlas na její ublkovanou odobu, který řšel z frmy DERS Hradec Králové. Navržením metodky MJSW, jejím ověřením a zracováním výsledků v dsertační rác jsem se snažl řsět svým dílem k odhalení vztahů mez jakostí softwaru ro řídcí systémy a jejím měřtelným redktory. Věřím, že dosažené výsledky budou motvací ro říadné následovníky, kteří budou chtít okračovat dále ve výzkumu. Nabízí se naříklad možnost rověřt nalezené závslost v šrším ntervalu hodnot roměnných, okust se alkovat jné než lneární závslost (nař. kvadratcké nebo eonencální) nebo dokonce zkust sestrojt modely s několka nezávsle roměnným. Jnou možností k dalšímu zřesnění modelů je oužtí metody tzv. navrhovaného eermentu (DOE Desgn of Eerment). To vše ředokládá rovedení velkého očtu dalších eermentů. 7
LITERATURA. ALIFORNI, S.S. - MATARAZZI, C. A Fleble Metrc for Software Audtng Actvtes. In Informaton Systems Audtng. Elsever Scence Publshers, 983. ISBN 0-444-86778-3.. ANDĚL, J. Matematcká statstka. Praha: SNTL a Alfa, 978. 3. ARTUR, L.J. Measurng Programmer Qualty. Wley, New York: 985. 4. ARTUR, L.J. Software qualty measurement. Datamaton. December 984. 5. BACHE,R. - BAZZANA,G. Software Metrcs for Product Assessment. McGraw-Hll, 994. ISBN 0-07-70793-X. 6. BINDER, L.H. - POORE, J.H. Feld Eerments Wth Local Software Qualty Metrcs n Software - Practce and Eerence. July 990, vol. 0 (7),.63-647. 7. BOEHM, B.W. AT ALL. Characterstcs of Software Qualty. TRW Seres of Software Technologes. North-Holland, Amsterdam: 978, vol.. 8. BOWEN, T.P AT ALL. Secfcaton of Software Qualty Attrbutes. Ar Force System Command RADCTR-85-37. Rome, NY: Rome Ar Develoment Center, 985, vol. I, II, III. 9. CARD, D.N. - GLASS, R.L. Measurng Software Desgn Qualty. Prentce Hall, 990. 0. ČSN EN 63-.. ČSN ISO 840. Praha: Český normalzační nsttut, 995.. ČSN ISO/IEC 07. 3. ČSN ISO/IEC 96. 4. DEUTSCH, M.S. - WILLIS, R.R. Software QualtyEngneerng. Englewood Clffs, NJ: Prentce-Hall, 988. 5. DUŠEK, F. Programové rostředky ASŘTP. Učební tet KŘ PVT FCHT. Pardubce: Unversta Pardubce, 994,. 6. Encykloedcký slovník. Praha: Academa, 98. 7. FEHR, U.H. Total Qualty Management. Brno, UNIS, 995. ISBN 3-446-735-5. 8. FORSE, T. Qualmetre des systems comlees. Pars: Les Edtons d Organsaton, 989. 9. GARMUS, D. - HERRON, D. Measurng the Software Process - a ractcal gude to functonal measurements. Prentce Hall, 996. 0. GILLIES, A. C. Software Qualty Theory and Management. London: Chaman and Hall, 993.. GRADY, R.B. - CASWELL, D.L. Software Metrcs: Establshng a Comany-Wde Program. Englewood Clffs, NJ: Prentce-Hall, 987.. HALSTEAD, M.H. Elements of Software Scence. Amsterdam: North Holland, 977. 3. HALVA, M. Jakost softwaru užívaného ve frmách. In sborník z celostátní konference Tvorba softwaru 000. Ostrava: Tanger, 000. ISBN 80-85988-49-6. 4. HALVA, M. Modelování jakost softwarových roduktů v řídcích systémech. In sborník z celostátní konference Tvorba softwaru 00. Ostrava: Tanger, 00. ISBN 80-85988-74-7. 5. HALVA, M. Modelování jakost softwaru ro nformační systémy. Teze dsertační ráce. Brno: VUT v Brně, 998, 38 s. 8
6. HALVA, M. Qualty modellng of software roducts. In sborník z meznárodní konference JAKOST QUALITY 00. Ostrava: Dům technky a VŠB-TU, 00. ISBN 80-0-0494-4. 7. ISO/IEC 96-. 8. KLEIJEN, J.P.C. Quantfyng fnancal benefts of Informaton. Tlburg, Netherlands: 978. 9. Komonenty ro lně ntegrovanou automatzac řehled systémů. Fremní lteratura SIEMENS. Brno: 000. 30. KRÁL, J. - DEMNER, J. Softwarové nženýrství. Praha: Academa,99. ISBN 80-00-0086-0. 3. LACKO, B. Jakostní nformační systémy. In sborník z konference Qualty Management 99. Brno: VUT v Brně, 996. ISBN 80-4-0796-4. 3. LACKO, B. Trendy nformačních systémů o roce 000. In Jakost a nformační systémy. Brno: VUT v Brně, 999. ISBN 80-4-3-. 33. MAGGIOLINI, P. Economc Assessment of Informaton Systems and The Effectveness/ Effcency of Comuter Technology. In Informaton Systems Audtng. Amsterdam, Netherlands: Elsever Scence Publshers, 983. ISBN 0-444-86778-3. 34. MAROŠ, B. Emrcké modely I. Brno: Akad. nakl. CERM, 00. ISBN 80-4-984-9. 35. MC CABE, T.J. A Comlety Measure. IEEE Transactons on Software Engneerng. December 976,, no. 4. 36. MC CALL ET AL. Factors n Software Qualty. RADC-TR-77-363. Rome, NY: Rome Ar Develoment Center, Grffs Ar Force, 977. 37. MILLER, D.R. The role of statstcal modelng and nference n software qualty assurance. In Software certfcaton. London and New York: Elsever Aled Scence, 989. ISBN -8566-380-0. 38. ROSA, Z. Komentované vydání návrhů norem ISO/DIS 9000:000. Praha: Český normalzační nsttut, 000. ISBN 80-783-008-. 39. SMITH, D.,J. - WOOD, K.,B. Engneerng Qualty Software. 40. ŠMEJKAL, L. Tř desetletí PLC a standard IEC 3-3. Automatzace. 998, roč. 4, č., s.799-805. 4. VANÍČEK, J. Cestovní zráva. Patnácté zasedání meznárodního normalzačního výboru ISO/IEC JTC/SC7 a jednání jeho racovní skuny (Jaonsko / Nagoya). Praha: Úřad ro veřejné nformační systémy, 00. 4. VANÍČEK, J. Cestovní zráva. Zasedání racovní skuny WG6 meznárodního normalzačního výboru ISO/IEC JTC/SC7 (Itále / Bar). Praha: Úřad ro veřejné nformační systémy, Česká zemědělská unverzta, 00. 43. VANÍČEK, J. Měření a hodnocení jakost nformačních roduktů ve světle meznárodní normalzace. Praha: ČZU PEF, ÚVIS, 00. 44. VANÍČEK, J. Měření a hodnocení jakost nformačních systémů. Praha: ČZU PEF ve vydavatelství CREDIT, 000, s. ISBN 80-3-0667-X. 45. VANÍČEK, J. Zráva ze služební cesty do Austrále - Sydney. Praha: Úřad ro státní nformační systém, Česká zemědělská unverzta, 998. 46. VANÍČEK, J. Zráva ze služební cesty do Jhoafrcké reublky. Praha: Úřad ro státní nformační systém, 997. 47. VON MARYHAUSER, A. Software Engneerng Methods and Management. New York: Academc Press, 990. 9