Academia de Studii Economice din Bucuresti [622796]
Academia de Studii Economice din Bucuresti
Facultatea: Cibernetica Statistica si Informatica Economica
Aplicatie web de tip ERP pentru administrarea
FLOTELOR DE AVIOANE
Lucrare de licență
Specializarea: Informatica Economica
Conducător ș tiințific: Absolvent: [anonimizat]: Paul Pocatilu Agrigoroaie Mircea
2
Cuprins
1.Introducere ………………………….. ………………………….. ………………………….. ………………………… 5
1.1 Organizarea Lucrãrii ………………………….. ………………………….. ………………………….. …….. 6
2. Sistemele Integrate ERP ………………………….. ………………………….. ………………………….. ……… 6
2.1 Prezentare ………………………….. ………………………….. ………………………….. ……………………. 6
2.2 Sistemele integrate si rolul lor ………………………….. ………………………….. …………………….. 7
2.3 Sistemele ERP ………………………….. ………………………….. ………………………….. ……………… 8
2.4 Avantajele utilizarii ERP ………………………….. ………………………….. ………………………….. 11
2.5 Dezavantajele ERP ………………………….. ………………………….. ………………………….. ……… 14
3. Proiectarea Aplicatiei Informatice ………………………….. ………………………….. …………………… 14
3.1 Descrierea generala a sistemului informatic ………………………….. ………………………….. .. 14
3.2 Specificarea cerintelor ………………………….. ………………………….. ………………………….. …. 15
3.2.1 Caz Utilizare: Programare Zbor ………………………….. ………………………….. ………….. 16
3.2.2 Caz Utilizare: Inregistrare Zbor ………………………….. ………………………….. ………….. 17
3.2.3 Caz Utilizare: Service Avion ………………………….. ………………………….. ………………. 19
3.2.4 Caz Utilizare: Licente de Zbor ………………………….. ………………………….. ……………. 20
3.2.5 Diagrama Generala a cazurilor de utilizare ………………………….. ……………………….. 21
4 Analiza sistemului informatic ………………………….. ………………………….. …………………………. 21
4.1 Diagrame de activitate ………………………….. ………………………….. ………………………….. …. 21
4.1.1 Diagrama activitate : programare zbor ………………………….. ………………………….. …. 21
4.2.2 Diagrama activitate : adaugare zbor ………………………….. ………………………….. …….. 22
4.2.3 Diagrama activitate : adaugare piese ………………………….. ………………………….. ……. 22
4.2 Diagrama de clase ………………………….. ………………………….. ………………………….. ………. 23
4.3 Diagrame de interactiune ………………………….. ………………………….. ………………………….. 23
4.3.1 Diagrama de interactiune : manager/cronometror/pilot ………………………….. ………. 23
4.3.3 Diagrama de interactiune : manager/mecanici ………………………….. …………………… 24
4.3.4 Diagrama de interactiune : manager/cronometror ………………………….. ………………. 24
4.4 Diagrame de stare ………………………….. ………………………….. ………………………….. ……….. 25
4.4.1 Diagrama de stare avioane ………………………….. ………………………….. …………………. 25
4.4.2 Diagrama de stare pies e/avioane ………………………….. ………………………….. …………. 25
4.5 Diagramele de procese ………………………….. ………………………….. ………………………….. … 26
4.5.1 Diagrama de colaborare manager.mecanic ………………………….. ……………………….. 26
4.5.2 Diagrama de proces: zbor ………………………….. ………………………….. …………………… 26
5.Proiectarea sistemului informatic ………………………….. ………………………….. …………………….. 27
3
5.1 Diagrama detaliata de cla se ………………………….. ………………………….. ………………………. 27
5.2 Proiectarea bazei de date ………………………….. ………………………….. ………………………….. 28
5.3 Proiectarea interfetelor utilizator ………………………….. ………………………….. ……………….. 28
5.3.1 Interfata adaugare zbor ………………………….. ………………………….. ………………………. 29
5.3.2 Interfata LogIn ………………………….. ………………………….. ………………………….. ……… 29
5.3.3 Interfata Dashboard ………………………….. ………………………….. ………………………….. . 30
5.4 Diagrama de componente ………………………….. ………………………….. …………………………. 31
5.5 Diagrama de desfasurare ………………………….. ………………………….. ………………………….. 31
6 Implementarea sistemului informatic ………………………….. ………………………….. ……………. 32
6.1 Tehnologii utilizate in implementare ………………………….. ………………………….. …………. 32
6.2 Roluri si permisiuni ………………………….. ………………………….. ………………………….. …….. 35
6.3 Functionalitatile sistemu lui ………………………….. ………………………….. ………………………. 35
7 Analiza SWOT ………………………….. ………………………….. ………………………….. …………………. 36
7.1 Puncte Tari ………………………….. ………………………….. ………………………….. ………………… 36
7.2 Puncte Slabe ………………………….. ………………………….. ………………………….. ………………. 37
7.3 Oportunitati ………………………….. ………………………….. ………………………….. ……………….. 37
7.4 Amenintari ………………………….. ………………………….. ………………………….. …………………. 37
8 Rezultatele obtinute in urma programului ………………………….. ………………………….. …………. 37
9 Concluzii ………………………….. ………………………….. ………………………….. …………………………. 38
10 Functionalitati viitoare ………………………….. ………………………….. ………………………….. …….. 38
11 Bibliografie ………………………….. ………………………….. ………………………….. …………………….. 38
4
5
1.Introducere
In februarie 2016 firma de programare pe care o detin a fost contractata de catre Aeroclubul
Romaniei pentru a dezvolta o aplicatie de tip ERP pentru administrarea fl otelor de avioane din
18 aerodromuri din toata tara.
Cerintele functionale ale aplicatiei au fost definite clar de la bun inceput si presupuneau
o managementul flotelor si pieselor de avioane
o administrarea si inregistrarea reparatiilor pe fiecare avion in p arte
o managementul utilizatorilor (grupati pe roluri)
o cronometrarea zborurilor
o managementul pilotilor si a licentelor de zbor
o managementul documentelor
o interfata piloti si programarea zborurilor
Principala problema o reprezinta inregistrarea corecta a zboru rilor si programarea din timp a
reparatiilor si reviziilor in asa fel incat avioanele sa fie mereu apte de zbor.
O alta problema deosebit de importanta este reprezentata de managementul documentelor ce
tin de aprovizionarea cu piese si combustibil, fise de reparatii, fise de zbor. Aceste documente
au fost mereu completate de diferite persoane cu diferite grade de pregatire si modalitate de
completare. Scopul acestei aplicatii este de a muta aceste documente in format electronic si de
a standardiza completar ea lor.
La ora actuala exista numeroare companii care se ocupa cu dezvoltarea de programe ERP, dar
nu exista o aplicatie care sa rezolve problemele enumerate mai sus. Prin urmare s -a impus
realizarea unei aplicatii customizate.
Majoritatea programelor gasi te in mediul online ofera module de administrare a flotelor, dar
personalizarea lor iese din discutie.
Mai mult, conducerea aeroclubului a dorit ca fiecare utilizator sa aiba propriul profil in
aplicatie, iar acestia sa -si poata rezerva avionul si interval ul orar pentru zboruri, scutind in
acest fel personalul dedicat responsabil cu planificarea zborurilor.
Programul trebuia ca la final sa ofere rapoarte de performanta, rapoarte privind zborurile,
avioanele si pilotii, precum si un sistem de urmarire a vala bilitatii licentelor de zbor.
6
1.1 Organizarea Lucrãrii
Lucrarea de față are o componentă practică reprezentată de programul de management al
flotelor de avioane plus o componentă teoretică prin care sunt explicate funcționalitățile
aplicației.
Partea te oretica va fi argumentata cu print -screen -uri direct din aplicatie si cu trimitere la
lucrari de referinta.
In prima parte se vor prezenta proiecte si concepte alte sistemelor ERP, iar in a doua parte se
va analiza fiecare modul si functionalitatile acestu ia.
In finalul lucrarii voi prezenta beneficiile si rezultatele obtinute in urma folosirii acestui
sistem.
2. Sistemele Integrate ERP
2.1 Prezentare
Aplicatiile informatice si integrarea acestora in sisteme deja existente a luat avant in ultimii
ani, cond ucand la crearea unui nou mod de lucru in domeniul software: Enterprise
Application Integration.
Solutiile de tip ERP, CRM si SCM sunt considerate sisteme “clasice” in marile companii si nu
numai si reprezinta un mod de a crea un avantaj fata de concurenta si de a optimiza costurile
si profiturile.
Principalul obiectiv este integrarea intregului lant de lucru; de la furnizori pana la beneficiari.
Enterprise Application Integration sau EAI reprezinta urmatorul pas in domeniul e -business –
ului si defineste o m etodologie care creaza o comunicare usoara intre aplicatii, surse de date
din cadrul companiei si care partajeaza procesele de business si date in asa fel incat sa existe o
relatie agnostica intre elementele integrate(ex. Sistemul sa continue sa fie functi onal chiar
daca se schimba tipul de baze sau SGBD ul)
Integrarea presupune reuniunea mai multor resurse: oameni, echipamente, programe, dar și
practici manageriale, in acelasi timp definind sisteme conducatoare cat si sisteme conduse in
cadrul companiei. Atat sistemele conducatoare cat si cele conduse depind de un flux continuu
de date care sa asigure o functionare a proceselor in timp real.
Integrarea aplicatiilor la nivel de organizatie reprezinta de fapt un mod nou de lucru in
domeniul informaticii. Acest lucru a dus la scaderea in cadrul intreprinderilor a
7
programatorilor care scriu programe si o crestere a acelora care integreaza sisteme
informatice.
Entitatea care trebuie integrată nu mai este un obiect sau o componentă software, ci este o
aplicație software. Prin integrare sistemele informatice ale intreprinderlior se mulează din ce
în ce mai bine pe structura procesului de afaceri.
In ziua de azi, i nformatia este o resursa strategica a organizatiei, de aceea importanta
integrarii sistemelor informatice care sa faciliteze transferul si corectitudinea datelor a crescut
foarte mult.
In ultimii ani majoritatea proiectelor finantate cu bani europeni au av ut drept obiectiv
realizarea de sisteme ERP/CRM/SCM.
Din pacate majoritatea solutiilor de integrare sunt punct la punct, ceea ce pune numeroase
probleme organizatiilor prin prisma faptului ca majoritatea solutiilor informatice nu au fost
create avand ca s cop integrarea sau un access point la date (ex API).
De aceea s -a recurs la dezvoltarea de aplicatii web care permit o flexibilitate crescuta in ceea
ce priveste dezvoltarea de noi functionalitati si integrarea diferitelor departamente
2.2 Sistemele integ rate si rolul lor
Sistemele informatice integrate presupun sisteme complexe si complete in cadrul carora sa se
desfasoare procese conduse si conducatoare, interactiunea intre departamente, administrarea
bazelor de cunostinte etc.
Un sistem integrat este s olutia pentru organizatiile moderne, indiferent daca se automatizeaza
procese interne sau relatiile cu clientii sau furnizorii.
Folosirea de aplicatii individuale pentru fiecare tip de activitate poate fi o solutie de moment
sau o solutie care functioneaza bine pentru intreprinderile mici, dar poate genera probleme
grave in dezvoltarea ulterioara a afacerii; pe scurt afecteaza extensibilitatea organizatiei
Agregarea informatiilor din mai multe surse este laborioasa si costisitoare in ceea ce priveste
numaru l de ore de lucru. Atat aceste procese cat si celelalte procese ale facerii pot fi
automatizate, rezultand sisteme flexibile, structurate departamental, capabile sa asigure o
viziune unitare asupra business -ului.
8
In aceste conditii, managerul are la dispoz itie o viziune completa asupra organizatiei, putand
lua rapid si informat decizii.
Un sistem integrat complet are de la inceput produsele software special concepute pentru a
lucra impreuna; in acest fel putandu -se partaja eficient informatiile si se inform atizeaza
complet procesele de afacere la nivelul intregii organizatii.
Principalele avantaje pe care un set de aplicații integrate trebuie să le ofere beneficiarilor sunt:
– micsorarea costurilor pe termen mediu si lung;
– marirea eficientei departamentelor;
– recuperarea investitiei in aceste sisteme;
– migrarea rapida catre un proces de e -business;
(Lungu, 2008, p. 14)
2.3 Sistemele ERP
Enterprise Resourse Planning sau ERP este un software de management al activitatii unei
companii f olosit pentru a colecta, stoca si interpreta date din mai multe arii de activitate cum
ar fi:
– planificarea productiei
– productia si livrarea
– marketing si vanzari
– inventariere si gestiune
– livrare si urmarirea datoriilor
– raportare si business inteligence
De a semenea sistemele ERP ofera managerilor o priveliste de ansamblu asupra activitatii
firmei si informeaza in cazul eventualelor probleme ce pot aparea in procesele de productie,
ofertare, vanzare, facturare oferind in acelasi timp un control strans asupra c elor 4 factori
definitorii in activitatea companiei
9
Schema 1 – Schema ERP
– factorul uman
– factorul financiar
– factorul tehnic
– resurse
Acesti 4 factori mai sunt denumiti si cei 4M (Man, Money, Machines and Materials) ERP
integrează toate procesele economice: producție, distribuție, contabilitate, financiar, personal,
stocuri, service și mentenanță, logistică, gestiune de proiecte oferind o imagine de ansamblu
asupra întregii societăți.
În acest fel se elimina granițele în tre departamente.
Prin definiție, un sistem de tip ERP reprezintă o soluție software complexă, bazată pe
arhitectură client -server ale cărei elemente sunt integrate într -o platforma comună.
Sistemele ERP actuale realizează integrarea tuturor funcțiilor de conducere ale unei companii,
plecând de la:
– asigurarea stocului de materii prime si materiale
– planificare
– definirea tehnologiilor
– coordonarea proceselor de productie
– gestiunea financiar -contabila, a resurselor umane, stocurilor si produselor finite
– dezvolt area si mentinerea relatiilor cu clientii si partenerii de afaceri.
10
Un astfel de sistem permite factorilor de decizie realizarea unor analize complete asupra
realizării planului de afaceri. Prin opțiunile de simulare a activităților și prin caracterul flexibil
și dinamic al aplicațiilor se pot realiza:
– planuri de previziun e
– evaluari si predefiniri ale tendintelor de avolutie ale industriei din care face parte
compania
– analize calitative
– integrarea cu noi tehnologii de e -business
– comunicare on -line
La implementare, sistemele ERP includ o serie de caracteristici de baza.
Sunt instalate pe un sistem de gestiune a bazelor de date. Platformele de baze de date folosite
cel mai frecvent sunt: Oracle, DB2, Ms SQL, MySQL, MariaDb, etc.
Baza de date necesită o setare inițială conform proceselor organizației și trebuie să asigure
acces direct la informații în timp real pentru toți membrii organizației. Odată terminată
instalarea, utilizatorii introduc datelel, informațiile fiind transferat e prin intermediul
proceselor la alte module. În final, sistemele ERP includ instrumente de raportare periodice
sau realizate ad -hoc.
Aplicațiile ERP sunt realizate cu ajutorul intrumentelor CASE, care simplifică muncă
programatorilor, preluând regulile și generând automat cod sursă (baking). Avantajele sunt:
reducerea timpului de dezvoltare și obținerea unui produs de calitate prin minimizarea
erorilor. În plus, utilizarea instrumentelor CASE sprijină consistentă aplicațiilor și
standardizarea sub aspect f uncțional.
Sub formă simplificată un sistem ERP poate fi definit prin prisma a două proprietăți
fundamentale: funcționalitatea și integrarea cu sistemele existente.
Integrarea asigura conectivitatea între fluxurile de procese economice funcționale. Ea poat e fi
gândită că o tehnică de comunicare. Câteva modalități obișnuite prin care comunicarea are loc
prin și pentru integrare sunt: codul sursă, rețelele locale și extinse de calculatoare, internet,
email, workflow, instrumente de configurare automată, proto coale, baze de date. Putem spune
că integrarea este realizată prin comunicare, iar comunicarea este realizată prin integrare.
Partea funcțională a unui sistem ERP asigura fluxurile de procese economice din cadrul
fiecărei funcțiuni. Astfel în cadrul unei s uite ERP se regăsesc de la câteva până la zeci de
11
module funcționale(contabilitate generală, debitori, salarii, stocuri, aprovizionare, planificarea
producției, logistică, comenzi și vânzare).
2.4 Avantajele utilizarii ERP
A. Din punct de vedere al functi onalitatilor oferite:
Avantajele folosirii ERP intr -o companie sunt :
– limitarea redundantei informatiei introduse prin adaugarea ei intr -o singura baza de
date, o singura data
– implica folosirea de best practices din industire
– personalizarea solutiei
– structu rarea precisa in fisiere a informatiei
– interactiunea cu alte module
– furnizeaza instrumente pentru interogari si rapoarte ad -hoc [I.Lungu – Integrarea
Sistemelor Informatice]
Sistemele ERP furnizeaza informatii pentru conducere si analize pentru organizatii , iar cele
cinci beneficii majore ale sistemelor ERP sunt:
– raportarea in timp real asupra tuturor aspectelor din cadrul organizatiei
– definirea datelor intr -o modalitate standard
– aplicatiile includ cele mai bune practici din industria respectiva
– cresterea e ficientei companiei
– analiza detaliata a afacerii
B.Din punct de vedere al costurilor si riscurilor implicate
Solutiile ERP adeseori sunt implementate cu intarzieri si suplimentari de cost . Daca acest
lucru se face fara intarzieri sau costuri suplimentare c e tin de factorul uman, atunci avem de -a
face cel mai dez cu costuri ascunse .
Aceste costuri apar cel mai des din cauza lipsei de intelegere/sincronizare intre ce s -a discutat
initial si implementarea solutiei. Cu alte cuvinte, la negociere, cerințele clie ntului sunt minime
cu scopul scăderii prețului de achiziție, însă în timpul implementării solicitările sunt maxime,
în discordantă cu negocierea inițială. Că atare vom vorbi despre costurile de analiză a afacerii
12
respective, despre costurile de personaliza re a aplicației, despre licență modulelor, despre
cerințele tehnice ale aplicației și despre întreținerea acesteia.
Toate acestea alcatuiesc TCO (Total Cost of Ownership), care nu ar trebui ascuns de
furnizorii de ERP ci din contra, ar trebui expus inca de la primele discutii
Principalele costuri cu un sistem ERP sunt :
a. Instruirea:
este o componenta neglijata in procesul de implementare, atat ca etapa cat si la nivel bugetar.
Astfel costurile sunt subestimate cel mai adesea pentru ca se pierde din vedere faptul ca
majoritatea angajatilor au de invatat un set de procese si nu doar o noua interfata software.
b. Integrarea si testarea:
testarea compatibilitatii pachetelor ERP cu alte programe este o alta chelutiala de care nu se
tine seama in procesul de im plementare. O companie standard de productie poate avea
aplicatii "add -on" pentru partea de logistica, taxe, planificarea productiei si codurile de bare.
Daca la toata aceasta lista se adauga si personalizarea functiilor de baza din pachetul ERP,
costurile de integrare, testare si mentenanta a sistemului vor arunca in aer bugetul. In ceea ce
priveste instruirea, testarea integrarii ERP trebuie facuta din perspectiva procesului.
c. Conversia datelor:
Transferul datelor de tipul informatiilor referiotoare la clienti si furnizori de pe vechile
sisteme pe cele ERP este o operatiune costisitoare. Desi putini manageri sunt dispusi sa
admita, multe din datele existente in sistemele mostenite nu sunt foarte importante.
Companiile neaga de multe ori redundanta datelo r pe care le detin, cel putin pana in
momentul in care trebuie sa le faca transferul in noile setarie client/server necesare pachetelor
ERP. Si din nou, companiile subestimeaza costurile, de aceasta data pe cele necesare
transferului.
d. Analiza datelor:
De multe ori datele din sistemele ERp trebuie combinate cu datele din sistemele externe
pentru a putea permite realizarea ed analize. Utilizatorii care efectueaza analize in mod curent
ar trebui sa aiba in vedere in bugetul alocat implementarii ERP -ului si depozitul de date, dar si
efortul necesar pentru a -l pune pe picioare. Utilizatorii sunt pusi in dificultate in acest
moment: reactualizarea zilnica a tuturor datelor dintr -un imens data warehouse este extrem de
13
difici la, iar sistemele ERP nu ajuta prea m ult la identificarea acelor date care s -au modificat
de la zi la zi, facand actualizari selective.
e. Consultantii:
Pentru a se evita notele de plata imense catre consultanti, companiile trebuie sa identifice clar
obiectivele catre care partenerii de cons ultanta trebuie sa -i orienteze pe angajati.
Activitatea consultantilor trebuie sa poata fi evaluata, iar pentru aceasta este necesar sa le fi
stabilit un plafon in activitatea lor: exemplu un numar minim de angajati care sa treaca un test
cu brio
f. Specia listii:
Succesul unui sistem ERP depinde de echipa care lucreaza la implementarea lui. Software -ul
este mult prea complex si schimbarile din zona de business mult prea rapid pentru a lasa un
astfel de proiect pe mana unui personal nepregatit.
g. Echipele de implementare:
Majoritatea companiilor tind sa trateze implementarile de ERP ca pe orice alt proiect
software. Odata ce programul software a fost instalat, planul este ca echipa de dezvoltare sa
fie dizolvata si fiecare sa -si reia posturile initiale oda ta cu atributiile ce ii revin fiecaruia.
Din pacate dupa implementarea unui sistem ERP, acei angajati devin foarte bine pregatiti in
aproape toate domeniile de activitate ale companiei, prin urmare devin niste oameni foarte
valorosi. Acestia nu pot fi conc ediati si nici nu pot fi reintegrati in vechile locuri de munca.
Prin urmare trebuie gandita o strategie de reconversie a acestor oameni catre zona de
BI(business inteligence) si raportare
h. Asteptari vs rezultate:
In managementul de proiecte software tr aditionale, companiile se asteapta sa vada rezultate
imediat ce instalarea aplicatiei s -a incheiat, lucru aproape imposibil in cadrul unui sistem
ERP. Majoritatea sistemelor ERP isi releva eficienta dupa o perioada mai indelungata de la
implementare, iar echipa de proiect la randul sau nu primeste recompensa decat dupa
amortizarea investitiei.
i. Depresia post -ERP:
Majoritatea companiilor sufera imediat dupa implementare, pentru o scurta durata o scadere a
performantei. Motivul este acela ca totul functio neaza si arata altfel decat pana in acel
moment, iar cand angajatii nu stiu exact cu ce lucreaza intra in panica, acest lucru afectand
intreg procesul de business.
14
2.5 Dezavantajele ERP
In privinta riscurilor se intampla adesea ca bugetele alocate si/sau termenele prevazute sa fie
cu mult depasite.
Unele studii estimeaza ca aproape din jumatate din proiectele ERP esueaza in faza dezvoltarii.
Au existat cazuri celebre implicand sume colosale de bani: ex. Boeing, Panasonic, Siemens au
incercat sa implemente ze solutii proprii avand ca rezultat pierderi imense de bani si timp.
Ironia este ca in majoritatea cazurilor in care implementarea a esuat vina s -a datorat
problemelor organizationale.
Cele mai des intalnite motive sunt:
– tratarea ERP ca pe un sistem soft ware
– lipsa implicarii managerilor
– concentrarea eforturilor pe instalarea software -ului si pe "invatarea" acestuia
– asteptari nerealiste asupra duratei de implementarea
– reticenta angajatilor
– lipsa pregatirii profesionale a angajatilor
– comunicare defectuoasa
– arhitectura defectuasa a programului
(Lungu, 2008)
3. Proiectarea Aplicatiei Informatice
3.1 Descrierea generala a sistemului informatic
Aceasta aplicatie vine in intampinarea nevoii Aeroclubului Romaniei de a avea o aplicatie
web de management a aerodromurilor. La ora actuala, Aeroclubul Romaniei numara peste 40
de aerodroame in toata tara, in consecinta este nevoie de o aplicatie care sa poata organiza
activitatea utilizatorilor din cadrul acestei organizatii; incepand de la mecan ici pana la piloti,
cronometrori si administratori de aerodrom.
15
Aplicatia avuta in vedere trebuie sa ofere facilitatea stocarii unei cantitati mari de informatii si
trebuie sa structureze datele in modele bine definite.
Introducerea datelor se va face de c atre operatori cu diferite roluri (Mecanic, Cronometror,
Pilot, Administrator etc)
Aplicatia trebuie sa permita actualizarea si accesarea cu usurinta a datelor pentru a facilita
accesul la date pentru toate grupele de utilizatori si pentru a genera rapoart e de activitate si
consum
Datele introduse de catre utilizatori vor fi mai apoi prelucrate si validate de catre aplicatie, iar
in cazul introducerii lor neconforme, vor exista mesaje de atentionare si mecanisme de
corectare
Aplicatia trebuie sa aseze formu larele de preluare a datelor intr -un mod intuitiv si trebuie sa
scaleze bine pe dispozitivele mobile intrucat multi utilizatori vor introduce datele de pe teren
(mecanici sau cronometrori de exemplu). Butoanele trebuie sa fie mari si lizibile pentru a
facilita apasarea lor.
Introducerea datelor trebuie controlata printr -un modul de autentificare care sa permita
identificarea si autorizarea utilizatorilor.
3.2 Specificarea cerintelor
Aplicatia avuta in vedere in lucrarea de fata are obiectivul de a oferi ut ilizatorilor
Aeroclubului Romaniei un instrument util care sa ajute la organizarea si optimizarea activitatii
de zbor.
Astfel, punctele avute invedere sunt:
• Modul de planificare si inregistrare zboruri. Cu ajutorul acestui modul se vor planifica
zborurile in asa fel incat incarcarea pe avioane si aerocluburi sa fie optimizata. De
asemenea, prin folosirea acestui modul se va putea vedea clar timpul de utilizare al
unui avion si se va putea masura uzura componentelor avioanelor.
• Modul service avioane. Acest m odul va tine cont de uzura avioanelor si va decrementa
durata de viata pieselor componente. Cand o piesa va depasi limita de uzura, acel
16
avion va fi trecut in starea inapt de zbor si nu I se va da voie sa efectueze zboruri pana
nu se va remedia problema
• Modul licente zbor. Acest modul se ocupa cu managementul licentelor de zbor ale
pilotilor si copilotilor. Astfel pilotii vor avea voie sa zboare doar pe aeronavele pentru
care au competenta necesara
Prin aceste diagrame se urmareste definirea principalelor cazuri care fac obiectul fluxurilor de
date din viitoarea aplicatie informatica.
3.2.1 Caz Utilizare: Programare Zbor
Element caz utilizare Descriere
Cod CU-ProgramareZbor
Stare Schita
Scop Definirea fluxului de lucru pentru programarea unui zbor
Nume Programare Zbor
Actor Principal Pilot
Decriere Pilotul isi alege slotul in care doreste sa zboare, selecteaza avionul
si aerodromul. Requestul este mai apoi aprobat de catre managerul
17
aerodromului
Preconditie Autentificare + Acces la internet
Postconditie Se realizeaza programarea zborului
Declansator Pilotul decide sa faca un zbor
Flux de baza 1. Pilotul se autentifica in aplicatie
2. Verifica daca slotul dorit este liber
3. Verifica daca avionul este disponibil
4. Completeaza formularul de rezervare al avi onului
5. Programarea este salvata in baza de date
6. Managerul aerodromului aproba sau nu cererea
7. Pilotul este notificat de rezultat
Fluxuri alternative Nu sunt
Relatii –
Frecventa utilizare Deasa
Reguli Timpul si locatia de pe care se poate realiza zborul sunt limitate,
prin urmare se urmareste o programare a zborurilor cat mai eficienta
3.2.2 Caz Utilizare: Inregistrare Zbor
18
Element caz utilizare Descriere
Cod CU-InregistrareZbor
Stare Schita
Scop Definirea fluxului de lucru pentru cronometrarea u nui zbor
Nume Cronometrare Zbor
Actor Principal Cronometror
Decriere Cronometrorul sau seful de aerodrom inregistreaza toate zborurile
tinand cont de perioada de rulare pe pista, ora pornirii motorului,
numarul de aterizari/decolari, ora opririi motorul ui
Preconditie Autentificare + Acces la internet + Dispozitiv mobil
Postconditie Se realizeaza cronometrarea zborului
Declansator Programarea unui zbor
Flux de baza 1. Cronometrorul se autentifica in aplicatie
2. Verifica programarea
3. Verifica daca avionul es te apt de zbor
4. Verifica daca pilotul are licentele la zi
5. Selectare aerodrom
6. Stabilire pilot
7. Selectare avion
8. Definire ora pornire motor
9. Definire timp rulaj
10. Definire ora decolare/aterizare
11. Nr aterizari (touch and go)
Fluxuri alternative Nu sunt
Relatii –
Frecventa utilizare Deasa
Reguli Cronometrarea trebuie facuta cu precizie pentru a avea un calcul
corect al uzurii pieselor
19
3.2.3 Caz Utilizare: Service Avion
Element caz utilizare Descriere
Cod CU-ServiceAvion
Stare Schita
Scop Definirea flu xului de lucru pentru schimbarea pieselor unui zbor
Nume Service Avion
Actor Principal Mecanic
Decriere Mecanicul trebuie sa aduca avionul in starea “apt de zbor” Pentru
aceasta trebuie sa schimbe piesele uzate
Preconditie Autentificare + Acces la inte rnet
Postconditie Se realizeaza schimbarea piesei, avionul devine apt de zbor
Declansator Esuarea realizarii unui zbor
Flux de baza 12. Mecanicul se autentifica in aplicatie
13. Verifica avioanele inapte de zbor
14. Efectueaza reparatia
15. Completeaza fisele de lucru
16. Declara avionul apt de zbor
17. Reseteaza uzura pieselor schimbate
Fluxuri alternative Nu sunt
Relatii –
Frecventa utilizare Medie
Reguli Evidenta uzurii pieselor de pe avioane este extrem de importanta
20
3.2.4 Caz Utilizare: Licente de Zbor
Element ca z utilizare Descriere
Cod CU-Licenta de Zbor
Stare Schita
Scop Definirea fluxului de adaugare licente de zbor
Nume Licente Zbor Piloti
Actor Principal Administrator Aerodrom
Decriere Pilotii nu pot efectua zboruri fara a avea o licenta valida pentru tipul
respectiv de avion
Preconditie Autentificare + Acces la internet
Postconditie Se acorda licenta de zbor
Declansator Esuarea realizarii unui zbor
Flux de baza In baza certificarilor, administratorul acorda sau nu licentele de zbor
Fluxuri alterna tive Nu sunt
Relatii –
Frecventa utilizare Rara
Reguli Evidenta licentelor de zbor
21
3.2.5 Diagrama Generala a cazurilor de utilizare
4 Analiza sistemului informatic
4.1 Diagrame de activitate
4.1.1 Diagrama activitate : programare zbor
22
4.2.2 Diagrama activitate : adaugare zbor
4.2.3 Diagrama activitate : adaugare piese
23
4.2 Diagrama de clase
4.3 Diagrame de interactiune
4.3.1 Diagrama de interactiune : manager/cronometror/pilot
24
4.3.3 Diagrama de interactiune : manager/mecanici
4.3.4 Diagrama de interactiune : manager/cronometror
25
4.4 Diagrame de stare
4.4.1 Diagrama de stare avioane
4.4.2 Diagrama de stare piese/avioane
26
4.5 Diagramele de procese
4.5.1 Diagrama de colaborare manager.mecanic
4.5.2 Diagrama de proces: zbo r
27
5.Proiectarea sistemului informatic
5.1 Diagrama detaliata de clase
28
5.2 Proiectarea bazei de date
Tipul de baza de date aleasa a fost MariaDB (derivata si compatibila cu sintaxa mysql).
MariaDb este un sistem de baze de date open source de tip rel ational.
Proiectarea bazei de date s -a realizat in phpmyadmin folosindu -se visual designerul acestei
aplicatii
5.3 Proiectarea interfetelor utilizator
Interfetele aplicatiei au fost realizate in html inainte de a se implementa functionalitatile.
Dupa ce s -a obtinut aprobarea asupra lor s -a trecut la implementarea functionalitatilor
aplicatiei.
Interfetele aplicatiei vor fi exemplificate in demo -ul aplicatiei
29
5.3.1 Interfata adaugare zbor
Permite cronometrarea unui zbor incepand cu alegerea pilotului/copi lotului si a avionului,
aeroclubul de pe care se decoleaza si cel pe care se aterizeaza, data zborului si cronometrarea
propriuzisa.
In primul rand se inregistreaza ora la care se porneste motorul, apoi se inregistreaza succesiv
timpul la care s -a inceput rulajul, decolarea si prima aterizare. Inreigstrarea timpului se face
cu ajutorul unui widget de tip watch.
Inregistrarea orelor este validata, astfel nu se poate inregistra o ora anterioara de decolare fata
de ora pornirii motorului.
5.3.2 Interfata LogI n
Din aceasta interfata, utilizatorii se pot inregistra folosind userul si parola. De asemenea
utilizatorii isi pot recupera parola uitata completand un formular de recover password
[interfata recuperare parola]
Interfata de login este validata in 2 etape. Prima etapa, o validare client side cu ajutorul
javascript si html5, apoi o validare server side care se realizeaza la submitul datelor (in cazul
in care utilizatorul are dezactivat javascript in browser)
30
5.3.3 Interfata Dashboard
In panoul de administr are se ofera acces rapid la informatii si functionalitati (inregistrarea
unui nou zbor). De asemenea, panoul de administrare difera in functie de rolul utilizatorului.
Administratorii vor vedea toate aspectele, pe cand managerii de aerodrom si cronometror ii vor
vedea doar lucrurile ce tin de activitatea lor.
Mai mult, in panoul de administrare sunt prezentate in timp real cu ajutorul unui api extern
conditiile meteo din locatia acelui aeroclub.
De asemenea, sunt afisate un set de contoare generale (numaru l de zboruri, numarul de piloti,
numarul de avioane din aeroclub in acel moment etc.).
Mai jos este afisat un grafic cu numarul de zboruri programate si numarul de zboruri realizate
pentru fiecare zi plus o lista a ultimelor zboruri inregistrate in acel a eroclub.
31
5.4 Diagrama de componente
5.5 Diagrama de desfasurare
32
6 Implementarea sistemului informatic
6.1 Tehnologii utilizate in implementare
Pentru realizarea aplicatiei s -au folosit urmatoarele tehnologii:
• PHP – limbaj serverside
• CakePhp – Framew ork PHP
• HTML/CSS/JavaScript – limbaje de markup/programare clientside
• MariaDb – sistem de gestiune a bazelor de date open source de tip mysql
La nivel structural exista o interfata grafica la care ne vom referi ca "view" formata din
HTML, JavaScript si CS S care are rolul de a usura folosirea aplicatiei si de a prelua datele de
la utilizator.
Aceste date sunt apoi preluate de serverul Apache prin PHP, procesate si stocate in baza de
date MariaDB.
Pentru procesele de citire/consultare etapele sunt in sens in vers: Informatia este citita din baza
de date, procesata de catre PHP si afisata prin intermediul view -ului.
La randul ei, partea de cod PHP este structurata in Model, View si Controller(MVC) pentru a
mentine un pattern cat mai constant si o organizare cat mai buna a fisierelor si un cod cat mai
eficient.
Modelul se asigura de operatiunile necesare comunicarii cu baza de date(CRUD – create,
read, update, delete), validarii datelor inscrise in baza de date si a operatiilor logice la nivel de
baza de date si transmiterea lor catre Controller.
Controllerul se ocupa cu procesarea informatiilor venite din Model si transmiterea lor catre
view.
Viewurile sunt partea de prezentare a aplicatiei si sunt formate din cod Html si Javascript si
au rolul de a prelua infor matiile de la utilizator si a le trimite catre controller sau invers de a
prelua informatiile din Controller si a le afisa utilziatorilor.
Pentru a mentine un cod cat mai curat si eficient in view nu trebuie sa existe prelucrari ale
informatiilor(cel putin nu din partea PHP -ului). Acest lucru se face in Controller. Treaba
modelului este doar de a asigura transferul de informatie dintre baza de date si controller asa
cum treaba view -ului este de a asigura transferul de informatie dintre controller si utiliz ator.
Aceste tipuri de transferuri sunt bidirectionale.
(http://en.wikipedia.org/wiki/Apache_HTTP_Server)
33
Serverul de Apache este cel mai folosit software pentru hostarea aplicatiilor web. Codul din
spatele Apache se bazeaza pe NCSA httpd Server a carei dezvoltare a fost intrerupta in 1995.
In 1999 Apache a devenit cunoscut in lume ca fiind primul server de web care a servit peste
100 milioane de pagini web in acest fel contribuind la dezvoltarea World Wide Web si a
aplicatiilor web dinamice din ziua de azi.
(http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller)
Structura MVC(Model View Controller) este un design pattern foarte folosit in aplicatiile
web(si nu numai) din ziua de azi.
Acest tip de design pattern imparte aplicatia in trei parti interconectate in asa fel incat partea
logica a aplicatiei este separata de partea de prezentare. In acest fel se micsoreaza timpul
necesar dezvoltarii aplicatiei si structureaza mai bine codul.
Schema 2 – Model View Controller
In aplicatiile web, rolul modelului este de a abstractiza si comunica cu baza de date. De
asemenea intre modele se realizeaza relatii de forma (Has Many, Has One, Belongs To, Many
to Many)
De asemenea, modelul se ocupa cu validarea informatiilor receptionate si introducerea sau
recuperarea lor din baza de date.
View -ul se ocupa cu preluarea informatiilor din Model sau Controller si afisarea ei
utilizatorului. Rolul view -ului trebuie sa fie doar de prezentare in a sa fel incat sa se pastreze
strutura MVC
Controllerul are rolul de a prelucra informatia si a face legatura intre View si Model.
Controllerul are rolul de a procesa si filtra informatiile preluate din Model si trimiterea
acestora catre View.
In continuare voi prezenta succint despre PHP, MySQL, JavaScript si HTML si motivele
alegerii acestor limbaje in dezvoltarea aplicatiei.
34
PHP – este la ora actuala cel mai des folosit limbaj de programare in realizarea aplicatiilor
web.
Acest lucru se datoreaza usurinte i sintaxei si asemanarii acestuia cu limbaje comune(C, C++),
documentatiei foarte detaliate si prezenta unei comunitati numeroase de programatori.
PHP a devenit in ultimii ani un limbaj de programare matur si eficient, iar in urma dezvoltarii
componentelor OOP(Object Oriented Programming) a devenit o solutie viabila in realizarea
aplicatiilor web de mare anvergura.
PHP are in spate limbajul C de unde imprumuta elemente de sintaxa si functionalitate(pasarea
prin referinta, array -uri, etc.)
In realizarea apli catiei s -a folosit un framework de PHP(o colectie de metode si functionalitati
deja scrise) pentru a se usura si accelera procesul de dezvoltare.
Acest lucru mi -a permis sa ma concentrez mai mult pe partea de logica si functionalitate a
aplicatiei decat in rescrierea de metode si helpere lucru ce a micsorat foarte mult timpul de
dezvoltare.
MySQL – este cel mai folosit tip de baza de date pe partea de aplicatii web. Este un tip de
baza de date relational. Asta inseamna ca aproape toate tabelele sunt legate intre ele prin
relatii de one to one, one to many, many to many.
Exemplu: tabelul clienti are o relatie de one to many cu tabelul comenzi.(In traducere, un
client poate avea mai multe comenzi).
Un alt avantaj al MySql -ului este ca este gratuit, iar licenta de folosire include proiecte
comerciale si open source.
HTML – este limbajul interpretat de catre browsere ori de cate ori accesati o pagina. Aplicatia
genereaza HTML5 avand functionalitati specifice web 2.0(se afiseaza corect pe dispozitivele
mobile, se interpreteaza rapid si concentreaza informatia in structuri specifice: sectiuni,
headere, footere, div -uri )
JavaScript – prin intermediul framework -ului JQuery ajuta la imbunatatirea interactiunii dintre
utilizator si aplicatie fara a necesita reimprospat area paginii web. JavaScript si CSS sunt
folosite la imbunatatirea UX(user experience)
35
6.2 Roluri si permisiuni
Aplicatia are in spate o matrice de roluri si permisiuni bazata pe grupe de
utilizatori.Utilizatorii sunt grupati in departamente(fiecare dep artament avand un anumit set
de permisiuni)
De asemenea pe langa aceste departamente mai exista doua roluri generale (regular si admin)
Pentru cei cu rolul "regular" se aplica restrictiile impuse de departamentul in care se afla, iar
administratorii au acc es la orice aspect al aplicatiei indiferent de departament.
6.3 Functionalitatile sistemului
Aplicatia contine urmatoarele module:
• autentificare/autorizare pe baza unui sistem de roluri(ACL) – rolurile in aplicatie sunt:
administrator, manager aerodrom, c ronometror, pilot, mecanic
• management zboruri – permite adaugarea si cronometrarea zborurilor
• management piese de schimb – nomenclator de piese si stocuri pentru fiecare
aerodrom in parte
• management avioane – modulul asigura ca avioanele sunt apte de zbor . Daca avionul
are o piesa care a depasit durata de viata sau uzura permisa in reglementari nu I se va
permite efectuarea de zboruri.
• management piloti – pilotii pot programa zboruri pe diferite aerodromuri cu ajutorul
aplicatiei.
• management licente de zbor – unui pilot nu I se va permite sa efectueze un zbor daca
nu are o licenta valida pentru acel tip de zbor
36
7 Analiza SWOT
7.1 Puncte Tari
Aplicatia de fata este unica in Romania si poate chiar in lume. Prin folosirea acestei aplicatii
se reduce foarte mult timp in ceea ce priveste completarea fiselor de reparatii, programarea si
cronometrarea zborurilor, se organizeaza mult mai bine activitatea personalului si se reduce
stresul si frustrarea birocratiei impuse de legislatia i nternationala.
Avand in spate o platforma web based putem asigura accesul la ea de oriunde din lume de pe
aproximativ orice device inteligent conectat la internet.
Avand in spate un framework front -end(twitter bootstrap) aplicatia se redimensioneaza
automa t pentru a se afisa in mod optim pe orice device indiferent de rezolutie.
Aplicatia poate fi foarte usor modificata pentru a putea fi folosita in alte aerocluburi (ex.
Aerodroame private sau NAC -uri mici)
Implementarea se poate face foarte rapid, noi insta lari ale aplicatiei putand fi facute in mai
putin de jumatate de ora pentru clientii noi
Aplicatia este cloud based si este hostata pe serverele firmei unde lucrez (Oferim si servicii de
hosting). Acest lucru ofera posibilitatea accesului rapid din orice c olt al lumii.
Noi module pot fi adaugate rapid la cerere si se pot realiza modificari la cererea clientului
contra cost.
Posibilitatile de monetizare ale aplicatiei sunt foarte bune, putandu -se crea un abonament
lunar pentru fiecare client nou in parte.
Aplicatia are un design intuitiv si este foarte usor de invatat chiar si pentru persoanele in
varsta sau persoane ce nu au abilitati in folosirea calculatorului.
Lucrez in permanenta la aplicatie si la modulele ei si dezvolt in permanenta noi
functionalitat i. Acest lucru asigura ca am o aplicatie moderna si in pas cu nevoile si dorintele
clientilor mei
Fiind hostata in cloud, numai eu voi avea acces la sursa aplicatiei. Acest lucru inseamna ca
aplicatia nu poate fi furata/crackuita/piratata. Informatiile cli entilor sunt incapsulate in baze
de date separate pentru fiecare.
37
7.2 Puncte Slabe
La ora actuala echipa de dezvoltare este formata dintr -o singura persoana. Acest lucru
inseamna ca pe masura ce adun noi clienti sunt nevoit sa rezolv fiecare problema punc tual,
ceea ce imi mananca timp din dezvoltarea noilor functionalitati.
Hostarea in cloud este in acelasi timp un avantaj cat si un dezavantaj. Acest lucru presupune
accesul la internet in mod permanent.
Livrarea aplicatiei pe serverul clientului poate in semna o pierdere a controlului asupra sursei
aplicatiei si posibilitatea ca aplicatia sa fie distribuita fara acordul meu.
Desi suntem in 2017 si orice persoana foloseste aplicatii cloud exista o neincredere fata de
aplicatiile web -based si cele hostate in cloud.
Specialistii previzioneaza ca in cativa ani lumea va fi mai deschisa fata de serviciile cloud, dar
pana atunci este un motiv pentru care un potential client ar putea evita achizitionarea
aplicatiei.
7.3 Oportunitati
La ora actuala, piata pentru aceasta aplicatie este foarte mare mai ales ca se poate modifica
foarte rapid.
Prin aceste lucruri exista un potential enorm nu doar pe piata interna. De asemenea, in
strainatate, lumea este mai deschisa in a folosi servicii cloud/online. In curand voi sco ate o
versiune in limba engleza a aplicatiei pe care o voi vinde inafara.
7.4 Amenintari
Urmarind succesul aplicatiei, este foarte posibil ca un competitor cu potential financiar mai
mare sa refaca rapid functionalitatile aplicatiei si sa intre puternic i n piata.
8 Rezultatele obtinute in urma programului
In urma folosirii aplicatiei de catre Aeroclubul Romaniie s -a constatat o reducere a timpului
petrecut in completarea fiselor de service si o imbunatatire a comunicarii intre utilizatori.
Acest lucru ins eamna o crestere a productivitatii si o mai buna organizare a activitatii.
38
In acelasi timp exista piloti care au fost fidelizati tocmai din cauza acestui mod de lucru.
Fiecare pilot isi poate programa zborul si rezerva avionul. De asemenea, acesta este mer eu la
curent cu starea avionului pe care va urma sa zboare.
Cronometrarea zborurilor a devenit mult mai precisa, putandu -se cronometra atat timpul
petrecut in rulaj, cat si timpul petrecut in aer. De asemenea exista posibilitatea inregistrarii de
zboruri Touch & Go care presupun mai multe aterizari si decolari.
La sfarsitul fiecarei luni exista un raport complet de activitate in care se poate vedea
performanta fiecarui angajat.
9 Concluzii
Consider ca aplicatia mea are un potential mare de comercializare , avand in spate Aeroclubul
Romaniei. In momentul iesirii aplicatiei din faza BETA, am promisiuni ferme ca voi fi
sustinut in contactarea NAC -urilor (National Air Clubs) din Europa.
10 Functionalitati viitoare
Este in plan un modul in care sa se poata ved ea in timp real fiecare zbor cu ajutorul
transponderelor de pe fiecare avion in parte.
De asemenea se doreste crearea unui API prin care sa se interconecteze aplicatia curenta cu
alte aplicatii.
11 Bibliografie
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Academia de Studii Economice din Bucuresti [622796] (ID: 622796)
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.
