Gestiunea Parcului Auto

CUPRINS

Partea generala, descriere teoretica (10 pag)

Descriere teorie Oracle DataBase (10-15 pag)

Descriere teorie aplicatie prin care fac interfata grafica (10-15 pagini)

Descriere aplicatia realizata (15-20 pagini, descriere model, diagrame, despre aplicatie)

Bibliografie

Anexe

Descriere aplicație „Gestiunea parcului auto”

Grupul de firme X Construct, este constituit din 3 companii, fiecare din cele 3, deținând un parc auto propriu.

Companiile au ales sa țină evidența vehiculelor, împărțindu-le pe mai multe flote: Management, Vânzări, Operațiuni etc.

Pentru fiecare vehicul, este obligatoriu sa se țină evidența la nivel de număr de inmatriculare, marca, model, an de fabricație, capacitate cilindrică etc.

Șeful de parc auto trebuie sa fie informat asupra schimbărilor care au loc in cadrul vehiculelor, a șoferilor precum și asupra asigurărilor de tip RCA, facturi de revizii, accidente și alimentări cu carburant. Ulterior, acesta va introduce sau modifica informațiile în aplicația Gestiune Parc Auto.

Descrierea entităților și relațiilor

COMPANIE(#cod_companie, nume_companie, cod_fiscal, regiune)

FLOTA(#cod_flota, nume_flota, fk-cod_companie)

VEHICUL(#cod_vehicul, fk-cod_flota, nr_inmatriculare, marca_vehicul, model_vehicul, an_fabricatie, capac_cilindrica, vin, localitate_vehicul, judet_vehicul, tip_vehicul, fk-cod_sofer)

REVIZIE (#cod_revizie, fk-cod_vehicul, data_efect_revizie, data_urm_revizie)

SOFER(#cod_sofer, fk-cod_companie, nume_sofer)

FACTURA(#cod_factura, fk-cod_revizie, fk-cod_vehicul, data_factura, valoare_factura)

ACCIDENT(#cod_accident, fk-id_vehicul, fk-id_sofer, data_accident)

ALIMENTARI(#cod_alimentare, fk-cod_vehicul, data_alimentare, volum_alimentat)

ASIGURARE(#cod_asigurare, fk-cod_vehicul, serie_polita, valoare_polita, data_expirare_polita, data_incheiere_polita)

Diagrama ENTITATE – RELAȚIE

Diagrama conceptuală

Prezentarea aplicației Gestiune Parc Auto

Baza de date a fost creată cu ajutorul Oracle 11g, iar pentru interfața grafică am folosit Java prin intermediul Eclipse Luna.

Tabelele au fost create utilizând comanda CREATE:

CREATE TABLE COMPANIE (

ID_COMPANIE NUMBER(10),

NUME_COMPANIE VARCHAR(20) NOT NULL,

COD_FISCAL NUMBER(20) UNIQUE,

REGIUNE VARCHAR(20));

Pentru fiecare tabelă, au fost setate constrângeri de cheie primară și cheie externă:

ALTER TABLE VEHICUL ADD CONSTRAINT PK_VEHICUL PRIMARY KEY(ID_VEHICUL);

ALTER TABLE VEHICUL ADD CONSTRAINT FK_VEHICUL_FLOTA FOREIGN KEY(ID_FLOTA) REFERENCES FLOTA(ID_FLOTA);

Ulterior, am populat tabelele cu ajutorul instrucțiunii INSERT:

INSERT INTO FLOTA VALUES(1,1,’DISTRIBUTIE’);

Accesarea aplicației

Accesarea se face prin intermediul ecranului de login și numai după ce au fost introduse corect datele de autentificare:

După autentificare, utilizatorul are posibilitatea de selectare a companiei cu care dorește să lucreze, prin intermediul ecranului de selectie a companiei:

După selectarea companiei, se lansează automat interfața principala de lucru:

Interfața principală a aplicației este compusă din 2 paneluri, unul pentru butoane în partea stângă a ecranului și altul pentru afișarea informațiilor, în partea centrală a ecranului.

Vizualizarea flotele disponibile pe compania selectată in ecranul anterior, se face prin click pe butonul Flote. În panelul central vor aparea rezultatele returnate din vizualizarea stocată in baza de date vizualizare_flote:

CREATE OR REPLACE VIZUALIZARE_FLOTE AS

SELECT NUME_COMPANIE, NUME_FLOTA FROM FLOTA F, COMPANIE C

WHERE F.ID_COMPANIE = C.ID_COMPANIE;

Utilizatorul va putea edita informațiile legate de nume flota, dând click pe una dintre ele. Acestea vor putea fi editate numai dupa apăsarea butonului Edit.

Tot din acest ecran, utilizatorul va putea șterge flota selectata, dar aceasta se va face doar daca pe flota respectivă, nu există vehicule alocate. În caz contrar, va apărea următorul mesaj:

Adăugarea unei noi flote, se poate face prin intermediul butonului Adauga flota, situat în partea de jos a ecranului. Se va deschide o fereastra în care putem introduce numele flotei pe care dorim să o adăugam:

Accesul la lista de vehicule se poate face accesând butonul Vehicule. În panelul central vor fi afișate rezultatele view-ului vizualizare_vehicule:

CREATE OR REPLACE VIEW VIZUALIZARE_VEHICULE AS

SELECT V.ID_VEHICUL, S.ID_SOFER, F.ID_FLOTA, NR_INMATRICULARE, MARCA_VEHICUL, MODEL_VEHICUL, LOCALITATE_VEHICUL, NUME_SOFER, NUME_FLOTA FROM VEHICUL V, SOFER S, FLOTA F

WHERE S.ID_COMPANIE = 1 AND V.ID_SOFER=S.ID_SOFER AND V.ID_FLOTA=F.ID_FLOTA;

Rezultatul se prezintă astfel:

Informațiile legate id_vehicul, id_sofer și id_flota au fost ascunse, afișarea acestora fiind irelevantă pentru utilizatorul aplicației.

Editarea datelor referitoare la vehicule se poate face prin click pe una din liniile din tabel. Rezultatul va fi apariția unei ferestre de dialog cu opțiuni de editare sau ștergere a vehiculului selectat:

La apăsarea butonului Edit, câmpurile devin editabile, astfel incât utilizatorul va putea introduce manual alte valori.

În cazul valorilor pentru Flota si Șofer, am folosit un ComboBox ce permite afișarea tuturor opțiunilor disponibile pentru a ușura procesul de selecție și pentru a evita eventualele erori cauzate de introducerea greșită a datelor.

Această funționalitate este utilă șefului de parc auto, el putând afla cu ușurință în orice moment, pe ce flotă este alocat un vehicul și care este conducătorul auto asignat vehiculului respectiv.

Vehiculele pot fi șterse din același ecran prin apăsarea butonului Sterge acest lucru fiind posibil numai dacă nu există alte înregistrări în bază care au cheie externă către vehiculul selectat.

Prin apăsarea butonului Adauga, se va deschide fereastra ce permite introducerea unui nou vehicul în aplicație.

La fel ca și in cazul editării vehiculului, am folosit ComboBox-uri pentru selectarea flotelor și a șoferilor definiți în aplicație.

Pentru generarea cheii primare a noului vehicul, am utilizat secvențe definite în baza de date:

CREATE SEQUENCE pk_vehicul

START WITH 100

INCREMENT BY 1 CACHE 2;

Lista șoferilor introduși la nivel de companie, poate fi accesată cu ajutorul butonului Soferi.

Aplicația va returna informațiile prin apelarea view-ului vizualizare_soferi:

CREATE OR REPLACE VIEW VIZUALIZARE_SOFERI AS

SELECT NUME_SOFER, NUME_COMPANIE FROM SOFER S, COMPANIE C WHERE S.ID_COMPANIE=C.ID_SOFER;

Rezultatul afișat va fi:

Un rol deosebit de important în administrarea parcului auto îl reprezintă cheltuielile cu acesta. Am introdus în aplicație cheltuielile cu reviziile, asigurările și cele privind alimentările cu carburant.

Introducerea cheltuielilor la nivel de vehicul și implicit la nivel de flotă, va permite o evidențiere clară a acestora și va fi utilă în analiza privind reducerea cheltuielilor cu întreg parcul auto.

Facturile de revizii pot fi vizualizate prin click pe butonul Facturi revizii.

Rezultatul va fi afisat sub formă tabelară prin apelarea vizualizarii definite in baza de date:

SELECT F.ID_VEHICUL, V.NR_INMATRICULARE, F.ID_FACTURA, F.NR_FACTURA, TO_CHAR(DATA_FACTURA,’MM/DD/YYYY’) AS DATA, F.VALOARE_FACTURA

FROM VEHICUL V, FACTURA F

WHERE F.ID_VEHICUL=V.ID_VEHICUL;

La fel ca și în celelalte ecrane, a fost ascunsă informația referitoare la cheile primare, acestea fiind irelevante pentru utilizator.

După selectarea uneia dintre facturi, vor putea fi editate informațiile despre factură și eventual aceasta poate fi ștearsă.

Odată efectuate reviziile în cadrul service-urilor specializate, șeful de parc auto va putea introduce în aplicație, date despre facturi la nivel devehicul, prin accesarea butonului Adauga factura:

ORACLE – BAZE DE DATE

În ultima perioadă, dezvoltarea sistemelor de baze de date, a reprezentat unul dintre cele mai importante aspecte din domeniul IT, fapt ce a avut un impact decisiv asupra modului de funționare și organizare a numeroaselor instituții și servicii.

Aici se încadrează companiile de comunicație, serviciile de transport, întreprinderile de comerț, băncile, companiile de asigurare, universitățile etc, acestea depinzând de funcționarea corectă și neîntreruptă a sistemelor de baze de date.

Sistemele de baze de date, reprezintă o componentă importantă a vieții zilnice în societatea modernă. Zilnic, cea mai mare parte a persoanelor, desfașoară activități ce implică interacțiunea cu o bază de date: rezervarea biletelor de avion sau de tren, tranzacțiile bancare, căutarea unui job, gestiunea angajaților dintr-o firmă, comerțul online etc.

O bază de date poate avea dimensiuni si complexități foarte variate, de la câteva zeci sau sute de înregistrări (agenda dintr-un telefon mobil) până la milioane de înregistrări ( un magazin online, baza de date cu clienți sau cu angajații unei companii).

Majoritatea sistemelor de baze de date care există in momentul de față sunt relaționale, existând un număr foarte mare de astfel de sisteme comerciale ce se pot achiziționa si utiliza în scopul propriilor dezvoltări.

În sens larg, baza de date reprezintă o colecție de date centralizate, corelate logic, creată și menținută computerizat, cu scopul de a prelucra datele, în contextul unei aplicații.

În comparație cu vechile metode de înregistrare a datelor unor anumite activități pe documente scrise sau in fișiere salvate pe disc, sistemele de baze de date, oferă o serie de avantaje considerabile cum ar fi:

Control centralizat al datelor – de exemplu, o companie poate desemna una sau mai multe persoane responsabile cu administrarea bazei de date;

Flexibilitatea ce constă in faptul că poate fi modificată structura bazei de date, fără a necesita modificarea majoră a softurilor de aplicație;

Viteza sporită de regăsire și actualizare a datelor existente;

Compactarea: volumul ocupat de sistemele de baze de date este foarte redus comparativ cu documentele scrise;

Standardizarea modului de introducere a datelor, fapt ce permite interschimbarea acestora între mai multe organizații.

Majoritatea sistemelor de baze de date, sunt concepute în modelul de date relațional sau orientat obiect:

Modelul relațional se bazează pe noțiuni de relații matematice, care corespund unei entități de tipuri similare și au o reprezentare ușor de înțeles și manipulat. Acestea constau într-un table bidimensional care este compus din linii și coloane.

Acesta a fost inventat de E.F. Codd de la IBM in 1970, care a publicat lucrarea “Un model relațional de date pentru bănci mari de date partajate. Ulterior, acesta împreună cu R.Boyce și J.D. Ullman au perfecționat acest model și au permis dezvoltarea sistemelor de baze de date.

Modelul de date orientat obiect se bazează pe limbaje de programare orientate obiect, în care datele sunt independente de durata de viață a programelor care le creează si accesează.

În contextul societății actuale care prezintă un aflux fără precedent de informație de diferite tipuri ce circulă prin diferite canale, sunt necesare strategii și instrumente din ce în ce mai complexe pentru stocarea, procesarea și, mai ales, interpretarea acestora. Astfel a apărut necesitatea transformării informației în date si organizarea acestora într-o formă care să permită accesarea lor în orice moment și să poată fi extrase rapid și in mod exact pentru a putea fi folosite pentru un scop predefinit si precis.

Datele reprezintă fapte regasite și adunate din lumea reală. Acestea sunt preluate din observații si măsuratori ce pot fi disparate și necoordonate între ele. Pot fi formate din litere, imagini, numere și altele. Datele în sine, neprelucrate și prezente intr-una din formele amintite, nu au niciun fel de semnificație.Fiind doar o înșiruire de caractere sau imagini, ele chiar pot fi primi diverse interpretări, multe dintre ele greșite.

Informațiile reprezintă date organizate, date care au fost filtrate, ordonate și grupate după anumite criterii stabilite. Spre deosebire de date, informațiile au un caracter dinamic în sensul că ele se modifică în funcție de datele înmagazinate în baza de date, dar și în sensul că ele pot fi procesate și prezentate în diverse feluri. Un model de date corect alcătuit permite transformarea în dublu sens a informațiilor în date și apoi a datelor înapoi în informații, fără denaturarea sensului lor inițial.

Pentru a face diferența dintre date și informații, Hernandez propune următoarea axiomă: Datele reprezintă ceea ce se înmagazinează; informația reprezintă ceea ce se extrage.

Datele sunt stocate în baze de date, unde acestea au o natură statică, în sensul că rămân în aceeași stare până în momentul modificării lor de catre un administrator al bazei de date.

Sunt mai multe concepte aplicate datelor pentru a permite transformarea acestora în informatii:

Organizarea datelor: dateletrebuie sa fie organizate în așa fel încât să permită prelucrarea lor;

Caracterisicile datelor: determinarea caracteristicilor datelor ce permit extragerea esenței semnificației lor este importantă pentru determinarea modului de organizare a acestora în cazul unei aplicații;

Modelul de date: reprezintă o mulțime formală și consistentă de reguli;

Schema: rerezintă numele obiectelor bazei de date împreună cu proprietățile și asocierile dintre ele pentru o aplicație particulară a unui model de date;

Colecție de date: este un ansamblu organizat de date organizat după anumite criterii;

Mulțimea: o colecție de obiecte care au identitate proprie și sunt caracterizate de o condiție de apartenență;

Organizarea datelor: reprezintă procesul de definire și structurare a datelor în colecții, gruparea lor precum și stabilirea elementelor de lagătură între acestea și între colecții;

Fișierul: acesta este o colecție de date în asociere ce sunt organizate pe criterii calitative de prelucare și de scop. Un fișier are o denumire univocă și conține întotdeauna o cantitate de date bine definită care determină mărimea fișierului.

Baza de date: Elsmari și Navathe definesc o bază de date sub forma unei colecții de date aflate în asociere. În sens larg, baza de date reprezintă o colecție de date centralizate, corelate logic, creată și menținută computerizat, cu scopul de a prelucra datele, în contextul unei aplicații.

În timp s-a înregistrat o evoluție a metodelor de organizare a datelor strîns legată de soluțiile tehnice de înmagazinare a acestora și cuprinde urmatoarele nivele:

organizarea datelor în fișiere clasice;

organizarea mixtă în fișiere;

organizarea datelor în bazele de date clasice;

organizarea datelor în bazele de date relaționale;

organizarea datelor în baze de date distribuite.

În cadrul acestei evoluții, s-au evidențiat următoarele faze:

Faza I – aceasta este reprezentată de înregistrarea datelor pe benzi magnetice. Urmașă a sistemului manual de organizare a datelor folosit indelung (îndosarierea fișierelor pe format hârtie), înregistrarea pe benzi magnetice a fost inspirata de acest sistem: îndorsarierea – datele sunt organizate, în principal, sub formă de fișiere secvențiale datorită suportului magnetic (benzi).

Similar Posts