Predarea Bazelor de Date. Metode Tehnico Stiintifice

LUCRARE METODICO-ȘTIINȚIFICĂ PENTRU OBȚINEREA GRADULUI DIDACTIC I ÎN ÎNVĂȚĂMÂNT

PREDAREA BAZELOR DE DATE ASPECTE METODICO-ȘTIINȚIFICE

CUPRINS

INTRODUCERE

Reforma învățământului românesc și implicit a învățământului informatic se realizează sub semnul unei noi concepții cu privire la pregătirea elevilor, impusă de o societate dinamică și democratică. Obiectivul principal este pregătirea profesională la nivelul standardelor din țările Uniunii Europene, adaptată la evoluției pieței muncii.

Prezenta lucrare cu tema: Predarea bazelor de date – aspecte metodico- științifice reprezintă o etapă în perfecționarea pregătirii mele profesionale. Lucrarea își propune să facă o incursiune, din punct de vedere teoretic, în lumea bazelor de date orientate obiect, în problemele legate de înțelegerea funcționării acestora și utilizarea lor, iar din punct de vedere metodic, punând accent pe metodele de predare a bazelor de date și modul de evaluare a cunoștințelor, adaptate preferințelor privind stilului de învățare al

elevilor.

Un alt argument ar fi următorul: „conținutul disciplinei poate fi prezentat diferit de profesori dar rezultatul nu mai este același. Dacă stilul tradițional în predare este restrictiv din punct de vedere formativ, stilul modern permite dezvoltarea personalității elevului și dobândirea unor competențe: exprimarea unui mod de gândire creativ în structurarea și rezolvarea problemelor, formarea obișnuinței de a recurge la concepte și metode de tip algoritmic, gândirea creatoare, manifestarea inițiativei și disponibilității de a aborda sarcini

variate”3.

Forța educativă a disciplinei rezultă din acțiunea profesorului care utilizează cunoștințele metodice în elaborarea sau alegerea unor strategii și tehnici de lucru eficiente. Cu cât conținutul științific este abordat mai bine din punct de vedere metodic cu atât transformarea principiilor generale ale didacticii în strategii concrete de predare-învățare este mai eficientă.

În privința importanței și a locului disciplinei Informatică se poate spune că „este disciplina care asigură îmbinarea culturii generale cu cunoștințe de strictă specialitate și care conturează dimensiuni practice cunoștințelor, adică studiul acesteia se face pe fondul de cunoștințe și deprinderi de la disciplinele de cultură generală. Rezultatele procesului de

învățământ la disciplina Informatică sunt determinate de caracterul cognitiv al acesteia. Profesorul trebuie să valorifice potențialul formativ creativ al disciplinei, posibilitatea acesteia de a structura gândirea, de a dezvolta flexibilitatea ei, de a forma deprinderi și atitudini conform conținutului de idei”4.

Scopurile introducerii disciplinei Informatica ca disciplină obligatorie sau opțională în planurile de învățământ sunt:

Formarea/dezvoltarea capacității de utilizare a unui limbaj informatic și de folosire a tehnicii de calcul în acumularea de noi cunoștințe;

înțelegerea Informaticii ca mijloc de modelare a fenomenelor realității înconjurătoare și de simulare a acestora;

creșterea nivelului de cultură generală în domeniul informatic;

motivarea elevilor pentru studiul Informaticii;

dezvoltarea capacității de rezolvare a problemelor cu ajutorul calculatorului;

dezvoltarea capacităților de autoinstruire;

crearea unei atitudini pozitive privind importanța deosebită a Informaticii în lumea contemporană și pătrunderea ei în toate domeniile vieții economico-sociale;

În viața de zi cu zi deci și în școli apar tot mai multe probleme având caracter practic. Rezolvarea acestora poate fi sprijinită de aplicații finalizate cu ajutorul calculatorului: evidența bibliotecii, evidențe legate de concursuri, orar etc. Dacă școala solicită instrumente informatice, este benefic pentru procesul instructiv în ansamblul său, ca aceste aplicații să fie realizate de elevi și să fie dezvoltate de la un an la altul.

Tema aleasă mi-a oferit ocazia de a valorifica experiența acumulată în predarea disciplinei Informatică dar și posibilitatea de a găsi soluții pentru diversificarea metodelor de predare și a tehnicilor de evaluare în scopul formării competențelor specifice disciplinei. Scopul lucrării este să îi învețe, nu doar pe elevi, ci pe toți cei care își doresc acest lucru, din punct de vedere teoretic și practic, elementele fundamentale ale bazelor de date orientate obiect și demersurile metodice necesare pentru obținerea progresului școlar.

Lucrarea a fost realizată în conformitate cu programele școlare în vigoare, aprobate prin O.M.E.C.I. nr. 3410 din 16.03.2009 și O.M.E.C.I. nr. 5099 din 09.09.2009 pentru învățământul liceal.

În primul capitol, „Baze de date orientate obiect. Concepte fundamentale”, se face o trecere în revistă a istoriei a bazelor de date continuând cu prezentarea conceptului de

baze de date orientate obiect, definiție și componente, premisele apariției necesității extinderii conceptului de bază de date relațională, care s-a dovedit a avea o serie de

limitări.

Avantajele și dezavantajele bazelor de date orientate obiect au fost tratate cu maximă atenție pentru a putea oferi ocazia celui care trebuie să opteze pentru una din variante (obiectuală sau relațională) de a avea o imagine clară, urmată de o comparație între abordarea obiectuală și cea relațională. Noțiunile teoretice legate de modelul conceptual al datelor obiect, conceptul de obiect, identificatori, atributele obiectelor, tipuri și clase de obiecte prezentate, reprezintă baza necesară oricărei persoane interesate în studiul bazelor de date orientate obiect.

În completare am prezentat noțiuni teoretice legate de metode, definire, proiectare și implementare, conceptele de încapsulare și interfață, polimorfism, asocieri între clase, sinonime cu relațiile din modelul relațional, conceptul de moștenire, generalizare și specializare, agregare și descompunere și standardul ODMG (Object Data Management Group) pentru baze de date orientate obiect. În încheierea primului capitol am prezentat câteva exemple de Sisteme de gestiune a bazelor de date orientate obiect.

În capitolul al doilea, „Aplicații baze de date orientate obiect”, am prezentat Sistemul de gestiune a bazelor de date orientate obiect postrelațional Caché Studio și două modele de aplicații foarte utile pentru managementul unei unități școlare.

În capitolul al treilea, „Considerații metodologice”, am tratat noțiuni teoretice legate de predare, învățare, evaluare și modul în care acestea se aplică în cazul disciplinei Informatică, plecând de la principii didactice, metode interactive și procedee de predare, evaluare care țin cont de preferințele elevilor privind stilul de învățare.

În ultimul capitol, al patrulea, denumit „Experimentul pedagogic“, am expus etapele parcurse, rezultatele obținute, analiza acestor rezultate și concluziile experimentului pedagogic pe care l-am realizat cu ajutorul elevilor din clasa a XII-a de la Liceul Teoretic Filipeștii de Pădure. În urma realizării acestui experiment mi-a fost confirmată ideea că dacă ținem cont de stilul de învățare al elevilor, folosim metode interactive, strategii didactice potrivite și integrăm instrumente TIC în procesul de învățământ, rezultatele elevilor sunt mai bune, obținându-se progresul școlar mult dorit.

Închei cu convingerea că această lucrare reprezintă un instrument de lucru util și că după consultarea ei, cititorii își vor dori să cunoască mai multe despre bazele de date orientate obiect și despre căile prin care un profesor transmite eficient mesajul către elevii săi.

CAPITOLUL I. BAZE DE DATE ORIENTATE OBIECT CONCEPTE FUNDAMENTALE

I.1. Scurtă istorie a bazelor de date

1961 – apare sistemul IDS (Integrated Data Storage, General Electric) care introduce o serie de termeni (tipuri de înregistrări și tipuri set) care vor fi utilizați în modelul de tip rețea ce va fi prezentat la "Conference On Data Systems and Languages Data Base Task Group" (CODASYL DBTG).

1960-1970 – apar Limbajele de programare orientate pe obiect, ca de exemplu: Simula, EIFFEL, SmallTalk, Ada, C, C++, Common LISP, CLOS, OPAL, O2C, O2SQL, O2API, SQL++, ACTOR, Object Pascal etc.

1965-1970 – se dezvoltă sistemele de gestiune a fișierelor generalizate. IBM dezvoltă modelul ierarhic și sistemul IMS (Information Management System). În acceași perioadă apare IMS DB/DC (DataBase/DataCom) care suportă modelul reteța. În anii 70, domeniul se dezvoltă foarte mult, ajungând să fie disciplină universitară și de cercetare apărând numeroase produse comerciale care implementează propunerile raportului CODASYL DBTGI: ISD II (HoneyWell), DMS1100 (UNIVAC), DMS II (Burroughs), etc.

1970 – apare modelul relațional de date

1971 – se publică raportul CODASYL DBTG

1972 – are loc prima conferință internațională organizată de ACM SIGMOD (Association of Computing Machinery, Special Interest Group on Management Of Data)

1975 – prima conferință internațională VLDB (Very Large Data Base); se publică raportul

ANSI-SPARC

1976 – se publică modelul Entitate – Asociere

1975 – 1980 – se dezvoltă sistemele relaționale experimentale: SYSTEM-R (IBM) și

INGRES (Berkeley, University of California)

1980 – …. apar și se comercializează numeroase SGBD-uri relaționale ce înlocuiesc SGBD-urile ierarhice și rețea. SGBD-urile sunt utilizate pe microcalculatoare și se realizează sisteme din generația a patra cu instrumente și interfețe multiple. Tot in această perioadă apar și primele sisteme de gestionare a bazelor de date orientate obiect

(SGBDOO) cum ar fi: ONTOS, ObjectStore, O2, GemStore, ORION, ITASCA, Objectivity/DB, VERSANT, POET etc.

1990 – …. se dezvoltă numeroase produse cu complexitate crescută, la un preț tot mai scăzut: PowerBuilder (SYSBASE), Oracle Developer, VB (Microsoft), etc. Se dezvoltă modelul client-server, utilizat în tot mai multe aplicații economice. Se crează aplicații ca Excel/ Access (Microsoft) pentru utilizare personală

1990-1995 – apar baze de date pentru Internet. Conceptele client-server sunt utilizate din

ce în ce mai mult, complexitatea Internet-ului creșcând exponențial.

1997 – se elaborarează standardul cu privire la simboluri, notații, tipuri de diagrame, tipuri de modele etc., numit UML (Unified Modeling Language) adoptat de majoritatea corporațiilor.

2000 – apare o serie de instrumente pentru aplicațiile pe Internet cum ar fi: Java Servlets, Oracle Developer 2000, Active Server Pages, JDBC, Enterprise Java Beans, ColdFusion, Dream Weaver, Apache, MySQL. Se dezvoltă procesarea tranzacțiilor online (OLTP) precum și procesarea analitică de tip OLAP.

Dupa 2000 – se dezvoltă aplicații pe arhitectura client-server pentru PDA-uri, tranzacții cu POS-uri, telefoane mobile. Companiile cele mai reprezentative din domeniu rămân: IBM, Microsoft și Oracle.

I.2. Conceptul de BDOO5

Noțiunile teoretice prezentate în acest capitol reprezintă o adaptare după Capitolul

7. Baze de date orientate obiect (BDOO) din cartea Baze de date, Gh. Sabău et. al.

Definitie: „O bază de date orientată pe obiect este formată dintr-una sau mai

multe clase de obiecte cu asocierile dintre acestea.

Ca și în alte tipuri de baze de date, o BDOO dispune de o schemă și instanțe ale acesteia.

Schema BDOO conține specificațiile fiecărei clase de obiecte care pot fi stocate în baza de date. Pentru fiecare clasa C, aceasta include:

– tipul asociat clasei C. Acest tip determină structura fiecărui obiect al clasei C;

– semnătura metodelor din cadrul clasei C, care precizează denumirea metodei, tipul și ordinea argumentelor permise metodei și tipul rezultatului oferit de acea metodă;

5 Baze de date orientate obiect

– relațiile subclaselor care permit identificarea superclasei a lui C;

– restricțiile de integritate și restricțiile referențiale, sau mai mult afirmații generale care sunt similare constrângerilor din modelul bazelor de date relaționale;

O instanță a unei BDOO es BDOO este un set de obiecte pentru multitudinea claselor specificate în cadrul schemei bazei de date.”6

I.3. Premisele BDOO

Necesitatea abordării obiectuale a proiectării sistemelor informatice și în special, a

bazelor de date orientate pe obiect, a aparut din următoarele cauze:

– existența limitelor abordării structurate în analiza și proiectarea sistemelor

informatice;

– modelului relațional de organizare a datelor s-a dovedit a avea unele limitări;

– imposibilitatea stocării eficiente a și prelucrarea datelor cu algoritmi mai

performanți;

– existența succeselor dobândite de către sistemele expert sub aspectul stocării cunoștințelor;

– evoluția instrumentelor de tip CASE (Computer Aided Software Engineering);

– avantajele oferite de limbajele de programare orientate pe obiect cum ar fi:

posibilitatea refolosirii codului, modularitate crescută și extensebilitate sporită;

– apariția unor noi tipuri de aplicații pentru care sistemele de gestiune a bazelor de date relaționale și-au dovedit ineficiența, cum ar fi: proiectarea asistată de calculator (CAD – Computer Aided Design), aplicații din domeniul meteorologiei, sisteme informaționale geografice (GIS – Geographic Information Systems), ingineria programării asistate de calculator (CASE – Computer Aided Software Engeneering) etc.;

– imposibilitatea definirii de către utilizator a unor tipuri de date abstracte (ADTs);

– tipuri structurate;

– tipuri de obiecte mari (LOB – Large Object);

6 Sabău, GH. et al., 2008, p. 147

I.4. Avantajele și dezavantajele BDOO7

Și BDOO, ca orice alt mod de organizare a datelor, prezintă avantaje și

dezavantaje.

Avantaje:

– prin utilizarea proprietății de moștenire tipurile de date pot fi extinse ceea ce conduce la creșterea extensibilității bazei de date deoarece se pot adăuga noi subtipuri fără a fi necesară restructurarea porțiunilor existente ale bazei de date, ceea ce conduce la reducerea redundanței datelor din baza de date și o mai ușoară întreținere a acesteia etc.;

– BDOO reflectă mai bine realitatea, care nu este organizată doar ca o colecție de

tabele, ci “ca o ierarhie de ansambluri concretizate în articole de prelucrat”8;

– BDOO facilitează referirea directă a obiectelor unele la altele prin utilizarea pointerilor ceea ce înseamnă o adresare mai rapidă de la obiectul X la Y decât bazele de date relaționale, care trebuie să folosească un operator de JOIN pentru a realiza acest lucru;

– Cresc performanțele referitoare la clasterarea (cluster) fizică a datelor prin care se urmăreșe sporirea vitezei de răspuns la cererile utilizatorilor ce implică operația de joncțiune a unor structuri de date;

– Se diversifică domeniile de aplicablitate prin posibilitatea utilizării diverselor structuri de stocare și prelucrare a datelor doarece într-o bază de date relațională nu toate datele pot fi organizate sub forma unei table de unde rezultă dificultatea stocării și accesării eficiente a acestora;

În concluzie BDOO sunt mai performante atunci când avem de-a face cu obiecte și relații complexe, deoarece nu este nevoie organizăm un obiect mare în mai multe tabele normalizate pe care să le reasamblăm în momentul execuției programelor de

aplicații.

7 Baze de date orientate obiect

8 Sabău, GH. et al., 2008, p. 150

Dezavantaje:

– Nestandardizarea arhitecturii SGBDOO9;

– SGBDOO nu oferă utilizatorilor sau proiectanților o gamă diversificată de instrumente (TOOLS) pentru dezvoltarea și întreținerea de aplicații;

– SGBDOO prezintă siguranță scăzută în cea ce privește rezolvarea problemelor de acces concurent în condițiile lucrului cu volume mari de date;

– Există probleme privind asigurarea integrității bazei de date sub aspectul refacerii

acesteia în caz de incident;

– Încapsularea poate conduce la situații dificile în privința optimizării integrării bazei de date. Modul de definire și stocare a datelor și metodelor precum și limitele Limbajelor de interogare orientate pe obiect pot influența în mod negativ performanțele de ordin fizic ale bazei de date;

– Lipsa de experiență în domeniu în comparație cu experiența în utilizarea sistemelor

tradiționale.

I.5. Comparații între abordarea obiectuală și cea relațională

privind modelarea datelor

Tabelul I.1. Compararea BDOO10 și BDR11 sub aspectul conceptelor folosite12

9 Sistem de gestiune a bazelor de date orientate obiect

10 Baze de date orientate obiect

11 Baze de date relaționale

12 Sabău, GH. et al., 2008, p. 152

Tabelul I.2. Compararea BDOO și BDR sub aspectul obiectivelor urmărite13

13 Sabău, GH. et al., 2008, p. 152

În urma analizei cele două tipuri de baze de date, obiectuale și relaționale, ajungem la următoarele concluzii :

– O bază de date orientată pe obiecte este formată din clase (seturi de obiecte) în

timp ce o bază de date relațională este formată din relații (seturi de tupluri);

– Într-o bază de date relațională, componentele unui tuplu trebuie să fie tipuri simple (real, integer, strings etc.) în timp ce într-o bază de date orientată pe obiecte, componentele unui obiect pot fi atât tipuri primitive cât și tipuri complexe (seturi, tupluri, liste, BLOB-uri etc.);

– Bazele de date orientate pe obiecte au proprietăți în plus față de bazele de date relaționale, cum ar fi proprietatea de moștenire și metodele aparținând obiectelor;

– Limbajul de manipulare a datelor și limbajul gazdă pot fi aceleași în bazele de date orientate pe obiecte;

– Obiectivul principal al bazelor de date relaționale este asigurarea independenței datelor în timp ce bazele de date orientate pe obiecte au ca obiectiv principal încapsularea adică stocarea împreună a datelor și metodelor acestea fiind inseparabile ceea ce înseamnă o independență;

– Atunci când avem de-a face cu date complexe apare necesitatea unui

SGBDOO (Sistem de gestiune a bazelor de date orientate obiect);

– Limbajele de programare necesită o noua sintaxă deoarece daca luăm ca exemplu Limbajul C++, acesta nu este adecvat pentru implementarea bazelor de date întrucât prezintă probleme legate de definirea atributelor;

– Piața bazelor de date orientate pe obiecte va continua să crească și să coexiste

cu piața tradițională a bazelor de date;

I.6. Modelul conceptual al datelor obiect (CODM14)

Definitie: „Modelarea reprezintă un proces de abstractizare a mediului

înconjurător în scopul simplificării înțelegerii și redării mai facile a acestuia.”15

În cazul bazelor de date, se poate realiza:

− Modelarea afacerii (The Business Proces Model);

− Modelarea domeniului (The Domain Model);

− Modelarea structurii statice a sistemului (The Static Model);

− Modelarea dinamicii sistemului (The Dynamic Model);

− Modelarea datelor (The Date Model).

I.6.1. Conceptul de obiect

Definitie: „Un obiect este o entitate cu un rol bine definit în sistem,

caracterizat de proprietăți, stare, comportament și identitate.”16

Obiectul poate fi definit ca ceva asupra căruia se poate efectua o acțiune, sau care poate declanșa/întreprinde o acțiune.

Exemplu: persoană, automobil, contract, angajat, casă etc. Obiectul poate fi concret (tangibil și vizibil), abstract (concept, eveniment, idee etc.) sau un rezultat al procesului de proiectare ( interfață cu utilizatorul).

Atributele unui obiect vor fi considerate proprietățile acestuia și descriu caracteristicile obiectului respectiv. Valorile pe care le iau proprietățile obiectului la un

moment dat vor defini starea acestuia.

14 CODM- The Conceptual Object Data Model

15 Sabău, GH. et al., 2008, p. 155

16 Ibidem

Modul în care un obiect acționează sau reacționează la evenimente reprezintă

comportamentul acestuia. O operație este o simplă acțiune pe care o execută un obiect asupra altui obiect, pentru a primi un răspuns.

Definitie: „Multitudinea operațiilor pe care le poate efectua un obiect sau se efectuează asupra unui obiect, implementate într-un limbaj de programare poartă denumirea de metode, iar multitudinea metodelor se

spune că definesc comportamentul obiectului de referință.”17

Exemplu: elevul ALEXANDRU, reprezentat ca obiect, are atributele: nume,

număr_matricol, data_nașterii, adresă, telefon, atribute ce au următoarele valori:

„ALEXANDRU”, „123” „10-12-1994”, „Str. Principală, Nr. 128”, „0735639874”. Comportamentul elevului este alcătuit din operații ca de exemplu: schimbarea domiciliului, a numărului de telefon etc.

Fiecare obiect are o identitate ceea ce înseamnă că nu pot exista două obiecte

identice.

Un obiect poate fi definit formal ca o pereche <Oid, Val>, unde <Oid> este identificatorul obiectului, iar <Val> este o valoare aparținând obiectului ce poate fi:

(#12, [cod-fiscal: 678234,

Denumirea: Liceul Teoretic Filipeștii de Pădure,

Director: Matei Stefan,

Nr. telefon: {“0723498345”},

Școli asociate {# 234, # 345,# 456},

Localitatea: Filipeștii de Pădure])

Unde:

− Simbolul # reprezintă identificatorul obiectului cu denumirea Liceul Teoretic

Filipeștii de Pădure;

− atributele se definesc între paranteze drepte [ ] împreună cu valorile asociate acestora, reprezentând o valoare a tuplului;

− Între parantezele acolade { }, se specifică seturi de valori cum sunt numerele de telefon și identificatorii școlilor asociate;

− Referințele către școlile asociate sunt precizate prin OID-urile acestora {# 234, #

345,# 456}.

Obiectele pot fi simple sau complexe. Obiectul simplu apare ca o entitate din

mediul înconjurător ce nu poate fi descompusă fiind considerat un întreg.

Exemplu: mașină, elev, profesor etc.

„Un obiect complex apare ca o entitate sau articol din mediul înconjurător care este privit ca un singur obiect însă acesta se poate combina cu alte obiecte printr-un set de relații, cum ar fi: ”B este parte a lui A” sau ”A este format din B, C, D … . Obiectele B, C, D, … conținute de A, la rândul lor pot fi complexe, ceea ce în final face să asistăm la o ierarhie de obiecte.” 18

Exemplu: un obiect complex, ”unitate centrală” poate fi privit ca un obiect format

dintr-o serie de componente care la rândul lor sunt privite ca obiecte, de forma (figura. I.1).

SURSA DE ALIMENTARE

UNITATEA

CENTRALĂ

DISPOZITIVE PERIFERICE

PLACA DE BAZĂ

UNITATEA CENTRALĂ DE PRELUCRARE

UCP

MEMORIE RAM MEMORIE ROM

DISPOZITIVE DE MEMORIE EXTERNĂ

HARD DISC

FLOPPY DISC

CD/DVD

Figura I.1. Obiectul complex „Unitate centrală”

I.6.2. Identificatorii obiectelor

Identificatorul obiectului OID (Object Identifier) reprezintă identitatea unică și stabilă, independentă de valoarea curentă a obiectului. Identificatorul obiectului este generat de către sistem și atribuit obiectului în momentul creării/încărcării bazei de date fiind invizibil utilizatorilor, independent de valorile pe care le iau atributele sale și stabil pe toată durata de existență a obiectului. Din acest punct de vedere există o asemănare cu cheia primară a unei relații însă valoarea acesteia este unică doar la nivelul unei tabele și nu la nivelul întregului sistem și poate fi schimbată în timp.

Exemplu: considerăm un obiect „elev” având cheia primară „seria și numărul cărții de identitate”. Totodată presupunem faptul că elevul își schimbă cartea de identitate deoarece aceasteia i-a expirat valabilitatea deci se schimbă seria și numărul cărții de identitate, implicit valoarea cheii primare se schimbă, deși „elevul” rămâne același atât fizic cât și ca înregistrare în baza de date a evidenței populației.

Unicitatea OID-ului la nivelul întregului sistem și invariabilitatea acestuia în timp

este foarte importantă deoarece se asigură integritatea entităților și a celor referențiale.

„Dacă în urma ștergerii unui obiect din baza de date OID-ul acelui obiect i-ar fi atribuit unui alt obiect, o referință anterioară la OID-ul obiectului șters s-ar putea menține, însă de această dată OID-ul referit ar aparține unui alt obiect. Deci în realitate nu ar fi respectată și menținută integritatea referențială.”19

Exemplu: considerăm o relație referențială între obiectul „Proprietar” și „Mașină”.

Dacă Proprietarul unei mașini ar fi eliminat din baza de date și OID-ul acestuia ar fi atribuit altui Proprietar, ca să se mențină relația referențială am fi în situația în care o mașină ar avea alt proprietar decât cel de drept.

În plus, identificatorii OID sunt independenți de conținut, adică de datele conținute în obiect ceea ce poate conduce la situația în care, două obiecte pot părea utilizatorului ca fiind aceleași. Cum vom diferenția cele două obiecte? Răspuns: cu ajutorul cheilor primare.

I.6.3. Atribute – proprietăți ale obiectelor

Obiectele din mediul înconjurător pot fi descrise cu ajutorul atributelor care definesc și proprietățile acelui obiect. Atributele pot fi simple sau complexe, care la rândul lor pot fi referențiale, de colecții și derivate. Pentru exemplificare sunt descrise entitățile

CLASĂ și ELEV, astfel (figura I.2)

are 1, *

CLASĂ ELEV

1.1

aparține

CLASĂ: {

Denumire: STRING; Cod – cls: STRING; Șef – cls: ELEV;

Nr. – telefoane: SET [STRING];

Înscriși: LIST [ELEV] }

ELEV: {

Nr_matricol: INTEGER; Nume: STRING; Prenume: STRING; Data_nașterii: DATE; Adresa: STRING;

Înscris_clasa:CLASĂ}

Figura I.2. Exemple de atribute

Atributele simple pot fi un tip de date atomic ca de exemplu: întreg, real, boolean șiruri de caractere. În exemplul din figura I.2, denumire, cod-cls, șef-cls, nr_matricol sunt atribute simple.

Pentru definirea relațiilor referențiale dintre obiecte se folosesc atributele referențiale sau de asociere, echivalente pointerilor din limbajele de programare sau similare cheilor străine în cazul sistemelor relaționale, însă există și diferențe importante, cum ar fi:

− Spre deosebire de pointeri, atributele referențiale sunt „nealterabile, în sensul că dacă obiectul referit a fost șters din baza de date atunci atributul referențial în mod automat va fi invalidat;

− Contrar cheilor externe, atributele referențiale nu sunt asocieri de valori vizibile

utilizatorilor”20. În exemplul din figura I.2., atributele ”șef-cls: ELEV” și

”Înscris_clasa CLASĂ” sunt atribute referențiale.

Din categoria atributelor complexe fac parte atributele colecții. Ele pot fi la rândul lor grupate în seturi, liste și tablouri de valori și vor conține fie valori ale atributelor simple fie referințe. În exemplul din figura I.2. ”Înscriși” este un atribut de tip SET și va conține multitudinea numelor elevilor înscriși într-o clasă.

Atributele derivate se mai numesc și atribute de proceduri.

Există posibilitatea de a calcula valoarea unui atribut ca de exemplu valoarea atributului ”Vârsta” prin calcularea diferenței între data curentă a sistemului și Data_nașterii.

I.6.4. Tipuri și clase de obiecte

I.6.4.1. Tipuri de obiecte

În privința definirii și semnificației conceptelor de tipuri și clase de obiecte părerile sunt împărțite.

R.G.G. Cattell în lucrarea The Object Database Standard utilizează doar noțiunea

de tip, acordându-i noțiunii de clasă următoarele înțelesuri:

− „O clasă definește un tip care este o intensie, adică structura și comportamentul obiectelor de un tip particular. Conceptul de tip este folosit pentru a proiecta o intensie. Intensia va regrupa structura (atributele și relațiile obiectului) precum și comportamentul (metodele asociate tipului);

− O clasă definește o extensie, adică un ansamblu de obiecte de un tip particular;

− O clasă la rândul ei poate fi considerată ca fiind tot un obiect sau meta-obiect dispunând de atribute, relații și metode proprii. Aceste proprietăți, relații și metode au semnificație doar la nivelul întregii clase și nu la nivelul obiectelor ce fac parte din clasă.”21 Exemplu, un atribut având semnificația de suma valorilor tuturor mediilor din clasa MEDII_GENERALE, are semnificație doar la nivelul întregii clase de obiecte și nu la nivelul fiecărui obiect.

Într-o bază de date orientată obiect definirea proprietăților obiectelor este permisă

datorită tipurilor, atât cele statice (descrierea structurii obiectelor) cât și dinamice

20 Sabău, GH. et al., 2008, p. 159

21 Ibidem, p. 160

(descrierea comportamentului obiectelor ca metode aplicabile obiectelor). Partea statică a tipurilor este construită cu ajutorul constructorilor de tip și a unui set de tipuri de date atomice (primitive/simple) care includ și identificatorii de obiecte. Constructorii de tipuri permit definirea tipurilor de date complexe, care stabilesc structura instanțelor (numite obiecte complexe) unei baze de date obiect.

Un tip se poate reprezenta ca o expresie de forma:

[Nr_matricol: integer, Nume: String, Nr. telefon: {string}, părinți: {PERSOANĂ}]

Tipurile de obiecte pot fi:

− tipuri de bază (valori primitive): întreg, șir, real și boolean;

− tipuri referință: Numele claselor definite de utilizator, cum ar fi ANGAJAȚI și

MANAGERI, unde MANAGERI referă ANGAJAȚI;

− tipuri set și liste: se utilizează Constructorii de tip SET și LISTE care permit definirea de tipuri ale căror instanțe sunt colecții de valori (posibil complexe) de același tip. Seturile sunt colecții neordonate ce nu acceptă duplicări, iar listele sunt colecții ordonate cu posibile duplicări. Valorile din cadrul setului pot fi de orice tip;

− tipuri înregistrare / tuplu definite cu ajutorul unui constructor înregistrare care permite definirea de tipuri a căror instanțe sunt tupluri de valori de diferite tipuri posibile;

Exemplu: Vom considera un obiect complex referitor la structura unui liceu, unde:

− Un liceu poate avea cel puțin două profiluri;

− Un profil poate avea sau nu specializari;

− În cadrul unui liceu pot exista unul sau mai multe laboratoare pe care le poate folosi oricare dintre profiluri;

− La nivelul unui liceu pot exista una sau mai multe biblioteci, amplasate într-un

singur corp sau în mai multe corpuri de clădiri;

− Catedrele sunt arondate profilurilor;

− Liceul dispune de un corp didactic propriu, organizat pe Catedre de specialitate;

− Un profesor poate preda una sau mai multe discipline la un profil sau la mai multe profiluri(de exemplu, Informatică și Tehnologia informației și a comunicațiilor).

Se poate defini structura bazei de date orientate obiect plecând de la diagrama

claselor de obiecte. Vom alege doar o parte din aceasta.

Exemplu: Tabelul I.3. Exemple definire de tip obiect

Instanța 1: [’LTFP’, ’Matei St.’, [’Filipeștii de Pădure’, ’Principală’, ’12’] {[’Real’, ’30’, [’Uman’, ’30’ ] {[’Matematică-Informatică’, ’30’], [’Filologie’, ’30’],}]}, {[’Corpul A’,

’Real’, {[’Daniela Pătru’, ’superioare’], [’Ana Vasile’, ’medii’]}]

Unde [ ] semnifică înregistrări iar { } semnifică seturi.

Figura I.3. Exemplu de diagramă a tipurilor de obiecte22

22 Preluare din Sabău, Gh. et al., 2008, p. 163

I.6.4.2. Clase de obiecte

Definiție: O clasă de obiecte reprezintă totalitatea obiectelor care au

aceleași proprietăți și comportament. Instanțele clasei respective sunt chiar

obiectele ce o alcătuiesc.

Convenția de reprezentare grafică este: o clasă se reprezintă printr-un dreptunghi împărțit în trei compartimente separate prin linii orizontale: numele clasei în primul compartiment, lista de atribute în al doilea compartiment și lista de operații în al treilea compartiment. Diagrama claselor indică structura statică a modelului orientat obiect, surprinzând clasele componente și relațiile dintre acestea. În figura I.4. este reprezentată

clasa ELEV iar în figura I.5. este reprezentată o instanță a clasei elev .

Elev

– Nume

– Data_nașterii

– Adresă

– Telefon

+ schimbă-adresa()

+ schimbă-telefon()

Ana: Elev

– Nume = Ana

– Data_nașterii = 24-07-

1994

– Adresă = Str. Gării,

Nr. 20

– Telefon = 0745987143

Figura I.4. Exemplu de clasă Figura I.5. Exemplu de instanță

În modelul de date obiectual conceptual clasele îndeplinesc același rol pe care-l au relațiile în bazele de date relaționale. În modelul relațional baza de date este formată din tabele și relațiile dintre acestea pe când în modelul de date obiectual o bază de date este formată dintr-un set de clase și fiecare clasă include un set de obiecte.

I.6.5. Metode

I.6.5.1. Conceptul de metodă

Definiție: Metodă = Totalitatea operațiilor pe care le poate efectua un obiect sau

se efectuează asupra unui obiect, implementate într-un limbaj de programare.

O metodă are:

– O semnătură care descrie parametrii metodei;

– O implementare care conține codul (programul) metodei, într-un limbaj de programare;

În funcție de operațiilor pe care le implementează metodele se clasifică astfel:

− metode constructor (operații de tip constructor), pentru a crearea unei instanțe noi, un nou obiect al clasei. Exemplu, în clasa ELEV putem avea metoda (operația) CREAZĂ-ELEV care creează un nou obiect de tip elev și îi inițiază starea. Atenție, toate clasele trebuie să aibă o metodă constructor;

− metode destructor, uilizate pentru ștergerea / abandonarea obiectelor și a altor obiecte legate de acestea, dacă este cazul;

− metode de regăsire / accesare folosite numai pentru preluarea valorilor asociate atributelor obiectului. Exemplu: pentru clasa ELEV, metoda CALCULEAZĂ-VÂRSTA studentului plecând de la data nașterii sale. O astfel de metodă nu afectează starea obiectului;

− metode de actualizare, folosite pentru actualizarea stării obiectului. Exemplu,

metoda posibilă schimbă – adresa din clasa elev are menirea de a actualiza /

modifica valoarea atributului adresa.

aplicații:

O altă clasificare a metodelor, din punct de vedere al vizibilității în programele de

− metode publice care pot fi apelate din orice program de aplicație;

− metode private care pot fi apelate numai din interiorul altor metode ale

aceleași clase.

I.6.5.2. Definirea semnăturilor și implementarea metodelor

O bază de date O223 cuprinde două componente: schema bazei care conține informații despre structura de date a fiecărei clase, atributele și metodele ei, drepturi și privilegii de acces etc și baza de date propriu-zisă care conține date actuale în concordanță cu schema.

Schema bazei de date:

CREATE SCHEMĂ denumire – schema; CREATE BASE denumire – bază;

apoi activarea schemei și bazei:

SET SCHEMĂ denumire – schema; SET BASE denumire – bază;

După aceste operații se definesc clasele și metodele corespunzătoare Schemei. Se pot adăuga clase de obiecte dacă este necesar. Dacă dorim să adăugăm o metodă ”init” schemei bazei în care este inclusă Clasa Liceu, definirea semnăturii metodei arată astfel:

add method init (Denumire – par: string, Nume – director – par: string,

Oraș – par: string, Strada – par: string, Număr – par: integer)

in Class Liceu is public

iar definirea implementării metodei ”init” are următoarea sintaxă:

Body method init (Denumire – par: string, Nume –director – par: string,

Oraș – par: string, Strada – par: string, Număr – par: integer)

in Class Liceu

CO2 {self → Denumire = Denumire – par;

self → Nume = Nume – par;

self → Oraș = Oraș – par;

self → Strada = strada – par;

self → Număr = Număr – par;

return (self);}$

23 Model de sistem de gestiune a bazelor de date orientate obiect

Structura de definire a semnăturii apare astfel:

Parametri actuali de apel

Method den-metodă (p1 , p2 , , pn) in class den-clasa

Cuvinte rezervate

public private

Implementarea metodei este precizată prin cuvântul rezervat ”body” și este scrisă în CO224 care permite accesul direct la obiectele stocate în baza de date. La nivelul

corpului metodei (body init) se precizează lista de parametri, conform următoarei sintaxe:

Parametri formali de

comunicare

Body den-metodă (d1 ,d2 , , dn) in class den-clasa

Cuvinte rezervate

„Implementarea este inclusă într-un bloc de inițializare delimitat de cuvântul

cheie CO2 și terminat cu simbolul $.

Cuvântul ”self” are semnificația de variabilă de adresă ce indică obiectul clasei țintă la care metoda se aplică. Cu alte cuvinte, invocarea unei metode pe un obiect dat este similară cu trimiterea unui mesaj la acel object; ”self” indicând obiectul primitor, adică obiectul ce va primi mesajul. Simbolul ”→” este echivalent cu semnificația punctului (•) folosit frecvent și înalte limbaje de programare în scopul de a face o calificare de atribut/câmp, cu ocazia unei anumite referire la acel atribut.

Exemplu:

self → Nume-persoană = Nume-paremetru

echivalează cu descrierea de forma:

self • Nume-persoană = Nume-parametru

unde atributul / câmpul Nume-persoană de la variabila self este inițializat cu o valoare

dată de atributul / câmpul Nume-parametru.”25

24 O extensie a limbajului de programare C

25 Sabău, GH et al., 2008, p. 171

Executarea metodei init, într-un program scris în CO2 apare astfel:

execute CO2

{O2 Liceu X;

X = new (Liceu);

[X init (”Teoretic”, ”Matei”, ”Filipești”, ”23”)];}$

unde:

– comanda execute CO2 reprezintă lansarea în execuție a metodei init;

– cuvântul cheie ”CO2” se utilizează pentru declararea variabilelor locale;

– se definește o variabilă locală X și un tip Liceu;

– metoda new crează un obiect ce aparține clasei Liceu;

– ultima linie a metodei init inițializează proprietăților obiectului nou creat.

La sfârșitul execuției metodei, obiectul pentru care metoda însăși este invocată este returnat ca un parametru de ieșire. De remarcat faptul că în cadrul unei metode poate fi invocată și o alta metodă, existând astfel posibilitatea de a genera invocări de lanțuri de metode, cu precizarea că nu este permis ca o metodă să se invoce pe sine însăși în mod direct sau indirect.

I.6.6. Încapsularea și interfața

Definiție: Încapsulare = tehnică de ascundere a detaliilor de implementare a unui obiect.

Interfața clasei = totalitatea operațiilor

Prin intermediul interfeței clasa își expune altor clase funcționalitatea fără să își dezvăluie structura. Utilizatorii au acces la date prin interfețe sau mesaje. Interfața nu este nimic altceva decât un mesaj / stimul prin care se citează denumirea unei metode dintre multiplele metode ale unei clase de obiecte.

Denumirea unei metode reprezintă tocmai denumirea unei proceduri elaborate într- un limbaj de programare oarecare. Prin citarea denumirii metodei va fi lansat în execuție programul care în derularea lui va accesa datele conform structurii clasei de obiecte, figura I.6.

mesaj

FACTURA

– data emiterii: Date

– emitent: string

– material: string

+ emite – factura()

+ încasează – factura()

+ încasare – parțială()

+ calculează – factura()

Proprietăți

metode

Figura I.6. Exemplu de încapsulare26

Restricții de vizibilitate= restricții de acces la metodele și atributele unei clase de obiecte. Vizibilitatea poate fi: publică, privată și protejată. Implicit restricția de vizibilitate este publică (PUBLIC), atributele fiind vizibile pentru toți utilizatorii autorizați și se notează cu semnul (+). Forma privată (PRIVATE) marcată prin semnul (-), restricționează în totalitate vizibilitatea altor clase. Atributele și metodele sunt vizibile numai înăuntrul clasei ce conține restricția. Forma protejată (PROTECTED), notată cu simbolul (#), este echivalentă cu restricționarea parțială a vizibilității. Atributele și metodele protejate sunt vizibile atât din interiorul clasei în care se definesc cât și din toate celelalte subclase ce-i aparțin.

I.6.7. Polimorfismul

„Polimorfismul presupune faptul că un același mesaj poate fi adresat uneia sau

mai multor clase de obiecte primind răspunsuri diferite, cu semnificații diferite.

Exemplu, presupunem drept mesaj comanda PRINT, din meniul de sistem. Ea va avea ca efect imprimarea unei figuri geometrice dacă se adresează unui fișier (prin analogie clase)

de figuri; va imprima un text preselectat dintr-un fișier de tip text etc.”27

26 Preluare din Sabău, GH et al., 2008, p. 172

27 Sabău, GH et al., 2008, p. 173

I.6.8. Asocierile între clase

Legătura reprezintă o conexiune între obiecte. Asocierea înseamnă o descriere a unui grup de legături cu structură și semantică identică. Legăturile dintre obiecte fiind asimilate instanțelor asocierii dintre două clase, este indicat să se modeleze asocierile dintre clase și nu legăturile dintre obiectele acestora.

Caracteristicile asocierilor sunt:

1. Denumirea asocierii. Asocierea dintre două clase se reprezintă printr-o linie care poate avea săgeți /săgeată la capete (precizează sensul asocierii), care unește două clase (figura I.7.). Numele asocierii, este de regulă un verb

sugestiv pentru semnificația asocierii, care se trece deasupra liniei.

nume asociere

Nume_clasă Nume_clasă

Figura I.7. Reprezentare a asocierii

Exemple de verbe ce se pot utiliza pentru a indica asocierea dintre clase de obiecte.

Figura I.8. Verbe ce indica asocierea dintre clase de obiecte28

2. Multiplicitatea asocierii. Multiplicitatea reprezintă numărul de instanțe ale unei clase care pot avea legături cu o instanță a celeilalte clase dintr-o asociere. Multiplicitatea corespunde cardinalității asocierilor în raport cu instanțele claselor. Notarea se poate face în mai multe feluri.

Figura I.9. Multiplicitatea asocierii. Varianta 129

Multiplicitatea unei asocieri se exprimă printr-un interval de valori de forma (x,y)

unde x reprezintă valoare minimă, iar y valoarea maximă.

Exemple:

Legătura de tipul ”unu la unu”. Fiecărei instanțe îi corespunde obligatoriu o altă instanță din clasa asociată.

ȚARĂ

1,1

are

PREȘEDINTE

este președinte la

O țară poate avea unul și numai un singur președinte iar o persoană poate fi președintele unei singure țări.

Legătura de tipul ”unu la zero sau unu”. O instanță dintr-o clasă A poate avea sau

nu coresporespondent într-o instanță din clasa B.

COPIL

este înscris la

250,* are

0,1

ȘCOALĂ

O școală trebuie să aibă minim 250 de copii ca să funcționeze, în schimb un copil

poate să nu fie înscris la nicio școală pentru că nu a împlinit vărsta necesară.

Legătura de tipul ”unu la zero sau mai mulți”.

REVISTĂ

are

0,* citește

0,*

CITITOR

O revistă poate fi citită de nici un cititor sau de mai mulți, în schimb un cititor poate să nu citească deloc reviste sau să citească mai multe.

Legătura de tipul ” mulți la mulți”.

PROFESOR

pregătește

1,* este pregătit

1,*

ELEV

Un profesor predă (pregătește) unuia sau mai multor elevi, iar un elev este

pregătit de unul sau mai mulți profesori.

Multiplicitate (3,5) înseamnă că la realizarea legăturii pot participa cel puțin 3 și cel mult 5 instanțe dintr-o clasă de obiecte. Atunci când multiplicitatea este „*” vorbim de limita superioară infinit.

Figura I.10. Multiplicitatea asocierii. Varianta 230

3. Tipul asocierii. Numărul claselor participante la o asociere dă tipul asocierii care poate fi: unar, binar, ternar etc. Reprezentarea grafică se face astfel:

Asocierea unară = o clasă de obiecte intră în asociere cu ea însăși -> asociere

recursivă, ca în figura I.11.

Figura I.11. Asociere unară31.

Asocierea binară = două clase de obiecte de forma, figura I.12.

1,* studiază la 1,1

ELEV ȘCOALA

Figura I.12. Asociere binară

30 Preluare din Sabău, GH. et al., 2008, p. 176

31 Ibidem, p. 176

Interpretarea asocierii din figura I.12: un elev poate studia cel puțin într-o școală și cel mult într- o școală. În sens invers, într- o școală pot studia unul sau mai mulți elevi.

Asocierea ternară, presupune existența a trei clase de obiecte ca în figura I.13.

Figura I.13. Asociere ternară32.

Trebuie să luăm în considerație rolul pe care îl are clasa în cadrul asocierii deoarece o

clasă care are mai multe asocieri poate avea roluri diferite față de fiecare dintre acestea.

Atribute și clase ale asocierii. Când o asociere are atribute și operații proprii, sau când participă la asocieri cu alte clase, asocierea se modelează ca o clasă și poartă numele de clasă a asocierii (figura I.14).

Următoarele atribute caracterizează asocierea dintre clasele Elev și Biblioteca:

cartea împrumutată, data împrumutului, data rambursării cărții, penalizări.

1,* 1,*

Elev Bibliotecă

Împrumut Carte împrumutată Data împrumut Data rambursare Penalități

rambursare()

Figura I.14. Exemplu de asociere cu atribute și operații

32 Preluare din Sabău, GH. et al., 2008, p. 177

Atributul derivat este atributul care se poate calcula cu ajutorul valorilor altor

atribute. Este reprezentat grafic prin simbolul ”/” pus în fața denumirii acestuia, ca în

figura I.15.

Elev

Nume și prenume

Data nașterii

/ Vârsta

Figura I.15. Atribut derivat. Reprezentare.

Atribut al clasei. Obiectele sunt diferite dacă atributele lor au valori diferite. Un atribut al clasei este un atribut a cărui valoare este comună obiectelor care fac parte din aceeași clasă. Simbolul folosit pentru acest tip atribut este caracterul ”$” plasat în fața

denumirii atributului ca în figura I.16.

Note

$ Nr. TotalNote

….

Figura I.16. Atribut al clasei

Ordonare. Dacă asocierea are la unul din capete ,,mulți”, setul de obiecte poate să nu fie ordonat (fiind ca un set de obiecte), sau poate fi ordonat explicit. Condiția de ordonare este semnalată prin mesajul {ordered} lângă semnul care indică multiplicitatea. Ordonarea este ca o constrângere valabilă pentru asocieri. Exemplu în figura I.17.

Împrumută 1,n

Bibliotecă Elev

{ordered}

Figura I.17. Ordonarea într-o asociere

Calificarea. O asociere între două clase și un calificator, cu rolul de a reduce multiplicitatea efectivă a unei asocieri se numește calificată. Asocierile de tipul ,,unul la multi” și ,,mulți la mulți” trebuie să fie calificate. Calificarea permite ca din multitudinea de obiecte aflate la capătul ,,mulți” al asocierii să se identifice unic un anumit obiect ca în figura I.18:

are 1,n

Bibliotecar Elev

1,1 are

Bibliotecar

Număr matricol

Elev

Figura I.18. Calificarea asocierii

I.6.9. Moștenirea

Definiție: Moștenirea este un mecanism ce dă posibilitatea partajării atributelor și operațiilor utilizând relația de generalizare.

Moștenirea poate fi redată astfel: (figura I.19.)

Clasa A

O clasă B preia prin mecanismul de moștenire proprietățile și

comportamentul de la o clasă A

Clasa B

Figura I.19. Moștenirea

Moștenirea poate fi simplă, atunci când subclasa B preia prin mecanismul de moștenire proprietățile și comportamentul de la superclasa A, ca în figura I.19.

Moștenirea este multiplă atunci când subclasa B moștenește proprietățile și

comportamentul de la mai mult de o superclasă, ca în figura I.20.

Figura I.20. Moștenirea multiplă33

Din figură reiese că subclasa E moștenește proprietățile și comportamentul atât de la superclasa A cât și de la B (săgețile sunt sugestive pentru a observa mecanismul de moștenire). Clasele constituite special pentru a fi moștenite se numesc clase abstracte și acestea nu au instanțe, iar numele lor se scrie cu format cursiv (italic ).

Clasa concretă este o clasă construită pentru a crea instanțe. Clasele abstracte conțin cel puțin o operație abstractă, adică o operație neimplementată și care urmează să fie implementată în clasele descendente.

I.6.10. Generalizarea și specializarea

„Generalizarea și specializarea sunt mecanisme care permit partajarea caracteristicilor comune între clase, păstrând totodată diferențele dintre acestea. Generalizarea presupune identificarea atributelor și/sau operațiilor comune mai multor clase și izolarea lor în superclase. Specializarea claselor este opusă generalizării și are ca punct de plecare o superclasă ce urmează a fi descompusă în subclase și la care se pot adaugă noi atribute și/sau operații relevante numai pentru anumite obiecte din acea clasă, creând astfel subclase de obiecte. Atributele și operațiile superclasei nu mai apar în cadrul subclaselor atașate ei, dar ele aparțin acestora prin moștenire. În subclase se descriu numai atributele și/sau operațiile specifice fiecăruia dintre ele. Subclasa rafinează, specializează clasa. Superclasele și subclasele se mai numesc părinți / copii sau strămoși / descendenți.

În figura I.21 se prezintă operațiile de generalizare si specializare. Se poate deduce faptul

33 Preluare din Sabău, GH. et al., 2008, p. 181

că pentru generalizare se pleacă de la niște clase deja existente, din care vor fi desprinse aspectele comune claselor, definind cu acestea o superclasă, iar specializarea presupune existența unei singure clase din care vor fi desprinse specializări. De remarcat faptul că generalizarea se implementează prin relația de moștenire însă în cadrul limbajelor de programare orientate obiect, ea capătă un aspect mai abstract. Avantajele utilizării generalizării sunt următoarele:

− Reutilizarea codului – în proiectul în lucru pot fi folosite clase create în cadrul altor

proiecte;

− Standardizarea – aspectele comune sunt specificate o singură dată;

− Calitatea superioară – reutilizarea claselor create pentru alte proiecte presupune și faptul că ele au fost testate deja în cadrul acelor proiecte.”34

Figura I.21. Generalizarea și specializarea35

I.6.11. Agregarea, compunerea și descompunerea

Operațiile de agregare și descompunere permit reprezentarea relațiilor de tipul parte-întreg dintre obiecte. Agregarea descrie un obiect ca fiind constituit din mai multe obiecte. De asemenea, agregarea se folosește la gruparea claselor într-o nouă clasă. Ea este folosită la construcția unui obiect complex prin compunerea lui din părțile componente. Agregarea este un tip special de asociere între o clasă ”întreg” și una sau mai multe clase

”parte” .

34 Sabău, GH. et al., 2008, p. 181

35 Preluare din Sabău, GH. et al., 2008, p. 182

Reprezentarea grafică a agregării și compunerea se face printr-un romb care dacă este plin semnifică și o relație de compunere. Compunerea, spre deosebire de agregare, presupune ca obiectul parte să aparțină unui singur obiect întreg, de exemplu, o un elev este parte a unei singure școli, din această cauză multiplicitatea părții întreg dintr-o astfel de relație este întotdeauna 1. Exemplu de agregare si descompunere în figura I.22.

Figura I.22. Exemplu de agregare și descompunere36

I.7. Sisteme de gestiune a bazelor de date orientate obiect

(SGBDOO)

D-a lungul timpului, în domeniul bazelor date orientate obiect au apărut multe Sisteme de gestiune a bazelor de date orientate obiect. Unele dintre ele au rezistat timpului și concurenței, altele au dispărut. Iată câteva exemple de SGBDOO.

I.7.1. GEMSTONE

GEMSTONE este unul dintre primele sisteme de gestiune a bazelor de date orientate obiect care a existat ca produs comercial. Este construit pe o extensie a lui Smalltalk numită OPAL. Spre deosibire de ObjectStore, Ontos și Versant, care sunt strâns legate de C++, OPAL nu este strâns legat de un limbaj anume deși, limbajul GemStone poate fi accesat și din alte limbaje cum ar fi Smaltalk și C++. GemStone este orientat în

principal pe aplicații CAD/CAM și nu tratează moștenirea multiplă.

36 Preluare din Sabău, GH. et al., 2008, p. 183

I.7.2. ONTOS

ONTOS a fost realizat și comercializat în 1990 de către Ontos Billerica, Massachesetts. Utilizeaza C++ ca limbaj de programare pentru baza de date orientate obiect. Ontos este succesorul unui produs mai vechi numit VBase care utiliza un model orientat obiect cu prorpiile sale limbaje COP(C Object Processor – o extensie orientată obiect a limbajului C pentru acces la baza de date) și TDL (Type Definition Language). Deși este strâns legat de C++, Ontos este accesibil și din alte limbaje. Este suportat în LAN-uri utilizând un model de arhitectură Client/Server. Performanța produsului este accentuată de posibilitatea clasterizării discului și utilizării tehnicilor Caching.

I.7.3. O2

Sistemul de gestiune a bazelor de date orientate obiect O2 a fost realizat în Franța de Consorțiul de cercetare Altair între 1986 și 1990. După 1991 el a fost dezvoltat și comercializat de O2 Technology la Versailles. O2 este implementat în C++ însă anumite părți sunt implementate într-un limbaj propriu numit O2C. Este disponibil pe platformele UNIX SUN , HP, IBM, BULL și DEC.

O2 constituie un motor de baze de date, O2 Engine, în interiorul căruia sunt

disponibile trei niveluri de utilizare:

– Limbajele de interfață: C și C++, un L4G, O2C, limbajul de cereri obiect

O2SQL și o interfață de programare a aplicațiilor de nivel de bază O2APL;

– Utilitare GUI: un generator a interfeței O2LOOK și un dispozitiv de manipulare

de grafice O2Graph;

– Utilitare de mediu: un mediu de programare grafică O2Tools și un ansamblu de componenți O2Kit.

I.8. Standardul ODMG37 pentru baze de date orientate obiect

În 1989 producătorii de software pentru baze de date cum ar fi Gemstone Systems, Object Design, O2 Technology, Versant Object Technology, UniSQL, POET Software, Objectivity, IBEX Computing SA, Lockheed Martin, Ontos, Itașca, Servio, Hewelt- Packard formează un grup pentru administrarea bazelor de date orientate obiect ODMG –

Object Database Management Group, în scopul stabilirii unor standarde pentru SGBDOO.

37 Object Database Management Group

Modelul standard la care au ajuns cuprindea următoarele componente pentru

SGBDOO (Sistem de gestiune a bazelor de date orientate obiect):

– modelul de obiecte (OM),

– limbajul de definire a obiectelor (ODL – Object Definition Language),

– limbajul de interogare a obiectelor (OQL – Object Query Language),

– interfață cu limbajul C++,

– interfață cu limbajul Smalltalk,

– interfață cu limbajul Java.

În zilele noastre, SGBDOO care suportă standardul ODMG 3.0 includ GemStone (http://www.gemstone.com), Objectstore (http://www.odi.com.), Poet (http://www.poet.com) etc.

CAPITOLUL II. APLICAȚII BAZE DE DATE ORIENTATE OBIECT

II.1. Baze de date postrelaționale Caché. Prezentare.

Sistemul de gestiune a bazelor de date Caché, care va fi utilizat pentru dezvoltarea aplicațiilor prezentate în acest capitol, pune la dispoziția utilizatorului o serie de instrumente de dezvoltare rapidă a aplicațiilor și tehnologiilor. Aceste instrumente și tehnologii includ:

– Caché Studio: Un mediu de dezvoltare integrat, care sprijină abordarea orientată- obiect pentru proiectarea și construirea aplicațiilor. Cu Studio se pot defini clase utilizând mai multe limbaje, inclusiv Caché ObjectScript, Caché Basic și MVBasic;

– Caché Terminal: O interfață de comandă pentru baza de date Caché. Folosind terminalul se pot rula comenzi Caché și se poate avea acces la o serie de opțiuni Caché, inclusiv opțiunile (funcțiile) autopopulation și comenzi SQL38.Terminalul oferă, de asemenea acces la obiecte Caché:

– Zen: Un cadru pentru crearea de date dinamice și pagini web interactive.

– The Management Portal: O interfață bazată pe un browser. Utilizând portalul se pot efectua mai multe sarcini, inclusiv definirea, vizualizarea și accesarea datelor într- un format relațional. Se pot defini și interoga tabele de baze de date folosind SQL standard.

Caché Studio oferă caracteristici care ajută la dezvoltarea rapidă a unei aplicații, într-un singur mediu, integrat, care include:

Un editor, în care se crează:

– Clase, inclusiv clasele persistente ale bazelor de date, precum și clase de

servicii Web;

– Pagini Web interactive utilizând: CSP39 (Pagini Caché Server) și Zen, XML40, HTML41, JavaScript, foi stil în cascadă (CSS);

– Rutine folosind Caché ObjectScript, Basic, sau MultiValue ;

38 Structured Query Language

39 Caché Server Page

40 eXtensible Markup Language

41 HyperText Markup Language

Sintaxă integrată evidențiată prin colorare și verificarea sintaxei pentru Caché

ObjectScript, Basic, Java, SQL, JavaScript, HTML și XML;

Suport pentru echipele de dezvoltatori care lucrează cu un depozit comun de coduri sursă;

Un cod sursă grafic debugger;

Capacitatea de a organiza coduri sursă pentru aplicații în proiecte.

Caché Studio este o aplicație client, construită folosind obiecte Caché, care rulează pe sistemele de operare bazate pe Windows. Se poate conecta la orice server Caché (compatibil cu versiunea curentă de Studio Caché), indiferent de platforma și sistemul de operare. Acesta utilizează ferestre pentru a afișa și a permite editarea.

Principalele componente ale interfeței de utilizator Caché Studio sunt prezentate

mai jos:

1. Editors: Class Editorfor pentru editarea definițiilor claselor, Routine Editor pentru editarea rutinelor și includerea fișierelor și CSP Editor pentru editarea definițiilor CSP (Caché Server Page);

2. Workspace window: trei file (panouri) care permit afișarea conținutului proiectului curent, toate ferestrele deschise sau conținutul actual al namespace;

3. Class Inspector window: pentru vizualizarea și modificarea cuvintelor cheie într-o

definiție de clasă;

4. Output window: ecrane de ieșire de la serverul Caché (cum ar fi mesajele generate

în timpul compilării clasei).

Figura II.1.

Interfața

2 utilizator

1 Caché Studio

3

4

În plus față de componentele descrise mai sus, Caché Studio conține experți și șabloane pentru realizarea diverselor operații. Acestea includ:

New Class wizard: definește o nouă clasă;

Class member wizards that add members to class definitions for (experți pentru membrii clasei, care adaugă membri la definiția clasei pentru: proprietăți, indexuri, relații, metode, parametri, SQL declanșatori (triggeri), interogări, proiecții, chei străine și blocuri XData;

Wizards care crează clase cu ajutorul altor tehnologii, de la: clase Java și fișiere în format jar, schemă SML, clase client SOAP, care oferă acces la obiecte COM, precum și fișiere de asamblare DLL din . NET;

Template-uri HTML care adaugă: culori, tabele, etichete și scripturi;

CSP Form wizard: creează un formular HTML legat de un obiect Caché într-

o pagină CSP;

Șabloane Zen care adaugă: diagrame, tabele, metode și stiluri.

II.2. Dezvoltarea aplicației „Baza de date elevi Liceul Teoretic

Filipeștii de Pădure” utilizând Caché Studio InterSystems Zen.

Cerința: Utilizând Caché Studio să se realizeze o aplicație de tip baze de date care

să gestioneze date despre elevii Liceului Teoretic Filipeștii de Pădure.

Aplicația constă în:

– O bază de date în care stocăm numărul matricol, numele, prenumele, adresa, data nasterii, numele tatălui, numele mamei, numărul de telefon și clasa în care este înscris elevulul;

– O interfață utilizator interactivă într-o pagină Web (un formular HTML), care va permite adăugarea unor intrări noi (elevi nou veniți), caută intrări și editează intrări în baza de date;

Pașii pe care îi vom urma sunt:

1. Crearea unui proiect denumit LICEU pentru a gestiona componentele aplicației;

2. Definirea bazei de date a aplicației folosind clase de date persistente și seriale;

3. Crearea unei interfețe de utilizator de tip web (HTML), pentru aplicație folosind

Caché Server Pages (CSP).

4. Crearea unei interfețe de utilizator de tip web (HTML), pentru aplicație folosind

InterSystems Zen.

Din perspectiva orientării pe obiecte, se crează două clase, ELEV și ADRESA, care sunt reprezentate în figura II.2 în timp ce, din perspectivă relațională, s-ar fi creat două entități, ELEV și ADRESA, legate printr-o relație de tip 1-1, reprezentate în figura II.3, entități ce ar fi fost mapate în două tabele separate.

.

ELEV nrmatricol nume prenume

ADRESA

strada numar bloc

apartament datan numetata

numemama

ELEV

nrmatricol 1 1

nume

prenume datan numetata numemama clasa

telefon

ADRESA strada numar

bloc apartament

clasa telefon

Figura II.3. Reprezentare relațională

Figura II.2. Reprezentare obiectuală

Etapele dezvoltării aplicației propriu-zise, folosind Caché Studio sunt:

1. Definirea claselor ELEV și ADRESA utilizând New Class Wizard, ca în figura II.4 și figura II.5.

Figura II.4. Modalitate definire clase, partea 142

Figura Figura II.5. Modalitate definire clase, partea 243

Cod sursă clasa ELEV.

Class Liceu.Elev Extends (%Persistent, %Populate, %XML.Adaptor) [ Inheritance = right ]

{

Property nrmatricol As %String; Property nume As %String; Property prenume As %String;

Property Adresa1 As Liceu.Adresa;

Property datan As %Date; Property numetata As %String; Property numemama As %String; Property clasa As %String; Property telefon As %String;

}

Cod sursă clasa ADRESA.

Class Liceu.Adresa Extends (%SerialObject, %Populate,

%XML.Adaptor) [ Inheritance = right ]

{

Property strada As %String; Property numar As %String; Property bloc As %String; Property apartament As %String;

}

2. Se populează automat clasele create utilizând Caché Terminal, cu ajutorul

comenzii:

USER>Do ##class(Liceu.Elev).Populate(10)

3. Se vizualizează tabela populată cu ajutorul Management Portal, ca în figura II.6. și

figura II.7.

Figura II.6. Fereastra Management Portal44

Figura II.7. Fereastra Management Portal

Se utilizează o componentă Caché Studio, aplicația Zen, care este un tip de

aplicație WEB orientată obiect.

Codul sursă:

/// Liceu.Aplicatie

Class Liceu.Aplicatie Extends %ZEN.application

{

/// This is the name of this application. Parameter APPLICATIONNAME = "Baza_Date_LTFP";

/// This is the URL of the main starting page of this application.

Parameter HOMEPAGE = "Liceu.HomePage.cls";

/// This Style block contains application-wide CSS style definitions.

XData Style

{

<style type="text/css">

</style>

}

}

4. Se crează pagina Zen propriu-zisă.

Codul sursă pentru pagina Zen:

/// Created using the page template: Default

Class Liceu.HomePage Extends %ZEN.Component.page

{

/// Class name of application this page belongs to. Parameter APPLICATION = "Liceu.Aplicatie";

/// Displayed name of this page.

Parameter PAGENAME = "HomePage";

/// Domain used for localization. Parameter DOMAIN;

/// This Style block contains page-specific CSS style definitions.

XData Style

{

<style type="text/css">

/*Style classes for use on this page */ body { font-family: arial; } table.tpTable caption{

background: transparent;

font-size: 1.4em; font-weight: bold; text-align: left;

border: none;

}

/* even rows */

.tpEven { color: black; background: #ebf3ff; }

/* odd rows */

.tpOdd { color: black; background: white; }

/* this is a selected row */

table.tpTable tr.tpSelected { background: #3d80df;

color: white; }

/* hover for odd and even rows */

tr.tpOdd:hover,tr.tpEven:hover { background-color: #3d80df; color: #ffffff; }

/* table header style */

table.tpTable th {

border-right: 1px solid gray; border-bottom: 1px solid gray; background: #C5D6D6;

color: black;

font-weight: bold; text-align: left; padding: 2px;

overflow: hidden;

}

/* selected column header (th) */

table.tpTable th.tpHdrSelected { background:

#3d80df; }

/* filter layour */

table.tpFilterLayout td { border: none; background:

#C5D6D6; }

/*fieldSet styles*/

.fieldset{

background: #FFFFFF; border: solid 5px #C5D6D6; color: #000000;

font-size: 1em;

font-family: arial;

}

/*text control styles*/

.text

{

font-size: .8em; font-family: arial; color: #000000;

background-color: #ffffff;

padding: 2px;

border: solid 1px grey; margin-right: 0px; margin-bottom: 0px; height: 25px;

}

</style>

}

/// This XML block defines the contents of this page. XData Contents [ XMLNamespace = "http://www.intersystems.com/zen" ]

{

<page xmlns:liceu="http://www.intersystems.com/Liceu" xml ns="http://www.intersystems.com/zen" title="Elevii din Liceul Teoretic Filipestii de Padure">

<liceu:MenuComposite width="100%"/>

<hgroup width="100%">

<vgroup width="5%"></vgroup>

<vgroup width="90%">

<tableNavigator id="elevNav" tablePaneId="elevTable"/

>

<link align="left" caption="Inregistrare

noua" href="javascript:zenPage.newElev();"/>

<tablePane width="900px" id="elevTable" tableName="Liceu.Elev" maxRows="1000" pageSize="10" showRowNumbers="true" showZebra="true" useSnapshot="true" extraColumnWidth="5%"

caption="Liceul Teoretic Filipestii de Padure" valueColumn="ID">

<column colName="ID" hidden="true"/>

<column header="Nrmatricol" width="20%" colName="Nrmat ricol" filterType="text"/>

<column header="Nume" width="20%" colName="Nume" filterType="text"/>

<column header="Prenume" width="20%" colName="Prenume" filterType="text"/>

<column header="Strada" width="20%" colName="Adresa1_ Strada"/>

<column header="Numar" width="12%" colName="Adresa1_

Numar"/>

<column header="Bloc" width="5%" colName="Adresa1_Bloc

"/>

<column header="Apartament" width="7%" colName="Adresa

1_Apartament"/>

<column header="Datan" width="20%" colName="Datan" filterType="date"/>

<column header="Numetata" width="20%" colName=

"Numetata" filterType="text"/>

<column header="Numemama" width="20%" colName= "Numemama" filterType="text"/>

<column header="Clasa" width="20%" colName="Clasa"

filterType="text"/>

<column header="Telefon" width="20%" colName="Telefon" filterType="text"/>

<column header="" width="5%" linkCaption="edit"

link="javascript:zenPage.showElevForm('#(%query. ID)#');"/>

</tablePane>

<fieldSet id="elevFormGroup" hidden="true" legend= "Editare date personale elevi">

<form id="elevForm" controllerId="elevData" layout="vertical"

cellStyle="padding: 2px; padding-left: 5px;

padding-right: 5px;">

<text label="Nrmatricol:" dataBinding="nrmatricol" id= "nrmatricol" name="nrmatricol" size="50"/>

<text label="Nume:" dataBinding="nume" id="nume" name= "nume" size="50"/>

<text label="Prenume:" dataBinding="prenume" id="prenume"

name="prenume" size="50"/>

<text label="Strada:" dataBinding="strada" id="strada" name="strada"

size="50" />

<text label="Numar:" dataBinding="numar" id="numar" name= "numar" size="50"/>

<text label="Bloc:" dataBinding="bloc" id="bloc" name=

"bloc"

size="50"/>

<text label="Apartament:" dataBinding="apartament" id= "apartament" name="apartament"

size="50"/>

<text label="Datan:" dataBinding="datan" id="datan" name= "datan"

size="10"/>

<text label="Numetata:" dataBinding="numetata" id= "numetata" name="numetata"

size="50" />

<text label="Numemama:" dataBinding="numemama" id= "numemama" name="numemama"

size="50" />

<text label="Clasa:" dataBinding="clasa" id="clasa" name=

"clasa"

size="50" />

<text label="Telefon:" dataBinding="telefon" id="telefon"

name="telefon" size="50" />

<hgroup>

<button caption="Salvare" onclick="zenPage.saveElev();"

/>

<spacer width="5"/>

<button caption="Stergere" onclick="zenPage.deleteElev

();" />

</hgroup>

</form>

</fieldSet>

</vgroup>

<vgroup width="5%"></vgroup>

</hgroup>

<dataController id="elevData" modelClass="Liceu.Elevliceu"

modelId=""

/>

</page>

}

ClientMethod showElevForm(id) [ Language = javascript ]

{

var controller = zenPage.getComponentById('elevData');

controller.setProperty('modelId',id);

var elevFormGroup=zenPage.getComponentById("elevFormGro up");

elevFormGroup.setProperty('hidden',false);

}

/// save contact model to database

ClientMethod saveElev() [ Language = javascript ]

{

// validate and save form

var form = zenPage.getComponentById('elevForm');

form.save();

var table=zenPage.getComponentById('elevTable');

//refresh data in contact table table.executeQuery();

}

/// Create new object via dataModel

ClientMethod newElev(id) [ Language = javascript ]

{

var controller = zenPage.getComponentById('elevData');

var elevFormGroup=zenPage.getComponentById("elevFormGro up");

elevFormGroup.setProperty('hidden',false);

controller.createNewObject();

}

/// Delete current item from database

ClientMethod deleteElev() [ Language = javascript ]

{

var controller = zenPage.getComponentById('elevData');

controller.deleteId(controller.getModelId());

var table = zenPage.getComponentById('elevTable');

//refresh data in elev table table.executeQuery(true); controller.update();

}

}

5. Se vizualizează pagina care arată ca în figura II.8.

F

Figura II.8. Interfață „Date personale elevi”45

Prin intermediul acestei interfețe se pot realiza următoarele operații:

– Vizualizarea elevilor înscriși în baza de date;

– Adăugarea de noi instanțe/înregistrări (elevi) în baza de date (butonul

Înregistrare nouă);

– Modificarea/actualizarea instanțelor/înregistrărilor din baza de date acționînd butonul edit;

– Ștergerea unei instanțe/înregistrări (elevi) din baza de date acționînd

butonul Ștergere;

– Salvarea operațiilor realizate anterior acționînd butonul Salvare;

– Navigarea printre paginile cu instanțe/înregistrări (elevi) din baza de

date;

– Conectarea cu ajutorul meniului la alte pagini Zen sub forma unor pagini Web pentru consultarea/încărcarea notelor la diferite discipline de studiu (vezi figura II.9.), dacă acest lucru este necesar;

– Sortarea instanțelor/înregistrărilor după un criteriu ales, folosind (clic)

numele coloanelor;

– Filtrarea/căutarea instanțelor/înregistrărilor prin filtrele situate

deasupra numelor coloanelor;

Figura II.9. Interfață „Note la disciplina Limba română”46

6. Crearea meniului.

Codul sursă pentru meniu:

/// Liceu.MenuComposite

Class Liceu.MenuComposite Extends %ZEN.Component.composite

{

/// This is the XML namespace for this component.

Parameter NAMESPACE = "http://www.intersystems.com/Liceu";

/// This Style block contains component-specific CSS style definitions.

XData Style

{

<style type="text/css">

/*Styles for components in this composite component*/

.title {

background: #C5D6D6;

color: black;

font-size: 1.5em; font-weight: bold; padding: 5px;

border-bottom: 1px solid black;

text-align: center;

}

/* Default style overrides*/

/* Override default menu item style */

a.menuItem {

font-size: 0.9em;

color: black;

}

a.menuItemDisabled {

font-size: 0.9em;

color: black;

}

</style>

}

/// Contents of this composite component. XData Contents [ XMLNamespace = "http://www.intersystems.com/zen" ]

{

<composite>

<html id="title" enclosingClass="title">Date personale elevi</html>

<hmenu width="100%">

<menuItem id="m1" caption="Home" link="Liceu.HomePage.c

ls"

help="Go to display page" />

<menuItem id="m2" caption="L.Romana" link="http://local

host:57772/csp/user/BazaDateScoala.ZenPageR.cls" help="L.Roma

na" />

<menuItem id="m3" caption="L.Engleza" link="http://loca lhost:57772/csp/user/romana.csp" help="L.Engleza" />

<menuItem id="m4" caption="L.Franceza" link="" help="L.

Franceza" />

<menuItem id="m5" caption="Matematica" link="" help="Ma tematica" />

<menuItem id="m6" caption="Fizica" link="" help="Fizica

" />

" />

<menuItem id="m7" caption="Chimie" link="" help="Chimie

<menuItem id="m8" caption="Biologie" link="" help="Biol

ogie" />

<menuItem id="m9" caption="Istorie" link="" help="Istor ie" />

</hmenu>

</composite>

}}

7. Crearea unei clase model, pentru a putea actualiza datele din baza de date.

Codul sursă al clasei model:

Class Liceu.ElevModel Extends %ZEN.DataModel.ObjectDataModel

{

Property nrmatricol As %String; Property nume As %String; Property prenume As %String; Property strada As %String; Property numar As %String; Property bloc As %String; Property apartament As %String; Property datan As %Date; Property numetata As %String; Property numemama As %String; Property clasa As %String; Property telefon As %String;

Method %OnOpenSource(pID As %String) As %RegisteredObject

{

Quit ##class(Liceu.Elev).%OpenId(pID)

}

Method %OnSaveSource(pSource As Liceu.Elev) As %Status

{

Set tSC = pSource.%Save() Set ..%id = pSource.%Id() Quit tSC

}

Method %OnNewSource(Output pSC As %Status = {$$$OK}) As %RegisteredObject

{

Quit ##class(Liceu.Elev).%New()

}

ClassMethod %OnDeleteSource(pID As %String) As %Status

{

Quit ##class(Liceu.Elev).%DeleteId(pID)

}

Method %OnLoadModel(pSource As Liceu.Elev) As %Status

{

Set ..nrmatricol = pSource.nrmatricol

Set ..nume = pSource.nume

Set ..prenume = pSource.prenume

Set ..strada = pSource.Adresa1.strada Set ..numar = pSource.Adresa1.numar Set ..bloc = pSource.Adresa1.bloc

Set ..apartament = pSource.Adresa1.apartament

Set ..datan = pSource.datan

Set ..numetata = pSource.numetata Set ..numemama = pSource.numemama Set ..clasa = pSource.clasa

Set ..telefon = pSource.telefon

Quit $$$OK

}

Method %OnStoreModel(pSource As Liceu.Elev) As %Status

{

Set pSource.nrmatricol = ..nrmatricol

Set pSource.nume = ..nume

Set pSource.prenume = ..prenume

Set pSource.Adresa1.strada = ..Adresa1.strada Set pSource.Adresa1.numar = ..Adresa1.numar Set pSource.Adresa1.bloc = ..Adresa1.bloc

Set pSource.Adresa1.apartament = ..Adresa1.apartament

Set pSource.datan = ..datan

Set pSource.numetata = ..numetata Set pSource.numemama = ..numemama Set pSource.clasa = ..clasa

Set pSource.telefon = ..telefon

Quit pSource.%Save()

}

}

II.3. Dezvoltarea aplicației „Baza de date elevi Liceul Teoretic

Filipeștii de Pădure” utilizând Caché Server Pages (CSP).

Cerința: Utilizând Caché Studio să se realizeze o aplicație de tip baze de date care să gestioneze date despre elevii Liceului Teoretic Filipeștii de Pădure.

Caché Server Page este o platformă pentru dezvoltarea și implementarea aplicațiilor

Web dinamice. Principalele componente ale platformei Caché Server Page sunt:

– Web Server – O aplicație care procesează cereri HTTP de la un client (de obicei, un browser Web) și retransmite cererile cu conținutul de tip CSP la gateway-ul CSP. Apoi se întoarce conținutul primit de la gateway-ul CSP la client. Caché suportă un număr de servere Web ale unei terțe părți, inclusiv Apache și Microsoft Internet Information Server (IIS);

– CSP Gateway – O bibliotecă partajată sau Dynamic Link Library (DLL), instalate și încărcate de Server –ul Web. Gateway-ul retrimite cereri cu conținutul CSP din Web Server la un server de CSP. Returnează conținutul CSP generat de server-ul CSP la server-ul de Web (vezi figura II.10.);

– CSP Compiler- Un set de clase și programe Caché situate pe server-ul CSP.

Compilatorul traduce paginile CSP în clase Caché și apoi le compilează;

– CSP Server – O aplicație care procesează cererile CSP care provin de la gateway-ul CSP. Utilizează compilatorul CSP pentru a traduce și compila codul de CSP. Instanțiază clasa CSP și apoi invocă metoda onpage pentru a genera conținutul CSP.

– CSP API% – Un pachet de clase pe care dezvoltatorii îl pot utiliza pentru codul claselor CSP. Pachetul include CSP.Page%, superclasa pentru toate clasele CSP.

– CSP Mark-Up Language – Un set de tag-uri și directive pe care dezvoltatorii le pot amesteca cu HTML pentru a crea pagini CSP.

Figura II.10. Schemă de funcționare platforma Caché Server Page”47

47 Preluare din Caché Studio, Caché Server Pages QuickStart, InterSystems, varianta Free

Codul sursă al paginii Elev.csp

<html>

<head>

<h3><marquee><b>Liceul Teoretic Filipestii de

Padure</b></marquee></h3>

<title> Liceul Teoretic Filipestii de Padure </title>

<table width="750" border="0" align="center" cellpadding="0" cell spacing="0">

<tr>

<td bgcolor="lightsalmon"><!– #BeginLibraryItem

"/Library/Top_links.lbi" –>

<div align="left" class="link"><span class="style1">

<a href="http://localhost:57772/csp/user/romana.csp"><basefont co lor="brown"><b><i>Lb.romana</b></a> &nbsp;&nbsp;&nbsp;

<a href="http://localhost:57772/csp/user/engleza.csp"><basefont c olor="brown"><b>Lb.engleza</b></a> &nbsp;&nbsp;&nbsp;

<a href="http://localhost:57772/csp/user/franceza.csp"><basefont color="brown"><b>Lb. franceza</b></a> &nbsp;&nbsp;&nbsp;

<a href="http://localhost:57772/csp/user/matematica.csp"><basefon t color="brown"><b><i>Matematica</b></a> &nbsp;&nbsp;&nbsp;

<a href="http://localhost:57772/csp/user/fizica.csp"><basefont co lor="brown"><b><i>Fizica</b></a> &nbsp;&nbsp;&nbsp;

<a href="http://localhost:57772/csp/user/chimie.csp"><basefont co

lor="brown"><b><i>Chimie</b></a> &nbsp;&nbsp;&nbsp;

<a href="http://localhost:57772/csp/user/biologie.csp"><basefont color="brown"><b><i>Biologie</b></a> &nbsp;&nbsp;&nbsp;

<a href="http://localhost:57772/csp/user/istorie.csp"><basefont c

olor="brown"><b><i>Istorie</b></a> &nbsp;&nbsp;&nbsp;

<a href="http://localhost:57772/csp/user/geografie.csp"><basefont color="brown"><b><i>Geografie</b></a> &nbsp;&nbsp;&nbsp;

<a href="http://localhost:57772/csp/user/edfizica.csp"><basefont color="brown"><b><i>Ed. Fizica</b></a> &nbsp;&nbsp;&nbsp;

<a href="http://localhost:57772/csp/user/informatica.csp"><basefo nt color="brown"><b><i>Informatica</b></a> &nbsp;&nbsp;&nbsp;

<a href="http://localhost:57772/csp/user/romana.csp"><basefont co

lor="brown"><b><i>Purtare</b></a> &nbsp;&nbsp;&nbsp;

</span></div>

<!– #EndLibraryItem –></td></i>

</tr>

</table>

</head>

<body bgcolor="lightyellow">

<head>

<title>Cache Server Page – BazaDateScoala.Elev (USER)</title>

</head>

<h2 align='center'><i>Formular introducere/modificare date elevi</i></h1>

<!– This function is needed by the search button on the form –>

<script language='javascript'>

<!–

function update(id)

{

#server(..formLoad(id))#;

return true;

}

// –>

</script>

<!– set the domain so error messages could be properly localized

–>

<csp:class DOMAIN='%CSPBind'>

<!– use CSP:OBJECT tag to create a reference to an instance of the class –>

<csp:object name='objForm' classname='BazaDateScoala.Elev' OBJID=

'#(%request.Get("OBJID"))#'>

<!– use csp:search tag to create a javascript function to invoke a search page –>

<csp:search name='form_search' classname='BazaDateScoala.Elev' wh ere='nume' options='popup,nopredicates' onselect='update'>

<form name='form' cspbind='objForm' cspjs='All' onsubmit='return form_validate();'>

<center>

<table cellpadding='3'>

<tr>

<td><b><div align='right'>nrmatricol:</div></b></td>

<td><input type='text' name='nrmatricol' cspbind='nrmatricol

' size='50'></td>

</tr>

<tr>

<td><b><div align='right'>*nume:</div></b></td>

<td><input type='text' name='nume' cspbind='nume' size='50' csprequired></td>

</tr>

<tr>

<td><b><div align='right'>prenume:</div></b></td>

<td><input type='text' name='prenume' cspbind='prenume' size

='50'></td>

</tr>

<tr>

<td><b><div align='right'>adresa:</div></b></td>

<td><input type='text' name='adresa' cspbind='adresa' size='

50'></td>

</tr>

<tr>

<td><b><div align='right'>datan:</div></b></td>

<td><input type='text' name='datan' cspbind='datan' size='10

'></td>

</tr>

<tr>

<td><b><div align='right'>numetata:</div></b></td>

<td><input type='text' name='numetata' cspbind='numetata' si ze='50'></td>

</tr>

<tr>

<td><b><div align='right'>numemama:</div></b></td>

<td><input type='text' name='numemama' cspbind='numemama' si ze='50'></td>

</tr>

<tr>

<td><b><div align='right'>nrtelefon:</div></b></td>

<td><input type='text' name='nrtelefon' cspbind='nrtelefon' size='50'></td>

</tr>

<tr>

<td><b><div align='right'>clasa:</div></b></td>

<td><input type='text' name='clasa' cspbind='clasa' size='50

'></td>

</tr>

<tr>

<td>&nbsp;</td>

<td><input type='button' name='btnClear' value='#(%response. GetText("","%CSPSearch","ClearBtn","clear"))#' onclick='form_new(

);'>

<input type='button' name='btnSave' value='#(%response.GetTe xt("","%CSPSearch","SaveBtn","save"))#' onclick='form_save();'>

<input type='button' name='btnSearch' value='#(%response.Get

Text("","%CSPSearch","SearchBtn","search"))#' onclick='form_searc h();'></td>

</tr>

<tr>

<td>&nbsp;</td>

<td><font color='#000088' size='2'>#(%response.GetText("","% CSPSearch","RequiredNote","(* Denotes required fields)"))#'</font></td>

</tr>

</table>

</center>

</form>

<h4 align='left'><b>Atentie !</b><br>

</h3>Campurile marcate cu * sunt obligatorii. Dupa fiecare elev introdus in baza de date se apasa butonul <b>Save</b> apoi butonul <b>Clear</b>.<br>

Pentru cautarea unui elev in baza de date se apasa butonul

<b>Search</b>. Data nasterii se introduce in formatul LL/ZZ/AAAA

<h3 align='center'><i>Realizat de prof. Dima Doina Marina,

2012</i></h3>

</body>

</html>

Figura II.11. Interfață realizată cu Caché Server Page48

Operațiile care se pot realiza prin intermediul acestei interfețe sunt următoarele:

– Vizualizarea elevilor înscriși în baza de date prin acționarea butonului

Search (căutare);

48 Preluare din Caché Studio InterSystems, varianta Free

– Adăugarea de noi instanțe/înregistrări (elevi) în baza de date cu

ajutorul butonului Save (Salvare);

– Căutarea/actualizarea instanțelor/înregistrărilor din baza de date din fereastra Search (căutare), vezi figura II.12;

– Ștergerea unei instanțe/înregistrări (elevi) din baza de date;

– Salvarea operațiilor realizate anterior acționînd butonul Save (Salvare);

– Conectarea cu ajutorul meniului la alte pagini de tip Caché Server Page pentru consultarea/încărcarea notelor la diferite discipline de studiu (vezi figura II.11.), dacă acest lucru este necesar;

– Sortarea instanțelor/înregistrărilor după un criteriu ales, din fereastra

Search (căutare);

Codul sursă al paginii de tip Caché Server Page, disciplina Limba română (figura II.13).

<html>

<head>

<h3><marquee><b>Liceul Teoretic Filipestii de

Padure</b></marquee></h3>

<title> Limba romana </title>

<FORM><INPUT TYPE="button" VALUE="Go

Back" onClick="history.go(-1);return true;"></FORM>

</head>

<body bgcolor="lightgreen">

<head>

<title>Cache Server Page – BazaDateScoala.Romana

(USER)</title>

</head>

<h2 align='center'><i>Formular introducere/vizualizare note elevi la disciplina Limba romana</i></h1>

<!– This function is needed by the search button on the

form –>

<script language='javascript'>

<!–

function update(id)

{

#server(..formLoad(id))#;

return true;

}

// –>

</script>

<!– set the domain so error messages could be properly localized –>

<csp:class DOMAIN='%CSPBind'>

<!– use CSP:OBJECT tag to create a reference to an instance of the class –>

<csp:object name='objForm' classname='BazaDateScoala.Romana' OBJID='#(%request.Get("OBJID"))#'>

<!– use csp:search tag to create a javascript function to invoke a search page –>

<csp:search name='form_search' classname='BazaDateScoala.Rom ana' where='nume' options='popup,nopredicates' onselect='upd ate'>

<form name='form' cspbind='objForm' cspjs='All' onsubmit='re

turn form_validate();'>

<center>

<table cellpadding='3'>

<tr>

<td><b><div align='right'>nrmatricol:</div></b></td>

<td><input type='text' name='nrmatricol' cspbind='nrmat ricol' size='50'></td>

</tr>

<tr>

<td><b><div align='right'>*nume:</div></b></td>

<td><input type='text' name='nume' cspbind='nume' size=

'50' csprequired></td>

</tr>

<tr>

<td><b><div align='right'>prenume:</div></b></td>

<td><input type='text' name='prenume' cspbind='prenume' size='50'></td>

</tr>

<tr>

<td><b><div align='right'>nota1:</div></b></td>

<td><input type='text' name='nota1' cspbind='nota1' siz e='10'></td>

</tr>

<tr>

<td><b><div align='right'>nota2:</div></b></td>

<td><input type='text' name='nota2' cspbind='nota2' siz e='10'></td>

</tr>

<tr>

<td><b><div align='right'>nota3:</div></b></td>

<td><input type='text' name='nota3' cspbind='nota3' siz e='10'></td>

</tr>

<tr>

<td><b><div align='right'>nota4:</div></b></td>

<td><input type='text' name='nota4' cspbind='nota4' siz e='10'></td>

</tr>

<tr>

<td><b><div align='right'>nota5:</div></b></td>

<td><input type='text' name='nota5' cspbind='nota5' siz e='10'></td>

</tr>

<tr>

<td><b><div align='right'>teza:</div></b></td>

<td><input type='text' name='teza' cspbind='teza' size=

'10'></td>

</tr>

<tr>

<td><b><div align='right'>media:</div></b></td>

<td><input type='text' name='media' cspbind='media' siz e='10'></td>

</tr>

<tr>

<td>&nbsp;</td>

<td><input type='button' name='btnClear' value='#(%resp onse.GetText("","%CSPSearch","ClearBtn","clear"))#' onclick=

'form_new();'>

<input type='button' name='btnSave' value='#(%response. GetText("","%CSPSearch","SaveBtn","save"))#' onclick='form_s ave();'>

<input type='button' name='btnSearch' value='#(%respons e.GetText("","%CSPSearch","SearchBtn","search"))#' onclick=' form_search();'></td>

</tr>

<tr>

<td>&nbsp;</td>

<td><font color='#000088' size='2'>#(%response.GetText( "","%CSPSearch","RequiredNote","(* Denotes required fields)"))#'</font></td>

</tr>

</table>

</center>

</form>

<h4 align='left'><b>Atentie !</b><br>

</h3>Campurile marcate cu * sunt obligatorii. Dupa fiecare elev introdus in baza de date se apasa butonul <b>Save</b> apoi butonul <b>Clear</b>.<br>

Notele se introduc in formatul cc/zl unde c=cifra, z=ziua, l=luna. Ex. 9/10x

Pentru cautarea unui elev in baza de date se apasa butonul

<b>Search</b>.<br>

Data nasterii se introduce in formatul LL/ZZ/AAAA

<h3 align='center'><i>Realizat de Dima Doina Marina,

2012</i></h3>

</body>

</html>

Figura II.12. Vizualizare fereastra opțiunii Search (căutare)49

Figura II.13. Vizualizare pagina Caché Server Page Limba română50

49 Preluare din Caché Studio InterSystems, varianta Free

50 Ibidem

După ce au fost realizate toate componentele aplicației „Baza de date elevi Liceul

Teoretic Filipeștii de Pădure”, spațiul de lucru al Caché Studio arată ca în figura II.14.

Figura II.14. Vizualizare spațiu de lucru Caché Studio51

Principalele avantaje sunt :

1. Accesibilitate. Sistemul poate fi utilizat atât in INTRANET (rețea locală) cât și în

INTERNET (pe web). Aplicația utilizează tehnologii web avansate de ultimă oră.

2. Implementare rapidă. Nu este necesară instalarea pe stațiile de client a aplicației.

Interfață intuitivă. Orice modificare se realizează doar pe server și este disponibilă imediat tuturor utilizatorilor. Mentenanța și service-ul pe server se poate face de la distanță.

Concluzie: Aplicația „Baza de date elevi Liceul Teoretic Filipeștii de Pădure” este un instrument util pentru managementul unei unități școlare în vederea creșterii eficienței gestionării datelor și eventual pentru părinți. Oferă o imagine clară, de ansamblu și în timp real asupra tuturor elevilor din unitatea școlară.

Aplicația utilizează baze de date postrelaționale CACHÉ, ceea ce asigură

funcționarea aplicației la o viteză superioară pentru un număr mare de utilizatori conectați concurențial. Fiind o aplicație web-based, permite actualizarea datelor și obținerea

51 Preluare din Caché Studio InterSystems, varianta Free

rezultatelor online în și din locațiile necesare în timp real. Fiecare înregistrare este marcată cu data server-ului, IP-ul stației și utilizatorul, asigurându-se tranșabilitatea tuturor tranzacțiilor.

CAPITOLUL III. CONSIDERAȚII METODOLOGICE

III.1. Principii didactice

În procesul de învățământ informatic regăsim următoarele principii didactice:

a) Principiul participării active și conștiente a elevilor la procesul de învățământ

„Atitudinea conștientă a elevilor în procesul de învățământ presupune înțelegere.”52

„Participarea conștientă presupune o trezire a voinței de a cunoaște și amplificarea, alimentarea continuă a acestei apartenențe”53.

La o lecție de informatică, de exemplu, pentru unitatea de învățare “Modele de baze de date (modelul relațional, modelul rețea, modelul ierarhic)”, un obiectiv propus este “formarea conștientă de priceperi și deprinderi în utilizarea modelelor de baze de date”.

La operaționalizarea obiectivului respectiv apar ca sarcini pentru elevi:

– să definească cele trei tipuri de modele de baze de date;

– să cunoască principalele caracteristici ale celor trei tipuri de modele de baze

de date;

– să recunoască cele trei tipuri de modele de baze de date;

Aceste sarcini arată respectarea principiului participării active. Profesorul va trebui

să specifice și sarcinile care arată înțelegerea:

– să explice diferențele dintre cele trei tipuri de modele de baze de date;

– să modeleze în trei moduri diferite o situație concretă (de exemplu unitatea de învățământ);

b) Principiul sistematizării și continuității asigură ordonarea informațiilor, programarea acțiunilor, organizarea componentelor procesului de învățământ. Rolul planificării anuale sau semestriale realizată de către profesor este de a sistematiza cunoștințele, respectând programa analitică. Principiul sistematizării este evidențiat în proiectul de lecție în relația reactualizare-dobândire de cunoștințe.

„Activitatea individuala conștientă a elevului ar trebui să fie esențială.

52 Petre, C. et al., 2002, p. 41.

53 Cucoș, C., 1996, p. 65

Cunoștințele nu se pot asimila în salturi, iar deprinderile neexersate se pierd (în special în informatică, unde rata de perisabilitate a acestora este foarte ridicată)”54.

„În fapt, consecințele respectării acestui principiu constau în formarea deprinderilor de muncă sistematică, a perseverenței, a conștiinciozității, a spiritului de disciplină în gândire și acțiune, a unui stil de muncă eficientă și coerentă”55.

c) Principiul accesibilității cunoștințelor și deprinderilor garantează transmiterea cunoștințelor conform puterii de înțelegere a elevilor, tinând cont de particularitățile de vârstă, abordând cu atenție sporită dificultățile care intervin în procesul de asimilare a cunoștințelor.

Exemplu: predarea unui limbaj de tip SQL.

d) Principiul corelației între senzorial și rațional în procesul de învățământ

(principiul intuiției)

Elevii trebuie să înțeleagă clar materialul didactic, ceea ce înseamnă participare conștientă, iar însușirea materialului solicitând gândirea și prin studiu individual, înseamnă participarea activă.

Exemple de analogii: asemănarea unei relații ierarhice cu o structură arborescentă, a unei relații redundante cu un cerc sau a relației de tip “la mai mulți” cu un picior de cioară.

e) Principiul pașilor “mici”

Înseamnă fracționarea materiei de studiu în secvențe informaționale mici pentru a facilita învățarea și înțelegerea noilor cunoștințe.

Exemplu: Actualizarea datelor dintr-o tabelă se poate împărți in trei categorii:

– adăugarea rândurilor într-o tabelă (comanda INSERT)

– ștergerea rândurilor dintr-o tabelă (comanda DELETE)

– modificarea rândurilor dintr-o tabelă (comanda UPDATE)

54 Cursul 4 –Metodica predării informaticii. Principii didactice

55 Cucoș, C., 1996, p. 63

f) Principiul asigurării progresului gradat al performanțelor în pregătire și al înlăturării treptate a „punctului de sprijin”

Principiul dă posibilitatea introducerii gradate a noțiunilor noi și creșterea graduală a complexității materiei de studiu.

Exemplu: Comanda SELECT

Clauzele comenzii trebuie studiate pe rând, în ordinea specificată în sintaxă, excepție făcând clauzele CONNECT BY, GROUP BY și HAVING.

g) Principiul conexiunii inverse (feedback-ului)

Oferă posibilitatea reglării procesului de învățământ și realizează conexiunea inversă, prin modificarea asimilării cu o mărime corectoare care permite aducerea rezultatelor procesului de instruire la nivelul mărimii de intrare sau chiar devansarea acesteia, dacă este posibil. Conexiunea inversă este asigurată de activitatea de evaluare.

III.2. Metode și procedee utilizate în predarea bazelor de date

„Am definit metoda ca: drum sau cale de urmat în activitatea comună a educatorului și educaților, pentru îndeplinirea scopurilor învățământului, adică pentru informarea și formarea educaților”56.

Procesul de predare are trei etape, iar fiecare etapă necesită metode adecvate:

Prezintă: Metoda de prezentare de noi cunoștințe elevilor sau de încurajare în a le găsi singuri, „ceea ce poate implica fapte, teorii, concepte, povestiri”57 etc.

Aplică: Metode care să-i oblige pe elevi să aplice noile cunoștințe care le-au fost doar prezentate. Aceasta este „singura modalitate de a te asigura că elevii formează concepte despre noul material pentru a-l întelege și a-l folosi corect pe viitor”58.

Recapitulează: Metode de încurajare a elevilor să-și „amintească vechile cunoștințe în vederea clarificării și concentrării asupra punctelor cheie”59, asigurării unei bune înțelegeri și punerii în practică și verificării cunoștințelor mai vechi.

Acest capitol pune accentul pe metodele active de prezentare a noilor cunoștințe

elevilor. De ce să folosim strategii de “prezentare” activă?

56 Bălan, B. et al., 1998, p. 143.

57 Opriș, D. & Opriș, M., 2008, p. 24.

58 Ibidem, p. 24-25.

59 Ibidem, p. 25.

„Toate studiile arată că învățarea vine în urma exercițiului, adică punând în practică ceea ce am învățat pentru a putea, de exemplu, răspunde la întrebări. Acest lucru îi determină pe elevi să prelucreze informația și să îi confere un sens găsit de ei. Acest proces este numit constructivism”60.

Studiile subliniază faptul că atunci când sunt utilizate metodele active:

– elevii memorează, creează;

– învățarea este mai profundă, cunoștințele se aplică mai bine;

– elevii dezvoltă aptitudini de gândire mai bune;

– orele sunt mai apreciate de elevi;

– învățarea activă îi determină pe elevi să-și formeze propriul mecanism de înțelegere a materialului și propria perspectivă.

Verifică nivelul de învățare: Se poate obține feedback asupra gradului de înțelegere a materialul și pot fi corectate noțiunile înțelese greșit. Elevii „își dezvoltă propriile aptitudini de gândire și de înțelegere propriu-zisă a temei, exersând în același timp și aptitudinile care le vor fi verificate. Cele mai importante blocaje în dezvoltarea reactivității sunt, cel mai probabil, cele de natură emotivă. Pur și simplu teama de a greși împiedică procesul creativ”61, unii elevi refuzând să-și ducă sarcina la îndeplinire din această cauză.

Brainstorming-ul – metoda asaltului de idei

„Nu este practic o metodă didactică, ci o metodă de stimulare a creativității ce se poate insinua în discuții, dezbateri și – în general – atunci când se urmărește formarea la elevi a unor calități imaginative, creative și chiar a unor trăsături de personalitate (spontaneitate, altruism)”62. Metoda separă momentul de producere a ideilor de cel de valorificare a lor, fiind numită și „metoda evaluării amânate sau filosofia marelui DA”63.

În momentul producerii ideilor se acceptă orice idee fără să se critice sau fără să se dea o judecată de valoarea asupra ei. Selectarea propriu-zisă se face după un anumit timp, când toate ideile se compară și se aleg cele mai bune dintre ele.

Exemplu: Metoda se poate aplica la lecția „Diagrama entități relații” (profesorul poate lansa întrebarea Ce semnificație au pentru voi cuvintele diagramă, entitate, relație?) sau pentru lecția „Atribute. Identificatori unici” (unde elevilor li se poate adresa întrebarea

Ce semnificație au pentru voi cuvintele atribut, identificator, unic?). La aceste întrebări

60 Cucoș, C., 1995, p. 18.

61 Oprea, C. L., 2003, p. 32.

62 Cucoș, C., 1996, p. 94

63 Ibidem

elevii pot veni cu ideile lor care vor fi notate pe flipchart sau pe tablă și la final vor fi selectate cele mai bune. Această acțiune, totuși, nu trebuie să dureze foarte mult, maxim 10 minute.

Metoda are dublu aspect:

– metodă de studiu, de învățare;

– metodă de creativitate și investigație științifică;

Etapele de desfașurare a metodei, care mai este numită și metoda asaltului de idei,

sunt:

1. comunicarea temei (problemei), a obiectivelor și importanței ei;

2. participanții emit idei, formule, soluții, etc. de abordare sau de rezolvare a temei;

3. ședința de asalt de idei se încheie atunci când profesorul consideră că s-au adunat date suficiente pentru rezolvărea problemei;

4. evaluarea datelor și stabilirea concluziilor (soluțiilor) de rezolvare.

Algoritmizarea

„Este modalitatea de a studia un obiect, fenomen, proces etc. sau de a rezolva o

problemă teoretică sau practică prin intermediul algoritmilor.

Algorimii se exprimă sub formă de rețete, prescripții, formule, coduri, reguli și chiar modele tipice de natură matematică, logică, practică”64.

Etapele algoritmizării sunt:

1. Conceperea algoritmului

2. Analiza algoritmului

3. Verificarea algoritmului

În cadrul disciplinei Informatică, algoritmizarea poate fi considerată a fi o latură a fiecăreia dintre metodele cunoscute.

Exemplu: Lectia Diagrama entități-relații. Se pleacă de la un scenariu propus de

profesor. Se elaborează algoritmul:

– se identifică entitățile, se stabilesc atributele și opționalitatea acestora, identificatorii unici, respectând convențiile de reprezentare a acestora;

– se stabilesc relațiile existente între entități, cardinalitatea, opționalitatea acestora și se denumesc, respectând convențiile de reprezentare a acestora;

– normalizarea (entitățile să respecte cele trei forme normale);

64 Petre, C., 2002, p. 62.

Problematizarea

„Problem-solving este modalitatea de a crea în mintea elevului o situație conflictuală (critic sau de neliniște) intelectuală pozitivă, determinată de necesitatea cunoașterii unui obiect, fenomen, proces sau rezolvării unei probleme teoretice sau practice pe cale logico- matematică și/sau experimental. Denumită și “predare prin rezolvare de probleme”, problematizarea reprezintă una dintre cele mai utile metode, prin potențialul său euristic și

activizator”65. Această metodă are un caracter activ-participativ, formativ și euristic, fiind

capabilă să determine activitatea independentă, să antreneze și să dezvolte capacitățile intelectuale (creative, imaginația și gândirea logică, de investigație și explorare, productive) prin formularea de ipoteze, variante de soluții de rezolvare.

„Specificul metodei constă în faptul că profesorul nu comunică pur și simplu, ci îi pune pe elevi în situația de a descoperi, în urma creării unei situații problematice (mai puțin prin punerea unor întrebări).

Tipurile de problematizare:

întrebarea problemă, folosită în verificările curente, produce o stare conflictuală intelectuală restrânsă ca dificultate și complexitate, prin abordarea unei singure chestiuni, informație, etc.;

problema, presupune utilizarea unor elemente cunoscute în scopul determinării unor date necunoscute, producând un conflict intelectual mai complex;

situația problemă, este cel mai puternic și complex tip de problematizare, starea conflictuală produsă fiind de nivel maxim;

Etapele problematizării:

1. crearea (alegerea) tipului de problematizare;

2. reorganizarea fondului aperceptiv, dobândirea de noi informații și restructurarea datelor vechi cu cele noi, într-un sistem unitar;

3. stabilirea/elaborarea variantelor informative sau acționale de rezolvare și alegerea soluției optime;

4. verificarea (eventual experimentală) soluției alese;

Potențialul pedagogic al instruirii prin problematizare:

– stimulează participarea elevului la cunoaștere prin efort propriu;

– contribuie substanțial la educarea sistemului de gândire;

– sprijină formarea unor deprinderi de muncă intelectuală;

– familiarizează elevul cu modul de soluționare a unor situații tipice cu care se va putea întâlni în practica profesională;

– contribuie la perfecționarea relației profesor-elevi în sensul stimulării cooperării și concomitent al eliminării relațiilor aversive sau de autoritate restrictivă.”66

Exemplu: Lectia Transformarea modelului conceptual al bazei de date în modelul

fizic.

Se consideră diagrama entități-relații din fișa de lucru din ANEXA NR. 2. Să se realizeze maparea completă.

Turul galeriei

Aceasta tehnică este, la rândul ei, un motivator al învățării în grup. În principiu, cursanții divizați în microgrupuri lucrează la rezolvarea unei probleme controversate ce are firesc, mai multe soluții posibile.

Exemplu: Dându-se un scenariu pentru care elevii trebuie să realizeze diagrama entități-relații, soluțiile posibile pot fi mai multe. Rezultatul interacțiunii membrilor fiecărei echipe este descris pe câteva foi mari, de flipchart și este afișat ca și tablourile într-o expoziție/ galerie de artă (de unde și numele metodei). Unul dintre membrii fiecărei echipe rămâne în postura de “ghid” așteptând „vizitatorii” (membri ai celorlalte echipe). Aceștia vin, pun întrebări, notează în josul fiecărei file (ori pe o filă alăturată) comentarii, idei, critici și soluții. La încheierea “turului”, fiecare echipă își reexaminează rezultatele prin comparație cu soluțiile văzute la ceilalți, prin utilizarea listei de comentarii făcute de cei care au vizitat “standul” lor etc.

Această tehnică reprezintă un motivator important pentru învățare și aduce cu sine o implicare majoră a cursanților.

O variantă a Turului galeriei presupune ca fiecare dintre cursanți să primească o filă de flipchart și să scrie pe ea rezolvările la problema pe care a primit-o spre soluționare (tot grupul primește aceeași problemă). Atunci când i se pare că a rămas “blocat”, că este “în pană de idei”, cursantul se poate ridica de la locul său și să viziteze “atelierele” celorlalți, privindu-le munca, prin asociație de idei găsind noi resurse pentru propriul demers. Ulterior,

tehnica se poate continua ca în exemplul de mai sus.

66 Petre, C., 2002, p. 64-66.

În vățarea prin descoperir e

„Descoperirea este o strategie complexă de predare-învățare care oferă elevilor posibilitatea de a dobândi cunoștințele prin efort personal, independent. Este o metodă de factură euristică și constă în crearea condițiilor de reactualizare a experienței și capacităților individuale, în vederea rezolvării unor situații-problemă.[…]

Premisa inițială constă în delimitarea a ceea ce este util și oportun să fie oferit elevului și ce este necesar să fie lăsat acestuia să descopere din proprie inițiativă sau orientat, dar cu efort personal.

Descoperirea asigură o învățare cucerită, bazată pe problematizare și cercetare, pe experiență directă și concretă, creativă. […]

Ea poate să dinamizeze elevul spre căutări, explorări și muncă individuală sau în echipă, prin documentare și activități experimental-aplicative, prin investigație științifică și tehnică. Rezultatul aplicării metodei este nu numai dobândirea tezaurului cunoașterii umane, ci chiar obținerea unor idei și soluții noi, realizarea unor inovații și invenții.

În plus, metoda descoperirii are un rol formativ asigurând dezvoltarea capacităților intelectuale și profesionale, îndeosebi imaginația și gândirea creatoare, accentuând caracterul activ-participativ, formativ-aplicativ și creativ al învățării.[…]

Descoperirea își propune ca scop și modalități de realizare câteva deziderate:

– pregătirea tinerilor pentru a învăța cum să învețe singuri sau în echipă, atât în planul documentării informaționale cât și în planul investigației experimentale;

– îmbinarea eforturilor elevului cu îndrumările profesorului;

– implicarea tuturor dimensiunilor personalității elevilor: cognitivă, afectivă, etică, evaluativă, estetică;

– folosirea îmbinată a metodelor activ-participative, formativ-euristice și creative (în strategii cum sunt discuția, modelarea, algoritmizarea, problematizarea, studiul de caz, asaltul de idei, etc.)

– dezvoltarea creativității, a spiritului de luptă pentru nou, împotriva rigidității, a rutinei, suficienței, etc.;

– antrenarea elevilor în rezolvarea unor probleme cerute de producție, cercetare, inovație, etc.;

– antrenarea elevilor în activitatea cercurilor tehnico-științifice.”67

Exemplu: În Oracle Database 10g Express Edition, să se creeze o aplicație cu ajutorul Application Builder, pornind de la tabelele ECHIPE (cod NUMBER 3(pk), nume VARCHAR2 40, localitate VARCHAR2 40, adresa VARCHAR2 50, telefon CHAR 13) și JUCĂTORI (id NUMBER 3(pk), nume VARCHAR2 40, prenume VARCHAR2 40, datan DATE, telefon CHAR 13, email VARCHAR2 40, codechipa NUMBER 3(fk)).

Metoda con vers ați ei

„Metoda conversației se referă la dialogul dintre profesor și elev, în care profesorul nu trebuie să apară în rolul examinatorului permanent, ci în rolul unui colaborator care nu numai întreabă, ci și răspunde la întrebările elevilor. Prin metoda conversației se stimulează gândirea elevilor în vederea însușirii, fixării și sistematizării cunoștințelor și deprinderilor, în vederea dezvoltării spiritului de colaborare și de echipă. Se asigură astfel o participare activă din partea elevilor, întrebările putând fi adresate (teoretic) în orice moment al lecției. Metoda conversației este frecvent utilizată în învățarea informaticii, ea implicând un dialog continuu între elev și profesor, respectându- se anumite reguli elementare de colaborare constructivă care să nu determine

diminuarea demersului didactic, ci să-1 amplifice și să-1 consolideze”.68

Conversația didactică poate îmbrăca forme diferite, în funcție de anumite criterii, în funcție de numărul de persoane, ea poate fi:

– Individuală. Se poartă între un elev și profesor.

– Colectivă sau frontală, întrebările sunt adresate întregii clase, iar răspunsurile

„vin" de la diferiți elevi.

„Această metodă mai are și următoarele subdirecții:

– Euristică. Nu există reguli precise, se bazează doar pe întrebare/răspuns, în funcție de evoluția concretă a dialogului.

– Tip dezbatere. Se realizează un schimb de păreri în care este implicat un anumit colectiv. Ar fi bine să fie trase și niște concluzii care să nu aibă doar un rol istoric.

– Catehetică. Aceasta impune efectuarea unor teste care implică memoria. ”69

67 Petre, C.,2002, p. 67-68, 69.

68 Metodica predării informaticii. Metode, tehnici, procedee didactice.

69 Cursul 1 –Metodica predării informaticii.

Metoda „ciorch in elu i” poate fi utilizată individual sau în grup „în scopul stimulării gândirii libere și creative, de tip divergent”70, precum și „în scopul sesizării și evidențierii conexiunilor dintre idei, construirii de noi idei și de noi sensuri și semnificații”71.

Această metodă presupune mai multe etape:

– scrierea unui „cuvânt–cheie” în la mijlocul tablei sau al foii de hârtie (de exemplu

diagrama entități-relații);

– identificarea și scrierea altor sintagme/cuvinte legate de „cuvântul- nucleu” (de exemplu atribut, identificator unic, reguli, opționalitate, cardinalitate, forme normale, etc.);

– identificarea și realizarea conexiunilor dintre cuvinte/sintagme, prin linii sau săgeți;

– prezentarea și discutarea „ciorchinelui”.

Profesorul va îndemna elevii să noteze toate ideile care le au referitor la cuvântul/sintagma cheie, realizând cât mai multe conexiuni între idei, fără însă a face judecăți de valoare. De asemenea, dacă este cazul, profesorul va indica în prealabil anumite informații care să-i ghideze pe elevi, realizându-se astfel un ciorchine semidirijat.

Exemplu: „Ciorchinele” poate fi utilizat cu succes la lecția „Implementarea modelului conceptual”, elevii fiind solicitați să noteze, timp de un minut, toate noțiunile care le vin în minte. Profesorul notează și împreună cu elevii leagă între ele elementele identificate de aceștia, completând acolo unde este cazul. (vezi și ANEXA Nr.1)

Ș ti u / Vreau să șt iu / Am î n vățat

Profesorul propune elevilor de clasa a XII-a tema lecției “Elemente de bază ale SQL. Nume, cuvinte rezervate, constante, variabile, expresii, operatori”. Cu grupuri mici sau cu întreaga clasă, se trece în revistă ceea ce elevii știu deja despre o anumită temă și apoi se formulează întrebări la care se așteaptă găsirea răspunsului în lecție. Pentru a folosi această metodă se solicită elevilor să formeze perechi și să facă o listă cu tot ce știu despre tema ce urmează a fi discutată. În acest timp, se construiește pe tablă un tabel cu

următoarele coloane: Știu/ Vreau să știu/ Am învățat, ca cel de mai jos:

70 Cucoș, C., 1995, p. 21.

71 Oprea C. L., 2003, p. 38.

Tabelul III.1. „Metoda Știu/ Vreau să știu/ Am învățat”72

ȘTIU

CE CREDEM CA ȘTIM ?

VREAU SĂ ȘTIU

CE VREM SĂ ȘTIM ?

AM ÎNVĂȚAT

CE AM ÎNVĂȚAT ?

Elevii comunică celorlalți ce au scris în liste, se notează lucrurile cu care toată lumea este de acord în coloana din stânga. Poate fi util să se grupeze informațiile pe categorii. Elevii pot formula întrebări despre lucrurile de care nu sunt siguri, apoi completează coloana “Vreau să știu“. Se transmit noile cunoștințe. Se analizează la care întrebări s-au găsit răspunsuri în coloana “Am învățat”. Se revine la întrebările care au rămas fără răspuns și se discută cu elevii. Unele dintre întrebările lor s-ar putea să rămână fără răspuns și s-ar putea să apară întrebări noi. În acest caz întrebările pot fi folosite ca punct de plecare pentru investigații ulterioare.

Pentru tema propusă de profesor, elevii vor putea să completeze coloana ȘTIU deoarece au învățat în anii anteriori despre cuvinte rezervate, constante, variabile, expresii, operatori, în cadrul orelor de predare a limbajului de programare Pascal.

Metode frecvent utilizate în predarea disciplinei Informatică

Analiza SWOT73

Brainstorming –ul

Tabelul III.2. Analiza SWOT Brainstorming

72 Suport de curs “Noi didactici în viziune transdisciplinară”, Educația 2000+. Proiectul Profesorul 2000+. Un profesionist al școlii moderne

73 Strengths, Weaknesses/Limitations, Opportunities, and Threats (Analiza Puncte tari/Puncte slabe,

Oportunități, Amenințări)

Problematizarea

Tabelul III.3. Analiza SWOT Problematizare

Metoda Ciorchinelui

Tabelul III.3. Analiza SWOT Ciorchinele

Metoda Turul Galeriei

Tabelul III.4. Analiza SWOT Turul Galeriei

PROIECT DIDACTIC Școala: LICEUL TEORETIC FILIPEȘTII DE PĂDURE Disciplina: INFORMATICĂ

Clasa: a XII-a

Profesor: DIMA DOINA MARINA Data: 24.11.2011

Unitatea de învățare: MAPARE

Tema: MAPAREA ENTITĂȚILOR ȘI RELAȚIILOR ÎN CADRUL ERD74

Tipul lecției: Lecție de formare de deprinderi și priceperi – laborator

Nivelul inițial al clasei: Elevii și-au însușit noțiunile teoretice legate de entități, relații,

normalizare

Competențe generale: Identificarea datelor care intervin într-o problemă și aplicarea

algoritmilor fundamentali de prelucrare a acestora

Competențe specifice:

– Maparea corectă a entităților din diagrama entități-relații (ERD);

– Maparea corectă a diferitelor tipuri de relații între entități;

– Implementarea în Oracle Application Express sau Oracle Database 10g

Express Edition a aplicației propuse;

Obiective educaționale:

Obiective cognitive:

– să definească noțiunea de normalizare a datelor;

– să definească corect modul în care se realizează maparea entităților și relațiilor;

– să definească corect modul în care se realizează maparea tipurilor, subtipurilor,

arcelor;

Obiective afective:

– să argumenteze corect alegerea unei variante;

– să aprecieze corect soluțiile oferite de ceilalți membri ai grupului;

– să se autoevalueze în raport cu obiectivele și cu clasa;

Obiective psihomotorii:

– să utilizeze corect noțiunile teoretice însușite;

– să identifice și să remedieze greșelile intervenite în procesul de mapare;

74 Entity Relationship Diagram (Diagrama entități – relații)

– să implementeze tabelele în Oracle Application Express sau Oracle Database

10g Express Edition;

Obiective operaționale:

La sfârșitul lecției elevii vor fi capabili :

– să definească ERD75;

– să normalizeze datele,

– să descrie modul în care se mapeaza fiecare componentă ERD;

– să realizeze tabelele corespunzătoare entităților și relațiilor din ERD în Oracle

Database 10g Express Edition sau Oracle Application Express;

Strategii didactice:

Principii didactice:

– principiul participării și învățării active;

– principiul asigurării progresului gradat al performanței;

– principiul conexiunii inverse;

Metode de învățământ:

– expunerea, conversația frontală și individuală, explicația, problematizarea,

munca independentă, exercițiul aplicativ, metoda ciorchinelui

Procedee de instruire:

– explicația în etapa de comunicare;

– învățarea prin descoperire, prin rezolvare de probleme;

– problematizarea prin creearea situațiilor problemă;

– conversația de consolidare în etapa de fixare a cunoștințelor;

Forme de organizare: frontală și individuală;

Forme de dirijare a învățării: dirijată de profesor sau independentă;

Mijloace didactice: – material bibliografic: Carmen Popescu – Manual de informatică

pentru clasa a XII-a, Editura L&S Info-mat, București, 2007;

– fișe de lucru, calculator, Oracle Application Express sau Oracle

Database 10g Express Edition;

Metode de evaluare:

– evaluare inițială: întrebări orale;

– aplicație;

75 Entity Relationship Diagram (Diagrama entități – relații)

Organizarea activității:

80

76 Entity Relationship Diagram (Diagrama entități – relații)

81

PROIECT DIDACTIC

Școala: LICEUL TEORETIC FILIPEȘTII DE PĂDURE

Disciplina: INFORMATICĂ

Clasa: a XII-a

Profesor: DIMA DOINA MARINA Data: 27.04.2012

Unitatea de învățare: REALIZAREA PROIECTELOR

Tema: REALIZAREA UNEI APLICAȚII ÎN ORACLE 10G EXPRESS EDITION Tipul lecției: Lecție de transmitere/însușire de cunoștințe

Nivelul inițial al clasei: Elevii și-au însușit noțiunile teoretice legate de maparea

componentelor ERD

Competențe generale: Identificarea datelor care intervin într-o problemă și aplicarea

algoritmilor fundamentali de prelucrare a acestora

Competențe specifice:

– Utilizarea instrumentelor de dezvoltare a unei aplicații;

– Elaborarea și realizarea unei aplicații, folosind un mediu de programare

specific;

– Implementarea în Oracle Application Express sau Oracle Database 10g

Express Edition a aplicației propuse.

Obiective educaționale:

Obiective cognitive:

– să definească corect modul în care se realizează maparea componentelor ERD;

– să cunoască pașii necesari pentru realizarea unei aplicații;

– să cunoască etapele necesare a fi parcurse pentru adăugarea altor componente în paginile aplicației (calendandar, butoane, regiuni de diverse tipuri, câmpuri calculate, etc.).

Obiective afective:

– să argumenteze corect alegerea unei variante;

– să aprecieze corect soluțiile oferite de ceilalți membri ai grupului;

– să se autoevalueze în raport cu obiectivele și cu clasa;

Obiective psihomotorii:

– să utilizeze corect noțiunile teoretice însușite;

– să identifice și să remedieze greșelile intervenite în procesul de creare a alicației;

– să implementeze în Oracle Application Express sau Oracle Database 10g

Express Edition, opțiunea Application Builder;

Obiective operaționale:

La sfârșitul lecției elevii vor fi capabili :

– să descrie modul în care se realizează o aplicație în Oracle Database 10g

Express Edition sau Oracle Application Express;

– să utilizeze opțiunea Application Builder din Oracle Database 10g Express Edition sau Oracle Application Express pentru a crea o aplicație ce va putea fi utilizată ca proiect în vederea obținerii atestatului profesional;

Strategii didactice:

Principii didactice:

– principiul participării și învățării active;

– principiul asigurării progresului gradat al performanței;

– principiul conexiunii inverse;

Metode de învățământ:

– expunerea, conversația frontală și individuală, explicația, problematizarea,

munca independentă, exercițiul aplicativ;

Procedee de instruire:

– explicația în etapa de comunicare;

– problematizarea prin creearea situațiilor problemă;

– conversația de consolidare în etapa de fixare a cunoștințelor;

Forme de organizare: frontală și individuală;

Forme de dirijare a învățării: dirijată de profesor sau independentă;

Mijloace didactice: – material bibliografic: Carmen Popescu – Manual de informatică

pentru clasa a XII-a, Editura L&S Info-mat, București, 2007;

– fișe de lucru, calculator, Oracle Application Express sau Oracle

Database 10g Express Edition, videoproiector;

Metode de evaluare:

– evaluare inițială: întrebări orale;

– aplicație;

Organizarea activității:

84

85

86

87

88

89

III.3. Evaluarea în informatică

În procesul de învățământ, există o strânsă legătură între activitățile de predare, învățare și evaluare. O schimbare produsă la nivelul uneia dintre aceste activități modifică modul în care se realizează celelalte, conducând la o reacție în lanț, care implică reveniri și revizuiri. Rezultă că, predarea-învățarea-evaluarea trebuie proiectate în același timp.

„Activitatea de evaluare cuprinde trei etape principale:

– măsurarea rezultatelor școlare prin procedee specifice, utilizând instrumentele potrivite scopului urmărit (probe scrise/orale/practice, proiecte, portofolii);

– aprecierea rezultatelor pe baza unor criterii unitare (bareme de corectare și notare, descriptori de performanță, standarde, etc);

– formularea concluziilor care se desprind în urma interpretării rezultatelor obținute în vederea adoptării deciziei educaționale adecvate.”77

Funcțiile generale ale evaluării sunt:

– funcția diagnostică

– funcția prognostică

– de certificare

– de selecție

„Mai există și câteva funcții specifice ale evaluării:

– funcția motivațională, în scopul de a stimula activitatea de învățare a elevilor prin

utilizarea a feedback-ului pozitiv oferit de activitatea de evaluare;

– funcția de orientare școlară și profesională, cu ajutorul căreia se furnizează informații utile elevilor în vederea alegerilor ulterioare.

Există mai multe clasificări ale tipurilor de evaluare. După modul în care se integrează în desfășurarea procesului didactic, evaluarea poate fi de trei tipuri:

– evaluare inițială: se realizează la începutul unui nou ciclu de învățare;

– evaluare formativă: însoțește întregul parcurs didactic, realizându-se prin

verificări sistematice ale tuturor elevilor asupra întregii materii;

– evaluarea sumativă: se realizează, de obicei, la sfârșitul unei perioade mai lungi

de instruire.

77 Metodica predării informaticii. Evaluarea în informatică.

tipuri:

După răspunsul la întrebarea cine realizează evaluarea, aceasta poate fi de două

– evaluare internă: realizată de aceeași persoană/instituție care a asigurat realizarea procesului didactic;

– evaluare externă: este efectuată de o persoană/instituție alta decât de cea care a

asigurat realizarea procesului didactic.

o Din categoria metodelor tradiționale de evaluare fac parte :

– probele orale;

– probele scrise;

– probele practice;

Metodele complementare de evaluare, mai puțin cunoscute, au un puternic

caracter formativ prin sprijinul acordat elevului. Dintre acestea amintim:

– observarea sistematică a activității și a comportamentului elevilor;

– investigația;

– proiectul;

– portofoliul;

– autoevaluarea.”78

Metoda este cea care impune demersul de proiectare și realizare a evaluării, începând cu stabilirea obiectivelor de evaluare și terminând cu construirea și aplicarea instrumentului de evaluare. Din acest motiv, instrumentul de evaluare este parte integrantă a metodei, fiind cel care concretizează la nivel de produs opțiunea metodologică a profesorului pentru măsurarea și aprecierea cunoștințelor și competențelor elevului într-o situație educațională bine definită.

„Principalele calități ale unui instrument de evaluare, pe care îl vom numi în continuare test (pentru simplitate) sunt : validitatea, fidelitatea, obiectivitatea și aplicabilitatea.”79

Tipuri de itemi

Testelor grilă se pretează foarte bine la aplicațiile multimedia, de aceea este

important modul în care alegem tipurile de itemi care vor forma testul.

Definiția itemului:

Item = <întrebare> + <formatul acesteia> + <răspunsul așteptat>

78 Metodica predării informaticii. Evaluarea în informatică.

79 Ibidem

Există mai multe criterii pe baza cărora pot fi clasificați itemii. Unul din criteriile cel mai des utilizate este acela al gradului de obiectivitate oferit în corectare. În funcție de acest criteriu, itemii pot fi clasificați în trei mari categorii :

1. itemi obiectivi;

2. itemi semiobiectivi;

3. itemi subiectivi (cu răspuns deschis ).

„Itemii obiectivi asigură un grad de obiectivitate ridicat în măsurarea rezultatelor școlare și testează un număr mare de elemente de conținut într-un interval de timp relativ scurt. Răspunsul așteptat este bine determinat, ca și modalitatea de notare a acestuia.

Itemii semiobiectivi permit ca răspunsul așteptat să nu fie totdeauna unic determinat, modalitatea de corectare și notare inducând uneori mici diferențe de la un corector la altul. Aceștia testează o gamă mai variată de capacități intelectuale, oferind în același timp posibilitatea de a utiliza și materiale auxiliare în rezolvarea sarcinilor de lucru

propuse.

Itemii subiectivi (cu răspuns deschis) solicită un răspuns amplu, permițând valorificarea capităților creative ale elevilor. Aceștia sunt relativ ușor de construit, principala problemă constituid-o modul de elaborare a schemei de notare astfel încât să se poată obține unitate și uniformitate la nivelul corectării”.80

Aceste tipuri de itemi le vom discuta și exemplifica mai departe pentru cazul disciplinei Informatică.

1. Itemi obiectivi

Itemii obiectivi și cei semiobiectivi sunt frecvent utilizați în elaborarea instrumentelor de evaluare la disciplina Informatică.

1.1. Itemi cu alegere duală. Exemple din Informatică.

Alegerea duală implică formularea unei cerințe cu două variante de răspuns

( Adevărat/Fals, Da/Nu, Corect /Incorect ).

Atunci când proiectăm itemi cu alegere duală trebuie să respectăm următoarele:

– enunțul să fie clar formulat, fără ambiguități;

Exemplu: Întrebarea „Este corectă comanda SELECT nume, prenume, localitate FROM persoane?” generează o altă întrebare : din ce punct de

80 Metodica predării informaticii. Evaluarea în informatică.

vedere? Din punct de vedere sintactic este corectă, dar din punct de vedere semantic nu este corectă.

– se evită enunțurile foarte generale atunci cînd se solicită aprecierea cu

ADEVĂRAT/FALS;

– se selectează enunțuri reprezentative pentru domeniul de cunoaștere sau categoria de competență testată.

Exemplu: Propoziția „Orice sistem de gestiune a bazelor de date este format din una sau mai multe componente. (ADEVĂRAT/FALS) ” este nesemnificativă din punct de vedere științific.

– nu este indicată utilizarea unor enunțuri negative care conduc la raționamente ce folosesc dubla negație și ambiguitate;

Exemplu: Enunțul „Un sistem de gestiune a bazelor de date nu are decât o componentă: cea fizică” (DA/NU) va fi analizat prin raționamente derutante de felul: „Da, nu are decât o componentă” sau „Nu, nu are decât o componentă”. Este recomadabilă înlocuirea enunțului cu următorul „Un sistem de gestiune a bazelor de date are mai multe componente. (CORECT/INCORECT)” .

– nu este indicată utilizarea a două idei în același enunț, cu excepția cazului în care se dorește evidențierea relației dintre acestea.

Exemplu: Enunțul „O entitate se găsește în prima formă normală dacă și numai dacă nu există atribute cu valori multiple și nu există atribute sau grupuri de atribute care se repetă iar în a treia formă normală dacă și numai dacă este în prima formă normală și în plus, orice atribut care nu face parte din UID va depinde de întregul UID, nu doar de o parte a acestuia. (ADEVĂRAT/FALS)”, conține o primă afirmație adevărată iar a doua falsă. Cum relația logică dintre cele două propoziții nu este formulată explicit (adică sau , și, ori, etc), răspunsul va fi ales pe considerente de inspirație.

1.2. Itemi de tip pereche. Exemple din Informatică.

Itemii de tip pereche presupun stabilirea unor corespondențe între elemente organizate pe două coloane. Informațiile de tip enunț (premise) sunt pe prima coloană, cea de-a două coloană conținând informații de tip răspuns. Elevului i se solicită să asocieze fiecare enunț cu un răspuns, combinația fiind unică.

„Itemii de acest tip permit abordarea unui volum mare de informații într-un interval de timp relativ redus. Factorul de discriminare este ceva mai mare decât în cazul

itemilor cu alegere duală, strategia de asociere la întâmplare neconducând decât în situații foarte rare la un rezultat acceptabil privind rezultatul testului”.81

Exemplu: Vezi figura III.6.

Figura III.6. Item de tip pereche82

1.3. Itemi cu alegere multiplă. Exemple din Informatică.

Cele mai utilizate tipuri de itemi sunt itemii cu alegere multiplă, mai ales în testele

standardizate ( bacalaureat, admitere, etc.).

„Un item cu alegere multiplă este format dintr-un enunț numit premisă sau bază și un număr de opțiuni din care elevul trebuie să aleagă un singur răspuns numit cheie. Celelalte răspunsuri, neconforme cu cerința, dar plauzibile poartă numele de distractori.

Itemii de acest tip permit abordarea unui volum mare de informație într-un interval de timp relativ redus, deși nu pot măsura capacitatea elevului de a-și organiza și exprima ideile . Sunt forme de testare cu un grad mare de fidelitate, iar factorul de discriminare este mai mare decât în cazul celorlalți itemi obiectivi. Erorile comise de elevi oferă profesorului informații suplimentare necesare în autoreglarea procesului de

învățământ”.83

81 Metodica predării informaticii. Evaluarea în informatică.

82Preluat din Platforma INSAM ( Instrumente digitale de ameliorare a calității evaluării în învățământul

preuniversitar), 2010

83 Metodica predării informaticii. Evaluarea în informatică.

Exemplu: Vezi figura III.7.

Figura III.7. Item cu alegere multiplă84

2. Itemii semiobiectivi.

Itemii semiobiectivi reprezintă o categorie de instrumente de evaluare care solicită construirea parțială sau totală a unui răspuns pe baza unei sarcini definite.

2.1. Itemi cu răspuns scurt/de completare. Exemple din Informatică.

„Itemii cu răspuns scurt solicită ca elevul să formuleze un răspuns scurt sau să completeze o afirmație astfel încât aceasta să capete sens sau să aibă valoare de adevăr.[…] Itemii cu răspuns scurt se prezintă cel mai des sub forma unor întrebări. Ei solicită

un răspuns sub formă restrânsă ( un număr, un simbol, un cuvânt, o expresie, o propoziție)”.85

Exemplu: Vezi figura III.8.

Figura III.8. Item cu răspuns scurt/completare86

2.2 Întrebări structurate. Exemple din Informatică.

„Întrebările structurate solicită, printr-un sistem de subîntrebări relative la o temă comună, răspunsuri de tip obiectiv, răspunsuri scurte sau de completare prin care se pot evalua cunoștințele complexe referitoare la tema respectivă fără a solicta elaborarea unui răspuns deschis (eseu)”87.

Exemplu: Care sunt convențiile de reprezentare într-o Diagramă Entități-Relații (ERD) ?

3. Itemi subiectivi

Sunt instrumente de evaluare ce urmăresc creativitatea elevului, originalitatea și personalizarea răspunsului.

În cazul informaticii se pot elabora itemi subiectivi de tip eseu (structurat sau liber) și itemi de tip problemă (care necesită proiectare, redactare și uneori implementare a rezolvării ).

3.1. Itemii de tip eseu. Exemple din informatică.

Itemii de tip eseu pot fi structurați sau liberi.

La disciplina informatică creativitatea se manifestă prin rezolvări de probleme și proiecte, de aceea itemii de tip eseu preferați sunt cei structurați.

Exemplu: Vezi figura III.9.

Figura III.9. Item de tip eseu88

3.2. Rezolvarea de probleme

„Rezolvarea de probleme este o activitate specifică și des utilizată la disciplina Informatică, elementele gândirii algoritmice, metodele de rezolvare și tehnicile de implementare fiind supuse unui tir sistematic de probleme prin care acestea să formeze

competențe reale de programare.

88 Preluat din Platforma INSAM (Instrumente digitale de ameliorare a calității evaluării în învățământul

preuniversitar), 2010

Capacitățile cognitive superioare legate de aplicarea creativă, gândirea divergentă, descoperirea condițiilor interne , alegerea modelului adecvat, etc, sunt verificate prin itemii de acest tip. Obiectivele urmărite prin utilizarea rezolvării de probleme sunt:

– înțelegerea problemei;

– obținerea informațiilor necesare rezolvării problemei;

– formularea și testarea ipotezelor;

– descrierea metodei de rezolvare a problemei;

– elaborarea unui scurt raport despre rezultatele obținute;

– posibilitatea de generalizare și transfer a tehnicilor de rezolvare”89.

Exemplu: Vezi figura III.10.

Figura III.10. Item cu alegere multiplă90

89 Metodica predării informaticii. Evaluarea în informatică.

90 Preluat din Platforma INSAM (Instrumente digitale de ameliorare a calității evaluării în învățământul

preuniversitar), 2010

CAPITOLUL IV. EXPERIMENTUL PEDAGOGIC

IV.1. Formularea și definirea problemei

Prin experimentul realizat mi-am propus să stabilesc dacă, pornind de la preferințele elevilor privind stilul de învățare și folosind într-o mai mare măsură metode activ-participative și instrumente TIC91, rezultatele obținute de elevi la testul de evaluare finală sunt mai bune decât atunci când sunt utilizate mai mult metodele tradiționale și nu se ține cont de stilul de învățare.

Pe lângă îmbunătățirea performanțelor la învățătură, prin apelarea la strategii de

predare adecvate stilurilor de învățare ale elevilor am urmărit obținerea și a altor efecte:

– creșterea atractivității orelor de informatică;

– dezvoltarea stilului preferat de învățare;

– creșterea eficienței învățării și a respectului de sine al elevului;

– dezvoltarea abilității de lucru în echipă;

– creșterea dorinței de cooperare a copiilor;

– procesul de învățare se centrează pe elev, diminuându-se rolul profesorului;

– dezvoltarea gândirii critice;

– stimularea spiritului de inițiativă dezvoltarea capacității elevului de a lucra

singur fără a fi dirijat de profesor;

Cercetarea pedagogică am realizat-o pe parcursul a doi ani școlari doarece în unitatea noastră școlară există o singură clasa a XII-a, profil real, specializarea matematică- informatică (4 ore de predare).

IV.2. Formularea ipotezei

Ipoteza de la care am pornit în realizarea experimentului pedagogic a fost că elevii învață mai bine atunci când profesorul are în vedere particularitățile individuale ale

acestora și tine cont de preferințele lor privind stilul de învățare.

91 Tehnologia Informației și a Comunicațiilor

IV.3. Elaborarea planului experimental

– Stabilirea eșantionului (vezi tabelul IV.1.)

Au fost utilizate două clase a XII-a, profil real, specializarea matematică- informatică, din doi ani școlari diferiți, 2010-2011 și 2011-2012, prima cu un efectiv de 19 elevi, a doua având un efectiv de 21 elevi. Cele două clase au avut un nivel asemănător al situației la învățătură.

– Stabilirea procedeelor prin care se controlează variabilele

Din modul de organizare reiese faptul că am folosit metoda experimentării pe

grupuri paralele, astfel:

Tabelul IV.1. Eșantioanele utilizate

– Elaborarea instrumentelor de măsurare și prelucrare a datelor

Instrumentele de măsurare utilizate au fost: înregistrarea, ordonarea, compararea și prelucrarea statistică a datelor.

IV.4. Aplicarea planului experimental

Scopul acestui experiment este de a susține alegerea metodelor și strategiilor de predare adecvate și de a orienta și optimiza învățarea, având la bază standardele naționale de evaluare pentru disciplina Informatică și metodologiile de evaluare, centrate pe competențe, cu avantajul de a oferi feed-back real elevilor deoarece evaluarea stă la baza elaborării planurilor individuale de învățare.

Etapa I a experimentului. Anul școlar 2010-2011.

– luna septembrie: elevii din eșantionul martor au susținut testul de evaluare inițială (vezi ANEXA NR. 4).

Scopul evaluării inițiale nu a fost ierarhizarea elevilor ci cunoașterea nivelului real

de pregătire al acestora.

Tabelul IV.2. Rezultate elevi, septembrie 2010, eșantion martor

Media generală test de evaluare inițială eșantionul martor /clasă=6,23

– luna mai, elevii din eșantionul martor au susținut testul de evaluare finală(vezi ANEXA NR. 6);

– am realizat o analiză simplă, pe tranșe de note;

Tabelul IV.3. Rezultate elevi, mai 2010, eșantion martor

Medie proba teoretică/clasă=7,94

Medie proba practică/clasă=8,34

Media generală test de evaluare finală eșantionul martor /clasă=8,14

Etapa a II-a a experimentului. Anul școlar 2011-2012.

– luna septembrie: elevii din eșantionul experimental au completat un chestionar pentru analiza preferințelor privind stilul de învățare (vezi ANEXA NR. 3) urmând să rezolve același test de evaluare inițială ca și elevii din eșantionul martor (vezi ANEXA NR. 4), completat însă

conform modelului elaborat la nivel național de către CNEE92 și adaptat

în funcție de condițiile locale. Au fost respectate cerințele MECTS93

stabilite în documentul “Foaie de parcurs pentru anul școlar 2011-2012”. Scopul evaluării inițiale nu a fost ierarhizarea elevilor ci cunoașterea nivelului real

de pregătire al acestora, potențialul cu care urmează a se integra în activitățile viitoare, pentru a stabili un parcurs individualizat și pentru a asigura și a putea măsura progresul real școlar. Evaluarea inițială a reprezentat un reper pentru adaptarea procesului de învățare

la particularitățile beneficiarului direct (elevul). Elevilor din eșantionul martor le-am

92 Centrul Național de Evaluare și Examinare

93 Ministerul Educației, Cercetării, Tineretului și Sportului

aplicat același test de evaluare inițială ca și celor din eșantionul experimental, fără a face însă o cercetare asupra preferințelor privind stilul de învățare al acestora.

În urma aplicării chestionarului pentru analiza preferințelor privind stilul de învățare al elevilor din eșantionul experimental, am obținut rezultatele consemnate în

tabelul din ANEXA NR. 3 pe baza cărora am realizat următoarele diagrame:

20

Activități desfășurate cu toată clasa, eșantionul experimental

18

16

14

12

10

8

6

4

2

0

Foarte bine

Bine

Așa și așa

Nu prea bine

Rău

Figura IV.1. Diagrama activităților desfășurate cu toată clasa

18

16

14

12

10

8

6 Foarte bine

4 Bine

2

0 Așa și așa

Nu prea bine

Rău

Figura IV.2. Diagrama activităților desfășurate individual, partea I

16 Activități individuale, eșantionul experimental-continuare

14

12

10

8

6

4 Foarte bine

2 Bine

0 Așa și așa

Nu prea bine

Rău

Figura IV.3. Diagrama activităților desfășurate individual, partea a II-a

20 Activități pe grupe, eșantionul experimental

18

16

14

12

10

8

6

4

2

0

Foarte bine

Bine

Așa și așa

Nu prea bine

Rău

Figura IV.4. Diagrama activităților desfășurate pe grupe

Analizând diagramele de mai sus, am ajuns la următoarele concluzii:

În cadrul activităților organizate frontal, elevii preferă discuțiile cu profesorul, demonstrațiile, utilizarea algoritmilor, rezolvarea de probleme, susținute de mijloace didactice ca de exemplu videoproiector, materiale video și tabla școlară.

Atunci când activitățile sunt organizate individual, elevii învață mai ușor prin rezolvarea de probleme, tratarea unor teme de studiu individual mai ales dacă tema a fost aleasă de către aceștia, utilizarea culegerilor de fișe de lucru, a experimentelor sau investigațiilor de tip “descoperire”. Majoritatea elevilor au ales proiectul ca fiind modul în care învață cel mai mult și cel mai ușor. Lecțiile AEL, bazele de date în format digital, Internet-ul și elementele grafice computerizate contribuie de asemenea la facilitarea învățării.

Organizarea activității elevilor pe grupe este benefică conform preferințelor elevilor, aceștia alegând colaborarea în cadrul unor grupe puțin numeroase, 3-6 elevi, tema agreată fiind realizarea unui proiect la alegere sau propus de profesor. Ceea ce m-a îngrijorat a fost faptul că elevii nu au un plan de învățare atunci când își pregătesc lecțiile și mulți dintre ei nu se consideră a fi capabili să negocieze cu profesorul modificări la programul de studiu.

De asemenea, am luat în considerare și rezultatele testului pentru stabilirea stilului de învățare, aplicat de către CEAC94 la începutul fiecărui ciclu școlar, în speță pentru prezenta analiză, clasa a IX-a, anul 2008. Rezultatele au fost următoarele:

Tabelul IV.4. Stilul de învățare elevi eșantion experimental

Se observă că predomină stilul de învățare vizual, lucru de care am ținut cont în alegerea metodelor, strategiilor și mijloacelor de predare, cu scopul de a facilita învățarea, pentru obținerea progresului școlar.

Testul de evaluare inițială a fost aplicat sub forma unei probe scrise, conform

ANEXEI NR.4. Analiza rezultatelor fiind consemnată în ANEXA NR.5.

94 Comisia pentru evaluarea și asigurarea calității

Pe tot parcursul anului școlar 2011-2012, pentru eșantionul experimental, am ținut cont de stilul de învățare predominant, de preferințele elevilor, utilizând săptămânal metode de învățare prin cooperare și activ-participative ca de exemplu: Turul Galeriei, Știu/ Vreau să știu/Am învățat, Brainstorming, Problematizarea, Algoritmizarea, Învățarea prin descoperire, Metoda Ciorchinelui etc. iar ca instrumente software cursul “Database Design and Programming with SQL” în cadrul Oracle Academy, Oracle Database 10g

Express Edition. Am căutat să integrez TIC95 în activitatea de predare, în scopul dezvoltării

competențelor specifice Informaticii utilizând și alte instrumente software: Laboratorul virtual de informatică și Tehnologia informației și a comunicațiilor http://lab.infobits.ro/ , platforma de evaluare INSAM96 http://insam.softwin.ro/insam , platforma Oracle Academy https://academy.oracle.com/index1.html,platformaThinquest http://www.thinkquest.org/en/ și platforma AEL.

– în luna mai 2012 elevii au susținut testul de evaluare finală structurat:

1. probă teoretică (a fost utilizată platforma de evaluare INSAM).

Testul scris, aplicat elevilor este consemnat în ANEXA NR. 6.

2. probă practică pentru care a fost utilizată aplicația Oracle Database

10g Express Edition (vezi ANEXA NR. 6);

Analiza rezultatelor este consemnată în ANEXA NR.7.

În elaborarea testului de evaluare finală am insistat pe elementele fundamentale, urmărind în ce măsură elevii operează cu cunoștințele de bază însușite și au dobândit competențele vizate, pe parcursul derulării programului de instruire.

IV.5. Analiza datelor și interpretarea rezultatelor

În urma analizei comparative a rezultatelor testelor de evaluare finală am constatat că media clasei experimentale este mai mare decât a clasei martor, cu toate că nivelul inițial de pregătire al celor două clase era foarte apropiat deci asimilarea cunoștintelor s-a realizat diferențiat. Pentru a ilustra mai bine acest lucru am realizat

diagramele de mai jos:

95 Tehnologia informației și a comunicațiilor

96 Instrumente digitale de ameliorare a calității evaluării în învățământul preuniversitar

9 Rezultate test de evaluare inițială

8

7

4-4,99

6

5-5,99

5 6-6,99

4 7-7,99

3 8-8,99

2 9-10,00

1

0

Eșantion martor Eșantion experimental

Figura IV.5. Rezultate test evaluare inițială

16 Rezultate test de evaluare finală, proba teoretică

14

12

4-4,99

10 5-5,99

8 6-6,99

7-7,99

6

8-8,99

4 9-10,00

2

0

Eșantion martor Eșantion experimental

Figura IV.6. Rezultate test evaluare finală, proba teoretică

14 Rezultate test de evaluare finală, proba practică

12

10

8

6

4

2

4-4,99

5-5,99

6-6,99

7-7,99

8-8,99

9-10,00

0

Eșantion martor Eșantion experimental

Figura IV.7. Rezultate test evaluare finală, proba practică

6,24

6,22

6,23

Medii generale test de evaluare inițială

6,2

6,18

6,16

6,15

Media generală pe clasă

6,14

6,12

6,1

Eșantion martor Eșantion experimental

Figura IV.8. Medii generale test de evaluare inițială

9

8,8

Medii generale test de evaluare finală

8,78

8,6

8,4

8,2

8,14

Media generală pe clasă

8

7,8

Eșantion martor Eșantion experimental

Figura IV.9. Medii generale test de evaluare finală

IV.6. Concluziile cercetării experimentale

Am verificat ipoteza prin compararea rezultatelor obținute de elevii din eșantionul experimental, pentru care am ținut cont în selectarea metodelor, strategiilor și instrumentelor de predare de preferințele acestora privind stilul de învățare, cu rezultatele obținute de elevii din eșantionul martor.

Deoarece majoritatea elevilor au stil de învățare vizual și tinând cont că se spune că aceștia își amintesc 75% din ceea ce citesc sau văd, la eșantionul experimental am utilizat cât de mult a fost posibil (zilnic) instrumente/mijloace vizuale de predare care să ușureze procesul de învățare (software adecvat, diagrame, scheme, fișe, site-uri, prezentări, imagini în format digital, videoproiector, Internet-ul, etc.).

Concluzia este ca rezultatele elevilor din eșantionul experimental au fost mai bune, înregistrându-se o diferență de 0.64 puncte între mediile generale de la testele de evaluare finală. Rezultă că lecțiile în care s-au folosit metode de învățare prin cooperare, strategii și instrumente de predare adecvate preferințelor privind stilul de învățare al elevilor sunt mai eficiente, ceea ce confirmă ipoteza de la începutul experimentului.

Însă lucrul pe care eu îl consider cel mai important este următorul: din discuțiile cu elevii am constatat că aceștia sunt încântați să lucreze pe grupe pentru că se simt mai relaxați, mai implicați, deoarece crește rolul fiecăruia, activitatea nemaifiind centrată pe profesor. În felul acesta, toți elevii participă simultan la activitățile de instuire. De asemenea, relațiile dintre elevi s-au îmbunătățit, fiecare simțindu-se util și responsabil în cadrul grupului, rezultatul fiind creșterea stimei de sine și a capacității de a face față unor situații stresante, o mai bună cunoaștere de sine și o creștere a spiritului de echipă. S-a simțit și o îmbunătățire a spiritului de inițiativă, a capacității de planificare și organizare a elevilor și a prestației individuale.

În plus am constatat că profesorul a fost eliberat de anumite sarcini pe care trebuia să le îndeplinească pe parcursul unei lecții clasice deci rolul acestuia s-a schimbat în sensul că nu mai este “unicul pol de autoritate (adesea, de putere)”97, singurul care furnizează informația, fiind un fel de deținător al adevărului absolut, omul “căruia îi urmăm sfatul chiar fără a-l înțelege, pentru că îi recunoaștem competența, pentru că este o “autoritate în

materie”98, ci o persoană care colaborează în mod eficient.

97 Stan, E., 2009, p. 13

98 Reboul, O., 1971, p. 34

CONCLUZII ȘI RECOMANDĂRI

“Cheia pentru implicarea activă a elevilor în învățare este de a înțelege preferințele pentru învățare, stilul de învățare, cu influențe pozitive sau negative asupra performanțelor elevilor” ( Birkey & Rodman 1995, Dewar 1995, Hartman 1995)99

Scopul lucrării a fost de a furniza noțiuni teoretice și practice privind bazele de date orientate obiect și de a demonstra strânsa legătură dintre stilul de învățare, metodele de predare a bazelor de date, evaluare, instrumentele, mijloacele didactice utilizate și progresul școlar. Tema aleasă mi-a oferit ocazia de a valorifica experiența acumulată în predarea disciplinei Informatică dar și posibilitatea de a găsi soluții pentru diversificarea metodelor de predare a bazelor de date și a tehnicilor de evaluare în scopul formării competențelor specifice disciplinei și obținerii progresului școlar.

Rezultatele experimentului pedagogic realizat în prezenta lucrare mi-au confirmat ideea că este de dorit ca stilul de predare să fie adaptat stilului de învățare practicat de elevi, ca dovadă a flexibilității și a eficienței intervențiilor profesorului. Tocmai de aceea necesitatea dezvoltării profesionale continue trebuie să fie un obiectiv pentru fiecare cadru didactic. ”Metodele de predare trebuie să întâlnească nevoile specifice ale varietății stilurilor de învățare de care să beneficieze toți elevii”(Agogino & HSI 1995, Kramer-

Koehler, Tooney & Beke 1995)100.

Recomand ca profesorul să adopte un stil de predare de tip facilitator, focalizat pe activități de grup, pe învățarea centrată pe elev, pe asumarea responsabilității și inițiativa de a întâlni diferite sarcini de învățare, stil de predare care promovează eficiența în învățare și succesul elevilor. Beneficiile sunt multiple, atît pentru elevi cât și pentru părinți sau profesori deoarece se constată mai puțin stres în situațiile din clasă și din afara ei, se obțin rezultate mai bune existând satisfacție profesională, se îmbunătățește managementul timpului, stima de sine, crește spiritul de echipă, se dezvoltă relații pozitive cu cei din jur și cel mai important, se înregistrează progres școlar.

ANEXE

ANEXA NR. 1 – METODA CIORCHINELUI APLICATĂ LA RECAPITULAREA CUNOȘTINȚELOR TEORETICE

ERD

ENTITĂȚI

RELAȚII

TABELE

CHEI PRIMARE

CHEI SECUNDARE

RÂNDURI

(ÎNREGISTRĂRI)

COLOANE

(CÂMPURI)

110

ANEXA NR. 2

ANEXA NR. 3

CHESTIONAR PREFERINȚE STIL DE ÎNVĂȚARE DISCIPLINA

INFORMATICĂ – REZULTATE EXPERIMENT101

Cât de bine înveți atunci când se folosesc aceste metode, procedee și mijloace de predare ?

101 Adaptat după Geoff Petty. Active learning. http://www.geoffpetty.com/downloads.html

112

113

Ești capabil să negociezi modificări la programul de studiu ?

Ai un plan de învățare atunci când îți pregătești lecțiile ?

Mulțumesc

ANEXA NR. 4

TEST DE EVALUARE INIȚIALĂ

Anul școlar 2010-2011 / 2011-2012

Disciplina Informatică

Clasa a XII-a

Prin aplicarea testului sunt vizate:

Pornind de la competențele generale și cele specifice alese, am formulat, obiectivele de evaluare (operaționale), specifice instrumentului de evaluare. În urma administrării testului, se va avea în vedere, în a se măsura, dacă elevii sunt capabili:

O1. Să definească noțiunea de bază de date.

O2. Să cunoască termenii corespunzatori terminologiei bazelor de date, sistem de gestiune a bazelor de date.

O3. Să identifice situații în care este vorba despre date sau informații.

O4. Să asocieze definițiile corecte pentru noțiunile de: entitate, instanță, atribut,

identificator unic.

O5. Să dea exemple de tipuri de software utilizate pentru accesarea aplicațiilor esențiale

pentru afaceri.

O6. Să dea exemple de situații în care se interacționează zilnic cu baze de date.

Scopul pe care mi l-am propus a fost realizarea unei evaluări obiective. Am folosit

următoarele tipuri de itemi: itemi obiectivi, semiobiectivi și itemi subiectivi, conform

cerințelor actuale.

MATRICEA DE SPECIFICAȚII- Test de evaluare inițială

TEST DE EVALUARE INIȚIALĂ

Anul școlar 2010-2011 / 2011-2012

Disciplina Informatică

Clasa a XII-a

Numele și prenumele elevului: Data susținerii testului:

• Pentru rezolvarea corectă a tuturor cerințelor din Partea I si din Partea a II-a se

acordă 90 de puncte. Din oficiu se acordă 10 puncte.

• Timpul efectiv de lucru este de 45 minute.

Partea I (40 de puncte)

1. Alegeți definiția corecta pentru noțiunea bază de date: (10p.)

a. o bază de date reprezintă o colecție de date persistente;

b. o bază de date reprezintă un tabel;

c. o bază de date reprezintă un fișier;

2. Alegeți definiția corecta pentru noțiunea dată: (10p.)

a. reprezintă o zi din an;

b. reprezintă o informație codificată în calculator;

c. reprezintă o legătură între elementele unor mulțimi;

3. Alegeți dfiniția corecta pentru noțiunea SGBD (Sistem de gestiune a bazelor de date):

a. reprezintă un tip de sistem de operare;

(10p.)

b. este un pachet de programe care asigură interfața dintre baza de date și utilizator;

c. reprezintă un tip de memorie externă;

4. Care dintre următoarele sunt exemple de dată versus informație: (10p.)

a. vârsta unui student versus media aritmetică a vârstelor studenților dintr-o clasă;

b. suma depusă într-un cont versus bilanțul operațiunilor realizate pe acel cont;

c. prețul unui calculator versus valoarea totală a vânzărilor;

Partea a II-a (50 de puncte)

1. Asociați noțiunile din prima coloană a tabelului cu cele din a doua coloană a

tabelului: (20p.)

2. Ce tip de software se utilizează pentru a accesa aplicații esențiale pentru afaceri ?

(20p.)

3. Enumerați situațiile în care interacționați zilnic cu baze de date:

(10p.)

TEST DE EVALUARE INIȚIALA, Barem de evaluare și notare

Anul scolar 2010-2011 / 2011-2012, Disciplina Informatică, Clasa a XII-a

Notă:

Se punctează oricare alte formulări/ modalități de rezolvare corectă a cerințelor.

Nu se acordă punctaje intermediare, altele decât cele precizate explicit prin

barem. Nu se acordă fracțiuni de punct.

Se acordă 10 puncte din oficiu. Nota finală se calculează prin împărțirea

punctajului total acordat pentru test la 10.

Partea I (40 de puncte)

Partea a II-a(50 de puncte)

ANEXA NR. 5

ANALIZA REZULTATELOR OBȚINUTE DE ELEVII CLASEI A XII-A LA

TESTUL DE EVALUARE INIȚIALĂ Anul școlar 2011-2012, disciplina Informatică

Testul a fost susținut pe 29 septembrie 2011, de către 20 elevi, înregistrându-se 1 absent.

S-au obținut următoarele rezultate:

Media / cls.= 6,15

Interpretarea rezultatelor:

În urma analizei rezultatelor obținute la testul de evaluare inițială, am constatat

următoarele:

Puncte tari

– Elevii cunosc din cultura generală termenul bază de date;

– Elevii au ales corect, prin eliminarea celorlalte variante, definiția unui SGBD102;

– Elevii au mai întâlnit noțiunile de entitate, atribut și identificator unic, intuind semnificația acestora din punct de vedere informatic;

– Majoritatea elevilor au reușit să precizeze cel puțin o situație în care interacționează

zilnic cu baza de date;

Puncte slabe

– Majoritatea elevilor confundă noțiunile de dată și informație;

– Elevii nu cunosc semnificația din punct de vedere informatic a noțiunii instanță;

– Elevii cunosc puține programe de aplicație pentru afaceri;

Măsuri remediale :

– Îmbogățirea vocabularului elevilor cu limbajul de specialitate;

– Creșterea interesului elevilor pentru studierea proiectării și programării bazelor prin utilizarea cursului “Database design and programming with SQL” în cadrul Oracle Academy și a Oracle Database 10g Express Edition;

– Promovarea învățării prin cooperare (grupuri mici) pentru ameliorarea rezultatelor

școlare;

– Aprofundarea noțiunilor studiate în ora pe care o avem prevazută în schema orară în acest scop;

102 Sistem de gestiune a bazelor de date

ANEXA NR. 6

TEST DE EVALUARE FINALĂ

Anul școlar 2010-2011 / 2011-2012

Disciplina Informatică

Clasa a XII-a

Prin aplicarea testului sunt vizate:

Pornind de la competențele generale și cele specifice alese, am formulat, obiectivele de evaluare (operaționale), specifice instrumentului de evaluare. În urma administrării testului, se va avea în vedere, în a se măsura, dacă elevii sunt capabili:

O1. Să cunoască termenii corespunzatori terminologiei bazelor de date, sistem de gestiune a bazelor de date.

O2. Să identifice corect entități, atribute, instanțe.

O3. Să definească corect noțiunea de identificator unic, atribut opțional, volatil, cardinalitatea unei relații.

O4. Să identifice corect reprezentarea relațiilor dintre entități și tipul acestora. O5. Să cunoască structura, efectul comenzii SELECT.

O6. Să identifice corect comenzile pentru crearea și modificarea structurii tabelelor.

O7. Să identifice corect comenzile pentru inserarea, modificarea, ștergerea datelor în

tabele.

O8. Să cunoască structura, efectul funcțiilor simple și de grup.

O9. Să creeze o tabelă în Oracle 10G Express Edition.

O10. Să utilizeze corect comenzile pentru afișarea, inserarea, modificarea, ștergerea, sortarea datelor în tabele.

Partea I

Partea a II-a

MATRICEA DE SPECIFICAȚII- Test de evaluare finală, Partea 1

123

MATRICEA DE SPECIFICAȚII- Test de evaluare finală, Partea a 1I-a

124

TEST DE EVALUARE FINALĂ

Anul școlar 2011-2012

Disciplina Informatică

Clasa a XII-a

Numele și prenumele elevului: Data susținerii testului:

Pentru rezolvarea corectă a cerințelor din Partea I se acordă 100 de puncte.

Pentru rezolvarea corectă a cerințelor din Partea a II-a se acordă 90 de puncte. Din oficiu se acordă 10 puncte.

Nota finală va fi calculată ca medie aritmetică între partea I și partea a II-a a testului.

Timpul efectiv de lucru este: 50 minute pentru partea I și 30 de minute pentru partea a II-a.

Partea I (100 de puncte) Elevii se vor conecta la platforma de evaluare INSAM103.

103 Instrumente digitale de ameliorare a calității evaluării în învățământul preuniversitar

125

126

127

128

129

130

131

132

Notă: Toți itemii sunt obligatorii. Toți itemii sunt preluați din Platforma INSAM,

https://insam.softwin.ro/insam/

Partea a II-a(90 puncte)

Să se creeze tabela ELEVI cu structura: nrmatricol numeric (4), nume caracter(25), prenume caracter(30), datan data, adresa caracter(40), nrtelefon caracter(14), navetist caracter(5). Coloana navetist se va completa doar cu ‘Da’ sau ‘Nu’. Să se introducă în tabelă cel puțin 8 articole cu date (înregistrări). Un articol reprezintă un elev. Se cere:

1. Să se afișeze toți elevii, ordonați alfabetic după nume și apoi după prenume; (15p)

2. Să se afișeze toți elevii născuți după anul 2000; (15p)

3. Să se afișeze toți elevii navetiști; (15p)

4. Să se afișeze elevii care nu au telefon; (15p)

Observație: Pentru crearea corectă a tabelei se acordă 30p.

Notă:

TEST DE EVALUARE FINALĂ, Barem de evaluare și notare

Anul scolar 2011-2012, disciplina Informatică, clasa a XII-a

Nu se acordă punctaje intermediare, altele decât cele precizate explicit prin barem. Nu se acordă fracțiuni de punct.

Nota finală se calculează prin împărțirea mediei aritmetice a punctajelor obținute la partea I și partea a II-a, la 10.

Partea I (100 puncte)

Partea a II-a (90 puncte)

Notă: Se va acorda punctajul pentru orice răspuns care conduce la rezolvarea corectă a cerințelor.

Se acordă 10 puncte din oficiu.

ANEXA NR. 7

ANALIZA REZULTATELOR OBȚINUTE DE ELEVII CLASEI A XII-A LA

TESTUL DE EVALUARE FINALĂ

Anul școlar 2011-2012, disciplina Informatică

Testul a fost susținut pe 25 mai 2012, de către 20 elevi. Din programa școlară în vigoare, a fost utilizată varianta de studiu nr. 1, Baze de date (1 oră de teorie) + Sisteme de gestiune a bazelor de date (3 ore de activități practice), Varianta A. Modelarea datelor și programare SQL (Oracle).

Rezultatele obținute la probă teoretică au fost următoarele:

Media / cls.= 8,80

Rezultatele obținute la probă practică au fost următoarele:

Media / cls.= 8,77

Nota finală a fost calculată prin împărțirea punctajului final la 10.

Media finală/clasa=8,78

Interpretarea rezultatelor:

În urma analizei rezultatelor obținute la testul de evaluare finală, am constatat următoarele:

Puncte tari

– 85% dintre elevi au dobândit cunoștințele teoretice necesare proiectării unei baze de date (entități, relații, atribute, rezolvarea relațiilor, definiție SGBD, normalizare);

– majoritatea elevilor cunosc elementele de bază ale SQL (comanda SELECT, sortarea datelor, crearea și modificarea structurii tabelelor, vederi, funcții);

– toți elevii au creat tabela repectând structura impusă;

Puncte slabe

– 15% dintre elevi nu stăpânesc noțiunile teoretice referitoare la proiectarea bazelor de date, confunzând tipurile de relații, normalizarea cu maparea etc.;

– există un număr mic de elevi care nu cunosc structura corectă și efectul comenzii

SELECT;

– elevii au avut dificultăți la utilizarea funcției NVL();

BIBLIOGRAFIE

1. American Psychological Association. APA Style. (2010). Accesat 15 Iunie, 2012, http://www.apastyle.org/learn/faqs/web-page-no-author.aspx

2. Anexa 1, Ghid de redactare a tezei de doctorat pentru doctoranzii Școlii Naționale de Studii Politice și Administrative. (n.d.). Accesat 16 Ianuarie, 2012, http://doctorat.snspa.ro/sites/default/files/ghid_redactare_teza_doctorat_SNSPA.pdf

3. Angel Cataron. Baze de date. Note de curs. (n.d.). Accesat 20 Iunie, 2011,

http://vega.unitbv.ro/~cataron/Courses/BD/bd.htm

4. Bălan, Bogdan, Boncu, Ștefan., Cosmovici, Andrei, Cozma, Teodor, Crețu, Carmen, Cocoș, Constantin (coordonator), Dafinoiu, Ion, Iacob, Lumunița, Moise, Constantin, Momanu, Mariana, Neculau, Adrian, Rudică, Tiberiu, Psihopedagogie pentru examenele de definitivare și grade didactice, Editura Polirom, 1998.

5. Cucoș, Constantin, Pedagogie, Editura Polirom, Iași, 1996.

6. Cucoș, Constantin. Educația religioasă, conținut și forme de realizare. E.D.P.,

București, 1995.

7. Cursul 1 –Metodica predării informaticii. (n.d.). Accesat 16 Ianuarie, 2012, http://www.scribd.com/doc/37684636/Curs1-Metodica-Predarii-Informaticii

8. Cursul 4 –Metodica predării informaticii. Principii didactice. (n.d.). Accesat 16

Ianuarie, 2012, http://www.scribd.com/doc/40057303/Curs-4-Metodica-Predarii- Informaticii-Principii-Didactice

9. Free Caché Evaluation Download. Accesat 1 August, 2012, http://www.intersystems.com/cache/downloads/index.html.

10. Geoff Petty. Active learning. (n.d.). Accesat 1 Septembrie, 2011 http://www.geoffpetty.com/downloads.html

11. InterSystems Online Documentation, Documentation Home Page, Accesat 1

August, 2012, http://docs.intersystems.com/cache20121/csp/docbook/DocBook.UI.Page.cls

12. Jessica Blackmore. E-learning resources. Adult Learning Styles. (n.d.). Accesat

17 Iulie, 2012, http://www.grayharriman.com/adult_learning_articles.htm

13. Lixăndroiu Dorin. & Lixăndroiu Radu, Baze de date relaționale, Note de curs. (n.d.). Accesat 20 Iunie, 2011,

http://econ.unitbv.ro/ed/pag-rom/idd/download/BDR%20[1].pdf

14. Metodica predării informaticii. Evaluarea în informatică. (n.d.). Accesat 16

Ianuarie, 2012, http://ro.scribd.com/doc/95075600/26/Itemii-de-tip-eseu

15. Metodica predării informaticii. Metode, tehnici, procedee didactice. (n.d.). Accesat

16 Ianuarie, 2012, http://ro.scribd.com/doc/95075600/26/Itemii-de-tip-eseu

16. Oprea, Crenguța-Lăcrămioara. Pedagogie. Alternative metodologice interactive,

Editura Universității din București, 2003.

17. Opriș, Dorin, Opriș, Monica, Bocoș, Mușata “Cercetarea pedagogică în domeniul educației morale”, Ed. Sf. Mina, Iași, 2006.

18. Opriș, Dorin & Opriș, Monica. Metode active de predare-învățare, Editura Sf.

Mina, Iași, 2008.

19. Petre, Carmen. et al. Metodica predării informaticii și tehnologiei informației, Editura Arves, Craiova, 2002.

20. Platforma INSAM, Instrumente digitale de ameliorare a calității evaluării în învățământul preuniversitar. (2010). Accesat 15 Iunie, 2010, https://insam.softwin.ro/insam/

21. Popescu, Carmen. Manual de informatică pentru clasa a XII-a, Editura L&S Info- mat, București, 2007.

22. Reboul, Olivier. La philosophie de l’éducation. P.U.F., 1971

23. Sabău, Gheorghe., Avram, Vasile, Bologa, Ramona, Muntean, Mihaela, Dârdală,

Marian, Bologa, Răzvan Baze de date, Editura MATRIX ROM, București, 2008.

24. Stan, Emil. Managementul clasei. Editura Institutul European, 2009

25. Suport de curs “Noi didactici în viziune transdisciplinară”, Educația 2000+.

Proiectul Profesorul 2000+. Un profesionist al școlii moderne

BIBLIOGRAFIE

1. American Psychological Association. APA Style. (2010). Accesat 15 Iunie, 2012, http://www.apastyle.org/learn/faqs/web-page-no-author.aspx

2. Anexa 1, Ghid de redactare a tezei de doctorat pentru doctoranzii Școlii Naționale de Studii Politice și Administrative. (n.d.). Accesat 16 Ianuarie, 2012, http://doctorat.snspa.ro/sites/default/files/ghid_redactare_teza_doctorat_SNSPA.pdf

3. Angel Cataron. Baze de date. Note de curs. (n.d.). Accesat 20 Iunie, 2011,

http://vega.unitbv.ro/~cataron/Courses/BD/bd.htm

4. Bălan, Bogdan, Boncu, Ștefan., Cosmovici, Andrei, Cozma, Teodor, Crețu, Carmen, Cocoș, Constantin (coordonator), Dafinoiu, Ion, Iacob, Lumunița, Moise, Constantin, Momanu, Mariana, Neculau, Adrian, Rudică, Tiberiu, Psihopedagogie pentru examenele de definitivare și grade didactice, Editura Polirom, 1998.

5. Cucoș, Constantin, Pedagogie, Editura Polirom, Iași, 1996.

6. Cucoș, Constantin. Educația religioasă, conținut și forme de realizare. E.D.P.,

București, 1995.

7. Cursul 1 –Metodica predării informaticii. (n.d.). Accesat 16 Ianuarie, 2012, http://www.scribd.com/doc/37684636/Curs1-Metodica-Predarii-Informaticii

8. Cursul 4 –Metodica predării informaticii. Principii didactice. (n.d.). Accesat 16

Ianuarie, 2012, http://www.scribd.com/doc/40057303/Curs-4-Metodica-Predarii- Informaticii-Principii-Didactice

9. Free Caché Evaluation Download. Accesat 1 August, 2012, http://www.intersystems.com/cache/downloads/index.html.

10. Geoff Petty. Active learning. (n.d.). Accesat 1 Septembrie, 2011 http://www.geoffpetty.com/downloads.html

11. InterSystems Online Documentation, Documentation Home Page, Accesat 1

August, 2012, http://docs.intersystems.com/cache20121/csp/docbook/DocBook.UI.Page.cls

12. Jessica Blackmore. E-learning resources. Adult Learning Styles. (n.d.). Accesat

17 Iulie, 2012, http://www.grayharriman.com/adult_learning_articles.htm

13. Lixăndroiu Dorin. & Lixăndroiu Radu, Baze de date relaționale, Note de curs. (n.d.). Accesat 20 Iunie, 2011,

http://econ.unitbv.ro/ed/pag-rom/idd/download/BDR%20[1].pdf

14. Metodica predării informaticii. Evaluarea în informatică. (n.d.). Accesat 16

Ianuarie, 2012, http://ro.scribd.com/doc/95075600/26/Itemii-de-tip-eseu

15. Metodica predării informaticii. Metode, tehnici, procedee didactice. (n.d.). Accesat

16 Ianuarie, 2012, http://ro.scribd.com/doc/95075600/26/Itemii-de-tip-eseu

16. Oprea, Crenguța-Lăcrămioara. Pedagogie. Alternative metodologice interactive,

Editura Universității din București, 2003.

17. Opriș, Dorin, Opriș, Monica, Bocoș, Mușata “Cercetarea pedagogică în domeniul educației morale”, Ed. Sf. Mina, Iași, 2006.

18. Opriș, Dorin & Opriș, Monica. Metode active de predare-învățare, Editura Sf.

Mina, Iași, 2008.

19. Petre, Carmen. et al. Metodica predării informaticii și tehnologiei informației, Editura Arves, Craiova, 2002.

20. Platforma INSAM, Instrumente digitale de ameliorare a calității evaluării în învățământul preuniversitar. (2010). Accesat 15 Iunie, 2010, https://insam.softwin.ro/insam/

21. Popescu, Carmen. Manual de informatică pentru clasa a XII-a, Editura L&S Info- mat, București, 2007.

22. Reboul, Olivier. La philosophie de l’éducation. P.U.F., 1971

23. Sabău, Gheorghe., Avram, Vasile, Bologa, Ramona, Muntean, Mihaela, Dârdală,

Marian, Bologa, Răzvan Baze de date, Editura MATRIX ROM, București, 2008.

24. Stan, Emil. Managementul clasei. Editura Institutul European, 2009

25. Suport de curs “Noi didactici în viziune transdisciplinară”, Educația 2000+.

Proiectul Profesorul 2000+. Un profesionist al școlii moderne

ANEXE

ANEXA NR. 1 – METODA CIORCHINELUI APLICATĂ LA RECAPITULAREA CUNOȘTINȚELOR TEORETICE

ERD

ENTITĂȚI

RELAȚII

TABELE

CHEI PRIMARE

CHEI SECUNDARE

RÂNDURI

(ÎNREGISTRĂRI)

COLOANE

(CÂMPURI)

110

ANEXA NR. 2

ANEXA NR. 3

CHESTIONAR PREFERINȚE STIL DE ÎNVĂȚARE DISCIPLINA

INFORMATICĂ – REZULTATE EXPERIMENT101

Cât de bine înveți atunci când se folosesc aceste metode, procedee și mijloace de predare ?

101 Adaptat după Geoff Petty. Active learning. http://www.geoffpetty.com/downloads.html

112

113

Ești capabil să negociezi modificări la programul de studiu ?

Ai un plan de învățare atunci când îți pregătești lecțiile ?

Mulțumesc

ANEXA NR. 4

TEST DE EVALUARE INIȚIALĂ

Anul școlar 2010-2011 / 2011-2012

Disciplina Informatică

Clasa a XII-a

Prin aplicarea testului sunt vizate:

Pornind de la competențele generale și cele specifice alese, am formulat, obiectivele de evaluare (operaționale), specifice instrumentului de evaluare. În urma administrării testului, se va avea în vedere, în a se măsura, dacă elevii sunt capabili:

O1. Să definească noțiunea de bază de date.

O2. Să cunoască termenii corespunzatori terminologiei bazelor de date, sistem de gestiune a bazelor de date.

O3. Să identifice situații în care este vorba despre date sau informații.

O4. Să asocieze definițiile corecte pentru noțiunile de: entitate, instanță, atribut,

identificator unic.

O5. Să dea exemple de tipuri de software utilizate pentru accesarea aplicațiilor esențiale

pentru afaceri.

O6. Să dea exemple de situații în care se interacționează zilnic cu baze de date.

Scopul pe care mi l-am propus a fost realizarea unei evaluări obiective. Am folosit

următoarele tipuri de itemi: itemi obiectivi, semiobiectivi și itemi subiectivi, conform

cerințelor actuale.

MATRICEA DE SPECIFICAȚII- Test de evaluare inițială

TEST DE EVALUARE INIȚIALĂ

Anul școlar 2010-2011 / 2011-2012

Disciplina Informatică

Clasa a XII-a

Numele și prenumele elevului: Data susținerii testului:

• Pentru rezolvarea corectă a tuturor cerințelor din Partea I si din Partea a II-a se

acordă 90 de puncte. Din oficiu se acordă 10 puncte.

• Timpul efectiv de lucru este de 45 minute.

Partea I (40 de puncte)

1. Alegeți definiția corecta pentru noțiunea bază de date: (10p.)

a. o bază de date reprezintă o colecție de date persistente;

b. o bază de date reprezintă un tabel;

c. o bază de date reprezintă un fișier;

2. Alegeți definiția corecta pentru noțiunea dată: (10p.)

a. reprezintă o zi din an;

b. reprezintă o informație codificată în calculator;

c. reprezintă o legătură între elementele unor mulțimi;

3. Alegeți dfiniția corecta pentru noțiunea SGBD (Sistem de gestiune a bazelor de date):

a. reprezintă un tip de sistem de operare;

(10p.)

b. este un pachet de programe care asigură interfața dintre baza de date și utilizator;

c. reprezintă un tip de memorie externă;

4. Care dintre următoarele sunt exemple de dată versus informație: (10p.)

a. vârsta unui student versus media aritmetică a vârstelor studenților dintr-o clasă;

b. suma depusă într-un cont versus bilanțul operațiunilor realizate pe acel cont;

c. prețul unui calculator versus valoarea totală a vânzărilor;

Partea a II-a (50 de puncte)

1. Asociați noțiunile din prima coloană a tabelului cu cele din a doua coloană a

tabelului: (20p.)

2. Ce tip de software se utilizează pentru a accesa aplicații esențiale pentru afaceri ?

(20p.)

3. Enumerați situațiile în care interacționați zilnic cu baze de date:

(10p.)

TEST DE EVALUARE INIȚIALA, Barem de evaluare și notare

Anul scolar 2010-2011 / 2011-2012, Disciplina Informatică, Clasa a XII-a

Notă:

 Se punctează oricare alte formulări/ modalități de rezolvare corectă a cerințelor.

 Nu se acordă punctaje intermediare, altele decât cele precizate explicit prin

barem. Nu se acordă fracțiuni de punct.

 Se acordă 10 puncte din oficiu. Nota finală se calculează prin împărțirea

punctajului total acordat pentru test la 10.

Partea I (40 de puncte)

Partea a II-a(50 de puncte)

ANEXA NR. 5

ANALIZA REZULTATELOR OBȚINUTE DE ELEVII CLASEI A XII-A LA

TESTUL DE EVALUARE INIȚIALĂ Anul școlar 2011-2012, disciplina Informatică

Testul a fost susținut pe 29 septembrie 2011, de către 20 elevi, înregistrându-se 1 absent.

S-au obținut următoarele rezultate:

Media / cls.= 6,15

Interpretarea rezultatelor:

În urma analizei rezultatelor obținute la testul de evaluare inițială, am constatat

următoarele:

Puncte tari

– Elevii cunosc din cultura generală termenul bază de date;

– Elevii au ales corect, prin eliminarea celorlalte variante, definiția unui SGBD102;

– Elevii au mai întâlnit noțiunile de entitate, atribut și identificator unic, intuind semnificația acestora din punct de vedere informatic;

– Majoritatea elevilor au reușit să precizeze cel puțin o situație în care interacționează

zilnic cu baza de date;

Puncte slabe

– Majoritatea elevilor confundă noțiunile de dată și informație;

– Elevii nu cunosc semnificația din punct de vedere informatic a noțiunii instanță;

– Elevii cunosc puține programe de aplicație pentru afaceri;

Măsuri remediale :

– Îmbogățirea vocabularului elevilor cu limbajul de specialitate;

– Creșterea interesului elevilor pentru studierea proiectării și programării bazelor prin utilizarea cursului “Database design and programming with SQL” în cadrul Oracle Academy și a Oracle Database 10g Express Edition;

– Promovarea învățării prin cooperare (grupuri mici) pentru ameliorarea rezultatelor

școlare;

– Aprofundarea noțiunilor studiate în ora pe care o avem prevazută în schema orară în acest scop;

102 Sistem de gestiune a bazelor de date

ANEXA NR. 6

TEST DE EVALUARE FINALĂ

Anul școlar 2010-2011 / 2011-2012

Disciplina Informatică

Clasa a XII-a

Prin aplicarea testului sunt vizate:

Pornind de la competențele generale și cele specifice alese, am formulat, obiectivele de evaluare (operaționale), specifice instrumentului de evaluare. În urma administrării testului, se va avea în vedere, în a se măsura, dacă elevii sunt capabili:

O1. Să cunoască termenii corespunzatori terminologiei bazelor de date, sistem de gestiune a bazelor de date.

O2. Să identifice corect entități, atribute, instanțe.

O3. Să definească corect noțiunea de identificator unic, atribut opțional, volatil, cardinalitatea unei relații.

O4. Să identifice corect reprezentarea relațiilor dintre entități și tipul acestora. O5. Să cunoască structura, efectul comenzii SELECT.

O6. Să identifice corect comenzile pentru crearea și modificarea structurii tabelelor.

O7. Să identifice corect comenzile pentru inserarea, modificarea, ștergerea datelor în

tabele.

O8. Să cunoască structura, efectul funcțiilor simple și de grup.

O9. Să creeze o tabelă în Oracle 10G Express Edition.

O10. Să utilizeze corect comenzile pentru afișarea, inserarea, modificarea, ștergerea, sortarea datelor în tabele.

Partea I

Partea a II-a

MATRICEA DE SPECIFICAȚII- Test de evaluare finală, Partea 1

123

MATRICEA DE SPECIFICAȚII- Test de evaluare finală, Partea a 1I-a

124

TEST DE EVALUARE FINALĂ

Anul școlar 2011-2012

Disciplina Informatică

Clasa a XII-a

Numele și prenumele elevului: Data susținerii testului:

 Pentru rezolvarea corectă a cerințelor din Partea I se acordă 100 de puncte.

 Pentru rezolvarea corectă a cerințelor din Partea a II-a se acordă 90 de puncte. Din oficiu se acordă 10 puncte.

 Nota finală va fi calculată ca medie aritmetică între partea I și partea a II-a a testului.

Timpul efectiv de lucru este: 50 minute pentru partea I și 30 de minute pentru partea a II-a.

Partea I (100 de puncte) Elevii se vor conecta la platforma de evaluare INSAM103.

103 Instrumente digitale de ameliorare a calității evaluării în învățământul preuniversitar

125

126

127

128

129

130

131

132

Notă: Toți itemii sunt obligatorii. Toți itemii sunt preluați din Platforma INSAM,

https://insam.softwin.ro/insam/

Partea a II-a(90 puncte)

Să se creeze tabela ELEVI cu structura: nrmatricol numeric (4), nume caracter(25), prenume caracter(30), datan data, adresa caracter(40), nrtelefon caracter(14), navetist caracter(5). Coloana navetist se va completa doar cu ‘Da’ sau ‘Nu’. Să se introducă în tabelă cel puțin 8 articole cu date (înregistrări). Un articol reprezintă un elev. Se cere:

1. Să se afișeze toți elevii, ordonați alfabetic după nume și apoi după prenume; (15p)

2. Să se afișeze toți elevii născuți după anul 2000; (15p)

3. Să se afișeze toți elevii navetiști; (15p)

4. Să se afișeze elevii care nu au telefon; (15p)

Observație: Pentru crearea corectă a tabelei se acordă 30p.

Notă:

TEST DE EVALUARE FINALĂ, Barem de evaluare și notare

Anul scolar 2011-2012, disciplina Informatică, clasa a XII-a

 Nu se acordă punctaje intermediare, altele decât cele precizate explicit prin barem. Nu se acordă fracțiuni de punct.

 Nota finală se calculează prin împărțirea mediei aritmetice a punctajelor obținute la partea I și partea a II-a, la 10.

Partea I (100 puncte)

Partea a II-a (90 puncte)

Notă: Se va acorda punctajul pentru orice răspuns care conduce la rezolvarea corectă a cerințelor.

Se acordă 10 puncte din oficiu.

ANEXA NR. 7

ANALIZA REZULTATELOR OBȚINUTE DE ELEVII CLASEI A XII-A LA

TESTUL DE EVALUARE FINALĂ

Anul școlar 2011-2012, disciplina Informatică

Testul a fost susținut pe 25 mai 2012, de către 20 elevi. Din programa școlară în vigoare, a fost utilizată varianta de studiu nr. 1, Baze de date (1 oră de teorie) + Sisteme de gestiune a bazelor de date (3 ore de activități practice), Varianta A. Modelarea datelor și programare SQL (Oracle).

Rezultatele obținute la probă teoretică au fost următoarele:

Media / cls.= 8,80

Rezultatele obținute la probă practică au fost următoarele:

Media / cls.= 8,77

Nota finală a fost calculată prin împărțirea punctajului final la 10.

Media finală/clasa=8,78

Interpretarea rezultatelor:

În urma analizei rezultatelor obținute la testul de evaluare finală, am constatat următoarele:

Puncte tari

– 85% dintre elevi au dobândit cunoștințele teoretice necesare proiectării unei baze de date (entități, relații, atribute, rezolvarea relațiilor, definiție SGBD, normalizare);

– majoritatea elevilor cunosc elementele de bază ale SQL (comanda SELECT, sortarea datelor, crearea și modificarea structurii tabelelor, vederi, funcții);

– toți elevii au creat tabela repectând structura impusă;

Puncte slabe

– 15% dintre elevi nu stăpânesc noțiunile teoretice referitoare la proiectarea bazelor de date, confunzând tipurile de relații, normalizarea cu maparea etc.;

– există un număr mic de elevi care nu cunosc structura corectă și efectul comenzii

SELECT;

– elevii au avut dificultăți la utilizarea funcției NVL();

Similar Posts