MI365 | Programare bazată pe componente |
Titularii de disciplina |
Prof. Dr. PÂRV Bazil, bparvcs.ubbcluj.ro |
Obiective |
La terminarea cursului, studenţii trebuie să:
a) posede cunoştinţe sistematice despre fundamentele programării bazate pe componente; b) aibă o înţelegere clară a termenilor de componentă, interfaţă, polimorfism; c) cunoască asemănările şi deosebirile dintre programarea bazată pe componente şi programarea orientată pe obiecte în ceea ce priveşte moştenirea şi compunerea; d) fie avizaţi asupra importanţei aspectelor de scală, granularitate şi arhitectură a componentelor; |
Continutul |
1. Definiţia componentelor soft
1.1. Termeni de bază: componentă, obiect, modul, interfaţă, reutilizare 1.2. Aspecte de standardizare 2. Componente, interfeţe, reentranţă 2.1. Tipuri de interfeţe pentru componente 2.2. Părţile unui contract 2.3. Relaţia client-server în sisteme procedurale, obiectuale şi bazate pe componente 2.4. Componentele în sisteme distribuite 3. Polimorfismul 3.1. Conceptul de tip de date în limbajele de programare 3.2. Extensibilitatea tipurilor şi extensibilitatea independentă a componentelor 3.3. Siguranţa în funcţionarea sistemelor bazate pe componente 3.4. Evoluţia interfeţelor şi contractelor 4. Modalităţi de implementare a polimorfismului 4.1. Tipuri de moştenire 4.2. Avantajele şi dezavantajele folosirii moştenirii 4.3. Moştenirea de interfeţe 4.4. Delegarea, compunerea, moştenirea şi polimorfismul 5. Aspecte de scală şi granularitate a componentelor 5.1. Impactul componentelor asupra dezvoltării de soft 5.2. Componentele şi procesul de dezvoltare 5.3. Execuţia sistemelor bazate pe componente 5.4. Întreţinerea sistemelor bazate pe componente 6. Arhitectura sistemelor bazate pe componente 6.1. Modalităţi de reutilizare a componentelor 6.2. Tipuri de componente în raport cu modalitatea de reutilizare 6.3. Şabloane de proiectare 6.4. Cadre de aplicaţie 6.5. Arhitectura sistemelor bazate pe componente 7. Stiluri de programare în sistemele bazate pe componente 7.1. Programarea orientată pe conexiuni 7.2. Evenimente şi mesaje 7.3. Interfeţe dispecer şi metaprogramare 7.4. Limbaje script 8. Modele de conectare pentru componente 8.1. Caracteristici generale ale unui model de conectare 8.2. OMG CORBA, OMA 8.3. Sun Java: JavaBeans, Enterprise Java Beans 8.4. Microsoft: COM, ActiveX, COM+, .NET Tematica seminariilor/laboratoarelor Primele seminarii vor fi dedicate trecerii în revistă a surselor de informaţie disponibile pe Internet şi planificării tematicii seminariilor următoare. Seminariile de la 3 la 11 vor consta în prezentarea de referate de către studenţi, iar în seminariile de la 12 la 14 se vor prezenta mini-proiecte. Informatii suplimentare si materiale de curs se gasesc in directorul cursului de pe serverul win: \\win\labor\Romana\Master\pbc251\cbp\read.me |
Bibliografie |
1. D'SOUZA, DESMOND FRANCIS - WILLS, ALAN CAMERON: Objects, Components, and Frameworks with UML : The Catalysis Approach, Addison-Wesley, 1999.
2. SZYPERSKI, CLEMENS: Component Software. Beyond Object-Oriented Programming, Addison-Wesley (1st ed. 1998, 2nd ed. 2002). 3. BlackBox Component Builder, [http://www.oberon.ch/BlackBox.html]. 4. Component Technology Homepage, [http://www.fja-odateam.com/cop/]. 5. Java Platform, Enterprise Edition, Sun Corp., 1999-2004. [http://java.sun.com/j2ee/]. 6. Microsoft Component Object Model Technologies, [http://www.microsoft.com/com/ default.mspx]. 7. OMG CORBA/IIOP Specifications, [http://www.omg.org/technology/documents/ corba_spec_catalog.htm]. |
Evaluare |
Nota finală va reflecta activitatea de seminar/laborator, calitatea proiectului realizat şi rezultatul la examenul scris. Se acordă (pe o scală de notare cu 10 puncte):
1p din oficiu 1p prezenta la seminar/laborator 2p proiectul realizat 2p referatul prezentat. 4p examenul scris |
Legaturi: | Syllabus-urile tuturor disciplinelor Versiunea in limba engleza a acestei discipline Versiunea in format rtf a acestei discipline |