Szoftvermérés:hogyan lehet a szoftvertermék vagy a szoftverfolyamat valamely jellemzőjéből numerikus értéket előállítani.

Hasonló dokumentumok
Szoftver-mérés. Szoftver metrikák. Szoftver mérés

Teljesítmény Mérés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Teljesítmény Mérés / 20

A minőségbiztosítás informatikája Gégény Dávid - KHIWFS

2. Szoftver minőségbiztosítás

ESZKÖZTÁMOGATÁS A TESZTELÉSBEN

SZOFTVER- MINŐSÉGBIZTOSÍTÁS

Programrendszerek tanúsítása szoftverminőség mérése

Objektum Vezérelt Szoftverek Analízise

Bonyolultsági. mértékek erlang programokhoz. Király Roland

II. rész: a rendszer felülvizsgálati stratégia kidolgozását támogató funkciói. Tóth László, Lenkeyné Biró Gyöngyvér, Kuczogi László

Programtervezés. Dr. Iványi Péter

A TESZTELÉS ALAPJAI MIÉRT SZÜKSÉGES A TESZTELÉS? MI A TESZTELÉS? ÁLTALÁNOS TESZTELÉSI ALAPELVEK

Szoftver metrika Eclipse-plugin KÉSZÍTETTE: BARTA JÁNOS (SS4TCD)

Szoftver karbantartási lépések ellenőrzése

Alkalmazások fejlesztése A D O K U M E N T Á C I Ó F E L É P Í T É S E

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

Információtartalom vázlata

Verifikáció és validáció Általános bevezető

Software project management Áttekintés

Döntéselmélet KOCKÁZAT ÉS BIZONYTALANSÁG

Angolul: Extreme Programming, röviden: XP Agilis módszertan. Más módszertanok bevált technikáinak extrém módú (nagyon jó) használata

Matematikai geodéziai számítások 6.

Bevezetés a programozásba II. 8. Előadás: Osztályok, objektumok, osztályszintű metódusok

22. GRÁFOK ÁBRÁZOLÁSA

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

MŰSZAKI TESZTTERVEZÉSI TECHNIKÁK A TESZT FEJLESZTÉSI FOLYAMATA A TESZTTERVEZÉSI TECHNIKÁK KATEGÓRIÁI

Matematikai geodéziai számítások 6.

Funkciópont elemzés: elmélet és gyakorlat

Soft. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Software minőség menedzsment. ftware minőség menedzsment

OOP. Alapelvek Elek Tibor

Keresés képi jellemzők alapján. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

Szoftverminőségbiztosítás

A Bankok Bázel II megfelelésének informatikai validációja

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Alkalmazott modul: Programozás 4. előadás. Procedurális programozás: iteratív és rekurzív alprogramok. Alprogramok. Alprogramok.

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?

Termék modell. Definíció:

TESZTMENEDZSMENT TESZTELŐ SZERVEZET TESZTTERVEZÉS ÉS BECSLÉS

Miskolci Egyetem Alkalmazott Informatikai Intézeti Tanszék A minőségbiztosítás informatikája. Készítette: Urbán Norbert

Adatszerkezetek 2. Dr. Iványi Péter

Mintavétel fogalmai STATISZTIKA, BIOMETRIA. Mintavételi hiba. Statisztikai adatgyűjtés. Nem véletlenen alapuló kiválasztás

A mérési eredmény megadása

NGB_IN040_1 SZIMULÁCIÓS TECHNIKÁK dr. Pozna Claudio Radu, Horváth Ernő

2011. ÓE BGK Galla Jánosné,

Szoftverprototípus készítése. Szoftverprototípus készítése. Szoftverprototípus készítése

GráfRajz fejlesztői dokumentáció

QBE Édes Otthon lakásbiztosítás tarifáló webservice. Fejlesztői dokumentáció 1.0.2

A CRD prevalidáció informatika felügyelési vonatkozásai

Szoftverdokumentáció

Mesterséges Intelligencia MI

1: Bevezetés: Internet, rétegmodell Alapok: aszimptótika, gráfok. HálózatokII, 2007

Komplex szervezetfejlesztési projekt megvalósítása Kaposvár Megyei Jogú Város Polgármesteri Hivatalánál. Monitoring rendszer

Megszületett a digitális minőségügyi szakember? XXIV. Nemzeti Minőségügyi Konferencia

Soft. Tartalom. A software minőség menedzsment

30 MB INFORMATIKAI PROJEKTELLENŐR

Hogyan tudom soros eszközeimet pillanatok alatt hálózatba kötni?

Fogalmak: Adatbázis Tábla Adatbázis sorai: Adatbázis oszlopai azonosító mező, egyedi kulcs Lekérdezések Jelentés Adattípusok: Szöveg Feljegyzés Szám

Forráskód minőségbiztosítás

3D számítógépes geometria és alakzatrekonstrukció

BASH script programozás II. Vezérlési szerkezetek

Mérési hibák

Indikátorok projekt modellhelyszínein. Domokos Tamás szeptember 13.

Szoftver újrafelhasználás

Fogalomtár Etikus hackelés tárgyban Azonosító: S2_Fogalomtar_v1 Silent Signal Kft. Web:

Minőség-ellenőrzés 2016

Méréselmélet MI BSc 1

Adatbázis rendszerek Definíciók:

Mit látnak a robotok? Bányai Mihály Matemorfózis, 2017.

ELTE Informatikai Kooperációs Kutatási és Oktatási Központ. Az ELTE-Soft KMOP / jelű pályázat zárórendezvénye

Programozási nyelvek Java

Számítógép hálózatok, osztott rendszerek 2009

Gépi tanulás és Mintafelismerés

Hát én immár mit válasszak?

Vállalati információs rendszerek I, MIN5B6IN, 5 kredit, K. 4. A meghirdetés ideje (mintatanterv szerint vagy keresztfélében):

Bevezetés: Mi a CRM? A tervezési fázis helye és szerepe a CRM implementációs projektekben Jógyakorlatok: mire figyeljünk a CRM tervezés közben.

Rekurzió. Dr. Iványi Péter

Az informatika kulcsfogalmai

S atisztika 2. előadás

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter

Gépi tanulás a gyakorlatban. Kiértékelés és Klaszterezés

MŰSZAKI TESZTTERVEZÉSI TECHNIKÁK STRUKTÚRA ALAPÚ, VAGY FEHÉRDOBOZ TECHNIKÁK TAPASZTALAT ALAPÚ TECHNIKÁK

Szoftverminőségbiztosítás

Berlitz 1. szint KER szint A 1

Számítógépes képelemzés 7. előadás. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra

Andó Mátyás Felületi érdesség matyi.misi.eu. Felületi érdesség. 1. ábra. Felületi érdességi jelek

INFORMATIKAI RENDSZEREK MEGBÍZHATÓSÁGÁNAK MATEMATIKAI MODELLEZÉSE. Kun István

MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM KÖZLEKEDÉSMÉRNÖKI ÉS JÁRMŰMÉRNÖKI KAR

R5 kutatási feladatok és várható eredmények. RFID future R Király Roland - Eger, EKF TTK MatInf

Szoftver értékelés és karbantartás

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása

1 A SIKERES PROJEKT KOCKÁZATMENEDZ SMENT FŐ ELEMEI ÉS KULCSTÉNYEZŐI

Orvosi szociológia (1. szeminárium) KUTATÁSMÓDSZERTAN

Információ menedzsment

3D-s számítógépes geometria és alakzatrekonstrukció

17. előadás: Vektorok a térben

Szoftver karbantartás

AZ ISO ÉS AZ ENERGIAHATÉKONYSÁGI DIREKTÍVA KAPCSOLATA

Gráfok 1. Tárolási módok, bejárások. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor

Átírás:

Szoftvermérés:hogyan lehet a szoftvertermék vagy a szoftverfolyamat valamely jellemzőjéből numerikus értéket előállítani. az értékeket összegyűjtik, tárolják egymással és az egész szervezetre alkalmazott szabványokkal összehasonlíthatók levonhatók bizonyos következtetések a szoftver vagy a szoftverfolyamat minőségére vonatkozóan. 2 Két terület, ahol a mérések használhatók: Általános előrejelzés készítése a rendszerről: A rendszerkomponensek jellemzőinek mérése,és azok összegzése Így becslést adhatunk a rendszer jellemzőire például a rendszerben előforduló hibákra A rendellenes komponensek azonosítása: Bizonyos egyedi komponensek jellemzői megsérthetnek bizonyos normákat. Pl.: mérhetjük a komponenseket azért, hogy felfedezzük a legösszetettebbeket ezután a felülvizsgálati folyamatban ezekre koncentrálhatunk. Feltételezzük, hogy a hibák többsége itt lesz. 3 4 1

Szoftvermetrika: Minden mérés, amely egy szoftverrendszerhez, szoftverfolyamathoz vagy az ezekhez kapcsolódó dokumentációhoz fűződik. Pl.: a termék méretének kifejezése a kódsorok számában A szoftveriparban igen kis mértékben használnak csak metrikákat A minőségfejlesztés fontos szerepe miatt egyre inkább igény van rá. A középpontban leginkább: a programhibák, a verifikációs és validációseljárásokhoz tartozó mérőszámok. Vezérlési metrikák(control metrics) Prediktor metrikák (Predictor metrics) 5 Metrikák hatása a vezetői döntéshozatalra 6 A vezérlési metrikákáltalában a szoftverfolyamattal kapcsolatosak. Pl.: a feljegyzett hibák kijavításához szükséges átlagos idő és munka A szoftver minőségi jellemzőit gyakran lehetetlen közvetlenül lemérni. A külső jellemzők arra vonatkoznak, hogy a fejlesztők és a felhasználók hogyan látják a szoftvert. Pl.: a karbantarthatóság, a bonyolultság és érthetőség, A prediktormetrikákinkább a szoftvertermékre koncentrálnak. Pl.: a modul ciklomatikus komplexitása, a program azonosítóinak átlagos hossza, a tervezett objektumok műveleteiben szereplő attribútumok száma. 7 Kitchenham(1990) 8 2

Az ábra feltünteti a külső és belső jellemzők közötti kapcsolatot. a kapcsolat milyenségéről nem mond semmit. A belső tulajdonságok mérése akkor hasznos predikátoraa szoftver külső karakterisztikájának: 1. A belső jellemzőnek pontosan mérhetőnek kell lennie. 2. Léteznie kell valamilyen kapcsolatnak a mérhető és a bennünket érdeklő külső viselkedésű jellemzők között. 3. A kapcsolat ismert, validált és kifejezhető képlet vagy modell segítségével. 9 10 A szoftverek mérésénél a rendszer minden egyes komponensét külön elemzik a metrika különböző értékeit összehasonlítják egymással, Esetleg a korábbi projektekből összegyűjtött mérési adatokkal is. A rendellenes mérési eredmények: Általában a problémás komponensek esetén Mutatja, hogy nagyobb odafigyelést kell szentelni ezekre 11 12 3

1. Az alkalmazandó mérések kiválasztása Meg kell fogalmazni, hogy mit szeretnénk mérni amelyre a mérés fogja megadni a választ, meg kell határozni a kérdések megválaszolásához szükséges méréseket. 2. A mérni kívánt komponensek kiválasztása Nem biztos, hogy egy szoftverrendszer minden komponensét szükséges mérni. A komponenseknek csak egy reprezentatív csoportját jelölik ki mérésre. 3. A komponensek jellemzőinek mérése Lemérik a kiválasztott komponenseket, kiszámítják a metrikus értékeket magában foglalja a komponens reprezentációjának (terv, kód stb.) feldolgozását automatizált adatgyűjtő eszköz felhasználása 4. A rendellenes mérések azonosítása A mért értékeket összehasonlíthatók egymással és a mérési adatbázisban feljegyzett korábbi mérésekkel. Ametrikáknál meg kell keresni a szokatlanul magas vagy alacsony értékeket. 13 14 5. A rendellenes komponensek elemzése A rendellenes értéket mutató komponensek vizsgálata El kell dönteni, hogy a rendellenes metrikus értékek veszélyeztetik-e a komponens minőségét. Az összegyűjtött adatokat célszerű tárolni elég nagy mérési adatbázis felállítása után összehasonlíthatók a projektek, olyan információk nyerhető ki, amelyek segíthetnek a minőség növelésében. 15 16 4

Termékmetrikák:magának a szoftvernek a jellemzőihez kapcsolódnak Vannak belső és külső jellemzők Közöttük kapcsolat A kapcsolatok felderítéséhez és validálásához a létező rendszerről sok adatot kell gyűjteni. Felhasználható arra, hogy kiderítsük, hogyan kapcsolódnak a külső minőségek a szoftvertemék jellemzőihez. A termékmetrikák két osztályba sorolhatók: Dinamikus metrikák Statikus metrikák Fontosabb jellemzőik: Egy program futása közben készített mérések állítják elő Segítenek a program hatékonyságának és megbízhatóságának megállapításában. Általában szoros kapcsolatban állnak a szoftver minőségi jellemzőivel. Pl.: viszonylag könnyen mérhető az egyes funkciók végrehajtásához és a rendszer elindításához szükséges idő, Ez összefügg a rendszer hatékonyságával. Pl.: a rendszer meghibásodásainak száma és a meghibásodás típusa is naplózható Ez összefügg a szoftver megbízhatóságával. 17 18 Fontosabb jellemzőik: A rendszer reprezentációjának mérései gyűjtik össze. például terv, program vagy dokumentáció A szoftverrendszer komplexitásának, érthetőségének és karbantarthatóságának felmérésében segítenek. A statikus metrikák és a minőségi jellemzők között csak közvetett kapcsolat létezik. Kutatások folynak a közvetett kapcsolat felismerésében napjainkban is 19 20 5

Fan-in/fan-out A fan-inazon függvények száma, amelyek valamilyen más függvényt (nevezzük X-nek) hívnak meg. A fan-out az X függvény által meghívott függvények száma. A fan-inmagas értéke: azt jelenti, hogy az X szorosan kapcsolódik a terv többi részéhez, és megváltoztatása sok helyen ütközéshez vezethet. A fan-out magas értéke: Jelzi hogy a meghívott komponensek koordinálásához szükséges vezérlőlogika komplexitása megnövelheti az X általános bonyolultságát. A kód hossza A program méretének mértéke. Ha a kód mérete nagy annál valószínűbb, hogy a komponens bonyolultabb és hibára hajlamos. A kód hossza az egyik legmegbízhatóbb mérték annak előrejelzésére, hogy a komponensben hibák lehetnek. 21 22 Ciklomatikus komplexitás Thomas J. McCabe publikált 1976-ban A program vezérlésének bonyolultságát méri. Eredménye egy egész szám alacsony értéke a program érthetőségével függ össze. A komplexitás számítása a gráfelméletre alapul A forráskódban az elágazásokból felépülő vezérfolyam-gráf pontjai, és a köztük lévő élek alapján számítható. A ciklomatikus (McCabe) komplexitás értéke: M = E N + 2P A ciklomatikus szám: M = E N + P E: A gráf éleinek száma N: A gráfban lévő csúcsok száma P: Az összefüggő komponensek száma Szoftverek esetében: a gráfot az adott függvényben lévő utasítások alkotják él akkor van 2 utasítás között, ha az egyik után a másik azonnal végrehajtódhat A metrika közvetlenül számolja a lineárisan független útvonalakat a forráskódon keresztül. 23 24 6

Ciklomatikus Kockázati szint komplexitás 1-10 Egyszerű program, kevés kockázat 11-20 Mérsékelten bonyolult program, mérsékelt kockázat 21-50 Bonyolult program, magas kockázat 50+ Nem tesztelhető program, nagyon magas kockázat 25 26 Két hátránya: 1. A program döntési komplexitását méri feltételes utasításokkal, előfeltételekkel van meghatározva. Ha a program adatorientált, akkor a ciklomatikus komplexitásra alacsony érték adódik, viszont ettől még mindig elég komplex és nehezen érthető. 2.Ugyanolyan súllyal szerepelnek a beágyazott és nem beágyazott ciklusok. Azonban a mélyen beágyazott feltételes struktúrákat nehezebb megérteni. Azonosítók hossza: a program különböző azonosítóinak átlagos hosszát méri. Minél hosszabb egy azonosító, annál nagyobb az érthetőségének a valószínűsége a program érthetősége egyenes arányban nő az azonosítók hosszával. A feltételek egymásba ágyazásának mélysége: méri, hogy a program ifutasításai milyen mélyen vannak egymásba ágyazva. A mélyen egymásba ágyazott ifutasítások nehezen érthetők, és esetleg hibára hajlamosak is. 27 28 7

Fog index: A dokumentum szavainak és mondatainak átlagos hosszát méri. Minél magasabb a Fog index értéke, annál nehezebb megérteni a dokumentumot. 29 30 Öröklődési fa mélysége: a különálló szintek száma az öröklődési fában az alosztályok tulajdonságokat és műveleteket (módszereket) örökölnek a szuperosztálytól. Minél mélyebb az öröklődési fa, annál összetettebb a terv: a fa leveleinél elhelyezkedő objektumosztályok megértéséhez sok különböző objektumosztállyal kell megismerkedni. Módszer fan-in/fan-out: közvetlenül kapcsolódik a fan-in/fan-out-hoz, jelentésük is megegyezik Itt nem árt megkülönböztetni az objektum más módszereiből és a külső módszerekből érkező hívásokat. Osztályonkénti súlyozott metódusok: az osztály módszereinek száma, súlyozva az egyes módszerek bonyolultságával. Az egyszerű módszerek bonyolultsága így 1, a nagyobb és összetettebb módszerek bonyolultsága ennél magasabb lesz Minél magasabb a metrika értéke, annál bonyolultabb az objektumosztály. A bonyolult osztályok nehezebben érthetők, de logikailag sem biztos, hogy összefüggnek ezért szuperosztályként nem lehet őket ténylegesen újrafelhasználni az öröklődési fában. 31 32 8

Túlterhelt műveletek száma: a szuperosztály azon műveleteinek a száma, amelyeket a szuperosztály valamelyik alosztálya túlterhel. A metrika magas értéke: azt jelenti, hogy a használt szuperosztály lehet, hogy nem alkalmas az alosztály szülőjének. 33 34 9