Document, comentariu, eseu, bacalaureat, liceu si facultate
Top documenteAdmitereTesteUtileContact
      
    


 


Ultimele referate adaugate

Adauga referat - poti sa ne ajuti cu un referat?

Politica de confidentialitate



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:
 
CABGRAV - APLICATIE PENTRU UN CABINET GRUPAT DE AVOCATURA - proiect
Colt dreapta
Vizite: ? Nota: ? Ce reprezinta? Intrebari si raspunsuri
 
SPECIALIZAREA TEHNICA DE CALCUL

CUPRINSUL LUCRARII

1. INRODUCERE 2

1.1. LOCUL EXPLOATARII APLICATIEI 2 t1b13bh
1.2. NOTIUNI DE BAZA 2
1.3. NECESITATEA ELABORARII APLICATIEI 4
1.4. SPECIFICAREA CERINTELOR 5

2. MEMORIU TEHNIC 6

2.1. APLICATIE CENTRATA PE BAZE DE DATE 6
2.2. ABORDAREA METODICA A ACTIUNII DE PROIECTARE
A APLICATIEI 8
ANALIZA 8
PPROIECTARE 15
Diagrama Entitate-Relatie 15
Diagrama Functionala 17
Tipul arhitecturii pentru aplicatia creata 23
IMPLEMENTARE 25

3. MEMORIU JUSTIFICATIV 26
3.1. SCHEMA BAZEI DE DATE 26
3.2. CONTRIBUTII PERSONALE 28

4. GHID DE INSTALARE SI UTILIZARE 32
4.1 INSTALARE 33
4.2 UTILIZARE 33

CONCLUZII 38

BIBLIOGRAFIE 39

ANEXE 40
1. INTRODUCERE

In prima parte a lucrarii voi prezenta locul exploatarii aplicatiei, voi expune notiunile elementare pe care le-am imprumutat din domeniul juridic si pe care le-am transpus in aplicatia practica sub forma elementelor de proiectare.
Deoarece gandirea logica a proiectului se bazeaza pe fundamentele acestea teoretie am considerat ca este important sa le atasez mai jos, dar, pentru ca, scopul nostru nu este acela a expune notiunile teoretice legate de domeniul juridic, le voi prezenta foarte pe scurt.
De asemenea, voi mentiona si problemele din practica care au dus la necesitatea elaborarii aplicatiei pe care am conceput-o.

1.1. LOCUL EXPLOATARII APLICATIEI

Aplicatia este conceputa si destinata unui Cabinet Grupat de Avocatura -; „Dragan si Apan”, din Cluj-Napoca, str. Dorobantilor, nr. 78, bl. Y1, sc.III, ap. 46.

1.2. NOTIUNI DE BAZA

Prin notiunea de adresa intelegem termenul administrativ care localizeaza un imobil prin specificarea localitatii, a strazii, al numarului -; in cazul caselor - si in plus al blocului, a scarii, al apartamentului - in cazul apartamentelor.




Prin notiunea de Cabinet Grupat de Avocatura (sau Cabinete Individuale de Avocatura Grupate) se intelege un grup de Cabinete Individuale de Avocatura care isi desfasoara activitatea la aceeasi adresa si care isi impart cheltuielile comune in mod egal. Avocatii ca si titulari ai cabinetelor, care fiinteaza la aceeasi adresa, sunt obligati, prin lege, sa se grupeze intr-un astfel de cabinet grupat pentru a elimina eventualele neantelegeri care ar putea surveni.
Notiunea de Cabinet Grupat de Avocatura este mai mult teoretica rezultata din vointa legiuitorului, aceasta nu desemneaza o persoana juridica.
Prin urmare, un Cabinet Grupat de Avocatura cuprinde unul sau mai multe Cabinete Individuale de Avocatura.

Prin notiunea de angajat se intelege persoana care este angajata la un cabinet cu contract de munca. Un angajat poate sa lucreze la mai multe cabinete, caz in care incheie cu fiecare cabinet un contract de munca. De exemplu, in cazul cabinetului pentru care am conceput aplicatia, secretara are contract de muna cu toate cabinetele de avocati din cadrul cabinetului grupat.

Prin notiunea de contract de munca intelegem actul legal care face dovada ca o persoana lucreaza pentru un cabinet de avocatura.

Prin client intelegem o persoana (fizca sau juridica) care apeleaza la serviciile cabinetului, in scopul de a fi reprezentat in fata organelor legale (de exemplu in fata instantelor judiciare, a organelor administrative, etc). Clientul are obligatia sa achite catre cabinet onorariu avocatial. Clientul poate avea unul din urmatoarele roluri in cadrul contractului pe care il incheie cu cabinetul: client propriu-zis, reprezentant, grad de rudenie sau sot.

Notiunea de contract de asistenta juridica desemneaza contractul pe care avocatul -;ca titular al cabinetului - il incheie cu clientul in baza unui obiect .
Contracul are atasat o data (data la care s-a incheiat contractul) si un numar (numarul care urmeaza de la ultimul contract incheiat). De asemenea, mai contine clauze contractuale: clauze generice sau obisnuite (care se includ in fiecare contract de asistenta juridica si nu pot lipsi) si clauze speciale sau alte clauze (acestea se specifica pentru fiecare contract si pot lipsi). Totodata, in acest contract se mentoneaza si numarul de exemplare originale ale contractului, obiectul contractului, valoarea onorariului si, pe parcurs, se adauga ratele de achitare a onorariului impreuna cu numarul si data actului doveditor al incasarii -; chitanta.

Notiunea de onorar avocatial sau, mai simplu, onorar reprezinta suma de bani datorata de client cabinetului, ca urmare a faptului ca avocatul, ca titular al cabinetului, il reprezinta pe acesta (pe client) in fata organelor legale.
Onorariul se poate achita intergral la inceput, cand se incheie contractul de asistenta juridica sau pe parcurs in rate (transe), functie de posibilitatile clientului.

Prin notiunea de rata se intelege o incasare pe care o face cabinetul de la un client pe baza unui contract de asistenta juridica existent; actul se identifica prin numar si data (exemplu: data si numarul chitantei). De asemenea, se mentioneaza suma care s-a incasat.

Prin notiunea de client curent intelegem clientul care mai are de achitat rate din onorar si pentru care scopul contractului de asistenta juridica (obiectul prevazut in contractul de asistenta juridica) nu a fost inca atins, adica actiunea de reprezentare nu s-a incheiat.

Iar prin notiunea de client restantier intelegem clientul care mai are de achitat rate din onorar, dar, pentru care scopul contractului de asistenta juridica a fost atins, adica actiunea de reprezentare s-a incheiat.

1.3. NECESITATEA ELABORARII APLICATIEI

Pentru a explica necesitatea elaborarii unei aplicatii la cabinetul grupat de avocatura, voi aduce ca argument principal necesitatea inlocuirii muncii manuale -; intr-o pondere cat mai mare - cu munca automatizata si utilizarea tehnicilor moderne, care aduc o imbunatatire considerabila in eficienta cautarilor de date. Insa, eficienta aceasta si necesitatea existentei unei aplicatii trebuie calculata in termenii contextului prezent si viitor.
Doresc sa mentionez - intr-o scurta paranteza -; ca, in toate institutiile juridice din Cluj: Judecatorie, Tribunal, Curte de Apel ( chiar din intreaga tara) munca este in majoritate manuala. Calculatoarele sunt utilizate rareori, si in acest caz doar pentru redactare. Chiar si redactarea se face cu masina de scris. Explicatia ar consta in necesitatea prezentei unei „dovezi scrise”, dovada care poate ulterior sa fie verificata.
La fel este si in cadrul cabinetului, dovada trebuie sa se prezinte in forma clasica (acte, registre de evidenta, etc), acestea nu pot fi eliminate. Automatizarea unor actiuni duce, in acest caz, la inregistrarea unui fapt in doua locuri: in registrul clasic si, eventual, in baza de date, daca se foloseste o abordare de tip baza de date pentru aplicatie.
Pe de o parte inregistrarea in doua locuri a datelor necesita timp, pe de alta parte timpul acesta se recupereaza la cautarea informatiilor necesare: nu e acelasi lucru sa dai o comanda care sa caute in baza de date si sa gaseasca informatiile de care ai nevoie (operatie care dureaza cateva secunde) sau sa cauti manual in registre, in chitantiere, etc.

1.4. SPECIFICAREA CERINTELOR

Mi s-a cerut sa realizez o aplicatie care sa se poata rula in conditiile de dotare existente la cabinet. Drept pentru care am fost nevoita sa aleg tipul de aplicatie desktop. Scopul aplicatiei s-a dorit a fi o evidenta a cabinetelor cu privire la angajati, la clienti si la incasarile corespunzatoare ratelor de onorar.
Pentru avocat cel mai important lucru este sa existe o situatie cu privire la clientii restantieri. Reamintesc ca plata prevazuta in contractul de asistenta juridica pentru reprezentare - plata onorariului -; se poate efectua in mai multe transe (rate); numarul lor nu se specifica la incheierea contractului si nu exista un termen limita pentru plata, insa, clientul trebuie sa isi achite aceasta obligatie pana la finele reprezentarii, prin aceasta intelegand terminarea procesului, finalizarea actiunilor pentru care avocatul a fost solicitat, etc; acest termen nu poate fi anticipat. Din aceste motive, pentru diferentierea clientilor curenti de cei restantieri am convenit un artificiu de implementare: avocatul in momentul incheierii unui contract de asistenta juridica sa stabileasca un termen limita pentru achitarea integrala a onorariului; termen care ulterior poate sa fie modificat.
De asemenea, este foarte important pentru cabinet sa aiba evidenta persoanelor angajate, aceasta deoarece exista obligatii lunare de plata catre institutii specializate.


2. MEMORIU TEHNIC

Aplicatia este abordata ca aplicatie baze de date.

2.1. APLICATIE CENTRATA PE BAZE DE DATE

Notiunea de baza de date este strans legata de notiunea de date, care refera „fapte culese din lumea reala” a1i. Baza de date se refera la un volum mare de date, care sunt stocate pe suport fizic; ea reprezinta, in cazul sistemului computerizat, echivalentul arhivei din viata reala. Mai poate fi inteleasa ca o colectie de fisiere de date intr-un sistem de calcul a2i.
Pentru o baza de date cel mai important lucru este manipularea datelor continute in acea baza de date. Aceasta „manipulare” refera operatiile care se pot efectua asupra datelor: operatii de adaugare a unor date noi, operatii de regasire, de modificare, de stergere a datelor existente a2i.
In continuare voi rezuma argumentele care au stat la temelia alegerii pe care am facut-o -; alegerea unei aplicatii centrata pe baze de date.
Aveam nevoie ca aplicatia sa permita stocarea unui volum mare de date, la care sa existe acces tot timpul. Se stie ca in cazul bazelor de date, accentul este pus pe operatiile de memorare si regasire, efectuate asupra unor volume mari de date si mai putin asupra operatiilor de prelucrare a datelor care este domeniul altor categorii de aplicare a informaticii. Acest lucru a constituit pentru mine argumentul principal care m-a determinat sa aleg acest tip de aplicatie.
Securitatea datelor este o problema actuala. ea este tratata in cazul unora din SGBD-uri (sisteme de gestiune de baze de date), care ofera accesul la date prin intermediul numelui de utilizator si al parolei, sub forma unor restrictii asupra operatiilor care se doresc a fi executate si asupra tabelelor care privesc aceste operatii (exemple MSSQL Server 2000, ORACLE9i, DB2).
Visual Fox nu are asemenea elemente de securitate. In cazul acestui SGBD, problema securitatii este asigurata de sistemul de operare sau - in cazul cabinetelor grupate pentru care s-a conceput aplicatia de fata - de parolarea BIOS-ului.
In lucrare voi specifica pe scurt tehnicile moderne de proiectare care sa-mi permita o dezvoltare ulterioara a aplicatiei. O prioritate in lista dezvoltarilor ulterioare o constituie dotarea aplicatiei cu tehnici de securitate a datelor chiar daca aceasta presupune migrarea spre o alta arhitectura.
Doresc ca baza de date pe care o utilizez in aplicatia mea, cabgrav, sa memoreze toate datele cu privire la contractele de asistenta juridica si la contractele de munca din cadrul cabinetului grupat. Evident ca pentru a realiza acest lucru este nevoie sa se pastreze si date care nu au fost enumerate mai sus, dar care fac parte din elementele componente ale contractului de asistenta juridica si ale contractului de munca. De exemplu datele cu privire la avocat, la client, la angajat, la incasarile care s-au facut pentru contractul de asistenta juridica.

2.2 ABORDAREA METODICA A ACTIUNII DE PROIECTARE A APLICATIEI

Pentru a ajunge la un rezultat satisfacator am parcurs etapele de analiza si proiectare, care sunt independente de o implementare anume, urmate de etapele de dezvoltare, testare si documentare.

ANALIZA

Pentru a ajunge la baza de date existenta, am utilizat o „schita”, pe care am creat-o in baza specificatiilor de definitie. Voi reda mai jos lista cu entitatile si cu atributele care constituie fundamentul descrierii schemei bazei de date.

Tab. 1 LISTA CU ENTITATI SI ATRIBUTE PENTRU CONSTRUIREA DIAGRAMEI ER

TERMEN
CALITATE
Entitate (E) / Atribut (A) avocat E nume avocat A prenume avocat A codul numeric personal al avocatului A telefonul mobil al avocatului A data intrarii in functie A
acontinuarei
CALITATE
Entitate (E) / Atribut (A)
TERMEN data iesirii din grup A numarul actului de intrare in functie A angajat E nume angajat A prenune angajat A codul numeric personal al angajatului A telefonul mobil al angajatului A are persoane in intretinere? A client E nume client A prenune client A codul numeric personal al clientului A telefonul mobil al clientului A calitate A adresa E cod adresa A localitate A strada A numar A bloc A scara A apartament A telefon fix A contract asistenta juridica E numar casj A data incheierii casj A obiect contract A onorar avocatial A clauza speciala sau alta clauza A numar exemplare A data limita A contract de munca E numar cm A data incheierii cm A rata de plata pentru onorar E numar act A data act A suma A


Din tabelul 1 se observa ca avem o redundanta in privinta numelui, prenumelui, codului numeric personal si al telefonului mobil si ca entitatile: avocat, angajat si client sunt specializari pentru persoana. Ca atare am convenit introducerea unei entitati noi care sa contina atributele redundante, numita PERSOANA si care sa constituie supertip pentru entitatile: avocat, angajat si client.
In baza de date vom avea entitatile corespunzatoare din tabelul 2

Tab. 2 ENTITATILE CARE INTRA IN SCHEMA BAZEI DE DATE

DENUMIRE ENTITATE TIPUL ENTITATII ENTITATI CU CARE ARE LEGATURA persoana supertip pentru avocat, angajat si client - avocat
- angajat
- client
- adresa avocat subtip de persoana - contract asistenta juridica
- contract munca
- persoana angajat subtip de persoana - contract munca
-. persoana client subtip de persoana - contract asistenta juridica
- persoana adresa entitate de baza - persoana contract asistenta juridica entitate de legatura - avocat
- client
- rata contract de munca entitate de legatura - avocat
- client rata entitate de baza - contract asistenta juridica

Pentru schema BD am nevoie ca sa fac analiza fiecarui atribut pentru a stabili tipul si lungimea maxima pe care o admite. Pentru aceasta am intocmit un tabel cu atribute (vezi tabelul 3).

Tab. 3 ATRIBUTELE CARE INTRA IN SCHEMA BAZEI DE DATE

DENUMIRE ATRIBUT TIPUL ATRIBUTULUI LUNGIME MAXIMA nume sir de caractere 30 prenume sir de caractere 35 cod numeric personal sir de caractere 13 telefon mobil sir de caractere 10 data intrarii in functie data calendaristica data iesirii din grup data calendaristica numarul actului de intrare in functie numeric 7,0 are persoane in intretinere? logic calitate sir de caractere 15 cod adresa sir de caractere 5 localitate sir de caractere 20 strada sir de caractere 25 numar numeric 4,0 bloc sir de caractere 4 scara numeric 2,0 apartament numeric 3,0 telefon fix sir de caractere 10 numar casj numeric 3,0 data incheierii casj data calendaristica obiect contract sir de caractere 40 onorar avocatial numeric 8,0 clauza speciala sau alta clauza sir de caractere variabil numar exemplare numeric 1,0 data limita data calendaristica numar cm numeric 7,0 data incheierii cm data calendaristica numaul actului de incasare onorar numeric 10,0 data actului de incasare onorar data calendaristica suma incasata numeric 8,0

Pentru a construi diagrama Entitate-Relatie care conduce la crearea bazei de date, trebuie sa stabilesc ce relatie exista intre entitati.
Intre entitati pot exista trei tipuri de relatii: relatie 1:1 (unei instante din stanga relatiei ii corespunde o instanta din dreapta relatiei), relatie 1:N (unei instante din stanga relatiei ii corespunde una sau mai multe instante din dreapta relatiei) si relatie M:N (unei instante din stanga relatiei ii corespunde o instanta din dreapta relatiei si unui instante din dreapta relatiei ii corespunde una sau mai multe instante din stanga relatiei).
Pentru a remarca mai usor ce tip de legatura exista intre entitati am folosit tehnica grilajului deoarece imi permite o buna vizualizare a relatiilor dintre entitati prin modul de aranjare al acestora - sub forma unui „grilaj”. Sunt prezentate legaturile directe dintre entitati, cele indirecte se deduc.

Tab. 4 TIPUL LEGATURILOR DINTRE ENTITATI FOLOSIND TEHNICA GRILAJULUI

Nr. crt. Entitate
Entitate persoana
1 persoana ________________________________________ avocat
2 avocat 1 : 1 ________________________________________ angajat
3 angajat 1 : 1 ________________________________________ ________________________________________ client
4 client 1 : 1 ________________________________________ ________________________________________ ________________________________________ adresa

5 adresa 1 : N ________________________________________ ________________________________________ ________________________________________ ________________________________________ casj
7 casj ________________________________________ N : 1 ________________________________________ N : 1 ________________________________________ ________________________________________ cm
8 cm ________________________________________ N : 1 N : 1 ________________________________________ ________________________________________ ________________________________________ ________________________________________ rata
9 rata ________________________________________ ________________________________________ ________________________________________ ________________________________________ ________________________________________ N : 1 ________________________________________ ________________________________________

Voi da doua exemple care sa arate cum se citeste tabelul de mai sus.

Fig. 1 EXEMPU DE CITIRE A RELATIILOR INTRE ENTITATILE DIN GRILAJ

avocatangajat M : N
Un avocat are unul sau mai multi angajati si un angajat poate lucra pentru unul sau mai multi avocati.

avocat adresa 1 : N

Un avocat are adomiciliul lai o adresa si o adresa este pentru unul sau mai multi avocati.

Toate aceste atribute si entitati iau viata in prezenta unor evenimente si a unor functii; functii care sunt apelate de evenimentele respective. Doresc sa arat, referitor la prezenta aplicatie, lista cu evenimentele care ar putea surveni si functiile corespunzatoare acestor evenimente.

Tab. 5 LISTA CU EVENIMENTE SI FUNCTII

EVENIMENT FUNCTIA
ATASATA
EVENIMENTULUI EXPLICATIE

(Ce presupune functia atasata evenimentului ?)

1 Angajarea unei persoane de catre cabinet . Intocmirea contractului de munca. - culegerea datelor angajatului (date de identificare, adresa, telefon, daca are sau nu peroane in intretinere) si inregistrarea acestor date daca angajatul este nou pentru cabinetul grupat;
- determinarea angajatului daca acesta este un angajat cunoscut;
- determinarea cabinetului (al avocatului ca si titular al cabinetului) care face angajarea;
- stabilirea datelor de identificare ale contractului (numar si data);
- inregistrarea contractului;
2 Clientul apeleaza la serviciul cabinetului. Intocmirea contractului de asistenta juridica. - culegerea datelor clientului (date de identificare, adresa, telefon), stabilirea calitatii acestuia si inregistrarea acestor date daca clientul este nou pentru cabinetul grupat;
- determinarea clientului daca acesta este un client cunoscut;
- determinarea cabinetului (a avocatului ca si titular al cabinetului) care incheie contractul de asistenta juridica;
- stabilirea datelor de identificare a contractului (numar si data)
- stabilirea obiectului contractului, al onorariului, a clauzelor speciale, a datei limia pentru achitarea onoriului si al numarului de exemplare originale;
- inregistrarea contractului;
3 Clientul achita o parte din onorar sau onorariul integral. Incasarea unei rate de onorar. - determinarea contractului pentru care se achita rata de onorar;
- stabilirea sumei;
- stabilirea datelor de identificare a actului doveditor al platii (numar si data ); de exemplu chitanta;
- inregistrarea ratei;
4 Un avocat nou doreste sa intre in grupul de cabinete grupate. Inregistrarea unui avocat nou. - culegerea datelor avocatului (date de identificare, adresa, telefon, data intrarii in functia de avocat, numarul deciziei de intrare in functia de avocat);
- inregistrarea acestor date;

aCONTINUAREi FUNCTIA
ATASATA
EVENIMENTULUI EXPLICATIE
EVENIMENT

5 Avocatul solicita lista cu clientii restantieri. Intocmirea listei clientilor restantieri. - pentru fiecare contract de asistenta juridica al cabinetului care doreste lista clientilor restantieri se efectueaza urmatoarele operatii:
-(a) verificarea depasirii datei limita de achitare a onorariului;
-(b) in caz afirmativ se calculeaza suma ratelor achitate si se scade din onorariu obtinand astfel restul de plata;
-(c) atasarea datelor calculate la (b) impreuna cu datele clientului si ale contractului intr-o lista;
6 Gresirea datelor de identificare ale unei persoane (codul numeric personal), ale contractului sau ale ratei (numarul si data). Stergerea / eliminarea datelor gresite. - identificarea persoanei (avocat, angajat sau client) prin codul sau numeric personal sau a contractului sau a ratei de achitare a onorariului prin elementele sale de identificare: numar si data;
- eliminarea datelor gresite;
- reanscrierea datelor corectate;
7 Gresirea altor date (nu a celor de identificare) ale unei persoane, ale contractului sau ale ratei. Modificarea datelor gresite. - identificarea persoanei (avocat, angajat sau client) prin codul sau numeric personal sau a contractului sau a ratei de achitare a onorariului prin elementele sale de identificare: numar si data;
- corectarea datelor gresite si inregistrarea modificarilor facute;

PROIECTARE

In aceasta etapa voi tine cont de cea ce am realizat pana acum si anume: de lista cu entitati si atribute pentru a crea diagrama Entitate-Relatie, de lista cu evenimente si functii pentru a realiza diagrama de funtii cu evenimentele corespunzatoare.

Diagrama Entitate-Relatie este o forma intermediara intre „schita” de entitati si atribute, descrisa anterior si schema bazei de date. Aceasta diagrama este independenta de SGBD-ul ales.
Anticipez ca in implementare voi folosi ca SGBD produsul Visual Fox.
Exista uneltele CASE (Computer Aided Systems Engeneering Tools ) care detin suport corespunzator pentru crearea unui model grafic. Din acest model se poate generea schema bazei de date in SGBD-ul dorit (SGBD-ul se selecteaza dintr-o lista afisata), printr-un click al mouse-ul.
Procesul de creare a schemei bazei de date dintr-un astfel de model se numeste ENGENEERING, termen incetatenit sub aceasta forma si in limbajul romanesc de specialitate.
Unealta CASE, pentru obtinerea schemei bazei de date, cu care am lucrat (Embarcadero) a avut ca si SGBD-uri tinta o lista de produse precum MSSQL Server, Oracle, Acces, etc. Schema in Visual Fox am creat-o cu Database Designer in VisualFoxPro versiunea 6.0.
Schema bazei de date se obtine foarte usor odata ce avem la dispozitie diagrama Entitate-Relatie. Aceasta diagrama este independenta de metoda de dezvoltare aleasa, are rolul de a repartiza atributele la entitatile corespunzatoare si de a stabili legaturile care exista intre entitati asa cum se observa in figura 2.

Pentru a concepe structura bazei de date trebuie sa intelegem diagrama; pentru a o intelege si pentru a ne folosi de ea ulterior este foarte important sa stim cum se citeste diagrama. Mai jos voi reda citirea diagramei intr-un tabel.

Tab. 6 CITIREA DIAGRAMEI ENTITATE - RELATIE

O ADRESA poate fi pentru una sau mai multe PERSOANE. si O PERSOANA trebuie sa aiba o ADRESA si numai una.

Un ANGAJAT care este subtip de PERSOANA trebuie sa lucreze cu un CONTRACT DE MUNCA sau cu mai multe CONTRACTE DE MUNCA. si Un CONTRACT DE MUNCA trebuie sa fie pentru un ANGAJAT si numai unul.

Un AVOCAT, care este subtip de PERSOANA, poate incheia unul sau mai multe CONTRACTE DE MUNCA. si Un CONTRACT DE MUNCA trebuie sa aiba ca subiect ade drepti un AVOCAT si numai unul.

Un AVOCAT, care este subtip de PERSOANA, poate intocmi unul sau mai multe CONTRACTE DE ASISTENTA JURIDICA. si Un CONTRACT DE ASISTENTA JURIDICA trebuie sa aiba ca subiect ade drepti un AVOCAT si numai unul.

Un CLIENT, care este subtip de PERSOANA, trebuie sa fie parte in unul sau mai multe CONTRACTE DE ASISTENTA JURIDICA. si Un CONTRACT DE ASISTENTA JURIDICA trebuie sa fie pentru un CLIENT si numai unul.

Un CONTRACT DE ASISTENTA juridica poate sa aiba una sau mai multe RATE . si O RATA este pentru un CONTRACT DE ASISTENTA JURIDICA si numai unul.

ANGAJATUL, AVOCATUL si CLIENTUL sunt PERSOANE. si O PERSOANA trebuie sa aiba unul din urmatoarele roluri: ANGAJAT, AVOCAT sau CLIENT, unul si numai unul.

Sa incep numerotarea de la Diagrama ER !

In tabel am folosit cuvinte italice pentru exprimarea tipului de relatie din diagrama: relatie optionala (redata in diagrama prin linie intrerupta) si relatie obligatorie (redata in diagrama cu linie continua).Am folosit cuvinte ingrosate pentru cuvintele din diagrama corespunzatoare legaturilor dintre entitati. Cuvintele scrise cu litere mari reprezinta entitatile.
Se observa din diagrama ca avem o relatie de tip-subtip intre entitatile: persoana (cu rol de supertip) si angajat, avocat, client (cu rol de subtip), ceea ce inseamna ca o persoana poate sa joace un singur rol: de angajat, de avocat sau de client.

Diagrama functionala (diagrama de functii) exprima modul in care se comporta sistemul la aparitia unui eveniment. Pentru construirea diagramei de functii am luat in calcul lista cu evenimente si funtii din tabelul 3.
In diagrama de functii evenimentele sunt redate cu sageti etichetate, iar functiile sunt date prin dreptunghiuri cu colturi rotunjite, deasemenea etichetate.
In figura 3 am reprezentat diagrama de functii.

Fig. 3 DIAGRAMA FUNCTIONALA

Tipul arhitecturii pentru aplicatia creata
Pentru a argumenta tipul arhitecturii utilizate in aplicatie voi mentiona tipurile arhitecturilor de aplicatie existente la ora actuala.
Exista trei tipuri de arhitecturi de aplicatie. Le voi prezenta pe scurt in ordinea dezvoltarii.
Prima arhitectura numita desktop se distinge prin faptul ca atat baza de date (BD) cat si aplicatia sunt pe acelasi sistem de calcul.

Fig. 4 PREZENTAREA ARHITECTURII DESKTOP
Sistem de calcul

APLICATIE

BAZA DE DATE

Voi folosi acest tip de arhitectura in aplicatia mea, luand in considerare dotarea actuala de la cabinet. Voi amintit pentru dezvoltarile ulterioare ale aplicatiei si urmatoarele doua tipuri de arhitacturi: client-server si multistrat.
In arhitectura client-server sunt implicate doua tipuri de sisteme de calcul asa cum reiese din denumirea arhitecturii: unul client si altul server. Pe sistemul client ruleaza „aplicatia client” care comunica cu baza de date situata pe alt sistem de calcul -; server de baze de date (serverul BD).

Fig. 5 PREZENTAREA ARHITECTURII CLIENT-SERVER
CLIENT SERVER



APLICATIE BAZA DE DATE


Al treielea tip de arhitectura -; arhitectura multistrat - se caracterizeaza prin existenta, generic vorbind a trei sisteme de calul: clientul, serverul de aplicatii si serverul de BD. In realitate pot exista o multime de sisteme de calcul la fiecare strat.
Clientul are un browser de Internet, serverul de aplicatii este WEB server-ul care contine definitiile claselor ce descriu regulile de business (adica lucrurile care se schimba in timp) si exista, separat, serverul de BD. Aici se dovedeste importanta programarii obiectuale prin proprietatile ei de incapsulare a datelor (ascunderea detaliilor), mostenire (reutilizarea unei clase in modelarea altei clase care este o specializare a celei dintai) si polimorfism (proprietatea unei metode de a se adapta in functie de tipul obiectului care o apeleaza).

Fig. 6 PREZENTAREA ARHITECTURII MULTISTRAT (INTERNET)
CLIENT -WEB SERVER SERVER DE APLICATII
SERVER BD



APLICATIE CARE RULEAZA

REGULILE DE BUSINESS
ALE APLICATIEI BAZA DE DATE
BROWSER INTERNET








Produsul care face o fidela modelare a acestei arhitecturi este Visual Modeler. O sa-i fac o scurta prezentare deoarece m-am gandit sa-l folosesc ca unealta in dezvoltarea ulterioara a aplicatiei mele.
Visual Modeler (vezi si Rational Rose), este o unealta de modelare pentru obiectele grafice ; este un produs deosebit de util daca se lucreaza in programare obiectuala . Voi enumera patru dintre cele mai importante operatii complexe care se pot efectua cu acest produs: crearea diagramei de clase , Engeneering (generarea din diagrama de clase a codului program), Reverse Engeneering (generarea modelului nou creat sau modificat) din codul Visual Basic si Round - Trip Engeneering (procesul de modelare, generare de cod, modificare cod si Reverse Engeneering).
Acest produs are trei nivele in care se poate lucra: User Services (nivelul utilizator) care dispune de interfata cu utilizatorul (pentru prezentarea informatiilor si obtinerea datelor); el mai realizeaza legatura cu nivelul urmator, Business Sercices (nivelul de legatura intre utilizator si nivelul de date) care raspunde la ceritele utilizatorului printr-un protocol dat de regulile de business si Data Serrveces (nivelul de date) care mentine, acceseaza si modifica datele
Aceste nivele au rolul de ascundere a datelor fata de utilizator si de securitate cu privire la accesarea lor. Nivelul cel mai important este nivelul de business deoarece el face legatura intre date si utilizator, comunicand printr-un protocol dat de niste reguli (denumite uzual - reguli de business). Aceste reguli pot sa fie schimbate in timp ca urmare a mdificarilor de la nivelul utilizator, insa schimbarea lor nu afescteaza nivelul datelor -; ceea ce este un lucru deosebit de viabil.

IMPLEMENTARE

Deoarece aplicatia mea nu este o aplicatie de amploare mare am trecut peste partea de dezvoltare. Refeitor la aceasta etapa o sa punctez cateva lucruri in partea de Dezvoltari ulterioare ale aplicatiei.
Pentru implementarea aplicatiei am ales Visual Fox. Acesta pune la dispozitia programatorului un set de unelte care-i usureaza munca -; numite generic proiectant .
In Visual Fox exista mai multe moduri de generare a componentelor aplicatiei: unul este cel clasic, compatibil cu Fox 2.0, altul este cel descris mai sus (cu ajutorul proiectantului) si mai exista o varianta in care se poate utiliza un „vrajitor” -; unelta care te ajuta sa generezi tabele, baze de date, etc, spunandu-ti la fiecare pas ce ai de facut. Ultima varianta nu se recomanda in cazul in care se doreste sa obtii o interfata personalizata.
Eu am folosit varianta numarul doi, cu proiectant.
Indiferent de varianta aleasa, componentele trebuie sa fie asamblate in vederea realizarii unei aplicatii. In acest scop, Visual Fox, pune la dispozitie proiectantul de proiect (Project Designer). Eu am utilizat acest proiectant la asamblarea componentelor individuale.
Proiectantele de baze de date, de tabele, de vederi, (Database Designer, Table Designer) sunt foarte utile pentru crearea tabelelor, a bazelor de date, a vederilor. Eu am folosit aceste proiectante pentru structura aplicatiei.

Proiectantele de meniuri, de rapoarte si de formulare sunt utile pentru crearea interfetei cu utilizatorul. Eu am utilizat aceste proiectante pentru generarea meniului principal: cabgravmen, a formularelor si a rapoartelor din cadrul apolicatiei.
Visual Fox mai pune la dispozitie un set de biblioteci de clase standard, care pot sa fie specializate prin tehnica mostenirii; tehnica pe care am folosit-o in crearea controalelor specializate aplicatiei.

3. MEMORIU JUSTIFICATIV

Pentru implementarea aplicatiei mele am ales Visual Fox deoarece acest produs este destinat aplicatiilor centrate pe baze de date, permite programarea obiectuala si pune la dispozitia dezvoltatorului un set de unelte care-i usureaza munca -; numite generic proiectant.

3.1. SCHEMA BAZEI DE DATE

Luand in considerare etapele anterioare de analiza si proiectare pot defini schema bazei de date. Aceasta contine 8 tabele conform entiatilor definite in tabelul nr. 2.

Fig. 7 BAZA DE DATE CABGRAV CU TABELELE AFERENTE

Tabelele au intre ele legaturi de tipul 1 : N sau 1 : 1, legaturi care rezulta din tabelul nr.4 in care am utilizat tehnica grilajului.
Legaturile de tipul M : N le-am implementat folosind tabele care corespund entitatilor de legatura. In cazul bazei mele de date - cabgrav - am doua legaturi de tipul M : N: avocat-;angajat si avocat-;client. Pentru a le reprezenta am utilizat doua tabele de legatura: tabela contractasj, care contine date cu privire la contractele de asistenta juridica si tabela contractmunca, care contine date referitoare la contractele de munca. Prim urmare, in baza de date voi avea patru legaturi de tipul 1 : N intre tabele implicate in relatia M : N si intre tabelele de legatura astfel: avocat - contractmunca, angajat -; contractmunca, avocat -; contractasj si client -; contractasj

Fig. 8 STRUCTURA BAZEI DE DATE CABGRAV (TABELE SI LEGATURI INTRE ELE)

Structura fiecarei tabele este data in Anexa 1.
Mentionez faptul ca in baza de date, cabgrav, nu am stabilit reguli de integritate referentiala pentru operatiile de: modificare, stergere si inserare, deoarece, am tinut cont de regulile intergritatii referentiale la implementarea acestor operatii in cod.

3.2. CONTRIBUTII PERSONALE

Exista mai multe posibilitati de abordare a unei aplicatii: pornind de la functii sau pornind de la date. In ambele cazuri exista diferite modalitati de realizare a operatiilor propuse. Eu am ales a doua varianta de implementare: pornind de la date.
Interfata cu utilizatorul este cea mai importanta, deoarece, ea este aceea care convinge utilizatorul de necesitatea unei astfel de aplicatii si de faptul ca munca lui devine astfel mult mai usoara.
Punctul de lansare al aplicatiei este un meniu: cabgravmen (vezi figura 9). Acesta are 5 optiuni: <Operare contracte>, <Operare personal>, <Instruire>, <Eliminare date sterse> si <Iesire>.

Fig. 9 MENIUL CABGRAVMEN -; Operare contracte

Prima optiune -; <Operare contracte> - refera un submeniu in care sunt grupate suboptiunile privitoare la contractele de munca si asistenta juridica: <Conracte munca>, <Contracte asistenta juridica>, <Operare rate> si <Clienti restantieri>.
A doua optiune -; <Operare personal> - refera tot un submeniu, care grupeaza suboptiunile privitoare la avocati, angajati si clienti: <Avocati>, <Angajati> si <Clienti> (vezi figura. 10).

Fig. 10 MENIUL CABGRAVMEN -; Operare personal

Cea de a treia optiune - <Instruire> -; refera o fereastra de unde, cel care utilizeaza aplicatia poate accesa informatiile ajutatoare. Acestea descriu actiunile corespunzatoare functionalitatii aplicatiei, cuprind definitii ale termenilor utilizati in interfata si date cu privire la aplicatie.
Cea de a patra optiune -; <Eliminarea datelor sterse> -; refera o procedura care elimina fizic (sterge din baza de date) datele marcate pentru stergere de catre utilizator.
Ultima optiune - <Iesire> -; efectueaza inchiderea aplicatiei (iesirea din aplicatie).

Fiecare suboptiune din cele doua submeniuri apeleaza, prin intermediul comenzilor atasate, un formular. Interfata detine 7 formulare. Toate formularele utilizeaza controale din libraria de clase lib_cls_cabgrav(vezi figura 11). Aceasta librarie contine clase pe care le-am preluat din Visual Fox Pro si pe care le-a personalizat in aplicatia de fata.

Fig. 11 LIBRARIA DE CLASE LIB_CLS_CABGRAV

Clasele componente ale librariei lib_cls_cabgrav sunt prezentate in tabelul urmator:

Tab. 7 STRUCTURA LIBRARIEI DE CLASE LIB_CLS_CABGRAV
CRT. NUME CLASA CLASA PARINTE DESCRIERE
1 but_generic Command_button Buton de comanda.
2 cb_generic Combobox Caseta combinata sau Caseta cu lista.
3 ck_generic Checkbox Caseta de validare.
4 eb_generic Editbox Caseta de editare.
5 grid_generic Grid Grila.
6 lb_generic Label Eticheta.
7 op_generic Optiongroup Grup de butoane de optiune care contine 3 butoane.
8 op_generic2 Optiongroup Grup de butoane de optiune care contine 2 butoane.
9 pf_generic Pageframe Cadru de pagina care contine 3 pagini.
10 pf_generic2 Pageframe Cadru de pagina care contine 2 pagini.
11 sp_generic Spinner Caseta de incrementare cu incrementul 100.000,0000.
12 tb_generic Textbox Caseta de text.

Fiecare formular, mai putin cel destinat clientilor restantieri, tine cont de operatia pe care utilizatorul doreste sa o realizeze: adaugare, modificare sau stergere. Deasemenea, formularele contin cel putin doua butoane: unul pentru validarea operatiei si transmiterea modificarilor spre baza de date (butonul SALVEAZA) si altul pentru renuntarea la operatie si iesirea din formular (butonul IESIRE).
Formularele utilizate in aplicatie sunt prezentate in figura 12.
Fig. 12 FORMULARELE UTILIZATE IN APLICATIE

Voi prezenta in continuare continutul fiecarui formular si asupra caror date poate opera formularul.

Tab. 8 FIECARE FORMULAR OPEREAZA ASUPRA UNOR DATE
FORMULARUL OPEREAZA ASUPRA
1 fan angajatilor

2 fav avocatilor

3 fcasj contractelor de asistenta juridica

4 fcl clientilor

5 fclrestantieri datelor de intrare (avocat si contract de asistenta juridica) pentru a obtine o situatie a clintilor restantieri

6 fcm contractelor de munca

7 fr ratelor de onorar

Formularul fan intitulat FORMULAR ANGAJATI afiseaza intr-o grila toti angajatii tuturor cabinetelor individuale grupate. El opereaza asupra datelor angajatilor. Sursa de date pentru grila este vederea lisan, pe care o sa o prezint detaliat, mai jos, cand voi prezenta vederile utilizate in proiect.
Grila se gaseste in pagina intai a cadrului de pagina a formularului. Utilizatorul alege un angajat din grila ordonata alfabetic dupa nume, prenume si cod numeric personal. La accesarea paginilor urmatoare utilizatorul poate vizualiza datele angajatului.
In pagina doi sunt afisate: numele, prenumele, codul numeric personal, telefonul mobil al angajatului si grupul de doua optiuni, setat corespunzator, daca angajatul are sau nu persoane in intretinere. Codul numeric personal este afisat intr-o lista derulanta, alaturat de numele, prenumele si codul adresei angajatului. La alegerea unui alt avocat din aceasta lista, pagina 2 si 3 se vor actualiza corespunzator cu datele angajatului selectat. In cazul adaugarii unui nou angajat utilizatorul trebuie sa valideze caseta CNP NOU si sa introduca noul cod numeric personal in caseta de text afisata in locul listei. Aceasta caseta de validare nu este accesilila pentru operatiile de modificare si de stergere, deoarece codul numeric personal este element de identificare pentu angajat.
In pagina trei sunt afisate adresa (localitatea, strada, numarul, blocul, scara, apartamentul), telefonul fix si codul adresei. Localitatea, strada, telefonul fix si mobil (telefonul mobil este pe pagina 2) si codul adresei se aleg din liste derulante, unde cautarea se face incremental. In cazul in care elementul cautat nu se gaseste in lista, utilizatorul poate accesa caseta de validare corespunzatoare, situata in dreapta listei si poate introduce valoarea noua in caseta de text afisata in locul listei. De mentionat este faptul ca in cazul codului de adresa, in momentul in care casetei de validare este accesata, in caseta de text nou aparuta apare o valoarea propusa. Ea este calculata ca valoarea urmatoare codului de adresa maxim inregistrat.
In partea de sus a formularului apare un grup de trei butoane de optiune care arata operatiile posibile ce se pot efectua asupra datelor angajatului, acestea sunt intitulate corespunzator: ADAUGARE, MODIFICARE si STERGERE.
La selectarea operatiei de adaugare toate controalele din paginile 2 si 3 devin accesibile, inclusiv caseta de validare pentu cod numeric personal nou, permitand astfel utilizatorului, sa mentioneze datele noului angajat.
La selectarea operatiei de modificare devin inaccesibile controalele corespunzatoare urmatoarelor date: caseta de validare pentru cod numeric personal nou de pe pagina 2 si toate datele adresei angajatului de pe pagina 3, mai putin lista derulanta ce contine codurile adreselor si caseta de validare corespunzatoare. Daca utilizatorul constata ca nici un cod de adresa existent nu corespunde noii adrese el poate selecta caseta de validare pentu cod adresa nou. In acest moment i se propune un cod de adresa si totodata, controalele de pe pagina 3 devin accesibile pentu introducerea datelor noii adrese.
La selectarea operatiei de stergere controalele paginilor 2 si 3 devin inaccesibile, mai putin lista derulanta a codurilor numerice personale si a codurilor de adresa, utilizatorul poate alege un alt angajat din pagina intai si poate sa-i vizulizeze continutul accesand paginile 2 sau 3.
In partea de jos a formularului sunt puse la dispozitia utilizatorului doua butoane. Primul, intitulat SALVEAZA, are atasat cod corespunzator si efectueaza operatia selectata dintre cele trei operatii posibile amintite anterior, asigurand integritatea datelor prin intermediul operatiilor atomice numite tranzactii. Cel de al doilea buton intitulat IESIRE inchide formularul. El poate fi utilizat si pentru renuntarea la modificarile facute asupra datelor angajatului, afisate in paginile 2 si 3 amintite mai sus.
Acest formular se apeleaza din meniul aplicatiei, optinuea <Operare personal> si suboptiunea <Angajati>.

Formularul fav intitulat FORMULAR AVOCATI afiseaza intr-o grila toti avocatii din cadrul cabinetului grupat. El opereaza asupra datelor avocatilor. Sursa de date pentu grila este vederea lisav, pe care o sa o prezint detaliat cand voi prezenta vederile utilizate in proiect.
Grila se gaseste in pagina intai a cadrului de pagina a formularului. Utilizatorul alege un avocat din grila ordonata alfabetic dupa nume, prenume si cod numeric personal. La accesarea paginilor urmatoare utilizatorul poate vizualiza datele avocatului.
In pagina doi sunt afisate: numele, prenumele, codul numeric personal, telefonul mobil al avocatului precum si data intrarii in functia de avocat, numarul deciziei si data iesirii din grup. Pentru cod numeric personal utilizez o lista derulanta care foloseste acelasi principiu ca si in formularul fan.
In pagina trei sunt afisate adresa (localitatea, strada, numarul, blocul, scara, apartamentul), telefonul fix si codul adresei. Pentru mai multe detalii a se citi informatiile despre pagina 3 din formularul fan.
In partea de sus a formularului apare un grup de trei butoane de optiune care arata operatiile posibile ce se pot efectua asupra datelor avocatului, acestea sunt intitulate corespunzator: ADAUGARE, MODIFICARE si STERGERE.
La selectarea operatiei de adaugare toate controalele din paginile 2 si 3 devin accesibile, inclusiv caseta de validare pentu cod numeric personal nou, permitand astfel utilizatorului, sa mentioneze datele noului avocat.
La selectarea operatiei de modificare devin inaccesibile controalele corespunzatoare urmatoarelor date: caseta de validare pentru cod numeric personal nou de pe pagina 2 si toate datele adresei angajatului de pe pagina 3, mai putin lista derulanta ce contine codurile adreselor si caseta de validare corespunzatoare. Daca utilizatorul constata ca nici un cod de adresa existent nu corespunde noii adrese el poate selecta caseta de validare pentu cod adresa nou. In acest moment i se propune un cod de adresa si totodata, controalele de pe pagina 3 devin accesibile pentu introducerea datelor noii adrese.
La selectarea operatiei de stergere controalele paginilor 2 si 3 devin inaccesibile, mai putin lista derulanta a codurilor numerice personale si a codurilor de adresa, utilizatorul poate alege un alt avocat din pagina intai si poate sa-i vizulizeze continutul accesand paginile 2 sau 3.
In partea de jos a formularului sunt puse la dispozitia utilizatorului doua butoane. Primul, intitulat SALVEAZA, are atasat cod corespunzator si efectueaza operatia selectata dintre cele trei operatii posibile amintite anterior, asigurand integritatea datelor prin intermediul operatiilor atomice numite tranzactii. Cel de al doilea buton intitulat IESIRE inchide formularul. El poate fi utilizat si pentru renuntarea la modificarile facute asupra datelor avocatului, afisate in paginile 2 si 3 amintite mai sus.
Acest formular se apeleaza din meniul aplicatiei, optinuea <Operare personal> si suboptiunea <Avocati>.

Formularul fcasj intitulat FORMULAR CONTRACTE DE ASISTENTA JURIDICA afiseaza intr-o grila toate contractele de asistenta juridica ale cabinetelor individuale grupate. El opereaza asupra datelor privitoare la aceste contracte. Sursa de date pentu grila este vederea liscasj, pe care o sa o prezint detaliat cand voi prezenta vederile utilizate in proiect.
Grila se gaseste in pagina intai a cadrului de pagina a formularului. Utilizatorul alege un contract din grila ordonata alfabetic dupa avocat, apoi dupa datele contractului (data si numar) iar apoi dupa client. La accesarea paginilor urmatoare utilizatorul poate vizualiza datele contractului de asistenta juridica.
In pagina doi sunt afisate: numarul si data contractului si partile contractante: cabinetul, reprezentat prin avocat, si clientul. Numarul si data nu pot fi modificate prin operatia de modificare pusa la dispozitia utilizatorului, deoarece acestea sunt elemente de identificare pentru contract; ele devin inaccesibile daca utilizatorul selecteaza operatia de modificare. Avocatul si clientul se vor selecta din cele doua liste derulante puse la dispozitia utilizatorului, care sunt reactualizate in cadrul metodei de initializare a fiecarei liste cu date „proaspete” culese din tabela avocat respectiv client.

In pagina trei sunt afisate clauzele contractuale: obiect, onorar, clauza speciala, data limita si numarul de exemplare. Obiectul, poate fi ales dintr-o lista derulanta asemanatoare cu cele doua liste prezentate anterior: lista avocatilor si cea a clientilor. Daca obiectul cautat nu este prezent in lista, utilizatorul are posibilitatea sa valideze caseta OBIECT NOU si sa introduca obiectul nou in caseta de text afisata in locul listei. Clauza speciala se afiseaza intr-o caseta de editare; iar sursa de date este un camp memo. Pentu a citi valoarea acestui camp utilizez o variabila de memorie creata cu functia scatter, iar pentru operatia inversa, de actualizare a cimpului, folosesc functia gather, in cadrul operatiilor atomice numite tranzactii.
In partea de sus a formularului apare un grup de trei butoane de optiune care arata operatiile posibile ce se pot efectua asupra datelor contractului, acestea sunt intitulate corespunzator: ADAUGARE, MODIFICARE si STERGERE.
La selectarea operatiei de adaugare toate controalele din paginile 2 si 3 devin accesibile, inclusiv numarul si data contractului, permitand astfel utilizatorului, sa mentioneze datele noului contract.
La selectarea operatiei de modificare devin inaccesibile controalele corespunzatoare datelor de identificare ale contractului: numarul si data contractului.
La selectarea operatiei de stergere controalele paginilor 2 si 3 devin inaccesibile, utilizatorul poate alege un alt contract din pagina intai si poate sa-i vizualizeze continutul accesand paginile 2 sau3.
In partea de jos a formularului sunt puse la dispozitia utilizatorului trei butoane. Primul, intitulat SALVEAZA, are atasat cod corespunzator si efectueaza operatia selectata dintre cele trei operatii posibile amintite anterior, asigurand integritatea datelor prin intermediul tranzactiilor. Cel de al doilea buton intitulat LISTEAZA afiseaza contractul de asistenta juridica pregatit pentru listarea la imprimanta. Am folosit in acest caz doua rapoarte: unul in cazul contractelor de asistenta juridica pentru care nu s-a achitat nici o rata - rlistcasjfararate si cel de al doilea in cazul contractelor de asistenta juridica pentru care au fost achitate rate de onorar -; rlistcasjcurate. Cel de al treilea buton numit IESIRE inchide formularul. El poate fi utilizat si pentru renuntarea la modificarile facute asupra datelor contractului, afisate in paginile 2 si 3.
Acest formular se apeleaza din meniul aplicatiei, optinuea <Operare contracte> si suboptiunea <Contracte asistenta juridica>.

Formularul fcl intitulat FORMULAR CLIENTI afiseaza intr-o grila toti clientii din cadrul cabinetului grupat. El opereaza asupra datelor clientilor. Sursa de date pentu grila este vederea liscl, pe care o sa o prezint detaliat ulterior.
Grila se gaseste in pagina intai a cadrului de pagina a formularului. Utilizatorul alege un client din grila ordonata alfabetic dupa nume, prenume si cod numeric personal. La accesarea paginilor urmatoare utilizatorul poate vizualiza datele clientului.
In pagina doi sunt afisate: numele, prenumele, codul numeric personal, telefonul mobil al clientului precum si calitatea pe care o detine clientul. Calitatea poate fi una din urmatoarele valori: CLIENT, REPREZENTANT, GRAD DE RUDENIE sau SOT. Utilizatorul poate sa aleaga calitatea clientului folosind lista derulanta pusa la dispozitie. Pentru cod numeric personal utilizez o lista derulanta care foloseste acelasi principiu ca si in formularul fan.
In pagina trei sunt afisate adresa (localitatea, strada, numarul, blocul, scara, apartamentul), telefonul fix si codul adresei. Pentru mai multe detalii a se citi informatiile despre pagina 3 din formularul fan.
In partea de sus a formularului apare un grup de trei butoane de optiune care arata operatiile posibile ce se pot efectua asupra datelor clientului, acestea sunt intitulate corespunzator: ADAUGARE, MODIFICARE si STERGERE.
La selectarea operatiei de adaugare toate controalele din paginile 2 si 3 devin accesibile, inclusiv caseta de validare pentu cod numeric personal nou, permitand astfel utilizatorului, sa mentioneze datele noului client.
La selectarea operatiei de modificare devin inaccesibile controalele corespunzatoare urmatoarelor date: caseta de validare pentru cod numeric personal nou de pe pagina 2 si toate datele adresei clientului de pe pagina 3, mai putin lista derulanta ce contine codurile adreselor si caseta de validare corespunzatoare. Daca utilizatorul constata ca nici un cod de adresa existent nu corespunde noii adrese el poate selecta caseta de validare pentu cod adresa nou. In acest moment i se propune un cod de adresa si totodata, controalele de pe pagina 3 devin accesibile pentu introducerea datelor noii adrese.
La selectarea operatiei de stergere controalele paginilor 2 si 3 devin inaccesibile, mai putin lista derulanta a codurilor numerice personale si a codurilor de adresa, utilizatorul poate alege un alt avocat din pagina intai si poate sa-i vizulizeze continutul accesand paginile 2 sau 3.
In partea de jos a formularului sunt puse la dispozitia utilizatorului doua butoane. Primul, intitulat SALVEAZA, are atasat cod corespunzator si efectueaza operatia selectata dintre cele trei operatii posibile amintite anterior, asigurand integritatea datelor prin intermediul tranzactiilor. Cel de al doilea buton intitulat IESIRE inchide formularul. El poate fi utilizat si pentru renuntarea la modificarile facute asupra datelor avocatului, afisate in paginile 2 si 3.
Acest formular se apeleaza din meniul aplicatiei, optinuea <Operare personal> si suboptiunea <Clienti>.

Formularul fclrestantieri intitulat FORMULAR CLIENTI RESTANTIERI afiseaza in formular o lista derulanta din care utilizatorul poate alege avocatul la care doreste sa-i listeze clientii restantieri.
In partea de jos a formularului sunt puse la dispozitia utilizatorului doua butoane. Primul -; RAPORT - afiseaza o situatie cu privire la fiecare client restantier pentru fiecare contract de asistenta juridica incheiat: ce onorar s-a stabilit, ce rate s-au achitat si care este suma restanta. Acest formular genereaza un raport al clientilor restantieri, raport care are la baza vederea lisclrestantieri. Cel de al doilea buton intitulat IESIRE inchide formularul
Acest formular se apeleaza din meniul aplicatiei, optinuea <Operare contracte> si suboptiunea <Clienti restantieri>.

Formularul fcm intitulat FORMULAR CONTRACTE DE MUNCA afiseaza intr-o grila toate contractele de munca din cadrul cabinetului grupat. El opereaza asupra datelor privitoare la aceste contracte. Sursa de date pentu grila este vederea liscm, pe care o sa o prezint detaliat ulterior.
Grila se gaseste in pagina intai a cadrului de pagina a formularului. Utilizatorul alege un contract din grila ordonata alfabetic dupa avocat (nume, prenume, cod numeric personal), apoi dupa datele contractului (data si numar). La accesarea paginii urmatoare utilizatorul poate vizualiza datele contractului de munca.
In pagina doi sunt afisate partile contractante: cabinetul, reprezentat prin avocat, si angajatul. Numarul si data nu pot fi modificate prin operatia de modificare pusa la dispozitia utilizatorului, deoarece acestea sunt elemente de identificare pentru contract; ele devin inaccesibile daca utilizatorul selecteaza operatia de modificare. Avocatul si angajatul se vor selecta din cele doua liste derulante puse la dispozitia utilizatorului, care sunt reactualizate in cadrul metodei de initializare a fiecarei liste cu date „proaspete” culese din tabela avocat respectiv angajat.
In partea de sus a formularului apare un grup de trei butoane de optiune care arata operatiile posibile ce se pot efectua asupra datelor contractului: ADAUGARE, MODIFICARE si STERGERE.
La selectarea operatiei de adaugare toate controalele din pagina a doua devin accesibile, inclusiv numarul si data contractului, permitand astfel utilizatorului, sa mentioneze datele noului contract.
La selectarea operatiei de modificare devin inaccesibile controalele corespunzatoare datelor de identificare ale contractului: numarul si data contractului.
La selectarea operatiei de stergere controalele paginii 2 devin inaccesibile, utilizatorul poate alege un alt contract din pagina intai si poate sa-i vizualizeze continutul accesand pagina a doua.
In partea de jos a formularului sunt puse la dispozitia utilizatorului doua butoane. Primul, intitulat SALVEAZA, are atasat cod corespunzator si efectueaza operatia selectata dintre cele trei operatii posibile amintite anterior, asigurand integritatea datelor prin intermediul tranzactiilor. Cel de al doilea buton intitulat IESIRE inchide formularul. El poate fi utilizat si pentru renuntarea la modificarile facute asupra datelor contractului, afisate in cea de a doua pagina.
Acest formular se apeleaza din meniul aplicatiei, optinuea <Operare contracte> si suboptiunea <Contracte munca>.

Formularul fr intitulat FORMULAR RATE opereaza asupra ratelor de onorar ale unui contract de asistenta juridica. In formular folosesc un cadru care are trei pagini.
In prima pagina utilizatorul are posibilitatea sa aleaga dintr-o grila un contract de asistenta juridica. Grila are aceleasi propietati cu grila din formularul fcasj, care este destinat contractelor de asistenta juridica.
La accesarea paginii urmatoare (pagina numarul doi) utilizatorul poate vizualiza datele de identificare ale contractului si ratele corespunzatoare acestuia - afisate intr-o grila. Sursa de date pentu grila este vederea lisrata. Datele sunt ordonate dupa data si apoi dupa numarul ratei. Utilizatorul poate alege una din ratele afisate pe pagina doi, dupa care, trecand la pagina urmatoare (pagina numarul trei) va putea accesa datele ratei alese anterior.
In pagina trei sunt afisate in controle corespunzatoare datele de identificare ale ratei: numar si data si suma care s-a achitat. Pentru suma utilizez o caseta de incrementare cu incrementul 100.000,0000 din clasa personalizata sp_generic.
In partea de sus a formularului apare un grup de trei butoane de optiune care arata operatiile posibile ce se pot efectua asupra ratelor de onorar, acestea sunt intitulate corespunzator: ADAUGARE, MODIFICARE si STERGERE.
La selectarea operatiei de adaugare toate controalele din pagina a treia devin accesibile, inclusiv numarul si data ratei, permitand astfel utilizatorului, sa mentioneze datele noii rate.
La selectarea operatiei de modificare devin inaccesibile controalele corespunzatoare datelor de identificare ale ratei: numarul si data.
La selectarea operatiei de stergere controalele paginii trei devin inaccesibile, utilizatorul poate alege o alta rata din grila de rate (pagina doi) si poate sa-i vizualizeze continutul accesand pagina trei.
In partea de jos a formularului sunt puse la dispozitia utilizatorului trei butoane. Primul, intitulat SALVEAZA, are atasat cod corespunzator si efectueaza operatia selectata, asigurand integritatea datelor prin intermediul tranzactiilor. Cel de al doilea buton intitulat LISTEAZA este identic cu butonul din formularul fcasj care are acelasi nume. L-am folosit si in acest formular pentu a usura munca utilizatorului. Pentru mai multe informatii despre acest buton a se citi la formularul fcasj, anterior cadrul acestui capitol. Cel de al treilea buton numit IESIRE inchide formularul.
Acest formular se apeleaza din meniul aplicatiei, optinuea <Operare contracte> si suboptiunea <Operare rate>.

Rapoartele utilizate in aplicatie sunt prezentate in figura 13.

Fig. 13 RAPOARTELE UTILIZATE IN APLICATIE

Raportul rclrestantieri il utilizez pentru a obtine lista clientilor restantieri ai unui cabinet individual de avocatura. Raportul utilizeaza vederea lisclrestantieri, vedere parametrizata pentu codul numeric personal al avocatului.
Acest raport se genereaza din formularul fclrestantieri, cand utilizatorul, dupa ce a selectat din lista un avocat, efectueaza click pe butonul RAPORT din formularul sus numit.

Raportul rlistcasjcurate il utilizez pentru a putea previzualiza un contract de asistenta juridica, care are achitata cel putin o rata de onorar si eventual pentru a-l lista. Raportul utilizeaza vederea liscasjpar, vedere parametrizata pentu elementul de identificare al unui contract de asistenta juridica (numar si data).
Acest raport se genereaza din formularul fcasj si din formularul fclrestantieri, cand utilizatorul, dupa ce a selectat un contract, efectueaza click pe butonul LISTEAZA.

Raportul rlistcasjcurate il utilizez pentru a putea previzualiza un contract de asistenta juridica, care nu are achitata nici o rata de onorar si eventual pentru a-l lista. Raportul utilizeaza vederea liscasjpar1, vedere parametrizata pentu elementul de identificare al unui contract de asistenta juridica (numar si data).
Acest raport se genereaza din formularul fcasj si din formularul fclrestantieri, cand utilizatorul, dupa ce a selectat un contract, efectueaza click pe butonul LISTEAZA.
Utilizez doua rapoarte diferite pentru previzualizarea contractelor de asistenta juridica mai mult din motive „estetice” pentru a elimina spatiile libere care apar in cazul in care contractul nu are achitata nici o rata.

Vederile utilizate in aplicatie sunt prezentate in figura 14.

Fig. 14 VEDERILE UTILIZATE IN APLICATIE

Vederea lisan utilizeaza tabelele: adresa, persoana si angajat pentru a obtine o imagine complexa a tuturor angjatilor. Ea ordoneaza datele dupa nume, prenume si cod numeric personal.
Aceasta vedere este sursa de date a grilei din formularul fan, utilizata pentru afisarea tuturor angajatilor cabinetului grupat.

Vederea lisav utilizeaza tabelele: adresa, persoana si avocat pentru a obtine o imagine complexa a avocatilor din cabinet. Ea ordoneaza datele dupa nume, prenume si cod numeric personal.
Aceasta vedere este sursa de date a grilei din formularul fav, utilizata pentru afisarea avocatilor cabinetului grupat.

Vederea liscasj utilizeaza tabelele: adresa, persoana de doua ori (o data pentru datele avocatului si a doua oara pentru datele clientului), avocat, client si contractasj pentru a obtine o imagine complexa a tuturor contractelor de asistenta juridica pentru toti avocatii. Ea ordoneaza datele dupa avocat (nume, prenume si cod numeric personal), dupa datele de identificare ale contractului (data si numar) si apoi dupa client (nume, prenume si cod numeric personal).
Aceasta vedere este sursa de date a grilei din formularul fcasj, utilizata pentru afisarea tuturor contractelor de asistenta juridica.

Vederea liscasjpar1 este o vedere parametrizata pentu un anumit co


Colt dreapta
Creeaza cont
Comentarii:

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

Nume (obligatoriu):

Email (obligatoriu, nu va fi publicat):

Site URL (optional):


Comentariile tale: (NO HTML)


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

2345678910

 
Copyright© 2005 - 2024 | Trimite document | Harta site | Adauga in favorite
Colt dreapta