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	
MID0008	Közös projekt (Proiect colectiv)	

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

II. Főállásban az Egyetem oktatói
Név	Tudományos	Oktatói	Tanszék	Tevékenység	
	fokozat	státus		E	Sz	L	
OLÁH-GÁL Róbert	Dr. 	Lect.	Sisteme informatice			*	

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élkitűzései
•	modern szoftverfejlesztési módszerek és stratégiák elsajátítása
•	a modern szoftverfejlesztésben alkalmazott tervezési eljárások, minták megismerése
•	az operatív csapatmunkához szükséges kvalitások elsajátítása, tapasztalatok szerzése
•	modern integrált fejlesztői környezetek, API-k, technológiák és keretrendszerek megismerése
•	szoftver verifikációs és validációs módszerek alkalmazása	

IV. A tantárgy tartalma
•	Szoftverfejlesztési módszerek és stratégiák
•	A szoftverfejlesztési folyamat (analízis, tervezés, implementáció, verifikáció és validáció, a projekt átadása)
•	Rendszertervezés, tervezési minták, UML
•	Integrált fejlesztői környezetek
•	Csapatmunka, hibakövetés
•	Javasolt API-k, technológiák, keretrendszerek
•	Implementációs részletek, grafikus felhasználói interfészek	

V. Könyvészet
1. Sommerville I., Szoftverrendszerek fejlesztése, Panem kiadó, Budapest, 2002
2. ***, Eclipse Documentation, Eclipse Foundation, 2009.
    http://www.eclipse.org/documentation/
3. ***, Subversion Documentation, http://subversion.tigris.org/
4. ***, Bugzilla Documentation, http://www.bugzilla.org/ 
5. ***, Subclipse Documentation, http://subclipse.tigris.org/
6. ***, Subversive User Guide, Eclipse Foundation,	

VI. Az oktatói tevékenység heti tematikája
1.	Szoftverfejlesztési módszerek és stratégiák
•	a szoftverfejlesztés folyamata
•	tipikus szerepek (kliens, projektvezető, tervezők, fejlesztők, tesztelők, stb.)
•	szoftverfejlesztési stratégiák
•	UML alapok

2.	Integrált fejlesztői környezetek
•	általános tudnivalók
•	javasolt tervezési eszközök, környezetek
•	javasolt programozási környezetek 

3.	Analízis
•	követelmény specifikáció
•	használati eset analízis
•	domain analízis

4.	Tervezés
•	az architektúra megtervezése
•	modern fejlesztési technológiák
•	tervezési minták
•	diagrammok (osztály, szekvencia, állapot)

5.	Csapatmunka
•	verziókövetés és forráskód menedzsment
•	revision controll terminológia
•	CVS (Concurrent Versioning System)
•	SVN (Subversion)
o	rétegek
o	fájlrendszer és tranzakciók
•	verziókövetés Eclipse környezetben: a Subclipse és Subversive bemutatása

6.	Implementációs részletek
•	standardok, konvenciók
•	forráskód dokumentálása

7.	Fejlesztési technológiák
•	különböző projekt típusok fejlesztéséhez javasolt API-k 
•	különböző projekt típusok fejlesztéséhez javasolt technológiák 

8.	Keretrendszerek
•	különböző projekt típusok fejlesztéséhez javasolt keretrendszerek 

9.	Grafikus felhasználói interfész
•	javasolt GUI eszköztárak 
•	fejlesztői eszközök
•	szoftver-ergonómiai szempontok

10.	Hibakövetés
•	általános tudnivalók
•	hibakövető rendszerek
•	a Bugzilla bemutatása

11.	Verifikáció és validáció (V&V)
•	a V&V folyamat, módszerek, általános tudnivalók
•	szoftvertesztelés
o	tesztelés típusok, alkalmazott módszerek
o	teszttervek
o	eredmények kiértékelése

12.	Unit tesztelés
•	á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)

13.	A projekt átadása
•	felhasználói dokumentáció
•	a végtermék kézbesítése (csomagolás, telepítő csomag)
•	a rendszer bemutatása

Az egyes projektek fejlesztésének folyamatos követése SVN rendszeren keresztül történik, a felmerült problémák, javaslatok a gyakorlati órákon kerülnek megbeszélésre (sürgősebb esetekben más kommunikációs módszerek is alkalmazhatóak, pl. e-mail, chat, stb.).
A projekt különböző fázisainak megfelelő anyagok leadása határidőhöz kötött, ezeknek az anyagoknak a kiértékelése, megbeszélése szintén a gyakorlati órákon történik.

További információk: http://www.cs.ubbcluj.ro/~ksimon	

VII. Alkalmazott didaktikai módszerek
bemutatók, párbeszéd, egyéni munka, a fejlesztési folyamat követése (SVN rendszeren keresztül), tanácsadás és segítségnyújtás (személyes beszélgetés, e-mail, chat) a határidőre kért anyagok kiértékelése és megbeszélése
példák bemutatása, a bemutatók hozzáférhetővé tétele az Interneten	

VIII. Értékelés
Az értékelés a fejlesztés folyamatos ellenőrzésén alapszik: a fejlesztés különböző fázisainak megfelelő anyagokat határidőkhöz kötve kell leadni, ezek kiértékelése beleszámít a végső jegybe.
A félév utolsó hetében a csoportok nyilvánosan bemutatják projektjeiket, a bemutatón egy oktatókból álló bizottság értékeli azokat (az évközi tevékenységet, az évközben leadott anyagokat és a vezető oktató kiértékelőjét is figyelembe véve). A kiértékelés eredménye egy pontszám. Az egyes csoporttagok végső osztályzatát a csoport (a csoportot vezető hallgató által leadott) önértékelőjét figyelembe véve a pontszám alapján számítjuk ki.	

IX. Kiegészíto könyvészet
1. ***, Introduction to OpenUP, Eclipse Foundation, http://epf.eclipse.org/wikis/openup/ 
2. Scott W. Ambler. Agile Model Driven Development (AMDD): The Key to Scaling Agile Software Development. http://www.agilemodeling.com/essays/amdd.htm 

	Dékán,						Tanszékvezető,

	Dátum,						Előadás felelőse,
								Lect. Dr. OLÁH-GÁL Róbert