MID0004 | Metode avansate de programare |
Titularii de disciplina |
Lect. Dr. LAZAR Ioan, ilazarcs.ubbcluj.ro Lect. Dr. DARVAY Zsolt, darvaycs.ubbcluj.ro Lect. Dr. RUFF Laura Ildiko, lauracs.ubbcluj.ro |
Obiective |
* consolidarea deprinderilor de analiza si proiectare a sistemelor soft prin invatarea unui proces liniar simplu de analiza si proiectare orientata obiect
* insusirea unor elemente de baza ale limbajului de modelare UML * insusirea unor sabloane de proiectare care se folosesc pentru structurarea logica a aplicatiilor * aplicarea unor sabloane standard privind alocarea responsabilitatilor pentru obiecte (care obiect sa aiba o anumita functie/responsabilitate?) * invatarea limbajului Java * insusirea unor metode de proiectare care s-au aplicat in procesul de construire a unor biblioteci Java * insusirea unor cunostinte de baza pentru crearea programelor Java cu interfete grafice utilizator |
Continutul |
1. Limbajul si platforma Java
- Platforme: Java - Elemente sintactice de baza - Prezentare comparativa cu C++ 2. Clase si obiecte - Clase si asocieri - Diagrame de clase si obiecte - Structurarea pe pachete/spatii de nume a tipurilor - Tratarea exceptiilor 3. Relatii intre clase - Asocieri, agregari si compuneri - Mostenire - Interfete si implementarea interfetelor 4. Biblioteci de clase utile - Sabloane de proiectare: comanda si decorator - Incapsularea tipurilor primitive in obiecte - Liste si tabele de corespondenta - Algoritmi de cautare si sortare 5. Biblioteci pentru intrari-iesiri - Sabloane de proiectare: adaptare, obiect persistent - Fluxuri de date binare - Fluxuri de date orientate pe caractere - Obiecte serializabile 6. Construirea interfetelor grafice utilizator - Sabloanele de proiectare: compunere si $metoda sablon$ - Interfete utilizator abstracte awt (java.awt) si swing (javax.swing) - Ferestre si meniuri swing (javax.swing) - Componente grafice: buton, cutie de text, eticheta si containere de componente - Dispunerea si aranjarea componentelor in containere 7. Tratarea evenimentelor - Sablonul de proiectare observator/publica-subscrie - Evenimente pentru ferestre - Evenimente pentru butoane si meniuri 8. Separarea prezentarii de model - Sabloane de proiectare: separare domeniu-prezentare si model pentru prezentare - Componente grafice de tip lista si tabel; Decoratori pentru defilarea continutului acestora (javax.swing) - Modele si evenimente asociate listelor si tabelelor 9. Elemente avansate pentru construirea interfetelor utilizator - Sabloane de proiectare: model-prezentare-control, control pentru fereastra si control pentru aplicatie - Desenarea pe interfete grafice utilizator - Tratarea evenimentelor mouse 10. Un proces liniar de dezvoltare orientat obiect - Analiza cerinte: cazuri de utilizare, descrierea scenariilor - Analiza: model conceptual si evenimente sistem - Proiectare: diagrame de interactiuni intre obiecte, diagrame de clase (rafinarea modelului conceptual) - Implementare: programe Java 11. Alocarea responsabilitatilor - Sabloane generale de alocare a responsabilitatilor: expert, creator, control, cuplare slaba, coeziune ridicata - Folosirea sabloanelor in faza de proiectare - Alte sabloane de proiectare: polimorfism, indirectare, fabricare obiecte 12. Structurarea logica a aplicatiilor pe straturi/nivele - Straturile unei aplicatii: prezentare, domeniu si sursa de date - Sabloane pentru stratul/nivelul domeniu: model procedural si model obiectual - Surse de date: organizarea tabelara a datelor in fisiere text si corespondenta intre diagrame de obiecte si organizari tabelare a datelor 13. Persistenta obiectelor - Identitatea obiectelor si sabloane de corespondenta intre domeniu si surse de date - Acces rapid la obiectele persistente (gestiune in memorie - cache) - Relatii intre obiecte si incarcarea intarziata a obiectelor si sablonul inlocuitor |
Bibliografie |
1. Eckel, B., Thinking in Java (3rd ed.), New York: Prentice Hall, 2002.
2. Eckel, B., Thinking in Patterns with Java, MindView Inc, 2004. 3. Gamma, E., Helm, R., Johnson, R., Vlissides, J., Design Patterns - Elements of Reusable Object-Oriented Software, Massachusets, Addison-Wesley, 1994. 4. Larman, C.: Applying UML and Design Patterns: An Introduction to OO Analysis and Design, Berlin: Prentice Hall, 2000. 5. Fowler, M., Patterns of Enterprise Application Architecture, Addison-Wesley, 2002. 6. ***, The Java Tutorial, SUN Microsystems, Inc, 2004. http://java.sun.com/docs/books/tutorial/index.html |
Evaluare |
Nota finala este calculata astfel:
A. Activitatea de laborator: 30% B. Lucrare scrisa: 35% C. Proba practica: 35% Lucrarea scrisa si proba practica sunt sustinute in timpul sesiunii ca si examen final. Lucrarea scrisa consta din intrebari teroretice iar proba practica din rezolvarea unei probleme pe calculator. |
Legaturi: | Syllabus-urile tuturor disciplinelor Versiunea in limba engleza a acestei discipline Versiunea in format rtf a acestei discipline |