fişa disciplinei
1. Date despre program
1.1 Instituţia de învăţământ superior	Universitatea Babeş-Bolyai Cluj-Napoca	
1.2 Facultatea	Facultatea de Matematică şi Informatică	
1.3 Departamentul	Departamentul de informatică	
1.4 Domeniul de studii	Informatică	
1.5 Ciclul de studii	Master	
1.6 Programul de studiu / Calificarea	Informatică didactică - ȋn limba romȃnă	

2. Date despre disciplină
2.1 Denumirea disciplinei	Proiectarea sistemelor software	
2.2 Titularul activităţilor de curs	Prof. dr. PÂRV Bazil	
2.3 Titularul activităţilor de seminar	Prof. dr. PÂRV Bazil	
2.4 Anul de studiu	2	2.5 Semestrul	4	2.6. Tipul de evaluare	E	2.7 Regimul disciplinei	Opțională	

3. Timpul total estimat (ore pe semestru al activităţilor didactice)
3.1 Număr de ore pe săptămână	3	Din care: 3.2 curs	2	3.3 seminar/laborator	1 	
3.4 Total ore din planul de învăţământ	36	Din care: 3.5 curs	24	3.6 seminar/laborator	12	
Distribuţia fondului de timp:	ore	
Studiul după manual, suport de curs, bibliografie şi notiţe	32	
Documentare suplimentară în bibliotecă, pe platformele electronice de specialitate şi pe teren	32	
Pregătire seminarii/laboratoare, teme, referate, portofolii şi eseuri	72	
Tutoriat	14	
Examinări 	14	
Alte activităţi: ..................	-	
3.7 Total ore studiu individual	164	
3.8 Total ore pe semestru	200	
3.9 Numărul de credite	8	

4. Precondiţii (acolo unde este cazul)
4.1. de curriculum	•	Fundamentele programării
•	Programare orientată pe obiecte
•	Paradigme de programare	
4.2. de competențe	•	Cunoștințe de programare la nivel mediu	

5. Condiţii (acolo unde este cazul)
5.1 De desfăşurare a cursului	•	Videoproiector, acces la Internet	
5.2  De desfăşurare a seminarului/laboratorului	•	Calculatoare,  acces la Internet , tool-uri UML	

6. Competenţele specifice acumulate
Competenţe profesionale	•	Înțelegerea proiectării software din perspectivă inginerească.
•	Înțelegerea conceptelor și principiilor proiectării software.
•	Înțelegerea procesului proiectării software și a activităților specifice acestui process.
•	Folosirea profesională a instrumentelor și limbajelor specifice dezvoltării de sisteme software.
•	Cunoașterea aspectelor specifice principalelor șabloane de arhitectură și de proiectare și a modului de aplicare a acestora la proiecte specifice.	
Competenţe transversale	•	Abilități de comunicare profesională; capacitatea de a descrie succint și precis rezultatele profesionale, oral și în scris.
•	Capacitate de muncă independentă și în echipă; capabilitatea de a îndeplini roluri diferite într-o echipă.
•	Capabilități anteprenoriale.	

7. Obiectivele disciplinei (reieşind din grila competenţelor acumulate)
7.1  Obiectivul general al disciplinei
	•	Cunoașterea și înțelegerea conceptelor fundamentale ale proiectării software. 
•	Capacitatea de a aplica șabloane arhitecturale și de proiectare adecvate  la diverse proiecte de programare.	
7.2  Obiectivele specifice

	La sfârșitul cursului, studenții trebuie să
•	cunoască principalele concepte și principii ale proiectării software; 
•	cunoască și înțeleagă semantica următorilor termeni: arhitectură software, stil și model arhitectural, limbaj de definire a arhitecturii; proiectare de detaliu; șablon de proiectare, proiectarea pentru construcție; 
•	învețe importanța proiectării arhitecturale și de detaliu și să știe folosi instrumente pentru aceste sarcini;
•	cunoască diferențele dintre diversele tipuri/clase de sisteme software (preluate din aplicații reale) și and care sunt cele mai recomandate stiluri arhitecturale și șabloane de proiectare de aplicat pentru fiecare astfel de clasă.	

8. Conţinuturi
8.1 Curs	Metode de predare	Observații	
1.	Introducere în proiectarea software. Motivație și concepte generale de proiectare. Privire de ansamblu asupra proiectării software	•	Expunerea interactivă
•	Explicaţia
•	Conversaţia
•	  Demonstraţia didactică
		
2.	Elemente fundamentale privind proiectarea software. Aspecte generale privind UML.	•	Expunerea interactivă
•	Explicaţia
•	Conversaţia
•	Demonstraţia didactică		
3.	Elemente fundamentale privind proiectarea software. Modelarea structurală în UML. Modelarea comportamentului în UML	•	Expunerea interactivă
•	Explicaţia
•	Conversaţia
•	Demonstraţia didactică		
4.	Fundamentele arhitecturii software. Fundamentele ingineriei cerințelor. Proiectarea arhitecturii software 	•	Expunerea interactivă
•	Explicaţia
•	Conversaţia
•	  Demonstraţia didactică		
5.	Stiluri și șabloane arcitecturale. Elemente generale și istoricul stilurilor și șabloanelor arhitecturale. Sisteme centrate pe date și sisteme bazate pe fluxuri de date	•	Expunerea interactivă
•	Explicaţia
•	Conversaţia
•	  Demonstraţia didactică		
6.	Stiluri și șabloane arcitecturale. Sisteme distribuite. Sisteme interactive și ierarhice	•	Expunerea interactivă
•	Explicaţia
•	Conversaţia
•	  Demonstraţia didactică		
7.	Proiectarea de detaliu. Privire generală. Proiectarea și comportamentală a componentelor. Principii de proiectare	•	Expunerea interactivă
•	Explicaţia
•	Conversaţia
•	  Demonstraţia didactică		
8.	Folosirea șabloanelor creaționale în proiectarea de detaliu. Abstract Factory. Factory Method	•	Expunerea interactivă
•	Explicaţia
•	Conversaţia
•	  Demonstraţia didactică		
9.	Folosirea șabloanelor creaționale în proiectarea de detaliu. Builder. Prototype. Singleton.	•	Expunerea interactivă
•	Explicaţia
•	Conversaţia
•	  Demonstraţia didactică		
10.	Folosirea șabloanelor structurale în proiectarea de detaliu. Adapter. Composite. Façade	•	Expunerea interactivă
•	Explicaţia
•	Conversaţia
•	  Demonstraţia didactică		
11.	Folosirea șabloanelor comportamentale în proiectarea de detaliu. Iterator. Observer.	•	Expunerea interactivă
•	Explicaţia
•	Conversaţia
•	  Demonstraţia didactică		
12.	Proiectarea de construcție. Proiectarea de construcție bazată pe fluxuri, stări și tabele. Limbaje pseudocod, stiluri și evoluția calității.	•	Expunerea interactivă
•	Explicaţia
•	Conversaţia
•	  Demonstraţia didactică		
13.	Gestiunea procesului de proiectare software. Un framework pentru gestiunea proiectării software. Planificarea	•	Expunerea interactivă
•	Conversaţia

14.	Gestiunea procesului de proiectare software. Implementarea și terminarea. Recapitulare finală	•	Expunerea interactivă
•	Conversaţia
		
Bibliografie
1.	OTERO, C.E.: Software Engineering Design, CRC Press, 2012. 
site: http://softwareengineeringdesign.com/Default.htm
2.	BASS, L., CLEMENTS, P., KAZMAN R.: Software Architecture in Practice, 2nd ed., Addison-Wesley, 2003
3.	KRUCHTEN, PH.: Architectural Blueprints – The 4+1 View Model of Software Architecture, IEEE Software 12 (6), 1995, pp. 42-50. 
4.	SHAW, M.: The Coming-of-Age of Software Architecture Research, in Proc. of the 23rd ICSE, IEEE Comp. Soc. 2001, 656, [http://www.cs.cmu.edu/afs/cs.cmu.edu/project/vit/ ftp/pdf/shaw-keynote-rev.pdf] 
5.	SHAW, M., GARLAN, D.: Software Architecture: Perspectives on an Emerging Discipline, Prentice-Hall, 1996.	
8.2 Seminar / laborator	Metode de predare	Observații	
1.	Aspecte administrative	Conversația, dezbaterea, studii de caz, prezentări	Seminarul este structurat sub forma a 2 ore din 2 în 2 săptămâni	
2.	Stabilirea aplicației țintă. Începutul primului miniproiect	Conversația, dezbaterea, studii de caz, exemple		
3.	Lucrul la miniproiectul 1	Conversația, dezbaterea, studii de caz, prezentări		
4.	Terminarea miniproiectului 1. Începutul miniproiectului 2	Conversația, dezbaterea, studii de caz, prezentări		
5.	Lucrul la miniproiectul 2	Conversația, dezbaterea, studii de caz, prezentări		
6.	Terminarea miniproiectului 2. Aspecte de proiectare de detaliu	Conversația, dezbaterea, studii de caz, prezentări		
7.	Recapitularea finală și evaluarea proiectelor	Expuneri, demo-uri		
Bibliografie
Studenții vor căuta și folosi documentația referitoare la paradigmele de programare 
•	pe serverul departamentului (win/labor/Romana/master/SED)
•	pe web, folosind principalele baze de date cu lucrări de computer science	

9. Coroborarea conţinuturilor disciplinei cu aşteptările reprezentanţilor comunităţii epistemice, asociaţiilor profesionale şi angajatori reprezentativi din domeniul aferent programului

•	Acest curs urmează recomandările IEEE și ACM pentru studii ȋn ingineria software.
•	Conţinutul disciplinei este în concordanţă cu ceea ce se face în alte centre universitare din tară.
•	Conţinutul disciplinei este considera foarte important de către companiile software pentru a ȋmbunătăți deprinderile de dezvoltare de software.	

10. Evaluare
Tip activitate	10.1 Criterii de evaluare	10.2 Metode de evaluare	10.3 Pondere din nota finală(%)	
10.4 Curs	•	cunoașterea conceptelor de bază ale proiectării software 
•	aplicarea diverselor stiluri arhitecturale și șabloane de proiectare la diverse domenii de probleme	Examen scris
	40%	
10.5 Seminar/ activități laborator	•	capacitatea de a investiga și studia literatura referitoare la proiectarea software 
•	capacitatea de a rezolva o problemă folosind șabloane arhitecturale și de proiectare diferite 
•	capacitatea de a evalua un proiect software	•	Miniproject 1 
•	Miniproiect 2 
•	Prezența la seminar/laborator
•	Oficiu	20% 
20%
10%

10%	
10.6 Standard minim de performanţă	
•	Cel puțin nota 5 (pe o scară de la 1 la 10) la examenul scris si proiecte.	

Data completării		Semnătura titularului de curs		Semnătura titularului de seminar
01.10.2014		            Prof. dr.Bazil Pȃrv		 	Prof. dr.Bazil Pȃrv

Data avizării în departament			           Semnătura directorului de departament	
							Prof. dr. Bazil Pârv