Documente Academic
Documente Profesional
Documente Cultură
Popovici
8 PROGRAMAREA ORIENTATĂ SPRE OBIECTE (POO) ŞI LIMBAJUL UML
Obiect Clasă
Metode Operaţii
Legătură
Perspective: — pot fi cuprinse, în totalitate sau în parte, în fiecare din nivelele de modelare din MDA;
— nivele de modelare a sistemelor, construite cu ajutorul diagramelor:
a) perspectiva cazului de utilizare — percepţia funcţionalităţii sistemului de către „actorii” externi;
b) perspectiva logicii — proiectarea funcţionalităţii în interiorul sist., prin structura şi comportarea statică;
c) perspectiva implementării — organizarea programelor la nivel de limbaj de progr. şi cod executabil;
d) perspectiva proceselor — elementele principale ale sist., în raport de procesele şi firele de execuţie;
e) perspectiva desfăşurării — implementarea sistemului într-o arhitectură fizică concretă.
Caz de utilizare
Logică Implementare
Sistem
informatic
Proces Desfăşurare
3
8.4 Modelul COM al obiectelor sub Windows
8.4.1 Structura şi crearea obiectelor COM
Modelele Microsoft pt. obiecte:
a) COM (Component Object Model): —model al componentelor obiectuale pt. ansambluri locale de
programe sub Windows,
— asistat de MFC (Microsoft Foundation Classes), bibliotecă formată din colecţii de ierarhii de clase de
obiecte pentru interfeţe, şi de WTL (Windows Template Library), încapsulare prin obiecte a bibliotecilor C++;
b) COM+, DCOM (Distributed COM) — extinderi ale lui COM (+ protocol) pentru Windows la distanţă;
c) .NET — noua tehnologie de programare, noul DCOM, noua bibliotecă de tipuri, indep. de platformă.
Vocabular Microsoft-POO: interfeţe COM — colecţii de funcţii apelabile (biblioteci cu legături
dinamice, DLL-uri); clase COM — entităţi cu 1-n interfeţe; obiecte COM — colecţii de apeluri la funcţii
(instanţieri ale claselor COM corespunzătoare).
Interfaţa COM — implementată ca un set de adresări (pointeri) la o tabelă virtuală. Etape de construire:
1) scriere ca text (în limbajul de definire a interfeţelor, IDL), cu un identificator unic global (GUID);
2) compilare de MIDL ⇒ bibliotecă de tipuri (fişier binar, .TLB);
3) compilare (de ex., cu Visual C++, Visual Basic) ⇒ bibliotecă .DLL executabilă;
4) înregistrare în fişierul registrului Windows (Windows Registry), pt. folosirea de către clienţii COM.
Critici: — posibilitatea referinţelor circulare între obiecte, blocarea RAM (de obiectele rămase nefolosite);
— imposibilitatea înregistrării mai multor versiuni ce componente (pt. programe diferite).
Compilare
Compilare cu compilator Înregistrare
Scriere cu MIDL VC++/VB GUID
8.4.2 Biblioteci COM pentru prelucrarea stocărilor de date (MS ODBC, OLE DB, MS Jet, DAO)
MS ODBC — implementare a standardului ODBC (modelul obiectelor ca în DAO).
OLE DB — specificaţie pt. realizarea unor interfeţe de programare a aplicaţiilor (API-uri) mai puternice
decât ODBC, cu accesul la baze de date ierarhice, la fişierele de text sau cu foi de calcul ş.a.
Furnizorii de biblioteci OLE DB realizează implementările (pot lărgi posibilităţile SGBD-urilor accesate).
MS Jet (Joint Engine Technology, MS Jet Database Engine):
— motor (interfaţă interioară) pt. MS Access şi baze de date ISAM;
— înlocuit de Access Engine (cu. DAO 12.0), în Access 2007.
DAO (Data Access Objects) — pt. acces la stocările de date, prin conectări, interogări, proceduri stocate,
tranzacţii şi prelucrări ale rezultatelor. DAO 3.6 — înlocuit cu biblioteci de obiecte ActiveX; livrare
reluată ca DAO 12.0 (cu Access 2007). Modelul obiectelor din DAO 3.6 — ierarhie de colecţii de obiecte:
a) DBEngine — motorul bazei de date,
Aplicaţie
b) Workspaces — sesiuni active cu DBEngine,
c) Errors — erori în executarea lui DBEngine, DAO
d) Users — conturile utilizatorilor individuali,
e) Groups — conturile grupurilor de utilizatori, MS Jet
f) Databases — baze de date deschise.
g) TabeleDefs — tabele deschise şi memorate în BD, MS ODBC OLE DB
h) QueryDefs — interogări deschise şi memorate în BD,
i) Recorsets — mulţimi de înregistrări obţinute prin interogări,
j) Relations — legături definite între tabele sau mulţimi de întregistrări;
k) Containers — obiecte cu informaţii despre alte obiecte,
l) Indexes — fişiere de chei ale unor tabele,
m) Documents — obiecte cu informaţii ds. alte obiecte individuale,
n) Parameters — parametri ai interogărilor (primesc valori doar în momentul executării interogărilor),
o) Fields — câmpuri de date din tabele, seturi de înregistrări, legături sau indexuri.
4
DAO 12.0 — unele atribute şi metode ale lui DBEngine, Workspace şi Container sunt ascunse; 3 noi obiecte:
p) ComplexType — cîmp cu mai multe valori (transformate automat în tabele virtuale), cu Fields proprii;
q) Field2 — câmp cu noi atribute faţă de Field vechi;
r) Recordset2 — mulţime de înregistrări, cu un nou atribut în plus faţă de vechiul Recordset.
MS Jet — acelaşi model al obiectelor ca DAO; MS ODBC — cu următoarele diferenţe:
— un obiect Workspace constă doar din mai multe obiecte ODBC de conectare;
— un obiect Database constă doar din mai multe obiecte ODBC Recordset.
DBEngine
Workspaces
Databases
TableDefs
Fields
Indexes
Fields
QueryDefs
Fields
Parameters
Recordsets
Fields
Containers
Documents
Relations
Fields
Users
Groups
Groups
Users
Errors