Documente Academic
Documente Profesional
Documente Cultură
1
Impactul conceptelor de abstractizare şi generalizare precum şi elaborarea unui
model de descriere informala a datelor, şi anume modelul entitate-asociere (EA), au
dus la gasirea unor cai algoritmizabile de proiectare optima a bazelor de date.
Modelul entitate-asociere este in acest moment cel mai popular model de
comunicare a structurii bazelor de date datorita intuitivitatii şi simplitatii
elementelor sale. Imbunatatiri sale ulterioare prin folosirea abstractizarilor şi
generalizarilor au dus la crearea de variante ale modelului, doua dintre acestea fiind
descrise in acest capitol.
Figura 2.1. prezinta schematic etapele proiectarii unei noi aplicatii care gestioneaza
o baza de date, cu accentul pe partea de proiectare a structurii acesteia. Aceste etape
sunt detaliate in paragrafele urmatoare.
In aceasta etapa se realizeaza analiza segmentului din lumea reala care va fi gestionat
de aplicatia respectiva. Rezulta o specificatie neformalizata a cerintelor constand din
doua componente:
1. Cerinte privind continutul bazei de date: categoriile de date care vor fi stocate
şi interdependentele dintre acestea.
2. Cerinte privind prelucrarile efectuate de aplicatie: prelucrarile efectuate
asupra datelor, arborele de meniuri al aplicatiei, machetele formatelor de
introducere şi prezentare a datelor şi ale rapoartelor tiparite de aceasta.
In general aceasta etapa nu poate fi asistata prin programe de tip CASE dar exista
reguli care ajuta proiectantul in realizarea sa. Activitatile desfasurate includ:
• Analiza activitatii desfasurate la momentul respectiv de beneficiarul aplicatiei sau
de o multime reprezentativa de beneficiari in cazul aplicatiilor de uz general.
• Analiza continutului de date şi a functionalitatii aplicatiilor software - daca exista
- care vor fi inlocuite de noua aplicatie incluzand meniuri, machete ecran şi
machete de rapoarte.
2
• Analiza formularelor tipizate şi a altor documente utilizate de beneficiar pentru
realizarea activitatii respective.
• Identificarea tuturor interdependentelor dintre datele care vor fi stocate in baza
de date şi a restrictiilor privind valorile pe care le pot lua anumite categorii de
date. • Identificarea - daca este cazul - a prelucrarilor care se declanseaza
automat atat in cazul modificarii bazei de date cat şi la momente prestabilite de
timp (de exemplu sfarsit de luna, de an, etc.)
• Identificarea operatiilor care sunt necesare beneficiarului in activitatea curenta
dar care in acest moment nu sunt realizate prin intermediul aplicatiilor software
folosite precum si a operatiilor care pot fi incluse in mod natural in noua aplicatie.
3
Fig. 1. Etapele proiectării unei aplicaţii
4
• Identificarea bazelor de date existente care pot fi folosite de noua aplicatie -
direct sau printr-un import initial de date - evitandu-se in acest fel reintroducerea
manuala a acestora.
• Identificarea modalitatilor de transfer de date intre noua aplicatie şi alte aplicatii
care ruleaza deja la beneficiar şi care vor fi folosite şi in viitor de catre acesta.
• Identificarea necesitatilor privind datele şi prelucrarile care pot fi in viitor
necesare beneficiarului, deci a posibilelor dezvoltari in timp ale aplicatiei.
Aceasta etapa este efectuata de personal calificat avand in vedere ca rezultatele sale
sunt baza de la care se pleaca in etapele urmatoare, eventualele erori putand fi
corectate ulterior cu costuri semnificative.
1.4. Normalizare
Exista o serie de reguli care descriu ce inseamna o structura corecta a unei tabele şi
care definesc asa numitele forme normale. Pe baza structurii bazei de date şi a
5
dependentelor rezultate atat din transformarea in model relational cat şi a altor
dependente identificate de proiectant in analiza de sistem se poate face o operatie
numita normalizare modificand structura bazei de date astfel incat toate tabelele
din aceasta sa fie in forma normala dorita. Cursul 3 contine definitia formelor
normale uzuale şi descrierea unor algoritmi de normalizare care sunt folositi de
uneltele CASE pentru efectuarea automata a operatiei.
Acest model a fost introdus de P. P. Chen in 1976 ([Ch 76]). El se constituie intr-o
abordare de tip grafic a proiectarii bazelor de date si a fost adoptat de comunitatea
stiintifica precum si de producatorii de software in domeniu datorita simplitatii si
expresivitatii sale.
6
Exemple de entitati: Studenti, Orase, Angajati, etc. Ele definesc de obicei persoane,
amplasamente, obiecte sau evenimente cu importanta informationala. Membrii unei
clase care formeaza o astfel de entitate poarta numele de instante ale acelei entitati.
De remarcat ca intreaga literatura de specialitate defineste intii conceptul de
multime de entitati (sau tip de entitati) pentru ca apoi sa adopte pentru usurinta
exprimarii prescurtarea de entitate pentru acest concept. Deci entitatea este un
obiect generic care reprezinta multimea tuturor instantelor sale.
Entitatile sunt de doua categorii:
1. Entitati independente (sau tari) sunt cele care au existenta independenta de alte
entitati,
2. Entitati dependente (sau slabe) sunt formate din instante care isi justifica
incadrarea in clasa respectiva doar atita timp cit intr-o alta entitate (tata) exista
o anumita instanta de care sunt dependente. De exemplu in cazul unei baze de
date de personal, fiecare instanta a entitatii COPII ramine in clasa respectiva
(copiii angajatilor) atit timp cit in entitatea ANGAJATI exista instanta
reprezentand pe tatal/mama acelui copil.
7
Atributele modeleaza proprietati atomice distincte ale entitatilor. De exemplu
entitatea STUDENTI poate avea ca atribute Matricola, Nume, Prenume, Varsta, Anul,
Grupa, etc. In procesul de modelare vor fi luate in considerare doar acele proprietati
ale entitatilor care sunt semnificative pentru aplicatia respectiva. Din acest motiv, la
entitatea STUDENTI nu vom lua in considerare caracteristici ca Talia sau
Culoarea_parului acestea nefiind necesare pentru baza de date a universitatii (astfel
de atribute ar putea exista de exemplu intr-o baza de date privind personalul militar).
8
dintre instantele unei entitati in m subclase care nu reprezinta o partitie in sens
matematic. Din punct de vedere formal, cele doua concepte se pot defini astfel:
9
Element Reprezentare Exemplu
Ierarhie de
incluziune
Economisti
Ierarhie de
generalizare
Vom alege a doua varianta in cazul in care numarul angajatilor cu copii este mult mai
mic decit numarul total al angajatilor, fapt care va duce la economie de spatiu pe
disc: in acest caz o noua entitate - din care va rezulta o tabela a bazei de date – va
ocupa mai putin spatiu decat un atribut suplimentar - din care rezulta o coloana
suplimentara a tabelei SALARIATI.
Conventia grafica de reprezentare a celor doua tipuri de ierarhii se gaseste in fig. 3.
Asa cum entitatile au atribute care specifica diversele proprietati ale clasei de obiecte
modelate, şi asocierile au caracteristici care aduc informatii suplimentare. Acestea
sunt urmatoarele:
Gradul asocierii
Este o valoare numerica intreaga si este dat de numarul de entitati care participa la
acea asociere. Asocierile de grad 1, 2 şi 3 se mai numesc si asocieri unare, binare si
respectiv
ternare.
10
Pentru exemplificare vom considera o baza de date continand informatii despre
studenti, proiectele realizate de acestia, calculatoarele pe care au alocate ore de
lucru si facultatile la care sunt inscrisi. De asemenea vom considera ca unii dintre
studenti au un tutor care ii indruma, acesta fiind un student dintr-un an mai mare.
Diagrama EA a bazei de date este prezentata in figura 4. Pentru simplificarea figurii,
nu s-au reprezentat decit entitatile şi asocierile dintre ele nu şi atributele fiecarei
entitati in parte.
Un exemplu de asociere de grad mai mare ca trei este orarul unui an de studiu al unei
facultati. Acesta este o asociere intre urmatoarele entitati:
• GRUPE. Fiecare grupa are un cod unic.
• SALI. Salile sunt etichetate printr-un indicativ alfanumeric.
• INTERVALE ORARE. Un interval orar este un triplet (Zi, De la ora, La ora) •
ACTIVITATE. Este o activitate prezenta in orar (curs, laborator, seminar, proiect).
• PROFESOR. Este cadrul didactic titular pentru o activitate
11
Fig. 5. Asociere de grad 5
Conectivitatea asocierii
Este specifica fiecarei ramuri a unei asocieri şi poate avea una din urmatoarele doua
valori: unu sau multi. Determinarea ei pentru ramura spre o entitate E se face astfel:
fixand arbitrar cite o instanta pentru celelalte entitati care participa la asociere se
pune intrebarea: cite instante ale lui E pot fi conectate cu acestea? Daca poate fi cel
mult una, conectivitatea ramurii este unu, altfel conectivitatea este multi.
12
prezentate cele trei asocieri avand figurata şi conectivitatea. S-a presupus ca
asocierile TUTOR si INSCRIS_LA sunt unu-unu respectiv multi-unu.
Obligativitatea asocierii
In exemplul anterior ramurile asocierilor TUTOR si ALOCARE sunt optionale iar cele
ale asocierii INSCRIS_LA sunt obligatorii deoarece:
• Pentru asocierea TUTOR: exista studenti care nici nu au un tutor nici nu sunt
tutori pentru alti studenti
• Pentru asocierea ALOCARE:
- Un student la un proiect poate sa nu aiba alocate ore pe nici calculator (de
exemplu in cazul unui proiect la o materie umanista)
- Un student si un calculator respectiv un calculator si un proiect pot sa nu fie
asociati prin alocare de ore de lucru (de exemplu pentru calculatoarele din
birourile cadrelor didactice)
• Pentru asocierea INSCRIS_LA: nu exista studenti care nu sunt inscrisi la nici o
facultate si nici facultati fara studenti inscrisi.
13
reprezentata de asocieri pot avea sau nu valori nule dupa cum ramurile acestora sunt
optionale sau obligatorii.
Atributele asocierilor
A_Absolvit
In acest caz informatii ca anul absolvirii, media, specializarea nu pot fi conectate nici
la STUDENT (pentru ca un student poate fi absolventul mai multor facultati in ani
diferiti, cu medii diferite, etc.) si din motive similare nici la FACULTATE. Ele descriu
asocierea unui student cu o facultate si de aceea vor fi atasate asocierii A_ABSOLVIT.
Toate atributele unei asocieri sunt atribute descriptive, neexistand in acest caz un
identificator al asocierii.
Rolul
In cazul in care de la o asociere pornesc mai multe ramuri catre aceeasi entitate,
fiecareia dintre acestea i se poate asocia un rol. Acesta arata semnificatiile diferite
pe care le are aceeasi entitate in cadrul asocierii respective.
14
In cazul asocierii TUTOR cele doua ramuri pot fi etichetate de exemplu cu tutor si
discipol aratand ca instante diferite ale aceleiasi entitati au rolurile respective (fig.
7.).
Pentru a putea clasifica corect informatiile, exista citeva reguli care trebuie
respectate şi pe care le prezentam in continuare. Prima regula da un criteriu general
de impartire in entitati şi atribute, urmatoarele doua semnaleaza exceptii iar ultimele
doua reguli au un caracter mai putin normativ ci mai degraba orientativ.
Localitate
Bucuresti, Cluj, Iasi
BANCA
Daca insa se memoreaza informatii despre banci care au sucursale şi filiale in diverse
localitati, deci pentru o singura banca (o valoare a identificatorului entitatii BANCA)
avem mai multe localitati in care aceasta are sedii (mai multe valori ale descriptorului
LOCALITATE), atunci LOCALITATE va fi entitate distincta desi nu are decat un singur
atribut. Pentru a modela localizarea sediilor in diverse localitati intre cele doua
entitati va exista o asociere binara unu-multi (unu spre BANCI) numita de exemplu
ARE_SEDIU_IN.
15
Nume
Regula 3. Atributele unei entitati care au o asociere multi-unu cu o alta entitate vor
fi reclasificate ca entitati.
Asa cum am vazut asocierile pot lega doar entitati. Daca un descriptor al unei entitati
este intr-o relatie multi-unu cu o alta entitate acel descriptor va fi trecut in categoria
entitatilor. De exemplu, daca avem entitatile BANCA avand ca atribut descriptiv
monovaloric LOCALITATE şi JUDET, daca se doreste modelarea apartenentei la judete
a localitatilor va exista o asociere multi-unu intre atributul LOCALITATE şi entitatea
JUDET.
Localitate
Nume
16
2. Daca identificatorul unei entitati este compus din mai multe atribute care nu sunt
toate identificatori in alte entitati, exista doua solutii:
• Entitatea respectiva se elimina şi este inlocuita prin alte entitati si asocieri astfel
incit pe ansamblu informatia modelata in varianta originara sa fie pastrata. •
Entitatea respectiva ramine in forma originara, cu dezavantaje insa in privinta
vitezei operatiilor.
In cazul in care despre anumite subclase ale unei clase de obiecte exista informatii
specifice, clasa şi subclasele (care la pasul anterior au fost catalogate ca entitati) sunt
interconectate intr-o ierarhie de incluziune sau generalizare, dupa cum este cazul. La
acest pas se face şi o reatasare a atributelor pentru evitarea redundantei, astfel:
• La entitatea tata vor fi atasate atributele care formeaza identificatorul şi
descriptorii care modeleaza informatii specifice intregii clase.
• La entitatile fiu vor fi atasate atributele de identificare (aceleasi ca ale tatalui) şi
atributele care modeleaza informatii specifice doar acelei subclase de obiecte.
17
Matricola Nume
Camin
c. Identificarea asocierilor
Eliminarea asocierilor redundante. In cazul in care o asociere poate fi dedusa din alte
asocieri deja catalogate, aceasta se elimina. De retinut ca intre doua entitati pot sa
existe oricite asocieri şi ele nu sunt considerate redundante atit timp cit au
semnificatie diferita.
Un caz des intilnit de redundanta este cel al compunerii (tranzititatii) asocierilor.
Prezentam un exemplu:
18
Urmeaza_profilul
Are_profilul
Fig. 9. Asocieri redundante
Asocieri de grad mai mare ca 2. Asocierile ternare (sau de grad mai mare ca trei) se
folosesc doar atunci cand sunt strict necesare. Este de multe ori posibil ca o aceeasi
informatie sa fie modelata ca o asociere ternara sau ca un ansamblu de asocieri
binare si unare. In cazul acesta, este de preferat ca sa se opteze pentru a doua
varianta. Doar cand asocierile binare nu pot modela intreaga semnificatie dorita se
va opta pentru asocieri de grad mai mare ca doi. Aceasta cerinta deriva din faptul ca
la trecerea in modelul relational asocierile de grad superior devin scheme de relatii
de sine statatoare, marind numarul de tabele din baza de date pe cand cele de grad
unu şi doi (cu exceptia celor multi-multi) nu au acest efect.
d. Integrarea vederilor.
19
pentru descrierea sistemului, încadrându-le în diagrame de context, diagrame ale
fluxurilor de date fizice şi diagrame ale fluxului de date logice. Altele apelează la
combinaţii de diagrame, tabele şi forme descriptive.
Diagrama de context scoate în evidenţă aria de întindere a sistemului analizat, prin
specificarea elementelor din interiorul organizaţiei şi a celor externe, sub denumirea
de entităţi externe sistemului analizat.
20
Simboluri folosite în diagramele realizate cu SSADM
flux de date: este constituit din datele transmise între două procese. Fluxul
de date este etichetat printr-un substantiv ce sugerează informaţia sau
pachetul de informaţii transmise.
21
3.2. Descompunerea funcţională şi rafinarea DFD
Dacă sistemul pe care-l descriem cu ajutorul DFD este complex, va fi dificil să realizăm
de la început o DFD detaliată. Pentru a putea descrie în detaliu sistemele complexe,
metodele structurate propun o abordare TOP-DOWN, respectiv o descompunere
funcţională a sistemului, care este realizată prin rafinarea succesivă a proceselor.
Primul nivel (nivelul 0) îl constituie DIAGRAMA CONTEXTUALĂ, care defineşte
graniţele între sistemul analizat si mediu.
Nivelele următoare se obţin prin rafinarea proceselor complexe într-o diagramă de
nivel inferior.
Pentru aplicaţia DECONTĂRI au rezultat următoarele diagrame:
22
Fig. 12. Diagrama fluxului de date de nivel 2 pentru aplicaţia Decontări
23
− specificarea cerinţelor speciale privind flexibilitatea, compatibilitatea cu alte
sisteme, gradul de generalizare al sistemului.
Pentru fiecare variantă de soluţie informatică se procedează la:
− evaluarea resurselor necesare (costurile de sistem);
− evaluarea efectelor economice directe si indirecte;
− calculul indicatorilor de eficientă economică.
24
2. Înlăturarea dependenţelor fizice şi temporale din denumirea proceselor şi a
fluxurilor de date: din DFD la nivel fizic (se observă că nu există referinţe fizice şi
temporale în aplicaţia decontări).
3. Derivarea proceselor logice:
− scoaterea în afara graniţelor sistemului a proceselor manuale care nu pot fi
automatizate (deciziile);
− înlocuirea proceselor care nu realizează nici o transformare asupra fluxurilor de
date cu fluxurile propriu-zise;
− combinarea proceselor care realizează prelucrări asemănătoare sau multiple care
se execută împreună sau în secvenţă;
− înlăturarea proceselor care ţin de implementarea actuală şi a proceselor
redundante.
În cazul aplicaţiei prezente:
− se combină procesele “Înregistrare încasări în numerar” şi “Înregistrare încasări prin
virament” deoarece realizează prelucrări asemănătoare;
− se înlătură procesele redundante “Înregistrare încasări în jurnal” si “Înregistrare
plăti în jurnal”.
4. Derivarea fluxurilor logice care presupune înlocuirea numelui de document
numai cu fluxul de informaţii utilizate efectiv de proces.
5. Gruparea proceselor elementare şi transformarea diagramei fizice în
diagramă logică, aplicând cei 5 paşi.
25
Tabel 1 Aplicaţia Decontări
Sursa Destinaţia Nume flux Continutul fluxului
CODCLIENT, DENCLIENT,
1.1. Înregistrare D2 FACTURI ADRESAC, CONTC,
desfaceri
facturi desfacere DESFACERE BANCA_C, DATAFACTD,
NRFACTD, TOTALFACTD
CODCLIENT, DENCLIENT,
D2 FACTURI 1.3. Analiza
desfaceri ADRESAC, CONTC, BANCA_C,
DESFACERE situaţie client
NRFACTD, TOTALFACTD
26
internă a proceselor, oricât ar fi de detaliate, chiar şi la nivelul proceselor primare, se
impune apelarea la alte tehnici pentru descrierea logicii proceselor. Procesele trebuie
astfel descrise încât să poată fi convertite în programe prin intermediul limbajelor de
programare.
În faza de analiză, modelarea logicii proceselor se va derula cât mai detaliat şi
complet posibil, dar operaţiunea nu va respecta structura sau sintaxa unui anumit
limbaj de programare: aceasta se va realiza într-o etapă ulterioară şi anume
proiectarea. Modelarea logicii proceselor ca şi diagramele fluxurilor de date fac parte
din etapa de analiză a sistemului.
În analiza structurată, rezultatele obţinute în urma modelării proceselor sunt
descrieri şi diagrame structurate care vor prezenta logica fiecărui proces, precum şi
diagrame care vor evidenţia dimensiunea temporală a sistemelor, când apar
procesele sau evenimentele şi modul în care aceste evenimente schimbă starea
sistemului.
Pe scurt se poate spune că modelarea logică a proceselor se va concretiza în
următoarele elemente ale documentaţiei :
− reprezentarea în engleza structurată;
− reprezentarea logicii proceselor prin tabele de decizie; − reprezentarea logicii
proceselor prin arbori de decizie;
− tabelul sau diagrama stărilor de tranziţie.
27
CLIENTI.contc = cont;
CLIENTI.banca_c = banca;
CLIENTI.sold = sold;
cod = FACTURI_DESF.codclient;
den = FACTURI_DESF.denclient;
adr = FACTURI_DESF.adresac;
cont = FACTURI_DESF.contc;
banca = FACTURI_DESF.bancac;
} else
{
READ(ÎNCASĂRI);
vb=0; vb1=0;
while (not eof (ÎNCASĂRI) AND vb=0)
{
if (cod=ÎNCASĂRI.client AND FACTURI_DESF.nrfactd=ÎNCASĂRI.nrfactd
AND
FACTURI_DESF.datafactd =ÎNCASĂRI.datafactd)
{ if (FACTURI_DESF.totalfactd !=ÎNCASĂRI.sumaincasata)
{ sold = sold+ FACTURI_DESF.totalfactd - ÎNCASĂRI.sumaincasata}
vb1=1;
}
else if (vb1=1) vb=1
READ (ÎNCASĂRI)
}
MOVE FIRST LINE ÎNCASĂRI
READ (FACTURI_DESF)
}
CLOSE (FACTURI_DESF, ÎNCASĂRI, CLIENTI)
28
− Să se efectueze o analiză sănătoasă a datelor. Analizele datelor clarifică problemele
de structurare a lor şi conduc la structuri stabile ale acestora, concretizate prin costuri
reduse ale realizării sistemelor. Dacă baza de date a unităţii este deosebit de
importantă, atunci pe analiza datelor trebuie să se pună un accent aparte, ea fiind
întotdeauna realizată înaintea proiectării programelor. Firesc, dacă ştim care sunt
cerinţele unui sistem (ieşirile), imediat ne vom pune întrebarea din ce se obţin
acestea (intrările) şi apoi vom urmări cum se pot obţine ieşirile (procesele).
Obiectivul principal al ingineriei informaţiei este crearea unui set de metodologii care
să poată fi folosite în cele mai diverse medii de lucru, astfel încât să se construiască
modele ale datelor la nivel de întreprindere, iar sistemele proiectate izolat să se
integreze în aceste modele.
Datele trebuie să fie unice. Asupra lor, la nivel de întreprindere, pot fi văzute două
categorii mari de operaţiuni:
− asigurarea datelor (creare, actualizare);
− utilizarea datelor (obţinere de documente, de diverse rapoarte, analize „What-If”,
sprijin decizional, diferite căutări de informaţii, control şi auditare întreprindere).
Modelul conceptual al datelor înseamnă o modalitate de reprezentare a datelor
organizaţiei. Rolul său este de a scoate în relief toate regulile privind identitatea şi
legăturile existente între date.
Cea mai cunoscută formă utilizată pentru modelarea datelor este diagrama
entitaterelaţie (DER). O modalitate aproape identică este folosită şi în analiza şi
proiectarea orietată-obiect.
Modelarea datelor prin DER prezintă caracteristicile şi structura datelor independent
de modul în care acestea sunt memorate în calculator. Modelul se creează iterativ.
De cele mai multe ori, operaţiunea are loc la nivel de întreprindere, prin apelarea la
o categorie foarte largă de date neglijându-se detaliile exagerate. Doar în etapele
următoare, în speţă când se trece la definirea proiectului, are loc construirea unui
model anume entitate-relaţie prin care să fie scoasă în evidenţă aria de întindere a
proiectului. În timpul structurării cerinţelor, un model entiatate-relaţie reprezintă
cerinţele conceptuale de date pentru sistemul luat în discuţie. După ce sunt descrise
complet intrările şi ieşirile sistemului în cadrul proiectării logice, modelul conceptual
al datelor, redat sub forma entitate-relaţie, este rafinat înainte de a fi trecut într-un
format logic (de regulă, un model relaţional al datelor) din care se definesc bazele de
date şi are loc proiectarea fizică a acestora.
Se consideră că, în timpul modelării conceptuale a datelor, se produc şi se analizează
cel puţin patru diagrame entitate-relaţie:
1. DER care să acopere datele necesare aplicaţiei proiectului. Ea va permite
stabilirea necesarului de date ale aplicaţiei proiectului, fără să se ţină seama de
constrângerile sau confuziile generate de detaliile care nu sunt încă necesare.
2. DER pentru aplicaţia ce va fi înlocuită. Diferenţele dintre aceste diagrame
arată ce schimbări trebuie întreprinse pentru convertirea bazei de date în noua
aplicaţie. Nu se aplică în cazul sistemelor complet noi.
29
3. DER care să scoată în relief întreaga bază de date din care noua aplicaţie îşi
va extrage datele. Cât timp mai multe aplicaţii pot folosi aceeaşi bază de date,
această diagramă şi prima evidenţiază modul în care noua aplicaţie apelează la
conţinutul unor baze de date mult mai extinse.
4. DER pentru întreaga bază de date din care aplicaţia curentă îşi extrage
datele necesare. Ea este discutată doar pentru sistemele care există şi pentru
care se urmăreşte îmbunătăţirea.
Metodele de determinare a cerinţelor trebuie să fie orientate, prin întrebările puse,
prin anchetele efectuate, şi asupra datelor, nu numai asupra proceselor şi logicii lor.
La început, chiar fără utilizarea unei terminologii de specialitate, analistul va fi
preocupat de modul în care va afla cât mai multe informaţii despre datele necesare
viitorului sistem pentru a funcţiona la parametrii proiectaţi. Întrebările vor fi astfel
formulate încât să se realizeze o bună înţelegere a regulilor după care vor fi folosite
datele în noul sistem, ce politici vor fi utilizate. Nu trebuie, încă, să se intre în detalii
de genul: când şi cum sunt prelucrate sau folosite datele, pentru a se realiza
modelarea datelor.
Modelarea datelor se realizează printr-o combinaţie a punctelor de vedere .
Un prim punct de vedere, formulat în literatură sub numele de metoda top-down,
va scoate în evidenţă regulile derulării activităţii firmei, printr-o înţelegere foarte
clară a naturii afacerii, şi nu se va opri asupra detaliilor privind modul în care
ecranele, rapoartele sau documentele sunt folosite în organizaţie.
În afara metodei top-down, informaţiile necesare construirii modelului datelor se
pot obţine şi prin urmărirea documentaţiei firmei, ecrane, rapoarte, formulare, din
interiorul sistemului. Acest proces este cunoscut în literatura de specialitate sub
numele de metoda bottom-up.
Elementele rezultate vor figura în diagramele fluxurilor de date prin care vor fi
evidenţiate datele prelucrate în sistem şi de aici va rezulta necesarul de date
menţinute în baza de date a sistemului.
30
Modelul Entitate/Relaţie (E/R) permite reprezentarea schematică a realităţii avute
în vedere cu ajutorul unei diagrame E/R definită plecând de la conceptele de bază:
tip de entitate, tip de relaţie (legătură, corelaţie), atribut.
3.11.1.Atribute
Fiecare tip de entitate are un set de atribute asociate lui. Un atribut este o
proprietate sau o caracteristică a unei entităţi care prezintă interes pentru
organizaţie. La rândul lor, şi relaţiile pot avea propriile lor atribute.
Exemplu de entitate pentru aplicaţia DECONTĂRI şi unele dintre atributele
posibile:
CLIENT : CodClient, DenClient, AdresaClient
Ca şi numele tipurilor entităţilor, numele atributelor sunt substantive scrise cu
majuscule (eventual + minuscule), plasate în interiorul elipselor, legate de entitatea
căreia i se asociază. De multe ori însă, chiar şi în cazul folosirii produselor CASE, pentru
a nu se încărca o diagramă entitate-relaţie, se evită prezentarea atributelor.
31
Operaţiunea se face, în schimb, în repository, depozitul de informaţii despre proiect.
Aici orice atribut se descrie separat, ca orice obiect distinct.
32
<nume tip
entitate> Reprezentare tip entitate cu numele <nume tip entitate>
<nume atribut>
Reprezentare atribut cheie cu numele <nume atribut>
<nume atribut>
<nume tip
entitate> <nume atribut>
Apartenenţa atributului
<nume atribut>
la tipul de entitate <nume tip
entitate> <nume tip relaţi e>
Superclasa
Subclasa
33
Un exemplu de reprezentare a unui tip de entitate prin diagramă este ilustrat în
figura 11.
DenClient
Relaţiile entităţilor
O relaţie este o asociere între cazurile/instanţele uneia sau mai multor tipuri de
entităţi care prezintă interes pentru organizaţie. Ele se reprezintă printr-un romb ca
în exemplul din figura 12.
34