INFORMATIKA I. Szoftvertechnológia témakör. jegyzet (V.03. / 2015-09-03) Készítette: Dr. Horváth Zsolt László



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

Bevezetés a programozásba

30 MB INFORMATIKAI PROJEKTELLENŐR

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

A szoftver-folyamat. Szoftver életciklus modellek. Szoftver-technológia I. Irodalom

Hatékony iteratív fejlesztési módszertan a gyakorlatban a RUP fejlesztési módszertanra építve

Vezetői információs rendszerek

Informatikai projektellenőr szerepe/feladatai Informatika / Az informatika térhódítása Függőség az információtól / informatikától Információs

Dr. Topár József 3. Eladás Marketing Külső szolgáltatás Alvállalkozók Fogyasztók. Engineering Termelés Anyagszabályozás Beszerzés Minőség

V. Félév Információs rendszerek tervezése Komplex információs rendszerek tervezése dr. Illyés László - adjunktus

INFORMATIKA EGYRE NAGYOBB SZEREPE A KÖNYVELÉSBEN

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

DW 9. előadás DW tervezése, DW-projekt

Szoftverminőségbiztosítás

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

Információtartalom vázlata

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

Intelligens eszközök fejlesztése az ipari automatizálásban Evosoft Hungary kft., Evosoft Hungary Kft.

A fejlesztési szabványok szerepe a szoftverellenőrzésben

Tartalom. Konfiguráció menedzsment bevezetési tapasztalatok. Bevezetés. Tipikus konfigurációs adatbázis kialakítási projekt. Adatbázis szerkezet

Szoftverminőségbiztosítás

Rózsa Tünde. Debreceni Egyetem AGTC, Pannon Szoftver Kft SINCRO Kft. Forrás:

Informatikai prevalidációs módszertan

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

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

Szolgáltatás mérés/riportolás magas fokon Egy valós megoldás Pepsi berkekben

Szolgáltatás Orientált Architektúra a MAVIR-nál

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ó

Mi a folyamat? Folyamatokkal kapcsolatos teendőink. Folyamatok azonosítása Folyamatok szabályozása Folyamatok folyamatos fejlesztése

Szoftver-technológia I.

A projektvezetési eszköz implementációja hazai építő-, szerelőipari vállalkozásoknál

ITIL alapú IT környezet kialakítás és IT szolgáltatás menedzsment megvalósítás az FHB-ban

Információs rendszerek Információsrendszer-fejlesztés

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

Miskolci Egyetem Általános Informatikai Tanszék

A tesztelés feladata. Verifikáció

Szoftverminőségbiztosítás

Rendszerszemlélet let az informáci. cióbiztonsági rendszer bevezetésekor. Dr. Horváth Zsolt INFOBIZ Kft.

Szoftvertechnológia ellenőrző kérdések 2005

evosoft Hungary Kft.

Projectvezetők képességei

Szoftverminőségbiztosítás

Biztonsági folyamatirányító. rendszerek szoftvere

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

Kiváló minôségû szolgáltatás, MKIK Védjegy. Az informatikai szolgáltatások tanúsítási követelményei

1. SZÁMÚ FÜGGELÉK MŰSZAKI LEÍRÁS

Vállalati folyamatok támogatása ELO-val Beszerzés management

Szoftver újrafelhasználás

Szoftverminőségbiztosítás

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

Az es szabvánnyal, illetve a törvényi elvárásokkal kapcsolatos felmérési, tervezési tevékenység

Tisztelettel köszöntöm a RITEK Zrt. Regionális Információtechnológiai Központ bemutatóján.

MIÉRT KELL TESZTELNI?

A szoftver-folyamat. Szoftver életciklus modellek. Szoftver-technológia I. Irodalom

Közigazgatási informatika tantárgyból

IMIR fejlesztése, bevezetése és működés-támogatása - módosító hirdetmény. Közbeszerzési Értesítő száma: 2015/99

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

Információ menedzsment

Üzletmenet folytonosság menedzsment [BCM]

A gyártási rendszerek áttekintése

Software Engineering Babeş-Bolyai Tudományegyetem Kolozsvár

Szoftverfejlesztő képzés tematika oktatott modulok

TOGAF elemei a gyakorlatban

5. Témakör TARTALOMJEGYZÉK

Nagy bonyolultságú rendszerek fejlesztőeszközei

Autóipari beágyazott rendszerek Dr. Balogh, András

Informatikai projekteredmények elfogadottságának tényezői

A CMMI alapú szoftverfejlesztési folyamat

2011. ÓE BGK Galla Jánosné,

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

IT üzemeltetés és IT biztonság a Takarékbankban

Ajánlatkérő adatlap. 1. Kérelmező szervezet adatai: 2. Kérelmező szervezet vezetősége, kapcsolattartója:

Cloud Akkreditációs Szolgáltatás indítása CLAKK projekt. Kozlovszky Miklós, Németh Zsolt, Lovas Róbert 9. LPDS MTA SZTAKI Tudományos nap

BMEVIHIM134 Hálózati architektúrák NGN menedzsment vonatkozások: II. Üzemeltetés-támogatás és üzemeltetési folyamatok

A HADFELSZERELÉSEK GYÁRTÁS UTÁNI VÉGELLENŐRZÉSÉNEK NATO MINŐSÉGBIZTOSÍTÁSI ELŐÍRÁSAI

Egészségügyi kockázatok integrált kezelésének számítógéppel támogatott gyakorlata

Bevezetés a hálózatok világába Forgalomirányítási és kapcsolási alapok Hálózatok méretezése Connecting Networks

ESZKÖZTÁMOGATÁS A TESZTELÉSBEN

Beszerzési és elosztási logisztika. Előadó: Telek Péter egy. adj. 2008/09. tanév I. félév GT5SZV

Verziókövető rendszerek használata a szoftverfejlesztésben

INFORMATIKAI PROJEKTELLENŐR

Szemléletmód váltás a banki BI projekteken

Szabványok A szabványok fajtái Mérési szabványok Termékszabványok:

PROJEKTMENEDZSERI ÉS PROJEKTELLENŐRI FELADATOK

TERMÉK FEJLESZTÉS PANDUR BÉLA

1964 IBM DEC PDP-8

Programfejlesztési Modellek

J NEMZETGAZDASÁGI ÁG - INFORMÁCIÓ, KOMMUNIKÁCIÓ. 62 Információtechnológiai szolgáltatás Információtechnológiai szolgáltatás

Nagy méretű projektekhez kapcsolódó kockázatok felmérése és kezelése a KKV szektor szemszögéből

01. gyakorlat - Projektalapítás

Hogyan lesz adatbányából aranybánya?

Logisztikai. ellátási lánc teljes integrálására. Logisztikai szolgáltatók integrációja. B2B hálózatokhoz a FLUID-WIN projektben.

Laborinformációs menedzsment rendszerek. validálása. Molnár Piroska Rikker Tamás (Dr. Vékes Erika NAH)

IT Szolgáltatás Menedzsment az oktatási szektorban - 90 nap alatt költséghatékonyan

A Java EE 5 plattform

Orvostechnikai eszközök gyártmányfejlesztése Aktív orvosi eszközök fejlesztése PEMS V&V. Nagy Katinka

Webmester képzés tematika oktatott modulok

Szoftver-mérés. Szoftver metrikák. Szoftver mérés

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

PTE PMMIK, SzKK Smart City Technologies, BimSolutions.hu 1

Átírás:

INFORMATIKA I. jegyzet (V.03. / 2015-09-03) Készítette: Dr. Horváth Zsolt László

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

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: horvath.zsoltlaszlo@kvk.uni-obuda.hu - Tel: +36 70 4198599 - Munkahely: KVK Tavaszmező u. C épület, 410-es szoba Dr. Horváth Zsolt László 3

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 (például számítógépek) memóriájában elhelyezkedő, azokat működtető programok. ( ) 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

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: Cél: - A vállalati működés leképezése - Folyamatok lépéseinek, kapcsolatainak és felhasznált erőforrásainak modellezése, azok strukturált összerendelésével - 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

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 - 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.) Csevegő ill. távbeszélő programok - 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, ) stb. Hálózati monitoring: pl. SpiceWorks, Nagios Hálózati eszközök kontrollja: pl. LanSweeper 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

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 - 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, 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 - 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

Új fajta módszerek és új veszélyek 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

- Könnyen karbantartható - Gyors reakcióidő - Nagy terhelhetőség - Robosztusság - Rendelkezésre állás - Stb 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

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

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 Tevékenység Eredmény Feljegyzés Kezdeményezés 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, ) Ajánlat elkészítése, ellenőrzése, kiküldése Döntés a továbblépésről Becsült ráfordítás-igény Durva projektterv (mibe ugrunk bele, ha ) Ajánlat Technikai feljegyzések Számítások feljegyzései, alapadatok, egyeztetések jegyzőkönyvei, Ajánlatot készítő és ellenőrző aláírásai legalább Dr. Horváth Zsolt László 11

Fázis Tevékenység Eredmény Feljegyzés Definíció 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. 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) 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. Konfiguráció menedzsment terv (és rendszer és eszköz) Tesztelési terv (integrációs teszthez) ellenőrzésének feljegyzései, 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 (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

Fázis Tevékenység Eredmény Feljegyzés Bevezetés Próbaüzem (pilotálás) Éles-üzembe helyezés + kapcsolódó képzések, betanítások Éles-üzemi karbantartás Termék használatának támogatása Hibajavítás Változások kezelése 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 Karbantartási megállapodás és tervek Lezárás Projektek lezáró értékelése Projektdokumentumok archiválása 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 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 Lefordított modulok, komponensek Teljes futtatható termék Ellenőrzési módszer Review (dokumentum szemle) 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 ( ez az, ami kell? ) Dr. Horváth Zsolt László 13

... 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

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

- Jól strukturált - Feladatok jól megoszthatók - Időben tervezhető 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 Előnyök: (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 ) - 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

bővül az újabbakkal az igények hozzá-vételével, és a megelőzőek 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

- 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

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

Külső minőség 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

Minőség modell (ISO/IEC 9126) 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. - 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. Megbízhatóság: Meghatározott körülmények között teljesít egy adott teljesítményt. - 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. - É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. - 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

- 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

Belső funkcionális metrikák 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

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

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

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

Az értékelésben érintett felek - 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. Értékelési követelmények kidolgozása 2. Értékelés specifikálásának célja: az értékelési követelmények szerint. 3. Értékelés megtervezése: értékelési terv kialakítása a specifikáció alapján. 4. Értékelés végrehajtása: értékelési terv szerinti modellezés, mérés, tesztelés. 5. É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

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

- 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