Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Szoftver mértékek Szoftver mérték: –A fejlesztési folyamat mérése –Végtermék mérése (termék mérték) Termék mérték: –Külső mértékek: Megbízhatósági mértékek.

Hasonló előadás


Az előadások a következő témára: "Szoftver mértékek Szoftver mérték: –A fejlesztési folyamat mérése –Végtermék mérése (termék mérték) Termék mérték: –Külső mértékek: Megbízhatósági mértékek."— Előadás másolata:

1 Szoftver mértékek Szoftver mérték: –A fejlesztési folyamat mérése –Végtermék mérése (termék mérték) Termék mérték: –Külső mértékek: Megbízhatósági mértékek Funkcionalitási mértékek Teljesítmény mértékek –Belső termék mértékek: Méret Bonyolultság Stílus

2 Projekt metrikák Fejlesztés költsége (cost) Szükséges kifejtendő erőfeszítés (effort) Projekt előrehaladása (advancement) Fejlesztés megbízhatósága (process reliability) A termék újrafelhasználhatósága alapján (reuse)

3 Méret metrikák Méret metrikák: –Nagyságrendi becslés –LOC –eLOC Derivátumok –Szavak –Utasítások –Alprogramok –Modulok –Forrásfájlok

4 McCabe Thomas J. McCabe –FORTRAN programok –Tesztelhetőség –Modularizáció –IBM javaslat: Max 50 sor 25 IF THEN 33.5 millió független végrehajtási ág –Kód tesztelési költsége –Független vezérlési utak száma (Basic path)

5 McCabe II. Control graph A szekvenciákat egyetlen csomópontba fogja V(G) = e – n + 2p ahol n csomópont, e él, p komponens Tétel: erősen összefüggő gráfban a lineárisan független körök száma V(G)

6 McCabe példák. a b e c d f V(G) = e – n + 2p = = 5

7 McCabe példák. Szekvencia, v = = 1 Elágazás, v = = 2 While, v = = 2

8 McCabe III. Additív Összefüggő gráfokra: V(G) = pred + 1 Tulajdonságok: V(G) >= 1 Alprogramhívások hozzá vétele nem befolyásolja V(G) == 1 acsa G-ben 1 út létezik G kiegészítése (csak) egy éllel növeli V(G)-t

9 Mi predikátum? IF c1>0 AND c2<5 THEN if ( x[f(i)] < 0 ) switch(i) { case 1: aa(); bb(); break; case 2: cc(); dd(); default: ee(); }

10 McCabe IV. Ajánlás: kódhossz helyett a ciklomatikus bonyolultság <10 Kivétel: case Jó stílusú programozók eleve 3 és 7 között Mások gyakran Strukturált programok: Knuth mellett érvel, a goto esetenként megengedhető

11 Beágyazás James W. Howatt, Albert L. Baker Rigorous Definition and Analysis of Program Complexity Measures: An Example Using Nesting Beágyazási mélység nem csak strukturált programokra –Elméleti start és végpont (többszöri be és kilépési pont) –Predikátum csomópont hatóköre (scope) –Csomópont predikáló halmaza (predicate set) –ND(G) = a gráf beágyazási mélysége –SN(G) = N + ND(G)

12 Halstead-mérték. Maurice Halstead Software –science metrics: length and volume Különböző metrikák vektora –Programszótár –Programhossz –Program tárhely mérete –Szükséges erőfeszítés –Fejlesztési idő

13 Halstead-mérték. N1 operátorok összes száma N2 operandusok összes száma n1 az egyedi operátorok száma n2 az egyedi operandusok száma Programszótár –n = n1 + n2 Programhossz –N = N1 + N2 – n1 log 2 n1 + n2 log 2 n2 –Ezt már előre tudjuk becsülni

14 Halstead-mérték. Program tárhely mérete (volume) –V = N log 2 n Kapcsolat a program absztrakciós szintje (L) és V között –V * = LV = konstans –L = V * / V Szükséges erőfeszítés (effort) –E = V / L = V 2 / V *

15 Információ-áramlás metrikák Sallie Henry és Dennis Kafura 1981 Információ-áramlás –A hívja B-t (paraméterátadással) –B visszatér értékkel, amit A felhasznál –B output változót használ Programméret: LOC vagy eLOC Fan-in: belépő információáramlás + érintett adatszerkezet Fan-out: kilépő információáramlás + érintett adatszerkezet C = méret * (fan-in + fan-out) 2

16 Információ-áramlás metrikák II. Nem csak paraméterek, figyelembe kell venni a globális változókat is Elegendőnek találták a modulok közötti kapcsolatokat Ha nincsen információ-áramlás, akkor c == 0 Javítás: vezérlésátadás, mint implicit információáramlás Alprogram mérete elhagyható lenne…


Letölteni ppt "Szoftver mértékek Szoftver mérték: –A fejlesztési folyamat mérése –Végtermék mérése (termék mérték) Termék mérték: –Külső mértékek: Megbízhatósági mértékek."

Hasonló előadás


Google Hirdetések