Licenta Cap 2 Si 3 [612596]
CAPITOLUL 2
1. Proiectarea aplicației
1) Funcții, structură și diagrame UML
Aplicația ce urmează a fi implementată (HRMS) trebuie să îndeplinească
urmatoarele funcții :
Crearea de noi conturi cu diferite nivele de acces la date (utilizator,
administrator) ;
Gestionarea documentelor (C.V. -uri, scrisori de recomandare, scrisori de
intenție);
Gestionarea și prelucrarea datelor despre angajați/recruți ;
Evaluarea performan țelor angajaților ;
Generarea de rapoarte referitoare la angajați, concedii, instruirea
profesională a angajaților;
Această aplicație este realizată pe baza a șase module de lucru și anume :
Logare și creare cont nou ;
Recrutare ;
Evidența angajaților ;
Concedii;
Instruire profesională ;
Raportare;
Primul modul, modulul de logare și creare cont no u, asigură funcțiile necesare
logării, dar și funcțiile necesare pentru crearea de conturi noi. În figura de mai jos se poate
observa cum este utilizat acest modul :
Figura 1 – Diagrama cazurilor de utilizare a modulului de logare și creare cont nou
Practic, procesul de logare presupune autentificarea utilizatorului (introducerea
numelui de utilizator și a parolei) și schimbarea parolei, iar procesul de creare a unui cont
nou poate fii realizat doar de un cont de administrator.
Cel de -al doilea modu l, modulul de recrutare, este format din metode ce pot
asigura atât gestionarea documentelor, cât și gestionarea și prelucrarea datelor despre
aplicanți/recruți.
Figura 2 – Diagrama cazurilor de utilizare a modulului de recrutar e
În Figura 2 este prezentat modul de funcționare al modului de recrutrare, din
punctul de vedere al administratorului. Practic, după ce se loghează, administratorul
analizează documentele prin intermediul intrumentelor de gestiune puse la dispoziție,
după care înregistrează aplicantul în baza de date.
Al treilea modul, evidența angajaților, este folosit pentru a adăuga și a menține
informații despre angajați, cum ar fi adăugarea unui nou angajat, editarea informațiilor
existente despre acesta sau șterger ea din baza de date a acestuia.
Figura 3 – Diagrama cazurilor de utilizare pentru modulul de evidență a angajaților
Acest modul conține patru tipuri de informații :
Informa ții personale – referitoare la codul (ID -ul) angajatului , nume,
data nașterii etc ;
Informa ții de contact – referitoare la adresă, număr de telefon, adresă
E-mail etc ;
Informații despre rolul în cadrul organizației – referitoare la funcție,
departament, salariu etc ;
Informații despre performanțele angajatului;
Modulul urm ător este modulul ce ține evidența concediilor. Acesta este utilizat
pentru a menține datele despre concediile angajaților.
Figura 4 – Diagrama cazurilor de utilizare a modulului de eviden ță a concediilor
După cum se poate observa, în Figura 4 este prezentat modul de funcționare al
modulului concedii. Angajatul face o cerere care este trimisă către departamentul de
resurse umane. Administratorul analizeaza situația, ia o decizie, după care trimite un
răspuns.
Există mai multe tipuri de concedii : anual, de sarb ători, de maternitate, în caz de
îmbolnăvire și pentru studii. Acest modul include informații precum data la care începe
concediul, data la care se termină, motive, codul angajatului etc.
Al cincilea modul este reprezentat de modulul de instruire profesională și are ca
scop adăugarea și menținerea informațiilor despre evenimentele/cursurile la care au
participat angajații, în vederea acumulării de noi cunoștințe în domeniu.
Figura 5 – Diagrama cazurilor de utilizare a modulului de instruire profesională
În cadrul acestui modul, administratorul adaugă în baza de date un nou eveniment
după care, pe baza raportului de evaluare profesională a angajatului, stabilește dacă acesta
participă s au nu la evenimentul respectiv.
Modulul șase, modulul de raportare, are ca scop sintetizarea datelor ce provin de
la toate celelalte module prezentate.
Figura 6 – Diagrama cazurilor de utilizare a modulului de raportare
Spre deo sebire de celelalte module, la acest modul au acces atât conturile de
administrator, cât și conturile simple de utilizator.
2) Descrierea aplicației
Aplicația ce urmează a fi implementată face parte din categoria aplicațiilor de
administrare a resurselor umane, având la bază un sistem al conturilor de utilizator. Există
două tipuri de utilizatori pentru această aplicație : administratorul și utilizatorul simplu.
Administratorul este utilizatorul specializat care are acces la date și, totodata,
autoritatea de a realiza diferite interogări asupra bazei de date. Interogările ce pot fi
utilizate de către administrator sunt : interog ări de inserare, de selecție, actualizare sau
ștergere. De asemenea, administratorul este cel ce poate crea conturi noi.
Utilizatoru l simplu are acces doar la modulul de raportare, iar prin intermediul
acestui modul poate realiza doar interogări de selecție asupra bazei de date.
Interacțiunile ce trebuie să se realizeaze între administrator sau utilizator și baza
de date vor trebui sa urmărească schema următoare :
Figura 7 – Schema realizării interacțiunilor dintre utilizator/administrator și baza de date
Practic, administratorul/utilizatorul dă o comandă prin intermediul aplicației.
SGBD -ul recepționează coma nda, o interpretează, o execută asupra bazei de date, după
care trimite rezultatele înapoi, către utilizator/administrator.
În cadrul aplicației fluxurile de date (intrare/ieșire) sunt proiectate astfel :
Datele de intrare provin de la administrator prin intermediul interogărilor
de inserare sau actualizare, dar și de la sistem (date calendaristice, ID -uri
etc.);
Datele de ieșire provin de la administrator sau utilizator prin intermediul
interogărilor de selecție utilizate de modulul de raportare.
Viitoarea aplicație va trebui să conțină mai multe tipuri de formulare și rapoarte.
Pentru modulul de logare și creare cont nou va fi nevoie de un formular de înregistrare în
care să fie introduse date precum : nume de utilizator, parol ă, tipul de cont crea t, nume,
prenume.
În modulul de recrutări va fi implementat un singur formular de înregistrare, care
va fi completat cu date personale, date de contact și cu date despre experiența aplicantului
în domeniu.
Modulul de evidență a angajaților va conține mai multe formulare, pe baza cărora
se vor genera rapoarte. Primul formular va fi cel de înregistrare al angajatului, în care vor
fi introduse automat, pe baza codului de aplicant, datele personale și de contact. În plus,
se vor mai introduce date referitoar e la modul de recrutate, tipul contractului,
departament, funcție etc. Cel de -al doilea formular va fi reprezentat de formularul de
editare a datelor referitoare la angajat, iar cel de -al treilea va fi formularul de evaluare a
performanțelor angajatului ce va trebui să conțină date despre calitatea muncii,
cunoștințele profesionale, comportamentul angajatului etc. Pe baza primelor două
formulare se va genera un raport în care vor fi sintetizate, sub forma unui tabel, toate
datele despre angajat, iar pe baza celui de -al treilea va fi format un raport de evaluare a
angajatului.
Pe baza datelor din formularul de înregistrare al modulului de concedii va fi
generat un raport ce va conține date referitoare la numele angajatului, tipul concediului,
data la care înc epe concediul, data la care se termină etc.
În modulul de instruire profesională vor fi implementate doua formulare : unul de
înregistrare a unui eveniment nou și unul de înregistrare al angajaților care participă la
eveniment. Un raport de instruire va fi format pe baza datelor înregistrate de către cele
două.
2. Proiectarea bazei de date
Viitoarea aplicație va folosi o bază de date de tip relațional, fiecărui modul
corespunzându -i un anumit număr de tabele.
Pentru modulul de logare va fi necesară o tabelă ca re să stocheze date de tip întreg
și date de tip șir de caractere. Câmpurile necesare acestei tabele sunt : ID, care va fi cheie
primar ă (prin urmare va avea o restricție de tipul NOT NULL) de tip întreg și va fi, în
mod automat, completat ; numele de utili zator, de tip varchar; parola, de tip varchar; tipul
utilizatorului ce va fi tot de tip varchar, deoarece va putea fi completat doar cu dou ă valori
(Admin/User) ; nume angajat și prenume angajat de tip varchar ambele.
Modulul de recrutări va trebui să aibă doar o singură tabelă care să poată stoca
date de tip întreg, șir de caractere și dată calendaristică, deoarece va stoca date personale,
de contact etc. Cel mai important câmp din această tabelă va fi ID-ul (cheie primar ă cu o
restricție NOT NULL implicit ă), ce se va completa automat la fiecare înregistrare nouă .
Celelalte c âmpuri vor fi de tipul varchar sau dată.
Datele introduse în formularul de înregistrare al modulului de evidență a
angajaților vor fi stocate în tabela principală, tabelă numită “Angaj at”. Acestea pot fi de
tip întreg, șir de caractere și dată calendaristică , deoarce majoritatea datelor personale și
de contact vor fi preluate din tabela modulului de recrutări. Cele mai importante câmpuri
ale acestei tabele vor fi: cheia primar ă (ID -ul angajatului, de tip întreg, cu o restricție NOT
NULL implicită) și cheile externe, toate de tip întreg, ce creează legături de “unul-la-
mulți ” între tabele: ID -ul aplicantului, ID -ul departamentului, ID -ul funcției și ID -ul
concediului.
Tot în cadrul modulu lui de evidență a angajaților va fi necesară o tabelă pentru
înregistrarea datelor provenite din fomularul de evaluare. Aceste date pot fi de tip întreg,
șir de caractere sau dată calendaristică. Câmpurile necesare acestei tabele sunt : ID
evaluare (cheie primară, de tip întreg, restricție NOT NULL) ; ID angajat de tip întreg
(cheie externă ce creează o legătură de tip “unul -la-mulți”); data evaluării, data de început
a perioadei evaluate și data de sfârșit a perioadei evaluate, toate de tip dată calendarist ică;
calitatea muncii, volumul muncii, cunoștințe profesionale, comportament și recomandări,
toate de tip șir de caractere.
Pentru modulul de concedii va fi necesar ă o tabelă care să înregistreze date de tip
întreg, dată calendaristică și sir de caractere . Tipul întreg trebuie folosit pentru cheile
tabelului (cheia primară – ID-ul concediului ce va fi completată automat pe măsură ce se
adaugă înregistrări ; cheia extern ă – ID-ul tipului de concediu, prin intermediul căruia se
creeaza o legatură de tip “unul -la-mulți”).
Modulul de instruire profesională va necesita două tabele. O tabelă în care să se
înregistreze date referitoare la evenimente/cursuri de instruire. Aceasta va trebui să
stocheze date de tip întreg, șir de caractere sau dată calendaristică. Ce l mai important
câmp al acestei tabele va fi ID -ul (cheia primară care se va completa automat o dată cu
introducerea de noi înregistrări) prin intermediul căreia se va crea o legatură cu cea de -a
doua tabelă de care are acest modul. Aceasta din urmă va tre bui să fie tabelă intermediară
ce leagă tabelul principal de primul tabel al acestui modul. Cele mai importante câmpuri
ale tabelului intermediar sunt cele două chei externe reprezentate de ID -ul angajatului și
de ID -ul evenimentului.
Alte tabele ce vor fi folosite :
Departament – va con ține ID -ul departamentului (cheie primară),
denumirea departamentului și descrierea acestuia ;
Func ție – va conține ID -ul funcției (cheie primară), denumirea funcției și
descrierea acesteia ;
Tipul de concediu – va conține ID -ul tipului de concediu (cheie primară)
și denumirea acestuia ;
În figura ce urmează sunt descrise relațiile dinre tabelele bazei de date a aplicației
ce urmează a fii implementată:
Figura 8 – Captură de ecran a diagramei entitate -relație a bazei de date
CAPITOLUL 3
1. Implementarea aplicației
Implementarea aplicației s -a realizat folosind mediul de programare “Microsoft
Visual Studio” , limbajul utilizat fiind C#. Acesta a fost deoarece oferă următoarele
facilități :
Este simplu, modern și cu o productivitate mare ;
Gestionează în mod automat memoria utilizată ;
Este un limbaj de programare orientat obiect – în cadrul aplicației
ferestrele/formularele reprezintă clase de obiecte, iar controalele din
interiorul acestora reprezintă obiectele;
Atât formularele cât și controalele au asociate un set de proprietăți prin
care pot fi schimbate caracteristicile acestora (poziția, dimensiunea, stilul,
comportamentul etc.) ;
1) Prezentarea aplica ției
După cele menționate în capitolul 2, subcapitolul “Func ții, structură și diagrame
UML ”, aplicația este formată din șase module de lucru. Fiecare modul are în componența
sa un anumit număr de formulare/rapoarte, după cum urmează:
Modulul de logare și creare cont nou conține trei formulare după cum
urmează :
Primele două formulare sunt formularele de logare și de schimbare a parolei și
sunt prezentate în figura următoare :
Figura 1 – Captură de ecran a formularelor de logare și schimbare parolă
Utiliza torul introduce datele de logare (nume de utilizator, parolă). În cazul în care
acestea sunt greșite va apărea o nouă fereastră cu un mesaj de avertizare.
În situația în care utilizatorul dorește să schimbe parola, acesta poate apăsa pe
linklabelul “Click here”, astfel declanșând evenimentul ce va deschide fereastra ce
îndeplinește funcția respectivă. Prin intermediul butonului “Change” se realizează o
actualizare în baza de date, în tabela LogIn, pe baza numelui de utilizator și al ID -ului
acestuia.
Cel de -al treilea formular este reprezentat de formularul de creare cont nou :
Figura 2 – Captură de ecran a formularului pentru crearea unui cont nou
Deschiderea formularului pentru crearea unui cont nou se realizează astfel: File
->Create New Ac count . Odată deschis formularul acesta poate fi completat cu datele
necesare.
În momentul apăsării butonului “Create New Account”, este declanșat
evenimentul “Click” prin intermediul căruia datele sunt inserate într -o nouă înregistrare
în baza de date, în tabela LogIn.
Modulul de recrutare conține două ferestre după cum urmează :
În Figura 3 este prezentată fereastra de gestionare a documentelor (C.V., scrisori
de recomandare, scrisori motivațioanle etc ), iar în Figura 2 este prezentat formularul de
înregistrare a celor ce aplică pentru un loc de muncă.
Deschiderea ferestrei de gestionare a documentelor se realizează din meniul File
-> See Documents -> Open .
Figura 3 – Captură de ecran a ferestrei de gesionare a documentelor PDF
În momentul în care butonul “Open PDF” este apăsat se declanșează evenimentul
“Click” care deschide o casetă de dialog. În cadrul acesteia se alege documentul dorit,
care va fi deschis în fereastra mai sus menționată.
Cel de -al doilea formular al modulului este reprezentat de formularul de
înregistrare, care arată în următorul mod:
Figura 4 – Captură de ecran a formularului de înregistrare a aplicanților
În acest formular sunt completate datele aplicanților, după care, prin intermediul
butonului “Register” este pornit evenimentul “Click”, asociat acestuia, care insereaz ă
datele într -o nouă înregistrare în baza de date, în tabela Aplicant.
Modulul de evidență a angajaților este cel mai complex și conține cele mai
multe ferestre. Acestea sunt reprezentate de: formularul de înregistrare a
angajaților, formularul de editare a datelor acestora și formularul de
evaluare a performanțelor.
Fereastra de înregistrare a angajaților (Figura 5) se deschide din fereastra
principală (Home), prin apăsarea linklabel -ului “ Register New Employee ”.
Figura 5 – Captură de ecran a ferestrei de înregistrare a angajaților
După cum se poate observa în figură din formularul prezentat se deschide o altă
fereastră. Acest lucru se întâmplă la momentul activării evenimentului “ Click ” asociat
butonului “Search”. Rolul acestei ferestre este acela de a arăta toate înregistrările din
tabela Aplicant, în special primele trei câmpuri (ID -ul aplicantului, numele și prenumele
acestuia).
Se mai poate observa fapul că datele
personale ale aplicantului sunt introduse
automat în obiectele de tip textbox ale
ferestrei în momentul apăsării butonului
“OK”. Acest lucru se întâmplă doar dacă în
textbox -ul numit “Applicant Code” este
introdus un ID ce este stocat în tabela
Aplicant. În cazul în care ID -ul nu este
stocat, la momentul apăsării butonului OK
va apărea o casetă cu un mesaj de avertizare.
Butonul “Delete” are rolul de a șterge înregistrările ce nu mai sunt necesare din
tabela Angajat.
Rolul butonului “Upload” este acela de a prelua toate datele introduse în cadrul
formularului și de a le stoca în tabela principală a bazei de date și anume tabela Angajat.
Figura 6 – Captură de ecran a castei de dialog cu m esaj
de avertizare
Formularul de editare a datelor angajațior se deschide la decla nșarea
evenimentului “Click” asupra linklabel -ului “Edit Employee ’s Info”.
Figura 7 – Captură de ecran a formularului de editare a datelor personale ale angajaților
După cum se poate observa, acest formular este similar cu formularul de
înregistrare. De asemenea, se bazează pe același principiu (datele personale ale angajaților
sunt completate automat pe baza codului/ID -ului angajaților, după care pot fi modificate
și salvate în baza de date).
Această fereastr ă diferă de prima (Figura 5) prin modul de organizare. Butoanele
“Job Details” și “ Salary Details” deschid două ferestre de editare: primul buton deschide
fereastra de editare a datelor despre locul de muncă al angajatului, iar al doilea fereastra
de edit are a datelor legate de salariul angajatului.
Figura 8 – Captură de ecran a formularului de editare a datelor legate de locul de muncă al angajatului
Se observă în Figura 8 că formularul de editare a datelor despre locul de muncă al
angajatului este ba zat pe același pricipiu (completarea automată cu date pe baza ID -ului
angajatului) ca și formularele prezentate anterior.
Figura 9 – Captură de ecran a formularului de editare a datelor legate de salariile angajaților
Formularul de editare a datelor le gate de salariile angajaților are la bază același
sistem de completare ca și celelalte ferestre prezentate până la acest punct: se caută ID -ul
angajatului în înregistrările tabelei “Angajat” , se introduce în textbox -ul aferent, iar pe
baza acestuia, la dec lanșarea evenimentului “Click” asociat butonului OK sunt completate
celelalte obiecte.
Modulul concedii conține un singur formular reprezentat de formularul de
înregistrare al acestora, care se deschide din fereastra principal ă, apăsând
click pe linklabel -ul “Leaves”.
Figura 10 – Captură de ecran a formularului de înregistrare a concediilor
Datele referitoare la concediile angaja ților sunt stocate în baza de date, în tabela
“Leaves” prin intermediul formularului prezentat în Figura 10. Datele p ersonale ale
angajaților sunt completate în mod automat, prin intermediul textbox -ului “Employee
Code” și a butonului “OK”, pe baza codului/ID -ului angajatului. Celelalte date trebuie
introduse de c ătre administrator. Toate acestea sunt preluate și mai apo i stocate în baza
de date în momentul apăsării butonului “Register”.
Modulul de instruire profes ională
Acest modul conține două formulare: formularul de înregistrare a evenimentelor
sau cursurilor de instruire profesională și formularul de înregistrare al angajaților care
participă la aceste evenimente.
Figura 11 – Captură de ecran a formularului de înregistrare a evenimentelor de instruire profesioanală
Fereastra de înregistrare a evenimentelor de instruire profesională poate fi folosită
atât la adăug area de evenimente noi, sub formă de înregistrări în baza de date, cât și la
ștergerea acestora.
Adăugarea de evenimente sau cursuri de instruire profesională se face la
declanșarea evenimentului “ Click ” asociat butonului “Add Event”, iar ștergerea acest ora
se realizează odată cu apăsarea butonului “Delete”.
Figura 12 – Captură de ecran a formularului de înregistrare al angajaților care participă la evenimentele de instruire
profesională
După cum se poate observa, formularul prezentat în Figura 12 se bazează pe
principiul completării automate a datelor pe baza ID -urilor. Odată completate, datele sunt
stocate în baza de date prin apăsarea butonului “Save”.
Modulul de raportare
Acest modul conține patru tipuri de rapoarte și anume : rapoarte privind angajații,
rapoarte cu privire la concediile acestora, rapoarte despre performanțele angajaților și
rapoarte referitoare la instruirea profesională.
Primul tip de raport este raportul ce prezintă datele angajaților (nume, prenume,
funcție, mod de recrutare, tipul de contract etc.)
Figura 13 – Captură de ecran a raportului despre angajați
Acest raport a fost realizat prin interogarea bazei de date, mai exact prin folosirea
instrucțiunii SQL “Select”. Se poate observa în figura de mai sus faptul că selec ția
angajaților este realizata în funcție de departamentul din care fac parte ; acest lucru a fost
realizat folosind câmpul “Departament” ca parametru de grupare.
Cel de -al doilea tip de rapor t, raportul referitor la concediile angaja ților, conține
date legate de tipul de concediu, data începerii concediului, motive etc.
Figura 14 – Captură de ecran a raportului de concedii
Realizarea raportului de concedii a constat în interograrea bazei de date folosind
instrucțiunea SQL “Select”. Concret, selecția angajaților se realizează pe baza câmpului
în care sunt stocate ID -urile angajaților, câmp ce a fost folosit ca parametru de grupare.
Al treilea tip de raport este raportul performanțelor angaja ților ce conține datele
referitoare la calitatea muncii, comportament, recomandări etc.
Figura 15 – Captură de ecran a raportului performanțelor angajatului
Raportul prezentat în Figura 15 este generat prin interogarea bazei de date folosind
instrucțiun ea “Select”. Selectarea se face pe baza câmpurilor ID, nume și prenume, dar
parametrul de grupare este reprezentat doar de câmpul ID.
Al patrulea și ultimul tip de raport este reprezentat de raportul referitor la
instruirea profesională a angajaților. Ace st tip de raport conține date referitoare la
evenimentele de instruire la care au participat angajații (nume angajat, nume eveniment,
perioada desfășurării evenimentului etc.).
Figura 16 – Captură de ecran a raportului de instruire profesională
Raportul referitor la instruirea profesională este similar cu raportul perfomanțelor
angajaților, în sensul că este realizat tot pe baza instrucțiunii SQL de selecție, iar
selectarea datelor se face tot pe baza a mai multor câmpuri și anume ID -ul evenimentului
și numele acestuia. La fel ca și la tipul anterior de raport, gruparea datelor se face în
funcție de câmpul ce conține ID -urile.
Utilitatea modulului de raportare const ă în utilitatea tipurilor de rapoarte
prezentate anterior. Aceste rapoarte sunt utilizate atât pentru a menține o evidență a
resurselor umane, dar și pentru gestionarea mai ușoară a acestora.
2) Modul de realizare al aplicației
După cum este menționat la înc eputul capitolului aplicația prezentată anterior a
fost implementată în limbajul de programare C#, utilizând mediul de programare “Visual
Studio 2015”.
Fiind un limbaj de programare orientat obiect, C# utilizează clase ce sunt formate
din obiecte. Obiectel e sunt caracterizate de proprietăți/attribute și metode.
Pentru a arăta modul de realizare a aplicației au fost alese 10 metode specifice mai
multor obiecte/evenimente.
Pentru a fi realizate autentificarea și logarea a fost folosita următoarea
metodă :
Figura 17 – Captură de ecran a metodei folosită pentru logare
Practic, această secven ță de cod execută următorii pași :
– Se creează o nouă conexiune cu baza de date ;
– Se declar ă variabila query de tip string ce reprezintă instrucțiunea SQL Select,
care preia textul din cele două casete de text ;
– Se creează obiectul sda ce aparține clasei SqlDataAdapter (clasă folosită pentru
ocuparea unui tabel sau actualizarea unei baze de date SQL) prin apelare a
contstructorului SqlDataAdapter(query, con) ;
– Se creează obiectul dt ce aparține clasei DataTable (clasă ce reprezintă un tabel
cu datele din momentul execuției) care în momentul execuției este ocupat cu date ;
– Se verifică dacă există înregistrări în tabel a/obiectul dt. În cazul în care condiția
este îndepinită se verifică dacă variabila de tip string utype (care ia valorile
înregistrărilor din câmpul “Usertype” aflat în tabela dt) are valoarea Admin . În
cazul în care și a doua condiție este îndeplinită atunci se deschide fereastra
principală a programului. Dacă cele două condiții nu sunt îndeplinite atunci va
apărea o casetă de dialog cu un mesaj.
Pentru crearea unui cont nou s -a folosit următoarea secvență de cod :
Figura 18 – Captură de ecran a secven ței de cod pentru crearea unui cont nou
În Figura 18 sunt executați pașii pentru inserarea datelor de logare în tabela LogIn
din baza de date. În primul rând s -a creat o conexiune între aplicație și baza de date,
utilizând următoarea secvență: SqlConnecti on con = new SqlConnection(@"Data
Source=DANA -LPT;Initial Catalog= HRMS;Integrated Security=True");.
După crearea conexiunii, aceasta a fost deschisă. Odată deschisă conexiunea s -a
creat o nouă comandă SQL, numită cmd, ce are rolul de insera datele preluate din castele
de text sau combobox -uri în baza de date, prin intermediul instrucțiunii SQL Insert. Linia
cmd.ExecuteNonQuery are rolul de a executa comanda și de a returna numărul de rânduri
afectate din baza de date.
În cazul în care înregistrarea a fost efectuată cu succes va apărea o casetă de dialog
cu mesajul “Resgistration Succesfully ”, iar conexiunea se închide.
Pentru deschiderea unui fișier PDF în cadrul aplicației au fost folosite
următoarele metode :
Figura 19 – Captură de ecran a secvenței de cod pentru deschiderea unui fișier PDF în cadrul aplicației
Prima parte a secvenței de cod prezentate în Figura 19 este reprezentată de o
metodă scrisă automat de către constructorul implicit al formularului.
Cea de-a doua parte a secvenței este reprezentată de metoda ce începe să ruleze la
declanșarea evenimentului “Click” asociat butonului “Open”.
În prima linie a metodei antemenționate se definește un nou obiect al clasei
OpenFileDialog . După aceasta, dacă este îndeplinită condiția openfile.ShowDialog() ==
System.Windows.Forms.DialogResult.OK va fi deschisă o casetă de dialog prin
intermediul căreia se poate alege fișierul PDF ce se dorește a fi deschis, după care în
obiectul “axAcroPDF1 ” din clasa Adobe PDF Reader, va fi deschis.
Pentru vizualizarea și căutarea datelor stocate în baza de date asociată
aplicației de față s -au utilizat următoarele funcții și metode :
Figura 20 – Captură de ecran a secvenței de cod pentru vizualizarea în registrărilor din baza de date într -un formular
După cum se poate observa în Figura 20, obiectul (formularul) “DataSearch ” are
asociat evenimentul “ Load ”, iar în urma acestui eveniment este apelată funcția
“display_data() ”.
Funcția “ display_data() ” face posibilă vizualizarea în formular a înregistrărilor
din baza de date prin executarea codului din figură. Practic, mai întâi se crează conexiunea
cu baza de date utilizând secvența SqlConnection con = new SqlConnection(@"Data
Source=DANA -LPT;Initial Ca talog= HRMS;Integrated Security=True"), după care se
deschide conexiunea. La pasul următor se creează comanda SQL, numită cmd, ce are rolul
de a selecta datele din tabelă, după care se execută. Se creează obiectul dt ce aparține
clasei DataTable și obiectul da ce aparține clasei SqlDataAdapter, după care se stabilește
sursa de date a obiectului “dataGridView1 ” ca fiind dt și se închide conexiunea.
Pentru deschiderea acestui formular din cadrul altor formulare se utilizează
următoarea secvență :
Figura 21 – Captură de ecran a secvenței de cod pentru deschiderea unui alt formular
Practic, în momentul declanșării evenimentului “Click” asupra butonului Search
se creeaz ă un obiect, pe baza contructorului implicit, ce aparține clasei DataSearch. După
aceea, asu pra obiectului creat se aplică metoda “Show() ”.
Pentru adăugarea unei poze în cadrul formularului de înregistrare a
angajaților se execută următoarea secvență de cod:
Figura 22 – Captură de ecran a secvenței de cod pentru inserarea unei imagini într -un formular
Această secvență descrie ce se întâmplă în momentul apăsării butonului “Upload
Photo”. În primul rând, se creează un obiect ( dialog ) din clasa OpenFileDialog prin
intermediul constructorului implicit, după care se setează filtrele acestei casete . Dacă este
îndeplinită condiția ( dialog.ShowDialog() == DialogResult.OK ) atunci variabilei de tip
string imgLocation i se atribuie valoarea adresei imaginii, apoi această valoare este
atribuită proprietății ImageLocation a obiectului pictureBox1.
Pentru actualizarea bazei de date este folosită următoarea secvență de cod :
Figura 23 – Captură de ecran a secvenței de cod utilizată pentru actualizarea bazei de date
În cadrul acestei secvențe se parcurg următorii pași:
– Se creeaz ă o nouă conexiune cu baza de date( SqlConnection con = new
SqlConnection(@"Data Source=DANA -LPT;Initial Catalog= HRMS;Integrated
Security=True") );
– Se deschide conexiunea;
– Se creeaz ă comanda cmd, comandă ce are rolul de a actualiza datele din tabelă pe
baza instrucțiunii SQL Update ( UPDATE nume_tabelă SET coloana 1 = valoarea
1, coloana 2 = valoarea 2, WHERE conditi e;), valorile fiind luate din elementele
formularelor;
– Se execută comanda ;
– Se închide conexiunea ;
– În cazul în care actualizarea s -a realizat cu succes va apărea o casetă d e dialog cu
mesajul “Record Updated Succesfully ”.
Pentru completarea automată a unei casete de text pe baza selecției unui
element dintr -un combobox a fost utilizată următoarea secvență:
Figura 24 – Captură de ecran a secvenței de cod pentru autocompletarea unui textbox pe baza unui eveniment
Secvența de față descrie executarea următoarelor etape:
– Se creeaz ă și se deschide conexiunea cu baza de date;
– Se creează comanda SQL numită cmd care are rolul de a selecta câmpuri din baza
de date, pe baza intstrucțiunii de selecție (SELECT nume_câmpuri FROM
nume_tabelă WHERE condition ;). În cazul de față această comandă trebuie să
selecteze toate câmpurile din tabela Departments unde numele depar tamentului
este cel selectat în combobox;
– Se execută comanda;
– Se creeaz ă obiectul da ce aparține clasei SqlDataAdapter prin intermediul
constructorului SqlDataAdapter( “SELECT * FROM dbo.Departments”, con ) și
obiectul dt ce aparține clasei DataTable ; în mom entul execuției cele două obiecte
sunt ocupate cu date ;
– Se execută funcția foreach prin intermediul căreia caseta de text este completată
cu datele selectate ;
– Se închide conexiunea ;
Ștergerea unei înregistrări din baza de date se realizează folosind
următoarea secvență:
Figura 25 – Captură de ecran a secvenței de cod pentru ștergerea unei înregistrări din baza de date
Pașii urmăriți în implementarea acestei secvențe sunt :
– Crearea și deschiderea conexiunii cu baza de date ;
– Crearea unei comenzi SQL, numit ă cmd, cu rolul de a șterge înregistrări din baza
de date și bazată pe instrucțiunea SQL Delete ;
– Executarea comenzii;
– Închiderea conexiunii ;
– Apariția unei casete de dialog cu mesajul “Record Deleted Succesfully” , în cazul
în care comanda s -a executat cu succes.
Pentru completarea unui combobox cu date direct dintr -o bază de date s -a
folosit secvența:
Figura 26 – Captură de ecran a secvenței de cod pentru încărcarea cu date dintr -o bază de date a unui combobox
După cum se poate observa în figura anterioară, declanșarea evenimentului este
reprezentată de încărcarea formularului (în cazul de față formularul de înregistrare a unui
nou angajat), iar în momentul producerii acestuia este apelată funcția “ cc()”.
În cadrul funcției cc() sunt real izare următoarele etape:
– Deschiderea conexiunii cu baza de date;
– Crearea comenzii SQL, cmd, cu rolul de a selecta datele necesare din baza de date,
folosind instruc țiunea SQL Select ;
– Executarea comenzii ;
– Crearea obiectelor da și dt componente ale claselor SqlDataAdapter, respectiv
DataTable și ocuparea acestora cu date ;
– Executarea funcției foreach prin intermediul căreia este completat combobox -ul
cu datele selectate.
Generarea rapoartelor este realizată prin intermdiul următoarei secvențe:
Figura 27 – Captură de ecran a secvenței de cod utilizată pentru generarea unui raport
În cadrul aplicației de față, rapoartele sunt generate într -un obiect din clasa
ReportViewer, în momentul declanșării evenimentului “Click” asociat butonului
“Generate”. Selecțiile necesare rapoartelor sunt realizate pe baza instrucțiunii SQL Select
și a unor parametrii de selecție (în cazul de față parametrul pe baza căruia se realizează
selecția este ID -ul evenimentului).
3) Analiza aplica ției
În prezent, în cadrul oricărei organizații procesul de administrare automatizat nu
mai reprezintă o opțiune, ci a devenit o necesitate, aceasta crescând direct
proporțional odată cu mărimea organizației. O aplicație de administrare a resurselor
umane, precum cea prezentată în subcapitolele 1 și 2, este strict necesară oricărei
firme.
Avantajele aplicației prezentate sunt:
1. Este ușor de adaptat la specificul companiei;
2. Gestionarea și evidența dosarelor angajaților;
3. Accesul rapid la informații prin intermediul generării și accesării documentelor
printr -un singut click;
4. Conține instrumentele necesare gestionării eficient e a documentelor de tipul fișei
de evaluare a angajaților;
5. Complementaritatea cu restul practicilor de resurse umane prin generarea de
rapoarte despre rezultatele procesului de evaluare al performanțelor, date legate
de perioadele de training și instruire profesională etc.
6. Permite planificarea de concedii;
7. Permite planificarea de evenimente și cursuri de instruire profesională.
Dezavantajele aplicației sunt reprezentate de:
1. Lipsa unui modul de calcul salarial;
2. Lipsa unui modul de pontaj;
3. Capacitatea redusă de stocare a bazei de date;
4. Lipsa intrumentelor de comunicare cu angajații;
5. Lipsa instrumentelor de configurare a aplicației.
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Licenta Cap 2 Si 3 [612596] (ID: 612596)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
