Documente Academic
Documente Profesional
Documente Cultură
moduri. Ciclul de viata incepe cu decizia realizarii de la zero a unui sistem informatic sau cu
perfectionarea unuia deja existent. Progresele in domeniul tehnologiei informationale au determinat si
modificari ale etapelor ciclului de viata. De exemplu, odata cu aparitia abordarii abordata obiect, au
aparut si noi modele ale ciclului de viata.
Modelul cascada permite revenirea la etapa anterioara insa aceasta trebuie realizata asfel incat sa
nu necesite o regandire in totalitate a sistemului.
Analiza şi definirea
cerinţelor
Proiectarea sistemului
şi a software-ului
Implementarea şi
testarea unităţilor de
program
Integrarea şi testarea
sistemului
Exploatarea şi
întreţinerea sistemului
CICLUL PRELUCRARII DATELOR IN CADRUL UNUI SISTEM INFORMATIC
Acesta cuprinde totalitatea operatiunilor care se executa asupra datelor din momentul obtinerii lor si
pana la furnizarea rezultatelor relevante
Etapele sunt:
Sistemele informatice de gestiune sunt cele care creaza si actualizeaza o baza de date unica de
documente primare care poate fi ulterior prelucrata pentru obtinerea situatiilor necesare fiecarui
utilizator
Rolul OOD este cel de a modulariza elementele sistemului imbunatatind asfel calitatea si
eficienta proiectarii si dezvoltarii.
c) Metodologii pentru conducerea proiectelor de sisteme informatice – SDMS
METODE SI TEHNICI DE REALIZARE A SISTEMELOR INFORMATICE
In elaborarea sistemelor informatice sunt utilizate tehnici, metode, instrumente si procedee de lucru.
Metodele reprezinta maniera unitara in care analistii, programatorii procedeaza atunci cand
realizeaza sisteul decisional existent sic and proecteaza noul system informal
Tehnicile reprezinta felul in care se actioneaza efficient si rapid in cadrul unei metode pentru
solutionarea problemelor ce apar pe parcursul proiectarii. In timp, s-a realizat trecerea de la abordarea
modulara la abordarea orientate obiect. Pe parcurs, s-au impus 2 tipuri de strategii:
1. Date – sunt reprezentate sub forma de atribute si reflecta structura statica sistemului
2. Functii – scot in evidenta ceea ce face sistemul (functionalitatea lui)
3. Comportament – este utilizat ca metoda alternativa de perceptie a sistemului si
sugereaza dinamica acestuia
Este cea care a permis aparitia proiectarii structurate si a analizei structurate. Fiecare functie este
descompusa in subfunctii pana ce se obtin structuri usor de transpus in limbajele de programare.
Lumea reala este reprezentata prin simboluri care reprezinta sensul de circulatie a datelor,
transformarile la care sunt supuse acestea, modul de stocare, entitatile externe etc.
Reprezinta prin diverse diagrame situatia reala si au aparut ca urmare a inventarii diagramelor
entitate – relatie si ingineriei informatiei.
Clasa reprezinta unitatea arhitecturala de baza. Clasa este o grupare logica a datelor pe baza
structurii comune si a rolului similar.
INITIEREA SI PLANIFICAREA REALIZARII UNUI SISTEM INFORMATIC
Reprezinta prima etapa din ciclul de viata al dezvoltarii sistemelor informatice si impreuna cu
initierea si planificarea proiectelor constituie micro-analiza care este preluata din managementul
proiectelor.
A.
identificarea
şi selectarea
proiectului
B. iniţierea şi
planificarea Fazele ciclului de viaţă al
proiectului dezvoltării
microanaliza
sistemului
C. analiza
D. proiectarea
logică
E. proiectarea
fizică
F. implementarea
G. întreţinerea
Identificarea potentialelor proiecte de proiectare poate fi realizata de catre top manageri, comitetul
de initiativa, grupul de dezvoltare sau departamentul utilizatorilor.
Propunerile de proiecte pot veni intr-o organizatie de la nivelul cel mai de joss au de la top
management. In functie de sursa initierii proiectului pot aparea diverse avantaje dar si dezavantaje.
De exemplu: in cazul top managerilor proiectele propuse vor avea durata cea mai mare, vor fi mai
costisitoare, insa vor fi orientate spre strategia pe termen lung.
Daca propunerea vine din partea grupului de dezvoltare sau a departamentului utilizatorilor,
proiectele nu vor tine cont de strategii, vor fi realizate mai rapid, intarzierile vor fi mai reduse iar
analiza cost – investitie va fi putin importanta. Responsabilul de proiect va trebui sa asigure
comunicarea intre toate partile indicate (client, utilizatori si manageri).
Managerul de proiect raspunde printre altele de:
Studiul de fezabilitate - Are rolul de a determina daca un proiect poate fi demarat sau nu, sau daca
un proiect aflat in mai poate continua.
Studiul de prefezabilitate - Are rolul de a determina daca proiectul isi va atige obiectivele propuse
de unitate.
Observatie: atunci cand exista mai multe variante de derulare a proiectului, studiul de fezabilitate o
va determina pe cea optima.
Observatie: dupa ce a avut loc proiectarea primara a sistemului, pot fi determinate detaliile
importante, adica, in principal, costul proiectarii, implementarii si exploatarii sistemelor.
Observatie: diagrama GANTT nu indica ordinea activitatilor, ci indica intervalul de timp intre care
se desfasoara.
Observatie: sunt utilizate pentru reprezentarea activitatilor proiectelor simple sau in cazul unor
etape ale proiectelor de mare intindere.
ANALIZA SISTEMULUI EXISTENT SI DEFINIREA CERINTELOR NOULUI
SISTEM
Analiza sistemului existent are ca scop determinarea modului de functionare a sistemului si tot aici
se evalueaza ce elemente de noutate pot fi aduse sistemului ce urmeaza a fi realizat. Aceasta etapa
cuprinde un grup de activitati care urmaresc cunoasterea performantelor SI atat in ansamblul sau cat si
in cazul elementelor de structura ale acestuia. Tot aici pot fi incluse cunoasterea restrtictiilor sistemului
existent si identificarea cerintelor informationale ale conducerii.
Se concretizeaza in diferite forme ale informatiilor colectate, care pot fi prezentate sub forma
raspunsurilor din chestionare, seturilor de formulare si rapoarte sau a notelor luate in timpul
analizei documentelor. Rezultatele pot fi prezentate sub trei forme:
JOINT APPLICATION DESIGN (JAD) creata de specialistii de la firma IBM care incercau
sa elaboreze un nou procedeu de culegere a informatiilor referitor la cerintele informationale ale
acestora. JAD implica unele laolalta impunerii fortelor influentate in dezvoltarea sistemelor
(utilizatori, analisti si manageri). Este asemanator interviului insa o sesiune JAD urmareste o
anumita secventa de derulare a activitatilor.
Prototipizarea este un proces interactiv prin care analistii si utilizatorii propun o versiune
rudimentara a unui sistem informational. Acesta se va modifica continuu in functie de reactia
utilizatorilor.
Observatie: prototipizarea este facilitata de cateva programe inclusiv de catre instrumentele de tip
CASE.
CURS 5
Diagrama entitate-relatie face parte din modelarea conceptuala a datelor care renunta la abordarea din punct
de vedere a proceselor si incearca sa reprezinte sistemele in functie de date.
Elementele esentiale vor fi si in acest caz diagramele. Acestea se folosesc deoarece se preSteaza pt a fi
utilizate cu tehnicile structurate care au legatura cu datele prin obiectivele pe care si le propun:
Observatie: Daca baza de date a unitatii este complicata aceata va trebui realizata cat mai exact posibil.
Asupra datelor pot fi realizate 2 mari tipuri de operatuni:
b. utilizarea datelor in diverse moduri (obtinerea documentelor, a rapoartelor, realizarea unor analize pe
baza unor sccenarii, control si auditare)
Modelul conceptual are rolul de a evidentia legaturile existente intre date. Modelarea datelor prin DER
prezinta caracteristicile si structura datelor indiferent de modul de stocare a acestor date in memoria
calculatorului.
Modelul se creaza interativ. De cele mai multe ori se lucreaza la nivel de intreprindere renuntandu-se la
detaliile exagerate.
Doar in etapele urmatoare (cand se trece la definirea proiectului se construieste un model entitate – relatie
care ia in calcul detaliile importante.
Dupa ce sunt descrise complet intrarile si iesirile sistemului in cadrul proietarii logice, modelul entitate-
relatie este prelucrat inainte de a fi trecut intr-un model logic conform caruia se definesc bazele de date si are
loc poietarea fizica a acestora.
In cadrul modelarii conceptuale a datelor se considera ca ar trebui relizate cel putin 4 diagrame entitate-relatie
1. top down (va scoate in evidenta regulile derularii activitatii firmei si va clarifica modul in care
rapoartele sau alte documente sunt utilizate in organizare)
2. sau buttom up (care construieste modul datelor prin analiza documentelor general intern in cadrul
firmei.
Modelul entitate-relatie
A fost prezentat in 1976 si de atunci este o tehnica larg raspandita pt proiectarea bazelor de date.
Modelul ER permite proiectatului ca elaboreze un model conceptual de nivel inalt fara sa tina seama de
limitarile impuse de un anumit SGDB sasu de limitari hardware.
Observatie: Modelul entitate-relatie ca stadiu in proiectarea bazei de date este asemanator pseudocodului ca
modalitate de reprezentare a unui algoritm
Observatie: Modelul ER permite reprez schematica a realitatii prin intermediul unei DER care se bazeaza
pe conceptele de entitate , tip de legatura si atribut.
A fost prezentat in 1976 si de atunci este o tehnica larg raspandita pt proiectarea bazelor de date.
Tipuri de entitati
Un tip de entitate reprezinta un concept sau o clasa de obiecte identificata printru-un nume si
definita de proprietati numite atribute.
Entitate - instanta a clasei si este defnita de valoarea care particularizeaza tipul entitatii.
- iar evenimentele (fenomene sau procese economice) isi fac simtita prezenta la un moment
dat.
O instantiere a entitatii denumita si caz este o manifestare singulara a unui tip de entitate.
Exemplu: exista o singura entitate client insa aceasta poate avea mii de instante stocate in baza de
date.
Un tip de entitate are asociat un set de atribute. Atributul este o proprietate sau caracteristica ce
prezinta interes pentru organizatii.
Entitatea va avea drept corespondent in baza de date finala o tabela ce contine toate atributele care o
caracterizeaza. Unele atribute vor juca rolul de cheie primara care va fi identificator de cazuri in cadrul
unui tip de entitate.
Un tip de relatie reprezinta o asociere intre 2 sau mai multe tipuri de entitati si defineste legatura
care exista intre ecestea.
Observatie: Pentru a reprezenta probleme complexe, modelul a fost extins rezultand EER. La
conceptele de baza au fost adaugate cele de superclasa, subclasa, mostenire.
- O superclasa contine subclase distincte care trebuie sa fie reprezentate in cadrul modelului.
- O subclasa poate contine la randul ei alte clase a.i. Se pot construii ierarhii de clase.
Cardinalitatea realtiilor - se refera la modul in care atributele unei entitati A se afla in relatie cu
atributele entitatii B. Din acest punct de vedere exista urmatoarele tipuri de asocieri.(poza)
TEMA: Diagrama entitate – relatie pentru o companie de taxi
Lipsa
2. Pasul al doilea
CLIENT(COD_CLIENT,NUME)
PRODUS(COD_PRODUS)
FACTURA(NR_FACTURA,DATA_FACTURA)
COMANDA(NR_COMANDA,COD_CLIENT,DATA_COMANDA)
LINIE_COMANDA(NR_COMANDA,COD_PRODUS,CANTITATE_COMANDA)
LIVRARE(NR_FACTURA,COD_PRODUS,CANTITATE_LIVRATA)
3. Pasul al treilea
INSTRUMENTE CASE
Computer Aided Software Engeneering
Programul din aceasta categorie permite proiectarea sistemelor informatice prin integrarea mai
multor tehnici cum ar fi inglobarea dictionarului datelor sau reprezentarea fluxuli de date.
Un soft de tip CASE poate determina cresterea gradului de corectitudine cu care se proiecteaza baza
de date a sistemului informatic. Produsele de tip CASE includ totalitatea instrumentelor si metodelor
destinate ingineriei software asistata de calculator. Sunt utilizate in etapa de analiza si proiectare
deoarece pun la dispozitia utilizatorului un set de instrumente care usureaza reprezentarea grafica in
cadrul acestor etape.
Desi instrumentele CASE mai sunt numite uneori si instrumente de proiectare (modelare) entitate
-relatie (ceea ce ar insemna ca pot sa creeze doar modelul logic) in realitate un instrument CASE are
mult mai multe facilitati.
In primul rand un produs CASE realizeaza legatura intre modelul utilizator si modelul logic
folosind un mod de reprezentare comun atat acestuia cat si proiectantului bazei de date. Instrumentele
CASE nu elimina in totalitate posibilitatea ca un model sa fie gresit. Pentru a elimina aceasta
posibilitate utilizatorul trebuie sa aiba experienta in domeniu. In acest caz utilizatorul se va acomoda
rapid cu un nou produs, deoarece toate se bazeaza pe aceleasi principii si au relativ aceleasi facilitati.
Instrumentele CASE sunt utilizabile din faza de definire a cerintelor si pana in faza de intretinere a
produsului informatic. Analiza si proiectarea bazate pe conceptele proiectarii structurate reprezinta
punctele forte ale acestor produse.
In ultimii ani CASE a inglobat si facilitati legate de proiectarea si programarea orientata obiect.
Pe parcusul evolutiei lor CASE au devenit foarte complexe permitand ca procesele de proiectare si
realizare a aplicatiilor sa se desfaca intr-un mediu interactiv oferind o intreaga gama de instrumente si
proceduri cu ajutorul carora se pot realiza, testa, documenta si intretine sistemul.
– costurilor mari pe care le implica actualizarea softurilor create prin metode traditionale
Avantaje:
– cresterea integrarii
A urmat utilizarea dictionarului de date acesta fiind un depozit al tuturor datelor privitoare la sistem.
Dupa aceea au aparut ecranele predefinite care prezentau rezultatele ce pot fi obtinute. In final
instrumentele CASE au inglobat instrumente grafice si posibilitati de generare automata a anumitor
componente.
Functii CASE:
2. se bazeaza pe faptul ca sistemele informationale pot fi reprezentate intr-o forma grafica concisa,
utilizand un set de simboluri.
Importanta acestor 2 consta in faptul ca aplicatiile, diagramele pot fi modularizate, si pot fi obtinute
automat documentatii referitoare la realizarea si utilizarea sistemului.
Folosirea reprezentarilor grafice in logica CASE ofera posibilitatea descompunerii in mai multe
componente logice.
Prin atasarea unei baze de date la elementele gradice se va obtine un depozit ce va contine pasii si
functiile reprezentate in digramele construite.
Daca aceste elemente corect realizate vor sta la baza realizarii proceselor care vor constitui
procedurile de prelucrare din sistem. Modelarea grafica permite realizarea tuturor tipurilor de opratiuni.
Observatie: CASE nu este un proces independent. Contine un set integrat de metodologii care
urmaresc parcurgerea etapelor ciclului de viata al unui sistem. La sfarsitul fiecarei faze rezultatele
sunt supuse unei analize si verificari, iar utilizatorii trebuie informati asupra modului de gestionare a
procedurilor de lucru. Utilizatorii vor da avizul de parcurgere a fazelor urmatoare.
Tipuri de instrumente CASE
b. CASE orientate-obiect
c. CASE hibride
Erwin Data Modular – permite atat modelarea logica cat si modelarea fizica
Avantaje:
- reverse engineering permite crearea unui model logic pe baza unei scheme a bazei de date
existente in prealabil.
Programul permite utilizarea modelelor complexe prin impartirea lor in submodele mai usor de
gestionat.
- cu identificare
- fara identificare
O relatie cu identificare semnifica faptul ca una dintre entitati este dependenta. Adica pentru a exista
trebuie sa fie partial dependenta de cealalta entitate.
TEME PROIECT
(10 pag cu tot cu capturi de ecran) – folosim Toad Data Modeler (*Oracle design)
Incepand cu anii 90 interesul pentru sistemele distribuite creste datorita cresterii performantelor si
scaderii costurilor calculatoarelor personale.
Utilizarea pe scara larga a arhitecturii client-server permite alocarea de noi componente pentru
aplicatii:
Sistemul distribuit este acel sistem care componentele hard si soft sunt localizate intr-o retea
comuna, comunica intre ele si isi coordoneaza actiunile prin trimiterea de mesaje.
Caracteristici esentiale
a. tipurile diferite de calculatoare si modul in care acestea comunica intre ele nu sunt vizibile
utilizatorului
b. utilizatorii si aplicatiile pot interactiona cu un sistem distribuit intr-un mod uniform indiferent de
locul si momentul interactiunii
c. sistemele distribuite trebuie sa fie scalabile, adica sa poata fi extinse in functie de necesitati.
Acest fapt este o consecinta directa a independentei calculatoarelor, si a faptului ca pentru
utilizatori organizarea interna nu este transparenta
d. un sistem distribuit trebuie sa fie construit astfel incat sa nu fie efectat de defectiuni sau caderi
de tensiune
Conceptul de sistem distribuit este aplicat unui numar mare de configuratii si aplicatii. In functie de
cele 2 componente principale ale oricarui sistem (prelucarile si datele) pot fi identificate 2 categorii:
In cazul a. programele sunt rezidente in diverse locuri din retea, fiind accesibile tuturor utilizatorilor.
Datele vor fi stocate in diverse calculatoare astfel incat acestea sa poata fi accesibile ca intreg de pe
orice calculator din retea (reteaua internet poate fi considerata un sistem distribuit la nivel global,
include o diversitate de echipamente conectate in retea fiecare echipat cu propriul tip de sistem de
operare dar care vad datele intr-un mod uniform)
Avantajele si dezavantajelre sistemelor distribuite
Observatie: Notiunea de resursa este una abstracta utilizata pentru a descrie multimea elementelor
care pot fi utl in comun intr-o retea de calculatoare.
Avantaje: Dezavantaje:
Cresterea disponibilitatii resurselor este un avantaj major mai ales in cazul in care apar defectiuni.
Intr-un sistem centralizat aparitia unei defectiuni poate duce la caderea intregului sistem. SD sunt
proiectate astfel incat ca functioneza si in conditiile aparitiei unor probleme care afecteaza o parte a
sistemului.
Celelalte resurse raman disponibile, ele putand prelua sarcinile partilor de sistem afectat, iar
utilizatorul nu va sesiza disfunctionalitatea sistemului.
Reducerea costurilor de comunicatie se refera la faptul ca resusrele acceptate pot fi aduse mai
aproape de client. In acest caz limitarile legate de traficul in retea pot fi ocolite. Daca volumul datelor
solicitate depaseste retelele de comunicatie, acest fapt duce la blocarea retelei.
!!! In cazul sistemelor distribuite traficul in retea va scadea deoarece datele de interes local pot fi
localizate (aduse aproape de solicitanti).
Flexibilitatea dezvoltarii sistemelor se refera la faptul ca o firma aflata in dezvoltare isi poate adauga
noi resurse in sistem, ceea ce nu se poate realiza in sistemele centralizate. In cazul acestora dezvoltarea
sau intensificarea activitatii duce la supraincarcarea sistemului care trebuie inlocuit.
Cel mai important obstacol in extinderea sistemelor distribuite il reprezinta complexitatea foarte
mare a acestora. Sursele din care rezulta complexitate sunt:
- distribuirea datelor
- distribuirea prelucrarilor
- asigurarea integritatii datelor
- optimizarea accesarii resurselor
In functie de tipul lor,calculatoarele pot avea diverse moduri de reprezentare a datelor in memorie.
In afara de acestea diferentele de functionare si de gestionare a resurselor de catre diverse sisteme de
operare pot determina ca sitemul distribuit sa fie disfunctional.
Componenta care asigura rezolvarea tuturor acestor probleme este middleware-ul care este un nivel
intermediar al softare-ului ce ascunde etrogenitatea datelor, a retelelor, si a sistemelor de operare. In
plus middleware furnizeaza un mod model uniform pe care programatorii de aplicatii trebuie sa-l
respecte.
Sisteme deschise
Sistemele distribuite sunt deschise deoarece noi servicii referitoare la partajarea resurselor pot fi
adaugate si utilizate de o mare varietate de programe. Cu alte cuvinte caracterul deschis determina daca
sistemul poate fi completat cu alte componente.
Un sistem este considerat deschis daca ofera servicii in conformitate cu reguli care descriu sintaxa si
semantica lor. De exemplu formatul, continutul si semnificatia mesajelor transmise intr-o retea de
calculatoare sunt stabilite printr-un set de reguli care compun protocolul de comunicatie.
In sistemele distribuite serviciile sunt definite printr-o interfata cu care se lucreaza prin intermediul
unui limbaj de definire a interfetelor. De regula specificatiile interfetei scrise in acest limbaj se refera
doar la sintaxa serviciilor.
Scalabilitatea
In cazul unui sistem centralizat o crestere brusca a accesarii resurselor va determina sincope in
functionarea acestuia. In cazul unui sistem distribuit, datorita distribuirii pe mai multe servere, acest
lucru poate fi evitat.
Observatie: Nu se poate aplica mereu aceasta solutie. Daca avem in vedere prelucrarea datelor
personale (tranzactii bancare) se recomanda ca toate aceste date sa fie stocate pe un singur server.
Transparenta reprezinta unul dintre obiectivele majore urmarite in realizarea sistemelor distribuite.
Urmareste ascunderea aspectelor specifice distribuirii in cadrul sistemului.
Modelul de referinta ISO prezinta 8 forme ale transparentei: accesul, localizarea, relocalizarea,
replicarea, concurenta, aparitia disfunctionalitatilor, presistenta, securitatea.
CURS 8
Transparenta accesului se refera la faptul ca accesarea unei resurse aflata pe un alt dispozitiv, nu este
vizibila utilizatorului. Lipsa transparentei accesului este vizibila atunci cand un sistem distribuit nu
permite accesul la un fisier aflat pe un alt server (de cat prin alte modalitati in afara de cea direscta, de
exemplu prin serviciul FTP). Transparenta localizarii se refera la faptul ca utilizatorul nu stie unde se
afla fizic o anumita resursa in conditiile in care poate sa o acceseze. Transparenta accesului si a
localizarii se mai numesc transparenta retelei.
Atunci cand anumite resurse dintr-un sistem distribuit pot fi transferate in alte locuri fara ca modul
in care sunt accesate sa se modifice se mainifesta transparenta migrarii. Chiar daca un program sau o
parte a unei baze de date este transferata intr-o alta parte a sistemului utilizatorul nu va sesiza acest
lucru iar aplicatia sistemului distribuit nu va trebui reproiectata.
Transparenta localizarii se refera la faptul ca o resursa poate fi transferata (mutata) chiar in timpul
accesarii acesteia. Utilizatorul nu va sesiza acest lucru; acest tip de transparenta este necesar in
sistemele mobile.
Transparenta concurentei se refera la situatia in care mai multi utilizatori acceseaza simultan aceiasi
resursa. Din nou utilizatorii nu vor sesiza acest lucru. Transparenta disfunctionalitatilor consta din
faptul ca utilizatoriii nu vor observa ca anumite resurse au incetat sa functioneze sau nu functioneaza
normal. Acest tip de transparenta este mai dificil de realizat deoarece in general sistemel distribuite nu
disting intre o resursa inutilizabila si una indisponibila temporar (exemplu: la accesarea unei pagini
web serverul poate afisa un mesaj in care sa se specifice ca pagina nu este disponibila insa pentru a
diagnostica ca serverul este inutilizabil mai sunt necesare mai multe teste).
Transparenta persistentei se refera la faptul ca pentru utilizatori plasarea unei resurse in memoria
RAM sau pe DISK nu ar trebui sa aibe nici o revelanta. Acest tip de persistenta trebuie asigurat mai
ales de serverele de BD.
Baze de date distribuite
O baza de date distribuita este formata din multiple baze de date independente care opereaza pe doua
sau mai multe calculatoare conectate in retea si care partajeaza date prin internetul retelei.
Observatie: fiecare baza de date este gestionata de un SGBD independent, responsabil pentru
mentinerea integritatii datelor. Este posibil ca BD-urile ce formeaza un sistem distribuit sa fie
implementate inclusiv pe platforme hardware diferite.
Definitia ar putea fi considerata incompleta deoarece aceasta nu face diferenta intre un sistem
distribuit si unul cu multiple baze de date conectate in retea. De aceea definitia trebuie completata in
sensul ca o baza de date distribuita trebuie sa poata fi utilizata la fel ca una nedistribuita.
Baza de date distribuita = colectie de date integrate din punct de vedere fizic dar distribuite pe mai
multe platforme conectate in retea in conditiile asigurarii transparentei naturii distribuite a datelor.
Punerea in practica a acestor aspecte solicita realizarea a 12 obiective:
1. Autonomie locala – nodurile dintr-un sistem distribuit trebuie sa fie autonome, adica operatiile
realizate pe nodul respectiv trebuie sa fie controlate doar de acel nod. Astefel toate problemele,
inclusiv cele legate de securitate trebuie rezolvate la nivel local chiar daca datelel sunt accesate
de la distanta.
2. Sistemul nu trebuie sa se bazeze pe un nod central. In caz contrar sistemul depinde de nodul
respectiv fiind astfel mai vulnerabil ca intreg.
6. Independenta replicarii
8. Gestionarea tranzactiilor distribuite – o tranzactie distribuita apare atunci cand datele din mai
multe noduri trebuie actualizate.
11. Independenta retelei – sistemul distribuit trebuie sa poata functiona in conditiile existentei mai
multor tipuri de retele de comunicatii.
12. Independenta SGBD-urilor
Biblioteca ADO
Biblioteca ADO se foloseste atunci cand se lucreaza in limbajul VBA la conectarea cu alte BD-uri.
Alte instrumente sunt DAO si RDO (remote data object). Dupa conectare obiectele BD pot fi
manipulate in totalitate astfel in cat prin program sa se realizeze toate gama de operatii posibile.
Observatie: RDO - a fost utilizata in general pentru conectarea cu baze de date de foarte mari
dimensiuni iar DAO pentru conectarea la bazele de date locale. ADO se foloseste pentru conectarea la
bazele de date de orice tip.
ADO – Activies Data Object este o interfata orientata obiect cu motorul de baza de date Mirosoft Jet
Engine.
ODBC (Mircosoft Open Database Connectivity) – este o interfata scrisa in limbajul C care permite
accesarea bazelor de date specifice unei multitudini de SGBD-uri. Aplicatia care utilizeaza ODBC va fi
independenta de SGBD-ul cu care a fost realizata BD. Motorul BD Jet permite gestionarea interogarilor
unei BD relationale si ofera o interfata de acces a bazelor de date permitand indexarea si prelucrarea
tranzactiilor.
ADO permite definirea tabelelor si crearea unei BD complete , inclusiv interogarea acesteia.
Pentru conectarea la o anumita baza de date este necesara stabilirea unei conexiuni fizice catre
aceasta cu ajutorul obiectului connection. Acesta este utilizat pentru a specifica numele producatorului
Bazei de date. Command este obiectul utilizat pentru stocarea comenzii curente in general o procedura
stocata in cazul furnizorului SQL Server. Atunci cand comanda are nevoie de parametri pentru a fi
executata se utilizeaza un obiect de tip parameter. Un recordset reprezinta o structura de date formata
din inregistrarile unei tabele sau din rezultatele unei interogari. Obiectul fields este utilizat fie pentru
afisarea campurilor dintr-un recordset fie pentru modificarea valorilor unui anumit camp. Obiectele de
tip error vor contine erorile aparute.
Pentru a utiliza in codul VBA biblioteca ADO este necasara adaugarea unei referinte catre aceasta in
Microsoft Access (TOOLS > REFERENCES > (SELECT) MICROSOFT ACTIVE X ADO)
Rs.MovieNext
Wend
Pentru a afisa continutul campurilor se poate utiliza fie colectia Fields, fie doar obiectul recordset
urmat de semnul exclamarii si denumirea campului intre paranteze. Avansul la urmatoarea inregistrare
se realizeaza prin metoda MoveNext.
Ex: Crearea si afisarea continutului unui recordset rezultat in urma executiei unei interogari SQL
Rs.MovieNext
Wend
Tipuri de cursori
Un cursor este un mecanism care permite realizarea unor vederi asupra datelor si determina daca se
poate avansa inainte sau inapoi in setul de date.
Forewordonly = permite avansul spre inainte in recordset. Acest tip de cursor trebuie folosit doar
daca datele din recordset vor fi doar vizualizate. Acest tip de cursor afiseaza doar informatia care
incape pe ecran,restul daca este nevoie, va fi afisat ulterior.
Keyset = asemanator cu cel static , descarca intreg recordsetul, permite avansul in orice directie,
insa in plus permite vizualizarea datelor modificate de catre ceilalti utilizatori. Permite modificarea ,
inserarea si actualizarea inregistrarilor.
Dynamic = permite realizarea tuturor operatiunilor descrise anterior insa in plus ocupa mult mai
multa memorie si resurse procesor.
Observatie: In functie de tipul de cursor anumite proprietati sau metode vor functiona sau nu , de
exemplu, proprietatea recordcount va furniza rezultatul corect doar in cazul in care cursorul este de
tip keyset.
Tipuri de blocaje
Blocajele au rolul de a impiedica alti utilizatori sa realizeze modificari asupra setului de date.
Deoarece, de obicei, la o baza de date au acces mai multi utilizatori este de dorit ca operatiunile pe
care le pot realiza asupra inregistrarilor sa fie controlate.
Metoda Find
Criteria = este sirul de caractere ce defineste criteriul de cautare, trebuie sa contina denumirea unui
camp, un operator de comparare si valoarea de cautat
skipRecords = valoare de tip long care indica numarul de inregistrari fata de cea curenta peste care
se va sari inainte de a incepe cautarea
start = valoare de tip variant. Este fie un bookmark, fie o constanta de tip bookmarkEnum care
indica inregistrarea curenta de la care incepe cautarea.
Observatie: Metoda Find se utilizeaza atunci cand se realizeaza cautari pe baza unui singur criteriu.
Atunci cand criteriul implica conditii multiple se utilizeaza Filter.
Exemplu: recordset.Find,”salariul_brut>10000”
Metoda update
recordset.update fields,values
Se utilizeaza ori de cate ori se realizeaza modificari in baza de date (adica inclusiv atunci cand se
adauga noi inregistrari). Modificarile se pot face direct prin metoda indicand unul sau mai multe nume
de campuri si una sau mai multe valori, sau de cele mai multe ori prin program cu ajutorul unor
formule, metoda update determina modificarea efectiva a val din tabel.
Bookmarck
Intr-o baza de date accesata de multi utilizatori numarul unei inregistrari se modifica in permanenta.
Prin urmare daca din diferite motive se doreste memorarea numarului inregistrarii solutia ar fi plasarea
unui bookmark la inregistrarea repectiva.
Observatie: Pentru a putea lucra cu semne de carte trebuie utilizat tipul de cursor corespunzator.
Static si keyset permit lucrul cu bookmarkuri insa daca cursorul nu este specificat atunci tipul implicit
de cursor este foreword care nu permite lucrul cu bookmark.
Exemplu:
Public Sub testareBookmark()
dim rs as new adodb.recorset
rs.open”Incasari”,CurrentProject.Connection.adOpenKeyset,adLookOptimistics
if not rs.Supports(adBookmark) then
msgBox”acest recordset nu suporta bookmark”
end exit
end if
varMyBkmark=rs.Bookmark
debug.print”VAloare=”;””;rs.fields(1).value;””
*Mergi la inreg nr 7
rs.AbsolutePosition=7
Adaugare inregistrari
Adaugarea se realizeaza cu metoda AddNew care poate fi utilizata specificand prin sintaxa !
nume_camp, valoarea fiecarui camp care se va adauga sau cu ajutorul argumentului Array prin care se
specifica mai intai lista campurilor pentru care se adauga valori iar mai apoi valorile propriu-zise.
Ex1: rs.AddNew Array (codc, denc, adresac), Array (“10”, “TestSRL”, “SV”)
Ex1:
with rs
.Open „Select * from Clienti”, CurrentProject.Connection, addOpneKeyset,
adLockoptimistic
.AddNEw
!Codc = „10”
!Denc = „Cutarescu Manole”
!Adresac = „Bacau”
’codC pentru inregistrarea curenta
Debug.Print !Codc.Value
’Du-te la prima inregistrare
.MoveFirst
Debug.Print !Codc.Value
.Close
End With
Set rs = Nothing
End Sub
Observatie: Instructiune WITH si END WITH este folosita pentru a utiliza diverse metode care se
refera la acelasi obiect fara a specifica de fiecare data numele obiectului.
Modificare inregistrari
Se poare realiza prin metode UPDATE sau UPDATEBATCH. Deosebirea principala consta in
faptul ca UPDATE poate modifica o singura instructiune iar UPDATEBATCH mai multe instructiuni
simultane.
UPDATEBATCH este utilizata in tandem cu metoda FIND care identifica pe rand toate
inregistrarile care trebuie modificate conform criteriului
Modifica Suceava din litere mici in majuscule, asta face programul anterior.
Preluarea codului clientului a denumirii si a adresei dintr-o forma utilizator care contine trei casete
text si un buton de comanda.
Observatie:
1. Se testeaza daca pentru cod client s-a introdus o valore si daca aceasta este de tip numerica.
In caz contrar se intrerupe executia procedurii cu EXIT SUB si se reactiveaza caseta text in care se
introduce codC cu instructiunea Text0.SetFocus
2. De fiecare data atunci cand se foloseste proprietatea TEXT a unui textBox trebuie utilizata si
metoda setFocus. In cazul proprietatii value setFocus nu mai este obligatorie.
If Me.Text0 = „” Or Not IsNumeric(Me.TEXT0) Then MsgBox „Nu ati introdu corect codul
cleintului”: Me.Text0.SetFocus: EXIT SUB
Text0.SetFocus
Forms!Form3!Text14.SetFocus
id = Me.Text14.Text
Forms!Form3!Text0.SetFocus
nume = Me.Text0.Text
Forms!Form3!Text8.SetFocus
prenume = Me.Text8.Text
Forms!Form3!Text10.SetFocus
adresa = Me.Text10.Text
Forms!Form3!Text12.SetFocus
email = Me.Text12.Text
If rs.EOF Then
rs.AddNew Array("id_client", "nume", "prenume", "adresa", "mail"), Array(id, nume, prenume,
adresa, email)
Else
MsgBox "Id-ul este introdus"
End If
Metoda DELETE
Rs.DELETE AffectRecods
Metoda marcheaza inregistrarea curenta pentru stergere si poate sterge o inregistrare, un grup de
inregistrari sau toate inregistrarile dintr-o tabela. Daca tipul de blocaj este optimistic inregistraera va fi
steasa imediat (si incercarea de a accesa orice camp al inregistrarii va genera eroare).
Observatie:
Operatiunile de stergere sau modificare a inregistrarilor pot fi realizate si utilizand metoda execute
sau rang SQL.
Ex:
DoCmd.RunSQL „UPDATE clienti SET adresac=’SUCEAVA’ WHERE adresac=’SUCEAVA’”
CurrentDb.Execute „UPDATE clienti SET adresac=’SUCEAVA’ WHERE adresac=’Suceava’”
Observatie:
1. Metoda runSQL executa actiuni de actualizare sau stergere daca se doreste din interiorul
VBA-ului lucrul cu date atunci se recomanda utilizarea interogarilor de selectie.
2. Interogarile de tip update se recomanda a fi create mai intai in desingView si apoi copiate in
codul VBA. Metoda EXECUTE este valida doar pentru interogarile de actiune. Utilizarea
metodei pentru lansarea altor tipuri de interogari va genera eroare. Execute nu returneaza un
recordset.
Preluarea unui recordset format din datele importate din alte aplicatii
Observatie:
1. Excel 8.0 nu se refera la varianta de excel instalata ci la versiunea providerului ADO pentru
Excel.
2. Parametrul HDR=Yes se refera la faptul ca foaia de calcul are un cap de tabel un headerRow
3. Datele sunt preluate din registrul de calcul data tabela pivot.xls din foaia de calcul Carti.
Sintaxa selectiei foii de calcul este „SELECT * FROM [Carti$]. Exemplul afiseaza in
fereastra imediat doar continutul coloanei titlu carte
De exemplu tehnologii specifice AI sunt utilizate deja de cativa ani in industria militara, in
astronomie, in finante, in recrutarea personalului, la predictia comportamentului consumatorului,
dentificarea preferintelor, etc.
a. sistemele expert bazate pe reguli in care cunostintele sunt bazate pe reguli de productie
b. sistemele bazate pe retele neuronale in care baza de cunostinte este creata automat pe baza
unor forme de invatare. Elementul principal, adica neuronul formeaza retele puternic
interconectate (asemantoare celor din creierul uman) care sunt capabile de invatare si apoi de
generalizare
c. sisteme multiagent sunt sisteme distribuite formate dintr-o colectie de agenti autonomi care
interactioneaza intr-un mediu comun
1. Se refera la asa numitele sisteme expert care stocheaza cunostintele dintr-un anumit domeniu
bine precizat si au capacitatea de a realiza expertize de o calitate apropiata celor realizate de
expertii umani intr-un domeniu.
Intr-un sistem expert pot fi evidentiate urmatoarele componente:
- o baza de cunostinte explicit construita dintr-o baza de fapte si o baza de reguli;
- motorul de inferente;
- interfata utilizator .
2. Sisteme bazate pe retele neuronale (sisteme conexioniste) - un sistem de acest tip este
format din elemente de baza numite neuroni grupati in straturi interconectati in diverse moduri
care pe baza unui algoritm de invatare furnizeaza si rezultate pe baza corelatiilor detectate intre
datele furnizate la intrari .
Observatie: procesul de antrenare al retelei neronale implica atingerea unui minim global al erorii
dintre intrari si iesiri. Daca se atinge un minim local procesul de invatare nu determina obtinerea unei
retele bine antrenate, iar aceasta va generaliza (va cauta sa reproduca la iesiri datele furnizate la
intrare).
Observatie: cel mai popular si controversat algoritm de invatare este cel cu propagare inapoi a
erorii (back propagation).
3. Un sistem multi agent este un sistem distribuit format dintr-o colectie de agenti autonomi care
interactioneaza intr-un mediu comun, fiecare agent avand cunostinte, capacitati de actiune si
scopuri proprii. In functie de tipuri de agent utilizat se pot identifica 2 categorii de sisteme multi
agent:
a. cu agenti cognitive (sisteme multi agent cognitive)
b. cu agenti reactivi
Cele cognitive urmaresc sa simuleze aspecte ale comportamentului uman, prin tratarea
notiunilor de scop, cooperare, competitie si organizare si stabilirea relatiilor de dependenta intre
aceste structuri de organizare, capacitate de invatare si autoperfectionare.
Initial tehnologia bazelor de date nu era utilizata in cazul tehnlogiilor GIS (Geographic Information
System), fiecare produs din aceasta categorie tratand datele intr-o materie proprie. Ulterior, odata cu
aparitia bazelor de date relationale, cele doua tehnlogii au fost utilizate combinat deoarece prelucrarea
datelor a devenit standardizata. Pe piata produselor GIS sunt utilizate urmatoarele modele de date:
a. Modelul hibrid
b. Modelul integrat
Modelul integrat este bazat pe reprezentarea si procesarea datelor grafice si descriptive in cadrul
unui SGBD relational. Acest mod de prelucrare a datelor prezinta limitari privind tipurile de date insa
are in vedere posibilitatea extinderii SGBD-ului cu noi tipuri de date si facilitati de interogare SQL. In
acest sens ORACLE a introdus componente specializate pentru reprezentarea si accesarea datelor
spatiale.
- Tehnice
- Juridice
- Economice
Organizarea descrierea si prelucrarea datelor cadastrale necesita utilizarea unui produs de tip GIS,
care sa ofere un nucleu grafic pentru reprezentarea si prelucrarea datelor grafice, un SGBD si canale de
comunicare intre cele doua componente.
Distribuirea datelor este o caracteristica comuna celor patru sisteme de evidenta. In principiu chiar
daca datele sunt utilizate de catre mai multe servicii acestea trebuie memorate fizic intr-un singur
depozit.
O banca de gene are ca principal scop asigurarea securitatii alimentare in conditiile exploziei
demografice prin asigurarea calitatii alimentelor. Ca rol secundar se urmareste identificarea de noi
plante care pot deveni plante de cultura.
Conservarea resurselor genetice se face prin pastrarea lor in habitatele in care s-au format si evoluat.
Daca acest lucru este dificil de realizat conservarea se realizeaza prin pastrare in gradini botanice sau
banci de gene.
Corespunzator activitatilor de colectare, evaluare si depozitare se vor optine date de pasaport, date
de evealuare si de conservare.
Datele de pasaport si cele de conservare (adica fisa de depozit sunt comune tuturor speciilor) iar
caracterizarea si evaluarea difera de la o specie la alta si rezulta din prelucrari statistice asupra datelor
obtinute experimental.
Pentru datele existente in baza de date pot fi utilizate tehnici ale inteligentei artificiale care sa
realizeze urmatoarele sarcine recunoasterea si clasificarea populatiilor, recunoasterea cromozonilor pe
baza imaginilor, diagnosticarea rezistentei la boli, a rezistentei la conditii speciale de mediu etc.
Acesta se bazeaza in principal pe o platforma numita X-ROAD care permite interconectarea tuturor
bazelor de date utilizate de diversele servicii accesibile cu ajutorul buletinului digital. X-ROAD
serveste ca platforma pentru dezvoltarea aplicatiilor pe care orice institutie de stat o poate folosi pentru
extinderea serviciilor fizice in domeniul digital. Daca o institutie doreste sa foloseasca X-ROAD
depune o cerere si va avea acces la toate datele de care are nevoie in serviciul pe care doreste sa-l ofere.
Observatie: in functie de tehnica folosita modelul matematic poate sa nu fie obtinut in final (de
exemplu retelele neuronale reprezinta o tehnica de tip cutie neagra)
Principiile modelarii specifica faptul ca nu e suficient un singur model pentru o anumita problema,
se pot utiliza diverse niveluri de precizie, iar modelele performante au corespondent in realitate
(reusesc sa modeleze foarte aproape de modelul real)
Observatie: Analiza si proiectarea (planificarea) unui proiect trebuie facute inainte de realizarea
codului
Un limbaj de modelare este un limbaj artificial caare poate fi folosit sa exprime informatii sau
cunostintele dintr-un anumit domeniu.
UML = limbaj de modelare grafic orientat-obiect care descrie proprietatile dinamice si structurale
ale unui sistem software. Prin sistem software se intelege in general o baza de date sau un modul de
program .
UML este format dintr-o colectie de tehnici de modelare folosite pentru tratarea diverselor aspecte
ce tin de procesul de concepte si de realizarea a softului.
Fiecare tehnica de modelare ofera o vedere diferita (statica sau dinamica) a unei aplicatii
Colectia de vederi in acest caz se numeste model.
- diagrame de clase care modeleaza entitatile unui sistem prin clase cu atribute si
comportament (aceste diagrame mai descriu asocierile dintre clase si constrangerile
pe care le respecta)
- diagrame de obiecte
- diagrame de caz de utilizare (usecase – reprezinta un model al functiilor sistemului
prin care se sustin procesele afacerii)
- de stare (statechart surprind comportamentul dinamic al sistemului sau a obiectelor
din cadrul acestuia. Clasele reprezinta modelele logice care surprind structura de baza
a sistemului)
- de secvente
- de activitate (m prezinta fluxul proceselor cu rol de a prezenta o imagine de nivel
inalt a afacerii si a modului cum opereaza)
- de colaborare
Clase UML
Modeleaza entitatile de interes dintr-un sistem. O clasa are instante sau realizari.
Instantele sunt obiectele clasei. Structura obiectului contine atributele acestuia. Comportamentul
reprezinta operatiunile ce pot fi executate asupra unei instante specifice.
Observatie: Clasele identifica conceptele sau .. le foloseste pentru a descrie solutia problemei.
Grafic o clasa se reprezinta printr-un dreptunghi care contine numele, atributele care il descriu si
metodele pe care le suporta.
Atributele pot fi de diverse tipuri, de exemplu cele protejate indica faptul ca doar clasa respectiva
si succesori sai pot avea acces la atribute.
Operatiunile sau metodele reprezinta actiunile care pot fi realizate pe clasa respectiva. De exemplu
destroi este un stereotip UML care indica metoda de distrugere a unei clase pt a elimina instanetele de
obiect.
In cadrul claselor se pot utiliza operatiile de generalizare si specializare pentru a organiza clasele in
ierarhii.
Modelarea conceptuala
Metodologia UML implica crearea unui model al afacerii (bussiness model) care este structurat in 2
parti:
1. modelul cazurilor de utilizare ale afacerii care urmareste identificarea modului in care
afacerea este vazuta de catre actorii externi. Prezinta procesele afacerii in termenii cazurilor de
utilizare.
Caz de utilizare= secventa sau mai multe secvente alternative de activitati care au loc in contextul
respective
2. modelul obiect al afacerii se concetreaza asupra modului in care utilizatorii din interiorul
sistemului realizeaza procesele afacerii
Cele doua parti ofera o imagine asupra actorilor externi si interni si a entitatilor care intervin, toate
acestea fiind preluate in diagramele de clase. Pe baza etitatilor desprinse din modelul obiect al afacerii
se poate realiza un model conceptual preliminar.
Modelarea logica presupune obtinerea modelului cazurilor de utilizare a sistemului. Acesta contine
actorii, cazurile si relatiile dintre ele. (defapt va indica cerintele care trebuie satisfacute de respectivul
sistem)
2. construirea componentelor fizice prin care se va construi baza de bate( scrpturi DDL) – pentru a
usura proiectarea bazelor de date UML ofera un cadru de lucru numit ULM profile for database design.