Universitatea "Babes-Bolyai" Cluj-Napoca
Facultatea de Matematica si Informatica
FISA DISCIPLINEI

Ingineria sistemelor soft
Cod
Semes-
trul
Ore: C+S+L
Tipul
Specializarea
MID0007
4
2+1+1
obligatorie
Informatică
Cadre didactice indrumatoare
Prof. Dr. PÂRV Bazil,  bparvcs.ubbcluj.ro
Lect. Dr. LAZAR Ioan,  ilazarcs.ubbcluj.ro
Asist. PETRASCU Dragos,  petrascucs.ubbcluj.ro
Obiective
La terminarea cursului, studenţii trebuie să posede:
a) cunoştinţe sistematice despre metodologiile de realizare a produselor soft
b) familiarizarea cu conceptele şi preocupările moderne în scrierea softului de aplicaţie
c) cunoştinţe despre tipurile de modele şi instrumentele de modelare folosite în dezvoltarea aplicaţiilor soft
d) motivaţia necesară privind importanţa documentării produselor soft, în toate fazele ciclului de viaţă
Continut
1. PROCESE SOFT
Ciclul de viaţă al unui program
Ingineria programării: evoluţie, definiţii
Ciclul de viaţă clasic (modelul cascadă)
Prototipizarea
Modelul spirală, Boehm
Modelul etapizat (staged)
Modelul incremental
Programarea extremă (Extreme Programming, XP)
2. DEZVOLTAREA SISTEMELOR SOFT: PRINCIPII ŞI ACTIVITĂŢI
Problem solving şi dezvoltarea de soft: asemănări şi deosebiri
Comunicarea: principii şi sarcini generice
Planificarea: principii şi sarcini generice
Modelarea în analiză: principii şi sarcini generice
Modelarea în proiectare: principii şi sarcini generice
Construcţia: principii şi sarcini generice
Exploatarea: principii şi sarcini generice
3. MODELAREA PROCESELOR ŞI SISTEMELOR SOFT
Modelarea sistemelor
Domeniul aplicaţiei: procese şi produse
Instrumente folosite în modelarea sistemelor soft
4. LIMBAJUL UNIFICAT DE MODELARE (UML)
UML. Prezentare generală
Modelarea cerinţelor
Modelarea claselor
Modelarea dinamică
Modelarea arhitecturii
5. COLECTAREA, ANALIZA ŞI SPECIFICAREA CERINŢELOR
Procesul de analiză a cerinţelor
Iniţierea analizei cerinţelor
Tehnici de comunicare şi de stabilire a cerinţelor
Structurarea cerinţelor
Specificarea cerinţelor
Validarea cerinţelor
6. MODELAREA ÎN ANALIZĂ
Definiţii, metode, elemente, etape
Modelarea cazurilor de utilizare
Modelarea statică
Modelarea dinamică
Modelarea fluxurilor
7. PROIECTAREA SOFTULUI : CONCEPTE ŞI MODELE
Fundamentele proiectării
Paşii proiectarii
Concepte de proiectare
Modele de proiectare
8. PROIECTAREA ARHITECTURII ŞI CLASELOR: PRINCIPII
Arhitectură şi dependenţe
Principii de proiectare a claselor
Principii de proiectare a arhitecturii (reutilizarea modulelor, cuplarea modulelor)
Şabloane de proiectare arhitecturale
9. PROIECTAREA ARHITECTURII, DATELOR ŞI PRELUCRĂRILOR
Proiectarea arhitecturii
Proiectarea datelor
Proiectarea prelucrărilor
10. PROIECTAREA COMPONENTELOR
Arhitectura logică a sistemului
Proiectarea dirijată de responsabilităţi
Paşii proiectării OO
11. PROIECTAREA INTERFEŢEI CU UTILIZATORUL
Sarcinile proiectării interfeţei cu utilizatorul
Prelucrare manuală, batch şi on-line
Proiectarea documentelor de intrare şi a rapoartelor
Interacţiunea om-calculator
12. TESTAREA SOFTULUI: ETAPE ŞI METODE
Verificarea şi validarea
Testarea softului: etape
Metode de testare
13. INSTALAREA SI ÎNTREŢINEREA
Impachetarea şi instalarea
Punerea în exploatare şi întreţinerea
14. PLANIFICAREA PROIECTELOR SOFT
Factorii umani implicaţi în dezvoltarea aplicaţiilor soft
Organizarea procesului de realizare a aplicaţiei soft
Alte activităţi de planificare
Planul proiectului soft

Activităţi de seminar
1. Studiu de caz: analiza cerinţelor (1) - cerinţe generale
tehnici de comunicare: tehnici de comunicare.doc
documentul de specificare a cerinţelor: speccerinte.doc
2. Studiu de caz: analiza cerinţelor (2) - modelarea conceptuală a datelor
3. Studiu de caz: analiza cerinţelor (3) - modelarea prelucrărilor
4. Studiu de caz: analiza cerinţelor (4) - modelarea OO
5. Studiu de caz: proiectare (1) – modelarea logică a datelor şi prelucrărilor
6. Studiu de caz: proiectare (2) – modelarea OO
7. Studii de caz complete

Cursurile se desfăşoară sub forma unor prezentări PowerPoint. Studenţii sunt invitaţi să citească în avans materialele de curs şi de seminar.
La activitatea de laborator studenţii vor realiza trei mini-proiecte de programare.
Materialele de curs şi de seminar/laborator sunt/vor fi disponibile pe serverul Win, în directorul win\labor\romana\an2\iss\
Bibliografie
1. FLAATEN, P.O., MCCUBBREY, D.J., O'RIORDAN, P.D., BURGESS, K.: Foundations of Business Systems, Dryden Press, 1st ed. 1989, 2nd ed. 1997.
2. FOWLER, M., SCOTT, K.: UML Distilled: A Brief Guide to the Standard Object Modeling Language, Addison-Wesley, 2nd ed., 1999.
3. IACOBSON, I., BOOCH, G., RUMBAUGH, J.: The Unified Software Development Process, Addison-Wesley, 1999.
4. MARTIN, R.C.: Agile Software Development: Principles, Patterns, and Practices, Prentice Hall, 2002.
5. PÂRV, B.: Analiza şi proiectarea sistemelor, Univ. Babeş-Bolyai, CFCID, Facultatea de Matematică şi Informatică, Cluj-Napoca, 2002, 2003, 2004.
6. PRESSMAN, R.S.: Software Engineering - A Practitioners Approach, McGraw-Hill, 3rd ed. 1992; 4th ed. 1996, 5th ed. 2001, 6th ed. 2005.
7. SCHACH, S.R.: Object-Oriented and Classical Software Engineering, McGraw-Hill, 5th ed., 2002, 6th ed. 2005.
8. SOMMERVILLE, I.: Software Engineering, Addison-Wesley, 5th ed. 1996, 6th ed. 2000, 7th ed. 2004.
9. Agile Modeling Homepage, [http://www.agilemodeling.com].
10. Software Engineering Body of Knowledge, IEEE, 2004. [http://www.swebok.org].
Evaluare
Activităţile de evaluare sunt următoarele
2 lucrări de control periodice, la curs (10%)
3 proiecte de programare (45%)
examen parţial, scris (20%)
examen final, scris (25%)
Nota finală se calculeaza 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. Proiectele de programare se vor referi la realizarea unor modificări incrementale ale unor produse open source.
Legaturi: Syllabus-urile tuturor disciplinelor
Versiunea in limba engleza a acestei discipline
Versiunea in format rtf a acestei discipline