Explorați Cărți electronice
Categorii
Explorați Cărți audio
Categorii
Explorați Reviste
Categorii
Explorați Documente
Categorii
MANAGEMENTUL ŞI PROIECTAREA
SISTEMELOR INFORMATICE DE
GESTIUNE
EDITURA RISOPRINT
CLUJ-NAPOCA, 2010
Coordonator:
Prof. Univ. Dr. Constantin AVORNICULUI
ContribuŃia autorilor:
Prof. Univ. Dr. Constantin AVORNICULUI (Capitolele: 1, 2, 4, 6, 7)
Lect. Univ. Dr. Mihai AVORNICULUI (Capitolele: 3, 5, 7)
Introducere
4
• sisteme pentru conducere (la nivel strategic)
În condiŃiile apariŃiei şi dezvoltării inteligenŃei artificiale precum şi a paradigmei
modelării cu ajutorul obiectelor au apărut sistemele expert şi sistemele pentru conducerea
executivă. Spre deosebire de sistemele pentru conducere, care fac analiza informaŃiilor,
generează rapoarte şi rezolvă probleme structurate, sistemele pentru
conducerea executivă permit evaluarea situaŃiei în analize oportune, la nivelul conducerii
de vârf, într-o manieră inteligentă.
Pe de altă parte, amploarea pe care a luat-o Internetul a dus la posibilitatea lucrului
în grupuri ale căror membri se află la distanŃă unii faŃă de alŃii, ceea ce s-a materializat prin
apariŃia grupurilor de lucru, iar în informatică prin apariŃia sistemelor pentru grupuri de
lucru. Toate sistemele enumerate mai sus, la nivelul la care operează, asigură
atingerea a două obiective:
• sprijinirea procesului informational, respectiv asigurarea suportului pentru
culegerea, filtrarea şi vehicularea datelor ce caracterizează activitatea firmei
sau organizaŃiei
• sprijinirea procesului decizional, care se referă la furnizarea informaŃiilor
necesare luării deciziilor în probleme semistructurate sau nestructurate
ApariŃia grupurilor şi ulterior a organizaŃiilor care presupun colaborare între
firmelor sau instituŃii face necesară fixarea unui al treilea obiectiv care Ńine de sprijinul
sistemelor de decizii pentru a-şi putea îndeplini obiectivul lor în condiŃiile dispersării
teritoriale.
Este vorba de sprijinirea procesului de comunicaŃie, prin care informaŃiile sunt
vehiculate între diferite categorii de utilizatori sau de utilizarea simultană a informaŃiilor de
către mai mulŃi utilizatori. Pentru aceasta sistemelor informatice de mai sus, li s-au alăturat
sistemele de sprijinire a conducerii executive, sistemele suport pentru decizii de grup şi
sistemele de sprijinire a deciziilor la nivel organizaŃional.
Ele reprezintă infrastructura pentru sistemele pentru a căror sprijin au fost concepute.
Scopul acestei discipline este de a familiariza studenŃii cu aceste categorii de sisteme
informatice folosite în managementul firmelor moderne, cărora li se mai pot
alătura şi alte sisteme, cum ar fi sistemele informatice organizaŃionale inteligente.
Acestea din urmă satisfac cerinŃele organizaŃiei pe scară mare, prin:
• sprijinirea activităŃilor paralele
• asistenŃă inteligentă în comunicaŃiile de grup, negocieri şi conflicte
• facilităŃi de procesare distribuită
• tehnici de planificare multiparticipant
• facilităŃi de învăŃare
Realizarea unui sistem informatic cu baze de date constituie o activitate complexă,
care presupune îmbinarea strânsă a cunoştinŃelor economice cu cele privind teoria
sistemelor, structurarea datelor, programarea şi utilizarea calculatoarelor.
Această carte se doreşte a se adresa studenŃilor ce studiază disciplina de
Managementul şi proiectarea sistemelor informatice, se mai adresează şi altor categorii de
specialişti ce lucrează în domeniul proiectării sistemelor informatice şi nu numai acestora.
Dorim să credem că această carte aduce unele completări în privinŃa problemelor teoretice şi
practice de elaborare a proiectelor informatice şi în alte privinŃe privind sistemele
informatice.
Lucrarea are menirea să asigure însuşirea cunoştinŃelor de specialitate în domeniul
analizei, conceperii, realizării, implementării şi utilizării sistemelor informatice cu baze de
date la un agent economic sau o firmă.
5
Am urmărit integrarea unor concepte, metode şi tehnici moderne de proiectare a
diverselor tipuri de baze de date, într-o metodologie unitară care să răspundă cerinŃelor
actualilor şi viitorilor specialişti, considerăm că lucrarea răspunde stadiului actual de
dezvoltare ale economiei noastre naŃionale.
Cartea este concepută să prezinte în mod logic principiile, metodele şi tehnicile
necesare unei proiectări cât mai logice a unei baze de date în domeniul economic şi în alte
domenii.
În acest scop au fost alese două moduri de proiectare a bazelor de date, unul pentru
cele clasice şi altul pentru noile tipuri de apărute, pe care le-am numit neoclasice.
Prezenta carte este structurată pe şapte capitole al cărui conŃinut sintetic îl prezentăm
în continuare.
În capitolul 1 sunt prezentate noŃiuni despre teoria sistemelor şi managementul lor.
Capitolul 2 prezintă necesităŃi şi modul de găsire a unor proiecte de informatică.
Capitolul 3 prezintă analiza sistemelor sub diverse aspecte.
Capitolul 4 prezintă proiectarea şi specificaŃiile acesteia.
Capitolul 5 prezintă elemente ale modelării orientate pe obiect cu prezentarea
metodelor necesare acestora.
Capitolul 6 prezintă testarea, implementarea şi exploatarea sistemelor informatice.
Capitolul 7 prezintă eficienŃa sistemelor informatice.
Lucrarea încearcă să prezinte metode şi tehnici de elaborare a modelului conceptual
al viitorului sistem informatic pe bază de criterii funcŃionale, prin stabilirea conŃinutului şi
structurii bazei informaŃionale, cu tehnica de modelare entitate-atribut-corespondenŃă şi
diagramele entitate-relaŃie.
Transformarea modelului conceptual în model operaŃional este asigurată de
proiectarea de detaliu sau tehnică. Acest obiectiv impune alegerea soluŃiei optime de gestiune
a datelor şi a calculatorului, ce sunt prezentate pe parcursul acestei cărŃi, în capitolele
aferente.
Cartea se vrea a fi un bun ghid studenŃilor ce elaborează lucrări de diplomă în
domeniul proiectării de aplicaŃii informatice economice, precum şi specialiştilor ce doresc să
elaboreze diverse sisteme informatice.
Autorii mulŃumesc cu anticipaŃie cititorilor ce vin cu sugestii de îmbunătăŃire a
conŃinutului şi formei de prezentare.
Autorii
6
Cuprins
7
2.3. Alegerea proiectelor ..................................................................................................... 64
2.4. Organizarea şi planificarea sistemului.......................................................................... 65
2.4.1. Planificarea sistemelor........................................................................................................ 65
2.5. IniŃierea proiectului....................................................................................................... 67
2.6. Planificarea proiectului................................................................................................. 68
2.7. Analiza de fezabilitate .................................................................................................. 68
2.7.1. Felurile analizei de fezabilitate........................................................................................... 69
2.7.2. Stabilirea costurilor şi beneficiilor proiectului ................................................................... 69
2.8. Moduri de reprezentare a planurilor şi programelor calendaristice.............................. 70
2.9. Cuplarea........................................................................................................................ 71
2.9.1. Cuplarea elementelor.......................................................................................................... 71
2.9.2. Cuplarea obişnuită .............................................................................................................. 71
2.9.3. Cuplarea de control............................................................................................................. 71
2.9.4. Cuplarea matriŃelor ............................................................................................................. 72
2.9.5. Cuplarea datelor.................................................................................................................. 72
2.9.6. ImportanŃa cuplării ............................................................................................................. 72
2.10. Încapsularea datelor.................................................................................................... 72
2.10.1. Încapsularea datelor şi dezvoltarea produsului................................................................. 73
2.10.2. Încapsularea datelor şi menŃinerea produsului.................................................................. 73
2.11. Tipuri abstracte de date .............................................................................................. 73
2.12. Ascunderea informaŃiilor............................................................................................ 74
2.13. Obiecte........................................................................................................................ 74
2.14. Moştenire, polimorfism şi legare dinamică ................................................................ 74
2.15. Unitatea şi cuplarea obiectelor ................................................................................... 75
2.16. Întrebări recapitulative ale capitolului........................................................................ 75
Analiza sistemelor.............................................................................................. 77
3.1. Scopul şi fazele de realizare a analizei ......................................................................... 77
3.1.1. Analiza – diagnostic informaŃională................................................................................... 77
3.1.2. Analiza celulară .................................................................................................................. 78
3.1.3. Tehnici de analiză ce pot fi utilizate şi în etapa de proiectare ............................................ 79
3.2. Modelarea logică şi diagramele fluxurilor de date ....................................................... 82
3.2.1. Tehnica Gane&Sarson........................................................................................................ 82
3.2.2. Tehnica Yourdon & DeMarco ............................................................................................ 86
3.3. DiferenŃele de modelare logică între cele două tehnici ................................................ 86
3.3.1. Modelarea sistemului curent............................................................................................... 87
3.3.2. RelaŃiile existente între DFD şi modelul datelor. ............................................................... 88
3.4. Feluri ale diagramelor fluxurilor de date...................................................................... 88
3.4.1. Diagrama de context........................................................................................................... 88
3.4.1. Diagrama fluxurilor de date fizice (DFDF) ........................................................................ 89
3.4.2. Diagrama fluxurilor de date logice (DFDL) ....................................................................... 89
3.4.3. Utilizarea DFD -lui în procesul de analiză ......................................................................... 90
3.5. Analiza orientată obiect (AOO).................................................................................... 91
3.6. Faza de organizare şi conducere a analizei sistemului existent.................................... 92
3.6.1. Pregătirea condiŃiilor necesare analizei sistemului existent ............................................... 92
3.6.2. Constituirea colectivului de analiză a sistemului existent .................................................. 93
3.6.3. Elaborarea planului de realizare a analizei ......................................................................... 93
3.7. Faza realizării analizei sistemului existent ................................................................... 93
3.7.1. Documentarea pentru analiza sistemului existent............................................................... 93
3.7.2. Alegerea procedeelor de analiză a sistemului existent ....................................................... 94
3.7.3. Studierea componentelor sistemului existent ..................................................................... 99
3.7.4. Metode de stabilirea cerinŃelor sistemului existent........................................................... 104
3.7.5. Evaluarea critică a actualului sistem................................................................................. 110
8
3.7.6. Evaluarea variantelor de proiectare şi realizare a sistemului informatic .......................... 113
3.8. Finalizarea analizei sistemului actual ......................................................................... 114
3.8.1. DocumentaŃia analizei sistemului actual .......................................................................... 114
3.8.2. Avizarea analizei actualului sistem .................................................................................. 115
3.9. Întrebări recapitulative ale capitolului........................................................................ 115
Proiectare şi specificaŃii .................................................................................. 117
4.1. Etapele de bază ale proiectării şi structurarea sistemelor informatice........................ 119
4.1.1. Arhitectura sistemelor informatice ................................................................................... 121
4.1.2. Arhitectura sistemului informatic al unei firme................................................................ 122
4.2. Modele de proiectare a sistemelor .............................................................................. 123
4.2.1. Modelul în cascadă ........................................................................................................... 123
4.2.2. Modelul prototipului rapid................................................................................................ 125
4.2.2.1. Integrarea modelului cascadă şi a prototipului rapid ..................................................... 125
4.2.3. Modelul V......................................................................................................................... 125
4.2.4. Modelul W........................................................................................................................ 126
4.2.5. Modelul incrementat......................................................................................................... 127
4.2.6. Modelul spirală ................................................................................................................. 128
4.2.7. Modelul X......................................................................................................................... 129
4.2.8. Modelul pinball................................................................................................................. 130
4.2.9. Modelul fântână arteziană................................................................................................. 130
4.2.10. Modelul dezvoltării concurente (a mingii de baseball) .................................................. 131
4.2.11. Modelul piramidă ........................................................................................................... 132
4.3. Raportul dintre cerinŃele sistemului şi alegerea variantei optime de proiectare ................. 134
4.4. Modul de alegere al variantei optime şi tipuri de baze de date .................................. 135
4.4.1. Crearea variantelor strategice ale proiectului ................................................................... 135
4.4.2. Determinarea minimului necesar de informaŃii solicitate de noul sistem......................... 136
4.4.3. Tipuri de baze de date şi caracteristicile proiectării lor .................................................... 136
4.5. Planul de bază al proiectului....................................................................................... 137
4.6. Stabilirea obiectivelor sistemului informatic.............................................................. 138
4.7. ImportanŃa modelării datelor ...................................................................................... 140
4.7.1. Conceptul diagramă entitate-relaŃie.................................................................................. 141
4.8. Proiectarea situaŃiilor de ieşire ale sistemului informatic........................................... 144
4.9. Proiectarea bazei informaŃionale a noului sistem. ...................................................... 145
4.9.1. Stabilirea conŃinutului bazei informaŃionale..................................................................... 145
4.9.2. Algoritmi utilizaŃi de bazele informaŃionale..................................................................... 147
4.9.3. Stabilirea structurii bazei informaŃionale.......................................................................... 148
4.10. Formalizarea atributelor ........................................................................................... 153
4.10.1. Codificarea atributelor şi clasificarea lor........................................................................ 153
4.10.2. Coduri şi metode de verificare a acestora....................................................................... 155
4.10.3. Codificarea bazei informaŃionale.................................................................................... 158
4.10.4. Adaptarea documentelor folosite la cerinŃele noului sistem........................................... 160
4.11. Proiectarea structurală şi funcŃională a noului sistem informatic............................. 161
4.12. Modelarea conceptuală a datelor cu produsele CASE ............................................. 164
4.12.1. CASE şi principiile sale.................................................................................................. 166
4.12.2. Trăsăturile CASE-ului .................................................................................................... 168
4.13. Alegerea soluŃiei optime de gestiune a datelor şi a calculatorului ........................... 168
4.13.1. Metode de alegere a SGBD-urilor .................................................................................. 169
4.14. Etapele de realizare a bazelor de date....................................................................... 170
4.14.1. Analiza domeniului economic şi a cerinŃelor informaŃionale......................................... 171
4.14.2. Proiectarea structurii bazei de date ................................................................................. 171
4.14.3. Încărcarea datelor în baza de date................................................................................... 172
4.14.4. Exploatarea şi întreŃinerea bazei de date......................................................................... 172
4.15. Proiectarea orientată pe obiect (OOD) ..................................................................... 173
9
4.16. Tehnici formale pentru proiectarea detaliată ............................................................ 174
4.17. Tehnici de proiectare în timp real............................................................................. 174
4.18. Verificarea în timpul fazei de proiectare .................................................................. 175
4.19. Documentul de specificaŃii ....................................................................................... 176
4.20. ComparaŃia tehnicilor de specificaŃii........................................................................ 177
4.21. Instrumente CASE pentru faza de specificaŃii.......................................................... 178
4.22. Metrici pentru faza de specificaŃii ............................................................................ 178
4.23. Prototipizarea rapidă ca o tehnică de specificaŃie..................................................... 179
4.24. ImplicaŃiile manageriale ale modelului de prototip rapid......................................... 180
4.25. Întrebări recapitulative ale capitolului...................................................................... 182
Elemente ale proiectării orientate pe obiect ................................................. 183
5.1. Premisele orientării obiectuale ................................................................................... 183
5.2. Modelul orientat pe obiect.......................................................................................... 185
5.3. Modelarea use-case..................................................................................................... 185
5.4. Modelarea clasei ......................................................................................................... 185
5.4.1. Extragerea substantivului ................................................................................................. 186
5.5. Metodologia OMT (Object Modeling Tehnique)....................................................... 186
5.5.1. Concepte de bază .............................................................................................................. 186
5.5.2. Etape şi activităŃi .............................................................................................................. 188
5.5.3. ModalităŃi de reprezentare ................................................................................................ 191
5.6. Metodologia RUP (Rational Unified Process) ........................................................... 194
5.7. Metoda MDA (Model Driven Architecture) .............................................................. 199
5.7.1. CIM (Computation Independent Model) .......................................................................... 200
5.7.2. PIM (Platform Independent Model) ................................................................................. 200
5.7.3. PSM (Platform Specific Model) ....................................................................................... 200
5.7.4. Transformarea modelului ................................................................................................. 200
5.7.5. Tool-uri pentru MDA ....................................................................................................... 201
5.8. Metoda MDD (Model Driven Development)............................................................. 201
5.9. Limbajul UML (Unified Modeling Language) .......................................................... 203
5.9.1. ApariŃia şi evoluŃia limbajului .......................................................................................... 203
5.9.2. Definirea limbajului.......................................................................................................... 205
5.9.3. Concepte de bază .............................................................................................................. 207
5.9.4. Diagrame UML................................................................................................................. 211
5.10. Baze de date relaŃionale în context obiectual ........................................................... 244
5.10.1. Diagrama pentru modelarea datelor................................................................................ 244
5.10.2. Comportamentul tabelelor .............................................................................................. 245
5.10.3. Două orientări diferite .................................................................................................... 245
5.10.4. CorespondenŃa clasă-tabel .............................................................................................. 246
5.10.5. Asocieri între tabele........................................................................................................ 247
5.10.6. Obiecte persistente.......................................................................................................... 248
5.10.7. Modelarea şi proiectarea bazelor de date........................................................................ 252
5.10.8. Modelare business pentru proiectarea bazelor de date ................................................... 254
5.10.9. Realizarea unui baze de date pentru un magazin virtual ................................................ 256
5.11. Arhitectura sistemelor informatice ........................................................................... 262
5.8. Întrebări recapitulative ale capitolului........................................................................ 263
Implementarea, exploatarea şi întreŃinerea sistemelor ............................... 267
6.1. Implementarea sistemului........................................................................................... 267
6.1.1. Planificarea implementării................................................................................................ 269
6.1.2. Realizarea şi testarea programelor.................................................................................... 270
6.1.3. SelecŃia CASE de test a modulelor................................................................................... 271
6.1.4. Tehnica „cutia neagră” de testare a modulelor ................................................................. 271
10
6.1.5. Testarea de echivalenŃă şi analiza valorilor de legătură ................................................... 272
6.1.6. Testare funcŃională ........................................................................................................... 272
6.1.7. Parcurgerea codurilor şi inspecŃiile .................................................................................. 273
6.1.8. ComparaŃia tehnicilor de testarea a modulelor ................................................................. 273
6.1.9. Camera goală (Cleanroom)............................................................................................... 273
6.1.10. Probleme potenŃiale în cazul testării obiectelor.............................................................. 274
6.1.11. Instalarea sistemului ....................................................................................................... 275
6.2. Documentarea sistemului ........................................................................................... 275
6.2.1. Întocmirea documentaŃiei ................................................................................................. 276
6.2.2. Instruirea utilizatorului ..................................................................................................... 277
6.2.3. Asistarea utilizatorilor ...................................................................................................... 278
6.2.4. Finalizarea proiectului ...................................................................................................... 279
6.3. ÎntreŃinerea şi exploatarea sistemului ......................................................................... 280
6.3.1. Aspecte ale întreŃinerii sistemelor .................................................................................... 280
6.3.2. Exploatarea curentă şi menŃinerea în funcŃionare a sistemului informatic ....................... 280
6.3.3. OperaŃiunii de întreŃinere a sistemului.............................................................................. 281
6.3.4. Reproiectarea proceselor economice ................................................................................ 281
6.4. Refolosirea modulelor ................................................................................................ 282
6.5. Întrebări recapitulative ale capitolului........................................................................ 282
EficienŃa şi calitatea sistemelor informatice ................................................. 284
7.1. Teorii, concepte şi metode existente........................................................................... 284
7.2. Componente ale efectelor economice......................................................................... 289
7.3. Indicatorii tehnico-economici..................................................................................... 291
7.3.1. Indicatorul de satisfacere a cerinŃelor informaŃionale....................................................... 291
7.3.2. Indicatorul timpului de răspuns ........................................................................................ 292
7.3.3. Indicatorul eficienŃei economice....................................................................................... 293
7.3.4. Indicatorul duratei de recuperare ...................................................................................... 294
7.3.5. Indicatorul economiei de personal.................................................................................... 294
7.3.6. Indicatorul tehnico-economic ........................................................................................... 295
7.4. Evaluarea calităŃii ....................................................................................................... 295
7.5. Întrebări recapitulative ale capitolului........................................................................ 297
11
1.
Capitolul
13
Managementul şi proiectarea sistemelor informatice de gestiune
evenimentului A.
InformaŃia, copie a revoluŃiei ştiinŃifice şi tehnice contemporane, se poate considera ca
o noŃiune foarte veche, înŃelegerea acesteia depinde de semnificaŃia ce i se poate atribui: ca
suport al cunoştinŃelor umane, ca biŃi şi alte unităŃi de măsură specifice informaticii [1].
Practica utilizează termenul de informaŃie şi pentru desemnarea datelor, deoarece,
pentru beneficiarul avizat, există o corespondenŃă determinată între informaŃie, simbol şi dată.
Sistemul dispune de operatori care acŃionează asupra intrărilor pentru a menŃine între
anumite limite stările şi ieşirile sale.
Teoria sistemelor arată că sistemele au următoarele principii: coordonabilitate,
incompatibilitate, optimalitate şi incertitudine.
Coordonabilitatea ne arată ca reglarea centralizată a unui sistem complex, dacă ea este
posibilă, nu este avantajoasă, datorită proceselor ce trebuie să fie reglate, a contradicŃiilor şi a
neliniarităŃii lor.
Incompatibilitatea, arată căci cu cât complexitatea sistemului este mai mare, cu atât
scade posibilitatea de a-l descrie în mod riguros.
Optimalitatea, arată că dacă un subsistem al uni sistem complex nu este optimal în
relaŃiile sale cu celelalte subsisteme, atunci nici sistemul complex nu mai este optimal.
Incertitudinea ne relevă că într-un sistem complex, starea unui subsistem şi
interacŃiunea sa cu celelalte subsisteme poate fi simultan determinată numai până la un anumit
grad de acurateŃe.
14
Sisteme, sistemul informaŃional şi abordarea sistemică
X Z Y
∆x
15
Managementul şi proiectarea sistemelor informatice de gestiune
16
Sisteme, sistemul informaŃional şi abordarea sistemică
în cel de care aparŃin oficial. Aşa de exemplu pentru a face statele de plată, biroul financiar
cere date de la resurse umane şi eventual de la producŃie, dacă salariul este plătit în acord.
Ca urmare între subsistemele informatice se prevăd prin program legături pe
orizontală sau uneori şi oblice. Un bun sistem informatic nu Ńine toate informaŃiile separat pe
subsisteme, ci deŃine şi informaŃii de uz în comun (shared). Uneori sistemele locale se leagă la
nivel de judeŃ sau naŃional (de minister).
Sistemele care deŃin legături între nivele dar şi între domenii se numesc sisteme
integrate. Dacă se combină structura pe orizontală cu cea pe verticală (prezentată în
introducere) sistemul local va arăta ca în figura de mai jos. În practică, firma trebuie să
dezvolte şi legături în exterior (cu băncile, cu piaŃa, cu concurenŃa (de ce nu?), cu ministerul
sau cu alte filiale din Ńară şi străinătate.
În sistemul integrat elementele trebuie să fie într-o strânsă interdependenŃă şi cu cât se
specializează mai mult în îndeplinirea unor funcŃii, dependenŃa lor devin tot mai mare. Pentru
sistemele complexe, sunt situaŃii în care apare ca necesară constituirea unor subsisteme
specializate, cu rol de realizare, coordonare şi integrare a tuturor elementelor într-un
subsistem.
Integrarea poate fi după rolul său, astfel [21]:
• prin subsisteme ce realizează integrarea structurală
• prin subsisteme ce realizează integrarea funcŃională
Integrarea structurală duce la relaŃii de vecinătate, dar sunt insuficiente, motiv pentru
care trebuie să colaboreze între ele.
Integrarea funcŃională se realizează în trei feluri, anume: substanŃială, energetică şi
informaŃională. Pe lângă relaŃiile de coordonare, între elementele sistemului apar şi relaŃii de
subordonare, deci trebuie să se supună problemelor integrării, sistemelor integrate.
Putem vorbi de o integrare orizontală, dar şi pe verticală, organizarea fiind pe niveluri
şi paliere. Nivelul cuprinde o mulŃime de sisteme autonome, între care nu sunt relaŃii de
subordonare. O mulŃime de niveluri de organizare formează un palier, situaŃie în care
integrarea realizându-se prin supervizare, palierele neavând formă de coloană, ci de piramide.
Cunoaştem că în funcŃie de sistem, gradul său de integrare este diferit.
1.1.8.2. Integratica
Integratica nu este o ştiinŃă universală, capabilă să realizeze orice problemă cu care
ne-am confruntat. Ea studiază legăturile indispensabile dintre diferite obiecte şi fenomene,
17
Managementul şi proiectarea sistemelor informatice de gestiune
încercând să depăşească limitele extrem de rigide ale celorlalte ştiinŃe particulare, pe care nu
le poate înlocui, ne fiind de acord cu o abordare pe bucăŃi, ci promovează ideea unei viziuni
globale.
18
Sistemul informaŃional: concept şi structură
Mediu
Intrări Ieşiri
SISTEM
Variabile de acŃiune Variabile esenŃiale
Figura 1.1 FuncŃionarea sistemului [7]
19
Managementul şi proiectarea sistemelor informatice de gestiune
20
Sisteme informaŃionale economice, datele şi informaŃiile
Fiecare dintre ele corespunde unui tip de informatică şi unei concepŃii particulare care
permite realizarea unui mod concret de repartizare a mijloacelor de integrare.
21
Managementul şi proiectarea sistemelor informatice de gestiune
22
Sisteme informaŃionale economice, datele şi informaŃiile
○ calculator unic
○ reŃea locală
- distribuite, ce pot fi:
○ prelucrarea a datelor distribuite
○ prelucrare distribuită a datelor
g) După utilizatorii activităŃii, avem:
- orientate pe utilizatori finali
- orientate spre factorii de decizie
- orientate spre utilizatori informatizaŃi
- orientate spre manageri informatizaŃi
h) După gradul de integrare, avem:
- neintegrate
- parŃial integrate
- total integrate
i) După felul calculatorului, avem:
- bazate pe calculatoare foarte mari
- bazate pe mini calculatoare
- bazate pe microcalculatoare
j) După gradul de automatizare a activităŃilor de analiză şi proiectare avem:
- dezvoltate pe proiectare clasică
- analizate cu instrumente automate şi proiectare clasică
- bazate pe instrumente diverse de automatizare a analizei şi proiectării
- dezvoltate cu instrumente de tipul CASE, dintre care:
○ CASE orizontal
○ CASE vertical
○ CASE integrat
○ OPEN CASE
○ EXPERT CASE
k) După felul relaŃiei pe care se bazează sistemul, avem:
- bazate pe reŃele LAN
- bazate pe reŃele MAN
- bazate pe reŃele WAN/IAN
23
Managementul şi proiectarea sistemelor informatice de gestiune
• comparare
• sintetizarea
• filtrarea
• restaurarea
ÎntreŃinerea fişierelor, cu activităŃile:
• memorarea
• actualizarea
• indexarea
• protecŃia datelor
Datele sunt simboluri care caracterizează starea la un moment dat a unui fenomen,
proces sau poate defini un obiect, fiind percepute de oameni sau echipamente în vederea
prelucrării şi transformării lor în informaŃii.
Simbolurile foarte mult utilizate sunt sub formă de cifre, imagini, grafice, etc., este
necesar ca în activitatea de observare a lumii reale şi de reflectare a ei prin simboluri să
efectuăm operaŃii ca:
• denumirea acestora
• clasamentul sau măsurarea ordinală a acestora
• măsurarea cardinală prin valori
Pentru a deveni informaŃii datele trebuie prelucrate în concordanŃă cu cerinŃele
informaŃionale. Obiectivul prelucrării datelor constă în convertire datelor în informaŃii ce stau
la baza luării deciziilor.
Există diferenŃe între date şi informaŃii, anume:
• datele privesc evenimente primare colectate din diverse locuri, nedefinite şi /
sau neorganizate într-o formă care să stea la baza luării deciziilor
• informaŃiile sunt mesaje obŃinute prin prelucrarea datelor, mesaje ce trebuie să
fie concise, actuale, complete şi clare, astfel ca să răspundă cerinŃelor
informaŃionale în scopul cărora sunt prelucrate datele
Ca să devină informaŃii, datele trebuie să parcurgă următorul flux: introducerea lor,
prelucrarea şi extragerea rezultatelor.
Introducerea reprezintă procesul de culegere a datelor şi scrierea acestora într-o formă
accesibilă echipamentelor de calcul care vor efectua prelucrarea şi are patru etape, anume:
• culegerea datelor de la diverse surse;
• efectuarea verificării corectitudinii lor;
• codificarea datelor într-o formă accesibilă interpretării lor;
• transmiterea lor pentru efectuarea operaŃiilor solicitate de prelucrare
Prelucrarea datelor este făcută în urma introducerii şi se fac prelucrări ca:
• clasificarea în concordanŃă cu anumite caracteristici
• sortarea crescătoarea sau descrescătoare
• calcule aritmetice sau logice
• rezumarea datelor
• arhivarea selectivă a datelor şi rezultatelor prelucrărilor
Extragere informaŃiilor, în urma prelucrării şi are trei etape, anume:
• regăsirea rezultatelor din memorie
• conversii/decodificarea rezultatelor din forma în care sunt prelucrate, în formă
accesibilă utilizatorului
• transmiterea informaŃiilor la locul solicitat de utilizator
InformaŃiile obŃinute pot răspunde cerinŃelor pentru care au fost prelucrate datele sau
pot fi afectate de erori provenite din diversele etape ale prelucrării.
24
Sisteme informaŃionale economice, datele şi informaŃiile
25
Managementul şi proiectarea sistemelor informatice de gestiune
26
Fluxul informaŃional
Contabilitate
Desfacere Personal
27
Managementul şi proiectarea sistemelor informatice de gestiune
28
PerfecŃionarea sistemelor informaŃionale
29
Managementul şi proiectarea sistemelor informatice de gestiune
Sistemul întreprindere
Subsistemul decizional
MEDIUL EXTERIOR
Decizii
InformaŃi
Decizii Date
Fluxuri materiale
şi finaciare Subsistemul operaŃional
30
Sistemul informatic
SISTEM
INFORMAłIONAL I
(inclusiv informatic) Sistem de E
sprijinirea Ş
conducerii I
strategie R
I
Sistem de sprijinire
procesului decizional
INTRĂRI
31
Managementul şi proiectarea sistemelor informatice de gestiune
dintre ele. În domenii prelucrările de date sunt structurate pe patru nivele, astfel: tranzacŃional,
operaŃional, tactic şi strategic.
Datele vehiculate şi prelucrate de SIG, indiferent de natura lor, de caracterul lor
formal sau informal sau de suportul pe care se află, reprezintă materia primă a oricărui sistem
de gestiune.
Modelele de gestiune reprezintă procedurile proprii ale unui domeniu, ca de exemplu:
tehnologia de fabricaŃie specifice domeniului producŃie, vânzările specifice domeniului
comercial, contabil specific domeniului financiar-contabil.
Regulile de gestiune ne permit prelucrarea datelor şi utilizarea informaŃiilor în
conformitate cu obiectivele sistemului.
Sistemele informatice de gestiune actuale sunt sisteme integrate. FuncŃia de bază a
SIG constă în prelucrarea datelor disponibile în vederea obŃinerii informaŃiilor necesare
subsistemului decizional. El conŃine trei componente de bază, anume: intrările, prelucrările şi
ieşirile.
32
Sistemul informatic
D Specifice
A
T
E Comune
Figura 1.6 Cel mai semnificativ SPT care se referă la sfera contabilităŃii [21]
33
Managementul şi proiectarea sistemelor informatice de gestiune
PROBABILISTICE
DE OPTIMIZARE DESCRIPTIVE
DETERMINISTICE
34
Sistemul informatic
35
Managementul şi proiectarea sistemelor informatice de gestiune
Sisteme
strategice
Management tactic
Sisteme operaŃionale (middle manegers)
36
Sistemul informatic
37
Managementul şi proiectarea sistemelor informatice de gestiune
• baza de cunoştinŃe
• baza de fapte
• generatorul de sistem expert
Baza de cunoştinŃe (BC), ce conŃine sistemul de cunoştinŃe specifice domeniului,
inclusiv relaŃiile dintre acestea. CunoştinŃele pot fi reprezentate prin mai multe metode, dintre
care cele mai importante sunt regulile de producŃie, cadrele şi reŃelele semantice. BC este
supusă la două procese esenŃiale ca: crearea sa şi validarea sa.
Bazele de cunoştinŃe conŃine ansamblul de informaŃii dintr-un anumit domeniu,
furnizat de unul sau mai mulŃi experŃi umani. InformaŃiile furnizate de expertul uman trebuie
formalizate de către inginerul de cunoştinŃe sau cognoticianul. Aceasta fiind o problemă
complexă şi e una din greutăŃile sistemului expert. InformaŃiile furnizate de expert şi cele
furnizate de cognotician sunt introduse în baza de cunoştinŃe, sub forma unor reguli.
Baza de fapte (BF), ce conŃine datele ce fac obiectul unei probleme de rezolvat din
domeniu respectiv, la care se pot adăuga faptele rezultate în urma raŃionamentelor artificiale
efectuate de către motorul de inferenŃe (MI) asupra bazei de cunoştinŃe.
Baza de fapte conŃine datele privind starea de fapt a unui fenomen sau proces care
generează o problemă care trebuieşte rezolvată. Mesajele sale, presupun extrase inserate în
momentul elaborării sistemului expert, fie de operatorul ce-l foloseşte, sau deducându-se din
raŃionamentele operate de program.
Motorul de inferenŃă este elementul de prelucrare care pornind de la fapte şi folosind
procedeele numite metareguli, clauze sau scheme, activează baza de cunoştinŃe, construind
raŃionamente ce conduc la noi fapte. Programul apropie în mod judicios elementele din
celelalte componente de ansamblu, precedente, evitând examinarea sistematică a tuturor
faptelor şi regulilor. Separarea între fapte, reguli de judecată care redau formal intuiŃiile şi
convingerile experŃilor umani şi structurile de control care manipulează cunoaşterea din baza
de cunoştinŃe, în funcŃie de starea problemei în scopul rezolvării acesteia, face ca sistemul
expert să fie un program de tip nou. Sistemul expert apare ca un program care construieşte
programe sau ca un program cu inteligenŃă.
Se poate aprecia că aceste componente sunt importante în crearea efectului de
comportament inteligent.
SE foloseşte programarea declarativă prin intermediul căreia regulile sunt furnizate
independent de înlănŃuirea lor, cea ce se traduce prin definirea regulilor separat faŃă de metoda
care le va folosi. Metoda este implementată într-o componentă soft, denumită motorul de
interfeŃe (MI), care face parte din generatorul de sisteme expert.
Modul de reprezentare al cunoştinŃelor (MRC), care asigură conversia şi transmiterea
informaŃiilor corespunzătoare furnizate de expertul uman din acest domeniu, acesta le
furnizează inginerului de cunoştinŃe şi care la rândul său le aduce într-o formă compatibilă cu
cunoştinŃele interne, fizice, de memorare solicitate de către acest modul;
Precizăm că regulile de producŃie (RP) reprezintă modalitatea esenŃială de
reprezentare a cunoştinŃelor folosind logica propoziŃiilor. Aici, faptele şi regulile sunt
reprezentate prin entităŃi constante sau generice, specificate prin intermediul variabilelor, cu
folosirea metodei de reprezentare a cunoştinŃelor prin reguli de producŃie variabile (RPV).
Regulile de producŃie pot fi declarate în două moduri [23]:
• motorul de inferenŃe – care asigură rezolvarea practică a unei probleme din
domeniul respectiv, pe baza faptelor furnizate, utilizând cunoştinŃele necesare
prin dezvoltarea unu raŃionament artificial, care poate conduce la noi fapte
• generatorul sistemului expert (GSE) – care este un sistem de programe
dedicate, conectat la BC, care foloseşte cunoştinŃele stocate aici pentru a
modifica datele din BF
38
Sistemul informatic
Domeniile de aplicare sunt foarte diversificate, ce a dus la apariŃia mai multor tipuri de
asemenea sisteme, anume:
• sisteme expert analiste – care examinează datele cantitative şi calitative,
deducând un profil de situaŃie şi estimând riscul asociat acestei situaŃii
• sisteme expert de consiliere – care au ca scop să determine profilul unui
investitor şi portofoliul acestuia, sau consiliază asupra produselor ce convin
bine situaŃiei respective
• sistem expert de structurare şi interpretare de texte – care are ca scop
prezentarea textelor sub formă normalizată, iar sistemele de interpretare
încearcă să determine o reprezentare semantică a textelor şi să propună acŃiuni
potrivite, cum ar fi: clasarea acestora în biblioteci pentru o mai buna referire;
• sistem expert pentru operatori – care face munci cu nivel operaŃional
aplicând un anumit număr de reguli de operare cunoscute de un număr limitat
de persoane;
• sistem expert previzional – care face simulări în diferite sectoare economice
şi studiază scenariile de variaŃie a conjuncturii şi fluctuaŃiei pieŃelor;
• sistem expert organizaŃional – care se foloseşte pentru optimizarea activităŃii
unui serviciu sau compartiment al firmei (agentului economic);
• sistem expert pentru diagnostic şi prescripŃii terapeutice – care stabileşte o
relaŃie între simptome şi relaŃii de un anumit tip, asigurând şi prescrierea
tratamentului (mai ales în medicină), etc.
În practică se pot folosi sisteme multiexpert (SME), definite ca un ansamblu coerent şi
cooperant de SE ce pot funcŃiona atât independent, cât şi în interacŃiune, asigurându-se
proprietăŃile fundamentale legate de modularitatea şi independenŃa părŃilor componente ale
respectivului SME.
SME asigură sintaxa cunoştinŃelor astfel încât modulele sale componente să coopereze
în mod inteligent prin integrarea fiecărui model, pentru ca pe plan cognitiv să se asigure
sintaxa concluziilor modulelor participante.
SME trebuie să asigure funcŃiile de comunicare dintre module, fie printr-un control
centralizat, fie în mod descentralizat.
a) Controlul centralizat, are particularităŃi ca:
• modelele expert comunică între ele prin mesaje
• modulele expert conŃin şi un submodul dedicat comunicaŃiei cu alte module
expert
• permite repartiŃia cognitivă în cazul cunoştinŃelor eterogene
b) Controlul centralizat asigură:
• prin modulul supervizor armonizarea ansamblului SME
• primeşte, transmite, colectează informaŃiile de la module
• unele SME -uri asigură structurarea în module a cunoştinŃelor, a operatorilor
de tipul procedurilor şi a regulilor, dar cu condiŃia ca baza de fapte să rămână
unitară
39
Managementul şi proiectarea sistemelor informatice de gestiune
SIAD-urile pot fi considerate ca aplicaŃii ale unui domeniu ştiinŃific aflat la frontiera
unor ştiinŃe cu evoluŃie spectaculoasă cum ar fi: cibernetica, inteligenŃa artificială, micro-
electronica, modelarea, informatica, etc.
Caracteristicile SIAD-ului sunt următoarele:
• datorită unicităŃii cazurilor un SIAD necesită un volum mare de informaŃii şi
de un sistem de gestiune a bazelor de date
• are un alt orizont decât alt sistem automatizat, SIAD -ul fiind direcŃionat spre
rezolvarea unei noi probleme apărute
• SIAD-ul realizează obiectivele prin regăsirea şi generarea informaŃiilor.
Regăsirea informaŃiilor este facilitată de flexibilitatea bazei de date şi a SGBD-
ului, care pun la dispoziŃie capacităŃile de accesare a informaŃiilor în moduri
neobişnuite
• majoritatea SIAD-urilor sunt construite pe modele matematice care permit
analizarea unui număr infinit de soluŃii posibile, schimbarea variabilelor unui
model mai uşor decât manipularea unui sistem real, calcularea riscului,
realizarea de costuri mai mici decât costurile simularea unui sistem real
• într-un mediu SIAD, problemele analizate sunt în modificare permanentă, fie
pentru un nou set de condiŃii, care prezintă soluŃii unice irepetabile, fie că
problema se modifică pe măsura creşterii experienŃei decidentului
• SIAD-ul sprijină mai degrabă, decât să înlocuiască judecata managerială
SIAD-ul este un sistem om-maşină care prin dialog, permite factorului decizional să-şi
sporească capacitatea de raŃionament pentru identificarea şi rezolvarea problemelor rău
structurate. Expresia om-maşină pune accentul pe primatul noŃiunii de cuplaj între un sistem
artificial şi o persoană care are propriu mod de gândire, căutând să armonizeze ceea ce apare
pe ecran şi imaginile mentale proprii. NoŃiune de dialog pune în evidenŃă caracteristicile ce
depăşesc sistemele conversaŃionale, dialogul realizat prin SIAD trebuie să permită un control
împărŃit între sistem şi utilizator.
Sistem de gestiune a
modelelor de decizii
Sistemul de gestiune
a dialogului
utilizator SIAD
Decident
Sistem de gestiune a
bazelor de date
40
Sistemul informatic
41
Managementul şi proiectarea sistemelor informatice de gestiune
firmei, deci, ea poate deveni la rândul ei un sistem şi anume Sistemul InformaŃional Contabil
(SIC).
Acesta poate fi definit ca un ansamblu organizat de resurse: umane, materiale, date
contabile, mijloace şi proceduri de culegere, memorare, prelucrare şi comunicare a
informaŃiei contabile.
Contabilitatea este deci, un subsistem informaŃional integrat în sistemele de reglare,
care asigură: culegerea, stocarea, prelucrarea şi comunicarea informaŃiilor privind gestiunea
patrimoniului şi a proceselor interne care au loc, precum şi informaŃii privind reglementare
raporturilor financiare şi juridice cu alte firme din cadrul macrosistemului.
În practică avem sisteme de contabilitate cu un singur circuit şi cu două circuite.
Sistemul cu un singur circuit (monoist, integrat), care organizează conturile intr-un
flux al circuitului economic: capital – aprovizionare – producŃie – desfacere - încasare,
atât pentru operaŃiile ce privesc relaŃiile cu terŃii, cât şi pentru cele ale gestiuni interne.
Sistemul cu dublu circuit (dualist), care organizează conturile în circuite distincte,
anume: un circuit cuprinde conturile care au ca obiect operaŃiile patrimoniale legate de
schimburile şi relaŃiile cu terŃii, precum şi rezultatele financiare (contabilitatea financiară) şi
altul care conŃine conturile unde se înregistrează producŃia, costurile şi rentabilitatea
produselor (contabilitatea de gestiune). Se prezintă în următoarea figură:
43
Managementul şi proiectarea sistemelor informatice de gestiune
Nivelul gestiune, care regrupează toate regulile contabile interne ale firmei sau
companiei.
Nivelul de control, care regrupează regulile de control necesare pentru gestiunea
informaŃiilor care intră sau ies din firmă sau companie.
Nivelul de prezentare, care ne prezintă modul de afişare a datelor.
Nivelul aplicaŃie, care conŃine parametrii şi serviciile utilizate în programele
informatice ale firmei sau companiei.
Aceste şapte nivele sunt obligatorii pentru formarea ansamblului numit contabilitate.
AgenŃii inteligenŃi sunt mici programe prevăzute pentru a îndeplini unele sarcini ale
utilizatorului, asigurând şi anticipând operaŃiile. Ei au patru caracteristici importante, anume:
• autonomia, care acŃionează fără intervenŃiei exterioară
• asistă pe utilizator la îndeplinirea sarcinilor curente
• autoadaptabil, deci se dezvoltă permanent în contact cu utilizatorul
• inteligenŃă condiŃionată, deci poate lua decizii în anumite condiŃii în locul
utilizatorului
Avem două tipuri de agenŃi, anume:
• sedentari, care sunt destinaŃi să faciliteze convivalitatea dintre utilizator şi
sistemul să de calcul
• înverşunaŃi, care sunt indispensabili în contextul intranetului
Aceştia pot să-şi găsească un loc foarte convenabil când aplicaŃiile informatice fac
apel la componente de provenienŃă diferă, care este dotat cu anumite capacităŃi, agentul
sesizează un anumit comportament sau acŃiune care se repetă, pe care le compară cu regulile
sale şi baza sa de cunoştinŃe. DotaŃi cu inteligenŃă artificială sau nu, agenŃii vor modifica
sarcinile profesiei de contabilitate.
44
Sistemul informatic
45
Managementul şi proiectarea sistemelor informatice de gestiune
46
EvoluŃia metodelor de abordare a sistemelor informaŃionale
Date
Adevărată
Comportament
FuncŃii
Figura 1.12 Starea unui sistem [24]
47
Managementul şi proiectarea sistemelor informatice de gestiune
Ea permite analiştilor efectuarea reprezentării lumii reale prin linii ale fluxurilor de
date şi prin cerculeŃe pentru procese. Aceasta defineşte clar evenimentele din lumea reală, la
care sistemul trebuie să răspundă, fiind o formă embrionară a actualelor interacŃiuni dintre
utilizator şi sistem, care sunt bazate pe mesaje. Cu o documentaŃie specială suplimentară ce
include fluxurile datelor şi transferările lor la nivel inferior, cu ajutorul dicŃionarului de date,
respectiv al specificaŃiilor proceselor.
NoŃiunile de obiect şi clasă sunt independente, obiectul aparŃine unei clase, iar clasa
este o grupare logică a obiectelor ce au aceeaşi structură şi comportament.
Obiectul fiind abstractizarea datelor elementare şi are ecuaŃia:
48
Managementul proiectelor informatice
1
www.ase.ro/teza_capitol.pdf
49
Managementul şi proiectarea sistemelor informatice de gestiune
experienŃă, ceea ce poate constitui o sursă de soluŃii creative şi sinergice pentru problemele
proiectului.
8. Posibilitatea asimilării unor noi tehnologii performante.
9. Permite utilizarea în cadrul proiectului a aceloraşi proceduri tehnice şi manageriale
folosite şi la nivelul firmei.
10. Specializare în cadrul funcŃiilor.
11. MenŃine parcursurile normale de evoluŃie în carieră din cadrul organizaŃiei.
Dezavantaje:
1. Număr mare de niveluri ierarhice.
2. Lipsa unei “vederi” de ansamblu a proiectului pentru majoritatea personalului
implicat.
3. Clientul nu este în centrul preocupărilor. Unitatea funcŃională căreia îi este
subordonat proiectul are propriile sale sarcini de realizat şi acestea prevalează de obicei faŃă
de cele ale proiectului.
4. Unitatea funcŃională tinde să fie orientată către realizarea şi controlul activităŃile
tehnice şi nu către problemele globale ale proiectului.
5. Nu i se acordă unei singure persoane întreaga responsabilitate pentru proiect.
6. MotivaŃia echipei de proiect este slabă deoarece proiectul este perceput ca un aspect
marginal în cadrul activităŃii firmei.
7. Poate favoriza apariŃia rivalităŃii şi competiŃiei neloiale între echipele de proiect în
lupta acestora pentru acces la resursele organizaŃiei.
8. Succesul este totdeauna însuşit, iar eşecul nu aparŃine nimănui.
9. RezistenŃă în faŃa schimbării.
10. Proces lent de luare a deciziei.
Cominsia de Cenzori
Consiliul de adminstraŃie
Director General
• Resurse
Umane
• Contabilitate
• Financiar
Administrare Contract
Administrare Contract
•
Administrare Contact
Contactare
Resurse Contract
Umane
•
Resurse Umane
Aprovizionare
Juridice
Aprovizionare
Contabilitate
Contabilitate
Aprovizinare
Contabilitate
•
ProducŃie
ProducŃie
informatică
ProducŃie
Resurse
50
Managementul proiectelor informatice
51
Managementul şi proiectarea sistemelor informatice de gestiune
• Planificare şi control la
nivelul întregii firme
• Elaborarea strategiei firmei
M. strategic
• Planificare şi controlul la
nivelul subunităŃilor
Management tactic organizatorice
• Planificarea şi controlul
Management operaŃional operaŃiilor zilnice
52
Managementul proiectelor informatice
53
Managementul şi proiectarea sistemelor informatice de gestiune
54
Managementul proiectelor informatice
2
.Xavier C.-Methodologie generale d'analyse et de conception de systemes d'objets, Mason,
Paris, 1993.
55
Managementul şi proiectarea sistemelor informatice de gestiune
"unde?", "cu ce?", "când?"; nivelul fizic de răspuns la întrebarea "cum se rezolvă
problemele?".
În abordarea Orientată Obiect (OO), un program devine un ansamblu de obiecte care
schimbă mesaje generatoare de operaŃii sau metode de transformare a stării lor interne şi de
restituire a valorii unor parametrii. O bază de date - obiect conŃine obiectele programelor de
aplicaŃii. Un obiect oarecare este persistent prin aceea că durata sa de viaŃă este superioară
programului care la creat.
Prin proiectarea unui obiect, acestuia i se asociază o structură (atribute, câmpuri
aparŃinătoare) şi funcŃionalitatea sa redată prin proceduri şi funcŃii proprii clasei de obiecte. În
acest fel, obiectele înglobează structuri de date şi comportamente (operaŃii, metode).
În abordarea clasică descompunerea unui sistem este funcŃională, procedurală; pentru
abordarea OO devine esenŃială înŃelegerea sistemului prin prisma descompunerii lui în
entităŃi – obiecte şi al stabilirii relaŃiilor între obiecte devenind esenŃială diagrama sau
diagramele obiectului prin care se răspunde la întrebări de tipul "cine face?", "care sunt
relaŃiile între cei ce fac?", "ce este sistemul?".
Indiferent de strategia aplicată, pentru conceperea şi exploatarea de produse
informatice performante un factor esenŃial al reuşitei acŃiunilor îl reprezintă strânsa colaborare
proiectant - utilizatori prin instrumente de lucru simple şi sugestive.
Un astfel de instrument îl poate constitui tehnica diagramelor aplicată în succesiunea:
diagrame orizontale de flux informaŃional - decizional pentru cunoaşterea situaŃiei existente şi
prefigurarea noului sistem în perspectiva informatizării stabilind: modificările de flux şi
necesarul de fişiere permanente şi tranzacŃionale; scheme (organigrame) de sistem de
reprezentare a principalelor proceduri de creare şi gestionare a fişierelor; arbori de programare
pentru meniurile de integrare a prelucrărilor; arbori de programare pentru procedurile
meniului de prelucrare a fişierelor şi de răspuns la cererile de informare.
3
D.Oprean,M.R.Abdel- TI&C: Proiectarea de tehnologii informaŃional-decizionale, Ed. Risoprint, Cluj-Napoca,
2001, pag. 17-19
56
Managementul proiectelor informatice
57
Managementul şi proiectarea sistemelor informatice de gestiune
4
Fotache D.- Groupware-Metode, tehnici şi tehnologii pentru grupuri de lucru,Ed. Polirom, Iaşi, 2003
58
Managementul proiectelor informatice
5
Oprean V., Oprean D., IT&C: Managementul prin proiecte,în Tribuna economică,nr. 47/2004, pag. 20-22
6
Văduva I., Programare structurată, Ed. Tehnică, Bucureşti, 1986, anexe
59
Managementul şi proiectarea sistemelor informatice de gestiune
60
Întrebări recapitulative ale capitolului
61
Managementul şi proiectarea sistemelor informatice de gestiune
62
2.
Capitolul
2 NecesităŃi
63
Managementul şi proiectarea sistemelor informatice de gestiune
Rezultatele primei etape ale ciclului de viaŃă al dezvoltării sistemelor, este concretizată
în planificarea calendaristică a proiectelor, venite de sus în jos şi de jos în sus, ca să fie trecute
în o a doua etapă a ciclului de viaŃă, după cum reiese din figura 2.2.
64
Organizarea şi planificarea sistemului
De sus în jos:
- Top management;
- Comitet de iniŃiativă
65
Managementul şi proiectarea sistemelor informatice de gestiune
66
IniŃierea proiectului
67
Managementul şi proiectarea sistemelor informatice de gestiune
• managementul echipei
• managementul riscului şi al schimbării
Un manager trebuie să aibă următoarele calităŃi:
• analitice
• manageriale
• tehnice
• interpersonale
În această fază se desfăşoară următoarele activităŃi:
• stabilirea echipei de iniŃiere a proiectului
• stabilirea bunelor relaŃii cu beneficiarul
• stabilirea procedurilor manageriale
• stabilirea cadrului de desfăşurare a proiectului şi a manualului de operare al
acestuia
Manualul de operare trebuie să conŃină următoarele elemente;
• prezentarea generală a proiectului
• planurile iniŃiale şi cererile de serviciu ale sistemului
• aria şi riscurile proiectului
• proceduri manageriale
• descrierea datelor
• corespondenŃa echipei
• rapoarte de lucru
• planificarea calendaristică a proiectului
68
Analiza de fezabilitate
Acesta are rolul de asigurare a unor informaŃii obiective necesare cunoaşterii realităŃii
în demararea unui proiect sau nu, sau dacă el mai poate continua sau dacă a fost întrerupt.
Fezabilitatea proiectului poate fi studiată în orice fază a elaborării sale, dar studiile se
efectuează de regulă în momente certe.
La alegerea unui proiect, se va efectua un studiu preliminar de fezabilitate, care va
stabili dacă proiectul atinge obiectivele propuse de firmă. Analiza poate fi oricât de
subiectivă, fiind-că proiectul ne este prezentat în amănunŃime la demararea sa. Posibilitatea
unor analize de fezabilitate concludente, cere efectuarea studiilor de fezabilitate în diverse
faze ale ciclului de viaŃă a sistemelor.
Acest studiu trebuie să conŃină următoarea documentaŃie [4] [7]:
• definirea problemei
• descrierea cerinŃelor sistemului
• descrierea soluŃiilor sistemului propus
• explicaŃia critică a motivării studiului întreprins
• cuantificarea tuturor costurilor materiale şi beneficiile aferente
• lista costurilor şi beneficiilor necuantificate
69
Managementul şi proiectarea sistemelor informatice de gestiune
• cheltuieli de instalare
• testarea sistemului
• materiale de birou
• regie
• siguranŃă şi întreŃinere
• financiare
Cheltuielile iniŃiale sunt cele cu echipamentele, cele cu exploatarea dacă sistemul e
închiriat, apoi cheltuielile cu personalul şi cheltuieli cu testarea, acestea fiind cele mai
importante.
Unele beneficii aduse de sistem sunt [4]:
• economie din reducerea personalului funcŃionăresc
• creşterea capitalului circulant prin reducerea stocurilor, a soldurilor, etc.
• servicii de bună calitate prestate clienŃilor
• creşterea productivităŃii muncii în Ńinerea evidenŃei şi efectuarea analizelor
• îmbunătăŃirea procesului de luare a deciziei
• control eficient în utilizarea programelor speciale
• reducerea costurilor de exploatare
70
Cuplarea
activităŃi de altele
• Gantt evidenŃiază suprapunerea activităŃilor în timp, PERT nu, dar poate
prezenta în paralel activităŃile respective
• unele diagrame Gantt arată şi diferenŃele de timp, PERT arată aceste elemente
prin menŃionarea datelor în interiorul dreptunghiurilor
Modificările termenilor, activităŃilor, etc., pot fi uşor calculate şi corelate imediat cu
celelalte, prin folosirea softului Microsoft Project 2007.
2.9. Cuplarea
71
Managementul şi proiectarea sistemelor informatice de gestiune
72
Tipuri abstracte de date
73
Managementul şi proiectarea sistemelor informatice de gestiune
Tipurile abstracte de date suportă atât abstractizarea datei cât şi cea procedurală. În
plus, când produsul este modificat este puŃin probabil ca tipurile abstracte de date să fie
schimbate, în cel mai rău caz operaŃiile adiŃionale s-ar putea să trebuiască a fi adăugate la un
tip abstract de date. De aceea, din punctul de vedere al dezvoltării şi menŃinerii produsului
tipurile abstracte de date sunt foarte atractive.
Un al treilea tip de abstractizare este cea a iteraŃiei, care permite programatorului să
specifice la un nivel înalt folosirea unui ciclu şi apoi să descrie la un nivel scăzut elementele
exacte asupra cărora iteraŃia va fi realizată.
2.13. Obiecte
Felul în care s-a progresat şi s-a ajuns la noŃiunea de obiect se prezintă în continuare.
Să dăm o definiŃie incompletă a obiectului: “un caz particular de dată abstractă”,
adică un produs e proiectat în termeni de date abstracte şi variabilele produsului sunt exemple
de tipuri de date abstracte.
Ideea de bază a programării orientate pe obiect care se caracterizează prin proprietatea
de moştenire, ce este ca un nou tip de dată, care poate fi definit ca extensie a tipurilor definite
anterior în loc să se pornească de la zero.
Într-un limbaj orientat pe obiect pot fi definite clase. O clasă este un tip de dată
abstract care suportă moştenirea. Un obiect este un instanŃier al unei clase.
Proprietatea de moştenire este o însuşire esenŃială a limbajelor de programare orientate
pe obiect. Nici proprietatea de moştenire şi nici conceptul de clasă nu există în limbajele
clasice, ca de exemplu: C, Cobol, Fortran.
Asocierea se referă la relaŃii de un anumit fel între două clase aparent independente.
Avantajele folosirii obiectelor sunt în general aceleaşi cu cele ale folosirii tipurilor de
date abstracte. În plus, un alt punct forte rezultă din combinarea proprietăŃii de moştenire cu
polimorfismul şi legarea dinamică.
74
Unitatea şi cuplarea obiectelor
Datorită legării dinamice nu este necesar să se determine care metodă trebuie apelată
pentru a deschide un fişier. Este suficient să trimitem un mesaj şi sistemul va determina tipul
pentru a apela metoda corectă.
Aceasta idee este aplicabilă nu numai la metode abstracte. Consideram o ierarhie pe
clase, în care toate clasele sunt derivate prin moştenire din clasa de bază. Să presupunem ca
procedura checkorder (b:base) ia ca argument un instanŃier al clasei de bază, apoi ca o
consecinŃă a moştenirii polimorfismului şi legării dinamice se poate apela aceasta procedură
nu numai cu un argument de tipul clasei de bază, dar şi cu orice altă subclasă a ei. Această
tehnică este foarte puternică deoarece profesioniştii nu mai trebuie să se ocupe pentru tipul
argumentului. Totuşi există dezavantaje ale polimorfismului şi legării dinamice, cum ar fi:
• La compilare nu se ştie cu exactitate care anume dintre metode va fi apelată în
momentul execuŃiei şi cauza unui eşec este greu de determinat
• Poate avea un efect negativ asupra menŃinerii, fiind greu de înŃeles
Totuşi, motivul superiorităŃii acestei paradigme este dată de independenŃa fizică şi
conceptuală.
75
Managementul şi proiectarea sistemelor informatice de gestiune
76
3.
Capitolul
3 Analiza sistemelor
77
Managementul şi proiectarea sistemelor informatice de gestiune
X Y
T
Intrările celulei suferă o serie de transformări devenind ieşirile celulei.
Fiecare celulă se leagă de alte celule doar prin intrări şi ieşiri, formând structuri de
celule, de tip [21]:
• lanŃuri de celule (deci legate în serie)
• arbori de celule (deci legate în paralel)
• structuri complexe (agregări ale primelor două)
Descrierea sistemului este făcută iterativ pe principiul descompunerii top-down, în
următoarele etape:
• delimitarea sistemului analizat
• stabilirea structurii sistemului studiat
• stabilirea intrărilor şi transformărilor succesive ale intrărilor şi ieşirilor la
nivelul subsistemelor
Paşii de realizarea a aceste analize sunt:
• culegerea datelor
• sistematizarea informaŃiilor
• evaluarea sistemului informaŃional-decizional cu diagnosticarea acestuia
Rezultatul aplicării aceste tehnici constă în imaginile analitic-descriptive ale
sistemului obiect.
Tehnica analizei celulare oferă o imagine completă şi foarte detaliată a sistemului
obiect, se foloseşte pentru sistemele complexe. Ea este o tehnică foarte laborioasă şi necesită
multă răbdare pentru completarea corectă şi completă de culegere specifice.
79
Managementul şi proiectarea sistemelor informatice de gestiune
• detalierea funcŃiei prin analiză, iar funcŃiile obŃinute sunt toate părŃi ale funcŃiei
iniŃiale
• reprezentarea rezultatului analizei într-o formă grafică adecvată
Procesul de proiectare se realizează prin luarea în considerarea a unui set de principii,
ce are ca rezultat o ierarhie funcŃională reprezentată printr-o schemă de structură arborescentă.
Tehnica în principiu se aseamănă cu procesul de analiză generală a unei faze. Relativ
la această tehnică de analiză se pun două întrebări [7]:
• De unde vin funcŃiile care urmează să fie analizate?
• Ce şi care sunt principiile de analiză?
Principiile de analiză sunt [21] [44]:
a) Analiza trebuie să conducă la reflectarea caracteristicilor externe ale funcŃiilor
în caracteristicile interne ale sistemului.
b) Analiza trebuie să conducă la identificarea unei secvenŃe liniare de execuŃie a
funcŃiilor.
c) Analiza trebuie să conducă la selectarea funcŃiilor alternative.
d) Analiza trebuie să conducă la identificarea funcŃiilor interactive.
e) Analiza trebuie să conducă la o delimitarea precisă a intrărilor, transformărilor
şi ieşirilor.
f) Analiza trebuie să conducă la plasarea funcŃiilor de acŃiune într-o poziŃie
subordonată funcŃiilor de decizie care le afectează.
g) Analiza trebuie să conducă la izolarea, cu subfuncŃii, a celor subfuncŃii a căror
realizare este condiŃionată de o decizie ulterioară de proiectare.
h) Analiza trebuie să conducă la minimalizarea transferului de date dintre funcŃii
prin prevederea de funcŃii specifice pentru modificarea distanŃei datelor.
i) Analiza trebuie să conducă la prevederea unui singur punct de intrare şi a unui
singur punct de ieşire pentru fiecare funcŃiei.
j) Analiza trebuie să se desfăşoare în mod exhaustiv numai după considerente
funcŃionale, astfel ca nivel cu nivel să se definească subfuncŃii omogene din
punct de vedere al gradului de abstractizare şi nu al datelor sau al resurselor
utilizate.
În concluzie, analiza unei funcŃii date în contextul acestei tehnici este un proces de
decompoziŃie funcŃională, în care trecerea de la un anumit nivel la cel inferior lui se face prin
utilizarea principiilor prezentate anterior.
Analiza prin decompoziŃie funcŃională presupune multă inventivitate şi se bazează pe
o experienŃă acumulată în timp.
Proiectantul construieşte o tabelă de intrări/ieşiri pentru un anumit modul, numai după
ce au fost analizate toate funcŃiile subordonate funcŃiei reprezentate prin acel modul.
În construirea tabelei corespunzătoare unei scheme de structură funcŃională se aplică
atât metoda top-down cât şi metoda bottom-up, iar pentru proiectarea structurată e preferabilă
metoda top-down.
Tabela de intrări/ieşiri are forma literei T, în partea stângă se reprezintă intrările în
modul, iar în dreapta ieşirile din modul. Numărul de intrări poate fi mai mare, mai mic sau
egal cu numărul de ieşiri, sau poate fi chiar zero.
Datele, ca mijloc de realizare a legăturilor dintre modulele schemei de structură, pot
avea unul din următoarele roluri în raport cu un anumit modul analizat, astfel [21]:
• control, care realizează selectarea funcŃiilor care se execută
• prelucrarea, care participă la prelucrări sau crearea unei date de ieşire dorită
• transfer, ce arată datele ce trec prin modul fără a-şi schimba identitatea şi
valoarea
• modificată, ce este rezultatul funcŃiilor de prelucrare din modul
80
Scopul şi fazele de realizare a analizei
Modulul ---------------
FuncŃia -----------------
Intrări Ieşiri
Identificare Identificare
Tip Sursă Tip DestinaŃie
Intrare Ieşire
Pentru obŃinerea unor tabele consistente, o atenŃie deosebită trebuie acordată modului
de identificare a datelor şi a rolului pe care-l joacă fiecare dată în modulele unde este utilizată.
Tehnica are limite legate de faptul că nu dă nici o indicaŃie relativă la modul de
structurare a datelor, ea punând accent numai pe fluxul datelor.
Această metodă de stabilire a informaŃiilor de intrare pe baza celor de ieşire este foarte
utilă îndeosebi la sistemele complexe, care vehiculează multe informaŃii. Ea este uşor de
aplicat şi permite nu numai identificare informaŃiilor de intrare ci şi a procedurilor sau
operaŃiilor din aceste proceduri.
Abordarea ei este făcută plecând de la intrări şi ajungând la ieşirile sistemului
informatic, permiŃând identificarea tuturor informaŃiilor primare din sistem şi legăturilor
logice dintre acestea.
Are dezavantajul că nu este posibilă punerea în evidenŃă a tuturor legăturilor dintre
datele primare existente în sistem, fapt ce la un moment dat generează neajunsul că nu se pot
obŃine anumite date de ieşire.
Ea are ca scop efectuarea unei analize complexe asupra activităŃilor şi fluxurilor
informaŃionale existente, a ariei de cuprindere a sistemului informatic şi al dotării cu tehnică
de calcul, pentru evidenŃierea calităŃii, limitelor şi deficienŃelor actualului sistem în vederea
stabilirii cerinŃelor generale ce vor fi asigurate prin intermediul unui nou sistem informatic ce
se va proiecta pe baza unor variante de realizare.
Această etapă a proiectării sistemelor informatice grupează un ansamblu de faze ce
trebuie să răspundă unei cerinŃe ca [21]:
• stabilirea ariei de cuprindere a sistemului informatic existent, ce va deveni
sistem obiect, pentru conceperea şi realizarea unui nou sistem informatic
• reflectarea activităŃilor şi operaŃiilor economice specifice sistemului informatic
actual
• surprinderea modificărilor ce se impun în organizarea şi funcŃionarea
sistemului informatic în viziunea conceperii şi realizării unui nou sistem
informatic
• evidenŃierea dotării actuale cu tehnică de calcul prin prisma concordanŃei
dintre sistemele electronice de calcul şi viitorul sistem proiectat, inclusiv
identificarea problemelor ce urmează a fi rezolvate de noul sistem informatic
cu ajutorul calculatorului
• stabilirea unei soluŃii de principiu care să precizeze activităŃile şi operaŃiile ce
urmează a fi informatizate în plus faŃă de actualul sistem, costul antecalculat al
sistemului, tipul de calculator utilizat, sistemul de operare aferent, inclusiv
soluŃia de gestiune a datelor pe care se bazează conceperea şi realizarea noului
sistem, implicaŃiile de organizare internă a unităŃii, precum şi planificarea
realizării noului sistem informatic
81
Managementul şi proiectarea sistemelor informatice de gestiune
82
Modelarea logică şi diagramele fluxurilor de date
- Entitate externă:
- Flux de date:
sau
- Loc de stocare:
- Proces de prelucrare:
D1 PRODUSE
1
Comenzi
CLIENłI Prelucrare
Vânzare comenzi
D2 VÂNZĂRI
83
Managementul şi proiectarea sistemelor informatice de gestiune
EntităŃile externe sunt surse şi/sau destinaŃie ale fluxurilor de date în şi din sistem. Ele pot fi
reprezentări ale grupurilor de persoane, ca: clienŃi, furnizori, alte sisteme.
Pe timpul realizării DFD -urilor, ca să prevenim realizarea unor linii de flux prea lungi
şi intersectate se pot folosi două sau mai multe simboluri pentru aceeaşi entitate pe aceeaşi
pagină. În acest caz se foloseşte o diagonală în colŃul din dreapta jos, arătând că entitatea este
de mai multe ori în acest flux, de exemplu:
F
Furnizor Numărul din triunghi ne arată de câte ori apare
2 în flux entitatea Furnizori
b) Fluxuri de date, aici săgeata sugerează calea pe care pot suprapune una sau mai
multe structuri de date, în momente nespecificate. Fiecare săgeată a fluxului primeşte un
nume ce descrie numai structura de date, avem situaŃii când se impune prezentarea mai multor
structuri de date pe o singură săgeată de flux, de exemplu:
Produsele CASE oferă posibilitatea asocierii structurilor multiple de date unei singure
săgeŃi de flux, în timp ce altele nu permit astfel de operaŃii.
La intersecŃia fluxurilor fără contopire se poate folosi bucla sau linia întreruptă, astfel:
buclă întrerupere
F1 Furnizori
4 F1 Furnizori
F Furnizori
F-COD = “F121”
Raportări
Furnizori
e) Locuri de stocare cu o singură intrare şi ieşire
84
Modelarea logică şi diagramele fluxurilor de date
DFD -ul are un simbol de redare a operaŃiunii de stocare cu o singură intrare şi ieşire,
ce duce la examinarea mai atentă, pentru a se trage concluzia dacă acel loc din punct de
vedere economic, logic este necesar. PrezenŃa acestuia poate sugera un fişier temporar fizic,
ce este folosit cu funcŃia esenŃială de mediu de comunicare a datelor. Spre exemplu:
Validare Validare
clienŃi clienŃi
identificator
85
Managementul şi proiectarea sistemelor informatice de gestiune
Entitate externă
Loc de stocare
Proces de prelucrare
CLIENłI
Comenzi vânzare
Documente Comenzi aprovizionare
BANCĂ de decontare Furnizor
FURNIZOR
InformaŃii de aprovizionare
Date vânzare
MANAGERI
86
DiferenŃele de modelare logică între cele două tehnici
Sistem
nou
Cum e influenŃat noul
sistem de modelul
logic propus?
Modelul logic
propus
Cum se poate schimba
sistemul curent?
Modelul
logic curent
Cum se poate reda modelul
logic curent?
Sistem
curent
Gane şi Sarson adoptă o variantă mai categorică, pornind de la întrebarea: “Ce trebuie
să facă noul sistem?”. El se poate reda schematic pentru sistemul propus conform figurii 3.4.
Care
e calea cea scurtă
de continuare a modelului
propus?
Modelul
logic propus
Sistemul
Propus
87
Managementul şi proiectarea sistemelor informatice de gestiune
BANCĂ Plată
Proces de
încasare Încasare
FURNIZOR
88
Feluri ale diagramelor fluxurilor de date
CUMPĂRĂTOR Bani
1.0
Vânzător
Borderouri Bani şi bandă casă
3.0 Bandă de casă verificată 2.0
Contabilitate Caserie
Cumpărător Plată
1.0
Încasat
2.0
Compară bandă
4.0 cu banii
Înregistrare Validare încasări
Vânzare
3.0
3.0 Pregătire
Preg ătire depunere
depunere
Jurnal - Vânzări
Depunere
BANCĂ
Figura 3.7 Exemplu pentru diagrama fluxurilor de date logice
89
Managementul şi proiectarea sistemelor informatice de gestiune
Din figură reiese că etichetele de pe fluxurile de date arată natura datelor şi nu cum
sunt transmise acestea. Se poate observa că fiecare dintre sensurile fluxurilor de date spre sau
din, are sensurile spre şi din.
Dacă două diagrame ale fluxurilor de date, diagrama de context şi nivelul 0, au fluxuri
de date externe echivalente, se spune despre ele că sunt diagrame ale fluxurilor balansate.
Descompunerea descendentă sau de sus în jos este asociată cu metoda sistemelor, care
este o modalitate de concepte a soluŃiilor problemelor şi de proiectare a sistemelor
informatice. Metoda sistemelor cere ca sistemul să fie văzut ca un întreg ce cuprinde mai
multe componente aflate în strânsă legătură între ele cu o astfel de metodă, analizăm un
sistem sau o problemă prin descompunerea lor de sus în jos, arătând astfel mai multe detalii.
90
Analiza orientată obiect (AOO)
DFD -ul se utilizează la procesele de analiză a decalajelor prin care analistul poate
stabili diferenŃele dintre două sau mai multe seturi de diagrame ale fluxurilor de date,
reprezentând două sau mai multe stări ale sistemului sau discrepanŃele într-o singură DFD.
DFD -urile pot reliefa următoarele aspecte [1] [7]:
• fluxurile de date redundante, apărute, de regulă prin apelarea la nume diferite
ale aceloraşi date
• date ce intră în prelucrări, ele nu sunt folosite
• date ce sunt actualizate în mai multe locuri
Instrumentele CASE dau posibilitatea obŃinerii mai multor elemente despre DFD,
după performanŃele pachetului program folosit.
91
Managementul şi proiectarea sistemelor informatice de gestiune
acestei informaŃii, mai bine se folosesc notaŃii bazate pe tehnici structurate larg utilizate (vezi
capitolul 5).
O altă cale de a privi este aprecierea faptului că Ńinta lui AOO ca şi a celorlalte tehnici
de specificaŃii este a specifica produsul final ce urmează a fi construit. Două aspecte critice
ale produsului sunt datele şi acŃiunile acestuia. AOO foloseşte o varietate de tehnici de
modelare pentru a înŃelege datele, acŃiunile şi interacŃiunile între date şi acŃiuni. În timpul
cursului de analiză, cunoştinŃele acumulate despre produs sunt reprezentate în mai multe
feluri, fiecare reflectând un alt aspect al produsului final. Diagramele sunt în mod continuu
actualizate pe măsură ce apar noi percepŃii despre cum va fi modelat sistemul. La sfârşitul
fazei AOO, punctele de vedere combinate oferă o înŃelegere completă a produsului, care ar fi
greu de obŃinut dacă ar fi fost folosită doar o singură tehnică de modelare.
Deci vom prezenta în continuare cum se face analiza sistemului existent.
Analiza sistemului existent este necesară la fundamentarea direcŃiilor de perfecŃionare
a sistemului informatic existent şi înlocuirea acestuia cu un sistem nou ce va satisface toate
cerinŃele informaŃionale ale conducerii unităŃii şi a compartimentelor funcŃionale.
Ea se poate realiza cu ajutorul unor faze ca [44]:
a) Conducerea şi organizarea analizei, ce se realizează prin:
• pregătirea condiŃiilor necesare analizei sistemului informatic existent
• constituirea colectivului de analiză a sistemului informatic existent
• elaborarea planului de realizare a analizei
b) Realizarea analizei sistemului existent, ce se realizează prin:
• documentarea pentru analiza sistemului existent
• alegerea procedeelor de analiză a sistemului existent
• studiul componentelor sistemului existent
• evaluarea critică a sistemului informatic existent
• elaborarea variantelor de realizare a noului sistem informatic.
c) Finalizarea analizei sistemului existent, se realizează prin:
• definitivarea documentaŃiei necesare
• avizarea etapei de către conducerea unităŃii economice beneficiare
92
Faza realizării analizei sistemului existent
93
Managementul şi proiectarea sistemelor informatice de gestiune
3.7.2.1. Interviul
El este procesul comunicării diadice, de stabilire a unei relaŃii cu o finalitate precisă,
predeterminată, proces conceput pe alternanŃa rolurilor şi care implică formulări de întrebări şi
orientări de răspunsuri.
Cuvântul proces arată dinamismul, interacŃiune continuă, cu multe variabile de lucru,
cu acŃiune înlănŃuită după un anumit sistem de derulare.
Cuvântul diadic, pornind de la diadă se scoate în relief faptul că interviul este o
interacŃiune persoană cu persoană, între două părŃi sau două componente, deoarece pot fi mai
multe persoane, dar niciodată mai mult de două păŃi, ceea ce ia interviul şi ce intervievată.
Cuvântul relaŃii sugerează o relaŃie interpersonală între părŃile interviului.
Finalitatea precisă, predeterminată, înseamnă că cel puŃin o persoană vine la interviu
cu un anumit scop şi vrea să abordeze un anumit subiect.
AlternanŃa rolurilor, are conotaŃia împărtăşirii gândurilor, a simŃămintelor şi
informaŃiilor, printr-o schimbare continuă a rolurilor. Dacă o parte vorbeşte şi cealaltă ascultă,
se poate vorbi de un discurs (speech) şi nu despre un interviu.
a) Feluri de interviuri
Interviurile sunt utilizate variat, în domenii diverse şi cu interese diferite, ceea ce
conduce la o structură tipologică a acestora, astfel:
• oferire informaŃiilor
• colectarea informaŃiei
• selecŃia
• probleme referitoare la comportament
• rezolvarea de probleme
• vânzări sau prestări de servicii
b) Folosirea interviului
Acesta se foloseşte pentru următoarele situaŃii:
• dacă este nevoie să motivăm o persoană să răspundă liber, deschis şi sincer
• dacă dorim să cunoaştem detalii despre unele răspunsuri sau să clarificăm o
anumită chestiune
• dacă intenŃionăm să adaptăm întrebările şi răspunsurile la fiecare intervievat
sau anchetator
94
Faza realizării analizei sistemului existent
• ascultarea cu simpatie
• ascultare pentru evaluare
g) Structurarea interviului
El este structurat în trei părŃi majore şi anume: deschiderea, partea principală şi
închiderea
Deschiderea interviului, aici avem două activităŃi distincte;
• stabilirea raportului dintre părŃi, ce constă în crearea sistemului de încredere
dintre participanŃi
• orientarea interviului, ce se referă la explicarea scopului, timpului necesar,
natura interviului, etc…
Partea principală a interviului, ce prezintă structura pe teme şi subteme care urmează
a fi acoperite. SecvenŃele structurii pot fi definite după criteriile alese de realizator astfel:
• secvenŃa tematică, urmează o împărŃire naturală a temei abordate
• secvenŃa temporală tratează tema sau părŃile ei în ordine strict cronologică
• secvenŃa spaŃială ordonează tematica în funcŃie de dispunerea în spaŃiu
• secvenŃa cauză-efect se realizează la prezentarea cauzelor şi efectelor unor
evenimente, probleme, defecŃiuni, etc…
• secvenŃa problemă-soluŃie constă în descrierea fazelor problemei şi a fazelor
soluŃiei rezolvate
SchiŃa domeniilor şi întrebărilor de formulat constituie programul interviului.
Interviurile se pot grupa astfel:
• moderat programat
• puternic programat
• puternic programat standardizat
Închiderea interviului, trebuie să fie scurtă, dar să fie importantă, deoarece şansele
următoarelor interviuri depind de modul cum sau încheiat precedentele.
h) Modul de folosire a întrebărilor
Întrebarea trebuie definită ca orice enunŃ care invită la formularea unui răspuns, deci
întrebările pot să fie:
• deschise sau închise
• principale sau secundare
• neutre sau dirijate
Formularea întrebărilor, poate convinge intervievatul să răspundă liber şi acesta
trebuie să Ńină seama de următorii factori;
• limbaj
• relevantă
• nivel de informare
• complexitate
• accesibilitate
SecvenŃele de formulare a întrebărilor sunt de următorul fel:
• secvenŃe pâlnie, ce încep cu întrebări vagi şi continuă cu cele mult mai
restrictive
• secvenŃe pâlnie întoarsă, ce vor începe invers decât cele precedente
• secvenŃa reprezentării în cinci paşi, se foloseşte la a determina intensitatea
opiniilor şi atitudinilor. Ea are următorii paşi:
o testarea cunoştinŃelor problemei de intervievat
o aflarea atitudinii lui fără a fi influenŃat
o formularea precisă a atitudinii
o motive pentru atitudinea avută
96
Faza realizării analizei sistemului existent
o intensitatea atitudinii
i) Planificarea interviului
Un interviu trebuie să fie realizat în concordanŃă cu orientări cadru, cum ar fi:
• planificarea interviului, care se face prin:
o pregătirea intervievaŃilor
o pregătirea unei liste de control
• ascultarea cu atenŃie şi consemnarea lucrurilor interesante
• revizuirea consemnărilor făcute în cel mult 48 de ore de la interviu
• menŃinerea stării neutralitate
• căutarea mai multor puncte de vedere
3.7.2.2. Chestionarul
Acesta este mai puŃin costisitor şi mai redus în timp, el poate oferi un volum mare de
informaŃii necesare analizei sistemului.
a) Proiectarea chestionarului
Conceperea chestionarului este o artă nu numai o ştiinŃă, de aceea sunt unele reguli
recomandabile şi care se pot utiliza drept elemente de comparaŃie pentru a-şi evalua paşii
întregii proceduri. Sunt recomandabili următorii paşi:
• Ce informaŃii vor fi căutate
• Stabilirea tipului de chestionar şi a metodei de administrare
• Determinarea conŃinutului întrebărilor
• Stabilirea modului de redare a răspunsului pentru fiecare întrebare
• Formularea întrebărilor
• Stabilirea secvenŃei întrebărilor
• Validarea caracteristicilor tehnice ale chestionarului
• Reevaluarea paşilor 1-7 şi revizuirea lor
• Efectuarea pre-testului şi revizuirea finală
b) Întocmirea chestionarului
Chestionarele sunt date pe hârtie, ele putându-se face cu sau fără operator uman,
direct, prin telefon sau chiar pe dischetă sau prin intermediul serviciilor oferite de calculator.
Acestea se bazează pe întrebări cu schemă fixă de răspuns, iar atunci când conŃin întrebări cu
formulare vagă au ca scop aflarea părerilor celor chestionaŃi, pentru a putea fi surprinse cât
mai multe cazuri.
În literatura de specialitate se arată că se pot folosi întrebări închise, deschise şi cu
trepte de atitudini.
Cele deschise, unde persoana intervievată nu are nici o restricŃie în ce priveşte
posibilităŃile de a răspunde.
Cele deschise, unde răspunsurile sunt prestabilite şi persoana trebuie să aleagă din cele
propuse, unul sau mai multe.
Cele cu trepte, unde avem un ansamblu de trepte ce permit să se analizeze conŃinutul
şi intensitatea atitudinii celui intervievat faŃă de un concept, un produs, un serviciu, etc. Aici
atitudinile se împart în trei feluri, anume: evaluate, forŃă şi acŃiune.
c) Eşantionarea
Deoarece colectivităŃile studiate depăşesc numărul celor ce sunt chestionaŃi, necesită
stabilirea eşantionului chestionat. În acest scop se folosesc următoarele patru metode [21]:
• cei adecvaŃi eşantionului – sunt oameni care-şi desfăşoară activitatea într-un
loc
97
Managementul şi proiectarea sistemelor informatice de gestiune
• grup aleator în cazul că este o listă a tuturor utilizatorilor unui sistem simplu,
se selectează fiecare a n-a persoană , în care n este raŃia de selecŃie
• eşantionul precizat, adică numai persoanele ce îndeplinesc anumite criterii şi
cu o vechime adecvată
• eşantion stratificat, atunci când sunt mai multe categorii de persoane, din care
se aleg după criterii aleatoare, se vor alege doar cei eşantionaŃi
98
Faza realizării analizei sistemului existent
99
Managementul şi proiectarea sistemelor informatice de gestiune
100
Faza realizării analizei sistemului existent
1
2
3 - document în 3 exemplare
101
Managementul şi proiectarea sistemelor informatice de gestiune
Linii de influentă:
1
- documentul de la nivelul unu influenŃează apariŃia altui document la
nivelul doi
1 1
- documentul ce circulă la nivelul unu influenŃează a scrie pe
documentul de la nivelul doi, apoi o capsare sau
îndosariere a sa
2 2
1
- documentul ce circulă la nivelul unu influenŃează o verificare cu
semnare a documentului de la nivelul doi
1
2 - înregistrarea concomitentă trei exemplare
3
102
Faza realizării analizei sistemului existent
1
2 - transportul celor trei exemplare
3
103
Managementul şi proiectarea sistemelor informatice de gestiune
• cheltuieli cu materialele
• alte cheltuieli necesare funcŃionării actualului sistem
Acest studiu va fi folosit în evaluarea critică a sistemului existent precum şi la
calcularea indicatorilor de eficienŃă stabilită în etapa de implementare prin care se compară
cheltuielile de funcŃionare ale vechiului sistem în raport cu cele ale sistemului informatic
proiectat.
104
Faza realizării analizei sistemului existent
105
Managementul şi proiectarea sistemelor informatice de gestiune
• sistemul de realizat este necesar într-o perioadă foarte scurtă de timp şi este
cerinŃă majoră pentru beneficiari
• riscul oferirii unui sistem inadecvat este foarte mare
• reacŃiile beneficiarului faŃă de noul sistem contribuie esenŃial la realizarea sa
• cerinŃa de testare a mai multor strategii de proiectare
• personalul implicat în realizarea sistemului stăpâneşte mijloacele oferite de
generaŃia IV de limbaje şi de prototipizare
• personalul de proiectare nu dispune de experienŃa necesară dezvoltării unui
sistem sau a unei aplicaŃii
• sistemul va avea o utilizare temporară
Sistemele care se pretează la prototipizare sunt:
• cele de sprijinire a procesului decizional
• cele informaŃionale pentru top manageri
• cele expert
• cele de reconstituire a informaŃiilor
Aceasta nu este recomandabilă pentru sisteme mari şi pentru cele complexe, ce au o
arie mare de extindere.
Prototipizarea serveşte ciclului de viaŃă al dezvoltării sistemelor şi nu contribuie la
renunŃarea la o astfel de metodologie, ea va conduce la înlocuirea în totalitate a
metodologiilor şi instrumentelor tradiŃionale de realizare a sistemelor.
106
Faza realizării analizei sistemului existent
IniŃializare
Formularea
cerinŃelor
Proiectare
Realizare
Implementare
107
Managementul şi proiectarea sistemelor informatice de gestiune
3.7.4.5. Metoda XP
Extreme Programing (XP) a evoluat datorită problemelor cauzate de ciclurile lungi de
dezvoltare ale modelelor tradiŃionale. Metoda a pornit iniŃial, ca o modalitate de a obŃine
rezultate într-un timp foarte scurt, aplicând practici care şi-au dovedit succesul de-a lungul
timpului. După un număr de încercări reuşite în practică, metoda XP a fost „teoretizată” pe
baza unor principii şi practici considerate de bază. Trebuie menŃionat faptul că, practicile
prezente în XP nu sunt noi, ci au fost preluate din cele existente, care şi-au dovedit
eficacitatea de-a lungul timpului în diverse procese de dezvoltare. Termenul „extrem”
sugerează de fapt, ducerea acestor principii şi practici la extrem.
Metoda XP promovează 4 valori ridicate la rangul de principii [Sommerville, 2004]:
• comunicarea – reprezintă un criteriu esenŃial de succes al unui proiect. De
multe ori, problemele care apar la dezvoltarea unui sistem informatic, sunt
datorate lipsei de comunicare între membrii echipei.
• simplitatea – este de dorit dar, atingerea ei nu este accesibilă începătorilor. Ca
să fie simplu, trebuie să ai o anumită experienŃă a unor proiecte anterioare.
Ceva ce este simplu este foarte puŃin probabil să genereze erori, iar dacă le
generează acestea pot fi controlate şi rectificate în timpul util. O soluŃie simplă
nu trebuie confundată cu o soluŃie simplistă. SoluŃia simplă înseamnă maximul
de compromis dintre complexitate şi flexibilitate. O soluŃie devine simplă prin
rafinare. Dacă de la bun început apare o asemenea abordare este foarte probabil
108
Faza realizării analizei sistemului existent
109
Managementul şi proiectarea sistemelor informatice de gestiune
echipei dacă acestea vor fi incluse în prototipul final. În cadrul acestei faze
iteraŃiile pot fi accelerate de la trei săptămâni la o săptămână. Sugestiile şi
ideile care apar în această fază, sunt preluate pentru a fi realizate în etapa de
mentenanŃă. După ce prima versiune este implementată şi lansată în exploatare,
echipa trebuie să fie pregătită pentru noi iteraŃii. Viteza de dezvoltare se poate
accelera după lansarea în exploatare a sistemului.
• mentenanŃă şi încetarea acordării de asistenŃă pentru produsul soft – în
perioada de mentenanŃă ritmul cererilor cu privire la eventualele erori sau
funcŃionări anormale, se diminuează ca frecvenŃă dar nu şi ca potenŃial de
periculozitate. Oricând poate să apară o cerinŃă, care să dovedească faptul că,
undeva în etapa de început lucrurile nu au fost corect abordate necesitând
schimbări serioase ale arhitecturii. În etapa de mentenanŃă ritmul dezvoltării se
reduce până aproape de zero. Încetarea apare atunci când utilizatorul nu mai
are noi cazuri sau noi cerinŃe de implementat şi utilizatorul este mulŃumit de
performanŃa sistemului. Acesta este momentul în care documentaŃia produsului
este scrisă, dat fiind faptul că nu vor mai apărea schimbări majore ale
arhitecturii sau noi facilităŃi. Încetarea poate să apară şi dacă se constată că
sistemul nu şi-a atins obiectivele, sau când dezvoltarea sa în continuare nu
justifică investiŃia.
Metodele XP aduc în discuŃie roluri diferite pe care participanŃii le au într-o dezvoltare
ce adoptă XP [44]:
• programatorii – scriu codul sursă şi testează aplicaŃia. Încearcă să Ńină codul
sursă cât mai simplu şi comunică cu membrii altor echipe.
• client – este persoana sau organizaŃia care va beneficia de utilizarea sistemului.
Stabileşte cerinŃele, dacă aceste cerinŃe sunt îndeplinite precum şi prioritatea
acestora. El furnizează o descriere a funcŃiunilor şi oferă teste de verificare a
funcŃionalităŃii.
• tester – este persoana care verifică faptul dacă testele întocmite de client sunt
conform cerinŃelor. Ei rulează periodic testele asupra sistemului, pentru a
verifica faptul că acestea nu au fost între timp alterate în urma altor intervenŃii.
• monitorul – este persoana care evaluează progresele realizate de echipă, dacă
acestea se va încadra în termenele şi bugetul propus, iar pe baza acestora
furnizează feed-back-ul.
• antrenorul – persoana care este responsabilă de evoluŃia întregului proiect. O
aplicare a principiilor XP face din această persoană factorul coordonator al
întregul proces. El trebuie să fie suficient de experimentat pentru a oferi suport
şi sprijin echipei precum şi soluŃii la problemele mai dificile care apar. Este un
fel de manager de proiect.
• consultantul – persoana externă care oferă informaŃii tehnice pentru realizarea
proiectului. De multe ori consultantul este desemnat din partea clientului şi
este o persoană care cunoaşte foarte bine procesul, astfel încât să poată oferi
lămuriri echipei cu privire la aspecte legate de respectivul domeniu.
• managerul – este persoana care ia decizii. Acesta evaluează starea în care se
află proiectul şi pe baza acestor date ia decizii.
110
Faza realizării analizei sistemului existent
Stabilirea unor aprecieri critice asupra sistemului informaŃional are la bază ansamblu
criteriilor de calitate impuse acestuia prin prisma informaŃiilor economice prelucrate şi
difuzate diverşilor utilizatori din unitatea economică.
Aprecierea calităŃii informaŃiei se face prin: precizie, operativitate, frecvenŃă de
difuzare, etc…
Precizia se referă la fidelitatea cu care este reflectată activitatea desfăşurată la unitate
şi este determinată de ansamblul de caracteristici folosite pentru reprezentarea mijloacelor,
fenomenelor şi proceselor tehnico-economice şi sociale.
Operativitatea se referă la executarea procesului de culegere, transmitere, stocare,
prelucrare şi difuzare a informaŃiilor privitoare la procesele şi fenomenele economice din
unitate.
FrecvenŃa de difuzare ce precizează ritmul de transmitere a documentelor şi
informaŃiilor către utilizatori într-un interval de timp unitar (zilnic, decadal, lunar, trimestrial,
etc.).
Evaluarea critică a sistemului informaŃional existent cuprinde: obiectivele sistemului,
mijloacele şi metodele folosite pentru culegerea, transmiterea, stocarea, prelucrarea şi
difuzarea informaŃiilor, personalul şi costurile de funcŃionare.
111
Managementul şi proiectarea sistemelor informatice de gestiune
112
Faza realizării analizei sistemului existent
113
Managementul şi proiectarea sistemelor informatice de gestiune
114
Întrebări recapitulative ale capitolului
ORGANIGRAMA
STRUCTURII
ORGANIZATORICE
ACTIVITĂłI
DOCUMENTE ŞI MIJLOACE DE
BENEFICIAR CALCUL
ORGANIGRAMA
FLUXULUI
INFORMAłIONAL
DESCRIERE DOCUM.
EXISTENTE
DESCRIERE CODURI
EXISTENTE
EVALUARE VARIANTE DE
CRITICĂ REALIZARE
115
Managementul şi proiectarea sistemelor informatice de gestiune
116
4.
Capitolul
4 Proiectare şi specificaŃii
117
Managementul şi proiectarea sistemelor informatice de gestiune
numai a unor aspecte ale realităŃii studiate şi anume acele aspecte care prezintă interes pentru
modelator. Unul din mediile controlate în care se poate reproduce realitatea, deci unul în care
se pot face modele, este calculatorul şi pe calculator se realizează modele informaŃionale. La
crearea modelului intervine viziunea analistului despre realitatea pe care o studiază, adică
paradigma. Paradigma reprezintă "ochelarii" prin care analistul vede sistemul informaŃional
real, acela pe care vrea să-l modeleze, dar nu toate viziunile sau concepŃiile analiştilor ajung
să fie considerate paradigme. La începuturile existenŃei sistemelor informatice, atenŃia
analiştilor a fost concentrată spre latura funcŃională a activităŃii umane studiate şi cum o
funcŃie a unui birou sau secŃie nu putea fi analizată şi nici prelucrată în bloc, ea a fost
descompusă în activităŃi (rezultând aplicaŃiile informatice), activităŃile au fost descompuse în
subactivităŃi (rezultând procedurile), care la rândul lor au fost descompuse în operaŃii, cărora
în calculator le corespundeau modulele program. S-a dezvoltat în aceste condiŃii o abordare
funcŃională a sistemelor informaŃionale. În informatica industrială funcŃiei îi corespunde
procesul, ceea ce a dus la abordarea orientată spre proces. Ulterior, locul fişierelor a fost luat
de bazele de date şi corespunzător, locul sistemelor de gestiune a fişierelor a fost luat de
sistemele de gestiune a bazelor de date (SGBD). Pe parcursul perfecŃionării SGBD -urilor, s-a
trecut la baze de date relaŃionale, creându-se impresia că elementul principal pe baza căruia
trebuie perfecŃionate SGBD -urile îl reprezintă structura datelor. Avem astfel de a face cu o
abordare orientată spre date. Când s-a pus problema aplicaŃiilor în timp real, factorul cel mai
important se părea a fi evenimentul. A apărut astfel orientarea spre evenimente.
Structurarea programelor a evoluat şi ea odată cu metodele de analiză, dar era din ce în
ce mai greu de Ńinut pasul cu metoda de analiză, mai exact cu orientarea abordării sistemelor
informatice. Preocupările analiştilor-programatori pentru a pune în concordanŃă structura
programelor cu metoda de analiză a sugerat o nouă abordare şi anume legarea evenimentelor
de obiect şi a programelor (numite de astă dată metode) de evenimente.
A apărut astfel orientarea pe obiecte, numai că spre deosebire de celelalte abordări,
ea se extinde şi în alte domenii de activitate, devenind un mod de a concepe realitatea,
adică o paradigmă. Dată fiind complexitatea sistemelor informatice ele nu se pot obŃine dintr-
odată şi nici nu se pot realiza după cum crede fiecare programator. Desigur la început aşa a
fost, dar pe măsură ce s-a acumulat experienŃă, ea a fost materializată în metodologii.
Metodologia elaborării sistemelor informatice a fost concepută iniŃial ca un ansamblu
de principii şi indicaŃii, tehnici şi metode grupate şi ordonate ca să ducă la realizarea
sistemului informatic. Cuvântul “metodă” folosit în această definiŃie nu are nimic de a face cu
metoda-program asociată evenimentelor unui obiect şi nici cu metoda de abordare a
sistemelor informaŃionale. Aici prin metodă se înŃelege un set de reguli aplicabile unui
domeniu restrâns din cadrul unei metodologii. In prezent metodologia este văzută ca setul
finit, particular definitoriu al unei metode (metodă de abordare a sistemelor informatice), prin
intermediul unui sistem coerent de formulare şi/sau procese informatice, necesare pentru
modelarea şi formalizarea totală a unui sistem informatic.
Metodologiile evoluează odată cu tehnologia informaŃiei, dar o metodologie de
realizare a sistemelor informatice trebuie să cuprindă [4] [21]:
• etapele/procesele de realizare a unui sistem informatic structurate în subetape,
activităŃi sarcini precum şi conŃinutul lor
• fluxul realizării acestor etape sau procese, subetape şi activităŃi
• modalitatea de derulare a ciclului de viaŃă a sistemului informatic
• modul de abordare a sistemului
• strategiile de lucru/metodele de realizare
• regulile de formalizare a componentelor sistemului informatic
• tehnicile, procedurile, instrumentele, normele şi standardele utilizate
118
Etapele de bază ale proiectării şi structurarea sistemelor informatice
din unitatea beneficiară până la punerea în funcŃiune. Implementarea începe prin pregătirea
condiŃiilor pentru trecerea în exploatare a noului sistem, fiind urmată de testarea
funcŃionalităŃii sistemului şi evaluarea eficienŃei economice a acestuia, după care se
definitivează documentaŃia de utilizare şi exploatare.
Exploatarea curentă şi menŃinerea în funcŃiune a noului sistem. Aceasta include
activităŃi legate de utilizarea sistemului din unitatea beneficiară precum şi activităŃile de
perfecŃionare şi menŃinere în stare de funcŃionare a acestuia până la înlocuirea sa cu un alt
sistem informatic mai performant. Pentru abordarea şi rezolvarea etapizată a problemelor
specifice proiectării şi realizării sistemelor informatice, este necesară elaborarea unei scheme
structurale ce să asigure corespondenŃele dintre elementele componente ale unităŃii economice
şi componentele logice ale sistemului informatic.
Sistemul informatic, corespunde proceselor informaŃionale din sistemul obiect a căror
complexitate conduce la structurarea acestuia în componente interconectate logic denumite
subsisteme, aplicaŃii, unităŃi funcŃionale, unităŃi de prelucrare şi module.
Subsistemul informatic, grupează procesele informaŃionale omogene şi specifice unei
părŃi din sistemul obiect concretizate în activităŃi, atribute ale conducerii sau tehnologiei de
prelucrare a datelor.
AplicaŃia reprezintă o componentă a sistemului sau subsistemului informatic, care
rezolvă un grup omogen de lucrări sau probleme ale beneficiarului.
Unitatea funcŃională, reprezintă o componentă a sistemului sau a subsistemului sau o
aplicaŃie formată dintr-un grup de preliminări omogene funcŃional care acŃionează asupra unei
colecŃii sau subcolecŃii de date comune.
Unitatea de prelucrare, este componentă logică a unităŃii funcŃionale, ce este definită
de o secvenŃă de operaŃii automate şi repetitive prin intermediul unor opŃiuni de prelucrare
pentru transformarea mulŃimii datelor de intrare în mulŃimea datelor de ieşire în funcŃie de un
algoritm specific de prelucrare care are la bază un program generat şi activat de utilizator.
Modulul este o parte componentă a unităŃii de prelucrare şi este reprezentat de o
secvenŃă de instrucŃiuni sau comenzi de prelucrare declarate printr-un limbaj de programare
sau un sistem de gestiune al bazei de date în vederea rezolvării unei funcŃii independente din
algoritmul general specific unităŃii de prelucrare din care fac parte.
Cele prezentate anterior sunt redate de figura 4.1.
SISTEM
120
Etapele de bază ale proiectării şi structurarea sistemelor informatice
121
Managementul şi proiectarea sistemelor informatice de gestiune
122
Modele de proiectare a sistemelor
SI
SISTEME INTERORGANIZAłIONALE
Figura 4.2 O posibilă soluŃie pentru arhitectura sistemului informatic al unei firme [21]
123
Managementul şi proiectarea sistemelor informatice de gestiune
Fezabilitatea
sistemului
Validare
Planificare
a lucrărilor
Validare
Proiectare
generală
Verificare
Proiectare
de detaliu
Verificare
Scrierea
programelor Testarea
componentelor
Integrare
Verifică
Instalare
Testare
Exploatare
dezvoltare
Revalidare
124
Modele de proiectare a sistemelor
4.2.3. Modelul V
Acesta este o variantă a precedentului, prin care se introduc concepte de sisteme şi
componente (subsisteme), aplicându-se teste explicite la un sistem ierarhic pentru creşterea
controlului asupra modului în care se desfăşoară etapele.
Această înlesnire constituie o latură a literei V. Latura stângă este parcursă
descendent şi conŃine etapele propriu-zise, iar cea dreapta se parcurge ascendent şi realizează
verificările ascendente, realizându-se verificările şi validările elementelor create anterior.
Acest model este dat de figura 4.4.
125
Managementul şi proiectarea sistemelor informatice de gestiune
Realitate
ÎntreŃinere
Codificarea şi testarea
componentelor
4.2.4. Modelul W
Acest model reia ideea modelului în V pe care îl dezvoltă şi perfecŃionează prin
integrarea activităŃilor de validare la nivelul fazelor de proiectare.
126
Modele de proiectare a sistemelor
Test de
SpecificaŃii
acceptare
127
Managementul şi proiectarea sistemelor informatice de gestiune
Fezabilitatea
sistemului
CerinŃele
sistemului
Proiectarea arhitecturii
sistemului
128
Modele de proiectare a sistemelor
Costuri cumulate,
parcurgerea etapelor Evaluarea
Determinarea
obiectivelor, alternativelor,
alternativelor, identificarea şi
restricŃiilor Analiza soluŃionarea riscurilor
riscurilor
Analiza
riscurilor
Analiza Prototip
riscurilor opera-
Ńional
Ana Pro-
liza totip
ris - Pro- Pro- 3
curi totip totip
lor 1 2
4.2.7. Modelul X
El extinde aria performanŃelor obŃinute prin modelele cascadă şi V, care sunt
considerate exemple ale procesului de dezvoltare.
Modelele livrării sunt independente tehnologic, iar impactul orientării pe obiect asupra
procesului dezvoltării tradiŃionale, cu specificaŃii ale sistemului, proiectul arhitectural,
proiectarea de detaliu, codificarea, testarea pe componente, integrarea şi testarea sistemului.
129
Managementul şi proiectarea sistemelor informatice de gestiune
I
N
I Definirea Găsirea Definirea I
agregărilor claselor subsistemelor ł
M I
P E
L Definirea Aflarea R
E metodelor E
atributelor A
M
E P
Definirea Identificarea Definirea R
N moştenirilor
colaborărilor relaŃiilor O
T I
A E
R C
Codificare Testarea T
E U
A L
U
I
130
Modele de proiectare a sistemelor
Testarea sistemului
Testare componentă
Codificare
Proiectare componentă
Proiectare sistem
SpecificaŃii privind
cerinŃele software
SpecificaŃii ale
cerinŃelor utilizatorului
Analiză
Lumea reală
Figura 4.9 Modelul fântână arteziană [44]
131
Managementul şi proiectarea sistemelor informatice de gestiune
D00
A00
P00
Planificarea firmei
Analiza domeniilor
Proiectare sistem
ConstrucŃie
Structură obiect
132
Modele de proiectare a sistemelor
Etape
Definire cerinŃe
Proiectare
Implementare
Instalare şi întreŃinere
Modele
133
Managementul şi proiectarea sistemelor informatice de gestiune
134
Modul de alegere al variantei optime şi tipuri de baze de date
135
Managementul şi proiectarea sistemelor informatice de gestiune
136
Planul de bază al proiectului
137
Managementul şi proiectarea sistemelor informatice de gestiune
138
Stabilirea obiectivelor sistemului informatic
139
Managementul şi proiectarea sistemelor informatice de gestiune
Generale Specifice
140
ImportanŃa modelării datelor
• DER ce să scoată în relief întreaga bază de date din care noua aplicaŃie îşi va
extrage datele
• DER pentru întreaga bază de date din care aplicaŃia curentă îşi extrage datele
necesare
PRODUS ? VÂNZARE
Semnul ? înlocuieşte răspunsul pe care trebuie să-l găsim la întrebările: Care poate fi
asociat cu entitatea generală simplă PRODUS ce să poată da naştere la o legătură de tip
multe?, etc..
Analiza entitate-relaŃie este o operaŃie deosebit de importantă pentru a scoate în relief
datele şi structurile lor.
EntităŃile sunt obiecte sau evenimente, fenomene sau procese economice. Obiectele se
caracterizează printr-o esenŃă de-a lungul timpului, iar evenimentele îşi fac simŃită prezenŃa la
un moment dat. EntităŃile conŃin în structura lor atribute prin care sunt descrise.
Entitatea este o persoană, un loc, un obiect, eveniment sau concept din domeniul de
activitate al beneficiarului despre care firma doreşte să păstreze anumite date.
Trebuie precizată diferenŃa dintre tipurile entităŃilor şi cazurile / instanŃele entităŃii.
Tipul entităŃii sau clasa entităŃii este o colecŃie de entităŃi ce au proprietăŃi sau
caracteristici comune. Tipului de entitate i se atribuie un nume conform descrierilor.
InstanŃa sau instanŃierea unei entităŃi sau caz al entităŃii, este o manifestare singulară a
unui tip de entitate.
Tipul de entitate se descrie o singură dată prin modelul datelor, în timp ce cazurile
acelui tip de entitate pot fi reprezentate prin datele stocate în baza de date.
Atributul este o proprietate sau caracteristic unei entităŃi ce prezintă interes pentru
firmă. La fel ca tipurile de entităŃi, numele de atribute se scriu cu litere mari şi sunt plasate în
interiorul unor elipse şi sunt legate cu entitatea căreia îi sunt ataşate, spre exemplu:
141
Managementul şi proiectarea sistemelor informatice de gestiune
ANGAJAT
MARCĂ ADRESA
Fiecare entitate trebuie să aibă un atribut sau set de atribute prin care se efectuează
diferenŃierea unui caz de acelaşi tip, care se va sublinia.
RelaŃia este o asociere între cazurile / instanŃele uneia sau mai multor tipuri de entităŃi
ce prezintă interes pentru firmă. Aceasta este simbolizată de regulă printr-un romb ( ). În
general relaŃiile sunt redate prin verbe. În continuare prezentăm simbolurile folosite la
diagrama entitate relaŃie.
1 M
VÂNZARE Desfacere PRODUS VÂNDUT
M N
FURNIZOR Livrează PRODUS
142
ImportanŃa modelării datelor
PRODUS FURNIZOR
SURSĂ PRODUS
Se folosesc notaŃiile:
• linia simplă fără săgeată este 1 (unu)
• linia finalizată cu săgeată arată M (mulŃi)
• relaŃia opŃională este marcată cu un cerc plasat la mijlocul liniei ce uneşte
entităŃile, astfel:
• - într-un simbol arată repetiŃie, care poate fi pentru simbol sau pentru un grup
de simboluri. Spre exemplu: ciclul de viaŃă a unui calculator:
CALCULATOR
Cumpărare
Sesiune de lucru *
ReparaŃii ÎntreŃinere
Casare
143
Managementul şi proiectarea sistemelor informatice de gestiune
Aceste legături se pot reda matricial pentru orice problemă economică. Dacă o
aplicaŃie utilizează mai multe ecrane, cu proiectanŃi diferiŃi, este necesară realizarea unei
matrice care să prezinte datele elementare ce apar în acele ecrane. Ecranele similare se pot
depista cu uşurinŃă dacă numărul lor este mic şi datele elementare sunt puŃine.
Probleme sunt atunci când numărul ecranelor şi al datelor este de ordinul sutelor, în
acest caz doar calculatorul poate face analize minuŃioase.
Produsul CASE, are utilitarul EXCELERATOR, numit Proiect de ecrane/rapoarte
echivalente, prin care se listează ecranele şi rapoartele ce folosesc exact aceleaşi date
elementare.
Există şi posibilitatea obŃinerii unui raport al Proiectelor de subseturi de
ecrane/rapoarte, care pot afla locurile în care anumite elemente utilizate sunt subseturi ale
elementelor utilizate de altele.
144
Proiectarea bazei informaŃionale a noului sistem.
145
Managementul şi proiectarea sistemelor informatice de gestiune
condiŃiile realizării unui sistem informatic mic, ce poate fi caracterizat prin dinamismul
ieşirilor solicitate în funcŃie de varietatea obiectivelor.
Stabilirea conŃinutului bazei informaŃionale prin varianta ieşiri-intrări necesită
studierea mulŃimii atributelor din situaŃiile de ieşire în funcŃie de modul obŃinerii lor la
calculator şi structurarea lor în două submulŃimi:
• submulŃimea atributelor de ieşire – ce se obŃin prin simpla preluare sau
reducere a unor atribute sinonime din conŃinutul bazei informaŃionale. De
exemplu: “SituaŃia valorii materiale intrate”, informaŃiile: cod furnizor, număr
factură, cont corespondent şi preŃ unitar sunt atribute de ieşire obŃinute prin
simpla preluare a lor din conŃinutul bazei informaŃionale;
• submulŃimea atributelor de ieşire obŃinute ca rezultat al utilizării unui
algoritm sau grup de algoritmi – Ea se va descompune în continuare cu
ajutorul algoritmului în operanzi primari. Operandul primar fiind un atribut
ce nu se mai poate descompune în alte atribute.
Exemplu: aceeaşi situaŃie ca la submulŃimea precedentă, valoarea se determină
prin algoritmul:
Valoarep = preŃ livrarep * cantitatep, iar valoarea totală a facturii se determină
n
prin algoritmul: Valoare totală f = ∑Val
p =1
p
SOLD GESTIUNE
Σ CANT I. Σ CANT E.
146
Proiectarea bazei informaŃionale a noului sistem.
E1 Ap
E2 Op
I Ae
Ei Ac
Algoritmi
147
Managementul şi proiectarea sistemelor informatice de gestiune
ANALIZA DATELOR
N.I D. D. E1 E2 E3 E4 A. S. D. S1 S2 S3 S4 S5 S6
. R. N. C. E. D
148
Proiectarea bazei informaŃionale a noului sistem.
149
Managementul şi proiectarea sistemelor informatice de gestiune
CorespondenŃa de tipul 1÷1, este aceea în care unui element din domeniu îi
corespunde un sigur element în codomeniu, cu menŃiunea că pot exista elemente din domeniu
ce au corespondenŃă un codomeniu.
CorespondenŃa de tipul 1÷n este aceea în care unui element din domeniu îi corespunde
0,1 sau mai multe elemente (maxim n) din codomeniu, iar unui element din codomeniu îi
corespunde 0 sau 1 element din domeniu.
CorespondenŃa de tipul m÷n este aceea în care unui element din domeniu îi
corespunde 0,1 sau mai multe elemente din codomeniu (maxim n), iar unui element din
codomeniu îi corespunde 0,1 sau mai multe elemente din domeniu (maxim m).
Pe baza modelului EAC, stabilirea structurii bazei informaŃionale se realizează prin
fazele: definirea entităŃilor bazei informaŃionale, definirea atributelor specifice entităŃilor,
stabilirea corespondenŃelor dintre entităŃi, optimizarea structurii bazei informaŃionale,
reprezentarea structurii bazei informaŃionale.
a) Definirea entităŃilor bazei informaŃionale.
Ea se realizează prin structurarea nucleului informaŃional în entităŃi şi stabilirea
atributelor de legătură dintre acestea în funcŃie de unele criterii ca:
• omogenizarea atributelor şi semantica acestora în funcŃie de natura economică
• domeniul de activitate sau subactivitate reflectat de atributele bazei
informaŃionale
• sfera de cunoaştere reflectată de atributele bazei informaŃionale
• omogenitatea nivelului de sinteză şi atributelor bazei informaŃionale
• stabilirea în timp a conŃinutului atributelor
• omogenitatea proceselor de prelucrare aplicate atributelor bazei informaŃionale
• frecvenŃa de apariŃie şi utilizare a atributelor bazei informaŃionale
• sursa de furnizarea atributelor care formează conŃinutul bazei informaŃionale
(activitate, subactivitate, comportamente funcŃionale, documente, etc…)
Practic la stabilirea structurii bazei informaŃionale criteriile menŃionate mai sus, pot fi
folosite individual sau combinate la stabilirea setului de entităŃi ce se reflectă cel mai bine în
obiectivele solicitate şi în performanŃele sistemului informatic. În urma determinării entităŃilor
se vor stabili corespondenŃele dintre ele pe baza atributelor de legătură.
b) Definirea atributelor specifice entităŃilor.
Cu ajutorul lor se stabilesc formele de exprimare într-o manieră generală, recunoscută
şi folosită în mod unitar de către administratorul bazei informaŃionale. Deci numai
administratorul bazei informaŃionale stabileşte definiŃiile descriptive specifice fiecărui atribut,
inclusiv modul direct sau indirect de utilizare în vederea asigurării unor deziderate ca:
• stabilirea unei concordanŃe depline între definiŃiile descriptive ale fiecărui
atribut şi semantica acestora în contextul fenomenelor şi proceselor economice
reflectate de baza informaŃională
• prezentarea descriptivă a atributelor astfel încât să asigure viziunea şi
realizarea ulterioară de către administratorul bazei a unui dicŃionar al
atributelor ce se va folosi în etapa proiectării de detaliu şi trebuie să surprindă
obiectiv realitatea fenomenelor şi proceselor economice
Prin proiectarea generală se stabilesc definiŃiile convenŃionale de utilizare a fiecărui
atribut (conform figurii 4.15) caracterizat prin elementele:
• identificatorul atributelor, care trebuie să fie unic şi format din maxim 30
caractere alfanumerice inclusiv caracterele “-“şi “:” cu condiŃia ca numele să
nu înceapă printr-un caracter special
• tipul atributului poate fi: numeric, alfabetic, alfanumeric sau logică, etc…
150
Proiectarea bazei informaŃionale a noului sistem.
IDENTIFICATOR ATRIBUT
151
Managementul şi proiectarea sistemelor informatice de gestiune
corespondenŃele sunt de tipul m÷n, deoarece în domeniu cât şi în codomeniu sunt mai multe
realizări.
Succesiunea logică a atributelor ce se defineşte prin entitate, este în funcŃie de modul
de desfăşurare a procesului de producŃie şi permite utilizarea de corespondenŃe de tipul 1÷1,
1÷n, m÷n, în scopul asigurării continuităŃii activităŃilor prin intermediul structurii bazei
informaŃionale.
Cardinalitatea minimă şi maximă a entităŃilor presupune folosirea unor componente
în concordanŃă cu numărul de utilizări posibile ale fiecărei realizări pentru fiecare tip de
entitate în cadrul unui tip de corespondenŃă. Deci cardinalitatea minimă exprimă numărul
minim de utilizări posibile ale fiecărei realizări pentru un tip de entitate în cadrul unui tip de
corespondenŃă, în timp ce cardinalitatea maximă arată numărul maxim de realizări. La
proiectarea corespondenŃelor dintre entităŃi se pot întâlni mai multe tipuri de dependenŃe,
dintre care amintim:
1. DependenŃa funcŃională simplă dintre două atribute notate x şi y, este realizată
dacă în intervalul de existenŃă al bazei o realizare a atributului x determină o singură realizare
a atributului y, proprietate reflectată prin rotaŃia E·X →E·Y, unde E este entitatea ce conŃine
atributele x şi y, exemplu:
DependenŃă
COD-PRODUS DENUMIRE-PRODUS
funcŃională simplă
PREł-UNITAR
CHEIE PRIMARĂ
(atribut independent) (atribute dependente)
2. DependenŃa funcŃională multiplă dintre două atribute notat x şi y, este realizată
dacă în intervalul existent al bazei o realizare a atributelor x determină mai multe realizări ale
atributului y, proprietate reflectată de notaŃia E·x→E·B. De exemplu:
DependenŃă
COD-SECTIE COD-ATELIER
funcŃională multiplă
(atribut independent) (atribut dependent)
Pentru dependenŃele funcŃionale simple sau multiple se pot face combinaŃii ale
acestora pentru evidenŃierea cât mai veridică a tuturor legăturilor dintre atribute. De exemplu:
DENUMIRE-ATELIER
MARCA
(atribut independent) (atribut dependent) (atribut dependent)
cheie de legătură cheie primară cheie finală
152
Formalizarea atributelor
153
Managementul şi proiectarea sistemelor informatice de gestiune
154
Formalizarea atributelor
crescător imediat disponibil. Codurile secvenŃiale sunt realizate în funcŃie de caracterele unui
sistem de numeraŃie (b) şi lungimea simbolului propus (n), ceea ce asigură o lungime maximă
a codului (Lmax = bn) . Lungimea codului va include un număr maxim de elemente dependent
de valorile lui b şi n.
b) Codurile secvenŃiale pe grupe sunt formate prin rezervarea unui set maxim de
simboluri pentru fiecare tip de atribut omogen caracterizat prin particularităŃi comune ce
formează o grupă specifică supusă codificării. Aceste grupe sunt dependente de specificul
economic al atributelor şi de cerinŃele de prelucrare omogenă ale acestora, cu precizia că în
cadrul fiecărei grupe i se vor atribui coduri secvenŃiale până la valoarea maximă rezervată
acesteia.
c) Coduri cu semnificaŃie mnemonică. Acestea se formează fie din consoanele unui
cuvânt sau prin prescurtarea (abrevierea) denumirii elementului codificat şi este folosit cel
mai des în prelucrări normale.
d) Coduri cu semnificaŃie descriptivă. Ele se formează prin combinarea iniŃială
denumirii cu caracteristicile tehnico-constructive ale elementelor de codificare şi este folosit
în mod special la nomenclatoarele produselor industriale.
2. Coduri complexe. Ele conŃin atribute ce aparŃin unor mulŃimi destinate, ce se
folosesc în mod unitar. Aici sunt incluse codurile ierarhizate, juxtapuse şi combinate.
a) Coduri ierarhizate. Ele sunt utilizate atunci când există relaŃii de subordonare între
atributele mulŃimii cărora le aparŃin. De aici fac parte cele ierarhizate şi zecimal.
Cele ierarhizate simplu ne redau modul de subordonare a atributelor din mulŃimile ce
formează structura codului.
Cele ierarhizate zecimal ne redau modul de subordonare a atributelor ce sunt ordonate
pe grupe şi secvenŃial crescător în cadrul acestora.
b) Coduri juxtapuse. Ele sunt obŃinute prin concatenarea codurilor asociate unor
atribute individuale ce au o semnificaŃie distinctă în vederea utilizării grupate sau individual a
atributelor codificate.
O structură de cod juxtapus prezentăm în exemplul următor:
9 99 99 9999
Marca
Echipă
Atelier
SecŃie
Acest exemplu ne prezintă formarea corectă a unui cod de marcă pentru un salariat al
unei secŃii, dintr-un atelier al secŃiei şi făcând parte dintr-o echipă de lucru.
c) Codurile combinate. Acestea surprind structura lor relaŃiile logice existente între
diferite proprietăŃi ale atributelor cuprinse în cadrul conŃinutului bazei informaŃionale. De aici
fac parte codurile matriciale şi cele cu bază binară.
Cele matriciale sau şah se utilizează în cazul că atributele de codificat pot fi
caracterizate de două posibilităŃi ce pot fi combinate prin intermediul unui cod.
Cele cu bază binară se folosesc pentru a reflecta în mod sugestiv şi simplu prezenŃa
sau absenŃa însuşirilor ce caracterizează simultan atributele bazei informaŃionale. Aceste
însuşiri se codifică prin puterile lui 2 (ce e bază de numeraŃie a sistemului binar) şi fiecare
poate lua valorile 0 sau 1 în funcŃie de prezenŃa sau absenŃa proprietăŃii atributului respectiv.
155
Managementul şi proiectarea sistemelor informatice de gestiune
6+ 14+ 8+ 6+ 4+ 4 = 42
C = 50-42 = 8
Avantajul ei constă în simplitatea şi acurateŃea acesteia, iar dezavantajul constă în
imposibilitatea sesizării erorilor de compensare.
b. Metoda modulo 9 stabileşte cheia de control (C) pe baza sumei produselor obŃinută
prin înmulŃirea fiecărei cifre a codului (Ci), cu anumite valori convenŃional alese, numite
pierderi (Pi ) ale codului, care de obicei sunt cifrele de la 1 la 9 mai puŃin 3 şi multiplii lui,
completat de la dreapta spre stânga de câte ori e necesar, sumă ce se împarte la modul (la noi
9) se obŃine un cât şi un rest (R). Algoritmul este:
n
S
S = ∑ Ci P i . ; = cit + R ; apoi se calculează cifra de control: C = 9 - R
i =1 9
Exemplu:
6 7 8 3 4 2 3
8 7 5 4 2 1 C
156
Formalizarea atributelor
De mărimea lui x depinde numărul de cifre ale cheii de control dacă este format din 2
cifre va rezulta un număr de control, iar dacă este format dintr-o cifră va rezulta cifră de
control.
Exemplu:
6 7 8 3 4 2 22
25 24 23 22 21 20 Nr. Control
157
Managementul şi proiectarea sistemelor informatice de gestiune
cele două etape şi execuŃia procedurii durează mult din cauza reluării procedurii de
identificare pentru fiecare înregistrare.
158
Formalizarea atributelor
159
Managementul şi proiectarea sistemelor informatice de gestiune
160
Proiectarea structurală şi funcŃională a noului sistem informatic
INTRĂRI IEŞIRI
PRELUCRĂRI
Documente de
intrare Obiectivele sistemu-
lui informatic
SituaŃii de
Proiectarea documente- ieşire
lor de intrare
Atribute calculate
Codificarea atributelor
bazei informaŃionale Atribute preluate
Algoritmi de
Operatori primari calcul
EntităŃile de bază
ConŃinutul bazei
161
Managementul şi proiectarea sistemelor informatice de gestiune
162
Proiectarea structurală şi funcŃională a noului sistem informatic
funcŃionale complexe şi eterogene din punct de vedere al naturii prelucrărilor sale, datorită
acestui inconvenient acest criteriu se va aplica împreună cu alte criterii.
Ciclurile de funcŃionare ale sistemului informatic definesc natura prelucrărilor
automate ce se realizează în mod recursiv (ciclic) şi constau în crearea iniŃială şi actualizarea
colecŃiilor de date, exploatarea lor şi obŃinerea situaŃiilor solicitate de utilizatorii, inclusiv
realizarea unor interfeŃe cu alte sisteme informatice. Criteriul ne permite structurarea în trei
tipuri de unităŃi funcŃionale, astfel:
• unitate funcŃională de creare iniŃială şi actualizare a colecŃiilor de date –ce
va cuprinde operaŃiile de introducere a datelor în colecŃie, validarea lor,
inclusiv operaŃiilor de conducere la zi a conŃinutului de date;
• unitate funcŃională de exploatare a colecŃiilor de date şi obŃinere a
situaŃiilor de ieşire – ce va conŃine operaŃiile de exploatare a colecŃiilor de
date şi sortarea acestora în funcŃie de necesităŃile beneficiarului;
• unitate funcŃională ce reprezintă interfeŃele cu alte sisteme informatice –
în condiŃiile prelucrărilor distribuite a colecŃiilor de date. InterfaŃa poate fi şi
între două execuŃii succesive ale aceleaşi unităŃi funcŃionale sau pentru
realizarea unor legături între unităŃi funcŃionale distincte.
InterfaŃa este un ansamblu omogen de proceduri şi date care asigură conversia şi
comunicarea între două sau mai multe proceduri succesive. Concret interfeŃele dintre unităŃile
funcŃionale sunt reprezentate de colecŃii de date obŃinute ca ieşiri ale altei unităŃi funcŃionale
şi utilizate în continuare ca intrări într-o altă unitate funcŃională.
Ele se realizează prin procedeul recursivităŃii cumulate conform căruia colecŃiile de
date dintr-o perioadă precedentă devine colecŃie de intrare a perioadelor următoare, procedeu
care se reia la fiecare moment al prelucrării. Ele se realizează în funcŃie de unele condiŃii ale
prelucrării, ce necesită eventual agregarea sau dezagregarea datelor.
FrecvenŃele sau termenele de realizare ale prelucrărilor specific noului sistem sunt
folosite pentru unităŃi funcŃionale ce au prelucrări omogene la anumite termene sau frecvenŃe
fixe. Acestea sunt dependente direct de ritmicitatea obŃinerii situaŃiilor de ieşire, lucru ce
impune gruparea prelucrărilor corespunzătoare în unităŃi funcŃionale distincte. Sunt şi unele
situaŃii în care algoritmul de prelucrare sau de obŃinere a situaŃiilor de ieşire impune o anumită
frecvenŃă de execuŃie într-o anumită perioadă de timp.
Prin folosirea criteriilor amintite la structurarea sistemului în subsisteme şi unităŃi
funcŃionale, se va realiza o structurare de corespunzătoare a noului sistem.
b) Asigurarea funcŃionalităŃii noului sistem, asigură realizarea de corelări cât mai
bune între obiectivele sistemului şi modul concret de asamblare a subsistemelor, aplicaŃiilor şi
unităŃilor funcŃionale astfel încât numărul lor să fie minim iar gradul de prelucrare la maxim.
Prin care se urmăreşte realizarea unei simbioze cât mai naturale şi eficiente între funcŃiile
noului sistem şi modul de informatizare practică a acestora.
Cu ajutorul ei se poate decide în raport de complexitatea noului sistem să se realizeze
subsisteme, aplicaŃii şi unităŃi funcŃionale în raport de natura activităŃilor desfăşurate în
compartimentele funcŃionale ale unităŃii beneficiare.
Unele variante funcŃionale se obŃin din necesitatea asigurării de organizări optime
pentru noul sistem. Ele se datorează multitudinii posibilităŃilor de combinare a subsistemelor,
aplicaŃi şi unităŃilor funcŃionale pentru activităŃile şi compartimentele implicate în noul sistem.
c) Definirea organizării prelucrărilor şi a fluxurilor informaŃionale între
compartimentele implicate în noul sistem. Ea are în vedere elementele structurate ale
unităŃilor funcŃionale şi a modului de legătură între activitatea desfăşurată la compartimentul
de informatică şi compartimentele implicate în noul sistem.
Componentele structurale ale unităŃii funcŃionale sunt definite în succesiunea:
163
Managementul şi proiectarea sistemelor informatice de gestiune
F N S
FrecvenŃa fluxurilor de prelucrare;
Numărul unităŃii funcŃionale (UF)
Fluxul de prelucrare a unităŃii funcŃionale.
Elementele structurale ale unităŃii funcŃionale intră în legătură cu compartimentele
funcŃionale cu ajutorul documentelor de intrare sau al situaŃiilor de ieşire, cu scopul realizării
conexiunii dintre unitatea de informatică unde vor fi prelucrate datele şi compartimentele
unităŃii beneficiare în cadrul ansamblului general de organizare a noului sistem.
164
Modelarea conceptuală a datelor cu produsele CASE
Primele sisteme CASE erau un set de aplicaŃi neintegrate, cu funcŃii distincte, fără a fi
interconectate. Aceste limite au fost eliminate, în cea mai mare parte, prin generaŃiile actuale,
care încearcă să realizeze o integrare completă şi uşoară a tuturor elementelor, integrarea
reprezentând de fapt, factorul cel mai important al metodologiei CASE. CASE se bazează pe
două funcŃii fundamentale: - prima este bazată pe posibilitatea descompunerii de sus în jos
(top-down) a sistemului informatic în procese şi module distincte, fiecare având definite
responsabilităŃile funcŃionale şi/sau operaŃionale; odată cu orientarea spre obiecte, funcŃiile se
înlocuiesc cu obiectele care îndeplinesc funcŃia, ceea ce uşurează controlul procesului; - a
doua se referă la faptul că sistemele informaŃionale pot fi reprezentate într-o formă grafică
concisă, folosind câteva simboluri de bază. ImportanŃa acestor funcŃii rezidă în posibilitatea
utilizării modularizării aplicaŃiilor, a diagramelor, obŃinerea unei documentaŃii privind
realizarea, evaluarea arhitecturii şi utilizarea sistemului. Pentru definirea şi construirea
sistemelor, produsele CASE presupun stabilirea şi respectarea unei anumite discipline.
Metodologia oferă o interfaŃă între crearea şi verificarea/validarea proiectului logic,
dezvoltarea unei biblioteci cu documentaŃii, care include şi integrează caracteristicile
proceselor şi paşii de parcurs, pentru descrierea modului de lucru; oferă un model al
produsului final, ce poate fi folosit în realizarea operaŃiilor de exploatare şi întreŃinere a
sistemului/aplicaŃiei şi oferă o interfaŃă pentru păstrarea evoluŃiei proiectului. Folosirea
reprezentărilor grafice în logica CASE oferă posibilitatea descompunerii aplicaŃiei în mai
multe componente logice. Prin ataşarea unei baze de date la elementele grafice, se va obŃine
un depozit ce va conŃine paşii şi funcŃiile reprezentate în diagramele construite. Dacă aceste
elemente sunt corect stabilite, ele vor sta la baza descrierii proceselor, ce vor constitui
procedurile de prelucrare a sistemului /aplicaŃiei.
Modelarea grafică în sistemele CASE prezintă o interactivitate ridicată, permiŃând
construirea diagramelor, deplasarea de la o diagramă la alta, modificarea, extinderea,
copierea, evaluarea şi descrierea elementelor unei aplicaŃii. Modelele grafice permit
conectarea fluxurilor logice între activităŃile şi funcŃiile specifice aplicaŃiei, relaŃii care
pot fi testate şi validate în mod automat.
Din punct de vedere al momentului în care a avut loc automatizarea fazelor din ciclul
de viaŃă al sistemelor, se consideră că analiza şi proiectarea reprezintă faze superioare, adică
au fost automatizate mai recent. Instrumentele CASE referitoare la aceste faze se numesc
Upper CASE sau Front End, iar cele referitoare la fazele care au fost automatizate primele
se numesc Lower CASE sau Back End.
CASE realizează două funcŃii principale în modelarea conceptuală a datelor şi anume:
• întreŃinerea diagramelor entitate-relaŃie (DER), astfel ca în orice moment să
reflecte vizual cerinŃele structurale ale datelor;
• legarea obiectelor DER de descrierile lor din depozit.
Majoritatea produselor CASE oferă posibilitatea realizării DER în condiŃiile utilizării
mai multor sisteme de matrice (Chen, Ross, laba-gâştei, etc.).
Elementele modelării conceptuale a datelor incluse într-un depozit sunt următoarele:
- Entity (entitate): - categorie majoră a datelor:
- Name – numele de etichetă unic
- Description – explicaŃia clară a obiectului
- Alias – nume diferit pentru acea entitate
- Primary key – identificatorul unic al entităŃii
- Attributes and repetition – numărul de repetiŃii al atributului
- Abstraction – specificarea super claselor sau subclaselor.
- Attribute (atribute): - caracteristicile entităŃii:
- Name – numele de etichetă al atributului
- Description – descrierea clară a atributului
165
Managementul şi proiectarea sistemelor informatice de gestiune
166
Modelarea conceptuală a datelor cu produsele CASE
ÎntreŃinere aplicaŃie
şi reproiectare
167
Managementul şi proiectarea sistemelor informatice de gestiune
168
Alegerea soluŃiei optime de gestiune a datelor şi a calculatorului
• faza întâi –presupune stabilirea unor criterii cantitative sau calitative, pe care
trebuie să le realizeze noul sistem informatic, lucru ce impune o ierarhizare a
acestora;
• faza a doua – consideră mai multe variante de abordare a proiectării de detaliu
cuantificabile în funcŃie de criteriile specifice în faza întâi;
• faza a treia – asigură determinarea variantei optime dintre cele preconizate la
faza a doua pe baza criteriilor de evaluare specificate în faza întâi.
Faza întâi are în vedere mai multe criterii cantitative sau calitative ce se stabilesc
după:
• gradul de dispersie a structurilor organizatorice implicate în funcŃionarea
noului sistem informatic;
• volumul şi frecvenŃa datelor de intrare-ieşire;
• tipul de gestiune al datelor ce se va utiliza pentru noul sistem informatic,
corelat cu tipul de calculator aflat în dotarea unităŃilor beneficiare sau care
urmează a fi achiziŃionat;
• tipul de reacŃie al noului sistem informatic.
Faza a doua consideră mai multe variante de abordare a proiectării de detaliu a noului
sistem informatic stabilindu-se pentru fiecare criteriu valorile corespunzătoare. Valorile
criteriilor pentru variantele preconizate pot avea un anumit optim, care pot fi de tip maxim, de
tip minim sau impus de către conducerea unităŃii beneficiare sau de şeful echipei de
proiectare.
După criteriile de evaluare a noului sistem informatic şi după tipul optim aferent
fiecărui criteriu se vor determina valorile specifice variantelor de abordare a proiectării de
detaliu a noului sistem.
Faza a treia asigură determinarea variantei optime pe baza unui sistem de ponderi
notate “Piv” ce se determină astfel:
1. Dacă criteriul “i” pentru varianta “v” îndeplineşte tipul de optim aferent criteriului,
atunci ponderea va fi notată şi evaluată cu 100 puncte:
Pivoptim =100
2. Dacă criteriului “i” pentru varianta “v” nu îndeplineşte tipul de optim aferent
criteriului, atunci ponderea va fi notată şi evaluată cu zero puncte:
Pivoptim = 0
3. Pentru criteriul “i” corespunzător variantelor “v”aflate între optim şi negativ,
ponderile “Piv” se pot determina mai multe modele, prin folosirea procedee statistice ( acestea
nu se prezintă deoarece nu fac obiectul prezentei cărŃi).
Calitatea variantelor de abordare a proiectării de detaliu depinde de alegerea celui mai
adecvat tip de sistem al gestiunii de date şi de cele mai performante soluŃii de proiectare a
colecŃiilor de date.
169
Managementul şi proiectarea sistemelor informatice de gestiune
mică unui criteriu considerat semnificativ din punctul său de vedere. În acest scop, de alegere
cât mai bine a SGBD-ului se folosesc mai multe metode, dintre care unele le vom prezenta în
cele ce urmează.
Metoda SIBLEY presupune alegerea unui SGBD prin compararea cerinŃelor noului
sistem informatic cu caracteristicile funcŃionale ale SGBD-urilor luate în considerare. Se va
alege acel SGBD ce va satisface cel mai mult realizarea practică a cerinŃelor de bază ale
noului sistem informatic.
Metoda PECK permite alegerea unui SGBD în raport de caracteristicile funcŃionale şi
de calitatea acestuia. Caracteristicile se pot grupa în mai multe domenii funcŃionale (ca de
exemplu: organizarea datelor, prelucrarea entităŃilor, interfaŃa dintre date, securitatea şi
protecŃia datelor, etc.), urmând ca pentru fiecare dintre acestea să se acorde o pondere care să
exprime importanŃa relativă a fiecărui domeniu funcŃional. Suma ponderilor astfel atribuite nu
trebuie să depăşească 100. Pentru stabilirea calităŃii SGBD-urilor se mai poate face şi prin
atribute specifice (exemplu: arhitectura, flexibilitatea, facilitatea în utilizare, gradul de
modularizare şi de adaptabilitate a sa la care se acordă un sistem de ponderi ce va exprima
importanŃa relativă a fiecărui criteriu cu specificaŃia că suma acestor ponderi nu poate depăşi
100. Va fi ales acel SGBD care întruneşte punctajul maxim al ponderilor acordate pentru
calitatea şi caracteristicile sale funcŃionale.
Metoda ROSS duce la alegerea SGBD-ului în raport de o listă de criterii ce urmează
caracteristicile sale şi un algoritm de selecŃie bazat pe un sistem de ponderi atribuite fiecărui
criteriu. Fiecărui criteriu i se acordă o pondere între 0 şi 100, iar cuantificarea măsurii în care
un anumit SGBD asigură realizarea unui criteriu se acordă o pondere de la 0 la 10 puncte.
Algoritmul de alegere va calcula produsele dintre ponderile astfel atribuite şi va alege acel
SGBD ce are maximum de punctaj.
Metoda REPERELOR permite alegerea SGBD în situaŃia că beneficiarul vizează un
grup de funcŃii semnificative ale sistemului informatic, ce se numesc repere şi care sunt
asigurate în cel mai înalt grad de acesta.
Metoda SELECłIE permite alegerea unui SGBD prin utilizarea unei liste de
cerinŃele specificate de utilizator şi a alteia cu defectele admise în funcŃionarea acestuia.
Algoritmul alegerii constă în confruntarea maximă a cerinŃelor specifice ale sistemului
informatic şi minimizarea defectelor ce pot apare în funcŃionarea SGBD-ului.
170
Etapele de realizare a bazelor de date
a datelor -LDD, limbajele de manipulare a datelor -LMD, etc.), care vor fi prezentate în acest
capitol sau în capitolele următoare.
171
Managementul şi proiectarea sistemelor informatice de gestiune
Această structură arată, în fapt un model de date, care este exprimat în conceptul unui
anumit SGBD, lucru ce determină proiectarea structurii bazei de date să arate transpunerea
modelelor conceptuale în termenii unui model de date suportat de un anumit SGBD.
În prezent există o tendinŃă ce se manifestă spre nuanŃarea şi îmbogăŃirea modelelor de
date cu care operează SGBD-urile, determină ca trecerea de la etapa de analiză la cea de
proiectare a structurii bazei de date să fie mai simplă şi mai facil de realizat.
Pentru realizare etapei de proiectare a structurii bazei de date trebuie parcurse
următoarele activităŃi:
• alegerea SGBD-ului
• proiectarea schemei conceptuale a bazei de date
• proiectarea schemei externe sau subschema bazei de date
• proiectarea schemei interne sau de memorare a bazei de date
ActivităŃile prezentate sunt puternic influenŃate de tipul bazei de date ce se va proiecta.
În acest paragraf vom prezenta doar aspectele generale ale activităŃilor, iar elementele
specifice se vor prezenta în cadrul programări SGBD-lui, la tipul de bază de date respectiv, ce
nu este obiectul acestui curs.
172
Proiectarea orientată pe obiect (OOD)
Când efortul de întreŃinere a bazei este foarte ridicat se poate lua decizia abandonării
bazei de date şi realizarea alteia noi, care să aibă performanŃe sporite în toate direcŃiile.
Introducerea
în bibliotecă
Codificare
Proiectarea
modulelor
Specificarea
modulului
Lumea reală
173
Managementul şi proiectarea sistemelor informatice de gestiune
174
Verificarea în timpul fazei de proiectare
computerele de tactică şi de arme astfel încât noile sugestii să fie în condiŃii actuale şi nu
sugerate.
O altă dificultate legată de sistemele în timp real este problema sincronizării. Să
presupunem că un sistem în timp real trebuie să fie implementat pe hardware distribuit.
SituaŃii precum impasul pot apărea când 2 acŃiune au fiecare drept de utilizare exclusiv asupra
unei unităŃi de date şi fiecare are dreptul exclusiv de utilizare asupra unei alte unităŃi de date.
BineînŃeles că impasul nu apare doar în cazul sistemelor în timp real implementate pe
hardware distribuit. Dar generează probleme în special în cazul sistemelor în timp real unde
nu există nici un control asupra ordinii şi a programării input-urilor şi situaŃia poate fi
complicată şi de natura distribuită a hardware-ului. Pe lângă impas (punctul mort) mai pot
apărea şi alte probleme de sincronizare, incluzând condiŃii de competiŃie.
Din aceste exemple, este clar că cea mai mare dificultate cu privire la proiectarea
sistemelor în timp real o constituie asigurarea că constrângerile legate de execuŃia în timp
corespunde cu proiectarea. Adică, tehnicile de proiectare ar trebui să asigure un minimum de
control al faptului că atunci când va fi implementat, proiectul va fi capabil să citească şi să
proceseze datele de intrare la rata corectă
Încă de la începutul erei calculatoarelor, avantajele în tehnologia hardware au depăşit
în aproape orice aspect, avantajele în tehnologia software. Deci, deşi hardware-ul există
pentru a manevra orice aspect al sistemelor în timp real descrise mai sus, tehnologia de
proiectare software a rămas cu mult în urmă. În câteva aspecte ale ingineriei software în timp
real, au fost făcute progrese importante. De exemplu: multe dintre specificaŃiile tehnice pot fi
folosite pentru a specifica sistemele în timp real. Din nefericire proiectarea software nu a atins
acelaşi grad de sofisticare. Au fost făcuŃi paşi mari, dar starea curentă nu se poate compara
încă cu modificările legate de specificaŃiile tehnice deoarece aproape orice tehnică de
proiectare pentru sisteme în timp real este preferabilă în locul nici unei tehnici, un număr de
tehnici de proiectare în timp real sunt folosite în practică. Dar este un drum lung până când va
fi posibilă proiectarea sistemelor în timp real aşa cum a fost descrisă anterior şi până când va
exista certitudinea că sistemul să fie implementat, orice constrângere de timp va fi realizată şi
nu vor apărea probleme legate de proiectare.
Cele mai multe tehnici de proiectare în timp real sunt extensii ale tehnicilor în timp
nereal, către domeniul în timp real. De exemplu: dezvoltarea structurată pentru sistemele în
timp real (SDRTS) este în mod esenŃial o extensie a analizei sistemelor structurate, a analizei
fluxului de date şi a analizei tranzacŃiilor către software-ul în timp real. Tehnicile de
dezvoltare include o componentă pentru proiectarea în timp real. Altă extensie a aceluiaşi
grup de tehnici pentru domeniul în timp real este proiectarea accesului pentru sisteme în timp
real (DARTS - design approach for real time systems). Reducerea costului software (SCR -
software cost reduction) este o tehnică de proiectare în timp real bazată pe conceptul
ascunderii informaŃiei.
Aşa cum s-a prezentat, din păcate, starea la care se află proiectarea în timp real nu este
atât de asumată precum s-ar dori. Cu toate acestea se fac eforturi asidue pentru a îmbunătăŃi
situaŃia prezentată.
175
Managementul şi proiectarea sistemelor informatice de gestiune
176
ComparaŃia tehnicilor de specificaŃii
177
Managementul şi proiectarea sistemelor informatice de gestiune
178
Prototipizarea rapidă ca o tehnică de specificaŃie
179
Managementul şi proiectarea sistemelor informatice de gestiune
Verificare Verificare
Faza de specificaŃii
Verificare
Faza de proiectare
Verificare
Dezvoltare
Faza de implementare
ÎntreŃinere
Test
Faza de integrare
Test
Modul de operaŃii
Retragere
Figura 4.21 Modelul de prototipizare
180
ImplicaŃiile manageriale ale modelului de prototip rapid
Un rezultat mai important este acela că de fapt conducerea modelului de prototip rapid
cere o schimbare majoră a concepŃiei pentru managerul care este obişnuit să conducă numai
modelul de tip cascadă. ConcepŃia de la baza modelului de tip cascadă este de a face lucrurile
corect de la început. Desigur, modelul de tip cascadă încorporează bucle de feedback dacă
echipa nu atinge acest scop (scopul se atinge oricum rar). Idealul pentru echipa care realizează
modelul de tip cascadă este executarea fiecărei faze a procesului de dezvoltare o singură dată.
În schimb, prototipul rapid este specific construit pentru schimbări frecvente. Acest concept
este diametral opus apropierii cu care un manager este obişnuit. Apropierea prototipului rapid
constă în realizarea mai multor iteraŃii care ne dau un model mai realist decât cel obŃinut de
cel de tip cascadă. Această logică poate convinge un manager să folosească modelul de
prototip rapid.
Un alt aspect al modelului de prototip rapid care cere o abordare diferită din partea
managerului este creşterea interacŃiunii între client şi echipa ce realizează dezvoltarea, în
particular echipa prototipului rapid. În cazul modelului de tip cascadă, interacŃiunea dintre
client şi echipa de dezvoltare este restricŃionată la o serie de interviuri între echipa care preia
cererile şi client sau angajaŃii lui/ei. Când un prototip rapid este folosit, există aproape o
continuă interacŃiune între echipa prototipului şi echipa clientului, până când prototipul rapid
este acceptat.
NecesităŃile schimbate
Verificare
Prototipare rapidã
Verificare
Faza de proiectare
Verificare
Faza de
implementare
Faza de integrare
Test
Modul de operaŃii
Retragere
181
Managementul şi proiectarea sistemelor informatice de gestiune
182
5.
Capitolul
183
Managementul şi proiectarea sistemelor informatice de gestiune
paşi pentru analiză şi/sau proiectare de aplicaŃii informatice. OMT-ul cuprinde toate etapele
ciclului de realizare şi anume: analiză, proiectare şi implementare.
Are avantajul că foloseşte aceleaşi notaŃii pentru modelarea întregului ciclu de viaŃă al
sistemului, astfel că nu este necesară trecerea la alte notaŃii sau interpretări ale semanticii în
diferite etape de realizare.
Metoda OMT are dezavantajul că nu oferă o ghidare suficientă în etapele timpurii ale
procesului de dezvoltare al sistemului.
OMT-ul, comparativ cu celelalte metode, prezintă o mare varietate de concepte, bine
definite, precum şi legături ce pot exista între anumite concepte.
Un neajuns fundamental a abordărilor orientate pe date şi a celor orientate pe acŃiuni
este aceea că datele şi acŃiunile sunt cele 2 feŃe ale unei monede: un alineat de date nu poate fi
schimbat decât dacă o acŃiune se efectuează asupra lui, iar acŃiunile fără date asociate lor sunt
lipsite de sens. De aceea, sunt necesare tehnicile care acordă aceeaşi importanŃă datelor şi
acŃiunilor. Acest lucru este realizat de tehnicile orientate obiect. La urma urmei, un obiect
cuprinde atât datele cât şi acŃiunile. Să ne reamintim că un obiect este un exemplu a unui tip
de dată abstractă (şi mai precis a unei clase). De aceea el încorporează atât datele cât şi
acŃiunile care se efectuează asupra acestor date. Datele unui obiect pot fi numite atribute,
variabile de stare, variabile de exemplificare, câmpuri sau componente de date. AcŃiunile
sunt numite metode sau funcŃii de componente. Dar independent de terminologia folosită
pentru date şi acŃiuni, ambele sunt prezente în obiecte ca parteneri egali. Similar, în toate
tehnicile orientate obiect, datele şi acŃiunile sunt considerate de aceeaşi importanŃă, nici una
neavând prioritate asupra celeilalte.
Nu este eronat să declarăm că datele şi acŃiunile se consideră simultan în tehnicile
paradigmei orientate obiect. Din moment ce asupra îmbunătăŃirii treptate este clar că sunt
momente când datele trebuie să fie în prim plan şi momente când acŃiunile sunt mai
importante. Oricum, datelor şi acŃiunilor li se acordă egală importanŃă în timpul fazelor
paradigmei orientate obiect.
Multe motive sunt date în capitolele anterioare arătând superioritatea paradigmei
orientate obiect faŃă de paradigma structurată. La baza tuturor acestor motive stă faptul că un
obiect bine proiectat înseamnă un obiect cu înaltă coeziune şi joasă asociere modelează toate
aspectele unei entităŃi fizice. Detaliile asupra implementării sunt ascunse: singura comunicaŃie
cu obiectul este prin mesajele trimise acestuia. Ca rezultat, obiectele sunt în mod esenŃial
unităŃi independente cu interfaŃă bine definită. Deci, sunt uşor şi sigur de păstrat, şansa unei
greşeli regresive este redusă. Mai departe, obiectele se pot refolosi şi această refolosire este
legată de proprietatea de moştenire. Întorcându-ne la dezvoltarea utilizând obiecte este mai
sigur să construieşti un produs la scară mare combinând aceste blocuri fundamentale de
construcŃie software decât să foloseşti o paradigmă structurată.
Toate aceste aspecte ale superiorităŃii paradigmei orientate obiect ridică o întrebare:
dacă paradigma structurată este atât de inferioară faŃă de paradigma orientată obiect , de ce a
avut atâta succes? ExplicaŃia poate fi că paradigma structurată a fost adoptată într-un moment
când ingineria software nu era larg practicată. În schimb, software-ul era simplu “scris”.
Pentru manageri cel mai important lucru este ca programatorii să separe liniile de
cod. S-a plătit ceva mai mult decât vorbe goale pentru cererile şi specificaŃia (analiza
sistemelor) produsului, iar designul nu a fost aproape niciodată executat. Modelul
“construieşte-şi-repară” a fost tipic pentru tehnicile din anii ’70. Astfel, folosirea paradigmei
structurate a expus pentru prima dată majoritatea dezvoltătorilor software la tehnici metodice.
Aceasta conduce la o altă întrebare: cum ştim că paradigma orientată obiect este
superioară tuturor tehnicilor de azi? Nu există date disponibile care să dovedească fără
putinŃă de tăgadă că tehnologia orientată obiect este mai bună decât orice există azi, obŃinerea
unor astfel de date fiind şi greu de imaginat. Cel mai bun lucru pe care-l putem face este să ne
184
Modelul orientat pe obiect
bazăm pe experienŃele organizaŃiilor care au adoptat deja paradigma orientată obiect. Deşi nu
toate rapoartele sunt favorabile, majoritatea atesta că folosirea paradigmei orientate obiect
este o decizie înŃeleaptă.
O ultimă întrebare: nu este posibil ca într-o zi să existe ceva mai bun decât
paradigma orientată obiect? Chiar cei mai mari susŃinători nu pretind că aceasta este ultimul
răspuns la toate problemele ingineriei software. Mai departe, inginerii software de azi caută
următoarea realizare majoră. Oricum, există puŃine domenii ale străduinŃei umane în care
tehnicile trecutului sunt superioare oricărui lucru care este pus azi înainte. Tehnicile din ziua
de azi, cum ar fi paradigma orientată obiect vor fi probabil super depăşite de tehnicile
viitorului. LecŃia importantă bazată pe cunoştinŃele actuale este că tehnicile orientate obiect
par să fie cele mai bune.
185
Managementul şi proiectarea sistemelor informatice de gestiune
O metodă de determinare a claselor este deducerea lor din use-case. Aceasta înseamnă
că dezvoltătorii studiază cu atenŃie toate scenariile obişnuite şi neobişnuite şi identifică
alineatele care joacă un rol în use-case. Aşa cum vom vedea, aceste clase candidate sunt foarte
apropiate de clasele actuale extrase din modelarea clasei.
186
Metodologia OMT (Object Modeling Tehnique)
operaŃii ce definesc comportamentul obiectului respectiv. Singura parte vizibilă a unui obiect
este constituită din funcŃiile (operaŃiile) obiectului şi e numită interfaŃă.
Orice obiect are atribute şi operaŃii; atributele descriu un obiect şi sunt valori ale
datelor, iar funcŃiile (operaŃiile) definesc comportamentul obiectului. Un model de obiect este
format dintr-un număr de obiecte ce comunică între ele. Dintre acestea unele au caracteristici
comune şi pentru a păstra legătura semantică, ele sunt grupate în clase de obiecte. O clasă de
obiecte este o abstracŃie ce descrie toate caracteristicile comune ale unui grup de obiecte şi
care permite crearea de noi obiecte. Deci, descrie o mulŃime de obiecte cu atribute similare,
operaŃii similare, aceeaşi semantică şi aceeaşi relaŃie cu alte obiecte.
Evident, orice obiect face parte dintr-o clasă şi este considerat, în momentul în care
vrem să-l precizăm sau referim, ca o instanŃă a acelei clase. Fiecare instanŃă are o identitate
unică, diferenŃiind-se de alte instanŃe create pornind de la aceeaşi clasă. Dacă o instanŃă
trebuie să execute o operaŃie, selectarea operaŃiei are loc în clasa asociată instanŃei.
Implementarea unei operaŃii la un moment dat se numeşte metodă, deci, pentru o
operaŃie pot fi mai multe metode din care un obiect va selecta ce metodă vrea să execute într-o
situaŃie particulară. În metodele de obiecte ale unei aplicaŃii toate informaŃiile sunt memorate
de obiectele sale şi aceste informaŃii pot fi manipulate numai când obiectele execută operaŃii.
În obiectele/clasele de obiecte sunt ascunse atât structura cât şi implementarea
operaŃiilor prin procesul de încapsulare. La orientarea obiect construirea claselor are
caracteristicile comune ale obiectelor sau claselor de obiecte, respectiv al superclaselor sau
claselor abstracte, prin generalizare şi/sau agregare.
Similitudinile sau caracteristicile comune pot fi apoi moştenite de clasele sau obiectele
iniŃiale şi pot fi partajate între anumite clase, obŃinându-se astfel o ierarhie de moştenire în
care clasele generalizate se găsesc la nivelele superioare, iar clasele ce specializează o clasă
existentă sunt la nivelele inferioare.
Ierarhia de moştenire poate avea mai multe nivele şi poate conŃine clase concrete,
definite pentru a crea instanŃe şi clase abstracte ce nu au instanŃe, dar sunt constituite pentru a
asigura moştenirea. În orientarea obiect prin polimorfism se înŃelege faptul că o operaŃie poate
fi implementată diferit în clase diferite sau ca un atribut şi are sensuri diferite pentru clase
diferite.
Majoritatea metodelor orientate obiect utilizează reguli sau operaŃii semantice cum
sunt: generalizarea/specializarea, agregarea/descompunerea, combinate cu moştenirea şi
încapsularea.
OMT -ul propune trei tipuri de modele pentru trei scopuri diferite şi anume, modelele
care pot fi obiecte, fie interacŃiuni, fie transformări, respectiv: model obiectual, model
dinamic şi model funcŃional, conform figurii [44]:
MODEL OBIECTUAL
(obiect, lucruri)
187
Managementul şi proiectarea sistemelor informatice de gestiune
188
Metodologia OMT (Object Modeling Tehnique)
Rezultatul etapei este definirea unui model precis, concis, inteligibil şi corect al viitorului
sistem. Acest model este compus din cele trei modele amintite anterior şi anume:
• modelul obiectual ce surprinde aspecte statice
• modelul dinamic
• modelul funcŃional
Fazele analizei sunt [44]:
1. Analiza şi modelarea evenimentelor, cu activităŃile:
• scrierea declaraŃiei problemei
• analiza evenimentelor problemei
• modelarea evenimentelor
2. Construirea modelului de analiză, cu activităŃile:
• definirea modelului obiectual
• definirea modelului dinamic
• definirea modelului funcŃional
• reiterarea şi verificare
EsenŃial, relaŃiile existente între componentele modelului de analiză sunt redate în
figura 5.2.
189
Managementul şi proiectarea sistemelor informatice de gestiune
190
Metodologia OMT (Object Modeling Tehnique)
191
Managementul şi proiectarea sistemelor informatice de gestiune
192
Metodologia OMT (Object Modeling Tehnique)
Nume_actor - actor/terminator;
Flux_3
Figura 5.3 Forma generală a unui DFD
193
Managementul şi proiectarea sistemelor informatice de gestiune
FuncŃiile de control în DFD sunt funcŃii booleene ce afectează execuŃia unui proces.
Procesele din DFD trebuie implementate ca operaŃii ale obiectelor.
OperaŃiile pot fi specificate prin [4] [21]:
• funcŃii matematice, ecuaŃii între intrări şi ieşiri
• tabele de corespondenŃă între intrări şi ieşiri
• tabele de decizie
• pseudocod
• limbaj natural structurat
Furnizor_inexsistent Verifică_furnizor
Cod_furnizor
Firmă
Furnizor_existent
Cod_furnizor
Comandă
Date_furnizor externă
Furnizor
Inregistrare_furnizor Date_furnizor
Modelul funcŃional este format din DFD-uri, adică grafuri ale căror noduri sunt
procesele, iar arcele sunt fluxurile de date şi de control.
Între cele trei modele sunt următoarele relaŃii:
• Modelul static – descrie structura datelor pe care le operează modelul dinamic
şi funcŃional. OperaŃiile din modelul obiectual corespund evenimentelor din
modelul dinamic şi funcŃiilor din modelul funcŃional.
• Modelul dinamic – descrie structura de control şi evidenŃiază deciziile ce
cauzează acŃiuni, apelează funcŃii şi schimbă valorile obiectelor.
• Modelul funcŃional – descrie funcŃiile apelate de operaŃiile din modelul static
şi acŃiunile din modelul dinamic. El operează asupra valorilor atributelor din
modelul obiect şi evidenŃiază restricŃiile asupra acestora .
OMT -ul are avantajul că foloseşte notaŃii pentru modelare în întreg ciclu de viaŃă,
astfel încât nu este necesară o trecere abruptă la alte notaŃii sau interpretări ale semanticii în
etapele următoare ale proiectării, iar ca dezavantaj că nu oferă ghidare metodologică în
etapele timpurii ale procesului de dezvoltare.
194
Metodologia RUP (Rational Unified Process)
195
Managementul şi proiectarea sistemelor informatice de gestiune
• faza – un set de una sau mai multe iteraŃii, care împreună satisfac cel puŃin un
criteriu ce trebuie evaluat prin raportare la marcatorul de etapă. Fazele sunt
similare fazelor modulului în cascadă exceptând activităŃile care pot fi
dezvoltate cu grade diferite pe fiecare fază.
• ciclu de dezvoltare – perioada de timp care include toate eforturile
direcŃionate în procedura şi lansarea unei versiuni a produsului pe piaŃă.
Aceasta reprezintă cea mai mare unitate de planificare.
RUP propune descompunerea ciclului de viaŃă al unui produs software în mai multe
cicluri, fiecare dintre aceste cicluri încheindu-se cu o aplicaŃie funcŃională. Un ciclu este
compus din 4 faze [37]:
• de iniŃiere
• de elaborare
• de construcŃie
• de tranziŃie
O fază poate fi descompusă la rândul ei în mai multe iteraŃii. O iteraŃie reprezintă de
fapt, o buclă de dezvoltare completă, care are drept rezultat lansarea internă sau externă a unui
produs care face parte din produsul final.
196
Metodologia RUP (Rational Unified Process)
această etapă este esenŃial ca arhitectura concepută să fie suficient de stabilă, astfel încât să
permită eventualele extinderi ulterioare. În cadrul etapei se construiesc unul sau mai multe
prototipuri funcŃionale care să răspundă cerinŃelor critice ale proiectului. Acestea nu
reprezintă prototipul final – obŃinerea lui necesitând noi iteraŃii. Ca principale rezultate ale
acestei etape avem: un model de caz de utilizare dezvoltat cel puŃin 80%, sunt evidenŃiate noi
facilităŃi care nu sunt asociate cu cazul de utilizare specific, se obŃine o descriere a arhitecturii
software şi o actualizare a planurilor şi documentelor obŃinute în prima fază.
De asemenea, se documentează prototipul funcŃional. Se va şti cu exactitate ce se va
construi (arhitectură stabilă), iar utilizatorii finali vor fi de acord că aceasta va răspunde
cerinŃelor lor. Sunt descrise scenariile cele mai importante pe care produsul trebuie să le
suporte pentru a fi acceptat şi s-a demonstrat prin intermediul prototipurilor succesive, că sunt
întrunite condiŃiile de succes.
Faza de construcŃie presupune dezvoltarea celorlalte componente şi funcŃiuni integrate
în produs, precum şi testarea intensivă a aplicaŃiei. În această fază se construieşte efectiv
sistemul iar accentul se pune pe gestionarea resurselor, alocarea eficientă a acestora şi
diminuarea costurilor, respectarea termenelor, bugetelor şi standardelor de calitate.
Proiectele foarte mari pot fi descompuse în mai multe fluxuri de iteraŃii paralele, prin
aceasta obŃinându-se o importantă accelerare a procesului de dezvoltare al versiunilor
funcŃionale. Faza se concretizează în: modele complete ale sistemului, produsul software
propriu-zis într-o versiune alfa, manualele de utilizare. Utilizatorii trebuie să fie în măsură să
utilizeze şi să testeze produsul, iar din punct de vedere al bugetului ar trebui să avem
certitudinea că acesta nu va fi depăşit.
Metoda RUP utilizează nouă procese, clasificate drept procese de bază şi procese
suport. Figura 5.7 prezintă procesele în raport cu fazele RUP.
197
Managementul şi proiectarea sistemelor informatice de gestiune
198
Metoda MDA (Model Driven Architecture)
199
Managementul şi proiectarea sistemelor informatice de gestiune
MDA separă modelele unui sistem şi aduce o structură consistentă acestor modele. În
continuare vom prezenta cum se leagă între ele modelele MDA si cum sunt folosite.
200
Metoda MDD (Model Driven Development)
201
Managementul şi proiectarea sistemelor informatice de gestiune
202
Limbajul UML (Unified Modeling Language)
baza căruia se produc un număr de artefacte iniŃiale ce vor reprezenta scheme pentru
următoarele transformări MDD.
Se definesc instrumentele ce vor fi utilizate şi o planificare a întregului proiect de
dezvoltare a sistemului informatic. Sunt generate template-uri pe baza artefactelor obŃinute
anterior, care sunt testate, evaluate, sunt create module funcŃionale pentru care se furnizează şi
documentaŃia aferentă.
În acest moment se poate trece la dezvoltarea aplicaŃiilor precedată de instruirea în
prealabil a echipei de dezvoltare.
Vederea
Vederea logică
implementării
(cerinŃe
(programe)
funcŃionale)
Vederea cazurilor
de utilizare
(use case)
Vederea
operaŃională Vederea distribuirii
(procese de afaceri) (platforme hard/soft)
Figura 5.9 Perspectivele 4+1 ale arhitecturii sistemului informatic în cazul metodei MDD
203
Managementul şi proiectarea sistemelor informatice de gestiune
pentru descrierea modelului, iar procesul este succesiunea de paşi ce trebuie făcuŃi pentru
realizarea efectivă a modelului.
UML-ul este un limbaj de vizualizare, specificare, construire şi documentare a
modelelor şi valoarea sa constă în [4] [10]:
• standardul său deschis
• are întreg ciclul de viaŃă al dezvoltării softului
• acoperă multe tipuri de aplicaŃii
• este bazat pe experienŃa celor ce l-au realizat
• este implementat de multe produse de tip CASE
El este un limbaj de modelare vizuală ce foloseşte notaŃii standard, deci UML -ul
surprinde şi descrie în limbaj grafic sistemul.
Modelarea vizuală are cinci principale caracteristici:
• descoperă procesele ce au loc în sistem, folosind analiza cazurilor de utilizare
(USE CASE)
• se constituie într-un bun mijloc de comunicare
• simplifică/reduce complexitatea sistemului
• defineşte arhitectura softului
• permite reutilizarea componentelor
UML-ul poate fi folosit pentru [4] [10]:
• definirea graniŃelor sistemului şi funcŃiilor lui majore folosind cazurile de
utilizare şi actorii
• reprezentarea structurii statice a sistemului folosind diagramele de clase
• modelarea comportamentului obiectelor cu ajutorul diagramelor de tranziŃie a
stărilor (DTS)
• reprezentarea arhitecturii fizice a implementării cu ajutorul diagramelor de
componente şi de amplasare (DCA)
extinderea funcŃionării cu ajutorul stereotipurilor.
Câteva date semnificative referitoare la apariŃia şi evoluŃia UML-ului [48]:
• În octombrie 1994, Gradz Booch lider ştinŃific la Rational Corporation, autor
ala metodei ce-i poartă numele şi a unor cărŃi de referinŃă, în domeniu face
echipă cu James Rumbaugh, autorul principal al metodei OMT, pe care-l
determină să-şi părăsească (cel puŃin temporar) vechiul loc de muncă (General
Electric) şi să treacă la firma Rational. După un an de activitate Booch şi
Rombaugh, prezintă în octombrie 1995 cu ocazia conferinŃei OOPSALA,
caracteristicile de bază ale unei noi metode de analiză şi proiectare, rezultată
prin unificarea Metodei lui Booch (OOD) cu OMT, metodă denumită Metoda
unificată (Unified Method). Prima documentaŃie a metodei menŃionată anterior
a fost făcută publică în decembrie 1995, având numărul de versiune 0.8. La
sfârşitul aceluiaşi an celor doi li se alătură şi Ivar Jacobson.
• În iunie 1996 apare versiunea 0.9, urmată la scurt timp, octombrie 1996, de
apariŃia versiunii 0.91. Versiunea 0.9 aduce şi schimbarea denumirii din
Metoda unificată (Unified Method) în Limbajul unificat de modelare (Unified
Modeling Language). Cooptarea lui Jacobson în echipă se concretizează
printre altele în detalierea conceptului de cazuri de utilizare (use-case) şi
prezentarea unei descrieri mai amănunŃite pentru diagramele cazurilor de
utilizare. Conceptul de stereotip este mai bine explicitat, se modifică
denumirile unor diagrame.
204
Limbajul UML (Unified Modeling Language)
205
Managementul şi proiectarea sistemelor informatice de gestiune
206
Limbajul UML (Unified Modeling Language)
Atribute
OperaŃi
ResponsabilităŃi
2) InterfaŃa – este o colecŃie de operaŃii care specifică un serviciu al unei clase sau al
unei componente. Se foloseşte simbolul:
Nume
207
Managementul şi proiectarea sistemelor informatice de gestiune
Are simbolul:
Nume_colaborare
Nume_caz_de_utilizare
5) Clasă activă – ce a cărei obiecte posedă unul sau mai multe procese sau fire de
execuŃie şi prin urmare pot iniŃia controlul activităŃilor.
6) Componentă – este o parte fizică înlocuibilă a unui sistem ce oferă implementarea
unu set de interfeŃe. Se reprezintă astfel:
Nume_
componenta
Nume_
nod
Ultimele trei categorii sunt asemănătoare claselor şi ele descriu mulŃimi de obiecte cu
aceleaşi atribute, operaŃii, relaŃii şi semantică. Fiind totuşi suficient de diferite şi folosite în
modelarea unui sistem orientat obiect.
Ultimele două elemente sunt elemente fizice, iar celelalte sunt elemente logice sau
conceptuale.
b) Elemente comportamentale – sunt părŃi dinamice ale modelului UML, reprezentând
comportamentul modelului în timp şi spaŃiu. Acestea sunt verbele modelului şi există două
categorii de elemente comportamentale:
1) InteracŃiune – ce este un comportament ce cuprinde un set de mesaje schimbat între
o mulŃime de obiecte într-un context particular, pentru a realiza un scop specific.
O interacŃiune implică un număr de alte elemente, incluzând mesaje, secvenŃe de
acŃiuni şi legături. Se reprezintă astfel:
208
Limbajul UML (Unified Modeling Language)
2) Maşina stării – este un comportament ce specifică secvenŃa stării prin care trece un
obiect sau o interacŃiune în cursul existenŃei sale, ca răspuns la evenimente, împreună cu
răspunsurile la aceste evenimente.
Se reprezintă astfel:
Nume
Nume_pachet
d) Elemente de adnotare – sunt părŃile explicative ale modelelor UML. Are un singur
tip de element, anume nota, care este un simbol pentru marcarea restricŃiilor sau comentariilor
ataşate unui element sau unei colecŃii de elemente. Se reprezintă astfel:
Nume_nota
0 ... 1 *
rol rol
Pe lângă asocieri se mai folosesc şi următoarele noŃiuni:
• Nume – folosit la descrierea naturii relaŃiei
• Rol – dacă o clasă are un rol specific în acea relaŃie
• Multiplicitate – arată numărul de obiecte ce se pot conecta prin intermediul
unei instanŃe a unei asocieri
• Agregarea – este o asociere ce modelează o relaŃie de tipul “are un”, ceea ce
înseamnă că un obiect al întregului conŃine (are) obiecte părŃi.
209
Managementul şi proiectarea sistemelor informatice de gestiune
Multiplicitate
1 .... * Nume *
Clasa_2
Clasa_1
Rol_1 Rol_2 1
Agregare
*
Clasa_3
210
Limbajul UML (Unified Modeling Language)
Notele se folosesc numai pentru acele cerinŃe, observaŃii, revederi şi explicaŃii, care nu
pot fi explicate în mod simplu sau inteligibil, utilizând caracteristicile UML -lui.
c) Diviziuni generale – aici avem două tipuri:
• diviziunea de clasă/obiect – unde o clasă este o abstracŃie, în timp ce obiectul
este o manifestare concretă a aceleaşi abstracŃii;
• separaŃia interfaŃă/implementare – o interfaŃă declară un contract, iar o
implementare reprezintă o realizare concretă a aceluiaşi contract, responsabilă
pentru realizarea integrală a semantici complexe a interfeŃei.
d) Mecanisme de extensie – permit extinderea limbajului în modalităŃi controlate şi
aici intră: stereotipuri, valori etichetă şi constrângeri.
Stereotipul – extinde vocabularul UML, permiŃând crearea de noi tipuri de blocuri
constructive derivate din cele existente, dar care sunt specifice unei anumite probleme.
Valoarea etichetă – extinde proprietăŃile unui bloc constructiv UML, permiŃând
crearea de noi informaŃii în cadrul specificaŃiei elementului.
Constrângerea – extinde semantica unui bloc constructiv UML, permiŃând adăugarea
de noi reguli sau modificarea unora existente. Se reprezintă astfel:
• de desfăşurare
• de obiecte
• de pachete
• de activităŃi
• de maşini de stare
• de cazuri de utilizare
• de comunicare
• de interacŃiuni generale
• de secvenŃă
• de cronometrare
Acestea se pot împărŃite în trei mari categorii:
• Diagrame de structură – Prezintă elementele unei specificaŃii independent de
timp. Includ: diagramele de clase, structuri compuse, componente, desfăşurare
(deployment), obiecte şi pachete
• Diagrame de comportament – Prezintă trăsăturile comportamentale ale
sistemului. Includ: diagramele de activităŃi, maşini de stare şi cazuri de
utilizare, precum şi cele 4 diagrame de interacŃiune
• Diagrame de interacŃiune – Scot în evidenŃă interacŃiunile dintre obiecte.
Includ: diagramele de comunicare, interacŃiuni generale (interaction overview),
secvenŃe şi cronometrare (timing)
Diagramele semnalizate cu îngroşarea denumirii, au fost introduse în UML 2.0. În
continuare prezentăm detaliat nouă tipuri de diagrame.
212
Limbajul UML (Unified Modeling Language)
Actorii sunt roluri jucate de diverse persoane sau sisteme informatice şi care
interacŃionează cu sistemul informatic aflat în dezvoltare. Important este de reŃinut faptul că o
persoană poate juca mai multe roluri şi un rol poate caracteriza mai multe persoane. Grafic
actorii în UML sunt reprezentaŃi de un omuleŃ stilizat având la subsol un text ce arată rolul
jucat de actor. Astfel:
Administrator
Determinarea actorilor se face răspunzând la întrebările:
• cine – este interesat;
• cine – modifică datele;
• cine – se interfaŃează sau
• cine - doreşte informaŃia din sistem.
Actorul se mai poate defini ca un set de roluri pe care utilizatorul le foloseşte când
interacŃionează cazurile de utilizare. Poate fi un rol uman, un dispozitiv hard sau orice alt
sistem.
InstanŃa unui actor, este o interacŃiune individuală cu sistemul.
Actorii nu fac parte din sistem.
Comportamentul unui caz de utilizare se poate specifica prin descrierea fluxului de
evenimente. Acestea trebuie să indice cum şi când începe şi se încheie cazul de utilizare, când
interacŃionează cu actorii, ce obiecte sunt schimbate, fluxul de bază şi cel alternativ al
comportamentului.
Cazul de utilizare foloseşte un set de secvenŃe, este de preferat ca descrierea acestuia
să fie separată pe fluxuri alternative.
Practic un caz de utilizare modelează un dialog între actor şi sistemul informatic.
MulŃimea cazurilor unui sistem reprezintă totalitatea modalităŃilor în care sistemul poate fi
folosit. Cazurile de utilizare depind de elementele [4]:
• sunt unităŃi de sine stătătoare şi bine delimitate
• trebuie să fie iniŃiate de un actor şi terminarea să fie văzută de un actor
• trebuie să îndeplinească anumite scopuri de logică a problemei
• trebuie să lase sistemul într-o stare stabilă.
Ele sunt orientate pe scop şi reprezintă cea ce sistemul trebuie să facă şi cum. Acestea
sunt neutre din punct de vedere tehnologic, putând fi utilizate în orice proces sau arhitectură
de aplicaŃie.
Fiecare caz de utilizare ce apare în una din diagramele ce modulează funcŃionalitatea
sistemului informatic şi trebuie să fie însoŃite de un document de descrierea sa şi care trebuie
să respecte şablonul: Nume, Descriere, Autori, Stare, Prioritete, PrecondiŃie, PostcondiŃie,
Cale principală, Căi alternative, Căi de excepŃie.
Aceste secvenŃe sunt numite scenarii.
Implementarea cazurilor de utilizare se poate face creând o societate a claselor şi a
elementelor ce lucrează împreună. Societatea elementelor include structura statică şi cea
dinamică, numindu-se colaborare.
Ea modelează aspecte dinamice ale sistemului şi este folosită pentru modelarea
comportamentului sistemului, subsistemului sau clasei. DCU -ul este o diagramă ce conŃine
un set de cazuri de utilizare, actori şi relaŃiile dintre acestea, mai poate conŃine restricŃii şi
pachete folosite la gruparea elementelor.
213
Managementul şi proiectarea sistemelor informatice de gestiune
Caz_de_utilizar1
Actor_1
Caz_de_utilizare3
Actor_2 Caz_de_utilizare2
Gestiunea facturilor
Contabil
214
Limbajul UML (Unified Modeling Language)
215
Managementul şi proiectarea sistemelor informatice de gestiune
216
Limbajul UML (Unified Modeling Language)
217
Managementul şi proiectarea sistemelor informatice de gestiune
218
Limbajul UML (Unified Modeling Language)
De asemenea, capetele unei asocieri pot fi etichetate cu nume de rol care definesc rolul
jucat de obiectul unei clase în cadrul asocierii. Atât multiplicitatea cât şi numele de rol
influenŃează modalitatea de implementarea (sau generare automată) a codului sursă pe baza
modelului.
0..*
Persoană are ► Maşina
1..* ◄ aparŃine
Echipa * * Persoana
membru
*
Text
*
ConŃine Listbox
Fereastra
*
Button
*
Meniu
Fereastra
Text
Listbox
Button
Meniu
219
Managementul şi proiectarea sistemelor informatice de gestiune
soŃ
◄căsătorit cu
220
Limbajul UML (Unified Modeling Language)
Vehicul
conduce ► * {abstract}
Persoana culoare
conduce(){abstract}
pornire(){abstract}
oprire(){abstract}
Automobil Vapor
conduce() conduce()
pornire() pornire()
oprire() oprire()
3. DependenŃă – este utilizată atunci când modificarea unei clase are impact asupra
comportamentului/stării altei clase (de obicei atunci când o clasă utilizează o altă clasă ca
argument pentru una din operaŃiile sale).
Pentru a defini metode ce trebuie să fie moştenite de către subclase UML permite
definirea claselor abstracte.
O clasă abstractă este o clasă care nu este instanŃiabilă dar ale cărei clase
descendente pot avea instanŃe. Clasele abstracte pot fi particularizate prin specializare şi
extindere în clase concrete. O clasă este desemnată ca abstractă prin adăugarea proprietăŃii
"Abstract" pentru fiecare element generalizabil al clasei.
Definirea claselor abstracte permite folosirea polimorfismului. Polimorfismul
desemnează proprietatea unui element de a lua mai multe forme. În informatică termenul
desemnează un concept conform căruia un nume de obiect poate desemna instanŃe ale unor
clase diferite dar provenite din aceeaşi arborescenŃă. Polimorfismul operaŃiilor desemnează
221
Managementul şi proiectarea sistemelor informatice de gestiune
posibilitatea de a declanşa operaŃii diferite ca răspuns la acelaşi mesaj. Altfel spus, o operaŃie
este polimorfă dacă realizarea sa are mai multe forme.
În exemplul de mai jos, între Persoană şi Autovehicul următoarea relaŃie: o Persoană
poate avea zero, unul sau mai multe Autovehicule.
Figura 5.23 Diagrama claselor pentru o persoană, care poate avea una sau mai multe
autovehicule
Diagrama claselor în cazul sistemului informatic privind aprovizionarea cu mărfuri
este prezentat în figura 5.24.
222
Limbajul UML (Unified Modeling Language)
Între pachete pot exista relaŃii de un singur tip: relaŃii de dependenŃă. Spunem ca un
pachet A depinde de pachetul B dacă una sau mai multe clase din pachetul A (numit pachet
client) iniŃiază o comunicare cu una sau mai multe clase din pachetul B (numit pachet
furnizor). RelaŃiile de dependenŃă între module se reprezintă grafic printr-o linie punctată,
având la capătul corespunzător modului furnizor o săgeată (figura 5.26).
223
Managementul şi proiectarea sistemelor informatice de gestiune
224
Limbajul UML (Unified Modeling Language)
acestuia trebuie să fie descompusă în două sau mai multe clase (ex. clasa CursOpŃional având
atributele: numărLocuri, locaŃie, ziuaDasfăşurării, oraDesfăşurării, departament,
numărLocuriCursuriTotal - numărLocuriCursuriTotal nu este o informaŃie care caracterizează
obiectele clasei CursOpŃional ci mai degraba caracterizeaza un departament).
c) Rafinarea diagramelor de clase prin specializare/generalizare
OperaŃiile de generalizare şi specializare a claselor permit crearea de noi clase care nu
pot fi identificate direct prin intermediul documentului de specificare funcŃională a sistemului
informatic modelat. Astfel, generalizarea conduce la crearea de noi clase ca va conŃine
atributele, operaŃiile şi asocierile comune unui grup de clase deja identificate.
225
Managementul şi proiectarea sistemelor informatice de gestiune
226
Limbajul UML (Unified Modeling Language)
227
Managementul şi proiectarea sistemelor informatice de gestiune
228
Limbajul UML (Unified Modeling Language)
pătrate cu colŃurile rotunjite. DirecŃia de traversare: arată calea de navigare a ferestrelor. Prin
aceste figuri grafice se pot modela diverse elemente ale interfeŃei utilizator (cutii de dialog,
meniuri, bare de scule şi chiar ferestre conŃinând tab-uri).
401_furnizor : Furnizori
229
Managementul şi proiectarea sistemelor informatice de gestiune
Culoar
Flux de obiecte
Activitate
[ condiŃie 3]
Ramură secvenŃă
[condiŃie 4]
230
Limbajul UML (Unified Modeling Language)
231
Managementul şi proiectarea sistemelor informatice de gestiune
232
Limbajul UML (Unified Modeling Language)
Creare Obiect2
Introducere
Mesaj1 Mesaj3
Punct de
control Distrugere Mesaj4 Iterare
233
Managementul şi proiectarea sistemelor informatice de gestiune
Pregăteşte
* [pentru liniile de
comenzi]
Pregăteşte () Există stoc :=
Verifică ()
Un element
recomandare
234
Limbajul UML (Unified Modeling Language)
235
Managementul şi proiectarea sistemelor informatice de gestiune
Obiect_1
Autoreglare
1 : << creare >>
<< local >> 2 : <<mesaj >>
Legătură 3 : << distrugere >>
<<global >>
Obiect_2 Obiect_3
2.1. mesaj
Număr secvenŃă 2.2. [ condiŃie mesaj] Mesaj
Deşi cele două diagrame (DS, DC) sunt echivalente, putându-se converti una din alta
fără pierderi informaŃii, asta nu înseamnă că cele două diagrame pun în evidenŃă aceleaşi
aspecte. DC -ul arată cum sunt legate obiectele (local sau global), în timp ce DS-ul pune în
evidenŃă şi mesajele returnate.
236
Limbajul UML (Unified Modeling Language)
O tranziŃie exprimă o situaŃie în care un obiect poate trece dintr-o stare în alta.
TranziŃiile se reprezintă grafic prin intermediul unor arce de cerc, linii simple sau linii
poligonale orientate şi (opŃional) etichetate care unesc două stări, numite stare sursă, respectiv
destinaŃie.
Eticheta unei tranziŃii este formată dintr-o signatură de mesaj, o condiŃie (expresie
logică) şi o secvenŃă de activităŃi care au loc în momentul declanşării tranziŃie. Pentru un
obiect oarecare o tranziŃie este declanşată atunci când obiectul se află în starea sursă a
acesteia, execută operaŃia corespunzătoare mesajului şi este îndeplinită condiŃia specificată în
etichetă.
HărŃile de stări permit reprezentarea ierarhică a stărilor unui obiect prin intermediul
stărilor compuse (întâlnite şi sub denumirea de XOR – stări, stări abstracte sau super-stări).
Stările compuse conŃin un număr finit de stări simple sau compuse. Un obiect aflat într-o stare
compusă se va afla în una şi numai una din substările acesteia.
Stările compuse se reprezintă grafic la fel ca stările simple, la care se adaugă un
compartiment special, localizat între numele stării şi compartimentul destinat afişării
invarianŃilor de stare şi a procedurilor speciale. În cadrul acestui compartiment sunt
reprezentate grafic toate substările corespunzătoare.
Diagramele de tranziŃie a stărilor arată o maşină de stare. Acestea sunt utile în
modelarea ciclului de viaŃă a unui obiect. Ele se pot ataşa claselor, cazurilor de utilizare sau a
întregului sistem, ca să vizualizăm, să specificăm şi să documentăm aspectele dinamice ale
acestora.
Maşina de stări este un comportament ce specifică secvenŃa de stări prin care trece un
obiect, pe parcursul vieŃii sale, ca răspuns la evenimente.
Starea este o condiŃie sau o situaŃie în viaŃa unui obiect, când acesta satisface anumite
activităŃi sau aşteaptă anumite evenimente.
Evenimentul reprezintă specificarea unei operaŃii semnificative care are o locaŃie în
timp şi spaŃiu.
Activitatea este o execuŃie nonatomică în derulare într-o maşină de stare.
AcŃiunea este o operaŃie atomică, executabilă ce duce la schimbarea unei stări sau
returnează o valoare.
DTS –ul conŃine în mod obişnuit stările simple şi compuse, precum şi tranziŃii,
inclusiv evenimente şi acŃiuni.
DTS –ul în esenŃă este o proiecŃie a elementelor ce sunt într-o maşină stare.
Maşina de stare este un comportament ce specifică secvenŃa de stări prin care trece un
obiect pe parcursul vieŃii sale, ca răspuns la evenimente, împreună cu răspunsul lor la
evenimente. Ele sunt folosite la modelarea aspectelor dinamice ale sistemului.
Maşina cu stări modelează un sistem obiect, fie că este instanŃă a unei clase, un caz de
utilizare, sau chiar întregul sistem.
Maşinile de stare se pot vizualiza în două moduri [30]:
• folosind diagramele de activitate, unde se concentrează pe activităŃile ce au loc
în obiect;
• folosind diagramele de stare, unde ne concentrăm pe comportamentul ordonat
de evenimente ale obiectului.
Elementele unui DTS, se descriu şi se reprezintă astfel:
Starea, care se compune din:
• nume – dar poate fi şi anonimă;
• acŃiune de intrare/ieşire – care se execută la intrarea sau ieşirea din stare;
• tranziŃii interne – care se realizează fără a căuta o schimbare de stare;
• substări – structura imbricată a unei stări implică substări disjuncte sau
concurente;
237
Managementul şi proiectarea sistemelor informatice de gestiune
control
Stare Stare
238
Limbajul UML (Unified Modeling Language)
operaŃie în stare se amânată până când devine activă starea în care evenimentele
acestea nu sunt amânate, moment în care ele se declanşează şi pot conduce la o
tranziŃie, ca şi cum atunci s-ar fi întâmplat. Acesta se realizează cu acŃiunea specială
defer.
Grafic se reprezintă astfel:
Nume stare
AcŃiune de intrare Entry/acŃiune(parametru)
AcŃiune de ieşire Exit/acŃiune(parametru)
Eveniment amânat AcŃiune/defer
Activitate Do/
TranziŃie interioară AcŃiune/acŃiune
Substări
Aceasta este o stare imbricată într-o altă stare. Starea ce are substări se numeşte stare
compusă şi poate conŃine substări secvenŃiale sau concurente.
1) Substări secvenŃiale sau disjuncte
Fiind dat un set de stări secvenŃiale, obiectul se află în starea compună şi doar într-una
din stările sale la un moment dat. O tranzacŃie dintr-o altă stare poate avea ca Ńintă o stare
compusă sau o substare a acesteia.
Dacă Ńinta este o stare compusă, atunci maşina cu stări din interiorul să trebuie să
conŃină o stare iniŃială. În cazul că Ńinta este o substare, atunci controlul îi este predat acesteia,
după execuŃia acŃiunii de intrare pentru starea compusă şi o acŃiune de intrare pentru substare.
O tranziŃie ce conduce la ieşirea dintr-o stare compusă poate avea ca sursă starea
compusă sau o substare a acesteia, conform figurii: ce ne arată tranziŃie din/în stare compusă,
Stare compusă
Stare Entry/acŃiune
Entry/acŃiune
tranziŃie cancel
Stare
Substare
Stare
Substare [condiŃie]
Substare
tranziŃie din substare
2) Substări concurente
Acestea specifică două sau mai multe maşini de stare ce se execută în paralel, în
contextul obiectului ce-l include. Date fiind două sau mai multe substări concurente la acelaşi
nivel, un obiect va fi într-o stare secvenŃială din fiecare din stările concurente. O maşină de
stare imbricată concurentă nu are stare iniŃială sau finală.
În continuare să vedem exemplul cu aplicaŃia web:
239
Managementul şi proiectarea sistemelor informatice de gestiune
Componenta
: tip com ponenta
Tipul de componentă are asociat un nume, iar o instanŃă a unei componente are
asociate (opŃional) un nume şi un tip. Numele componentei va fi numele fişierului ataşat
acesteia.
Obiectele implementate de o instanŃă de componentă se reprezintă grafic în interiorul
simbolului instanŃei de componentă. Analog se reprezintă grafic clasele implementate în
componente. Digrama de componente este un graf de componente între care există relaŃii de
dependenŃă sau compunere.
DependenŃele între componente se reprezintă grafic prin linii întrerupte între o
componentă client şi o componentă furnizor de servicii, orientat spre componenta furnizor.
RelaŃie de dependenŃă semnifică faptul că clasele incluse în componentă pot fi moşteniri,
instanŃe sau clase în componenta furnizor. O diagramă ce conŃine tipuri de componente poate
fi utilizată la reprezentarea de dependenŃe statice, cum este dependenŃa de compilare între
diverse programe, conform figurii 5.49.
240
Limbajul UML (Unified Modeling Language)
Pot exista relaŃii de dependenŃă între componente şi interfeŃe ale altor componente,
relaŃii ce semnifică faptul că clientul utilizează operaŃii ale componentei server, conform
figurii 5.49.
Compunerile se reprezintă grafic prin încuibărirea simbolurilor asociate obiectelor
sau claselor în cadrul simbolurilor unei componente.
Instrumentul Rational Rose introduce o serie de stereotipuri predefinite pentru
componente, astfel [4] [10]:
• programe principale (<< Main Program >>)
• subprograme (<< Subprogram >>)
• pachete (<< Package >>)
• librării cu legendă dinamică (<< DLL >>)
• procese (<< Task >>)
• executabile (<< Exe >>)
Ele (DC) reprezintă un alt fel de diagrame utilizat în modelarea aspectelor fizice ale
sistemelor orientate obiect. Acestea ne arată organizarea şi dependenŃele din cadrul unui set
de componente. Ele se folosesc la modelarea viziunii asupra implementării statice a unui
sistem.
Acestea implică modelarea elementelor fizice care pot exista într-un nod, cum ar fi
programele executabile, biblioteci, tabele, fişiere şi documente. Ele sunt diagramele claselor
esenŃiale ce se orientează pe componentele unui sistem. Acestea nu sunt importante doar
pentru vizualizare, ci şi pentru construirea sistemelor executabile prin ingineria directă şi
inversă.
241
Managementul şi proiectarea sistemelor informatice de gestiune
Diagrama de componente descrie un set de componente şi relaŃiile dintre ele, iar grafic,
este o colecŃie de noduri şi arce, fiind de fapt o diagramă mai specială, având aceleaşi
proprietăŃi ca şi alte diagrame, un nume şi un conŃinut grafic. Are un conŃinut particular,
având componente, interfeŃe şi relaŃii de dependenŃă, generalitate, asociere şi realizare.
Mai poate conŃine note, reguli, pachete sau subsisteme, în interiorul cărora se pot plasa
instanŃe. Ea se foloseşte cu unul din scopurile [30]:
• La modelarea codului sursă, cu limbajele de programare curente, ce stochează
codul sursă în fişiere. Cu acestea se modelează managementul configurării acestor
fişiere.
• La modelarea produselor executabile. Un produs executabil se focalizează prin
părŃi necesare pentru furnizarea sistemului în lucru. Aici se vizualizează, specifică
şi documentează deciziile referitoare la părŃile fizice care formează softul.
• La modelarea bazei de date fizice, care înseamnă stocarea informaŃiilor în tabelele
unei baze de date relaŃionale sau pe paginile unei baze de date orientate obiect.
• La modelarea sistemelor adaptabile, unele sisteme sunt statice, altele sunt
dinamice, având componente mobile care migrează în funcŃie de schimbările
apărute.
Forma lor generală este urătoarea (având componentele necesare), în figura 5.51:
Nume fişier Nume fişier Nume fişier
242
Limbajul UML (Unified Modeling Language)
243
Managementul şi proiectarea sistemelor informatice de gestiune
*PK ID : Counter
* Cod : Integer
Denumire : Text(15)
Numar : Text(10)
Culoare : Text(12)
«PK» PK_Masina()
244
Baze de date relaŃionale în context obiectual
NotaŃia de mai sus este modelul folosit în Enterprise Architect, dar şi în alte
instrumente CASE este asemănător.
În cazul tabelelor vizibilitatea nu este definită sau putem spune că implicit este public.
Câmpurile care nu pot avea valoarea NULL (NOT NULL) sunt notate cu *.
Desigur între tabele pot exista relaŃii, cum sunt şi în cazul tabelelor relaŃionale, dar cu
aceste cazuri ne ocupăm mai târziu.
NotaŃie Descriere
«PK» Cheie unică.
«FK» Cheie străină.
«unique» Constrângere la unicitate.
«check» Alte constrângeri.
«index» Index.
«trigger» Trigere.
«proc» Proceduri.
Dacă folosim diagramele de clase clasice tabelele vor deveni tot clase, iar câmpurile
metode [18].
245
Managementul şi proiectarea sistemelor informatice de gestiune
Paradigma OO RDBMS
Element de bază Obiecte, clase. MulŃime (tabele).
CorespondenŃă Obiect = înregistrarea unui tabel DefiniŃie tabel = clasă
Clasă = metadatele unui tabel Tabel concret = container
Înregistrare = obiect
Programare Procedural. Orientat către rezultat .
Extensibilitatea Da, cu definirea unor clase noi. Nu, este imposibil definirea
limbajului unor noi operaŃii.
PersistenŃă Nu, sau forte constrâns. Da.
Gestionarea Posibil. Da, este optimizat pe acesta.
mulŃimilor de datelor
Încapsulare Da, concept de bază. Nu, codul şi datele nu sunt
într-un loc.
Vizibilitatea Implicit privat. Implicit public.
informaŃiilor
Moştenire Da, concept de bază. Nu este.
Durată de viaŃă Tranzient. Persistent.
Topologie ReŃea. Tabele (relaŃii).
Materiale
PK CodMaterial : NUMBER
DenumireMaterial : VARCHAR2
UnitateMasura : CHAR
<<PK>> PK_Material13()
246
Baze de date relaŃionale în context obiectual
După cum putem vedea clasele devin tabele, atributele câmpuri şi această regulă este
valabilă şi în sens invers, adică tabele devin clase.
Angajat
Sectie
CodAngaj at : Long
CodSectie : Long
NumeAngajat : String
1 1
Angajat Sectie
247
Managementul şi proiectarea sistemelor informatice de gestiune
Obiect ObiectOrdonat
<<PK>> PK_ObiectOrdonat10()
<<PK>> PK_Obiect13() <<FK>> FK_ObiectOrdonat20()
248
Baze de date relaŃionale în context obiectual
• prea multe operaŃii de conectare (join) – multe tabele => mai multe operaŃii
de join SQL pentru regăsirea datelor (relaŃiile de 1:1)
• tabele ignorate – relaŃiile de asociere n:m se implementează prin intermediul
unei tabele de legătură. Clasele asociere reduc aceste probleme, dar ele sunt în
puŃine cazuri modelate
• tratarea necorespunzătoare a moştenirii
• de-normalizarea datelor - duplicarea aceloraşi date în mai multe tabele (apare
în special din cauza claselor care modelează necesităŃi unice de raportare).
Cazurile de utilizare / diagramele de interacŃiune pot da anumite informaŃii legate de
frecvenŃa de utilizare / interogare a anumitor date => încercare de proiectare a bazei de date
astfel încât aceste operaŃii să se realizeze într-un minim de timp.
Înainte de a transforma clasele în entităŃi relaŃionale trebuie să răspundem la
întrebarea: Dacă necesită să fie persistentă sau nu?
Cumpărător Vânzător
1 1
<<Identifying>> <<Identifying>>
0..* 0..*
CumpVanzator
<<PK>> PK_231()
<<FK>> FK_233()
<<FK>> FK_232()
<<Index>> TC_265()
<<Index>> TC_264()
249
Managementul şi proiectarea sistemelor informatice de gestiune
Persoană
PK ID : COUNTER
nume : VARCHAR2
prenume : VARCHAR2
eMail : VARCHAR2
<<PK>> PK_Persoană(COUNTER)
0..1
Profesor
PK CNP : NUMBER
catedra : VARCHAR2
salar : NUMBER
nrore : NUMBER
functie : VARCHAR2
<<PK>> PK_Profesor()
<<FK>> FK_Profesor_Persoana()
250
Baze de date relaŃionale în context obiectual
Persoana
Carte
PK ID : COUNTER
PK isbn : VARCHAR2 1 0..1 FK isbn : VARCHAR2
nume : VARCHAR2
titlu : VARCHAR2
functie : VARCHAR2
251
Managementul şi proiectarea sistemelor informatice de gestiune
Maşina
PK ID : COUNTER
numar : VARCHAR2
anfab : NUMBER
nrmotor : VARCHAR2
volum : NUMBER
<<PK>> PK_Masina(COUNTER)
252
Baze de date relaŃionale în context obiectual
253
Managementul şi proiectarea sistemelor informatice de gestiune
Actor
Business Actor
Use Case
254
Baze de date relaŃionale în context obiectual
Asociere
DependenŃă
Generalizare
Start
Sfârşit
Activitate
Punct de decizie
255
Managementul şi proiectarea sistemelor informatice de gestiune
Nume
Culoare
Punct de sincronizare
Stare
TranziŃie
Flux de obiecte
Nume
Obiect
{State}
256
Baze de date relaŃionale în context obiectual
site. Se introduce o adresă de mail şi o parolă, care va fi stocat în baze de date. O persoană
poate comanda mai multe produse.
Produsele vor fi trimise prin poştă sau prin Cargus (curier rapid) şi achitarea se face la
primirea produselor.
Administratorul poate introduce noi produse, respectiv poate modifica informaŃiile
produselor existente.
Scopul proiectului:
• reducerea erorilor umane
• mărirea eficienŃei
• acoperire naŃională (pe Internet)
Accentul se pune pe calitatea serviciilor şi nu pe managementul resurselor umane, pe
plata facturii sau alte procese.
257
Managementul şi proiectarea sistemelor informatice de gestiune
Cerere Returnare
oferta inregistrari
Vizualizare Vizualizare
inregistarari pe categori
Comanda
Disponibil?
da
Realizare Modificare
comanda stoc
nu
258
Baze de date relaŃionale în context obiectual
În cadrul unei afaceri este extrem de important să privim lucrurile din punct de vedere
al actorilor business. Din acest motiv diagramele de activităŃi nu conŃin funcŃiile interioare ale
afacerii. Procesul business se sfârşeşte atunci când actorii business transferă gestiunea în
interiorul sistemului (Manager de înregistrări – business worker). Figura 5.69 conŃine o
diagramă de activitate.
Produse inregistrate
Vizitator Facilitati
(from Use Case View)
3: verificare cerere
4: Raspuns
5: Returnare inregistrare
259
Managementul şi proiectarea sistemelor informatice de gestiune
0..* 1 1 0..*
Aceste modele ne-au ajutat să înŃelegem mai bine procesul afacerii şi putem începe să
analizăm şi proiectăm baza de date.
Produse 0..*
0..*
0..* 1
0..*
Descriere (proprietati)
0..*
1
Client Comanda
0..*
1
Categorii
0..*
Transportator
1
1
1
0..* Produse
1 0..*
0..*
0..*
TranspProd
Descriere
(proprietati)
ProdComanda
0..*
1 1
0..*
Client
Comanda
260
Baze de date relaŃionale în context obiectual
Transportator Categorii
TransID : INTEGER CatID : INTEGER
Nume : VARCHAR(30) Nume : VARCHAR(30)
Localitate : VARCHAR(30)
<<PK>> PK_Categorii1()
<<PK>> PK_Transportator0()
1
1
0..*
0..*
Produse
TranspProd ProdID : INTEGER
F ProdID : INTEGER FK CatID : INTEGER
F TransID : INTEGER 1 Nume : VARCHAR(30)
Pret : REAL Bucati : INTEGER
0..* Pret : REAL
<<PK>> PK_TranspProd4() Poza : PICTURE
<<FK>> FK_Produse2()
<<FK>> FK_Transportator0() <<PK>> PK_Produse2()
1
<<FK>> FK_Categorii1()
0..*
1
ProdComanda 0..*
F ProdID : INTEGER
F ComID : INTEGER
Buc : INTEGER
Descriere (proprietati)
<<PK>> PK_ProdComanda6() DesID : INTEGER
<<FK>> FK_Produse2() FK ProdID : INTEGER
<<FK>> FK_Comnada7() Nume : VARCHAR(25)
UM : VARCHAR(3)
0..* Cantitate : INTEGER
Client
Comanda ClientID : INTEGER
ComID : INTEGER Nume : VARCHAR(30)
FK
0..* 1
ClientID : INTEGER Telefon : VARCHAR(10)
Data : DATE Adresa : VARCHAR(50)
Cumparat : BIT(1) Parola : VARCHAR(15)
Email : VARCHAR(20)
<<PK>> PK_Comanda7() Iban : VARCHAR(13)
<<FK>> FK_Client8()
<<PK>> PK_Client8()
261
Managementul şi proiectarea sistemelor informatice de gestiune
262
Întrebări recapitulative ale capitolului
• distribuŃia softului către clienŃi atunci când părŃi ale aplicaŃiei se modifică şi
configurarea aplicaŃiei pentru diverşi noi clienŃi (se referă la componentele de
acces la baza de date şi dificultatea instalării şi configurării dispozitivelor
ODBS pe maşini multiple)
• în funcŃie de tehnologia bazelor de date, costurile se ridică substanŃial dacă
fiecare staŃie de lucru necesită licenŃă de acces la baza de date
• scăderea performanŃei atunci când anumite calcule complexe sunt realizate pe
calculatoare client care au resurse reduse
Practic însă, arhitectura fizică a unei aplicaŃie poate fi împărŃită pe mai multe nivele
(N-tier architecture) => mai multe server de date şi servere de aplicaŃie.
Există mai multe strategii de proiectare optimă şi flexibilă a unei aplicaŃii. Minimum
necesar pentru o aplicaŃie care se doreşte să nu cunoască probleme majore la modifică pe o
perioadă de 1-2 ani este implementarea celor trei nivele menŃionate. Această abordare
reprezintă minimul necesar, deoarece există abordări care rafinează fiecare nivel în parte,
distingând mai multe subnivele.
Nivelul de logică a aplicaŃiei conŃine două subnivele:
• nivelul contextului aplicaŃiei – interacŃionează cu interfaŃa utilizator permit
filtrarea şi consistenŃa informaŃiilor pe măsură ce ele sunt introduse în sistem
(ex. o valoare a unui câmp limitează valorile ce pot fi introduse într-un alt
câmp)
• nivelul regulilor de logică – sunt legate de reguli de logică convenŃionale
(tradiŃionale) (ex. nr. de credite inferior unui anumit număr nu permite
promovarea unui student în anul următor
Nivelul de date conŃine trei sub-nivele:
• translatarea datelor – traducerea unei cereri logice (ca: adăugare, ştergere,
modificare) într-un limbaj care este compatibil cu modalitatea de stocare a
datelor (SQL)
• accesul la date – executarea cererii folosind funcŃii API (interfaŃă nativă a
bazei de date, ADO cu OLE/DB sau driver ODBC)
• baza de date – se referă la tehnologia bazei de date (SQL Server, Oracle,
Access)
Nivelele determinate mai sus se pot constitui în componente distincte ale sistemului
informatic. Determinarea mecanismului de comunicare între nivele se realizează răspunzând
la următoarele întrebări:
• Ce tehnologie de comunicare între-procese (IPC) va fi utilizată?
Mecanismul IPC poate fi gestionat de diverse tehnologii, ca RPC sau CORBA
(Common Object Request Broker Architecture), COM sau DCOM.
• Ce mecanism va fi utilizat pentru comunicarea între nivele atunci când un
IPC este utilizat?
263
Managementul şi proiectarea sistemelor informatice de gestiune