ACADEMIA DE STUDII ECONOMICE DIN BUCUREŞTI FACULTATEA DE CIBERNETICĂ, STATISTICĂ ŞI INFORMATICĂ ECONOMICĂ SPECIALIZAREA INFORMATICĂ ECONOMICĂ
LUCRARE DE LICENŢĂ Soluție cu bază de date pentru activitatea logistică a unei companii COORDONATOR ŞTIINŢIFIC Prof. univ. dr. MANOLE VELICANU ABSOLVENT GEORGE CRĂCIUN
BUCUREŞTI
2013
Cuprins Introducere................................................................................................................. 2 1.Prezentarea activității de “Logistică” într-o companie............................................3 1.1 Logistica. Concepte generale............................................................................ 3 1.1.1 Scurt istoric................................................................................................. 3 1.1.2 Definirea conceptului de logistică...............................................................5 1.2 Transporturile – element principal al activității logistice.....................................................5 1.3 Eficientizarea logisticii.............................................................................................. 6 1.4Fluxuri informaţionale în activitatea de logistică...............................................................7 2. Tehnologiile informatice utilizate la realizarea aplica ției de administrare a logisticii .......................9 2.1 Prezentare generală a unei aplicații web .........................................................................9 2.2 HTML................................................................................................................ 10 2.3 CSS.................................................................................................................... 11 2.4 jQuery................................................................................................................ 12 2.5 PHP................................................................................................................... 13 2.6 MySql................................................................................................................. 13 2.7 Apache................................................................................................................ 14 2.8 Codeigniter.......................................................................................................... 15 2.9 Eclipse................................................................................................................ 17 3.Analiza şi proiectarea aplicaţiei pentru logistica firmei..........................................................17 3.1Scopul și obiectivele aplicației................................................................................... 17 3.2 Proiectarea bazei de date.......................................................................................... 18 3.2.1 Noțiuni teoretice.............................................................................................. 18 3.2.2 Proiectarea practică a bazei de date.......................................................................20 3.3 Proiectarea interfeţei............................................................................................... 24 4. Prezentarea aplicației privind logistica companiei ................................................................26 4.1 Implementarea aplicației.......................................................................................... 26 4.1.1 Implementarea bazei de date și a funcționalită ții acesteia .............................................28 4.1.2 Implementarea interfeței și a funcționalității acesteia ..................................................29 4.2 Utilizarea aplicației.......................................................................................... 32 Concluzii................................................................................................................... 37 Referințe bibliografice.................................................................................................... 38 Lista figurilor............................................................................................................ 39 Anexe....................................................................................................................... 40 1
Introducere Lucrarea de față își propune să justifice importanța bazelor de date în orice sector și activitate a domeniului economic. Este oferit ca exemplu dezvoltarea unei aplicații ce utilizează o bază de date pentru a administra activitatea oricărei firme care activează în domeniul transporturilor sau are un departament de transporturi ori logistică internă. Datele au devenit în ultimii ani cele mai importante resurse ale unei companii deoarece ele oferă o imagine de ansamblu a activității acesteia și reprezintă baza previziunilor pentru viitor. Astfel că datele trebuie stocate și manipulate într-un mod cât mai eficient pentru a putea oferi răspunsuri viabile la necesitățile firmei. Deoarece ne situăm în era tehnologiei informa ției, orice firmă care dorește să fie eficientă trebuie să profite de avantajele oferite de utilizarea unei aplicații informatice care simplifică munca angajaților și ajută la luarea celor mai bune decizii în ceea ce privește activitatea economică a firmei. Am ales ca și domeniu economic de interes, logistica și în special domeniul transporturilor deoarece este un sector economic dinamic și totuși existent din cele mai vechi timpuri. Firmele care desfășoară activități ce presupun transporturi au o mare provocare în administrarea costurilor de transport deoarece acestea au cea mai mare pondere în totalitatea costurilor logistice, astfel că este esențial ca această activitate să fie gestionată corect prin intermediul unei aplicații informatice. Compania în cadrul căreia a fost realizată documentarea privind departamentul de logistică, pe baza căreia au fost identificate elementele ce trebuie luate în considerare la dezvoltarea aplicației este SC Realitatea Media SA. Realitatea Media este prima televiziune din România dedicată transmisiei 24 de ore din 24 a știrilor. Filosofia postului este că evenimentul guvernează programul, astfel că în orice moment desfășurătorul de emisie poate fi dinamizat cu informații de ultimă oră. Grila de programe a Realitatea TV cuprinde în special jurnale de știri(din oră în oră), dar și emisiuni de analiză politică, socială, culturală și științifică. Am considerat că această companie este una relevantă pentru domeniul economic ales și pentru dezvoltarea aplicației, deoarece deține un parc auto de dimensiuni mari, aproximativ 30 de autovehicule, care efectuează un număr mare de curse pe zi, în diferite scopuri: transmisiuni live, deplasarea corespondenților în teritoriu, transportul invitaților, aprovizionare internă, etc. Vorbim de autovehicule de toate categoriile, inclusiv de cele echipate pentru transmisii din teren. Un alt element relevant pentru acest domeniu este faptul că sunt înregistrate costuri foarte mari cu logistica și transporturile ceea ce indică un grad mare de utilizare al respectivelor autovehicule.
2
Lucrarea este structurată în patru capitole ce realizează prezentarea domeniului economic ales, a tehnologiilor informatice utilizate în realizarea aplicației de administrare a activită ții logistice și a aplicației rezultate împreună cu modul de implementare a acesteia. Astfel, capitolul 1 descrie activitatea de logistică cu tot ceea ce presupune ea, punând accent pe componenta de transporturi. Sunt descrise fluxurile informaționale ce apar în desfășurarea activității și care sunt utile în dezvoltarea aplicației deoarece ilustrează modul în care circulă informațiile în cadrul departamentului logistic. Capitolul 2 prezintă tehnologiile informatice utilizate pentru realizarea programului, accentuând punctele lor forte și justificând astfel alegerea lor. Capitolul 3 realizează proiectarea aplicației și con ține detalii tehnice referitoare la modul în care a fost implementată aceasta. Ultimul capitol prezintă aplica ția și oferă indicații de utilizare a acesteia.
1. Prezentarea activității de
“Logistică”
într-o companie 1.1 Logistica. Concepte generale 1.1.1
Scurt istoric
Nu se cunoaște cu exactitate originea termenului de logistică, dar există mai multe ipoteze în acest sens. Una dintre acestea presupune că acest cuvânt provine din limba greacă, din cuvântul “logistikos” care înseamnă a fi priceput în a face calcule. Cu toate acestea, deoarece termenul a fost utilizat destul de târziu în istorie (sfârşitul secolului al XVIII-lea sau chiar începutul secolului al XIX-lea) a determinat destul de mul ți istorici și etimologi să susțină faptul că termenul logistică provine din limba franceză, mai exact din termenul “logistique”, termen folosit destul de mult mai ales în campaniile militare, desemnând operațiunile de transportare și poziționare a unităților pe câmpul de luptă, dar și operațiunile desfășurate pentru transportul hranei și a tuturor celorlaltor elemente anexe unei unități militare (unități de comunicație, unități medicale, unități ce efectuau diferite servicii pentru soldați, etc). Una dintre primele personalități care au utilizat termenul de “logistică”, a fost baronul elvețian Antoine Henry Jemini, care luptase în campaniile lui Napoleon și avea deci destul de multe cunoștințe în domeniul militar și chiar logistic. În lucrarea sa “Sumar al artei războiului”, apărută în 1838, baronul susține că logistica este unul dintre pilonii principali ai conducerii și câștigării unui război. Apare astfel o primă definiție a logisticii care presupune mutarea și poziționarea armatei, dar și a tuturor materialelor necesare acesteia. 3
Un alt studiu care a vizat logistica militară este „Pure Logistics – The Science of War Preparation” (Logistica absolută – Ştiinţa Pregătirii Războiului), publicat de către maiorul american George C. Thorpe în anul 1916. Scopul respectivului studiu era de a evidenţia importanța teoriei militară a logisticii (denumită „ pure logistics”) şi mai puțin partea aplicată a acesteia (denumită de către autor „applied logistics”). Putem spune că acesta a fost unul dintre primele manuale de logistică publicate. Elementul principal susținut de către Thorpe este caracteristica de întreg a logisticii. Astfel, autorul a demonstrat prin puternice exemple istorice faptul că logistica neintegrată a eșuat în majoritatea marilor campanii militare. Putem men ționa aici Războiul lui Napoleon în Rusia din 1812, sau Războiul Prusiei cu Fran ța din 1870 – 1871. [TH16] Deși Thorpe a utilizat termenul de logistică, in scrierile sale, acesta nu a reu șit să se impună în strategiile militare din acea perioadă, dar a căpătat totuși un rol important în domeniul militar, astfel că după cel de-al Doilea Război Mondial, logistica militară a devenit un domeniu studiat pe larg. În domeniul economic, logistica a apărut după 1960. Figura 1.1 indică evoluţia acesteia în timp. Astfel, se observă că la început, activităţile logistice erau separate, pentru ca în prezent să se vorbească despre un management integrat al logisticii care gestionează componente precum: planificarea cererii, achiziţiile, gestiunea stocurilor, depozitarea, distribuţia şi transportul. Tot în anii 1960 apare şi termenul de “logistică a firmei” (“business logistics”), care desemna “managementul tuturor activităţilor care asigură transferul şi coordonarea aprovizionării şi distribuţiei în sensul creării utilităţii de timp şi spaţiu”. [HEIVGL65]
Figura 1.1 Evoluția logisticii în cadrul firmei, [MO96]
4
1.1.2 Definirea conceptului de logistică Voi prezenta câteva definiţii ale logisticii propuse de-a lungul timpului. În 1962, National Council of Physical Distribution Management (NCPDM), defineşte logistica astfel: “Mulţimea de activităţi implicate în tranferul eficient al produselor finite de la punctele de producţie la consumator şi în unele cazuri a materialelor de la furnizor la unităţile de producţie. Acestea sunt: transportul, depozitarea, manipularea materialelor, ambalarea, gestiunea stocurilor, selectarea locaţiilor fabricilor şi depozitelor, procesarea comenzilor, previzionarea cererii şi serviciul către clienţi”. În anul 1986 apare definiţia dată de către Council of Logistics Management (CLM) care înglobează practic tendinţele logisticii acelor ani: “Logistica este procesul de planificare, implementare şi control al fluxurilor şi depozitării eficiente şi eficace a materiilor prime, stocurilor în curs de producţie, produselor finite, şi a informaţiilor referitoare la acestea, de la punctul de origine la punctul de consum al acestora, cu scopul conformării cerinţelor consumatorilor”. Se observă faptul că această definiţie pune accentul pe planificare, implementare şi control, deci pe activităţile de management desfăşurate în cadrul logisticii. Mai recent, în 2005 apare pentru logistică definiţia: „a livra un produs, în bună stare, la momentul potrivit, în locul potrivit, în cantitatea corectă şi necesară, în ambalajul de prezentare corespunzător, precedate, însoţite şi urmărite de informaţii corecte şi exacte înscrise pe documente legale, totul în cele mai bune condiţii economice” . [AKFRDU05] . Această definiţie pune accent pe documentele care însoţesc, confirmă şi urmăresc fluxul de informaţii şi asigură stabilirea istoricului traseului parcurs în distribuţie. Din definiţiile prezentate până aici, pot concluziona că logistica este activitatea care se ocupă în primul rând cu transportul mărfurilor sau produselor, dar si cu achiziţia, depozitarea şi livrarea acestora. După părerea mea, principala componentă a activităţii logistice se referă la transport, deoarece acesta generează cele mai mari costuri şi totodată este cel mai greu de gestionat.
1.2 Transporturile – element principal al activității logistice Transportul reprezintă mișcarea oamenilor, animalelor sau a bunurilor dintr-o locație în alta. Modalitățile de transport includ: aerul, calea ferată, șoseaua, cablul, conducta sau spa țiul. Domeniul transporturilor poate fi divizat în “infrastructură”, “vehicule” și “operațiuni”. Infrastructura constă în instalații fixe sau construcții necesare transportului, cum ar fi: șosele, căi ferate, căi aeriene, canale fluviale și terminale precum: aeroporturi, gări, stații, depozite, etc. Terminalele pot fi folosite atât pentru schimbarea pasagerilor sau a mărfurilor, cât și pentru mentenanță. Vehiculele care utilizează aceste rețele pot include: automobile, biciclete, autobuze, trenuri, camioane și altele. Operațiunile sunt reprezentate de modul în care sunt 5
utilizate vehiculele și procedurile setate pentru scopul propus. În domeniul transporturilor, operațiunile și infrastructura pot fi atât publice cât și private, în funcție de țară. Din punct de vedere economic, performanța sectorului transporturilor este sensibilă la prețul petrolului. Deoarece operațiunile gravitează în jurul vehiculelor, prețul combustibililor reprezintă un cost semnificativ al companiilor ce se ocupă cu transporturile. Atunci când prețul petrolului crește, companiile se așteaptă să câștige mai puțin, în timp ce atunci când pre țul petrolului este mic, situația financiară a companiilor este bună.
1.3 Eficientizarea logisticii Ca în orice alt domeniu economic, eficientizarea presupune reducerea costurilor şi implicit maximizarea profitului. Astfel, eforturile de eficientizare a activităţii sunt canalizate în primul rând către rentabilizarea operaţiunilor logistice. Una dintre primele opțiuni luate in calcul pentru diminuarea costurilor logistice este externalizarea acestor operațiuni, cunoscută sub denumirea de outsourcing. Cu toate acestea, este indicat ca aceasta variantă să fie adoptată atunci când calitatea serviciilor oferite de către operatorul logistic contractat este cel puțin similară cu cea existentă în companie, iar pre țul cerut este convenabil. O altă opțiune poate fi dezvoltarea parcului auto (logistic) ceea ce ar permite oferirea de servicii către alte firme, ceea ce aduce un venit necesar acoperirii costurilor proprii. Astfel , este destul de des întâlnită separarea activității logistice într-o entitate de sine stătătoare, care acoperă atât nevoile companiei, dar oferă și servicii către exterior. Practic, putem spune că este creat operatorul logistic necesar desfășurării activității companiei. Cea de-a treia opțiune se referă la încercarea de optimizare a activității desfășurate de parcul logistic, ceea ce presupune administrarea eficientă a depozitelor și a parcului auto, dar și îmbunătățirea proceselor de aprovizionare și distribuție. Astfel, eficientizarea costurilor logistice necesită o operaţiune complexă desfășurată la nivelul întregii companii. Acestă operaţiune presupune existenţa unui sistem informatic capabil să gestioneze fluxurile de lucru şi să urmărească costurile operaţionale. Vorbim despre activitate logistică nu numai în cadrul firmelor de distribuţie sau al firmelor ce manipulează marfuri, cât şi în cadrul altor firme care deţin un parc auto ce implică efectuarea de numeroase curse şi deplasări pentru îndeplinirea obiectivelor companiei. Astfel, consider că principala activitate ce trebuie rentabilizată este activitatea de transporturi, care generează cele mai mari costuri. Din punct de vedere informatic, aşa cum am precizat şi mai sus, eficientizarea presupune existenţa unor aplicaţii ce au au ca scop urmărirea şi gestionarea costurilor şi a cheltuielilor curente şi viitoare. O aplicație complexă ce are ca scop administrarea activității logistice și implicit eficientizarea acesteia, trebuie să urmeze mai multe direcții de dezvoltare: 6
definirea și planificarea rutelor parcurse de vehiculele firmei; optimizarea rutelor planificate zilnic prin aplicarea unor șabloane, pentru a ține sub control
costurile de transport; suport pentru elaborarea unor strategii de transporturi pe termen lung, prin previzionarea
costurilor; administrarea resurselor (a personalului, a vehiculelor și a materialelor transportate); elaborarea de rapoarte ce ilustrează activitatea logistică a companiei. Opinia mea este că cele mai importante elemente ale unei astfel de aplicații sunt reprezentate
de administrarea resurselor si elaborarea de rapoarte necesare observării activită ții companiei, deoarece o aplicație ce conține aceste module poate fi utilizată atât ce o firmă mică, cât și de o companie al cărei obiect de activitate este strict logistica și procesează o multitudine de comenzi și transporturi zilnic.
1.4 Fluxuri informaţionale în activitatea de logistică Pentru a dezvolta o aplicație de administrare a activită ții logistice, analistul/ programatorul trebuie să înțeleagă modul de formare a fluxurilor informaționale identificate în activitatea companiei. Pentru a identifica entităţile ce vor fi luate în calcul la dezvoltarea aplicaţiei voi pleca de la o definiţie a lanţului de aprovizionare (supply chain), al unei întreprinderi.Astfel, acesta include toţi furnizorii, capacităţile de producţie, centrele de distribuţie, depozitele şi clienţii, împreună cu materiile prime, stocul de produse semifabricate şi stocul de produse finite şi cu toate resursele şi informaţiile implicate în satisfacerea cerinţelor clienţilor ceea ce înseamnă că lanţul de aprovizionare este un proces care leagă furnizorii, producătorii, depozitele, distribuitorii şi clienţii. [LUCO06] Putem aprecia că lanţul de aprovizionare este descris cu ajutorul costurilor şi veniturilor implicate: costuri cu furnizorii / materiile prime şi materialele, costuri de transport, costuri de producţie, costuri de depozitare şi distribuţie și venituri de la clienţi. Conceptul de supply chain (lanţ de aprovizionare) a fost folosit iniţial pentru a defini traseul parcurs de materiale / marfă de la furnizor la firmă. O aplicaţie informatică ce are scopul de a eficientiza logistica trebuie să gestioneze şi să previzioneze cererile, sincronizând aprovizionarea cu cererea. Corelarea ofertei cu cererea duce la livrarea produsului comandat la locul şi momentul potrivit. Dacă această aprovizionare este făcută în condiţiile existenţei comenzii, atunci firmele pot să-şi reducă stocurile şi chiar să lucreze cu un stoc apropiat de cel critic. În continuare voi prezenta principalele fluxuri de procese informaţionale ale unui lanţ de aprovizionare, ilustrate în figura 1.3 . Astfel, putem identifica cel puţin următorii actori principali ce participă la realizarea fluxurilor informaţionale: 7
• • • • • • •
clientul: cumpără bunuri şi servicii furnizorul: vinde bunuri şi servicii sistemul de aprovizionare: achiziţioneazăbunuri şi servicii de la furnizori sistemul de desfacere: vinde bunuri şi servicii clienţilor sistemul de producţie: produce bunuri şi servicii sistemul de transport: transportă bunuri. depozitele: gestionează bunurile produse şi/sau achiziţionate.
Figura 1.2 Procese și fluxuri informaționale în lanțul de desfacere, [NOHU00]
Deoarece, în prezenta lucrare ne axăm în primul rând pe activitatea de transporturi, fluxul informațional luat în calcul este unul simplificat și urmărește doar livrarea bunurilor sau transportul persoanelor între două locații și face legătura între serviciile de aprovizonare și livrare. Figura 1.3 pezintă fluxul informaţional ce descrie activitatea de transporturi. Observăm astfel că operatorul logistic (şofer, vehicul) execută cursa, în timp ce managerul parcului logistic se ocupă cu coordonarea activităţii (planificare şi control).
Manager parc logistic Planificare
Control
Operator Executare
Figura 1.3 Fluxul informațional al activității logistice din cadrul unei companii
8
2. Tehnologiile informatice utilizate la realizarea aplicației de administrare a logisticii În continuare vor fi prezentate tehnologiile utilizate pentru realizarea aplicației de administrare a activității logistice. Trebuie precizat că aplicația va fi una web-based, adică o aplicație ce va putea fi accesată într-un navigator web și va rula pe un server HTTP.
2.1 Prezentare generală a unei aplicații web Termenul de aplicație web este folosit pentru o aplicație care este accesată de utilizatori prin intermediul unei rețele (internet / intranet). Acest termen poate de asemenea să desemneze o aplicație software scrisă într-un limbaj de programare suportat de navigator (browser-supported) precum JavaScript sau jQuery combinat cu un limbaj de marcare precum HTML și care se bazează pe un browser web pentru redarea aplicației executabile. Aplicația pentru administrarea activității de logistică se va baza pe mai multe tehnologii. HTML, CSS și JQuery au fost folosite pentru partea vizuală și crearea interfe ței, în timp ce PHP se ocupă cu prelucrările ce au loc pe server (asigură funcționalitatea aplicației) iar MySql asigură legatura cu baza de date prin stocarea datelor si accesul la acestea. În plus, aplicația va fi stocată pe un server HTTP (Apache). Pentru o bună organizare a codului sursă și a modulelor proiectului, a fost folosit cadrul de lucru(“framework”) Codeigniter care pe lângă o multitudine de alte facilită ți/funcții pe care le oferă, facilitează implementarea arhitecturii MVC (Model - View – Controller). Tot la Codeigniter, pot adăuga ca și facilitate importantă, clasa Active Record care permite ca operațiile uzuale de lucru cu baza de date să fie simplificate din punctul de vedere al codului scris. O altă tehnologie utilizată este mediul de dezvoltare Eclipse.
2.2 HTML HTML (HyperText Markup Language) este principalul limbaj de marcare utilizat în crearea de pagini web şi alte informaţii ce pot fi redate într-un navigator web (web browser). Scopul unui navigator web este acela de a citi documentele HTML şi de a le reda într-o formă vizibilă sau/şi audibilă. Navigatorul nu afişează marcajele HTML, ci le foloseşte pentru a interpreta conţinutul paginii.Aceste indicații furnizate de către marcajele HTML, pot varia de la cele mai simple (fontul unui paragraf) la unele complexe(scripturi complicate, formulare, hărți). Tot prin intermediul marcajelor HTML, pot fi specificate metadate ce con țin informa ții despre document (titlul, autorul) sau informații ce specifică structurarea documentului( divizarea în
9
paragrafe, liste, etc). HTML permite ca fiecare document să poată fi legat de altele prin hiperlegături (hyperlinks) care formează web-ul. Limbajul HTML poate fi citit și editat folosind orice editor simplu de text. Cu toate acestea, scrierea și modificarea paginilor solicită unele cunoștințe de HTML și consumă timp, astfel că de-a lungul timpului au apărut programe utilitare cu scopul de a facilita crearea de pagini web. Editoarele grafice (denumite generic WYSIWYG = “what you see is what you get”) precum Macromedia Dreamweaver, Adobe GoLive sau Microsoft FrontPage permit ca paginile web să poată fi realizate ușor de către oricine are anumite cunoștințe de operare a calculatorului. Deși crearea site-urilor folosind acest tip de programe este mult mai ușoară, trebuie precizat că de cele mai multe ori codul HTML generat de acestea este de o calitate slabă.[WIKI01]. HTML poate fi generat direct prin utilizarea unor tehnologii de programare din partea serverului, precum : PHP(Hypertext Preprocessor), JSP (Java Server Pages)sau ASP(Active Server Pages). Aplicația de administrare a activității logistice utilizează HTML pentru afi șarea conținutului într-un browser web, în forma dorită de programator, permi țând chiar modificarea acesteia în funcție de cerințele utilizatorilor.
2.3 CSS CSS (Cascading Style Sheets) este un limbaj folosit pentru descrierea semanticii de prezentare (aspect și formatare) a unui document scris într-un limbaj de marcare (HTML). De cele mai multe ori CSS este folosit pentru a stiliza paginile web scrise în HTML sau XHTML, dar limbajul poate fi aplicat oricărui tip de document XML. CSS a fost gândit în primul rând pentru a separa conținutul documentului (exprimat în HTML) de prezentarea documentului care include elemente precum: culori, font, orientare. Această separare îmbunătățește accesibilitatea conținutului și oferă o mai mare flexibilitate și control în specificarea și modificarea caracteristicilor prezentării. În plus, CSS permite ca mai multe pagini să folosească aceleași specificații de prezentare și reduce repetarea acestora. Mai mult, CSS oferă facilitatea ca aceeași pagină să poată fi prezentată în mai multe formate în funcție de metoda de redare (ecran, printare, dispozitive tactile, etc). Stilurile CSS pot fi atașate documentelor HTML, atât prin includerea unor documente externe, cât și în cadrul documentului, folosind marcajul