Szoftver min ség és menedzsment 14. Mérési módszerek Dr. Balla Katalin Tartalom Konkrét mérési módszerek A Nasa SEL által alkalmazott metrikák A RUP mérésekre vonatkozó ajánlásai A termék komplexitásának egy mérési módja: funkciópont számolás A funkciópont-számolás története A COSMIC módszer a módszer lényege példa a módszer bevezetésének lehet sége egy szoftvercégnél Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 2 Példák: a NASA SEL mérési módszere Mérési módszer: QIP, GQM, EF saját adatgy jtési formok, mechanizmusok Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 3 2001 / 2002 1
Pl: A NASA SEL által alkalmazott alapmetrikák Költség Jelentések száma teljes ráfordítás (effort) fejlesztési és karbantartási tevékenységenkénti ráfordítás Hibák hibabejelentés és a hiba kijavításának dátuma a hiba megtalálására és kijavítására fordított energia (effort) a hibák forrás és típusa Folyamatok jellemz i programozási nyelv a fontos folyamatok alkalmazása a mérési kísérletek céljai Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 4 Pl: A NASA SEL által alkalmazott alapmetrikák Projektek dinamikája a követelmények változásának száma a kód változása a kód növekedése megjósolt jellemz k alakulása Projektek jellemz i fejlesztéssel kapcsolatos dátumok teljes ráfordítás termék mérete a komponensekkel kapcsolatos információk a szoftver milyen típusba sorolható (Software Measurement Guidebook, NASA, Software Engineering Laboratories, NASA-GB-001-94) Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 5 A RUP mérésekre vonatkozó ajánlásai Hangsúlyos mérési eljárások Módszertani leírás Metrika-gy jtemény Eszköz-támogatás Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 6 2001 / 2002 2
A RUP mérésekre vonatkozó ajánlásai Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 7 A RUP mérésekre vonatkozó ajánlásai Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 8 A RUP mérésekre vonatkozó ajánlásai Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 9 2001 / 2002 3
A RUP mérésekre vonatkozó ajánlásai Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 10 A RUP mérésekre vonatkozó ajánlásai Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 11 A RUP mérésekre vonatkozó ajánlásai Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 12 2001 / 2002 4
A RUP mérésekre vonatkozó ajánlásai Eszközök ClearQuest ClearCase RequisitePro Project Console http://www.rational.com/products/projectconsole/index.jsp Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 13 A termék mérésének egy módja Régi ötlet, különböz ruhákban A Cosmic módszer Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 14 Kifejlesztésének célja: különböz technológiákkal történ szoftverfejlesztések hatékonyságának összehasonlítása Albrecht céljai a funkciópont számolással: a szoftver méretének következetes mértéke legyen legyen független a fejlesztésben alkalmazott technológiától alkalmazása legyen egyszer, eredménye sokatmondó a végfelhasználónak (is) Kés bb rájöttek, hogy a módszer jól alkalmazható a specifikáció alapján történ becsléskor (Forrás: Charles Symons: Come back Function Point Analysis (Modernised)- all is Forgiven! Software Measurement Services 10th May 2001, FESMA Conference ) Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 15 2001 / 2002 5
Albrecht funkciópont modellje 1970-b l Bizonyos jellemz ket figyelünk, és 0-5 között súlyozzuk jelenlétüket, jelent ségüket. Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 16 A funkciópont-számolás hullámzása Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 17 alkalmazásának problémái ra vonatkozó mérési program kidolgozása és fenntartása nehezebbnek bizonyult a tervezettnél az adatgy jtési ráfordítás belefolyik a projektekbe az adatok elemzése nehéz, kevés a jó eredmény a mérési programokat folyamatosan átszervezik, csökkentik a költségeiket, egyre kevesebb id ben, küls sökkel próbálják megoldani A számolási szabályok egyre bonyolódnak Egyre kevesebbet mond a számolás eredménye Kritikák az akadémiai szférából Sokfajta funkciópont számolási modell-változat A számolások eredményei túlságosan felduzzadnak, irrelevánssá válnak Új típusú technológiák megjelenése, amelyeknél nehéz a módszert alkalmazni... Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 18 2001 / 2002 6
Különböz típusú szoftverek mindegyiket meg kell számolni! Felhasználók Alkalmazások Beépített vagy MIS valós idej szoftver Utility Felh.i Fejleszt - eszközök Infrastruktúra{ eszközök Rendszerszoftver MIS: Management információs rendszerek ban rendelkezésre álló tapasztalat 99%-a üzleti alkalmazásokból származik Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 19 lehet ségként fennmaradt A mérés minden divatos modellben fontos! A szoftveriparnak szüksége van valamilyen módszerre, amely a szoftvertermék funkcionális méretét határozza meg Ilyen módszert használhatnának a követelményelemzést végz k a becslést végz k projektvezet k befektet k a szoftverfolyamat javításával foglalkozók... Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 20 Hogyan használható a funkciópont számolás? Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 21 2001 / 2002 7
legyen egyszer kapcsolódjék a cégek egyéb formában mért adataihoz legyen nemzetközi kapcsolódjék jobban a (többi) szoftver metrikához Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 22 módszerei Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 23 módszerei IFPUG: Albrecht módszere Néha nehéz a komponenseket meghatározni, nincsenek pontos definíciók pl. mit jelent logikai file az OO környezetben? Hogyan kezeljük azokat a képerny ket, amelyek inputot és outputot is tartalmaznak? Bels komplexitás meghatározása nem definiált (u. az a komplexitása egy egyszer transzformációnak és egy nagyon bonyolult folyamatnak is, mert csak az I / O-t veszi figyelembe http://www.uksma.co.uk/html/ifpug.html Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 24 2001 / 2002 8
módszerei IFPUG Jlegtöbbet használták, sok a tapasztalat, esettanulmány Jnagy nemzetközi szervezeti háttér (képzés, konzultáció, certificate ) Jadatfeldolgozó rendszerekben jól használható Lvalós idej rendszereknél nem használható Lcsak alkalmazás - típusú szoftverekre használható La módszer struktúrája és a benne használt súlyozások (fontossági sorrendek) kérdéses Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 25 módszerei A MKII módszer (http://www.uksma.co.uk/public/mkiir131.pdf) A számolás (mérés) lépései a következ k:.a számolási néz pont, cél és típus meghatározása» Meg kell határozni, hogy mit fogunk számolni / mérni..a számolás korlátainak meghatározása» Meghatározzuk, hogy mi képezi a számolás tárgyát, és mi nem tartozik bele..a logikai tranzakciók azonosítása» A logikai tranzakciók a rendszer legalacsonyabb szint folyamatai (processzei), amelyek még beletartoznak a számolás területébe. Az entitások típusának meghatározása és besorolása» Jó, ha van egy entity-relationship modell, amelynek alapján ezt az azonosítást és besorolást el lehet végezni. Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 26 A MKII módszer A számolás (mérés) lépései (folytatás): A bemen adat-elemek típusának, a meghivatkozott entitás típusoknak és a kimen adat-elemek típusának megszámolása» Minden logikai tranzakció esetében meg kell határozni a bemen adat típusokat (Ni), a meghivatkozott entitás típusokat (Ne) és a kimen adat típusokat (No). A funkcionális méret kiszámolása A következ képlettel történik: FPI = Wi x ΣNi + We x ΣNe + Wo x ΣNo, ahol FPI = Function Point Index Wi, We és Wo az Ni, Ne és No értékek súlyozott átlaga, éspedig: Wi = 0.58, We = 1.66 és Wo = 0.26. Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 27 2001 / 2002 9
A MKII módszer A számolás (mérés) lépései (folytatás): A projekt ráfordításának meghatározása» Határozzuk meg a teljes ráfordítást és az eltelt id t. A termelékenység és egyéb mutatók kiszámolása» Példa: Termelékenység = FPI / projekt ráfordítás A módszer további opcionális lépésekkel folytatható. A leírás a különböz lépéseket tovább részletezi. Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 28 módszerei MkII JMenedzsment rendszerekre találták kis, és sokat is használták, jól lehet becslésben alkalmazni JAz IFPUG továbbfejlesztése, több adatot tartalmazó rendszerre JA struktúrált elemzési módszerekkel konzisztens JAz életciklus korai fázisában alkalmazható JNagy támogatottság, képzés, certificate ( de kevesebb az IFPUG-nál) Lhasználták már valós idej rendszereknél, de ilyenkor át kell értelmezni Lcsak alkalmazás - típusú szoftverekre használható Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 29 módszerei A COSMIC módszer 1998-tól indult a projekt jelenleg: kísérleti fázis és alkalmazás Nemzetközi projekt csapat (Kanada, UK, Japán, Németország, Vietnam, Olaszország, Ausztrália, Hollandia, Irország, Finnország) full function points http://www.cosmicon.com/ Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 30 2001 / 2002 10
A Cosmic módszer A szoftver funkcionalitásának egyszer modelljén alapszik Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 31 A Cosmic módszer Funkcionális processz (folyamat) adatmozgások egyedi halmaza (unique set of data movements: entry, exit, read, write) közvetlenül vagy közvetve egy aktor váltja ki, amely egy, a specifikáció szempontjait figyelembe véve tovább oszthatatlan esemény-típus a funkcionális processz akkor befejezett, amikor mindent elvégzett, amit a kiváltó eseményre válaszként el kellett végeznie Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 32 A Cosmic módszer Méretezési szabályok Egy funkcionális processz mérete az adatmozgások számának aritmetikai összege (bemenet, kimenet, írás, olvasás) minimális méret: 2 maximális méret: nincs fels korlát Egy szoftverelem mérete a funkcionális processzei méretének összege Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 33 2001 / 2002 11
A Cosmic módszer JEgyszer és egyértelm JMinden típusú szoftverre alkalmazható (MIS és valós idej ) JTöbbréteg architektúrák bármely komponensének esetében is alkalmazható JHasználták már: az IBM-nél, OO fejlesztési projektek becslésében, távközlésben, repül gép-iparban... LKevesebb a tapasztalat, kevesebb esettanulmány LKevésbé részletes számolási útmutatók Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 34 Cosmic, példa 1. Egyszer adatbázis-lekérdezés Követelmény: meg kell tudni adni egy felhasználó azonosítóját, és a képerny n meg kell jelentetni az ahhoz a felhasználóhoz tartozó összes információt Egy Entry a Felhasználói ID-re Egy Read a Felhasználó -rekord megtalálására Egy Exit a Felhasználó adatainak megjelenítésére Egy Exit az összes lehetséges hiba- és jóváhagyási üzenetre 7HOMHVÃPpUHWÃÃÃ&IVX gvv]hkdvrqotwiv,)38*ãã6lpsohã(4ãriãã8)3 VÃSOXVÃDOORZDQFHÃIRUÃILOHV 0N,,Ã)3$ÃÃÃ[ÃLQSXWÃ'(7ÃÃ[Ã(5ÃDVVXPHÃÃRXWSXWÃ'(7 VÃ ÃÃ)3 Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 35 Cosmic, példa 1. Konvenciók: A hiba- és jóváhagyási üzeneteknél: nem számolunk Read-et (az özenetek a szoftverben vannak) Egyetlen Exit-et számolunk az összes hiba- és jóváhagyó üzenetre A képerny n megjelen mez k heading-jéhez tartozó minden funkcionalitást az Exit adatmozgáshoz rendelünk Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 36 2001 / 2002 12
Cosmic példa, 2. 'DWDà ZDUHKRXVHà The software is required to hold data about all Orders which have been sold and paid for for every individual Product over long a period of time. Each Order (for a single Product) has as attributes Customer ID, Product ordered, quantity sold, date of the sale, ID of salesman responsible and actual sale price. Each Product has a unique identifier, the first three characters of which indicate the Product-Group to which the product-type belongs. An example of a Product would be an individual model (type) of television set or videocassette recorder which a customer can order. An examples of a Product-Group would be all TV s, or all VCR s. Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 37 Cosmic példa, 2 3URGXFW 5DQJH Legel ször is készítsük el az adattárház adatmodelljét 3URGXFW *URXS ([DPSOHÃ,'Ãõ&79 3URGXFW $ÃXQLTXHÃ79ÃPRGHOÃW\SH ([DPSOHÃ,'Ãõ&79 2UGHU $ÃXQLTXHÃRUGHUÃIRUÃDUWLFOHVÃRIÃDÃVLQJOHÃSURGXFWW\SH $WWULEXWHVÃ3URGXFWÃTXDQWLW\ÃVROGÃGDWHÃRIÃWKHÃVDOHÃ,'ÃRI VDOHVPDQÃUHVSRQVLEOHÃDFWXDOÃVDOHÃSULFH Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 38 Cosmic példa, 2 Lekérdezés: à (a) A functional process is required to produce a report which will show for each product its sales value (quantity x price) for all orders sold in a given period (specified by a start and end date, which must be entered). The report should also show sub-totals of sales value for each product group and the sales total for the overall product range. Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 39 2001 / 2002 13
Cosmic példa, 2: the report layout 6DOHVÃ5HSRUWÃ3HULRGÃ 1 Jan 2000 30 Sept 2000 3URGXFWÃ*URXSÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃ3URGXFW ÃÃÃÃÃÃÃÃÃÃÃ6DOHVÃ9DOXHÃ CTV 123 5000 CTV 456 1000 CTV 789 2000 7RWDO &79 VCR1 500 VCR2 300 7RWDO 9&5 7RWDOÃ6DOHVÃIRUÃZKROHÃ3URGXFWÃ5DQJH 4XHVWLRQ How many Data Movement (-types) are represented on this report? Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 40 Cosmic példa, 2 One (QWU\ (start and end dates) One 5HDG (Order object) Three ([LWV (sales values of product, product group and for the whole product range) One ([LW (error/confirmation message, if specified) 7RWDOÃ6L]HÃÃÃ&IVX V &RPSDUH,)38*ÃÃ$YHUDJHÃ(2ÃRIÃÃ8)3 VÃSOXVÃDOORZDQFHÃIRUÃILOHVÃ" 0N,,Ã)3$ÃÃÃ[ÃLQSXWÃ'(7 VÃÃ[Ã(5 VÃÃRXWSXWÃ'(7 VÃ ÃÃ)3 Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 41 Cosmic- általános következtetések Ha a Cosmic módszerrel számolunk, nem kell ismernünk a részletes felhasználói dialógusokat A számolás menete: Határozzuk meg az egyedi Eseményt, ebb l pedig a funkcionális processz típusokat Minden funkcionális processz-típusra: határozzuk meg a sajátos objektum-típusokat, amelyekkel kapcsolatban az adatok a felhasználótól jönnek vagy a felhasználóhoz kimennek (ezek lesznek az Entry-k és Exit-ek alapjai) határozzuk meg azokat az objektumokat, amelyekkel kapcsolatban az adatokat perzisztenssé kell tenni (Write-ok), vagy amelyekkel kapcsolatban az adatokat perzisztens tárból kell kinyerni (Read-ek) Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 42 2001 / 2002 14
Mérési program egy cégnél Stratégiai döntés, er s vezet i támogatás Szervezet Képzés Célok (pl. GQM-mel meghatározva)- váltohatnak Mérési eljárások kialakítása Mérési eszközök, technikák Mérési adatok adatbázisa Folyamatos visszacsatolás, fejl dés Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 43 Egy mérési program felhasználói Mérési adatbázis Adatok Információ Ügyfelek Eljárások & szabványok Mérési funkció Információ Fels vezetés felülvizsgálat Adatok Információ Projektek Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 44 Mérési adatok tárolása,qlwldo HVWLPDWLRQ 6L]H First effort Estimate Initial Size 5H HVWLPDWLRQ Revised effort Estimate 0HWULFVÃ'DWDEDVH Revised Size &KDQJH &RQWURO 3URMHFW FRPSOHWLRQ Actual effort Final Size 3URMHFW FRPSOHWLRQ Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 45 2001 / 2002 15
Mir l volt szó? Mér szám Min ségi attribútum Definíció Termék M szaki folyamat PM folyamat Dr. Balla Katalin Szoftver min ség és menedzsment - 14. 46 2001 / 2002 16