Creeaza.com - informatii profesionale despre


Simplitatea lucrurilor complicate - Referate profesionale unice
Acasa » scoala » informatica » oracle
PROIECTAREA SI PREZENTAREA UNEI APLICATII

PROIECTAREA SI PREZENTAREA UNEI APLICATII


PROIECTAREA SI PREZENTAREA UNEI APLICATII

Descrierea sistemului

Pentru exemplificarea catorva dintre notiunile prezentate in aceasta lucrare, se propune realizarea unei solutii informatice ce va gestiona activitatea unei firme ce furnizeaza servicii de telecomunicatii, privita din perspectiva gestionaarii informatiilor legate de clienti.

In cadrul acestei aplicatii vor trebui organizate informatii legate, pe de o parte de cererile persoanelor pentru conectare si pe de alta parte de clientii deja conectati (evidenta platilor si sesizarile legate de nefunctionare realizate de acestia).

Exista mai multe departamente, fiecare ocupandu-se de unul dintre aspectele gestionarii clientilor:

departamentul relatii cu clientii preia cererile telefonice pentru conectare si sesizarile venite din partea clientilor si le adauga in baza de date, pentru ca apoi informatia sa fie procesata si problema rezolvata de catre departamentul corespunzator. De asemenea are drept de vizualzare asupra tuturor informatiilor clientilor, pentru a putea oferi acestora raspunsuri la intrebarile adresate. Nu pot insa decat adauga noi "Cereri" in baza de date



departamentul comercial se ocupa de procesarea cererilor de conectare, incheierea contractelor sau, eventual, reziliere acestuia. Fiecare agent comercial are asociate anumite "zone" , acesta fiind responsabil de rezolvarea problemelor clientilor ce locuiesc in zonele respective; Agentii comerciali pot doar sa vizualizeze informatia legata de clientii care le revin. Eventualele modificari in date ca urmare a semnarii contractelor sunt efectuate de seful/coordonatorul departamentului.

departamentul tehnic se ocupa cu rezolvarea problemelor sesizate de clienti. De asemenea ei pot doar vizualiza inregistrarile legate de sesizarile clientilor si pot modifica doar anumite informatii legate de acestea, cum ar fi campurile "Cauza nefunctionare"si "Mod Solutionare".

departamentul administrativ gestioneaza informatiile legate de aspectul financiar ( incasari clienti ) si administrare informatiilor angajatilor.

Astfel, drumul pe care un client il parcurge in cadrul firmei, trecand prin diferitele departamente porneste de la departamentul relatii cu clientii, din momentul efectuarii unei solicitari telefonice pentru conectare. Angajatul care va prelua acest telefon, verifica disponibilitatea serviciului in zona respectiva si adauga cererea in baza de date, specificand informatii cum are fi numele persoanei, adresa, si numarul de telefon.

Fiecare agent comercial verifica zilnic cererile aparute in zonele de care este responsabil. La aparitia unei noi cereri, daca este posibila realizarea conectarii sau va fi posibila intr-un timp relativ scurt, contacteaza clientul pentru a incheia contractul. Responsibilul cu procesarea informatiilor pentru deprtamentul comercial primste periodic noil contracte si adauga informatiile in baza de date, transformand cererea existenta intr-un client al firmei, prin adaugarea informatiilor legate de contractul semnat si tipul de abonament solicitat.

Fiecare angajat al departamentului tehnic responsabil cu service-urile si conectarile noilor abonati, verifica periodic noile probleme aparute in zonele de care este responsabil. Dupa realizarea conectarii, clientul este activat in sistem. Responsabilul cu procesarea informatiilor legate de realizarea conectarilor si rezolvarea service-urilor adauga informatii legate de data activarii si eventualele setari asociate noului client. Daca este vorba despre rezolvarea unui service, se modifica inregistrarea din tabelul de Service-uri prin adaugare informatii lor despre angajatul care a solutionat problema, data la care a fost rezolvata, ceea ce face ca acesta sa dispara din lista de probleme nerezolvate a angajatului respectiv.

Angajatii departamentului administrativ preiau informatii despre platile efectuate de clienti (prin banca) si le adauga in sistem. De asemenea aplicatia le ofera posibilitatea monitorizarii clientilor restantieri (daca a expirat termenul scadent al facturii - data de 30 a fiecarei luni ) si deconectarea acestora pentru neplata, daca se depasesc alte 15 de la data scadenta.

Managerul firmei are posibilitatea de a vedea diverse statistici privind evolutia in timp a numarului de clienti, a incasarilor si repartizarea clientilor pe diverse tipuri de abonamente.

Maagerul este singurul care poate adauga clienti "speciali" care nu platesc abonament si care nu apar niciodata in lista de restantieri si care poate modifica informatii legate de salriul angajatilor.

De asemenea va exista si un cont administrator care va putea gestiona conturile de utilizator.

Proiectarea

Cazuri de utilizare

Diagrama entitate-legatura

Entitatile intre care exista reltii N:1 se transforma in tabele. Intrucat o cerere solutionata devine un client, vom folosi acelasi tabel pentru pentru a pastra informatia, in cazul cientilor completandu-se cateva informatii in plus.

Obtinem tabelele:

TBL_ORASE (ID, nume)

TBL_ZONE(ID, nume, IDOras)

TBL_TIPURI_ABONAMENTE(ID, denumire, pret, limitari)

TBL_DEPARTAMENTE(ID, denumire)

TBL_ANGAJATI(ID, nume, IDDepartament, salariu, telefon, functie, este_sef, IDZona)

TBL_CLIENTI (ID, nume, IDZona, adresa, telefon, dataConectare, IDAngajatContract, IDAngajatConectare, nrContract, dataContract, special, deconectat, dataDeconectare, ultimaLunaPlatita)

TBL_SERVICE (ID, IDClient, IDAngajatPreluare, dataAdaugare, descriereProblema, dataRezolvare, Comentarii, IDAngajatRezolvare)

TBL_PLATI(ID, IDClient, IDAngajat, suma, data)

Implementarea si functionalitatea aplicatiei

Crearea bazei de date

Pentru crearea structurii bazei de date s-a foloist interfata Oracle Enterprise Manager pusa la dispozitie de versiunea Oracle 10g.

se creaza un spatiu tabel care va fi folosit pentru stocarea obiectelor bazei de date (TS_ANT);

cream un profil care sa impuna anumite limitari privind protejarea parolelor (folosim functia verify_function pe care Oracle o pune la dispozitie prin scriptul UTLPWDMG.SQL

se creaza utilizatorul Felicia cu drept de administrare :

CREATE USER 'FELICIA' PROFILE 'PF_IMPLICIT' IDENTIFIED BY DEFAULT TABLESPACE 'TS_ANT' TEMPORARY TABLESPACE 'TS_ANT_TEMP' ACCOUNT UNLOCK
GRANT 'CONNECT' TO 'FELICIA' WITH ADMIN OPTION
GRANT 'DBA' TO 'FELICIA' WITH ADMIN OPTION

Incercarea de a folosi drept parola cuvantul "felicia" returneaza eroare, fiin identic cu numele de utilizator, deci functia de verificare a parolei este activa

se contruiesc tabelele; pentru fiecare tabel vom avea o secventa si un trigger pentru a se completa automat, incremental, valorile din campul ID

CREATE TABLE 'FELICIA'.'TBL_ORASE' (

'ID' NUMBER NOT NULL

'NUME' VARCHAR2 NOT NULL

PRIMARY KEY ('ID') VALIDATE

UNIQUE ('NUME') VALIDATE

) TABLESPACE 'TS_ANT'

CREATE TABLE 'FELICIA'.'TBL_CLIENTI' (


'ID' NUMBER

'NUME' VARCHAR2 NOT NULL

'CNP' VARCHAR2

'IDZONA' NUMBER NOT NULL

'ADRESA' VARCHAR2

'TELEFON' VARCHAR2 NOT NULL

'NRCONTRACT' NUMBER

'DATACONTRACT' DATE

'IDANGAJATCONTRACT' NUMBER

'DATACONECTARE' DATE

'IDANGAJATCONECTARE' NUMBER

'SPECIAL' NUMBER DEFAULT

'DECONECTAT' NUMBER DEFAULT

'DATADECONECTARE' DATE

'ULTIMALUNAPLATITA' DATE DEFAULT

'NRCEREREREZILIERE' NUMBER

PRIMARY KEY ('ID') VALIDATE

FOREIGN KEY ('IDZONA') REFERENCES 'FELICIA'.'TBL_ZONE' ('ID') VALIDATE

FOREIGN KEY ('IDANGAJATCONTRACT') REFERENCES 'FELICIA'.'TBL_ANGAJATI' ('ID') VALIDATE

FOREIGN KEY ('IDANGAJATCONECTARE') REFERENCES 'FELICIA'.'TBL_ANGAJATI' ('ID') VALIDATE

CHECK (special=0 or special=1) VALIDATE

CHECK (deconectat=0 OR deconectat=1) VALIDATE

TABLESPACE 'TS_ANT'

Pentru fiecare tabel cream o secventa si u trigger pentru a completa automat campurile ID (cheile primare).

CREATE SEQUENCE 'FELICIA'.'S_ORASE'

NOCYCLE

ORDER CACHE

NOMAXVALUE

MINVALUE

INCREMENT BY

START WITH

CREATE OR REPLACE TRIGGER 'FELICIA'.'TRG_ORASE'
BEFORE INSERT ON 'FELICIA'.'TBL_ORASE' SELECT FELICIA.S_ORASE.NEXTVAL INTO new ID FROM DUAL;

se creaza roluri pentru fiecare departament in parte. De exemplu, angajatii departamentului relatii clienti pot doar vizualiza orice informatie legata de clienti, dar nu pot decat se adauge in tabelele TBL_Service si TBL_CLIENTI noi inregistrari.

CREATE ROLE 'rol_D_REL_CL' NOT IDENTIFIED GRANT CREATE SESSION TO 'D_REL_CL' GRANT SELECT ON 'FELICIA'.'TBL_ANGAJATI' TO 'D_REL_CL' GRANT INSERT ON 'FELICIA'.'TBL_CLIENTI' TO 'D_REL_CL' GRANT SELECT ON 'FELICIA'.'TBL_CLIENTI' TO 'D_REL_CL' GRANT SELECT ON 'FELICIA'.'TBL_ORASE' TO 'D_REL_CL' GRANT SELECT ON 'FELICIA'.'TBL_PLATI' TO 'D_REL_CL' GRANT INSERT ON 'FELICIA'.'TBL_SERVICE' TO 'D_REL_CL' GRANT SELECT ON 'FELICIA'.'TBL_SERVICE' TO 'D_REL_CL' GRANT SELECT ON 'FELICIA'.'TBL_TIPURI_ABONAMENTE' TO 'D_REL_CL' GRANT SELECT ON 'FELICIA'.'TBL_ZONE' TO 'D_REL_CL'

Aplicatia care se conecteaza la baza de date este realizata folosind Visual Basic 6 utilizand comunicarea realizandu-se prin obiectele puse la dispozitie de interfata ADO.

Accesul in sistem se face prin furnizarea numelui de utilizator si a parolei.

Un angajat al departamentului relatii cu clientii poate vizualiza toate informatiile despre un anumit client.


Si de asemenea poate adauga si vizualiza cererile:

Agenti comerciali pot vizualiza o lista cu cererile in asteptare:

Iar departamentul tehnic foloseste fereastra SEVICE pentru aflarea service-urilor nerezolvate.

Managerul poate vedea grafice si are acces toate informatiile bazei de date dor in modul vizualizare. Poate doar sa adauge clienti speciali si sa modifice salariile.

Angajatii din departamentul administrativ pot adauga incasari si afla raportul clientilor restantieri la un anumit moment.

CONCLUZII

Desi nu exista o modalitate ireprosabila de estimare a cotei de piata a unei baze de date, totusi este evident faptul ca liderii industriei bazelor de date complexe sunt Oracle si SQL Server (estimarile acorda lui Oracle primul loc, cu peste 40% din piata). Aceste baze de date sunt folosite in cadrul institutiilor de stat, bancilor, serviciilor de urgenta sau in cadrul marilor corporatii. In spatele acestor baze de date se afla informatii care trebuie sa fie protejate atat fata de atacuri extere cat si de neglijenta interna.

Din 2000 pana in prezet numarul de vulnerabilitali raportate anual in cazul Oracle a crescut exponential. Desi unele dintre acestea apartin producatorului iar in mare parte sunt rezolvate prin simpla instalare a unor patch-uri, tousi mai mult de jumatate tin de factorul uman, care proiecteaza, dezvolta si utilizeaza aplicatii.

Din pacate multi programatori nu constientizeaza pe deplin rolul si raspunderea pe care o au in momentul dezvoltarii unei aplicatii. Iar in domeniul unei aplicatii care necesita o baza de date atat de complexa, o greseala de proiectare sau de implementare poate deveni mai mult decat un simplu mesaj de eroare: pierderea unor informatii confidentiale, transferul eronat al unor sume sau chiar viata unui pacient.

Nedorind a deveni o lucrare care sa trateze complet tema securitatii Oracle, prezenta lucrare incearca sa sintetizeze principalele metode de securitate si nivelurile la care acestea sunt implementate precum si mecanismele oferite de Oracle 10g pentru asigurarea securitatii: useri, roluri, privilegii, profiluri, mecansime de control al accesului la date si auditarea implementarii urmarindu-se pas cu pas fiecare bariera pe care un utilizator trebuie sa o depaseasca pentru a ajunge la informatia stocata in baza de date.

O axioma in domeniul programarii spune ca "pentru orice programator precaut exista cel putin un hacker suficient de insistent". Din acest motiv proiectarea mecanismelor de securitate a unei baze de date nu trebuie sa fie un proces care sa urmeze numai niste reguli fixe impuse de un sablon, ci trebuie sa tina seama atat de amenintarile actuale cat si de cele viitoare, chiar daca acestea sunt imposibil de definit.





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.