Referat, comentariu, eseu, proiect, lucrare bacalaureat, liceu si facultate
Top referateAdmitereTesteUtileContact
      
    
 
 


Ultimele referate adaugate

Adauga referat - poti sa ne ajuti cu un referat?



Ultimele referate descarcare de pe site
  CREDITUL IPOTECAR PENTRU INVESTITII IMOBILIARE (economie)
  Comertul cu amanuntul (economie)
  IDENTIFICAREA CRIMINALISTICA (drept)
  Mecanismul motor, Biela, organe mobile proiect (diverse)
  O scrisoare pierduta (romana)
  O scrisoare pierduta (romana)
  Ion DRUTA (romana)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  Starea civila (geografie)
 


Ultimele referate cautate in site
   domnisoara hus
   legume
    istoria unui galban
   metanol
   recapitulare
   profitul
   caract
   comentariu liric
   radiolocatia
   praslea cel voinic si merele da aur
 
 
despre:
 
INFO-SOFT - Cartea de telefoane si de afaceri impreuna cu agenda personala - proiect de diploma
Vizite: ? Nota: ? Ce reprezinta? Intrebari si raspunsuri
 

q4c20cd
Cuprins

1.Foaie de capat
2.Cuprins
3.Introducere
3.1 Utilizarea aplicatiei
3.2 Definirea termenilor utilizati in aplicatie
3.3 Specificarea cerintelor
4.Memoriu tehnic
4.1 Caracteristicile aplicatiilor centrate pe baze de date
4.2 Metoda de abordare a procesului de dezvoltare a proiectului
5.Memoriu justificativ
-5.1 Contributii personale
6.Manual de operare
7.Concluzii
8.Bibliografie
9.Anexe



3. Introducere

Aplicatia denumita “Info-soft” incorporeaza practic trei domenii de activitate diferite aparent, insa foarte strans legate din punctul de vedere al tehnologiei informatiei.Aceste trei domenii sunt : domeniul afacerilor mai precis numele si domeniul de activitate a firmelor care isi desfasoara activitatea in tara, domeniul informatiilor publice care contine date despre detinatorii telefoanelor fixe din Romania si nu in ultimul rand o agenda personala care este utila oricarei persoane care doreste sa-si noteze anumite informatii de contact despre persoanele pe care le cunoaste.

3.1 Utilizarea aplicatiei
Acesta aplicatie ofera unui utilizator o varianta mai complexa si mai completa a unor aplicatii care pana acuma erau considerate aplicatii separate si care nu aveau nici o legatura vizibila intre ei. Fiecare dintre aceste aplicatii independente ofera o anumita funtionalitate bine definita. Aceste functionalitati principale ar fi Cartea de Telefoane, Cartea de Afaceri si o Agenda personala. Asadar avand definite aceste functionalitati principale am incercat sa dezvolt o interfata din care un utilizator sa poata efectua oricare dintre functiile principale mai sus mentionate. Pentru implementarea practica al acestui concept am decis ca programul sa fie unul in stil clasic, adica Desktop.Aplicatia in sine se adreseza unei game largi de utilizatori ,de la persoane fizice pana la persoane juridice.Obiectivul direct al aplicatiei este de a realiza o promovare indirecta a unor produse sau nume de firme,aceasta metode oferind un mod prin care se pot acoperi anumite costuri care erau implicate in realizarea aplicatiei.Produsul final “Info -;Soft”,va fi oferit in mod gratuit utilizatorilor ,promovarea fiind scopul declarat al acesteia.
Utilitatea programului pentru persoanele fizice adica majoritatea utilizatorilor de calculatoare, este capacitatea aplicatiei de oferi informatii publice despre alte persoane cu domiciliul in Romania si anumite informatii despre firmele din tara .Informatiile despre persoanele juridice constau in precizarea numelui ,a domeniului de activitate precum si a locului unde isi desfasoara activitatea.Doresc sa mentionez ca prin persoana juridica se intelege orice persoana care are posibilitatea de a utiliza un calculator,iar prin termenul de persoana juridica se intelege, o firma care isi desfasoara activitatea in Romania.In continuare voi folosi acesti doi termeni in scopul de a explica anumite aspecte care privesc proiectul.
Ca o utilitate mai speciala este agenda personala ,care ofera posibilitatea utilizatorului de a inregistra anumite informatii despre cunostintele personale ale utilizatorului si de le regasi .Prin termenul de agenda personala inteleg acea functionalitate care permite pastrarea de informatii despre persoane nu si stabilirea unor intalniri cu aceste persoane sau alte facilitati .
Utilitatea pentru persoanele juridice consta in faptul ca programul pune la dispozitia lor o cantitate destul de mare de informatie despre abonatii firmelor de telefonie fixa din Romania.Prin acest lucru aceste persoane juridice detin in mod automat informatii utile despre actuali sau potentiali clienti. Prin detinerea acestor informatii acesti clienti pot fi gasiti cu usurinta fara a mai fi necesar efectuarea unor cautari sau investigatii suplimentare.In mod special are o utilitate destul de mare si agenda personala din program,care poate fi folosita ca un mijloc de retinere a unor informatii despre clientii firmei.Merita insa precizat ca o perfomanta buna se poate obtine la firmele care au un numar de clienti mai mic,deci este de firmele mici ,chiar afaceri personale.
Utilitatea principala sau mai bine zis scopul principal al programului este acela de a usura activitatea de cautare a persoanelor si a firmelor din anumite domenii de activitate..Se doreste pe cat posibil ca munca manuala sa fie redusa la minim si datele sa fie pe cat posibil memorate in format digital.Acesta fiind si un scop al informaticii.Prin realizarea acestei aplicatii ,care poate fi utilizat in mod gratuit de catre oricine , se doreste incurajarea acestui lucru, adica sa se utilizeze cat mai mult in activitatea de zi cu zi calculatorul ,atat acasa cat si in cadrul firmelor.
Stilul programului s-a ales a fi unul desktop din motive practice .Este destinat acelor utilizatori care marea majoritate detin un singur calculator .Chiar si in randul firmelor se poate spune ca multi nu utilizeaza serviciile internet sau facilitatile lucrului in retea.Conider ca proprietatile acestui program satisfac cerintele acestor utilizatori nefiind necesara complicarea specificatiilor prin introducerea unei arhitecturi client-server.
Totusi la finalul specificarii aspectelor care tin de utilizarea aplicatiei in practica si de specificare a potentialilor utilizatori, as dori sa mentionez ca desi programul va fi oferit in mod gratuit si fara obligatia de a achizitiona o licenta de catre un utilizator, exista cateva lucruri care fac din aplicatie un program cu posibil success, care sa merite crearea si versiunii 2.0 . In primul rand prin faptul ca este gratuit se presupune ca va fi utilizat sau cel putin incercat de mai multi utilizatori .Prin acest lucru se poate alege incorporarea in program a unor actiuni de promovare a unor imagini de firme ,adica reclama, sau de ce nu de promovare a unor calitati de programator al unei singure persoane,cum ar fi autorul proiectului.
Ca o concluzie acest program poate fi folosit ca orice aplicatie desktop ,de catre persoane individuale sau firme cu o anumita activitate ,in mod gratuit fara pretentii de drepturi de licenta .Este considerata ca fiind o aplicatie simpla care doreste sa realizeze una din cele mai des utilizate operatii nu numai in informatica , cea de cautare de infomatii.

3.2 Definirea termenilor folositi in aplicatie

“Info-soft” este numele aplicatiei si se intelege un ansamblu de functionalitati care sunt puse la dispozitia utilizatorului ,prin intermediul unui singure interfete utilizator.Utilizatorul in acest mod va putea utiliza toate functionalitatile definite in partea de specificare a cerintelor ,parte care va fi explicata mai jos.
Cele trei functii principale puse la dispozitia utilizatorului sunt Cartea de telefoane,Cartea de afaceri si Agenda personala.Aceste trei functii sunt independente unul de celalalt ,scopul fiind acela de a oferi utilizatorului o aplicatie complexa dar in acelasi timp si simpla care indeplineste cerintele din specificare.Prin notiunea de functie sau functionalitate pe care am amintit-o mai sus ,intelegem acele carateristici prin care utilizatorul prin accesarea anumitor comenzi poate sa efectueze operatii de manipluare a datelor existente in baza de date,mai precis ceea ce face programul .
Prin termenul de Carte de telefoane, intelegem in primul rand o baza de date care contine datele (nume ,prenume,numarul de telefon fix,adresa cat mai completa ) ale utilizatorilor serviciilor de telefonie fixa din Romania.Acest concept s-a creat pe baza unei analogii cu cartea de telefoane clasica care exista sub forma unei carti.Am asociat acestui concept si operatiile pe care le-ar dori sa efectueze un utilizator al acestei carti.Operatiile care se executa sunt in general cele de regasire a unor informatii pe baza altor informatii furnizate de data aceasta de utilizatorul programului. Aceste operatii de cautare sunt impartite pe mai multe criterii ,aceste criterii fiind explicate mai pe larg in partea de specificare a cerintelor.
Termenul de Cartea de afaceri ,poate fi considerat un concept mai nou introdus prin intermediul altor aplicatii realizate de firme diferite,dar cu scop si functionalitate asemanatoare.Acesta insa nu este este chiar atat de mult utilizat de marea majoritatea a utilizatorilor,fiind un termen mai putin cunoscut.Aceasta notiune este foarte similara cartii de telefoane ,insa informatiile continute nu sunt despre persoane abonate la serviciile anumitor operatori de telefonie fixa,ci despre firme care efectueaza o anumita activitate comerciala intr-un domeniu oarecare..Principalele informatii care ar fi cautate de un utilizator sunt legate de numele firmei,de domeniul in care isi desfasoara activitatea, precum si adresa unde poate fi gasita firma respectiva.Operatiile principale care pot fi facute sunt tot cele de cautare ,care pot fi efectuate dupa mai multe criterii(nume firma,domeniu de activitate ,adresa),aceste criterii vor explicate in partea de specificare a cerintelor.
Prin termenul de Agenda personala ,intelegem un ansamblu de caracterisitci care permit utilizatorului sa retina si sa memoreze in aplicatie ,unele date despre persoanele pe care le cunoaste.Informatiile care vor fi memorate aici se considera personale,deoarece sunt completate de utilizator, el avand mult mai multe optiuni decat in cazul cartilor de telefoane sau de afaceri.Validitatea si corectitudinea informatiilor este responsabilitatea utilizatorului care le-a completat,aplicatia furnizand doar un set limitat de mecanisme prin care se pot evita crearea unor inconsistente de date.Prin personalizarea informatiilor continute de aceasta parte din aplicatie operatiile care se pot efectua nu sunt numai cele de cautare ,ci toate operatiile care se pot efectua in general asupra unor date.Aceste operatii in principiu sunt :adauga ,cauta modifica si sterge.Acestea nu erau disponibile pana acum deoarece ar fi compromis integritatea datelor ,care aveau un anumit grad de corectitudine si validitate.Fiecare dintre aceste operatii considerate principale sau mai bine zis generale,sunt impartite in anumite subcriterii ,fiecare dintre aceste subcriterii efectuand o operatie asupra datelor dupa un anumit atribut.Agenda personala este organizata ca si agenda clasica ,insa datele sunt in format electronic iar operatiile sunt mai mult automatizate ,astfel utilizatorul obtinand un castig de timp si productivitate, operatiile putand fi efectuate cu o relativa usurinta si siguranta formularele oferind un anumit grad de corectitudine asupra datelor.

3.3 Specificarea cerintelor

In aceasta parte doresc sa specific acele cerinte ale sistemului ,care odata implementate vor da o anumita valoare aplicatiei. Scopul acestei aplicatii este acela de a oferi utilizatorilor o varianta extinsa a programelor care deja exista si sunt utilizate.Aceasta aplicatie nu este facuta pentru o anumita firma la comanda,sau sa fie folosita doar in interiorul acestora, ci este destinat majoritatii utilizatorilor de calculatoare, de aceea o cerinta aproape obligatorie este, ca programul sa poate fi folosit in mod gratuit,lucru care i-ar asigura o oarecare utilizare mai raspandita.Cerintele reale , mai precis cele functionale care dau valoare aplicatiei sunt precizate mai jos.
In primul rand datorita posibilitatilor existente si a scopului acestui program am decis ca aplicatia sa fie de tip desktop,interconectarea de tip client server ne fiind necesara.Utilizarea unei asemenea arhitecturi de program ar complica prea mult utilizarea, si ar influenta in mod direct costurile de intretinere care pana acuma erau considerate minime.
Ca cerinta functionala poate fi considerata asigurarea unor interfete pentru untilizator care sa-i permita efectuarea operatiilor cu usurinta si care pot fi realizate intr-un timp destul de scurt si intr-un mod intuitiv.In cazul cartilor de afaceri si de telefoane operatia asupra datelor care va trebui asigurata este cea de cautare,un utilizator sa poata afla oricare dintre informatiile existente in baza de date cu usurinta ,dupa un criteriu ales de el.Ca o specificatie si mai putin o cerinta este ca utilizatorul nu poate sa efectueze operatii care ar putea afecta integritatea datelor .Se limiteaza doar la cautare.
In cazul agendei personale cerintele functioanale se inmultesc ,utilizatorul avand mult mai multe optiuni de manipulare asupra datelor decat in cazul celor doua carti.Un utilizator trebuie sa fie capabil sa poata adauga detalii despre o persoana din agenda.Aceste date la nevoie pot fi si modificate de utilizator dupa ce a selectat atributul pe care il doreste sa modifice.Nu in ultimul rand iarasi o operatie foarte importanta poate fi considerata cautarea,care asigura regasirea in integime a tuturor datelor care au fost adaugate . Operatiile de cautare sunt impartite in mai multe subcriterii posibile,deoarece la un moment dat un utilizator poate sa stie doar un fragment din detaliile despre acea persoana si doreste sa le cunoasca si pe celelate.O alta operatie care completeaza cerintele agendei este cea de stergere a tuturor detaliilor despre toate persoanele din agenda.Dupa un timp validitatea datelor poate fi considrata expirata si in aceste cazuri este necesar o metoda prin care persoanele sa fie sterse facand loc pentru noi detalii despre alte persoane .
O alta cerinta este crearea unei documentatii pentru utilizator(numit si HELP) cara sa poate sa fie apelata la nevoie chiar din interiorul aplicatiei, pentru a explica functionalitatea fiecarui formular din meniu,astfel oferindu-i un sprijin in utilizarea programului.

4. MEMORIU TEHNIC

Aceasta aplicatie este considerata ca o aplicatie centrata pe baze de date, acest lucru fiind justificat de faptul ca utilizeaza tehnologia dezvoltata pentru bazele de date si se efectueza operatii asupra datelor cu ajutorul unui limbaj de manipulare a datelor.

4.1 Caracteristicile aplicatiilor centrate pe baze de date
Principala caracteristica a unei aplicatii de baze de date este faptul ca accentul se pune pe operatiile de salvare si de regasire a datelor .Alaturi de aceste operatii fundamentale apar si cele de stergerea a datelor devenite inutile sau cele de actualizare.Intr-o aplicatie centrata pe baze de date, caracteristicile de mai sus sunt utilizatate din punct de vedere practic.
Notiunea de baze de date, poate fi definita ca o colectie de fisiere in care sunt memorate anumite date, iar aceste date la nevoie pot fi regasite cu usurinta cu ajutorul unor limbaje de manipulare a datelor.Prin manipularea acestor date se pot oferi informatii utile si valoroase pentru un anumit utilizator.Aceste date sunt gestionate de anumite sisteme, numite SGBD (sisteme de gestiune a bazelor de date ),care usureaza foarte mult intretinerea si manipularea acestor date.
O alta caracteristica foarte importanta a aplicatiilor orientate pe baze de date este faptul ca, pot sa memoreze un volum foarte mare de date, odata memorate sunt si organizate dupa anumite criterii definite de programator,iar apoi fara efort prea mare pot fi regasite cu usurinta. Multe din problemele din practica necesita stocarea unui volum mare de date si de aceea aplicatiile de baze sunt destul de des utilizate.
Toate aceste caracteristici specifice aplicatiilor de baze de date au fost suficiente, pentru a alege o astfel de solutie in scopul rezolvarii problemei proiectului.In principiu problema proiectului cere lucrul cu un volum destul de mare de date, care trebuie sa fie gestionata intr-un anumit mod, cu acestea va trebui sa realizam anumite operatii de manipulare mai mult sau mai putin complexe.Va trebui sa fim capabili ca prin acest sistem sa putem introduce,modifica sau sterge oricare dintre aceste date existente.

Produsul in care se vor implementa cerintele specificate este Visual Fox Pro, care poseda calitatile necesare cu ajutorul carora sa pot realiza o aplicatie atractiva din punctul de vedere al utilizarii .Acest produs permite crearea unor interfete utilizator destul de accesibile ca utilizare, destul de des utilizate si in alte aplicatii, lucru care usureaza foarte mult instruirea unui potential utilizator.Nu in ultimul rand poseda un limbaj de manipulare a datelor puternic, prin care pot sa realizez operatiile necesare asigurarii functionalitatii proiectului.
Se stie ca in ultima perioada problemele legate de securizarea datelor este o problema de mare actualitate.Multe dintre aplicatiile de baze de date poseda asemenea mecanisme de protectie a datelor, lucru care ofera confidentialitate unui utilizator si permite monitorizarea sau limitarea accesului la anumite date.Crearea unor asemenea mecanisme depinde si de valoarea datelor pe care le pastram in baza noastra de date.Cu cat importanta si valoarea datelor este mai mare, cu atat aceste sisteme de securizare sunt mai sofisticate.
In cazul nostru am considerat ca nu este necesar realizarea unui astfel de sistem de protectie a datelor, pentru ca in principiu se lucreaza cu date publice.Aceste date sunt accesibile aproape oricui nu numai in format electronic ci si clasic, sunt oferite chiar de persoanale sau firmele despre care sunt aceste date.Singurele date care ar necesita un anumit grad de securizare sunt datele din agenda personala ,dar consider ca mijloacele de protectie furnizate de sistemele de operare si de hardware sunt suficiente,pentru a nu compromite integritatea acestor date, si sa nu fie folosite in alte scopuri de persoane neautorizate.Aceste drepuri de acces vor fi stabilite de administratorul sistemului,ramane in responsabilitatea acestuia determinarea nivelul de siguranta optim .
Consider ca produsul Visual Fox este suficient pentru realizarea acestui proiect si a functionalitatii acesteia. Daca cu ajutorul acesteia nu realizam o aplicatie de baza de date cu mecanisme de protectie a datelor, totusi putem considera ca aplicatia indeplineste cerintele functionale pentru un anumit utilizator.

4.2 Metoda de abordare a procesului de dezvoltare a proiectului

In scopul obtinerii unui proces de dezvoltare a sistemlui cat mai optim, este bine ca sa utilizam o metoda de dezvoltare a sistemelor existenta si utilizata pe scara larga cu performante bune.Cu acest scop am ales metoda de abordare CASE(Computer Aided System Engineering) care contine urmatoarele nivele de care va trebui sa tinem cont:

In continuare pentru realizarea dezvoltarii sistemului propus voi parcurge etapele mai sus amintite.

STRATEGIE
In aceasta etapa se definesc proprietatile generale ale aplicatiei, se stabilsec in mod clar directiile de evolutie.
Cerinta sistemului este, sa realizez o aplicatie care sa contina trei functii principale:Cartea de telefoane,Cartea de afaceri si Agenda Personala.Acesti termeni fiind explicate in detaliu in capitolul “Introducere”.
Obiectivul acestei aplicatii este furnizarea catre un utilizator a unui produs prin care ii ofera informatii despre persoane fizice si diferite firme , precum si o optiune prin care insusi utilizatorul sa poata sa inregisteze diferite informatii despre alte persoane cunoscute lui.Aceasta aplicatie nu are ca obiectiv principal castigarea unor foloase materiale prin intermediul unei licente,ci mai mult de a efectua anumite actiuni de promovare pentru alte firme sau persoane .
Prioritatea principala este realizarea unei baze de date care sa satisfaca cerintele functionale,sa permita toate operatiile stabilite si sa furnizeze o interfata utilizator prietenoasa.Poate fi considerat ca o prioaritate principala realizarea unui produs optimizat din toate punctele de vedere, care sa-i asigure o utilizare cat mai usoara.
Ca o constrangere , aplicatia poate fii folosita doar in mediul sistemului de operare Windows.Factorul principal care ar trebui sa asigure aplicatiei un succes este gratuitatea ei, deci avem ca obiectiv reducerea la minim atat a costurilor de creare a produsului cat si a costurilor de intretinere si folosinta.
Pentru un posibil model al bazei de date va trebui sa luam in considerare ca vom lucra cu urmatoarele grupuri de entitati care sunt numite:Cartea de telefoane ,Cartea de afaceri si Agenda personala .Acestea incorporeaza mai multe entitati care ajuta la realizarea schemei bazei de date .
Din punctul de vedere al functionalitatii se stabilesc urmatoarele functii principale pe care se bazeaza intreaga aplicatie: Adauga,Cauta,Modifica si Sterge.Aceste functii generale vor fi utilizate in diversele situatii care sunt stabilite de natura problemei.
Din punctul de vedere al tehnologiei utilizate ,vom folosi produsul Visual Fox Pro , impreuna cu utilitarele de proiectere si implementare furnizate de acesta.
Ca arhitectura pentru sistem, am stabilit sa utilizam tehnologia “DESKTOP” ,care este sufienta pentru realizarea obiectivelor propuse pana acum.
Aplicatia care se va implementa nu necesita precizarea unor resurse speciale, un sistem de operare din familia Windows este suficient pentru alocarea resurelor necesare executiei.


ANALIZA

In acest stadiu dorim sa cream deja o imagine despre sistem care sa fie cat mai aproape de realitate.In mod foarte general cerintele proiectului au fost definite la nivelul stategie, iar in acesta etapa dorim sa definim intr-un mod cat mai detaliat entitatile cu care vom lucra precum si functionalitatea sistemului.In continuare pe baza specificarii utilitatii si functionalitatii sistemului se vor defini entitatile de date care vor asigura baza aplicatiei.Stabilirea acestor entitati s-a facut dupa situtia existenta ,cu scopul de a furniza o imagine cat mai fidela a realitatii si relatiilor posibile dinte acestea.
In tabelul 1 se descriu numele entitatilor folosite precum si caracteristicile acestora in cadrul aplicatiei :

Nume entitate Descriere
Persoana fizica Contine toate persoanele din Romania care au telefon fix
Persoana juridica Contine informatii despre firmele care isi desfasoara activitatea si in Romania
Judet Cupinde toate judetele din Romania
Localitate Numele localitatilor din fiecare judet
Tip localitate Tipul localitatilor care sunt memoate in “Localitate”
Strada Contine numele strazilor din fiecare localitate
Tip strada Indica tipul strazilor memorate in entitatea “Strada”
Imobil Contine informatii de identificare despre fiecare imobil situate pe o anumita strada
Domenii Indica domeniul de activitate a firmelor memorate in entitatea “Persoana juridica”
Agenda Contine informatii de identificare despre o persoana din agenda personala
Adresa Contine detalii despre adresa fiecarei persoane definite in agenda
Telefon_ag Contine detaliile despre numerele de telefon ale persoanelor definite in agenda
Telefon_f Contine numarul de telefon fix al fiecarei persoane
Pref_op_f Indica prefixul opertorului de telefonie fixa
Op_tel_fix Contine numele operatorului de telefonie fixa

Tabel 1

In continuare dupa definirea fiecarui concept de data care va fi utilizat in sistem , ar fi util ca sa definim si atributele acestor entitati .Aceste atribute in principiu vor determina informatiile care vor fi definite in baza de date fizica care va fi implementata mai tarziu.
Tabelul 2 contine aceste atribute impreuna cu entitatea de care apartin acestea:
Tabel 2
Atribute Entitati de care apartin
-id_p
-nume
-prenume Persoana fizica
-id_pj
-nume Persoana juridica
-id_judet
-nume_judet
-prefix Judet
-id_loc
-nume_loc Localitate
-id_tloc
-tip_loc Tip localitate
-id_strada
-nume_strada Strada
-id_tstr
-tip_str Tip strada
-id_imobil
-nr_imobil
-scara
-nr_ap Imobil
-id_dom
-domeniu Domenii
-id_p
-nume
-prenume
-email
-descriere Agenda
-id_adr
-strada
-nr_strada
-oras Adresa
-id_tel
-tel_fix
-tel_mobil
-webpage Telefon_ag
-id_tel
-telefon Telefon_f
-id_pref
-prefix_f Pref_op_f
-id_op
-nume_op Op_tel_fix
In continuare vom stabili caracteristicile functionale,adica operatiile pe care un utilizator poate sa le efectueze.Aceste caracteristici erau definite intr-un mod mai general in capitolele precedente ,iar in acest capitol vom stabili acele aspecte care vor fi prezente si in aplicatie cand va fi finalizat.
Am stabilit ca aplicatia din punct de vedere logic si functioanal va fi impartita in trei parti principale: -Cartea de telefoane
-Carte de afaceri
-Agenda personala
In continuare voi explica functiile si operatiile care se pot executa in cadrul fiecarei parti.
Tabelul 3 explica si descrie functiile din Cartea de telefoane

Cartea de telefoane
Operatie utilizator Functia care se executa Descrierea functiei
Cauta un abonat dupa nume si prenume Cautare dupa nume si prenume Trebuie selectat judetul si localitatea de unde este persoana si se executa o cautare dupa criteriul nume si prenume
Cauta un abonat dupa numarul de telefon Cautare dupa numarul de telefon Selectam judetul si localitatea si dupa precizarea numarului de telefon se executa o cautare pe baza acesteia
Cauta un abonat dupa adresa Cautare dupa adresa persoanei Selectam judetul si localitatea corespunzatoare, precizam strada si se executa o cautare dupa acest criteriu.
Cauta un abonat dupa localitate Cautare dupa numele localitatii Se precizeaza judetul si selectam localitatea, si se executa o cautare dupa acest criteriu

Tabel 3

Tabelul 4 numeste si descrie functiile si operatiile din Cartea de afaceri
Cartea de afaceri
Operatie utilizator Functia care se executa Descrierea functiei
Cauta informatii despre firma dupa nume Cautare dupa numele firmei Se specifica judetul si localitatea in care isi desfasoara activitatea firma si se executa o cautare dupa numele firmei
Cauta firmele dupa domeniul de activitate Cautare dupa domeniul de activitate Se selecteaza dintr-o lista un nume de domeniu dintr-o lista si se face o cautare pe baza acesteia
Cauta firmele situate pe o anumita strada din localitate Cautare dupa adresa Selectam judetul si localitatea corespunzatoare si precizam strada , si pe baza acesteia facem o cautare.

Tabel 4

Tabelul 5 descrie si stabileste functiile si operatiile din agenda personala

Agenda personala
Operatie utilizator Functia care se executa Descrierea functiei
Adauga detalii despre o persoana in agenda Adauga detalii persoana in agenda Precizam detaliile despre persoana, adresa si telefon si validam inregistrarea lor.
Cauta dupa urmatoarele criterii:nume si prenume ,telefon fix sau mobil si adresa Cauta detalii despre o persoana din agenda dupa criteriile precizate de utilizator Alegem o cautare dupa un anumit criteriu ,precizam valoarea criteriului si executam operatia.
Modifica un atribut existent. Atributele care se pot modifica sunt:nume,prenume, telefon fix si mobil,adresa si pagina web personala Modifica atributul precizat de utilizator Alegem care atribut dorim sa-l modificam ,precizam noua valoare si executam operatia.
Stergere totala Strege toate inregistrarile din agenda Alegand aceasta optiune sunt sterse toate informatiile din agenda

Tabel 5


In continuare utilizand tehnica grilajului prin urmatorul tabel putem vizualiza tipul legaturilor intre entitati si cardinalitatea acestora.Prin intermediul acestui model vizual se va putea trece la analiza logica a bazei de date si la realizarea schemei bazei de date.

TIPUL LEGATURILOR INTRE ENTITATI IN CARTEA DE TELEFOANE SI CARTEA DE AFACERI

ENTITATE Persoana fizica
Pesoana fizica
________________________________________ Persoana juridica
Persoana juridica
________________________________________
________________________________________ Judet
Judet ________________________________________ ________________________________________ ________________________________________ Localitate
Localitate ________________________________________
N:1 ________________________________________ Tip localitate
Tip
Localitate ________________________________________ ________________________________________ ________________________________________ 1:N ________________________________________ Strada
Strada ________________________________________ ________________________________________ ________________________________________ N:1 ________________________________________ ________________________________________ Tip strada
Tip
Strada ________________________________________ ________________________________________ ________________________________________ ________________________________________ ________________________________________ 1:N ________________________________________ Imobil
Imobil 1:N 1:N ________________________________________ ________________________________________ ________________________________________ N:1 ________________________________________ ________________________________________

Asa cum se vede din tabelul de mai sus fiecare dintre entitati este legat printr-un anumit mod la o alta entitate inrudita din punct de vedere logic.Scopul pentru care au fost create mai multe entitati a fost reducerea la minim a redundantelor intre date , pentru a optimiza lucrul cu acestea.Asocierea dintre date se face prin intermediul legaturilor dintre entitatile de date ,care se materializeaza in practica prin joinuri pe anumite atribute.Observand tabelul se pot vedea tipurile de legaturi care pot exista intre entitatile de date ,si anume tipul 1:N,N:1 si eventual 1:1 ,care nu este folosit in acest tabel.Aceste tipuri de legaturi sunt folosite pentru a elimina tipurile de legaturi M:N , care sunt nepractice.Tabelul de mai sus ilustreaza legaturile dintre entitatile care fac parte din conceptul logic de Carte de telefoane si Carte de afaceri ,si care folosesc anumite entitati de date in comun.
In urmatorul tabel ,tabelul 7 ,vizualizam tipurile de legaturi intre entitatile care fac parte din Agenda personala .Entitatile componente nu au legaturi cu entiatile din celelalte doua modele de date ,poate fi considerata o schema total separata de restul.

TIPUL LEGATURILOR INTRE ENTITATI AGENDA PERSONALA

ENTITATE Agenda
Agenda ________________________________________ Adresa
Adresa N:1 ________________________________________ Telefon_ag
Telefon_ag N:1 ________________________________________ ________________________________________

Tabel 7

In tabelul de mai sus se descriu legaturile dintre entitatile de date din Agenda personala,care dupa cum se observa sunt de tipul N:1 .
In contiunare ar fi util pentru a oferi o imagine mai realista despre baza de date care se va implementa si utiliza ,sa realizam Diagrama ENTITATE -;RELATIE (pe scrurt diagrama E-R ),care este un model vizual al bazei de date proiectate.
Elementele vizuale care au o semnificatie in cadrul bazei de date fizice si sunt prezente pe aceasta diagrama sunt urmatoarele:
-Entitatile de date sunt simbolizate cu ajutorul unor dreptunghiuri
-Linia continua indica obligativitatea relatiei,iar linia intrerupta optionalitatea unei relatii.
-Optionalitatea unui atribut este indicat prin simbolul cerculet ‘o’,iar obligativitatea este descrisa de simbolul ‘*’ (asterisc).
- Faptul ca un atribut este identificat in mod unic este redat cu ajutorul simbolului ‘#’.
In continuare vom realiza diagrama E-R:

DIAGRAMA E-R (FIG. 1)

continuarea pagina urmatoare

continuare diagrama E-R

Figura 1

Pentru o mai buna intelegere a modului in care un ultizator va putea executa niste operatii,deci a modului in care va functioana programul, am creat Diagrama functionala care exprima modul in care sistemul reactioneaza la aparitia unui eveniment.Pentru o modelare mai simpla am utilizat tehnica ierarhica,prin care functionalitatea sistemului si reactia la diferite evenimente este redata printr-o ierarhie de functii.Dupa cum stim in aceasta aplicatie se pot executa patru operatii principale:adauga ,cauta ,sterge si modifica.Aceste posibile evenimete pentru sistem sunt detaliate prin intermediul urmatoarelor ierarhii de functii:
Figura 2 descrie pasii pe care le face un utilizator cand doreste sa adauge o persoana in agenda.

Figura 3 descrie pasii pe care ii executa un utlizator in vedera modificarii valorii unui atribut din baza de date existenta:
MODIFICA

Figura 4 descrie operatiile utilizatorului la evenimentul de stergere totala.

STERGERE

In Figura 5 descriem ierarhia de functii care se foloseste in cazul cautarii unor valori din baza de date.Desi cautarile se executa dupa mai multe criterii pe care trebuie sa-i precizeze utilizatorul ,algoritmul de cautare in sine este acelasi ,doar valorile se schimba.
In continuare voi indica structura generala a acestei functii principale a aplicatiei.
CAUTA

In urma analizei facute am decis ca aplicatia sa fie realizata conform urmatorelor etape:

-proiecatarea logica a bazei de date
-proiectarea functiilor care se vor executa
-proiectarea interfetei utilizator
-implementarea conceptelor proiectate
-testare functionaliate cu ajutorul datelor reale

PROIECTARE

In acest stadiu in urma analizei am definit entatile de date care vor face parte din sistem ,precum am definit functiile pe care un utilizator il poate executa din aplicatie.Prin proiectarea aplicatiei urmeaza sa definesc modelul logic al aplicatiei care pe urma va putea fi implementat cu ajutorul unui produs SGBD ,in cazul nostru Visual Fox Pro.Doresc sa mentionez ca si aceasta etapa ca si analiza este independenta de vreo metoda de implementare.Prin proiectare cerintele de la stadiul analiza sunt preluate si expandate in asa fel incat sa ofere un model care sa permita realizarea unei aplicatii bine optimizate si competitive.
Pentru a intelege mai bine diagrama E-R definita in stadiul ‘analiza’ si pentru a justifica intr-un fel, de ce a fost necesara realizarea modelului actual, voi prezenta si citirea diagramei E-R. Pentru a intelege cateva dintre expresiile folosite in citirea diagramei, voi explica in ce context se folosesc anumiti termeni.
Termenul ‘poate’ este folosit pentru a indica ca relatia de legatura nu este obligatorie.Termenul ‘trebuie’ este folosit pentru a exprima faptul ca relatia de legatura este obligatorie.
Cand folosim termenul ‘fiecare’ , trebuie sa stim ca la capatul relatiei este doar unu,mai precis e capatul ‘ONE’ al relatiei, iar cand folosim termenul ‘unul sau mai multe‘ stim ca este vorba de capatul ‘MANY’ al relatiei.
In continuare se citeste diagrama E-R:

Fiecare JUDET poate fi alocat pentru unul sau mai multe LOCALITATI si fiecare dintre ele trebuie sa fie intr-un JUDET si numai unul.
Fiecare LOCALITATE trebuie sa aiba un TIP DE LOCALITE si numai unul,si un TIP DE LOCALITATE poate fi atribuit pentru unul sau mai multe LOCALITATI.
Fiecare LOCALITATE trebuie sa aiba unul sau mai multe STRAZI , si fiecare STRADA trebuie sa fie intr-o localitate si numai una.
In fiecare LOCALITATE trebuie sa fie unul sau mai multe PERSOANE FIZICE,si fiecare PERSOANA FIZICA trebuie se se afle intr-o LOCALITATE si numai una.
In fiecare LOCALITATE trebuie sa se afle una sau mai multe PERSOANE JURIDICE si fiecare PERSOANA JURIDICA trebuie sa fie intr-o LOCALITATE si numai una.
Fiecare STRADA trebuie sa aiba un TIP DE STRADA si numai unul,si fiecare TIP DE STRADA poate fi atribuit pentru una sau mai multe STRAZI.
Pe fiecare STRADA trebuie sa se afle unul sau mai multe IMOBILE,si fiecare IMOBIL trebuie sa fie pe o STRADA si numai una.
Fiecare PERSOANA FIZICA poate sa aiba unul sau mai multe numere de TELEFON FIX,si fiecare numar de TELEFON FIX trebuie sa fie alocat pentru o PERSOANA FIZICA si numai una.
Fiecarui numar de TELEFON FIX trebuie sa-i fie atribuit un PREFIX al vreunui operator si numai unul,si fiecare PREFIX poate fi alocat pentru unul sau mai multe numere de TELEFOANE FIXE.
Fiecare PREFIX al vreunui operator de telefonie trebuie sa aiba un nume de OPERATOR DE TELEFONIE FIXA si numai unul, si fiecare dintre acestea pot fi alocate pentru unul sau mai multe PREFIXE.
Fiecare PERSOANA JURIDICA trebuie sa aiba alocata un DOMENIU de activitate,si fiecare DOMENIU poate fi alocat pentru unul sau mai multe PERSOANE JURIDICE.
Pentru o persoana din AGENDA pot fi alocate unul sau mai multe ADRESE, si fiecare ADRESA trebuie sa fie pentru o persoana din AGENDA si numai una.
O persoana din AGENDA poate sa aiba unul sau mai multe TELEFOANE ,si un numar de TELEFON trebuie sa fie pentru o persoana din AGENDA si numai una.

Citirea diaramei E-R da o imagine mult mai clara asupra modului in care este realizata proiectarea logica a acesteia.Realizand acest lucru urmatorul pas ar fi sa determinam caracteristicile fiecarui atribut care fac parte din entitatile de date care compun diagrama.Aceste proprietati vor fi folosite mai tarziu la implementarea fizica a bazei de date, determinand chiar caracteristicile datelor care vor fi introduse in aceasta structura.
In tabelul care urmeaza vom defini proprietatile necesare:

TABELA ATRIBUT TIP ATRIBUT LUNGIME TIP
JUDET id_judet numeric 3 nume_judet char 30 prefix char 5
LOCALITATE id_loc numeric 6 nume_loc char 30
TIP_LOCALITATE id_tloc numeric 2 tip_loc char 10
STRADA id_strada numeric 10 nume_strada char 30
TIP_STRADA id_tstr numeric 2 tip_str char 20
IMOBIL id_imobil numeric 20 nr_imobil char 10 scara char 10 nr_ap char 10
PERSOANA_FIZ id_p numeric 10 nume char 20 prenume char 50
PERSOANA_JUR id_pj numeric 10 nume char 40
DOMENII id_dom numeric 7 domeniu char 30
TELEFON_F Id_tel numeric 10 nr_telefon char 15
PREF_OP_F id_pref numeric 3
Prefix_f char 10
OP_TEL_FIX id_op numeric 10 nume_op char 20
AGENDA id_p numeric 6 nume char 25 prenume char 35 email char 40 descriere memo
TELEFON_AG tel_fix numeric 6 tel_fix char 20 tel_mobil char 20
webpage char 36
ADRESA id_adr numeric 6 strada char 40 nr_strada char 5 oras char 40 tara char 25

Tabel 8

Avand definite numele fiecarui atribut ,ca si tipul si lungimea care fac din entitatile de date,ar fi cazul sa definim si cheile care fac parte din aceste entitati.
Cheile conform definitiilor stim ca pot fi ‘cheie primara’ , ‘candidat’ ,’unici’ si ‘normali’ .Tipurile de chei care apar in aceasta schema sunt de tipul cheie primara,candidat si normal(regular).In continuare voi defini fiecare cheie care face parte din entitati,si pe baza carora se fac operatiile de join.Astfel voi mentiona si cheile considerate chei straine.
JUDET-cheia primara ii id_judet,prefix si nume_judet sunt considerate chei de tip candidate.Nu exista chei straine definite.
LOCALITATE-cheia primara ii id_loc,nume_loc,id_tloc si id_judet sunt considerate chei normale .Cheile straine sunt id_judet si id_loc.
TIP_LOCALITATE-cheia primara ii id_tloc,tip_loc este considerata cheie candidata.Nu exista chei straine definite.
STRADA-cheia primara ii id_strada,nume_strada,id_loc si id_tstr sunt considerate chei normale.Cheile straine sunt id_loc si id_tstr.
TIP_STRADA-cheia primara ii id_tstr,tip_str este considerata cheie candidata .Nu sunt definite chei straine.
IMOBIL-cheia primara ii id_imobil,id_strada,nr_imobil,scara si nr_ap sunt considerati de tip regular.Cheia straina este id_strada.
PERSOANA FIZICA-cheia primara este id_p,nume,prenume,id_loc,id_judet sunt considerate de tip regular.Cheile straine sunt id_judet,si id_loc.
TELEFON_F-cheia primara este id_tel,nr_telefon,id_p,id_judet si id_pref sunt considerate de tip regular.Cheile straine sunt id_judet,id_p,id_tel.
PREF_OP_F-cheia primara este id_pref,prefix_f este de tip candidat iar id_pref este de tip regular.Cheia straina este id_op.
OP_TEL_FIX-cheia primara este id_op,nume_op este de tip candidat.Nu exista nici o cheie straina definita.
PERSOANA JURIDICA-cheia primara este id_pj,nume este considerat de tip candidat,iar id_loc si id_dom sunt de tip regular .Cheile straine sunt id_loc si id_dom.
DOMENII-cheia primara este considerata id_dom,iar domeniu este considerat de tip candidat.Nu exista chei straine definite.
AGENDA-cheia primara este considerata id_p,email este considerat candidat ,nume si prenume de tip regular. Nu exista chei straine definite.
TELEFON_AG-cheia primara este considerata id_tel,id_p,webpage,tel_mobil si tel_fix sunt de tip regular.Cheia straine este id_p.
ADRESA-cheia primara este id_adr,strada,nr_strada,id_p,oras ,tara sunt considerate de tip regular.Cheia straina este id_p.

Arhitectura sistemului asa cum era specificat in strategie va fi o arhitectura de tip desktop,considerand ca acesta va fi de ajuns in vederea atingerii functionalitatii propuse.Utilizand aceasta arhitectura se stie ca atat baza de date cat si aplicatia sunt pe acelasi sistem de calcul .
Voi prezenta pe scurt caracteristicile acestei arhitecturi pentru documentare.Acest rezumat este descris cu ajutorul figurii 6

ARHITECTURA DESKTOP

Figura 6


Privind aspectele functionale cat si eventualele dezvoltari sau extensii ale programului am hotarat ca stilul codului din aplicatie sa fie orientata obiectual.Asta din cauza multiplelor avantaje pe care le ofera acest stil din punctul de vedere al organizarii codului.Un alt avantaj ar fi ca si Visual Fox are utilitare care favorizeaza scrierea programelor in acest stil.Visual Fox nu numai ca este orientat obiectual,dar ofera si clase predefinite din care putem sa cream obiecte, astfel apeland metodele dorite si care sunt implementate in aceste clase.Cu ajutorul acestor clase putem, sa construim interfata utilizator,la aceste interfete putem sa atasam diferite evenimente care se declanseaza in anumite situatii definite de programator.
In continuare voi prezenta diagrama de clase care ofera o viziune mai reala asupra modului in care este organizat codul.
Figura 7 descrie diagrama de clase proiectata:


Figura 7

Pentru a explica aceasta organizare voi intrepreta diagrama de clase:
-Clasa PERSOANA contine toate metodele care opereaza cu entitatile de date care fac referire la o persoana.
-Clasa ADRESA contine acele metode care care manipuleaza datele care au legatura cu adresa unei persoane.
-Clasa ABONAT este o extensie a clasei PERSOANA si contine acele metode care manipuleaza datele care au legatura cu propritatea de abonat.
-Clasa TELEFON contine metodele care manipuleaza datele despre numerele de telefon a unei persoane.
Intre aceste clase pot exista diferite legaturi.Intre clasa PERSOANA si ABONAT este relatia de mostenire .Intre clasa PERSOANA si clasele ADRESA SI TELEFON exista relatia de asociere ,in sensul ca o persoana poate avea unul sau mai multe adrese sau numere de telefon.
In continuare pentru a oferi informatii despre componentele fiecarei clase, voi descrie metodele si proprietatile care sunt implementate in clasele existente si care pot fi apelate cu ajutorul instantelor claselor respective.Ca o precizare am utilizat notatia UML(Unified Modellig Language) pentru a respecta anumite standarde create pentru proiectarea claselor.
Fiecare clasa dupa cum se vede pe diagrama,contine un singur atribut,numit “identificator” care este privat ,avand semnul “-” inainte (vezi UML).Acest atribut este creat special pentru a gestiona identificarea inregistrarilor in cadrul tabelelor.Am realizat acest lucru utilizand urmatorul algoritm prin care, cu ajutorul atributului ‘identificator’, pot asigura identificarea unica a fiecarei inregistrari:

Utilizand algorimul de mai sus ,fiecare inregistrare va avea un numar de identificare unic.Fiecare clasa din diagrama are mai multe metode ,care manipuleaza datele din baza de date.Datele de intrare pentru aceste metode sunt transmise prin intermediul unor parametrii,care sunt furnizati in momentul in care se apeleaza cu ajutorul unui obiect.Restul de cod este scris in limbajul SQL,acesta permitand efectuarea operatiilor de manipulare a datelor.
Fiecare clasa care face parta din aplicatie este grupata intr-o biblioteca de clase,in cazul nostru avand numele de bib_clase.Prin intermediul acestei biblioateci se pot face referire la clase si metode in cazul implementarii aplicatiei.

Construire

In cadrul acestui stadiu care caracterizeaza dezvoltarea aplicatiei,voi codifica conceptele proiectate pana acuma cu ajutorul unor unelte specifice.In cazul acestei aplicatii am ales ca implementarea sa fie facuta in Visual Fox Pro,acest produs furnizand toate elementele necesare realizarii cerintelor aplicatiei.
Visual Fox contine un set de utilitare cu ajutorul carora se pot acoperi toate etapele care tin de realizarea unei aplicatii de baza de date. Cu ajutorul utilitarului numit “Database Designer “, se poate realiza implementarea fizica a schemei bazei de date conform specificatiilor din stadiul Proiectare.In urma crearii entitatilor de date acestea pot fi grupate intr-un fisier cu extensia *.dbc care permite vizualizarea tuturor entitatilor impreuna.O alta caracteristica este optiunea prin care intre entitatile de date se pot crea legaturi pe baza unor atribute .Legaturile pot fi de tipul 1:1 sau N:1.Tot in cadrul acestui utilitar se pot crea vederile necesare aplicatiei ,aceste pot fi regasite tot in cadrul fisierului cu extensia *.dbc.
Un alt utilitar foarte important este proiectantul de formulare ,cu ajutorul careia se poate realiza interfata utilizator.Acesta contine toate elementele necesare care pot oferi aplicatiei o utlizare usoara si intuitiva.Rolul de a organiza formularele create,o are proiectantul de meniuri,cu ajutorul careia aplicatia primeste o imagine mai profesionista si mai usor de folosit.Un rol foarte important este dat in acesta etapa ,realizarii din partea programatorului a unei interfete utilizator ,bine definite si usor de utilizat.
Deoarece programul este realizat in mod obiectual ,se utilizeaza proiectantul de clase vizual,cu ajutorul careia definim clasele “Custom”: definite de programator.Aceste clase vor fi accesibile prin intermediul unei biblioteci de clase la care se va face referire.
Utilizand toate aceste unelte de programare se realizeaza implementarea aplicatiei pe baza modelului conceptual definit in stadiul proiectare.

Testare
Pe parcursul dezvoltarii aplicatiei tot timplul se verifca corectitudinea proiectarii si a codului aplicatiei.Fiecare modul de aplicatie este testata prima data in mod unitar apoi , toate modulele sunt testate pentru a vedea daca functioneaza sau nu conform specificatiilor.Sunt utilizate date reale pentru a testa corectitudinea si functionarea conform specificatiilor.Se mai poate utiliza si metoda de verificare incrucisata care permite verificarea mai completa a corectitudinii.In scopul de a evita orice inconsistenta care poate sa apara pe parcursul rularii aplicatiei, am introdus un set de conditii de intrare asupra datelor ,care in cazul in care detecteaza nereguli pentru care au fost realizate ,genereaza un mesaj de eroare,avertizand utilizatorul si blocand efectuearea operatiei,obligand utlizatorul sa corecteze anomalia produsa de el.
Pentru a oferi un exemplu real ,prin care demostrez testarea efectuata ,voi descrie pasii pe care i-am efectuat in vedrea testarii unei singure componete.Luam ca exemplu optiunea ‘cauta ‘ din cartea de telefoane ,dupa criteriul nume si prenume.Deci in meniul principal ordinea optiunilor este :Cartea de telefoane->Cauta->Nume si prenume;
Apare formularul corespunzator optiunii,cu mai multe liste din care va trebui sa selectam valoarea corecta.Verificam cu acesta ocazie daca valorile aparute sunt corecte si identice cu cele din baza de date din care se face selectia.Daca sunt cele corecte precizam o valoare prestabilita pentru nume si prenume conform celei din baza de date si efectuam cautarea.In final trebuie sa apara rezultatul asteptat pe care am stabilit-o inainte de a efectua cautarea.Totusi pentru o mai buna intelegere a pasilor si a operatiilor pe care i-am efectuat ,in capitolul ANEXE sunt prezente si imaginile sub numele figura 4,5,6,7;
In acest mod se testeaza fiecare componenta din aplicatie ,si se evalueaza rezultatele obtinute cu cele asteptate.

Documentatie utilizator

In scopul de a realiza o aplicatie care sa poata oferi utilizatorilor sai informatii de ajutor in cel mai scurt timp si cel mai usor mod ,am creat in HTML help workshop ,o documentatie utilizator care se poate apela chiar din aplicatie .Pe bara de meniuri exista aceaste optiune prin care un utilizator poate sa afle informatii utile despre modul in care functioneaza aplicatia si despre modul in care se pot efectua diferite operatii.Motivul pentru care am ales acest produs (HTML help workshop) este ca permite obtinerea de ajutor pentru utilizator chiar din interiorul aplicatiei ,care este implementata in Visual Fox.Astfel am putut realiza o documentie cu interfata cunoscuta pentru un utilizator, deoarece multe dintre aplicatiile existente utilizeaza acest stil si produs pentru asa numitul “Help”.
In capitolul ANEXE sunt disponibile imaginile prin care exemplific modul in care se pot efectua diferite operatii de catre utilizator.

5. MEMORIU JUSTIFICATIV

Pentru implementarea fizica am utilizat produsul Visual Fox, care este capabil sa creeze aplicatii de baze de date,ofera o unelta cu ajutorul carora se poate realiza functionalitatea ceruta .Poseda un limbaj de maniplure a datelor bine dezvoltat si permite programarea obiectuala.
Toate elementele proiectului au fost implementate conform specificatiilor din stadiul analiza si proiectare.Elementele realizate au fost grupate intr-un ‘Project manager’,o alta facilitate oferita de Visual Fox ,acest lucru fiind precizat cu ajutorul Figurii 1.


Figura 1


In acest proiect au asamblate toate componentele si la sfarsit cu ajutorul optiunii Build au fost compilate ca o singura aplicatie.
Modul in care a fost implementata baza de date precum si imaginea fizica al acesteia este redata prin Figura 2,care ne ofera informatii atat despre structura bazei de date cat si despre tipurile de legaturi care au fost identificate intre ele.

STRUCTURA IMPLEMENTATA A BAZEI DE DATE

Figura 2

3.1 Contributii personale

Pentru a realiza aplicatia propusa, in primul rand am realizat partea de date deoarece intreaga aplicatie se bazeaza pe acest aspect .Avand schema de date implementata dupa modelul proiectat,am putut avea o imagine mai clara despre aplicatie si in cazul in care a fost nevoie, sa efectuez ultimele adaptari si reglari pentru a realiza toate operatiile intr-un mod optim.Tinand cont de modelul de date implementat, am realizat si partea procedurala, adica partea care efectueza manipularea efectiva a datelor.Aceasta parte fiind realizata conform paradigmei obiectuale,respectand conventiile stabilite.
Una din cele mai importante parti din procesul de realizare a unei aplicatii, este realizarea interfetei utilizator,care din punctul de vedere al unui utilizator obisnuit este hotarator intr-un procent destul de mare daca va utiliza frecvent aplicatia sau nu.Se poate considera ca acest aspect da o valoare suplimentara unei aplicatii oarecare,usurand in mod evident realizarea unor operatii.
Odata ce aplicatia este executata, apare meniul principal .Pe bara de meniuri exista mai multe optiuni ,dintre care utilizatorul poate sa selecteze ceva in functie de ceea ce doreste sa faca.Structura acestui meniu este data de Figura 3.


Figura 3

In continuare voi explica fiecare optiune din acest meniu:
-<Carte de telefoane> se refera la un grup de formulare in care sunt implementate diferite optiuni de cautare ,permitand aflarea unor informatii despre un abonat .
-<Cartea de afaceri> contine informatii despre firmele care isi desfasoara activitatea in Romania,optiunea este cea de cautare dupa diferite criterii
-<Agenda personala>contine un grup de optiuni mai complexe ,care permit efectuarea urmatorelor operatii:adauga ,cauta, modifica si sterge.
-<Ajutor>permite apelarea de catre un utilizator a unui “help” in cadrul aplicatiei ,care ii permite sa afle informatii despre utilizarea aplicatiei.
-<Iesire>prin intermediul acestei optiuni se poate parasi aplicatia.
In cadrul ficarei optiuni din meniu se apeleza cate un formular care efectueza cate o operatie care este definita in cerintele aplicatiei.
Urmatorul tabel(Tabel 1) ofera o imagine mai clara privind optiunea de care apartin sau de modul in care sunt organizate.

OPTIUNE MENIU NUME FORMULAR OPERATIA EFECTUATA
Cartea de telefoane Caut_abon_num CAUTARE
Cartea de telefoane Caut_abon_telefon CAUTARE
Cartea de telefoane Caut_abon_adr CAUTARE
Cartea de telefoane Caut_bon_localitate CAUTARE
Cartea de afaceri Caut_pj_nume CAUTARE
Cartea de afaceri Caut_pj_domeniu CAUTATRE
Cartea de afaceri Caut_pj_adr CAUTARE
Agenda personala Agenda ADAUGA
Agenda personala Caut_ag_num_pren CAUTARE
Agenda personala Caut_ag_tel_f CAUTARE
Agenda personala Caut_ag_tel_m CAUTARE
Agenda personala Mod_ag_num MODIFICA
Agenda personala Mod_ag_prenume MODIFICA
Agenda personala Mod_ag_nr_fix MODIFICA
Agenda personala Mod_ag_nr_mobil MODIFICA
Agenda personala Mod_ag_str MODIFICA
Agenda personala Mod_ag_oras MODIFICA
Agenda personala Mod_ag_tara MODIFICA
Agenda personala Mod_ag_pagina_w MODIFICA
Agenda personala Sterg_inf_contact STERGERE

Tabel 1

Caracteristicile vizuale ale fiecarui formular sunt prezentate in capitolul ANEXE .In continuare voi prezenta pe scurt cateva din proprietatile formularelor ,pe care le-am grupat dupa operatiile pe care le efectueaza.
-CAUTARE:formularele care fac parte din acest grup sunt definite conform Tabelului 1 . In principiu fiecare dintre aceste formulare efectueza operatia de cautare dupa urmatorul algoritm:selectam judetul ,tipul localitatii si localitatea din care face parte atributul pe care il cautam si pe urma efectuam cautarea,aplicatia oferind rezultatele cautarii .Fac exceptie de la acest lucru formularele la care nu este nevoie sa selectam anumite proprietati, ci precizam pur si simplu valoarea atributului pe care il dorim sa cautam .
-ADAUGA: este un singur formular care permite acest lucru ,dar este unul mai complex,care este impartit in mai multe pagini ,cu ajutorul carora putem sa adaugam informatii grupate pe anumite criterii.In cazul in care gresim vreo informatie putem sa anulam operatia,ca pe urma sa reluam furnizand detaliile corecte.In urma completarii campurilor care sunt obligatorii trebuie sa validam datele furnizate ,aplicatia urmand sa o introduca in baza de date.
-MODIFICA : formularele care permit acest lucru functioneaza dupa urmatorul principiu generalizat:trebuie sa selectam numele ,prenumele si adresa de e-mail a unei persoane ,si in functie de tipul modificarii pe care ne permite formularul ,precizam noua valoare a unui camp existent in baza de date.In urma acesteia trebuie sa validam operatia de modificare.
-STERGE:la aceasta optiune exista un singur formular care intreaba utilizatorul daca este de acord cu adevarat cu stergerea totala a inregistrarilor din baza de date, si daca primeste un raspuns pozitiv efectueaza operatia.
Dupa cum se stie din capitolul proiectare ,am ales ca paradigma de programare,cea orientata obiectual.Am realizat o diagrama de clase cu relatiile dintre clase ,acesta fiind un model pe baza careia am realizat implementarea din punctul de vedere al codului.Pentru a realiza aceasta implementare am utilizat proiectantul de clase ,utilitar oferit de “proiect manager”.Cu ajutorul acesteia am putut defini clasele propuse , impreuna cu metodele si proprietatile aferente acestora.
Aceste clase sunt grupate intr-o biblioateca de clase ,pentru a utiliza clasa in cadrul unei alte clase de exemplu dintr-un formular ,se face referire la aceasta biblioteca.In cazul nostru biblioteca de clase se numeste bib_clase si contine clasele abonat ,adresa ,telefon si persoana.

Figura 4

Figura 4 ofera o imagine mai clara referitor la acest proiectant de clase impreuna cu biblioteca de clase si clasele din acesta.La aceste clase sunt adaugate in mod interactiv metodele si proprietatile necesare ca apoi la nevoie sa se poate crea instante ale claselor si sa apeleze metodele dorite.Fiecare metoda din clasa este implementata si acesta implementare este disponibila,prin intermediul proprietatilor clasei in mod interactiv.Codul din unele metode este disponibil in capitolul ANEXE,impreuna cu alte elemente care sunt in legatura directa cu aceste clase.
In cadrul aplicatiei se utilizeaza nu numai clase definite de programator(Custom), ci si clase predefinite in cadrul produsului Visual Fox.Metodele acestor clase sunt utilizate in cadrul formularelor,deci pentru realizarea interfetei utilizator.
Pentru realizarea diferitelor operatii cu date, mai ales cele de cautare ,dar nu nunai,am decis ca sa realizez asa numite ‘vederi ‘,cu ajutorul carora pot efectua aceste operatii intr-un mod mai simplu.Se stie din diagrama E-R, ca pentru a reduce redundanta datelor se creaza mai multe entitati cu legaturi intre ele.Aceste legaturi sunt pe anumite criterii(atribute definite), sunt asa numitele ‘joinuri’.Rolul vederilor este de a realiza aceste legaturi ,astfel avand la dispozitie datele in format complet fara a fi nevoie de a efectua manual aceste legaturi.
Operatiile de cautare sunt efectuate prin intermediul acestor vederi ca si cele de modificare de atribute.Pentru a avea la dispozitie datel in format complet este nevoie sa cream mai multe vederi cu ajutorul carora sa ajungem la o vedere care sa contina toate datele necesare.
Visual Fox pune la dispozitie un utilitar cu ajutorul careia se pot crea vederi intr-un mod interactiv.Acestea odata create pot fi adaugate in fisierul cu extensia *.dbc, in care sunt adaugate si tabelele,in cazul nostru fisierul avand numele de “date”.Figura 5 contine aceste vederi, care sunt implemenate in “Database Designer”.

STRUCTURA IMPLEMENTATA A VEDERILOR


Figura 5

Dupa cum se vede exista mai multe vederi cu ajutorul carora se realizeaza vedera finala.In continuare voi explica fiecare vedere de mai sus ,entitatile de date sau celelalte vederi cu ajutorul carora este realizata.

Tabelul 2 contine denumirea vederilor ,entitatile de date care participa si atributele existente.

NUME VEDERE ENTITATI COMPONENTE ATRIBUTUL DE JOIN
V1 TIP STRADA+STRADA id_tstr
V2 V1+IMOBIL id_strada
V3 TIP_LOCALITATE+LOCALITATE id_tloc
V4 V2+V3 id_loc
V5 JUDET+V4 id_judet
V7 OP_TEL_FIX+PREF_OP_F id_op
V8 TELEFON_F+V7 id_pref
V9 PERSOANA_FIZ+V8 id_p
V10_P_FIZ V5+V9 id_imobil
V11 DOMENII+PERSOANA_JUR id_dom
V12_P_JUR V5+V11 id_imobil
V_AG_TEL AGENDA+TELEFON_AG id_p
V_AGENDA ADRESA+V_AG_TEL id_p

Tabel 2

Din tabelul 2 putem afla informatii denerale despre fiecare dintre aceste vederi.Pentru a justifica aceasta structura a vederilor ar fi util ca sa precizez si atributele care fac parte din acestea, deoarece chiar asta este si scopul vederilor create,si anume sa obtinem o entitate care sa contina anumite atribute intr-un singur loc.
In continuare voi preciza atributele din fiecare vedere:
-V1 contine atributele:id_strada,nume_strada,id_loc,tip_str;
-V2 contine atributele:id_loc,nume_strada,tip_str,nr_imobil,scare,nr_ap;
-V3 contine atributele:id_loc,id_judet,nume_loc,tip_loc,id_tloc;
-V4 contine atributele: id_judet, tip_loc, nume_loc, tip_str, nume_strada nr_imobil, scara, nr_ap, id_loc,id_tloc;
-V5 contine atributele: id_judet, nume_judet, prefix, tip_loc, nume_loc, tip_str, nume_strada, nr_imobil, scara, nr_ap, id_loc,id_tloc;
-V7 contine atributele: id_pref, prefix_f, nume_op;
-V8 contine atributele:id_judet,id_p,nr_telefon,prefix_f,nume_op;
-V9 contine atributele:nume, prenume, id_judet, nr_telefon,prefix_f, nume_op;
-V10_p_fiz contine atributele: nume, prenume, nr_telefon,nume_op, nume_judet, tip_loc, nume_loc, tip_str,nume_strada,nr_imobil, scara,nr_ap, prefix,id_judet, id_loc,id_tloc;
-V11 contine: nume,domeniu,id_dom,id_pj,id_loc;
-V10_p_jur contine:nume,domeniu,nume_judet,tip_loc,nume_loc, tip_str, nume_ strada , nr_imobil, scara,nr_ap, id_judet, id_loc,id_tloc,id_dom,id_imobil;
-V_ag_tel contine:nume,prenume,email,tel_fix,tel_mobil,webpage,descriere,id_p;
-V_agenda contine: :nume,prenume, tel_fix,tel_mobil,email,webpage, strada ,nr_strada, oras ,tara,id_p,descriere;
Pentru a oferi aplicatiei o utilitate mai completa, am decis sa creez o documentatie disponibila pentru un utilizator chiar din cadrul aplicatiei.Aceasta optiune prin care a se poate realiza acesta este optinunea ajutor prezenta in meniul principal al aplicatiei.
Documentia utiliator este realizat in programul Html help workshop,deoarece permite realizarea unei documentatii uso

 
 
Comentarii:

Nu ai gasit ce cautai? Crezi ca ceva ne lipseste? Lasa-ti comentariul si incercam sa te ajutam.
Esti satisfacut de calitarea acestui referat, eseu, cometariu? Apreciem aprecierile voastre.

Nume (obligatoriu):

Email (obligatoriu, nu va fi publicat):

Site URL (optional):


Comentariile tale: (NO HTML)


 
Noteaza referatul:
In prezent referatul este notat cu: ? (media unui numar de ? de note primite).

2345678910

 
Copyright 2005 - 2014| Trimite referat | Harta site | Adauga in favorite