Aplicatie Pentru Prognoza Vanzarilor Si Profilului Intr O Companie
Aplicație pentru prognoza vânzărilor și
profilului într-o companie
Cuprins:
1.Introducere
. Obiective
1.2. Activitațile proiectului
1.3. Medii de dezvoltare
2.Noțiuni intriductive
2.1.Baze de date
2.1.Olap
2.2.Java
3. Aplicație
3.1 OLAP
3.2 JAVA
4.Concluzii
5.Bibliografie
1.Introducere
Scopul proiectului propus consta în realizarea unei aplicații olap cu ajutorul careia se vor prognoza vânzările unei companii și se va genera profilul companie. Pentru generarea de rapoarte este necesară o planificare în avans și stabilirea exactă a informațiilor despre vânzări.
Planificarea rezultatelor financiare ale companiei are două componente: realizarea bugetelor de cheltuieli previzionate și stabilirea țintei de vânzări. Dacă se realizează un venit cel puțin egal cu cel țintit si nu exissta cheltuieli suplimetare, rezultatele finale sunt pozitive. Daca în schimb, există deviații în sensuri nedorite ale unei părți, acestea, de obicei, trebuiesc compensate în sens opus de către cealaltă parte. Orice venit nerealizat se compensează prin diminuarea bugetelor de chletuieli alocate, oricărei depășiri de cheltuieli trebuie să-i corespundă o suplimentare a veniturilor. În lipsa acestor măsuri compensatorii, rezultatele financiare vor fi sub parametrii previzionați. Pentru a evita crearea de șocuri negative în interiorul unei organizații, planificarea țintelor de vânzări induce o analiză de substanță a datelor istorice, a influenței externe a acțiunilor departamentelor conexe (marketing, logistica, IT, financiar etc), a apariției/dispariției de produse/clienți în/din portofoliu, a modificării structurii forței de vânzări, a încorporării de noi canale de vânzare.
De asemenea, automatizarea forței de vânzări poate aduce un plus de control managerial și fluidizarea circuitului informațional dorite. Implementarea unui astfel de sistem informatic poate avea rezultate spectaculoase, mai ales privind aspectele calitative ale vânzării. Punctele sensibile în achiziția unui astfel de sistem sunt constituite din compatibilitatea cu sistemele existente precum și din calitatea echipamentelor hardware.
Caracteristici/avantaje ale aplicației:
– interfete usor de folosit
-meniu simplu
– realizarea graficelor in timp real, valoric si cantitativ
– se pot combina sau separa vanzari pe mese diferite
– generarea documentelor pentru diferite luni ale anului
– procesarea rapida a cererilor
1.1 Obiective
Obiectivele principale ale proiectului propus sunt urmatoarele:
Administrarea datelor referitoare la vânzarile companiei
Realizarea de rapoarte referitoare la vânzarile dintr-o anumită luna
Realizare de rapoarte referitoare la viitoarele vânzari
Activitațile proiectului
Pentru realizarea obiectivelor se au in vedere urmatoarele activitati:
Afisare detaliilor despre produse
Afisarea vanzarilor intr-o anumita zi/luna
Afisarea posibilelor vanzari intr-o anumita luna
Afisarea detaliilor despre client
Afisarea graficelor referitoare la vanzarile dintr-o anumita luna
Medii de dezvoltare
Se va folosi Java,Olap si baze de date.
Java este un limbaj de programare orientat-obiect, puternic tipizat, conceput de către James Gosling la Sun Microsystems (acum filială Oracle) la începutul anilor ʼ90, fiind lansat în 1995. Cele mai multe aplicații distribuite sunt scrise în Java, iar noile evoluții tehnologice permit utilizarea sa și pe dispozitive mobile. Limbajul împrumută din sintaxă de la C și C++, dar are un model al obiectelor mai simplu și prezintă mai puține facilități. Un program Java compilat, corect scris, poate fi rulat pe orice platformă care e instalată o mașină virtuală Java.
Oracle OLAP este o opțiune pentru Oracle Database 11g Enterprise Edition este un motor de calcul compatibil cu întregul spectru de aplicații analitice avansate, inclusiv planificare, stabilirea bugetelor, prognoză, vânzări și marketing, pentru a ajuta la identificarea tendințelor principale de afaceri și la simularea de scenarii complexe de afaceri. Vizualizările cubului OLAP materializate în Oracle Database 11g îmbunătățesc substanțial performanțele interogărilor analitice complexe, care accesează date multidimensionale.
Aplicatia va folosi ca SGBD Oracle Database 11g.Baza de date va trebui să asigure:
-abstractizarea datelor (baza de date fiind un model al realității),
-integrarea datelor (baza de date este un ansamblu de colecții de date intercorelate, cu redundanță controlată),
-integritatea datelor (se referă la corectitudinea datelor încărcate și manipulate
astfel încât să se respecte restricțiile de integritate),
-securitatea datelor (limitarea accesului la baza de date),
-partajarea datelor (datele pot fi accesate de mai mulți utilizatori, eventual în același timp),
-independența datelor (organizarea datelor să fie transparentă pentru utilizatori, modificările în baza de date să nu afecteze programele de aplicații).
2.Noțiuni introductive
2.1 Baze de date
Modelul relational repreznată schema bazei de date , relatiile dintre mai multe entitati ale bazei de date. Fiecare entitate are un numar de atribute, pot avea chei primare sau chei secundare. Cheile primare sunt atribute unice ce definesc in mod unic un tabel, ele nu pot avea valoare null. Cheile secundare sunt atribute ce fac legatura între doua entitați, ele pot fi chei primare în entitatea cu care se face legatura.
Între entitati exisată legaturi. Acestea pot fi de mai mule tipuri :
1.Mulți la mulți (notație ∞:∞) – unui tuplu dintr-o relație îi corespund mai multe tupluri din alta relație și invers.
2.Unu la unu (notație 1:1)) – unui tuplu dintr-o relație îi corespunde un singur tuplu din alta relație.Sunt foarte rar folosite.
3. Unu la mulți (notație 1:∞) – unui tuplu dintr-o relație îi corespund mai multe tuplur din alta relație.Sunt foarte des folosite.
Fiecare relație sau atribut are un nume unic.
Modelul relational al bazei de date din aplicație:
2.1.1 Creare unei entitati
Comanda pentru crearea unui tabe este CREATE TABLE
Exemplu:
Dacă numele tabelului respectiv există în baza de date se va afișa urmatoarea eroare:
2.1.2 Afișarea detaliilor despre anunit tabel
Afisarea se face cu comanda SELECT
Exemplu:
Exemplu raspuns:
Putem pune si condiții, atunci cand dorim afișarea anumitor detalii. Pentru astfel de afișări folosim alături de SELECT WHERE.
Exemplu:
Exemplu raspuns:
2.1.3 Inserare datelor
Inserarea datelor se realizează folosind comanda INSERT
Exemplu:
Exemplu afisare dacă instrucțiunea a avut success:
2.1.4 Ștergere datelor
Ștergerea datelor se realizează cu ajutorul comenzii DELETE.
Exemplu:
Exemplu afișare dacă comanda a avut success:
2.1.5 Actualizarea datelor
Actualizarea datelor se realizează prin comanda UPDATE.
Exemplu:
Exemplu afișare dacă comanda a avut success:
2.1.5 Ordoarea datelor
Ordonarea datelor se face folosind comanda ORDER BY.
Exemplu:
Exemplu rezultat:
Înante de ordonare:
După ordonare:
2.1.5 Gruparea datelor
Gruparea datelor se realizează folosind comnda GROUP BY
2.1.6 Ștergerea tabelelor
Ștergerea datelor se realizeaza folosnd comanda DROP TABLE
Exemplu:
Exemplu afișare dacă comanda a avut success:
Exemplu afișare dacă comanda nu a avut success:
2.2Oracle Olap
Opțiunea OLAP pentru Oracle Database 11g continuă tendințele de dezvoltare ale
Oracle9i și Oracle Database 10g , mai ales în aprofundarea integrării bazelor de date și
îmbunătățirii accesului la SQL cubs , securitate și metadate . OLAP este ușor de accesat pentru
aplicațiile SQL . Oracle Database 11g,deasemenea introduce cube-ul ca o soluție de sinteză
pentru implementarea OLAP relațional ( ROLAP ).
Oracle Database este prima și singura industrie ce încorporează serverul OLAP .
ORACLE OLAP oferă stocare multidimensională nativă și timpi de răspuns crezut când sunt
analizate date pe mai multe dimensiuni . Aceste capacități face ca baza de date Oracle sa fie
considetată o platformă de analiză completă , capabilă să suporte întreagul spectru de business
intelligence si aplicatii analitice avansate .
Cu Oracle OLAP , caracteristicile standard de securitate a bazei de date sunt folosite
pentru a asigura securitetea dateor multidimensional ale clientilor.
In contrast , cu un server OLAP independent , administratorii trebuie să gestioneze
securitate de două ori : o dată pe sistemul sursă relațional și înca o dată pe sistemul server OLAP.
În plus , ele trebuie să gestioneze securitatea datelor în tranzit de la sistemul relațional la sistemul
OLAP independent .
Integrarea metadata-lor in OLAP
Toate metadatele pentru cuburi și dimensiuni sunt stocate în baza de date Oracle.
Interogarile se executa in intregul modelSQL . Folosirea ditionarului de date oferă îmbunătățiri
semnificative pentru interogări de metadate , și suportă alte caracteristici noi , cum ar fi SQL
securitate obiect pentru cuburi și dimensiuni .
Intretinerea automata a cube-urilor si a Dimensions Views
Oracle Database 11g creează automat și menține vedere relationale pentru fiecare
cub , dimensiune , și ierarhia în baza de date . Dacă modificați un obiect tridimensional ,
acesta este imediat recreat schimbarea .
Cube Scripts
Un script cub este o lista ordonata de comenzi care pregătesc un cube de interogare ,
cum ar fi Clear Data , Execute PL/SQL , etc. Pentru multe aplicații , cube script elimina
utilizarea programelor procedurale pentru cuburi de procesare .
Sintaxa expresiei de calcul
Expresiile de calcul OLAP extind sintaxa funcțiilor SQL analitice . Acestă
sintaxa este cunoscuta pentru dezvoltatorii SQL și DBA , astfel încât este mai ușor pentru ei să
fie adoptate decât proprietațile limbajul OLAP și API-uri .Acestă sintaxă este utilizată pentru a
defini calcule care sunt înglobate în cube .
Vederi materializate pentru cube-uri
Vederile materializate pentru cube-uri sunt cube-uri care au fost îmbunătățite pentru
utilizarea automată , reîmprospătarea și interogari ce rescriu caracteristici ale Oracle Database .
Vederi materializate pentru cube-uri aduc actualizarea și interogare rapidă a intrebarilor pentru
aplicațiilor ce folosesc OLAP . Rezumatul datelor este generat si stocat in vederi materializate
pentru cube-uri .
Obiect si securitatea datelor
Oracle Database 11g introduce atat noțiunea de securitate a obiectelor cat si notiunea de securitatea a datelor pentru cuburi si dimensiuni OLAP .
Securitatea obiectelor are controloul asupra accesuli la analytic workspace , cuburi si
dimensiuni ce folosesc sintaxe SQL grand si revoke .
Securitatea datelor are controlul asupra accesului la date dincub si a dimnsiunilor . Puteti folosi SELECT , INSERT , DELETE , UPDATE pentru chei globale sau pentru cuburi
particulare pentru a controlaaccesul la datele din cub .
Repoarte și Dashboards folosind SQL Tools si constructori de aplicatii
Analiștii pot alege orice interogare SQL și instrument de analiză pentru selectarea , vizualizarea , și analiza datelor .
Acest dashboards contine calculele bogat în informații , cum ar fi raportul , actiunea,
perioda anterioara , și totale cumulate . Tabelele din Dashboards prezenta analiza profitului , analiza vânzari , și analiza produsului . Fiecare tabel prezintă datele în cadrane , diagrame de tip bara, diagrame de tip bara orizontala , diagrame plăcintă , și rapoarte .
Privire de ansamblu asupra Modelului Dimensional
Obiecte dimensionale sunt o parte integrantă a OLAP . Deoarece OLAP este on- line ,
acesta trebuie sa ofere răspunsuri repide . Analistii pun întrebări repetate în timpul sesiuni
interactive . Și pentru că OLAP este, de asemenea analitic , interogările sunt complexe .Obiectele
dimensionale și motorul OLAP sunt proiectate pentru a rezolva interogări complexe în timp real.
Obiectele dimensionale includ cuburi , măsuri , dimensiuni , atribute , nivele , și ierarhii .
Simplitatea modelului este inerent deoarece defineste obiecte ce reprezintă cazuri de afaceri din
lumea reala .
Digrama Modelului Dimensional in OLAP
Modelul de date dimensionale este puternic structurat . Structură implică reguli care
guvernează relațiile dintre date și controlează modul în care acestea pot fi interogate . Cuburile
sunt implementarea fizică a modelului dimensional , și sunt optimizați pentru interogări
dimensionale . Tehnologia care stă la baza cuburi se bazează pe un model de indexat matriceal
multidimensional ,care oferă acces direct la celule.
Sistemul OLAP manipuleaza obiectele dimensionale in acelas fel in care sistemul SQL
maipulează obiectele relationale . OLAP este optimiat pentru a calcula functii analitice , iar
obiectele dimensionale sunt optimiate pentru analiza , functiile anaiticesunt calculate mai repede
folosind OLAP , in defavoarea SQL .
Cuburi
Cuburiele ofera un mijloc de organiare a masurilor , care au aceeasi forma si dimensiuni exacte , un cub corespunde , de obicei , unui singur tabel , unui singur fapt sau vedere.
Masuri
Masurile populeaza celulele unui cub cu fapte despre anumite operatii . Baza de date
contine date istorice folosite pentru a genera anumite detalii . Masurile sunt statice si coerente ,
sunt folosite pentru a genera informații legate de viitor . Acestea sunt actualizate cntinuu .
Dimensiuni
Dimensiunile contin un set de valori unice , ce identifică si clasifică datele .
Acestea formeaza marginileunui cub . Valorile dimensiunii nivelului de baza corespund
identificatorilor unicii ai unui tabel de fapte .
Ierarhii si nivele
O ierarhie este un mod de a organia datele la diferite nivele . Acestea sunt folosite
pentru a detalia nivelele mai scaute , pentru a intelege evolutia nivelelor , si ceea ce a dus la
modificarea lor .
Nivelul de baza al ierarhiei
Fiecare nivel reprezintă o poziție în ierarhie , aceasta conține valori cumulate ale
nivelelor de mai jos . Între elementele nivelelor exista o relație copil-parinte.
Între ierahii și nivele exista o legatura mulți la mulți . O ierarhie poate contine mai
multe nivele . Fiecarui nivel ii corespunde o coloana dintr-un tabel sau dimensiune .
Nivelul e bază reprezintă cheia primară.
Ierarhia bazată pe valori
Ierarhiile sunt compuse , de obicei , din nivele , dar nu trebuie , tot timpul , sa fie chiar
asa . Relatiile copil parinte nu pot devein , chiar , nivele . Crearea nivelelor pe baza acestei
relații nu poate fi semnificativă pentru analiză . Acest tip de ierarhie este numit ierarhie bazată pe
valori .
Atribute
Un atribut ofera detalii suplimentare despre date . Acestea potface referire la culoare , arome , dimensiuni , etc .
Atributele de timp , ofera informații legate de timp ce pot fi folosite in analiza .
Fiecare atribut corespunde unei oloane dintr-un tabel sau vedere .
2.3 JAVA
Swing este folosit pentru a furnia interfete grafice , este mult mai puternic si flexibil dect predecesorul sau AWP(Abstract Window Toolkit) . În prezent este posibila inlocuirea swing cu succesorul sau JavaFX.
Ierarhia claselor swing:
JComponents
JComponents este clasa de baza pentru componentele swing , cu exceptia containerelor denivel superior.
public abstract class JComponent
extends Container
implements Serializable
Container
Componentele adaugate sunt plasate in acest container , ele sunt salvate intr-o lista.
public class Container
extends Container
JSlider
JSlider este asemanator JScrollBar , permite utilizatorului sa selecteze o valoare in mod graphic.
public class JSlider
extends JComponent
implements SwingConstants , Accessible
JScrollBar
JScrollBar este o clasa Java, obiectele ce impementeaza aceată clasa ajută utilizatorul în vizualizarea conținutului unei ferestre.
public class JScrollBar
extends JComponent
implements Adjustable, Accessible
JTextComponent
JTextComponents este clasa de baza ce manipuleaza elementele de tip textdin swing
public abstract class JTextComponent
extends JComponent
implements Scrollable, Accessible
JLabel
Obiectele JLabel impementeaza imagini , text sau ambele , putem specifica atât pzziția imaginii cat și a textului.
public class JLabel
extends JComponent
implements SwingConstants, Accessible
AbstractButton
AbstractButton definește butoanele si toate elementele ce alcătuiesc un meniu
public abstract class AbstractButton
extends JComponent
implements ItemSelectable, SwingConstants
JTextField
JTextField este o component ce permite uilizarea textului, editarea acestuia
public class JTextField
extends JTextComponent
implements SwingConstants
JEditorPane
JEditorPane permite editarea textului , diferitelor tipuri de text : text simplu , text html , text RTF.
public class JEditorPane
extends JTextComponent
JTextArea
JTextArea este o component multi-line. Are două componente linie si coloană.
public class JTextArea
extends JTextComponent
JButton
Aceasta clasa defineste obiectele de tip buton , se pot deta dimensiunile butoanelor ,dimensiunea si actiunea lansata in urma apasarii acestuia.
public class JButton
extends AbstractButton
implements Accessible
JPasswordField
Aceasata clasa permite introducera parolelor fara ca acestea să fievizibila , caracterele introduse sunt marcate implicit cu *.
public class JPasswordField
extends JTextField
3. Aplicație
3.1 OLAP
Crearea spațiului de lucru:
Pașii necesari creării spatiului de lucru sunt următorii:
1.Deschidem Analytic workspace manager
2.Creem legatura cu baza de date
2.1 Click dreapta pe database
2.2 Click new database connection sau click tools apoi configuration
2.3 Complectam datele in fereastra aparută
2.3 Apasăm butonul create
2.4 Pentru a realia conexiunea cu baade date este necesar să complectam formularul cu username-ul si parola
1. Crearea dimensiunilor:
Click dreapta pe Dimensions
Completam detaliile din fereastra aparută
Apăsăm butonul create
1.4 Exemplu de dimensiuni:
2.Crearea nivelelor
2.1 Extindem dimensiunea creia vrem să îi creem un nivel
2.2 Cick dreapta pe Levels
2.3 Selectam Create Level
2.4 Completam detaliile din fereastra apărută
2.5 Apasam butonul Create
2.6 Exemplu de nivele:
3.Crearea ierarhiilor:
3.1 Extindem dimensiunea creia vrem să îi creem ierarhia
3.2 Cick dreapta pe Hierarchies
3.3 Selectam Create Hierarchy
3.4 Completam detaliile din fereastra apărută
Apasăm butonul Create.
4. Crearea atributelor
4.1 Extindem dimensiunea creia vrem să îi creem atribut
4.2 Cick dreapta pe Attributes
4.3 Selectam Create Attribute
Completam detaliile din fereastra apărută:
4.5 Apasăm butonul Create.
4.6 Exemplu de atribute:
5. Maparea dimensiunilor:
5.1 Extindem dimensiunea creia vrem să o mapăm
5.2 Cick pe Mappings
5.3.1 Putem selecta auto mapping
5.3.2 Sau putem selecta fiecate element al bazei de date
5.4 Exemplu de mapare
Dimensiunile aplicației:
6.Crearea cuburilor
6.1 Click dreapta pe Cubes
6.2 Selectăm Create Cube
6.3 Completam detaliile din fereastra apărută:
6.4 Apasăm butonul Create.
6.5 Exemplu de cub
7. Crearea masurilor unui cub
7.1 Extindem cubul cruia vrem să îi creem o masura
7.2 Click dreapta pe Measures
7.3 Selectam Create Measures
7.4 Completam detaliile din fereastra apărută:
7.5 Apăsăm butonul Create
7.6 Exemplu de masuri ale unui cub
8. Maparea unui cub
8.1 Extindem cubul pe care vrem să îl mapăm
8.2 Cick pe Mappings
8.3.1 Putem selecta auto mapping
8.3.2 Sau putem selecta fiecate element al bazei de date
8.4 Exemplu de mapare:
Cuburile si dimensiunile aplicație:
9.Viualiarea datelor associate dimensiunilor
9.1 Selectam dimensiunea dorită
9.2 Click dreapta
9.3 Selectam View data si numele dimensiunii
9.3 Exemplu de afișare:
10 Crearea scripturilor pentru un cub
10.1 Extindem cubul căruia vrem sa îi creem un script
10.2 Click dreapta pe Cube Scripts
10.3 Selectam Create Cube Script
10.4 Complectăm numele și alegem tipul script-ului
10.5 Apăsăm Create
10.6 Exemplu script
11 Analiza datelor
11.1 Selectam spațiul de lucru
11.2 Click dreapta pe spațiul respective
11.3 Selectam Maintain Analytic Workspace urmat de nume
11.4 Va apărea urmatoarea fereasta
11.5Dacă totul este în regyla va aparea urmatoarea imagine, iar numele dimensiunilor si cuburilor vor avea , ăn față un văzut verde
3.2 JAVA
3.1 Conexiunea cu Baza de date
Folosind limbajul JAVA am reliat conexiunea la baza de date.Conxiunea se realieaza cu ajutorul unei interfeta grafice.Ne sunt cerute pentru realiarea conexunii username-ul si parloa, ce sunt folosite la logarea cu baa de date. Feresatra ce se deschide este prevaută cu un buton ce realizează conexiunea.
Dacă conexunea este reusita atunci pe ecran va apărea o ferestra cu mesajul Conexiune reusita.
Dacă conexunea este nereusita atunci pe ecran va apărea o ferestra cu mesajul Conexiune nereusita.
BIBLIOGRAFIE
http://docs.oracle.com/javase/tutorial/uiswing/
http://www.ms.sapientia.ro/~manyi/teaching/oop/oop_romanian/curs13/curs13.htm
http://ro.wikipedia.org/wiki/Java_%28limbaj_de_programare%29
http://en.wikipedia.org/wiki/Swing_%28Java%29
http://docs.oracle.com/javase/7/docs/api/javax/swing/JComponent.html
http://software.ucv.ro/~aion/db_course.html
http://docs.oracle.com/javase/7/docs/api/java/awt/Container.html
http://docs.oracle.com/javase/7/docs/api/javax/swing/JSlider.html
http://docs.oracle.com/javase/7/docs/api/javax/swing/JScrollBar.html
http://docs.oracle.com/javase/7/docs/api/javax/swing/text/JTextComponent.html
http://docs.oracle.com/javase/7/docs/api/javax/swing/JLabel.html
http://docs.oracle.com/javase/7/docs/api/javax/swing/AbstractButton.html
http://docs.oracle.com/javase/7/docs/api/javax/swing/JTextField.html
http://docs.oracle.com/javase/7/docs/api/javax/swing/JEditorPane.html
http://docs.oracle.com/javase/7/docs/api/javax/swing/JTextArea.html
http://docs.oracle.com/javase/7/docs/api/javax/swing/JButton.html
http://docs.oracle.com/javase/7/docs/api/javax/swing/JPasswordField.html
JAVA de la 0 la expert
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: Aplicatie Pentru Prognoza Vanzarilor Si Profilului Intr O Companie (ID: 149468)
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.
