ΠΡΟΓΡΑΜΜΑ ΑΠΕΙΚΟΝΙΣΗΣ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΔΕΔΟΜΕΝΩΝ ΧΡΗΜΑΤΙΣΤΗΡΙΟΥ ΑΞΙΩΝ ΑΘΗΝΩΝ



Σχετικά έγγραφα
Προγραμματισμός ΙΙ (Java) 6. Διαχείριση δεδομένων

H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων

Μιχάλης Μασούρας Επιβλέπων Καθηγητής: Ιγνάτιος Δεληγιάννης

Διδάσκων: Παναγιώτης Ανδρέου

MySQL + Γλώσσα Προγραμματισμού. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Σχεδίαση Βάσεων Δεδομένων

Σχεδιασμός Βάσεων Δεδομένων

Περιγραφή της εργασίας

Βάσεις Δεδομένων 3η εργαστηριακή άσκηση

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 9 : ΕΞΑΙΡΕΣΕΙΣ ΚΑΙ Ο ΧΕΙΡΙΣΜΟΣ ΤΟΥΣ

MySQL + Γλώσσα Προγραμματισμού. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Ορισμοί Σχεσιακού Μοντέλου και (απλές)τροποποιήσεις Σχέσεων στην SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Πρόγραµµα 9.1 Πέρασµα δεδοµένων στην µνήµη

Εφαρμογή Αναζήτησης στον Ελληνικό Γεωγραφικό Χώρο

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 6/12/07

Ανάπτυξη διαδικτυακών εφαρμογών με την Python Το εργαλείο Flask

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 3) Ουρανία Σμυρνάκη

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης

Σχεδίαση και λειτουργία βάσης δεδομένων Το παράδειγμα της μαιευτικής κλινικής Ευάγγελος Καρβούνης

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Σχεδίαση Βάσεων Δεδομένων

Σχεδίαση και Χρήση Βάσεων Δεδομένων. Χρήση του DBDesigner. Γιώργος Πυρουνάκης - forky@di.uoa.gr

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Εργαστήριο Βάσεων Δεδομένων

Συνοπτικός Οδηγός Χρήσης του MySQL Workbench

Οντοκεντρικός Προγραμματισμός ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA

άσκηση Hide UI Elements 7.2 Try and Catch

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 12: Ροές και είσοδος/έξοδος αρχείων

Εργαστήριο #10 (Ε10) 1

Internet Business Hellas

ΣΧΕΔΙΑΣΜΟΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΕΡΓΑΣΤΗΡΙΟ 2

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο. Εργαστηριακή Άσκηση 2 24/01/2012

Εργαστήριο Βάσεων Δεδομένων

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΣΒΔ - ΕΙΣΑΓΩΓΗ ΣΤΟ ΜΟΝΤΕΛΟ ΟΝΤΟΤΗΤΩΝ ΣΥΣΧΕΤΙΣΕΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ

6. Εξαιρέσεις στη γλώσσα Java

Βάσεις Δεδομένων 2η εργαστηριακή άσκηση

ιαδικτυακές Εφαρµογές

Windows e-δαπυ connector Καταχώρηση επισκέψεων

Βάσεις Δεδομένων. Εισαγωγή για το Εργαστήριο. Δρ. Τιάκας Ελευθέριος. Τμήμα Πληροφορικής ΑΠΘ

Σύστημα υποβολής αιτήσεων υποψήφιων συνεργατών ΕΚΤ

PHPMyAdmin: Σύντομος οδηγός για αρχάριους

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #15

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

1. Άνοιγμα Και Κλείσιμο Της Εφαρμογής Φυλλομετρητή Ιστού (Internet Explorer)

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Ενότητα 3:

Αντικειμενοστρεφής Προγραμματισμός

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy

2 ο Σύνολο Ασκήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΜΕ ΘΕΜΑ:

Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού

Πληροφορική 2. Βάσεις Δεδομένων (Databases)

XAMPP Apache MySQL PHP javascript xampp

2η Εργαστηριακή Άσκηση

Εγχειρίδιο χρήσης της εφαρμογής NewSum v1.0

Οδηγός συναλλαγών. Σε CFDs

Οδηγίες Εγκατάστασης της εφαρμογής Readium και Readium για μαθητές με αμβλυωπία για την ανάγνωση βιβλίων epub σε Υπολογιστή.

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ «ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΔΙΑΔΡΑΣΤΙΚΗΣ ΔΙΑΔΙΚΤΥΑΚΗΣ ΕΦΑΡΜΟΓΗΣ ΓΙΑ ΤΗΝ ΕΞΥΠΗΡΕΤΗΣΗ ΑΣΘΕΝΩΝ ΣΥΜΒΕΒΛΗΜΕΝΟΥΣ ΜΕ ΤΟΝ Ε.Ο.Π.Υ.

«Οδηγίες χρήσης εφαρμογής Ενιαίου Συστήματος Πληρωμών»

Σχεδίαση Βάσεων Δεδομένων

Σχεδίαση Βάσεων Δεδομένων

Εισαγωγή στην Στατιστική (ΔΕ200Α-210Α)

Σχεδιασμός Βάσεων Δεδομένων

NetBeans και σχετικά προγράμματα. Κακαρόντζας Γεώργιος Κέντρο Αριστείας Ανοιχτού Λογισμικού ΑΠΘ 1ο Θερινό Σχολείο Κώδικα

Εργασία «Διαχείριση Δικτύων» Ιούνιος 2014, Θεσ/νίκη

ΕΓΧΕΙΡΙΔΙΟ ΔΙΑΧΕΙΡΙΣΗΣ Συστήματος Διαχείρισης & Διακίνησης Εγγράφων DocuTracks

Διαδίκτυο και Εφαρμογές 2η Άσκηση Μετασχηματισμοί XML και XSL. Γιαννέλος Γιάννης ΑΜ: Μαρινέλλης Γιώργος ΑΜ:

Εγχειρίδιο Invest i. Εγχειρίδιο Invest

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ

«Οργάνωση και διαχείριση ωρομίσθιων και αναπληρωτών καθηγητών δευτεροβάθμιας εκπαίδευσης»

ΑΝΑΠΤΥΞΗ ΛΟΓΙΣΜΙΚΟΥ ΓΙΑ ΤΗ ΔΙΕΝΕΡΓΕΙΑ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΜΕΛΕΤΩΝ

Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions)

14. Δικτύωση με Java Δικτύωση με Java Sockets Δημιουργία της σύνδεσης Διευθυνσιοδότηση της σύνδεσης

Εισαγωγή στην Στατιστική (ΔΕ200Α-210Α)

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ. της Πλατφόρμας Τηλεκατάρτισης

Τεχνολογία Λογισµικού Ι Κεφάλαιο 3 Μια αναλυτικότερη προσέγγιση στην δραστηριότητα 3.10

2.1. Εντολές Σχόλια Τύποι Δεδομένων

Από τη UML στον Κώδικα. Μέρος Α

ZTrade Quick Start User Manual Version 2.2

2 η Εργαστηριακή Άσκηση

Σχεδιασμός μιας εφαρμογής ΒΔ: Βήματα. 1. Συλλογή και Ανάλυση Απαιτήσεων(requirement analysis)

Διαχείριση Έργων Πληροφορικής Εργαστήριο

Αρχεία και Ρεύματα. Αρχεία

Εγχειρίδιο Χρήσης Υπηρεσίας Ηλεκτρονικών. Orange Survey

Οδηγίες Χρήσης της MySQL

Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10

Βοηθητικό Εγχειρίδιο

Εισαγωγή στις βάσεις δεδομένων - Η ανατομία μιας βάσης δεδομένων

Εισαγωγή στην Στατιστική (ΔΕ200Α-210Α)

Φυσική Σχεδίαση Υλοποίηση βάσης

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ Inbroker Έκδοση : /02/2012

Εγχειρίδιο Χρήσης-Οδηγός Εκπαίδευσης Χρηστών. - Δήμος Δέλτα - Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης

, Evaluation of a library against injection attacks

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

Περιεχόμενα. Τεχνικό εγχειρίδιο χρήσης IBNEWSLETTER

PROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Ι. Τμήμα Μηχανικών Πληροφορικής Τ.Ε.

6 Εισαγωγή στο Wordpress 3.x

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

Εισαγωγή στην πληροφορική

Εισαγωγή στον Προγραμματισμό

Transcript:

Τ Ε Ι ΚΑΒΑΛΑΣ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΡΟΓΡΑΜΜΑ ΑΠΕΙΚΟΝΙΣΗΣ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΔΕΔΟΜΕΝΩΝ ΧΡΗΜΑΤΙΣΤΗΡΙΟΥ ΑΞΙΩΝ ΑΘΗΝΩΝ Σπουδαστής ΕΥΑΓΓΕΛΟΥ ΒΑΣΙΛΕΙΟΣ Επιβλέπων καθηγητής ΜΗΤΣΑ ΑΙΚΑΤΕΡΙΝΗ

ΠΕΡΙΛΗΨΗ Σήμερα, ολοένα και περισσότερα κεφάλαια διακινούνται μέσω του Χρηματιστηρίου. Άνθρωποι από κάθε μήκος και πλάτος της γης επενδύουν στη χρηματιστηριακή αγορά. Εξαιρετικά σημαντικά για την αποτελεσματικότητα των επενδύσεων είναι η πρόσβαση, η διαχείριση και η αξιοποίηση της πληροφορίας ανεξαρτήτου γεωγραφικής θέσης και ώρας. Λόγω της ραγδαίας εξέλιξης της τεχνολογίας, η πρόσβαση πλέον στην πληροφορία είναι αρκετά εύκολη, όχι όμως και η διαχείριση και αξιοποίηση της. Η πτυχιακή αυτή στοχεύει στο να διευκολύνει την πρόσβαση αλλά και την διαχείριση και αξιοποίηση των πληροφοριών που συνδέονται με το Χρηματιστήριο. Αυτό γίνεται μέσω ενός εύχρηστου προγράμματος, το οποίο παρέχει πληροφορίες σχετικά με τις τιμές των δεικτών και των μετοχών του Χρηματιστηρίου Αθηνών. Το πρόγραμμα αυτό λειτουργεί σε επίπεδο προσωπικού υπολογιστή κατόπιν εγκατάστασης. Μέσω των εφαρμογών του προγράμματος, ο κάθε χρήστης μπορεί να πληροφορείται για τις τιμές των μετοχών την τρέχουσα στιγμή, για διάφορα στατιστικά στοιχεία, ιστορικό των μετοχών κ.α. Προκύπτει ως άμεσο συμπέρασμα της εργασίας αυτής, ότι τέτοιου είδους εργαλεία βοηθούν τον μέσο χρήστη στην πρόσβαση και την οργάνωση της πληροφορίας. Επίσης, μέσω του προγράμματος ο χρήστης έχει την δυνατότητα της οπτικής εποπτείας (γραφήματα ιστορικού, γραφήματα ελαχίστων-μεγίστων τιμών μετοχής κ.α). Μέσω της παραμετροποίησης, επιλέγονται ή απορρίπτονται πληροφορίες κατά τις ανάγκες και επιθυμίες του χρήστη με αποτέλεσμα την ουσιαστικότερη διαχείριση του χρόνου. 2

ΠΡΟΛΟΓΟΣ Στόχος της πτυχιακής εργασίας είναι η μελέτη, η σχεδίαση και η ανάπτυξη μιας εφαρμογής Βάσης Δεδομένων μέσω της οποίας οι χρήστες θα πληροφορούνται για την ροή του Χρηματιστηρίου Αξιών Αθηνών. Η εφαρμογή θα παρέχει τόσο γραφική απεικόνιση των δεδομένων της Βάσης Δεδομένων, όσο και την φόρτωση των δεδομένων της από το Internet. 3

ΠΕΡΙΕΧΟΜΕΝΑ Περίληψη..2 Πρόλογος.. 3 Περιεχόμενα...... 4 Κεφάλαιο 1- Περιήγηση στα κεφάλαια. 5 Κεφάλαιο 2- Γενική περιγραφή...5 Κεφάλαιο 3- Αναλυτική περιγραφή....7 Κεφάλαιο 4- Συμπεράσματα και μελλοντική έρευνα..21 Παράρτημα Α... 23 Παράρτημα Β.29 Βιβλιογραφία.30 4

ΚΕΦΑΛΑΙΟ 1 ο - ΠΕΡΙΗΓΗΣΗ ΣΤΑ ΚΕΦΑΛΑΙΑ Το κεφάλαιο 2 περιγράφει το αντικείμενο της πτυχιακής εργασίας, αναλύει το γενικό πλαίσιο του προβλήματος που καλείται να λύσει η εργασία και επιχειρεί να προσδιορίσει τη μορφή της λύσης. Τέλος αναφέρονται κάποιες παρόμοιες εφαρμογές. Στο κεφάλαιο 3 περιγράφεται αναλυτικότερα η εφαρμογή ως προς το σχεδιασμό, τη δομή, τη λειτουργία και τα εργαλεία που χρησιμοποιήθηκαν. Επίσης περιέχονται σημαντικά μέρη του κώδικα της εφαρμογής. Το κεφάλαιο 4 περιέχει τα συμπεράσματα που προκύπτουν μετά το πέρας της εργασίας καθώς και την αυτοαξιολόγηση της. Επίσης περιέχει προτάσεις για μελλοντική έρευνα. ΚΕΦΑΛΑΙΟ 2 ο - ΓΕΝΙΚΗ ΠΕΡΙΓΡΑΦΗ 2.1 Αντικείμενο της πτυχιακής Αντικείμενο της πτυχιακής εργασίας είναι η μελέτη, η σχεδίαση και η ανάπτυξη μιας εφαρμογής Βάσης Δεδομένων μέσω της οποίας οι χρήστες θα πληροφορούνται για τις τιμές των μετοχών και των δεικτών του Χρηματιστηρίου Αξιών Αθηνών. Στόχος της εργασίας είναι να παρέχει στον χρήστη ένα εύχρηστο εργαλείο μέσω του οποίου θα παρέχονται όλες οι αναγκαίες και χρήσιμες (για τον κάθε χρήστη) πληροφορίες του Χρηματιστηρίου. Οι χρήστες θα έχουν την δυνατότητα να παρακολουθούν το ιστορικό οποιασδήποτε μετοχής μέσω γραφήματος, να πληροφορούνται για τις τιμές των μετοχών την τρέχουσα στιγμή, τα στατιστικά στοιχεία καθώς και την ανοδική ή πτωτική τάση διαφόρων μετοχών. 2.2 Αναλυτικά το πρόβλημα Όσο η πρόσβαση σε πληροφορίες γίνεται ευκολότερη, τόσο αυξάνεται η ανάγκη για παραμετροποίηση / ομαδοποίηση / διαχείριση της πληροφορίας. Στόχος γίνεται πλέον να ελαχιστοποιηθεί ο χρόνος αναζήτησης και να απορριφτεί η άχρηστη πληροφορία η οποία καταναλώνει τον χρόνο του χρήστη. Για παράδειγμα, κάποιος ενδιαφέρεται για την μετοχή 5

του ΤΙΤΑΝ Α.Ε. Πλέον είναι αρκετά εύκολο να βρει κάποιος την τιμή σε έντυπο ή ιστοσελίδα. Όμως αυτό δεν αρκεί. Θα ήταν χρήσιμο να υπάρχει πρόσβαση στο ιστορικό της μετοχής και συγκεκριμένα σε ορισμένα στοιχεία : o Υπάρχει πτωτική ή ανοδική τάση? o Ποιος είναι ο τζίρος της μετοχής σε μια ορισμένη περίοδο? o Υπάρχει άλλη μετοχή με μεγαλύτερη άνοδο στην τιμή της? o Μήπως η μετοχή αυτή είναι στις δέκα μετοχές με την μεγαλύτερη πτώση (last 10)? o Μήπως κάποια ανταγωνιστική μετοχή παρουσιάζει μεγαλύτερη άνοδο? 2.3 Η λύση Γίνεται αντιληπτό πως το μεγάλο στοίχημα πλέον είναι η παραμετροποιημένη, γρήγορη και εύκολη πρόσβαση στον τεράστιο όγκο πληροφοριών που κυκλοφορεί. Η λύση είναι ένα πρόγραμμα που δίνει την δυνατότητα στον χρήστη να: o Έχει πρόσβαση στις πληροφορίες που τον ενδιαφέρουν. o Μπορεί να παραμετροποιήσει τις παραπάνω πληροφορίες o Αντιλαμβάνεται γρήγορα και εύκολα τις πληροφορίες Η εργασία αυτή επιχειρεί να αντιμετωπίσει όλα τα παραπάνω 2.4 Παρόμοιες εφαρμογές Υπάρχει έντονο ενδιαφέρον για την Ελληνική και ξένη χρηματιστηριακή αγορά. Υπάρχει αυξανόμενο ενδιαφέρον για περαιτέρω εξέλιξη των προϊόντων/προγραμμάτων που ασχολούνται με το Χρηματιστήριο. Έτσι, αρκετές ιστοσελίδες ασχολούνται με την πρόσβαση σε πληροφορίες που αφορούν τα παραπάνω. Μερικές από αυτές είναι οι http://www.xrimatistirio.gr, http://gr.saxobank.com, http://www.plus500.gr, http://lnd.easyforex.com, www.capital.gr. Η παρούσα εφαρμογή αντλεί τις πληροφορίες που επεξεργάζεται από τη την ιστοσελίδα www.ase.gr. 6

ΚΕΦΑΛΑΙΟ 3 ο ΑΝΑΛΥΤΙΚΗ ΠΕΡΙΓΡΑΦΗ 3.1 Απαιτήσεις του προγράμματος Το πρόγραμμα στοχεύει στην συγκέντρωση και ομαδοποίηση των πληροφοριών του Χρηματιστηρίου Αθηνών. Έτσι, είναι απαραίτητη η λήψη, η αποθήκευση και η απεικόνιση των δεδομένων του ΧΑΑ. Τα παραπάνω μπορούν να γίνουν με πολλούς και διάφορους τρόπους. Αυτό ακριβώς είναι και το πρώτο πρόβλημα που προκύπτει για την δημιουργία του προγράμματος. Η επιλογή των μέσων/εργαλείων που θα χρησιμοποιηθούν. Η επιλογή αυτή εξαρτάται από τη δομή και αρχιτεκτονική του προγράμματος. Το πρόγραμμα περιλαμβάνει : o Ορισμό των απαιτήσεων των δεδομένων και των λειτουργικών απαιτήσεων της παρούσας εφαρμογής. o Σχεδιασμό της Βάσης Δεδομένων. o Σχεδιασμό και υλοποίηση της εφαρμογής σε Java. o Φόρτωση δεδομένων. o Έλεγχο του λογισμικού της εφαρμογής. Τα δεδομένα που θα διαχειρίζεται η εφαρμογή είναι: o Τιμές μετοχών ΧΑΑ, ποσοστιαία μεταβολή, ανώτερη-κατώτερη τιμή ημέρας, αξία συναλλαγών, πράξεις. o Δείκτες ΧΑΑ (τιμή, μεταβολή, ανώτερη-κατώτερη τιμή ). 7

3.2 Δημιουργία του προγράμματος Τα βήματα που περιλαμβάνονται στη δημιουργία του προγράμματος είναι : o Δημιουργία πίνακα στην Βάση Δεδομένων για την εκχώρηση της ημερήσιας κατάστασης των μετοχών και των δεικτών. o Κατέβασμα των δεδομένων από τον διαδικτυακό τόπο του ΧΑΑ ase.gr και καταχώριση τους στην Βάση Δεδομένων. o Απεικόνιση δεδομένων στην εφαρμογή ως εξής: Όλες οι μετοχές με τις πληροφορίες τους. Όλοι οι δείκτες με τις πληροφορίες τους. Μετοχές μόνο ενός δείκτη( επιλογή δείκτη από τον χρήστη ). Παρουσίαση μίας μόνο μετοχής με πληροφορίες για τις τελευταίες 30 μέρες. Γράφημα με τη τιμή της μετοχής τις τελευταίες 30 μέρες τις 10 μετοχές με την μεγαλύτερη αύξηση και τις 10 με τη μικρότερη 3.3 Εργαλεία που χρησιμοποιήθηκαν Τα εργαλεία που χρησιμοποιήθηκαν είναι το Neatbeans, η Mysql και το Xampp. Τα παραπάνω προτιμήθηκαν αφού είναι εύχρηστα, ασφαλή και ευρέως διαδεδομένα και αποδεκτά. Έτσι είναι σχετικά εύκολη η περαιτέρω ανάπτυξη της εφαρμογής από άλλους. Αναλυτικότερα: 3.3.1 Netbeans Το NetBeans είναι μια σουίτα ανάπτυξης εφαρμογών σε πολλές γλώσσες όπως Java, HTML, C++, C και άλλων με βασικό πλεονέκτημα την εύκολη σε σχέση με άλλες εφαρμογές σχεδίαση γραφικών στοιχείων. Ενσωματώνει την βιβλιοθήκη Swing της Java και έτσι η σχεδίαση γραφικών στοιχείων όπως πίνακες, κουμπιά, λίστες γίνεται αρκετά 8

απλή. Επίσης η επικοινωνία του με την Βάση Δεδομένων MySql γίνεται εύκολα χρησιμοποιώντας απλά έναν connector για την μεταξύ τους σύνδεση. 3.3.2 MySQL Facebook, Google, Adobe, Alcatel είναι μόνο λίγες από της εταιρίες που χρησιμοποιούν την Βάση Δεδομένων της Oracle. Ελαφριά, ασφαλής, και κυρίως δωρεάν είναι τα χαρακτηριστικά που έκαναν την συγκεκριμένη Βάση να επιλεγεί για την εφαρμογή της εργασίας. Επίσης χρησιμοποιήθηκε το εργαλείο Xampp για να εγκατασταθεί η Βάση Δεδομένων σε τοπικό επίπεδο(local host). Το Xampp είναι ένα δωρεάν πρόγραμμα διαχείρισης της βάσης. 3.3.3 Java Τέλος η σχεδίαση της εφαρμογής έγινε σε γλώσσα Java. Είναι μία γλώσσα προγραμματισμού εύκολη σε σύνταξη και κυρίως σε μεταφερσιμότητα αφού σχεδόν κάθε υπολογιστής έχει τα κατάλληλα libraries γι αυτήν. Τέλος η συνεργασία MySQL και Java είναι πολύ εύκολη και ασφαλής. 3.4 Πηγή δεδομένων του προγράμματος Το πρόγραμμα αντλεί τις πληροφορίες από την ιστοσελίδα www.ase.gr. Η παραπάνω ιστοσελίδα επιλέχθηκε κατόπιν ενδελεχούς έρευνας αφού θεωρήθηκε ως η πληρέστερη. 3.5 Λειτουργία της εφαρμογής 3.5.1 Δυνατότητες της εφαρμογής Στην εικόνα 3.5.1 απεικονίζεται η αρχική οθόνη του προγράμματος. 9

Εικόνα 3.5.1.1 Η αρχική οθόνη του προγράμματος Ο χρήστης θα έχει τη δυνατότητα να επιλέξει κάποιο από τα παρακάτω: -Εμφάνιση δεικτών Χ.Α.Α (Εικόνα 3.5.1.2) -Εμφάνιση μετοχών( είτε μετοχών, είτε δείκτη) (Εικόνα 3.5.1.3) -Εμφάνιση ιστορικού μετοχών (Εικόνα 3.5.1.4) -Εμφάνιση γραφήματος για την τιμή κλεισίματος της μετοχής τις προηγούμενες τριάντα μέρες (Εικόνα 3.5.1.5) -Εμφάνιση των 10 μετοχών με τη μεγαλύτερη άνοδο και τη μεγαλύτερη κάθοδο στη τιμή κλεισίματος καθώς και τη ποσοστιαία διαφορά της μετοχής με την προηγούμενη τιμή (Εικόνα 3.5.1.6) 10

Εικόνα 3.5.1.2 Οι δείκτες του ΧΑΑ 11

Εικόνα 3.5.1.3 Η εμφάνιση των μετοχών 12

Εικόνα 3.5.1.4 Το ιστορικό των μετοχών 13

Εικόνα 3.5.1.5 Γράφημα κλεισίματος μετοχής 14

Εικόνα 3.5.1.6 Τιμές κλεισίματος μετοχών με τη μεγαλύτερη άνοδο και πτώση 15

3.5.2 Βασικές διαδικασίες για την δημιουργία και σχεδίαση του προγράμματος Για την δημιουργία του προγράμματος ακολουθήθηκαν οι παρακάτω διαδικασίες: 3.5.2.1 Κατέβασμα δεδομένων Το κατέβασμα των δεδομένων γίνεται μέσω των κλάσεων HttpC και της Parser. Η κλάση Httpc παίρνει ένα url(link) και επιστρέφει το source code της σελίδας. Η parser αρχικά δίνει ένα link στην httpc και παίρνει το source code της σελίδας. Διαβάζουμε αυτό το source code και κρατάμε μόνο τα δεδομένα που θέλουμε. Httpc.java package stk; import java.io.bufferedreader; import java.io.ioexception; import java.io.inputstreamreader; import java.net.malformedurlexception; import java.net.url; // i klasi auti pairnei ena link(url) kai epistefei to source code(pigaios kwdikas) public class HttpC { private String aurl; private String Source; public void Start() throws IOException { URL SourceURL; try { 16

SourceURL = new URL(aUrl); BufferedReader in = new BufferedReader(new InputStreamReader( SourceURL.openStream())); String inputline; Source = ""; while ((inputline = in.readline())!= null) Source += inputline; in.close(); } catch (MalformedURLException e) { e.printstacktrace(); } catch (IOException e) { e.printstacktrace(); } } public String getsource() { return Source; } public void seturl(string aurl) { this.aurl = aurl; } 3.5.2.2 Αποθήκευση στη βάση Η επικοινωνία με τη βάση γίνεται με τη κλάση database.για λόγους ασφαλείας σε κάθε λειτουργία ανοίγει η βάση και μετά τη λειτουργία κλείνει.έτσι αν έχει 20 λειτουργίες η 17

εφαρμογή τότε 20 φορές θα ανοίξει και θα κλείσει τη βάση. Παρακάτω υπάρχει ο κώδικας java που εκτελεί τη λειτουργία αυτή. Darabase.java //anoigma vasis dedomenwn public void opendb() { try { Class.forName("com.mysql.jdbc.Driver").newInstance(); conn = DriverManager.getConnection(url, username, password); System.out.println("Got Connection."); } catch (Exception e) { System.err.println(e.toString()); System.out.println("LATHOS1"); } } //kleisimo vasis dedomenwn public void closedb() { try { conn.close(); } catch (Exception e) { System.err.println(e.toString()); } } // ektelei SQL erwtima xwris epistrofi apotelesmatwn public void execute(string q) { try { Statement s = conn.createstatement(); s.executeupdate(q); s.close(); } catch (Exception e) { System.err.println(e.toString()); System.out.println("LATHOS"); 18

} } // epistrefei to id tis zitoumenis imerominias an uparxei alliws gurnaei 0 public int dateexists(string d) { int id = 0; try { String sqlstring = "SELECT id FROM stkdates WHERE pdate='" + d + "';"; Statement s = conn.createstatement(); ResultSet r = null; r = s.executequery(sqlstring); if (r.next()) { id = r.getint(1); } s.close(); } catch (SQLException ex) { Logger.getLogger(Database.class.getName()).log(Level.SEVERE, null, ex); } return id; public Database() { } 3.5.2.3 Γραφική αναπαράσταση Το netbeans σε συνδυασμό με τη java μας δίνει τη δυνατότητα να δημιουργήσουμε σχετικά εύκολα διάφορα γραφήματα.aυτό γίνεται ενσωματώνοντας στο neatbeans κάποιες βιβλιοθήκες (libraries) όπως για παράδειγμα η chartfactory kai jfree chart. Τα παραπάνω εργαλεία μπορούν να μας παρέχουν μία ευρείας ποικιλία διαγράμματα όπως για παράδειγμα piechart gantt chart barchart και άλλα. Chart.java 19

package stk; import org.jfree.chart.chartfactory; import org.jfree.chart.jfreechart; import org.jfree.chart.plot.plotorientation; import org.jfree.data.xy.xyseries; import org.jfree.data.xy.xyseriescollection; import java.util.arraylist; import javax.swing.jpanel; class Chart extends JPanel{ public JFreeChart getchart(arraylist<double> data, String s2) throws Exception { XYSeriesCollection dataset = new XYSeriesCollection(); XYSeries xyseries = new XYSeries("Τιμή Κλεισίματος"); for(int i=0;i<30;i++){ xyseries.add(i, data.get(i)); } dataset.addseries(xyseries); JFreeChart chart = ChartFactory.createXYLineChart("Γράφημα : "+s2, "Ημέρες", "Τιμή Κλεισίματος", dataset, PlotOrientation.VERTICAL, true, false, false); //FileOutputStream out = new FileOutputStream( new File( "parkchart.png" ) ); //ChartUtilities.writeChartAsPNG( out, chart, 400, 200 ); } } return chart; 20

ΚΕΦΑΛΑΙΟ 4 ο ΣΥΜΠΕΡΑΣΜΑΤΑ ΚΑΙ ΜΕΛΛΟΝΤΙΚΗ ΕΡΕΥΝΑ 4.1 Συμπεράσματα-κριτική της εργασίας Η εργασία αυτή προέκυψε από την εκτίμηση της σημαντικότητας της πρόσβασης και διαχείρισης πληροφοριών που σχετίζονται με την χρηματιστηριακή αγορά. Πληθώρα προγραμμάτων έχουν αναπτυχθεί με τον παραπάνω προσανατολισμό. Τα προγράμματα αυτά βρίσκουν μεγάλη ανταπόκριση σε ευρύ κοινό. Με γνώμονα την παραπάνω παραδοχή, δημιουργήθηκε ένα πρόγραμμα κατά τα πρότυπα των βασικότερων ηλεκτρονικών μέσων παρουσίασης και ανάλυσης χρηματιστηριακών δεδομένων. Η έρευνα που προηγήθηκε της εργασίας ανέδειξε, ανάμεσα σε άλλα, το γεγονός ότι ο όγκος αυτών των πληροφοριών οδηγεί πολλές φορές στην αδυναμία αξιοποίησης τους από τις σχετικές ιστοσελίδες. Η εργασία αυτή προσανατολίζεται στην βελτίωση της διαχείρισης και της παρουσίασης των πληροφοριών. Πιο συγκεκριμένα, επιχειρήθηκε, μέσω διαγραμμάτων και πινάκων, η οπτικοποίηση επιλογών του χρήστη. Φυσικά, η προσπάθεια αυτή αφορά σε ένα πρώτο επίπεδο, δίνοντας την δυνατότητα λίγων μόνον επιλογών στον χρήστη. Παρόλα αυτά, αναδεικνύει την δυνατότητα περαιτέρω εξέλιξης (βλέπε 4.2 Προτάσεις για μελλοντική έρευνα). Ως άμεσο συμπέρασμα όσον αφορά στα μέσα που χρησιμοποιήθηκαν (Neatbeans, η Mysql και Java) προκύπτει ότι τα παραπάνω είναι ιδανικά για τέτοιου είδους εφαρμογές. Συγκεκριμένα, είναι εύχρηστα για τον προγραμματιστή ενώ παράλληλα καλύπτουν και εξεζητημένες ανάγκες σχεδίασης εφαρμογών. 21

4.2 Προτάσεις για μελλοντική έρευνα Η εργασία αυτή καλύπτει ένα μέρος μόνο της λύσης του προβλήματος. Το πρόγραμμα θα μπορούσε να εμπλουτιστεί με τις παρακάτω εφαρμογές δυνατότητες: o Εφαρμογή για Smartphone o Δυνατότητα για online κινήσεις αγοράς και πώλησης μετοχών o Δυνατότητα για αυτοματοποιημένες κινήσεις online βάσει ροής ειδήσεων. Για παράδειγμα, πώληση ή αγορά μιας μετοχής όταν η μετοχή υποχωρήσει κάτω από ένα όριο το οποίο ο χρήστης μπορεί να επιλέξει η οποιασδήποτε επιλογής-ανάγκη του χρήστη. o Σύνδεση με περισσότερα χρηματιστήρια o Δυνατότητα λήψης μηνύματος sms προς ενημέρωση η επιβεβαίωση κινήσεων του προγράμματος. 22

ΠΑΡΑΡΤΗΜΑ Α ΜΟΣ-ΕΝΟΙΟΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ Οντότητα ΔΕΙΚΤΗΣ :Αναφέρεται στα γνωρίσματα που έχει ο κάθε δείκτης του χρηματιστηρίου. Πρωτεύον κλειδί της οντότητας είναι το Δ_ΙD που χαρακτηρίζει τον κάθε ξεχωριστό δείκτη όπου είναι μοναδικός. Τα γνωρίσματα της συγκεκριμένης οντότητας είναι το όνομα του δείκτη, η τιμή κλεισίματος, η τιμή κλεισίματος της προηγούμενης 23

ημέρας,η διαφορά σε μονάδες από τη προηγούμενη ημέρα καθώς και ποσοστιαία διαφορά, η μέγιστη τιμή κλεισίματος των 30 τελευταίων ημερών καθώς και η ελάχιστη. Οντότητα ΜΕΤΟΧΗ: Έχει χαρακτηριστικά της μετοχής. Πρωτεύον κλειδί της οντότητας είναι το Μ_ID που είναι ένα Ιd το οποίο είναι μοναδικό και δείχνει τη κάθε μετοχή ξεχωριστά. Τα γνωρίσματα της συγκεκριμένης οντότητας είναι το ιd και το όνομα της κάθε μετοχής. Οντότητα ΣΤΟΙΧΕΙΑ: Υπάρχουν στοιχεία που έχει τα οποία έχει κάθε μετοχή. Πρωτεύον κλειδί της οντότητας είναι η ΗΜ/ΝΙΑ όπου μπορούμε να επιλέξουμε και να δούμε στοιχεία της μετοχής ανά ημερομηνία για τις τελευταίες 30 μέρες. Η συσχέτιση ΕΧΕΙ μεταξύ των οντοτήτων ΔΕΙΚΤΗΣ ΚΑΙ ΜΕΤΟΧΗ έχει λόγο πληθικότητας 1:Ν που σημαίνει ότι κάθε ΔΕΙΚΤΗΣ έχει πολλές ΜΕΤΟΧΕΣ. Στη συσχέτιση η συμμετοχή των οντοτήτων ΔΕΙΚΤΗΣ ΚΑΙ ΜΕΤΟΧΗ είναι μερική εφόσον κάποια μετοχή θα μπορούσε να μην ανήκει σε κάποιον δείκτη. Η συσχέτιση ΕΧΕΙ2 μεταξύ των οντοτήτων ΜΕΤΟΧΗ και ΣΤΟΙΧΕΙΑ έχει λόγο πληθικότητας 1 προς 1 που σημαίνει ότι η κάθε μετοχή έχει μοναδικά στοιχεία και το κάθε στοιχείο ανήκει σε μια μετοχή. Επίσης, η συμμετοχή στη συσχέτιση είναι ολική και για τις δύο οντότητες, διότι καμία οντότητα δε μπορεί να υπάρξει χωρίς την ύπαρξη της άλλης. 24

ΠΙΝΑΚΕΣ ΤΗΣ ΒΑΣΗΣ ΔΕΙΚΤΕΣ Δ_ID PK Δ_ΟΝΟΜΑ Δ_ΚΛΕΙΣΙΜΟ Δ_ΙΜΗ.ΠΡ.ΗΜ Δ_ΔΙΑΦΟΡΑ Δ_ΜΕΓ.ΤΙΜΗ Δ_ΕΛ.ΤΙΜΗ ΜΕΤΟΧΕΣ Μ_ID PK ΗΜ/ΝΑΙ PK Δ_ID FK ΑΝΟΙΓΜΑ ΚΛΕΙΣΙΜΟ ΔΙΑΦΟΡΑ% ΟΓΚΟΣ ΠΡΑΞΕΙΣ ΜΕΓ.ΤΙΜΗ ΕΛ.ΤΙΜΗ ΑΞΙΑ 25

ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ Μετά τον εννοιολογικό, ακολουθεί ο λογικός σχεδιασμός. Το πιο διαδεδομένο μοντέλο για τον λογικό σχεδιασμό, όπως αναφέρθηκε και προηγουμένως, είναι το σχεσιακό μοντέλο, το οποίο απαρτίζεται από μια συλλογή από σχέσεις, όπου μια σχέση μοιάζει με έναν πίνακα ή ένα αρχείο εγγραφών. Επαναλαμβάνεται ότι, κάθε γραμμή μιας σχέσης καλείται πλειάδα και περιέχει τα δεδομένα (τιμές γνωρισμάτων) και κάθε στήλη μιας σχέσης αποτελεί ένα γνώρισμα, το όνομα του οποίου αναγράφεται στην πρώτη πλειάδα (κεφαλίδα) της σχέσης. Κάθε πλειάδα σε μια σχέση είναι μοναδική, δηλαδή, δεν υπάρχουν δύο πλειάδες στη βάση με τις ίδιες τιμές στα επιμέρους γνωρίσματα. Όπως αναφέρθηκε και προηγουμένως, τα γνωρίσματα που ταυτοποιούν μια οντότητα ονομάζονται γνωρίσματα κλειδιά. Πρωτεύον κλειδί καλείται το γνώρισμα ή ο συνδυασμός γνωρισμάτων που επιλέγεται για την ταυτοποίηση των πλειά δων της σχέσης Ξένο κλειδί καλείται το γνώρισμα ή ο συνδυασμός γνωρισμάτων που έχει το ίδιο πεδίο ορισμού με το πρωτεύον κλειδί μιας άλλης σχέσης και χρησιμοποιείται ουσιαστικά ως ένας τρόπος σύνδεσης συσχέτισης των σχέσεων (των πινάκων) μεταξύ τους. 26

1)ΔΕΙΚΤΗΣ{Δ_ID,Δ_ΟΝΟΜΑ,Δ_ΚΛΕΙΣΙΜΟ,Δ_ΤΙΜΗ.ΠΡ.ΗΜ, Δ_ΔΙΑΦΟΡΑ,Δ_ΜΕΓ.ΤΙΜΗ,Δ_ΕΛ.ΤΙΜΗ} PK:{Δ_ID} 2)METOXH { M_ΙD, ΗΜ/ΝΙΑ,ΑΝΟΙΓΜΑ,ΚΛΕΙΣΙΜΟ,ΔΙΑΦΟΡΑ%, ΟΓΚΟΣ,ΠΡΑΞΕΙΣ,ΕΛ.ΤΙΜΗ,ΜΕΓ.ΤΙΜΗ,ΑΞΙΑ,Δ_ID} PK:{M_ID,ΗΜ/ΝΙΑ} FK:Δ_ID references ΔΕΙΚΤΗΣ ΦΥΣΙΚΗ ΣΧΕΔΙΑΣΗ SQL>CREATE TABLE INDEX ( Δ_ID INT(11) PRIMARY KEY, Δ_ONOMA VARCHAR(80), Δ_ΚΛΕΙΣΙΜΟ VARCHAR(10), Δ_ΤΙΜΗ.ΠΡ.ΗΜ. VARCHAR(10), Δ_ΔΙΑΦΟΡΑ VARCHAR(10), Δ_ΜΕΓ.ΤΙΜΗ VARCHAR(10), Δ_ΕΛ.ΤΙΜΗ VARCHAR(10)); 27

SQL>CREATE TABLE METOXI( M_ΙD INT(11) PRIMARY KEY, ΗΜ/ΝΙΑ DATE PRIMARY KEY, ΑΝΟΙΓΜΑ VARCHAR(10), ΚΛΕΙΣΙΜΟ VARCHAR(10), ΔΙΑΦΟΡΑ VARCHAR%(10), ΟΓΚΟΣ VARCHAR(20)), ΠΡΑΞΕΙΣ VARCHAR(20), ΜΕΓ.ΤΙΜΗ VARCHAR(10), ΕΛ.ΤΙΜΗ VARCHAR(10), ΑΞΙΑ VARCHAR(10), FOREIGN KEY (Δ_ID) REFERENCES INDEX 28

ΠΑΡΑΡΤΗΜΑ Β Εγχειρίδιο χρήστη Για να τρέξουμε την εφαρμογή στον υπολογιστή μας θα πρέπει να έχουμε απαραίτητα εγκατεστημένα τα εξής προγράμματα: netbeans, mysql και xampp.αφού έχουμε εγκατεστημένα τα παραπάνω προγράμματα το μόνο που μένει είναι να τρέξουμε το xampp εικόνα 3.5.1.7 για να συνδεθεί το πρόγραμμα με την βάση δεδομένων. Έπειτα εκτελούμε από το netbeans το αρχείο stk2 εμάνίζεται στην οθόνη η η αρχική οθόνη του προγράμματος Εικόνα 3.5.1.1. Από την αρχική οθόνη μπορούμε εύκολα με αριστερό κλίκ να επιλέξουμε το τι θέλουμε να εμφανίσουμε. εικόνα 3.5.1.7 λειτουργία του xampp 29

ΒΙΒΛΙΟΓΡΑΦΙΑ Java Network Programming JavaBeans: Developing Component Software in Java Εισαγωγή στα συστήματα βάσεων δεδομένων C.J. DATE Διαδίκτυο Sql tutorials http://www.w3schools.com/sql/default.asp Java tutorials http://www.online-tutorials.gr/tutorial/mathainontas-tin-java Java tutorials http://www.it.uom.gr/project/java/tutorial.htm http://www.jfree.org/jfreechart/api/javadoc/org/jfree/chart/chartfactory.html http://www.jfree.org/jfreechart/api/gjdoc/org/jfree/chart/chartfactory-source.html 30