Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Licenţă
Domeniul: Informatică
Programul de studii: Informatică - linia de studiu maghiară
Limba de predare: Maghiară

SYLLABUS

I. Általános adatok
Kód	Tantárgy neve	
MID0010	Szoftverrendszerek verifikációja és validációja	

Félév	Órák: C+S+L+P	Kategória	Típus	
6	2+1+1+0	szaktárgy	kötelezö	

II. Foállásban az  Egyetem  oktatói
Név	Tudományos	Oktatói	Tanszék	Tevékenység	
	fokozat	státus		E	Sz	L	
SIMON Karoly	Dr. 	Lect.	Magyar Matematika és Informatika	*			

Társult oktatók
Név	Tudományos	Intézmény	Állás	Tevékenység 	
	fokozat		típusa	E	Sz	L	

III. A tantárgy célkituzései
A verifikáció és validáció (V&V) fogalmainak megértése, az alkalmazott módszerek megismerése
Algoritmusok helyességével kapcsolatos fogalmak, valamint a helyesség bizonyítására használt módszerek megértése
Szoftverátvizsgálási módszerek megismerése
Tesztelés típusok, alkalmazott módszerek, eszközök és technológiák elsajátítása, alkalmazása a gyakorlatban
Kritikus rendszerek esetében alkalmazott fejlesztési stratégiák, valamint a megfelelo V&V módszerek megismerése
A V&V folyamat során alkalmazott formális módszerek bemutatása	

IV. A tantárgy tartalma
A V&V folyamat általános bemutatása
Algoritmusok helyességének bizonyítása
Szoftverek átvizsgálása
Szoftverek tesztelése
Kritikus rendszerek validálása
Modellellenorzés
Szoftverfejlesztési stratégiák és alkalmazott V&V módszerek
Rendszermodellek
V&V a gyakorlatban (modellek, tecchnológiák, eszközök)	

V. Könyvészet
1. BALANESCU T., Corectitudinea programelor, Editura tehnica, Bucuresti 1995.
2. DIJKSTRA, E., A constructive approach to the problem of program correctness, BIT, 8(1968), pg.174-186.
3. DIJKSTRA, E., Guarded commands, nondeterminacy and formal derivation of programs, CACM, 18(1975), 8, pg.453-457.
4. DROMEY G., Program Derivation. The Development of Programs From Specifications, Addison Wesley Publishing Company, 1989.
5. FRENTIU, M., Verificarea corectitudinii programelor, Ed.Univ."Petru-Maior", 2001.
6. GRIES, D., The Science of Programming, Springer-Verlag, Berlin, 1981.
7. HOARE, C.A.R., An axiomatic basis for computer programming, CACM, 12(1969), pg.576-580, 583.
8. Morgan, C., Programing from Specifications, Prentice Hall, NewYork, 1990.
B. Internet 	

VI. Az oktatói tevékenység heti tematikája
Eloadásokon tárgyalt témák:

Verifikáció és validáció: általános bevezeto
a verifikáció és validáció fogalmak
szoftverfejlesztési stratégiák, a V&V helye a fejlesztési folyamatban
statikus és dinamikus V&V módszerek
elfogadási szint
debugging
V&V tervezés

Algoritmusok helyességének bizonyítása
algoritmusok végrehajtása
algoritmusok helyessége
a Floyd módszer a helyesség bizonyítására
a Hoare módszer a helyesség bizonyítására

Szoftverek átvizsgálása
általános tudnivalók
programátvizsgálási stratégiák
hiba típusok (hibák listája - checklist)
automatizált statikus elemzés

Cleanroom szoftverfejlesztés
általános tudnivalók, történeti áttekinto
a Cleanroom megközelítés jellemzoi
a Cleanroom folyamat modellje
Cleanroom szoftverfejlesztés
alkalmazott modellek és eszközök

Szoftvertesztelés
a tesztelési folyamat
komponensek tesztelése és integrációs tesztelés
funkció-orientált és objektum-orientált rendszerek tesztelése
hiányosságtesztelés
tesztesetek
fekete doboz tesztelés
ekvivalenciaosztályozás
struktúrateszt (fehér-/üvegdoboz tesztelés)
útvonaltesztelés
integrációs tesztelés
interfésztesztelés
stressztesztelés

Objektumorientált tesztelés
az objektumorientált és a funkcionális modell összehasonlítása
az objektumorientált tesztelés szintjei
objektumosztály tesztelése
objektumintegráció
forgatókönyv alapú tesztelés
tesztelési eszközrendszerek

Unit tesztelés (Unit Testing)
általános tudnivalók
unit testing Java-ban, a JUnit
a Fixture fogalom
Test Suite létrehozása, alkalmazása
az Eclipse által biztosított JUnit támogatás
JUnit alapú tesztelés Eclipse környezetben (példa)

Hibaköveto rendszerek
fejlesztési stratégiák bonyolultabb projektek esetében
csapatmunka (SVN rendszerek alkalmazása)
hibák jelentése, követése (bug reporting/bug tracking rendszerek, a Bugzilla bemutatása)

Kritikus rendszerek validálása
kritikus rendszerek verifikálása és validálása
formális módszerek és kritikus folyamatok
megbízhatóság validálása
muködési profilok
a megbízhatóság elorejelzése
biztonságosság szavatolása
biztonsági indoklások
a folyamat szavatolása
a védettség értékelése

Temporális logikák és modellellenorzés
temporális logikák
temporális logikák osztályozása
temporális logikák modelljei
Kripke struktúrák
címkézett állapotátmeneti rendszerek
Kripke állapotátmeneti rendszerek
automaták
modell ellenorzés

Állapottérképek
UML állapottérképek
modellezés állapottérképpel
objektumok viselkedésének leírása állapottérképpel

Modellezés adatfolyam hálókkal
az adatfolyam módszer
adatfolyam hálók
adatfolyam hálókon alapuló workflow menedzsment (modellezés és analízis)
További információk:
    http://www.cs.ubbcluj.ro/~ksimon	

VII. Alkalmazott didaktikai módszerek

VIII. Értékelés
A végso jegyet az alábbiakban leírtak szerint határozzuk meg: 
A. Évközi tevékenység (laborfeladatok, szemináriumi bemutató): 50% 
B. Írásbeli vizsga: 50%
Az elméleti jellegu írásbeli vizsgára a vizsgaidoszakban kerül sor. 
A tantárgy sikeres letételéhez minden részeredmény (A és B) esetében átmeno osztályzatot (5) kell elérni.	

IX. Kiegészíto könyvészet

	Dékán,						Tanszékvezeto,

	Dátum,						Eloadás felelose,
	2011. okt. 1.						Lect. Dr.  SIMON Karoly