Inregistrarea Si Adapostirea Cainilor Fara Stapan

Cuprins

Cuprins

Introducere

Scopul si obiectul aplicatiei

Aspecte introductive legate de aplicatia Prietenii Animalelor

Descrierea activitatii din Asociatie

Scopul si obiectul de activitate

Inregistrarea si adapostirea cainilor fara stapan

Administrarea hranei si asigurarea curateniei in spatiile de cazare a cainilor

Adoptia

Donatiile

Personalul incadrat al Asociatiei

Crearea si descrierea bazei de date

Aspecte introductive

Interogari SQL asupra bazei de date

Schema bazei de date

Descrierea aplicatiei

Interfata

Modul de functionare a aplicatiei

Descrierea codului sursa implementat

Aspecte introductive

Descrierea claselor

Descrierea librariilor

Descrierea codului sursa

Concluzii

Bibliografie

1.INTRODUCERE

Lucrarea de fata isi propune sa prezinte aplicatia “Prietenii Animalelor” conceputa si realizata in scopul gestionarii corecte si cu usurinta a activitatii de ingrijire si adoptie a animalelor fara stapan de catre Asociatia privata la care face referire prezenta lucrare. Lucrarea este bine structurata, contine o introducere, 4 capitole, concluzii si bibliografie .

Aplicatia reprezinta un program bine realizat, cu o interfata potrivita, fiind usor accesibila si dinamica ,facilitand schimbarile ulterioare la nivel de continut si functionalitate. Pentru realizarea interfetei s-au parcurs o serie de etape acestea constand in: planificare,efectuarea designului,popularea ferestrelor cu anumite componente si la final implementarea codului sursa.

In vederea proiectarii aplicatiei, pentru o functionalitate cat mai corecta si eficienta, am studiat mai multe tipuri de aplicatii.Studiul acestor aplicatii a avut ca scop cunoasterea cat mai aprofundata a modului de realizare corecta a acestui software, modul de organizare si structurare a ferestrelor aplicatiei si a informatiilor.

Asa cum reise din titlul lucrarii de licenta , am ales sa realizez o aplicatie desktop care are drept scop gestionarea activitatii unei Asociatii private pentru ingrijirea si protectia animalelor fara stapan . Aplicatia se numeste “Prietenii Animalelor” si a fost conceputa in scopul usurarii muncii angajatilor care realizeaza activitati privind ingrijirea animalelor fara stapan precum si adoptia acestora.

In aceasta lucrare de licenta voi prezenta detaliat demersul realizari unei aplicatii desktop folosind baze de date MySql si limbajul de programare Java. Pe parcursul lucrarii voi pune accent pe importanta accesibilitatii aplicatiei.

Limbajul de programare Java este o tehnologie inovatoare lansata de compania Sun Microsystem care a avut un impact remarcabil asupra intregii comunitati a dezvoltatorilor de software,impunandu-se prin calitati deosebite cum ar fi:

– simplitate;

– robustete

– portabilitate.

Motivul pentru care am decis sa realizez aceasta aplicatie consta in aceea de a usura munca Asociatiilor care desfasoara activitati privind protectia animalelor fara stapan, aplicatia continand o serie variata de optiuni care ajuta utilizatorii sa gestioneze cu mai multa usurinta si precizie activitatea pe care o desfasoara.

Lucrarea de licenta este structurata pe 4 capitole principale urmate de Concluzii si o bibliografie variata fiecare capitol continand subcapitole cu detalii legate de descrierea activitatii Asociatiei private si in acelasi timp detalii amanuntite despre modul in care am realizat aceasta aplicatie: interfata, baza de date si implementarea codului sursa.

De asemenea aceasta lucrare contine in cuprinsul capitolului 3 si un subcapitol care relateaza succinct si modul de functionare a aplicatiei, un ghid pentru viitorii utilizatori.

Unul din scopurile principale pentru care am realizat acest soft a fost dorinta de a aprofunda cunostinte de programare in limbajul de programare java precum si lucrul cu baze de date. Aceasta aplicatie permite utilizatorilor in primul rand informarea continua despre diverse aspecte considerate de catre Asociatie importante pentru o buna desfasurare a activitatii. Informarea continua precum si posibilitatea de a efectua operatii in cadrul aplicatiei se pot realiza doar de catre utilizatorii inregistrati cu drept de acces acordat de catre administratorul aplicatiei.

Pentru implementare am optat pentru limbajul de programare Java, un limbaj de programare pe care eu personal il consider ca fiind un limbaj usor de invatat dar in acelasi timp un limbaj care necesita un studiu mai intens, un limbaj care ofera la final rezultate spectaculoase.

Cele 4 capitole mentionate mai sus au un continut bogat in detalii privind modul in care a fost realizata aplicatia, si in plus alte aspecte relevante pe care le voi descrie in cele ce urmeaza:

Capiolul 1 contine o descriere detaliata a activitatii pe care o desfasoara Asociatia,

facand referire la modul in care animalele ajunse la Asociatie sunt cazate, consultate medical si pregatite pentru adoptie. Scopul acestui capitol are o importanta sporita deoarece aceste detalii privind modul de desfasurare a activitatii unei firme sau Asociatii ajuta programatorii la o cunoastere mai buna a ceea ce este necesar a se implementa intr-o aplicatie in functie de nevoile Asociatiei;

Capitolul 2 intitulat “Crearea si descrierea bazei de date” este un capitol de

asemenea foarte important si detine informatii legate de modul cum a fost create baza de date, schema bazei de date, legaturile intre tabele si rolul fiecarui tabel al bazei de date pentru aplicatia realizata. Fiecare tabel are sarcini importante, fara existenta bazei de date si a tebelelor aplicatia realizata nu ar putea functiona, baza de date avand rolul de a stoca informatiile introduse de utilizatorii aplicatiei si in acelasi timp si rolul de a reda aceste informatii in urma selectarii de catre utilizatori a anumitor optiuni in cadrul aplicatiei.

Capitolul 3 intitulat “Descrierea aplicatiei”, aceasta sectiune contine 2 aspecte foarte

importante si anume: aspecte legate de modul in care a fost realizata interfata aplicatiei si un alt aspect important fiind acela de prezentare a modului de functionare a aplicatiei “Prietenii Animalelor” aceasta sectiune fiind practic un ghid pentru utilizatorii care folosesc softul, ajutandu-i sa inteleaga mai bine modul de efectuare a anumitor operatii, de introducere corecta a datelor, de obtinere corecta a informatiilor etc…

Capitolul 4 “Descrierea codului sursa implementat ”. Acest capitol explica modul in

care a fost implementata aplicatia in limbajul de programare Java, compilatorul folosit, de asemenea librariile folosite si nu in ultimul rand clasele create care au fost apelate pentru a spori eficienta aplicatiei. Una din clasele cele mai importante din cadrul aplicatiei este DataBaseConnection, calsa care in urma apelarii are rolul de a conecta baza de date la aplicatie, mai multe detalii amanuntite fiind relatate in cadrul sectiunii destinate descrierii claselor. Tot in cadrul acestui capitol vor fi relatate detalii privind codul sursa, detalii legate de librariile care au un rol deosebit de important in redarea evidentelor si crearea statisticilor periodice privind activitatea Asociatiei.

Lucrarea de licenta contine in incheiere o parte de concluzii si o bibliografie bogata. De asemenea lucrarea pune la dispozitia cititorilor o serie de concepte si metode

relevante pentru domeniul aplicatiei, de acestea tinandu-se cont la etapa de implementare a proiectului.

Scopul si obiectul apicatiei

In vederea obtinerii unor evidente clare si corecte, precum si pentru a urmarii eficienta activitatii pe care o desfasora Asociatia, a fost implementata o aplicatie care are ca scop usurarea muncii angajatilor Asociatiei. Aplicatia poate fi instalata pe orice PC care detine sistem de operare XP, Windows Vista sau Windows 7, fiind o aplicatie desktop cu eficienta sporita.

Aplicatia “Prietenii Animalelor” este o aplicatie cu o interfata prietenoasa si usor de utilizat care ofera acces rapid la diverse informatii utile pentru utilizatori. Are scopul de a tine utilizatorii permanent informati despre situatia animalelor, efectivul de animale, stocul de hrana existent si necesarul de hrana care trebuie procurata periodic, informatii despre situatia individuala a fiecarui animal cazat, inclusiv situatia medicala a acestora si nu in ultimul rand evidente legate de donatiile efectuate si de adoptiile realizate.

Aplicatia ofera persoanelor abilitate in acest scop posibilitatea informarii continue, rapid si eficient, cu privire la evidenta personalului angajat precum si informatii despre orele prestate de fiecare angajat in parte, pe baza acestor informatii realizandu-se plata salariilor.

Programul ofera posibilitatea oricarui utilizator cu drept de acces de a vizualiza in cel mai scurt timp diferite rapoarte prezentate sub forma grafica cu privire la efectivul animalelor existente in cadrul Asociatiei, cheltuielile cu hrana animalelor, evidenta donatiilor si a adoptiilor etc…

1.2.Aspecte introductive cu privire la aplicatia Prietenii Animalelor

Pentru desfasurarea in conditii optime a activitatii, Asociatia detine o aplicatie numita “Prietenii Animalelor” cu ajutorul careia gestioneaza intreaga activitate, usurandu-le munca angajatilor si detinand o evidenta mult mai clara a tot ceea ce inseamna gestiune. De asemenea aplicatia cuprinde si statistici care redau evolutia Asociatiei pe anumite perioade.

Managementul informatiilor despre identitatea animalelor si istoricul medical se face de asemenea prin intermediul acestui software.

Aplicatia detine o functie pentru gestionarea hranei animalelor gazduite pentru o viziune mai clara despre cata hrana exista in magazie, sau cata hrana trebuie achizitionata in functie de numarul animalelor existente si in functie de talia acestora (mica, medie, mare).

Principalele evidente intalnite in cadrul Asociatiei legate de gestiunea animalelor sunt:

Evidenta animalelor fara stapan

Evidenta donatorilor si adoptatorilor

Statisticile privind evolutia Asociatiei

Gestionarea hranei (cheltuielile rezultate din procurarea hranei)

Softul este prevazut si cu un meniu care poate fi accesat doar de catre departamentul financiar-contabil, unde au loc operatii privind personalul angajat. Functiile principale ale aplicatiei cu privire la angajati sunt:

Evidenta angajatilor;

Evidenta concediilor (concedii de odihna si concedii medicale), a coasiguratilor precum si o evidenta cu persoanele carora le-au incetat raporturile de munca;

Evidenta adeverintelor eliberate personalului incadrat;

Inregistrarea actelor aditionale privind schimbarea functiei, a numelui sau a salariului de incadrare;

Pontaj;

Salarizare;

Statistici.

Prin realizarea unei evidente informatizate se castiga timp si se evita pierderea unor date, nefiind necesara consultarea unui numar mare de documente ce tin de gestionarea activitatii. Se obtin astfel mult mai usor informatii despre animale, despre adoptiile si donatiile efectuate precum si alte date.

1.3.Descrierea activitatii din cadrul Asociatiei

1.3.1.Scopul si obiectul de activitate

Milioane de caini fara stapan traiesc pe strazi, singuri si infometati, fara o adevarata sansa la o viata linistita alaturi de cineva.

Asociatia a luat fiinta in anul 2009 si este situata in Petrosani. In cadrul Asociatiei sunt cazati peste 800 de caini fara stapan. Toate animalele sunt deparazitate, vaccinate si o parte din ele sunt sterilizate. Terenul pe care isi desfasoara activitatea Asociatia este primit in concesiune de la Primaria Petrosani.

Asociatia a acumulat dealungul anilor o experienta bogata in ceea ce priveste ingriirea animalelor si gasirea unor familii minunate si responsabile pentru animalele salvate de catre Asociatie.

Scopul Asociatiei consta in salvarea si ingrijirea animalelor, in limita spatiului disponibil, oferind animalelor un adapost, hrana si ingriire medicala precum si o sansa la o adoptie si un camin permanent. Unul din scopul Asociatiei este acela de a reabilita respectul uman fata de animale.

PAsociatiei sunt cazati peste 800 de caini fara stapan. Toate animalele sunt deparazitate, vaccinate si o parte din ele sunt sterilizate. Terenul pe care isi desfasoara activitatea Asociatia este primit in concesiune de la Primaria Petrosani.

Asociatia a acumulat dealungul anilor o experienta bogata in ceea ce priveste ingriirea animalelor si gasirea unor familii minunate si responsabile pentru animalele salvate de catre Asociatie.

Scopul Asociatiei consta in salvarea si ingrijirea animalelor, in limita spatiului disponibil, oferind animalelor un adapost, hrana si ingriire medicala precum si o sansa la o adoptie si un camin permanent. Unul din scopul Asociatiei este acela de a reabilita respectul uman fata de animale.

Principalele activitati sunt:

inregistrarea cainilor;

controlul medical, activitate care implica: investigatie, interventii chirurgicale, tratament, analize;

deparazitare;

vaccinare;

adapostire;

adoptie;

activitati sociale, activitate care implica interactiunea cu oamenii.

Asociatia privata ofera adapost, hrana si afectiune cainilor gasiti in oras. Multi dintre acesti caini au fost abandonati sau neglijati de stapanii lor, sau chiar raniti incercand sa se apere pe strazi.

Asociatia incearca sa transmita persoanelor prin actiunile intreprinse, faptul ca trebuie sa aiba incredere in animale precum si ca animalele sa aiba incredere in oameni, incercand sa asigure animalelor un trai decent si sa le gaseasca stapani.

1.3.2.Inregistrarea si adapostirea cainilor fara stapan

La intrarea cainilor in Asociatie personalul veterinar preia cainii, verifica daca acestia sunt identificati printr-un mijloc de identificare aprobat potrivit legii si inregistreaza informatiile minime in Registrul de evidenta a cainilor fara stapan.

Animalele bolnave sau ranite sunt izolate in spatii adecvate in care primesc ingrijire corespunzatoare pe toata perioada cazarii. La intrarea in adapost, fiecare caine primeste un numar unic de identificare, reprezentat de numarul de ordine din registrul de intrare in adapost. Acest numar unic de identificare se aloca si in cazul cainelui ce a fost identificat anterior prin orice dispozitiv de tipul microcipului, crotaliei, tatuajului, medalionului inscriptionat.

Toti cainii ajunsi la Asociatie sunt vaccinati si evaluati medical pentru a stabili starea de sanatate, varsta, sexul, rasa iar ulterior pregatiti pentru adoptie. Animalele ranite beneficiaza de tratament medical iar puii beneficiaza de ingrijiri speciale.

In cadrul Asociatiei animalele vor fi cazate si separate pe urmatoarele criterii:

a.stare de sanatate;

b.varsta;

c.sex;

d.grad de agresivitate;

e.mamele care alapteaza vor fi cazate impreuna cu puii.

In cadrul Asociatiei functioneaza un spital veterinar cu personal medical specializat, in care pot fi desfasurate toate operatiunile medicale necesare asigurarii starii de sanatate a animalelor. Zona de spital este dotata cu 200 locuri de cazare adecvate tuturor categoriilor de caini.

1.3.3.Administrarea hranei si asigurarea curateniei in spatiile de cazare a cainilor

Cateii in varsta de 6 – 12 saptamani sunt hraniti de 3 ori pe zi, iar cainii in varsta de peste 12 saptamani sunt hraniti de doua ori pe zi. Hrana uscata este administrata individual si supravegheat. Toate spatiile unde sunt adapostiti cainii sant spalate si dezinfectate zilnic. Vasele de apa sunt curate si dezinfectate zilnic si intotdeauna inaintea aducerii unui nou animal.

Cainii fara stapan cu semne clinice de boala sunt inregistrati si examinati medical cu prioritate. Evaluarea starii de sanatate a cainilor fara stapan cazati, se face periodic, de cate ori este necesar. Zilnic fiecare animal este examinat clinic, iar orice eveniment medical este inregistrat in fisa individuala si in registrul central.

1.3.4.Adoptia

In ceea ce priveste adoptia , Asociatia ofera doua tipuri de adoptii si anume: adoptia la domiciliu(aceasta este gratuita) si adoptia la distanta(in acest caz adoptatorul va fi obligat in baza actelor incheiate cu Asociatia la o plata lunara in functie de cheltuielile necesare intretinerii cainelui dat spre adoptie, cheltuieli constand in procurarea de hrana zilnica animalului adoptat si ingrijiri medicale daca este cazul, acestea din urma implicand costuri suplimentare).

Atat in cazul adoptiei la domiciliu cat si in cazul adoptiei la distanta adoptatorul trebuie sa prezinte Asociatiei un act din care sa reiese faptul ca detine venituri suficiente pentru a fi capabil de a oferi cainelui adoptat conditii optime de trai.

In situatia in care dupa efectuarea adoptiei, adoptatorul abandoneaza cainele adoptat, acesta din urma nu mai are dreptul sa adopte alt caine pe o perioada de cel putin 1 an de la data constatarii ultimului abandon.

Adoptia la domiciliu

Adoptia cainilor se face gratuit, pe baza declaratiei – angajament. Cererile de adoptie se pot introduce imediat ce cainele a fost cazat in adapost. Cainii pot fi revendicati numai dupa consultarea acestora de catre medicul veterinar.

Adoptia la distanta

Cainii pot fi adoptati la distanta de catre persoane fizice si juridice. Adoptia la distanta se realizeaza prin completarea unei declaratii-angajament.

Persoanele care adopta la distanta caini fara stapan suporta toate cheltuielile necesare pentru mentinerea cainilor in adapost. Plata cheltuielilor de intretinere, cu exceptia tratamentelor medicale, se face in avans pentru o perioada de cel putin 30 de zile.

Costurile eventualelor tratamente medicale se aduc la cunostinta adoptatorilor la distanta inainte ca acestea sa fie efectuate, decizia de a trata cainele si, implicit, de a suporta costurile aferente tratamentelor medicale apartine adoptatorului.

Adoptia la distanta inceteaza daca adoptatorul nu respecta, pentru o perioada de 14 zile lucratoare consecutive, obligatiile asumate prin declaratia de adoptie la distanta, sau daca acesta nu comunica decizia de a trata cainele si, implicit, de a suporta costurile aferente tratamentelor medicale in termenul prevazut. Numarul cainilor adoptati la distanta de o persoana nu este limitat. Pe perioada stationarii in adapost, cainii fara stapan adoptati la distanta pot fi preluati oricand de catre adoptatori sau pot fi adoptati cu acordul adoptatorului la distanta.

Conform Regulamentului Intern al Asociatiei cu privire la adoptie s-au stabilit cateva obligatii ale adoptatorului:

Adoptatorul are obligatia sa asigure bunastarea si protectia cainelui;

Sa prezinte anual cainele la vaccinare;

Sa asigure cainelui conditii minime de bunastare;

In cazul in care cainele nu mai este dorit are obligatia de a returna cainele Asociatiei, iar in cazul decesului sau instrainarii cainelui sa anunte Asociatia despre acest fapt.

1.3.5.Donatiile

Majoritatea veniturilor Asociatiei decurg din donatiile primite de la diverse persoane

fizice si juridice, aceste venituri fiind utilizate in scopul de a asigura animalelor Asociatiei ingrijiri corespunzatoare.

Donatiile in bani resprezinta sponsorizari in bani iar aceste finantari reprezinta sursa principala prin care Asociatia isi duce la buna indeplinire misiunile asumate. Fiecare donatie in bani conteaza.

Din punct de vedere juridic, conform Codului civil reprezinta un contract prin care una din parti transmite celeilalte parti o proprietate sau o suma de bani fara a solicita ceva in schimb. Ca si principiu orice persoana poate efectua donatii. Conditia principala in legatura cu capacitatea partilor este aceea ca aceasta sa aiba capacitate de exercitiu, mai precis , sa aiba indeplinita varsta de 18 ani, adica capacitatea de a incheia acte juridice de dispozitie.

Aceste donatii pe care Asociatia le primeste includ: 2 % din impozitul redirectionat de persoane fizice interesate de Asociatie si de scopul ei, 20 % din impozitul pe profit donate de cateva firme precum si sumele donate de alte persoane care doresc sa ajute pe aceasta cale animalele.

Toate activitatile, plata salariilor angajatilor precum si intretinerea si ingrijirea animalelor adapostite sunt bazate pe aceste donatii efectuate de oameni si anumiti parteneri, care ofera posibilitatea Asociatiei sa isi desfasoare in conditii optime activitatea si de a-si duce la indeplinirea misiunile propuse. De asemenea Asociatia accepta din partea persoanelor interesate de soarta animalelor donatii care constau in hrana pentru animale. Orice donatie conteaza pentru ca Asociatia sa poata functiona in conditii optime.

1.3.6.Personalul incadrat al Asociatiei

Activitatea de evidenta a Asociatiei implica o munca intensa cu numeroase documente care tin de luarea in evidenta a animalelor, evaluarea medicala, inregistrari privind adoptia si donatiile efectuate de catre persoanele fizice si juridice precum si gestionarea stocului de hrana necesar pentru intretinerea animalelor.

In cadrul Asociatiei isi desfasoara activitatea un numar de 10 angajati renumerati in conformitate cu clauzele prevazute in contractul individual de munca incheiat intre salariat si angajator precum si voluntari nerenumerati pentru munca prestata. Echipa de angajati contribuie la respectarea si consolidarea drepturilor animalelor prin:

Preluarea, tratarea si adapostirea animalelor fara stapan in limita locurilor disponibile si in functie de resursele existente in Asociatie la momentul respectiv;

Implicarea activa in intreg procesul de adoptie;

Organizarea de targuri de adoptie a animalelor fara stapan;

Organizarea si participarea la diverse evenimente pentru promovarea adoptiei animalelor fara stapan;

Pentru a asigura bunastarea animalelor, personalul angajat lucreaza in fiecare zi a saptamanii inclusiv in Wekend oferind animalelor supraveghere continua.

2 . CREAREA SI DESCRIEREA BAZEI DE DATE

2.1. Aspecte introductive

In Enciclopedia Britannica baza de date este definita astfel:

Prin baza de date se intelege orice colectie de date sau informatii, care este organizata special, in vederea consultarii rapide a datelor de catre utilizatorul unei aplicatii, care ruleaza pe un calculator. Bazele de date sunt structurate astfel incat sa faciliteze memorarea, regasirea, modificarea si stergerea datelor, prin diferite operatii specifice. Bazele de date se pot memora pe disc sau pe banda magnetica, pe disc optic sau pe orice alt fel de tip de memorare secundara.

Bazele de date sunt folosite in sisteme informationale din diverse domenii, sistemul informational fiind folosit pentru stocarea, prelucrarea prezentarea si distribuirea informatiei pentru un anumit domeniu. Aplicatia foloseste baza de date MySQL.

Un prim pas in crearea aplicatiei a fost crearea unei bazei de date in vederea stocarii tuturor informatiilor pe care utilizatorii acestui software le introduc. Baza de date a fost creata cu ajutorul phpMyAdmin care apartine programului XAMPP.

XAMPP este un pachet de programare free, open-source si cross-platform web server, care consta in Apache, HTTP Server, MySql database si interpretoare pentru scripturile scrise in limbajele de programare PHP si Perl.

Proiectarea unei baze de date trebuie inceputa intotdeauna prin crearea tabelelor care vor stoca datele introduce cu ajutorul aplicatiei. Obiectele cele mai importante memorate intr-o baza de date sunt tabelele. Un table este format dintr-un numar de linii(randuri) si dintr-un numar de coloane. Prima linie a tabelului are un rol special, ea este linia de antet (cap de tabel) a tabelului. Fiecare celula a liniei contine un nume de camp. Celelalte linii ale tabelului contin inregistrarile din tabel. Fiecarui nume de camp ii este asociat un tip de data si o dimensiune exprimata in octeti.

Unui tabel al bazei de date ii pot fi adaugate nu numai randuri noi (inregistrari noi) dar si campuri noi (coloane noi) cu ajutorul interogarilor si in acelasi timp unele campuri pot fi desfiintate, adica structura tabelului si a bazei de date poate fi modificata.

O baza de date poate contine mai multe tabele. Aceste tabele,sunt de regula, tabele associate(intre ele exista o anumita relatie). De exemplu in cazul bazei de date a aplicatiei , un tabel contine datele de identificare a animalelor adapostite , iar alt tabel contine date legate de starea lor de sanatate.

Baza de date se numeste baza_date_aplicatie, și cuprinde un numar de 16 tabele destinate stocarii tuturor informatiilor introduce de catre utilizatori, ilustrate mai jos:

Fig.1 Lista cu tabelele bazei de date a aplicatiei

Tabelele au fost create folosind o serie de interogari SQL .

Interogarile servesc la selectarea-pe baza anumitor criterii – a anumitor informatii existente in tabele. Informatiile pe baza interogarilor pot fi afisate intr-o anumita ordine de catre utilizator. Exista de asemenea posibilitatea combinarii datelor provenite din mai multe tabele associate iar rezultatele interogarii pot fi vizualizate intr-o singura fereastra.

2.2. Interogari SQL asupra bazei de bate

Pentru crearea bazei de date am realizat urmatoarea interogare:

Pentru crearea celor 16 tabele am efectuat urmatoarele interogari in urmatoarea ordine:

Tabelul logare

La deschiderea aplicatiei , fereastra principala solicita utilizatorilor introducerea numelui de utilizator si parola pentru a avea acces la functiile aplicatiei in functie de dreptul de acces al fiecarui utilizator. Numele de utilizatori si parolele sunt stocate in tabelul logare.

Tabelul evidenta_generala_animale

Tabelul evidenta_generala_animale contine campuri destinate inregistrarii animalelor, Asociatia avand o evidenta cat mai clara a intregii situatii in ceea ce priveste animalele adapostite, de a ajuta personalul angajat sa identifice cu usurinta un anumit caine adapostit, de a cunoaste efectivul de animale pe care Asociatia le detine .

Tabelul animale_adoptate

Tabelul de mai sus contine un numar mai mare de coloane, fiecare avand un rol important in stocarea informatiilor privind datele de identificare a persoanelor care adopta animale, tipul adoptiei (adoptie la domiciliu sau adoptie la distanta) precum si date privind cainele adoptat si locatia unde va avea caminul permanent. In functie de tipul de adoptie , unul din campurile de baza ale tabelului urmeaza sa se stabileasca conditiile si termenii in care urmeaza sa se efectueze adoptia.

In cazul adoptiilor la domiciliu tabela contine cateva coloane destinate pentru acest tip de adoptie, continand campuri privind locatia cainelui adoptat in urma adoptiei, iar in cazul adoptiei la distanta un camp cu suma pe care adoptatorul se obliga sa o plateasca lunar pentru intretinerea cainelui adoptat.

Tabelul donatii

Tabela donatii cuprinde date legate de persoanele care doneaza o anumita suma Asociatiei, suma donata, date de contact ale donatorului precum si statutul persoanei (persoana fizica sau juridica). Pe baza acestui tabel, aplicatia va reda o evidenta centralizata a tuturor donatiilor efectuate periodic de catre persoanele fizice si juridice, in baza acestei evidene Asociatia avand o viziune mai clara a situatiei financiare si a posibilitatilor pe care le are in viitorul apropiat de a desfasura in conditii optime activitatea.

Tabelul raport

Tabelul raport contine campuri care redau situatia medicala a animalelor fara stapani cazate in cadrul Asociatiei dupa evaluarea medicala si constatarea starii de sanatate. Acest tabel incearca sa redea o fisa individuala a fiecarui animal gazduit de catre Asociatie, mentinandu-se constant o situatie despre starea de sanatate a fiecarui caine.

Tabelul gestiune_stoc_hrana

Acest tabel va reda necesarul lunar de hrana pentru animale in functie de numarul acestora si talie si de asemenea va tine evidenta tuturor achizitiilor lunare efectuate de catre Asociatie in ceea ce priveste hrana animalelor, cheltuielile lunare cu hrana precum si o evidenta clara a stocului de hrana disponibil in magazie.

Tabelul autentificare_departament_angajati

Acest tabel contine date despre persoanele care lucreaza in cadrul departamentului financiar-contabil si de asemenea acorda drept de acces acestor utilizatori in vederea accesarii unor functii din cadrul aplicatiei destinate doar acestora.

Tabelele urmatoare sunt destinate exclusiv personalului angajat si stocheaza urmatoarele informatii: datele de identificare ale angajatilor precum si date legate de tipul de contract de munca incheiat, norma, incadrarea, functia(tabelul evidenta_angajati), date privind evidenta concediilor de odihna, concediilor medicale, incetarea raporturilor de munca dar si a persoanelor aflate in intretinerea angajatului(tabelul evidenta_angajati, concedii_odihna, concedii_medicale, incetare_cim, coasigurati).

De asemenea baza de date mai contine doua tabele destinate stocarii si redarii unei evidente in ceea ce priveste actele aditionale si adeverintele eliberate angajatilor Asociatiei.

Tabelul evidenta_angajati

Acest tabel contine campuri destinate stocarii datelor legate de angajatii Asociatiei, avand rolul de a reda prin intermediul aplicatiei situatii privind efectivul de angajati, functia, incadrarea, norma si alte mentiuni relevante legate de personal. Ca scop principal acest tabel isi propune prin intermediul aplicatiei sa redea diferite date despre angajati inclusiv fotografia acestora. Pentru a afla date despre un anumit angajat tabela contine un camp cu ID care este unic in functie de acest camp identificandu-se angajatul. Fiecare angajat detine un nr unic cu ajutorul cauia este identificat in baza de date.

Tabelul concedii_odihna

Acest tabel reda situatia concediilor de odihna a intregului personal angajat, contine coloane care au rolul de a stoca toate datele relevante legate de concediilor de odihna a angajatilor, usurand munca personalului responsabil cu evidenta concediilor.

Tabelul concedii_medicale

Pierderea capacitatii de munca in cadrul unui contract individual de munca implica acordarea unui concediu medical si plata unor drepturi banesti de catre angajator si de catre Asigurarile de Sanatate. Exista situatii speciale cu privire la concediile medicale si indemnizatii dupa clasificarea lor. Astfel tabelul concedii_medicale dispune de campuri destinate acestui scop si anume posibilitatea stocarii acestor date descrise mai sus .

Tabelul coasigurati

Potrivit Legii 95/2006 privind reforma in domeniul sanatatii, beneficiaza de asigurare fara plata contributiei , sotul, sotia si parintii fara venituri proprii , aflati in intretinerea unei personae asigurate . Tabelul coasigurati a fost conceput in scopul stacarii informatiilor privitoare la persoanele aflate in intretinerea salariatilor pentru calculul deducerilor.

Tabelul incetare_cim

Conform Codului Muncii contractual individual de munca este intelegerea incheiata in scris prin care o parte–salariatul–se obliga la prestarea, cu continuitate, in timp a unei munci in folosul si sub subordonarea celeilalte parti – angajatorul persoana juridica sau persoana fizica, iar acesta este obligat, la randul sau, sa-i plateasca salariul si sa-i asigure conditii adecvate de munca. Tabelul incetare_cim reda informatii clare si detaliate despre toate persoanele carora le-au incetat raporturile de munca cu Asociatia precum si un camp destinat exclusiv meniunilor in urma inregistrarii in evidenta a incetarii contractului de munca , mentiuni care descriu motivul sau alte date considerate relevante a fi introduce de catre Asociatie.

Tabelul acte_aditionale

In urma incheierii unui contract individual de munca , pe parcursul prestarii muncii pot surveni diverse modificari legate de contractul incheiat intre salariat si angajator.

In urma aparitiei acestor modificari, contractual individual de munca poate fi modificat cu ajutorul unui act aditional in care se stipuleaza modificarile survenite, schimbari referitoare la salar, norma de munca, functia, incadrarea si alte elemente, atata timp cat acestea nu contravin Codului Muncii.

Acest tabel contine pe langa coloanele clasice in care sunt stocate datele de identificare a salariatului si informatii despre contractul de munca inmcheiat cu Asociatia, de asemenea mai cuprinde la final o coloana unde se vor stoca pentru fiecare Act adtional in parte ce fel de modificari va suferi contractul individual de munca la care face referie actul aditional inregistrat.

De asemenea tabelul contine si un ID care reprezinta de fapt nr de inregistrare a actului aditional, ID care este unic. Actul aditional inregistrat devine parte a contractului individual de munca.

Tabelul adeverinte

In orice firma un lucru primordial il ocupa eliberarea catre angajatii societatii de adeverinte necesare.

Tabelul adeverinte are un rol important in aplicatie, acest rol constand atat in stocarea tuturor informatiilor legate despre evidenta completa a adeverintelor eliberate catre angajatii Asociatiei precum si pe baza acestor informatii stocate in tabel, printarea adeverintelor direct cu ajutorul aplicatiei.

Acest tabel, prin stocarea acestor informatii usureaza simtitor munca persoanelor responsabile cu eliberarea adeverintelor pe care le solicita angajatii.

Tabelul adeverinte contine coloanele clasice care privesc datele de identificare ale salariatilor, date despre tipul contractului de munca, norma, functia, incadrarea, data inceperii activitatii precum si un camp destinat stocarii informatiei referitoare la scopul eliberarii adeverintelor.

Tabelul pontaj

Pontajul este un lucru esential pentru orice societate, fiind reprezentat de numarul de ore prestate de angajati, si pe baza carora primirea de catre angajati a renumeratiei cuvenite pentru orele de munca prestate. O evidenta clara si corecta a pontajului lunar este deosebit de importanta pentru buna gestionare a activitatii oricarei firme. Acest tabel denumit pontaj, faciliteaza munca personalului responsabil cu tinerea evidentei periodice a orelor de munca prestate de catre salariati, continand coloane care au rolul de a stoca orele zilnice efectuate de catre personalul incadrat si astfel asigurand o situatiei clara si un ajutor in vederea calculului salariilor. Acest tabel faciliteaza in mod simtitor lucru cu pontajele .

Tabelul salarizare

Tabelul salarizare contine coloane destinate stocarii datelor cu privire la identificarea angajatilor si la calculul salariilor acestora pe baza tabelului pontaj prezentat anterior. Acest tabel are rolul de a stoca date care sa permita utilizatorilor aplicatiei sa realizeze gestiunea unui numar mare de situatii cum ar fi: calcul salariu lunar, situatia tuturor salariilor de incadrare a salariatilor, nr total de ore lucrate, calcul impozit, deduceri, calcul concedii medicale, calcul indemnizatie concediu de odihna etc…

Toate tabelele prezentate au un rol important in functionarea corecta a aplicatiei, fiecare dintre ele avand ca scop stocarea anumitor date care ulterior vor fi folosite in efectuarea unor calcule, vizualizarea unor evidente individuale sau centralizate precum si redarea anumitor statistici de importanta majora. Tabelele sunt populate prin intermediul aplicatiei.

Pentru inserarea, modificarea, stergerea datelor din tabelele mentionate mai sus vom folosi aplicatia care are rolul de a gestiona intreaga baza de date, cu ajutorul unor butoane regasite in interiorul aplicatiei, fiecare buton avand implementat un cod sursa care are rolul de a asigura functionalitatea aplicatiei.

2.3. Schema bazei de date

Puterea sistemelor care gestioneaza baze de date consta in faptul ca, in astfel de sisteme este posibila cautarea si prelucrarea simultana a informatiilor care sunt memorate in mai multe tabele distinct, prin intermediul diferitelor interogari. Pentru realizarea tratarii simultane a informatiilor provenite din mai multe tabele distincte,fiecare tabel trebuie sa detina cel putin un camp care sa contina o vloare unica pentru fiecare rand din tabel.

Astfel, prin continutul acestui camp fiecare inregistrare memorata in tabel poate fi identificata in mod unic. Informatia memorata in campul respectiv este denumita valoarea cheii primare, iar despre campul respective se spune ca acesta are atributul de cheie primara a tabelului.

Baza de date a aplicatiei contine 16 tabele. Fiecare tabel contine o cheie primara. Baza de date nu este prevazura si cu chei secundare. Schema generala a bazei de dateeste ilustrata mai jos:

Schema tabelelor destinate sectiunii de evidenta a animalelor :

Schema tabelelor destinate sectiunii de evidenta a angajatilor:

3.DESCRIEREA APLICATIEI

Aplicatia este un soft de complexitate medie de gestiune a unei Asociatii avand ca scop principal evidenta animalelor, gestiunea hranei, evidenta personal si resurse umane. Aplicatia este organizata in doua zone de interes si responsabilitate si anume: gestionarea activitatii privind inregistrarea si ingrijirea animalelor fara stapan si cea de a doua zona constand in gestionarea activitatilor angajatilor Asociaitiei.

O prima caracteristica importanta a acestei aplicatii o constituie drepturile de acces predefinite. Sistemul este prevazut cu doua roluri: administrator si angajat. Fiecare actor are drepturi de acces asupra unor optiuni din cadrul aplicatiei. Pentru un plus de securitate toti utilizatorii pentru a putea efectua operatii in limita drepturilor de acces acordate ei trebuie sa se logheze in sistem.

3.1.Interfata

Interfata programului este extrem de prietenoasa ceea ce permite programului sa fie usor de utilizat de catre personalul angajat, flexibilitate ridicata, oferind posibilitatea introducerii datelor de identificare a animalelor, fotografii, gestionarea usoara a hranei si introducerea datelor in vederea efectuarii adoptiilor precum si posibilitatea de introducere de date de identificare a angajatilor, a concediilor de odihna si medicale, a persoanelor aflate in intretinere etc…, precum si o serie de rapoarte redate sub forma grafica care vin in ajutorul managementului privind evolutia periodica.

Pagina de logare in aplicatie : Aceasta foloseste din baza de date tabelul logare in interiorul caruia se afla inserati utilizatorii cu drept de acces la aplicatie.

Fig 2 Fereastra de logare

Meniul principal:

In cadrul acestei ferestre se afla relatate toate functiile principale ale aplicatiei:

Regulamentul intern

Operatii. Aceasta functie cuprinde: inscrierea in evidenta a animalelor, inregistrarea adoptiilor, inregistrarea donatiilor

Registre de evidenta:Evidenta animalelor, Evidenta animalelor adoptate, Raport privind starea de sanatate, Evidenta donatiilor

Gestiunea stocurilor de hrana cuprinde: inregistrari privind intrarea si iesirea din magazie a hranei precum si evidenta acestor inregistrari

Statistici: o serie de grafice care prezinta evolutia in timp a Asociatiei

Departamentul financiar-contabil: Operatiuni privind personalul angajat

Iesire: parasirea aplicatiei

Fig 3 . Meniul principal al aplicatiei

Meniul Principal al Departamentului financiar_contabil

Fig 4 Meniul Principal al departamentului financiar-contabil

Cu ajutorul acestui meniu Asociatia gestioneaza intreaga activitate a angajatilor. Accesul la fiecare functie se face relativ usor , prin simpla apasare a butonului si selectare a optiunii dorite de catre utilizator.

Modul de functionare a aplicatiei

Aplicatia este un soft destinat evidentei animalelor, a adoptiilor, a donatiilor, gestiunea stocului de hrana si evidenta angajatilor. In acelasi timp este si un software care are capacitatea de a calcula salariile personalului incadrat, este un soft modern, simplu de utilizat si intuitiv, are o interfata prietenoasa, este usor de instalat si utilizat, flexibil la schimbari legislative. Este un program destinat automatizarii intregii activitati a Asociatiei. Acest program ofera toate instrumentele necesare gestionarii in conditii optime a activitatii Asociatiei, este usor de utilizat, raspunde afirmativ celor mai diverse cerinte ale utilizatorilor si ofera un grad ridicat de securitate si siguranta a datelor gestionate.

Pagina de Logare

Pornirea aplicatiei este relativ simpla . La deschiderea ferestrei, utilizatorul este conditionat de aplicatia de a se loga cu numele de utilizator si parola pentru a putea accesa functiile disponibile ale acestui program sau functiile la care are drept de acces.

Fig.5 Pagina de logare a aplicatiei

Meniul Principal

Fig. 6 . Meniul principal

Dupa logarea cu succes utilizatorul este redirectionat spre meniul principal de unde va gestiona intreaga activitate. Bara de meniu contine o serie de optiuni accesibile utilizatorilor care vor fi prezentate in cele ce urmeaza, in urmatoarea ordine:

Regulament intern

Fig 7. Regulamentul Intern

Ca orice societate si Asociatia privata pentru ingrijirea si adoptia animalelor fara stapan detine un Regulament intern pe baza caruia isi desfasoara activitatea. Acest Regulament poate fi accesat direct din aplicatie. Optiunile pe care le ofera aplicatia in momentul accesarii acestei functii sunt posibilitatea listarii regulamentului precum si posibilitatea exportului in format text ceea ce ofera facilitate utilizatorilor de a edita regulamentul in functie de modificarile ce ar putea aparea in viitor. Realizarea celor doua funcii este relativ usora utilizand cele doua butoane accesibile in functie de optiunea dorita. La finalizarea operatiunilor utilizatorul apasand butonul Iesire va reveni la Meniul Principal.

Operatii

Fig 8. Meniul Operatii

Aceasta functie contine submeniuri, fiecare cu sarcini distincte:

Inscrierea in evidenta a animalelor

Fig 9 . Pagina de inregistrare a animalelor adapostite

Aceasta fereastra ofera posibilitatea utilizatorilor de a inregistra in evidenta Asociatiei animalele care intra in ingrijirea lor in urma consultului medical efectuat de medicul veterinar al Asociatiei. Aceasta parte a aplicatiei contine mai multe optiuni: Adauga (buton apelat in momentul efectuarii unei noi inregistrari), Salveaza (buton apelat dupa introducerea datelor in campurile destinate, avand rolul de a insera in tabelul evidenta_generala_animale datele introduce de utilizator),Modifica(optiune pusa la dispozitia utilizatorului pentru modificarea unor date in momentul constatarii infiltrarii unor erori de inregistrare),Sterge(buton disponibil pentru stergerea unei inregistrari in momentul constatarii ca aceasta inregistrare nu trebuia efectuata ), Iesire (revenirea la meniul principal).

Pentru modificarea sau stergerea unor anumite date dupa inregistrarea in baza de date, utilizatorul va trebui sa selecteze inregistrarea pe care doreste sa o modifice sau sa o stearga accesand ComboBoxul din dreptul mentiunii Nr. de inregistrare, de unde va identifica inregistrarea pe care doreste sa o stearga sau sa o modifice dupa nr de inregistrare care este unic, apasand ulterior optiunea dorita (Modifica sau Sterge).

Fig.10. Exemplu cu date introduce in pagina de inregistrare a animalelor adapostite

La efectuarea inregistrarilor, aplicatia permite si inserarea fotografiei animalului pentru o mai clara viziune despre animalul adapostit si o identificare mai corecta.

Inregistrarea adoptiilor

In ceea ce priveste adoptiile, aplicatia contine doua sectiuni: adoptii la domiciliu si adoptia la distanta.

B1. Adoptia la domiciliu

Fig.11. Pagina de inregistrare a adoptiilor la domiciliu

Aceasta parte a aplicatiei are urmatoarele beneficii :

Acorda posibilitatea utilizatorului sa inregistreze in baza de date toate adoptiile la domiciliu, date care vor fi inserate in tabelul bazei de date sub denumirea de animale_adoptate si dispune de asemenea ca si in cazul inregitrarii animalelor adapostite de facilitatea de a modifica si sterge date in conditiile descrie mai sus.

De asemenea exista o alta facilitate de a usura introducerea datelor prin oferirea optiunii de a reda automat adresa unde va fi adapostit cainele in urma adoptiei prin bifarea uneia dintre cele doua optiuni disponibile (adresa corespunde cu adresa adoptatorului);

si de asemenea prin selectarea Nr unic de identificare , completarea automata a campurilor legate de identificarea animalului adoptat.

B2. Adoptia la distanta

Fig.12. Pagina de inregistrare a adoptiilor la distanta

Aceasta fereastra ofera aceleasi beneficii ca si in cazul adoptiei la domiciliu usurand modul de inregistrare a adoptiei si de asemenea oferindu-i posibilitatea utilizatorului de a salva ,modifica si sterge date in aceleasi conditii precum si prin simpla selectare a Nr unic de inregistrare oferind facilitate autocompletarii campurilor privind identificarea animalului adoptat precum si calcularea sumei la care se va obliga adoptatorul sa o plateasca lunar pentru asigurarea ingrijirii si hranei cainelui .

Inregistrarea donatiilor

Fig.13. Pagina de inregistrare a donatiilor

Aceasta ofera beneficiul utilizatorului de a inregistra cu usurinta sumele depuse atat de persoane fizice cat si de catre persoanele juridice sub forma de donatii, existand de asemenea si posibilitatea rectificarii erorilor in urma inregistrarilor efectuate prin optiunea Modifica.

Registre de Evidenta

Fig.14. Meniul Registre de evidenta

Acest meniu contine 4 optiuni care in momentul accesarii redau sub forma tabelara toate evidentele rezultate din urma inregistrarilor efectuate de catre utilizatorii aplicatiei. Aceste 4 optiuni sunt:

Evidenta animalelor din cadrul Asociatei

Fig.15. Pagina cu evidenta animalelor adapostite

Animale adoptate

Fig.16. Pagina cu evidenta animalelor adoptate

Raport privind starea de sanatate

Fig.17. Fisa individuala a animalelor adapostite

Evidenta donatiilor

Fig.18. Pagina cu evidenta donatiilor

Toate cele patru evidente pot fi listate prin apasarea butonului Listeaza iar in cazul raportului privind starea de sanatate a cainilor adapostiti, aceasta fereastra incearca sa reflecte fisa individuala a animalului in urma consultului medical la intrarea in Asociatie si mai mult de atat consultatiile periodice efectuate si inscrise in aceasta fisa individuala.

Gestiunea stocurilor de hrana

Fig.19. Meniul Gestiunea stocurilor de hrana

Acesta contine doua optiuni puse la dispozitie si anume: inregistrare noua si evidenta generala

Inregistrare Noua

Accesand aceasta optiune utilizatorul poate gestiona intreaga magazie de hrana a

cainilor avand posibilitatea sa efectueze inregistrari cu privire achizitionarea de hrana lunara in functie de necesarul de hrana precum si operatiuni de evidenta privind consumul de hrana periodic. La selectarea optiunii Selecteaza, aplicatia va reda stocul necesar de hrana pentru animalele aflate in gestiunea Asociatiei pe o perioada de o luna in functie de talia animalelor. Aceasta functie ofera doua optiuni: intrare in magazie, operatiune care implica inregistrarea hranei achizitionate si iesirea din magazie care implica operatiunea de inregistrare a consumului de hrana .

Fig.20. Inregistrari(Intrare in Magazie)

Intrare in Magazie

Fig.21. Inregistrari(Iesire din Magazie)

Iesire din Magazie

Utilizatorul dupa efectuarea inregistrarilor are posibilitatea sa salveze , modifice sau sterge datele cu ajutorul butoanelor disponibile. Dupa salvarea datelor , acestea sunt stocate in baza de date si pot fi vizualizate de catre utilizatori prin aceesarea optiunii Evidenta generala .

Evidenta generala reda toate inregistrarile efectuate de utilizator privind procurarea si consumul de hrana precum si stocul ramas disponibil in urma consumului .

Fig.22. Pagina cu evidenta stocurilor de hrana

Sectiunea Statistici

Aceasta sectiune reda sub forma grafica situatii periodice rezultate in urma activitatii Asociatiei, situatii cu privire la evolutia acesteia din urma, date legate de efectivul de animale adapostite, rase existente, cheltuieli cu hrana animalelor, situatia adoptiilor precum si veniturile Asociatiei rezultate de pe urma donatiilor efectuate de catre persoanele fizice si juridice. Accesarea acestei sectiuni se face usor accesand butonul Statistici. Aceste statistici sunt ilustrate mai jos in urmatoarea ordine:

Fig.23. Meniul Statistici

Fig.23. Situatia cainilor adapostiti

Fig.24 Tipuri de adoptii si numarul acestora

Fig.25 Donatii efectuate de personae fizice si juridice (suma totala donata)

Fig.26 Situatia lunara a cheltuielilor efectuate cu procurarea hranei pentru animalele adapostite

Departamentul financiar-contabil

Fig 27. Pagina de logare a departamentului financiar-contabil

Aceasta sectiune este destinata exclusiv departamentului financiar-contabil si poate fi accesata doar de catre persoanele competente in acest scop cu ajutorul numelui de utilizator si parola ce se afla in posesia persoanelor cu drept de acces.

In urma logarii utilizatorii cu drept de acces sunt redirectionati catre pagina principala a sectiunii departamentului .

Fig 28. Meniul Principal al departamentului financiar-contabil

Inregistrari

Sectiunea Angajat Nou

Fig 29. Pagina de inregistrare a angajatilor Asociatiei

Aceasta pagina ofera utilizatorilor posibilitatea inregistrarii persoanelor incadrate cu contract individual de munca. Ca si in cazul celorlalte ferestre destinate efectuarii operatiilor de inregistrare si aceasta sectiune ofera posibilitatea de salvare, modificare si stergere cu ajutorul butoanelor destinate in acest scop.

Concedii

Fig.30 Inregistrarea concediilor

Aceasta sectiune este destinata inregistrarii concediilor angajatilor. Aplicatia ofera doua tipuri de inregistrari ale concediilor : inregistrarea concediilor de odihna si inregistrarea concediilor medicale.

Coasigurati

Fig.31 Inregistrarea coasiguratilor

Incetare CI

Fig.32 Inregistrarea lichidarilor

Evidente

Optiunile incluse la rubrica Evidente, regasite in meniul principal al acestei sectiuni redau toate situatiile legate de angajatii Asociatiei in urma inregistrarilor efectuate de utilizatorii aplicatiei. Un exemplu de situatie este ilustrat mai jos :

Fig.33 Evidenta angajatilor

3.Formulare si emitere documente catre personalul angajat

Aceasta sectiune disponibila in cadrul meniului principal ofera posibilitatea utilizatorilor de a emite direct din cadrul aplicatiei adeverinte solicitate de catre angajatii Asociatiei, de a inregistra actele aditionale incheiate care sunt parte integranta a contractului individual de munca si pastrarea unei evidente clare a eliberarii de adeverinte precum si o evidenta clara a actelor aditionale intocmite. Aceste evidente se regasesc accesand optiunea Registru Intrari/Iesiri.

Fig.34 Emitere Adeverinte

Fig 35. Inregistrare Act Aditional

Fig.36 Evidenta Intrari/Iesiri

4.Salarizare

Aceasta sectiune ofera posibilitatea de realizarea zilnica a pontajului si de calculare a salariului angajatilor in functie de numarul de ore prestate lunar.

De asemenea in cadrul acestei sectiuni aplicatia ofera si o rubrica de statistici care contine o situatie privind cheltuielile Asociatiei cu salariilor angajatilor.

(Continuare…)

DESCRIEREA CODULUI SURSA IMPLEMENTAT

Aspecte introductive

Pentru realizarea aplicatiei am folosit compilatorul Netbeans, versiunea 8.0.2 – un

mediu gratuit pentru dezvoltarea de software cu sursa deschisa care accepta mai multe limbaje de programare printer care si limbajul de programare java cu ajutorul caruia am realizat acest soft. Netbeans este open source si are capacitatea de a creea mai multe tipuri de aplicatii. Cu ajutorul compilatorului Netbeans se pot realize aplicatii complexe si moderne si in acelasi timp aplicatiile profesionale trebuie sa fie flexibile pentru a putea fi usor si rapid extinse.

Aplicatia este compusa din mai multe JFrame Form. Un JFrameForm reprezinta in principiu doar un spatiu (o fereastra) unde sunt plasate componentele puse la dispozitia programatorului oferite de Netbeans (butoane , TextBox, Label, Panel , MenuBar etc..) pentru a crea un design atractiv si in acelasi timp atasand acestor componente, linii de cod pentru a le face functionale si eficiente pentru aplicatie .

Codul sursa a aplicatiei contine 2 pachete fiecare din aceste doua pachete continand

un numar relativ mare de fisiere . Pachetul 1 numit package1 contine un numar de 14 fisiere java si 2 clase . Acest pachet contine fisierele destinate crearii ferestrelor destinate sectiunii evidentei animalelor iar pachetul 2 numit package2 contine un numar de 18 fisiere java si 1 clasa , fisiere destinate sectiunii de evident a personalului angajat .

Un package este o colectie de clase si interfete Java intre care exista o relaie de asociere. Prin utilizarea conceptului de package, Java ofera un mecanism de mamagement al identifiactorilor (numelor) care se pot atribui claselor (”name spaces”). Printr-un package Java se pot rezolva eventualele conflicte ce pot aparea datorita existentei a doua clase cu acelasi nume.

Descrierea claselor

Un program Java este format din una sau mai multe clase. O clasa este sablonul care descrie obiecte de un anumit tip, precizand structura si functionalitatea acestora. Declararea unei clase este similara cu declararea unui nou tip de date. Obiectele se mai numesc si instante ale unei clase deoarece sunt variabile referinta declarate de tipul unei clase. Practic, un obiect apartinand unei clase este o materializare a entitatii descrisa de clasa.

Clasa ofera posibilitatea clasificarii unor obiecte pe baza unor proprietati comune. Se considera ca notiunea de clasa este similara cu notiuneade tip de date.Atributele impreuna cu metodele definite intr-o clasa constituie membrii clasei.Cand cream un obiect dintr-o clasa se da consistent acestor atribute. Crearea unui obiect se numeste si instantierea unei clase.Notiunea de obiect nu poate exista fara cea de clasa si invers.

            O clasa consta din variabile membre si functii membre sau metode. Clasele reprezinta o modalitate de a introduce noi tipuri de date intr-o aplicatie Java, cealalta modalitate fiind prin intermediul interfetelor.

Declararea unei clase respecta urmatorul format general:

[public][abstract][final]class NumeClasa

[extends NumeSuperclasa]

[implements Interfata1 [, Interfata2 … ]]

{

// Corpul clasei

}

Dupa declaratia unei clase urmeaza definirea corpului ei, care se face in cadrul unui bloc delimitat de accolade. Corpul unei clase contine o serie de declaratii de membrii ai clasei si constructori. Membrii unei clase sunt atributele si metodele. Constructorii unei clase reprezinta o categorie aparte de functii utilizate la initializarea unui obiect. Se obisnuieste ca atributele sa fie declarate inaintea metodelor. Nu exista o ordine a declaratiilor. Un membru, fie ca este atribut sau metoda, declarat intr-o clasa este disponibil prin identificatorul lui, oriunde in interiorul clasei.

Putem concluziona faptul ca exista trei tipuri de declaratii in interiorul unei claseiar aceste declaratii sunt declaratii de attribute, de metode si de constructori.

Clasa DataBaseConnection

Rolul principal ala acestei clase este conectarea la baza de date a aplicatiei cu ajutorul

liniilor de cod din cadrul clasei .

Clasa DataBaseConnection contine urmatoarele linii de cod :

package package1;

import java.sql.*;

import javax.swing.*;

public class DataBaseConnection {

Connection cn=null;

ResultSet rs=null;

PreparedStatement st=null;

public static Connection ConnectDataBase(){

try{

Class.forName("com.mysql.jdbc.Driver");

Connection cn=DriverManager.getConnection("jdbc:mysql://localhost:3306/baza_date_aplicatie","root","");

return cn;

}catch (ClassNotFoundException | SQLException e){

JOptionPane.showMessageDialog(null,e);

return null;

}

}

}

Aceste linii de cod din cadrul clasei permit conectarea aplicatiei cu baza de date creata, baza de date destinata stocarii tuturor informatiilor introduce de utilizatori prin intermediul aplicatiei . Pentru conectarea la baza de date aceasta clasa a fost apelata in ferestrele aplicatiei .

Mai jos am redat un exemplu a modulului de apelare a clasei pentru stabilirea conexiunii cu baza de date :

public class Inregistrare_Noua extends javax.swing.JFrame {

Connection cn=null;

ResultSet rs=null;

PreparedStatement st=null;

public Inregistrare_Noua() {

initComponents();

cn = DataBaseConnection.ConnectDataBase();

Clasele Animale_adoptate si EvidentaGeneralaAnimale .

Aceste doua clase au fost create in scopul redarii in cadrul aplicatiei la rubricile Evidenta

generala animale si Evidenta adoptii fotografiile animalelor adapostite si de asemenea fotografiile animalelor adoptate in interiorul tabelului de evidenta .

Atat clasa Animale_adoptate cat si EvidentaGeneralaAnimale au fost declarate “public”

ceea ce inseamna ca pot fi folosite din orice alta clasa, indiferent de pachetul in care se gaseste.

Descrierea librariilor

Pentru stabilirea conexiunii cu baza de data am inclus o librarie si anume mysql-connector-java.jar . Librariile in java pot avea urmatoarele extensii :

JAR : un acronym pentru Arhiva Java .

WAR: Arhiva pentru Aplicatii web

EAR: Arhiva Enterpreis

Pentru realizarea acestei aplicatii am folosit doar librarii care contin extensia JAR .

Libraria rs2xml.jar

Aceasta librarie are rolul de a popula un tabel cu date din baza de date .

Aceasta librarie am folosit-o exclusive pentru crearea evidentelor sub forma tabelara ce se regasesc in cadrul aplicatiei .

Mysql-connector-java.jar

Baza de date joaca un rol important in stocarea informatiilor intr-un mod organizat .

Conectarea aplicatiei la o baza de date poate faca aplicatia mult mai eficienta . Toate informatiile introduce de utilizatori pot fi stocate in baza de date . In acest scop am importat in cadrul proiectul fisierul Mysql-connector-java.jar.

Acesta este un fisier cu extensia jar pe care l-am importat in scopul stabilirii conexiunii cu baza de date creata .

Jfreechart.jar

Aplicatia contine o sectiune care reda anumite statistici privind activitatea Asociatiei .

Pentru realizarea acestor statistici redate sub forma grafica am importat in cadrul proiectului, libraria Jfreechart.jar. Aceasta librarie este disponibila gratuit si este pusa la dispozitia programatorilor pentru a putea reda in cadrul aplicatiilor dezvoltate de acestia ,grafice aspectuoase si cu un design professional . Acest pachet contine urmatoarele:

O multitudine de optiuni privind modul de redare a graficelor

Grafice 3D

Etc…

Descrierea codului sursa

In cele ce urmeaza voi prezenta in detaliu codul implementat si cateva comentarii cu privire la rolul codului si la ce anume este destinat sa faca .

Start.java

Pentru inceput trebuie mentionat faptul ca in aceasta fereastra a fost apelata clasa DataBaseConnection pentru stabilirea conexiunii cu tabelul logare din cadrul bazei de date create . Fereastra contine doua textboxuri si doua butoane . Cele doua butoane contin linii de cod java care le fac sa devina functionale si sa indeplineasca anumite comenzi la apasare de buton.

Butonul iesire : contine linia de cod this.dispose(); aceasta din urma avand rolul de a inchide aplicatia la apasare de buton .

Butonul Start : contine urmatoarele linii de cod :

try{

String sql="select *from logare where utilizator='"+jTextField1.getText()+"'and parola='"+String.valueOf(jPasswordField1.getPassword())+"'";

ResultSet rs=st.executeQuery(sql);

if(rs.next()){

Meniu m = new Meniu();

m.setVisible(true);

this.dispose();

}else{

JOptionPane.showMessageDialog(null,"Utilizator sau parola incorecta");

}

}catch(Exception e){

JOptionPane.showMessageDialog(null, e);

}

si prin apelarea clasei DataBaseConnection stabilesc conexiunea cu tabelul logare . In Java erorile sunt tratate prin Exception . Pentru a trata erorile am folosit blocul try …catch(). Try inseamna ca ceea ce este cuprins in blocul try se incearca sa se execute iar daca o anumita linie de cod nu poate fi executata din cauza unei erori Java va sari la blocul catch si va executa codul din acest bloc.

Meniu.java

Acest meniu contine un Bara de Meniu cu multiple submeniuri , care au rolul de a deschide alte ferestre . Pentru a putea si functionale am implementat urmatoarele linii de cod in functie de ce fereastra se doreste a fi deschisa .

Regulament r = new Regulament();

r.setVisible(true);

this.dispose();

Acest cod are rolul de a deschide fereastra Regulament si a inchide fereastra actuala.

Regulament.java

Aceasta fereastra contine un spatiu pentru text si trei butoane , fiecare prevazut cu un cod java cu comenzi specifice . Butonul Listeaza contine cod java destinat printarii continutului existent din spatiul text iar butonul Exporta contine cod java pentru salvarea continutului text intr-un fisier editabil .

//cod implementat pentru printarea continutului text

//declararea unei variable boolean(acest tip de variabila reda o condie logica de genul adevarat sau fals)

//bloc try…catch() pentru tratarea erorilor

//if…else() – conditie care stabilescte conditia ca daca jTextArea2.print() este adevarata atunci se listeaza continutul , in caz contrar nu

try{

boolean complete = jTextArea2.print();

if(complete){

JOptionPane.showMessageDialog(null,"Listare finalizata!","Informatii",JOptionPane.INFORMATION_MESSAGE );

}else{

JOptionPane.showMessageDialog(null,"Listarea documentului a fost intrerupta!","Printer",JOptionPane.ERROR_MESSAGE);

}

} catch(Exception e){

}

//cod implementat pentru salvarea documentului in format .txt

// bloc try…catch() pentru tratarea erorilor

//crearea obiectului FileWriter care are rolul de a citi textul si de a stoca acest text in bytes. In paranteze am trecut locatia unde va fi salvat documentul

//daca documentul exista va salva in el textul , daca nu exista va crea un fisier cu numele de Regulament .doc

import java.io.BufferedWriter;

import java.io.FileWriter;

try{

FileWriter writer = new FileWriter("C:\\Users\\Public\\Documents\\Regulament.doc");

BufferedWriter bw = new BufferedWriter(writer);

jTextArea2.write(bw);

bw.close();

jTextArea2.requestFocus();

JOptionPane.showMessageDialog(null, "Documentul a fost salvat cu succes!");

}catch(Exception e){

JOptionPane.showMessageDialog(null, e);

}

Operatii

Aceasta sectiune cuprinde urmatoarele ferestre :

Inregistrare_Noua.java

//apelarea clasei DataBaseConnection

// Metodele Fillcombo() si Fillcombo1() , metode destinate popularii comboboxurilor

public Inregistrare_Noua() {

initComponents();

cn = DataBaseConnection.ConnectDataBase();

Fillcombo(); // apelarea metodei Fillcombo()

Fillcombo1();// apelarea metodei Fillcombo1()

}

private void Fillcombo1(){

String sql ="Select * from evidenta_generala_animale ORDER BY ID_nr DESC";

try{

st = cn.prepareStatement(sql);

rs = st.executeQuery();

while(rs.next()){

String Nr_unic =rs.getString("Nr_unic_identificare");

jComboBox4.addItem(Nr_unic);

}

}catch(Exception e){

JOptionPane.showMessageDialog(null, e);

}

}

private void Fillcombo(){

String sql ="Select * from evidenta_generala_animale ORDER BY ID_nr DESC";

try{

st = cn.prepareStatement(sql);

rs = st.executeQuery();

while(rs.next()){

String ID =rs.getString("ID_nr");

jComboBox3.addItem(ID);

}

}catch(Exception e){

JOptionPane.showMessageDialog(null, e);

}

}

//salvarea datelor in baza de date

String sql="insert into evidenta_generala_animale(Data_inreg,Nr_unic_identificare,Rasa,Talie,Sex,Culoare,Nume,Greutate,Varsta,Ratie_hrana,Fotografie)values(?,?,?,?,?,?,?,?,?,?,?)";

try{

st =cn.prepareStatement(sql);

st.setString(1, jTextField2.getText());

st.setString(2, (String) jComboBox4.getSelectedItem());

st.setString(3, jTextField3.getText());

st.setString(4, (String) jComboBox5.getSelectedItem());

st.setString(5, (String) jComboBox1.getSelectedItem());

st.setString(6, jTextField5.getText());

st.setString(7, jTextField6.getText());

st.setString(8, jTextField7.getText());

st.setString(9, jTextField9.getText());

st.setString(10, jTextField10.getText());

st.setBytes(11, imagini_animale);

st.execute();

}catch(Exception e){

JOptionPane.showMessageDialog(null, e);

}

//modificarea datelor

try{

String sql="update evidenta_generala_animale set Data_inreg='"+jTextField2.getText()+"',Nr_unic_identificare='"+jComboBox4.getSelectedItem()+"',Rasa='"+jTextField3.getText()+"',Talie='"+jComboBox5.getSelectedItem()+"',Sex='"+jComboBox1.getSelectedItem()+"',Culoare='"+jTextField5.getText()+"',Nume='"+jTextField6.getText()+"',Greutate='"+jTextField7.getText()+"',Varsta='"+jTextField9.getText()+"',Ratie_hrana='"+jTextField10.getText()+"',Fotografie='"+imagini_animale+"' where ID_nr='"+jComboBox3.getSelectedItem()+"'";

st =cn.prepareStatement(sql);

st.execute();

}catch(Exception e){

JOptionPane.showMessageDialog(null, e);

}

//stergerea datelor

String sql="Delete from evidenta_generala_animale where ID_nr=?";

try{

st =cn.prepareStatement(sql);

st.setString(1, (String) jComboBox3.getSelectedItem());

st.execute();

}catch(Exception e){

JOptionPane.showMessageDialog(null, e);

}

//permiterea incarcarii de fotografii

JFileChooser chooser = new JFileChooser();

chooser.showOpenDialog(null);

File f =chooser.getSelectedFile();

filename = f.getAbsolutePath();

path.setText(filename);

try{

File image = new File(filename);

FileInputStream fis = new FileInputStream(image);

ByteArrayOutputStream bos = new ByteArrayOutputStream();

byte[] buf=new byte[1024];

for(int readNum; (readNum=fis.read(buf))!=-1;){

bos.write(buf,0,readNum);

}

imagini_animale = bos.toByteArray();

JOptionPane.showMessageDialog(null, "Fotografia s-a incarcat cu succes!");

}catch(Exception e){

JOptionPane.showMessageDialog(null, e);

}

// redarea fotografiilor in urma selectarii comboboxului

String tmp = (String)jComboBox3.getSelectedItem();

try{

String sql = "Select Fotografie from evidenta_generala_animale where ID_nr='"+tmp+"' ";

st =cn.prepareStatement(sql);

rs = st.executeQuery();

if(rs.next()){

byte[]imagedata = rs.getBytes("Fotografie");

format = new ImageIcon(imagedata);

image.setIcon(format);

}

}catch(Exception e){

e.printStackTrace();

}

Adoptie_la_domiciliu.java si Adoptie_la_distanta.java

Acestea contin linii de cod destinate urmatoarelor scopuri :

//apelarea clasei DataBaseConnection si popularea textboxurilor cu date prin selectarea unei optiuni cu ajutorul unui combobox

public class Adoptie_la_domiciliu extends javax.swing.JFrame {

Connection cn=null;

ResultSet rs=null;

PreparedStatement st=null;

public Adoptie_la_domiciliu() {

initComponents();

cn = DataBaseConnection.ConnectDataBase();

Fillcombo();

Fillcombo1();

private void Fillcombo(){

String sql ="Select * from animale_adoptate where Tip_adoptie='Adoptie la domiciliu' ORDER BY ID_adoptie DESC";

try{

st = cn.prepareStatement(sql);

rs = st.executeQuery();

while(rs.next()){

String ID =rs.getString("ID_adoptie");

jComboBox1.addItem(ID);

}

}catch(Exception e){

JOptionPane.showMessageDialog(null, e);

}

}

private void Fillcombo1(){

String sql ="Select * from evidenta_generala_animale";

try{

st = cn.prepareStatement(sql);

rs = st.executeQuery();

while(rs.next()){

String Nr_unic =rs.getString("Nr_unic_identificare");

jComboBox2.addItem(Nr_unic);

}

}catch(Exception e){

JOptionPane.showMessageDialog(null, e);

}

}

// salvarea , modificarea si stergerea datelor

Pentru modificarea , salvarea si stergerea datelor am folosit aceeasi metoda ca si in cazul fisierului Inregistrare_Noua.java.

Donatii.java

Contine implementat cod sursa folosind aceeasi metoda ca si in cazul fisierelor descries mai sus .

Registre de Evidenta

Aceasta sectiune este destinata redarii evidentelor rezultate in urma introducerii informatiilor si popularii bazei de date . Liniile de cod mai importante le voi descrie detaliat in cele ce urmeaza :

// apelarea clasei DataBase Connection

cn = DataBaseConnection.ConnectDataBase();

// listarea tabelelor cu evident animalelor

// declararea clasei private (membru accesibil doar acestei clase )

// MessageFormat utilizat pentru redarea mesajelor in urma executiei codului

// System.err.(reda un mesaj de eroare )

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {

MessageFormat header = new MessageFormat("Se listeaza!");

MessageFormat footer = new MessageFormat("Pagina(0,numar,integer)");

try{

jTable2.print(JTable.PrintMode.FIT_WIDTH,header, footer);

}catch(java.awt.print.PrinterException e){

System.err.format("Pagina nu s-a putut lista", e.getMessage());

}

}

private void formWindowOpened(java.awt.event.WindowEvent evt) {

try{

String sql ="select * from evidenta_generala_animale";

st = cn.prepareStatement(sql);

rs = st.executeQuery();

}catch(Exception e){

}

// popularea tabelelor cu date

private void formWindowOpened(java.awt.event.WindowEvent evt) {

try{

String sql ="select * from evidenta_generala_animale";

st = cn.prepareStatement(sql);

rs = st.executeQuery();

}catch(Exception e){

}

Gestiunea stocurilor de hrana

Aceasta sectiune contine doua fisiere cu extensia java si anume : Gestiune_Stocuri.java si Evidenta_gestiune.java.

Pe langa metodele folosite ca si in cazul celorlalte fisiere , repsectiv pentru introducerea inregistrarilor si redarea evidentelor, aceasta sectiune contine si cateva linii de cod distinct :

//calcularea hranei ramase de achizitionat

//declararea variabilelor de tip int a,b,total

//convertirea textboxurilor de tip string in int pentru efectuarea calculelor

// redarea rezultatului

private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {

int a=0;

int b=0;

int total=0;

a=Integer.parseInt(String.valueOf(jTextField2.getText()));

b=Integer.parseInt(String.valueOf(jTextField20.getText()));

total=a-b;

jTextField23.setText(String.valueOf(total));

}

// calcularea ratiei de hrana lunara necesara in functie de talia animalelor

// executia unei instructiuni SELECT pentru redarea totalului de hrana necesara in functie de talia animalelor

//rs=st.executeQueru() -(executia intructiunii SELECT)

// declararea variabilelor de tip int

//redarea rezultatului

String tmp = (String)jComboBox1.getSelectedItem();

try{

String sql = "Select SUM(Ratie_hrana) from evidenta_generala_animale WHERE Talie=?";

st = cn.prepareStatement(sql);

st.setString(1, tmp);

rs = st.executeQuery();

if(rs.next()){

int sum = rs.getInt("SUM(Ratie_hrana)");

int total = 0;

int c=30;

total = (sum*c)/1000;

jTextField2.setText(String.valueOf(total));

}

}catch(Exception e){

JOptionPane.showMessageDialog(null, e);

}

Statistici

Aceasta sectiune foloseste libraria destinata redarii sub forma grafica a statisticilor privind activitatea Asociatiei . Liniile de cod destinate acestui scop sunt:

// redarea sub forma grafica a unor instructiuni SELECT

// folosirea blocurilor pentru tratarea erorilor

// JDBCCategoryDataset – aceasta este populate ca urmarii a executiei unei instructiuni Sql . Aceasta trebuie sa returneze cel putin doua coloane

// JFreeChart face parte din libraria destinata afisarii sub forma grafica a evidentelor in urma instructiunilor SQL

// createMultiplePieChart – are rolul de a crea un grafi care returneaza mai multe sectiuni

//frame – fereastra de afisare a graficului

try{

String sql = "SELECT Rasa,COUNT(Rasa) FROM evidenta_generala_animale GROUP BY Rasa";

JDBCCategoryDataset Data = new JDBCCategoryDataset(this.cn,sql);

JFreeChart chart = ChartFactory.createMultiplePieChart("Tipul si numarul raselor de caini din cadrul asociatiei", Data, TableOrder.BY_ROW, rootPaneCheckingEnabled, true, true);

BarRenderer renderer = null;

CategoryPlot plot = null;

renderer = new BarRenderer();

ChartFrame frame = new ChartFrame("Rasele de caini din cadrul Asociatiei",chart);

frame.setVisible(true);

frame.setSize(800,650);

frame.setLocation(250, 200);

}catch(Exception e){

JOptionPane.showMessageDialog(null, e);

}

Departamentul financiar-contabil

Codul implementat pentru aceasta sectiune a aplicatiei se regaseste in pachetul 2 si contine un numar de 18 fisiere , care detin linii de cod destinate inregistrarilor de informatii , salvarea, modificarea si stergerea informatiilor , linii de cod asemanatoare celor care se regasesc in sectiunea privind evident animalelor , linii de cod destinate listarii evidentelor precum si linii de cod care redau statistici privind evidenta cheltuielilor cu salariile angajatilor .

In cele ce urmeaza voi prezenta si detalia cateva linii de cod considerate mai importante din sectiunea destinata angajatilor :

(Continuare…)

CONCLUZII

Sistemele informatice devin din ce in ce mai mult o component vitala a succesului firmelor.

Lucrarea de licenta evidentiaza modul de realizare a unei aplicatii desktop care utilizeaza baze de date cu ajutorul careia utilizatorii reusesc cu usurinta sa pastreze o evident clara a situatiilor existente in firma unde isi desfasoara activitatea , gestionand cu usurinta intreaga activitate si avand in permanenta o viziune clara a ceea ce trebuie sa faca pentru imbunatatirea rezultatelor.

Cercetarile effectuate in cadrul lucrarii abordeaza mai multe aspecte: modalitatea de proiectare a unui system informatics efficient, analiza unor aplicatii asemanatoare cu aplicatia realizata , modul de utilizare corecta a bazelor de date si conectarea bazei de date la aplicatie , modalitati de realizare a unei interfete grafice prietenoase etc…

Aplicatia a fost sub asa forma conceputa astfel incat utilizatorii nu trebuie in mod obligatoriu sa detina cunostinte avansate in utilizarea calculatorului pentru a utilize softul respectiv.

Baza de date a aplicatiei este bine structurata asigurand stocarea corecta a informatiilor si in acelasi timp redarea acestor informatii in functie de optiunea selectata de utilizator prin intermediul softului .

Aplicatia rezolva probleme diversificate , genereaza statistici periodice care au rolul de a informa permanent utilizatorii cu privire la modificarile periodice survenite in activitatea acestora, cheltuielile lunare ale firmei ceea ce ajuta firma in luarea cat mai corecta a deciziilor .

Navigarea in aplicatie si accesarea anumitor ferestre sau optiuni disponibile se realizeaza de catre utilizatori relative usor folosind butoanele destinate sa directioneze utilizatorii la optiunea dorita.

Prin utilizarea respective aplicatii se reduce simtitor riscul pierderii de informatii , luarea unor decizii nepotrivite pentru Asociatie , gestionarea corecta a hranei animalelor si pastrarea continua a situatiei hranei din magazine , o evident clara a cheltuielilor lunare realizate cu hrana animalelor si cu salariile angajatilor, o evident clara a efectivului de animale si a starii de sanatate a fiecarui animal in parte , o evidenta clara a angajatilor , a concediilor si a altor aspect legate de salariatii Asociatiei, usurinta de calculare a salariilor angajatilor, aplicatia detinand si o pagina destinata pontajului in baza caruia se va emite statul de plata, cu salariul fiecarui angajat in parte pe baza orelor lucrate, a zilelor de concediu effectuate(concediu de odihna sau concediu medical), precum si posibilitatea vizualizarii continue a cheltuielilor cu salariile pe baza carora impreuna cu statisticile privind cheltuielile cu hrana animalelor ofera posibilitatea managementului firmei sa elaboreze o strategie pentru scaderea cheltuielilor lunare si abordarea unei strategii corecte pentru viitor.

Statisticile care genereaza continuu situatiile mentionate mai sus sunt generate sub forma grafica si sunt actualizate constant pe baza informatiilor introduce de utilizatori .

Aplicatia este flexibila, usor de utilizat, ofera functii variate, o evident clara, evitarea pierderii de informatii, o orgsnizare mai buna pentru Asociatie, conducerea unei gestiuni corecte si nu in ultimul rand acces rapid la informatii.

Aplicatia este conceputa pentru calculatoarele care ruleaza pe sisteme de operare WindowsXP, Windows 7 si Windows 8 .

Un alt aspect important consta in aceea ca aplicatia ofera si posibilitatea introducerii de informatii care tin de adoptii si donatii , pastrandu-se si in acest caz o evident corecta si clara cu privire la adoptatori si donator .

Evidenta donatiilor este deosebit de importanta si trebuie realizata cat mai correct si exact,motivul principal fiind acela ca pe baza donatiilor Asociatia poate elabora planuri pentru viitorul apropiat si chiar indepartat in ceea ce priveste forma de gestionare in continuare a activitati deoarece donatiile se inscriu in sursa principala cu ajutorul careia Asociatia functioneaza.

Aplicatia pe langa asigurarea unei gestiuni si evident corecte este foarte eficienta si prin faptul ca reduce simtitor timpul de munca a angajatilor.

O aplicatie eficienta trebuie sa reduca timpul de munca al utilizatorului, sa ii ofere informatiile de care are nevoie in timp real, de a pastra informatiile fara riscul de pierdere si in acelasi timp de a fi usor accesibila si de a nu impune utilizatorului cunostinte special pentru utilizarea ei .

Interfata aplicatiei, butoanele, meniul, formularele,statisticile etc… sunt in limba romana asigurand accesul relative usor la optiunea dorita.

Aplcatia detine si posibilitatea ca la inregistrarea animalelor adapostite precum si la inregistrarea unui nou angajat de a incarca in interiorul aplicatiei si fotografia respectivului animal pentru o identificare mai usoara.

In incheiere doresc sa mentionez faptul caindiferent de firma si de domeniul de activitate a acesteia, pentru imbunatatirea performantelor si eficientei firmei este important ca aceasta sa detina un system informatic deoarece sistemele informatice usureaza simtitor munca angajatilor, informeaza continuu managerii despre evolutia activitatii, pastreaza datele intact si corecte evitand pierderea sau deterioarea acestora sis a conduca firma spre eficienta maxima.

Bibliografie

Cristian Frasinaru , “Curs practic de Java” , 2010

Daniel Danciu si George Mardale – Arta programarii in Java – Editura ALBASTRA

David J. Eck , Introduction to Programming Using Java , 2011

Atul Palandurkar , NetBeans IDE How-to , 2013 , Editura PACKT

Mironela Pirnau, Proiectarea interfetelor grafice , 2009

Florian Moraru, Carmen Odubasteanu , Programare orientata pe obiecte in Java

Crenguta M. Bogdan, L. D. Serbanati, Dezvoltarea orientata spre obiecte a programelor in Java, volumul II, Editura Politehnica Press, ed. 2, 2011

A. Athanasiu, B. Costinescu, O. A. Dragoi, F. I. Popovici, Limbajul Java. O perspectiva pragmatica, Editura Agora, 1998.

S.Tanasa, C.Olaru, S.Andrei, Java de la 0 la expert, Editura Polirom, 2003.

Eugen Petac, Cristina Serban , Informatica aplicata. Programare in Java, 2011 , Editura Matrix Rom

Rhawi Dantas, NetBeans IDE 7 Cookbook, 2011,Editura Packt

Heiko Bock, The Definitive Guide to NetBeans Platform 7, 2011, Editura Apress

Bibliografie

Cristian Frasinaru , “Curs practic de Java” , 2010

Daniel Danciu si George Mardale – Arta programarii in Java – Editura ALBASTRA

David J. Eck , Introduction to Programming Using Java , 2011

Atul Palandurkar , NetBeans IDE How-to , 2013 , Editura PACKT

Mironela Pirnau, Proiectarea interfetelor grafice , 2009

Florian Moraru, Carmen Odubasteanu , Programare orientata pe obiecte in Java

Crenguta M. Bogdan, L. D. Serbanati, Dezvoltarea orientata spre obiecte a programelor in Java, volumul II, Editura Politehnica Press, ed. 2, 2011

A. Athanasiu, B. Costinescu, O. A. Dragoi, F. I. Popovici, Limbajul Java. O perspectiva pragmatica, Editura Agora, 1998.

S.Tanasa, C.Olaru, S.Andrei, Java de la 0 la expert, Editura Polirom, 2003.

Eugen Petac, Cristina Serban , Informatica aplicata. Programare in Java, 2011 , Editura Matrix Rom

Rhawi Dantas, NetBeans IDE 7 Cookbook, 2011,Editura Packt

Heiko Bock, The Definitive Guide to NetBeans Platform 7, 2011, Editura Apress

Similar Posts