Aplicatie cu Baza de Date Pentru Gestiunea de Evenimente

INTRODUCERE

În cadrul acestei lucrări am prezentat o soluție pentru gestionarea bazelor de date unei firme de organizări de evenimente, folosind o aplicație C# ce modelează informațiile utile regăsite în tabele create bazate pe posibilele cerințe ale firmei. Ideea ce stă la baza aplicației este identificarea unei modalități prin care se poate eficientiza procentul utilizării resurselor de calcul (timp și spatiu). În primă fază se constată problema economică ce se dorește analizată, se transpun elementele economice într-un model relațional pe baza căruia se pot face extrageri sau modificări rapide ale datelor prin interogări, apoi se analizează și se proiectează aplicația ce va folosi o interfață user-friendly destinată angajaților firmei ce pot fi fie useri, fie administratori.

În primul capitol am prezentat problema economică și anume, necesitatea unui sistem informatic personalizat, creat pentru gestiunea evenimentelor prin utilizarea unor tehnologii accesibile de implementat și utilizat, precum și o scurtă prezentare a domeniului ales pentru întelegerea mediului în care va fi introdus modelul.

Al doilea capitol cuprinde limbajele și progamele folosite în dezvoltarea aplicației: limbajul SQL pentrul lucrul cu baze de date, aplicația Microsoft Office Access 2007, pachetul XAMPP de programe software open-source pentru crearea acesteia, limbajul C# pentru aplicația informatică și programul Visual Studio 2012 pentru implementarea acesteia.

În al treilea capitol se proiectează noul sistem informatics personalizat care va permite introducerea doar acelor evenimente ce pot fi acceptate în funcție de resursele disponibile. Se stabilesc entitățile ce vor fi folosite, se aleg atributele relevante raportate la cerința dată și se trece la proiectarea bazei de date ce va sta ca suport pentru aplicația informatică.

Ultimul capitol înglobează toate etapele prezentate mai sus și le tranpune într-un mediu destinat administratorilor sau membrilor cu drepturi de acces din cadrul firmei. Conține două subcapitole: primul implementarea aplicației unde se arată pas cu pas cum se crează un proiect în limbajul de programare C# folosind Visual Studio și al doilea, prezentarea aplicației propriu-zise ce conține printscren-uri cu fiecare element în parte.

CAPITOLUL 1. DESCRIEREA PROBLEMEI ECONOMICE

Importanța sistemelor informatice în organizarea evenimentelor

Pentru a putea gestiona eficient efortul depus în realizarea unui proiect, indiferent de natura acestuia, este nevoie de un plan bine structurat ce prezintă pașii necesari în vederea atingerii scopului dorit, și anume, pentru majoritatea firmelor, acesta se referă la creșterea profitului sau îmbunățărirea produselor și serviciilor oferite.

Un eveniment poate fi descris ca procesul ce implică desfășurarea unei activități într-un cadru organizat unde există un grup de participanți cu scopul comun de informare asupra temei întălnirii, în urma căruia pot rezulta vânzări, schimburi de contacte sau viitoare alianțe. Aceste aspecte vizează firmele de evenimentele contractate pentru a crea mediul în care entitatea client își va promova produsele (produse de îngrijire, echipamante, vacanțe, cursuri, training-uri, lansări de cărți, expoziții cu vânzare, etc.). În cadrul noțiunii de eveniment putem include festivități culturale, aniversări, ceremonii, inaugurări sau orice tip de ocazie specială ce necesită un grad ridicat de organizare și planificare.

O definiție a evenimentelor speciale este: ” Activitate de relații publice, operațiune promoțională cu caracter de eveniment special (festiv) – asociată, de obicei, firmei/mărcii -, bine mediatizată și care implică participarea unui public larg. Exemplu: zile ale mărcii, festivaluri ale berii, întreceri sportive cu premii (de cros, ciclism, auto), organizarea de spectacole, concerte live, prezentarea unei lucrări cu autor etc. Crearea unui eveniment poate avea ca pretext aniversarea firmei, o fuziune sau o asociere, demararea unei noi activități, lansarea unei mărci noi etc. În acest caz, este vorba despre o manifestare de prestigiu, la care participarea va fi selectivă „. ( http://www.iqads.ro/dictionar/evenimente-speciale).

Evenimentele sunt considerate ca fiind direct răspunzătoare de modificarea comportamentului de consum al indivizilor din întreaga lume, așa cum afirmă 79% din numărul caucazienilor chestionați, 68% din numărul afor-americanilor, 58% din numărul spaniolilor, și per total, 60% din tinerii adulți participanți la sondaj, astfel încât putem afirma faptul că un eveniment cu un feedback pozitiv atrage după sine șocuri pozitive reflectate în vânzări, reclamă și încrederea oferită brand-ului.

(http://www.slideshare.net/alexgrigoras/organizarea-de-evenimente-media)

În continuare voi prezenta trecerea de la elementele ce alcătuiesc un proiect la transpunerea acestora în mediul informatic cu ajutorul sistemelor informaționale economice.

În primul rând, orice activitate are nevoie de o etapă de mapare ce ajută la fluidizarea fluxului informațional transmis între stații (departamentele firmei). După ce s-a micșorat numărul documentelor necesare se trece la organizarea informațiilor în concepte cât mai restrânse pentru a putea le putea gestiona cu ușurință (datele sunt introduse sub formă de înregistrări în tabele ce mai apoi vor forma baza de date dedicată evenimentelor). Prelucrările se pot face utilizănd limbaje și programe concepute să îndeplinească aceste cereri, iar aceste procese descriu mecanismul de informatizare a documentelor.

Pentru a putea înțelege mai ușor ce se întâmplă atunci când o firmă dorește să-și translateze muncă în mediul electronic am amintit mai jos principalele noțiuni teoretice despre sistemele informatice.

Conform unui articol publicat la sfârșitul lunii februarie 2014, modificările din ultimul timp din sectoare precum cel economic, geopolitic, tehnologic sau social au creat un număr mare de oportunități dar și de riscuri pe care țările trebuie să le speculeze și să le analizeze cu atenție. Pe baza unui sondaj la care au luat parte 700 de țări, raportul pe 2014 prezentat la Forumul Economic Mondial privind riscurile globale a arătat că cele mai importante riscuri (analizate din perspectiva efectelor și interdependențelor dintre ele) pot fi încadrate în trei categorii: crizele fiscale din economiile unor țări dezvoltate, riscurile macroeconomice și erodarea încrederii în instituții.

Ultima categorie face referire la tehnici de organizare și prelucrare a datelor, tehnici ce trebuiesc îmbunătățite pentru a putea rezista pe o piață nesigură și imprevizibilă, așa cum poate fi descrisă piața actuală, în condițiile în care doar 56% din companiile participante la chestionar doresc să își continue activitatea în următorul an. Legat de acest aspect, se pune problema cum pot organizațiile să-și perfecționeze managementul datelor, implicit cel al informațiilor. Informațiile sunt preluate din aricolul ” Riscurile anului 2014, de care se tem cel mai mult oamenii de afaceri” cu referință în bibliografie.

În prezent, domeniul tehnologic ocupă un rol important în organizarea și buna desfășurare a activităților societăților economice și nu numai. Nevoia unei structuri ce permite legătura și transmiterea informațiilor între componenetele acesteia a stat la baza dezvoltării sistemelor informaționale atât de utilizate astăzi. Privit abstract, acest model corespunde în mare măsura modelului situației de comunicare învățat încă din copilărie. Mesajul este informația transmisă, de cele mai multe ori în interiorul unei organizații între angajați sau între persoanele de conducere și subordonați, canalul poate fi comunicarea directă sau mediile online (e-mail, CRM, Skype), și codul este de cele mai multe ori limba în care firma își desfașoară activitatea. Diferențele se observă în momentul în care se încearcă eficientizarea acestui proces prin valorificarea management-ului timpului, al resurselor umane și al fluxurilor.

Caracterul general al noțiunii de sistem informațional împiedică reducerea acestui concept la o singură definiție însă, în cărțile de specialitate, autorii descriu modelul astfel: ” Sistemul informațional poate fi definit ca un ansamblu tehnico-organizatoric de proceduri de constatare, consemnare, culegere, verificare, tranmitere, stocare si prelucrare a datelor, în scopul satisfacerii cerințelor informaționale necesare conducerii în procesul fundamentării și elaborării deciziilor. ”(Lungu 2003, p.20) sau ” un sistem informațional este destinat punerii la dispoziția persoanelor celor mai potrivite a infomației celei mai potrivite, în cantitate optimă și în forma cea mai potrivită, la momentul de timp cel mai potrivit. ” (Rainer, Turban, 2009).

O clasificare a componenetelor unui sistem informațional este realizată de (Mănăescu, 2009) cu referințe la cercetările făcute de (Verboncu, 1995) și (Radu, 1996) și este prezentată în imaginea de mai jos.

Componenetele unui sistem informațional

Pentru a observa legăturile între cele 6 componenete se pornește cu selecția datelor colectate în funcție de gradul de utilitate în procesul desfășurat, ce rămâne este stocat și prelucrat și poartă denumirea de informație. Aceaste blocuri de informație sunt transmise pe diferite căi prin fluxuri ce pot fi ascendente (dacă se transmite de la un nivel ierarhic la următorul cel mai apropiat), orizontale (dacă se transmite către subsisteme aflate pe același nivel) sau oblice (când sunt întâmplătoare și au loc între nivele diferite și fără a fi subordonate). Dacă dorim să analizăm o subtructură de legături în funcție de rolul ei sau de nivelul ierarhic pe care se poziționează este nevoia sa urmărim circuitele informaționale.. Pregătirea informațiilor pentru utilizare se realizează cu proceduri de modelare a datelor ce pot diferi între organizații în funcție aparatură (unele resurse de calcul pot fi mai avansate ca altele sau pot satisface mai bine cerințele clienților). Ansamblul acestor resurse hardware si software constituie mijloacele de tratare a informațiilor.

Cele patru funcții de bază ale oricărui sistem informatic utilizate în management, tratate de Deac în ” Management” sunt prezentate în figura de mai jos

1.2. Funcțiile unui sistem sistem informațional

Indiferent de aria de activitate, în orice întreprindere apar trei probleme ce necesită rezolvare în timp util și anume: nevoia managerilor de a avea permanent acces la informații despre toți cei implicați în proces (aceștia pot fi angajați, clienți, furnizori etc. ), date statistice, rapoarte și alte forme de cuantificare a informațiilor, nevoia de a gestiona corect proiectele prin dezvoltarea mijloacelor de comunicare, întreținerea și actualizarea bazelor de date, și nu în ultimul rând nevoia de a transmite informații pertinente și relevante , utile în adoptarea deciziilor. Pentru toate aceste necesități Mihai Stoica(2005, p.21) a grupat sistemele informationale în trei subsisteme de bază: sisteme informaționale pentru funcțiunile întreprinderii, sisteme informaționale operaționale și sisteme informaționale manageriale.

Etapele realizării unui eveniment

Întrebările la care trebuie să răspundă persoanele care se ocupă cu organizarea unui eveniment sunt:

DE CE? – orice acțiune trebuie întreprinsă în vederea atingerii scopurilor propuse, este o decizie ineficientă să continuăm elaborarea unui plan ce nu va conduce la rezultatul dorit.

CE? – proiectul trebuie să corespundă anumitor cerințe, atât intermediare cât și finale pentru a putea fi considerat de succes.

CUM? – modalitatea prin care organizatorii se mulează pe cerințele clienților, înteleg ideea ce urmează a fi transmisă, și aplică aceste filtre pentru a realiza un proiect ce va mulțumi toate părțile implicate. Aici intră definirea strategiei și planul derulării activităților.

CINE? – ce angajați vor fi delegați pentru realizarea evenimentului cât și identificarea celorlați parteneri (sponsori, beneficiari, oameni din mass-media, distribuitori, colaboratori). Se ține cont de calendarul evenimentelor pentru a vedea ce resurse umane sunt disponibile și de asemenea, se ține cont de istoricul firmei pentru a distribui în mod corect sarcinile.

CU CE? – repartizarea resurselor mobile si imobile, stabilirea bugetului, plus orice materiale, instrumente și contacte utile în pregătirea evenimentelor. Fiecarui proiect i se atribuie o descriere ce explică cerințele clienților cu privire la orice aspect legat de evenimentul în sine (personalizarea produsului).

CÂND? – este nevoie de fixarea termenelor, mai ales în acest domeniu, unde fiecare proiect se întinde pe o perioadă relativ scurtă (de obicei este vorba de câteva zile). Termenele sunt necesare pentru echipamentele închiriate, locații ocupate, personal ce participă în realizarea evenimentelor, speak-ari, prezentatori, firme de catering angajate, elementele de ambianță și decor, plus stabilirea întâlnirilor preorganizatorice cu viitorele părți implicate.

CU CE REZULTATE? – un aspect foarte important este previziunea, etapă ce ajută la creionarea planului de acțiune pentru a nu întâmpina probleme legate de depășirea cu un număr mare de unități a bugetului estimat sau implicarea unor resurse indisponibile în acel moment. Rezultatele trebuie să reflecte modelul de management al proiectului, astfel încât la final să se atingă obiectivele propuse și efectele rezultate să fie în concordanță cu output-urile așteptate de organizatori.

Etapele realizării unui proiect sunt următoarele:

Analiza nevoilor și formularea problemei care trebuie rezolvată

În această etapă se poate folosi Analiza SWOT ce vizează, punctele tari (STRENGHTS), punctele slabe (WEAKNESS), oportunițățile (OPPORTUNITIES) și amenințările (THREATS) planului propus. Următorul pas este identificarea publicului vizat, respectiv al grupului țintă – destinatarii finali ai mesajului și în acest sens trebuie analizat mesajul transmis prin acțiune, motivație și emoție, identificarea particularităților în funcție de segmentul analizat, precum și calea prin care aceste informații vor fi transmise.

Definirea scopurilor și delimitarea clară a obiectivelor

Pentru a putea stabili ce scopuri trebuiesc urmărite, se formulează întrebări de genul : Care e perioadă de timp alocată pentru realizarea fiecăruia?, Care sunt pașii asumați pentru a le putea obține?, Care obiective sunt specifice fiecărei entități participante?

Este de asemenea necesară delimitarea între cele două concepte: scop și obiectiv. Obiectivul are un rezultat concret, vizibil după un anumit interval de timp și ajută la atingerea scopului propus, transformând o imagine de ansamblu într-o serie de etape specifice și ușor de proiectat. O caracteristică a obiectivelor este aceea de a putea fi încadrate în obiective de tipul SMART: Specific, Măsurabil, Relizabil, Realistic, Timp.

Obiectivul general cuprinde o descriere mai detaliată în care apar obiectivele specifice, delimitarea, formularea și expunerea acestora pentru a putea evita eventualele conflicte legate de task-urile desemnate. (în acest fel se face distincția între elementele mandatorii și restul opționale).

Stabilirea echipei care se ocupă de realizarea evenimentului și a partenerilor

Colaborarea înseamn implicarea oamenilor în crearea propriilor soluții la problemele cu care se confruntă. În cadrul unui proces colaborativ, oamenii au ocazia să afle punctul de vedere si perspectiva celorlalți și să gândească împreună soluții la problemele comune. Printre cele mai importante trăsături ale personalului se numără seriozitatea, perseverența, motivația, determinarea, loialitatea și gradul de încredere. Aceste aspecte sunt universale deoarece succesul unei echipe este dat de eficiența muncii fiecărui participant. Aceste aspecte sunt analizate de persoana care va coordona activitatea și va distribui sarcinile (aici intervine manangement-ul proiectului).

Stabilirea bugetului alocat evenimentului

Stabilirea bugetului se realizează în cinci pași și trebuie să răspundă la următoarele întrebări: Cât costă proiectul? Am depășit bugetul alocat? Cât de mari trebuie să fie costurile cu resursele materiale și cu resursele umane (personalul)?. În stabilirea sumei de bani necesare se au în vedere următoarele elemente: rata resurselor (cât costă resursele în funcție de timpul alocat evenimentului și se referă la materialele consumabile sau echipamentele închiriate), costurile fixe (costurile evenimentului fără a ține cont de numărul de resurse alocate, de numărul de ore muncite sau cantitățile materialelor necesare), Costul per resursă etc.

Structurarea activităților

Aceată etapă răspunde la întrebările Ce trebuie făcut? și Cum se pot atinge obiectivele? și este influențată de numeroși indicatori. În funcție de valorile indicatorilor folosiți se pot crea rapoarte pentru verificarea productivității muncii. Se alocă fiecărui membru sarcini bine delimitate și apoi se trece la partea de informare cu privire la aspectele legate de viitorul eveniment (documentația, surse de transmisie a informției, atragerea sponsorilor și a participanților, identificarea resurselor disponibile, stabilirea etapelor următoare).

Planificarea activităților

Se stabilesc termenele în funcție de cele trei perioade de timp principale de desfășurare evenimentului: prima etapă, cea de informare, a doua, etapa de realizare și ultima etapă, cea de implementare. La început se stabilesc detalii evenimentului bazate pe cerințele clienților și pe oferta firmei contractate. Pe baza acestor discuții se concepe planul de acțiune ce va cuprinde liste cu sarcini destinate fiecărei etape în parte.

Promovarea

Promovarea, sub orice formă cunoscută, directă, prin campanie, online, prin rețelele de socializare, este cheia succesului oricărui eveniment. În realizarea ei se valorifică punctele forte ale evenimentului. Promovarea aparține segmentului de marketing și oferă posibilitatea ca partea tehnică să fie apreciată prin output-uri ce satisfac cerințele fiecarei entități implicate.

Evaluarea rezultatelor

Output-urile și outcom-urile pot avea efecte ce se observă pe termen scurt sau efecte viitoare, în acest mod se măsoară eficiența dată de rezultate observabile, gradul de îndeplinire a scopurilor propuse, nivelul bugetului final raportat la cel preconizat și satisfacția clienților.

Prezentarea activității care va fi informatizată

Următoarele capitole tratează situația în care o firmă se ocupă cu organizarea unor evenimente variate ca structură și formă și are nevoie de o aplicație pentru a urmări derularea proceselor, pentru a putea gestiona resursele disponibile și contractele încheiate în funcție de calendarul de lucru și pentru a putea prezenta situația firmei superiorilor sau posibililor parteneri.

Aplicația micșorează numărul de ore lucrate și de asemenea ajută la eficientizarea muncii depuse de fiecare angajat prin butoane ce au în spate cod SQL pentru interogări asupra tabelelor existente, fiind ușoară de utilizat de către angajați (ce pot fi administratori cu drept de modificarea a bazei de date sau useri cu drept de acces la informații despre evenimentele organizate și resursele disponibile).

Organizarea unui eveniment implică tratarea cu responsabilitate a fiecărei etape astfel încât fiecare parte implicată să știe exact ce are de făcut. Promovarea influențează într-o măsură considerabilă succesul evenimentului, de cele mai multe ori organizarea unui eveniment înseamnă o strategie bună de marketing, dar acest lucru nu ar putea fi posibil fără ca rezultat final să fie unul de calitate.

Activitatea analizată în această lucrare este cea de gestiune și anume se va concepe un plan în urma căruia organizatorii vor cunoaște din start dacă pot accepta lansarea unui eveniment în funcție de resursele puse la dispoziție de către firmă. Aplicația va permite utilizatorilor introducere unui eveniment nou cu verificarea resurselor disponibile și va permite de asemenea, introducerea resurselor necesare și inexistente în baza de date. User-ul poate de asemenea să consulte istoricul evenimentelor și să vizualizeze gradul de încarcare a bazei de date, iar administratorului i se oferă în plus dreptul de a modifica baza de date în funcție de sarcinile pe care trebuie să le îndeplinească.

CAPITOLUL 2: TEHNOLOGII INFORMATICE UTILIZATE

2.1. Limbajul SQL

Structured Query Language sau, în limbaj uzual, SQL este printre cele mai puternice limbaje structurale utilizat de majoritatea bazelor de date relaționale pentru interogarea informaților stocate în blocuri numite baze de date. A fost conceput ca un prototip al unui sistem de gestionare a bazelor de date produs de firma IBM în 1970. Nouă ani mai târziu Oracle introduce prima variantă a limbajului și, începând cu anul 1987 SQL, primește certificare ANSI devenind cel mai utilizat limbaj de interogare a bazelor de date.

Limbajul SQL poate fi caracterizat prin următorii termeni: neprocedural, formal, relațional,declarativ și poate fi folosit pentru a accesa baze de date ORACLE, SQL SERVER, DB2 și MySQL. Este un limbaj în care datele din tabele sunt accesate rapid, fiind folosit de programatori de aplicații, administratori, angajați ce operează cu baze de date din diverse domenii, pe scurt, este folosit în majoritatea companiilor cu un sistem informatic bine structurat deoarece orice activitate a firmelor poate fi modelată cu ajutorul bazelor de date.

Comenzile SQL pot fi grupate în 5 categorii, după cum urmează:

Limbajul de interogare permite regăsirea liniilor memorate în tabelele bazei de date. Interogările se vor scrie folosind comanda SELECT.

Limbajul de manipulare a datelor (DML – Data Manipulation Language) permite modificarea conținutului tabelelor. Comenzile DML sunt INSERT – Pentru adăugarea de noi linii într-o tabela, UPDATE – pentru modificarea valorilor memorate într-o tabelă, DELETE – pentru ștergerea liniilor dintr-o tabelă.

Limbajul de definire a datelor (DDL – Data Definition Language) permite definirea structurii tabelelor care compun baza de date. Comenzile DDL sunt CREATE, ALTER, DROP, RENAME, TRUNCATE

Comenzi de control al tranzacțiilor (TC – Transaction Control) printer care se numără COMMIT – permite ca modificările asupra bazei de date să devină permanente, ROLLBACK – permite renunțarea la ultimele modificări asupra bazei de date, SAVEPOINT

Limbajul de control al datelor (DCL – Data Control Language) permite definirea și modificarea drepturilor utilizatorilor asupra bazei de date. Comenzile DCL sunt GRANT – acordarea drepturilor altor utilizatori asupra strcuturii bazei voastre de date, REVOKE – anularea anumitor drepturi.

Principalele elemente ce intră în componența unei comenzi SQL sunt: numele (toate obiectele dintr-o bază de date – tabelele, coloanele, vizualizările, indecsi, sinonime au un nume), cuvintele rezervate, constantele, variabilele, expresii (operatori aritmetici +, -, /, *, operatori alfanumerici ||, operatori de comparație normali și speciali LiKE, BETWEEN, IN, IS NULL, IS NOT NULL, operatori logici – NOT, AND, OR).

În operațiile uzuale se numără comanda SELECT, cel mai des utilizată pentru a extrage date din baza de date prin selecție, unde se folosește clauza WHERE pentru a stabili criteriile pe care trebuie să le îndeplinească o linie pentru a putea fi returnată, prin proiecție – operație ce returnează doar anumite coloane și prin joncțiune în care se apelează mai multe tabele. Alte operații se pot referi la filtrarea datelor și ordonarea acestora prin comanda ORDER BY, crearea unui alias, eliminarea rândurilor duplicate, funcții asupra șirurilor de caractere, fucții numerice, funcții asupra datelor calendaristice, interogări multiple, secvențe, proceduri, vederi, etc.

Progamul folosit pentru crearea bazei de date este Microsoft Office Access 2007 dar această alegere poate fi foarte modificată ușor în funcție de conceptual aplicației, modificarea fiind realizată la nivel de cod (se schimbă path-ul în codul sursă al legăturii cu baza de date).

2.2. Limbajul C# și mediul de dezvoltare Visual Studio 2012

Limbajul de programare folosit pentru aplicație este C#, limbaj creat de o echipă Microsoft a cărui lansare a avut loc în 2002. Echipa a fost condusă de Andres Hejlsberg (cel care a creat Turbo Pascal și a contribuit la dezvoltarea limbajului Borland Delphi). Limbajul poate fi folosit pe mai multe platforme, compilatoare C# se pot găsi și pentru alete sisteme precum Linux sau Macintosh. Derivat din cele mai cunoscute limbaje de programare C și C++, C# a fost creat pentru a ajuta la scrierea programelor pentru Windows, internet, componente software. Structura limbajului este una simplistă în care există 12 tipuri de date predefinite și, în jur de 80 de cuvinte cheie ce permit instaurarea conceptelor moderne conform cărora este nevoie de o programare structurală, modulară și orientată obiect. (http://www.cs.ubbcluj.ro/~vcioban/Bistrita/Manuale/CursDotNetSassu.pdf)

Apariția limbajului C# a fost determinată de puctele slabe ale limbajelor de programare deja existente. Dennis Ritchie a inventat limbajul C în anii ’70, cel mai utilizat limbaj din întreaga lume pentru sistemul de operare UNIX. Printre punctele slabe se numără incapacitatea de a lucra cu programe mari (se pot scrie, în medie, maxim 5000 de linii de cod) și inexistența programării orientată obiect). Pentru a rezolva aceste inconveniențe la sfârșitul anilor ’70 a apărut C++ dezvoltat de Bjarne Stroustrup și a fost denumit inițial C cu clase (pentru a arăta legătura cu POO) devenind cel mai cunoscut limbaj la sfârșitul anilor ’90.

Delvoltarea tehnologiei a dus la apariția limbajului Java un limbaj structural și orientat pe obiecte conceput de firma Sun Microsystems, cu sintaxa și filosofia derivate din C++, inovator din punct de vedere al portabilității codului pe diverse platforme. După apariția Internetului s-a realizat conectarea sistemelor cu procesoare si sisteme de operare diferite, în Java, acest lucru este realizat prin transformarea codului sursă al programului într-un cod intermediar (bytecode) și executarea acestuia pe o Mașină Virtuală Java (MVJ). (http://www.math.uaic.ro/~cgales/csharp/Curs1.pdf)

Java rezolvă o mare parte din problemele existente însă are probleme când vine vorba de interoperabilitatea limbajelor diferite sau programarea în limbaj mixt (posibilitatea de a lucra cu alte limbaje de programare). Aceste aspecte au fost lămurite de limbajul C# , limbaj înrudit cu Java prin derivarea din aceleași limbaje de bază dar semnificativ diferite ca utilitate (C# fiind un limbaj mix care folosește coduri scrise în diverse limbaje).

În C# întâlnim principiile de bază ale programării orientate obiect (încapsularea, moștenirea, polimorfismul), plus noi funcții create cu scopul de a îmbogăți sintaxa ți standardele de programare C++, cum ar fi intefețe și delegări, fucții modificate (struct), sau chiar eliminarea unor elemente cum ar fi moștenirea multiplă și pointerii către funcții. (http://ro.scribd.com/doc/517796/Manual-C)

Elemente ale programării orientate obiect

O aplicație C# cuprinde una sau mai mult clase (class) ce pot fi grupate în spații de nume (namespace). Pot exista clase cu același nume doar dacă acestea sunt instanțiate în namespace-uri diferite și pot exista, de asemenea namespace-uri îmbricate (definiția unui namespace apare în structura celuilalt). O clasă cuprinde date și metode (funcții), apelarea acestora se face prin numele metodei. (http://ro.scribd.com/doc/517796/Manual-C)

C# cuprinde două categorii de date: Tipuri valoare (Tipul simple: byte, char, int, float, Tipul enumerate: enum, Tipul structură: struct) și Tipul referință (Tipul clasă: class, Tipul interfața: interface, Tipul delegate: delegate).

Realizarea unei aplicații C#

Pentru crearea unei aplicații C# se poate folosi cod sursă sau modelarea vizuală, deoarece C# generează o mare parte din codul sursă (indifferent de maniera prin care se ajunge la cod, el rămâne elemental de bază, fiind sufficient pentru a reconstitui oricând submeniul integrat, ultima formă a aplicației). Pentru a avea o fereastră Windows e suficient să derivăm propria formă din System.Windows.Form și s-o instanțieze în momentul lansării în execuție a aplicației. (Smeureanu, Dârdală, 2002, p. 50)

În C# orice acțiune este reprezentată printr-un eveniment, gama acestora fiind variată, cuprinzând de la evenimente produse de utilizator (cum ar fi acționări de taste sau de mouse) până la evenimente ce nu depind de utilizator (modificarea unui document text – fișier, trimiterea unui mail).

Tratarea unui eveniment se poate face în două variante:

Adăugarea unei metode delegatului evenimentului

Mouse down += new MouseEventHandler(Form1_MouseDown)

Suprascrierea unei metode protected moștenită din clasa de bază

protected override void OnMouseDown(System.Windows.Forms.MouseEventArgs e)

{

base.OnMouseDown(e);

}

Vizual, dacă programatorul alege corect tipologia aplicației, Designer-ul desenează el forma, iar prin dragarea de către un programator a unor controale din ToolBox, mediul declară obiectele corespunzătoare, le stabilește proprietățile și le înregistreează la nivelul formei.

Programul Visual Studio 2012

Visual Studio 2012 permite crearea aplicațiilor desktop, mobile, servicii Web XML, ASP.NET scrise în limbajele de programare Visual Basic, C++, C# ce beneficieză de trăsăturile . NET Framework.

Cu Visual Studio 2012 companiile au ocazia să-și sporească capacitatea echipei de a pune în aplicare practici de dezvoltare adaptate la ritmul optim al personalului. Aceste fluxuri de lucru și instrumente satisfac nevoile clienților și reduc riscul pentru a livra continuu servicii de calitate. Programul include mii de îmbunătățiri pentru dezvoltatori cu scopul de a atinge un nivel ridicat al productivității, de a colabora perfect în echipe și crearea de produse valoaroase pentru utilizatorii finali. Dezvoltarea mediului a restructurat și rafinat procesul de integrare a limbajelelor cunoscute, precu, și adăugarea de noi instrumente de sprijin pentru C++ și JavaScript, Python, Ruby, și multe alte limbi.

De asemenea, a fost actualizat procesul de Lifetime Management (comportament PLM), astfel încât paginile vor salva și starea lor de încărcare, suspendare sau reluare. Acum este mai ușor ca oricând să se testeze software-ul pe orice platformă Microsoft, accentual fiind pus pe cod și controale, conform stilului minimalist deja cunoscut. Bare de instrumente noi și dinamice înseamnă mai mult spațiu de lucru este disponibil pentru vizualizarea și explorarea codului. Elementele de bază, cum ar fi Solution Explorer, Previw sau History au chiar mai multe funcționalități pentru a ajuta utilizatorul să înțeleagă codul fără deschiderea ferestrelor suplimentare. Atunci când noile extensii sunt disponibile, notificări subtile sunt gata să ofere aceste informații fără a rupe fluxul dinamic de lucru.

CAPITOLUL 3. ANALIZA ȘI PROIECTAREA SISTEMULUI INFORMATIC

3.1. Specificarea cerințelor sistemului informatic

Orice sistem informatic dinamic cuprinde trei faze și anume: Input-ul – presupune prelucrarea și asamblarea informațiilor care urmează a fi prelucrate. În acest caz, informațiile sunt date despre evenimentele organizate de firmă, angajații acesteia plus resursele utilizate, contractele și clienții. Toate aceste date sunt stocate în baza de date și reprezintă elementele preluate de sistem. A doua fază, prelucrarea, implică procesele de transformare care convertesc elementele de intrare în elementele de ieșire și are loc prin interogări SQL din baza de date. Rezultatele obținute formează pot fi exportate și reprezintă elementele de ieșire, sau output-ul aplicației, reprezentînd cea dea treia fază. (Stoica, 2005, p.13)

Deoarece aplicația se bazează pe un sistem cibernetic se impune analizarea componentelor control și feedback. Următorii pași descriu părțile componenete ale sistemului, aceștia fiind: tehnologia utilizată, structura și conceptul aplicației, dezvoltarea sistemului și managementul acestuia.

Sistemul informațional studiat este destinat gestiunii întreprinderii, fiind un sistem operațional de procesare a tranzacțiilor. Se mapează documentele ce fac parte din fluxul de lucru, se transpun informațiile în mediul digital prin utilizarea bazelor de date ce vor fi conectate cu mediul în care se va dezvolta aplicația, utilizând resursele tehnologice potrivite.

Ciclul de viață al sistemului informatic începe cu decizia de realizare, cuprinde faza de elaborare, faza de utilizare, faza de perfecșionare și se închieie cu decizia de abandonare în forma existentă și înlocuirea cu un nou sistem. (Stoica, 2005, p. 20)

În analiza de sistem se determină aria sectorului căruia i se adresează aplicația prin formularea restricțiilor și cerințelor general. Se observă nevoia unui nou sistem bazat pe gestiune și modelare a datelor și se concepe planul de lucru necesar implementării acestuia.

3.2. Analiza sistemului existent

După cum am precizat mai sus, sistemul informatic al firmelor de organizări de evenimente trebuie să cuprindă informații despre entitățile implicate într-o formă structurată și ușor de accesat. Elementul central al sistemului informațional este evenimentul. Pentru organizarea lui se alocă personal (angajați), se încheie contracte cu clienții firme, se verifică detalii evenimentului pentru a putea gestiona resursele necesare. Dacă există elemente ce nu apar disponibile pentru perioadă angajații trebuie să afle acest lucru într-un timp cât mai scurt pentru a putea rezolva problema. Toate datele sunt stocate în tabele pentru o regăsire mai ușoară și, de asemenea, este nevoie de restricționarea drepturilor de acces pentru a evita eventualele modificări neautorizate asupra informațiilor din tabele.

3.2.1. Identificarea entităților și a caracteristicilor acestora

Principalele entități pentru activitatea analizată sunt:

Tabela CLIENT – conține informații despre clienții care au încheiat contracte cu firma organizatoare

Tabela CONTRACT – tabelă de legătură între entitățile CLIENT și EVENIMENT

Tabela EVENIMENT – cuprinde data alocata evenimentului, descriere, starea (dacă a fost organizat sau urmează), plus informații despre angajații care se ocupă cu organizarea acestuia

Tabela EVENIMENT_DETAIL – cuprinde elemenete ce ajută la înțelegerea cerințelor clienților și pe baza lor se stabilește planul de gestionare a resurselor

Tabela RESURSA – cuprinde echipamentele mobile și imobile ce sunt puse la dispoziția clienților pentru folosire în timpul evenimentului

Tabela ANGAJAT – cuprinde informații despre toți angajații firmei

Tabela FUNCȚIE – conține descrierea sarcinilor și implicațiile nivelului ierarhic plus încadrarea salariului între cele două valori extreme (minimă și maximă)

Tabela USER – conține informații despre acei angajați care au acces la aplicație și implicit la datele bazei de date, păstrează numele de înregistrare (username) și parola precum și tipul de acces, user sau administra

În continuare voi prezenta atributele corespunzătoare fiecărei entități:

Tabelul nr.3.2.1. Atributele entităților

Identificarea atributelor cheie:

Pentru tabela CLIENT avem primary key id_client

Pentru tabela EVENIMENT avem primary key id_eveniment

Pentru tabela EVENIMENT_DETAIL avem primary key ID

Pentru tabela FUNCTIE avem primary key id_functie

Pentru tabela RESURSE avem primary key id_resursa

Pentru tabela ANGAJAT avem primary key id_angajat

Pentru tabela USER avem primary key id_user

3.2.2. Identificarea procedurilor necesare

Aplicația prezentată în capitolul 4 a fost concepută să aibe următoarele funcționalități:

Conexiunea la baza de date

Login – fereastră de logare pentru angajații firmei în funcție de rolul acestora: un meniu pentru useri și un meniu pentru administratori. User-ul are dreptul de a adăuga evenimente , de a consulta istoricul evenimentelor și de vizualiza gradul de încarcare a bazei de date. Administratorul are toate drepturile user-ilor și în plus poate face operații asupra tabelelor prin butoane ce returnează direct și ușor interogări SQL.

Lucrul cu baze de date

Gestionarea resurselor disponile

Conexiunea cu baza de date

Pentru a putea accesa și modela datele am folosit o bază de date Acces denumită bd.accdb pe care am inclus-o în aplicație în folderul destinat bazelor de date, legătura fiind creată folosind următoarea secvența de cod:

string connString = "Provider=Microsoft.ACE.OLEDB.12.0;data source=C:\\Licenta\\Licenta\\bd\\" + den + ".accdb";

Pentru prelucrări și alte operații asupra datelor au fost create clasele:

Baza – clasa conține 3 parametrii și 2 proprietăți (get și set) și va fi folosită în următoarele clase pentru a contrubui la conectarea si accesarea bazei de date a evenimentelor. Este inclusă în namespace-ul Licenta.service , service fiind numele folderului destinat claselor create pentru a face conexiunea.

namespace Licenta.service

{

class Baza

{

public String[] denumire;

public String[] locatie;

public int[] tip;

public void setBaza(String[] d, String[] l, int[] t)

{

this.denumire = d;

this.locatie = l;

this.tip = t;

}

public Baza getBaza()

{

return this;

}

}

}

BdInterface – folosită pentru a apela funcțiile ce returnează prelucrările efective implementate în restul claselor derivate din aceasta, clasa BdService.

namespace Licenta.service

{

interface BdServiceInterface

{

Baza getListaNumeBD();

void inserareBaza(String den);

void InsertDinBaza(String den, String comanda, String locatie);

List<String> getTabele(String den);

DataTable SelectDinBD(String den, String comanda, String locatie);

DataTable SelectBD(String den, String comanda);

}

}

List<String> getTabele(String den)= Lista de string-uri în care se vor stoca tabelele

BdService – clasa în care se realizeză conexiunea și apelează la membrii celorlalte clase prin derivarea class BdService: BdServiceInterface.

public List<String> getTabele(String den)

{

string connString = "Provider=Microsoft.ACE.OLEDB.12.0;data source=C:\\Licenta\\Licenta\\bd\\" + den + ".accdb";

using (OleDbConnection conn = new OleDbConnection(connString))

{

String loc = "C:\\Licenta\\Licenta\\" + den + ".accdb";

conn.Open();

String[] restrictie = new String[4];

restrictie[3] = "Table";

DataTable userTables = conn.GetSchema("Tables",restrictie);

List<string> tables = new List<string>();

foreach (DataRow row in userTables.Rows)

{

tables.Add(row.Field<string>("TABLE_NAME"));

}

return tables;

}

public List<String> getTabele(String den) – funcția membră a clasei ce returnează o listă de șiruri de caractere reprezentând numele tabelele baze de date.

public DataTable SelectBD(String den, String comanda)

{

DataTable results = new DataTable();

string connString = "Provider=Microsoft.ACE.OLEDB.12.0;data source=C:\\Licenta\\Licenta\\bd\\" + den + ".accdb";

using (OleDbConnection conn = new OleDbConnection(connString))

{

OleDbCommand cmd = new OleDbCommand(comanda, conn);

conn.Open();

OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);

adapter.Fill(results);

}

return results;

}

Fereastra de Login:

Meniul de acces are în spate o clasă derivată din fereastra principală și cuprinde următoarele elemenete:

private void button1_Click(object sender, EventArgs e)

{

int tip = 0;

if (textBox1.Text == "")

{

errorProvider1.SetError(textBox1, "Este necesara introducerea numelui de utilizator."); }

else if (textBox2.Text == "")

{ errorProvider1.SetError(textBox2, "Este necesara introducerea parolei."); }

else {

String username = textBox1.Text;

String password = textBox2.Text;

String[] cr = new String[2];

cr[0] = username;

cr[1] = password;

setCr(cr);

int i = 0;

AppDomain.CurrentDomain.SetData("DataDirectory", "C:\\Licenta\\Licenta\\bd");

string connString = "Provider=Microsoft.ACE.OLEDB.12.0;data source=|DataDirectory|\\bd.accdb";

DataTable results = new DataTable();

using (OleDbConnection conn = new OleDbConnection(connString))

{

OleDbCommand cmd = new OleDbCommand("SELECT username, parola, tip FROM users", conn);

conn.Open();

OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);

adapter.Fill(results);

}

foreach (DataRow row in results.Rows)

{

if ((row["username"].ToString().Equals(username.ToString())) && (row["parola"].ToString().Equals(password.ToString()))) {

i++;

tip = Convert.ToInt32(row["tip"].ToString());

}

}

if (i != 0)

{

if (tip == 1)

{

UserMenu umf = new UserMenu();

umf.setC(this.getCr());

umf.ShowDialog();

if (umf.IsDisposed)

{

this.Show();

}

}

else

{

AdminMenu amf = new AdminMenu();

amf.setC(this.getCr());

amf.ShowDialog();

if (amf.IsDisposed)

{

this.Show();

}

}

}

else {

errorProvider1.SetError(textBox1, "Nu exista username sau parola este gresita.");

}

}

Insert:

private void button1_Click_1(object sender, EventArgs e)

{

Form1 f1 = new Form1();

f1.setC(c);

f1.setN(treeView1.SelectedNode.Text.ToString());

f1.setCommand(button1.Text.ToString());

f1.ShowDialog(this);

updateListView();

}

Update:

private void button2_Click_1(object sender, EventArgs e)

{

Form2 f1 = new Form2();

f1.setC(c);

f1.setN(treeView1.SelectedNode.Text.ToString());

f1.setCommand(button2.Text.ToString());

f1.ShowDialog(this);

updateListView();

}

Delete:

private void button2_Click_1(object sender, EventArgs e)

{

Form2 f1 = new Form2();

f1.setC(c);

f1.setN(treeView1.SelectedNode.Text.ToString());

f1.setCommand(button2.Text.ToString());

f1.ShowDialog(this);

updateListView();

3.3. Proiectarea noului sistem

3.3.1. Proiectarea schemelor bazei de date

Tabelul nr.3.3.1. Tabela EVENIMENT

Tabelul nr. 3.3.1. Tabela EVENIMENT_DETAIL

Tabelul nr. 3.3.1. Tabela RESURSA

Tabelul nr. 3.3.1. Tipurile USER

Tabelul nr.3.3.1. Tabela ANGAJAT

Tabelul nr.3.3.1. Tabela FUNCTIE

Tabelul nr.3.3.1. Tabela CLIENT

Diagrama ERD unde sunt reprezentate legăturile între tabele prin cheile externe:

Figura nr. 3.3.1 Diagrama ERD a bazei de date

3.3.2. Proiectarea prelucrărilor

Din diagrama de mai sus putem observa faptul că fiecare tabelă are rolul ei bine stabilit în funcționalitatea bazei de date, toate tabele fiind interconectate prin legături externe în cheia primară a unui tabel și cheia externă din celălalt. (cele două denumiri trebuie sa coincidă). S-au creat atbele de legătură între două relații Many – To –Many pentru a normaliza baza de date conform regulilor FN.

În procesul de creare a bazei de date s-a ținut cont de următoarele restricții sau constrângeri:

Domeniul primar – fiecare tabelă conține o singură cheie primară de identificare

Restricții de integritate referențiale și ale entităților – se referă la existență cheii primare și referința cheii externe către o altă tabelă decât cea analizată

Restricții de domeniu – validări la nivelul atributelor entităților

Schema relației – numele relațiilor, tabelele și atributelele acestora

Pregătirea terenului pentru un SGBDR ce va face legătura între baza de date și utilizatori

Dependența funcțională

Încadrarea în regulile de gestiune: FN1 – nu se poate împărți reprezentarea atributului în unități mai mici, FN1 – este în FN1 și atributele nu depind de o parte din cheia primară, FN3 – este în FN2 și nu există dependențe funcționale între atributele non-cheie

CAPITOLUL 4. REALIZAREA APLICAȚIEI INFORMATICE

4.1. Implementarea aplicației

Aplicația a fost realizată folosind Microsoft Visual Studio 2012, ce se poate descărca de pe pagina : http://www.microsoft.com/en-us/download/details.aspx?id=30678

Figura 4.1.1 Pagina Visual Studio 2012

Pentru acest program tehnologiile folosite sunt: baza de date Acces 2007 și limbajul de programare C#.

Pentru crearea bazei de date corespunzătoare aplicației informatice acestei lucrări, am parcurs următorii pași:

Figura 4.1.2 Creare bazei de date

Figura 4.1.3 Modificări asupra bazei de date

Figura 4.1.4 Crearea unui proiect Visual Studio

Figura 4.1.5 Alegerea tipului aplicației

Figura 4.1.5 Fereastra Solution Explorer

4.2. Prezentarea aplicației

Aplicația conține programul principal și 4 dosare în care s-au creat diferite obiecte ce se vor folosi simultan pentru realizarea funcțiilor aplicației. Folder-ul bd conține baza de date la care se conectează aplicația pentru a avea acces la informațiile despre evenimente sau alte restul tabelelor.

Se pot alege două modalități de conectare, fie local la un server localhost prin adăugarea directă a bazei de date și conectarea la ea cu ajutorul instrucțiunii , fie folosind un server și o modalitate de a realiza acest lucru este prin folosirea pachetului Xampp ce returnează produse cum ar fi Server pache HTTP, MySql, PHP sau Pearl . Are o interfață foarte ușor de utilizat comenzile, SQL fiind generate direct printr-un buton , se pot crea și modifica ușor și dinamic baze de date sau tabele componente, se pot exporta fișiere PHP pentru aplicații ce rulează cu cod Java , aplicații mobile și nu numai plus multe alte instrumente.

Alegerea modalității de conectare depinde în special de busines-ul logic al aplicației. O variantă eficientă înseamnă aplicarea metodelor potrivite din punct de vedere al acesibilității și al resurselor necesare pentru implementare si mentenanță. O aplicație locală este utilă în momentul în care se lucrează cu un număr relativ mic de date și fiecare persoană are acces doar la o anmită parte din baza de date printre problemele posibile se numără instaurarea conflictelor de interese în momentul în care mai mulți utilzatori modifică în același timp aceleași câmpuri de date.

Când se optează pentru o aplicație ce va rula pe Internet se vor face analize asupra balanței de profit și pierdere pentru a putea trage concluzia că firma își poate permite alocarea unei sume mari pentru dezvoltarea tehnologiei utilizate și dacă personalul responsabil cu administrarea bazelor de date este capabil să lucreze cu platformele dorite. Probleme apar atunci când nu există legătură la Internet sau apar probleme de soft ce ar putea bloca fluxul activităților.

În folder-ul form avem 10 formulare ce vor fi apelate în cascadă în momentul rulării programului și funcționalitățile acestora pot fi observate mai jos:

Figura 4.2. Formularul de Login

Figura 4.2. Formularul Meniu User

Figura 4.2. Formular Meniu Administrator

Figura 4.2. Formular adauga eveniment pe baza resurselor

Figura 4.2. Introducere id resursa

Figura 4.2. Istoric Evenimente

Figura 4.2. Gradul de încarcare a bazei de date

Figura 4.2. Formul Manager pentru prelucrări pe baza de date

Figura 4.2. Form Inserare

Figura 4.2. Form Update

CONCLUZII

BIBLIOGRAFIE

Ion Smeureanu, Marian Dardala, ” Programarea Orientată Obiect în limbajul C# ”, Editura Cison, București, 2002

Ion Smeureanu, Marian Dardala, Adriana Reveiu, ”Visual C#.NET ”, Editura Cison, 2004

Ion Lungu, Adela Bara, Constanta Bodea, Iuliana Botha, Vlad Diaconita, Alexandra Florea, Anda Velicanu, ” Tratat de baze de date ”, Editura ASE, 2011

Vasile Deac, Management, Editura ASE, 2012

Ion Lungu, Gheorghe Sabău, Manole Velicanu, Mihaela Muntean, Simona Ionescu, Elena Posdarie, Daniela Sandu ” Sisteme informatice – analiză, proiectare și implementare ”, București , Editura Economică 2003

Liviu Mihăescu ” Sisteme informaționale și aplicații informatice în administrarea afacerilor ” , Editura Universității ” Lucian Blaga ”, din Sibiu, 2009

Dr. Kris Jamsa Lars Klander , ” Totul despre C și C++ Manual fundamental de C și C++”, Editura Teors, 2000

Ioana Cecilia Popescu, Comunicarea în Marketing, Editura Uranus, 2002

Gheorghe Orzan, Sisteme Informatice de Marketing, Editura Uranus, 2001

Marian Stoica, Sisteme Informaționale Economice, Editura ASE, 2005

Definiția evenimentelor speciale http://www.iqads.ro/dictionar/evenimente-speciale , accesată în data de 29 aprilie 2014

Alex Grigoras http://www.slideshare.net/alexgrigoras/organizarea-de-evenimente-media, accesat în data de 04 aprilie 2014

http://www.buysoftware.ro/mysql.asp

http://www.robotics.ucv.ro/flexform/craiova_cursuri/C2_1/MySQL/L1.pdf·

http://carti.itarea.org/carti/Carti%20programare%20si%20de%20calculator%20in%20Limba%20Romana/Carte%20Oracle%20in%20romana/oracle2.html

http://www.math.uaic.ro/~cgales/csharp/Curs1.pdf

http://ro.scribd.com/doc/517796/Manual-C

BIBLIOGRAFIE

Ion Smeureanu, Marian Dardala, ” Programarea Orientată Obiect în limbajul C# ”, Editura Cison, București, 2002

Ion Smeureanu, Marian Dardala, Adriana Reveiu, ”Visual C#.NET ”, Editura Cison, 2004

Ion Lungu, Adela Bara, Constanta Bodea, Iuliana Botha, Vlad Diaconita, Alexandra Florea, Anda Velicanu, ” Tratat de baze de date ”, Editura ASE, 2011

Vasile Deac, Management, Editura ASE, 2012

Ion Lungu, Gheorghe Sabău, Manole Velicanu, Mihaela Muntean, Simona Ionescu, Elena Posdarie, Daniela Sandu ” Sisteme informatice – analiză, proiectare și implementare ”, București , Editura Economică 2003

Liviu Mihăescu ” Sisteme informaționale și aplicații informatice în administrarea afacerilor ” , Editura Universității ” Lucian Blaga ”, din Sibiu, 2009

Dr. Kris Jamsa Lars Klander , ” Totul despre C și C++ Manual fundamental de C și C++”, Editura Teors, 2000

Ioana Cecilia Popescu, Comunicarea în Marketing, Editura Uranus, 2002

Gheorghe Orzan, Sisteme Informatice de Marketing, Editura Uranus, 2001

Marian Stoica, Sisteme Informaționale Economice, Editura ASE, 2005

Definiția evenimentelor speciale http://www.iqads.ro/dictionar/evenimente-speciale , accesată în data de 29 aprilie 2014

Alex Grigoras http://www.slideshare.net/alexgrigoras/organizarea-de-evenimente-media, accesat în data de 04 aprilie 2014

http://www.buysoftware.ro/mysql.asp

http://www.robotics.ucv.ro/flexform/craiova_cursuri/C2_1/MySQL/L1.pdf·

http://carti.itarea.org/carti/Carti%20programare%20si%20de%20calculator%20in%20Limba%20Romana/Carte%20Oracle%20in%20romana/oracle2.html

http://www.math.uaic.ro/~cgales/csharp/Curs1.pdf

http://ro.scribd.com/doc/517796/Manual-C

Similar Posts