ΤΕΙ ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Παραγγελιοδοσία Supermarket σε Android ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ



Σχετικά έγγραφα
Ανάπτυξη εφαρμογής ηλεκτρονικού πίνακα ανακοινώσεων για φορητή συσκευή

ANDROID Προγραμματισμός Εφαρμογών

Ανάπτυξη πλήρους διαδικτυακής e-commerce εφαρμογής με χρήση του CMS WordPress

Διεθνής έρευνα για την εξάπλωση των Smartphones και Tablets

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

Εφαρμογές Υπολογιστών. Κεφάλαιο 4 Λογισμικό Συστήματος

ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ web εφαρµογής - ηλεκτρονικού κατατήµατος για έξυπνα κινητά

Ανάπτυξη Διεπαφών Χρήστη σε Λειτουργικά Συστήματα Κινητών Συσκευών

ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ

Κατασκευή δικτυακής εφαρμογής στην αρχιτεκτονική ios iphone που υλοποιεί ένα παιχνίδι ερωτοαπαντήσεων

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές

Digital Academy. Εισαγωγή στην ανάπτυξη Android Εφαρμογών

Python και Android. Νίκος Νοδαράκης. 17 Μαΐου 2010

Βασικές Έννοιες Web Εφαρμογών

Κινητές τεχνολογίες;

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

Δομή παρουσίασης. Σχεδιασμός και υλοποίηση συστήματος παρακολούθησης και ελέγχου πωλητών και δημιουργία εφαρμογής σε έξυπνο κινητό

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Ηλεκτρονικό Εμπόριο

Σχεδίαση και Ανάπτυξη Ιστότοπων

Κινητές τεχνολογίες;

Προγραμματισμός διαδικτυακών εφαρμογών με PHP

Νεογεωγραφία και Χαρτογραφική Διαδικτυακή Απεικόνιση. Η χρήση Ελεύθερων Γεωγραφικών Δεδομένων και Λογισμικού Ανοιχτού Κώδικα σε Φορητές Συσκευές.

Δυναμικές Ιστοσελίδες Προγραμματισμός στην πλευρά του client

Διπλωματική Εργασία. Μουσικές Εφαρμογές σε Περιβάλλον Κινητών Συσκευών Android με Χαρακτηριστικά Εξατομίκευσης

Ηλεκτρονικό Επιχειρείν & Νέες Τεχνολογίες για Επιχειρηματικότητα ΔΕΟ45

Τεχνολογίες Ανάπτυξης Ηλεκτρονικού Καταστήματος Μικρομεσαίας Επιχείρησης. Μικρομεσαίες Επιχειρήσεις και Καινοτομία

Παραδοτέο Π5.3: Έντυπο και ψηφιακό υλικό (Web site) προβολής των δράσεων έργου

Ως Διαδίκτυο (Internet) ορίζεται το παγκόσμιο (διεθνές) δίκτυο ηλεκτρονικών υπολογιστών (international network).

Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112

Το σύστημα θα πρέπει να σχεδιαστεί με τρόπο που θα ικανοποιήσει τις απαιτήσεις του χρήστη εύκολα.

Smartphones και πολυμέσα

Νέες τεχνολογίες εισάγονται ή χρησιµοποιούνται

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

Μια καλή επιλογή θα ήταν (χωρίζοντας τις λέξεις με παύλα -) ή

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

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

Συστήματα πανταχού παρόντος υπολογιστή σε περιβάλλοντα υβριδικών βιβλιοθηκών

ΟΔΗΓΟΣ ΧΡΗΣΗΣ(ΜΑΝUΑL) ΔΙΑΧΕΙΡΙΣΤΗ-ΧΡΗΣΤΗ.

Διαδίκτυο: δίκτυο διασυνδεμένων δικτύων Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο, απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ.

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία. AtYourService CY : Create a REST API. Δημήτρης Χριστοδούλου

Ανάπτυξη διαδικτυακής εφαρμογής σε περιβάλλον κινητών συσκευών με λειτουργικό σύστημα Android

Internet Business Hellas

Ιστορική Αναδρομή Λειτουργικών Συστημάτων (ΛΣ) Εισαγωγή : ο πυρήνας (kernel) / ο φλοιός (shell) Β ΕΠΑΛ

Εργαλεία ανάπτυξης εφαρμογών internet Ι

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ - Π.Μ.Σ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

Information Technology for Business

economy Δρ. Πάνος Φιτσιλής, Καθηγητής ΤΕΙ Θεσσαλίας Πρόγραμμα Μεταπτυχιακών Σπουδών Διοίκηση και Διαχείριση Έργων

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Δυναμική προσωποποιημένη ενημέρωση προσφορών Super Markets στη Θεσσαλονίκη

Φορολογική Βιβλιοθήκη. Θανάσης Φώτης Προγραμματιστής Εφαρμογών

Σύστημα διαχείρισης περιεχομένου (Content Management System)

Cloud Computing with Google and Microsoft. Despoina Trikomitou Andreas Diavastos Class: EPL425

ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ ΙΑ ΙΚΤΥΑΚΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΎ ΣΥΣΤΗΜΑΤΟΣ. Τρίτη, 7 Φεβρουαρίου 2012

12/5/18. συστημάτων. Το λογισµικό συστηµάτων. Κεφάλαιο 5

Η Oracle ανακοίνωσε την πιο ολοκληρωμένη λύση στον τομέα της Ανάλυσης δεδομένων στο Cloud

Λιόλιου Γεωργία. ιατµηµατικό Πρόγραµµα Μεταπτυχιακών Σπουδών στα Πληροφοριακά Συστήµατα

Ενσωματωμένα controls τα οποία προσαρμόζονται και χρησιμοποιούνται σε οποιαδήποτε ιστοσελίδα επιλέγει ο φορέας.

Ψηφιοποίηση και Ψηφιακή Επεξεργασία Εικόνας

Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες

Περίληψη ιπλωµατικής Εργασίας

Αν Ναι, δείτε πως με το λογισμικό axes μπορείτε!

ΛΟΓΙΣΜΙΚΟ (software)

Σταύρος Καουκάκης Ευτύχιος Βαβουράκης

Ενότητα 2. Πηγές Λογισμικού. Πληροφοριακά Συστήματα Διοίκησης ΙI Νίκος Καρακαπιλίδης 2-1

Θέματα Ατομικής Διπλωματικής Εργασίας - DRAFT Ακαδημαϊκό Έτος 2015/2016. Γεωργία Καπιτσάκη (Λέκτορας)

ΚΕΝΤΡΟ ΥΠΟΣΤΗΡΙΞΗΣ ΕΦΑΡΜΟΓΩΝ ΛΟΓΙΣΜΙΚΟΥ. Μιχάλης Κεφαλάς, ΑΤΕΙ Θεσσαλονίκης

Πολυμέσα. παρέχουν ένα περιβάλλον πρόσβασης στα τμήματα, μέσω συνδέσεων με οποιονδήποτε τρόπο

Θέματα Ατομικής Διπλωματικής Εργασίας Ακαδημαϊκό Έτος 2017/2018. Γεωργία Καπιτσάκη (Επίκουρη Καθηγήτρια)

web mobile multimedia ανάπτυξη εφαρμογών

ΑΝΑΚΟΙΝΩΣΗ ΔΙΑΔΙΚΑΣΙΑΣ ΑΠΕΥΘΕΙΑΣ ΑΝΑΘΕΣΗΣ. Αριθμ. Πρωτ.: /2017 Ο ΕΙΔΙΚΟΣ ΛΟΓΑΡΙΑΣΜΟΣ ΚΟΝΔΥΛΙΩΝ ΕΡΕΥΝΑΣ

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

Τεχνικός Εφαρμογών Πληροφορικής

Χαράλαμπος Καραγιαννίδης

Σεμινάριο Wordpress CMS (Δημιουργία Δυναμικών Ιστοσελίδων)

Βασικές Έννοιες Διαδικτύου, Wordpress και BuddyPress

Ειδικά θέματα σε κινητά και ασύρματα δίκτυα

Τεχνολογίες Παγκόσμιου Ιστού. 1η διάλεξη

Κουμπί επαναφοράς (RESET BUTTON) Οπές εγκατάστασης συσκευής στην επιτοίχια βάση

Λύσεις διαχείρισης υπολογιστών-πελατών και λύσεις εκτύπωσης Universal Printing Solutions

ΜΑΘΗΜΑ 3 ΛΟΓΙΣΜΙΚΟ (SOFTWARE)

Μονάδα Διασφάλισης Ποιότητας. ΜΟΔΙΠ Πανεπιστημίου Δυτικής Μακεδονίας. Κωδικός Πράξης ΟΠΣ: Επιχειρησιακό Πρόγραμμα:

Σχεδιαστικά Προγράμματα Επίπλου

Χαρακτηριστικά ιστοσελίδας

Speed-0 WMP: Web and Mobile Platform Software Requirements Specification

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

ΜΕΤΑΠΤΥΧΙΑΚΟ ΤΜΗΜΑ ΣΠΟΥ ΩΝ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

ΠΡΟΛΟΓΟΣ. Σε ποιους απευθύνεται αυτό το βιβλίο... vi Διάρθρωση του βιβλίου... vi

Μέρος Ι: Εγκατάσταση και ιαμόρφωση των MySQL, Apache και PHP

Χαρακτηριστικά ιστοσελίδας

H CISCO ανακοινώνει νέα τεχνολογία για τις Εταιρείες Λιανικής

Symantec Backup Exec System Recovery 7.0 Server Edition. Πλήρης Επαναφορά Συστημάτων Windows Μέσα σε Λίγα Λεπτά και όχι σε Ώρες ή Ημέρες

Κεφάλαιο 6 Λογισμικό Εφαρμογών. Εφαρμογές Πληροφορικής Κεφ.6 Καραμαούνας Πολύκαρπος 1

ΠΛΗΡΟΦΟΡΙΑΚΑ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

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

ΤΕΛΙΚΕΣ ΔΙΠΛΩΜΑΤΙΚΕΣ ΕΡΓΑΣΙΕΣ (6 Μονάδες ECTS)- Ακαδημαϊκό Έτος

Ολοκληρωμένο σύστημα διαχείρισης παρουσιών στο Τ.Ε.Ι. Σερρών

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

Εφαρμογή Ηλεκτρονικής Διαχείρισης Μετεγγραφών

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

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

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

Transcript:

ΤΕΙ ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Παραγγελιοδοσία Supermarket σε Android ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ Του Δημήτριου Ορφανουδάκη ΑΜ. 1750 Επιβλέπων καθηγητής: Δρ. Μωυσιάδης Λευτέρης

1. Table of Contents Ευχαριστίες... 3 Περίληψη... 4 Abstract... 5 1. Εισαγωγή... 6 1.1 Στόχος πτυχιακής εργασίας... 6 1.2 Επιλογή του Android.... 7 2. Λίγα λόγια για το Android.... 12 3. ΥΦΙΣΤΑΜΕΝΑ ΣΥΣΤΗΜΑΤΑ... 15 3.1. Διαθέσιμες υπηρεσίες ηλεκτρονικού εμπορίου... 16 3.2.Μια νέα πρόταση... 16 4. Εργαλεία Ανάπτυξης... 17 4.1. Android SDK... 18 4.2 OpenSource Λογισμικό... 23 4.3 Επιλογή Web Server... 25 4.4 Τι είναι η PHP... 27 4.5 Βάση δεδομένων MySQL... 28 4.5.2 Τι είναι Σύστημα Διαχείρισης Βάσεων Δεδομένων... 29 5. ΑΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΟΣ... 32 5.1. Είσοδος στο σύστημα... 33 5.2. Νέα Εγγ ραφή χρήστη... 34 5.3. Προβολη και Ενημέρωση στοιχείων χρήστη... 36 5.4.Ξενάγηση στις λίστες και τους καταλόγους των markets... 37 5.4. Διαχείρηση καλαθιού... 38 5.5 Λειτουργία επανάκτησης παλαιότερων παραγγελιών... 39 5.6 Χρηση μηχανής αναζήτησης... 40 5.7 Συμπεράσματα... Σφάλμα! Δεν έχει οριστεί σελιδοδείκτης.

Ευχαριστίες Θέλω να ευχαριστήσω την οικογένεια μου που με στήριξε όλο αυτό το διάστημα των σπουδών μου και τον καθηγητή μου κύριο Μωυσιάδη για την εμπιστοσύνη που μου έδειξε στην ανάληψη της συγκεκριμένης πτυχιακής εργασίας, την καθοδήγηση του, καθώς και τις πολύτιμες συμβουλές που μου έδωσε κατά την εκπόνηση της. Τέλος, να εκφράσω τις βαθιές μου ευχαριστίες σε όλους τους καθηγητές του Τμήματος Βιομηχανικής Πληροφορικής του Τ.Ε.Ι. Καβάλας που έθεσαν γερά θεμέλια στις βάσεις των γνώσεων μου και με έκαναν να αγαπήσω το αντικείμενο των σπουδών μου.

Περίληψη Η ραγδαία αύξηση της χρήσης των smart phones σε συνδυασμό με την ανάγκη του σύγχρονου ανθρώπου για γρήγορη και εύκολη πρόσβαση στην πληροφορία, έχει επηρεάσει άμεσα τον τομέα του ηλεκτρονικού εμπορίου, γεννώντας νέους, ακόμη πιο άμεσους τρόπους πρόσβασης σε αυτό. Έχοντας ως σκοπό τη διάθεση στον μέσο χρήστη android κινητού, υπηρεσίες ηλεκτρονικού εμπορίου, δημιουργήθηκε η παρακάτω εργασία-εφαρμογή. Στα πλαίσια της παρούσας πτυχιακής εργασίας σχεδιάστηκε και υλοποιήθηκε μία native εφαρμογή παραγγελιοδοσίας supermarket βασισμένη στο λειτουργικό σύστημα κινητών συσκευών Android. Οι δυνατότητες που δίνονται στο χρήστη κατά την διάρκεια της χρήσης της εφαρμογής είναι πολυάριθμες χαρίζοντάς του την αίσθηση μίας ολοκληρωμένης εμπειρίας πλοήγησης σε ηλεκτρονικό market. Περιληπτικά μερικές από αυτές είναι, η δυνατότητα του χρήστη να ξεναγηθεί στα διαθέσιμα προϊόντα των συμβεβλημένων με την εφαρμογή supermarkets, η αναζήτηση και προβολή περιεχομένων μέσα από πολλαπλές οθόνες, καθώς επίσης η διαμόρφωση και αποστολή των παραγγελιών του σε αυτά. Στα επόµενα κεφάλαια ακολουθούν σημαντικές πληροφορίες για το λειτουργικό android,περιγράφονται όλα τα στάδια ανάπτυξης του λογισμικού, ενώ θα συναντήσουμε και διάφορες αναφορές στις τεχνολογίες που χρησιμοποιήθηκαν για την ολοκλήρωση του.

Abstract As part of this work was designed and implemented a native implementation of orders placement for supermarkets based on mobile operating system Android. The opportunities given to the user during use of the application are numerous giving the feeling of a complete navigation experience in an electronic market. In summary some of these are the user's ability to tour the available products by applying the supermarkets contracted, searching and viewing content through multiple screens, as well as the formation and transmission of orders to them.

1. Εισαγωγή 1.1 Στόχος πτυχιακής εργασίας Η παρούσα πτυχιακή εργασία στοχεύει στη δημιουργία ενός ολοκληρωμένου συστήματος παραγγελιοδοσίας σε supermarkets βασισμένο σε λειτουργικό Android. Ιδιαίτερη έμφαση δίνεται στον τρόπο που έχει σχεδιαστεί η διεπαφή χρήστη (User Interface) της εφαρμογής, ώστε να είναι είναι ξεκάθαρος ο τρόπος λειτουργίας της από τον οποιοδήποτε, καθώς οι περιορισμένες σε μέγεθος συσκευές Android καθιστούν κάτι τέτοιο ως πρόκληση. Η βασική ιδέα του συστήματος είναι να μπορεί η εφαρμογή να εξυπηρετήσει τον χρήστη προσφέροντας του υπηρεσίες ηλεκτρονικού εμπορίου με τρόπο απλό, χωρίς άσκοπες πληροφορίες και αδιέξοδα µμονοπάτια. Αρχικά έγινε μελέτη πάνω σε παρόμοια καταστήματα που έχουν σχέση με τον συγκεκριμένο τομέα του εμπορίου. Τέθηκαν βασικά ερωτήματα, και διαπιστώθηκαν σφάλματα που είχαν να κάνουν µε πιθανές παραλήψεις των αναγκών του καταναλωτή. Κάνοντας μια συνοπτική αναφορά σε λάθη άλλων συστημάτων παραγγελιοδοσίας κατά την έρευνα που πραγματοποιήθηκε, αξίζει να αναφερθούν, ανενημέρωτες καταστάσεις προϊόντων(αποτέλεσμα στατικών εφαρμογών), δύσχρηστο περιβάλλον χρήσης και καθυστέρηση στην επεξεργασία δεδομένων.

1.2 Επιλογή του Android. Ένας από τους πρωταρχικούς σκοπούς σε αυτήν την εργασία, ήταν η επιλογή μιας πλατφόρμας, η οποία θα μπορούσε να υποστηρίξει τον σχεδιασμό και την υλοποίηση της εφαρμογής που δημιουργήθηκε. Παράλληλα, η αναζήτηση για κάτι το καινούργιο στον χώρο των smartphones που θα άξιζε την μελέτη και θα ήταν πολλά υποσχόμενο, οδήγησε σε δύο υποψήφιες πλατφόρμες, το Android και το IOS. Οι δύο αυτές πλατφόρμες φαίνεται ότι θα πρωταγωνιστήσουν στον χώρο των έξυπνων τηλεφώνων, αφού διαθέτουν εξαιρετικά χαρακτηριστικά και απίστευτες δυνατότητες. Android vs IOS

Εικόνα 3: Η μάχη μεταξύ Android και Iphone βρίσκεται σε εξέλιξη. Στις αρχές Οκτωβρίου του 2009, το iphone κατείχε τα σκήπτρα στις πωλήσεις. Παρόλα αυτά με την ραγδαία ανάπτυξη που είχε πάρει το Android, οι ερευνητές προέβλεπαν ότι τα δεδομένα θα έχουν ανατραπεί μέχρι το 2012 το γρηγορότερο. Προς έκπληξη αρκετών, την ίδια περίοδο που γράφεται αυτή η εργασία (άνοιξη 2012 ), το Android έχει ήδη ξεπεράσει προπολλού σε πωλήσεις το iphone και συνεχίζει να επεκτείνεται. Ωστόσο είναι μια μάχη η οποία αναμένετε να συνεχιστεί, με τις δύο πλατφόρμες να εκσυγχρονίζουν ανά τακτά χρονικά διαστήματα τα χαρακτηριστικά τους. Είναι δεδομένο πως μιλάμε για μία κανονική μάχη. Πεδίο μάχης κάθε εμπορικό, ηλεκτρονικό ή φυσικό, κατάστημα. Φυσικά ο νικητής δεν ορίζεται μια για πάντα γιατί τα πράγματα αλλάζουν από εβδομάδα σε εβδομάδα. Οι παράμετροι που προσδιορίζουν όμως τον νικητή αλλά και το αγοραστικό κοινό είναι πολλές και τα αποτελέσματα έχουν πολύ ενδιαφέρον και το αντικείμενο δεν είναι μόνο τα κινητά αλλά και τα tablets.

Εικόνα 4: Πωλήσεις Λειτουργικών Συστημάτων για Smartphone. Χαρακτηριστική η έρευνα που ανακοίνωσε η Millennial Media [Media[3]]. Τα αποτελέσματα είναι λίγο πολύ αναμενόμενα, δηλαδή το Android OS κυριαρχεί με παρουσία στο 56% των smartphones παγκοσμίως, με το ios να ακολουθεί με 28% και το BlackBerry OS με 13%. [Εικόνα 4]. Επίσης ο Hugo Barra, Product Management Director του Android ανακοίνωσε στο πρόσφατο Google I/O που έγινε, 10 Μαΐου 2011, στο San Francisco ορισμένα εντυπωσιακά στατιστικά για την πλατφόρμα. Η Google δεν έχασε την ευκαιρία να ρίξει τα καρφιά της σε οποιοδήποτε αμφισβητεί την κυριαρχία του Android OS και ανακοίνωσε τα ιλιγγιώδη στατιστικά στοιχεία που συνοδεύουν το υπερ-επιτυχημένο λειτουργικό σύστημα. Κρατηθείτε:

100 εκατ. ενεργοποιήσεις από την πρώτη ημέρα κυκλοφορίας του Android OS 400.000 νέες ενεργοποιήσεις κάθε ημέρα 215 πάροχοι σε 112 χώρες 4.5 δισεκατομμύρια downloads εφαρμογών 200.000 εφαρμογές στο Android Market 36 κατασκευαστές συσκευών Εικόνα 6: Λογότυπο πλατφόρμας Android.

Η υπεροχή του Android έναντι του λειτουργικού IOS για την επιλογή της πλατφόρμας ανάπτυξης της εφαρμογής ήταν προφανής, αφού από την πρώτη στιγμή οι δυνατότητες και οι προοπτικές που παρουσιάστηκαν έκλεψαν τη προσοχή. Να σημειώσουμε, ότι μεγάλο ρόλο για την απόφαση αυτή έπαιξε το γεγονός ότι το Android είναι ένα λογισμικό ανοικτού κώδικα. Προσφέρει δηλαδή στον καθένα την δυνατότητα ελεύθερης πρόσβασης στον πηγαίο κώδικα και στις εφαρμογές αυτής της πλατφόρμας. Σε αυτή την εργασία θα αρκεστούμε στο να δώσουμε βασικά χαρακτηριστικά του Android, ως την επιλεχθείσα πλατφόρμα και θα αποκλείσουμε από την ανάλυση μας το iphone.

2. Λίγα λόγια για το Android. Το Android είναι ένα λειτουργικό σύστημα για συσκευές κινητής τηλεφωνίας, το οποίο τρέχει τον πυρήνα του λειτουργικού Linux. Αρχικά αναπτύχθηκε από την Google και αργότερα από την Open Handset Alliance. Επιτρέπει στους κατασκευαστές λογισμικού να συνθέτουν κώδικα με την χρήση της γλώσσας προγραμματισμού Java, ελέγχοντας την συσκευή μέσω βιβλιοθηκών λογισμικού ανεπτυγμένων από την Google. Τον Ιούλιο του 2005, η Google εξαγόρασε την Android Inc, μια μικρή εταιρεία με έδρα το Palo Alto στην California των ΗΠΑ. Οι συνιδρυτές της Android πήγαν να εργαστούν στην Google συμπεριλαμβανομένων των Andy Rubin (συν-ιδρυτής της Danger), Rich Miner (συνιδρυτής της Wildfire Communications, Inc), Nick Sears (πρώην αντιπρόεδρος της T- Mobile), και Chris White (επικεφαλής σχεδιασμού και ανάπτυξης interface στο WebTV). Εκείνη την εποχή ελάχιστα ήταν γνωστά για τις λειτουργίες της Android Inc, εκτός του ότι ανέπτυσσαν λογισμικό για κινητά τηλέφωνα. Αυτή ήταν η αρχή της φημολογίας περί σχεδίων της Google για να διεισδύσει στην αγορά κινητής τηλεφωνίας. Στην Google, η ομάδα με επικεφαλής τον Rubin ανέπτυξε μια κινητή πλατφόρμα που στηρίζεται στον πυρήνα του Linux, την οποία προώθησαν με την παροχή ενός ευέλικτου, αναβαθμίσιμου συστήματος. Έχει αναφερθεί ότι η Google έχει ήδη συγκεντρώσει μια σειρά από εταίρους hardware και software και επισήμανε στους παρόχους ότι ήταν ανοικτή σε διάφορους βαθμούς συνεργασίας εκ μέρους της. Περισσότερες εικασίες ότι η Google θα εισέλθει στην αγορά κινητής τηλεφωνίας άρχισαν τον Δεκέμβριο του 2006. Δημοσιεύσεις από το BBC και τη The Wall Street Journal πληροφορούσαν ότι η Google ήθελε την έρευνα και τις εφαρμογές σε κινητά τηλέφωνα και ότι εργάζονται σκληρά για να τις προωθήσουν στην αγορά. Έντυπα και ηλεκτρονικά μέσα ενημέρωσης σύντομα ανέφεραν φήμες ότι η Google ανέπτυσσε μια Google-branded συσκευή. Περισσότερες φήμες ακολούθησαν, αναφέροντας ότι η Google καθόριζε τις τεχνικές προδιαγραφές και έδειχνε πρωτότυπα στους κατασκευαστές κινητών τηλεφώνων και τους φορείς δικτύων. Τον Σεπτέμβριο του 2007, η InformationWeek κάλυψε μια μελέτη

αξιολόγησης αναφέροντας ότι η Google έχει καταθέσει αρκετές πατέντες στον τομέα της κινητής τηλεφωνίας. Τελικά η Google παρουσίασε το smartphone της Nexus One που χρησιμοποιεί το open source λειτουργικό σύστημα Android. Η συσκευή κατασκευάστηκε από την HTC Corporation της Ταϊβάν, και έγινε διαθέσιμη στις 5 Ιανουαρίου 2010. Η πρώτη παρουσίαση της πλατφόρμας Android έγινε στις 5 Νοεμβρίου 2007, παράλληλα με την ανακοίνωση της ίδρυσης του οργανισμού Open Handset Alliance, μιας κοινοπραξίας 48 τηλεπικοινωνιακών εταιριών, εταιριών λογισμικού καθώς και κατασκευής hardware, οι οποίες είναι αφιερωμένες στην ανάπτυξη και εξέλιξη ανοιχτών προτύπων στις συσκευές κινητής τηλεφωνίας.[2][3]. Η Google δημοσίευσε το μεγαλύτερο μέρος του κώδικα του Android υπό τους όρους της Apache License, μιας ελεύθερης άδειας λογισμικού. [4] Ενδεικτικά, αναφέρονται μερικά μέλη του οργανισμού αυτού [Εικόνα 5], για να γίνει ορατή η τεράστια προοπτική που δημιουργείται:

Εικόνα 5: Εταιρίες λογισμικού και κατασκευής υλικού παγκόσμιας εμβέλειας. Μερικές από τις εταιρίες αυτές αναγράφονται παρακάτω: Sprint Nextel T-Mobile Motorola Samsung Sony Ericsson Vodafone Google

Verizon Texas Instruments Htc Κατά τα λεγόμενα τους, όπως αναφέρεται και στο επίσημο site, η OHA (Open Handset Alliance) αντιπροσωπεύει: «Μια δέσμευση για την ειλικρίνεια, ένα κοινό όραμα για το μέλλον και συγκεκριμένα σχέδια για να κάνει το όραμα μια πραγματικότητα. Για να επιταχύνει την καινοτομία στο κινητό και να προσφέρει στους καταναλωτές μια πλουσιότερη, λιγότερο ακριβή και καλύτερη εμπειρία κινητών τηλεφώνων.» Η OHA ελπίζει να παραδώσει μια καλύτερη εμπειρία λογισμικού κινητών στους καταναλωτές, παρέχοντας μια πλατφόρμα για την ανάπτυξη καινοτόμων κινητών εφαρμογών γρηγορότερα και με υψηλότερη ποιότητα, χωρίς τέλη αδείας για τους προγραμματιστές λογισμικού ή τους κατασκευαστές κινητών τηλεφώνων. Η επιτυχία του Android ως πλατφόρμα κινητών τηλεφώνων θα εξαρτηθεί κατά ένα μεγάλο μέρος από την επιτυχία των συνεργατών της OHA στην κυκλοφορία επιθυμητών κινητών τηλεφώνων και κινητών υπηρεσιών που θα ενθαρρύνουν την υιοθέτηση των Android τηλεφώνων. Οι προγραμματιστές έχουν την ευκαιρία να δημιουργήσουν καινοτόμες, νέες εφαρμογές κινητών για Android ώστε να ενθαρρυνθούν περισσότερες επιχειρήσεις κινητής τεχνολογίας να γίνουν μέλη της OHA. Στην [Εικόνα 6] φαίνεται το λογότυπο της Αndroid. 3. ΥΦΙΣΤΑΜΕΝΑ ΣΥΣΤΗΜΑΤΑ

3.1. Διαθέσιμες υπηρεσίες ηλεκτρονικού εμπορίου Η εξάπλωση του διαδικτύου στο πέρασμα του χρόνου επέφερε σημαντικές αλλαγές στον τομέα του ηλεκτρονικού εμπορίου. Πλέον, οι συναλλαγές μέσω διαδικτύου είναι ιδιαίτερα δημοφιλείς και ασφαλείς. Προς αυτή τη κατεύθυνση κινήθηκαν πολλές επιχειρήσεις δημιουργώντας με τη σειρά τους ηλεκτρονικά καταστήματα. Αρχικά υπήρχαν ιστοσελίδες οι οποίες είχαν τις απολύτως απαραίτητες πληροφορίες. Όταν κάποιος ήθελε να δει αυτές τις πληροφορίες, έπρεπε να στείλει ένα αίτηµα στον server και αυτός µε την σειρά του αφού δεχτεί το αίτηµα, να στείλει πίσω στον αιτούντα το περιεχόµενο της ιστοσελίδας. Οι πληροφορίες αυτές δεν µπορούσαν να ανανεωθούν εύκολα και από τον καθένα. Αργότερα βέβαια και µε την συνεχή εξ έλιξη στον χώρο του ηλεκτρονικού εµπορίου γενικότερα, οι ανάγκες και οι απαιτήσεις από µια ιστοσελίδα ολοένα και αυξανόταν. Μια στατική ιστοσελίδα δεν µπορούσε πλέον να καλύψει όλες τις περιπτώσεις και όλες τις ανάγκες µε αποτέλεσµα να κάνουν την εµφάνιση τους οι δυναµικές ιστοσελίδες. 3.2.Μια νέα πρόταση

Το επόμενο βήμα στα συστήματα παραγγελιοδοσίας είναι η δημιουργία μίας νέας διαδικτυακής εφαρμογής η οποία βασίζεται στο λειτουργικό Android. Ο καταναλωτής θα έχει τη δυνατότητα να χρησιμοποιήσει την εφαρμογή εύκολα και απλά μέσα από την κινητή του συσκευή. Το προτεινόμενο σύστημα παραγγελιοδοσίας εξαλείφει τους περιορισμούς των συστημάτων του παρελθόντος. Συμπερασματικά, πρόκειται για μία εφαρμογή η οποία αναμένεται να τύχει ευρείας αποδοχής από το κοινό για τους παρακάτω λόγους: 1. Ευκολία πρόσβασης στο σύστημα απ οπουδήποτε. 2. Ταχύτητα στην αναζήτηση και επεξεργασία δεδομένων λόγω της native φύσης της εφαρμογής. 3. Εύχρηστο περιβάλλον χρήσης (user interface). 4. Αξιοπιστία. 5. Ασφάλεια. 6. Άμεση σύγκριση τιμών. 7. Δυνατότητα ανάκτησης παλαιοτέρων παραγγελιών χρήστη. 4. Εργαλεία Ανάπτυξης

Μέσω του Android software development προκύπτουν ολοένα και νέες εφαρμογές που δημιουργούνται για το λειτουργικό σύστημα Android. Οι εφαρμογές αναπτύσσονται συνήθως στη γλώσσα προγραμματισμού Java που χρησιμοποιεί το Android. Από τον Απρίλιο του 2011, έχουν αναπτυχθεί για το Android πάνω από 200.000 εφαρμογές, με πάνω από 3ισεκατομμύρια downloads [8][9]. Η χρήση της πλατφόρμας Android έχει επίσης αυξηθεί, γιατί προτιμάται από τους προγραμματιστές των κινητών. Μια έρευνα τον Ιούνιο του 2011 έδειξε ότι πάνω από το 67% των κινητών χρησιμοποιούν εφαρμογές που αναπτύχθηκαν με χρήση της εν λόγω πλατφόρμας. Παρακάτω παρουσιάζονται τα πιο διαδεδομένα λογισμικά για την ανάπτυξη εφαρμογών σε Android. Android SDK Native Development Kit App Inventor for Android Hyper Next Android Creator Στις επόμενες παραγράφους αναπτύσσεται αναλυτικά το κάθε ένα από τα παραπάνω λογισμικά 4.1. Android SDK Το Android SDK παρέχει τα απαραίτητα εργαλεία για την ανάπτυξη προγραμμάτων χρησιμοποιώντας την γλώσσα προγραμματισμού Java. Τα χαρακτηριστικά του παρέχουν τεράστια ευελιξία και δυνατότητα ανάπτυξης έξυπνων εφαρμογών για κινητά

τηλέφωνα, παρέχοντας δυνατότητες ανάπτυξης σε επιχειρηματίες όλων των κλάδων, είτε πρόκειται για αυτοματοποίηση πωλήσεων, ψυχαγωγία, παιχνίδια αλλά και κάθε άλλου είδους επιχειρήσεις. Ακόμα, παρέχει APIs για την χρήση web browser, εμφάνιση δισδιάστατων και τρισδιάστατων γραφικών, δομημένη αποθήκευση δεδομένων σε βάση δεδομένων, εμφάνιση πολυμεσικού υλικού (ήχος, βίντεο, εικόνες), χρήση των τεχνολογιών GSM, Bluetooth, EDGE, 3G και WiFi, χρήση συσκευών όπως φωτογραφική μηχανή, GPS, πυξίδα, επιταχυνσιόμετρο. Ένα σημαντικό γεγονός που ευνοεί την ανάπτυξη εφαρμογών είναι πως το πακέτο Android SDK συνεργάζεται με το Eclipse και συνεπώς ο προγραμματιστής μπορεί εύκολα και γρήγορα να βλέπει τις αλλαγές του κώδικα στον emulator που του παρέχει το Android SDK, χωρίς να χρειάζεται να εξάγει κάθε φορά την εφαρμογή και να την εγκαθιστά σε κινητό. Επίσης, ο emulator είναι πολύ αξιόπιστος, καθώς έχει ακριβώς την ίδια συμπεριφορά με αυτή που θα είχε η εφαρμογή εάν είχε εγκατασταθεί σε ένα κινητό τηλέφωνο Android. Ένα άλλο σημαντικό πλεονέκτημα είναι το γεγονός πως σε αναβαθμίσεις του λογισμικού, η εφαρμογή εξακολουθεί να δουλεύει χωρίς την ανάγκη επανασχεδιασμού κάποιων σημαντικών κομματιών του κώδικα, που αφορούν την αλληλεπίδραση της εφαρμογής με τα δομικά μέρη-hardware- του κινητού τηλεφώνου. Παρακάτω, γίνεται ανάπτυξη του εξομοιωτή (emulator). Τμήμα Εφαρμοσμένης Πληροφορικής & Πολυμέσων Α.Τ.Ε.Ι. Κρήτης Δασκαλάκης Ελευθέριος Α.Μ. 1672 33 4.1.1 Μερικά από τα χαρακτηριστικά του SDK To Android SDK είναι ένα πολύ χρήσιμο εργαλείο για την εξερεύνηση των «ενδοτέρων» του Android. Παρακάτω, φαίνονται τα βασικότερα χαρακτηριστικά του.

Εφαρμογή πλαισίου που επιτρέπει την επαναχρησιμοποίηση και την αντικατάσταση στοιχείων Βελτιστοποιημένη Dalvik εικονική μηχανή για κινητές συσκευές Ολοκληρωμένο πρόγραμμα περιήγησης, το οποίο βασίζεται στο open source WebKit Βελτιστοποιημένα γραφικά, τα οποία τροφοδοτούνται από μια προσαρμοσμένη βιβλιοθήκη 2D και 3D γραφικών με βάση τις προδιαγραφές του OpenGL ES 1.0 (επιτάχυνση hardware προαιρετικά) SQLite για δομημένη αποθήκευση δεδομένων Υποστήριξη πολυμέσων για αρχεία ήχου, βίντεο, ακόμα και εικόνων (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) GSM Τηλεφωνία (εξαρτώμενη από το hardware) Bluetooth, EDGE, 3G, WiFi (εξαρτώμενα από το hardware). Φωτογραφική μηχανή, GPS, πυξίδα, και επιταχυνσιόμετρο (εξαρτώμενα από το hardware) Πλούσιο περιβάλλον ανάπτυξης, συμπεριλαμβανομένου ενός εξομοιωτή συσκευής, εργαλεία για τον εντοπισμό σφαλμάτων, μνήμη και προφίλ απόδοσης όπως επίσης και ένα plugin για το Eclipse IDE 4.1.2 εξομοιωτής (emulator). Προκειμένου να γίνει ευκολότερη η διαδικασία της ανάπτυξης και αποσφαλμάτωσης μιας εφαρμογής, το Android SDK περιλαμβάνει έναν εξομοιωτή μιας εικονικής κινητής συσκευής, η οποία τρέχει το λειτουργικό του Android. Έτσι δεν είναι η αναγκαία η ύπαρξη πραγματικής κινητής συσκευής για την εκτέλεση και δοκιμή των εφαρμογών. Ο

εξομοιωτής προσομοιώνει ένα μεγάλο πλήθος λειτουργιών μιας τυπικής συσκευής, η οποία τρέχει το Android: Παρέχει μια ποικιλία πλήκτρων πλοήγησης και ελέγχου Παρέχει μια οθόνη για την προβολή των εφαρμογών που τρέχουν στον εξομοιωτή Επιτρέπει στις εφαρμογές την χρήση των υπηρεσιών που προσφέρει η πλατφόρμα του Android, δηλαδή την κλήση άλλων εφαρμογών, την πρόσβαση στο δίκτυο, την αναπαραγωγή ήχου και βίντεο, την αποθήκευση και επαναφορά δεδομένων, την ειδοποίηση χρήστη, το γραφικό περιβάλλον του Android. Επίσης παρέχει ένα πλήθος λειτουργιών για την ευκολότερη αποσφαλμάτωση: Κονσόλα για την καταγραφή της εξόδου του πυρήνα Προσομοίωση διακοπών (όπως η άφιξη SMS μηνύματος ή τηλεφωνικής κλήσης) Προσομοίωση καθυστέρησης και απώλειας στο κανάλι δεδομένων Προσομοίωση λήψης δεδομένων θέσης από την συσκευή GPS. 4.1.3 Άλλα εργαλεία του Android Το Android SDK περιλαμβάνει μερικά ακόμη εργαλεία για την ανάπτυξη εφαρμογών: Το Dalvik Debug Monitor Service (DDMS) το οποίο επιτρέπει την διαχείριση των διεργασιών στον εξομοιωτή ή στην συσκευή. Συγκεκριμένα δίνεται η δυνατότητα portforwarding υπηρεσιών, λήψη screenshots, εμφάνιση πληροφοριών για τον σωρό και τα νήματα, logcat εμφάνιση πληροφοριών ράδιο και πληροφοριών διεργασιών, προσομοίωση εισερχόμενων κλήσεων και μηνυμάτων, προσομοίωση δεδομένων θέσης κ.α.

Την Android Debug Bridge (ADB) η οποία επιτρέπει την διαχείριση της κατάστασης του εξομοιωτή ή της συσκευής. Μέσω του ADB είναι δυνατή η εκτέλεση εντολών φλοιού, η διαχείριση της προώθησης θυρών και η αντιγραφή από και προς την συσκευή ή τον εξομοιωτή. Το Android Asset Packaging Tool (AAPT) το οποίο δίνει την δυνατότητα δημιουργίας.apk αρχείων τα οποία περιέχουν τα εκτελέσιμα αρχεία και τους πόρους μιας εφαρμογής. Την Android Interface Description Language (AIDL) η οποία επιτρέπει την δημιουργία κώδικα που επιτρέπει σε δύο διεργασίες σε μια συσκευή βασισμένη στο Android να συνομιλούν χρησιμοποιώντας διαδιεργασιακή επικοινωνία. Το sqlite3 το οποίο επιτρέπει την πρόσβαση στα δεδομένα της SQLite που δημιουργούνται από τις διάφορες εφαρμογές. Το Traceview που επιτρέπει την γραφική προβολή της ανάλυσης των trace log data που δημιουργούν οι διάφορες εφαρμογές. Το mksdcard το οποίο βοηθά στην δημιουργία εικονικού δίσκου ο οποίος μπορεί να χρησιμοποιηθεί από τον εξομοιωτή για την προσομοίωση της παρουσίας εξωτερικής αποθηκευτικής κάρτας (όπως η SD card). Το dx tool το οποίο μετατρέπει τα αρχεία.class από java bytecode σε Android bytecode. To UI/Application Exerciser Monkey το οποίο είναι ένα πρόγραμμα που τρέχει στον εξομοιωτή και παράγει ψευδό-τυχαίες σειρές από συμβάντα χρήστη όπως clicks, touches, gestures καθώς επίσης και έναν αριθμό από συμβάντα συστήματος. Το activitycreator το οποίο είναι ένα script που δημιουργεί Ant build αρχεία τα οποία μπορούν να χρησιμοποιηθούν για την μεταγλώττιση των εφαρμογών. Για την υλοποίηση του συγκεκριµένου ηλεκτρονικού καταστήµατος χρησιµοποιήθηκαν εργαλεία τα οποία ανήκουν στην κατηγορία του OpenSource λογισµικού. Έγινε χρήση της script γλώσσας PHP, της MySQL, για την κατασκευή και διαχείριση της βάσης δεδοµένων του καταστήματος και ο Apache Web Server, για το στήσιµο του

διακοµιστή στον οποίο θα τρέχει το κατάστηµα µας. Τέλος, χρησιμοποιήθηκε το Joomla, ένα πλήρες σύστημα διαχείρισης περιεχομένου. Όλα αυτά τα εργαλεία, πώς δουλεύουν, πως τα εγκαθιστούμε και πως καταλήξαμε σε αυτά θα περιγραφούν αναλυτικότερα παρακάτω, Το στήσιµο του site έγινε σε περιβάλλον του λειτουργικού συστήµατος Windows 7(αρχικά δοκιµάστηκε σε Windows XP ) στο οποίο εγκαταστάθηκαν τα παραπάνω εργαλεία επιτυχώς. Παρόλα αυτά, δε διαφοροποιείτε σε τίποτα ο τρόπος εγκατάστασης, κατασκευής αλλά και λειτουργίας της ιστοσελίδας σε οποιοδήποτε λειτουργικό σύστηµα. 4.2 OpenSource Λογισμικό 4.2.2 Τι είναι το Γενικά Ελεύθερο λογισµικό Γενικά Ελεύθερο λογισµικό[23] είναι το λογισµικό το οποίο µπορεί να χρησιµοποιηθεί, αντιγραφεί, μελετηθεί, τροποποιηθεί και αναδιανεμηθεί χωρίς περιορισµό. Το ελεύθερο λογισµικό ορισμένες φορές µπορεί να αναφερθεί σαν ανοιχτό λογισµικό ή λογισµικό ανοιχτού κώδικα, αλλά οι δύο έννοιες δεν είναι ταυτόσηµες. εν είναι κάθε λογισµικό ελεύθερο µόνο και µόνο επειδή είναι ανοιχτού κώδικα. Με τον όρο λογισµικό ανοικτού κώδικα περιγράφουµε το λογισµικό του οποίου ο πηγαίος κώδικας διατίθεται ελεύθερα στον οποιοδήποτε θέλει να τον µελετήσει, να τον χρησιµοποιήσει αλλά και να τον τροποποιήσει. Σε γενικές γραµµές το λογισµικό ανοικτού κώδικα δεν σηµαίνει απαραίτητα δωρεάν λογισµικό, ούτε ελεύθερο λογισµικό αλλά αναφέρεται κυρίως στην ελευθερία του κάθε χρήστη να

εξετάσει και να χρησιµοποιήσει την γνώση και τις δυνατότητες που του προσφέρει ο κώδικας προγραµµατισµού. 4.2.2 Γιατί λογισμικό Ανοικτού κώδικα Το opensource λογισµικό τα τελευταία χρόνια ολοένα και περισσότερο εδραιώνεται ανάµεσα σε υπερδυνάµεις του κλειστού λογισµικού. Είτε µε λειτουργικό σύστηµα όπως είναι το Linux µε τις διάφορες διανοµές, είτε είναι προγράµµατα όπως ο Firefox, VLS player κτλ. Η φιλοσοφία της ανάπτυξης λογισµικού ανοικτού κώδικα δεν έχει σαν πρωταρχικό σκοπό το κέρδος, χωρίς όµως αυτό να σηµαίνει ότι δεν το επιθυµεί. Η χρήση opensource λογισµικού έχει αρκετούς λόγους για να κάνει κάποιους να θελήσουν να το χρησιμοποιήσουν και να το εξελίξουν είτε ατοµικά, είτε σαν οµάδες ανάπτυξης. Εφόσον θα υπάρχουν οµάδες ανάπτυξης λογισµικού, µικρές ή µεγαλύτερες, θα υπάρχει ταχύτερη και αποτελεσµατικότερη ανάπτυξη ενός λογισµικού πράγµα που σηµαίνει την δυνατότητα πιο άµεσης εφαρµογής αυτού του λογισµικού και από τους ίδιους τους developers. Αναπτύσσοντας ένα τέτοιου είδους λογισµικό αποκτιέται µεγάλη εµπειρία. ουλεύοντας µαζί µε άλλους developers ενισχύεται το αίσθηµα της συνεργασίας. Η επιτυχής ανάπτυξη και χρήση ενός opensource λογισµικού είναι σχεδόν βέβαιο ότι θα φέρει και την ανάλογη φήµη αλλά και πολλές ευκαιρίες. Πολλοί είναι αυτοί που µετά από µια επιτυχηµένη ανάπτυξη λογισµικού, βρήκαν περίοπτες θέσεις σε µεγάλες εταιρίες.

Η ικανοποίηση της δηµιουργίας και της επιβράβευσης. Τέλος, εφόσον είναι επιθυμητό, το κέρδος από µια επιτυχή ανάπτυξη λογισµικού µπορεί να προκύψει από την πώληση του λογισµικού µαζί µε τον πηγαίο κώδικα, αλλά και από την πώληση υπηρεσιών που σχετίζονται µε το λογισµικό αυτό. 4.3 Επιλογή Web Server 4.3.1 Τι είναι Web Server Web Server[24] είναι το φυσικό µέσο (ηλεκτρονικός υπολογιστής) ή το λογισµικό που τρέχει σε ένα µηχάνηµα server το οποίο επιτρέπει σε χρήστες παγκοσµίως να αποκτούν πρόσβαση σε ιστοσελίδες που είναι αποθηκευµένες σε αυτόν. Αρκετά διαδεδοµένοι είναι, από την µεν κατηγορία του opensource λογισµικού ο Apache Web Server, από τη δε κατηγορία του κλειστού λογισµικού ο Microsoft Internet Information Server γνωστός πλέον ως Microsoft Personal Web Server. Κάθε Web Server έχει µια µμοναδική διεύθυνση IP (Internet Protocol) έτσι ώστε οι χρήστες στο διαδίκτυο να µπορούν να επικοινωνούν µαζί του. Όταν κάποιος θελήσει να ανεβάσει µια ιστοσελίδα στο διαδίκτυο θα πρέπει να βρει διαθέσιµο server ο οποίος νοικιάζει χώρο (σχεδόν πάντα έναντι χρηματικού ποσού ),

όπου και θα φιλοξενεί την ιστοσελίδα αυτή. Όλοι οι servers προμηθεύουν την κάθε ιστοσελίδα που θα φιλοξενήσουν µε µία µοναδική διεύθυνση. Από την άλλη, όλοι οι χρήστες του internet προμηθεύονται µια µοναδική IP διεύθυνση από τον πάροχο τους. Αυτή η IP είναι πλέον η ταυτότητα του κάθε υπολογιστή στο διαδίκτυο. Όταν λοιπόν ο χρήστης µέσω του υπολογιστή του επισκεφτεί µια ιστοσελίδα, αποστέλλεται αίτηση στη συγκεκριμένη ιστοσελίδα µε την IP διεύθυνση του χρήστη. Με το που φτάσει η αίτηση στον server φιλοξενίας, αυτός την επιστρέφει σε µορφή HTML µε παραλήπτη τον υπολογιστή που έκανε το αίτηµα. Η ιστοσελίδα φτάνει στον browser του υπολογιστή και αυτός την εμφανίζει στην οθόνη του χρήστη. 4.3.2 Apache Web Server Η αρχή του Apache Web Server ξεκίνησε µε την εκπληκτική δηµιουργία του από τον Robert McCool[25] το 1995. Κοινώς γνωστός ως Apache, ξεκίνησε µια ισχυρή παρουσία στον έντονο ανταγωνισµό των web servers. Ο Apache έχει τη σθεναρή υποστήριξη από την Apache Server Κοινότητα και είναι µια opensource πλατφόρμα που µπορεί να χρησιµοποιηθεί µε διάφορα λειτουργικά συστήµατα όπως τα Windows, Mac και UNIX. Ο Apache θεωρείται ως η πλέον χρησιµοποιούµενη web server εφαρµογή σε όλο τον κόσµο και πάνω από 90 εκατοµµύρια servers εκτελούνται στο διακοµιστή Apache. Πολλαπλές ιστοσελίδες και δικτυακοί τόποι µπορούν να τρέξουν κάτω από τον ίδιο διακοµιστή. Με άλλα λόγια, περισσότερο από το 50% των web servers παγκοσµίως, τρέχουν κάτω από τον Apache.

4.4 Τι είναι η PHP Η ΡΗΡ είναι µια αποτελεσµατική αλλά και δυνατή γλώσσα script (συµβάντων), που έχει σχεδιαστεί ειδικά για να επιτρέπει στους προγραµµατιστές να δηµιουργούν πολύ δυνατές Web εφαρµογές σχετικά γρήγορα. Είναι επισήµως γνωστή και ως Hypertext preprocessor. Το καλύτερο πράγµα όσον αφορά την χρήση της PHP έχει να κάνει µε την εξαιρετικά απλή χρήση για κάποιον αρχάριο. Παρόλα αυτά προσφέρει πολλά προηγµένα χαρακτηριστικά για τον επαγγελµατία προγραµµατιστή. Μπορεί κανείς να εξοικειωθεί µέσα σε σύντοµο χρονικό διάστηµα και να αρχίσει να γράφει απλά script σε λίγες ώρες. Είναι µια server-client (εκτελείτε στον διακοµιστή) scripting γλώσσα που γράφεται συνήθως πλαισιωµένη από HTML, για µορφοποίηση των αποτελεσµάτων. Αντίθετα από µια συνηθισµένη HTML σελίδα, η PHP σελίδα δεν στέλνεται άµεσα στον client (πελάτη), αντ αυτού πρώτα αναλύεται και µετά αποστέλλεται το αποτέλεσµα. Τα στοιχεία HTML στον πηγαίο κώδικα µένουν ως έχουν, αλλά ο PHP κώδικας ερµηνεύεται και εκτελείται. Ο κώδικας PHP µπορεί να θέσει ερωτήµατα σε βάσεις δεδοµένων, να δηµιουργήσει εικόνες, να διαβάσει και να γράψει αρχεία, να συνδεθεί µε αποµακρυσµένους υπολογιστές κτλ. Σε γενικές γραµµές οι δυνατότητες που µας δίνει είναι απεριόριστες. 9.4.1 Λειτουργικά Χαρακτηριστικά της PHP. H PHP όπως είδαµε και στην αρχή είναι µια script (συµβάντων) γλώσσα και όχι γλώσσα προγραµµατισµού. Οµοίως µε τα HTML έγγραφα, τα αρχεία της PHP αποτελούνται αποκλειστικά και35 µόνο από απλό κείµενο. Μπορούµε να τα δημιουργήσουμε µε οποιονδήποτε συντάκτη κειμένου Αυτός ο τρόπος βέβαια δίνει την δυνατότητα στον προγραμματιστή να έχει πλήρη εποπτεία του κώδικα αλλά ταυτόχρονα είναι αρκετά επίπονος και χρονοβόρος. Οι δηµοφιλέστεροι συντάκτες HTML παρέχουν τουλάχιστον εν µέρει υποστήριξη για την PHP. Για την αντιµετώπιση του προβλήµατος αυτού υπάρχουν εργαλεία ανοικτού κώδικα τα οποία συνήθως παρέχουν στον προγραµµατιστή κάποιες έτοιµες φόρµες αλλά και ευκολίες στο να προσθέτουν χαρακτηριστικά στη σελίδα. Όλα αυτά γίνονται µε φόρµες οι οποίες περιέχουν αρκετές γραµµές κώδικα ήδη γραµµένο, πράγµα που θα απαιτούσε πολύ περισσότερο χρόνο από τον προγραµµατιστή για να γράψει από την αρχή. Φυσικά δεν σηµαίνει ότι είναι το

ίδιο µε το να γράψει κάποιος τον κώδικα εξ αρχής από τον οποίο θα είχε πλήρη γνώση και έλεγχο. Επίσης, σχεδόν πάντα θα πρέπει να παρέµβει στον έτοιµο πηγαίο κώδικα για να τον φέρει στις δικές του ανάγκες.η PHP είναι σχεδιασµένη έτσι ώστε να εκτελεί µια ενέργεια µετά από συµβάν, όπως για παράδειγµα όταν ο χρήστης πατήσει κάποιο link στην ιστοσελίδα. Επίσης η PHP βρίσκεται εγκατεστηµένη στον Server συνεπώς χρησιµοποιεί πόρους του Server για τις διεργασίες που εκτελείται έπειτα τα αποτελέσµατα αποστέλλονται στον χρήστη σε HTML. Η PHP δεν εκτελείται ταυτόχρονα µε τον κώδικα της HTML. Η σύνταξη PHP κώδικα είναι σχετικά εύκολη. Γράφεται µαζί µε τον HTML κώδικα και ενσωµατώνεται σε ένα HTML έγγραφο προσθέτοντας απλός το απαιτούµενο κέλυφος κώδικα HTML έξω από τα tags αρχής και τέλους της PHP (συνήθως το tag έναρξης είναι <?Php και του τερµατισµού είναι?>). Τα αρχεία που περιέχουν PHP scripts αποθηκεύονται µε την κατάλληλη κατάληξη (π.χ. *.php). 4.5 Βάση δεδομένων MySQL 4.5.1 Τι είναι Βάση Δεδομένων Καταρχήν θα πρέπει να δούµε τι είναι µια βάση δεδομένων [26] (database). Είναι ένα σύνολο πληροφοριών το οποίο είναι οργανωμένο έτσι ώστε να µπορεί εύκολα µια εφαρµογή να έχει πρόσβαση στα δεδοµένα αλλά και την δυνατότητα διαχείρισης και ενηµέρωσης της βάσης. Με άλλα λόγια µια βάση δεδοµένων µπορεί να ταξινοµηθεί ανάλογα µε το είδος του περιεχοµένου (κείµενο, εικόνα, αρίθµηση κτλ). Τα δεδοµένα µιας βάσης δεδοµένων πρέπει να έχουν κάποια συσχέτιση µεταξύ τους, λογική συνέχεια και δοµή. Στην επιστήµη των υπολογιστών, οι βάσεις δεδοµένων συνήθως ταξινοµούνται µε βάση την οργανωτική τους προσέγγιση. Η πιο διαδεδοµένη µέθοδος είναι η σχεσιακή βάση δεδοµένων. Είναι ένας πίνακας βάσης δεδοµένων µε στοιχεία που έχουν καθοριστεί έτσι ώστε να µπορεί να αναδιοργανωθεί και να έχει πρόσβαση µε

διαφορετικούς τρόπους. Μια κατανεµηµένη βάση δεδοµένων µπορεί να είναι διασκορπισµένη ή να αναπαραχθεί σε διαφορετικά σηµεία µέσα σε ένα δίκτυο. Μια αντικειμενοστραφής βάση δεδοµένων αποδέχεται ως έχει τα δεδοµένα που ορίζονται σε κλάσεις και υποκλάσεις αντικειµένων. Η καλή σχεδίαση µιας βάσης δεδοµένων είναι ζωτικής σηµασίας για την ανάπτυξη µιας εφαρµογής µε υψηλή απόδοση. Εάν µια βάση δεδοµένων δεν έχει βελτιστοποιηµένες σχέσεις µεταξύ των πινάκων(κανονικοποίηση) δεν θα µπορεί να λειτουργεί µε την µέγιστη αποτελεσµατικότητα. Εκτός από την απόδοσης όµως, υπάρχει και το θέµα της συντήρησης. Η βάση δεδοµένων θα πρέπει να είναι εύκολη στην συντήρηση. Αυτό σηµαίνει ότι θα πρέπει να αποθηκεύει όσο το δυνατό λιγότερα επαναλαµβανόµενα δεδοµένα. Έτσι θα είναι αρκετά γρήγορη στην ανάκληση δεδοµένων αλλά και εύκολα προσπελάσιµη από το σύστηµα διαχείρισης βάσεων δεδοµένων. 4.5.2 Τι είναι Σύστημα Διαχείρισης Βάσεων Δεδομένων Το Σύστηµα ιαχείρισης µιας βάσης δεδοµένων (Database Management System ή CMS[27]) είναι ένα εξειδικευµένο και σύνθετο πακέτο λογισµικού που υλοποιεί την βάση δεδοµένων. Είναι δηλαδή ένα σύνολο προγραµµάτων το οποίο παρεµβάλλεται µεταξύ της βάσης δεδοµένων και του χρήστη για να διαχειρίζεται τη βάση δεδοµένων χωρίς ο χρήστης να νοιάζεται πως τα δεδοµένα του αποθηκεύονται στο δίσκο. Επειδή µια βάση δεδοµένων µοιράζεται δεδοµένα µε πολλούς χρήστες, το λογισµικό που την υποστηρίζει πρέπει να έχει: 36 Ανεξαρτησία δεδοµένων σε λογικό και φυσικό επίπεδο Κεντρικό έλεγχο δεδοµένων Ασφάλεια η οποία θα αφορά:

Επανάκτηση σε περιπτώσεις βλαβών Ακεραιότητα για αξιόπιστα αποτελέσµατα επεξεργασίας Προσωπικό απόρρητο για είσοδο µόνο σε εξουσιοδοτηµένους χρήστες Εξασφαλισµένες τις ταυτόχρονες on-line προσβάσεις Στατιστικά χρήσης για ρυθµίσεις Συµβατότητα µε άλλα συστήµατα διαχείρισης βάσεων δεδοµένων Μηχανισµό για την παράσταση των συσχετίσεων 4.5.3 Η γλώσσα SQL Η SQL[28] (Structed Query Language) είναι µία γλώσσα υπολογιστών στις βάσεις δεδοµένων, που σχεδιάστηκε για τη διαχείριση δεδοµένων, σε ένα σύστηµα διαχείρισης σχεσιακών βάσεων δεδοµένων. Περιλαµβάνει δυνατότητες ανάκτησης, ενηµέρωσης δεδοµένων, εισαγωγής νέων δεδοµένων, διαγραφή, δηµιουργία και τροποποίηση σχηµάτων και σχεσιακών πινάκων, αλλά και έλεγχο πρόσβασης στα δεδοµένα. εν είναι µια πλήρης γλώσσα προγραµµατισµού όµως µέσα από ένα πολύ µεγάλο σύνολο εντολών έχει την δυνατότητα µιας ολοκληρωµένης διαχείρισης των σχεσιακών βάσεων δεδοµένων. 4.5.4 Η MySQL

Η MySQL είναι η πιο γνωστή παγκοσμίως και κατά την γνώµη αρκετών, ίσως η καλύτερη opensource βάση δεδομένων. Σήµερα βρίσκεται αρκετά ψηλά σε προτίμηση και θεωρείται άξιος αντίπαλος απέναντι σε ακριβές βάσεις όπως είναι τα μεγαθήρια Oracle και Microsoft s SQL Server. Η MySQL χρησιμοποιείται συνήθως για εφαρμογές Web και για ενσωματωμένες εφαρμογές ενώ έχει γίνει µια πολύ δηµοφιλής εναλλακτική λύση στα ιδιόκτητα συστήµατα βάσεων δεδομένων, λόγω της ταχύτητας και της αξιοπιστίας της. Μπορεί να τρέξει σε συστήµατα UNIX, Windows και Mac OS. Έχει αναπτυχθεί, υποστηρίζεται και διατίθεται στο εµπόριο από την MySQL AB. Η βάση δεδοµένων MySQL είναι διαθέσιµη δωρεάν υπό τους όρους της Γενικής Άδειας ηµόσιας Χρήσης (GPL) ή µε ένα µικρό κόστος για αυτούς που δεν επιθυµούν την δέσµευση στους όρους αυτούς

5. ΑΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΟΣ Στη συνέχεια ακολουθούν επιγραμματικά ορισμένες από τις πιο σημαντικές λειτουργίες του συστήματος μου. Η κεντρική σελίδα που εμφανίζεται όταν ξεκινά ή εφαρμογή είναι η παρακάτω. Σε αυτό το σημείο ο χρήστης έχει τέσσερις επιλογές. Αρχικά μπορεί να συνδεθεί σαν πελάτης, να πραγματοποιήσει μία νέα εγγραφή ή να εισαχθεί στο σύστημα ως διαχειριστής. Επιλέγοντας την πρώτη επιλογή, στην επομένη εικόνα θα του ζητηθεί να εισάγει τα ορθά στοιχεία χρήστη.

5.1. Είσοδος στο σύστημα Αφού εισάγει σωστά τα στοιχεία η εφαρμογή του επιτρέπει να έχει πρόσβαση στο σύστημα θα τον οδηγήσει στο κεντρικό μενού της(dashboard) μέσα από το οποίο ο χρήστης θα έχει τον απόλυτο έλεγχο.

5.2. Νέα Εγγραφή χρήστη Αφού τα εισάγει σωστά η εφαρμογή θα τον οδηγήσει στο κεντρικό μενού της εφαρμογής (Dashboard) από όπου και θα έχει τον πλήρη έλεγχο.

Στο σημείο αυτό μπορεί να επιλέξει τις ρυθμίσεις προφίλ ωστε να δει και να επεξεργαστεί τα προσωπικά στοιχεία του λογαριασμύ του.

5.3. Προβολή και Ενημέρωση στοιχείων χρήστη Πηγαίνοντας ένα βήμα πίσω ο χρήστης μπορεί να μπει στο μενού προβολής μάρκετ παραγγελιών και προϊόντων ώστε να διαμορφώσει τις παραγγελίες του.

5.4.Ξενάγηση στις λίστες και τους καταλόγους των markets Αφού επιλέξει supermarket, στη συνέχεια με μία απαλή κίνηση του δαχτύλου προς τα αριστερά ο χρήστης μπορεί να δει την παρούσα κατάσταση του καλαθιού του και αναλόγως να πράξει είτε αλλάζοντας την ποσότητα κάποιου από τα υπάρχοντα προϊόντα είτε διαγράφοντας κάποιον αυτά.

5.4. Διαχείρηση καλαθιού Στο ίδιο μενού ο χρήστης θα μπορέσει να δει το ιστορικό των παραγγελιών του ενω παράλληλα έχει και την δυνατότητα να επαναφέρει κάποια από τις εμφανιζόμενες παραγγελίες.

5.5 Λειτουργία επανάκτησης παλαιότερων παραγγελιών Μέσα από την τελευταία λειτουργία ο χρήστης μπορεί να επαναφέρει μια παλαιότερη παραγγελία και να την διαχειριστεί εκ νέου. Επίσης του δίνεται η δυνατότητα να γνωρίζει σε τι κατάσταση βρίσκονται οι παραγγελίες του(ολοκληρώθηκε - Εκκρεμεί). Στη συνέχεια συναντάμε την εικόνα της μηχανής αναζήτησης του μάρκετ.

5.6 Χρήση μηχανής αναζήτησης Στην συγκεκριμένη οθόνη υπάρχει η πολύ σημαντική λειτουργία της αναζήτησης. Το εργαλείο αυτό είναι ίσως και το πιο σημαντικό της εφαρμογής καθώς ο χρήστης μέσα απο εδώ έχει την δυνατότητα να συγκρίνει τιμές και να ξεναγηθεί σε όλα τα προϊόντα και super markets.