INFORMATIKA I.
Szoftvertechnológia témakör
– jegyzet – (V.03. / 2015-09-03)
Készítette: © Dr. Horváth Zsolt László
Jegyzet V.03. (2015-09-03)
INFORMATIKA I. Szoftvertechnológia témakör
Tartalomjegyzék Tartalomjegyzék .................................................................................................................. 2 0 Miről lesz szó ebben a tárgyban? ............................................................................... 3 1 Informatika a munkahelyeken ..................................................................................... 4 1.1 Áttekintés a szoftverekről .........................................................................................4 1.1.1 Definíciók a szoftverre ..................................................................................................... 4 1.1.2 A szoftverek csoportosítása ............................................................................................. 4 1.2 Informatika alkalmazások használata a munkahelyeken ..........................................5 1.2.1 Példák vállalatoknál gyakran használt informatikai alkalmazás-típusokra.................... 5 1.2.2 Az informatika alkalmazásának szintjei .......................................................................... 6 1.2.3 A vállalatok működésének környezetét ma jellemzi........................................................ 7 1.3 A szoftver minősége .................................................................................................8 1.4 Ellenőrző kérdések .................................................................................................10 2 A szoftverfejlesztés minőségbiztosítása ..................................................................11 2.1 A szoftverfejlesztési projekt ....................................................................................11 2.2 Ellenőrzési tevékenységek a szoftverfejlesztésben ................................................13 2.2.1 A review (dokumentumszemle) ..................................................................................... 13 2.2.2 A tesztelés ...................................................................................................................... 14 2.2.3 Hibák kezelése, életciklusa ............................................................................................ 14 2.3 A konfiguráció menedzsment .................................................................................15 2.4 Szoftverfejlesztési életciklus modellek ....................................................................15 2.4.1 A vízesés modell............................................................................................................. 15 2.4.2 Az evolúciós modell ....................................................................................................... 16 2.4.3 A folyamat-iteráció ........................................................................................................ 16 2.5 Ellenőrző kérdések .................................................................................................17 3 Szoftverminőség és mérése ......................................................................................19 3.1 Szoftver minőség modell ........................................................................................19 3.1.1 A minőség modell értelmezése ...................................................................................... 19 3.1.2 Belső minőség – külső minőség – használati minőség .................................................. 19 3.1.3 A minőség mérőszámok (minőség-metrikák) ................................................................ 20 3.2 A szoftver értékelési folyamat felépítése ................................................................24 3.2.1 Értékelés céljának megállapítása .................................................................................. 24 3.2.2 Termék(ek) típusainak felismerése – szempontok......................................................... 24 3.2.3 Értékelési modell meghatározása ................................................................................. 25 3.2.4 Metrikák kiválasztása .................................................................................................... 25 3.2.5 Metrikák osztályozási szintjeinek meghatározása ........................................................ 26 3.2.6 Összegzési kritériumok meghatározása ........................................................................ 26 3.2.7 Értékelés megtervezése ................................................................................................. 26 3.2.8 Mérések elvégzése ......................................................................................................... 26 3.2.9 Kritériumokkal történő összehasonlítás ........................................................................ 26 3.2.10 Eredmények megállapítása ........................................................................................... 26 3.3 Szoftver-minőségre vonatkozó új szabványok ........................................................27 3.4 Ellenőrző kérdések .................................................................................................28
© Dr. Horváth Zsolt László
2
Jegyzet V.03. (2015-09-03)
INFORMATIKA I. Szoftvertechnológia témakör
0 Miről lesz szó ebben a tárgyban? A tantárgy ezen részének a célja: Áttekintés és alapismeretek a vállalatoknál használt szoftverekről, azok fejlesztésére vonatkozó minőségbiztosítási követelményekről, illetve a szoftverek minőségének meghatározásáról és méréséről. Az előadások a következő témaköröket tárgyalják: •
Informatika a munkahelyeken o mi a szoftver? (meghatározások, példák) o áttekintés a szoftverekről o információs rendszerek a vállalatoknál, és ezek fajtái, kategóriái, jellemzői o termék vs. szolgáltatás o minek kell jónak lenni…
•
Szoftverfejlesztés minőségbiztosítása o a szoftverfejlesztési projekt életciklusa o az egyes életciklus szakaszok tartalma o a szoftverfejlesztés ellenőrzései o a konfiguráció-menedzsment (CM) jelentése o az egyes életciklus modellekről
•
A szoftver minősége és annak mérése o a szoftver életciklus minőség modell (értelmezése, magyarázata és használata) – ISO/IEC 9126-1,2,3,4 o a minőségtulajdonságok csoportosítása, értelmezése o a külső minőség, a belső minőség, és a felhasználói minőség fogalma és kapcsolata o példák külső és belső metrikára o a szoftver értékelési módszer életciklusa, lépései, követelményei o példa külső értékelő általi értékelési folyamat követelményeire
Előadások törzsanyaga elérhető jegyzetben! Előadásokon további példák, magyarázatok. Jegyzet: www.uni-obuda.hu/users/horvath.zsolt.laszlo ftp site-on. Előadó érhetőségei: -
Név: Dr. Horváth Zsolt László, ÓE KVK MAI E-Mail:
[email protected] Tel: +36 70 4198599 Munkahely: KVK Tavaszmező u. „C” épület, 410-es szoba
© Dr. Horváth Zsolt László
3
Jegyzet V.03. (2015-09-03)
INFORMATIKA I. Szoftvertechnológia témakör
1 Informatika a munkahelyeken 1.1 Áttekintés a szoftverekről 1.1.1 Definíciók a szoftverre A szoftver információból áll, általában nem kézzelfogható; megjelenhet utasítások, üzletviteli módozatok vagy eljárások alakjában. (MSZ EN ISO 9000:2005) Szoftver – Mindazon programok, eljárások, szabályok és kapcsolódó dokumentumok, amelyek nélkülözhetetlenek valamilyen számítógépes rendszer működéséhez. (MSZ ISO/IEC 9126:2000) Szoftvertermék: Számítógépes programok, eljárások, valamint a többnyire kapcsolódó dokumentáció és adatok összessége. (MSZ ISO/IEC 12207:2000) Szoftver – Az elektronikus adatfeldolgozó berendezések memóriájában elhelyezkedő, azokat működtető programok. (…)
(például
számítógépek)
1.1.2 A szoftverek csoportosítása Szoftverek csoportosítása felhasználás szerint •
Rendszerszoftverek (és rendszer-közeli szoftverek) - Operációs rendszerek - Meghajtó-programok (driverek) - Segédprogramok - Fejlesztési környezetek - Beágyazott szoftverek - stb.
•
Alkalmazói szoftverek - Irodai szoftverek - Üzleti alkalmazások - Tervező rendszerek - Vezérlő rendszerek - Grafikai szoftverek - Média alkalmazások - Kommunikációs szoftverek - Hálózati alkalmazások - Biztonsági programok - Játékszoftverek - stb
•
Felhasználó által létrehozott szoftverek - Makrók - Prezentációk - Programgenerátorokkal készített programok (játékok, DB-kezelők, honlapok, …)
© Dr. Horváth Zsolt László
4
Jegyzet V.03. (2015-09-03)
INFORMATIKA I. Szoftvertechnológia témakör
1.2 Informatika alkalmazások használata a munkahelyeken 1.2.1 Példák vállalatoknál gyakran használt informatikai alkalmazás-típusokra Integrált vállalatirányítási (ERP) rendszerek ERP = Enterprise Resource Planning Felhasználásuk: - pénzügyi, - kereskedelmi, - termelési, - humán erőforrás, - ügyfél kapcsolatok tevékenységek együttes, integrált támogatása. Rendszerek lehetnek: -
Általános célú rendszerek (pl. SAP) Ágazatra / cégre testre szabott rendszerek
Workflow rendszerek (példák) Felhasználásuk: -
Projekttámogató rendszerek, Hibakövető rendszerek, Esemény, ill. életciklus követő rendszerek, stb.
Általuk ellátott feladatok: -
Munkatársak napi tevékenységének, munkájának tervezése, követése, értékelése – munkaidő kontroll, ráfordítás kontroll, stb. Feladatok workflow-tervezése, követése, kontrollja Projektek tervezése, követése, menedzselése, ábrázolása, … Szolgáltatások (karbantartás, ügyfél-szolgálat, stb.) irányítási, kontrollja, elszámolása, SLA-menedzsment
Modellező rendszerek Felhasználásuk: -
A vállalati működés leképezése Folyamatok lépéseinek, kapcsolatainak és modellezése, azok strukturált összerendelésével
felhasznált
erőforrásainak
Cél: -
Vállalati működés átláthatóvá, hatékonnyá, szabályozottá tétele IT támogatás (workflow, ERP, …) bevezetésének előkészítése
Példák: -
ARIS, System Architect, …
© Dr. Horváth Zsolt László
5
Jegyzet
INFORMATIKA I. V.03. (2015-09-03) Szoftvertechnológia témakör Tervező rendszerek – CAD (Computer Aided Design) rendszerek Felhasználásuk: -
Gyártmánytervezés és fejlesztés Ipari alkalmazás (főképp építészeti, gépészeti, ill. hálózatok tervezése)
Jellemzésük: -
2D / 3D tervezések, modellezések Geometriai modellezés, illesztés, különböző megjelenítési módok Elemekhez DB-kapcsolat, kapcsolódó számítások, szimulációk
Példák (fizetősek): -
AutoCAD, ArchiCAD, Pro/Engineer, IntelliCAD
Kommunikációs szoftverek Felhasználásuk: •
Levelező programok -
•
Csevegő ill. távbeszélő programok -
•
Levelező szerver programok (MS Exchange szerver, Linux levelező szerverek, ..) Levelező kliens programok (pl. MS Outlook, Thunderbird, …) Web-mail programok (ingyenes vs. fizetős, … - ingyenesek pl. Gmail, Freemail, Citromail, stb.) Pl. Yohoo Messenger, .Net Messenger, Windows Live Messenger, Skype, … IP telefonok szoftverei, Skype
Közösségi programok -
Pl. Facebook, Twitter, Linkedin,
Hálózati alkalmazások Felhasználásuk: •
Felhasználói alkalmazások: -
•
Web böngészők (web browser), Fájlcserélők (ftp programok, letöltő programok),
Rendszergazdai eszközök: -
Hálózati eszközök menedzsment programjai (hálózati szerverek, routerek, switchek, stb. programjai…) Hálózati monitoring rendszerek, elemzők, analizálók (hálózati forgalom monitoring, hálózati eszközök és beállítások követése és kontrollja, …) Hálózati monitoring: pl. SpiceWorks, Nagios Hálózati eszközök kontrollja: pl. LanSweeper
•
stb.
1.2.2 Az informatika alkalmazásának szintjei Az informatika alkalmazása az elmúlt 25-30 évben a vállalatoknál gyökeres változáson ment keresztül. A fejlődés szembetűnő mind a felhasznált hardver eszközökben, mint az alkalmazott szoftveralkalmazásokban, mint az informatikával támogatott
© Dr. Horváth Zsolt László
6
Jegyzet
INFORMATIKA I. V.03. (2015-09-03) Szoftvertechnológia témakör tevékenységekben/folyamatokban, mint pedig az informatika (informatikai szolgáltatás) igénybe vételének szintjében. A fejlődés a következőkben látszik: •
Az IT hardver eszközökben -
•
Az IT szoftver eszközökben (komplexitás, …) -
•
Egyszerű szövegszerkesztés – villanyírógép helyett Egyszerű segédprogramok, tool-ok Egyes tevékenységek, rutinfeladatok automatizált támogatása Összetettebb feladatok, célrendszerek (egyedi gépeken) Adatbázis alapú rendszerek, workflow-k (szerver-kliens architektúra) Integrált rendszerek, integrált kiértékelő rendszerek, …
A támogatott tevékenységek komplexitásában -
•
Programozható (zseb)számológépektől és a home-computerektől … Egyedi PC-k, számítógépek Kis hálózatok (megosztások) LAN / WAN / szerver-kliens architektúrák Kiszervezés, helyileg csak munkaállomások és internet-kapcsolat, …
Mechanikus eszközök, tevékenységek kiváltása Egyes tevékenységek támogatása (kisebb ill. komplexebb….) Teljes folyamatok, ill. területek nyomon követése, irányítása Integrált rendszer, teljes vállalati áttekintés és kontroll
Az informatika igénybe vételi módjában -
Helyi egyedi PC-k felinstallálása, és ott programok használata Helyi PC-k összekötése, kiajánlások és közös adathasználat Saját belső LAN-on fileszerver alapú közös használat Saját belső LAN-on rendszergazda által üzemeltetett alkalmazások használata Kiszervezett alkalmazás üzemeltetés Informatikai szolgáltatás igénybe vétele (SaaS, ASP, …)
1.2.3 A vállalatok működésének környezetét ma jellemzi Az elmúlt utolsó években az informatika szerepe és jelentősége rohamosan megváltozott, köszönhetően elsősorban az informatikai és távközlési eszközök és szolgáltatások változásainak. Ezek a változások elsősorban a következőkben nyilvánulnak meg: •
Erős informatikai támogatás -
Adatfeldolgozás már csak számítástechnikával, minden IT-alapon Folyamatok mögött work-flow-k, adatbázisok, … Kiszervezett informatika … Az informatika áldás vagy átok? VESZÉLY: • •
•
IT támogatás versenyelőny – de nélküle megáll az élet Új kiszolgáltatottságok: a szolgáltatóknak, az IT működés / szolgáltatás hibáinak, az IT bűnözés fenyegetettségeinek …
Mobilitás – a kommunikáció új útja -
Felhő alapú adattárolás, szolgáltatás Mobil-eszközök (telefonok, tabletek, stb…) Közösségi oldalak – az üzleti életben is Internet világa, beépülése az üzletbe
© Dr. Horváth Zsolt László
7
Jegyzet V.03. (2015-09-03) Új fajta módszerek – és új veszélyek •
INFORMATIKA I. Szoftvertechnológia témakör
Gazdasági válság hatása -
-
Üzleti volumen ált. csökken – kevesebb megrendelés” Mindenütt megnő a „költségérzékenység” • Kötelezően első (és sokszor kizárólagos) szempont az olcsóság – beszerzésben, eladásban • Az olcsó ár jellemzően fontosabb az ár-érték aránynál VESZÉLY: mert ez a minőség és megbízhatóság rovására mehet Bürokrácia, adminisztráció nő Törvényi követelmények sokszor túl gyorsan változnak, egyre több az elvárás
Ezekből következik az információszolgáltatás jelentőségének növekedése: •
Sokkal erősebb függés az információszolgáltatástól -
•
Ha nem működik, leáll az élet (meddig lehet?) Ha hibásan működik, akkor a folyamatokban … ? Ha jogosulatlanok hozzáférnek adatainkhoz, akkor?
Információ – mint erőforrás – jelentősége megnövekedett: -
Mind a rendelkezésre állás Mind a pontosság (adatminőség) Mind a bizalmasság
tekintetében. az IT szerepének minőségi változása
Az IT fejlesztés már • •
… a vállalati folyamatok (és azok fejlesztésének) a része … a szolgáltatások és tevékenységek része
az informatikai stratégia a vállalati stratégia része
1.3 A szoftver minősége Minőség: „Annak mértéke, hogy mennyire teljesíti a saját jellemzők egy csoportja a követelményeket.” (Definíció az MSZ EN ISO 9000:2005 szabványból) Minőség értelmezése (lehet) = elvárások teljesítése / elvárások Szoftver minőség ismérvei (jellemzői): -
Határidőre elkészül Funkcionálisan alkalmas Könnyen tanulható
© Dr. Horváth Zsolt László
8
Jegyzet V.03. (2015-09-03) - Könnyen karbantartható - Gyors reakcióidő - Nagy terhelhetőség - Robosztusság - Rendelkezésre állás - Stb…
INFORMATIKA I. Szoftvertechnológia témakör
Mit érzékel a felhasználó? -
Szoftver terméket? Informatikai szolgáltatást?
Mikor elégedett a felhasználó? -
ha a szoftvertermék hibátlan (?) ha az informatikai szolgáltatás „jól” működik ha ő könnyen tudja kezelni az alkalmazást és még mikor???
Minek kell jónak lennie – ahhoz, hogy a felhasználó jól (eredményesen, hatékonyan, …) használhassa a szoftverét, és elégedett lehessen azzal? -
-
-
Az informatikai terméknek • Szoftver eszközök • Hardver eszközök A szereplők tevékenységének, folyamataiknak • Felhasználók • Informatikai üzemeltetők • Hardver-fejlesztők, szoftver-fejlesztők, rendszer-fejlesztők Az üzemeltetett termelési berendezéseknek
Mikor jó a termék? -
-
Beszéljünk itt a szoftverről (értelmezés kiterjeszthető teljes rendszerre is!) Ha megfelel a vele szemben támasztott követelményeknek! • Követelményeket kell jól meghatározni! • Követelmények nem csak a funkcionalitásra, hanem egyéb „nem-funkcionális” jellemzőkre is! (Nemcsak az a fontos, hogy „MIT”, hanem az is, hogy „HOGYAN”!) Ellenőrzés: • Termék ellenőrzése (termék-verifikálás, termék-validálás) • Gyártási folyamat ellenőrzése (szoftverfejlesztés auditálása)
Mikor jó az „informatikai folyamatok” működése? … az informatikai termékek megfelelőségén túlmenően, ha teljesülnek a … -
-
Rendszer fejlesztőivel szembeni elvárások • Fejlesztő szervezet működése, hatékony, gyors, rugalmas … • Rendszer (funkcionális és nem-funkcionális) tulajdonságai megfelelnek az elvárásoknak … • Kevés a hiba, azok javítása gyors, tesztelésük kellően részletes és megfelelő … • Hibajavításkor, módosításkor nincsenek újabb hibák • Fejlesztő szervezet működése szabályozott, fejlesztési módszertan szerinti, • Ellenőrzések végzése szakértői beszállítói audittal Rendszer üzemeltetőivel szembeni elvárások • Az IT/HW eszközpark (szerver, hálózat, …) folyamatos és működőképes rendelkezésre állása és működése • Hibajavításkor, módosításkor gyorsaság és rugalmasság • IT biztonság • Dokumentált, szabályozott működés, módszertan szerint > ITIL
© Dr. Horváth Zsolt László
9
Jegyzet
INFORMATIKA I. Szoftvertechnológia témakör
V.03. (2015-09-03) • Elszámolás mérés (SLA) alapon • Ellenőrzések végzése szakértői beszállítói audittal - Rendszer felhasználóival szembeni elvárások • Informatikai / információs rendszerek használatának ismerete • Rendszerek csak célnak megfelelő használata • (Információ-)biztonsági szabályok és előírások betartása • Működés során a minőségbiztosítási követelmények betartása • Folyamatok és eljárások használatának ellenőrzése (folyamataudit, folyamat validálás)
1.4 Ellenőrző kérdések -
Hogyan csoportosíthatjuk a szoftvereket felhasználásuk szerint? Mondjon példákat mindegyik csoportra! Mutassa meg, miért növekszik a vállalatok információszolgáltatástól való függése? Mit jelent a minőség fogalma? Mikor jó a szoftver-termék a felhasználónak? Az informatikai folyamatok megfelelő működése kikkel, milyen szereplőkkel szemben támaszt követelményeket?
© Dr. Horváth Zsolt László
10
Jegyzet
INFORMATIKA I. Szoftvertechnológia témakör
V.03. (2015-09-03)
2 A szoftverfejlesztés minőségbiztosítása 2.1 A szoftverfejlesztési projekt A szoftverfejlesztési projekt-team szereplői: -
projektvezető projektasszisztens minőségbiztosítási felelős konfiguráció menedzsmentért felelős fejlesztők tesztelők
A szoftverfejlesztési projekt fázisai: -
-
kezdeményezés pozitív projektdöntés esetén: o definíció o tervezés o megvalósítás o bevezetés (üzembe helyezés) lezárás
A szoftverfejlesztési projekt fázisaira mindegyik metodika strukturáltan előírja az adott fázishoz tartozó: -
bemeneteket (inputokat) tevékenységeket eredményeket kapcsolódó feljegyzéseket
mind a technikai (szakmai), mind a projektvezetési valamint mind a minőségbiztosítási nézőpontból. PÉLDA: Az egyes fázisokhoz tartozó tevékenységek, eredmények és feljegyzések egy általános (nagyobb) szoftverfejlesztési projekt esetén, például a következők lehetnek: Fázis Kezdeményezés
Tevékenység Tenderkiírás / ajánlatkérés megvalósíthatóságának (technikai) vizsgálata Erőforrás-becslés Durva projekttervezés (erőforrások felhasználási terve, megvalósítási időterv, kockázatok, pénzügyi, …)
Eredmény
Feljegyzés
Döntés a továbblépésről
Technikai feljegyzések
Becsült ráfordítás-igény
Számítások feljegyzései, alapadatok, egyeztetések jegyzőkönyvei, …
Durva projektterv (mibe ugrunk bele, ha …) Ajánlat
Ajánlatot készítő és ellenőrző aláírásai legalább
Ajánlat elkészítése, ellenőrzése, kiküldése
© Dr. Horváth Zsolt László
11
Jegyzet V.03. (2015-09-03) Fázis Definíció
Tevékenység
Az ügyfél követelményeinek pontosítása, majd az alapján a termék funkcionalitásának részletes tervezése, és annak ellenőrzése A rendszer-tesztelés megtervezése Konfiguráció menedzsment terv előkészítése.
Eredmény
INFORMATIKA I. Szoftvertechnológia témakör Feljegyzés
Specifikáció, ami a termék minden funkcionalitását, szolgáltatását részletesen leírja (R-Spec, F-Spec vagy logikai rendszerterv) Tesztelési terv, ami tartalmazza a rendszer teszt-stratégiát, teszteseteket, és a lefolytatás körülményeit, elfogadási kritériumokat, …
Specifikáció ellenőrzésének (review-jának) feljegyzései, ami igazolja mind a validálást, mind a verifikálást. Tesztelési terv ellenőrzésének feljegyzései, …
Durva konfiguráció menedzsment terv. Tervezés
A termék struktúrájának, működési „algoritmusának” megtervezése, és annak ellenőrzése A kapcsolódó tesztelés megtervezése, specifikálása. A konfiguráció menedzsment rendszer megtervezése
Specifikáció, amely részletesen tartalmazza a termék struktúráját, belső felépítését, működési elvét, valamint a megvalósítási eszközöket és lépéseket. (D-Spec, vagy fizikai rendszerterv) Tesztelési terv – integrációs teszthez. Konfiguráció menedzsment terv (és rendszer és eszköz)
Megvalósítás
Implementálás -
Kódolás Modulteszt végrehajtása Dokumentáció elkészítése
Illesztés meglévő (vásárolt vagy újra felhasznált) modulokhoz Integráció és tesztelés -
Integráció, önálló termékkomponensek összeállítása Integrációs teszt végrehajtása Produkció (release) legyártása Rendszerteszt végrehajtása
Ellenőrzött és jóváhagyott: -
termék termékdokumentáció
Termék bevezetési terv
Specifikáció ellenőrzésének (review-jának) feljegyzései, ami igazolja mind a validálást, mind a verifikálást. Konfiguráció menedzsment terv ellenőrzésének feljegyzései, … Tesztelési terv (integrációs teszthez) ellenőrzésének feljegyzései,
(SW-)Technikai feljegyzések, specifikációk Aktualizált tervek (projekt terv, minőségterv, CM-terv, tesztelési terv) CM rendszer bejegyzései, tesztelési jegyzőkönyvek, hibák életciklus dokumentációja, …
Átadás előkészítése
© Dr. Horváth Zsolt László
12
Jegyzet V.03. (2015-09-03) Fázis
Tevékenység
Bevezetés Próbaüzem (pilotálás) Éles-üzembe helyezés + kapcsolódó képzések, betanítások
Eredmény
INFORMATIKA I. Szoftvertechnológia témakör Feljegyzés
Bevezetett, átadott és működő termék
Próbaüzemi és átadási tesztek tervei és jegyzőkönyvei Átadás-átvételi jegyzőkönyv
Éles-üzemi karbantartás Termék használatának támogatása Hibajavítás Változások kezelése Lezárás
Projektek lezáró értékelése Projektdokumentumok archiválása
Karbantartási megállapodás és tervek Projektzáró jelentés (értékelések, statisztikák, tapasztalatok) Lezárt projektmappa
2.2 Ellenőrzési tevékenységek a szoftverfejlesztésben A SW-fejlesztés életciklusa során a résztermékek megfelelőségét mérni (ellenőrizni) kell! Az egyes eredménytermékek jellemző mérési módszerei: Résztermékek
Ellenőrzési módszer
Ajánlat, szerződés Projekttervek (inc. minőségtervek, CM-tervek, tesztelési tervek, …) Ügyfél igények (requirements) Specifikációk (funkcionalitás specifikáció, design specifikáció, ..) Forráskód Termék leírás
Review (dokumentum szemle)
Lefordított modulok, komponensek Teljes futtatható termék
Tesztelés
2.2.1 A review (dokumentumszemle) A review fogalma: A review szisztematikus, kritikus, dokumentált ellenőrzési eljárás. A review tárgya: -
dokumentum (= adathordozón rögzített információ) termék-dokumentum (pl. forrás kód, felhasználói kézikönyv, ...) kísérő- v. munka-dokumentum (pl. ‘Functional specification’, vagy teszt-terv, ...)
> külön értelmezünk a „kód review”-t és a „dokumentum review”-t. A review célja: hibát találni, (és nem bűnbakot) ... ... magában a dokumentumban, illetve ... abban az eljárás-specifikációban, aminek alapján készítették. A review haszna A hibás megvalósítás korai felismerése, mind ... ... a validálás, mind
© Dr. Horváth Zsolt László
( ez az, ami kell? )
13
Jegyzet
INFORMATIKA I. V.03. (2015-09-03) Szoftvertechnológia témakör ... a verifikálás tekintetében ( ilyennek kell ennek lennie? ) Olyan hiányosságok megtalálása, amelyek a teszt (üzemeltetés) során nem jönnének elő, csak a karbantartásnál vagy a továbbfejlesztésnél, pl. : -
rosszul strukturált, bonyolultan felépített, nehezen átlátható kód, rosszul dokumentált programrész, rosszul kommentált forráskód.
„Bizonylatolt” minőségbiztosítási eljárás (pl. ISO 9001 szerint), amivel a termék minőségét igazolni tudjuk, és aminek alapján tovább lehet javítani magát a fejlesztési eljárást is. A know-how elterjesztése, tapasztalatcsere, egységes szemlélet.
2.2.2 A tesztelés A tesztelés fogalma: -
egy (vagy több) futtatható állapotban levő szoftver komponens meghatározott feltételek mellett (adat, esemény) történő futtatása, és a működés eredményének értékelése (elvárt viselkedésnek megfelel vagy nem).
A tesztelés célja: -
egy rendszer-komponens (szükséges mértékig) hibátlan állapotának igazolása; egy „tesztelhető objektum” létrehozása, amivel különféle vizsgálat végezhető; az elvárt rendszertulajdonságoktól való eltérés (nagyságának) kimutatása; a rendszer „minőségéről” információ a vezetőség felé (továbbfelhasználás ...); a rendszer validálása: megfelel-e az eredeti felhasználói kívánságoknak;
A teszteket csoportosíthatjuk •
a tesztobjektum teljessége szerint: komponens teszt „stand alone” teszt integrációs teszt több, együttműködő komponens összetett vizsgálata rendszer teszt („systemtest”) a teljes termék, átadásra kész állapotban
•
a teszt célja szerint (példák): átadási teszt a felhasználónak üzemi használatra történő átadás előtt regressziós teszt annak igazolására, hogy módosítás továbbfejlesztés esetén a korábbi funkciók változatlanul helyesen működnek performance (stressz) teszt nagy terhelés szimulálására stb…
•
vagy más módon.
2.2.3 Hibák kezelése, életciklusa A különböző tesztelésekkor megtalált hibák kezelésével szembeni követelmények: Hibák (dokumentált) nyomon követése egységes segédeszközben biztosított legyen, ahol -
folyamatosan nyomon követhető minden egyes hiba aktuális állapota (státusza), és múltja, és amelyik biztosítja minden fontos hiba kijavításának kikényszerítését.
A hiba kijavításának ellenőrzése vonatkozik: a megállapított hibás funkcióra, valamint arra, hogy nem került-e a módosítással újabb hiba a rendszerbe! (regresszió tesztelés)
© Dr. Horváth Zsolt László
14
Jegyzet
INFORMATIKA I. V.03. (2015-09-03) Szoftvertechnológia témakör Tesztelési program közben ne változtassunk a tesztelés objektumán!
2.3 A konfiguráció menedzsment „Konfiguráció” a rendszerfejlesztés során: -
-
tartalmilag: olyan összetett rendszerről van szó, ahol az egyes összetevők is (részegységek, alkatrészek) folyamatosan módosulnak, fejlődnek (életciklus). A verziószámok nyilvántartása – a „verziókövetés” – elkerülhetetlen! termék esetén: a konfiguráció az a tevékenység, amikor egy adott verziójú, konkrét végtermékhez meghatározzuk az oda beépülő részegységek verzióit
A „konfiguráció menedzsment” csoport tevékenysége: Mindaz a szervező és operatív tevékenység, ami biztosítja a fenti cél teljesülését. -
a megfelelő (számítógépes) nyilvántartási rendszer kialakítása a folyamatok, a szervezet és a munkakörök kialakítása megfelelő tool-ok érdemi használatának biztosítása és kikényszerítése az előírásoknak megfelelő folyamatos üzemvitel
A konfiguráció menedzsment feladatai: -
A számítástechnikai jellegű feladatok: • • • • •
az objektumok verzióinak nyilvántartása; a megfelelő adattárolási biztonság megtervezése az egyes verziók sajátosságainak nyilvántartása (címkézés: ki, mikor, miért, hogyan módosított) a nyilvántartott objektumok közötti kapcsolatok és függőségek kezelése ezáltal megoldható az automatikus szoftverprodukció az egyes objektum(változat)okhoz való hozzáférési jogosultságok kezelése
A projektvezetést támogató feladatok: • •
a hibafelismerés és –javítás folyamatának, valamint a változtatási igényeknek a támogatása a csoportmunka támogatása; egyszerre többen ugyanazon rendszer különböző részét fejleszthetik
2.4 Szoftverfejlesztési életciklus modellek Leggyakoribb életciklus modellek: -
-
Vízesés modell Evolúciós modell o Feltáró fejlesztési modell o Prototípus modell Folyamat-iteráció o Spirál-modell o Iteratív inkrementális modell
2.4.1 A vízesés modell Előnyök: -
Jól áttekinthető, könnyen érthető
© Dr. Horváth Zsolt László
15
Jegyzet V.03. (2015-09-03) - Jól strukturált - Feladatok jól megoszthatók - Időben tervezhető
INFORMATIKA I. Szoftvertechnológia témakör
Hátrányok: -
Merev, nem rugalmas Ha a hiba későn derül ki, akkor drága a javítás Nagyon pontos specifikációt igényel, és ez sokszor az elején nem ismert (nem mindig tudja az ügyfél, hogy pontosan mit is akar…) A megrendelő csak a legvégén látja az eredményt, (hogy ilyent akart-e)
2.4.2 Az evolúciós modell Kezdeti implementáció után a felhasználóval véleményeztetni, és vele közösen – a további igényei alapján – tovább finomítani, továbbfejleszteni… Ciklikus, visszacsatolásos fejlesztés Két fő típusa: -
Feltáró fejlesztési modell (a jól ismert tulajdonságok fejlesztésével kezdünk, majd a finomítás során az ügyfél által kért újabb funkciók kerülnek belefejlesztésre)
-
Prototípus fejlesztési modell (egyszerűbb váz, struktúra kifejlesztésével kezdünk, majd a részletek lépésről lépésre kerülnek bele, a részletek folyamatos pontosításával…)
Előnyök: -
Folyamatos ellenőrzéssel, visszacsatolással jobban illeszkedik az ügyfél-igényekhez Hibák hamarább kiderülnek
Hátrányok: -
Finomítás akármeddig folytatható, nehéz meghatározni a kritériumot A folyamatos változás könnyen leronthatja a rendszer struktúráját Nagyobb ráfordítás
2.4.3 A folyamat-iteráció Magát a teljes fejlesztési folyamatot ciklikusan, iterációkban kezeljük, és ebben így magát a teljes rendszert is folyamatosan, ciklusonként mindig átdolgozzuk, finomítjuk … A specifikáció a szoftverrel együtt (összekapcsolva) készül Két fő típusa: -
Spirális fejlesztési modell (a teljes fejlesztési modell ábrázolása egy kifelé haladó spirálban, ahol a spirál egy köre egy-egy lépés (ciklus), aminek külön nézzük a céljait, kockázatait, megvalósítását és ellenőrzését majd a következő fázis (spirál) tervezését)
-
Inkrementális fejlesztési modell (köztes megoldás az evolúciós és a vízesés modell jellegű fejlesztés között…; kellenek előre az ügyfél követelmények, csoportokban és priorizálva…; termék először kevesebb de a legfontosabb funkciókkal készül el, majd folyamatosan
© Dr. Horváth Zsolt László
16
Jegyzet
INFORMATIKA I. Szoftvertechnológia témakör hozzá-vételével, és a megelőzőek
V.03. (2015-09-03) bővül az újabbakkal – az igények tapasztalatával…) agilis fejlesztési módszerek jellemzően erre épülnek
2.5 Ellenőrző kérdések -
Mutassa be egy szoftverfejlesztési projekt jellemző szereplőit, és azok fő feladatait! Mutassa be egy szoftverfejlesztési projekt „kezdeményezési fázisának” fő tevékenységeit és eredmény-termékeit! Mutassa be egy szoftverfejlesztési projekt „definíciós fázisának” fő tevékenységeit és eredmény-termékeit! Mutassa be egy szoftverfejlesztési projekt „megvalósítási fázisának” fő tevékenységeit és eredmény-termékeit! Mutassa be egy szoftverfejlesztési projekt „tervezési fázisának” fő tevékenységeit és eredmény-termékeit! Mutassa be egy szoftverfejlesztési projekt „bevezetési fázisának” fő tevékenységeit és eredmény-termékeit! Mutassa be egy szoftverfejlesztési projekt „lezárási fázisának” fő tevékenységeit és eredmény-termékeit!
© Dr. Horváth Zsolt László
17
Jegyzet
INFORMATIKA I. V.03. (2015-09-03) Szoftvertechnológia témakör - Milyen ellenőrzési tevékenységeket ismer a szoftverfejlesztés során, jellemezze röviden őket! - Mi a review célja, és használati területei a szoftverfejlesztési projekt során? - Mutassa be a tesztelés célját a szoftverfejlesztési projekt során, valamint mutassa be, hogy hogyan csoportosíthatóak a különböző tesztelések! - Melyek a konfiguráció menedzsment feladatai a szoftverfejlesztési projekt során? - Hasonlítsa össze a vízesés modell és a folyamat-iterációs modell szerinti fejlesztés jellemzőit! - Mutassa be az evolúció modell szerinti szoftverfejlesztés jellemzőit!
© Dr. Horváth Zsolt László
18
Jegyzet V.03. (2015-09-03)
INFORMATIKA I. Szoftvertechnológia témakör
3 Szoftverminőség és mérése 3.1 Szoftver minőség modell 3.1.1 A minőség modell értelmezése Minőségi modell használata -
Egy szoftver termék minőség-értékelése egy meghatározott minőség modellel lehetséges. A termék minőségi céljainak meghatározásához használjuk a minőségi modellt. Egy minőségi modell karakterisztikákból és al-karakterisztikákból áll, melyek ellenőrzőlistaként szolgálhatnak ilyen esetekben. Egy nagy szoftver termék esetében nem praktikus az összes belső és külső alkarakteriszikát megmérni. A mérésekre inkább az üzleti célok, a termék természete és felépítése által meghatározott irányba kell energiát fordítani.
Életciklus minőség modell -
A folyamat minősége hozzájárul a szoftver termék minőségének javításához, ami elősegíti a használatbeli minőség fejlődését. Megfelelő belső szoftver tulajdonságok a szükséges előfeltételei az elvárt külső viselkedés elérésének és ezen megfelelő külső viselkedés előfeltétele az elvárt használatbeli minőség elérésének.
3.1.2 Belső minőség – külső minőség – használati minőség Belső minőség •
•
Belső minőségi követelmények: - Belső nézőpont, belső tulajdonságok - Statikus és dinamikus modell, dokumentumok, forráskód - A verifikáció során célként funkcionálnak - Fejlesztési stratégia, vizsgálati kritérium Belső minőség: - Belső tulajdonságok összessége - Belső minőségi követelmények határozzák meg - Javítható az értékelés, tesztelés során
© Dr. Horváth Zsolt László
19
Jegyzet V.03. (2015-09-03) Külső minőség •
•
INFORMATIKA I. Szoftvertechnológia témakör
Külső minőségi követelmények: - Külső nézőpont szerint - A felhasználói minőség modell alapján - A validáció során célként funkcionálnak Külső minőség: - Külső tulajdonságok összessége - Teszteléskor ellenőrizhető és hibák többségének javítása is ekkor történik - A szoftver alapvető szerkezete nem változtatható
Használati minőség •
•
Felhasználó minőségi igényei: - Belső, külső és használati metrikákból. - Kritérium a validáció során. Használati minőség: - A felhasználó szemszögéből, adott környezetben - Mely felhasználók számára használható jól a szoftver
3.1.3 A minőség mérőszámok (minőség-metrikák) Belső metrikák: -
Nem futtatható, félkész szoftverre alkalmazandó, hogy megjósolja a kész szoftver minőségét és felismerje a hibákat. A szoftvertervezéssel és kóddal kapcsolatos belső tulajdonságainak mérésére. A tesztelési szinten várható minőséget jósolják meg ezek a mérések. Fontosak a vezetők számára a folyamati hibák megelőzésére.
Külső metrikák: -
Futtatható, kész szoftverre alkalmazandó teszteléskor, hogy megmérje a szoftver termék minőségét abban a rendszerkörnyezetben, ahol működni fog. A szoftver külső nézőpontból vett minőségét írja le. Mennyiségek, mint idő és erőfeszítés ezen mérés alapjai. A tesztelés folyamán mért értékek által megbecsülhető a kész termék várható minőség szintje.
A belső és külső metrikák közötti kapcsolatnak a lehető legszorosabbnak kell lennie, de ezt gyakran nehéz elérni. Használati minőségi metrikák: Megméri, hogy a termék eleget tesz-e a felhasználó igényeinek (hatékonyság, termelékenység, biztonság, elégedettség) a valós rendszerkörnyezetben.
© Dr. Horváth Zsolt László
20
Jegyzet V.03. (2015-09-03) Minőség modell (ISO/IEC 9126)
INFORMATIKA I. Szoftvertechnológia témakör
Ez a modell a külső és belső minőséget definiálja és bontja szét további kategóriákra. A kategóriák tulajdonságai külső és belső metrikákkal mérhetőek. Külső és belső minőségjellemzők •
Funkcionalitás: Meghatározott körülmények között teljesíti a követelményeket. -
•
Megbízhatóság: Meghatározott körülmények között teljesít egy adott teljesítményt. -
•
Érthetőség: Mikor és hogyan használható. Megtanulhatóság: A szoftver használatára való tanítás. Üzemeltethetőség: Használat és ellenőrzési lehetőség. Vonzóság: Vonzalom kialakítása. Használhatósági megfelelőség: Törvények és szabványok betartása.
Hatékonyság: Meghatározott körülmények között teljesít egy adott teljesítményt adott erőforrásokkal. -
•
Kiforrottság: Bug-ok kezelése. Hibatűrés: Teljesítmény fenntartása szoftverhibák esetén is. Helyreállíthatóság: Szoftverhiba esetén adatok és teljesítmény helyreállítása Megbízhatósági megfelelőség: Törvények és szabványok betartása.
Használhatóság: Érthető, tanulható, használható és „vonzó” a felhasználó számára. -
•
Alkalmasság: Adott feladatokhoz és célokhoz megfelelő funkciók társítása. Pontosság, hitelesség: Adott szinten biztosítja az eredményeket. Együttműködési képesség: Más rendszerekkel. Biztonság: Csak a jogosult személyek számára biztosított hozzáférés. Funkcionális megfelelőség: Törvények és szabványok betartása.
Idő szükséglet: Az előirányzott válaszidők, műveleti idők és átviteli sebesség betartása. Erőforrás szükséglet: Az előirányzott mennyiségű és típusú erőforrásokat használja fel. Hatékonysági megfelelőség: Törvények és szabványok betartása.
Karbantarthatóság: Módosítások (javítás, fejlesztés, környezethez, követelményekhez való adaptálás) végrehajtásának lehetősége.
© Dr. Horváth Zsolt László
21
Jegyzet
INFORMATIKA I. V.03. (2015-09-03) Szoftvertechnológia témakör - Elemezhetőség: Hibák és hiányosságok elemezhetősége és azonosíthatósága. - Módosíthatóság: A meghatározott módosítások végrehajthatósága, - Stabilitás: A módosítások miatti előre nem látott hatások elkerülése. - Tesztelhetőség: A szoftveren végrehajtott módosítások ellenőrzése. - Karbantarthatósági megfelelőség: Törvények és szabványok betartása. •
Hordozhatóság: A szoftver áthelyezése az egyik környezetből a másikba. -
Adaptálhatóság: A szoftverhez biztosított eszközök alkalmazásával. Telepíthetőség: Egy adott környezetben. Együttélés: Egymástól független szoftverek közös környezetben és erőforrásokkal. Kiválthatóság: Más szoftver helyett annak környezetében és céljaiért. Hordozhatósági megfelelőség: Törvények és szabványok betartása.
Használati minőség modell
Ez a modell a használati minőséget definiálja és bontja szét további kategóriákra. A felhasználó szemszögéből vizsgálja a minőséget. A használati minőség a külső és belső minőségtől függ. Minden szinten szükséges méréseket végezni, mivel az alsóbb szinteken kapott jó eredmények nem eredményeznek szükségszerűen jó használati minőséget. •
Használati minőség: A felhasználók hatékonyan, termelékenyen, biztonságosan és elégedetten érjék el céljaikat. -
Hatékonyság: A felhasználók pontosan és teljességgel érjék el céljaikat. Termelékenység: A felhasználók megfelelő mennyiségű erőforrás ráfordításával érjék el céljaikat. Biztonság: A szoftver elfogadható mértékű veszélyt jelentsen. Elégedettség: A felhasználó elégedettségét kiváltó tulajdonság.
PÉLDÁK 1. Funkcionális metrikák •
Külső funkcionális metrikák Egy külső funkcionális metrika képes mérni egy rendszer funkcionális viselkedését a következő nézőpontokból: – Különbségek a tényleges végrehajtott eredmények és a minőség követelmények között; – Olyan működési alkalmatlanság fölfedezése a valós felhasználó művelete során, mely nincs rögzítve, de elvárt a specifikáció alapján.
© Dr. Horváth Zsolt László
22
Jegyzet V.03. (2015-09-03) • Belső funkcionális metrikák
INFORMATIKA I. Szoftvertechnológia témakör
A belső funkcionális metrikákat arra használják, hogy az adott szoftver termékről megjósolják, hogy teljesíti-e az előre megadott funkcionális követelményeket és vélt felhasználói igényeket. 1. Funkcionális metrikák / 1.2. Pontosság •
Külső funkcionális metrikák Egy külső pontossági metrika képes mérni a rendszer olyan jellemzőjét, mint a felhasználók által felfedezett nem megfelelő esetek előfordulási gyakorisága, köztük: – Hibás vagy pontatlan eredmény, nem megfelelő adat miatt pl. túl kevés tizedes számjegyű adatok a pontos számításokhoz; – Ellentmondás a tényleges műveleti eljárások és a felhasználói leírásban szereplők között; – Különbségek a végrehajtott műveletek tényleges és az ésszerűen elvárt eredménye között az üzemeltetés során. Definiált metrikák: – Pontosság az elvárásokhoz képest – Számítási pontosság – Precizitás
•
Belső funkcionális metrikák A szoftver termék azon képességének becsléséhez határoznak meg tulajdonságokat, hogy helyes eredményeket érjen el. Definiált metrikák: – Számítási pontosság – Precizitás
•
Definiált metrika: Számítási pontosság Külső funkcionális metrika – –
•
Értelmezés: A felhasználó milyen gyakran fedez föl pontatlan eredményt? Alkalmazási mód: Jegyezzük föl a pontatlan számítási eredményeket a specifikációban megadottak alapján. – Számítási képlet: X = A / T (mértékegysége: db / idő) A= A felhasználó által felfedezett pontatlan számítási eredmények száma; T = Az üzemelés ideje. Belső funkcionális metrika – –
–
Értelmezés: Mennyire teljes a pontossági követelmények megvalósítása? Alkalmazási mód: A pontossági követelményeket megvalósító funkciók száma összehasonlítva az egyedi pontossági követelményekkel rendelkező funkciókkal. Számítási képlet: X = A / B (mértékegysége: db / db) A= Azon funkciók száma, melyekre a pontossági követelmények már meg vannak valósítva, ahogy az értékelésben elfogadták; B= Azon pontossági követelmények száma, melyekre még meg kell valósítani a pontossági követelményeket.
© Dr. Horváth Zsolt László
23
Jegyzet V.03. (2015-09-03)
INFORMATIKA I. Szoftvertechnológia témakör
3.2 A szoftver értékelési folyamat felépítése
3.2.1 Értékelés céljának megállapítása A fejlesztés és a vásárlás támogatása is úgy, hogy a felhasználói és vásárlói igényeket is kielégítse. További lehetséges példák: A köztes termék értékelésének oka lehet: -
Alvállalkozótól kapott köztes termék elfogadásának eldöntése. Egy folyamat befejezésének és a termék következő fázisba küldésének eldöntése. A kész termék minőségének becslése. Információgyűjtés a köztes termékről a folyamat irányításának érdekében.
A késztermék értékelésének oka lehet: -
A termék elfogadásáról való döntés. A termék nyilvánosságra bocsátásának időpontjáról való döntés. A termék összehasonlítása a versenytársaival. Egy termék kiválasztása a lehetséges alternatívák közül. A termék használatából fakadó pozitív és negatív hatások becslése. A termék bővítéséről vagy kicseréléséről való döntés.
3.2.2 Termék(ek) típusainak felismerése – szempontok Cél: a szoftver használatakor kimondott és vélelmezett igények kielégítése. A belső minőség követelmények lehetőséget biztosítanak arra, hogy verifikálásra kerüljön a köztes termék minősége. (A belső tulajdonságok belső metrikákkal mérhetőek, melyek a legfontosabbak a fejlesztési folyamatban.)
© Dr. Horváth Zsolt László
24
Jegyzet
INFORMATIKA I. V.03. (2015-09-03) Szoftvertechnológia témakör A külső minőség csak a teljes szoftverrendszer értékelésekor kapható meg. (A külső mérések értékei nem csak a szoftvertől, hanem az egész rendszertől függenek, így kell tesztelni is.) Egy szoftver, mely adott környezetben kielégítően teljesít, lehet hogy más környezetben hibákat fog mutatni, ezért a várható környezetben kell tesztelni. Ha a külső minőség követelmények nem teljesülnek az értékelés során, akkor az eredmények visszajelzésként használhatóak a további fejlesztésekhez. A használati minőség a lényeges minőség-tulajdonságok hatását jelenti egy adott felhasználó számára.
3.2.3 Értékelési modell meghatározása Ezek alapján történik annak meghatározása, hogy a mérést melyik modell alapján, azaz belső minőségmodell – külső minőségmodell – használati minőségmodell alapján kell elvégezni. Ezzel együtt történik a metrikák kiválasztása is (4.2.4. fejezetben.)
3.2.4 Metrikák kiválasztása Az értékelés célja határozza meg, hogy milyen típusú mérésekre van szükség. Fő célok lehetnek (pl.): -
A problémák felismerése, hogy orvosolhatók legyenek A termék minőségének összehasonlítása más termékkel vagy a követelményekkel
Az elsődleges követelmény, hogy a mérések helyesen azonosítsák a szoftver változások hatását a minőségre. Fontos, hogy az értékelési specifikáció pontosan meghatározza a minőség modellt és mérési metódusokat, skálákat az egyes metrikákra. A fejlesztési folyamatban használt metrikákat a felhasználói nézőpont metrikákhoz kell viszonyítani, mivel azok kulcsfontosságúak. Fontos még, hogy egy szoftver termék mérése könnyen elvégezhető legyen. A metrikák (mérőszámok) kiválasztása a kapcsolódó szabvány metrika-táblázatából történik, ahol a metrikákhoz sorra adottak a metrikák alkalmazásának jellemző adatai. Ezek közül a legfontosabbak: •
Metrika neve: A megfelelő metrikák neve a belső- és külső metrikáknál hasonló;
•
A metrika célja: Mint a metrika alkalmazásával megválaszolt kérdés kerül kifejezésre.
•
Alkalmazás módja: Körvonalazza az alkalmazást.
•
Mérés, képlet és adatelem számítás: Megadja a képletet és leírja a használt adatelemek jelentését.
•
A mért érték értelmezése: Megadja a tartományt és a kedvezőbb értékeket.
•
Skála típus: A használt skála típusa, pl. névleges skála, sorszám skála, tartomány skála, viszony skála, abszolút skála. (ld. „C”)
•
Mértékegység típus: Használt egységek: – Méret (pl. funkció méret, forrás mérete), – Idő (pl. eltelt idő, felhasználói idő), – Számláló (pl. változtatások száma, hibák száma);
•
Mérés bemenetei: A méréshez használt adatforrások.
© Dr. Horváth Zsolt László
25
Jegyzet
INFORMATIKA I. V.03. (2015-09-03) Szoftvertechnológia témakör • ISO/IEC 12207 referencia: Azonosítja azokat a SW fejlesztési fázisokat ahol a mérés alkalmazható. •
Célközönség: A mérési eredmények felhasználóit azonosítja.
3.2.5 Metrikák osztályozási szintjeinek meghatározása A minőségi metrikák által mért értékek önmagukban nem mutatják meg az elégedettség szintjét. Ehhez a skálát tartományokra kell osztani, melyek az egyes elégedettségi fokokhoz tartoznak.
3.2.6 Összegzési kritériumok meghatározása A szoftver minőség követelmény specifikációnak jól meghatározottnak kell lennie egy helyesen definiált minőség modellt használva. Egy termék minőségének becsléséhez szükséges a különböző jellegzetesség értékelések eredményeinek összegzése. (Az ezen célt szolgáló eljárás külön kritériumokat kell tartalmazzon különböző minőségi jellegzetességekhez.) A mérések szükséges „mélységét”, illetve az „osztályozások szigorát” meghatározza a mérés célja, illetve a termék használatának adott célra vonatkoztatott kockázati értékelése. Az eljárás magában foglalja továbbá az időt és költségeket, melyek hozzájárulnak egy szoftver termék minőségéhez egy adott környezetben.
3.2.7 Értékelés megtervezése Értékelési terv előállítása. Az értékelési terv leírja az értékelő metódusokat és az értékelési teendők ütemtervét. (ISO/IEC 14598-3, ISO/IEC 14598-4 vagy ISO/IEC 14598-5.)
3.2.8 Mérések elvégzése A kiválasztott metrikák alkalmazása a szoftver termékre. Az eredmény értékei a metrikák skáláján találhatóak.
3.2.9 Kritériumokkal történő összehasonlítás A minősítési lépésben a mért érték összehasonlításra kerül az előre meghatározott kritériummal.
3.2.10 Eredmények megállapítása Az összegzés a szoftver értékelő folyamat utolsó lépése, ahol egy csoport osztályozott szint kerül összegfoglalásra. Az eredmény megmutatja, hogy a szoftver termék megfelel-e a minőségi előírásoknak. PÉLDA: A külső értékelő értékelési folyamata Értékelési kiinduló helyzet Kezdeti megállapodás: Egy adott szoftver termék értékelése akkor történik, amikor az értékelés kérelmezője kéri az értékelőt, hogy végezze el az értékelést.
© Dr. Horváth Zsolt László
26
Jegyzet V.03. (2015-09-03) Az értékelésben érintett felek -
INFORMATIKA I. Szoftvertechnológia témakör
Lehetséges kérelmezői az értékeléseknek (fejlesztő, szállító, felhasználó). Lehetséges értékelők (vizsgálati személyek, értékelő szervezet). Bizonyos esetekben a termék fejlesztője is részt vesz az értékelésben.
Értékelési folyamat jellegzetességei -
Ismételhetőség: egy adott termék többszöri ugyanolyan mérésének eredményei megegyeznek. Reprodukálhatóság: egy adott termék mérésének elvégzése más értékelők által ugyanazt az eredményt adja. Pártatlanság: az értékelés eredménye semmilyen irányba sem befolyásolható. Tárgyilagosság: az értékelés eredménye tényszerű kell legyen.
Értékelési folyamat bemenete -
A kérelmező megadja a követelményeit, melyek a kezdeti értékelési követelmények lesznek. A kérelmező termék-leírást és komponenseket ad az értékelési folyamathoz. Az értékelő előre definiált értékelési specifikációt, értékelési módszereket és eszközöket ad.
Az értékelési folyamat tevékenységei: 1. 2. 3. 4. 5.
Értékelési követelmények kidolgozása Értékelés specifikálásának célja: az értékelési követelmények szerint. Értékelés megtervezése: értékelési terv kialakítása a specifikáció alapján. Értékelés végrehajtása: értékelési terv szerinti modellezés, mérés, tesztelés. Értékelés befejezése: értékelési jelentés kiadása.
Az értékelési folyamat kimenete -
-
Az értékelési folyamat során az értékelő az alábbi kimeneteket produkálja: o Értékelési feljegyzések az értékelési tervvel együtt. o A vázlatos értékelési jelentés, értékelési követelményekkel és specifikációval. o A felülvizsgált értékelési jelentés. Az értékelési követelmények, specifikáció és terv köztes eredményei az értékelési folyamatnak. Az értékelési feljegyzések és jelentés az értékelési folyamat végtermékei.
3.3 Szoftver-minőségre vonatkozó új szabványok ISO/IEC 25000-s szabványcsoport: -
ISO/IEC 25000:2005 Software Engineering – Software product Quality Requirements and Evaluation (SQuaRE) – Guide to SQuaRE Felváltja az ISO/IEC 9126-os, ISO/IEC 12207-es és az ISO/IEC 15498-as szabványcsoportokat
© Dr. Horváth Zsolt László
27
Jegyzet V.03. (2015-09-03)
INFORMATIKA I. Szoftvertechnológia témakör
ISO/IEC 25010:2011 Software Engineering – Software product Quality Requirements and Evaluation (SQuaRE) – System and software quality models
3.4 Ellenőrző kérdések -
Jellemezze röviden a szoftver-értékelésre vonatkozó „belső minőség”, „külső minőség” és „használati minőség” fogalmakat, és azok kapcsolatát! Melyek a „külső minőség” és „belső minőség” fő karakterisztikái, jellemezze röviden azokat? Melyek a „használati minőség” fő karakterisztikái, jellemezze röviden azokat? Hogyan rendszerezhetők (csoportosíthatók) a szoftvertermékekre vonatkozó külső minőség mérőszámok?
© Dr. Horváth Zsolt László
28
Jegyzet
INFORMATIKA I. V.03. (2015-09-03) Szoftvertechnológia témakör - Hogyan épül fel egy szoftver termék minőség mérésére vonatkozó, szabványos értékelési folyamat (az ISO/IEC 14598 szabványok alapján) – mik a főbb lépései?
© Dr. Horváth Zsolt László
29