SISTEME Informationale
SISTEME Informationale
Capitolul 1
Sisteme informatice.....
3
5
6
7
7
9
9
10
11
11
12
14
15
15
16
Capitolul 2
Iniierea i planificarea realizrii unui sistem informatic....
18
18
20
21
Capitolul 3
Analiza sistemului existent i definirea cerinelor noului sistem........................
23
23
24
25
25
26
27
28
31
33
35
43
47
Capitolul 4
Proiectarea logic a sistemelor informatice..........................................................................................
48
48
48
51
52
54
55
59
63
65
Capitolul 5
Proiectarea fizic a sistemelor informatice...........................................................
66
66
67
67
68
69
70
81
82
83
87
Sisteme informatice
5.3. Proiectarea sistemelor distribuite.............................................................................................
Teste .........................................................................................................................
87
93
Bibliografie.............................................................................................................................. 107
Sisteme informatice
Sistem informatizat
Procesor de informaii
Sistem
manual
Sistem
automatizat
Informaie
Om
Fiiere
manuale
Calculator
Fiiere
informatice
Reguli
Reguli i
proceduri
scrise
Programe i
Structuri
de
date
Subsistem 1
Subsistem 2
Aplicatia 2.1
Subsistem n
Aplicatia 2.k
Program
2.k.1
Program
2.k.s
Sisteme informatice
La realizarea i utilizarea unui sistem informatic trebuie avute n vedere reele,
echipamente, produse software de baz, produse software de aplicaie.
Reele
- dup aria de ntindere geografic:
- Locale =LAN (Local Area Network) la nivelul unei organizaii;
- Metropolitane MAN (Metropolitan Area Network) la nivel de ora, localitate;
- De mare ntindere -WAN (World Area Network) (ex. Jude, ar).
- dup accesibilitate:
- Internet (reeaua Web) o colecie mondial de reele interconectate;
- Intranet un sit Web sau un grup de sit-uri care aparin unei organizaii, accesibil numai
pentru membrii acesteia;
- Extranet o reea intranet care este parial accesibil utilizatorilor externi autorizai.
Echipamente
- Echipamente de calcul : calculatoare, staii grafice, pentru servere de reea, servere de
baze
de date, staii de lucru (clieni, utilizatori), UPS-uri.
- Echipamente de comunicaie : router-e, hub-uri, modem-uri, switch-uri.
Produse software
Produse software de baz:
- Sisteme de operare pentru serverul de reea (UNIX, Windows NT server, Windows
2000, Novell) i pentru staiile de lucru sau clieni (Windows 95, Windows 98, Windows
NT work station, Windows 2000);
- Sisteme de Gestiune a Bazelor de Date (ORACLE, SQL Server Microsoft, MySQL,
ACCESS, FoxPro etc.);
- Sisteme GIS (Geographical Information System) utilizate pentru realizarea
aplicaiilor din domeniul cadastrului (stocarea i prelucrarea datelor spaiale );
- Limbaje (medii) de programare utilizate pentru realizare software de aplicaie.
Produse software de aplicaie produse program ce constituie aplicaiile i
subsistemele sistemului informatic.
1.1.2. Clasificarea sistemelor informatice
Sistemele informatice se clasific dup mai multe criterii.
-
Sisteme informatice
1.1.3. Obiectivele sistemelor informatice
Plecnd de la ideea c sistemul informatic este subordonat procesului decizional, al
crui rol este de a asigura funcionarea normal i optim a ntregii activiti i de a
reduce la minimum pierderile n caz de funcionare anormal, rezult c obiectivul
oricrui sistem informatic trebuie s fie subordonat obiectivului propriu-zis al unitii
economico-sociale. n acest context, obiectivul principal urmrit prin introducerea unui
sistem informatic l constituie asigurarea conducerii cu informaii reale i n timp util,
necesare fundamentrii i elaborrii operative a deciziilor [2].
1.1.4. Ciclul de via a unui sistem informatic
Sistemele informatice (SI) se caracterizeaz printr-un ciclu de via care ncepe cu
decizia realizrii unui nou SI care s corespund mai bine noilor cerine ale utilizatorilor
i se ncheie cu decizia de nlocuire a SI existent cu unul nou, mai performant. Ciclul de
via se desfoar pe etape n cadrul fiecreia fiind definite faze i activiti specifice
[4].
nc de la nceput facem meniunea c, indiferent de etapa istoric sau
metodologic, sistemele sunt abordate prin prisma ciclului lor de via. Ele apar se
dezvolt, descresc i pier, sau printr-un nou ciclu, se perfecioneaz, dnd natere unei
alte versiuni sau chiar unui nou sistem. Mutaiile din domeniul tehnologiei informaionale
i al metodelor de abordare a sistemelor s-au reflectat i n ciclul de via al dezvoltrii
sistemelor, fie prin schimbarea etapelor acestuia, fie prin modificarea opticii de
parcurgere a lor. Spre exemplu, odat cu abordarea orientat-obiect a sistemelor, s-au
lansat i noi modele ale ciclului de via [4].
Prin parcurgerea materialelor de specialitate, se poate constata c numrul
fazelor/etapelor variaz de la trei (de exemplu analiza, proiectarea, implementarea) la
peste douzeci.
Exist mai multe modele ale ciclului de via, multe dintre ele cunoscnd o evoluie
n timp. Spre exemplu, modelul cascad (figura 1.3) prevede parcurgerea mai multor
etape ale ciclului de via care se deruleaz secvenial fiind ns permis la nevoie
revenirea la etapa parcurs anterior n vederea ndeprtrii neajunsurilor identificate n
etapele superioare ale ciclului de via [4].
Etape ale ciclului de via a unui sistem informatic n modelul cascad ([10])
1. Analiza i definirea cerinelor sunt definite scopurile, serviciile i
restriciile pe care trebuie s le ndeplineasc sistemul informatic, prezentate ntr-o
manier nct s poat fi nelese att de ctre utilizatorii sistemului ct i de personalul de
proiectare.
2. Proiectarea sistemului i software-ului satabilirea cerinelor pentru
hardware i software i elaborarea arhitecturii generale a sistemului. Funciile sistemului
informaional vor fi reprezentate astfel nct s poat fi tranformate n unul sau mai multe
programe executabile.
3. Implementarea i testarea unitilor de program proiectarea software-ului
din etapa anterioar este transpus ntr-o mulime de programe sau module programi
verificarea faptului c fiecare program sau modul satisface specificaia sa.
Proiectarea
sistemului i a
software-ului
Implementarea
i
testarea
unitilor
de
program
Integrarea
testarea
sistemului
Exploatarea
ntreinerea
sistemului
Fig. 1.3. Etapele ciclului de via a unui sistem informatic n modelul cascad ([10])
Sisteme informatice
1.1.5. Coninutul bazei informaionale a unei ntreprinderi
Prin analiza critic sunt identificate entitile bazei informaionale. n principal,
pentru o ntreprindere acestea pot fi grupate dup cum urmeaz:
-
observarea mediului care genereaz datele, fie printr-un observator uman, fie prin
diverse echipamente;
nregistrarea datelor, fie prin scrierea lor n documentele surs, fie prin captarea lor
sub diferite forme cu ajutorul unor echipamente speciale.
Pregtirea datelor const ntr-un numr de operaii executate asupra datelor pentru
a facilita prelucrarea lor ulterioar. Ele sunt [1]:
-
clasificarea datelor, care implic atribuirea de coduri de identificare (simbol cont, cod
secie, etc.), astfel nct datele s fie incluse n submulimile corespunztoare;
gruparea datelor, adic acumularea intrrilor similare, pentru a fi prelucrate n grup;
verificarea datelor cuprinde o mare varietate de proceduri pentru controlul
corectitudinii datelor, nainte ca ele s fie prelucrate;
sortarea datelor, prin care grupurile de date sunt aranjate n loturi de nregistrri, dup
criterii de ordonare numeric, alfabetic, alfanumeric sau de timp;
cuplarea a dou sau mai multe loturi de nregistrri ntr-unul singur;
transmiterea datelor de la un punct la altul;
transcrierea datelor dintr-o form n alta, astfel nct s se efectueze trecerea de la
scrierea de mn la cea tipizat sau de la documentele scrise la mediile specifice.
10
Pregtirea datelor
Prelucrarea datelor
ntreinere
fiiere
Informaii
ieire
de
11
Sisteme informatice
1.1.7. Sistemele informatice de gestiune
Sistemul informatic de gestiune implic urmtoarele patru componente
interdependente: domeniile de gestiune, datele, modelele, regulile de gestiune [4].
Sistemul informatic de gestiune asigur obinerea informaiei solicitate de
utilizator, folosind mijloacele tehnologiei informaiei (TI).
Sistemele informatice de gestiune sunt sisteme integrate. Se caracterizeaz printr-o
introducere unic a datelor, preluate din documentele primare care actualizeaz o baz de
date unic a contabilitii care va fi ulterior prelucrat pentru obinerea situaiilor
specifice fiecrui utilizator [4].
Documente
facturi
ordin de plat
bon
de
consum
Actualizare
Consultare 1
Situaia
costurilor pe
comenzi
Consultare 2
Balana
de
verificare
Registrul jurnal
Casa
Banca
BD
12
timp. Folosirea eficient a acestor resurse, n scopul obinerii unui sistem informatic
performant a impus ordonarea acestui proces complex, ntr-o succesiune bine stabilit de
etape i subetape i utilizarea unor metode i tehnici adecvate. Acest lucru a dus deci, la
conturarea unor metodologii de realizare a sistemelor informatice.
ntre diversele etape de realizare a sistemelor informatice exist o legtur
indestructibil, legtur reflectat i de faptul c n mod logic i practic calitatea realizrii
unor activiti din etapele i fazele precedente influeneaz n mod decisiv calitatea
activitilor din etapa ce i urmeaz [2].
1.2.1. Coninutul metodologiilor de realizare a sistemelor informatice
Metodologiile de realizare a sistemelor informatice cuprind [2]:
- modalitatea de abordare a sistemelor, pentru elucidarea raportului dintre variaiile
sistemului i dinamismul su;
- regulile de formalizare a datelor i proceselor de prelucrare;
- instrumentele pentru concepia, realizarea i elaborarea documentaiei;
- modalitatea de derulare a proiectului i aciunile specifice fiecrei etape (ciclul de
viat);
- definirea modului de lucru, rolului analitilor i proiectanilor i a raportului dintre ei;
- modalitile de administrare a proiectului (planificare, programare, urmrire).
Totodat, metodologiile au rolul de a indica modul de desfurare a acestui proces,
stabilind [2]:
- componentele procesului de realizare a sistemului informatic (etape, subetape,
activiti, operaii) i coninutul lor;
- fluxul parcurgerii (executrii) componentelor; metodele, tehnicile, procedeele,
instrumentele, normele si standardele utilizate.
n funcie de modul de abordare i domeniul de aplicabilitate, metodologiile
utilizate sunt:
- metodologii din domeniul gestiunii: AXIAL (firma IBM), MERISE (Ministerul
industriei-Franta), IE (James Martin), SSADM (Marea Britanie);
- metodologii orientate obiect: OMT (General Electric -SUA), OOD (Michael
Jackson);
- metodologii pentru conducerea proiectelor de sisteme informatice: SDM / S,
METHOD/ 1 Arthur Andersen, NAVIGATOR (Ernst & Young - James Martin).
1.2.2. Metode i tehnici de realizare a sistemelor informatice
La realizarea sistemelor informatice se utilizeaz : metode, tehnici, instrumente,
procedee de lucru [2].
Metodele utilizate n proiectarea sistemelor informatice reprezint modul unitar
sau maniera comun n care analitii de sisteme, programatorii i alte categorii de
persoane implicate, realizeaz procesul de analiz a sistemului informaional-decizional
existent, proiectarea i introducerea sistemului informatic. Deci, metoda are un caracter
general, n cadrul ei aplicndu-se anumite tehnici de lucru [2].
Tehnicile de lucru utilizate n proiectarea sistemelor informatice reprezint
felul n care se acioneaz eficient i rapid, n cadrul unei metode, pentru soluionarea
13
Sisteme informatice
diferitelor probleme ce apar n procesul de proiectare. Prin aceste tehnici se mbin
armonios cunotinele despre metode cu miestria personal a celor chemai s aplice
metodele si s utilizeze instrumentele adecvate [2].
Utilizarea acestor metode, tehnici, instrumente, procedee de lucru n proiectarea
sistemelor informatice se face n conformitate cu o serie de principii i n limita unor
metodologii de lucru care se adopt n funcie de situaia real la care se refer.
n abordrile incipiente se lucra cu probleme izolate i ulterior s-a efectuat trecerea
la abordarea sistemic (modular), odat cu abordarea funcional sau, mai bine zis, cu
analiza i descompunerea funcional (n fiecare modul exist cte o funcie) i ulterior
abordarea orientat-obiect [2]. Pe parcurs s-au impus dou strategii de abordare i
anume:
- strategia top down (de sus n jos);
- strategia bottom up evolutiv (de jos n sus).
n strategia top down abordarea general este divizat n uniti componente prin
rafinri repetate, metoda de proiectare putnd fi descris sub forma unei diagrame
ierarhice cu module de control pe nivele superioare i cu module detaliate pe nivelele
inferioare. Structura organizatoric a unei uniti economico-sociale numit organigrama
unitii poate fi reprezentat printr-o astfel de diagram ierarhic. Pentru uniti
economice productive n organigram se disting urmtoarele patru nivele de reprezentare
[10]:
- nivelul conducerii strategice, reprezentat de directorul general i consiliul de
administraie;
- nivelul conducerii tactice (directori pe funciuni);
- nivelul compartimentelor funcionale (servicii i posturi de lucru) i de proiectare,
cercetare (laboratoare) care asigur conducerea operativ a sistemului prin efii lor;
- nivelul compartimentelor de producie (secii, ateliere) care realizeaz funcia de
producie a sistemului economic.
n strategia bottom up evolutiv, se pornete de la o tratare minimal care se
extinde treptat pe msura naintrii n realizarea sistemului.
n practic, de cele mai multe ori se utilizeaz o combinare a celor dou strategii.
Metodele de abordare a sistemelor informatice ar putea fi grupate prin prisma celor
mai muli autori astfel [1]:
- metode orientate spre funcii, numite i metode ale descompunerii funcionale;
- metode orientate spre fluxuri date, deci metode orientate spre procese, deoarece
diagramele fluxurilor de date se ntrebuineaz pentru descrierea proceselor;
- metode orientate spre informaie sau date, orientate-informaii, aprute ca urmare a
popularizrii puternice a ingineriei informaiei a lui JAMES MARTIN, dar i a
diagramelor entitate-relaie ale lui CHEN [3];
- metode orientate-obiect.
Caracteristici eseniale ale principalelor metode
Informaia este vzut de DeMarco n 1982, ca fiind posibil de abordat prin trei
perspective specifice sistemelor informaionale sau prin trei dimensiuni: date, funcii,
comportament.
14
Datele sunt surprinse din prisma structurii lor sub form de atribute i nseamn de
fapt, ceea ce are stocat, i reflect structura static [1].
Funciile scot n eviden n mod limitat ceea ce face sistemul. El poate fi vzut i
ca un proces, ntruct elementele sistemului despre care se pstreaz datele de rigoare
sunt supuse unor transformrii funcionale, prin intermediul proceselor [1].
Comportamentul este invocat pentru a reda o alt modalitate de percepie a
sistemului, influena evenimentele i proprietilor sistemului, i sugereaz dinamica lui
[1].
Metoda descompunerii funcionale (orientate funcii) [1].
Dintre autorii remarcabili care au abordat descompunerea funcional i enumerm
pe civa cum ar fi DeMarco, Yourdon i Constantine, Jackson, Page-Jones, Warnier-Orr,
Dahl, Marco&Gowan. Descompunerea funcional este cea care anun apariia
proiectrii structurate i analizei structurate. Fiecare funcie este descompus n
subfuncii, pn se obin structuri uor de transpus n instruciunile limbajelor de
programare.
Metodele fluxurilor de date (orientate-proces) [1].
Prin aceast metod analitii efectueaz reprezentarea lumii reale prin simboluri
care reprezint fluxul datelor, transformrile datelor, stocarea datelor, entiti externe, etc.
Metoda orientat spre procese are nc un mare grad de asemnare cu descompunerea
funcional.
Metode orientate spre informaii (orientate-date) [1]
Dou realizri importante n domeniu au dat tonul unei orientri n abordarea
sistemelor: modelarea datelor cu ajutorul diagramelor entitate-relaie, de ctre Peter P.
Chen (1976) i ingineria informaiei, n viziunea lui James Martin.
Metoda orientat-obiect [1]
Metodele OO constituie o categorie particular a metodelor de dezvoltare software,
care privesc construirea sistemelor pentru care clasa reprezint unitatea arhitectural
fundamental. Clasa este o grupare logic a obiectelor care au aceeai structur i un
comportament similar.
15
Sisteme informatice
Majoritatea produselor soft au fost construite n mod artizanal, fr posibilitatea
testrii complete a lor, fiind nsoite de o documentaie destul de slab. Instrumentele
CASE implic utilizarea calculatorului ca un mijloc de susinere a activitilor de
planificare, definire, proiectare i realizare a softului. Ele se bazeaz pe logica structural,
pe descompunerea funcional i reprezentarea prin diagrame a fluxurilor de date ale
aplicaiilor.
Potrivit principiilor conceptuale, sistemele CASE au fost realizate pentru a ncuraja
abordarea logicii structurate i pentru folosirea calculatorului ca un mod de tezaurizare a
lucrrilor i ca o planet de desen, pe care pot fi plasate reprezentrile structurate ale
sistemelor sau aplicaiilor. Pe msura evoluiei lor, sistemele CASE au devenit mult mai
complexe, permind ca procesele de proiectare i realizare a aplicaiilor s se desfoare
ntr-un mediu informatic interactiv, oferind utilizatorilor un ntreg arsenal de instrumente
i proceduri, prin care pot proiecta, realiza, testa, documenta, ntreine/actualiza i
exploata sistemul.
Utilizarea produselor de tip CASE a fost determinat de [1]:
- calitatea ndoielnic a aplicaiilor realizate n mod tradiional;
- frustrarea utilizatorilor n ncercarea lor de a participa la procesul de proiectare i
realizare a aplicaiilor, datorit nivelului ridicat de cunotine informatice solicitate de
metodele tradiionale;
- costuri deosebit de mari pe care le presupun ntreinerea i actualizarea softului
funcional;
- imposibilitatea rezolvrii tuturor cerinelor utilizatorilor;
- limitarea posibilitii de reprezentare grafic a schemelor de realizare a noilor
proiecte.
- Folosirea sistemelor CASE este motivat i de urmtoarele avantaje:
- reducerea complexitii logicii de descriere a sistemului;
- posibilitatea de a alege dintre mai multe variante de proiectare;
- creterea vitezei de realizare a sistemelor;
- realizarea succesiv a componentelor unui sistem;
- creterea integrrii;
- consolidarea disciplinei de proiectare;
- oferirea unei interfee de proiectare;
- folosirea depozitelor modularizate;
- salvarea i refolosirea unor componente din diagramele realizate;
- simplificarea activitilor de proiectare i realizare a sistemelor/aplicaiilor.
Utilizarea sistemelor CASE a nceput cu introducerea diagramelor fluxurilor de
date, care fac posibil realizarea unui model al derulrii proceselor sistemului/aplicaiei
care se proiecteaz. A urmat folosirea dicionarului de date ca un depozit al tuturor
datelor privind sistemul sau aplicaia. Au aprut ecranele predefinite pentru a prezenta ce
poate s obin utilizatorul prin exploatarea sistemului. S-a apelat la facilitile grafice,
care pot folosi simbolurile logicii structurate i care permit proiectantului s realizeze o
diagram coerent a fluxurilor de date [1].
16
17
Sisteme informatice
-
descompunerea;
performane de deplasare, pe orizontal, de la un instrument la altul;
grade diferite de automatizare;
INTEGRAREA.
CASE-ul nu este un proces independent. El constituie un set integrat de
metodologii, care urmresc realizarea ciclului de via al unui sistem. La sfritul fiecrei
faze a ciclului de via, rezultatele obinute trebuie supuse unei analize i verificri, iar
utilizatorii trebuie informai asupra modului de gestionare a procedurilor de lucru. Ei sunt
cei care trebuie s dea avizul de continuare a parcurgerii fazelor urmtoare, pe baza a
ceea ce li s-a prezentat. Este, de fapt, un proces de revalidare a conceptelor folosite n
proiectarea sistemului i a modelului proiectat pe msura desfurrii operaiunilor, din
faza de proiectare pn la predarea produsului final. CASE poate sprijini aceste proceduri
prin punerea la dispoziie a unei documentaii, critici sau modificri asupra elementelor
din modelul proiectat. Pe acest fond, pot fi fcute evaluri, critici sau modificri asupra
elementelor din modelul proiectat. Rezultatele obinute n urma proiectrii unui anumit
model de sistem constau n documentaia oferit, care acoper ntregul ciclul de via al
sistemului, cu toate operaiile i procedurile pe care le presupune. Datele din
documentaia modelului sunt, de obicei, nlocuite cu cele reale i se parcurg paii de
implementare a sistemului pentru a obine un model funcional. n plus, CASE ofer
posibilitatea de a analiza ieirile obinute i de a le modifica pentru a reflect schimbrile
intervenite n sistem, modulele definite i depozitul de date [1].
1.3.3. Exemple de instrumente CASE (Conferina Naional de nvmnt Virtual,
ediia a III-a, 2005)
n literatura de specialitate, instrumentele CASE sunt clasificate i dup un alt
criteriu dect cel al activitilor din ciclul de via al sistemelor pe care le sprijin. Acest
criteriu se refer la metodologia pe care o ncorporeaz pentru realizarea sistemelor.
Astfel, se ntlnesc urmtoarele trei categorii:
- instrumente CASE bazate pe metodologia structurat;
- instrumente hibride, ce conin elemente specifice orientrii-obiect, dar care nu
permit realizarea sistemelor orientate-obiect;
- instrumente pur orientate-obiect.
n cele ce urmeaz se vor prezenta cteva exemple de CASE folosite de cele mai utilizate
metodologii de analiz i proiectare, respectiv metodologia structurat i cea orientat pe
obiecte.
A) Metodologia structurat
Westmount I-CASE Yourdon ofer suport complet pentru realizarea sistemelor
informatice. Avnd la baza metoda structurat propus de Yourdon, acest instrument
CASE integrat ofer posibilitatea lucrului n echip, posibilitatea de generare i reutilizare
a codului i generarea automat a documentaiei de realizare a sistemului informatic.
Repository este componenta central a arhitecturii Westmount I-CASE Yourdon.
Repository este implementat cu ajutorul unui SGBD relaional: Informix, Ingres sau
Oracle.
18
Analyst, este componenta ce ofer suport pentru analiza structurat. Metoda este
implementat de Yourdon i De Marco. Westmount I-CASE Yourdon ofer suport pentru
un set extins de instrumente i anume editoare pentru diagrame de flux a datelor,
diagrame entitate asociere, diagrame de structur a datelor editoarele matriciale pentru
matricea listei de evenimente.
Arhitect este componenta ce permite definirea arhitecturii sistemului (proiectarea de
ansamblu). Editorul
Designer este componenta ce ofer suport pentru proiectarea de detaliu a sistemului
informatic.
Proiectarea de detaliu a aplicaiei este strns legat de proiectarea bazei de date. Pentru
modelarea datelor se utilizeaz diagrama entitate asociere.
Programmer este mediul de programare care ofer suport pentru generarea codului
surs, compilare, lansare n execuie i testarea aplicaiei. Generatorul de cod translateaz
specificaiile de proiectare n cod surs. Astfel, pe baza diagramei entitate asociere se
genereaz codul DDL (n SQL) ce definete structura fizic a bazei de date. Codul poate
fi completat pentru a defini restriciile de integritate i modul fizic de stocare a bazei de
date. Este prezentat i facilitatea de inginerie inversat care translateaz definirile
asociate bazei de date existente ntr-o diagram entitate asociere. Codului aplicaiei este
generat n limbajul C mbogit cu instruciuni SQL pornind de la specificaiile din
schemele de structur.
Docwriter este componenta care permite generarea documentaiei pentru fiecare etap de
realizare a sistemului.
Utilizarea produsului Westmount I-CASEY Yourdon mbuntete productivitatea
realizrii sistemelor informatice i ofer garanii pentru calitatea sistemelor obinute.
B) Metodologia orientat-obiect
Expresia pur orientate-obiect" se refer la faptul c pe de o parte, instrumentele
CASE conin numai elemente specifice abordrii orientate-obiect a sistemelor, iar pe de
alt parte la faptul c se bazeaz pe metodele i tehnicile de analiz i proiectare
orientate-obiect.
Instrumentele CASE orientate-obiect, din punct de vedere al etapelor ciclului de via al
sistemelor, pot fi grupate ca i cele convenionale, astfel:
- Upper CASE orientat-obiect pentru analiza i proiectarea sistemelor;
- Lower CASE orientat-obiect pentru generarea codului-surs al aplicaiilor;
- I-CASE orientat-obiect care acoper ntregul ciclu de via.
Deoarece tendina se ndreapt tot mai mult spre tehnologiile informaionale orientateobiect, nici domeniul instrumentelor ce sprijin realizarea sistemelor nu poate s nu se
adapteze la aceast orientare, lucru ce a dus la apariia a numeroase produse CASE
orientate-obiect sau la reorientarea firmelor productoare de instrumente convenionale
spre nglobarea n produsele lor a elementelor specifice abordrii obiectuale.
Designer/2000
Setul de instrumente Designer/2000 este parte integrant din portofoliul de
instrumente de dezvoltare oferit de Oracle i reprezint o soluie integrat pentru
19
Sisteme informatice
dezvoltarea de sisteme client/server din generaia a doua sau de sisteme Intranet bazate
pe Web. Designer/2000 acoper toate fazele ciclului de dezvoltare a aplicaiilor software,
pornind de la modelarea sistemului informatic (business modelling) pn la exploatare.
Abordarea Designer/2000 bazat pe un Repository permite ca anumite componente sau
toate componentele s fie folosite pentru dezvoltarea rapid de aplicaii scalabile, multiplatform, distribuite.
20
Capitolul 2
Iniierea i planificarea realizrii unui sistem informatic
n cadrul acestui capitol vor fi prezentate o serie de aspecte privind primele
activiti desfurate n vederea realizrii sistemelor informatice, activiti definite n
literatura de specialitate sub numele de microanaliza sistemelor, component preluat din
managementul proiectelor i care are n vedere modalitile de identificare a proiectelor
de dezvoltare a sistemelor informaionale, precum i modul n care au loc iniierea i
planificarea acestora, n strns legtur cu planul strategic organizaional.
2.1. Identificarea, selecia, iniierea i planificarea proiectelor
Identificarea i selecia proiectelor de dezvoltare a sistemelor informaionale
reprezint prima etap din ciclul de via a dezvoltrii sistemelor care, mpreun cu
iniierea i planificarea proiectelor, constituie microanaliza, component preluat din
managementul proiectelor. Evidenierea acestor activiti n cadrul modelului cascad de
derulare a fazelor sau etapelor ciclului de via a sistemului este reprezentat n figura 4.1
[1].
A.
identificarea
i selectarea
proiectului
microanali
B. iniierea i za
planificarea
proiectului
C. analiza
D. proiectarea
logic
E. proiectarea
fizic
F. implementarea
G. ntreinerea
Figura 2.1 Ciclul de via al dezvoltrii sistemelor [1]
Din modelul prezentat rezult c orice etap se descompune n activiti, ceea ce
pentru identificarea i selecia proiectelor nseamn [1]:
21
Sisteme informatice
-
Caracteristicile proiectului
orientare puternic spre strategie;
cele mai mari dimensiuni ale proiectului;
cele mai de durat proiecte.
orientare mixt (a diferiilor reprezentani);
vizeaz schimbrile organizaionale cele mai mari;
analiz formal a costurilor i avantajelor proiectelor;
proiecte mai mari i mai riscante.
limitat, neorientat strategic;
realizare mai rapid;
civa utilizatori reprezint niveluri ale conducerii,
precum i funciile ntreprinderii.
Top-managerii
De sus n jos
Comitetul de iniiativ
Departamentul
utilizatorilor
De jos n sus
Grupul de dezvoltare
22
Iniierea proiectului
Din momentul seleciei lui, proiectul trece n faza de iniiere, ceea ce presupune
desfurarea unei activiti laborioase, prestat de un responsabil, cunoscut n practic sub
numele de manager de proiect, care rspunde de [1]:
- Elaborarea unor studii de fezabilitate general;
- Elaborarea planurilor detaliate ale proiectelor;
- Gsirea celor mai buni membri ai echipei proiectului.
Managerul de proiect trebuie s dea dovad de multe caliti pentru a putea jongla
cu elemente cum sunt:
- Schimbrile tehnologice;
- Ciclul de via al sistemelor;
- Contractori i furnizori;
- Managementul resurselor umane;
- Metodologie i instrumente de lucru diferite;
- Restricii de timp i resurse;
- Documentare i comunicare;
- Ateptrile managerilor i clienilor.
Activitile efectuate n faza iniierii proiectului sunt:
1. stabilirea echipei de iniiere a proiectului;
2. stabilirea bunelor relaii cu beneficiarii;
3. stabilirea planului iniierii proiectului;
4. stabilirea procedurilor manageriale;
5. stabilirea cadrului de desfurare a proiectului i a manualului de operare al
acestuia.
Planificarea proiectului
Planificarea proiectului va cuprinde o evaluare a cerinelor informaionale ale
sistemului la nivelul ntregii organizaii.
Planificarea proiectului este procesul prin care are loc definirea clar a activitilor
i a eforturilor necesare nfptuirii lor n cadrul fiecrui proiect.
Tipurile activitilor executate n cadrul planificrii proiectului cuprind [1]:
1. Descrierea ariei de ntindere, a variantelor i fezabilitii proiectului
2. Descompunerea proiectului n activiti uor executabile i controlabile
3. Estimarea resurselor i crearea unui plan al resurselor
4. Realizarea unei prime planificri calendaristice
5. Realizarea unui plan al comunicrilor
6. Determinarea standardelor i procedurilor proiectului
7. Identificarea i evaluarea riscului
8. Crearea unui buget preliminar
9. ntocmirea rapoartelor de activitate
10. Definitivarea planului de baz al proiectului
23
Sisteme informatice
2.2. Analizele de fezabilitate
Elaborarea unui sistem informatic poate costa milioane de dolari i se poate realiza
pe parcursul a trei pn la ase ani pentru a fi complet. Din aceste motive, este normal ca
factorii de conducere s demareze proiectarea unui nou sistem dup ce se efectueaz
studii de fezabilitate.
Un studiu de fezabilitate are rolul de a asigura informaiile obiective necesare
pentru a cunoate dac un proiect poate fi demarat sau nu, sau dac un proiect deja
nceput mai poate fi continuat. Proporiile i durata studiilor de fezabilitate variaz, n
funcie de mrimea i natura sistemului implementat. n cazul sistemelor bazate pe
calculatoare mari, studiul are cu totul alte dimensiuni fa de varianta utilizrii
microcalculatoarelor [1].
Totui, fezabilitatea proiectului poate fi studiat n orice faz a elaborrii lui, dar
studiile, de regul, se efectueaz n momente certe. Cnd este propus un proiect, se
efectueaz un studiu preliminar de fezabilitate pentru a se stabili dac proiectul atinge
obiectivele propuse de unitate. Analiza, n prima ei faz, poate fi orict de subiectiv,
ntruct proiectul nu este reprezentat cu lux de amnunte. ns, ndat ce se obine o
situaie mai clar despre sistem, despre natura problemei de rezolvat, precum i despre
doleanele utilizatorilor, msurarea preliminar a fezabilitii poate fi determinat odat
cu faza de analiz a sistemului. Cnd proiectanii ofer dou sau trei variante de elaborare
a sistemului, numai studiile de fezabilitate o pot scoate n relief pe cea optim.
Dup ce a avut loc proiectarea primar a sistemului, pot fi determinate n detaliu
elementele de cost ale proiectrii, implementrii i exploatrii. Este ultima ans a
unitilor de a mai putea renuna la sistem, naintea implementrii lui.
Pe parcurs, odat cu progresul nregistrat n dezvoltarea sistemului informatic, se
obin informaii din ce n ce mai certe, oferindu-se posibilitatea unor analize de
fezabilitate mult mai concludente, ceea ce atrage studierea fezabilitii n diverse faze ale
ciclului de via al sistemelor. De fiecare dat, studiile de fezabilitate trebuie s aib la
baz o foarte bun documentaie. Aceasta va conine [1]:
- Definirea problemei ( o scurt descriere a proiectului i explicarea a ceea ce-i
propune el s realizeze);
- Descrierea cerinelor sistemului;
- Descrierea soluiilor sistemului propus;
- Explicaia critic a motivrii studiului ntreprins;
- Cuantificarea tuturor costurilor materiale i beneficiilor aferente;
- O list a costurilor i beneficiilor necuantificabile.
2.3. Tehnici de reprezentare a planurilor i programarea calendaristic
Managerul proiectului dispune de o mare varietate de tehnici pentru reprezentarea
i descrierea planurilor proiectelor.
Documentaia planificrii poate fi alctuit din:
- rapoarte grafice - cele mai folosite (fig. 2.2 )
- rapoarte sub form de text.
O diagrama Gantt este o modalitate de reprezentare grafic a proiectului. Cu
ajutorul barelor orizontale sunt prezentate activitile planificate. Lungimea barelor este
24
25
Sisteme informatice
1.
2.
3.
4.
5.
6.
7.
8.
9.
Iulie
2005
August
2005
Septembrie
2005
Colectarea
cerinelor
Proiectare
ecrane
Proiectare
rapoarte
Proiectare baze
de date
Documentaie
utilizator
Programare
Testare
Instalare
edina de
analiz
Proiect: EPV
Data:
Analist:
Critic:
n lucru:
Sintez:
Necritic:
Punct de reper:
Derulat:
26
Capitolul 3
Analiza sistemului existent i definirea cerinelor noului sistem
n cadrul acestui capitol este prezentat prima etap a ciclului de via al
sistemelor informatice, etap prin care se determin modul n care funcioneaz sistemul
informaional curent i se evalueaz ceea ce ar dori utilizatorii s realizeze noul system
.Astfel, sunt prezentate o serie de aspecte privind:
- determinarea cerinelor sistemului;
- metodele tradiionale utilizate n analiza i determinarea cerinelor sistemulu
(interviul i chestionarul);
- metode moderne de analiz i determinare a cerinelor sistemului (JAD,
prototipizarea);
- structurarea cerinelor sistemului - modelarea logic a datelor i prelucrrilor
(diagramele fluxurilor de date DFD);
- modelarea conceptual a datelor (diagramele entitate relaie, DER).
3.1. Studiul sistemului informaional existent
Prin sistem existent se nelege realitatea obiectiv din organizaia pentru care
urmeaz a se realiza sistemul informatic solicitat printr-o comand numit cererea
beneficiarului.
Analiza sistemului existent i definirea cerinelor noului sistem este prima etap
din ciclul de via al dezvoltrii sistemelor informatice, etap prin care se determin
modul n care funcioneaz sistemul informaional curent i se evalueaz ceea ce ar dori
utilizatorii s realizeze noul sistem. Studiul i analiza sistemului existent are ca obiectiv
principal stabilirea cerinelor informaionale ale conducerii n vederea realizrii unui
sistem informatic.
Studiul sistemului existent cuprinde un grup de activiti care urmresc
cunoaterea performantelor tehnico-funcionale ale sistemului informaional, att n
ansamblul su, ct i pentru elementele de structura ale acestuia, a cerinelor
informaionale ale conducerii, cunoaterea lipsurilor i restriciilor pe care le prezint
sistemul existent fa de aceste cerine. De modul de realizare a acestor activiti depinde
ntregul proces de realizare a sistemului informatic [2].
Studiul sistemului existent const n [2]:
- definirea caracteristicilor generale ale sistemului economic;
- studiul activitilor de baz desfurate n sistem;
- studiul sistemului de conducere;
- studiul sistemului informaional;
- identificarea metodelor i mijloacelor tehnice.
Definirea caracteristicilor generale ale sistemului economic implic :
- cunoaterea profilului, obiectivelor agentului economic;
- cunoaterea locului n sfera serviciilor si sfera produciei;
- cunoaterea relaiilor de cooperare cu ali ageni economici;
- cunoaterea specificului activitii de baz ( producie, servicii);
27
Sisteme informatice
-
28
29
Sisteme informatice
Chestionarul poate fi utilizat att de ctre analitii nceptori, ct i de ctre cei
avansai, familiarizai sau nu cu problemele informaionale-decizionale ale unitii. Prin
utilizarea lui dispare filtrul de informaii care este analistul iar cel care furnizeaz
informaii are posibilitatea s se concentreze mai bine asupra rspunsurilor. Utiliznd
aceast metod, particip un numr mare de furnizori de informaii. Limitele
chestionarului constau n faptul c este o metod de verificare a unor cunotine
prealabile, fapt ce implic cunoaterea prealabil a domeniului.
Aceast metod necesit timp relativ ndelungat pentru ntocmirea chestionarului
precum i de culegere i prelucrare a rspunsurilor. Chestionarul nu are o arie larg de
utilizare [2].
3.2.2. Metode moderne de analiz i determinare a cerinelor sistemului
Ca efect al tendinelor de mrire a timpului de analiz a sistemelor existente, n
ultimii ani, s-a efectuat trecerea spre analiza mai puin pronunat a sistemelor ce urmeaz
a se realiza. Tehnicile moderne, JAD i prototipizarea, preiau tot mai puine elemente din
sistemele existente, ca urmare a analizei efectuate. Altele mai radicale renun aproape
total la analiza sistemului existent, este cazul proceselor controlate prin RAD, care
apeleaz la JAD, prototipizare i alte instrumente de tip CASE [1].
Joint Application Design(JAD)
Spre sfritul anilor 1970, specialitii n realizarea de sisteme de la IBM au elaborat
un nou proces de culegere a cerinelor informaionale ale sistemelor i de revizuire a
proiectelor sistemelor, numindu-se JAD [1].
Ideea principal a lui JAD o constituie punerea laolalt a tuturor forelor interesate
n dezvoltarea sistemelor: utilizatori-cheie, managerii i analitii de sistem implicai n
analiza sistemului curent. Din acest punct de vedere JAD este similar interviului la nivel
de grup. Totui n sesiunea JAD se urmrete o anumit secven de derulare a
activitilor, pe baza unor roluri bine stabilite.
Prototipizarea i determinarea cerinelor sistemelor
Prototipizarea este un proces interactiv prin care analitii i utilizatorii pun n
discuie o versiune rudimentar a unui sistem informaional, care va fi ntr-o continu
schimbare, n funcie de reacia utilizatorilor. Prototipizarea renun la ciclul de via al
dezvoltrii sistemelor sau la creterea rolului su [1].
Pentru culegerea informaiilor despre cerinele utilizatorilor nc se apeleaz la
interviuri, dar prin prototipizare, operaiunea va fi mai simpl i va solicita un timp mai
scurt. Prototipul este vzut i testat de utilizator, avnd posibilitatea s precizeze ce ar mai
dori, dar i s-i genereze aceast form nou, cu ajutorul specialitilor [1].
Prototipizarea este facilitat de cteva limbaje sau produse program, inclusiv
instrumentele de tip CASE.
Prototipizarea este foarte util n determinarea cerinelor sistemului cnd [1]:
- cerinele utilizatorului nu sunt prea clar formulate sau bine nelese;
- unul sau mai muli utilizatori sau susintori sunt implicai n sistem;
- anumite mijloace de lucru (formulare i rapoarte predefinite).
Prototipizarea genereaz i deficiene, cum ar fi:
30
31
Sisteme informatice
Tehnica de redare a proceselor de prelucrare prin intermediul diagramelor
fluxurilor de date a cptat noi accepiuni prin ncorporarea ei n instrumentele de analiz
i proiectare cu ajutorul calculatorului, adic n instrumente CASE [1].
Tehnica SSADM (Structured Systems Analysis and Design Methodology) pentru
construirea DFD
Cnd analizm sistemele folosim frecvent reprezentrile grafice, de exemplu
diagramele. n continuare vom folosi tehnica reprezentrii grafice a fluxului
informaional. Proiectarea fluxului informaional reprezint circulaia informaiei n
sistem, transformrile suferite de acesta, stocarea informaiei precum i scurgerile de
informaie n afara sistemului.
Scopul diagramelor de date DFD pentru o anumit component organizatoric sau
funcional la care se refer (secie, birou, compartiment, ntreaga unitate, o anumit
activitate vnzri, cumprri, ncasri, pli, .a) este de a scoate n relief, ntr-o manier
ct mai sugestiv, urmtoarele aspecte [1]:
- sursa datelor de prelucrare;
- operaiunile de prelucrare prin care trec datele;
- destinaia datelor prelucrate;
- legtura existent ntre prelucrri i activitatea de stocare a datelor.
ntocmirea diagramelor de flux de date (DFD)
DFD este o reprezentare grafic a transformrii datelor de intrare n date de ieire
folosind un set de simboluri de reprezentare i un set de reguli de completare i validare.
32
33
Sisteme informatice
descompunere funcional a sistemului, care este realizat prin rafinarea succesiv a
proceselor.
Primul nivel (nivelul 0) l constituie DIAGRAMA CONTEXTUAL, care
definete graniele ntre sistemul analizat si mediu.
Nivelele urmtoare se obin prin rafinarea proceselor complexe ntr-o diagram de
nivel inferior.
n cazul aplicaiei Decontri, au rezultat urmtoarele diagrame:
34
35
Sisteme informatice
36
37
Sisteme informatice
2. nlturarea dependenelor fizice i temporale din denumirea proceselor i a fluxurilor
de date: din DFD la nivel fizic (se observ c nu exist referine fizice i temporale n
aplicaia decontri).
3. Derivarea proceselor logice:
- scoaterea n afara granielor 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 prelucrri asemntoare sau multiple care se
execut mpreun sau n secven;
- nlturarea proceselor care in de implementarea actual i a proceselor redundante.
- n cazul aplicaiei prezente:
- se combin procesele nregistrare ncasri n numerar i nregistrare ncasri prin
virament deoarece realizeaz prelucrri asemntoare;
- se nltur procesele redundante nregistrare ncasri n jurnal si nregistrare plti
n jurnal.
4. Derivarea fluxurilor logice care presupune nlocuirea numelui de document numai cu
fluxul de
informaii utilizate efectiv de proces.
5. Gruparea proceselor elementare i transformarea diagramei fizice n diagram
logic, aplicnd cei 5 pai.
Relaia existent ntre DFD i modelul datelor
Dup cum reiese din prezentrile anterioare, fiecare sgeat din DFD reprezint un
flux al datelor, n sensul unui traseu pe care structurile datelor elementare sau grupate se
vor deplasa n sistem. De exemplu, Facturi desfacere este o dat grupat. Cnd numele ei
se plaseaz pe un flux de prelucrare trebuie s vedem i obligativitatea ca acel flux s fie
descris prin prisma structurii datelor respective, deci, trebuie prezentate rubricile
documentului. Similar va fi abordat i simbolul pentru stocare. La prima vedere, el
reprezint locul unde se realizeaz operaiunea, dar foarte important este s prezentm
structura datelor pstrate. Firesc, i n cazul fluxului de date, i n cel al stocrii lor nu
trebuie uitat descrierea semnificaiei economice. Structura datelor trebuie s fie redus la
a treia form normalizat, iar coninutul locurilor de stocare a datelor s fie prezentat prin
reduceri la unul sau mai multe tabele relaionale n forma a treia normalizat [1].
n cazul aplicaiei decontri, se obine urmtoarea DFD a sistemului logic.
Decontri cu beneficiarii .Nivelul elementar al DFD a sistemului logic. Nivelele
superioare ale DFD a sistemului logic sunt identice.
38
D2
FACTURI 1.3. Analiza situaie client desfaceri
DESFACERE
39
Continutul fluxului
CODCLIENT
DENCLIENT
ADRESAC
CONTC
BANCA_C
DATAFACTD
NRFACTD
TOTALFACTD
CODCLIENT
DENCLIENT
ADRESAC
CONTC
BANCA_C
NRFACTD
TOTALFACTD
Sisteme informatice
3.3.4. Modelarea logicii proceselor
Dup ce au fost descrise procesele de conversie a datelor n informaii, prin
intermediul diagramelor fluxurilor de date DFD, deoarece ele nu reliefeaz i logica
intern a proceselor, orict ar fi de detaliate, chiar i la nivelul proceselor primare, se
impune apelarea la alte tehnici pentru descrierea logicii proceselor. Procesele trebuie
astfel descrise nct s poat fi convertite n programe prin intermediul limbajelor de
programare [1].
n faza de analiz modelarea logicii proceselor se va derula ct mai detaliat i
complet posibil, dar operaiunea nu va respecta structura sau sintaxa unui anumit limbaj
de programare: aceasta se va realiza ntr-o etap ulterioar proiectarea. Modelarea logicii
proceselor ca i diagramele fluxurilor de date face parte din etapa de analiz a sistemului.
n analiza structurat, rezultatele obinute n urma modelrii proceselor sunt
descrieri i diagrame structurate care vor prezenta logica fiecrui proces, precum i
diagrame care vor evidenia dimensiunea temporal a sistemelor, cnd apar procesele sau
evenimentele i modul n care aceste evenimente schimb starea sistemului [1].
Pe scurt se poate spune c modelarea logic a proceselor se va concretiza n
urmtoarele elemente ale documentaiei [1]:
- reprezentarea n engleza structurat;
- reprezentarea logicii proceselor prin tabele de decizie;
- reprezentarea logicii proceselor prin arbori de decizie;
- tabelul sau diagrama strilor de tranziie.
Reprezentarea logicii proceselor prin engleza structurat
Engleza structurat este o form mult simplificat i modificat a limbii engleze,
folosit pentru descrierea coninutului casetelor care marcheaz procesele (prelucrrile)
din diagrama fluxului de date. Cuvintele folosite sunt n strns legtur cu logica folosit
n conceperea procedurilor componente ale sistemelor informatice [1].
Se folosesc verbe pentru cuvintele cheie i substantive pentru descrierea structurii
datelor.
Nu exist o form standard de englez structurat, fiecare analist ar putea apela la o
form proprie, dar scopul este de a nlesni accesul mai multor persoane la rezultatele
analizei nglobate n documentaie. Utilizarea englezei structurate pentru procesul
Analiza situaie client din decontri cu beneficiarii este reprezentat mai jos.
Analiza situaie client
WRITE CLIENTI,FACTURI_DESF, NCASRI
READ (FACTURI_DESF)
cod = FACTURI_DESF.codclient;
den = FACTURI_DESF.denclient;
adr = FACTURI_DESF.adresac;
cont = FACTURI_DESF.contc;
banca = FACTURI_DESF.bancac;
while (not eof (FACTURI_DESF))
{
40
if (cod!=FACTURI_DESF.codclient)
{ [Link] = cod;
[Link] = den;
[Link] = adr;
[Link] = cont;
CLIENTI.banca_c = banca;
[Link] = sold;
cod = FACTURI_DESF.codclient;
den = FACTURI_DESF.denclient;
adr = FACTURI_DESF.adresac;
cont = FACTURI_DESF.contc;
banca = FACTURI_DESF.bancac;
}
else
{
READ(NCASRI);
vb=0; vb1=0;
while (not eof (NCASRI) AND vb=0)
{
if (cod=[Link] AND
FACTURI_DESF.nrfactd=[Link] AND
FACTURI_DESF.datafactd =[Link])
{ if (FACTURI_DESF.totalfactd !=[Link])
{ sold = sold+ FACTURI_DESF.totalfactd [Link]}
vb1=1;
}
else if (vb1=1) vb=1
READ (NCASRI)
}
MOVE FIRST LINE NCASRI
READ (FACTURI_DESF)
}
CLOSE (FACTURI_DESF, NCASRI, CLIENTI)
3.4. Modelarea conceptual a datelor (diagramele entitate relaie, DER)
n cadrul modelrii conceptuale a datelor se va renuna la abordarea proceselor i
se va trece la abordarea sistemelor prin prisma datelor. La fel ca i n cazul modelrii
proceselor i modelrii logicii proceselor elementele eseniale vor fi diagramele.
James Martin i Carma McClure, atunci cnd reliefeaz importana tehnicilor
structurate prin obiectivele ce i le propun, consider c o parte a acestora au legtur i
cu datele, i anume [1]:
41
Sisteme informatice
-
42
43
Sisteme informatice
La fel putem spune i despre evenimente. Ele reprezint asocieri ntre dou sau mai
multe obiecte. Exemplu: CLIENT COMAND PRODUS.
Entitile conin n structura lor atributele prin care ele sunt descrise.
O entitate este o persoan, un loc, un obiect, eveniment sau concept din domeniul
de activitate a utilizatorului despre care organizaia dorete s pstreze anumite date. Se
cuvine precizat diferena dintre tipurile entitilor (entity types) i cazurile/instanele
entitii (entity instances) [1].
Tipul entitii, cunoscut i sub numele de clasa entitii, este o colecie de entiti
care au proprieti sau caracteristici comune. Fiecrui tip de entitate i se atribuie un nume.
Ct timp numele reprezint o clas sau un set de cazuri, el este singular. i nc o
convenie. Cum referirea general la elementele ce pot fi catalogate ca entiti se poate
face prin noiunea de obiect (dei sensul lui poate fi altul n contextul analizei i
proiectrii orientate obiect), referirea la acesta se va realiza printr-un substantiv la
singular. Se vor folosi litere majuscule, plasate n interiorul dreptunghiului corespunztor
entitii.
O instaniere a entitii sau instan, denumit de noi n continuare, caz al entitii
sau caz, este o manifestare singular a unui tip de entitate. Un tip de entitate se descrie o
singur dat prin modelul datelor, n timp ce mai multe cazuri ale acelui tip de entitate pot
fi reprezentate prin datele stocate n bazele de date. De exemplu, exist o singur entitate
CLIENT, dar ea poate s aib sute sau mii de cazuri/instane ale acestei entiti stocate n
baza de date.
Atribute
Fiecare tip de entitate are un set de atribute asociate lui.
Un atribut este o proprietate sau o caracteristic a unei entiti care prezint interes
pentru organizaie. La rndul lor, i relaiile pot avea propriile lor atribute.
Exemplu de entitate pentru aplicaia DECONTRI i unele dintre atributele
posibile:
CLIENT : CodClient, DenClient, AdresaC
Ca i numele tipurilor entitilor, numele atributelor sunt substantive scrise cu
majuscule, plasate n interiorul elipselor, legate de entitatea creia i se asociaz. De multe
ori ns, chiar i n cazul folosirii produselor CASE, pentru a nu se ncrca o diagram
entitate-relaie, se evit prezentarea atributelor. Operaiunea se face, n schimb, n
repository, depozitul de informaii despre proiect. Aici orice atribut se descrie separat, ca
orice obiect distinct.
Unul dintre exemplele anterioare poate fi reprezentat n diagram conform fig. 3.5.
DenClien
t
CLIENT
CodClient
44
AdresaC
nscris
pentru
STUDENT
CURS_CREDIT
45
Sisteme informatice
NUME CURS
Informatic
Informatic
Informatic
Drept comercial
DATA PROMOVRII
Iulie 1999
Septembrie 1999
Septembrie 1999
Ianuarie 2000
STUDENT
Promovare
CURS
STUDENT
Promovare
46
CURS
BIROU
este condus de
conduce
MANAGER
VNZARE
implic
face parte din
ARTICOL
VNDUT
FURNIZOR
livreaz
este livrat de
PRODUS
47
Sisteme informatice
n anumite cazuri, ntre dou entiti pot exista mai multe relaii.
De exemplu, s-ar putea spune c FURNIZOR ofer PRODUS, dar i PRODUS
este cumprat de la FURNIZOR, ceea ce s-ar putea reprezenta ca n fig. 3.12.
ofer
PRODUS
FURNIZOR
este cumprat de la
Figura 3. 12. Descrierea relaiilor multiple ntre dou entiti
4.
lucreaz la
PERSOANA
STUDIU
este realizat de
VNZARE
ARTICOL
VNDUT
48
ANGAJAT
coordonator al
raporteaz la
PRODUCIA
ALTORA
MARFA
PRODUCIA
Dei diagramele entitate-relaie se cunosc de ctre muli specialiti din lumea bazelor de
date, ele constituie unul din conceptele eseniale ale analizei i proiectrii structurate i,
ca atare, provin din acest domeniu [1].
Dup cum reiese i din citirea cu atenie a numelui diagramei, scopul ei este de a
evidenia entitile de date (obiectele despre care se solicit pstrarea datelor) i relaiile
ce exist ntre ele.
49
Sisteme informatice
De remarcat diferena dintre diagrama fluxului de date i diagrama entitate-relaie.
n timp ce diagrama fluxurilor de date indic att procesele de prelucrare, ct i entitile
de date (redate fie sub forma fluxurilor de date, fie a locurilor de stocare), DER trateaz
doar entitile de date. Din aceast cauz, DER poate fi considerat i ca diagrama
modelului datelor sau diagrama conceptual a datelor [1].
n sistemul analizat pentru descrierea DER se apeleaz la simbolul dreptunghi,
pentru fiecare entitate. Se recomand ca numele entitii s fie redat printr-un substantiv
la singular (CLIENT, PRODUS, SALARIAT, FACTURA_DESFACERE, NCASRI).
Dup ce se identific entitile se continu cu mperecherea lor, fiecare cu fiecare,
pentru a descrie relaiile dintre ele.
50
51
Sisteme informatice
<nume
entitate>
tip
<nume
atribut>
<nume
atribut>
<nume
atribut>
<atribut
1>
<atribut
2>
<nume
atribut>
<nume
entitate>
tip
<nume
atribut>
Reprezentare tip de relaie cu numele <nume tip
relaie>
<nume
relaie>
tip
Superclas
a
Subclasa
52
APARTENENA SUBCLASEI LA
SUPERCLAS
Problem rezolvat
Folosind modelul entitate - relaie s se reprezinte diagrama E/R pentru un
sistem informatic simplificat al unei firme care desfoar activitate de comer fiind
avute n vedere subsistemele;
-
Cod produs
Cod
furnizor
Oferte
FURNIZORI
PRODUSE
Cod client
Cod produs
PRODUSE
Vnzri
VANZARI
CLIENTI
Cod produs
1
Intrri
Cod
Produs+Depozit+Pre
n
PRODUSE
STOCURI
1
53
Ieiri
Desfacere
Fig. 3.21. Subsistemul Urmrirea stocurilor.
Reprezentarea relaiilor de tip 1-n Intrri, Ieiri, pentru actualizarea stocurilor
Sisteme informatice
Cod produs
Descriere
produs
Denumire
produs
PRODUSE
Fig. 3.22. Reprezentarea entitii PRODUSE
Strad
Numr
Localitate
Cod furnizor
Adresa furnizor
Denumire
furnizor
Oferta
PRODUSE
Fig. 3.23. Reprezentarea entitii FURNIZORI
Cod produs
Unitate
msur
produs
de
Oferte
Cod furnizor
54
Pre
produs
unitar
55
Sisteme informatice
CAPITOLUL 4
PROIECTAREA LOGIC A SISTEMELOR INFORMATICE
n cadrul acestui capitol este realizat prezentarea noului sistem prin prezentarea
tuturor intrrilor sistemului, a ieirilor, precum i a interfeelor i dialogurilor. Avnd n
vedere intrrile i ieirile sisemului este prezentat proiectarea logic a bazei de date,
activitate prin care se urmrete transformarea diagramelor entitate-relaie n relaii.
Dac n primele etape, au fost identificate i structurate cerinele sistemului, n faza
de proiectare logic se efectueaz deplasarea ateniei de la prezentarea a ceea ce exist i
ce se intenioneaz la descrierea a ceea ce va nsemna noul sistem, cum va funciona.
Modul de percepere a noului sistem se va reda prin prezentarea tuturor intrrilor
sistemului, a ieirilor, precum i a interfeelor i dialogurile. Ele se construiesc pe baza a
ceea ce s-a identificat n etapele anterioare, dar inndu-se cont i de cerinele identificate
n timpul desfurrii activitilor din etapa de proiectare logic [1].
Toate intrrile i ieirile sistemului, n faza de proiectare logic, vor fi prezentate ca
fluxuri ale datelor ntre un proces manual i altul automat sau ntre o surs/ destinaie i
un proces automat din diagramele fluxurilor de date. De regul se poate proiecta cte un
formular sau raport pentru fiecare flux de date dintre utilizator i sistem.
Documentaia realizat n cadrul acestei etape constituie proiectul tehnic de
ansamblu al sistemului.
4.1. Proiectarea formularelor/formatelor i a rapoartelor
n cadrul etapei de analiz a sistemului informatic, intrrile i ieirile au fost
identificate i prezentate, exprimnd cerinele informaionale la nivelul fiecrui
subsistem/ aplicaie informatic. n acel moment nu s-au prezentat toate detaliile privind
formularele/formatele, rapoartele i procesul de modelare a datelor, insistndu-se mai
mult pe identificarea i descrierea lor. Fiecare format/formular de intrare va fi asociat
unui flux al datelor de intrare ntr-un proces al DFD, iar rapoartele se pot regsi ntr-un
flux al datelor generate de un proces al DFD.
Un formular/format poate fi un document primar sau o machet de ecran care
conine unele date predefinite, crora li se adaug altele ce urmeaz a fi completate n
rubrici speciale.
Un raport este un document economic n care sunt incluse doar date predefinite,
ceea ce nseamn c poate fi numit i document pasiv, folosit pentru a citi i vizualiza
informaia.
n faza de proiectatre logic se reprezint doar o ciorn a formularelor/formatelor,
rapoartelor sau ecranelor, ele fiind privite doar ca structur i machet. Ceea ce ne
propunem n cadrul proiectrii logice poate fi realizat cu ajutorul unui editor de texte sau
un produs program orientat spre grafic, sub forma unui prototip [1].
56
57
Sisteme informatice
n definitivarea formei i formatului de prezentare a situaiilor finale trebuie s
inem seama de o serie de considerente practice cum ar fi [2]:
-
Respectarea unor cerine ale factorilor de decizie privind macheta situaiei finale
O serie de cerine ale conducerii privind macheta situaiei finale oblig proiectantul
la o anumit structurare i machetare a situaiilor finale. Informaiile se pot mprii n
dou grupe prin prisma sistemelor informatice interne i externe. Informaiile interne
reprezint acele informaii culese, generate sau folosite n interiorul organizaiei.
Informaiile externe se refer la cele colectate sau create de la sau pentru parteneri strini
(facturi, rapoarte anuale, etc) [2].
n funcie de informaiile care pot fi vzute din punct de vedere al echipei
manageriale distingem: informaii curente, de atenionare, indicatori de baz, etc.
Restricii tehnice
n proiectarea situaiilor finale intervin o serie de restricii datorate caracteristicilor
i performanelor tehnice ale echipamentelor periferice i anume: numrul maxim de
caractere pe linie; numrul maxim de linii pe pagina / ecran; facilitile de imprimare etc.
Pe pia se afla o gam variat de echipamente de redare a rezultatelor. Exist mai multe
tipuri de imprimante, console i terminale video, ceea ce creeaz posibilitatea unei alegeri
adecvate a perifericelor destinate obinerii diverselor tipuri de situaii finale [2].
Elemente de eficien
n proiectarea situaiilor finale nu trebuie sa scape ateniei i aspectele de eficient
economic privind: reducerea timpului calculator consumat cu editarea propriu-zisa a
situaiilor; economie de hrtie de imprimant. Abilitatea i experiena proprie a
programatorilor joac n acest sens un rol important.
n vederea optimizrii obinerii situaiilor finale pe imprimant se pot folosi de la
caz la caz, diverse tehnici cum ar fi: editarea mai multor tabele pe aceeai pagin de
imprimant; editarea unei situaii imprimnd fa/verso pe aceeai coal;
Pentru a nu irosi timp cu editarea unor situaii finale voluminoase se recomand
mai nti rularea unor programe scurte care s verifice cheile de control aplicate. Numai
dac aceste chei sunt corecte, eventual verificate i de utilizator, se poate lansa editarea
analitica a situaiilor finale. Programele care editeaz situaii finale voluminoase trebuie
prevzute cu posibilitatea de ntrerupere (respectiv de reluare a editrii n cazul unor
incidente ivite n timpul rulrii) sau editarea lor sub forma unui fiier ASCII sau text pe
hard disc sau floppy disc, urmnd imprimarea ulterioara a acestui fiier, total sau parial
[2].
58
Lizibilitate spaiere
Parcurgerea unei situaii finale trebuie s fie ct mai uoara, citirea unei situaii
nu trebuie s dea natere la ambiguiti. Este necesar ca situaia sa fie autoexplicativ.
Pentru aceasta, antetul va conine informaii i coduri ce vor indica sursa de emitere a
raportului, exprimnd clar, sintetic, coninutul raportului i perioada la care se refer.
Capul de tabel, mpreuna cu titlul i antetul, se afieaz pe urmtoarele pagini
numai dac au intervenit schimbri n cadrul caracteristicilor de grupare fa de prima
pagin, altfel se imprim doar numerotarea coloanelor de tabel.
Informaiile importante pot fi subliniate. Totalurile se separ de informaiile
analitice. Informaiile care se repet pe linii succesive se imprim o singur dat [2].
Utilizarea formularelor pretiprite
Aceasta implica utilizarea unei hrtii de imprimanta ce cuprinde elemente fixe ale
situaiei finale, cum ar fi antetul, titlul, capul de tabel, textul explicativ etc. Aceasta
conduce la o cretere a vitezei de editare i o diminuare a uzurii imprimantelor, riboanelor
etc. Totodat situaiile obinute sunt mai estetice i sunt uor de parcurs de utilizatori [2].
Utilizarea monitoarelor sau terminalelor video
Prin intermediul unui soft adecvat, monitoarele sau terminalele video ofer
posibilitatea afirii situaiilor finale, att n regim alfanumeric, ct i n regim grafic,
alegerea modului de lucru fcndu-se prin intermediul unor comenzi sau comutatori.
Ecranul unui terminal video n regim alfanumeric este alctuit din linii i coloane
iar n regim grafic ecranul este privit ca o matrice de puncte denumite pixeli.
Reprezentarea informaiilor de ieire sub forma grafic reprezint un pas nainte
fa de editarea sub forma de text a rapoartelor. Aceast form de afiare se recomand
factorilor de decizie de pe nivelele de conducere superioare, dat fiind gradul de sintetizare
a informaiilor de ieire i volumul redus al rapoartelor.
Pe lng problemele legate de aezarea informaiilor pe ecran, la proiectarea
ecranelor de ieire se iau n considerare i facilitile oferite de monitoare sau terminalele
video i anume: regimul de lucru (defilare ecran, pagina sau linie); regimul de afiare
(normal, mai luminos, cu intermitente, invers video); regimul de semnalizare sonor
(normal, semnal sonor dup afiarea unui cmp etc.) [2].
Utilizarea generatoarelor de rapoarte ( REPORT WRITER )
Multe limbaje de programare, pachete de programe i sisteme de gestiune a bazelor
de date dispun de module specializate n editarea de rapoarte, ceea ce conduce la
reducerea considerabila a eforturilor programatorilor. De obicei, aceste generatoare
solicit precizarea titlului, antetului de coloan, coninutul unui rnd de date (de detaliu),
gradele de total i maniera lor de afiare, la nceputul sau la sfritul grupului de date, al
paginii sau raportului. De asemenea, se pot selecta dimensiunea unei linii, coloane,
pagini, spaierea dintre linii, coloane, afiarea datelor privind momentul listrii, statistici
etc.
Astfel de module specializate exist n pachete de programe pentru gestionarea
bazelor de date cum ar fi: ACCESS, dBASE, ORACLE, FOXPRO, PARADOX, etc.
59
Sisteme informatice
4.1.2. Proiectarea codurilor
n proiectarea sistemului de coduri trebuie s avem n vedere dou aspecte
importante i anume [2]:
- influena tipului i structurii codului asupra performanelor sistemului informatic;
- implicaiile utilizrii codurilor n operaiile de culegere a datelor i interpretarea
rezultatelor finale de ctre utilizatorii neinformaticieni.
Primul aspect ridic probleme de ordin tehnic n realizarea nomenclatorului de
coduri i are n vedere facilitarea operaiilor de prelucrare, ocuparea unui spaiu de
memorie intern i extern ct mai mic etc.
Celui de-al doilea aspect trebuie s i se acorde o atenie mai mare n vederea
uurrii activitilor de culegere, verificare a datelor i interpretarea rezultatelor din
situaiile finale. Avnd n vedere aceste considerente, se impune ca la proiectarea unui
sistem de coduri s se respecte o serie de cerine.
De exemplu, codul persoanei poate fi format din urmtoarele coduri elementare:
X
Iniiala
nume
X
Iniiala
prenume
X
Sex
XX
Ziua naterii
XXX
Luna naterii
XXXX
Anul
naterii
XX
Grupa
sanguin
60
61
Sisteme informatice
-
4.1).
Figura 4.1. Formularul(macheta) de intrare pentru facturi
n proiectarea formularelor de intrare pot fi utilizate componente specializate n
acest sens din sistemele de gestiune a bazelor de date cum ar fi ACCESS, dBASE,
ORACLE, PARADOX precum i programe scrise n diverse limbaje de programare.
4.2. Proiectarea interfeelor i a dialogurilor
62
63
Sisteme informatice
O modalitate de prezentare a secvenei dialogurilor este cea care apeleaz la
tehnica diagramelor. Ea va face trimitere la meniurile componente ale aplicaiei.
MO1
MENIU_PRINCIPAL
MO2
PO2
ADUGARE
PO1
MENIU_INTERO
GARE
TERGERE
PROCES
MENIU
PO4
PO3
I_DUP_AN
I_DUP_NUME
64
Sisteme informatice
Pagina 1
Situaia comenzilor n curs
31/03/1998
COD PRODUS
CANTITI_DE_LIVRAT
A1111
0
A2222
0
B1111
150
Y9999
100
66
COD_CLIENT
NUME_CLIENT
ADRESA
NR_FACTURA
FACTURA
CLIENT
Lanseaz
Facturare
CANTITATE_LIV
NR_COMANDA
COMANDA
Livrar
e
67
Linie_comand
PRODUS
Sisteme informatice
68
69
Sisteme informatice
acela c pentru a determina adresa clientului pentru care s-a prestat un anumit serviciu
este necesar efectuarea unei operaii de cuplare a relaiilor Clienti i Servicii.
Se consider o schem de relaie R i A,B dou atribute simple sau compuse ale schemei
de relaie R. Atributul A determin funcional atributul B sau B depinde funcional de A,
dac i numai dac oricrei valori a atributului A i corespunde o singur valoare a
atributului B (se noteaz A->B).
Dependena funcional A->B este total dac nu exist nici un subset C al
atributului A (CcA) astfel nct C->B i este parial n caz contrar.
n relaia Prestari_Servicii, una din dependenele funcionale care poate fi pus n
eviden este Nume_client->Adresa.
Deoarece ntr-o relaie orice cheie identific n mod unic fiecare tupl a relaiei,
deci determin n mod univoc valorile atributelor tuplei, rezult c n orice relaie
atributele sunt dependente funcional fa de cheile acesteia.
Se pot face, pn n acest moment, urmtoarele precizri:
Eliminarea dependenelor funcionale din schemele de relaie i a consecinelor
negative (redundana datelor; anomaliile de adugare, tergere, actualizare) se realizeaz
prin descompunerea schemei date ntr-o colecie de scheme mai simple n care sunt evitate
neajunsurile mai sus menionate. Reconstituirea relaiei iniiale se poate face prin operaia
de cuplare (uniune). Pentru ca descompunerea schemei de relaie s fie echivalent cu
relaia iniial, trebuie s fie ndeplinite condiiile:
- cuplare fr pierdere de informaie;
- conservarea dependenelor (dependenele funcionale din relaia iniial trebuie s
se regseasc n relaiile rezultate prin descompunere).
Formele normale sunt scheme de relaie echivalente obinute prin descompunerea
unor scheme de relaie n vederea eliminrii redundanei datelor i anomaliilor la
adugare, actualizare, tergere nregistrri n baza de date. Descompunerile schemelor de
relaii n scheme de relaii echivalente avnd n vedere dependenele funcionale conduc
la definirea primelor 4 nivele de forme normale i anume: prima form normal (FN1), a
doua form normal (FN2), a treia form normal (FN3) i forma normal BoyceCodd (FNBC).
A patra form normal (FN4) este definit avnd n vedere dependenele
multivalorice, iar a cincea form normal (FN5) este definit avnd n vedere
dependenele de cuplare. ncepnd de la prima form normal i pn la forma normal FN5
se impun condiii din ce n ce mai restrictive asupra relaiilor. Astfel o relaie aflat pe un
anumit nivel de normalizare (FN5) satisface toate restriciile cerute de nivele inferioare de
normalizare (FN1, FN2, FN3, FNBC, FN4). n cele ce urmeaz sunt date definiiile
formelor normale avnd n vedere dependenele funcionale.
O relaie R este n prima form normal (FN1) dac i numai dac toate
atributele sale iau numai valori atomice (nu pot fi descompuse). Spre exemplu, atributul
Adresa ar putea fi considerat un atribut neatomic dac n cadrul adresei ne-ar interesa
localitatea, strada etc., caz n care trebuie descompus n atribute atomice.
O relaie R este n a doua form normal (FN2) dac este n FN1 i orice atribut
neprim este total dependent fa de orice cheie a relaiei (atributele prime sunt atribute care
70
fac parte dintr-o cheie a relaiei i cele neprime sunt atributele care nu aparin nici unei chei a
relaiei).
O relaie R este n a treia form normal (FN3) dac este n FN2 i nici un atribut
neprim nu este funcional dependent fa de un alt atribut neprim al relaiei.
O relaie R se afl n forma normal Boyce-Codd (FNBC) dac singurele
dependene funcionale admise sunt cele n care o cheie determin un alt atribut (nici un
atribut prim sau neprim nu poate fi dependent funcional fa de un alt atribut dac acesta
nu este sau nu conine o cheie).
Dependene multivalorice
Pentru ilustrarea acestui tip de dependene se ia n considerare urmtoarea schem
de relaie:
Clase(Clasa, Discipline, Elevi)
ce conine clasele dintr-o instituie de nvmnt, iar pentru fiecare clas sunt nregistrate
disciplinele ce se predau i elevii nmatriculai n clasa respectiv. Se poate constata c
relaia Clase poate rezulta prin operaia de cuplare dup atributul Clasa a urmtoarelor
dou relaii:
CD(Clasa, Discipline)
CE(Clasa, Elevi)
n relaia Clase, presupunnd c pentru o clas dat, fiecare elev frecventeaz toate
disciplinele nregistrate pentru acea clas, exist dependenele multivalorice:
Clasa ->> Discipline
Clasa ->> Elevi.
Ca i n cazul dependenelor funcionale, existena dependenelor multivalorice prezint
aceleai neajunsuri privind redundana datelor i anomalii la efectuarea operaiilor de
adugare, actualizare i tergere nregistrri n baza de date.
O relaie R este n a patra form normal dac singurele dependene multivalorice
admise sunt cele determinate de un alt atribut care este o cheie sau care conine o cheie a
relaiei.
ntruct orice dependen funcional este un caz particular de dependen
multivaloric, rezult c orice relaie care se afl n forma normal FN4, se afl i n forma
normal FNBC. Transformarea unei relaii ntr-o colecie de relaii care s se afle n FN4
este similar cu trecerea n FNBC, ns trebuie avut n vedere att eliminarea
dependenelor funcionale ct i a dependenelor multivalorice.
n concluzie, putem afirma c n cazul formelor normale de la FN1 la FN4,
trecerea de la o form normal la alta s-a fcut prin descompunerea unei relaii n altele
dou, urmrindu-se eliminarea dependenelor funcionale i multivalorice. O relaie aflat n
forma normal FN4 nu mai poate fi descompus n continuare pe baza acestei metode.
Exist situaii cnd relaii aflate n FN4 conin redundane i prezint anomalii la operaiile
de adugare, tergere i actualizare. Aceste anomalii sunt cauzate de existena
dependenelor de cuplare i pot fi eliminate prin descompunerea relaiei n 3 sau mai multe
relaii a cror cuplare are ca rezultat relaia iniial.
Dependene de cuplare
71
Sisteme informatice
Se consider schema de relaie:
SDS (Specializari, Discipline, Studenti)
care conine disciplinele care se predau la diverse specializri i studenii care le
frecventeaz, cu precizarea c pot exista discipline opionale care nu sunt frecventate de
toi studenii de la specializarea respectiv. n aceste condiii n cadrul schemei de
relaie SDS nu au loc dependenele multivalorice:
Specializari ->> Discipline
Specializari->> Studenti
ceea ce nseamn c relaia SDS este n FN4. Dei este n FN4, relaia SDS conine mai
multe redundane care pot conduce la anomalii de actualizare. Pe de alt parte, relaia SDS
nu poate fi descompus n dou componente din a cror cuplare s rezulte relaia iniial cu
conservarea informaiei. Se constat ns c relaia SDS poate fi descompus n
urmtoarele 3 relaii:
SD(Specializari, Discipline)
SS(Specializari, Studenti)
DS(Discipline, Studenti)
i relaia SDS este rezultatul cuplrii relaiilor: SD, SS i DS fr pierdere de informaie.
SDS = SDSSDS.
n acest caz spunem c n relaia SDS exist o dependen de cuplare. Dependenele
multivalorice sunt cazuri particulare de dependene de cuplare.
A cincea form normal este o generalizare a formei normale patru, trecerea unei
relaii n FN5 presupunnd eliminarea dependenelor de cuplare existente n cadrul
relaiei, mpreun cu anomaliile pe care acestea le creeaz. n cadrul unei relaii pot exista
dependene de cuplare care nu conduc la redundan n memorarea datelor i nu produc
anomalii la operaiile efectuate asupra nregistrrilor bazei de date (acestea sunt dependenele
de cuplare implicate de o cheie a relaiei).
O relaie este n forma normal cinci (FN5) dac i numai dac toate
dependenele de cuplare existente n relaie sunt implicate de o cheie a acesteia. Relaia
SDS se poate descompune, cu conservarea coninutului de informaie, n cele 3
componente ale sale: SD, SS i DS care sunt n FN5.
Avnd n vedere similaritatea ce exist ntre definiiile pentru FNBC, FN4 i FN5,
acestea pot fi unificate n urmtoarea definiie [13]:
O relaie R este n FNBC, FN4, FN5 dac i numai dac singurele dependene
funcionale, multivalorice, de cuplare existente sunt cele implicate de o cheie a relaiei R.
n concluzie, prin procesul de normalizare se realizeaz eliminarea din schemele
de relaie a dependenelor (funcionale, multivalorice i de cuplare) cu scopul de a obine o
schem relaional mai bun din punctul de vedere al redundanei datelor i al anomaliilor
ce pot apare la operaiile de adugare, tergere i actualizare nregistrri n baza de date.
Normalizarea unei scheme de relaie R nseamn nlocuirea acesteia cu o mulime de
proiecii R1,...,Rn astfel nct R s fie echivalent cu uniunea proieciilor R1,...,Rn. Dei
normalizarea este o operaie util n proiectarea bazelor de date, aceasta nu ofer
ntotdeauna reete pentru obinerea celor mai bune modele i de aceea este la latitudinea
proiectantului decizia de a aplica sau nu o anumit etap de normalizare dup o analiz
temeinic a avantajelor i dezavantajelor modelului obinut. n unele cazuri
72
Uzual
Fizic
73
Sisteme informatice
Relaie
Tuplu
Atribut
Domeniu
Fiier(tabel)
nregistrare
Cmp
Tip de dat
Tablou
Linie
Coloan
Tip de dat
Definirea domeniului
Un domeniu este o mulime de valori caracterizat printr-un nume. Un domeniu se
poate defini explicit prin enumerarea tuturor valorilor aparinnd acestuia sau definind o
proprietate distinctiv a domeniului valorilor, de cele mai multe ori limita superioar i
limita inferioar [Popescu I, 1996]. De exemplu:
D1: {F,M}
-definire explicit
D2: {x| x N, x [0,100]}
-definire implicit
D3: {s|s=ir de caractere}
-definire implicit
Pentru un ansamblu de domenii D 1,D2,,Dn produsul cartezian al acestora
reprezint ansamblul tuplurilor (elemente ale unei relaii) <v1,v2,,vk> unde vi este un
element care aparine domeniului Di. De exemplu, tuplurile <Maria,F,50 >,<
Vasile,M,60> aparin produsului cartezian D 3xD1xD2.
Definirea relaiei
O relaie R pe mulimile D1,D2,,Dn este o submulime a produsului cartezian
D1xD2xxDn, deci o mulime de tupluri [Popescu I, 1996].
Considernd c nu se cunosc dect dou persoane, relaia R se definete prin
tuplurile care descriu aceste persoane, i anume:
R: {<Maria,F,50>,<Vasile,M,60>}
O relaie poate fi reprezentat printr-un tabel bidimensional n care fiecare linie
corespunde unui tuplu i fiecare coloan corespunde unui domeniu.
R:
D3
Maria
Vasile
D1
F
M
D2
50
60
74
PERS D3
Maria
Vasile
D1
F
M
D2
50
60
D3
Vasile
Maria
75
Sisteme informatice
-
76
CAPITOLUL 5
PROIECTAREA FIZIC A SISTEMELOR INFORMATICE
Proiectarea fizic cunoscut i sub numele de proiectare de detaliu, urmeaz
proiectrii logice. Proiectarea logic ntlnit i sub numele de proiectare general, o alt
variant de definire a proiectrii logice. De fapt, printr-o astfel de referire se scoate n
relief faptul c n timpul proiectrii logice se prezint o imagine de ansamblu (general) a
sistemului, n timp ce proiectarea fizic nseamn o abordare detaliat a sistemului. Cu
alte cuvinte, n etapa de proiectare logic se acumuleaz informaiile de natur s
sintetizeze cerinele utilizatorilor noului sistem, operaiune prestat de analitii de sistem,
iar n timpul proiectrii fizice se prezint punctele de vedere ale specialitilor, cum ar fi
cei din domeniul bazelor de date, securitii sistemelor, reelelor de calculatoare,
programrii, etc.
Proiectarea fizic implic parcurgerea urmtorilor pai [1]:
1. Proiectarea fizic a bazelor de date i a fiierelor. O astfel de activitate nseamn
descrierea modului n care vor fi stocate datele i cum se va asigura controlul lor
pentru a se oferi o securitate maxim;
2. Proiectarea structurii sistemului i a programelor. Se descriu programele sau
modulele acestora care s fie n strns concordan cu diagramele fluxurilor de date
i cu celelalte piese ale documentaiei realizate n etapele anterioare;
3. Proiectarea strategiilor de prelucrare distribuit. Se vor prezenta modalitile n care
utilizatorul poate s dispun de date i facilitile de prelucrare oferite de reele de
calculatoare.
5.1. Proiectarea fizic a bazelor de date i a fiierelor
Modelul conceptual surprinde structura global de organizare a datelor,
asigurndu-se independena total fa de orice sistem de gestiune a bazelor de date.
Modelul conceptual este prezentat prin intermediul diagramelor entitate-relaie(DER),
motiv pentru care este cunoscut i sub numele de modelul entitate-relaie al datelor. El
scoate n eviden reprezentarea logic, detaliat a entitilor, asocierilor (legturilor) i
datelor elementare ale unei organizaii sau ale unei pri din ea. Modelul se realizeaz n
faza de analiz [1].
Modelul logic al datelor nseamn descrierea datelor n concordan cu modelul de
organizare a acestora de ctre sistemele de gestiune a bazelor de date. n acest material sa ales modelul relaional. Conform cu acest model datele sunt reprezentate n baza de date
sub forma tabelelor sau relaiilor create din diagrama entitate-relaie obinut n etapa
anterioar.
O baz de date poate fi definit ca un ansamblu de date elementare sau structurate,
accesibile unei comuniti de utilizatori. Mai concret, o baz de date este un ansamblu de
fiiere intercorelate, care conine nucleul de date necesare unui sistem informatic
(aplicaie informatic). Un fiier este un ansamblu de nregistrri fizice, omogene din
77
Sisteme informatice
punct de vedere al coninutului i al prelucrrii. O nregistrare fizic este unitatea de
transfer ntre memoria intern i cea extern a calculatorului. Aceasta este format din
una sau mai multe nregistrri logice. O nregistrare logic este unitatea de prelucrare din
punct de vedere al programului utilizator. Aceasta este format dintr-un ansamblu de
cmpuri, care descriu o anumit entitate.
Modul de stocare a datelor pe suportul fizic de memorare este funcie de sistemul
de gestiune a bazelor de date utilizat.
Proiectarea fizic a bazelor de date i a fiierelor i propune s asigure trecerea de
la descrierea logic a datelor la una tehnic, de stocare a datelor. O problem de
importan major n cadrul acestei etape o constituie alegerea Sistemului de Gestiune a
Bazelor de Date adecvat soluionrii optime a problemelor formulate n etapele anterioare
ale realizrii sistemului informatic.
5.1.1. Obiectivele fundamentale ale unei baze de date (BD) sunt:
Centralizarea datelor permite: suprimarea redundanei, asigurarea unicitii
nregistrrii i controlul centralizat (asupra datelor). n prelucrarea clasic n care fiierele
sunt dedicate aplicaiilor, aceleai date apar nregistrate n mai multe fiiere i n formate
diferite. Acest lucru implic o utilizare ineficient a spaiului de memorie extern,
actualizarea dificil a acestor date i lizibilitate redus ca urmare a formatelor diferite.
Independena ntre date i prelucrri. Baza de date, ca imagine a unei anumite
realiti, trebuie actualizat permanent. Acest lucru nu trebuie s afecteze programele de
prelucrare. Pentru aceasta trebuie ca fiecare program s aib o viziune proprie asupra BD
Realizarea de legturi ntre entitile de date, care sunt indispensabile pentru
exploatarea eficient a sistemului informatic. Spre exemplu, n cadrul gestiunii
aprovizionrii, trebuie asociat un furnizor la lista de produse pe care le vinde i invers, un
produs la lista de furnizori, preciznd condiiile de vnzare pentru un furnizor i un
produs.
Integritatea datelor asigur fiabilitatea i coerena bazei de date (BD). Pentru
aceasta trebuie definite restricii de integritate cum ar fi:
- apartenena la o list de valori sau interval;
- apartenena la un anumit format;
- reguli de coeren cu alte date.
Securitatea datelor. Baza de date trebuie s fie protejat mpotriva unei distrugeri
logice (anomalie de actualizare) sau fizice. Pentru aceasta exist instrumente care permit:
- crearea unor puncte de repriz; altfel spus, salvarea din timp n timp a unor copii
coerente ale bazei de date;
- gestiunea unui jurnal de tranzacii; lista operaiilor realizate asupra bazei de date dup
ultimul punct de repriz.
Confidenialitatea datelor este asigurat prin proceduri de:
- identificare a utilizatorilor prin nume sau cod;
- autentificarea prin parole;
- autorizarea accesului difereniat prin drepturi de creare, consultare modificare sau
tergere pentru anumite segmente de date.
78
79
Sisteme informatice
administratorul va menine permanent legtura cu utilizatorii acesteia pentru rezolvarea
cerinelor utilizatorilor i impunerea unei discipline n vederea alinierii la standardele
existente. Administratorul va realiza, ori de cte ori se impune, reorganizarea structurii
fizice a datelor n vederea optimizrii parametrilor de funcionare a ntregului sistem i va
stabili proceduri de arhivare a datelor i proceduri de recuperare a bazei de date la avarii
i defecte. Pentru a preveni accesul neautorizat la date, n cadrul sistemului de securitate
pot fi prevzute [12] i alte mecanisme i anume: evidena de auditare, criptarea datelor.
Evidena de auditare const dintr-un fiier n care sistemul nregistreaz automat
toate operaiile efectuate asupra datelor, fiier ce va putea fi consultat de ctre persoane
autorizate pentru a verifica efectuarea unor operaii neautorizate. O nregistrare din
evidena de auditare va conine urmtoarele informaii: textul surs al operaiei
neautorizate, terminalul de la care a fost lansat operaia, utilizatorul care a lansat
operaia, data i ora operrii, obiectele bazei de date afectate, imaginile datelor afectate
nainte de efectuarea operaiei, imaginile datelor afectate dup efectuarea operaiei.
Pentru a preveni accesul unor intrui la baza de date, care ncearc s
ocoleasc sistemul, se utilizeaz criptarea datelor, mecanism ce const n stocarea i
transmiterea datelor pe cile de comunicaie sub form cifrat. Criptarea se
realizeaz cu ajutorul unor algoritmi de criptare printre care cel mai recent este
standardul american de criptare avansat AES (Advanced Encryption Standard).
5.1.4. Proiectarea securitii bazelor de date i a fiierelor
Securitatea este abordat din mai multe puncte de vedere, dar cea referitoare la
baze de date i la fiiere presupune luarea unor msuri pentru reconstituirea datelor
pierdute sau preluate eronat, precum i pentru accesul neautorizat sau incomodarea pn
la a face imposibil citirea datelor, prin criptare, atunci cnd ele sunt accesate ilegal.
Aadar dou aspecte vor fi relevante: reconstituirea datelor i criptarea lor [1].
Reconstituirea datelor este des asociat cu existena fiierelor de tip back-up, ns
n practic este posibil i reconstituirea fr apelarea la acest tip de fiiere. n vederea
controlrii corectitudinii datelor tranzacionate se apeleaz la fiiere cu rol special, care
conin un istoric, n ordine cronologic, al schimbrilor i accesrilor efectuate asupra
fiierelor sau bazelor de date. Cu ajutorul lor se pot reconstitui fiierele distruse, dar i la
verificarea corectitudinii operaiunilor de actualizare [1].
Securitatea prin criptografiere se refer la asigurarea transformrii datelor de
comunicat ntr-o form neinteligibil pentru toi ceilali receptori, exceptndu-l pe cel
autorizat. Criptarea a devenit una dintre cele mai puternice modaliti de asigurare a
securitii datelor. Ea poate fi realizat prin sistemul de operare sau prin SGBD, dar i
prin rutine create de ctre specialiti [1].
Avnd n vedere aspectele prezentate mai sus, criteriile avute n vedere n alegerea
unui anumit tip de SGBD sunt [2]:
a) Portabilitatea SGBD-ului. Prin aceasta nelegem posibilitatea de a utiliza un
SGBD de pe un sistem de calcul pe un altul. Portabilitatea cuprinde dou aspecte i
anume: portabilitatea programelor propriu-zise i portabilitatea datelor.
Pentru realizarea unor programe portabile este necesar ca: programele s conin
ct mai puine elemente legate de echipament;
80
81
Sisteme informatice
operatori pentru a forma interogri complexe. Operatorii algebrei relaionale se mpart n
dou grupe i anume:
- operaii pe mulimi (Reuniunea, Intersecia, Diferena, Produsul
cartezian);
- operatori relaionali speciali (Selecia, Proiecia, Cuplarea (JOIN),
Diviziunea).
2. Calculul relaional prin care interogrile descriu mulimea tuplelor rezultat prin
specificarea unui predicat (condiie) care trebuie satisfcut de aceste tuple.
ncepnd din 1986 limbajul SQL a devenit standard ANSI pentru limbajele de
interogare ale bazelor de date relaionale fiind utilizat att n cadrul unor SGBD-uri
complexe cum ar fi SGBD ORACLE (liderul mondial n domeniul bazelor de date), ct i
n cadrul unor SGBD-uri de complexitate redus cum ar fi cele din familia xBase (Dbase
IV, FoxPro).
Standardul SQL utilizat pn la nceputul anului 2000 este cel realizat n 1992 i
cunoscut sub numele de SQL92 sau SQL2.
Noul standard SQL3 lansat n 1999 are n vedere o serie de extensii fa de SQL2
dup cum urmeaz:
- faciliti orientate obiect posibilitatea de definire de ctre utilizator a tipurilor
abstracte de date care s permit descrierea de metode, identitatea obiectelor,
subtipuri i motenire, polimorfism etc.;
- structuri de control pentru a conferi limbajului completitudine de calcul (IF, FOR,
WHILE, etc.) pentru a deveni un limbaj de sine stttor a crui putere de expresie s
nu mai fie limitat la nivelul limbajelor relaionale;
- faciliti pentru exprimarea prelucrrilor recursive;
- faciliti de comunicare n reea;
- faciliti de prelucrare distribuit (mecanisme pentru crearea, memorarea i execuia
procedurilor la nivelul serverelor de date stored procedures);
- faciliti multimedia;
- faciliti pentru tratarea timpului n bazele de date.
Comenzi pentru crearea/actualizarea schemei bazei de date
Crearea unui utilizator se realizeaz cu comanda
CREATE USER <nume utilizator> IDENTIFIED BY <parola>
Adugarea relaiilor ntr-o baz de date comanda CREATE TABLE are sintaxa:
CREATE TABLE <nume relaie>[(<nume atribut> <tip dat>,)]
Exemplu -crearea tabelei Persoane n SQL Oracle se realizeaz cu comanda:
CREATE TABLE Persoane (Nrcrt NUMBER UNIQUE NOT NULL,Nume
CHAR(15),Prenume CHAR(15),Datan DATE,Sexul CHAR,Adresa VARCHAR2(50));
O nou relaie poate fi creat i ca rezultat al unei operaii de interogare astfel:
CREATE TABLE <nume relaie> (<nume atribut> <tip dat>,) AS <subinterogare>
Adugarea/modificarea de atribute pentru o relaie existent se realizeaz cu
comanda:
ALTER TABLE <nume relaie> ADD|MODIFY (< nume atribut> <tip dat>,)
tergerea unei relaii se realizeaz cu comanda:
DROP TABLE <nume relaie>
82
83
Sisteme informatice
WHERE [Link]=[Link] AND CodDep = D1
Interogarea vederii se va realiza cu comanda
SELECT * FROM StocuriD1
Utilizarea opiunii WITH CHECK OPTION asigur faptul c nici o tupl nu va fi
adaugat sau actualizat cu instruciunile INSERT, UPDATE, dac nu sunt respectate
condiiile specificate n clauza WHERE a instruciunii SELECT din definiia vederii.
Pentru acordarea sau retragerea drepturilor de acces la baza de date prin
intermediul vizualizrilor se vor folosi comenzi de forma:
GRANT [ALL|SELECT|INSERT|UPDATE|DELETE] ON <nume vedere>
TO <nume utilizator>
sau
REVOKE [ALL|SELECT|INSERT|UPDATE|DELETE] ON <nume vedere>
FROM <nume utilizator>
Asigurarea securitii datelor presupune definirea drepturilor de acces ale
utilizatorilor i protecia sistemului la accesul neautorizat. n acest sens asigurarea
securitii se realizeaz pe dou niveluri i anume:
- nivelul 1 acordarea dreptului de acces la sistem;
- nivelul 2 acordarea dreptului de acces la nivel de relaii.
Pentru conectarea utilizatorilor la sistem n majoritatea versiunilor de SQL se
utilizeaz un nume de utilizator i o parol.
Referitor la drepturile de acces la nivel de relaie n sistemele multi-user trebuie
precizat utilizatorul care a creat relaia (proprietarul relaiei). Fiecare utilizator are
drepturi doar asupra propriilor relaii, iar drepturi asupra unor relaii create de ali
utilizatori pot fi acordate prin comanda GRANT i pot fi retrase prin comanda REVOKE.
Datele privind definirea bazei de date, utilizatorii i drepturile de acces sunt
stocate n dicionarul de date i sunt gestionate de ctre sistemul de gestiune a bazei de
date (SGBDR).
n cele ce urmeaz se va prezenta modul de realizare a celor dou nivele de
securitate n cadrul sistemului ORACLE.
Nivelul 1 de securitate a datelor se realizeaz cu comanda:
GRANT <autorizare,> TO <nume utilizator> [IDENTIFIED BY <parola>]
unde <autorizare> poate fi:
- DBA confer utilizatorului dreptul de efectuare a oricrei operaii asupra
oricrei relaii din baza de date;
- CONNECT confer utilizatorului dreptul de a a face interogri (SELECT) i
actualizri (INSERT, UPDATE, DELETE) asupra relaiilor create de ali
utilizatori, ns nu permite utilizatorului s creeze relaii (CREATE) sau s
tearg relaii create de ali utilizatori (DROP);
- RESOURCE confer utilizatorului drepturile ce rezult din autorizarea
CONNECT i n plus dreptul de a crea relaii (CREATE) i de a terge relaii
ce i aparin (DROP).
Unui utilizator i pot fi acordate mai multe tipuri de autorizri n cadrul unei singure
comenzi GRANT.
84
85
Sisteme informatice
Instruciuni pentru inserarea i actualizarea datelor n tabele
Inserarea datelor comanda INSERT are urmtoarea sintax:
INSERT INTO <nume relatie>|<nume vedere> [(<nume atribut>)]
[VALUES] <lista valori>|<subinterogare>
Exemple:
Fie tabela Persoane(Nrcrt,Nume,Prenume, Datan, Sexul, Adresa)
INSERT INTO Persoane VALUES (1,Ionescu,Ion,05/23/82,M,Suceava)
(adaug o nregistrare n tabela Persoane completnd toate atributele)
INSERT INTO Persoane(Nrcrt,Nume,Prenume) VALUES (2,Ionescu,Ana)
(adaug o nregistrare n Persoane completnd numai atributele Nrcrt,Nume, Prenume)
Pentru a insera n tabela PersF(Nrcrt,Nume,Prenume) toate nregistrrile din tabela
Persoane pentru care Sexul=F se scrie comanda:
INSERT INTO PersF(Nrcrt,Nume,Prenume) SELECT Nrcrt,Nume,Prenume
FROM Persoane WHERE Sexul = F
Actualizarea datelor comanda UPDATE are sintaxa:
UPDATE <nume relaie>|<nume vedere>
SET <nume atribut> = <expresie>,[WHERE <condiie>]
Condiia din clauza WHERE definete tuplele care vor face obiectul actualizrii. Clauza
WHERE poate conine i o subinterogare.
Exemple:
UPDATE Persoane SET Nume = Popescu, Prenume = Ana Maria
WHERE Nume = Ionescu AND Prenume = Ana
(actualizeaz numele i prenumele persoanei Ionescu Ana cu valorile Popescu respectiv
Ana Maria).
UPDATE Vanzari SET Pret = Pret*1.2 WHERE CodP IN
(SELECT CodP FROM Facturi WHERE Numar = 120 AND
[Link]=[Link] )
(realizeaz majorarea preului cu 20% pentru produsele vndute cu factura 120).
Dac n comanda UPDATE clauza WHERE este omis, actualizarea se va efectua asupra
tuturor tuplelor relaiei.
tergerea datelor comanda DELETE are sintaxa:
DELETE FROM <nume relaie>|<nume vedere> [WHERE <condiie>]
unde <condiie> poate fi o condiie simpl, o expresie sau o subinterogare.
Exemple:
DELETE FROM Stocuri WHERE Cant = 0
(terge toate nregistrrile din tabela Stocuri pentru care cmpul Cant are valoarea 0).
DELETE Oferte
(terge toate nregistrrile din tabela Oferte).
Comenzi pentru gestiunea tranzaciilor
Tranzacia este o succesiune de instruciuni SQL grupate ntr-un bloc de
instruciuni utilizate pentru actualizarea i/sau interogarea datelor din baza de date. O
tranzacie se consider ncheiat dup realizarea tuturor operaiilor pe care le conine.
Operaiile coninute ntr-o tranzacie pot fi realizate efectiv n baza de date sau nu, fie
86
automat de ctre sistem dup fiecare operaie, fie printr-o comand explicit dat dup o
succesiune de operaii. Astfel salvarea automat de ctre sistem a modificrilor este
realizat prin comanda
SET AUTOCOMMIT ON
Dac iniial a fost specificat comanda SET AUTOCOMMIT OFF, salvarea modificrilor
efectuate asupra datelor se realizeaz prin comanda COMMIT, iar abandonarea
modificrilor se realizeaz prin comanda ROLLBACK.
Blocul de operaii ce definesc o tranzacie poate fi delimitat de instruciunile :
BEGIN TRANSACTION
END TRANSACTION
Problem rezolvat
Se lanseaz n execuie SQL Plus Oracle sub utilizatorul system (figura 5.1).
n baza de date ORCL sub S.G.B.D. Oracle se creaz utilizatorul U1 identificat prin
parola PW1 i i se acord privilegiile CONNECT, RESOURCE (figura 5.2).
Se nchide sesiunea de lucru SQL Plus a utilizatorului system (cu instruciunea EXIT)
i se deschide o nou sesiune de lucru SQL Plus pentru utilizatorul U1 (figura 5.3).
Se creaz tabela Produse i se insereaz dou nregistrri (figura 5.4).
ORCL
87
Figura 5.1. Lansare SQL Plus ORACLE pentru utilizatorul system
Sisteme informatice
88
ORC
L
89
Sisteme informatice
[HAVING <condiie>]
[ORDER BY <atribut1 de ordonare> [ASC]|DESC,]
[UNION <fraz SELECT>]
<lista atribute> este o list ce conine nume de atribute (cmpuri) sau expresii
construite utiliznd atribute, separate prin caracterul , i care fac parte din relaiile
(tabele, vederi) enumerate n <lista relaii> din clauza FROM. Numele fiecrui atribut sau
expresii din <lista atribute> va fi afiat n capul de tabel ce reprezint rezultatul
interogrii, fiecare atribut sau expresie putnd primi un alias folosind specificarea AS
<alias>.
Caracterul * specific faptul c se extrag toate atributele tabelei precizate n
clauza FROM.
Clauza DISTINCT precizeaz faptul c n relaia rezultat nu pot aprea duplicate
(tuple identice).
Clauza WHERE precizeaz condiiile de interogare (condiii care trebuie s fie
satisfcute de tuplele interogate, condiii de cuplare relaii (JOIN, relaii ntre tabele). n
clauza WHERE pot fi utilizai operatori logici (AND, NOT, OR), predicate (IN, LIKE,
BETWEEN, EXISTS, ALL, ANY), operatori aritmetici (+, -, **, /, *), operatori de
comparare (=, #,<, >, <=, >=, <>), parantezele ( ) pentru schimbarea ordinii de prioritate a
operaiilor, operatorilor, funcii i alte subinterogri SELECT, pentru construirea de
expresii pe care trebuie s le ndeplineasc tuplele ce constituie rezultatul interogrii.
Predicatul IN permite specificarea unei liste pentru domeniul de cutare pentru un atribut,
iar predicatul BETWEEN permite specificarea unui interval pentru domeniul de cutare a
valorilor unui atribut, fiind echivalent cu o condiie de forma:
<atribut> >= <limita inf. interval> AND <atribut> <= <limita sup. interval>
Exemple:
Fie tabela Persoane(Nrcrt,Nume,Prenume, Datan, Sexul, Adresa)
Selectarea tuturor nregistrrilor din tabela Persoane pentru care primele 7 caractere din
cmpul Adresa sunt Suceava sau Rdui se realizeaz cu comanda:
SELECT * FROM Persoane
WHERE SUBSTR(Adresa,1,7) IN (Suceava,Rdui)
Interogarea de mai sus este echivalent cu interogarea:
SELECT * FROM Persoane
WHERE SUBSTR(Adresa,1,7) = Suceava
OR SUBSTR(Adresa,1,7) =
Rdui
Selectarea tuturor nregistrrilor din tabela Persoane pentru care data naterii este
cuprins ntre 01/01/72 i 01/01/82 se realizeaz astfel:
SELECT * FROM Persoane WHERE Datan BETWEEN {01/01/72} AND
{01/01/82}
Interogarea de mai sus este echivalent cu interogarea:
SELECT * FROM Persoane WHERE Datan >= {01/01/72} AND Datan <=
{01/01/82}
90
Predicatul LIKE permite selecia irurilor de caractere care conin anumite caractere
specificate prin intermediul unei mti definite cu ajutorul unor caractere speciale (%, _
n dBASE IV, FoxPro, ORACLE, sau *, ? n INFORMIX)
Exemple:
SELECT * FROM Persoane WHERE Nume LIKE %a
(selecteaz toate nregistrrile din tabela Persoane pentru care valorile atributului Nume
se termin cu litera a).
SELECT Nume,Prenume,Datan FROM Persoane WHERE Nume LIKE A%u
(selecteaz valorile atributelor Nume, Prenume, Datan pentru toate nregistrrile din
tabela Persoane pentru care prima liter din Nume este A iar ultima liter este u).
SELECT Nume FROM Persoane WHERE Nume LIKE _o%
(selecteaz valorile atributului Nume pentru toate nregistrrile din tabela Persoane pentru
care prima liter din Nume este orice liter, a doua liter din Nume este litera o i
ncepnd din poziia a treia numele poate conine orice litere.)
Predicatele ALL, ANY, EXISTS se utilizeaz pentru interogri ce conin subinterogri, n
vederea verificrii anumitor condiii ce trebuie ndeplinite ntre rezultatele interogrii i
rezultatele subinterogrii.
Clauza GROUP BY realizeaz gruparea tuplelor unei relaii pe baza valorilor
unui atribut sau grup de atribute i genereaz o singur tupl pentru fiecare grup de tuple
avnd aceeai valoare pentru atributele care definesc grupul. Atributele care definesc
grupul trebuie obligatoriu s se regseasc n lista atributelor interogate <lista atribute>.
De asemenea asupra unor atribute pot fi aplicate funcii agregat:
- AVG(<atribut>) media valorilor atributului specificat ca parametru, pe
grup;
- SUM(<atribut>) suma valorilor atributului specificat ca parametru, pe grup;
- MAX(<atribut>) maximum valorilor atributului specificat ca parametru, pe
grup;
- MIN(<atribut>) minimum valorilor atributului specificat ca parametru, pe
grup;
- COUNT(<atribut>) numrul nregistrrilor pe grupare dup <atribut>.
Observaie. <atribut> poate fi fie un atribut, fie o expresie definit utiliznd atribute ale
tabelei.
Clauza HAVING, opiune a clauzei GROUP BY, este o form special a clauzei
WHERE ntruct se aplic unor grupuri de tuple (i nu unor tuple) definite de clauza
GROUP BY.
Exemple:
Fie tabela Stocuri(CodDep,CodP,UmP,Cant,Pret)
SELECT CodDep,SUM(Cant*Pret) AS Valoare,COUNT(CodDep) AS Contor
FROM Stocuri GROUP BY CodDep
(Calculeaz suma produselor Cant*Pret pentru toate tuplele avnd aceeai valoare n
cmpul CodDep i numrul nregistrrilor din fiecare grup definit de cmpul CodDep i
afiseaz rezultatele sub form de tabel avnd coloanele CodDep, Valoare, Contor)
91
Sisteme informatice
SELECT CodDep,CodP,MAX(Pret) FROM Stocuri
GROUP BY CodP HAVING MAX(Pret) < 150000
(selecteaz pentru fiecare grup de nregistrri avnd aceeai valoare n cmpul CodP,
nregistrarea cu preul maxim mai mic dect 150000)
CLAUZA ORDER BY PERMITE PRECIZAREA ORDINII DE AFIARE A
DATELOR ASTFEL:
ORDER
BY
<nume
atribut
1>
[ASC]|DESC,<nume
2>[ASC]|DESC,
Exemplu:
SELECT * FROM Persoane ORDER BY Datan DESC,Nume
atribut
(afieaz toate nregistrrile din tabela Persoane n ordine descresctoare dup data
naterii i n cadrul aceleiai date a naterii cresctor dup Nume)
Clauza UNION permite obinerea rezultatului a dou sau mai multe interogri
printr-o singur instruciune SELECT.
Exemplu:
SELECT CodDep,CodP,Cant FROM Stoc_Prod WHERE CodDep = Dep01
UNION
SELECT CodDep,CodP,Cant FROM Stoc_Prod WHERE Cant >= 100
(selecteaz tuplele (CodDep,CodProd,Cant) din tabela Stoc_Prod pentru toate
nregistrrile pentru care CodDep = Dep01, la care adaug tuplele
(CodDep,CodProd,Cant) din tabela Stoc_Prod pentru toate nregistrrile pentru care Cant
>= 100).
Pentru a nu se elimina tuplele duplicat trebuie specificat UNION ALL.
Pentru a schimba ordinea de afiare a tuplelor extrase se poate utiliza clauza ORDER BY
aplicat doar relaiei finale i nu asupra fiecrei fraze SELECT.
Regsirea datelor din dou sau mai multe relaii
Interogarea datelor din dou sau mai multe tabele (relaii) presupune existena
unor cmpuri comune pentru realizarea operaiei de cuplare (operatorul JOIN). n fraza
SELECT operaia de cuplare este definit n clauza WHERE sub forma:
<nume tabela1>.<cheie1> = <nume tabela2>.<cheie2>
(unde <cheie1>, <cheie2> reprezint cmpurile ce identific nregistrrile corespondente
n cele dou tabele).
Pentru exemplificare pe lng tabela Stocuri mai considerm tabela Produse(CodP, DenP,
DesP).
SELECT [Link],DenP,UmP,Cant,Pret FROM Produse,Stocuri
WHERE [Link] = [Link]
(extrage toate tuplele (CodP,DenP,UmP,Cant,Pret) pentru care valoarea atributului CodP
din tabela Produse este egal cu valoarea atributului CodP din tabela Stocuri ).
n lipsa clauzei WHERE se vor extrage toate combinaiile posibile ntre tuplele celor
dou tabele (produsul cartezian).
92
Fiecrei tabele i se poate atribui un alias astfel nct fraza de mai sus este echivalent cu
fraza:
SELECT [Link],DenP,UmP,Cant,Pret FROM Produse A,Stocuri B WHERE [Link] =
[Link]
n anumite situaii poate fi necesar corelarea (cuplarea) unei relaii (tabele) cu ea
nsi. Spre exemplu dac presupunem c n tabela Stocuri unele produse pot apare de
mai multe ori cu preuri diferite i ne intereseaz poziiile cu preul minim, formulm
urmtoarea interogare:
SELECT [Link],[Link],[Link] FROM Stocuri A
WHERE [Link] = (SELECT MIN([Link]) FROM Stocuri B WHERE [Link] =
[Link])
Pentru rezolvarea unor astfel de probleme s-au utilizat instruciuni SELECT imbricate
care vor fi prezentate n detaliu n cele ce urmeaz.
Instruciuni SELECT imbricate
Limbajul SQL ofer posibilitatea construirii unor interogri complexe prin
includerea n clauza WHERE a unei instruciuni SELECT, a altei instruciuni SELECT
(numit sub-interogare sau inner) astfel:
SELECT <lista atribute> FROM <lista relaii>
WHERE <condiie> (<sub-interogare>)
La rndul ei sub-interogarea poate conine n clauza WHERE o alt instruciune SELECT
obinnd astfel o interogare complex constituit din instruciuni SELECT imbricate pe
un numr oarecare de nivele. Instruciunea SELECT interioar genereaz valori pentru
condiia de cutare a instruciunii SELECT exterioare care o conine (numit i outer). O
sub-interogare poate returna o singur valoare, sau poate returna mai multe valori.
n ce privete ordinea de evaluare a interogrilor pot exista :
- sub-interogri simple - n care interogarea interioar este evaluat prima, independent
de interogarea exterioar, iar rezultatul interogrii interioare este utilizat de
interogarea exterioar;
- sub-interogri corelate - n care interogarea exterioar transmite repetat cte o valoare
pentru interogarea interioar, care n baza valorii primite, parcurge tuplele relaiei i
transmite interogrii exterioare rezultatul obinut. Astfel de interogri realizeaz
corelarea unei relaii cu ea nsi i sunt cele mai performante.
Spre exemplu dac presupunem c n tabela Stocuri unele produse pot apare de mai multe
ori cu preuri diferite i ne intereseaz poziiile cu preul minim, formulm urmtoarea
interogare:
SELECT [Link],[Link],[Link] FROM Stocuri A
WHERE [Link] = (SELECT MIN([Link]) FROM Stocuri B WHERE [Link] =
[Link])
Sub-interogri simple care returneaz o singur valoare - pot fi utilizate n
interogri imbricate avnd sintaxa:
SELECT <lista atribute> FROM <lista relaii>
WHERE <atribut> =
<
>
93
Sisteme informatice
<=
>=
!=
(<sub-interogare>)
[ORDER BY <atribut[ASC]|DESC,]
Exemplu:
SELECT CodDep,CodP,Cant FROM Stocuri
WHERE Cant > (SELECT AVG(Cant) FROM Stocuri ) ORDER BY CodDep
(afieaz produsele pentru care exist stocuri peste medie, ordonate pe depozite).
Sub-interogari simple care returneaza mai multe valori pot fi utilizate n
interogri imbricat care utilizeaz n clauza WHERE codiii care genereaz o mulime de
valori folosind unul din predicatele: (NOT)IN, (NOT)ANY, (NOT)ALL, (NOT)EXISTS.
Exemplu:
SELECT * FROM Produse WHERE CodP IN (SELECT CodP FROM Facturi WHERE
Numar IN
(SELECT Numar FROM Beneficiari,ComenziWHERE [Link]=Ionescu
AND
Beneficiari.Cod_Beneficiar=Comenzi.Cod_Beneficiar))
Predicatul ANY poate fi utilizat n combinaie cu oricare din operatorii <, >, =,
<=, >=, != i permite verificarea dac valoarea unui atribut satisface condiia precizat
pentru orice valoare din lista rezultat din subinterogare.
SELECT CodP FROM Stocuri WHERE Cant > ANY
(SELECT Cant FROM Stocuri WHERE CodDep = D1)
Predicatul ALL returneaz toate tuplele pentru care valorile atributului din clauza
WHERE sunt <, >, <=, >= dect toate valorile generate de interogarea interioar (acest
predicat nu poate fi utilizat cu operatorul = ce ar corespunde cazului banal n care toate
interogrile din list sunt egale).
Exemplu:
SELECT * FROM Stocuri WHERE Cant < ALL
(SELECT Cant FROM Stocuri WHERE CodDep = D1)
Predicatul EXISTS verific dac pentru fiecare tupl a relaiei exist tuple care
satisfac condiia din interogarea interioar (deci EXISTS permite specificarea mai multor
atribute n interogarea interioar).
Astfel spre exemplu instruciunea:
SELECT * FROM Produse A WHERE NOT EXISTS
(SELECT * FROM Stocuri B WHERE [Link]=[Link])
va returna o list de produse care nu au nici o nregistrare n Stocuri.
5.2. Proiectarea programelor i a procedurilor
Proiectantul de soft are ca principal misiune definirea i structurarea
componentelor care vor forma un tot unitar, astfel nct prin acestea s se obin un
proiect soft operaional. Proiectantul va grupa funciile ce trebuie s fie interconectate i
va descrie modalitile de realizare a legturilor. Dup proiectanii de soft vor interveni
94
95
Sisteme informatice
direct la nivelul operaiilor elementare pe care le implic executarea lucrrii care se
elaboreaz .
Programarea modular const n descompunerea programului, chiar din faza de
proiectare, n module uor de ntrebuinat. Fiecare modul este apoi analizat ca un program
distinct i rezolvat ca atare [1].
Metoda programrii structurate const n faptul c ofer o rezolvare standardizat
i structurat, n mod unitar, a programelor, reprezentnd o ridicare a activitii de
programare la nivelul activitii industriale, fundamentat pe o metodologie tiinific.
Programarea structurat este caracteristic dezvoltrii sistemelor pe baza diagramelor
fluxului de date i utilizeaz limbaje structurate. Ea presupune o separare ntre structurile
de date i codul funciilor care le prelucreaz.
Metoda programrii orientate-obiect - const n abordarea natural a lumii reale,
folosind componente modularizate i eliminnd restriciile impuse de mediul de
programare. Se definesc concepte noi de tip, clas, motenire, etc [Udric M., 2000].
5.2.1. Atributele modulelor
La nivelul softului proiectat, componenta de baz este modulul. El este o colecie
sau o form grupat de instruciuni ale programului surs. La rndul lor, modulele se pot
grupa pentru a forma programe.
Modulele programelor au urmtoarele caracteristici [1]:
- Un modul este format dintr-un grup de instruciuni care sunt contigue din punct de
vedere fizic i sunt executate ca o unitate distinct;
- Grupurile de instruciuni care formeaz un modul au nceputuri i sfrituri bine
definite;
- n majoritatea cazurilor, grupul de instruciuni are doar un punct de intrare i unul de
ieire;
- Un modul poate fi un program sau un subprogram distinct compilat sau o procedur
intern a unui program.
Un modul are trei componente de baz: funcia, logica i interfeele.
Funcia unui modul const n transformarea datelor prin procesul de execuie a
acestuia. Funcia este tratat n regimul cutiilor negre, ea fiind vzut la nivel de modul
doar prin ceea ce se percepe n exteriorul lui, nu privindu-i componentele interne sau,
altfel spus, rolul acestora. Interes prezint doar intrrile i ieirile modulului respectiv
[1].
La nivelul softului, referirea la un modul este n acelai timp o referire la funcia
lui. La nivelul cel mai de sus, modulele au funcii orientate spre problema de rezolvat, n
timp ce modulele aflate pe nivelurile mai de jos au funcii orientate spre prelucrrile pe
care le realizeaz [1].
n diagrama de structur, folosit pentru reprezentarea grafic a proiectelor soft, un
modul este reprezentat printr-o caset (dreptunghi) ce poart denumirea funciei
ndeplinite.
La atribuirea numelui unui modul trebuie s se in cont de faptul c acesta trebuie
s surprind att funcia proprie, ct i pe cele ale subcomponentelor de ordin inferior. Se
96
recomand evitarea conjunciilor din structura numelor, deoarece ele ar sugera necesitatea
folosirii mai multor module [1].
Logica modulului descrie prelucrrile care au loc n interiorul acestuia [1].
La nivelul programrii, preocuparea este, n esen, legat de logica modulului,
algoritmii de prelucrare, redai sub diverse forme scheme logice, pseudocod, tabele de
decizie, arbori de decizie sau combinaii ale acestora sunt concepui pentru prezentarea
modului de transformare a intrrilor n ieiri. Paii algoritmilor se vor transforma n
instruciuni ale limbajelor de programare [1].
Interfeele sunt conexiuni sau cuplaje ntre module. Interfeele modulelor sunt
utilizate pentru stabilirea cilor prin care s se transfere controlul de la un modul la altul
[1].
Conexiunile dintre module se nregistreaz pe dou planuri:
- al transferrii controlului de la un modul la altul;
- al transmiterii datelor de la un modul la altul.
n concluzie, se poate spune c eficiena proiectelor soft depinde n mare msur
de eficiena cu care se transfer controlul ntre module, precum i de metoda folosit
pentru transmiterea datelor ntre module.
5.2.2. Structurile de control ale programelor
Proiectul soft trebuie s fie vzut din dou puncte de vedere: logic i fizic.
Din punct de vedere logic, modalitatea n care intr n funciune modulele este
redat prin structura ierarhic a lor [1].
Din punct de vedere fizic, dup ce s-a stabilit structura logic, se va pune problema
adaptrii prelucrrii lor pe calculator, moment n care se va avea n vedere structura
execuiei instruciunilor, adic a secvenelor dup care se declaneaz operaiunile din
interiorul modulelor [1].
Structurile de control al logicii cunoscute i sub numele de structuri de control
fundamentale, reprezint un set minim, dar i necesar, de reguli prin care s se controleze
procesul de activare a componentelor de prelucrare dintr-un program sau ntre modulele
acestuia. Structurile sunt: secvena, selecia, iteraia sau repetiia. Ele mai sunt cunoscute
i sub numele de structur secvenial, alternativ (simpl i generalizat), repetitiv
(condiionat anterior sau la nceput i condiionat posterior sau la sfrit ).
Secvena asigur parcurgerea instruciunilor n ordinea n care apar. Selecia
definete alegerea unui grup de instruciuni din dou sau mai multe posibile. Iteraia ofer
posibilitatea execuiei repetate a unui grup de instruciuni [1].
n elaborarea programelor structurate este necesar s se respecte o serie de
restricii, i anume [1]:
- fiecare element (secvena, selecia, iteraia) are un punct de intrare;
- fiecare element are un punct de ieire unic;
- elementul de iteraie permite i o execuie cu factor de repetiie zero, adic excluderea
elementului respectiv din execuie.
Fiecare element din cele enunate (secvena, selecia, iteraia) care respect
restriciile de mai sus definete un bloc standard. Structura secvenial (liniar) se
prezint astfel [1]:
97
Sisteme informatice
s1
s2
sn
Figura 5.1. Structura secvenial [1]
Selecia (structura de tip IF-THEN-ELSE) sau structura alternativ are urmtoarea
form de prezentare [1]:
NU
DA
C
Bloc - 2
Bloc
98
Bloc - 1
Bloc - n
Bloc - 2
Bloc 1
C
N
U
D
A
99
Sisteme informatice
Bloc - 1
DA
NU
V=Vi
Bloc - 1
V=Vi+
R
V>Vf
NU
DA
100
101
Sisteme informatice
Prin compararea rezultatelor propuse a fi obinute cu cele efectiv furnizate de
aplicaia informatic, sunt verificate sintactic i funcional module din program. Dac se
realizeaz identitatea ntre cele doua categorii de rezultate, operaia de testare se
consider ncheiat.
O atenie deosebit trebuie acordat ntocmirii documentaiei programului cu
observaia c n acest sens este recomandat autodocumentarea la nivel de modul.
5.3. Proiectarea sistemelor distribuite
Un sistem de prelucrare distribuit a datelor presupune existena a dou sau mai
multor sisteme independente de prelucrare a datelor, numire noduri, interconectate ntr-o
configuraie de reea. Ele folosesc faciliti de comunicare pentru schimbul de informaii
i i coordoneaz activitile pentru realizarea unui anumit scop. Cu alte cuvinte un
sistem de prelucrare distribuit a datelor permite realizarea activitii de prelucrare
automat a datelor ntr-un mediu de reea. ntr-un astfel de mediu, coopereaz trei
componente tehnologice distincte: prelucrarea datelor, comunicarea datelor i reeaua de
calculatoare. Scopul lor este de a colabora fiecare cu fiecare, astfel nct s se realizeze
obiectivele comune ale organizaiei [1].
Legtur/canal
NOD
NOD
102
Sisteme PAD
Proiectare
NODURI
Proiectare
INTERFEE
Proiectare
subsisteme
de
COMUNICAII
103
Sisteme informatice
Modelul Client /Server ofer date distribuite, portabilitate ntre platforme i un
acces standardizat la resurse. Termenul de Client /Server provine de la metoda
tradiional de accesare a unui computer central numit server de ctre computere aflate la
distan sau clieni ntr-o infrastructur de reea.
Modelul Client /Server implic o entitate software (clientul) care efectueaz cereri,
acestea fiind ndeplinite de o alt entitate software(serverul) . Clientul este cel care
transmite o cerere severului, acesta o interpreteaz i apoi o efectueaz. Pentru a putea
ndeplini cererea, serverul poate referi o surs de informaie (baze de date), s efectueze
procesri asupra datelor, s controleze periferice sau s efectueze cereri adiionale altor
servere. Un client poate face cereri la multiple servere i un server poate deservi mai
muli clieni.
Cerere
Client
partajate)
Rezultatul
servere)
ndeplinirii cererii
Figura 5.9. O tranzacie Client /Server.
Se poate afirma c tehnologia client / server mparte o aplicaie n trei componente
de baz: un client, un server i o reea care conecteaz clientul la server. Att clientul ct
i serverul sunt calculatoare cu grade variate de putere de calcul, ce colaboreaz la
ndeplinirea sarcinilor.
Calculatorul server este responsabil cu administrarea accesului la baza de date,
precum i cu alte sarcini care-i revin direct serverului. Cnd se alege un server pentru
mediul de lucru client / server trebuie avute n vedere: scalabilitatea posibilitatea de
cretere a capacitii serverului, n limite rezonabile; tolerana la erori posibilitatea de
recuperare a contextului calculatorului server dup producerea unei disfuncionaliti
hardware; service i asisten tehnic. Calculatoarele server au utilizri variate n
sistemele client / server (exist servere de fiiere care asigur spaiul de disc centralizat
care poate fi folosit conform necesitilor calculatoarelor client din reea; servere de
tiprire care colecteaz informaiile ce urmeaz a fi trimise ctre imprimant de ctre
calculatoarele client i le asigur tiprirea ntr-o anumit ordine; servere de baze de date
calculatoare care ruleaz un sistem de gestiune a bazelor de date (DBMS), bazat pe SQL;
serverele de aplicaii calculatoare server care ruleaz programe mari de aplicaii).
Sistemele client-server au aprut ca urmare a descentralizrii activitii din
diverse domenii, ceea ce presupune o repartizare a realizrii sarcinilor pe cele dou
nivele: client, server. De obicei clienii reprezint utilizatorii finali care vor
comunica cu serverul bazei de date n cadrul unei reele de calculatoare. Dup rolul
pe care l are fiecare din componentele client, server, se pot distinge trei arhitecturi
de baz pentru un sistem client-server (Loomis 1992) i anume:
104
105
Sisteme informatice
Cmp
Semnificaie
Tip dat
Dimensiune
Observaii
Codp
Cod produs
Number, Integer
Cheie primar
Denp
Denumire produs
Text
20
Desp
Descriere produs
Hyperlink
Refer document
corespunztor
Semnificaie
Dimensiune
Observaii
Cod produs
Tip dat
Number, Integer
Lookup Wizard
Codp
Lookup Wizard cu
tabela PRODUSE
CodDep
Cod depozit
Text
Ump
Unitate
de Lookup Wizard
msur produs
Cant
Cantitate
Number, Integer
Pret
Pre unitar
Number,
LongInteger
Creare i utilizare
list de valori
Semnificaie
Tip dat
Dimensiune
Observaii
Codf
Cod furnizor
Number, Integer
Cheie primar
Denf
Denumire
furnizor
Text
30
Adresaf
Adresa furnizor
Text
25
106
Cmp
Semnificaie
Tip dat
Dimensiune
Observaii
Codc
Cod client
Number, Integer
Cheie primar
Denc
Denumire client
Text
30
Adresac
Adresa client
Text
25
Semnificaie
Tip dat
Number, Integer
Lookup Wizard
Dimensiune
Observaii
Codf
Cod furnizor
Lookup Wizard cu
tabela FURNIZORI
Codp
Cod produs
Number, Integer
Lookup Wizard
Lookup Wizard cu
tabela PRODUSE
Ump
Unitate
de Lookup Wizard
msur produs
Creare i utilizare
list de valori
Pret
Pre unitar
Number,
LongInteger
Datao
Data ofertei
Date
Oferta
Oferta furnizor
Hyperlink
Refer document
corespunztor
Semnificaie
Tip dat
Number, Integer
Lookup Wizard
Dimensiune
Observaii
Codc
Cod furnizor
Lookup Wizard cu
tabela CLIENTI
Codp
Cod produs
Number, Integer
Lookup Wizard
Lookup Wizard cu
tabela
PRODU,03SE
Ump
Unitate
de Lookup Wizard
msur produs
Creare i utilizare
list de valori
Cant
Cantitate
Number, Integer
Pret
Pre unitar
Number,
LongInteger
107
Sisteme informatice
a) Situaia stocurilor
CodDep
Cmp
Stocuri
Tabela
b)Situaia ofertelor
Codp
Stocuri
Denp
Produse
Ump
Stocuri
Cant
Stocuri
Pret
Stocuri
Valoare
Cant*Pret
Denf
Adresaf
Codp
Denp
Ump
Pret
Cmp Codf
Tabela Furnizori Furnizori Furnizori Produse Produse Oferte Oferte
c) Situaia vnzrilor
Datao
Oferte
Denc
Adresac Codp
Denp
Ump
Cant
Pret
Valoare
Cmp Codc
Produse Produse Vanzari Vanzari Vanzari Cant*Pret
Tabela Clienti Clienti Clienti
d) Lista produselor pentru care nu exist oferte
Cmp
Tabela
Codp
Produse
Denp
Produse
Codp
Produse
Denp
Produse
Rspuns:
a)
SELECT CodDep, [Link], Denp, Ump, Cant, Pret, Cant*Pret AS Valoare
FROM Stocuri, Produse WHERE [Link] = [Link]
b)
SELECT [Link], Denf, Adresaf, [Link], Denp, Ump, Pret, Datao
FROM Oferte, Produse,Furnizori
WHERE [Link] = [Link] AND [Link] = [Link]
c)
SELECT [Link], Denc, Adresac, [Link], Denp, Ump,Cant, Pret,
Cant*Pret AS Valoare, Datav FROM Vanzari, Produse,Clienti
WHERE [Link] = [Link] AND [Link] = [Link]
d)
SELECT * FROM Produse WHERE NOT EXISTS
(SELECT * FROM Oferte WHERE [Link]=[Link])
e)
SELECT * FROM Produse WHERE NOT EXISTS
(SELECT * FROM Vanzari WHERE [Link]=[Link]
AND Datav BETWEEN Data1 AND Data2)
108
Datav
Vanzari
Teste 2009
1. Care definiie este corect:
a) Un sistem reprezint un ansamblu de elemente (componente) interdependente,
ntre care se stabilete o interaciune dinamic, pe baza unor reguli prestabilite,
cu scopul atingerii unui anumit obiectiv;
b) Un sistem reprezint un ansamblu de identificatori care au rolul sa rezolve
activiti specifice.
Rspuns: a
2. Sistemul informaional cuprinde:
a) Ansamblul informaiilor interne i externe, formale sau informale utilizate n
cadrul firmei precum i datele care au stat la baza obinerii lor;
b) Procedurile i tehnicile de obinere(pe baza datelor primare) i de difuzare a
informaiilor;
c) Platforma necesar prelucrrii i disiprii informaiilor;
d) Personalul specializat n culegerea, transmiterea, stocarea i prelucrarea
datelor.
Rspuns: a,c,d
3. Un sistem informatic este:
a) un sistem destinat conducerii unei organizaii:
b) un sistem utilizator-calculator integrat, care furnizeaz informaii pentru a sprijini
activitile de la nivel operaional i activitile de management ntr-o organizaie,
utiliznd echipamente hardware i produse software, proceduri manuale, o baz
de date i
modele matematice pentru analiz, planificare, control i luarea deciziilor:
c) un ansamblu structurat de elemente intercorelate funcional pentru automatizarea
procesului de obinere a informaiilor i pentru fundamentarea deciziilor.
Rspuns: b,c
4. Identificai afirmaia fals:
a) Sistemul informaional este subordonat sistemului de conducere.
b) Sistemul informaional face legtura ntre sistemul condus i sistemul de
conducere.
c) Sistemul informatic este inclus n sistemul informaional.
d) Sistemul condus este subordonat sistemului informaional.
Rspuns: d
5. Sunt componente principale ale unui sistem informatic:
a) Baza informaional;
109
Sisteme informatice
b)
c)
d)
e)
Manager general;
Baza tehnic;
Baza tiinific metodologic;
Sistemul de programe.
Rspuns: a,c,d,e
6. Obiectivul principal urmrit prin introducerea unui sistem informatic l constituie:
a) asigurarea conducerii cu informaii reale i n timp util necesare fundamentrii
i elaborrii operative a deciziilor;
b) asigurarea funcionrii normale si optime a activitilor;
c) creterea productivitii muncii;
d) creterea profitului;
e) mbuntirea imaginii unitii economice.
Rspuns: a
7. Dup domeniul de utilizare, sistemele informatice se clasific n:
a) Sisteme informatice pentru conducerea activitilor economico-sociale;
b) Sisteme informatice pentru conducerea proceselor tehnice;
c) Sisteme informatice i expert;
d) Sisteme informatice pentru activiti speciale.
Rspuns: a,b,d
8. Sistemele informatice economice pot fi mprite dup modul de organizare a datelor
n:
a) sisteme imagine;
b) sisteme bazate pe tehnica bazelor de date (ierarhice, reea, relaionale,
orienatate-obiect);
c) sisteme bazate pe algoritmi fundamentali;
d) sisteme bazate pe fiiere.
Rspuns: b,d
9. Ciclul prelucrrii datelor pentru sistemul informatic cuprinde urmtoarele faze:
a) culegerea datelor;
b) pregtirea datelor;
c) prelucrarea datelor;
d) tergerea datelor.
Rspuns: a,b,c
10. n faza de ntreinere a fiierelor exist mai multe activiti, dintre care amintim:
a) memorarea(stocarea) datelor n vederea utilizrii lor viitoare;
b) actualizarea datelor memorate astfel nct s surprind cele mai recente
evenimente;
110
c) crearea datelor;
d) indexarea datelor pentru a nlesni o uoar regsire a lor;
e) protecia datelor memorate, care cuprinde o mare varietate de proceduri i
tehnici pentru prevenirea distrugerii lor sau a accesului neautorizat.
Rspuns: a,b,d,e
11. Metodologiile de realizare a sistemelor informatice cuprind:
a) reguli de formalizare a datelor;
b) instrumente pentru concepia, realizarea i elaborarea documentaiei;
c) modalitile de administrare a proiectului;
d) instruciuni pentru luarea deciziilor;
e) modalitatea de abordare a sistemelor.
Rspuns: a,b,c,e
12. Reprezint modul unitar sau manier comun n care analitii de sisteme,
programatorii i alte categorii de persoane implicate realizeaz procesul de analiza a
sistemului informaional-decizional existent, proiectarea i introducerea sistemului
informatic:
a) metodele utilizate n proiectarea sistemelor informatice;
b) procedurile utilizate n proiectarea sistemelor informatice;
c) tehnicile de lucru utilizate n proiectarea sistemelor informatice;
d) instrumentele utilizate n proiectarea sistemelor informatice.
Rspuns: a
13. Care din afirmaiile urmtoare sunt corecte:
a) Metoda top-down are ca obiectiv principal realizarea modularizrii sistemului
de sus n jos.
b) Metoda top-down const n agregarea modulelor de jos n sus.
c) Metoda top-down nu are la baz principiul abordrii sistemice.
Rspuns: a
14. Nu sunt faze ale ciclului de via al dezvoltrii sistemelor:
a) microanaliza;
b) analiza;
c) colectarea;
d) proiectarea logic;
e) proiectarea fizic;
f) implementarea;
g) ntreinerea.
Rspuns: c
111
Sisteme informatice
15. Propunerile pentru identificarea proiectelor de dezvoltare sunt fcute de:
a) top-managerii;
b) personalul auxiliar;
c) muncitori;
d) departamentul utilizatorilor.
Rspuns: a, d
16. Selecia proiectelor de dezvoltare a sistemelor informaionale, urmrete:
a) atingerea obiectivelor organizaiei;
b) bunul mers a informaiei;
c) creterea duratei de implementare.
Rspuns: a
17. Care nu sunt activitile efectuate n faza iniierii proiectului:
a) stabilirea echipei de iniiere a proiectului;
b) stabilirea bunelor relaii cu beneficiarii;
c) stabilirea planului iniierii proiectului;
d) stabilirea procedurilor manageriale;
e) stabilirea cerinelor sistemului.
Rspuns: e
18. Tipurile activitilor executate n cadrul planificrii proiectului cuprind:
a) Descrierea ariei de ntindere, a variantelor i fezabilitii proiectului;
b) Descompunerea proiectului n activiti uor executabile i controlabile;
c) Crearea bazei de date;
d) Crearea unui buget preliminar;
e) Implementarea proiectului.
Rspuns: a, b, d
19. Urmtoarele afirmaii sunt corecte:
a) Un studiu de fezabilitate are rolul de a asigura informaiile obiective necesare
pentru a cunoate dac un proiect poate fi demarat sau nu, sau dac un proiect
deja nceput mai poate fi continuat;
b) Studiul de fezabilitate face parte din etapa de ntreinere a sistemelor;
c) Diagrama Gantt este o modalitate de reprezentare grafic a proiectului.
Rspuns: a, c
20. Studiile de fezabilitate trebuie s conin:
a) Definirea problemei (o scurt descriere a proiectului i explicarea a ceea ce-i
propune el s realizeze);
b) Descrierea cerinelor sistemului;
c) Explicaia critic a motivrii studiului ntreprins;
d) Cuantificarea tuturor costurilor materiale i beneficiilor aferente.
Rspuns: a, b, c, d
112
113
Sisteme informatice
c) Joint Application Design (JAD);
d) chestionarul.
Rspuns: a, d
27. Paii prototipizrii sunt:
a) Identificarea cerinelor principale ale sistemului;
b) Realizarea prototipului iniial;
c) Proces iterativ de adaptare a sistemului la cerinele utilizatorului;
d) Folosirea sistemului aprobat de utilizatori.
Rspuns: a, b, c, d
28. Scopul diagramelor de date DFD este de a scoate n relief, ntr-o manier ct mai
sugestiv, urmtoarele aspecte:
a) sursa datelor de prelucrare;
b) macheta datelor de prelucrare;
c) destinaia datelor prelucrate;
d) legtura existent ntre prelucrri i activitatea de stocare a datelor.
Rspuns: a, c, d
29. Identificai afirmaia fals:
a) Diagrama de context scoate n eviden aria de ntindere a sistemului analizat;
b) Diagrama fluxului de date ale nivelului logic curent, independent de
tehnologie, reliefeaz funciile de prelucrare a datelor executate de ctre
sistemul informaional curent;
c) Diagrama de flux de date ale sistemului logic nou va prezenta circuitul datelor,
structura lor i cerinele funcionale ale noului sistem;
d) Diagrama fluxului de date prezint modelarea conceptual a datelor.
Rspuns: d
30. Simbolul folosit n diagramele DFD realizate cu SSADM (Structured Systems
Analysis and Design Methodology), pentru reprezentarea fluxului de date sunt:
a) sgeat;
b) elips;
c) cerc.
Rspuns: a
31. Cte entiti externe conine diagrama de context pentru aplicaia Decontri:
114
patru entiti;
b) cinci entiti;
c) nici o entitate.
Rspuns: b
c)
115
Sisteme informatice
a)
b)
c)
d)
cerc;
sgeat;
romb;
dreptunghi.
Rspuns: d
b) relaia unu-la-multe;
d) relaia unei entiti cu ea
Rspuns: c
116
117
Sisteme informatice
b) interaciunea prin meniuri,
c) interaciunea bazat pe obiecte icons,
d) interaciunea prin limbaj natural.
Rspuns: a
48. Echipamentele necesare interaciunii cu sistemul sunt:
a) eyescreen;
b) keyboard;
c) mouse.
Rspuns: b, c
49. Construirea prototipului secvenei de derulare a dialogurilor se poate face cu ajutorul:
a) instruciunilor repetitive; b) produselor CASE; c) mediile de dezvoltare
grafic.
Rspuns: b, c
118
119
Sisteme informatice
b) descrierea prelucrrilor care au loc n interiorul acestuia.
c) legtura cu alte module.
Rspuns : a
61. Realizarea modular a programelor corespunde principiilor:
a) programrii clasice;
b) programrii structurate;
c) bazelor de cunotine;
Rspuns : b
62. Principalele module de proiectare a sistemelor de prelucrare distribuit a datelor sunt:
a) proiectarea nodurilor;
b) proiectarea diagramelor;
c) proiectarea reelei de comunicaii.
Rspuns : a, c
63. Nu sunt componente de baz ale tehnologiei client/server:
a) clientul;
b) administratorul de sistem;
c) serverul;
d) reeaua care conecteaz clientul la
server.
RSPUNS : B
64. Care dintre urmtoarele instruciuni nu sunt decizionale ?
a) WHILE ... WEND ;
b) IF...END IF;
c) IF...ELSE...END IF;
d) IF...THEN...ELSE IF... ... ...END IF ;
e) SELECT CASE...CASE... ... ...END SELECT.
Rspuns : a
65. Care dintre urmtoarele instruciuni repetitive sunt condiionate posterior ?
a) FOR...NEXT ;
b) WHILE...WEND ;
c) DO WHILE...LOOP;
d) DO UNTIL...LOOP;
e) DO...LOOP WHILE.
Rspuns : e
66. Modelul conceptual pune n eviden:
a) modul de stocare a datelor pe suportul de memorare;
b) reprezentarea logic, detaliat a entitilor, asocierilor (legturilor) i datelor
elementare
ale unei organizaii;
c) structura global de organizare a datelor.
Rspuns: b), c)
67. Normalizarea unei relaii const n:
120
121
Sisteme informatice
Rspuns: a, c
74. Domeniile ctre care se orienteaz Upper CASE-ul, sunt:
a) analiza cerinelor sistemului;
b) proiectarea i modelarea funcional i procedural;
c) modelarea datelor i proiectarea bazei de date;
d) generarea codurilor.
Rspuns: a, b, c, d
75. Nu sunt corecte urmtoarele afirmaii:
a) CASE reprezint Proiectarea Sistemelor Asistat de Calculator;
b) Instrumentele CASE implic utilizarea calculatorului ca un mijloc de susinere
a activitilor de planificare, definire, proiectare i realizare a softului.
c) CASE reprezint Proiectarea Sistemelor cu Ajutorul Calculatorului;
d) CASE reprezint Componente Asamblate ale Sistemelor Economice.
Rspuns: d
ntrebri
1. Enumerai principalele activiti din cadrul unei intreprinderi n vederea identificrii
entitilor
bazei informaionale.
2. Definii tipurile de reele de calculatoare dup aria de ntindere geografic.
3. Definii tipurile de reele de calculatoare dup accesibilitate.
4. Prezentai tipurile de echipamente care pot fi utilizate n cadrul unui sistem informatic.
5. Enumerai produsele software de baz care pot fi utilizate pentru realizarea unui
sistem informatic.
6. Definii ciclul de via a unui sistem informatic.
7. Enumerai etapele ciclului de via a unui sistem informatic n modelul cascad.
8. Enumerai metodologiile utilizate n funcie de modul de abordare i domeniul de
aplicabilitate
9. Enumerai cele 4 nivele care pot fi identificate n organigrama unei uniti economice
Productive.
10. Descriei tipurile de legturi care pot exista ntre dou mulimi de entiti.
122
123
Sisteme informatice
Analyst, este componenta ce ofer suport pentru analiza structurat i anume: editoare
pentru diagrame de flux a datelor, diagrame entitate asociere, diagrame de structur a
datelor editoarele matriciale pentru matricea listei de evenimente.
Arhitect este componenta ce permite definirea arhitecturii sistemului (proiectarea de
ansamblu). Designer este componenta ce ofer suport pentru proiectarea de detaliu a
sistemului informatic.
Proiectarea de detaliu a aplicaiei este strns legat de proiectarea bazei de date. Pentru
modelarea datelor se utilizeaz diagrama entitate asociere.
Programmer este mediul de programare care ofer suport pentru generarea codului
surs, compilare, lansare n execuie i testarea aplicaiei. Generatorul de cod genereaz
codul DDL (n SQL) ce definete structura fizic a bazei de date i codul aplicaiei n
limbajul C mbogit cu instruciuni SQL pornind de la specificaiile din schemele de
structur.
Docwriter este componenta care permite generarea documentaiei pentru fiecare etap de
realizare a sistemului.
17. Instrumentele CASE orientate-obiect, din punct de vedere al etapelor ciclului de via
al
sistemelor, pot fi grupate n instrumente:
Rspuns:
- Upper CASE orientat-obiect pentru analiza i proiectarea sistemelor;
- Lower CASE orientat-obiect pentru generarea codului-surs al aplicaiilor;
- I-CASE orientat-obiect care acoper ntregul ciclu de via.
124
BIBLIOGRAFIE
[1] Oprea D. Analiza i proiectarea sistemelor informaionale economice, Ed.
POLIROM, Iai, 1999
[2] Chindea M. E. Proiectarea sistemelor informatice economice, Bucureti, 1999
[3] Stanciu V. Proiectarea sistemelor informatice de gestiune, Ed. Cison, Bucureti
2000
[4] Vasilescu P., Dunca V. Proiectarea sistemelor informatice, Ed. Tehnic,
Bucureti, 1979
[5] Popescu I. Baze de date relaionale: proiectare i implementare, Ed. Universitii
din Bucureti, Bucureti, 1996
[6] Balan D., Balan G. Sistemul informaional n gestionarea ntreprinderilor, Ed.
Junimea, Iai, 1998
[7] Roger J. - Utilizare ACCESS 95, Ed. Teora, Bucureti, 1995
[8] Udric M. Modelarea orientat obiect, Ed. Cison, Bucureti, 2000
[9] Brnzei R. Sisteme informatice, Ed. Universitii Al. I. Cuza, Iai, 1995
[10] Robert Dollinger-Baze de date i gestiunea tranzaciilor, ClujNapoca, 1998
[11] N. Morariu, V. Lupu, O. Hurjui, Baze de date, ISBN 973-8293-83-9, Editura Univ.
tefan cel Mare Suceava,117 p, Suceava, 2003.
[12] N. Morariu, Baze de date. ndrumar de laborator, ISBN 973-666-159-8, Editura
Univ. tefan cel Mare Suceava, 88 p, Suceava, 2005.
[13] M. Cristescu, Baze de date utilizate n mediul economic, Editura ALMA MATER,
Sibiu, 2007;
[14] M. Cristescu, Baze de date post-relationale, Editura Universit ii Lucian Blaga
din Sibiu, Sibiu, 2008.
125