Sunteți pe pagina 1din 24

Cuprins

Introducere
1. Elemente teoretice
1.1. Baza de date
Concept
Exemple: baza de date relaional
1.2. SGBD
Concept
Exemple: Microsoft Access
1.3. Aplicatie online
Limbaje de programare
* C#
*HTML
*CSS
Mediul de programare Visual Studio
*ASP.NET
2. Proiectarea aplicaiei
2.1. Limbajul UML
2.2. Diagrame
de clas
Cazurilor de utilizare
De activitati
2.3. Proiectarea bazei de date
2.4. Diagrama entitate relatie
3. Realizarea aplicaiei
3.1. Crearea bazei de date MA
3.2. Creare website
3.3. Conectare la baza de date
4. Prezentarea aplicatiei
4.1. Interfa grafic
4.2. Functionalitati
4.3. Rol
5. Concluzii
6. Bibliografie
INTRODUCERE

Motivul pentru care am ales aceast tem este faptul c reprezint o oportunitate
de nvare, respectiv de fundamentare a cunotinelor acumulate pe durata celor trei ani
de facultate n domeniul bazelor de date, al tehnologiilor WEB, precum i al
programrii orientate obiect.
Voi dezvolta o aplicaie de tip client-server, care va fi constituit dintr-o baz de
date relaional, realizat cu ajutorul Microsoft Access 2016, i o interfa grafic,
realizat n mediul de programare Visual Studio 2010.
Aplicaiile client-server sunt aplicaii care se instaleaz pe un calculator ce
funcioneaz n regim de server i pot fi executate de pe orice calculator aflat n reeaua
respectiv. Aplicaiile web sunt implementate n limbajul de scripturi php sau asp, cu
interfaa dezvoltat n html. Pentru ca aceste aplicaii s funcioneze trebuie instalat i
un server de web, cum ar fi Apache sau IIS 1 pe fiecare calculator de unde va fi accesat
aplicaia, precum i un browser de web: Internet Explorer, Google Chrome, Opera,
Mozilla Firefox etc. Aplicaia se va prezenta, deci, sub forma unui site web
corespunztor unei biblioteci digitale. Utilizatorul, respectiv bibliotecarul, va putea
astfel s acceseze baza de date i s realizeze activitile de gestiune a bazei de date din
browser, avnd la dispoziie o interfa prietenoas i uor de utilizat.
Am decis s utilizez sistemul de gestiune a bazelor de date rela ionale Microsoft
Access deoarece este un soft puternic, flexibil i uor de folosit, constituind totodat un
instrument complex de dezvoltare a aplicaiilor de baze de date. n opinia mea, un avantaj
important al utilizrii Microsoft Access este faptul c permite faciliti de tipul drag
and drop. De asemenea, Microsoft Access este deplin compatibil cu tehnicile de
legare i ncapsulare din tehnologia OLE a firmei Microsoft.
Visual Studio cuprinde un set de instrumente de dezvoltare pentru crearea de
aplicaii ASP.NET, Servicii Web XML, aplicaii desktop i aplica ii mobile. Visual Studio
este un mediu de dezviltare integrat (IDE) care permite utilizarea mai multor limbaje de
programare, cum ar fi: Visual Basic, Visual C++, Visual C# i Visual J#. Visual Web
Developer permite programatorului s beneficieze de caracteristicile .NET Framework
care ofer acces la tehnologii cheie pentru dezvoltarea de aplicaii web. Cea mai
important calitate, din punctul meu de vedere, a setului de tehnologii ce alctuiesc
ASP.NET este timpul relativ redus necesar pentru dezvoltarea aplicaiilor web. Att
1 Internet Informations Services
2

tehnologia n sine, ct i instrumentele de dezvoltare de aplicaii web de la Microsoft reduc


semnificativ timpul de dezvoltare al aplicaiilor web fa de alte tehnologii prin simplitatea
unui limbaj de programare managed2 de genul C# sau Visual Basic .NET, prin colecia
bogat de biblioteci de clase i controale .NET, prin orientarea pe construirea de aplicaii
web a mediului de dezvoltare Visual Web Developer.
Consider c utilizarea ASP.NET este modul cel mai simplu i rapid pentru a
dezvolta aplicaii mici, cum sunt magazine online, biblioteci, site-uri personale sau
aplicaii care nu sunt altceva dect un front-end3 pentru o baz de date.
Aplicaia generat cu ajutorul tehnologiilor menionate mai sus va avea drept
principale obiective: eficientizarea transferului de informaii dintr-o bibliotec, facilitarea
accesului utilizatorilor la informaii, o mai bun gestiune a fluxurilor informa ionale, a
activitilor specifice unei biblioteci.
Lucrarea este structurat pe cinci capitole, dup cum urmeaz:

Capitolul 1 conine
Capitolul 2 conine
Capitolul 3 conine
Capitolul 4 conine
Capitolul 5 conine

1. ELEMENTE TEORETICE
1.1.

NOIUNI DESPRE BAZELE DE DATE RELATIONALE

2 Un program scris ntr-un limbaj .NET conform Common Language Specification (CLS) este compilat
n Microsoft Intermediate Language (MSIL sau IL). Codul astfel obinut are extensia "exe", dar nu este
direct executabil, ci respect formatul unic MSIL. CLR (Common Language Runtime) include o main
virtual asemntoare cu o main Java, ce execut instruciunile IL rezultate n urma compilrii. Maina
folosete un compilator special JIT (Just In Time). Compilatorul JIT analizeaz codul IL corespunztor
apelului unei metode i produce codul main adecvat i eficient. ( Programarea Orientat pe Obiect i
Programarea Vizual, A. Ni, M. Ni, D. Taras paginile 4-5 )

3 Front-end-ul reprezint acea parte a site-ului sau a aplica iei web, pe care o putem vedea i cu
care interacioneaz vizitatorii. Acesta are dou componente dou: design-ul grafic i
dezvoltarea interfeei (partea de cod sau implementare HTML CSS).
3

n prezent, bazele de date reprezint componente eseniale ale vieii de zi cu zi


ntr-o societate informaional. Att n mediul de afaceri, ct i n afara lui, majoritatea
persoanelor ntreprind activiti care necesit interaciunea cu o baz de date, cum ar fi :
extragerea/ depunerea unei sume de bani din banc, rezervarea biletelor de avion sau de
tren, achiziionarea de bilete pentru un concert/ film, cutarea unor cri ntr-o bibliotec
computerizat, gestiunea angajailor unei firme, achiziionarea unor produse etc.
Conceptul de baz de date poate fi definit astfel:
O baz de date este o colecie de date centralizate, creat i meninut
computerizat, n scopul prelucrrii datelor n contextul unui set de aplicaii.
Prelucrarea datelor se refer la operaiile de introducere, tergere, actualizare i
interogare a datelor.( Ionescu Felicia, 2004)
O baz de date poate fi considerat un model al unor aspecte ale realitii unei
uniti economice. Diferitele obiecte din cadrul realitii ce prezint interes sunt
denumite clase sau entiti. Pentru aceste obiecte sunt achiziionate i memorate date
referitoare la diferite caracteristici (atribute). Baza de date este constituit ca un
ansamblu intercorelat de colecii de date, care are ca scop reprezentarea unei realiti.

Figura 1.1: Elemente din structura conceptual a unei baze de date

O baz de dat relaional este o baz de date care utilizeaz modelul de date
relaional. Modelul relaional de baze de date a fost introdus n anul 1970 prin articolul
lui Edgar Frank Codd A relational model for large shared databanks i poate fi definit
astfel:
Modelul de date relaional se bazeaz pe noiunea de relaie din matematic,
care corespunde unei entiti de acelai tip i are o reprezentare uor de neles i de
manipulat, ce const dintr-un tabel bidimensional, compus din linii i coloane. Fiecare
linie din tabel reprezint o entitate i este compus din mulimea valorilor atributelor
entitii respective, fiecare atribut corespunznd unei coloane a tabelului.( Ionescu F.,
2004)

Entitile sunt definite sub forma unor tablouri bidimensionale numite tabele
sau relaii de date. Legturilor dintre entiti sunt definite logic prin construc ia de
asocieri ntre tabele cu ajutorul unor atribute de legtur. Legturile pot fi reprezentate
sub forma unei diagrame de structur.
Conceptele modelului relaional sunt:

Domeniul reprezint un ansamblu de valori i este caracterizat printr-un nume.


Un domeniu poate fi explicit (sunt enumerate valorile posibile, de exemplu D1:
{m, f}) sau implicit (sunt precizate proprietatile valorilor, de exemplu D1:

{a/aN}).
Tabela sau relaia reprezint un subansamblu al produsului cartezian al mai

multor domenii, care este caracterizat printr-un nume.


Atributul constitue coloana unei tabele, fiind caracterizat printr-un nume.
Tuplul constitue linia dintr-o tabel i nu are nume.
Schema tabelei este reprezentat de numele tabelei, urmat ntre paranteze
rotunde de lista atributelor,

pentru fiecare atribut fiind precizat domeniul

asociat.
Cheia constitue un atribut sau un ansamblu de atribute care au rolul de a
identifica un tuplu dintr-o tabel. Exist urmtoarele tipuri de chei: primare sau

alternate, simple sau comune, externe.


Schema relaional reprezint ansamblul format din schema tabelei, cheile i
restrictiile de integritate.

Pe baza noiunilor prezentate, poate fi sintetizat esena modelului relaional avnd


urmtoarele caracteristici:

Datele sunt percepute de utilizatori ca tabele. Operatorii relaionali care pot fi


utilizai pentru prelucrarea datelor genereaz un tabel rezultat din tabelele

operanzi;
Asocierea dintre tabele se face prin intermediul egalitii valorilor unor atribute
comune, fapt ce permite rezolvarea oricrei interogri.

Modelul relaional prezint o serie de avantaje semnificative:

Datele se stocheaz doar ca valori, neexistnd pointeri sau navigare prin date;
Susine dezvoltarea de limbaje de cereri de nivel nalt n care utilizatorul
specific doar ce date dorete, nu i cum se ajunge la rezultat, modul n care este
5

calculat acesta rmnnd n sarcina sistemului de gestiune. Exemplu de astfel de

limbaj: SQL (Structured Query Language).


Ofer o baz solid pentru rezolvarea problemelor de corectitudine a datelor

(redundan, anomalii, etc).


Permite tratarea problemelor de independen a datelor.
n concluzie, o baz de date relaional constitue un ansamblu de tabele prin care

se reprezint att datele ct i legturile dintre ele.

1.2.

NOIUNI DESPRE SISTEMELE DE GESTIUNE ALE BAZELOR DE


DATE
ntre baza de date, privit ca o colecie de date memorate fizic n fiiere pe

harddisk-uri, i utilizatorii sistemului informatic exist un nivel software, numit sistem


de gestiune a bazei de date (SGBD). O baz de date computerizat poate fi creat i
meninut cu ajutorul unui grup de programe de aplicaie specifice acestui scop sau
utiliznd un SGBD.

Figura 1.2 : Componente ale sistemului informatic

SGBD-ul reprezint un interpretor de cereri, acesta are rolul de a recepiona de


la utilizatori anumite cereri de acces la baza de date, de a interpreta cererile respective i
de a executa operaiile necesare penrtu a returna rezultatul ctre utilizatori. Concret, un
SGBD este un pachet de programe ce faciliteaz procesul definirii, construciei i
manipulrii datelor pentru diverse aplicaii. Prin definirea bazei de date se n elege
specificarea tipurilor de date ce vor fi stocate n baza de date i descrierea detaliat a
fiecrui tip de dat. Procesul de construcie al bazei de date reprezint stocarea propriuzis a datelor cu ajutorul SGBD-ului. Procesul de manipulare a datelor cuprinde o
serie de funcii ce faciliteaz implementarea cererilor pentru gsirea datelor specificate,
adugarea de noi dat, generarea de rapoarte pe baza coninutului bazei de date.

n concluzie, un SGBD ofer utilizatorilor o viziune a datelor ce se afl n baza


de date, fr a mai fi necesar cunoaterea organizrii particulare a sistemului, asigur
protecia datelor fa de accese neautorizate, dar i fa de anumite defecte de
funcionare.
Microsoft Access este unul din cele mai cunoscute SGBDR 4-uri. Microsoft
Access are n componen un sistem de control al bazei de date (database engine) i o
intefa grafic destinat interaciunii cu utlizatorul. Aplicaiile de baze de date n MS
Access pot fi dezvoltate foarte uor datorit generatoarelor de aplicaii (wizards) care
permit proiectarea vizual a bazelor de date, a formularelor (forms) pentru interfeele
grafice i a rapoartelor (reports). MS Access poate fi utilizat n general pentru aplicaii
personale sau pentru mici afaceri.

1.3.

NOIUNI DESPRE LIMBAJUL DE MARCARE HTML

HTML5 este un limbaj descriptiv, utilizat pentru a descrie elementele structurale ale
paginii Web cum ar fi: titluri, liste, tabele, paragrafe, legturi cu alte pagini, dar i
aspectul paginii din punct de vedere grafic.
HTML-ul

utilizeaz etichete (tags) ce ofer indicaii browsere-lor cu privire la

ierarhizarea i afiarea informaiilor.


Etichetele utilizate n HTML sunt de dou tipuri:

etichete container, care sunt de forma: <tag> bloc de text </tag> i specific
formatul n care va fi afiat textul aflat ntre eticheta de nceput i cea de final.
Majoritatea etichetelor sunt etichete container. n cazul anumitor etichete de

acest fel, prezena etichetei de nchidere (</tag>) este opional.


etichete vide, care sunt de forma: <tag>. Etichetele vide nu indic formatul
textelor, ci semnaleaz introducerea anumitor elemente, cum ar fi: nceput de
paragraf, sfrit de linie, linie orizontal i altele. Aceste etichete ofer indicaii
browserului despre elementul introdus i despre cum s afieze acel element.

4 Sistem de Gestiune a Bazelor de Date Relaionale


5 Hypertext Markup Language
7

Documentele de tip HTML au urmtoarea structur:


1. Zona head (antet) delimitat prin
etichetele <head> </head>
2. Zona body (corp) delimitat cu
etichetele

<body>

</body>

sau

<frameset> </frameset>

Figura 1.3: Structura unui document HTML

1.4.

NOIUNI DESPRE CSS6

Un stil poate fi definit ca fiind o colecie de valori ale atributelor elementelor unui
document. Aceste valori pot fi aplicate ntregului document sau doar unei anumite pri
din document. Exemple de atribute: mrimea, grosimea, tipul i culoarea fontului,
marginile, paragrafele i orice altceva care poate influena aspectul unui element, deci a
unei pagini. Gruparea atributelor n stiluri permite designer-ului s aplice aceeai
colecie la diferite pri ale unui document.
Folosirea stilurilor reduce semnificativ efortul depus pentru modificarea
aspectului i aranjrii elementelor din pagini. n acest fel

nu mai este necesar

parcurgerea fiecrui document n parte i realizarea de modificri asupra fiecrui


element, ci se aplic modificri numai asupra foii de stiluri care stilizeaz aceste
elemente.
Sintaxa general a unei declaraii de stil este:
list_selectori{proprietatea1:list_valori1;
proprietatea2:list_valori2;

proprietatean:list_valorin;}
Stilurile se pot aplica elementelor unui document n trei moduri:

Inline: stilurile sunt incluse ca atribute n cadrul etichetelor HTML din


document. Utilizate astfel, vor afecta doar elementul asupra cruia sunt aplicate.

6 Cascading Style Sheets


8

Aceasta este o modalitate mai puin folosit, deoarece contrazice principiul


general al stilurilor i anume de a simplifica i de a face mai lizibil codul

documentului HTML.
Embedded: stilurile sunt incluse n interiorul documentului asupra cruia se
aplic, mai exact n seciunea <head> a documentului, prin utilizarea marcajului

<style>.
Linked: stilurile sunt definite n fiiere separate de documentul HTML.
Documentul face apel la foaia de stiluri prin utilizarea etichetei <link>.
Avantajul acestei metode este dublu. Pe de-o parte, foile de stiluri externe se pot
aplica la nivelul mai multor documente HTML, realiznd astfel o legtur de stil
ntre ele, lucru deosebit de util la construirea unui site. Pe de alt parte, acelai
document poate utiliza foi de stiluri diferite, oferind vizitatorului posibilitatea de
a opta pentru unul sau altul dintre ele, n funcie de preferine.

1.5.

MEDIUL DE LUCRU VISUAL WEB DEVELOPER

Visual Web Developer este un mediu de lucru dezvoltat de Microsoft i este


specializat pe realizarea site-urilor.
Am ales s utilizez Visual Web Developer deoarece conine instrumente de
dezvoltare moderne, uor de neles i uor de folosit, un editor vizual, un editor
performant de cod C#HTML, un Web Server propriu ce poate rula paginile create,
faciliti ca Master Page7.
Visual Web Developer dispune de dou variante diferite de a crea un site web:

Web Site (File -> New Web Site)


Web Application Project.
Web Site-ul compileaz dinamic paginile, n timp ce Web Application creaz un

assembly8. Dac alegi s creezi un Web Site, ai posibilitatea de a face build pe o singur
pagin i nu pe tot site-ul.
Figura 1.4 : Crearea unui site Web n Visual Web Developer 2010

7 Master Page reprezint un formular WEB standard care acioneaz ca un tipar pentru paginile
unui site
9

Web site-ul genereaz dinamic fiierele care conin cod generat automat de Visual
Studio, cel cu definiiile controalelor, n timp ce Web Application Project creaz fiierul
respectiv pe disc, cu extensia .designer.cs. Un avantaj al celei de-a doua variantea este
timpul mai mic necesar unui build.

1.6.

NOIUNI DESPRE LIMBAJUL DE SCRIPTING SERVER-SIDE


ASP.NET
Orice pagin ASP.NET conine dou componente: partea de interfa,

controalele care vor fi vizualizate de ctre utilizator, i codul .NET care va fi executat
pe server atunci cnd se face o cerere ctre pagina respectiv. Codul poate fi scris
utiliznd limbajul C# sau Visual Basic .NET.
Script-urile ASP.NET reprezint fiiere text cu extensia .aspx, care conin
controale HTML sau ASP. Codul C# sau VB.NET asociat paginii sau obiectelor din
pagin poate fi plasat direct n fiierul cu extensia .aspx, sau ntr-un fiier separat
<nume_pagin>.aspx.cs (pentru C#) sau <nume_pagin>.aspx.vb (pentru VB.NET).
Paginile ASP.NET ruleaz pe server-ul web Microsoft IIS. n urma prelucrrii pe
server, rezult o pagin web Html, care este trimis ctre browser. Ciclul de via al unei
pagini web are urmtorii pai:
1. User-ul scrie adresa unei pagini web. Acest lucru nseamn o cerere a browserului web ctre server, prin intermediul metodei HTTP GET. Pe server, pagina
ruleaz pentru prima dat, executndu-se i codul C# existent.
2. Rezultatul este o pagin Html care este trimis browser-ului.
3. User-ul poate introduce date sau apsa un buton, i pagina este trimis napoi
server-ului. Dac utilizatorul acceseaz un link, se ncarc o alt pagin, i nici o
prelucrare nu este efectuat de pagina iniial.
4. Pagina este trimis ctre browser prin intermediul metodei HTTP POST. n
ASP.NET aceast aciune se numete PostBack.
5. Pe server-ul web, pagina ruleaz din nou, i sunt prelucrate informaiile
introduse de ctre utilizator n browser.
6. Rezultatul este trimis browser-ului, i astfel se reia ciclul.

8 un .dll
10

2. PROIECTAREA APLICAIEI
Primul pas n proiectarea aplicaiei const n realizarea unor diagrame care s
evidenieze funciile i structura aplicaiei. Pentru realizarea unor astfel de diagrame voi
utiliza un limbaj grafic specializat i anume limbajul UML9.

2.1.

UML - LIMBAJUL DE MODELARE UNIFICAT

Limbajulul UML este un limbaj de modelare orientat obiect, fiind utilizat de ctre
dezvoltatorii software din toat lumea.
Conform OMG10, UML este un limbaj de modelare bazat pe notaii grafice
folosit pentru a specifica, vizualiza, construi i documenta componentele unui program.
UML este un limbaj descriptiv, cu ajutorul cruia pot fi descrise modele. Un model
constitue o reprezentare simplificat a unui anumit sistem, ce permite analizarea unora
dintre proprietile acestuia. Motivul utilizrii modelelor este faptul c acestea
faciliteaz nelegerea proprietilor obiectelor de ctre oameni.
UML poate fi utilizat pentru modelarea proceselor de afaceri, reprezentarea
structurii

unei

aplicaii,

descrierea

arhitecturii

unui

sistem,

surprinderea

comportamentului unui sistem, modelarea structurilor de date sau pentru construirea


unei specificaii detaliate a unui sistem.
Notaiile grafice utilizate n UML, respectiv diagramele, descriu att aspecte
structurale ct i comportamentale ale unui sistem software.
1.

Diagramele structurale sau de structur sunt utilizate pentru a descrie


arhitectura static. Acestea evideniaz componentele ce trebuie s existe n
cadrul sistemului modelat i sunt n general utilizate pentru documentarea
arhitecturii sistemelor software. Diagramele structurale se mpart n:

9 Unified Modelling Language


10 Object Management Group , Inc ( OMG ) este o organizaie internaional susinut de peste 800 de
membri, inclusiv furnizori de sisteme informatice , dezvoltatori de software i utilizatori . Fondat n
1989, OMG promoveaz teoria i practica tehnologiei orientate - obiect n dezvoltarea de software.

11

Diagramele de clase , care sunt utilizate pentru a descrie clase din sistem
precum i relaiile dintre acestea;
Diagramele de componente, care descriu relaiile ntre componentele care au
interfee bine definite;
Diagrame de pachete, care descompun modelul n grupuri de elemente i
descriu dependenele dintre ele la nivel abstract;
Diagrame de distribuire, care descriu modul n care componentele sunt
distribuite pe echipamentele hardware;
Diagrame de obiecte, care prezint modul n care obiectele sunt relaionate i
utilizate n timpul rulrii;
Diagramele comportamentale

2.

sau

de

comportament

descriu

interaciunile i schimbrile de stare ce au loc pe msur ce elementele din


model sunt executate. Aceste sunt utilizate n general pentru a descrie
funcionalitatea sistemului modelat. Diagramele comportamentale se mpart n:
Diagramele de activitate, care sunt utilizate pentru a defini logica unui

program i procesele business;


Diagramele de comunicare, care descriu secvena de apeluri ce sunt

efcetuate ntre obiecte n timpul rulrii;


Diagramele de secven, care descriu secvena de mesaje schimbat ntre

obiecte;
Diagramele de stare, acer descriu strile, evenimentele i condiiile care

genereaz tranziiile de stare;


Diagramele temporale, care descriu evoluia strilor unui obiect n timp;
Diagramele cazurilor de utilizare, care redau interaciunile dintre sistem i
mediul nconjurtor.

2.1.1. DIAGRAMA CAZURILOR DE UTILIZARE


ASPECTE TEORETICE
Diagrama cazurilor de utilizare sau diagrama use case face parte categoria
de diagrame ce sunt folosite n UML pentru modelarea aspectelelor dinamice ale unui
program. Din aceast categorie mai fac parte diagrama de activiti, diagrama de stri,
diagrama de secven i diagrama de colaborare.
Rolul diagramelor cazurilor de utilizare este:

12

de a modela contextul unui sistem: determinarea granielor sistemului respectiv

i a actorilor cu care acesta interacioneaz;


de a modela cerinele unui sistem: ce trebuie s fac sistemul independent de
cum trebuie s fac. Va rezulta specificarea comportamentului dorit. Sistemul
este reprezentat sub forma unei cutii neagre. Ceea ce se vede este cum
reacioneaz el la aciunile din exterior.

Diagrama cazurilor de utilizare are

urmtoarele componente:

cazuri de utilizare;
actori;
relaii.
Un caz de utilizare este o descriere a unei mulimi de secvene de aciuni, pe care

un program le execut atunci cnd interacioneaz cu entitile din exteriorul lui (actori)
i care conduc la obinerea unui rezultat vizibil, msurabil, valoros pentru un anumit
actor. Un caz de utilizare arat ce face un program sau subprogram, dar nu i cum este
implementat o anumit funcionalitate.
Cazurile de utilizare reprezint, de fapt, cerine ale utilizatorilor. Acestea se
reprezint sub forma unor elipse orizontale. Elipsele se eticheteaz, n general, cu un
scurt text, care descrie cazul de utilizare respectiv.

Figura 2.1: Notaia grafic pentru un caz de utilizare

Un actor reprezint idealizarea unei peroane, unui proces sau unui obiect
exterior care interacioneaz cu un sistem, subsistem sau o clas. Actorii pot fi persoane,
echipamente hardware sau alte programe.
Actorii sunt reprezentai ca siluete umanoide, etichetate cu nume care indic
rolul pe care acesta l

joac

interaciunea

cu

programul.

13

Figura 2.2: Notaia grafic pentru un actor

Relaiile exprim interaciuni ntre cazuri de utilizare, ntre actori i ntre cazuri
de utilizare i actori. Exist urmtoarele tipuri de relaii:

Relaia de asociere se definete ntre actori i cazuri de utilizare, sau ntre


diferite cazuri de utilizare. Se utilizeaz pentru a exprima comunicarea ntre
elementele pe care le unete. Relaia de asociere se reprezint grafic printr-o

linie.
Relaia de dependen se poate stabili numai ntre cazuri de utilizare. Acest tip
de relaie modeleaz dou situaii:
- Dependena de tip include atunci cnd un caz de utilizare folosete
-

funcionalitatea oferit de un alt caz de utilizare;


Dependena de tip extend atunci cnd exist variante ale aceluiai caz de
utilizare.
ASPECTE PRACTICE

Pentru realizarea diagramei cazurilor de utilizare am utilizat Draw.io, un


software specializat n crearea de diagrame UML i altele. Aceast diagram prezint
operaiile ce pot fi realizate n cadrul unei biblioteci online de ctre diferii actori.
Utilizatorul poate efectua urmtoarele operaii:
- Creare cont: presupune introducerea de informaii personale;
- Conectare: se realizeaz pe baza unui nume de utilizator i al unei parole;
- Schimbare parol: parola veche este nlocuit de o parol nou;
- Cutare carte: se realizeaz n funcie de titlu, autor, categorie, etc;
- Descrcare carte: crile sunt disponibile n format electronic.
Bibliotecarul se ocup de:
- Adugare carte: adaug cri n format electronic
- Adugare informaii despre carte;
- tergere informaii despre carte;
- Modific informaii despre carte;
Administratorul se ocup de ntreinerea site-ului.

14

Figura 2.3: Diagrama cazurilor de utilizare

2.1.2.

DIAGRAMA DE CLASE
ASPECTE TEORETICE
Diagrama de clase este un tip de diagram utilizat pentru descrierea structurii
statice a unui sistem. O diagram de acest tip cuprinde clase sau interfee, obiecte
precum i relaii care se stabilesc ntre acestea. Relaiile pot fi de tipul: asociere,
agregare, generalizare, dependen, realizare.
Clasele pot fi reprezentate de entiti software, entiti hardware sau concepte.
Clasa are instane sau realizri. Aceste instane constitue obiectele clasei. Prin conceptul
de clas se descriu structura i comportarea obiectelor clasei.
15

O clas cuprinde urmtoarele elemente:

Nume - prin care se distinge de alte clase;


Atribute - proprieti ale clasei;
Metode - servicii ce pot fi cerute oricrui obiect al clasei.

O relaie Figura 2.4: Exemplu de clas

modeleaz o interaciune ntre elementele pe

care le conecteaz. n modelarea orientat obiect cele mai importante relaii sunt
relaiile de asociere, dependena, generalizare i realizare. Un caz particular al relaiei de
asociere l constituie relaia de agregare. ntre clase se pot stabili relaii de generalizare,
dependen i realizare. Relaiile de asociere i agregare se stabilesc ntre instane ale
claselor.
ASPECTE PRACTICE
Modelarea unui sistem presupune identificarea acelor elemente importante din
punctul de vedere al celui care modeleaz. Aceste elemente alctuiesc vocabularul
sistemului. Fiecare dintre aceste elemente are o mulime de proprieti.
Primul pas n realizarea diagramei de clas este identificarea claselor. Clasele pe
care le-am identificat i utilizat sunt:

Clasa AUTOR
Clasa BIBLIOTECAR
Clasa CARTE
Clasa CONT
Clasa UTILIZATOR
Cel de-al doilea pas este identificare atributelor i a metodelor

corespunztoare claselor identificate.


Clasa AUTOR are atributele: Nume ( string ), Prenume ( string ), Biografie
( string ), Data_naterii ( date ).
Clasa BIBLIOTECAR are atributele: ID_bibliotecar ( int ), Nume (string),
Prenume (string) i metodele: adaug_carte(), adaug_info(), modific_info(),
terge_info().
Clasa CARTE are atributele: ID_carte ( int ), Titlu ( string ), Editur (string ),
Data_publicrii ( date ).
Clasa CONT are atributele: ID_cont ( int ), Istoric (string), Data_deschiderii
(string ).

16

Clasa UTILIZATOR are atributele: ID_utilizator ( int ), Nume (string),


Prenume (string), Data_naterii ( date ), Email ( string ) i metodele: creare_cont(),
conectare(), schimbare_parol(), caut_carte(), descarc_carte().

Figura 2.5:
Diagrama de

clase

2.1.3.

DIAGRAMA DE ACTIVITI
ASPECTE TEORETICE

17

Diagrama de activiti face parte din categoria diagramelor de comportament. Se


utilizeaz pentru a reprezenta grafic succesiuni de activiti i aciuni, permind
reprezentarea deciziilor, iteraiilor, concurenei ntre activiti i procese, etc.
Elementele unei diagrame de activiti sunt:

Activiti - pot fi descompuse, activitatea lor putnd fi reprezentat cu ajutorul

altor diagrame de activiti.


Aciuni - modeleaz ceva care se ntmpl, cum ar fi: evaluarea unei expresii,

apelul unei operaii a unui obiect, crearea/distrugerea unui obiect.


Tranziii - reprezint relaii ntre dou activiti.
Obiecte - aciunile sunt realizate de ctre obiecte sau opereaz asupra unor

obiecte.
Ramificaii - se folosesc pentru a modela alternative (decizii) a cror alegere
depinde de o expresie boolean.
ASPECTE PRACTICE

Am realizat o diagram care reprezint activitile ntreprinse de


bibliotecar. Am identificat urmtoarele etape parcurse de bibliotecar:
1. Primul pas const desigur n accesare site-ului web al bibliotecii;
2. Cel de-al doilea pas const n conectarea bibliotecarului n contul propriu;
3. Cel de-al treilea pas urmrete dac s-a realizat conectarea sau nu. n cazul n
care conectarea este reuit, bibliotecarul va avea acces la site. n caz contrar,
caz n care bibliotecarul nu-i amintete parola, exist posibilitatea de a o
schimba;
4. Cel de-al patrulea pas prezint situaia n care bibliotecarul este conectat i poate
ntreprinde activiti de gestiune a documentelor ce se afl n bibliotec. Acesta
poate s ncarce documente pe site, s le elimine, s actualizeze informa iile din
baza de date, s adauge informaii noi sau s tearga anumite informaii.

18

Figura 2.6: Diagrama activitilor bibliotecarului

Cea de-a doua diagram pe care am realizat-o prezint activittile


desfurate de un utilizator n general. Am identificat urmtoarele etape parcurse de
utilizator:
1. Primul pas al utilizatorului este de a accesa site-ul web al bibliotecii;
2. Pasul al doilea const n cutarea documentului dorit;
3. Cel de-al treilea pas urmrete dac documentul este sau nu disponibil n
bibliotec:
- n caz favorabil, documentul exist n baza de date a bibliotecii,
urmtoarea activitate este aceea de verificare dac utilizatorul este unul
-

autentificat sau anonim;


n caz nefavorabil, documentul nu exist n baza de date a bibliotecii,

utilizatorul prsete site-ul.


4. Cel de-al patrulea pas prezint dou situaii:
- Utilizatorul nu are cont, deci i se prezint opiunea de Creare cont.
- Utilizatorul are cont, deci i se prezint opiunea Conecatre.

19

5. Cel de-al cincilea pas urmrete dac s-a realizat conectarea sau nu. n cazul n
care conectarea este reuit, utilizatorul va avea acces la documentul dorit. n
caz contrar, caz n care utilizatorul nu-i amintete parola, exist posibilitatea de
a o schimba;
6. Cel de-al aselea pas prezint situaia n care utilizatorul este conectat i poate
ntreprinde activiti de vizualizare i descrcare a documentelor ce se afl n
bibliotec.

Figura 2.7: Diagrama activitilor utilizatorului

CONCLUZII

20

Modelarea aplicaiei prin intermediul diagramelor UML permite o mai bun


nelegere a funcionalitii aplicaiei. Prezentarea simplificat a proceselor din cadrul
unei biblioteci confer o imagine clar asupra rolului aplicaiei, acela de a face accesul
la informaii mult mai rapid i eficient.
n concluzie, consider c realizarea acestei lucrri m-a ajutat s-mi dezvolt
cunotinele legate de modelarea unei aplicaii. Proiectarea diagramelor UML utiliznd
software-ul Draw.io a reprezentat o experien instructiv.

2.2.

PROIECTAREA BAZEI DE DATE

Proiectarea unei baze de date presupune proiectarea logic i fizice a acesteia,


astfel nct baza de date s corespund cerinelor utilizatorilor pentru un anumit set de
aplicaii.
n general, proiectarea unei baze de date se realizeaz prin parcurgerea
urmtoarele etape:

Proiectarea conceptual a bazei de date.


Alegerea unui sistem de gestiune al bazelor de date.
Implementarea bazei de date i a aplicaiei.

n practic, voi proiecta i realiza o aplicaie simplificat pentru gestiunea


crilor dintr-o bibliotec digital. Baza de date va fi denumit Biblioteca.

2.2.1. SCHEMA CONCEPTUAL A BAZEI DE DATE


Modelul entitate-relaie este cel mai utilizat model conceptual de nivel nalt,
fiind introdus de P.S.Chen n anul 1976. Elementele de baz utilizate n cadrul acestui
model sunt conceptele de entitate i cel de relaie.
Conceptul de entitate desemneaz un obiect al lumii reale, avnd existen
fizic, cum ar fi: persoan, autovehicul, firm, activitate. O entitate deine o mulime de
proprieti numite atribute, care descriu entitatea respectiv. Denumirea de entitate este
substituit, n general, cu denumirea de tabel al bazei de date, iar pentru atribute este
utilizat denumirea de cmpuri ale tabelului.
Concret, n faza preliminar, se cunosc urmtoarele informaii:
- O bibliotec are n componen mai multe cri, fiecare carte avnd
asociat un cod, un titlu, autor, editur, data cnd a fost publicat.
21

Utilizatorii au stocate n baza de date informaii referitoare la contul lor:

un id, nume, prenume, data naterii, email.


Sunt stocate i descrcrile realizate de fiecare utilizator n parte.

Pentru baza de date Biblioteca pe care intenionez s o creez, o entitate


reprezint o Carte cu atributele ID_carte, Titlu, Autor, Editur, Data_publicrii. O alt
entitate ar fi Utilizatori, cu atributele ID_utilizator, Nume, Prenume, Data_na terii,
Email. O alt antitate ar putea fi Descrcri, cu atributele: ID_descrcare,
Data_descrcrii, ID_carte, ID_utilizator.

Atributelor le sunt asociate valori care au

drept rol identificarea entitii. Aceast atribuire de valori pentru fiecare atribut
constitue o nregistrare a tabelului respectiv.
n proiectarea bazelor de date sunt definite relaii sau asocieri ntre entitile
componente, n scopul reprezentrii unor anumite aspecte ale realitii pe care o
modeleaz baza de date.
Conceptul de relaie desemneaz o coresponden ntre entitile componente.
Relaiile pot fi binare (ntre dou entiti) sau multiple (ntre mai mult de dou entiti).
Diagrama

entitate-relaie

este

modelul

entitate-relaie

reprezentat

prin

intermediul entitilor i a relaiilor dintre acestea. Mai jos este exemplificat


dezvoltarea modelului conceptual de nivel nalt al bazei de date Biblioteca.

2.2.2. REALIZAREA TABELELOR IN MICROSOFT ACCESS


2016

Figura 2.8: Schema conceptual a bazei de date Biblioteca

22

Primul pas
crearea
a bazei de
ajutorul
ales.

presupune
propriu-zis
date cu
SGBD-ului

Figura 2.9: Crearea bazei de date Biblioteca n Access 2016

Odat creat baza de date, voi continua cu crearea succesiv a tabelelor. Prima
tabel, denumit Cri, va avea urmtoarea structur:
CRI ( ID_carte, Titlu, Autor, Editur, Data_publicrii, Categorie )
Atributul unic ID_carte reprezint cheia primar i are rolul de a identifica n mod unic
o nregistrare din tabel.

Figura 2.10: Tabela CRI

Cea de-a doua tabel, denumit Utilizatori, va avea urmtoarea structur:


UTILIZATORI ( ID_utilizator, Nume, Prenume, Data_naterii, Adres_email )
n aces caz, cheia primar este ID_utilizator.

Figura 2.11: Tabela UTILIZATORI

23

Cea de-a treia tabel, denumit Descrcri, va avea urmtoarea structur:


DESCRCRI ( ID_descrcare, ID_carte , ID_utilizator , Data_descrcrii )
n aces caz, cheia primar este ID_descrcare. Atributele ID_carte, respectiv
ID_utilizator reprezint chei externe, ce au rolul de a realiza corespondene cu celelalte
tabele.

Figura 2.12: Tabela DESCRCRI

Relaiile dintre tipurile de entiti definite n modelul conceptual al unei baze de


date se realizeaz n modelul relaional prin intermediul cheilor strine.
Cheia extern determin o asociere ntre cmpurile unor tabele cu cele ale altei
tabele i permite realizarea unirii tabelelor respective prin intermediul operaiilor JOIN.
n imaginea de mai jos este prezentat baza de date, dup ce s-a realizat
proiectarea ei, crearea tabelelor i a relaiilor dintre ele i dup ce s-au impus
constrngerile.

Figura 2.13: Reprezentarea grafic a relaiilor dintre tabele bayei de date BIBLIOTECA

24