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+P	Kategória	Típus	
4	0+0+2+0	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	
SIMON Károly	Dr. 	Lect.	Limbaje şi Metode de Programare			*	

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. Gamma E, Helm R, Johnson R, Vlisides J, Design Patterns: elements of reusable object-oriented software, Addison Wesley, 1994.
2. Jacobson I, Booch G, Rumbaugh J, The Unified Software Development Process. Addison Wesley Longman, 1998.
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,
	2010. okt. 1.						Lect. Dr. SIMON Károly