Universitatea Babeş–Bolyai, Cluj–Napoca
Facultatea de Matematică şi Informatică
Anul universitar 2006/2007
Semestrul 4, specializarea Informatică

I.	Informaţii generale despre curs, seminar, lucrare practică sau laborator

Titlul disciplinei: Ingineria sistemelor soft
Codul: MID0007
Numărul de credite: 6
Locul de desfăşurare: 
Programarea în orar a activităţilor:

II.	Informaţii despre titularul de curs, seminar, lucrare practică sau laborator

Nume, titlul ştiinţific: Bazil Pârv, Dr.
Informaţii de contact (adresă e-mail, eventual nr. de telefon): bparv@cs.ubbcluj.ro
Ore de audienţă:

III.	Descrierea disciplinei: 

Conţinut:
•	Ciclul de viaţă al sistemelor soft
•	Analiza cerinţelor
•	Proiectarea softului
•	Implementarea, testarea, instalarea şi întreţinerea sistemelor soft
•	Planificarea proiectelor soft.

Obiective:
•	explicarea motivaţiei şi a conceptelor de bază ale ingineriei sistemelor soft. 
•	evidenţierea caracterului sistematic şi disciplinat al activităţii de realizare a aplicaţiilor software 
•	discutarea metodologiilor consacrate de dezvoltare a sistemelor soft
•	explicarea importanţei organizării eficiente a procesului de dezvoltare a sistemelor soft. 

Competenţe
La terminarea cursului, studenţii trebuie să:
•	posede cunoştinţe sistematice despre metodologiile de realizare a sistemelor soft
•	fie familiarizaţi cu conceptele şi preocupările moderne în scrierea softului de aplicaţie
•	aibă cunoştinţe despre tipurile de modele şi instrumentele de modelare folosite în dezvoltarea sistemelor soft
•	fie convinşi de importanţa testării şi documentării sistemelor soft, în toate fazele ciclului lor de viaţă.

Metode
	Prelegeri, conversaţii, studii de caz, proiecte.

IV.	Bibliografia obligatorie:

1.	Agile Modeling Homepage [http://www.agilemodeling.com].
2.	FOWLER, MARTIN - SCOTT, KENDALL: UML Distilled: A Brief Guide to the Standard Object Modeling Language, Addison-Wesley (2nd ed., 1999).
3.	MARTIN, ROBERT CECIL, Object-oriented design principles, Object Mentor Homepage [www.objectmentor.com]
4.	PÂRV, BAZIL: Analiza şi proiectarea sistemelor, Univ. Babeş-Bolyai, CFCID, Facultatea de Matematică şi Informatică, Cluj-Napoca, 2002, 2003, 2004 (bibliotecă)
5.	Software Engineering Body of Knowledge, IEEE, 2004. [http://www.swebok.org].

V.	Materiale folosite în cadrul procesului educaţional specific disciplinei:

Cursurile se desfăşoară sub forma unor prezentări PowerPoint, cu videoproiectorul. Seminariile acoperă prezentarea şi discutarea unor studii de caz şi precizarea cerinţelor pentru fazele mini-proiectului. Laboratoarele sunt destinate realizării unui mini-proiect, constând în întreţinerea unui sistem soft open-source existent, în mai multe faze (o fază acoperă modificări incrementale ale sistemului precizat). Studenţii vor fi grupaţi în echipe, cu sarcini individuale în cadrul fiecărei faze.
Materialele de curs şi de seminar sunt/vor fi disponibile pe serverul Departamentului de Informatică, în directorul ..\labor\romana\an2\iss. 

VI.	Planificarea /Calendarul întâlnirilor şi a verificărilor/examinărilor intermediare:

Activităţi la curs	
Săpt.	Tema, bibliografie	Concepte de bază/cuvinte cheie	
1	Paradigme de dezvoltare a softului
[4] cap. 2
	•	ciclul de viaţă al unui sistem soft
•	modelul clasic (cascadă)
•	modelul spirală
•	dezvoltarea incrementală
•	dezvoltarea agilă	
2	Analiza cerinţelor
[1] /agileRequirements.htm 
[4] cap. 3, 4
opţional: [5] cap. 2	•	tehnici de comunicare
•	principiile analizei cerinţelor
•	clase de metode de analiză a cerinţelor
•	documentul de specificare a cerinţelor	
3	Modele structurate în analiza cerinţelor
[4] cap. 5, 6	•	modelul entitate-relaţie
•	diagrama entitate-relaţie
•	diagrama de flux de date
•	etapele modelării	
4	Limbajul unificat de modelare UML
[1] /essays/umlDiagrams.htm
[2] cap. 1, 2	•	definiţii şi concepte UML
•	diagrame UML
•	limbajul constrângerilor OCL
•	instrumente de modelare	
5-6	Modele obiect în analiza cerinţelor
[1] /pamphlet.htm
[1] /agileRequirements.htm
[1] /essays/agileAnalysis.htm	•	analiza domeniului problemei
•	modelarea cazurilor de utilizare
•	modelarea claselor
•	modelarea dinamică 
•	revizuirea modelelor	
7	Proiectarea sistemelor soft
[4] cap. 7
[5] cap. 3	•	fundamente, etape şi concepte 
•	proiectarea arhitecturii
•	documentaţia de proiectare	
8	Modelarea logică şi fizică a datelor
Modelarea logică a prelucrărilor
[4] cap. 8, 9, 10
	•	modelarea logică a datelor: modelul relaţional
•	transformarea modelului conceptual de date în model logic
•	decizii generale privind proiectarea prelucrărilor
•	proiectarea proceselor
•	specificaţiile de proiectare
•	denormalizarea relaţiilor
•	fişiere, tabele, indecşi	
9-10	Principiile proiectării orientate pe obiecte
[3] /resources/articles/ Principles_and_Patterns.pdf	•	caracteristicile unui bun proiect OO
•	arhitectură şi dependenţe
•	principii de proiectare a claselor
•	principii de proiectare a arhitecturii	
11	Proiectarea orientată pe obiecte
[3] /resources/articles/ Walking_through_A_ UML_Design.pdf	•	paşii proiectării orientate pe obiecte
•	modelarea interacţiunilor
•	proiectarea claselor
•	proiectarea sistemului - client al obiectelor
•	proiectarea de detaliu	
12	Proiectarea interfeţelor
[4] cap. 11	•	proiectarea interfeţei cu utilizatorul
•	procese manuale, batch şi on-line
•	proiectarea documentelor de intrare şi a rapoartelor
•	interacţiunea om-calculator	
13	Implementarea, testarea, instalarea şi întreţinerea sistemelor soft
[4] cap. 12
opţional: [5] cap. 4, 5, 6	•	limbaje de programare
•	testarea sistemelor soft
•	instalarea sistemelor soft
•	punerea în exploatare 
•	întreţinerea sistemelor soft	
14	Organizarea procesului de dezvoltare a sistemelor soft
[4] cap. 3
opţional: [5] cap. 9	•	factori umani implicaţi în dezvoltarea sistemelor soft
•	organizarea procesului de realizare a sistemelor soft
•	activităţi de planificare
•	planul proiectului soft	
	
Activităţi la seminar şi laborator, evaluări	
Săpt.	Tema studiului de caz	Materiale auxiliare/proiecte/evaluare	
1-2	Analiza cerinţelor (1) - cerinţe generale	tehnici de comunicare: tehnici de comunicare.doc
documentul de specificare a cerinţelor: speccerinte.doc	
3-4	Analiza cerinţelor (2) – modelarea conceptuală a datelor şi a prelucrărilor	Organizarea echipelor pentru miniproiect. Precizarea cerinţelor pentru faza 1
Lucrarea de control 1	
5-8	Analiza cerinţelor (3) – modelarea orientată pe obiecte	Predarea mini-proiectului - faza 1
Precizarea cerinţelor pentru faza 2
Examen parţial	
9-10	Proiectare (1) – modelarea logică a datelor şi a prelucrărilor	Predarea mini-proiectului - faza 2
Precizarea cerinţelor pentru faza 3
Lucrarea de control 2	
11-14	Proiectare (2) – modelarea orientată pe obiecte	S13: Predarea mini-proiectului - faza 3	

VII.	Modul de evaluare:

Activităţile de evaluare sunt următoarele
•	(A) 2 lucrări de control periodice, la seminar (10%)
•	(B) 3 faze ale mini-proiectului de programare (45%)
•	(C) examen parţial, scris (20%)
•	(D) examen final, scris (25%).

Nota finală se calculează ca medie ponderată a notelor obţinute la activităţile de mai sus (ponderile sunt trecute în paranteze). Tematica examenelor şi a lucrărilor de control include materialul predat la curs şi bibliografia obligatorie.

VIII. Detalii organizatorice, gestionarea situaţiilor excepţionale:

Sunt valabile regulamentele oficiale ale universităţii în legătura cu prezenţa studenţilor la activităţile didactice şi cu cazurile de copiat şi plagiat.
Cerinţe de promovare a examenului: 
•	notele la activităţile B şi D să fie cel puţin 5
•	nota finală să fie cel puţin 5.
IX.	Bibliografia opţională:

1.	FLAATEN, PER O. - MCCUBBREY, DONALD J. - O'RIORDAN, P. DECLAN. - BURGESS, KEITH: Foundations of Business Systems, Dryden Press, (1st ed. 1989, 2nd ed. 1997).
2.	IACOBSON, IVAR - BOOCH, GRADY - RUMBAUGH, JAMES: The Unified Software Development Process, Addison-Wesley, 1999.
3.	MARTIN, ROBERT CECIL: Agile Software Development: Principles, Patterns, and Practices, Prentice Hall, 2002.
4.	PRESSMAN, ROGER S.: Software Engineering - A Practitioners Approach, McGraw-Hill, 3rd ed. 1992; 4th ed. 1996, 5th ed. 2001, 6th ed. 2005. 
5.	SCHACH, STEVEN R.: Object-Oriented and Classical Software Engineering, McGraw-Hill, 5th ed., 2002, 6th ed. 2005.
6.	SOMMERVILLE, IAN: Software Engineering, Addison-Wesley, 5th ed. 1996, 6th ed. 2000, 7th ed. 2004.