Specializarea: Informatică [306878]
UNIVERSITATEA „LUCIAN BLAGA” DIN SIBIU
FACULTATEA DE ȘTIINȚE
Specializarea: Informatică
LUCRARE DE LICENȚĂ
Sibiu
2016
UNIVERSITATEA „LUCIAN BLAGA” DIN SIBIU
FACULTATEA DE ȘTIINȚE
Specializarea: Informatică
Procedee dinamice de gestiune a datelor. Aplicație pentru analiza productivității muncii.
Sibiu
2016
Cuprins
INTRODUCERE 1
1. ABORDĂRI GENERALE 3
1.1 Abstract 3
1.2 Metodologia elaborării lucrării. 5
2. ELEMENTE DE BAZĂ ÎN CONFORMITATE CU TEMA 7
2.1 Modul de lucru. 7
2.2 Modul de calculare manual 8
2.3 Modul de calculare automată 8
2.4 Diferențe între modul automat și modul manual de calculare 10
2.4.1 Modul manual 10
2.4.2 Modul automat 11
3. TEHNOLOGII FOLOSITE 12
3.1 Limbajul de programare Java 12
3.2 Tehnologia JAVAFX 13
3.3 Lucrul cu baze de date. Limbajul MYSQL 15
3.3 Diferențe între Java Swing și JavaFX 17
3.4.1 Diferența dintre JFrame și Scene 17
3.4.2 Diferența dintre JPanel și Node 17
3.4.3 [anonimizat] 18
3.4.4 Proprietăți JAVAFX 18
3.4.5 Modalitatea de formatare cu ajutorul fișierelor CSS 18
3.4.6 Mai multe comenzi 18
3.4.7 Efecte speciale 19
3.4.8 Diferența dintre animații Swing și JavaFX 19
3.4.9 Dispozitive TouchScreen 19
3.4.10 Panoul Alert vs JoptionPane 19
3.5 Tehnologii XML/FXML 20
3.5.1 XML 20
3.5.2 Ce este un document? 20
3.5.3 XML este la fel ca HTML? 20
3.5.4 FXML 20
3.5.5 Beneficii FXML 21
3.5.6 FXML și Scene Builder 21
3.5.6.1 Ce este un Scene Builder? 21
4. STRUCTURA ȘI FUNCȚIONALITATEA APLICAȚIEI 23
4.1 Concept structural. 23
4.2 Evoluția aplicației cu privire la interfață 24
4.3 Activity Report 28
4.4 Activity Factor 29
4.4.1 Activity Factor HDD 31
4.4.2 Activity Factor Chart 35
4.5 Alte aspecte ale aplicației 45
4.5.1 System Tray 45
4.5.2 Shortcuts 46
5. CONCLUZII 48
6. BIBLIOGRAFIE 49
Introducere
Tema aleasă extinde o analiză precisă a unor factori de activitate. [anonimizat] “Tool”, care calculează eficiența unui angajat într-o anumită măsură. De ce spunem într-o anumită măsură? Deoarece, pentru a calcula un factor de activitate este nevoie nu numai de acest “Tool”, [anonimizat] “nota” fiecare activitate din ziua respectivă.
[anonimizat], [anonimizat] o [anonimizat]-un fișier CSV (Comma Separated Values).
[anonimizat] “Tool” vine cu o gamă largă de complexitate și o extindere a unor caracteristici interne. Aplicația aduce o [anonimizat]:
Acces rapid către orice cale internă pe o rețea LAN.
Acces rapid la detaliile angajaților.
Acces rapid la anumite aplicații windows.
Acces la informații și noutăți din cadrul firmei.
[anonimizat].
Motivul alegerii acestei teme îl constituie posibilitatea de a lucra la un proiect care are un final practic. Echipa pentru care s-a creat acest soft, a oferit suportul esențial pentru a [anonimizat], ideea pornind de la o ședință în care s-a calculat un factor de activitate.
Integrarea aplicației în echipă a [anonimizat]. [anonimizat] o gamă puțin mai largă de versiuni:
Versiune standard pentru angajați.
Versiune complexă pentru TeamLeaderi.
Aceste două versiuni sunt diferențiate prin gradul de permisii. Prima versiune permite operarea asupra tuturor facilitățiilor cu excepția funcției de calculare a eficienței și a unor aplicații specifice TeamLeader-ului. Bineînțeles, versiunea complexă are aceste drepturi și poate opera în totalitate aceste funcții.
Inițial, factorul de activitate a fost calculat manual.
Ecuația fiind una simplă: 75% din orele lucrate împărțit la modul de lucru. Modul de lucru având valori diferite: EVA1, EVA2, DEV. Despre toate acestea vom vorbi mai detaliat în următoarele secvențe.
). (0.1)
Partea cea mai interesantă este redactată de faptul că aplicația, pe lângă puterea de calculare a factorului, aceasta desenează o diagramă cu detalii specifice:
Afișează procentual în zile diferite, cât de eficient a fost angajatul respectiv,
Afișează limita admisă și rezultatul urmat de un calificativ.
Afișează detalii complexe cum ar fi:
Ora/dată când s-a efectuat diagrama,
Numărul de evenimente lucrate,
Limita în funcție de profil.
Rezultatul derivă două tipuri de diagrame. Prima diagramă este una de tip AreaChart,
Căruia îi corespund pe o axă oX-oY, zilele în care s-a lucrat, respectiv limită și maximul valorilor estimate. Cea de a doua diagramă este de tip PieChart, reprezentând limita de la primul grafic respectiv media, care nu trebuie să cuprindă valori peste 35 (EVA1) sau altă valoare, în funcție de domeniu.
După calcularea și efectuarea factorului de activitate, rezultatul poate fi trimis automat prin email, în care este afișată diagrama respectivă împreună cu toate detaliile alese.
TeamLeader-ul utilizează această aplicație care este eficientă din punct de vedere al timpului și al precizie, având un coeficient corect în concordanță cu analiza productivității muncii asupra angajatului.
Structura acestei lucrări va cuprinde 4 capitole lăsând la o parte concluzii și anexe și se va axa pe punerea în temă și luarea la cunostiinta a tuturor exemplelor, detaliilor și nu în ultimul rând a lucrării în sine.
În capitolul numit „Abordări generale”, s-a discutat despre necesitatea informaticii a omului de rând. Acest aspect implică o secțiune de detalii în care sunt prezentate scopuri generale, primii oameni care au pășit în lumea informaticii, limbajele de programare și formarea acestora.
Capitolul cu numărul doi reprezentat de metodologia elaborării lucrării asociază modul de lucru structurat și prezintă secțiuni în care s-au discutat despre calcule manuale și automate. În cadrul acestora s-au evidențiat o serie de diferențe și asemănări, deasemenea o serie de avantaje și dezavantaje.
Capitolul trei desemnează toate tehnologiile folosite în aplicația corespunzătoare temei. S-au analizat detalii despre limbaje de programare, cum ar fi JAVA, SQL, XML și chiar despre noi actualizări JAVAFX, FXML care derivă din bazele acestora.
Capitolul patru prezintă aplicația care se pune în fața temei. Conceptul structural al aplicației cât și evoluatia interfeței au fost prezentate în acest capitol. S-a discutat despre functionalitatiile aplicației, despre documentele și fișierele necesare pentru calcul, despre scurtăturile care vor fi în avantajul utilizatorilor și despre anumite sisteme care de asemenea vor ajuta la o bună funcționare.
Abordări generale
Abstract
Majoritatea oamenilor de știință: lingviști, filozofi, logicieni, specialiști în informatică și cibernetică, admit că principala funcție a limbii o reprezintă comunicarea și deci transmiterea de informații dar odată cu acestea sunt transmise și diferite cunoștințe. Limbajul natural a fost izvorul din care s-au născut limbajele: literar, istoric, poetic, filozofic, logic, științific și în final limbajele formalizate și convenționale și respectiv limbajele utilizate la programarea calculatoarelor.
Termenul informatică desemnează știința procesării sistematice a informației, în special a procesării cu ajutorul calculatoarelor. Termenul englezesc corespunzător este Computer Science (știința calculatoarelor).
Istoric, informatica s-a dezvoltat ca știință din matematică, în timp ce dezvoltarea primelor calculatoare își are originea în electrotehnică și telecomunicații. De aceea, calculatorul reprezintă doar dispozitivul pe care sunt implementate conceptele teoretice. Informaticianul olandez Edsger Dijkstra afirma: "În informatică ai de-a face cu calculatorul, așa cum ai în astronomie cu telescopul".
Acest termen „informatică” provine din alăturarea cuvintelor informație și matematică. Alte surse susțin că provine din combinația informație și automatică. Istoria informaticii începe înainte de momentul apariției computerului digital. Înainte de anul 1920, termenul de "computer" se referea în limba engleză la o persoană care efectua calcule (un funcționar). Primii cercetători în ceea ce avea să se numească informatică, cum sunt Kurt Gödel, Alonzo Church și Alan Turing, au fost interesați de problema computațională: ce informații ar putea un funcționar uman să calculeze având hârtie și creion, prin urmărirea pur și simplu a unei liste de instrucțiuni, atât timp cât este necesar, fără să fie nevoie ca el să fie inteligent sau să presupună capacități intuitive. Una din motivațiile acestui proiect a fost dorința de a proiecta și realiză "mașini computaționale" care să automatizeze munca, deseori plictisitoare și nu lipsită de erori, a unui calculator sau computer uman.
Savanții acceptă în prezent ideea că informația este o un concept primar, care poate fi transmisă cu un minim de energie, dar cantitatea de informație nu depinde de valoarea acestui minim. Teoria informației în prezent este considerată ca un domeniu de sine stătător, cu toate că are o istorie relativ scurtă.
În anul 1838 savantul francez A. M. Ampère a introdus termenul de cibernetică și în 1868 Maxwell a prezentat principiul unui dispozitiv cu feedback și tot el în 1871 a legat noțiunea de informație cu noțiunea energetică de entropie.
L. Boltzmann în 1877, a stabilit pentru entropia energetică formula:
(1.1)
Unde:
K – este constanta lui Boltzmann;
Pi – este probabilitatea ca sistemul să se afle în starea i, 1 < i < n;
Sub forma dată de Boltzmann, entropia exprimă gradul de dezordine al sistemului fizic.
Pentru a transmite o cantitate de informație în condiții optime, semnalul trebuie să fie organizat după anumite principii. Practica transmiterii informației este cea care impune măsuri suplimentare de redundantă, care să limiteze perturbațiile date de sursele de zgomote.
În plus apar intonațiile, apoi la operele literare metafore, comparații, sinonime, etc, care duc la o transmitere specială a informației.
Limbajul natural este unul mai direct, mai expresiv, mai plastic, mai concret, dar în același timp mai confuz, mai particular, mai intuitiv.
Din această cauză, limbajul natural nu poate fi înțeles pană în prezent de calculator. În prezent se fac cercetări pentru cunoașterea cuvintelor cele mai uzuale transmise oral sau în scris (transmise prin scanare sau microfonie, nu cele transmise normal prin tastatură calculatorului), de către calculator.
Cugetarea filozofică reprezintă și ea o experientă umană, dar având o altă optică. Experiența filozofică se orientează pe alte căi și anume caută cauza reală a lucrurilor și căutând explicații complete și fundamentale. O întrebare care a frământat filozofii de-a lungul timpului, a fost determinarea cauzei tuturor lucrurilor din univers și geneză acestora. Limbajul filozofic este aparent natural, dar în realitate este unul criptic în care parabola, supoziția și simbolul joacă un rol decisiv. Pe parcurs, mai ales în ultimul secol, limbajul filozofic s-a orientat în mare parte spre un limbaj logic. Cu toate acestea nici acest limbaj nu poate fi folosit în discuția cu calculatorul său pentru transmiterea unor comenzi de programare.
Crearea unui limbaj abstract a fost necesar după ce s-a constatat că limbajul natural are practic probleme în transmiterea și analiza noțiunilor din domeniul cunoașterii științifice. Aceasta deoarece în limbajul natural cuvintele exprimă anumite obiecte și stări, dar în limbajul științific se lucrează și cu noțiuni.
Astfel noțiunea poartă ca semnificație, un conținut nu al indivizilor unei clase, ci al clasei formate dintr-o mulțime de indivizi. Cată vreme cuvântul exprimă obiecte sau stări, este cuvânt, când exprimă clase de obiecte, devine noțiune.
Prin judecați și silogisme, limbajul logic suplinește aptitudinea limbajului natural de a exprima adecvat formele dinamice ale realității. Judecata în limbajul logic este o aserțiune la modul indicativ, apoi judecată logică este o expresie a timpului prezent și în fine judecată logică a devenit expresia unei simple relații de apartenentă a predicatului la subiect, apartenentă modificată pe parcurs prin raportul de existentă.
Judecata logică clasică permite doar exprimarea indicativului prezent, a relației de apartenentă sau existentă, afirmația sau negația, apoi totalitatea, parțialitatea și singularitatea raporturilor dintre subiect și predicat, la formă impersonală.
Metodologia elaborării lucrării.
Odată cu evoluția speciei umane, principiul de învățare a devenit un factor foarte important în vietiile noastre, motiv pentru care fiecare om are o gândire mai abstractă sau mai puțin abstractă.
Din toate timpurile și până în cele mai recente momente omul a încercat să găsească o modalitate de învățare a lucrurilor, cele mai bune metode fiind pe cale vizuală și multă practică.
Nevoia de a cunoaște spațiul ce ne înconjoară a fost tot mai mare, principiul dezvoltării și-a croit loc în momentul în care omul a reușit să inventeze roată, arcul sau ceva mult mai abstractizat, becul.
Deoarece înainte de a face un lucru, obiect sau chiar serviciu, suntem abordați de multe semne de întrebare decidem să analizăm, concretizăm și finalizăm cu o concluzie.
Motivul pentru care se va aborda această lucrare este caracterizat de către modul de automatizare și încercarea de a aduce un timp mult mai eficient asupra muncii.
Tema are ca principiu o măsurare, calitate, monitorizare și determinarea factorului de muncă. Acest principiu execută pe baza unor input-uri anumite validări și valorificări a unor rezultate care sunt puse într-un output și apoi verificate de către anumiți specialiști în parte.
Ca să se înțeleagă mai bine ceea ce se transmite, propunem să se calculeze un factor pentru activitatea muncii folosind o metodă manuală pe baza formulei (0.1). Cu siguranță pentru o singură persoană această metodă poate fi eficientă ca timp și corectă ca rezultat, dar dacă problema persistă pentru o mulțime mult mai largă, ca exemplu o sută de persoane sau chiar o mie?
Acesta este principalul motiv pentru care este nevoie de automatizare. Este evident că acestea ne ușurează muncă și chiar o îmbunătățește.
Cu mult înainte ca automatizările să fie implementate, s-au căutat soluții pentru a ne face viața mai ușoară, pentru a ne face viața confortabilă și cel mai important pentru a câștiga timp prețios. Pentru un calcul manual al factorului de activitate într-o singură lună se consuma 30 sau chiar 60 minute pe zi per persoană. Ceea ce se dorește cu aplicații de automatizări este de a transforma aceste 30/60 de minute în câteva secunde. Cel mai mare avantaj pe care îl poate avea o automatizare este redactată de faptul că pe baza output-urilor se pot genera anumite diagrame, în diferite moduri, se pot genera structuri de date sau chiar rapoarte care sunt comparate și valorificate la adevărata valoare.
Referindu-ne strict la automatizarea din cadrul unor calcule, este dovedit că viteza de procesare a unui sistem este cu mult mai mare decât a omului și este mult mai precisă iar dacă omul va face un calcul complex în 30 de minute și același calcul este efectuat de către o automatizare în 5 secunde rezultă că în 30 de minute o automatizare va efectua 360+ de operații.
Elemente de bază în conformitate cu tema
Modul de lucru.
Aplicația principală se află sub numele de “Activity Factor”, aplicație ce are ca scop verificarea și calcularea eficienței unui angajat dintr-un departament specific, având posibilitatea de adaptare pe un domeniu mai larg. Cu alte cuvinte, acest tool poate fi îmbunătățit și dezvoltat pentru mai multe profile de activitate din cadrul firmei.
Cea mai importantă caracteristică concepută a aplicației este reprezentată de determinarea și evaluarea personalului din cadrul unei echipe, componentă principală care stă la baza funcționării sistemului de calcul a unui due-date; un calcul care funcționează pe principiul timeleft. Acest principiu s-a format în funcție de modul de lucru al fiecărei persoane din echipă. Spre exemplu, primim un task pentru rezolvarea unor mici bug-uri sau erori de etichetare. Dacă acest task este efectuat în limita admisă se va calcula eficacitatea angajaților pe o anumită lună din an.
Inițial aplicația a fost concepută pentru profilul de Traffic Lights, care cuprinde trei moduri de lucru: EVA1, EVA2, DEV, a căror prescurtare provine de la EVALUATION ½ și DEVELOPMENT.
Fiecărui mod de lucru îi corespunde un set de instrucțiuni și atribute care sunt utilizate cu ajutorul unui tool asigurat de către companie numit MTS (Measuring, Testing, Simulation).
Modul de lucru EVA1 cuprinde două domenii, ROI și LDSS. În domeniul LDSS se setează unele atribute principale care împreună cu datele de la ROI vor forma un set de date care într-un final, vor fi sincronizate și trimise către client. Atributele principale din LDSS sunt definite cu culoarea roșie, ceea ce înseamnă că acestea sunt obligatorii pe tot intervalul task-ului.
Domeniul ROI cuprinde un ansamblu de atribuții care vor fi setate pe o etichetă. Eticheta înseamnă un cadru de inters cu un nivel ridicat de importanță care constă în atașarea unor variabile pe post de valoare. Aceste atribuții pot conține anumite structure ca de exemplu:
Clasă pentru TL (Pentru pietoni, pentru mașini, pentru tramvai, sau alt tip de semafor)
Dacă este pentru drumul nostru principal
Dacă semaforul este dezactivat
Dacă semaforul conține urme de contaminare
Dacă este sucit sau senzorul percepe doar o parte din acesta.
Acestea sunt doar o mică parte din atribuții, ele se pot regăsii într-un număr mai larg însă au fost prezentate doar cele mai importante dintre ele.
Modul de calculare manual
Operațiunea de calculare a datelor prin metodă manuală marchează o secvență de gândire și atenție pentru un proces bine definit și un rezultat ideal.
Procesul de calculare manuală a adus multe beneficii din punct de vedere a gândirii omului deorece dacă acest proces nu exista, cu siguranță nici metode de automatizare nu ar fi fost.
Ca să facem o referință la temă noastră, vom analiza modul de calculare a factorului de muncă prin metodă manuală, vom determina timpul de execuție și vom aborda tot ceea ce conține diferențe sau asemănare între manual și automat.
Primul pas și cel mai important este remarcat pentru funcția de calculare manuală (1.0).
– Deorece înainte de a face un calcul, avem nevoie de o formulă pe baza căruia să aplicăm aceste date.
Al doilea pas constă în transformarea din ore în minute.
– Presupunem că în ziua de luni pentru un anumit task s-a lucrat 3 ore, ceea ce reprezintă 180 de minute.
– Ziua de lucru este de 8:30h, adică 510 minute din care se extrage doar 75%. Rezultatul find 382.5 minute.
Al treilea pas Aplicăm formula corespunzătoare.
– Factor = 75% din orele lucrate (382.5) /cât timp s-a lucrat la task.
– Se adună fiecare factor și se făcea o medie aritmetică.
Problema se remarcă în momentul în care apăreau mai multe task-uri într-o zi, deoarece trebuie calculate fiecare în parte ceea ce ducea la o mare pierdere de timp.
Pasul final se va lua fiecare factor din fiecare zi, se va face media aritmetică asupra acestora iar rezultat va fi comparat cu o limită de 35. Dacă acest factor va depăși limita, ar însemna că angajatul a fost mai puțin productiv.
Dacă se va cerceta timpul de executare a pașilor anteriori, se va observa că pentru a calcula manual un factor este nevoie de foarte mult timp iar rezultatul este unul simplu și unul corect.
Modul de calculare automată
Acest mod a fost adaptat în funcție de modul manual, ceea ce înseamnă că aceste valori sunt calculate automat de către computer pe baza unor date introduce la fiecare sfârșit de zi.
Fișierele în care sunt păstrate informațiile sunt strict confidențiale iar datele sunt protejate cu o parolă.
Toate datele introduse vor fi scrise într-un fișier excel unde se va face și calculul automat iar când fișierul este într-un stagiu final din punct de vedere al completării acesta va fi convertit într-un fișier CSV iar aplicația va interpreta datele și le va afișa într-un grafic de tip LineChart.
Exact ca și la modul manual, avem obligația să folosim o formulă pentru a calcula o ecuație. În procesul automatizat formula este în “background”, adică această formulă este deja setat într-un fișier template iar datoria noastre este să completăm acest fișier conform standardului. Deoarece și în această situație avem nevoie de anumiți păși, ei vor fi definiți în următoarele rânduri:
Se presupune că suntem unul dintre angajații companiei X. Astăzi vom termina task-ul, principalul obiectiv este să notăm ceea ce s-a lucrat în ziua respectivă.
Primul unu: Localizarea fișierului template și introducerea datelor.
Pasul doi: După ce am introdus datele corespunzător, salvăm fișierul în formatul actual (Excel).
Pasul trei: Datele vor fi procesate în “background”, transformăm fișierul în format CSV.
Pasul patru: Deschidem aplicația Activity Factor, accesăm butonul „CHART” care este poziționat în centrul soft-ului.
Pasul cinci: Se va face configurația corespunzătoare în funcție de modul de lucru.
Pasul șase: Selectăm fișierul iar rezultatul va fi unul pe măsura
Figura 2.1 Exemplu unui rezultat de calcul
În figură 2.1 este reprezentat un rezultat dintr-o calculare automată. Desigur, la prima vedere totul este pe neînțelesul tuturor, însă despre toate aceste aspecte se va vorbi în următoarele capitole.
Figura 2.2 Exemplu de rezultat cu detalii specifice
Figura 2.1 este caracterizată de o diagramă de tip PieChart care cuprinde analiza și detalii corespunzătoare angajatului.
Diferențe între modul automat și modul manual de calculare
Modul manual
Tabelul 2.1
În tabelul 2.1. Sunt cuprinse detalii despre avantajele și dezavantajele folosirii metodei manuale.
Având în vedere multitudinea de dezavantaje care le aduce acesta metodă, s-a implementat metoda automată. Singurul avantaj care îl conferă această metodă este redată de faptul că pentru a calcula manual avem nevoie de un pix și o foaie sau pur și simplu de gândirea umană.
Modul automat
Tabelul 2.2
În tabelul 2.2. Sunt redate detalii despre avantajele și dezavantajele folosirii metodei automate.
Cel mai important avantaj care îl poate genera această aplicație este redactat de faptul că acest soft permite o utilizare foarte rapidă fără a consuma resurse foarte mari. Este un soft fiabil, portabil care poate fi adaptat în funcție de condițiile impuse în companie. Un dezavantaj îl conferă necesitatea unui computer deoarece în prezent aplicația a fost dezvoltată doar pentru sisteme de operare Windows, Linux. Rularea pe sisteme de operare Linux este oferită de către limbajul java, care la rândul lui este foarte portabil și un limbaj open source. Evident, nu este exclus ca aplicația să nu genereze bug-uri, însă toate acestea vor fi remediate pe viitor și cel mai probabil va fi lansată și o variantă pentru telefoanele mobile inteligente cu sistem de operare android.
Tehnologii folosite
Limbajul de programare Java
Limbajele orientate pe obiecte au apărut din nevoia contopirii unor concepte palpabile și ce au o reprezentare clară în mintea umană și modalitatea de reprezentare, organizare și manipulare a informației de către programatori. Primul limbaj pur obiectual a fost SmallTalk dezvoltat în anii 70.
Limbajul Java a apărut în anul 1995 lansat de cei de la firma Sun Microsystems. Datorită impactului mare pe care l-a avut în lumea programatorilor și alte limbaje au fost influențate de el ca Ada2005, PHP, J# (ce reprezintă o copie fidelă a celor de la Microsoft care este integrată cu platforma.NET) și nu în ultimul rând JavaScript. Java are sintaxa asemănătoare cu C și C++ și analizând comparația realizată de Lewis și Neumann putem spune că are un model obiectual mai simplu decât acestea și este puternic tipizat.
De asemenea aplicațiile JAVA sunt compilate și apoi ca și cod obiect sunt rulate de Mașina Virtuală Java (JVM). Datorită acestui proces limbajul JAVA este portabil pe orice arhitectură, nefiind dependent de arhitectura în care a fost scris sau de cea în care este executat.
Portabilitatea aduce totuși și un mare dezavantaj și anume încetinirea performanței. Ultimele versiuni însă au trecut peste acest handicap prin introducerea de noi concepte cum ar fi JIT (Just-in-time compilation). Acest tip de compilare reține în cache după prima compilare codul rezultat. De asemenea s-a introdus și conceptul de recompilare dinamică alături de compilarea statică.
Funcțiile de bibliotecă JAVA sunt foarte puternice și oferă o multitudine de facilități cum ar fi realizarea de interfețe grafice dinamice, programarea rețelelor sau programarea concurentă.
Java lucrează cu conceptul de obiect, ce reprezintă o instanță a unei clase ca resursă primară de structurare a informației. Ca limbaj orientat pe obiecte oferă facilități ca moștenire, încapsulare sau polimorfism.
Bibliotecile Java AWT și SWING oferă posibilitatea realizării de programe interactive cu interfețe grafice.
Figura 3.1. Schemă logică Java
Schemă logică (Figura 3.1.) reprezintă modul de procesare și funcționalitate a limbajului. Codul sursă reprezintă acea entitate de instrucțiuni care sunt destinate către procesor.
Figura 3.2. Faza compilării și interpretării
Figura 3.2. Arată cum procesorul primește comenzi în limbaj formal urmând că ulterior compilatorul care este un translator, să traducă efectiv din acest limbaj într-un limbaj specific lui.
Faza executării fiind cea din urmă, în care instrucțiunile sunt procesate, interpretate și afișate către utilizatori.
Tehnologia JAVAFX
JavaFX este un program software care te ajută să creezi și să realizezi aplicații RIA (Rich Internet Applications) care conțin standarde multimedia pe o varietate mare de platforme și dispozitive diferite. La început, limbajul se numea F3 (Form Follows Function) care a fost dezvoltat pentru prima oară de Chris Oliver, angajat în cadrul firmei Sun Microsystems.
În anul 2007 denumirea a suferit modificări și a ajuns sub numele de JAVAFX.
Limbajul oferă o legătură automată de date care conduce la o expresie a sintaxei unde corpul codului generează valori. Secvențele, tipurile de funcții și tipurile interferate fac din limbajul JavaFX un limbaj scripitc precis și clar. Dezvoltatorii pot folosi caracteristici orientate pe obiect pentru a simplifica complexitatea și pentru a rezolva mai ușor erorile care se întâlnesc cel mai des în limbajul de programare. JavaFX îți oferă acces mult mai simplu la API-urile limbajului, în care se regăsește peste o treime de biblioteci noi.
Figura 3.3. Platforma JavaFX
Figura 3.3. Este o imagine clară a limbajului de programare JavaFX. Această diagramă prezintă diferitele piese de care te poți agăța când realizezi aplicații cu acest mecanism de programare. Așa cum se poate vedea pe diagramă, există extensii pentru 3 domenii: desktop-uri, telefoane mobile și televizoare. Toate cele trei au în comun același API (ce se află sub denumirea de "Elemente Comune", din Figura 3.3.).
Într-adevăr, dacă ești familiarizat cu limbaje de programare cum ar fi: C++, Java, C# va fi mult mai simplă adaptarea. Există însă elemente importante care nu pot fi comparate, cum ar fi:
Modalitatea de lucru cu fișiere CSS, FXML;
Metodele noi de încapsulare a datelor;
Metodele de operații asupra obiectelor;
Structuri de date în cadrul procesării de imagini.
Deoarece în Java Swing era necesară crearea unor algoritmi elementari pentru procesarea contrastului sau a luminozității, JavaFX aduce aceste metode la pachet printr-o clasă specifică sub numele de “ColorAdjust”.
Figura 3.4. Mecanism cooperare.
Figura 3.4. Reprezintă mecanismul legăturilor între domenii. Odată cu dezvoltarea limbajului s-a apelat la cooperarea între structura unor limbaje. Fișierele XML au devenit FXML cooperând totodată cu tehnologia de styling CSS.
Lucrul cu baze de date. Limbajul MYSQL
Dezvoltarea tehnologică explozivă a ultimilor ani a adus în prim plan industria IT și utilitatea acesteia. Dacă încă din ultimul deceniu companiile ce dețineau monopolul pe piața serviciilor și soluțiilor industriale adoptaseră o modernizare a procesului tehnologic de fabricație a bunurilor, în anul 2009 putem vorbi despre o trecere bruscă a majorității producătorilor spre avantajele roboticii și automatizarea întregului proces de producție. Odată cu îmbunătățirea comunicațiilor și nevoii de interconectare permanentă client-producător nevoia de a stoca informația este din ce în ce mai vitală pentru orice companie care se respectă.
De-a lungul anilor dispozitivele de stocare a informației au avut un proces de evoluție
Influențat de cel al mașinilor de calcul, pentru a le putea oferi suportul de stocare necesar. Totuși nevoia primară inițială de a obține rezultate și de a le putea stoca pentru a le folosi mai târziu s-a păstrat și în ziua de azi. Epoca sistemelor de calcul distribuite a declanșat decuplarea celor două unități funcționale și azi găsim sisteme de calcul distribuite formate din mai multe dispozitive de stocare și mai multe unități de procesare aflate în locuri diferite.
Majoritatea investițiilor companiilor în mașinile de calcul proprii vizează două mari aspecte: timpul de execuție al aplicațiilor și dimensiunea informației procesate.
Datorită uniformității datelor și nevoii de ordonare pentru o accesare cât mai rapidă a informației s-a definit în timp concepul de bază de date. Bazele de date stochează informația într-un mod eficient din punct de vedere al spațiului și timpului de acces la informație și acest lucru este vital pentru a crește viteza de execuție a unui program. Modurile de stocare a informațiilor în bazele de date diferă existând diferite tipuri de producători de servicii de baze de date. Printre cei mai cunoscuți se numără Oracle, Microsoft și cei open source. Ca și modele de arhitectură bazele de date diferă, existând diverse tipuri de arhitecturi, decizia alegerii unei arhitecturi compatibile se face având în vedere factori corespunzători aplicațiilor ce vor folosi bazele de date. Aceste aplicații prelucrează date cu format specific sau de dimensiuni variabile. În funcție și de resursele hardware disponibile se poate opta pentru o arhitectură sau alta.
Există baze de date operaționale (Operațional Databases) care folosesc o accesare de tip OLTP (On-Line Transaction Processing), și baze de date de tip warehouse care folosesc o accesare de tip OLAP (Online Analitycal Processing). De asemenea se lucrează de obicei cu manager de baze de date (DataBase Management System) care poate fi de asemenea orientat pe rânduri (înregistrări) sau pe coloane.
Tendința impusă de portabilitate și compatibilitate este ca o aplicație software să poată comunica cu baza de date independent de tipul acesteia. O astfel de premisă este în prezent nerealizabilă datorită interdependențelor dintre funcționalitățile oferite de firmele comerciante de baze de date și proiectanții de aplicații. Totuși în viitor se va merge spre o decuplare totală a nivelului software ce prelucrează direct resursele bazei de date și nivelul software ce realizează funcționalitatea aplicației. Această decuplare trebuie realizată inteligent de un nivel intermediar de software (uneori chiar și hardware) numit middleware.
Aceeași tendință de decuplare a modelelor abstracte ale unei aplicații și funcționalitatea aplicației de modulele ce implementează funcționalitatea a dus la apariția limbajelor de programare orientate pe obiecte. În ziua de azi ele sunt considerate ca fiind limbajele de nivel înalt (high level language), în care se poate realiza o proiectare conceptuală cât mai fidelă reprezentării obiectelor din lumea reală. Aceste limbaje folosesc funcționalități și module software de nivel mai mic (low level language) dar proiectantului îi sunt ascunse detaliile modulelor respective. Acest mod de gândire a dus la dezvoltarea bazelor de date orientate pe obiecte.
Structura acestor baze de date simulează structura limbajelor de programare orientate pe obiecte înglobând concepte ca încapsulare, polimorfism sau persistență a datelor care sunt memorate ca obiecte.
Astfel putem vorbi de o stratificare a limbajelor de programare pe diferite nivele software și aceeași modalitate de stratificare o găsim și la bazele de date. Stratificarea este benefică în termeni de siguranță și protecție a datelor, eficiență de implementare și depanare, decuplarea unităților, portabilitate și compatibilitate.
Middleware-urile conferă asigurarea acestor calități care într-un final vor duce la un randament mai bun al calității aplicațiilor. Prin alegerea și întrebuințarea corectă a suportului hardware și cel software (baze de date, middleware și aplicată în sine) pentru o aplicație se poate spori într-un mod considerabil factorul viteză de procesare a informației. Astfel se ajunge la un timp de execuție mai mic al aplicației ceea ce este unul din dezideratele oricărei companii care achiziționează sau deține un program.
Diferențe între Java Swing și JavaFX
Capacitatea de dezvoltare a inginerilor se propagă a fi una bine structurată și de actualitate. Datorită acestor aspecte dezvoltatorii au venit cu idei și concepte noi procesând datele în mod clar și pe înțelesul tuturor. În următoarele secvențe se va prezenta câteva diferențe între Java Swing și JavaFX.
Diferența dintre JFrame și Scene
În Swing elementul care stă la bază componentelor interfeței se numește frame și este definit de clasa JFrame. Un frame este defapt o fereastră goală în care poți să adaugi un panel care folosește drept un container pentru elementele interfeței cu utilizatorul. Un panel aparține clasei ca JPanel. Swing-ul este defapt o clasă care extinde domeniul JFrame. Pentru afișarea elementelor interfeței cu utilizatorul, se adăugă componente la un JPanel, apoi se adăugă panelul în frame.
JavaFX folosește metaforă din teatru pentru a modela containerele de nivel superior ale unei aplicații. Un stage (definit de clasa Stage) reprezintă containerul cel mai înalt, defapt, o fereastră, dar în anumite sisteme de operare, stage-ul reprezintă întreaga suprafață afișată. Comenzile individuale și alte componente care stau la baza interfeței cu ușerul sunt cuprinse într-un scene (definit de către clasa Scene). O aplicație poate avea mai multe scene-uri, dar se poate afișa doar un singur scene pe moment
Un scene conține un scene graph care este cel mai important concept din JavaFX. Scene graph-ul este suma elementelor care compun o interfață pentru user-grupuri, layout-uri, comenzi și shape-uri. Aceste elemente se numesc node și aparțin domeniului Node. Un Node are multe funcții și modalități disponibile automat oricărui obiect pe care îl adaugi într-o interfață pentru ușer. De exemplu, clasa Node definește o metodă setRotate care îți dă posibilitatea să rotești orice node din scene graph.
Diferența dintre JPanel și Node
În JavaFX, managerele de layout sunt node-uri.
În Swing, un layout este asociat cu un JPanel. Nivelul superior din JPanel oferă layout-ul de bază al frame-ului. Dacă se vrea adăugarea de layout-uri în plus în layout-ul de nivel superior, trebuie să se creeze un nou JPanels, să se asocieze layout-urile, și apoi să fie adăugate la nivelul superior.
În JavaFX, layout-urile sunt subclase ale clasei Node precum comenzile și shape-urile. Layout-urile conțin o colecție de noduri și orice nod conținut într-un layout poate fi un fel de node: o comandă, un shape, sau orice alt layout. Această schemă este mai puțin dificilă decât asocierile de layout-uri din panel-ul Swing.
Diferența dintre Event-uri
JavaFX s-a imbunatait din punct de vedere acțiunii event-ului.
Atât JavaFX cât și Swing folosesc acțiunea event-ului pentru a răspunde la acțiunile utilizatorului. Totuși, se va observa că event-urile din JavaFX sunt mai bine gândite și mai bine concepute decât echivalentele lor din Swing. Dar cel mai bun motiv pentru care acțiunile event din JavaFX au fost îmbunătățite este suportul asupra proprietăților.
Proprietăți JAVAFX
JavaFX se ajută de proprietăți.
JavaFX se sprijină de conceptele de proprietăți și se folosește într-o mare măsură de ele prin clasele lui. Pe scurt, o proprietate este o variabilă a cărei valori poate fi cunoscută. Se poate înregistra un listener cu orice proprietate, care îți permite să scrii codul care se generează automat de fiecare dată când proprietățile se schimbă. În concluzie, se pot lega proprietățile unele de altele, ceea ce înseamnă că atunci când o proprietate se schimbă, celelalte valori ale proprietăților se schimbă automat cu aceasta.
Din cauză că aproape toate caracteristicile elementelor ale interfeței cu utilizatorul se controlează cu ajutorul proprietăților, JavaFX asigură manipularea eventurilor cu ușurință, fapt inexistent la Swing.. De exemplu, în JavaFX, poți atașa un event listener (ascultător de acțiuni) la culoarea unei forme. Dacă forma își schimbă culoarea, se execută codul din event listener. Este posibil să nu ai capacitatea de utilizare, dar o poți folosi dacă dorești.
Modalitatea de formatare cu ajutorul fișierelor CSS
JavaFX are mai multe skinuri cu CSS.
Una dintre cele mai importante caracteristici din JavaFX este că poți controla formatarea cu CSS (Cascading Style Sheets). Aproape fiecare aspect al interfeței utilizatorului poate fi setat cu ajutorul unei reguli de stil, și poți cu ușurință să selectezi orice stil disponibil să aplici scenei. Astfel, poți schimba întregul aspect al aplicației cu un singur apel.
Mai multe comenzi
JavaFX are comenzi mai bune
În general, se poate observa că ierarhia comenzilor din JavaFX este mult mai bine pusă la punct decât cea din Swing. Amândouă au aceleași comenzi de bază, butoane, căsuțe de bifat, căsuțe combo. Dar JavaFX are câteva comenzi mai interesante pe care Swing nu le deține, precum comanda de TitledPane și de Accordion care pot juca rolul de folder și care aranjează mai multe comenzi TitledPane într-o stivă. Faptul că toate comenzile pot fi modificate din punct de vedere al aspectului cu ajutorul CSS-ului, le conferă utilizatorilor un mare avantaj față de Swing.
Efecte speciale
JavaFX are efecte speciale
Pachetul JavaFX Scene Effect conține un număr de clase care pot aplica ușor efecte speciale oricărui node din scene graph. Aceste clase îți oferă oportunitatea să aplici umbre, reflexii, estompări și alte efecte vizuale interesante care pot transforma aspectul interfeței cu utilizatorul.
Diferența dintre animații Swing și JavaFX
Animațiile sunt mai ușoare cu JavaFX
Animațiile sunt posibile în Swing, dar aceasta nu oferă suport direct pentru ele. Pentru a anima o componentă Swing, trebuie să setezi niște timpi și să construiești o logică pentru a realiza animația.Pe de altă parte, JavaFX are suport integrat pentru animații sofisticate care pot fi aplicate oricărui node din scene graph. Se pot folosi mai multe clase de tranziții încorporate pentru a realiza animații comune precum estompări, rotații sau animații motorii, sau se pot folosi clasele KeyFrame și Timeline pentru a seta mai ușor animațiile.
Dispozitive TouchScreen
JavaFX asigură dispozitive touch moderne
Swing nu deține niciun fel de suport modern pentru TouchScreen. Pe de altă parte, JavaFX are suport încorporat pentru comenzi comune precum bară de derulare, ștergere, rotare și apropriere. Utilizarea acestor comenzi este ușoară precum utilizarea oricărui tip de event: trebuie instalat doar un event listener pe eventul de atingere și apoi trebuie scris codul potrivit comenzii acesteia.
Panoul Alert vs JoptionPane
JavaFX nu are echivalent pentru JOptionPane
Nu ar fi corect să se umple această listă cu 10 diferențe aducând doar argumente pozitive pentru JavaFX. Aici este o mică problemă la JavaFX: nu are încorporat echivalentul pentru clasa JOptionPane din Swing, care este folositoare pentru afișarea mesajelor de alertă sau pentru introducerea lor de către utilizator. În JavaFX trebuie să ai priceperea să construiești echivalentul pentru această clasă folositoare sau se poate folosii dialog de tip Alert care corespunde pentru ferestre de tip Warning, Information, Error, Exception, Confirming, Choice sau Custom Dialog.
Tehnologii XML/FXML
XML
XML este un limbaj de marcare pentru documente care conțin informații structurate.
Informațiile structurate sunt alcătuite atât de conținut (cuvinte, imagini, etc.), precum și unele indicații cu privire la rolul pe care îl joacă de acestea (de exemplu, conținutul într-o poziție care are un sens diferit de conținut într-o notă de subsol, ceea ce înseamnă ceva diferit decât conținutul într-o figură sau conținutul dintr-un tabel de baze de date, etc.). Aproape toate documentele au o anumită structură.
Un limbaj de marcare este un mecanism de identificare a structurilor într -un document. Specificația XML definește o modalitate standard de a adăuga marcare documentelor.
Ce este un document?
Numărul de cereri în prezent în curs de dezvoltare. Pentru scopurile noastre, cuvântul " document " nu se referă numai la documentele tradiționale, cum ar fi acesta, ci la multitudinea de alte formate de date XML. Acestea includ grafică vectorială, tranzacții de e-commerce, ecuații matematice, nobiect metadate, API-uri de server, și o mie de alte tipuri de informații structurate.
XML este la fel ca HTML?
Nu. În HTML, atât semantica tag-ul și setul tag-ul sunt fixe. O <h1> este întotdeauna o primă poziție de nivel. W3C, în colaborare cu furnizorii de browser și comunitatea WWW, este în mod constant în lucru, cu toate că extinde definiția HTML pentru a permite noi tag-uri care ție pasul cu schimbarea tehnologiei și pentru a aduce variații în prezentare (stylesheet) pe Web. Cu toate acestea, schimbările sunt întotdeauna rigid delimitate de ceea ce au pus în aplicare vânzătorii de browser și de faptul că compatibilitatea inversă este de o importanță capitală. Iar pentru cei care doresc să difuzeze informații pe scară largă, caracteristicile suportate de cele mai recente versiuni de Netscape și Internet Explorer nu sunt utile.
XML nu specifică semantica, și niciun set de etichetă. De fapt, XML este într-adevăr un meta-limbaj pentru a descrie limbaje de marcare. Cu alte cuvinte, XML asigură posibilitatea de a defini etichete și relațiile structurale între ele. Din moment ce nu există nici un set de tag-ul predefinite, nu poate exista nici o semantică preconcepute. Toată semantica unui document XML va fi definit fie prin aplicațiile pe care le prelucrează fie prin stylesheets.
FXML
FXML este un limbaj bazat pe XML, care prevede structura pentru construirea unei interfețe utilizator separat de logică de aplicare a codului. Această separare a logicii de prezentare și de aplicare este atractivă pentru dezvoltatorii web sau dezvoltatori OOP deoarece acestea se pot asambla o interfață de utilizator care folosește componente Java, fără a stăpâni codul pentru preluarea și completarea datelor.
FXML nu are o schemă, dar aceasta are o structură predefinită de bază. Ceea ce se poate exprima în FXML, și modul în care se aplică pentru construirea unei scene grafice, depinde de API-ul de obiectele pe care le construiesc. Pentru că FXML mapează direct la Java.
Puteți utiliza API-ul pentru a înțelege ce elemente și atribute sunt permise. În general, cele mai multe clase JavaFX pot fi folosite ca elemente, iar cele mai multe proprietăți pot fi folosite ca atribute.
Dintr-o perspectivă de model View Controller (MVC), fișierul FXML care conține descrierea interfeței cu utilizatorul este vizualizarea. Regulatorul este o clasă Java, de punere în aplicare în mod opțional a clasei Initializable, care este declarată ca controller pentru fișierul FXML. Modelul este format din obiecte de domeniu definite pe partea Java, care vă conectați la vizualizarea prin intermediul controlerului care conține toată logica folosită în interfață.
Beneficii FXML
Scena grafică este mai transparentă în FXML, este mai ușor de utilizat pentru o echipă de dezvoltare și ușor de testat.
FXML nu este un limbaj care se compilează; nu trebuie să recompilați codul pentru a vedea modificările.
Aveți posibilitatea să utilizați FXML cu orice limbaj Java Virtual Machine (JVM), cum ar fi Java, Scală, sau Clojure.
FXML nu este limitat la porțiunea de vizualizare a interfeței MVC. Aveți posibilitatea să construiți servicii sau obiecte de domeniu, și le puteți utiliza în JavaScript sau alte limbaje de scripting.
FXML și Scene Builder
La fel ca și unii dezvoltatori care preferă să lucreze direct în codul XML, alți dezvoltatori preferă să utilizeze un instrument pentru a manevra XML-ul lor. Același lucru este valabil și cu FXML.
Dacă preferați să utilizați un instrument, sau dacă doriți să creați un prototip rapid pentru a obține feedback-ul, atunci s-ar putea să utilizați JavaFX Scene Builder.
Ce este un Scene Builder?
Scena Builder este un instrument de proiectare care generează codul sursă FXML așa cum ați defini interfața de utilizator pentru aplicația dumneavoastră. Scena Builder vă poate ajuta să creați rapid un prototip pentru o aplicație interactivă care conectează componentele la logica aplicației.
Pentru că Scene Builder folosește XML ca un format de serializare, codul FXML produs este foarte clar și puteți edita în continuare fișiere FXML, generate de scenă Builder, în orice text sau XML editor.
NetBeans sau Eclipse vă permite să deschideți fișierele FXML în JavaFX Scene Builder, cu condiția ca acestea să fie instalat pe computer. Această integrare mai strânsă a NetBeans sau Eclipse și Scene Builder oferă un avantaj suplimentar atunci când dezvoltați aplicații FXML.
Structura și funcționalitatea aplicației
Concept structural.
Fiind studenți la diverse facultăți conștientizăm nevoia de a cerceta și dezvolta o structură pentru activitatea internă.
Ideiile pentru aplicații și nenumerate programe, își construiesc rădăcina încă din anul II a facultății.
Conceptul acestei teme a fost inițial unul simplu: o aplicație care calculează eficiența angajatului.
Până la urmă ce înseamnă acest calcul? S-a dat startul prin a cerceta prin ce metode se calcula înainte, care era timpul necesar pentru a finaliza aceste medii manual, ce înseamnă eficientă angajatului și la ce folosesc aceste lucruri. Odată conștientizate, s-au pus cap la cap ideile și s-a demarat operațiunea.
Uneori suntem familiarizați doar cu anumite obiecte ceea ce ne duce la o varietate de întrebări, o multitudine de obstacole și la o singură concluzie.
Domeniul pe care va urma să lucrăm este unul larg și plin de obstacole. Răbdarea, consecvența și încrederea în sine au fost principalele surse de motivație care în anumită măsură au dat randamentul necesar.
Funcționalitatea acestui concept pornește de la posibilitatea de a analiza din punct de vedere statistic eficiența, viteza și calitatea unui angajat. Fundamentul de bază este un set de date asupra cărora se vor aplică anumite funcții și operații. Teoretic vorbind, pentru a analiza o activitate, sunt necesari anumiți factori. Practic, fiecare angajat va fi obligat într-un fel sau altul să noteze fiecare task început și terminat.
Structura arborescentă a unei aplicații este stocată și reprezentată ca o ierarhie de noduri
Părinte și noduri copil. Rădăcina nu are nici un părinte, iar nodurile frunză nu au noduri copii.
La orice nivel în structura documentului, orice element poate fi accesat de către utilizator
Ca și nod. Folosind această structură, putem accesa astfel întreg documentul sau
Orice componentă a sa.
Arhitectura aplicației va fi determinată de anumite aspect legate de modul de calculare a eficienței, de modul de gândire la nivel de inteligență artificială și structura folosită în partea algoritmică.
Evoluția aplicației cu privire la interfață
În primă fază a construirii interfeței, totul arăta vag și fără culoare cu toate că tehnologia
Permitea crearea și editarea unor ferestre vizuale foarte impresionante.
Figura 4.1. Metoda de securitate.
În Figură 4.1. se poate observa o interfață de autentificare prin ușer și parolă. Dacă datele sunt introduse corect, următorul pas ar fi deschiderea ferestrei principale (Figura 4.2.).
Figura 4.2. Interfața inițială
Figura 4.2. Este considerată fereastra principală a aplicației.
Evoluția a luat proporții pe parcurs. Totuși, nu am crezut că voi putea să fac asemenea aplicații, cu toate că îmi doream să îmi duc la bun sfârșit planul. Aveam momente când am crezut că doar atât pot și că nu sunt capabil de mai mult.
În cea de a doua parte, am avut puțin mai multă inspirație, conștientizând faptul că gândirea mea e nevoită să se dezvolte din punct de vedere algoritmic și structural în spațiu.
La început detaliile referitoare la aplicație nu erau foarte clare, se cunoșteau doar trei lucruri:
E nevoie de o interfață cât mai simplă dar în același timp cât mai frumoasă și plăcută ochilor;
Dezvoltarea unui algoritm principal;
Motivația principală pentru a duce la capăt proiectul.
Figura 4.3. Metodă de autentificare.
Figura 4.3 reprezentată de o nouă versiune de autentificare. Sistemul fiind același ca cel anterior.
Figura 4.4. Noua generație de interfață.
Figura 4.4. Este caracterizată că țip fereastră principală, care a suferit la rândul ei unele schimbări. Spre deosebire de primă variantă, aceasta vine cu o serie de butoane, două Internal Frames, meniul și metoda de citire de date care va fi afișată în cel din stânga Internal Frame.
Următorul pas a fost realizat prin a analiza vechiul tool asigurat de companie, acordând o atenție la micile detalii care necesitau o îmbunătățire din punct de vedere al performanței structurale cât și a timpului de execuție pe care ulterior au fost transpuse într-o nouă generație de unelte accesibile. S-a efectuat modificarea accesului la aplicație, prin îmbunătățirea vizuală și prin mica criptare a datelor. Datele de acces sunt memorate în structura aplicației ceea ce a condus și la o autentificare din exteriorul bazei de date.
În ultima variantă, aplicația a fost recreată, având o structură diferită, o tehnologie mai recentă și un algoritm bazat pe fișierele CSV.
Noua tehnologie oferă posibilitatea de a lucra cu un standard de formatare al elementelor, prin recondiționarea stilurilor. Tehnologia se află sub denumirea de JAVAFX despre care vom vorbi în capitolul corespunzător.
Finalul acestui sub capitol, aduce la rândul lui ultima versiune a aplicației, despre care se va vorbi ulterior. Aplicația vine în două versiuni, pentru angajați și pentru TeamLeader.
Figura 4.5. Start a versiunii pentru angajați
Figura 4.5. Este momentul de start al aplicației standard, adică versiunea pentru angajați, care nu necesită sistem de autentificare. Această versiune folosește doar un progressbar împreună cu un thread de încărcare a fișierelor.jar. Când procesul atinge pragul de 100%, thread-ul respectiv se va încheia și vor urmă instrucțiunile date, mai precis acesta va acționa asupra clasei de start a ferestrei principale.
Figura 4.6. Sistemul de autentificare.
Figura 4.6. Este ultima versiune pentru sistemul de autentificare, aceasta venind cu o îmbunătățire din punct de vedere estetic cât și algoritmic. Noul sistem se folosește de fișiere CSS pentru design iar pe parte algortmica va folosi KeyEvent-uri. Acest KeyEvent va permite utilizatorilor o autentificare prin simplă apăsare a tastei ENTER, bineînțeles dacă datele introduse sunt corecte.
În procesul de dezvoltare software vor fi mereu momente de cotitură din cauza deciziilor de design sau proiectare care vor fi adaptate după bunul plac. Se poate observa diferența dintre sistemele de autentificare și ferestrele principale, care pe parcursul dezvoltării au semnalat și au pus accent pe un stil highend.
Figura 4.7. Fereastra principală a ultimei versiuni.
Dacă în primele versiuni nu am avut parte de aspecte plăcute, ultima versiune aduce în primul rând superioritate totală față de versiunile anterioare, cât și comoditate sau chiar o interfață User-Friendly.
Se poate observa că în Figură 4.7. Totul arată diferit. Interfața este dinamică în funcție de rezoluția monitorului. Locația butoanelor preia printr-o metodă dimensiunea rezoluției, se împarte la 2, apoi se adună sau scade câteva poziții în funcție de preferință.
Dacă versiunea anterioară nu a fost una satisfăcătoare, ultima actualizare aduce performanțe deosebite, coincidența lor fiind doar limbajul de bază, mai pe scurt Java.
Spre deosebire de versiunile anterioare, ultima actualizare corespunde unui stil și mecanism total diferit. Butoanele, culorile, interfața sau meniurile fac parte dintr-o generație nouă cu metode noi, obiecte noi și chiar o structură nouă.
Dacă partea vizuală a fost discutată în numerate rânduri, a venit momentul de a discuta per ansamblu de programul în sine. Titlul acestui capitol ne duce cu gândul la mai multe secțiuni ale căror forme pot fi mai mult sau mai puțin rotunde. Mai pe scurt, vom discuta despre baza aplicației, despre componentele aplicației și chiar de automatizarea acestui soft.
Activity Report
Figura 4.8. Activity Report.
Activity Report (Figura 4.8.) este un fișier excel, componentă principală a aplicației. Acest fișier este raportul angajatului, mai pe scurt este documentul în care fiecare angajat în parte își trece activitatea zilnică. Dacă înaintea acestei aplicații modul de scriere era unul nesemnificativ, acum totul are logică.
Documentul are câteva rubrici importante care au rolul de a însuma eficiența angajatului, această eficiență depinde de anumite funcții și instrucțiuni aplicate asupra documentului.
Cele mai importante rubrici sunt Department, Time at Work, Labeling Time, Labeling Mode.
Fiecare dintre aceste rubrici funcționează după un anumit principiu. În cea mai semnificativă rubrică din partea stângă (Department), se va alege modul de lucru EVA1, EVA2, DEV (A se vedea la subcapitolul 2.1 “Modul de lucru”). Componentă foarte importantă deoarece aceasta specifică în ce mod a lucrat angajatul și ce fel de medie să fie calculată.
Time at Work reprezintă timpul în care ești la muncă. Această componentă se va calcula după o formulă specifică deoarece doar 75% din acest timp este destinat activității muncii. Partea importantă din această secțiune este redactată de calculul cu domeniul RecTime care rezultă în rubrica din partea dreaptă: Rec time worked.
Labeling Time memorează cât timp ai muncit pe un anumit task. Acesta se poate diferenția prin rubrica Labeling Mode care reprezintă partea de ROI sau LDSS (A se vedea la subcapitolul 2.1 “Roi sau LDSS).
Formula după care se calculează și efectuează datele este afișată în secvența următoare:
(4.1) Formula de calcul pentru Modul DEV, domeniul LDSS
În această formulă se găsește o imbricare de condiții IF și se poate traduce astfel:
DACĂ (Coloana C Conține “DEV”)
{
DACĂ (Coloana H Conține “LDSS”)
{
G3/K3
}
ALTFEL {0}
}
ALTFEL {0}
Cu privire la celelalte rubrici mai puțin importante se poate spune că au și acestea un rol însă nu influențează rezultatul eficienței angajatului.
Se poate observa în partea dreaptă o succesiune de rubrici cu identificatori asemănători, aceste date sunt strict confidențiale protejate cu parolă astfel doar TeamLeader-ul poate avea acces. În aceste rubrici sunt stocate datele finale care sunt citite și interpretate de către aplicație. După ce aceste date au fost corect interpretate, aplicația desenează diagrama dorită de tip AreaChart iar detaliile cu privire la eficiență sunt afișate pe o platformă de tip Window cu componentă de tip PieChart.
Activity Factor
Dacă se face o mică sinteză asupra capitolelor anterioare, se pot elabora date importante și structuri esențiale asupra aplicației. Indiferent de modul de calcul, manual sau automat, adică prin Activity Factor eficiența va fi aceeași însă nu și din punct de vedere al rapidității, comodității sau simplificației. Ca să facem o mică remarcă a acestei aplicații putem spune că Activity Factor este într-adevăr o aplicație eficientă care verifică, interpretează, procesează și afișează date asupra fiecărui angajat în parte. Toate aceste aspecte revendică calitatea angajatului, precizia și chiar nivelul de cunoștințe în acest domeniu.
Documentul Activity Report se completează în fiecare zi lucrătoare diferența fiind luna în care este realizat. Sistematic vorbind chiar dacă angajatul se află în concediu acesta nu va completa documentul pe perioadă corespunzătoare iar rezultatul final nu va fi influențat.
Introducerea în această aplicație este prezentată printr-o fereastră de tip Panel componentă a limbajului JavaFX. Aplicația deține două versiuni, una pentru TeamLeader și una pentru angajați. Versiunea pentru TeamLeader vine cu un sistem de autentificare bazat pe nume de utilizator și parolă, care are acces la controller de calculare a factorului de eficiență și la unele aplicații software specifice domeniului de lucru.
Figura 4.9. Interfața cu utilizatorul a sistemului de autentificare.
Deoarece datele pentru calculare sunt strict confidențiale, s-a implementat această metodă de securitate (Figura 4.9) care protejează concomitent informațiile pentru angajați de informațiile pentru șefii echipei.
Odată ce a fost accesată aplicația cu users și parolă, utilizatorul va avea acces deplin asupra ei. Organizată într-un stil modern cu funcții moderne și caracteristici specifice, se poate exterioriza prin puterea de cooperare cu mediul înconjurător.
Figura 4.10 Interfață grafică a aplicației
Figura 4.10 este caracteristică unui stil modern, folosind stiluri de desing CSS. Este reprezentată de interfața inițiala care se va deschide prima dată când aplicația se va executa.
Activity Factor HDD
Cea mai importantă caracteristică și funcționalitate legată de soft este reprezentată de partea de calcul și partea de organizare a hard-disk-urilor.
Funcția pentru hard-disk-uri este încorporate în totalitate pentru ambele versiuni (Versiunea pentru angajați și Versiunea pentru TeamLeaderi). Aceasta oferă un spațiu de stocare virtual în cadrul unei rețele interne. De ce avem nevoie de aceasta? Răspunsul este unul simplu. În lipsa sa, se va pierde o bună parte a timpului de muncă căutând harddisk-urile pe care sunt stocate task-urile. Acest prototip de reorganizare și relocare a datelor este reprezentat de către o bază de date cu posibilitatea de a opera pe aceasta printr-o interfață user-friendly.
Deoarece există peste 1500 de dispositive de stocare, căutarea a devenit din ce în ce mai grea și mai obositoare. Funcția de stocare oferă posibilitatea de căutare rapidă după numele harddisk-ului și oferă detalii despre locația, ora și dată când au fost preluate, persoana care este în posesia sa, numele calculatorului și un ID unic pentru identificare.
Figura 4.11 Sistemul de gestiune a harddisk-urilor
Sistemul de gestiunea a harddisk-urilor care cuprinde o un sistem de administrare a bazei de date prin intermediul interfeței din figura 4.11.
Prin utlizarea acestui prototip de organizare s-a ușurat munca angajatului cu circa 60% iar timpul în care se efectuau căutările pentru hdd a scăzut cu 40%.
Această interfață este compusă dintr-o serie de funcții utile, cum ar fi:
Funcție pentru ștergere
Funcție pentru adăugare
Funcție pentru actualizare și modificare
Funcție pentru căutare
Funcția de preluare
Pentru a putea șterge, adăuga, sau modifica avem nevoie de un identificator unic care stă la baza acestora. Se poate observa că acest id este prezent și corespunzător fiecărui HDD.
Procedura pentru fiecare operație este simplă și eficientă, iar aceasta se va face sub următorii pași.
Ex: Dorim să ștergem un HDD numit ADT4T1-126 al cărui ID corespunzător este 14
Pasul 1: Căutam HDD
Figura 4.12 Căutarea HDD-ului în baza de date.
Această operație va afișa toate rezultatele din baza de date cu denumirea ADT4T1-126.
Pasul 2: ID-ul unic corespunzător HDD-ului îl vom trece în tabul superior numit HDD ID
Figura 4.13 Textfield-ul în care introducem
ID-ul pentru ștergere, actualizare sau preluare.
Pasul 3: Apăsăm butonul permanently delete.
Figura 4.14 Butonul de ștergere a
Hdd-ului din baza de date
Figura 4.15 Afișarea după ștergerea HDD-ului
Rezultatul este cel așteptat, HDD-ul cu numele ADT4T1-126 a fost șters din baza de date.
Operația pentru adăugare și modificare este puțin diferită, datorită unor câmpuri care trebuie completate sau modificate. Dacă dorim să adăugăm un HDD vom efectua următorii pași:
Pasul 1: Adăugăm în primele câmpuri din partea inferioară a ferestrei datele necesare.
Pasul 2: Accesăm butonul ADD HardName on DB
Figura 4.16 Butonul de adăugare a unui HDD nou în baza de date.
Figura 4.17 Afișarea noului HDD în baza de date.
Pentru a actualiza unul dintre hdd-uri, vom lua exemplu aspect al dimensiunii care a fost cerut pentru modificare. Această operație se va efectua după următorii pași:
Căutăm HDD-ul
Preluăm ID-ul unic
Adăugăm ID-ul în câmpul Update ID-ul identificat
Aplicația va detecta automat toate detaliile pentru ID-ul respective
Modificăm în câmpurile corespunzătoare ce este necesar
Accesăm butonul Update ID
Figura 4.17 Butonul de actualizare a
Datelor în baza de date.
Figura 4.18 Câmpurile în care actualizam
Sau modificam datele.
Figura 4.19 HDD-ul după update
Un dezavantaj al acestei interfețe este predominat de către o succesiune de funcții care trebuie efectuate, însă poate fi și un avantaj deoarece fiecare operație are structură proprie și nu este nevoie să încurcăm datele între ele.
Funcția pentru preluare a HDD-ului este sistematizată alături de anumiți pași, cu toate că este un sistem simplu și bine gândit cu siguranță pe viitor vor fi nevoie de anumite actualizări.
Pentru a putea prelua un HDD vom copia id-ul corespunzător, vom completa câmpul din stânga numit HDD ID, vom accesa butonul Update ID care este situate în partea superioară a ferestrei.
Activity Factor Chart
Deoarece în nenumărate rânduri au fost descrise funcții precum Activity Factor HDD Structure, Activity Report și alte moduri de lucru, a venit momentul să discutăm despre adevărata funcție a aplicației, numită și Activity Factor Chart.
După cum știți, activity factor este aplicația care conține ansamblul de mini tool-uri și care a fost construită pentru un scop și anume pentru a calcula eficiența angajatului.
Totodată aplicația vine un set complet de avantaje care au fost anunțate în capitolele anterioare și care sunt construite pe o simplă interfață în limbajul de programare JAVAFX.
Activity Factor chart este un tool care măsoară eficiența unui angajat într-un număr finit de pași iar ceea ce aduce acesta oferă utilizatorului o experiență plăcută din punct de vedere al calității, vitezei de procesare, design-ului și nu numai.
Ceea ce este necesar pentru acest tool este de remarcat. Funcționalitatea acestuia necesită un fișier de tip CSV în care sunt datele necesare pentru afișare. Chiar dacă uneori aplicațiile de acest tip poate genera erori, activity factor evită acest lucru iar toate erorile care sunt întâmpinate defapt sunt mai degrabă din pricina fișierului CSV și nu din partea aplicația.
Cele mai frecvente erori pot apărea în următoarele cazuri:
Coloane necompletate; Acest tip de eroare poate duce la deplasarea unor celule și poate cauza erori cum ar fi necitirea fișierului sau afișarea altor rezultate.
Folosirea virgulei “,”; Folosirea virgulei aduce de asemenea erori complexe deoarece în fiserul CSV (Comma separate values) după cum îi spune și numele, aceasta va despărți valorile și există posibilitatea de deplasare a celulelor.
Coloane de tip blank pot cauza uneori cu toate că aplicația încearcă să evite acest impertinent obstacol.
Aplicația are la bază o structură de citire a datelor, de afișare a rezultatelor și de evidențiere a calității angajatului.
Pentru a putea calcula eficiența angajatului, după cum s-a discutat, este nevoie de un fișier (Excel) numit Activity Report care necesită a fi convertit pentru citire în fișier CSV.
Pașii necesari pentru calculare sunt următorii:
Convertim Fișierul excel
Configurăm tool-ul pentru modul necesar
Selectăm fișierul CSV
Afișăm rezultatul
Figura 4.20 Fișierul Excel pentru raportul zilnic
Figura 4.20 Reprezintă fișierul activity report completat cu datele necesare unde:
Tabul “Date” reprezintă dată în care a fost efectuat task-ul
“Function” reprezintă echipa (TL) pentru care s-a efectuat task-ul
“Departament” Reprezintă modul
“Rec” numele task-ului
Câmpul “Time at work” prezența la muncă
“Labeling Time” 75% din “Time at work”
“Labeling Mode” Domenii de lucru ROI sau LDSS
Acestea sunt cele mai importante câmpuri din activity report, câmpuri care au o importanță net superioară față de restul.
Următorul pas este reprezentat de convertirea fișierului în format CSV iar ulterior configurarea aplicației.
Interfața pentru Activity Factor Chart este împărțită în mai multe view-uri. View-ul principal este caracterizat printr-o serie de butoane cărora le corespunde anumite funcții.
Figura 4.21 Interfață pentru Activity Factor Chart.
Figura 4.21 Reprezintă baza de afișare a diagramei, mai precis, locul unde se afișează diagram după calculare.
În partea superioară a ferestrei se observă o serie de butoane cât și structuri combobox, checkbox și radiobutton.
În următoarele secvențe se va configura tool-ul pentru modul EVA1, domeniul ROI unde vor fi selectate numărul de rânduri care vor fi citite și un număr de task-uri pentru a putea calcula media aritmetică.
Primul buton din al cărui denumire este Roi Eva1 File este acționat alături de un FileChooser oferind posibilitatea de a selecta fișierul dorit și a memora ultima cale către ultimul CSV accesat.
Figura 4.22 Butonul de selectare a fișierului
Clasa de buton disponibil prin intermediul API JavaFX permite dezvoltatorilor să proceseze o acțiune atunci când un utilizator face clic pe un buton. Clasa Button este o extensie a clasei Label. Se poate afișa text, o imagine, sau ambele.
Figura 4.22 prezintă buton cu diverse efecte care sunt premise cu ajutorul tehnologiei CSS. Prin apăsarea sa se va accesa (apelă) o funcție care va deschide un filechooser cu calități specificate anterior.
Figura 4.23 Sistemul de fișiere, explorer.
Figura 4.23 Explică modul de utilizare a clasei FileChooser pentru a permite utilizatorilor să navigheze sistemul de fișiere.
Spre deosebire de alte clase de componente de interfață cu utilizatorul, clasa FileChooser nu face parte din pachetul javafx. Scene. Controls. Cu toate acestea, această clasă merită să fie menționate în JavaFX interfața de utilizare Controale tutorial, deoarece acceptă una dintre funcțiile tipice aplicației GUI: fișier de navigare sistem.
Funcțiile principale ale acestui navigator prin sistem este reprezentat de filtrul pentru extensii care poate fi accesa din dreapta părții inferioare a ferestrei și un sistem care reține calea ultimului fișier accesat.
După ce fișierul a fost ales se va accesa butonul de deschidere “Open” care vă citii datele din fișier sub formă de matrice. Dacă fișierul nu va fi citit, el va genera o serie de erori care au fost descrise în capitolul anterior (A se vedea la subcapitolul 4.2.2.1 Erori frecvente)
Configurația pentru Activity Factor Chart se poate aplica din fereastră a cărui aparțin câteva proprietăți importante.
Figura 4.24 Bara de unelte pentru diagram.
Bara de unelte (Figura 4.24.) reprezintă o secțiune de setări care necesită a fi selectate sau nu, pentru configurarea diagramei.
De la dreapta la stânga există posibilitatea de a accesa modul Revision care necesită a fi bifat doar în cazul în care task-urile vor reveni din cauza unor erori de muncă sau bug-uri de la client. În acest caz limita care este de fapt media task-urilor în 75% din orele petrecute la locul de muncă va fi egală cu 11. Acest principiu a fost promulgat pentru simplu fapt că vor fi corectate doar erorile și nu se va relua task-ul de la 0.
Recording List oferă o listă sub formă de tabel care va arăta toate detaliile despre fișierul CSV. Dacă va fi setat pe NO detaliile nu vor fi afișate.
Figura 4.25 Afișarea datelor din fișier în fereastra aplicației.
ComboBox-ul numit EVA1 se referă la modul de lucru. Acesta se mai poate găsi sub denumirea de EVA1 sau DEV. (A se vedea 2.1 Modul de lucru)
Figura 4.26 Selectarea modului
De lucru.
Rows indică câte rânduri pot fi citite din fișier. Această metodă de alegere a fost implementată cu scopul de a oferi posibilitatea ca utilizatorul să poată diferenția până la ce dată să fie creat raportul de eficiență.
Figura 4.27 Selectarea numărului de
Rânduri care necesita a fi citite.
Average reprezintă numărul de task-uri realizate pe un mod specific, care ajută la efectuarea mediei aritmetice. Luând exemplul anterior avem 12 task-uri pe modul EVA1, media lor aritmetică fiind împărțită la același număr.
Figura 4.28 Selectarea numărului de task-uri efectuate.
Pe lângă aceste mici setări, s-a implementat și un mod de expediere a rezultatelor via E-Mail prin accesarea aplicației windows “Snipping Tool” care oferă posibilitatea de printare, trimitere sau stocare pe computerul personal a rezultatelor.
Figura 4.29 Butonul pentru screenshot,
Trimitere pe email.
Având toate aceste informații legate de inițializarea configurărilor, vom afișa rezultatul dorit sub formă de diagramă AreaChart în urma căror vor fi explicate detalii despre aceasta.
Similar cu diagram în linie, AreaChart prezintă date ca o serie de puncte unite prin linii drepte. Cu toate acestea, zona dintre axă și linia este vopsită cu culoarea specifică. Fiecare serie de date este vopsită cu o culoare diferită.
Figura 4.30 Exemplu diagram AreaChart.
Figura 4.30 Reprezintă doar un exemplu de afișare pentru diagram de tip AreaChart.
Dacă s-au prezentat anumite exemple pentru diferite diagrame, în următorul paragraf vă vom arăta ceea ce rezultă din aplicația noastră.
Figura 4.31 Diagrama rezultată după calcul.
Figura 4.31 Este caracterizat de către datele care sunt preluate printr-o metodă de citire. Așa cum s-a descries anterior, aplicația citește datele din fișierul CSV ca o matrice de puncte în care fiecare linie și fiecare coloană unite reprezintă o colecție de date.
Fereastra de afișare este împărțită într-o axă Ox-Oy. Pe axa Ox se reprezintă zilele în care au fost efectuate task-urile și media care rezultă din formula prezentată în întroducerea acestei lucrări (A se vedea Introducere).
Figura 4.32 Axa Ox
Figura 4.32 Afișează un element principal de pe axa Ox în care sunt descrise ziua și media corespunzătoare.
Axa Oy afișează un range a cărui valori sunt cuprinse între 0 și o valoare maximă posibilă care nu este infinită.
În cazul actual limita va fi egală cu 35 care este reprezentată de linia roșie punctată.
Figura 4.33 Limita 35 admisă (EVA1).
Figura 4.33 Reprezintă limita de 35 a modului EVA1. (A se vedea Modul de lucru).
Aplicația de măsurare dispune de anumite caracteristici pentru mărire a diagramei pentru o vizualizare mai detaliată. Această metodă este necesară în momentul în care sunt mai mult de 30 zile lucrate. Un exemplu concret poate fi: Executarea mai multor task-uri sub nume diferite în aceeași zi. Dacă vom avea mai multe task-uri într-o zi, aplicația va afișa aceeași dată însă cu medii diferite.
Figura 4.34 Rezultatul unui calcul mai mare de 30 de task-uri
Figura 4.34 Afișează o structură succesivă de date pe mai mult de 30 de zile.
Se poate observa că vizualizarea rezultatelor într-o manieră mult mai largă, adică cu mai multe afișări, provoacă indisponibilitate iar uneori avem nevoie de o mărire a diagramei. Această mărire se poate executa prin folosirea scroll-ului de la mouse. Scroll up reprezintă mărire, Scroll down reprezintă micșorare, iar pentru o reinițializare rapidă se va face dublu click pe diagramă.
Figura 4.35 Diagrama mărita.
Împreună cu diagramele AreaChart se va afișa o fereastră pentru detalii suplimentare care cuprinde un ansamblu format din detalii despre angajat și într-un tab diferit detalii despre fișierul actual.
În detaliile despre angajat sunt cuprinse și caracteristici specifice cum ar fi:
Ziua, data și ora când s-a executat raportul
Numele angajatului numărul de task-uri citite (Rec’: 33)
Modul EVA1, EVA2, DEV
Rezultatul care curpinde la rândul lui 3 câmpuri:
Limita adminsa, Media obținută de către angajat
Calificativul obținut: Eficient, insuficient sau problematic.
Figura 4.36 Detaliile despre angajat și rezultat.
Figura 4.36 Reprezintă fereastra pentru detalii ale angajatului și a rezultatul acestuia care poate fi activată sau dezactivată. Prin activare sau dezactivare se înțelege că fereastra va prelua o formă de transparentă prin simplu dublu click asupra ei. Pentru revenire la forma inițială se va accesa cu un click.
Figura 4.37 Diagramă și fereastra cu detalii specifice.
Alte aspecte ale aplicației
System Tray
System Tray, este o secțiune a taskbars în interfața cu utilizatorul care este utilizat pentru a afișa ceasul și pictogramele anumitor programe, astfel încât un utilizator este amintit în permanență că acestea sunt prezente și pentru accesare e nevoie să faceți clic cu ușurință pe pictograme. System Tray este o secțiune situată la un capătul barei de activități din Windows. Pictogramele care sunt adesea instalate în System Tray include controlul volumului pentru sunet, software anti – virus, software-ul de scaner, un vizualizator de canal, player-ul și un indicator de resurse de sistem. Atunci când mai multe pictograme sunt instalate în System Tray decât se poate încadra în spațiul alocat, acesta devine orizontal sau derulabil extensibil. Pentru a interacționa cu un program în acest mic sistem de organizare, selectați o pictogramă cu mouse -ul și dublu -clic sau clic dreapta pe pictogramă.
Aplicația Activity Factor conține pe lângă Activity Factor Chart și Activity Factor HDD o suită largă de caracteristici specifice. Conține un sistem specific de apelare rapidă (Tray System).
Acest sistem oferă utilizatorului un acces rapid din bara de task la cele mai importante funcționalități ale aplicației. Excepție face funcția de calculare deoarece cum s-a discutat în rândurile anterioare, pentru a avea acces la această caracteristică este nevoie de nume de utilizator și parolă.
Figura 4.37 System Tray
Figura 4.37 Are ca scop anumite shortcut-uri din aplicația Activity Factor. Aceasta conține o suită de aplicații și scurtături pentru diverse funcționalități cum ar fi: HDD, Mail, Calculator, Notes, Snipptool, Internet Explorer, etc.
Shortcuts
În general, o comandă rapidă este o cale care este mai scurt decât calea obișnuită sau formală la ceva sau o metodă de operare care economisește timp în funcționarea regulată. În Windows și alte sistem de operare, o comandă rapidă este o pictogramă de pe ecranul monitorului ce permite unui utilizator să vadă cu ușurință și selecteze un anumit program sau obiect de date. Sistemul de operare vine cu unele comenzi rapide de deja vizibile pe desktop. Un utilizator poate elimina aceste sau adăuga altele noi.
Activity Factor aduce la rândul său anumite pictograme utilizate mai des și necesare în cazul unor calcule, notații sau screenshot-uri.
Figura 4.38 Shortcut-urile aplicației.
Fiecare dintre shortcut-uri va accesa o anumită funcționalitate software. În partea superioară a interfeței exista un BarMenu (Humble, 2015) care conține anumite scurtături către locații de pe rețeaua internă cât și un buton pentru ajutor.
În centrul interfeței există scurtături pentru Activity Factor Chart, PTC Integrity este o aplicație pentru backup online, Mail, Notes, Calculator, Sistemul de HDD, Internet, Screenshot.
Concluzii
Se pot spune foarte multe despre tema dată, există posibilitatea de a avea o desfaurare mai amplă, însă această lucrare a avut ca scop eviedentierea și demonstrarea unor specificații generale privind tematica dată. Un lucru este concret și cert, în urma citirii acestei lucrări, putem afirma că internetul are un rol important în viața de zi cu zi iar lumea digitală a devenit un spațiu de “joacă” mult mai accesat decât realul spațiu de joacă.
Scopul propus în această lucrare a fost de a aduce la cunostiinta omului de rând că anumite sarcini pot fi manevrate și cu ajutorul unui computer, iar ceea ce se va face în mod manual nu va fii niciodată atât de eficient ca într-un mod automat. De asemenea s-a specificat în primele capitol despre viteza de executare în mod manual și mod automat, rezultatele fiind bineînțeles în favoarea modului automat.
În cadrul primului capitol am discutat despre generalități ale internetului și informaticii. Am discutat despre necesitatea informaticii în vietiile noastre, despre primii oameni care au evoluat în această materie. De asemenea s-au adus serii de exemple pentru domeniul utilizat precum și eficiența sa în momentul utilizării.
În capitolul doi am adus remarci asupra modurilor de lucru și modurilor de calculare. S-au evidențiat avantaje și dezavantaje pentru fiecare mod. S-a remarcat faptul că singurul dezavantaj al modurilor automatizate constă în lipsa unor calculatoare, însă acest aspect nu va fii niciodată o problemă deoarece în ziua de astăzi totul devine digital.
Al treilea capitol conține informații suplimentare pentru necunoscătorii domeniului de informatică. Am discutat despre tehnologiile folosite, la ce sunt bune ele și ce avantaje aduce față de alte limbaje și mai ales la ce ajută o bază de date. Totuși reamintim că un sistem de management al bazelor de date este important deoarece gestionează date în mod eficient și permite utilizatorilor să efectueze sarcini multiple. Avantajele noii tehnologii JAVAFX aduce un plus de beneficii deoarece cu ajutorul său a fost posibilă realizarea unor metode modernizare a obiectelor, mai precis cu ajutorul stilului CSS care poate fi accesat în acest limbaj.
Capitolul patru cuprinde detaliile structurate în părți sortate după importanța lor. Am discutat despre aplicația care aduce beneficii în cazul automatizării, am analizat etapele pentru execuție a anumitor factori cum ar fi: Completarea fișierului excel, transformarea acestora în fișiere CSV, de ce este nevoie de această convertire de fișiere și etapele cele mai importante pentru eficiența angajatului care constau în configurarea aplicației și afișarea datelor.
Această aplicație este concepută pentru o firmă privată iar toate detaliile cu privire la anumite funcții pot fi adaptate pentru o oarecare firmă.
Sper că prin această lucrare am reușit să demonstrez cât de importantă e problema automatizărilor în viața de zi cu zi iar ceea ce am adus să fie un beneficiu asupra unor priorități. Am încercat să pun această problemă cât mai în ansamblu, am făcut demonstrații cu exemple, am analizat avantajele și dezavantajele, am discutat despre ceea ce se dorește prin automatizare și nu numai.
Bibliografie
Anderson Gail and Anderson Paul, Essential JAVAFX, 2009
Topley Kim, JavaFX Developer's Guide, 2010
DiMarzio J., JavaFX A Beginner's Guide, 2011
McGehee Shawn, Server Backup and Restore, 2012
Serge Abiteboul, Ioana Manolescu, Philippe Rigaux, Marie-Christine Rousset, Pierre Senellart, Data Management, 2012
Pecinovsky Rudolf., Tomas Bruckner, Learn Object Oriented Thinking and Programming, 2013
Carl Dea Mark Heckler, Gerrit Grunwald, Jose Pereda, Sean Phillips., JavaFX 8, 2nd Edition, 2014
McGehee Shawn, SQL Server Backup and Restore, 2014
Humble Charles, The Java Garbage Collection Mini-Book, 2015
Stacia Varga Denny Cherry, and Joseph D’Antoni., Introducing Microsoft SQL Server 2016, 2016
Lowe Doug, Difference between JAVAFX and JAVA, 2014-2015, http://www.dummies.com/how-to/content/10-differences-between-javafx-and-swing.html.
Dr. Ing. Ioan Străinescu, Despre informatică, N\A, http://ebooks.unibuc.ro/informatica/info/Capitolul%201.html
Wikipedia, Application Programming Interface, 2015, https://ro.wikipedia.org/wiki/Application_Programming_Interface.
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: Specializarea: Informatică [306878] (ID: 306878)
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.
