Academia de Studii Economice București [621869]
Academia de Studii Economice București
Facultatea de Cibernetică , Statistică și Informatic ă Economică
Master – Proiect Bază de D ate
Proiect Bază de D ate
Firm ă de Recrutare pentru
speciali ști în Tehnologia Informației
Lucrare de diserta ție
Coor donator științific,
Prof. univ. dr. Marian Dârdală
Masterand: [anonimizat] 2016 – 2017
2
CUPRINS
INTRODUCERE 3
1. RESURSE UMANE DIN DOMENIUL IT 4
1.1. Firma de recrutare I.T. – mod de func ționare 4
1.2. Sistem informatic . Înregistrare, stocare și prelucrare date 6
2. TEHNOLOGII INFORMATICE UTILIZATE 7
2.1. Tehnologii implicate in realizarea Sistemelor informatice 7
2.1.1. Browser -Web
2.1.2 . Protocoale
2.1.3 . Bazele de Date , Platformă.
2.2. Limbaje de programare folosite in proiectare 8
2.2.1 . Html
2.2.2 . Sql
2.2.3 . Php
3. PROIECTAREA S ISTEMULUI INFORMATIC 9
3.1. Proiectare software. Proiect pentru un sistem Bază de Date 9
3.2. Modulele Bazei de Date 20
4. PROIECTAREA APLICA ȚIEI 25
4.1. Implementarea aplica ției Baz ă de Date 28
4.2. Funcționalitate. Testare. Audit.
4.3. Structura hardware
CONCLUZII
BIBLIOGRAFIE
ANEXE
3
INTRODUCERE
Starea actuală a firmelor din domeniul IT este rezultatul unui proces complex al
dezvoltării rapide a schimbului reciproc de informa ții cu partenerii de afaceri dar și cu alte
companii interesate de anumite aspecte ale activită ții întreprinderilor în cauz ă.
Se dezvoltă astfel firmele, care abordează problemele de gestiune internă și de
comunicare cu alte firme, sau direct cu clientul în cauză, vizând o adaptare rapidă la nou.
Când se realizează înregistrările fără suport electronic, se urmărește greu baza de date
a clienților, preferințele , produsele și gestionarea veniturilor și cheltuielilor companiei.
Sistemul informatic pentru o bază de date este astăzi indispensabil oricărei firme, atât
pentru înregistrarea, stocarea și prelucrarea datelor, cât și pentru analiza statistică realizată în
timp real, sub formă de rapoarte referitor la performanțele firmei în cauză .
Scopul cercetării
Se urmărește re alizarea unui sistem informatic de bază de date a unei firme utilizând
tehnologiile construirii acesteia folosind Medii de Dezvoltare (Medii de Programare) pentru
limbaje precum JAVA, SQL -PHP, SQL sau PHP .
Sistemul informatic este folosit de întreprinder ile care au mai multe puncte de lucru
dotate cu calculatoare personale interconectate la un sistem de intranet. Este nevoie de un sistem
informatic ce poate fi accesat din oricare punct de lucru din loca ția respectiv ă .
Se gestionează eviden ța solicit ărilor pentru recrutare, sursele de provenien ță pentru
clien ți și firmele unde, în cele din urm ă vor fi angajati sau nu aceștia. De asemenea se
inregistrează date personale și de evidența continu ă a su rselor posibile, și a firmelor ce ofer ă
locuri de muncă in domeniul IT.
Obiectivele cercetării
Obiective le cercetării sunt crearea unui sistem informatic cu următoarele capacități:
-Facilitarea acces ului la baza de date
-Gestionarea clienților prin inregistrare, clasificare și nivel de performaț ă pentru client
-Gestionarea surselor de for ță de muncă in domeniul IT
-Gestionarea firmelor ofertante de locuri de mun că, și a nivelului de pregatire a clientului
-Generarea de rapoarte pentru evaluarea la zi a activită ții firmei.
4
1. RESURSE UMANE DIN DOMENIUL IT
1.1 Firma de recrutare I.T. – mod de func ționare .
Firma de recrutare personal specializat in IT dispune de o baza de date implementată ca
sistem informatic pentru utilizare din loca ția firmei. Debutul în aceast ă activitate s -a realizat
în februarie anul 2016. Firma are statut de persoană juridică. Există un parteneriat format
din 2 persoane care de țin capitalul inițial investit.
Echipa de proiectare a sistemului de BD necesar firmei a fost angajată prin contract să
realizeze la sediul din Bd. Dacia 12 -14, dotar ea cu terminale specifice pentru fiecare post de
lucru. De asemenea s -a implementat și s-a verificat sistemul software ca Bază de Date, proiectat
in limbaj SQL -PHP și implementat pe server.
Cerin țele sistemului existent
Cadida ții care doresc un loc de mun că, ca PFA sa angajate permanent, accesează site -ul
firmei de recrutare. Discu țiile telefonice cu recrutorul se realizeaz ă pentru definirea profilului
clientului. Pentru a defini gradul de specializare in IT discu ția de poart ă și în limba englez ă. Se
realizează o înregistrare (o linie) în BD. Fiecare din coloanele tabelului ce se completează de
recrutor reprezintă un atribut al înregistrării, și anume :
Nume și prenume candidat
Adresă de re ședinț ă.
Angajat permanent sau PFA (colaborare)
Data na șterii, Locu l nașterii
Telefon mobil sau/ și fix. FAX.
Firmă Furnizor de candida ți specializați in hardware -software.
Firmă pentru angajarea speciali știlor, priviți drept clienți potențiali.
e-mail personal, e -mail firmă
Nivel de specializare și limbaj de proiectare fo losit : C++, C#, SQL -PHP, Java,…
Salariu cerut ini țial de client.
Aceste date se memorează pe server. Programul realizat ca software BD poate fi accsesat
de la posturile de lucru din cadrul firmei sau se poate accesa tot cu parolă și prin remote -control
de pe un PC dintr -o altă loca ție flotant ă. (de obicei un Laptop mobil). Concuren ța in afaceri,
tot mai puternică determină cresterea în calitate a seviciilor serviciilor oferite si reducerea la
maxim a timpului de operare, interviu și plasare angajat. Pen tru atingerea acestor obiective
obligatorii, companiile de recrutare for ță de muncă din IT, trebuie să -și optimizeze activitatea
zilnică.
5
Figura 001
Firma de recrutare pentru clien ți din dome niul I.T. este un sistem care are la baza reguli
de func ționare dinamic ă, pentru atingerea obiectiv ului declarat : plasarea unui num ăr cât mai
mare de speciali ști în sistemul economiei naționale.
Un sistem trebuie să îndeplinească următoarele cerin țe:
Are structur ă propri e compusă din subsisteme care se condiționează logic
Fluxurile de date dintre componente folosesc resurse locale și externe .
În cadrul sistemului, privit ca bază de date există:
Fluxuri de clien ți, cu informații personale
Fluxuri de surse de date pentru angajări
Fluxuri finale, cu date despre firmele angajatoare
Organizarea bazei de date și modul de folosire a acesteia au scopul realizării unui
obiectiv : atingerea unui număr maxim posibil de angajări reale într -o lună calendaristică.
Baza de date, privită ca Sistem Informatic :
Figura 002
BD a
Firmei
Candida ți
Specialitate IT
Analiza mediului social al proiect ului de
BD al Firmei de recrutare Sp ecialisti IT
Echipa de
Proiectare
Baza de Date
Proprietar
Firma de
Recrutare
Part eneri
De Afaceri
Furnizori
candidati
Firme de
plasare
6
Intrările reprezintă înregistrările referitoare la cien ți, surse si firme ce vor fi transformate în
ieșiri după prelucrarea convenabilă de date.
Procesarea transformă înregistrările în inf ormații utile în urma unor analize de clasificare.
Memoria este un sistem unde se stochează datele pentru utilizare ulterioară .
Ieșirile sunt rezultatele prelucrării informa țiilor ( documente, rapoarte ) pentru a stabili
deciziile.
Controlul (calea punc tată = Feedback) verifică validitatea datelor și dacă rezultatele sunt
corecte.
1.2 Sistem informatic . Înregistrare, stocare și prelucrare date
Sistemul infor matic prelucrează informațiile prin mijloacele tehnologiei informației și
permite efectuarea un or operații de stocare, transmitere, culegere, difuzare și prelucrare a
datelor .
Sistem ul informatic este compus din:
Informații interne și externe firmei de recrutare .
Hardware -ul și software -ul necesar p relucrării BD
Difuzarea informațiilor la cerere.
Personal școlarizat periodic
Cerințe pentru funcționarea optim ă a firmei, privită ca sistem unitar :
personalul imp licat în comunicarea cu alte firme să respecte un protocol
specific .
factori i de conducere să supervizeze activitatea la nivel global în firmă.
Externalizarea informa ției folosind structura de intranet a firmei.
Trebuie definit sistemul informatic al firmei deoarece:
Este baza deciziilor luate de conducere, prin furnizarea de informații și control
rapid.
Nivelul actual hardware -software dezv oltat de firmă sprijină efectiv afacerea
Standardul sistemului implică implementarea de solu ții noi pentru a i se spori
performa țele.
Avantajele unui sistem informatic de prelucrare baze de date pentru firma in cauză :
Logare securizată la Baza de Date pen tru recrutare personal IT.
7
Rapoarte transmise în timp real despre : clien ți, surse, sau pentru cele mai
active firme care angajează speciali ști in IT precum și salarizarea acestora.
Sistemul poate fi accesat de mai mulți recrutori din punctele de lucru in terne
Timp minim pentru executarea de operații în BD a firmei
Tehnologia Cloud se dezvoltă constant, dar mul ți utilizatori au nu au folosit -o
încă. Avantajele Cloud -ului au devenit evidente in timp și s-a impus, fiind
tehnic superior.
2. TEHNOLOGII INFO RMATICE UTILIZATE
2.1. Tehnologii implicate in realizarea sistemelor informatice
BROWSER -UL WEB
Un browser sau “navigator” web este o aplica ție software cu rol de interpretor al paginilor web,
acesta cere informa țiile de la server despre paginile web și a fisează text, imagini, video și poate
permite interac țiunea intre utilizatori.
Exemple de browsere web:
– Google Chrome cel mai folosit browser la ora actuală, realizat de compania Google.
– Safari, browser -ul de la Apple.
– Firefox un browser open -source adus pe pia ță de compania Mozilla
– Internet explorer, fostul browser Microsoft, cunoscut de la versiunea de Windows 10
drept Microsoft Ed ge.
PROTOCOALE
Protocoalele sunt instructiuni standardizate pentru transferul de informa ții intre dispozitive
(calcu lator,server,telefoane mobile,tablete)
– HTTP (Hypertext Transfer Protocol Secure) este protocolul prin care site -urile ajung să
fie afi șate in browser -ul utilizatorilor. De fiecare dată când este accesat un website, acest
protocol cere de la server -ul gaz dă al site -ului informa ții și le primește prin intermediul
tehnologiilor HTML, CSS si Javascript.
– DDP (Distributed Data Protocol) este un protocol nou creat in conexiune cu MeteorJS,
o platformă pe care se construiesc site -uri și aplicatii web, in limbaj pur Javascript. Acest
protocol permite conexiunea constantă și ofer ă site -urilor și datelor de pe acestea s ă se
actualizeze în timp real, fără a fi nevoie de a reimprospăta pagina.
– REST (Representational State Transfer) este un protocol folosit pentru API-uri, permite
prin metode precum GET,POST,PUT să se facă schimb de informa ții intre aplicatii.
8
FRONT -END
Front -end reprezinta limbajele de programare de la suprafata paginilor web, cele prin care sunt
afișate informațiile utilizatorilor.
Aceste limb aje sunt:
– HTML (HyperText Markup Language) reprezintă un limbaj de marcare utilizat pentru
crearea structurii site -urilor și care permite browsere -lor să știe informația ce trebuie afisat ă.
– CSS (Cascading Style Sheet) permite designerilor de pagini we b, să schimbe font -uri,
culori, să creeze animatii și tranziții in pagin ă. Acesta este limbajul care stilizează paginile web.
– Javascript este un limbaj de programare orientat obiect folosit atât pentru aplica ții cât și
pentru introducerea unor functional ități in paginile web, poate fi folosit pentru a verific a date,
crearea de efecte, etc.
BACK -END
Back -end-ul este compus din server și baza de date. Este locul in care prin intermediul
limbajelor de programare (PHP,MySQL,RUBY,PostgreSQL,etc) se manipulează datele prin
metode și funcții, este partea pe care utilizatorul nu trebuie s ă o cunoască, despre site -ul accesat.
– PHP (Php: Hypertext Preprocessor) este un limbaj de programare folosit in dezvoltarea
de aplica ții și pagini web. La inceput el produceau p agini web dinamice, dar in zilele noastre se
pot permit e și de aplicații independente.
BAZELE DE DATE
Bazele de date sunt locul in care se stochează toate datele. Ele sunt, in principiu, impartite in
două categorii: baze de date structurate (SQL) si baze d e date nestructurate (NoSQL).
Bazele de date structurate oferă mai mult ajutor in asigurarea că datele sunt corecte și validate.
Bazele de date nestructurate permit mai multă flexibilitate pentru construc ția și intretinerea de
aplicatii.
PLATFORMA
Yii fr amework este o platformă dezvoltată sub limbajul PHP ce utilizează componente de
performan ță ridicată ce deservesc la dezvoltarea de aplica ții Web. Aceasta platform ă poate
accelera enorm procesul dezvoltării unei aplicati și permite maximizarea reutiliz ării codului
scris, este de tip MVC (model -view -controller).
Poate fi utilizată pentru a dezvolta aplica ții de orice tip, de la portaluri sau forumuri pân ă la
sisteme e-commerce sau de gestiune .
9
2.2. Limbaje de programare folosite în realizarea cercetării
2.2.1. HTML
HTML este realizat dintr -o serie de coduri scurte tastate într -un fișier text denumite tag –
uri. Textul este apoi salvat c a un fi șier HTML, și vizualizat prin intermediul unui browser, cum
ar fi Internet Explorer, Go ogle Chrome : citește fișier ul și traduce textul într -o formă vizibilă.
Scrierea de cod HTML presupune folosirea tag -urilor aranjate în mod corespunză tor pentru
transpunere . Pentru a crea pagini HT ML se poate folosi un editor de text (Notepad) sau
(Notepad ++)
Tag-urile sunt ceea ce separ ă textul normal de codul H TML. C od html impune cuvinte
ce sunt folosite intr -o sintaxă specifică : încadrarea lor între <paranteze unghiulare>. Se
transmite browser -ului toate informații le necesare despre obiectele vizuale dintr -o pagină
scrisă în HTML.
2.2.2 . SQL
SQL este cel mai folosit limbaj pentru adăugarea, accesarea și administrarea unei baze
de date. Execută procesare rapidă, și este flexibil la utilizare. MySQL este o parte esen țială din
aproape orice aplica ție PHP open source PHP / MyS QL .
In limbajul SQL t oate comenzile necesare în sistemele de gestionare a bazelor de date
sunt realizate pri ntr-o interfa ță de tip : linie de cod.
Clauze compun declara țiile și interog ările BD
Expresiile p ot produce valori separate sau tabele cu coloane și rânduri.
Predica te – limitează efectele declara țiilor și interog ărilor din BD
Interogare a prelevează date pentru o anumită comandă.
Decl arațiile sunt folosite pen tru a trimite interogări din PC la un server . Serverul
executa comanda SQL și afișe ază răspunsurile către client. Se execut ă rapid opera țiuni de
prelucrare a datelor.
2.2.3 . PHP
PHP este un limbaj de scripting, folosit pentru a realiza paginile web, BD memorate in
CLOUD, Se pot proiecta module pentru autentificare (verific are utilizator și parolă), verificare
de formulare , se pot proiecta forumuri sau galerii de imagini. PHP-ul impreună cu HTML
reface paginile web într -o formă superioară .
PHP este limbaj care ac ționea ză doar pe server, liniile de cod PHP nu se pot executa
pe un compute r. Se vor solicita de la punctul de lucru dotat cu PC sau MAC. Rezult atul
solicitării reprezintă într-o etapă intermediară o returnare către server a comenzii , și în final o
afișare în browser -ul din terminal.
10
PHP (PHP: Program Hypertext Preprocessor ) este un limbaj de uz general, cu cod –
sursă deschis ( open s ource ) și care este folosit pentru dezvoltarea de aplica ții web și poate fi
integrat în HTML.
Sistem open source este un program de nivel public, pe o licen ță anume.
● Orice utilizator poate prelu a cod source, îl poate personaliza .
● Valoarea soft -ului poate cre ște mai rapid dec ât a altor programe comerciale.
3. PROIECTAREA SISTEMULUI INFORMATIC
3.1. Proiectare software. Proiect pentru un sistem Bază de Date
Descrierea generală a sistemului in formatic
Scopul proiectului reprezintă realizarea unui sistem informatic de tip baza de date cu
module de inregistrare pentru clienti, de modificare a inregistrărilor, șergere sau întocmire de
query sau rapoarte. S ursa de unde provin clientii și in final f irmele care ofera locuri de munca
în urma unui interviu -concurs se memorează de asemenea în cadrul unei înregistrări în BD.
Clien ții sunt identif icați prin numar de ordine, nume , prenume, telefon, adresă, e-mail,
preferin țe de angajare, nivel de preg ătire nivel de salarizare cerut și modul de lucru, PFA sau
angajat efectiv.
La o nouă inregistrare se verifica existența datelor clientului în baza de date apoi se
întocme ște complet inregistrarea. Cheia primară va fi numele candidatului.
Clienții sunt persoa ne fizice identifica ți în baza de date conform cu criteriile
prezentate mai sus.
După efectuarea unei inregistrăr i se poate cere un QUERY sau un nou RAPORT
conform cu datele si specifica țiile cerute . Supervizorii au dreptul de management al BD.
După definitivarea proiectului , (codul -sursă), se vor efectua analize statice și dinamice.
Analiza statică a unui program constă în verificarea fi șierului executabil. Analiza static ă
nu implică si rularea programului respectiv. Se analizeaz ă doar cod ul sursă înainte de a se
rular testarea.
Compilatorul mediului de programare identifica erorile sintactice dintr -un program.
Analiza statică poate fi efectuată si de catre speciali ști IT, când codul surs ă este revazut.
Analiză statică – avanta je:
Identifică zona cu eroare
Facilitează semnifica ția codului dac ă se introduc in program comentarii pe linii,
înainte și dup ă analiza statică
Nu se rulează codul
Se identifică erori ce nu pot fi determinate altfel.
Analiză statică – dezavantaje:
Este necesar un timp lung dacă se execută de operatori
Nu se pot detecta erori aparute la runtime
11
Este nevoie de codul sur să al programului pentru analiză
Analiza dinamică
Analiza dinamică se efectuează în verificarea programului ce se află în execu ție.
Analiza dinamică se execută la runtime.
Analiza dinamica – avantaje
Identifică erorile aparute în modul runtime
Analizează programul fără acces la codul sursă
Identifica erori nederminate de analiza statică
Se validează și analiz ă statică
Se poate aplica pe orice aplicatie
Analiza dinamica – dezavantaje :
Localizarea erorii nu se poate realiza
Programele de auto -analiză dinamică produc falsuri.
Nu se parcurge complet fisierul sursă. Rămân zone care nu pot fi accesate la primele
rulări ale programului.
Doar pentru o rulare repetată în timp, după ce se realizează primele înregistrări,
modificări, etc. pot să apară și erorile funcționale.
MODELE, VEDERI, DIAGRAME UTILIZATE ÎN SISTEMUL DE PROIECTARE UML
Figura 003 . Structura UML UML
Diagrama cazuri de
UTILIZARE
Diagrama de
STARE Diagrama
ACTIVITATILOR Diagrama
CLASELOR Diagrama
HARDWAR E Diagrama de
COMPONENTE Vedere
DINAMICA Vedere
STATICA Model de
IMPLEMENTARE Model de
PROIECTARE Model de
ANALIZA
Vedere
HARDWARE Vedere
COMPONENTE Vedere
LOGICA Vedere caz de
UTILIZARE
Cazuri de
TEST
12
UML este un limbaj “universal” pentru proiectare, manipulare și vizualizare componente dintr –
un sistem informati c
Se folose ște pentru sistemele software, pentru modelarea și realizarea sistemelor complexe
Descrie sistemul și permite luarea deciziilor
Nu are limitări impuse de metoda de proiectare
Permite unificarea conceptelor orientate pe obiect sub forma unui sta ndard de proiectare
Prin intermediul acestui sistem de proiectare (UML) se asigur ă :
generarea modelului de analiză, proiectare și implementare
generarea vederii modelului, a diagramei pentru vederea respectivă
utilizarea generatorului de cod prin care se implementează programul
includerea generatorului de raport.
In acest proiect de practică, pentru realizarea si analiza unei BD, am studiat următoarele :
Diagrame Cazurilor de Utilizare,
Diagrame de Activită ți
Diagrame de Stare și
Diagrama Logică d e Procesare a BD.
In continuare vom prezenta pe rând, aceste tipu ri de diagrame, din cadrul UML.
Diagrama cazurilor de utilizare
Figura 004 Diagrama Cazurilor de Utilizare
Recrutor IT
Supervisor IT Administrato r
Retea IT LOGARE
Sterge
Cont Adauga
Cont Modifica
Comanda Genereaza
Rapoarte Sterge
Inregistrare Adauga
Inregistrare
Modifica
Cont Modifica
Inregistrare
Adauga
Comanda
Sterge
Comanda Include Include Include
Include
Include
Include
Include Include
Include
Include
13
Cazul de utilizare: Logare
Utilizatorul introduce în căsuța de text din fereastr ă, numele de utilizator si parola, apoi
sistemul verifică datele, pentru accesarea contului.
Actori: Angajat, Sistem
Descrierea cazului de utilizare:
Precondi ții: -angajatul are cont de utilizator
-sistemul trebuie să fie func țional
Scenariu nominal:
1. Sistemul solicită date de utilizator
2. Angajatul introduce aceste date
3. Se cere logarea în sistem
4. Sistemul informatic verifică datele.
5. Dacă datele sunt eronate sistemul va da mesaj de eroare și va cere
reintroducere date .
8. Dacă datele sunt corecte se deschide contul respectiv
Scenariu alternativ:
Verificarea datelor utilizatorului
Sistemul verifică datele la punctul 4 din scenariul nominal. Dacă aceste date sunt eronate
sistemul va afisa un mesaj de eroare și va solicit a reintroducerea acestora, apoi cazul se
continuă de la punctul 2.
Postcondi ții: angajatul este conectat la sistem
Figura 005 Diagrama de activitate Logare
Accesare Sistem
Informatic
Introducere date
de Utilizator
Verificare Date
Introduse
Deschidere Cont
Utilizator Nod de
Decizie
Corect Incorect BEGIN
END Optimizarea afacerii repre –
zintă din punct de vedere economic,
un maxim de profit cu un minim de
cheltui eli, pe o anumită perioadă de
timp.
Modelul afacerii trebuie să
permită o analiză detaliată și o bună
sinteză ulterioară , determinată
pentru a fi, cât mai aproape de
scopul ales. Se va simula modelul în
condi ții reale unde apar și factori
perturbatori externi.
Securitatea sistemului infor –
matic presupune nu numai veri-
ficarea parolei la accesarea Bazei de
Date, dar și dotarea PC -ului cu
programe specializate de protec ție :
antivirus, anti -spy sau malware
protectio n.
Aceste programe rulează
continuu pe calculatorul personal,
dar și pe server.
14
Cazul de utilizare: Adaugare o înregistrare .
Angajatul introdu ce înregistrarea în baza de date a sistemului informatic
Actori: angajat, sistem
Descrierea cazului de utilizare:
Precondi ții: -angajatul este logat în program
-sistemul trebuie să fie func țional
Scenariu nominal :
1. Angajatul alege op țiunea Înregistrare candidat
2. Se introduc datele personale ale candidatului, în BD
3. Dacă există deja în BD, sistemul va afisa un mesaj de eroare.
4. Dacă nu există această înregistrare, sistemul confirmă introducerea da telor.
Scenariu alternativ:
Verificarea existen ței în registrării cu candidatul respectiv .
Verificarea se face la punctul 3.
In cazul în care există scenariul se încheie la pasul 3, altfel se va realiza pasul 4 din scenariul
nominal.
Postcondi ții: Înregis trarea este adaugată în program
Figura 006 Diagrama de Activitate : Adaugare o înregistrare
Se propune
Adaugare
Înregistrare
Introducere date
despre candidat
Verificare date
Introduse
Se adaugă
Înregistrarea Nod de
Decizie
Date Noi Date
Existente Mesaj de
eroare BEGIN
END Diagramele de cazuri de
activitate (Use Case) sunt diagrame
care descriu sistemul din punct ul de
vedere al utilizatorului.
Cu a ceste diagrame pot lucra
atât dezvoltatorii (proiectantul
sistemului) cît și clienții firmei .
Diagramele de a ctivitate
sunt necesare în special în etapa de
analiză a proiectului, dar se pot folosi
și în etapa de proiectare și testare
finală.
Diagramele UML sunt gra –
furi care descriu con ținutul unei
vederi (vederea aduce in prim plan
anumite zone ale sistemului).
Elementele de modelare
sunt mesaje, obiecte, clase și relații
între ele.
UML este indicat a fi folosit
deoarece se evită cele mai
numeroase defecte posibile la nivelul
de programare, pentru un anumit
limbaj ales.
15
Cazul de utilizare: Șterge o înregistrare
Angajatul poate sterge datele unei înregistrări din sistem.
Precondi ții: -angajatul este logat în programul bazei de date
-este necesar să existe înregistrări de candida ți în BD
-sistemul trebuie să fie func țional
Scenariu nominal :
1. Angajatul alege op țiunea Candidați
2. Angajatul introduce codul Candidatului.
3. Dacă nu există, sistemul va returna un mesaj de eroare.
4. Daca există, sistemul va afi șa înregist rarea căreia îi este atribuit codul.
5. Se accesează înregistrarea respectivă și se alege Delete.
6. Sistemul afis ează un mesaj de corectitudine.
Scenariu alternativ:
Verificarea înregistrării
Sistemul verifică codul produsului la punctul 3 din scenariu l nominal. Dacă aceste date sunt
eronate sistemul va afi șa un mesaj de eroare și va solicita reintroducerea codului, apoi caz ul
se continuă de la punctul 2.
In cazul în care codul este corect se execută pa șii 4,5,6 din scenariul nominal.
Postcondi ții: Înr egistrare a este ștears ă din sistemul BD.
Figura 007 Diagrama de Activitate : Șterge o înregistrare
Se solicită
Stergerea
inregistrarii
Introducere cod
inregistrare
Sterge
Înregistrarea Nod de
Decizie
Date existente Date
inexistente Mesaj de
eroare BEGIN
EN
Ștergerea unei înregistrări
este solicitată de client, dacă acesta
renun ță la o angajare prin
intermediul firmei de recrutare.
In lipsa unei solicitări din
partea clientului, dacă înregistrarea
nu este niciodată activată de
candidat, se presupune că nu mai
este de actualitate și se propune
puntru a fi ștears ă.
Diagrama de activitate no –
tată aici ca fiind cazul C. se realizează
practic datorită modului de
proiectare a programului.
Toate aceste etape logice
sunt codificate in limbajul ales
pentru a definitiva codul sursă ini –
țial.
Urmează, să fie validat dacă
testarea îl va confirma.
16
Cazul de utilizare: Modifică o înregistrare
Angajatul poate modifica datele unei înregistrări din sistem.
Preconditii : -angajatul es te logat in program
-trebuie sa existe înregistrări în programul BD
-sistemul trebuie să fie func țional
Scenariu nominal:
1. Se alege op țiunea Candidați
2. Se introduce codul înregistrării.
3. Dacă nu există, sistemul va returna un mesaj de eroare.
4. Daca există, sistemul va afi șa înregistrarea respectiv ă
5. Angajatul acceseaza și modific ă datele produsului.
6. Sistemul afisează un mesaj de confirmare.
Scenariu alt ernativ:
Verificarea înregistrării
Sistemul verifică codul înregistrării la punctul 3 din s cenariul nominal. Dacă aceste date sunt
eronate sistemul va afi șa un mesaj de eroare și va solicita reintroducerea codului, apoi cazul
se continuă de la punctul 2.
In cazul în care codul este corect se execută pa șii 4,5,6 din scenariul nominal.
Postcondi ții: Datele înregistrării sunt modificate în sistem
Figura 008 Diagrama de Activitate : Modifică o înregistrare
Se solicită
Modificarea
inregistrarii
Introdu cere cod
inregistrare
Modifică
Înregistrarea Nod de
Decizie
Date existente Date
inexistente Mesaj de
eroare BEGIN
END Modificarea unei înregistrări,
pentru un candidat, se execută la
cerea acestuia. Candidatul prime ște
prin e -mail con ținutul înreg istrării,
pentru a valida atributele acesteia.
Dacă există erori de înregis –
trare, atunci se vor rectifica conform
diagramei logice notată aici ca fiind
Cazul D.
De asemenea se pot solicita
anumite modificări ale înregistrării,
după ce, la emiterea unui ra port, se
vor constata că există erori.
Se va informa și clientul dac ă
este necesar.
Programul are un modul
specializat pentru a realiza o
modificare.
17
Cazul de utilizare: Arhivează o înregistrare, după angajarea candidatului
Angajatul poate modifica datel e unei înregistrări din sistem.
Preconditii : -angajatul este logat in program
-trebuie sa existe înregistrări în programul BD
-sistemul trebuie să fie func țional
Scenariu nominal:
1. Se alege op țiunea Candidați
2. Se introduce codul înregistrării.
3. Dacă nu există, sistemul va returna u n mesaj de eroare.
4. Daca există, sistemul va afi șa înregistrarea respectiv ă
5. Se arhivează datele clientului care a fost plasat într -un loc de muncă, prin
firmă.
6. Sistemul afisează un mesaj de confirmare a arhivării datelor.
Scenariu alternativ:
Veri ficarea înregistrării
Sistemul verifică codul înregistrării la punctul 3 din scenariul nominal. Dacă aceste date sunt
eronate sistemul va afi șa un mesaj de eroare și va solicita reintroducerea codului, apoi cazul
se continuă de la punctul 2.
In cazul în ca re codul este corect se execută pa șii 4,5,6 din scenariul nominal.
Postcondi ții: Datele înregistrării sunt modificate în sistem
Figura 009 Diagrama de Activitate : Arhivează o înregistrare
Se solicită
Arhivarea
inregistrarii
Introducere cod
inregistrare
Arhivează și mută
date în tabelul din
Arhivă -Date –
Solutionate Nod de
Decizie
Date existente Date
inexistente Mesaj de
eroare BEGIN
END Arhivarea unei înregistrări ,
pentru un candidat, se execută după
ce s-a finalizat activitatea de angajar e
în cadrul unei firme. Candidatul
prime ște prin e -mail con ținutul
înregistrării finalizate.
Dacă există erori de înregis –
trarea arhivării, atunci se vor rectifica
conform diagramei logice notată aici
ca fiind Cazul E .
Se emite în final și un raport,
după efectuarea arhivării înre -gistrării
respective, care se păstrează, pentru
conformitate, în arhiva fizică a firmei.
Se va informa și clientul.
Programul are un modul
specializat pentru a realiza o arhivare
date client, pentru final.
18
DIAGRAMA DE CLASĂ
Figura 010 Diagrama de clasă detaliată
Firma sursă pune la dispozi ția firmei de recrutare, candidații, doar la cerea
acestora. Au fost folosite pentru început firmele : 'eJobs' (8 candida ți),
'LinkedIn' (20 candida ți), 'BestJobs' (6 candidați), 'Hipo' (4 candi dați) și
'Facebook' (7 candida ți).
Firma de recrutare introduce în BD o înregistrare cu informa ții utile despre
client.
Se apelează la o firmă angajatoare care comunică, pentru un anume interval
de timp, necesitatea de locuri de muncă în domeniul IT.
Se dispune realizarea unui interviu pentru fiecare client.
Se pot solicita mai multe încercări, până, eventual se realizează, de comun
acord, o în țelegere referitoare la o posibil ă angajare a clientului la una din
firmele contactate.
Confirmarea angajării clie ntului, reprezintă finalul activită ților în sistemul
prezentat in diagrama din Figura 010 .
Diagrama de clasă: descrie structura unui sistem prin prezentarea claselor din acel
sistem, a atributelor lor și a relațiilor dintre clase.
Class diagram este o diag ramă folosită în proictare, pentru definirea structurii statice, a
claselor relevate într -un anume sistem. Supervisor
Genereaza Rapoarte
Modifica comanda
Sterge comanda
Asigura repartizare
Emitere Factura
Firma angajatoare
are
Confirmare interviu
Preluare client
Plata factura Client
Date personale
Salariu negociat
Nivel pregatire Firma Sursa
re Id candidat
Status candidat Administrat or
Adauga cont
Modifica cont
Sterge cont Recrutor
Id department
Denumire
department
Adauga inregistrare
Modifica inregistrare
Adauga comanda
Expediere Factura
19
Diagrama de clasă este utilizată pentru specificarea structu rii unor sisteme dintr -o firmă
Ea arată rela țiile dintre clase operațiile si atributele lor.
Prin conceptul de clasă se descriu structura și interac țiunile obiectelor clasei. Structura
conține atributele fiecărui obiect din clasă. Diagrama de clasă reprezintă structura claselor
identificate în sistem.
Clasele reprezinta concepte ce pot fi gestionate de sistem. Este cel mai utilizat tip de
diagrame UML pentru modelarea sistemelor orientate pe obiect. Diagrama de clase este
utilizată pentru vizualizarea, descrierea și pentru proiectarea codului executabil al aplicatiei
software. Ea descrie atributele și operații impuse în sistem.
Schemele de clasă sunt utilizate pentru modelarea sistemelor orientate pe obiect, și sunt
diagrame UML deosebit de relevante.
Diagrama de clasă prezintă o reuniune de clase, interfete, asocia ții. De asemenea, est e o
diagrama ce eviden țiază structurile interne ale sistemului supus analizei.
Scopul diagramei de clase este de a modela static o aplica ție, astfel :
Analiza și proiectarea statică a unui sistem, prezentarea responsabilitătilor în cadrul sistemului.
Este un element de baza pentru diagramele de implementare.
Reprezintă de fapt, în proiectul de soft un ajutor în compilarea codului sursă.
Se poate rezuma în final c ă diagramele de clase sunt utilizate pentru:
Reprezentarea statice a sistemului.
Arata rel ațiile dintre elementele de tip static.
Arată func ția sistemului.
Se pot proiecta aplicatii software folosind limbaje orientate pe obiect.
Scopul practic , pentru aceast ă diagramă, reprezintă angajarea candidatului la una din
întreprin -derile care au afi șat locuri de munc ă. Am prezentat mai sus sursele de clien ți potanțiali
numi ți aici candidați, deoarece ei vor susține un interviu, pentru o eventual ă angajare. Firmele
care au angajat efectiv, prin firma de recrutare respectivă, au fost : HP, Oracle, Micr osoft,
Cegeka, Pepsi -Cola, Carrefour. Speializare IT, presupune, software și hardware deopotriv ă.
După angajarea de probă, urmează o evaluare pe care o prezintă șeful de secție, conducerii
firmei. Dacă se consideră că există cointeresare din partea candida tului și a firmei respective,
atunci se aprobă angajarea pe termen nelimitat.
20
DIAGRAME DE STARE
Starea ini țială a candidatului. Figura 011
Se verific ă dacă candidatul respectiv este deja, sau nu, client adăugat în baza de date a firmei
de recrutare. Dacă există în BD atunci apare drept client înregistrat. Dacă nu există memorat
în BD, atunci se adaugă informa țiile respective ca o nou ă înregistrare.
Diagram a de stare se vede în Figura 011 , de mai jos :
Figura 011 Diagrama de stare Client
. Starea Inregistrărilor din BD. Stare cu rentă. Figura 012 .
Se verific ă starea tabelului unde se înregistrază clien ții.
Se verifică înregistrările curente și cele ce au fost arhivate.
După ce o anumită înregistrare este confirmat ă ca solu ționat ă, se trec e în arhivă acea
înregistrare.
Acest lucru permite neacumularea de erori.
Se separă clien ții soluționați. Se emite un raport zilnic.
Acest raport se arhivează în arhiva fică a firmei. Se solicită
Verificarea Contului
Introducere cod
MESAJ :
“Client inregistrat” Nod de
Decizie
Date existente Date
inexistente Se adauga in
BD BEGIN
END CLIENT Diagrama de stare
Client, prezentată aici, este de
fapt o confirmare de existen ță a
unei înregistrări.
Se cere verificarea unui
cont. După introducerea
codului specifi c clientului, la
decizia programului se
confirmă sau nu existen ța
datelor urmărite.
Cele două căi ce se
despart din blocul de decizie
permit adaugarea contului în
BD dacă acesta nu există încă,
sau se dă un mesaj către
utilizator “Client înregistrat” .
Acestă logică se
prevede ini țial în program.
21
Pe baza acestui raport se întocme ște validarea facturilor pentru încasarea onorariului de
plasare clien ți. Urmeaz ă apoi opera țiile financiare aferente.
Verificarea implică și înregistr ările din ziua trecută.
Datelor nesolu ționate înc ă, reprezintă BD a clien ților în așteptare.
Execu ția de arhivare po ate avea loc înainte, de începutul de activitate zilnică a firmei.
Diagram a de stare se vede în Figura 012 , de mai jos :
Figura 012 Diagrama de stare. Solu ționări.
Diagrama de Stare a FACTURII
Conform diagramei de clas ă detaliată, prezentat ă mai sus, în Figura 013 , factura se emite
de firma de recrutare personal IT, este avizată de superviser, apoi se trimite la unitatea care a
angajat candidatul înregistrat.
Dacă sunt îndeplinite toate conditiile din diagram a de stare a f acturii Figura 000 , atunci
aceasta se trimite pentru a fi achitată.
Aceste facturi, după ce sunt achitate, (banii intră în cont) reprezintă de fapt modul de a
realiza echilibrul financiar al firmei de recrutare. Din ace ști bani se se asigur ă toate plă țile
curente și salariile. Se solicită
Deschiderea BD
Introducere cod
pentru un client
MESAJ :
“BD verificată” Nod de
Decizie
Date nesoluționate Date
solutionate Se adauga in
Arhiva BEGIN
END Diagrama de stare a
înregistrărilor, este o verificare
zilnică a BD a firmei, înainte de
a se efectua înregistrările zilei
curente.
De deschide BD. Se
verifică starea tabelului cu
înregistrările zilei trecute.
Dacă este cazul se
aduce Tabelul cu clien ți, la zi.
Cele două căi ce se
despa rt din blocul de decizie
permit adaugarea contului în
arhivă dacă clientul a fost
angajat, sau se dă un mesaj
către utilizator “BD verificată ”. Verificarea
Tabelului la zi
22
Dacă încasările vor fi suficient de mari atunci va exista și un profit acceptabil. Angajații
vor primi gratifica ții sau m ăriri de salarii. Conlucrarea angajatilor din colectiv duce la acest
echilibru. Faptul că sistemul informatic a f ost prevazut cu BD analizată mai sus , face posibilă
menținerea firmei în funcțiune.
Diagrama de stare a Facturii
Figura 013
Sistemul informatic de management (SIM) :
După ce un anumit proces este modelat , acesta poate fi testat indiferent de
implementare, prin executarea analizei static e. Fiecare modul al bazei de date poate fi
verificat și validat independent de orice alt modul component al programului. Acest lucru
permite erorilor detectate s ă fie asociate doar cu acel modul.
Verificarea modelelor se execută de exper ți din domeniul d e IT-programare , în
limbajul respectiv. Validarea implic ă utilizarea unor progra me la execu ția modelului.
Execu ția poate avea loc înainte, sau după compilarea modelului. Emitere Cerere de
Factura
Factura Emisa Nod de
Decizie
Date complete Date
incomplete Mesaj
“FACTURA
GRESITA BEGIN
END FACTURA
Plata
Factura Refacere
Factura Factura este
AVIZATA Avizare
FACTURA DA
NU Nod de
Decizie END
23
Pentru a începe execu ția programului, modelul BD trebuie verificat dinamic. Dup ă
comp ilarea modelului se permit teste de verificare atunci când programul rulează.
Optimizarea modelului BD, după instalarea pe server, reduce timpul de execu ție a
comenzilor, fără să afecteze independen ța modulelor.
Optimizările pot fi realizate automat de compilatorul de module.
Figura 014
Abreviere Intrări Proces Ieșiri
SIM Date referitoare
la clienți Generare de rapoarte,
Date de management,
Interogari Decizii,
Răspu nsuri la Interogări
În derularea procesului de generare de rapoarte, se pot emite diferite
tipuri de rapoarte, astfel :
1. Rapoartele periodice – o formă clasică de date emise într -un format dat;
2. Rapoartele excepționale – oferite când apar eveniment e deosebite;
3. Rapoarte la cerere – când sunt solicitate într -o anume form ă dorită.
Sistemele informatice actuale pot fi proiectate să poată fi utilizate în mod
centralizat sau descentralizat. În activitatea de testare a programului , se vor lua decizii
optime. Programele de baze de date (managementul bazelor de date) sunt specializate și
permit crearea, utilizarea și întreținerea bazelor de date integrate unui sistem de luare de
decizii.
Aceste soft face posibilă memorarea și modificarea structurii baz ei de date, a
înregistrărilor de candida ți.
a) Avantajele centralizării
Se pot conecta toate componentele unei organizații prin rețele de
comunicații care oferă managementului posibilitatea de centralizare a
procesului de luare a deciziei .
Se promovează c entralizarea operațiilor și se reduc num ărul de angaja ți
recrutori.
b) Avantajele descentralizării
Se folosesc rețele distribuite de calculatoare la mai multe puncte de lucru
ce oferă managerilor posibilitatea de a decide cu un nivel mai jos.
SIM poate de scentraliza activitatea operațională prin creșterea numărului
de PC -uri care au acces la BD.
24
Optimizările reprezintă o activitate deosebit de complexă a unei analize UML.
Astfel se urmărește ca în loc de identificarea unei stări stabile, să se obțină un pr oiect
optim pentru unul sau mai multe module, în condițiile existenței unui program care
rulează efectiv.
Se fac schimbări repetate de interfa ță sau mod logic de execu ție, în func ție de
cerin țele firmei, pân ă când se găsesc cele mai bune reprezentări pent ru modulele în
cauză.
Diagrama de proces logic pentru BD
În final prezentăm diagrama de proces logic al bazei de date ce va fi
implementată ca program de prelucrare, stocare și distribuție a datelor
Am analizat mai sus diagramele de activită ți efectuate pe un PC, de unde se poate
accesa programul bazei de date a firmei. Modulele existente sunt : Autentifiare, Inserare
date, Modificare date, Stergere date. Aceste module alc ătuiesc programul BD.
Interconectarea logică a acestor module, în procesul de folosi re a BD este ilustrat
în Figura 0 15 :
Figura 015 . Diagramă de procesare logică. M odule inerconectate.
dbconnect
Conectarea la BD delete
Se sterg anumite
inregistrari
index
Se insereaza
inregistrarile in casute
de text edit
Se modifica
inregistrarile
insert
Se memoreaza
inregistrarile editform
Se editeaza forma care
va contine butoanele
de executie
25
Avantajele acestui sistem informatic de prelucrare baze de date pentru firma de recrutare
forță de muncă din domeniul IT :
Logare securizată la Baza de Date pentru recrutare personal IT.
Rapoarte transmise în timp real despre : clien ți, surse, sau pentru cele mai active
firme care angajează speciali ști in IT precum și salarizarea acestora.
Sistemul poate fi accesat de mai mulți recrutori din punctele de lucru interne
Timp minim pentru executarea de operații în BD a firmei
Tehnologia Cloud se dezvoltă constant, dar mul ți utilizatori au nu au folosit -o
încă. Avantajele Cloud -ului au devenit evidente in timp și s-a impus, fiind tehnic
superior.
Concluzii pentru proietare :
Cerințe pentru func ționarea optim ă a firmei, privită ca siste m unitar :
Personalul implicat în comunicarea cu alte firme trebuie să respecte un protocol
specific.
Factorii de conducere să supervizeze activitatea la nivel global în firmă.
Externalizarea informa ției se va face folosind structura de intranet a firmei.
Opera țiile descrise în lucrare și modelate prin intermediul UML, se vor reg ăsi, după
implementarea programului BD, în activitatea curentă a firmei.
Analiza programului va urmări pa șii : analiz ă statica, dinamică și funcțional ă
Eventual, anumite bug -uri, c e se vor eviden ția mai târziu, în exploatare, se vor remedia
de proiectant, conform contractului.
Evolu ția tehnologic ă în domeniul IT, presupune investi ții periodice și în viitor, în
software și hardware, pentru a menține firma la un nivel de competenț ă ridicat.
4. PROIECTAREA APLICA ȚIEI BD “Recrutare”
Diagrama de desf ășurare . Modul cum se realizează legătura fizică dintre candidat si Firma
de recrutare personal IT.
Diagrama de desfă șurare reprezint ă parti ționarea componentelor și obiectelor active
(de exemplu Baza de Date) implementate pe loca ția lor fizic ă din spa țiul Internet / Intranet.
O bază de date , ( BD), reprezintă un mod de stocare a unor informa ții pe un suport de
stocare, cu posibilitatea înregistrării și a prelucr ării rapide a acestora.
O bază de date proiectată MySQL -PHP este memorată în mai multe fi șiere de pe server. Bazele
de date in CLOUD sunt gestionate cu ajutorul sistemelor specifice pentru bazele de date.
26
Bazele de Date rela ționale sunt BD în care inregis trările sunt memorate în tabele .
Figura 016
Diagrama de componente. Ref. la aplic ația : Proiect BD
Figura 017
Diagrama componentelor modeleaz ă dependen ța componentei software în func ție de
codul sursă, codul binar și component ele executabile.
Server : Retea Intranet FIRMA RECRUTARE
Sistem de operare : WINDOWS SERVER 2010
CAND IDAT
BROWSER
APLICATIE
LIMBAJ SCRIPT
PHP
…Pagina n
Aplicatie
Pagina 2 ….
Aplicatie
Pagina 1
Conectare
Baza de Date : MySQL
Web SERVER
OPERATOR
Firm ă
Recrutare
Operator
Controller
View pagini PHP
Aplicatie
Baza de Date
MySQL
PHP GET REQUES T
SQL Select
Diagrama Componente
27
MySQL este un sistem de gestiune a bazelor de date relaționale, produs de compania
MySQL AB și distribuit sub Licența Public ă Generală GNU. Este un SGBD open -source fiind
o componentă de bază în proiectare.
PHP împreună cu MySQL pot c onstrui aplica ții moderne de BD.
Licen ța GNU GPL nu permite încorporar ea MySQL în softuri comerciale.
Nivelul intern de stocare este modul în care sunt stocate datele în sistem.
Nivelul extern de stocare este modul în care sunt vizualiza te datele
Nivelul conceptual nivel logic, intermediar , între celelalte două nivele de mai sus.
Memorarea se execută pe linii și coloane care aparțin unui tabel de date. Fiecare linie
reprezintă o înregistrare, iar fiecare coloană este un atribut specific al înregistrărilor.
Atributele care nu sunt chei primare sunt variabile independente unle de altele. In baza
de date proiectată aici cheia primară o reprezită coloana NUME. Utilizarea limbajului PHP împreună cu MySQL se rezolvă prin trimiterea comenzilor
SQL către serverul MySQL , utilizând funcția : mysqli_query();
Caracteristicile MySQL :
Este o platformă de lucru care nu depinde de si stemul de operare Windows, Linux .
Este gratuit în anumite condiții de licențiere , numit și Open Source Software.
Afișarea interogării și rularea modulului respectiv în BD se face prin intermediul de
aplicații separate. La realizarea bazei de date s -a folosit phpMyAdmin, pentru că
prezintă interfață ușor de folosit de utilizator.
Legătura logică dintre module se prezinta in organigrama din Figura 000 de mai sus.
Fiecare din cele 7 module, după conectarea cu dbconnect.php , foloseste instruc țiunea
include dbconnect.php, ceea ce presupune că se pot executa opera ții asupra BD doar
dacă este asigurată o conexiune stabilă.
Criteriile necesare pentru eficiența BD sunt :
încărcare rapidă, conținut relevant, navigare ușoară, aspect placut. Un design de calitate al
BD pune în valoare funcționalitatea ei și informația oferită la ie șire sub form ă de Rapoarte.
28
Avantajele acestui sistem informatic de prelucrare baze de date pentru firma de rec rutare
forță de muncă din domeniul IT
Logare securizată la Baza de Date pentru recrutare personal IT.
Rapoarte transmise în timp real despre : clien ți, surse, sau pentru cele mai active
firme care angajează speciali ști in IT precum și salarizarea acestora .
Sistemul poate fi accesat de mai mulți recrutori din punctele de lucru interne
Timp minim pentru executarea de operații în BD a firmei
Tehnologia Cloud se dezvoltă constant, dar mul ți utilizatori au nu au folosit -o
încă. Avantajele Cloud -ului au devenit evidente in timp și s-a impus, fiind tehnic
superior.
Se fac schimbări repetate de interfa ță sau mod logic de execu ție, în func ție de
cerin țele firmei, pân ă când se găsesc cele mai bune repreze ntări pentru modulele în
cauză.
S-a proiecta t BD, memorată p e server , cu ajutorul limbajelor PHP , HTML ,
MySQL . Se folose ște instrucțiunea : mysqli_query(); pentru a accesa baza de date, din
care se vor afi șa sau prelucra înregistr ările, conform cu codul sursă.
Codul sursă este prezentat în Anexa 001. S-au pro iectat modulele bazei de date,
conform cu cerin ța firmei.
Modulul de conectare la Baza de Date.
Modulul
Modulul
Modulul
Modulul
Modulul
Modulul
4.1 Implementarea aplica ției Baz ă de Date
In cadrul sistemul informatic proiectat , există următoarele date de intrare:
Date despre clien ți (candida ți), firme angajatoare și firme sursă (surse de informa ții despre
posibili candida ți).
Pentru modificarea sau ștergerea unei înregistr ări, se execută o căutare după nume, apoi cu
toate datele corecte despre acea în registrare, se modifică sau se șterge candidatul din BD.
Pentru afi șarea situației reale, dup ă ce numai anumi ți candidați au fost angajați în cadrul unei
firme ofertante, se folose ște butonul “Raport”. Se reunes c doar anumite atribute din comune
tabelelo r, cu specifica ția de final, și anume : “candidatul a fost angajat” , apoi se listeaz ă.
29
Pagina principală a bazei de date.
Figura 018
Inserearea unei noi persoane de contact , se realizeaz ă în pagina a doua, folosind butonul
respectiv, conform cu Figura 019 :
Figura 019
Pentru inserarea unei noi înregistrări, se foloseste interfa ța din Figura 018 .
Se pot afișa toate înregistrările pe o anumită perioadă de timp. Vezi Figura 020.
30
Figura 020
Se mai poate realiza și căutarea unui angajat, folosin butonul respectiv. Se mai pot realiza
opera țiile următoare : Ștergere înregistrare, Modificare înregistrare, C ăutare candidat.
Pentru a realiza un raport care să fie transferat în M.Excel sub formă de tabel, se va folosi
butonul “Export Excel”.
Figura 021
31
Acest a este raportul afi șat în pagin ă, conform cu Figura 022 , la execu ția CLICK pe butonul
“Raport angaj ări “ :
Figura 02 2
Se va executa opera țiunea de download a acestei situa ții ceruta, ca fișier de tip “Raport
Excel” în folder -ul Download din Windows 10 . Ace ști candidați au fost deja angaj ati conform
cu cerea acestora mediată cu oferta firmei angajatoare, conform cu Figura 023 :
Figura 023
Se alocă coeficien ți de importanț ă pentru salariile cerute, pentru tipul de tehnologie software
de lucru și pentru nivelul de expe rință al candidatului , conform cu calculul din Figura 000 . Se
determină apoi o medie între aceste valori , medie ce reprezintă de fapt rating -ul fiecărui
candidat în parte. Aceste valori se introduc în codul sursă, unde se calculează, apoi se va afi șa
la cerere, media lor.
32
Figura 024
Figura 025
Se afisează , ca raport, la cerere, tabelul din Figura 0 29, cu Importan ța Salariului, a
Tehnologiei și a Experinței. In ultima coloan ă se afi șează Rating -ul general, ca medie între
valorile anterioare, pentru fiecare can didat.
Exemplu : 10. Ion Avram …. 0,94 0,897 0,556 și media de : 0,80
Pentru cazul afi șat, Rating -ul variază în domeniul [0,41 ; 0,80]. Este o caractertistic ă
individuală, arbitrară, pentru o apreciere sumară din start. Fiecare candidat va da un examen –
colocviu înainte de angajare , și se va defini nivelul de apreciere la noul loc de munc ă.
33
4.2. Func ționalitate. Testare. Audit.
Testare de tip “Black box ” canalizat ă pe verificarea cerin țelor func tionale ale aplicatiei; acest
tip de testare trebuie facut de testeri IT. Și programatorii trebuie s ă iși verifice codul – se apli că
oricărui stadiu al testării. Nu se bazează pe cunoa șterea intern ă a design -ului sau a codului .
Testele sunt bazate pe cerin țe și funcționalitate
Testare “White box ”
Se bazează pe cunoa șterea logicii interne a codului aplicației. Testele sunt bazate pe acoperirea
sintaxei de cod, ramuri, cai, condi ții.
Testarea Func țional ă
Prima treaptă a testarii ; se testează func țiile sau module de cod . Sunt facute de programatori
deoarece sunt necesare cuno ștințe avansate a design -ului intern al aplicatiei și codului.
Testarea combinata a diferitelor păr ți dintr -o aplica ție pentru a vedea dac ă func ționeaz ă
corect. Aceste "păr ți" pot fi :
module de cod sursă ,
aplicatii individuale,
aplicatii client -server intr -o rețea
Testare de siste m
testare de tip black -box bazată pe specifica ții care acoper ă toate păr țile sistemului.
Testare “end-user sau client ”
determină dacă software -ul este satisfacator pentru un end-user sau client.
Testarea daca un software este "user -friendly". Evident aceasta testare este subiectivă și va
depinde de utilizator sau de client. Interviuri cu utilizatorii, monitorizarea sesiunilor
utiliz atorilor sunt metode care pot fi folosite. Programatorii și testerii nu sunt cei mai indicați
pentru acest tip de testare.
Testare “install/uninstall ”
testarea par țială sau integrală a procesului de instalare sau upgrade pentru aplica ția BD.
Testare “end-to-end”
Similar cu system testing; este testare de nivel 'macro ' ; presupune testarea aplica ției in
mediul in care va fi folosită efectiv, în cadrul firmei beneficiare a acestui software.
Evidențierea unor scenarii de testare
Cazurile de testare trebu ie să men ționeze :
Titlul (func ționalitatea ce va fi testat ă)
Versiunea (cazul de testare se modifică in timp, o dată cu aplica ția)
Cazurile de testare se scriu sub forma de tabel, și conțin
următoarele coloane:
ID
Pașii testului
Rezultatele a șteptate
Rezu ltatele reale
ID-ul defectelor
34
Versiunea pe care s -a executat testul
Rezultatul testului (pass, fail, etc.)
Unele teste precizează și condițiile necesare inainte de a se rula un
test.
Cele mai frecvente greseli ale cazurilor de testare:
Cazurile de testare sunt prea lungi
Setup incomplet, incorect sau neclar
Omiterea unui pas
Numirea unor campuri care s -au schimbat sau nu mai exista
Neclaritatea daca testul a trecut sau a picat
Raportarea unor defecte:
Incident, defect = orice eveniment importa nt, neplanuit care se produce in
timpul testării, și care necesit ă investiga ții sau corecție de software :
Sistemul nu functionează conform cu normele impuse ini țial de beneficiar
Rezultatele reale diferă de cele planificate la începutul proiectului
Formatul recomandat pentru raportarea d efectelor
ID-ul defectului constatat la testare proiectului
Numele modulului care nu este conform cu cerin ța
Versiunea executabilă care se testează în acel moment
Tipul de eroare care s -a eviden țiat în timpul rul ării programului BD
Concluzii testare
Unele teste sunt bune pentru scopul dorit, pentru a afla tipul de informa ție necesar ă
eviden țierii defectului
Testerii folosesc numai anumite tipuri de tehnici
de testare, bazate pe un scenariu, sau un caz
de utilizare.
Se vor edita rapoarte simple pentru defec te (un defect – un
raport).
Se vor păstra doar pa șii care sunt relevanți pentru
reproducerea acelor defecte, pentru constatare și remediere.
Descrierea activităților de mentenanță
Mentenan ța IT hardware și software const ă în inspectarea frecventă a echipa mentelor în
scopul prevenirii situa țiilor de nefunctionare a acestora, întretinerii, remedierii
defectelor constatate, inlocuirii consumabilelor atunci cand este necesar.
Structura serviciilor de mentenanta IT
Mentenan ța IT predictiv ă consta în vizite peri odice la sediul clientului, in urma cărora
vor fi efectuate revizii generale asupra echipamentelor IT în baza planului de revizii
agreat de către compania respectivă. Scopul acestor revizii este de a preîntâmpina
posibile defectiuni;
Mentenan ța IT corectiv ă constă în interven ții la sediul clientului, ca urmare a semnal ării
unei probleme de nefunc ționare.
Se asigură serviciile :
Servicii de mentenan ța IT hardware
Diagnosticare și depanare pentru defecțiuni de hardware;
Instalare de componente noi și verific area compatibilitătii acestora;
Instalare de echipamente periferice;
Update pentru programe și optimizare BIOS pentru terminale PC
Testarea programelor software conform cu cele prezentate mai sus.
Servicii de mentenanta IT software, specifice pentru anumit e programe.
35
Elaborarea unui plan de audit pentru aplica ția BD Recrutare .
Auditul bazelor de date este un domeniu complex. Lucrul cu bazele de date
presupune atât datele înso țite de relațiile create între ele, cât si programele cu care
datele se gestionează .
Auditul programului BD vizează definirea acelor elemente prin care se
stabile ște m ăsura în care datele stocate, prelucrate și afișate îndeplinesc cerințele de
calitate:
corectitudinea codului surs ă
temporalitatea : se va lua în considera ție update -ul realizat anterior
Auditul propriu -zis include proceduri analitice prin care se eviden țiază diferen țele
dintre ceeea ce s -a planificat a se realiza si ceea ce s -a realizat de fapt.
Procedurile analitice au la bază contractele încheiate între păr ți. În cazul î n care auditorul
informatic are la bază pregătire de programator, acesta știe s ă aleagă din multitudinea
de proceduri și texte cu caracter analitic pe acelea care ofer ă informa ția reprezentativ ă
privind produsul software -BD auditat, fie că este vorba de un modul sau
de un sistem complex. Efortul de auditare este ridicat, indiferent de complexitatea
produsului auditat.
Auditul informatic are la bază înregistrări privind structura software, structura bazei de
date, înregistrări ale lung imilor, volumului, complexită ții și înregistr ări complete
asupra comportamentului în timpul execu ției programului.
Auditul pe codul sursă punctează care sunt minusurile din textul sursă sau care sunt
definirile în plus, fără a da solu ții, adic ă fără a gene ra secven țele lips ă pentru a arăta
cum trebuie rescris programul. Auditorul care efectuează o inspec ție a codului surs ă
trebuie să îndeplinească condi țiile :
Să cunoască limbajul de programare în care este scris programul auditat;
Să determine stilul de p rogramare pentru scrierea codului de programatori i care
a realizat programul;
Să acepte solu ții : ori să rescrie pro gramul integral , ori să reutilizeze
compo nente folosite deja în proiectul ini țial.
Auditul aplica ției informatice numită aici BD-Recrutare , se efectuează de un organism
independent asupra diferen țelor dintre calitatea planificat ă și calitatea efectiv ă a
aplica ției. Auditul reprezintă o concluzie asupra siguran ței clientului.
Auditul calită ții software realizeaz ă următoarele :
utilizatorul e asigurat că produsul îndepline ște cerin ța proiectului.
cumpărătorul e asigurat că produsul va fi livrat la timp în limitele bugetului.
producătorul e asigurat că produsul s -a dezvoltat corect, conform cerin ței.
Costul auditului este un preț pe care utili zatorul, cumpărătorul și produc ătorul trebuie să
îl plătească pentru a -și reduce riscurile de lucru, de imagine și riscurile complexe
economico -financiare aferente.
4.3 Structura hardware
Interfa ța de intrare :Introducerea de date se realizeaz ă prin inerm ediul tastaturii, scanner -ului,
mouse -ului, cititor de cod de bare pentru materiale, e -mail.
Interfa ța de ieșire : Ieșirea datelor se realizeaz ă prin intermediul Monitorului, imprim antei,
memorie externă, e -mail.
Necesar de hardware pentru re țeaua Intranet a firmei :
14 Terminale de tip PC, Intel i7 cu 32 GB RAM, Placa Video Prof. 4 GB, DVD
36
14 Monitoare LG cu LED, 24 inch, Timp de raspuns 2 ms, Format 16 x 9, HDMI,
SVGA, Rezolutie 2500 x 1400
6 Terminale de tip Imprimanta A4 , 2 Terminale de tip Imprimanta A3
2 Terminale de tip Imprimanta A2
9 Terminale de tip LAPTOP, ASUS, 17 inch, Intel i7, 8GB RAM, DVD + 3 Router
wireless ASUS Gigabit RT -AC87U Dual -Band Black , 802.11 a/b/g/n/ac, 1700Mb/s
1 emi țător de semnal Wireless pentru Router 802.11 a/b/g/n/ac
Sche ma fizică a Intranet -ului din cadrul firmei.
Figura 026
Necesar de software
Windows 10 Licen ță pentru 14 PC + 9 Laptop, Windows Server 2016
Microsoft Office 2016 + Microsoft Project, Licen ță pentru 14 PC + 9 Laptop
Aplica ție BD : relația cu clienții, firmele surs ă, firmele amgajatoare, rela ții interne.
Instrumente de comunicare online
Forum, WEB -chat, Facebook, Twitter, Live blogging.
În business folosirea e -mailului este de preferat în detrimentul întâlnirilor directe și al
discuțiilor telefonice din motive ce țin mai ales de eficiența timpului și de costuri. Departament IT.
Localizare Server
2 Terminale PC
1 Terminal Imprimanta
1 Emițător de semnal
Locatie climatizata
Departament Financiar si
Resurse Umane
2 Te rminale PC + 2Laptop
32 Terminale Imprimanta
1 terminal cititor de cod
de bare
1 Router Consiliul de Administratie
2 Terminale PC
2 Laptop
1 Router
1 Terminale Imprimanta
Inregistrare
3 Terminale PC
3 Laptop
1 Router
3 Terminale Imprimanta Verificari
1 Terminal PC
1 Terminal Imprimanta Modificari
2 Terminale PC
1 Terminal Imprimanta
Sector de Relații interne
1 Terminal PC
1 Terminal Imprimanta Sector de Relatii externe
1 Terminal PC
1 Terminal Imprimanta
37
Avantaje :
Se gânde ște textul s ă cuprindă informațiile corecte, înainte să fie transmis
Ideile trimise să fie complete, fără omisiuni
Folosind e-mailul nu există condiționare fa ță de programul destinatarului.
CONCLUZII …………………………..
Bibliografie
SSD BDSA Curs 1, 2, 3 format pptx, editura ASE 2017
Proiectarea bazelor de date Lector Dr. Adrian Runceanu, Editura d idactica 2015
Documente electronice Revista Informatica Economica, nr. 4 (20)/2001, Romeo
Mihai PAVELESCU, Ministerul Apararii Nationale, RRomica@yahoo.com
Managementul Proiectelor Mihai HULEA, UTCN, 2/11/2011
Revis ta Informatica Economica, nr. 8/1998, Intranet – elemente metodologice de
proiectare si realizare, Prof.dr. Ion Gh. ROSCA, ing.dr. Vladimir DUMITRESCU,
asist. Carmen STANCIU, Catedra de Informatica Economica, A.S.E. Bucuresti
Diagrame in UML, Facultatea de Cibernetica, Statistica si Informatica Economica,
Lect. Univ. Dr. Ramona -Mihaela PAUN, Catedra de Cibernetica Economica.
Modelarea Cazurilor de Utilizare, Asist. dr. Mihai Gabroveanu Anul II –
Informatica.
Alistair Cockburn, Writing Effective Use Cases, Ad dison -Wesley
[2] R.C. Martin, UML Use Case Diagrams, Engineering Notebook, C++ Report,
Nov-Dec, 98, http://www.objectmentor.com/resources/articles/usecases.pdf
38
ANEXE
Anexa 001.
BD Recrutare Candida ți.
Modulul 01 x.php
1 <?php
2
3 $output = NULL;
4 if(isset($_POST['submit' ]))
5 {
6
7 $mysqli = NEW mysqli ("localhost" ,"root","","recrutare" );
8
9 $SSearch = $mysqli->real_escape_string ($_POST['SSearch ']);
10
11 $resultSet = $mysqli->query("SELECT candidati.Nume AS NumeCand,
candidati.Telefon AS
TelefonCand, candidati.Tehnologia AS TehnologieCand,
angajari.Salariu_obtinut AS
SalariuAng, angajari.Data_angajarii AS DataInceput
12 FROM candidati,angajari
13 WHERE candidati.Nume = ' $SSearch ' AND candidati.Nume =
angajari.Nume" );
14
15 while($rows = $resultSet ->fetch_assoc ())
16 {
17 $Nume = $rows['NumeCand' ];
18 $Telefon = $rows['TelefonCand' ];
19 $Tehnologia = $rows['TehnologieCand' ];
20 $SalariuAng = $rows['SalariuAng' ];
21 $Data_angajarii = $rows['DataInceput' ];
22
23
24 $output .= "<p>Nume: $Nume<br />Telefon: $Telefon <br />
Tehnologia:
$Tehnologia <br /> Salariu Angjat: $SalariuAng <br /> Data_angajarii:
$Data_angajarii </p>";
25 }
26 }
27
28 ?>
29
30 <?php
31 $mysqli=mysqli_connect ("localhost" ,"root","");
32 mysqli_select_db ($mysqli,"recrutare" );
33
34 ?>
35
36
37 <!DOCTYPE HTML PUBLIC " -//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
38 <html>
39 <head>
39
40
41 <title>CANDIDATI </title>
42 <meta charset="utf-8">
43 <meta name="viewport" content="width=device -width, initial –
scale=1" >
44 <link rel="stylesheet" href="bootstrap/css/bootstrap.css" >
45 <script src="js/jquery.js" ></script>
46 <script src="bootstrap/js/bootstrap.min.js" ></script>
47
48 </head>
49
50 <body>
51 <form name="form1" action="" method="post">
52 <table>
53
54 <tr>
55 <td><p class=MsoNormal style='text-indent:35.4pt' ><span
lang=EN-US>ID</span></p></td>
56 <td><input type="text" name="id"></td>
57 </tr>
58
59 <tr>
60 <td><p class=MsoNormal style='text-indent:35.4pt' ><span
lang=EN-US>NUME</span></p></td>
61 <td><input type="text" name="Nume"></td>
62 </tr>
63
64 <tr>
65 <td><p class=MsoNormal style='text-indent:35.4pt' ><span
lang=EN-US>TELEFON</span></p></td>
66 <td><input type="text" name="Telefon" ></td>
67 </tr>
68
69 <tr>
70 <td><p class=MsoNormal style='text-indent:35.4pt' ><span
lang=EN-US>SURSA</span></p></td>
71 <td><input type="text" name="Sursa"></td>
72 </tr>
73
74 <tr>
75 <td><p class=MsoNormal style='text-indent:35.4pt' ><span
lang=EN-US>E-MAIL</span></p></td>
76 <td><input type="text" name="E_mail" ></td>
77 </tr>
78
79 <tr>
80 <td><p class=MsoNormal style='text-indent:35.4pt' ><span lang=EN-
US>FORMA
COLABORARE </span></p></td>
81 <td><input type="text" name="Forma_colaborare" ></td>
82 </tr>
83
84 <tr>
85 <td><p class=MsoNormal style='text-indent:35.4pt' ><span lang=EN-
US>ANGAJATOR
ACTUAL</span></p></td>
86 <td><input type="text" name="Angajator_actual" ></td>
87 </tr>
40
88
89 <tr>
90 <td><p class=MsoNormal style='text-indent:35.4pt' ><span
lang=EN-US>SALARIUL </span></p></td>
91 <td><input type="text" name="Salariu" ></td>
92 </tr>
93
94 <tr>
95 <td><p class=MsoNormal style='text-indent:35.4pt' ><span
lang=EN-US>TEHNOLOGIA </span></p></td>
96 <td><input type="text" name="Tehnologia" ></td>
97 </tr>
98
99 <tr>
100 <td><p class=MsoNormal style='text-indent:35.4pt' ><span
lang=EN-US>EXPERIENTA </span></p></td>
101 <td><input type="text" name="Experienta" ></td>
102 </tr>
103
104
105
106 <tr>
107 <tr>
108
109 <td colspan="2" align="center" >
110 <hr><p><input type="submit" name="submit1" class="btn btn -info
btn block"
value="Inserare candidat" ></p>
111 <p><input type="submit" name="submit2" class="btn btn -info btn
block"
value="Stergere candidat" ></p>
112 <p><input type="submit" name="submit3" class="btn btn -info btn
block"
value="Modificare candidat" ></p>
113 <input type="submit" name="submit4" class="btn btn -info btn
block"
value="Afisare inregistrari BD" >
114 <input type="submit" name="submit5" class="btn btn -info btn
block"
value="Cautare" >
115 <input type="button" name="aa" value="Raport" class="btn btn –
info btn
block" onclick="location='http://localhost/x/wqe.php'" />
116 <input type="button" name="aa" value="Adaugare angajat"
class="btn
btn-info btn block" onclick="location=' http://localhost/x/d.php'" />
117 <input type="button" name="aa" value="Adaugare contact"
class="btn
btn-info btn block" onclick="location='http://localhost/x/za.php'"
/>
118 <input type="button" name="aa" value="Export Excel" class="btn
btn-info
btn block " onclick="location='http://localhost/x/ss.php'" /><hr>
119
120 </td>
121 </tr>
122 </tr>
123
41
124
125 </table>
126 </form>
127
128
129
130
131 <p><form method="POST">
132 <input type="TEXT" name="SSearch" />
133 <input type="SUBMIT" name="submit" value="Cautare angajat" >
134 </form></body></html></p>
135
136
137
138
139 <?php
140 if(isset($_POST["submit1" ]))
141 {
142 mysqli_query ($mysqli, "INSERT INTO `candidati`(`id`, `Nume`,
`Telefon`, `Sursa`,
`E_mail`, `Forma_colaborare`, `Angajator_actual`, `Salariu`,
`Tehnologia`,
`Experienta`) VALUES
('$_POST[id]','$_POST[Nume]',' $_POST[Telefon]',' $_POST[Sursa]',' $_PO
ST[E_mail]',' $_POS
T[Forma_colaborare]',' $_POST[Angajator_actual]',' $_POST[Salariu]',' $
_POST[Tehnologia]'
,'$_POST[Experienta]')" );
143
144
145 }
146
147 if(isset($_POST["submit2" ]))
148 {
149
150 mysqli_query ($mysqli,"delete from candidati where
id='$_POST[id]' OR
Nume='$_POST[Nume]'" );
151
152 mysqli_query ($mysqli,"delete from angajari where id=' $_POST[id]'
OR
Nume='$_POST[Nume]'" );
153
154 }
155
156
157 if(isset($_POST["submit3" ]))
158 {
159
160 mysqli_query ($mysqli,"update candidati set id=' $_POST[id]',
Nume='$_POST[Nume]',
Telefon=' $_POST[Telefon]', Sursa=' $_POST[Sursa]',
E_mail=' $_POST[E_mail]',Forma_colaborare=' $_POST[Forma_colaborare]',
Angajator_ac tu
al='$_POST[Angajator_actual]',Salariu=' $_POST[Salariu]',Tehnologia='
$_POST[Tehnolo
gia]',Experienta=' $_POST[Experienta]'" );
161
42
162 mysqli_query ($mysqli,"update angajari set id=' $_POST[id]',
Nume='$_POST[Nume]',
Furnizor=' $_POST[Furnizor]',Angajator=' $_POST[Angajator]',
Data_angajarii=' $_POST[Data_angajarii]',
Salariu_obtinut=' $_POST[Salariu_obtinut]'" );
163
164 }
165
166
167 if(isset($_POST["submit4" ]))
168 {
169
170 $res=mysqli_query ($mysqli,"select * from candidati" );
171 echo "<table border=1>" ;
172 echo "<tr>";
173 echo "<tr>"; echo ""; echo "</th> <br />" ;
174 echo "<tr>";
175 echo "<th>"; echo "id"; echo "</th> <br />" ;
176 echo "<th>"; echo "Nume"; echo "</th>";
177 echo "<th>"; echo "Telefon" ; echo "</th>";
178 echo "<th>"; echo "Sursa"; echo "</th>";
179 echo "<th>"; echo "E_mail" ; echo "</th>";
180 echo "<th>"; echo "Forma_colaborare" ; echo "</th>";
181 echo "<th>"; echo "Angajator_actual" ; echo "</th>";
182 echo "<th>"; echo "Salariu" ; echo "</th>";
183 echo "<th>"; echo "Tehnologia" ; echo "</th>";
184 echo "<th>"; echo "Experienta" ; echo "</th>";
185 echo "</tr>";
186
187 while ($row=mysqli_fetch_array ($res))
188 {
189 echo "<tr>";
190 echo "<tr>";
191 echo "<td>"; echo $row["id"]; echo "</td>";
192 echo "<td>"; echo $row["Nume"]; echo "</td>";
193 echo "<td>"; echo $row["Telefon" ]; echo "</td>";
194 echo "<td>"; echo $row["Sursa"]; echo "</td>";
195 echo "<td>"; echo $row["E_mail" ]; echo "</td>";
196 echo "<td>"; echo $row["Forma_colaborare" ]; echo "</td>";
197 echo "<td>"; echo $row["Angajator _actual" ]; echo "</td>";
198 echo "<td>"; echo $row["Salariu" ]; echo "</td>";
199 echo "<td>"; echo $row["Tehnologia" ]; echo "</td>";
200 echo "<td>"; echo $row["Experienta" ]; echo "</td>";
201 echo "</tr>";
202 }
203 }
204
205 if(isset($_POST["submit5" ]))
206 {
207
208 $res=mysqli_query ($mysqli,"select * from candidati where
id='$_POST[id]' OR
Nume='$_POST[Nume]' OR Sursa=' $_POST[Sursa]'" );
209 echo "<table border=1>" ;
210 echo "<tr>";
211 echo "<tr>"; echo ""; echo "</th> <br />" ;
212 echo "<tr>";
213 echo "<th>"; echo "id"; echo "</th> <br />" ;
43
214 echo "<th>"; echo "Nume"; echo "</th>";
215 echo "<th>"; echo "Telefon" ; echo "</th>";
216 echo "<th>"; echo "Sursa"; echo "</th>";
217 echo "<th>"; echo "E_mail" ; echo "</th>";
218 echo "<th>"; echo "Forma_col aborare" ; echo "</th>";
219 echo "<th>"; echo "Angajator_actual" ; echo "</th>";
220 echo "<th>"; echo "Salariu" ; echo "</th>";
221 echo "<th>"; echo "Tehnologia" ; echo "</th>";
222 echo "<th>"; echo "Experienta" ; echo "</th>";
223 echo "</tr>";
224
225 while ($row=mysqli_fetch_array ($res))
226 {
227 echo "<tr>";
228 echo "<tr>";
229 echo "<td>"; echo $row["id"]; echo "</td>";
230 echo "<td>"; echo $row["Nume"]; echo "</td>";
231 echo "<td>"; echo $row["Telefon" ]; echo "</td>";
232 echo "<td>"; echo $row["Sursa"]; echo "</td>";
233 echo "<td>"; echo $row["E_mail" ]; echo "</td>";
234 echo "<td>"; echo $row["Forma_colaborare" ]; echo "</td>";
235 echo "<td>"; echo $row["Angajator_actual" ]; echo "</td>";
236 echo "<td>"; echo $row["Salariu" ]; echo "</td>";
237 echo "<td>"; echo $row["Tehnologia" ]; echo "</td>";
238 echo "<td>"; echo $row["Experienta" ]; echo "</td>";
239 echo "</tr>";
240 }
241 }
242
243 if(isset($_POST["submit6" ]))
244 {
245
246 $res=mysqli_query ($mysqli,"select * from angajari" );
247
248 echo "<table border=2>" ;
249 echo "<tr>";
250 echo "<tr>";
251 echo "<tr>"; echo ""; echo "</th> <br />" ;
252 echo "<tr>"; echo "<b>RAPORT</b>" ; echo "</th> <br />" ;
253 echo "<th>"; echo "id"; echo "</th> <br />" ;
254 echo "<th>"; echo "Nume"; echo "</th> <br />" ;
255 echo "<th>"; echo "Furnizor" ; echo "</th>";
256 echo "<th>"; echo "Angajator" ; echo "</th>";
257 echo "<th>"; echo "Data_angajarii" ; echo "</th>";
258 echo "<th>"; echo "Salariu_obtinut" ; echo "</th>";
259 echo "</th>";
260 echo "</tr>";
261
262 while ($row=mysqli_fetch_array ($res))
263 {
264 echo "<tr>";
265 echo "<tr>";
266 echo "<td>"; echo $row["id"]; echo "</td>";
267 echo "<td>"; echo $row["Nume"]; echo "</td>";
268 echo "<td>"; echo $row["Furnizor" ]; echo "</td>";
269 echo "<td>"; echo $row["Angajator" ]; echo "</td>";
270 echo "<td>"; echo $row["Data_angajarii" ]; echo "</td>";
271 echo "<td>"; echo $row["Salariu_obtinut" ]; echo "</td>";
44
272 echo "</td>";
273 echo "</tr>";
274 }
275 }
276
277
278 if(isset($_POST["submit7" ]))
279 {
280
281 mysqli_query($mysqli, "insert into angajari
values(' $_POST[id]','$_POST[Nume]',' $_POST[Furnizor]',' $_POST[Angaja
tor]','$_POST[Data
_angajarii]',' $_POST[Salariu_obtinut]')" );
282
283 }
284
285
286 ?>
287
288
289 </body>
290 </html>
291
292
293 <?php echo $output; ?>
294
Modulul 02 wqe.php
1 <?php
2 $mysqli=mysqli_connect ("localhost" ,"root","");
3 mysqli_select_db ($mysqli,"recrutare" );
4
5 ?>
6
7 <!DOCTYPE HTML PUBLIC " -//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
8 <html>
9 <head>
10
11 <title>CANDIDATI </title>
12 <meta charset="utf-8">
13 <meta name="viewport" content="width=device -width, initial –
scale=1" >
14 <link rel="stylesheet" href="bootstrap/css/bootstrap.css" >
15 <script src="js/jquery.js" ></script>
16 <script src="bootstrap/js/bootstrap.min.js" ></script>
17
18 </head>
19 <form name="form1" action="" method="post">
20
21
22 <tr>
23 <tr>
24
25 <td colspan="2" align="center" >
26 <hr>
45
27 <input type="submit" name="submit6" class="btn btn -info btn
block"
value="Raport a ngajari" >
28 <input type="button" name="aa" value="Inapoi" class="btn btn -info
btn
block" onclick="location='http://localhost/x/x.php'" />
29 <hr>
30
31 </td>
32 </tr>
33 </tr>
34 </html>
35 </form>
36
37
38
39
40 <?php
41 if(isset($_POST["submit6" ]))
42 {
43
44 $res=mysqli_query ($mysqli,"SELECT candidati.Nume AS NumeCandidat,
candidati.Sursa AS Sursa, candidati.Angajator_actual AS
AngajatorActual,
candidati.Salariu as SalariuActual, angajari.Salariu_obtinut AS
SalariuViitor,
angajari.Angajator as Angajator Viitor, angajari.Data_angajarii as
IncepereContract FROM candidati,angajari WHERE candidati.Nume =
angajari.Nume" );
45
46 echo "<table border=2>" ;
47 echo "<tr>";
48 echo "<tr>";
49 echo "<tr>"; echo ""; echo "</th> <br />" ;
50 echo "<tr>"; echo "<b>RAPORT </b>"; echo "</th> <br />" ;
51 echo "<th>"; echo "NumeCandidat" ; echo "</th> <br />" ;
52 echo "<th>"; echo "Sursa"; echo "</th> <br />" ;
53 echo "<th>"; echo "AngajatorActual" ; echo "</th>";
54 echo "<th>"; echo "SalariuActual" ; echo "</th>";
55 echo "<th>"; echo "SalariuViitor" ; echo "</th>";
56 echo "<th>"; echo "AngajatorViitor" ; echo "</th>";
57 echo "<th>"; echo "IncepereContract" ; echo "</th>";
58 echo "</th>";
59 echo "</tr>";
60
61 while ($row=mysqli_fetch_array ($res))
62 {
63 echo "<tr>";
64 echo "<tr>";
65 echo "<td>"; echo $row["NumeCandidat" ]; echo "</td>";
66 echo "<td>"; echo $row["Sursa"]; echo "</td>";
67 echo "<td>"; echo $row["AngajatorActual" ]; echo "</td>";
68 echo "<td>"; echo $row["SalariuActual" ]; echo "</td>";
69 echo "<td>"; echo $row["SalariuViitor" ]; echo "</td>";
70 echo "<td>"; echo $row["AngajatorViitor" ]; echo "</td>";
71 echo "<td>"; echo $row["IncepereContract" ]; echo "</td>";
72 echo "</td>";
73 echo "</tr>";
46
74 }
75 }
76
77 ?>
Modulul 03 za.php
1 <?php
2 $mysqli=mysqli_connect ("localhost" ,"root","");
3 mysqli_select_db ($mysqli,"recrutare" );
4
5 ?>
6
7 <!DOCTYPE HTML PUBLIC " -//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
8 <html>
9 <head>
10
11 <title>CONTACTE </title>
12 <meta charset="utf-8">
13 <meta name="viewport" content="width=device -width, initial –
scale=1" >
14 <link rel="stylesheet" href="bootstrap/css/bootstrap.css" >
15 <script src="js/jquery.js" ></script>
16 <script src="bootstrap/js/bootstrap.min.js" ></script>
17
18 </head>
19
20 <body>
21 <form name="form1" action="" method="post">
22 <table>
23
24 <tr>
25 <td><b>Contact</b></td>
26 <td><input type="text" name="Contact" ></td>
27 </tr>
28
29 <tr>
30 <td><b>Companie </b></td>
31 <td><input type="text" name="Companie" ></td>
32 </tr>
33
34 <tr>
35 <td><b>E-mail</b></td>
36 <td><input type="text" name="E_mail" ></td>
37 </tr>
38
39 <tr>
40 <td><b>Telefon</b></td>
41 <td><input type="text" name="Telefon" ></td>
42 </tr>
43
44
45
46
47 <tr>
48 <tr>
47
49
50 <td colspan="2" align="center">
51 <hr><input type="submit" name="submit1" class="btn btn -info btn
block"
value="Inserare persoana de contact" />
52 <input type="button" name="Inapoi" value="Inapoi" class="btn
btn-info btn block" onclick="location='http://localhost/x/x.php'" />
53
54
55 <hr>
56
57 </td>
58 </tr>
59 </tr>
60
61
62 </table>
63 </form>
64
65 <?php
66 if(isset($_POST["submit1" ]))
67 {
68 mysqli_query ($mysqli, "INSERT INTO `persoane_contact`(`Contact`,
`Companie`,
`E_mail`, `Telefon`) VALUES
('$_POST[Contact]',' $_POST[Companie]','$_POST[E_mail]',' $_POST[Telef
on]')");
69
70
71 }
72
73
74 ?>
Modulul 04 d.php
1 <?php
2 $mysqli=mysqli_connect ("localhost" ,"root","");
3 mysqli_select_db ($mysqli,"recrutare" );
4
5 ?>
6
7 <!DOCTYPE HTML PUBLIC " -//W3C//DTD HTML 4.01 Trans itional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
8 <html>
9 <head>
10
11 <title>ANGAJATI </title>
12 <meta charset="utf-8">
13 <meta name="viewport" content="width=device -width, initial –
scale=1" >
14 <link rel="stylesheet" href="bootstrap/css/bootstrap.c ss">
15 <script src="js/jquery.js" ></script>
16 <script src="bootstrap/js/bootstrap.min.js" ></script>
17
18 </head>
19
48
20 <body>
21 <form name="form1" action="" method="post">
22 <table>
23
24 <tr>
25 <td><b>Inserati id </b></td>
26 <td><input type="text" name="id"></td>
27 </tr>
28
29 <tr>
30 <td><b>Inserati Nume </b></td>
31 <td><input type="text" name="Nume"></td>
32 </tr>
33
34 <tr>
35 <td><b>Furnizor </b></td>
36 <td><input type="text" name="Furnizor" ></td>
37 </tr>
38
39 <tr>
40 <td><b>Angajator viitor </b></td>
41 <td><input type="text" name="Angajator" ></td>
42 </tr>
43
44 <tr>
45 <td><b>Data angajarii </b></td>
46 <td><input type="text" name="Data_angajarii" ></td>
47 </tr>
48
49 <tr>
50 <td><b>Salariul obtinut </b></td>
51 <td><input type="text" name="Salariu_obtinut" ></td>
52 </tr>
53
54
55
56 <tr>
57 <tr>
58
59 <td colspan="2" align="center" >
60 <hr><input type="submit" name="submit1" class="btn btn -info btn
block"
value="Inserare candidat" />
61 <input type="button" name="Inapoi" value="Inapoi" class="btn
btn-info btn block" onclick="location='http://localhost/x/x.php'" />
62
63
64 <hr>
65
66 </td>
67 </tr>
68 </tr>
69
70
71 </table>
72 </form>
73
74 <?php
49
75 if(isset($_POST["submit1" ]))
76 {
77 mysqli_query ($mysqli, "INSERT INTO `angajari`(`id`, `Nume`,
`Furnizor`, `Angajator`,
`Data_angajarii`, `Salariu_obtinut`) VALUES
('$_POST[id]','$_POST[Nume]',' $_POST[Furnizor]',' $_POST[Angajator]',
'$_POST[Data_angaj
arii]',' $_POST[Salariu_obtinut]')" );
78
79 }
80
81
82
83 ?>
Modulul 05 ss.php
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Export to Excel </title>
5 <link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.
min.css" ></scr
ipt>
6 <script
src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.mi
n.js"></script
>
7 <script
src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.j
s"></script>
8 </head>
9 <body>
10 <div class="container" >
11 <br />
12 <br />
13 <br />
14 <div class="table-responsive" >
15 <h2 align="left">Export to Excel </h2><br />
16 <div id="live_data" ></div>
17 <form action="excel.php" method="post">
18 <input type="submit" name="export_excel" class="btn btn -success"
value="Salvare
raport Angajari" align="center" width="48" height="48"/>
19 <input type="button" name="aa" value="Inapoi" class="btn btn -info
btn block"
onclick="location='http://localhost/x/x.php'" />
20 </form>
21 </div>
22 </div>
23
24
25
26 </body>
27 </html>
28
50
Modulul 06 excel.php
1 <?php
2 $connect = mysqli_connect ("localhost" , "root", "", "recrutare" );
3 $output = '';
4 if(isset($_POST["export_excel" ]))
5 {
6 $sql = "SELECT * FROM `angajari` ORDER BY id DESC" ;
7 $result = mysqli_query ($connect , $sql);
8 {
9 $output .= '
10 <table class="table" bordered="1">
11 <tr>
12 <th>id</th>
13 <th>Nu me</th>
14 <th>Furnizor</th>
15 <th>Angajator</th>
16 <th>Data_angajarii</th>
17 <th>Salariu_obtinut</th>
18 </tr>
19 ';
20 while($row = mysqli_fetch_array ($result))
21 {
22 $output .= '
23 <tr>
24 <td>' .$row["id"].'</td>
25 <td>' .$row["Nume"].'</td>
26 <td>'.$row["Furnizor" ].'</td>
27 <td>' .$row["Angajator" ].'</td>
28 <td>' .$row["Data_angajarii" ].'</td>
29 <td>' .$row["Salariu_obtinut" ].'</td>
30 ';
31 }
32 $output .= '</table>' ;
33 header("Content -Type: application/xls" );
34 header("Content -Disposition: at tachment; filename=download.xls" );
35 echo $output;
36 }
37 }
38 ?>
Modulul 7 Rating Importan ță
1 <?php
2 $mysqli=mysqli_connect ("localhost" ,"root","");
3 mysqli_select_db ($mysqli,"recrutare" );
4
5 ?>
6
7 <form name="form1" action="" method="post">
8 <table>
9
10 <tr>
11 <td><p class=MsoNormal style='text-indent:35.4pt' ><span
51
lang=EN-US>ID</span></p></td>
12 <td><input type="text" name="id"></td>
13 </tr>
14
15 <tr>
16 <td><p class=MsoNormal style='text-indent:35.4pt' ><span
lang=EN-US>NUME</span></p></td>
17 <td><input type="text" name="Nume"></td>
18 </tr>
19
20 <tr>
21 <td><p class=MsoNormal style='text-indent:35.4pt' ><span
lang=EN-US>TELEFON</span></p></td>
22 <td><input type="text" name="Telefon" ></td>
23 </tr>
24
25 <tr>
26 <td><p class=MsoNormal style='text-indent:35.4pt' ><span
lang=EN-US>SURSA</span></p></td>
27 <td><input type="text" name="Sursa"></td>
28 </tr>
29
30 <tr>
31 <td><p class=MsoNormal style='text-indent:35.4pt' ><span
lang=EN-US>E-MAIL</span></p></td>
32 <td><input type="text" name="E_mail" ></td>
33 </tr>
34
35 <tr>
36 <td><p class=MsoNormal style='text-indent:35.4pt' ><span lang=EN-
US>FORMA
COLABORARE </span></p></td>
37 <td><input type="text" name="Forma_colaborare" ></td>
38 </tr>
39
40 <tr>
41 <td><p class=MsoNormal style='text-indent:35.4pt' ><span lang=EN-
US>ANGAJATOR
ACTUAL</span></p></td>
42 <td><input type="text" name="Angajator_actual" ></td>
43 </tr>
44
45 <tr>
46 <td><p class=MsoNormal style='text-indent:35.4pt' ><span
lang=EN-US>SALARIUL </span></p></td>
47 <td><input type="text" name="Salariu" ></td>
48 </tr>
49
50 <tr>
51 <td><p class=MsoNormal style='text-indent:35.4pt' ><span
lang=EN-US>TEHNOLOGIA </span></p></td>
52 <td><input type="text" name="Tehnologia" ></td>
53 </tr>
54
55 <tr>
56 <td><p class=MsoNormal style='text-indent:35.4pt' ><span
lang=EN-US>EXPERIENTA </span></p></td>
57 <td><input type="text" name="Experienta" ></td>
52
58 </tr>
59
60
61
62 <tr>
63 <tr>
64
65 <input type="submit" name="submit4" class="btn btn -info btn
block" value="Afisare
inregistrari BD" >
66
67
68 <?php
69
70 $i=NULL;
71
72 if(isset($_POST["submit4" ]))
73 {
74
75 $res=mysqli_query ($mysqli,"select * from candidati" );
76 echo "<table border=1>" ;
77 echo "<tr>";
78 echo "<tr>"; echo ""; echo "</th> <br />" ;
79 echo "<tr>";
80 echo "<th>"; echo "id"; echo "</th> <br />" ;
81 echo "<th>"; echo "Nume"; echo "</th>";
82 echo "<th>"; echo "Telefon" ; echo "</th>";
83 echo "<th>"; echo "Sursa"; echo "</th>";
84 echo "<th>"; echo "E_mail" ; echo "</th>";
85 echo "<th>"; echo "Forma_colaborare" ; echo "</th>";
86 echo "<th>"; echo "Angajator_actual" ; echo "</th>";
87 echo "<th>"; echo "Salariu" ; echo "</th>";
88 echo "<th>"; echo "Imp"; echo "</th>";
89 echo "<th>"; echo "Tehnologia" ; echo "</th>";
90 echo "<th>"; echo "ImpT"; echo "</th>";
91 echo "<th>"; echo "Experienta" ; echo "</th>";
92 echo "<th>"; echo "ImpE"; echo "</th>";
93 echo "<th>"; echo "Rating" ; echo "</th>";
94 echo "</tr>";
95
96 $Imp=1;
97
98 while ($row=mysqli_fetch_array ($res))
99 {
100
101 echo "<tr>";
102
103 $i=$i+1;
104 $row["ImpS"]=(1.000+(($row["Salariu" ]-1200)/1300));
105 $row["ImpS"] = str_replace (',00', '',
number_format ($row["ImpS"], 2, ',', ''));
106
107 if($row["Tehnologia" ]=="PHP")($row["ImpT"] =1.0);
108 if($row["Tehnologia" ]==".NET")($row["ImpT"] =2.0);
109 if($row["Tehnologia"]=="Java")($row["ImpT"] =3.0);
110
111
112 if($row["Experienta" ]=="junior" )($row["ImpE"] = 1.0);
53
113 if($row["Experienta" ]=="middle" )($row["ImpE"] =2.0);
114 if($row["Experienta" ]=="senior" )($row["ImpE"] =3.0);
115
116
117 $row["Rating" ]=((1.000+(($row["Salariu" ]-
1200)/1300))+$row["ImpT"]+$row["ImpE"])/3;
118 $row["Rating" ] = str_replace (',00', '',
number_format ($row["Rating" ], 2, ',',''));
119
120 echo "<tr/>";
121
122 echo "<tr>";
123 echo "<tr>";
124 echo "<td>"; echo $row["id"]; echo "</td>";
125 echo "<td>"; echo $row["Nume"]; echo "</td>";
126 echo "<td>"; echo $row["Telefon" ]; echo "</td>";
127 echo "<td>"; echo $row["Sursa"]; echo "</td>";
128 echo "<td>"; echo $row["E_mail" ]; echo "</td>";
129 echo "<td>"; echo $row["Forma_colaborare" ]; echo "</td>";
130 echo "<td>"; echo $row["Angajator_actual" ]; echo "</td>";
131 echo "<td>"; echo $row["Salariu" ]; echo "</td>";
132 echo "<td>"; echo $row["ImpS"]; echo "</td>";
133 echo "<td>"; echo $row["Tehnologia" ]; echo "</td>";
134 echo "<td>"; echo $row["ImpT"]; echo "</td>";
135 echo "<td>"; echo $row["Experienta" ]; echo "</td>";
136 echo "<td>"; echo $row["ImpE"]; echo "</td>";
137 echo "<td>"; echo $row["Rating" ]; echo "</td>";
138 echo "</tr>";
139
140 }
141 }
142
143 ?>
144
145 <?php echo "<p>Numa r candidati= $i</p>" ?>
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: Academia de Studii Economice București [621869] (ID: 621869)
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.
