Sistem software pentru managementul și mentenanța activității IT într-o companie cu activitate în industria petrolieră Coordonator științific:… [304910]
LUCRARE DE DISERTAȚIE
Sistem software pentru managementul și mentenanța activității IT într-o companie cu activitate în industria petrolieră
Coordonator științific: Absolvent: [anonimizat]. univ. dr. ing. Valetin SGÂRCIU Doris POGĂCEAN
2020
CUPRINS
Abstract
Proiectul informatic dezvoltat elimină nevoia de documente fizice inutile și salvează nenumărate ore de muncă manuală și introducere repetitivă a datelor, [anonimizat] a [anonimizat], de cele mai multe ori acesta fiind de natura IT. [anonimizat] o [anonimizat], [anonimizat], colectarea de detalii ample despre ele si acces rapid asupra acestora.
Tehnologia sistemelor automate de gestionare a întreținerii este din ce în ce mai utilizata în rândul marilor corporații datorita faptului că acest tip de aplicație aduce un aport în ceea ce privește gestionarea activităților din cadrul companiei. [anonimizat] a [anonimizat].
[anonimizat]-și optimizeze operațiunile de întreținere prin intermediul unui sistem eficient de gestionare a comenzii de lucru sau prin monitorizarea nivelurilor de inventariere. 37% [anonimizat], începând cu anul 2018.
Am ales să realizez o astfel de aplicație în urma observarii unor nevoi pentru un produs informatic de gestionare si mentenanta a [anonimizat], cat si in cele in care membrii familiei mele sau cunostintele lucreaza. Asadar, am avut ocazia sa pot derula un interviu cu o persoana care lucreaza intr-o [anonimizat] o multitudine de cerinte care au reprezentat bazele fundamentale ample ale acestui proiect de tip Computerized maintenance management system. [anonimizat] o [anonimizat], acestea necesitand sa fie ridicate pentru a satisface nevoile utilizatorilor.
[anonimizat] , rafinare , transport (adesea cu petroliere și conducte ) și comercializarea produselor petroliere. Cele mai mari produse voluminoase ale industriei sunt păcură și benzina. [anonimizat], [anonimizat] , solvenți , îngrășăminte ,pesticide , parfumuri sintetice și materiale plastice.
[anonimizat] o preocupare critică pentru multe națiuni. [anonimizat] 32% [anonimizat] 53% pentru Orientul Mijlociu. Producerea, distribuirea, rafinarea și vânzarea cu amănuntul a petrolului luate în ansamblu reprezintă cea mai mare industrie din lume în termeni de valoare de dolari.
În ultimii ani, tehnicile îmbunătățite de recuperare a petrolului – în special forarea în mai multe etape și fracturarea hidraulică, împreună cunoscute sub numele de "fracking" – s-au mutat în prim-planul industriei, deoarece această nouă tehnologie joacă un rol crucial și controversat în noile metode de petrol extracție.
Având în vedere aceste aspecte, am dorit să creez un sistem software de management și mentananta a dispozitivelor IT deoarece aceasta industrie necesita componente hardware și software diverse pe care să le utilizează în activitatea sa. În acest sens, un astfel de produs este necesar pentru a automatiza și îmbunătății aceasta activitate.
Obiectivele propuse în cadrul lucrării
În cadrul dezvoltării aplicației cu titlul “Sistem informatic pentru managementul și mentenanță activității IT într-o companie petroliera”, mi-am propus să realizez mai multe module capabile să îndeplinească obiective, cum ar fi următoarele:
Digitalizarea procesului de gestionare si mentenanta a dispozitivelor IT,
Crearea de grafice sugestive, usor de folosit in rapoarte,
Automatizarea procesului de realizare a legaturilor dintre componente,
Administrarea conturilor și a utilizatorilor,
Vizualizarea dispozitivelor împreună cu informații critice într-o lista,
Filtre customizate pentru fiecare dispozitiv,
Funcția de dezafectare a unui dispozitiv,
Implementarea unui sistem pentru istoria schimbarilor componentelor cu posibilitatea vizualizarii valorilor anterioare,
Stabilirea relațiilor dintre dispozitive și aplicațiile care le pot fi atribuite si ierarhizarea componentelor.
Un alt aspect important al aplicației este posibilitatea administratorului de a avea o privire de ansamblu asupra întregului conținut al aplicației. Astfel am dezvoltat și implementat anumite caracteristi absolut necesare pentru ca adminstratorul să poată urmări un flux de lucru coerent.
Un obiectiv important pe care mi l-am propus a fost acela de a crea o interfață care să poată fi ușor utilizata de pe un calculator, dar și de pe un dispozitiv mobil, oferind astfel posibilitatea utilizării aplicației pe alte dispozitive decât cele clasice și vizualizarea continului fară restricții pe orice tip de dispozitiv Smart.
Structura lucrării
Lucrarea este compusă din 6 capitole si un capitol ce concretizează concluziile, contribuțiile și perspectivele de dezvoltare viitoare. Proiectul prezintă contribuțiile cu privire la sistemele informatice pentru managementul și mentenanță activității IT într-o companie petroliera.
Primul capitol reprezinta detalierea problemelor abordate si solutiile concepute pentru rezolvarea acestora, prin dezvoltarea unei aplicatii de tip CMMS.
În capitolul 2 am prezentat conceptul sistemelor de tip CMMS, unde este întâlnit, de ce este benefic, unde și cine îl poate folosi și ce beneficii aduce folosirea acestuia în cadrul companiilor din orice tip de industrie.
În capitolul 3 am descris succint tehnologiile pe care le-am folosit pentru dezvoltarea aplicației și limbajele de programare folosite în scrierea acesteia. Am folosit programe precum Visual Studio Community 2019 și SQL Server, dar și limbaje precum C#, JavaScript, CSS, HTML, JQuery.
In capitolul 4 am enumerate si detaliat fiecare componenta existenta in sistemul software, dar si ierarhia dintre acestea.
Capitolul 5 capitol reprezinta o viziune de ansamblu asupra caracteristicii multirol a platformei software dezvoltate, ce tipuri de roluluri exista si care este diferenta dintre ele.
In capitolul 6 este prezentat un scenariu amplu de functionare, care atinge fiecare dintre punctele de interes ale activitatii de gestionare si mentenanta ale dispozitivelor IT.
Descrierea problemei abordate și a metodei de rezolvare propuse
Pentru a putea desfasura o activitate care depinde de dispozitive IT, este nevoie sa se tina cont de importanta acestora, fiind elemente indispensabile, dar si de faptul ca acestea trebuie intretinute si incluse intr-un inventar.
Pentru identificarea nevoilor si cerintelor produsului informatic, am utilizat tehnici si metode de realizare a aplicatiilor informatice, cu urmatoarele etape, in stadiul incipient al proiectului :
analiza sistemului obiect in ansamblu pentru a putea identifica functiile globale sau activitatile ce pot fi preluate de aplicatia informatica,
detalierea cerintelor informationale pentru evidentierea componentelor primitive ; etapa permite o regandire a structurii primului nivel, reajustari minore, pentru a evita incompatibilitatile ce ar rezulta la asamblarea componentelor realizate individual,
proiectarea proiectului informatic,
construirea pe subsisteme a aplicatiei informatice, prioritate acordandu-se, bazei de date cu care s-a si pornit realizarea proiectului.
Strategia de concepere a sistemului informatic este una inovatoare, deoarece prezinta avantaje potrivite pentru conceptul aplicatiei software dezvoltate, precum :
realizarea unui sistem software cu flexibilitate ridicata, deci cu longevitate mare, fapt ce conduce la amortizarea integrala a investitiei si la obtinerea de beneficii,
aplicatia prezinta un grad ridicat de integrare interna prin date, ceea ce conduce la performante ridicate in exploatare,
descompunere top-down a functiilor globale ale produsului informatic, pana la
nivelul de functii elementare, si reprezentarea acestei ierarhii printr-o diagrama ierarhizata,
integrarea si acceptarea usoara a sistemului software de catre utilizatori.[3]
Platforma raspunde atat cerintelor informationale actuale imediate, cat si celor de perspectiva, printr-o adaptare flexibila.
Tehnica de realizare a sistemelului informatic este cea de interviu si studiu documentar. In cadrul lucrarii, se realizeaza un studiu asupra starii actuale ale sistemelor existente pe piata si adaptarea structurii acestora dupa nevoile identificate. De asemenea, in cadrul interviului, sunt colectare cunostinte precum cunoasterea in profunzime a activitatii care se doreste a fi imbunatatita, punctele slabe ale actualei abordari de lucru, cerinte specifice activitatii de gestionare si mentenanta, dar si arii de dezvoltare si imbunatarire a procesului respectiv, prin crearea de functionalitati ajutatoare.
Metode de realizare a sistemelor informatice este metoda Top-Down. Plecand de la arhitectura intregului proces, se doreste imbunatatirea activitatii de gestionare a componentelor IT. Produsul informatic sau componentele sale sunt descompuse pe niveluri de structurare de sus in jos, porning de la vederea de ansamblu a sistemului informatic, pana la fiecare componenta.
Acest proces de gestionare si mentenanta al dispozitivelor poate ridica probleme atunci cand nu este digitalizat si realizat intr-o maniera utila pentru persoanele resposabile de aceste activitati.
Cel mai des intalnite probleme, legate de abordarea clasica a gestionarii si mentenantei dispozitivelor sunt :
consuma mult timp,
depinde de un numar limitat de persoane care sunt nevoie sa memoreze detalii ample,
rapoarte realizate, de cele mai multe ori, prin intermediul aplicatiilor Microsoft Office care prezint riscul pierderii sau suprascrierii informatiilor atunci cand un document este folosit concomitent de mai multe persoane,
istoric si rapoarte stocate sub forma fizica, utilizand documente,
risc de securitate foarte ridicat din cauza factorului de amplasament fizic care poate fi usor accesibil,
risc de pierdere sau ratacire a informatiilor,
limitare a accesului asupra informatiilor, in cazul in care activitatea este desfasurata in mai multe sedii,
prespectiva ampla asupra dependintelor dintre componente aproape imposibila,
informatiile necesare despre componente, furnizori sau dependinte sunt dispersate,
lipsa elementelor grafice sugestive pentru crearea de rapoarte,
informatii greu de gasit, din cauza lipsei unei cautari globale sau chiar din cauza faptului ca trebuie cautate in documente fizice,
procesul de actualizare a starii si detaliilor unei componente IT este greu si obositor.
Un CMMS este un instrument util pentru a ajuta managerii facilităților să se organizeze mai mult prin reducerea dependenței de memoria unor persoane și automatizarea multor activități zilnice. CMMS ajuta administratorii să elibereze timp suplimentar pentru a se concentra pe îmbunătățirea fiabilității și reducerea cheltuielilor aferente întreținerii. Face gestionarea mai eficient, reducând costurile și furnizând venituri suplimentare si ajută la gestionarea echipamentelor si a inventarului într-o singură locație mai ales în cadrul organizațiilor globale. Oferă o combinație de funcții de gestionare a stocurilor și întreținere, care acoperă toate bazele pentru orice organizație care depinde de dispozitive IT.
Tinand cont de impedimentele enumerate si aspectele generice ale aplicatiilor de tip CMMS mentionante anterior, aplicatia realizata reprezinta o intepretare a acestui tip de software destinata gestionarii si mentenantei dispozitivelor IT. Fiecare dintre problemele identificate este adresata si rezolvata prin implementarea functionalitatilor dezvoltate in cadrul aplicatiei software :
modul destinat fiecarui tip de componenta si furnizori,contacte,
filtre customizate pentru fiecare tip de componenta,
functionalitati de adaugare, editare, sterge a componentelor,
actiunea de dezafectare a componentelor,
ierarhizarea componentelor prin realizarea de legaturi,
cont individual pentru fiecare utilizator cu optiuni de editare a profilului,
cautare globala,
acces securizat in cadrul aplicatiei pe baza conturilor gestionate de un administrator,
realizarea de grafice sugestive,
gradul de securitate este crescut datorita aspectului multirol, un utilizator are acces asupra modulelor pentru care este autorizat,
platforma multiclient elimina limitarea accesului asupra informatiilor, dar si riscul suprascrierii sau pierderii lucrului in curs,
functie destinata istoricului schimbarilor componentelor cu posibilitatea vizualizarii valorilor anterioare,
posibilitatea stocarii unui numar considerabil de informatii, datorita utilizatii unei baze de date SQL.
Aspecte Generale referitoare la aplicaȚia de gestionare si mentenanta a dispozitivelor IT
Gestionarea componentelor IT (denumită și managementul inventarului IT) este o parte importantă a strategiei unei organizații. Acesta implică, de obicei, colectarea de informații detaliate despre hardware și software care sunt apoi utilizate pentru a lua decizii privind achizițiile și redistribuirea de hardware și software. Gestionarea inventarului IT ajută organizațiile să-și gestioneze mai eficient sistemele și să economisească timp și bani prin evitarea achizițiilor de bunuri inutile și prin promovarea recoltării resurselor existente. Companiile care dezvoltă și mențin un program eficient de management al activelor IT reduc în continuare riscurile incrementale și costurile aferente avansării proiectelor de infrastructură de portofoliu IT pe baza informațiilor vechi, incomplete și / sau mai puțin corecte.
În cea mai largă utilizare, termenul de software de gestionare a dispozitivelor se referă la aplicații care sunt utilizate pentru a gestiona diferite tipuri de dispozitive. Multe dintre aceste soluții software sunt făcute pentru a gestiona anumite tipuri de dispozitive într-o anumită industrie și pentru a gestiona o colecție a acestor dispozitive în utilizare coordonată. Una dintre cele mai mari domenii ale software-ului de gestionare a dispozitivelor este software-ul pentru gestionarea dispozitivelor mobile (MDM).
Acest tip de software ajută companiile să controleze utilizarea dispozitivelor și a aplicatiilor care fac parte din operațiunile companiei sau care dețin date de companie sensibile. Multe aplicatii sunt construite pe baza nevoilor de securitate ale întreprinderilor.
Software-ul modern de gestionare a dispozitivelor include diverse caracteristici de monitorizare care ajută companiile să reducă riscul și să obțină mai multe informații despre modul în care sunt utilizate dispozitivele periferice sau externe. Unele industrii folosesc software specializat de gestionare a dispozitivelor pentru fabricarea sau dispozitive de infrastructură, cum ar fi mai multe componente hardware conectate împreună ca parte a unei infrastructuri de telecomunicații.
Ceea ce este unic în ceea ce privește sistemul și soluția este mecanismul de clasificare automată a specificațiilor hardware, a versiunii și a configurației software a acestora în clase cu parametri tehnici principali identici. După implementarea sistemului, utilizatorii au acces rapid la informațiile privind numărul de configurații hardware diferite din locatiile lor. Facilitează căutarea excepțiilor de la regulile, locațiile sau configurațiile definite, diferite de model.
Exemple de parametri monitorizați ai dispozitivelor:
tipul de dispozitiv,
modelul CPU,
modelul plăcii de bază,
dimensiunea memoriei RAM instalate,
sistemul de operare instalat,
modele de hard disk, dimensiune disc, partiție logică hard disk,
utilizarea medie a procesorului,
utilizarea medie a memoriei,
cantitatea de spațiu liber pe hard disk,
starea actuala a dispozitivului,
dispozitive conectate la POS înregistrate în sistem sau posibile pentru identificarea automată.
2.1. Caracteristici
Mai jos vor fi prezentate caracteristicile esentiale, unele fara de care o solutie de mentenanta si gestionare nu ar avea succesul scontat. Este benefic pentru orice întreprindere de dimensiuni mici și mijlocii să înceapă să utilizeze un CMMS pregătit pentru întreprinderi. [6]
Sunt enumerate caracteristicile cel mai des intalnite pentru CMMS, determinate de cerințele de afaceri ale publicului tinta:
Performanță ridicată și scalabilitate Caching-ul
Este unul dintre atributele cheie pentru îmbunătățirea performanței aplicatiei. CMMS-ul ofera mai multe niveluri de caching.
Extensibilitate și integrare
La alegere ar trebui să se integreze cu ușurință cu alte tehnologii și platforme, cum ar fi diferite sisteme CRM, ERP, rețele sociale, aplicații mobile etc.
Stabilitatea sistemului
Stabilitatea este o caracteristică care poate fi evaluată numai prin utilizarea prelungită a produsului prin diverse scenarii. Aici intervine nevoia procesului de testare a calitatii, pas important in dezvoltarea oricarui tip de produs software.
Gestionarea avansată a securității
Sistemul de administrare a continutului pune la dispozitie un management avansat al securității. Acest lucru se poate realiza prin permisiuni de conținut complet personalizabile, permisiuni de module și roluri de utilizatori si mai multe opțiuni de autentificare preconfirmat.
Asistență multilingvă
Oferirea de conținut în mai multe limbi poate adăuga multe noi straturi de complexitate pentru aceasta aplicatie web. Prin crearea unui sistem multiling, se realizeaza o exeperienta mai buna pentru utilizatori.
Suport pentru dispozitive mobile, tablete
Un prim pas in creearea unui CMMS este design-ul responsive, continutul mulandu-se pe orice tip de dispozitiv, indiferent de dimensiunile ecranului.
Servicii de formare disponibile
Odata cu distribuirea unei aplicatii de tip CMMS, trebuie intruite persoanele care o vor utiliza. Astfel, o solutie pentru aceasta problema este implementarea unui tutorial pas-cu-pas, care sa vizeze cele mai des intalnite scenarii de utilizare a CMMS-ului si intrebari de orice dificultate.
2.2. Proprietati generice ale produsului informatic de tip CMMS
2.2.1. Accesibilitate si colaborare
Produsul informatic ar trebui sa fie destul de simplu de accesat de oriunde este nevoie, deci este encesars asigurarea ca oricine cu un browser poate folosi aplicatia si nu are nevoie de alte software-uri client pentru a o utiliza.[6]
Utilizarea unei aplicatii web pentru front-end asigura si faptul ca aplicatia este platform-agnostica si poate fi folosita pe Unix, Windows, Mac OS, telefoane mobile cu Android, IOS sau Windows phone sau orice altceva care suporta o interfata web.
Sistemele de gestionare a conținutului permit mai multor persoane să aibă acces la aplicatia web. Acest lucru îi ajută pe colegi să lucreze împreună pentru a-si crea o strategie in ceea ce priveste modul de abordare al continutului web. Având în vedere configurarea mai multor conturi, înseamnă că mai multe persoane pot actualiza continutul, ceea ce înseamnă că sarcina nu se încadrează pe o singură persoană pentru a face toate actualizările.
2.2.2. Usor de folosit
Se poate considera "ușurința în utilizare" ca o caracteristică obișnuită pentru orice produs software, deci sistemul nu trebuie doar să fie ușor de utilizat, ci și intuitiv, cu toate elementele ușor de găsit. Asta inseamna ca ar trebui sa fie intuitiv in ceea ce priveste introducerea continutului, modificarea continutului, atribuirea de roluri noilor useri si alte functionalitati importante ale aplicatiei software.
Sistemul este dotat cu funcții utile. In procesul de dezvoltare am constatat că o interfață de utilizare excelentă este benefică pentru toți. În cazul unui CMMS, interfața utilizator trebuie să fie complet intuitiva, permițând dezvoltatorului să creeze cea mai bună experiență posibilă pentru gestionarea conținutului.
2.2.3. Multiutilizator
Aplicatia trebuie sa fie capabila sa se poata ocupa de mai mult de un utilizator in acelasi timp, la nivel de utilizator client si la nivel de administrator. Orice numar de oameni dintr-o organizatie trebuie sa poata sa adauge sau sa editeze continutul aplicatiei web.
In egala masura, multiplii administatori trebuie sa poata sa modifice orice aspect posibil de editat si sa nu fie restrictionati de altcineva sa termine modificarile lor asupra continutului inainte ca ei sa poata face ce aveau de facut.
Este furnizat accesul mai multor utilizatori din modulul de admin. Administratorul are control complet asupra aplicatiei web și a subdomeniului. Utilizatorii pot accesa platforma in limita permisiunilor care le sunt atribuite. Fiecare utilizator poate accesa același continut folosind dispozitivul propriu.
Sistemele de gestionare si intretinere a dispozitivelor sunt utilizate în mod normal în orice tip de industrie care foloseste componente hardware si software. Platformele cu mai mulți utilizatori devin populare, deoarece mai mulți administratori constientizeaza numeroasele avantaje ale web-ului de a crea și gestiona propriul continut în modul multiutilizator.
Administratorii pot folosi sistemul de management al conținutului pentru a limita lucrurile pe care utilizatorii le pot face in cadrul aplicatiei, in functie de libertatea pe care o ofera rolul asignat.
2.2.4. Controlul accesului si asigurarea securitatii
Trebuie sa existe posibilitatea controlului accesului userilor, cum ar fi cu o LCA (Lista de Control Acces). Nivele de acces includ cine poate vedea si modifica continutul unei pagini, cine poate modifica deisgn-ul aplicatiei web si cine poate modifica dinamica sistemului. Cand aplicatia permite abilitatea de a scrie scripturi sau mini-programe care sa extinda functionalitatea sistemului, permisiile care permit aceste lucruri trebuie sa fie urmarite cu atentie si controlate. Poate diferite grupuri de utilizatori au nevoie sa aiba diferite drepturi de acces in functie de implicarea lor in sarcina respectiva.
Un rol este o funcție pe care un utilizator o realizează fie în managementul continutului aplicatiei web, fie ca vizitator al unei astfel de aplicatii. Aceasta reflectă acțiunile și activitățile atribuite, necesare sau așteptate de la un utilizator. Sunt acordate anumite permisiuni pentru a permite funcțiile unui rol.[6]
De exemplu, un utilizator cu rol User este capabil de editarea conținutului afișat, in timp ce unul cu rol Read-Only nu are acces la aceasta fucntionalitate. Permisiunile acordate acestui rol permit utilizatorului să editeze conținutul și să salveze modificarile efectuate.
2.2.5. Securitatea
Un lucru important este ca sistemul software sa fie nu compormis din punct de vedere al securitatii. Aplicatiile web pot fi deosebit de vulnerabile. Cu toate acestea, sistemele informatice sunt testate în mod constant, în efortul de a proteja utilizatorii împotriva oricăror amenințări potențiale de securitate.
Orice aplicatie software trebuie sa ofere siguranta. ASP.NET, în colaborare cu Microsoft Internet Information Services (IIS), poate autentifica acreditările utilizatorilor, cum ar fi numele și parolele, utilizând oricare dintre următoarele metode de autentificare: Windows: Basic, Digest sau Integrated Windows Authentication (NTLM sau Kerberos). Formează autentificarea, prin intermediul paginii de logare și gestioneaza autentificarea în aplicație.
ASP.NET controlează accesul la informațiile platformei prin compararea acreditărilor autentificate sau a reprezentărilor acestora cu permisiunile sistemului de fișiere NTFS sau cu un fișier XML care enumeră utilizatori autorizați, roluri autorizate sau verbe HTTP autorizate.
2.2.6. Suport multilingv
Datorită creșterii continue a comerțului mondial și a comerțului electronic, internetul lucrurilor (IoT) și legislația care impune accesul la serviciile lingvistice pentru imigranți, refugiați, în instanțe și pentru siguranța publică, distincția dintre piața internă și cea mondială se micșorează.
În acest caz, am optat pentru o caracteristică multilingvă care se realizeaza prin intermediul SQLServer.
2.3. Beneficii
Tinand cont si de posibilele scenarii de utilizare, beneficiile unei astfel de solutii sunt vaste, indiferent de grupul tinta.
Mentionez ca unele dintre cele mai importante si cautate beneficii ale unui CMMS sunt:
Reducerea necesității de a folosi o multitudine de alte unele software si documente fizice,
Editarea si gestionarea permisiunilor utilizatorilor,
Cost scăzut,
Ușor de folosit,
Integrarea customizata a nevoilor utilizatorilor.
Solutia acompaniază persoane non-tehnice. Simplitatea în proiectarea interfata permite managerilor de conținut și altor utilizatori să actualizeze conținutul.
Sistemele de tip CMMS prezinta 4 categorii de avantaje, atat pentru compania care utilizeaza un astfel de produs, cat si pentru utilizatorii care interactioneaza in mod direct cu aplicatia. De asemenea, dispune de multiple caracteristici generale, intalnite in majoritatea sistemelor de management si intretinere a componentelor hardware si software.
2.3.1. Reducerea costurilor
2.3.1.1. Reducerea timpului de întrerupere al echipamentului și opririlor neplanificate
Un software computerizat de gestionare a întreținerii ajuta la încorporarea cu ușurință și si automatizarea strategiilor de întreținere preventivă, care vor ajuta să reduca timpul de întrerupere a echipamentelor și evitarea opririle costisitoare neplanificate.
2.3.1.2. Reducerea orelor suplimentare
Reducerea timpului de nefuncționare se traduce automat în cheltuieli suplimentare. Atunci când dispozitivele sunt păstrate la starea lor de sănătate optimă, există șanse mai mici pentru orice fel de defectiune, ceea ce duce la faptul că utilizatorii nu trebuie să lucreze ore suplimentare pentru a obține un rezultat optim.
2.3.1.3. Reducerea timpul mediu de reparat
Sistemul informatic permite echipei de întreținere accesul la toate informațiile esențiale despre problemele anterioare și soluțiile aplicate (istoricul de muncă), astfel încât să poată găsi rapid cea mai bună strategie pentru problema la îndemână.
2.3.1.4. Extinde durata de viata a dispozitivelor
Printr-o strategie CMMS implementată corect, se poate asigura că bunurile sunt întotdeauna bine întreținute și funcționează eficient.
2.3.1.5. Cost redus de reparare
Asigurarea unui timp sporit de funcționare și a nivelului de calitate a materialelor reduce necesitatea unor reparații majore. Reduce cheltuielile legate de forța de muncă și alte resurse, economisind costuri imense.
2.3.2. Inventariere si gestionare
2.3.2.1. Eliminarea eroarii umană prin urmărirea automată
Se scapă de erori umane costisitoare, efectuatuarea, de la urmărirea și înregistrarea informațiilor la monitorizare în mod automat, fără intervenția omului. Cu date foarte precise și fiabile, necesitatea de a efectua controale manuale de inventar scade semnificativ.
2.3.2.2. Urmărirea actualizărilor de întreținere și istoricul de lucru
Accesul la istoricul complet de lucru al echipamentelor și mașinilor este unul dintre beneficiile sistemelor de management al întreținerii computerizate, dispunand de o prezentare completă a istoriei activității unei componente.
2.3.3. Îmbunătățiri ale fluxului de lucru
2.3.3.1. Toate datele necesare sunt într-un singur loc
Într-un CMMS se pot avea ordine de lucru, programe de întreținere, istoric de lucru, nivel de stoc, sănătate a mașinii, informații despre active, toate informațiile necesare într-un singur loc care poate fi accesat de oriunde.
2.3.3.2. Elimina documentele fizice inutile
Un CMMS elimină nevoia de documente fizice inutile și salvează nenumărate ore de muncă manuală și introducere repetitivă a datelor, scanarea codurilor de bare, datele transmise de senzori, programarea automată, istoria muncii,
2.3.4. Urmărirea și raportarea
Un aspect al utilizarii unui CMMS este cantitatea mare de date și rapoarte urmărite avute la dispoziție.
Ca în cazul celor mai multe soluții informatice, obiectivul principal al software-ului de întreținere este transformarea datelor disponibile în informații utile, care conduc la decizii informate și rezultate mai bune în afaceri. Poate permite utilizatorilor să controleze, să gestioneze și să structureze conținutul în timp real, conținutul este întotdeauna usor de actualizat.
Oferă integrarea conținutului printr-o aplicatie web rapida și ușor de folosit. Platformele web cu continut dinamic și nu static, permit ca informațiile să fie actualizate sau repoziționate după cum este necesar. Informațiile, de fapt, nu sunt codificate în paginile web, ci sunt extrase din baze de date care pot fi ușor întreținute de utilizatorii autorizați, de obicei administratorul de baze de date.[6]
Pentru a profita la maximum de aceste beneficii, trebuie definite fluxurile de lucru și procesele si cerințele tehnice ale clientului. Aceasta implică atribuirea de rolul utilizatorilor pentru a control accesul la continut pe nivele de accesibilitate.
Tehnologii si instrumente software folosite in implementarea proiectului
In cadrul acestui capitol am prezentat tehnologiile pe care le voi folosit pentru realizarea aplicatiei mele CMMS, programele si limbajele de programare folosite. Dintre acestea vor fi amintite: Visual Studio Community 2019, SQL Server 2019, Bootstrap, Ajax, HTML, CSS, JavaScript, C# si altele.
3.1. Visual Studio Community 2019
Mediul de dezvoltare Visual Studio permite scrierea in mai multe tipuri de limbaje de programare cum ar fii: C#, C++, JavaScript, HTML, CSS.
Acesta permite si debugging cross-language pentru limbajele mentionate mai sus, local sau remote fara a parasi mediul de lucru.
Poate fi folosit impreuna cu framework-uri precum AngularJS, jQuery, Bootstrap sau Django pentru a crea aplicatii web moderne.
Fig.2.1. Utilizarea Bootstrap in Visual Studio
De asemenea acesta permite si customizarea experientei utilizatorului permitandu-i acestuia sa isi instaleze diferite tool-uri, controale sau template-uri de la parteneri sau de la alti useri ai comunitatii sau isi poate crea el insusi o extensie.Aceste plug-in-uri se pot instala cu ajutorul managerul de pachete denumit NuGet.
3.2. SQL Server 2019
Microsoft SQL Server este o un SGBD – sistem de gestiune al bazelor de date relationale dezvoltat de catre Microsoft. Ca si SGBD pentru un server, este un produs software care are ca si functie primara stocarea si accesarea datelor atunci cand sunt cerute de catre alte aplicatii software care pot rula fie pe acelasi calculator sau de pe alt calculator prin intermediul unei conexiuni de retea sau prin internet [4].
3.3. C#
C# este un limbaj de programare puternic orientat pe obiecte. C# este open source, simplu, modern, flexibil și versatil. În acest articol, să aflăm ce este C#, ce poate face C # și cum C# este diferit de C++ și alte limbaje de programare. Un limbaj de programare pe informatica este un limbaj care este folosit pentru a scrie programe software.
C# este un limbaj de programare dezvoltat și lansat de Microsoft în 2001. C# este un limbaj simplu, modern și orientat pe obiecte, care oferă dezvoltatorilor moderni flexibilitate și funcții pentru a construi software care nu va funcționa doar astăzi, dar va fi aplicabil ani de zile în viitor.
Caracteristicile cheie ale limbajului C# includ:
Modern și ușor
Open-source
Platforma transversală
Securitate
Multilateral
Evolutie continua
C# este un limbaj de programare simplu, modern și orientat pe obiecte. Scopul C# a fost de a dezvolta un limbaj de programare care nu numai că este ușor de învățat, dar suportă și funcționalitatea modernă pentru toate tipurile de dezvoltare de software.
C# oferă funcționalitate pentru a sprijini dezvoltarea software modernă. C# acceptă nevoile de dezvoltare web, mobilă și aplicații. Sintaxele limbajului C# sunt influențate de C++, Java, Pascal și câteva alte limbi ușor de adoptat. C# evită, de asemenea, complexitatea și caracteristicile limbajului nestructurat.
C# este open source în cadrul .NET Foundation, care este guvernată și rulată independent de Microsoft. Specificațiile de limbaj C#, compilatoarele și instrumentele conexe sunt proiecte open source pe Github. În timp ce designul caracteristicilor de limbaj C# este condus de Microsoft, comunitatea open source este foarte activă în dezvoltarea și îmbunătățirea limbajului.
C# se compară rapid cu alte câteva limbaje de programare la nivel înalt. C# 8 are multe îmbunătățiri de performanță. C# este un limbaj de programare cross-platform. Se pot crea aplicații .NET care pot fi implementate pe platformele Windows, Linux și Mac.
3.4. HTML
HTML este o recomandare formală a consorțiului World Wide Web Consortium (W3C) și este în general respectată de browserele majore, Microsoft Internet Explorer și Netscape's Navigator, care oferă de asemenea și alte coduri non-standard. Versiunea curentă a HTML este HTML 4.0. Cu toate acestea, Internet Explorer și Netscape implementează în mod diferit alte funcții și oferă extensii non-standard. Dezvoltatorii web care utilizează funcțiile mai avansate ale codului HTML 4 ar putea fi nevoiți să proiecteze pagini pentru ambele browsere și să trimită o versiune adecvată unui utilizator. Caracteristicile semnificative din HTML 4 sunt descrise uneori în general ca dinamic HTML. Ceea ce este denumit uneori HTML 5 este o formă extensibilă de HTML numită Extensible Hypertext Markup Language (XHTML).[1]
Etichetele sunt ceea ce separă textul normal de codul HTML. Etichetele diferite vor efectua diferite funcții. Etichetele în sine nu apar atunci când se vizualizeaza pagina printr-un browser, dar efectele lor se vad.
3.5. JavaScript
Javascript este un limbaj de programare dinamic. Este ușor și cel mai frecvent utilizat ca parte a paginilor web, ale căror implementări permit script-ului de pe partea clientului să interacționeze cu utilizatorul și să facă pagini dinamice. Este un limbaj de programare interpretat cu capabilități orientate pe obiecte.[5]
JavaScript este un limbaj bazat pe obiecte: un program JavaScript poate crea și utiliza obiecte din tipurile existente furnizate pentru acesta, dar nu poate crea noi tipuri de obiecte. Prin urmare, nu este un limbaj de programare orientat pe obiecte, cum ar fi Java. Un punct de design semnificativ în JavaScript este accesul la Modelul Obiect de Document (DOM) folosit în browserul web. DOM este structura de date din browserul web folosit pentru a gestiona documentele vizualizate și utilizate în browser. [9]
Când browserul rulează, are o fereastră deschisă pentru vizualizarea documentelor. Fiecare document cuprinde, la rândul său, conținutul, legăturile, ancorele, imaginile și alte componente. Toate acestea sunt obiecte disponibile pentru programele JavaScript care rulează în browser.
3.6. CSS
Cascading Style Sheet, denumit si CSS, este un limbaj de design simplu destinat simplificării procesului de prezentare a paginilor web. CSS se ocupă de aspectul și simțul unei pagini web. Folosind CSS, se pot controla culoarea textului, stilul fonturilor, distanța dintre paragrafe, modul în care sunt dimensionate și dispuse coloanele, ce imagini de fond sau culori sunt utilizate, modelele de aspect, variațiile de afișare pentru diferite dispozitive și dimensiunile ecranului precum și o varietate de alte efecte.[8]
3.7. SQL
SQL este un limbaj de baze de date conceput pentru recuperarea și gestionarea datelor într-o bază de date relațională. SQL este un limbaj structurat pentru interogări.
Limbajul structurat de interogare (SQL) este o limbă de calcul standard pentru gestionarea bazelor de date relaționale și manipularea datelor. SQL este folosit pentru interogarea, inserarea, actualizarea și modificarea datelor. Majoritatea bazelor de date relaționale suportă SQL, ceea ce reprezintă un beneficiu suplimentar pentru administratorii de baze de date (DBA), deoarece acestea sunt deseori necesare pentru a sprijini bazele de date pe mai multe platforme diferite.[2]
3.8. MVC
Cadrul Microsoft ASP.NET MVC este o extensie a cadrului Microsoft .NET, care permite dezvoltarea aplicațiilor web dinamice, fiind o alternativă la modelul tradițional de dezvoltare web ASP.NET Webforms. ASP.NET MVC oferă o abordare arhitecturală pentru dezvoltarea aplicațiilor web si este eficient pentru construirea aplicațiilor web care pot fi întreținute mai usor și sunt scalabile. Modelul utilizat este cunoscut ca model de design MVC. MVC împarte o aplicație în 3 componente / straturi distincte cunoscute sub numele de Model, View si Controller.
Scopul principal al MVC este acela că fiecare dintre aceste straturi poate fi dezvoltat și testat independent și apoi combinat împreună pentru a forma o aplicație robustă.
Fig. 3.2. Schema Model-View-Controller
Etapele fluxului:
Pasul 1 – browserul client trimite cererea către aplicația MVC;
Pasul 2 – Global.ascx primește această solicitare și efectuează rutarea bazată pe adresa URL a cererii de intrare folosind obiectele RouteTable, RouteData, UrlRoutingModule și MvcRouteHandler.
Pasul 3 – Această operație de rutare apelează controlerul corespunzător și o execută utilizând obiectul IControllerFactory și metoda Execute a obiectului MvcHandler.
Pasul 4 – Controlerul procesează datele utilizând modelul și invocă metoda corespunzătoare utilizând obiectul ControllerActionInvoker
Pasul 5 – Modelul prelucrat este apoi transferat la vizualizare, care la rândul său face ieșirea finală.
Modelul conține logica de afaceri a aplicației. Obiectele model implementează logica domeniului de date al aplicației. De exemplu – Un obiect model de produs ar putea prelua informații dintr-o bază de date, opera pe ea și apoi scrie informații actualizate înapoi in tabelă. Stratul View este responsabil pentru interacțiunea cu utilizatorul. Poate, de asemenea, să redea informatii sub forma de JSON si XML. Controllerele sunt creierele aplicației ASP.NET MVC. Solicita datele de la stratul modelului si nu efectuează niciuna dintre lucrări direct. În schimb, delegă lucrul catre modele și view.
3.9. Bootstrap
Bootstrap este un cadru de dezvoltare front-end gratuit și liber pentru crearea de site-uri web și aplicații web . Bootstrap este construit pe baza HTML , CSS și JavaScript pentru a facilita dezvoltarea de aplicații responsive. Bootstrap include componente de interfață pentru utilizator, machete și instrumente JS, împreună cu cadrul de implementare. Software-ul este disponibil precompilat sau sub formă de cod sursă.
Mark Otto și Jacob Thornton au dezvoltat Bootstrap in cadrul companiei Twitter ca mijloc de a îmbunătăți consistența instrumentelor utilizate pe site și de a reduce întreținerea acestora. Cel mai mare avantaj al utilizării Bootstrap este faptul ca dispune de un set gratuit de instrumente pentru crearea de layout-uri web flexibile și receptive, precum și componente comune de interfață.[20]
Bootstrap este un cadru web care se concentrează pe simplificarea dezvoltării paginilor web. Scopul principal al adăugării intr-un proiect web este de a aplica opțiunile Bootstrap de culoare, dimensiune, font și aspect acelui proiect. Odată adăugat la un proiect, Bootstrap oferă definiții de bază ale stilului pentru toate elementele HTML. Rezultatul este un aspect uniform.
3.10. Razor
Paginile ASP.NET Razor reprezinta este un cadru axat pe pagină pentru construirea de aplicatii web dinamice, bazate pe date, cu o separare curată a preocupărilor. Bazat pe cea mai recentă versiune de ASP.NET de la Microsoft, Razor acceptă dezvoltarea cross-platform și poate fi implementat în sistemele de operare Windows, Unix și Mac.
Cadrul Razor este ușor de folosit și foarte flexibil, folosește limbajul de programare C# pentru programarea pe server și sintaxa ușor de învățat a șablonelor Razor pentru încorporarea C# în marcajul HTML pentru a genera conținut pentru browsere dinamic. Compact, expresiv și fluid: Razor reduce numărul de caractere și apăsările de taste necesare într-un fișier și permite un flux de lucru de codare rapid și fluid. Spre deosebire de majoritatea sintaxelor șablonului, nu este necesar să vă întrerupeți codificarea pentru a denumi explicit blocurile de server din HTML. Analizatorul este suficient de inteligent pentru a deduce acest lucru din codul dvs. Aceasta permite o sintaxă cu adevărat compactă și expresivă, curată, rapidă și distractivă de tipat.
Razor este ușor de învățat și permite utilizarea abilităților existente în HTML. Nu este un limbaj nou, dar ofera o sintaxă de marcare a șablonului care să permită un flux de lucru de construcție HTML cu limbajul ales. Funcționează cu orice editor de text si nu necesită un instrument pentru a rula, dispune de un excelent Intellisense: în timp ce Razor a fost proiectat pentru a nu necesita un instrument specific sau editor de coduri, are suport de completare a declarațiilor în Visual Studio.
3.11. AJAX
Apelurile AJAX( Asynchronous JavaScript și XML), sunt din ce în ce mai populare pe măsură ce aplicațiile web necesita afisarea elementelor personalizate în mod dinamic. Apelurile AJAX sunt o metodă de a încărca conținut personalizat separat de restul documentului HTML, ceea ce permite ca documentul HTML complet să fie memorat în cache, îmbunătățind timpul de încărcare finală.
Apelurile AJAX au o gamă largă de aplicații, dar sunt deosebit de utile pentru aplicatiile informatice care au o mare cantitate de informații, care pot preveni memorarea în cache a documentelor HTML complete. Platforme precum Magento au cuprins apelurile AJAX, Magento 2 utilizând AJAX pentru toate informațiile personalizate. Se folosesc în mod regulat apeluri AJAX combinate cu caching pentru a permite memorarea în cache a conținutului dinamic fără a împărtăși informații personalizate între utilizatori.
Arhitectura sistemului dezvoltat
O aplicatie informatica de management si mentenanta a dispozitivelor IT are urmatoarele functionalitati de baza :
crearea, editarea si stergerea componentelor IT si a aplicatiilor software asignate acestora
crearea, editarea si stergerea relatiilor dintre dispositive si componentele software
interfata responsive si usor de utilizat
cautare globala
functionalitati de grupare a resurselor
asigurarea securitatii continutului si aplicatiei web prin intermediul nivelelor de acces si rolurilor asignate utilizatorilor
O companie care isi desfasoara activitatea in industria petroliera dispune de cel putin urmatoarele componenete hardware si software :
Servere
Workstation
BlackBox
Hub
Sisteme de operare
Aplicatii pentru baze de date (SQL Server, Oracle)
Servicii
Calculatoare
Imprimante
Monitoare
Harddisk
SSD
Tablete
Dispozitive pentru prelevarea datelor de pe teren.
Aplicatia informatica dezvoltata este capabila sa ofere suport pentru utilizatori in scopul gestionarii dispozitivelor IT. Acest lucru este posibil prin:
Structura sistemului.
Arhitectura bazei de date,
Relatiile dintre dispozitive,
Functionalitati proprii, specifice fiecarei componente,
Interfata adaptata nevoilor utilizatorului.
O companie care isi desfasoara activitatea in industria petroliera utilizeaza atat componente hardware, cat si software pentru a putea configura si folosi respectivele dispozitive. Asadar, structura proiectului tine cont de depedintele dintre dispozitivele fizice si aplicatiile informatice de care acestea au nevoie si care pot fi instalate.
Fig. 4.1. Arhitectura generica a unui CMMS
Structurarea modulelor in functie de categoriile dispozitivelor si aplicatiilor informatice este dupa cum urmeaza :
4.1. Dispozitive (Devices)
Aceasa categorie este cea mai vasta si atent detaliata. Cuprinde toate dispozitivele IT pe care compania le utilizeaza sau le-a utilizat in trecut. Un dispozitiv va avea o lista de specificatii, care pot include sistemul de operare, adesa IP, memoria RAM, data achizitionarii si statusuri sugestive pentru a putea vedea daca este utilizabil sau este in mentenanta.
Un dispozitiv este o unitate de hardware sau echipament fizic care oferă una sau mai multe funcții de calcul într-un sistem informatic. Un dispozitiv poate fi orice element electronic cu o anumită capacitate de calcul care să susțină instalarea firmware-ului sau a unui software terț. Un dispozitiv poate fi denumit și un aparat, un obiect gadget sau un instrument electronic. Un dispozitiv poate fi încorporat într-un computer sau conectat în afara acestuia, dar toate dispozitivele pot fi instalate sau înlocuite separat. Acestea fiind spuse, dispozitivele din notebook-uri și alte computere portabile tind să fie mai integrate. Mai mult, odată cu apariția cloud computing și virtualizare, mașinile virtuale și alte instanțe conexe sunt, de asemenea, considerate dispozitive.
Modulul contine o pagina strict pentru a afisa o lista cu toate aceste dispozitive si detaliile relavante, din cadrul careia se poate naviga catre o pagina de editare a unui respectiv dispozitiv. Pagina de editare contine, de asemenea, cate o zona pentru relatiile directe cu alte tipuri de componente si aplicatii care depinde de dispozitivul selectat.
4.1.1. Database Management System (DBMS)
Un DBMS poate fi un server SQL, Oracle, MySQL, etc. utilizat pentru stocarea datelor intr-o baza de date. Poate fi, la randul sau, editat prin utilizarea unei functionalitati proprii.
Sistemul de gestionare a bazelor de date (DBMS) este un software pentru stocarea și recuperarea datelor utilizatorilor, prin luarea în considerare a măsurilor de securitate corespunzătoare. Acesta permite utilizatorilor să creeze propriile baze de date. Se compune dintr-un grup de programe care manipulează baza de date și oferă o interfață între baza de date. DBMS acceptă cererea de date de la o aplicație și instruiește sistemul de operare să furnizeze datele specifice. În sistemele mari, un DBMS îi ajută pe utilizatori și alte programe terțe să stocheze și să recupereze date. Totodata, un alt element depinde de un DBMS si anume un Database (baza de date). Relatiile dintre un DBMS si bazele de date care depinde de acesta se pot vedea in fereastra de editare a dispozitivului principal.
4.1.1.1 Database (baza de date)
O bază de date reprezintă o modalitate de stocare a unor informații și date pe un suport extern (un dispozitiv de stocare), cu posibilitatea extinderii ușoare și a regăsirii rapide a acestora. De obicei, o bază de date este memorată într-unul sau mai multe fișiere. Bazele de date sunt manipulate cu ajutorul sistemelor de gestiune a bazelor de date adica DBMS. Tipul bazei de date este cel relațional, în care datele sunt memorate în tabele. Pe lânga tabele, mai conține: indecși, proceduri stocate, triggere, utilizatori și grupuri de utilizatori, tipuri de date, mecanisme de securitate și de gestiune a tranzacțiilor etc. De asemenea, acest tip de aplicatie are si o pagina de editare a detaliilor acesteia.
4.1.2. Web Server
Un server web este un software de tip server sau un hardware dedicat executării software-ului respectiv, care poate satisface cererile clienților World Wide Web. Un server web poate, în general, să conțină unul sau mai multe site-uri Web. Un server web procesează cererile de rețea primite prin HTTP și alte câteva protocoale conexe. [1]
Funcția principală a unui server web este de a stoca, procesa și livra pagini web către clienți. Comunicarea dintre client și server are loc utilizând Hypertext Transfer Protocol (HTTP). Paginile livrate sunt cel mai frecvent documente HTML, care pot include imagini, CSS și scripturi în plus față de conținutul textului.
Mai multe servere web pot fi utilizate pentru un site web cu trafic ridicat. În timp ce funcția principală este de a oferi conținut, o implementare completă a HTTP include și modalități de primire a conținutului de la clienți. Această caracteristică este utilizată pentru trimiterea formularelor web, inclusiv încărcarea fișierelor. O relatie pe care am definit-o este cea dintre Web Server si Web Component, aceasta fiind de tip parinte-copil.
4.1.2.1. Web Component (Web Application)
Componentele Web reprezintă un set de caracteristici care oferă un model de componentă standard pentru Web, care permite încapsularea și interoperabilitatea elementelor HTML individuale.
Fig. 4.2. Ierarhia componentelor care depinde de Device
4.2. Cluster
Un cluster de computere este un set de computere conectate care lucrează împreună astfel încât, din multe puncte de vedere, ele pot fi văzute ca un singur sistem. Spre deosebire de computerele grid, grupurile de computere au fiecare set de noduri pentru a efectua aceeași sarcină, controlată și programată de software.
Componentele unui cluster sunt de obicei conectate între ele prin rețele rapide locale, fiecare nod (calculatorul folosit ca server) rulează propria instanță a unui sistem de operare. În majoritatea cazurilor, toate nodurile utilizează același hardware și același sistem de operare. Clusterele sunt de obicei implementate pentru a îmbunătăți performanța și disponibilitatea față de cele ale unui singur computer, în timp ce de obicei sunt mult mai rentabile decât computerele unice cu viteză sau disponibilitate comparabile.
3.2.1. Cluster Service
Cluster Service este o componentă de sistem utilizată pentru a controla activitățile cluster-ului de tip "failover" pe un singur nod. Este fundamental pentru funcționarea clusterului. Există o instanță a serviciului Cluster care rulează pe fiecare nod dintr-un cluster. Instanțele de servicii de cluster colaborează pentru a efectua următoarele operațiuni :
Monitorizare și controlare de obiecte de cluster și proprietăți ale clusterului.
Gestionarea notificarilor evenimentului.
Faciliteaza comunicarea între alte componente software.
Efectueaza operațiuni de întrerupere a funcționării defecțiunilor și de repornire.
Menține o imagine consistentă a clusterului în toate nodurile.
Fig. 4.3. Ierarhia componentelor care depinde de Cluster
4.3. Application
Software-ul aplicației (Application) este un software conceput pentru a realiza un grup de funcții, sarcini sau activități coordonate în beneficiul utilizatorului. Exemple de aplicații includ un procesor de text, o foaie de calcul, o aplicație contabilă, un browser web, email, un media player, un vizualizator de fișiere, un simulator de zbor aeronautic, un joc de consolă sau un editor foto.
4.3.1. Application Instance
Toate obiectele instanței de aplicație sunt configurate automat de procesul de descoperire și raționamental sistemului de operare. Un Application Instance depinde de un Application, fiind tot o relatie de tip parinte-copil.
Fig. 4.4. Ierarhia componentelor care depinde de Application
4.4. Company
O companie este o entitate juridică formată dintr-o asociație de persoane, fie ea naturală, legală, fie un amestec de ambele, pentru desfășurarea unei întreprinderi comerciale sau industriale. In cazul de fata, compania este una cu activitate in industria petroliera, deci se incadreaza ca o entitate economica cu scopul de a obține un profit.
4.6. Furnizor (Vendor)
Într-un lanț de aprovizionare, un vânzător sau un furnizor este o întreprindere care contribuie la bunuri sau servicii. În general, un furnizor de lanț de aprovizionare produce obiecte de inventar / stoc și le vinde la următorea entitate din lanț.
Un furnizor este persoană care furnizează bunuri sau servicii unei alte entități. Furnizorii pot vinde B2B, B2C sau B2G. Furnizorii sunt adesea gestionați cu o listă de verificare a respectării furnizorilor, iar aceste activități pot fi gestionate eficient prin instrumente software. Asadar, modulele Company si Vendor contin fiecare cate o pagina de contacte.
Fig. 4.5. Dependenta contactelor de Company si Vendor
Crearea conturilor si rolurile utilizatorilor
In acest capitol voi detalia care sunt rolurile utilizatorilor in cadrul aplicatiei, ce restrictii au fiecare si ce actiuni poate face fiecare. Exista 4 tipuri de roluri pe care un utilizator pe poate avea:
Administrator
User
New
ReadOnly
Rolul de administrator este cel mai important rol din cadrul aplicatiei, acesta avand acces la toate modulele aplicatiei, fiindu-i atribuita definirea tuturor variabilelor si parametrilor necesari bunei functionari a aplicatiei. Rolurile de User si ReadOnly prevad un acces restrans in cadrul aplicatiei, acestea avand dreptul de a utiliza tot ce tine de interfata client, in limita accesului atribuit rolului respectiv.
In acest sens, utilizatorul neautentificat nu poate vizualiza decat paginile de Login sau Create Account.
Rolul “New” ii este atribuit, in mod automat, unui utilizator care s-a inregistrat. Acesta trebuie sa astepte ca un administrator sa ii schimbe rolul prin intermediul Modulului Utilizatori, in Administrator, User sau ReadOnly, pentru a putea avea acces la continutul interfetei utilizator.
4.1. Crearea conturilor
Pentru a putea avea aplicatia complet functionala este necesar ca pentru initializarea acesteia sa se defineasca un utilizator administrator in baza de date, utilizator prin care se va configura aplicatia mai departe.
Restul utilizatorilor se vor putea inregistra de pe pagina de login a aplicatiei prin apasare link-ului de registrare. Astfel pentru a crea un cont nou, utilizatorul va trebui sa completeze urmatoarele campuri:
nume
prenume
parola
confirmarea parolei
Fig. 4.1. Intregistrarea unui nou utilizator
Dupa completarea detaliilor de mai sus, utilizatorul va primi un e-mail de confirmare cu un link de activare al contului. Desi acesta isi va activa contul, el nu va putea sa se autentifice in cadrul aplicatiei inca. In acelasi timp cu e-mail-ul de confirmare, administratorul va fi instiintat printr-un e-mail ca un utilizator nou s-a inregistrat in aplicatie. Acesta va trebui sa se autentifice in aplicatie si din meniul de utilizatori sa ii atribuie noului utilizator un rol pentru ca acesta sa se poata conecta la aplicatie. Dupa ce utilizatorul nou primeste un rol, acesta este instiintat prin cadrul unui e-mail ca se va putea loga in aplicatie.
4.2. Rolurile utilizatorilor
4.2.1. Administrator
Rolul administrator este cel mai important rol al aplicatiei. El este singurul tip de utilizator care are acces asupra tuturor modulelor din aplicatie. Acesta va atribui roluri celorlalti utilizatori, permitandu-le accesul in cadrul aplicatiei. Administratorul este cel care va avea acces deplin asupra intregii aplicatii si drepturi complete. Acesta va putea modifica parametrii aplicatiei daca este necesar si va putea accesa toate paginile existente. Tot administratorul decide ce tip de utilizator poate avea acces asupra modulelor sau continutului acestora.
Fig. 4.2. Lista meniurilor accesibile unui utilizator administrator, in interfata
Fig. 4.3. Notificari vizibile pentru rolul de administrator
4.2.2. ReadOnly
Utilizatorii de rol de „ReadOnly” au acces la meniurile si submeniurile pe care le-a selectat administratorul prin bifarea optiunii necesare. Nu poate accesa interfata de administrare, nu poate edita componentele si nu poate face nicio modificare a datelor. In esenta, poate doar visualiza infromatiile din aplicatie, pe baza permisiunilor si restrictiilor atribuite.
Fig. 4.4. Lista meniurilor accesibile de utilizatorii de tip ReadOnly
4.2.3. New
Un utilizator cu rolul de tip “New” va primi urmatorul mesaj in cadrul aplicatiei:
Fig. 4.6. Acces aplicatie pentru utilizatorul de tip New
Va fi nevoit sa astept un e-mail de confirmare a atribuirii unui nou rol de catre adminsitrator si sa acceseze pagina de Autentificare a aplicatiei.
4.2.4. User
Utilizatorii de rol de „User” au acces la meniurile si submeniurile pe care le-a selectat administratorul prin bifarea optiunii necesare. Nu poate accesa interfata de administrare, dar poate edita componentele si poate face modificari asupra datelor. Are toate drepturile userului de tip „ReadOnly”, la care se adauga cele editare.
Fig. 4.6. Lista meniurilor accesibile de utilizatorii de tip User si actiunile disponibile
Scenariul de functionare al aplicatiei
In acest capitol voi prezenta un scenariu simplu de initializare si configurare a aplicatiei. Ulterior voi explica modul de creare de elemente functionale precum meniuri, submeniuri si pagini si realizarea legaturilor dintre acestea, dar si functionalitati importante ale interfetei de administrare.
6.1. Initializarea aplicatiei
Pentru initializarea aplicatiei, se va crea un utilizator de tip administrator cu ajutorul caruia se vor modifica setarile aplicatiei, se vor atribui roluri celorlalti utilizatori si se vor crea toate cele necesare pentru a se putea introduce continut in sistem.
Dupa ce administratorul va seta parametrii, utilizatorii pot accesa aplicatia si se vor putea inregistra completand formularul de mai jos.
Fig. 6.1. Formular de inregistrare
Dupa ce utilizatorul a completat formularul, va primi un e-mail de confirmare a contului, iar administratorul va primi un e-mail prin care este informat ca un utilizator nou s-a inregistrat si va trebui sa-i atribuie un rol in cadrul aplicatiei.
Fig. 6.2. E-mail de confirmare cont
Fig 6.3. E-mail de instiintare utilizator nou
Dupa ce administratorul se va autentifica in aplicatie, va accesa modulul Utilizatori si va selecta utilizatorul cu rolul “New”.
Fig. 6.4. Utilizator nou in aplicatie
Dupa ce va identifica utilizatorul nou din lista, administratorul va trebui sa ii atribuie un rol in cadrul aplicatiei prin modificarea detaliilor utilizatorului.
O data ce administratorul a finalizat atribuirea rolului, utilizatorului de tip client, acesta va primi o instiintare prin e-mail care il anunta ca se va putea autentifica in cadrul aplicatiei.
Fig. 6.6. Instiintare atribuire rol
6.2. Definirea continutului aplicatiei pentru interfata client
Pentru ca utilizatorii sa poata folosi continutul interfetei client, administratorul trebuie sa defineasca elemente functionale de baza ale aplicatiei si modulele si continutul lor.
Modulele sunt definite automat pe baza datelor provenite din baza de date, iar restul configuratiei este data de parametrii definiti.
Continutul efectiv este importat in baza de date prin folosirea unui tool extern, care extrage date din aplicatia SAP a companiei si le converteste, prelucreaza, agrega date si popula tabelele, pentru a putea fi folosite in softul dezvoltat.
6.3. Accesarea interfetei client
Dupa parcurgerea pasilor anteriori de la subcapitolele 6.1. si 6.2., utilizatoreul va accesa pagina de Autentificare pentru a-si introduce adresa de e-mail si parola anterior salvata.
Fig. 6.6. Autentificare a utilizatorului cu rol atribuit
Odata autentificat, utilizatorul va putea vizualiza continutul interfetei client, in functie de limitarile rolului atribuit.
In acest caz, este folosit un utilizator cu rolul de Administrator pentru a putea demostra capabilitatile aplicatiei, fara a avea restrictii.
Fig. 6.7. Pagina principala pentru un utilizator cu rolul de Administrator
In cazul in care, date provenite din fisierele extrase din mediul SAP nu sunt complete si corecte, vor aparea erori detaliate pentru fiecare informatie eronata.
In acest caz, erorile se datoreaza faptului ca, pentru Web Componentele urmatoare nu exista dispozitivele parinte „Limscs.rompetrol.org XXX” sau „444”, acest camp fiind gresit definit pentru acestea.
Fig. 6.8. Notificari de tip eroare din cauza datelor eronate in urma importarii
Un alt tip de notificare este cel de Atentionare, atunci cand o componenta este scoasa din fucntionare. Pentru acest tip de notificare, exista definite si filtre, pentru a putea vizualiza datele care ar putea fi de interes.
Fig. 6.9. Notificari de tip atentionare pentru componentele scoase din uz
Fig. 6.10. Notificari de tip atentionare pentru DBMS Instace dezafectate
Cele mai importante componente intra in categoria de Devices. In acest modul, este reprezentata lista de Devices, sub forma de carduri, cu detalii importante. In fucntie de tipul de Device, aceste date se schimba.
In aceata pagina sunt posibile actiunile de cautare, filtrare, adaugare a unui nou Device si de exportare a listei intr-un fisier Excel.
Fig. 6.11. Lista de Devices, cu actiuni specifice acestora
Filtrele sunt definite pe baza campurilor pentru un Device. Acestea sunt afisate sub forma unui dropdown sau un auto-complete, valorile fiind regasite in baza de date. Filtrele pot fi aplicate pe lista sau resetate, pentru a reveni la intreaga lista.
Fig. 6.12. Filtre disponibile pentru lista de Devices
Pagina de editare a unui Device contine mai multe taburi cu informatii pentru acesta: Basic Info si Advanced. Restul reprezinta pagini de reprentare a legaturilor cu alte componente: DBMS, Web Server, App Component, Software si Contante.
Campurile unui Device sunt sub forma de input, dropdown sau auto-complete. De asemenea, asupra campurilor se pot aplica functionalitati de blocare sau de vizualizare a istoricului, precum si vizualizarea de detalii despre acesta sau explicatii utile.
Fig. 6.13. Pagina de editare a unui Device de tip Server
Prin utilizarea butonului de History de pe fiecare camp care dispune de aceasta functie, un utilizator poate vizualiza schimbarile anterioare pe care campul respectiv le-a suferit.
Fig. 6.14. Istoricul schimbarilor pentru campul de Status al unui Device de tip Server
Folosind tabul de Web Server, se poate vizualiza o lista de astfel de componente asignate unui Device. Acestea, la randul lor, pot avea asignate elemente de tip Web Component.
Din aceasta pagina, se poate adauga un Web Component la Web Serverul respectiv, se poate deschide pagina de editare a respectivelor componente sau se poate rupe legatura existenta.
Fig. 6.16. Lista de Web Server si Web Component asignate unui Device
Mai departe, se poate accesa modulul Clusters – unde un Cluster este o grupare de Devices.
In acest modul, lista de Clusters poate fi filtrata, se poate cauta un Cluster folosind functia de cautare, se poate deschide pagina de adaugare sau editare a unui Cluster si se pot visualiza detalii importante precum numarul de Devices sau Services legate de un Cluster si ultimul utilizator care a modificat o componenta.
Fig. 6.16. Lista de Clusters, cu actiune specifice
Asemanator filtrelor pentru Device, filtrele sunt definite pe baza campurilor pentru un Cluster. Acestea sunt afisate sub forma unui dropdown sau un auto-complete, valorile fiind regasite in baza de date. Filtrele pot fi aplicate pe lista sau resetate, pentru a reveni la intreaga lista.
Fig. 6.17. Filtre disponibile pentru lista de Clusters
Fig. 6.18. Pagina de editare a unui Cluster
Un Cluster poate avea asignate Services sau Devices. Un Cluser Service poate contine un Application Component, un DBMS sau un Web Server – acestea se pot adauga sau se pot crea legaturi cu cele existente.
Fig. 6.19. Pagina de editare a unui Cluster, tabul de Services
Functiile de baza sunt reprezentate de deschiderea paginilor de adaugare sau editare a componentelor asignate si de ruperea legaturii cu acestea.
Aditional, oricarui element de tip Web Server i se pot adauga elemente de tip Web Components, iar oricarui element DBMS i se poate adauga un Database. Si in cazul acestora, se pot adauga componente noi sau deja existente, prin utilizarea pop-up-urilor specifice.
Fig. 6.20. Pop-up pentru adaugare de componente unui Cluster Service
Fig. 6.21. Pop-up pentru adaugare de Web Components unui Web Server
Fig. 6.22. Pop-up pentru adaugare de Database unui DBMS
Pentru Devices, este posibila operatia de adaugare la Clusterul respectiv sau de rupere a legaturii existente.
Fig. 6.23. Lista de Devices legate la un Cluster
Adaugarea unui Device se face prin utilizarea unu pop-up, utilizand campul de auto-complete.
Fig. 6.24. Adaugarea unui Device existent, utilizand functia de auto-complete
O componenta poate avea mai multe stari. De obicei, cea de Active reprezinta faptul ca dispozitivul este in uz, iar cea de Decommissioned inseamna ca dispozitivul este scos din uz. De asemenea, o componenta se poate afla si in stari intermediare, aflandu-se in proces de dezafectare.
Fig. 6.25. Scoaterea din uz a unui dispozitiv
In modulul Applications, in cazul in care relatiile sunt definite cu alte componente, pentru un item se poate realiza un arbore de legatura.
Fig. 6.26. Arbore de legatura pentru Applications
In modulul Users, se pot modifica datele pentru utilizatori, se pot vizualiza utilizatorii existenti si se poate aplica un filtru, bazat pe roluri, asupra acestei liste.
Fig. 6.27. Lista de utilizatori existenti
Fig. 6.28. Editarea unui utilizator existent
In modulul Admin Dashboard, se pot defini grafice noi sau edita cele existente.
Fig. 6.29. Lista graficelor
Un grafic este creat pe baza unui query SQL, folosind tabele componentelor principale. Graficele existente se pot vizualiza in modulul Dashboard, ele avand si detalii definite.
Fig. 6.30. Grafice active
Concluzii
Soluțiile CMMS aduc numeroase beneficii si dispun de caracteristici indispensabile automatizarii si imbunataritrii proceselor intr-o companie. Desi aceasta aplicatie este destinata, momentan, industriei petroliere, nu este limitata acesteia. Utilitatea acestei aplicatii este valabila pentru orice companie care utilizeaza componente IT, indiferent de domeniul in care activeaza.
Comparativ cu aplicatii deja existente de tip CMMS, proiectul realizat prezinta performante imbunatatite din punct de vedere al vitezei de raspuns, iar un alt avantaj este reprezentat de interfata si multitudinea de functionalitati concepute pentru usurarea efortului de lucru al utilizatorilor pentru procesul de gestionare si mentenanta al componenetelor IT.
Prin dezvoltarea acestui sistem software, am atins obiectivele propuse in etapa de planificare. Primul si cel mai important este dezvoltarea interfetei de administrare, prin intermediul caruia utilizatorul de tip administrator poate folosi toate functionalitatile implementate. Un alt obiectiv important a fost portarea aplicatiei si catre dispozitivele mobile, utilizand tehnologii precum Bootstrap pentru a permite aplicatiei sa isi modifice singura rezolutia si sa afiseze doar informatiile utile in cazul unui ecran mai mic, extinzand astfel numarul de utilizatori pe care aplicatia ii poate avea, oferind si posibilitatea utilizarii acesteia de pe un dispozitiv mobil sau o tableta.
De asemenea, am avut ca scop, prin dezvoltarea interfetei client, eficientizarea experientei utilizatorului si usurarea procesului de folosire a aplicatiei, prin implementarea unor proprietati indispensabile. Mentionez ca urmatoarele obiective au fost, de asemenea, indeplinite:
Administrarea conturilor si a utilizatorilor,
Vizualizarea dispozitivelor impreuna cu informatii critice intr-o lista,
Filtre customizate pentru fiecare dispozitiv,
Functia de dezafectare a unui dispozitiv,
Stabilirea relatiilor dintre dispozitive si aplicatiile care le pot fi atribuite.
Afisarea informatiilor sub forma de grafice.
Consider ca prin dezvoltarea acestei aplicatii, voi aduce un aport la tehnologia ce defineste o aplicatie CMMS, astfel oferind o utilizare imbunatatita si mai usoara utilizatorilor. Un alt aspect important este folosirea apelurilor AJAX in cadrul aplicatiei, astfel creeand o interfata mult mai prietenoasa si usor de folosit pentru utilizator.
Perspective de viitor
In ceea ce priveste perspectivele de dezvoltare ulterioara a aplicatiei, imi doresc ca pe viitor sa dezvolt un modul de traduceri mai performant. In cadrul modulului de traduceri, administratorul poate adauga traduceri ale cuvintelor ce vor fi afisate in aplicatie, in toate limbile definite in aplicatie, astfel punand la dispozitie aplicatia pentru mai multi utilizatori care o pot folosi in limba dorita, daca pentru aceasta exista traducerile introduse.
In sectiunea de sus a paginii de traduceri vor exista filtre cu ajutorul carora se va selecta pagina care se vrea a fi tradusa si limba noua in care sa vor traduce cuvintele.
Dupa selectarea paginii si limbii, lista va fi populata de toate cuvintele folosite in cadrul acelei paginii pe coloana din stanga, in dreapta lor for fi afisate traducerile in engleza, iar in coloana cea mai din dreapta se va completa traducerea in limba selectata in filtru. Dupa ce toate modificarile dorite au fost facute, se vor salva prin apasare butonului de salvare.
In final, o perspectiva de viitor importanta este implementarea unui proces de creare automata a dispozitivelor, prin intermediul scanarii barelor de cod ale acestora sau a codurilor QR. Aceasta functionalitate ar minimaliza considerabil efortul adaugarii unor noi componente, crescand gradul de automatizare al aplicatiei si optimizand procesul de gestionare.
Bibliografie
Ajax (programare), https://ro.wikipedia.org/wiki/Ajax_(programare) Accesat : 2020
Jamie Munro, "ASP.NET MVC 5 with Bootstrap and Knockout.js", O'Reilly Media, 2015
ASP.NET Razor, https://en.wikipedia.org/wiki/ASP.NET_Razor Accesat: 2020
Note de curs "Baze de date", Universitatea Tehnica de Constructii Bucuresti, 2019
Jeremy McPeak, "Beginning JavaScript, 5th Edition", Wrox, 2015
Thomas Nield, "Getting Started with SQL: A Hands-On Approach for Beginners", O'Reilly Media, 2016
Estelle Weyl, Louis Lazaris, Alexis Goldstein "HTML5 & CSS3 For The Real World, 2nd Edition", SitePoint, 2015
Alex MacCaw, "JavaScript Web Applications", O'Reilly Media, 2011
Mugilan Ragupathi, "Learning ASP.NET Core MVC Programming", Packt Publishing, 2016
Microsoft Visual Studio, https://ro.wikipedia.org/wiki/Microsoft_Visual_Studio Accesat:2020
Ioan Filip, "Programare WEB – Suport de curs", ISBN 978-973-100-263-7, editura Conspress, 2013.
Charles Petzold, "Programming Windows Sixth Edition Writing Windows 8 Apps with C# and XAML", Microsoft Press, 2012
Note de curs "Sisteme informatice in energetica", Universitatea Politehnica din Bucuresti, 2020
Note de curs "Tehnologii WEB", Universitatea Tehnica de Constructii Bucuresti, 2019
Petrochemical industry in Romania, https://energyindustryreview.com/analysis/petrochemical-industry-in-romania/ Accesat: 2020
What is CMMS? https://www.ibm.com/internet-of-things/solutions/enterprise-asset-management/what-is-a-cmms Accesat: 2020
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: Sistem software pentru managementul și mentenanța activității IT într-o companie cu activitate în industria petrolieră Coordonator științific:… [304910] (ID: 304910)
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.
