• Nenhum resultado encontrado

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

N/A
N/A
Protected

Academic year: 2023

Share "Ανάπτυξη εφαρμογής βάσεως δεδομένων για βιοτεχνία αναγόμωσης και συναρμολόγησης πυροσβεστήρων."

Copied!
182
0
0

Texto

(1)
(2)

Περιεχόμενα

ΕΝΟΤΗΤΑ 1

1.1 Εισαγωγή – Αντικείμενο της Πτυχιακής Σελ. 3 1.2 Δυσκολίες κατά την Ανάπτυξη του Λογισμικού Σελ. 4

1.3 Υλοποίηση Σελ. 5

1.4 Διάρθρωση Πτυχιακής Σελ. 10

1.5 Μελλοντικές προοπτικές της ανάπτυξης Σελ. 11

1.6 Γράμμα προς την Βιοτεχνία Σελ. 12

ΕΝΟΤΗΤΑ 2

2.1 Απαιτήσεις Λογισμικού Σελ. 13

2.2 Προδιαγραφές Λογισμικού Σελ. 14

ΕΝΟΤΗΤΑ 3

3.1 Διαγράμματα Ροής Δεδομένων. Σελ. 28

3.2 Μοντελοποίηση της Βάσης Δεδομένων του προγράμματος. Σελ. 32

3.2 Ορισμός Οντοτήτων Σελ. 35

3.3 Ορισμός Συσχετίσεων Σελ. 36

3.4 Ορισμός Ιδιοτήτων Σελ. 38

3.5 Περιγραφή της Βάσης Δεδομένων. Σελ. 48

ΕΝΟΤΗΤΑ 4

4.1 Συμπεράσματα Σελ 52

ΕΝΟΤΗΤΑ 5

5.1 Γενικό Σχέδιο Ελέγχου Σελ. 53

5.2 Αναφορές Ελέγχου και Διορθώσεων Κλάσεων Σελ. 62

5.3 Έλεγχος Συνένωσης Σελ. 82

5.4 Περίληψη Ελέγχου Σελ. 83

5.5 Ημερολόγιο Γεγονότων και Καταστάσεων Ελεγκτή Σελ. 84 ΕΝΟΤΗΤΑ 6

6.1 ΒΙΒΛΙΟΓΡΑΦΙΑ Σελ 85

6.2 ΠΑΡΑΡΤΗΜΑ 1: Τεκμηρίωση κώδικα Σελ 2 6.3 ΠΑΡΑΡΤΗΜΑ 2: Εγχειρίδιο Χρήσης Σελ. 155

(3)

Περιεχόμενα

ΛΙΣΤΑ ΕΙΚΟΝΩΝ

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

Σελ. 86 ΦΟΡΜΑ :: ΠΕΛΑΤΟΛΟΓΙΟ Σελ. 91 ΦΟΡΜΑ :: ΑΝΑΖΗΤΗΣΗ ΠΕΛΑΤΗ Σελ. 97 ΦΟΡΜΑ :: ΔΗΜΙΟΥΡΓΙΑ ΠΑΡΑΓΓΕΛΙΑΣ Σελ. 107 ΦΟΡΜΑ :: ΔΙΟΡΘΩΣΗ ΛΙΣΤΑΣ ΠΑΡΑΓΓΕΛΙΩΝ Σελ. 117 ΦΟΡΜΑ :: ΜΗΤΡΩΟ ΚΑΤΕΣΤΡΑΜΕΝΩΝ ΠΥΡΟΣΒΕΤΗΡΩΝ Σελ. 122 ΦΟΡΜΑ :: ΕΚΤΥΠΩΣΗ ΛΙΣΤΑ ΠΕΛΑΤΩΝ Σελ. 138

ΦΟΡΜΑ ::ΑΠΟΘΗΚΗ Σελ. 140

ΦΟΡΜΑ ::ΕΠΕΞΕΡΓΑΣΙΑ ΕΓΓΡΑΦΩΝ ΑΠΟΘΗΚΗΣ Σελ. 143 ΦΟΡΜΑ ::ΟΡΙΟ ΑΣΦΑΛΕΙΑΣ Σελ. 145 ΦΟΡΜΑ ::ΕΚΤΥΠΩΣΗ ΛΙΣΤΑ ΥΛΙΚΩΝ Σελ. 145 ΦΟΡΜΑ ::ΕΚΚΡΕΜΟΥΣΕΣ ΠΑΡΑΓΓΕΛΙΕΣ Σελ. 146 ΦΟΡΜΑ ::ΕΚΤΥΠΩΣΗ ΕΚΚΡΕΜΩΝ ΠΑΡΑΓΓΕΛΕΙΩΝ Σελ. 149 ΦΟΡΜΑ ::ΗΜΕΡΟΛΟΓΙΟ Σελ. 150 ΦΟΡΜΑ ::ΕΚΤΥΠΩΣΗ ΗΜΕΡΟΛΟΓΙΟΥ Σελ. 152 ΦΟΡΜΑ ::ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ Σελ. 153

(4)

1.1 Εισαγωγή - Αντικείμενο της Πτυχιακής

Το παρόν πρόγραμμα σχεδιάστηκε – υλοποιήθηκε από τον σπουδαστή του τμήματος Βιομηχανικής Πληροφορικής, Ρίζο Ευθύμιο, στα πλαίσια εκπόνησης πτυχιακής εργασίας.

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

Οι κυριότερες λειτουργίες του προγράμματος, είναι:

I. Το πελατολόγιο όπου μπορεί ο χρήστης να δημιουργήσει και να τροποποιήσει μία εγγραφή ενός πελάτη.

II. Η δημιουργία παραγγελίας.

III. Η διαχειρίση της αποθήκης.

IV. Η καταγραφή των εκκρεμών παραγγελιών.

V. Το ημερολόγιο.

Το πρόγραμμα βασίζεται σε αληθινά δεδομένα και πραγματικές συνθήκες λειτουργίας. Δεν αποτελεί μία απλή εξομοίωση κάποιων ορισμένων καταστάσεων. Αυτός είναι και ο λόγος για τον οποίο θεωρείται ότι το επίπεδο δυσκολίας για την επίτευξη του θεμιτού στόχου ήταν υψηλό. Οποιαδήποτε παράβλεψη από τον σχεδιαστή αλλά και από τον πελάτη θα μπορούσε να αντιστοιχίσει σε αρκετές ώρες επανεξέτασης και επανασχεδιασμού του στόχου.

Σκοπός της παρούσας πτυχιακής είναι η δημιουργία ενός project από έναν σπουδαστή της Βιομηχανικής Πληροφορικής η οποία δεν θα αποτελεί μία απλή εφαρμογή που γίνεται για ένα υποτιθέμενο θέμα αλλά βασίζεται πάνω στις απαιτήσεις ενός πραγματικού πελάτη βιοτεχνίας. Στην πτυχιακή γίνεται εφαρμογή όλων των διαδικασιών που πρέπει να γίνουν για το ορθό χτίσιμο του προγράμματος. Έτσι παρατηρούμε ότι υπάρχουν σχέδιο τεστ, ανάλυση των απαιτήσεων του λογισμικού, διατύπωση των προδιαγραφών σχεδίαση και κωδικοποίηση καθώς και έλεγχος λογισμικού. Για να μπορεί ο κάθε αναγνώστης να καταλάβει πως έγινε η εφαρμογή κομμάτι κομμάτι γίνεται λεπτομερής ανάλυση σε κάθε στάδιο ανάπτυξης. Η εργασία μπορεί να αποτελέσει ένα πολύ καλό παράδειγμα για έναν σπουδαστή για να καταλάβει πως γίνεται πραγματικά μία εφαρμογή σε πραγματικές συνθήκες.

Το λογισμικό σχεδιάστηκε για τις ανάγκες της βιοτεχνίας αναγόμωσης πυροσβεστήρων FIRE-X. Για την επίτευξη του θεμιτού αποτελέσματος ο σπουδαστής του τμήματος Βιομηχανικής Πληροφορικής του Τ.Ε.Ι. Καβάλας Ρίζος Ευθύμιος ήρθε σε επαφή με την Βιοτεχνία. Η βιοτεχνία όντας πρωτοποριακή και θέλοντας να δώσει

(5)

εφαρμογή. Ο σπουδαστής, για την ανάλυση των απαιτήσεων αλλά και για το καλύτερο αποτέλεσμα, επισκέφτηκε αρκετές φορές την βιοτεχνία για να αποκομίσει όσο το δυνατόν περισσότερες πληροφορίες για την σχεδίαση του λογισμικού τόσο από τον ιδιοκτήτη της βιοτεχνίας όσο και τους εργαζομένους. Η επαφή με τον πελάτη ήταν μία πρωτόγνωρη εμπειρία. Το φιλικό περιβάλλον σε συνδυασμό με την άψογη μεταχείριση βοήθησε στα μέγιστα ώστε να ξεπεραστούν γρήγορα τα προβλήματα που αντιμετωπίζει κάθε νέος άνθρωπος στα πρώτα του βήματα στην αγορά. Έγινε ξενάγηση στον χώρο και ανέλυσαν τον τρόπο με τον οποίο γίνεται η παραγγελία, ο έλεγχος και γενικά πως λειτουργεί η εταιρεία. Οι απαιτήσεις του πελάτη ήταν σαφής και ξεκάθαρες. Ο πελάτης χρησιμοποιούσε ήδη ένα άλλο πρόγραμμα αλλά δεν είχε στοιχεία που θα του ήταν χρήσιμα για την δουλειά του.

Ο στόχος της πτυχιακής ήταν η δημιουργία ενός ολοκληρωμένου project από έναν σπουδαστή μέσα σε περιορισμένο χρόνο. Η σταθερότητα του προγράμματος σε συνδυασμό με την ευχρηστία και την απλότητα στην χρήση του ήταν οι δύο βασικότεροι συντελεστές του.

1.2 Δυσκολίες κατά την Ανάπτυξη Λογισμικού.

Στην όλη ανάπτυξη της φάσης για συλλογή πληροφοριών, παρουσιάστηκαν πολλά προβλήματα όπως είναι οι ασαφείς λειτουργίες κάποιων διαδικασιών όπως είναι οι παραγγελίες και το όριο ασφαλείας στην αποθήκη. Υπήρξαν και άλλα προβλήματα, ελλείψεις και δυσκολίες. Κατά την διάρκεια των σπουδαστικών εξαμήνων του τμήματος της Βιομηχανικής Πληροφορικής είχαν δημιουργηθεί διάφορα projects στα πλαίσια των μαθημάτων Τεχνολογίας Λογισμικού I, Τεχνολογίας Λογισμικού II και Τεχνολογία Βιομηχανικού Λογισμικού από ολιγομελής ομάδες όπου κάθε άτομο στην ομάδα είχε και διαφορετική ευθύνη και ρόλο όπως είναι ο Project Manager, Ο ελεγκτής του λογισμικού και ο προγραμματιστής. Στο πρόγραμμα ο σπουδαστής χρειάστηκε να αναλάβει όλα τα καθήκοντα και να βρίσκει λύσεις πάνω στην ανάπτυξη, κάτι που κρίνεται αρκετά δύσκολο. Ο σωστός καταμερισμός του χρόνου, βοήθησε αρκετά στην εξέλιξη του.

Έτσι χρειάστηκαν έξι μήνες για την ολοκλήρωση του.

(6)

1.3 Υλοποίηση

Για την υλοποίηση του προγράματος χρειάστηκε να χρησιμοποιηθούν η SQL (Structured Query Language) και η C++

Builder.Μεγάλο. Καθοριστικό ρόλο έπαιξε και η κατάρτιση πάνω στις διάφορες γλώσσες προγραμματισμού με κύρια την C++ όπου βοήθησε στο μέγιστο στην επίλυση προβλημάτων που παρουσίαστηκαν κατά την ανάπτυξη. Στην συνέχεια ακολουθεί αναλυτική επεξήγηση για τους λόγους που επιλέξαμε και χρησιμοποιήσαμε τις προαναφερθέντες γλώσσες προγραμματισμού.

SQL - Microsoft Access

Η γλώσσα προγραμματισμού που χρησιμοποιήθηκε για την διαχείριση της βάσης δεδοµένων είναι η SQL (Structured Query Language) σε συνεργασία με το σύστηµα διαχείρισης βάσεων δεδοµένων την Microsoft Access.

Η SQL (Structured Query Language) είναι μία γλώσσα 4ης γενιάς που χρησιμοποιούν οι Σχεσιακές Βάσεις Δεδομένων. Αναπτύχθηκε στα τέλη της δεκαετίας του '70 κυρίως από την IBM. 'Έκτοτε αποτελεί το πρωτογενές υλικό ανάπτυξης και συντήρησης Βάσεων Δεδομένων.

Η SQL μας επιτρέπει να σχεδιάσουμε και να αποθηκεύσουμε εναλλακτικές εμφανίσεις της ίδιας πληροφορίας στη βάση δεδομένων μας. Οι εμφανίσεις αυτές που λέγονται views είναι ιδεατοί πίνακες, σαν παράθυρα, μέσα από τα οποία βλέπουμε τα δεδομένα που είναι αποθηκευμένα στους πραγματικούς πίνακες.

Μια βάση δεδοµένων για να θεωρηθεί σωστά σχεδιασµένη και να μπορεί να λειτουργήσει µε αποτελεσµατικό τρόπο, θα πρέπει να είναι σχεδιασµένη έτσι ώστε τα δεδοµένα που περιλαµβάνει να ανακτώνται εύκολα και γρήγορα. Μια κακή σχεδίαση της δοµής της βάσης, οδηγεί στη δηµιουργία μίας βάσης η οποία είναι εξαιρετικά δυσκίνητη και αναποτελεσµατική.

Η διαχείριση µίας βάσης δεδοµένων πραγµατοποιείται µε τη βοήθεια ειδικών προγραµµάτων, που ονοµάζονται συστήµατα διαχείρισης βάσεων δεδοµένων (Database Management Systems, DBMS). Ο ρόλος αυτών των συστηµάτων είναι η αποτελεσµατική επεξεργασία των δεδοµένων της βάσης. Πιο συγκεκριµένα, µέσω των συστηµάτων διαχείρισης βάσεων δεδοµένων, µπορούµε να υλοποιήσουµε και να διαχειριστούµε οποιαδήποτε βάση. ∆ιακρίνουµε τρία στάδια:

1)Τη σχεδίαση και υλοποίηση της βάσης. Το στάδιο αυτό πραγµατοποιείται από τον προγραµµατιστή ο οποίος αφού αναλύσει

(7)

εργαλεία ανάπτυξης. Το στάδιο αυτό πραγµατοποιείται µόνο µια φορά και απαιτεί ιδιαίτερη προσοχή, καθώς µια εσφαλµένη σχεδίαση, είναι δυνατόν να οδηγήσει σε αναποτελεσµατική διαχείριση των δεδοµένων, κάτι που µακροπρόθεσµα θα κοστίσει, τόσο χρόνο, όσο και χρήµα.

2)Την καταχώρηση των δεδοµένων στη βάση του συστήµατος.

Μετά τη σωστή σχεδίαση και υλοποίηση της βάσης, µπορούµε πλέον να καταχωρήσουµε σε αυτή τα δεδοµένα του συστήµατος για το οποίο υλοποιήθηκε. Η διαδικασία της καταχώρησης γίνεται µε τη βοήθεια κατάλληλα σχεδιασµένων φορµών,

και µπορεί να πραγµατοποιηθεί από οποιονδήποτε.

3)Τη διαχείριση των δεδοµένων της βάσης. Η διαχείριση αυτή περιλαµβάνει µια σειρά από δραστηριότητες όπως την ανάκτηση δεδοµένων που πληρούν συγκεκριµένα κριτήρια αναζήτησης, τη δηµιουργία αντιγράφων ασφαλείας, και τη µέριµνα για τη σωστή συντήρηση της βάσης εφ’ όσον η δυνατότητα αυτή παρέχεται από το σύστηµα διαχείρισης βάσεων δεδοµένων που χρησιµοποιούµε.

Κατά καιρούς έχουν εµφανιστεί στην αγορά πολλά συστήµατα διαχείρισης βάσεων δεδοµένων, από πολλές εταιρείες, τα οποία ποικίλλουν, τόσο στη σχεδίαση και διαχείριση της βάσης, όσο και στις δυνατότητες που προσφέρουν. Τα πιο γνωστά και ευρέως χρησιµοποιούµενα συστήµατα διαχείρισης βάσεων δεδοµένων είναι η Microsoft Access, η Oracle, η Informix, η Sybase, και παλαιότερα η dBase III plus και η dBase IV.

Από τα µοντέρνα συστήµατα διαχείρισης, η Microsoft Access χρησιµοποιείται κυρίως για την ανάπτυξη και διαχείριση βάσεων δεδοµένων σε προσωπικούς υπολογιστές και σε επιχειρήσεις µεσαίου µεγέθους, ενώ η Oracle και η Sybase, χρησιµοποιούνται σε µεγάλες επιχειρήσεις, και υποστηρίζουν πολλούς χρήστες, πολλές ταυτόχρονες προσπελάσεις πάνω στα ίδια δεδοµένα, καθώς και αποµακρυσµένη πρόσβαση µέσω δικτύου.

Η σχεδίαση µιας βάσης δεδοµένων περιλαµβάνει τον καθορισµό της δοµής της βάσης, των τύπων δεδοµένων που θα καταχωρούνται στη βάση, και του πλήθους και του είδους των διαδικασιών που θα εφαρµόζονται στα δεδοµένα της βάσης. Στο σηµείο αυτό θα πρέπει να αναφέρουµε ότι πριν το σχεδιασµό της βάσης, προηγείται πλήρης ανάλυση της συµπεριφοράς και των απαιτήσεων του συστήµατος που πρόκειται να υλοποιήσουµε. Μιλώντας γενικά, η σχεδίαση µιας βάσης δεδοµένων, µπορεί να ορισθεί ως µια διεργασία τριών επιπέδων. Τα επίπεδα αυτά είναι, το φυσικό επίπεδο (physical level), το λογικό επίπεδο (logical level), και το επίπεδο όψης (view level). Στο φυσικό επίπεδο, η κύρια µέριµνά µας είναι ο καθορισµός του τρόπου µε τον οποίο τα δεδοµένα της βάσης θα αποθηκεύονται στο σύστηµα. Στο

(8)

διαδικασίες οι οποίες χαρακτηρίζονται από µεγάλο βαθµό πολυπλοκότητας. Στο λογικό επίπεδο, τα πράγµατα είναι πιο απλά.

Εδώ ξεφεύγουµε από τις λεπτοµέρειες και την πολυπλοκότητα του φυσικού επιπέδου, και το µόνο που κάνουµε, είναι να καθορίζουµε ποια δεδοµένα θα αποθηκευτούν στη βάση του συστήµατος, και ποιες είναι οι σχέσεις που υφίστανται ανάµεσά τους. Είναι λοιπόν εύκολα αντιληπτό, πως η διαφορά ανάµεσα στο φυσικό και στο λογικό επίπεδο, έχει να κάνει µε τον τύπο διαχείρισης των δεδοµένων: στο φυσικό επίπεδο καθορίζουµε πως τα δεδοµένα θα αποθηκευτούν στη βάση του συστήµατος, ενώ στο λογικό επίπεδο, καθορίζουµε ποια είναι αυτά τα δεδοµένα. Τέλος, στο επίπεδο όψης, καθορίζουµε εκείνο το τµήµα της βάσης που θα είναι ορατό σε κάθε χρήστη. Αυτό κυρίως βρίσκει εφαρµογή σε µεγάλες βάσεις δεδοµένων µε πολύπλοκη σχεδίαση και µεγάλο αριθµό χρηστών.

Ο καθορισµός και η διαχείριση της δοµής της βάσης πραγµατοποιούνται µε τη βοήθεια ειδικών γλωσσών προγραµµατισµού.

Οι γλώσσες αυτές, χαρακτηρίζονται ως γλώσσες τέταρτης γενιάς (4th Generation Languages, 4GL), διότι σε αντίθεση µε τις συµβατικές γλώσσες προγραµµατισµού – όπως είναι η Pascal και η Basic – δεν υλοποιούν πολύπλοκες λειτουργίες χαµηλού επιπέδου, αλλά το µόνο που κάνουν είναι να ανακτούν δεδοµένα από τη βάση του συστήµατος, χωρίς ο χρήστης να γνωρίζει πως λαµβάνει χώρα αυτή η διαδικασία.

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

Η καταχώρηση δεν απαιτεί ειδικές γνώσεις πληροφορικής, και µπορεί να γίνει από οποιοδήποτε χρήστη, µε µικρή σχετικά εκπαίδευση πάνω στη λειτουργία του προγράµµατος. Για την καταχώρηση των δεδοµένων χρησιµοποιούνται ειδικές φόρµες που περιλαµβάνουν πλαίσια εισαγωγής δεδοµένων, συνοδευόµενα από κάποιο τίτλο, που να περιγράφει τη λειτουργία τους. Τα δεδοµένα που καταχωρούνται στη βάση, περιγράφονται από ετικέτες που συνήθως βρίσκονται πάνω, αριστερά ή δεξιά από τα πλαίσια εισαγωγής των δεδοµένων. Εκτός όµως από τα πλαίσια εισαγωγής, χρησιµοποιούµε και άλλα στοιχεία καταχώρησης δεδοµένων, όπως list boxes, combo boxes, check boxes και radio buttons. Η διαδικασία καταχώρησης δεδοµένων στη βάση του συστήµατος, διευκολύνεται σε πολύ µεγάλο βαθµό, εάν οι φόρµες µέσα από τις οποίες ο χρήστης καταχωρεί αυτά τα δεδοµένα, είναι

(9)

αφορά τη λειτουργία της, είναι σίγουρο ότι θα τροµάξει τον απλό χρήστη και θα µειώσει σηµαντικά την αποδοτικότητά του. Αντίθετα µια σωστά σχεδιασµένη εφαρµογή που ανα πάσα στιγµή θα δίνει στο χρήστη να καταλάβει τι ακριβώς πρέπει να κάνει, θα του επιτρέψει να ολοκληρώσει την εργασία του εύκολα και γρήγορα. Ο σχεδιασµός της αλληλεπίδρασης του προγράµµατος µε τους χρήστες (User Interface, UI), αποτελεί αναπόσπαστο στοιχείο κάθε εφαρµογής, και απαιτεί πολύ µεγάλη προσοχή.

Η διαχείριση των δεδοµένων της βάσης, πραγµατοποιείται ανά πάσα στιγµή µετά την υλοποίηση αυτής, και εφαρµόζεται στα δεδοµένα εκείνα που έχουν ήδη καταχωρηθεί. Η κυριότερη µορφή διαχείρισης των δεδοµένων της εφαρµογής, έχει να κάνει µε την επιλογή όσων από αυτά πληρούν κάποια κριτήρια αναζήτησης ή έχουν κάποια συγκεκριµένη τιµή. Ας πάρουµε για παράδειγµα την περίπτωση µιας βιβλιοθήκης, για την οποία έχουµε αναπτύξει µια βάση δεδοµένων.

Σε όλα τα συστήµατα διαχείρισης βάσεων δεδοµένων, η διαχείριση των δεδοµένων γίνεται µε τη βοήθεια ειδικών εργαλείων. Τα εργαλεία αυτά είναι όπως έχουµε ήδη περιγράψει η γλώσσα ορισµού δεδοµένων και η γλώσσα χειρισµού δεδοµένων. Υπάρχουν πολλές εκδόσεις και πολλές µορφές για αυτές τις γλώσσες, τα τελευταία όµως χρόνια έχει επικρατήσει ένα κοινό πρότυπο που φέρει το όνοµα δοµηµένη γλώσσα ερωταποκρίσεων (Structured Query Language, SQL).

Η γλώσσα αυτή απαντάται σε όλα ανεξαιρέτως τα συστήµατα διαχείρισης βάσεων δεδοµένων, και παρά το γεγονός ότι εµφανίζεται σε πολλές παραλλαγές, η βασική ιδέα που περιγράφει τη λειτουργία της, είναι ουσιαστικά η ίδια. Η σύνταξη και χρήση της γλώσσας SQL θα περιγραφεί µε µεγάλη λεπτοµέρεια σε επόµενο κεφάλαιο. Στο σηµείο όµως αυτό µπορούµε να αναφέρουµε, πως οι βασικές λειτουργίες που αυτή η γλώσσα επιτελεί, διαχωρίζονται σε τέσσερις µεγάλες κατηγορίες, που είναι η εισαγωγή δεδοµένων (data insertion), η διαγραφή δεδοµένων (data deletion), η ανάκτηση δεδοµένων (data retrieval) και η τροποποίηση δεδοµένων (data update).

(10)

C++ Builder 6

Η ιδιομορφία του προγράμματος καθιστούσε την ολοκλήρωση του μία δύσκολή υπόθεση. Έπρεπε να βρεθεί μία πλατφόρμα ανάπτυξης αρκετά προσαρμόσιμη ώστε να εφαρμοστεί κατάλληλα μειώνοντας τον κόπο και το χρόνο. Η λύση σε αυτό το πρόβλημα δόθηκε από την C++

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

Ο κώδικας του προγράμματος έχει σχεδιαστεί με την γλώσσα προγραμματισμού C++ και το παραθυρικό περιβάλλον του προγράμματος σε C++ Builder 6.

Η C++ Builder 6 είναι ένα ισχυρό εργαλείο για την δημιουργία παραθυρικών εφαρμογών που μας δίνει την δυνατότητα με απλές εντολές C++ και έτοιμα εργαλεία που μας προσφέρει να καταφέρνουμε εύκολα την επίτευξη του επιθυμητού αποτελέσματος. Όταν ανοίγουμε την εφαρμογή που δημιουργήσαμε, με την C++ Builder 6 παρατηρούμε εύκολα ξεκάθαρα και γρήγορα όλους τους δεσμούς δίνοντας μας την δυνατότητα να κατανοήσουμε τον κώδικα. Ο C++Builder 6 περιέχει όλα τα εργαλεία που χρειαζόμαστε για να ξεκινήσουμε να αναπτύσσουμε εφαρμογές σε C++ για Windows®, περιλαμβάνοντας ένα γραφικό περιβάλλον. Επιταχύνει τον κύκλο ανάπτυξης εφαρμογών που υλοποιούνται με το περιβάλλον C++Builder και στηρίζεται σε design- centric αρχιτεκτονική, της διαχείρισης της ποιότητας και την βελτίωση της παραγωγικότητας των ομάδων. Κατασκευάστηκε για να αυξήσει την ταχύτητα ανάπτυξης, αυτοματοποιώντας τις εργασίες που μπορούν να αποσπάσουν τις ομάδες από την ανάπτυξη εφαρμογών. Η C++Builder βοηθάει επίσης να εντοπισθούν τυχόν ζητήματα απόδοσης στην αρχή της ανάπτυξης, όταν είναι απλούστερα και λιγότερo δαπανηρά για να διορθωθούν, προσφέροντας δυνατότητες Real-Time συνεργασίας και βοήθεια που επιταχύνει την ανάπτυξη των εφαρμογών.

Τέλος, ο C++Builder υποστηρίζει ανοιχτά πρότυπα όπως είναι τα ANSI/ISO C++, Microsoft Windows®, 98, 2000, XP κ.ά.

(11)

1.4 Διάρθρωση Πτυχιακής

Στην Ενότητα 1, μέσα από την Εισαγωγή, έχουμε μία πρώτη εικόνα για το πρόγραμμα και για την ανάπυξή του. Μέσα από τις υποενότητες που περιέχονται παρουσιάζονται οι δυσκολίες που παρουσιάστηκαν καθώςκαι οι μελλοντικές προοπτικές του προγράμματος.

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

Στην Ενότητα 3, γίνεται μία λεπτομερή περιγραφή της Βάσης δεδομένων. Πσρουσιάζονται τα Διαγράμματα Ροής Δεδομένων, η Μοντελοποίηση της Βάσης Δεδομένων του προγράμματος, ο ορισμός των οντοτήτων, ο ορισμός των συσχετίσεων όπως επίσης και ο ορισμός των ιδιοτήτων.

Στην Ενότητα 4, με την ολοκληρώση του προγράμματος έχουμε συμπεράσματα που βγάλαμε με το πέρας της πτυχιακής εργασίας.

Στην Ενότητα 5, έχει σειρά ο έλεγχος του προγράμματος, ο όποιος αναπτύχθηκε κάθ’ όλη την διάρκεια της δημιουργίας του προγράμματος. Περιέχει όλα τα βασικά χαρακτηριστικά ενός λεπτομερή ελέγχου.

Στην Ενότητα 6, καθώς είναι και η τελευταία ενότητα, έχουμε την Βιβλιογραφία, το Εγχειρίδιο χρήσης όπως επίσης και τον Κώδικα του προγράμματος.

(12)

1.5 Μελλοντικές προοπτικές της ανάπτυξης

Λόγω της φύσης του, είναι εύκολο να προστεθούν πάνω του κομμάτια και να τροποποιηθούν άλλα όταν χρειαστεί. Έτσι μερικές ιδέες για την μελλοντική ανάπτυξη του προγράμματος είναι να γίνει δικτυακό, να μπορεί να σαρώνει με την βοήθεια ενός scanner και να αποθηκεύει παραστατικά και τιμολόγια και να εκτυπώνει ετικέτες Barcode για κάθε χρήση.

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

Επειδή θα πρέπει μέσα στον υπολογιστή να καταχωρούνται και τα τιμολόγια με τα παραστατικά, ένας τρόπος για την γρήγορη εξυπηρέτηση είναι η σάρωση με την βοήθεια ενός σαρωτή(scanner),η επεξεργασία της εικόνας και η αποθήκευση των δεδομένων στον υπολογιστή. Τα τελευταία χρόνια η ευρεία χρήση του barcode έδειξε ότι είναι κάτι που βοηθά τις επιχειρήσεις στην γρήγορη επεξεργασία των στοιχείων του προιόντος, οπότε θα είναι μία καλή επιλογή για μελλοντικήανάπτυξη.

(13)

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ (Τ.Ε.Ι.) ΚΑΒΑΛΑΣ

ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Σπουδαστής: Ρίζος Ευθύμιος

ΚΟΜΟΤΗΝΗ 15/06/2004

Προς: Την Βιοτεχνία Αναγόμωσης και Συναρμολόγησης Πυροσβεστήρων FIRE-X.

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

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

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

Σας Ευχαριστώ Με τιμή

Ευθ. Ρίζος Σπουδαστής

E-mail: efrizos@iiu.teikav.edu.gr

(14)

2.1 ΑΠΑΙΤΗΣΕΙΣ ΛΟΓΙΣΜΙΚΟΥ

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

Πέρα από τις απαιτήσεις που παρουσιάζονται παρακάτω, υπάρχουν και απαιτήσεις οι οποίες θα πρέπει να υλοποιηθούν και τυγχάνουν υψηλής σημασίας, όπως είναι:

Α) Επεκτάσιμή εφαρμογή.

Β) Φιλική στον χρήστη.

 Παραθυρικό περιβάλλον.

 Επικύρωση δεδομένων καταχώρησης.

 Υποστήριξη αποφυγής σφαλμάτων χρήστη.

 Δυνατότητα χρησιμοποίησης μετά από 2ωρη εκπαίδευση.

Γ) Αλληλεπιδραστική.

Δ) προστασία δεδομένων εφαρμογής.

Απαιτήσεις – Software 1) Πελατολόγιο.

Θα υπάρχει ένα πελατολόγιο που θα μπορεί ο χρήστης να επεξεργάζεται τα στοιχεία των πελατών.

i. Επεξεργασία δεδομένων πελατών.

Θα πρέπει να μπορεί ο χρήστης να εισάγει, να διαγράφει, να τροποποιεί διάφορα δεδομένα πελατών. Έτσι, μέσα στη βάση δεδομένων, θα υπάρχουν καταχωρημένα ο κωδικός του πελάτη, το επώνυμο, το όνομα, το πατρώνυμο, το Α.Φ.Μ., ο Αριθμός Δελτίου Ταυτότητας, το Επάγγελμα, η Πόλη, η Οδός/Χωριό, ο Τ.Κ., ο Κωδικός Περιοχής, το Τηλέφωνο, το Κινητό.

ii. Αντιστοίχηση πελατών με παραγγελίες.

Κάθε πελάτης θα πρέπει να μπορεί να αντιστοιχίζεται με μία ή και περισσότερες παραγγελίες. Για να γίνει μία παραγγελία, θα πρέπει να βρούμε πρώτα τον πελάτη που μας ενδιαφέρει και στην συνέχεια να τον αντιστοιχίσουμε με τα υλικά της αποθήκης.

iii. Αναζήτηση πελάτη.

Ο χρήστης θα μπορεί να κάνει αναζήτηση ενός πελάτη

(15)

γίνει με βάση το Επώνυμο του πελάτη, τον Κωδικό του και την Πόλη.

2) Διαχείριση υλικών αποθήκης.

i. Καταγραφή υλικών αποθήκης

Όλα τα υλικά της αποθήκης, πρέπει να είναι καταγεγραμμένα μέσα στην βάση δεδομένων και θα πρέπει ανάλογα με την παραγγελία να αφαιρείται και το κατάλληλο πλήθος των υλικών. Ένα υλικό που δεν υπάρχει μέσα στην αποθήκη δεν θα μπορεί εισαχθεί σε μία παραγγελία.

ii. Επεξεργασία υλικών αποθήκης.

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

iii. Εισαγωγή ορίου ασφαλείας.

Για περισσότερη ασφάλεια, θα μπορεί ο χρήστης να εισάγει ένα όριο ασφαλείας στο πλήθος των υλικών της αποθήκης για να γνωρίζει ανά πάσα στιγμή σε ποια υλικά χρειάζεται να γίνει παραγγελία. Έτσι δεν θα βρεθεί ποτέ προ εκπλήξεως και τα αποθέματα της αποθήκης θα βρίσκονται πάντα σε ασφαλή όρια.

3) Παραγγελίες.

Θα μπορεί ο χρήστης να δημιουργήσει μία παραγγελία με τα υπάρχοντα υλικά της αποθήκης. Με την παραγγελία, θα καταγράφεται στην βάση δεδομένων ο κωδικός παραγγελίας, η ημερομηνία παραγγελίας, ο κωδικός του πελάτη, το επώνυμό του όνομά του και τα στοιχεία των υλικών της αποθήκης.

i. Αντιστοίχηση πελατών με υλικά αποθήκης.

Στην παραγγελία θα γίνεται αντιστοίχηση πελάτη με υλικά αποθήκης. Επίσης θα μπορεί ο χρήστης αργότερα να εκτυπώσει την παραγγελία.

ii. Ενημέρωση για Εκκρεμμούσες παραγγελίες.

Όταν περάσει κάποιο χρονικό διάστημα(ένα έτος) θα μπορεί ο χρήστης να ενημερωθεί ποιες παραγγελίες είναι πιθανές στο άμεσο μέλλον. Δηλαδή παραγγελίες που έγιναν ένα έτος πριν και είναι πιθανόν να θέλουν

(16)

έχουν διεκπεραιωθει.

4) Διαχείρηση παραγγελιών.

Κατά την δημιουργία μίας παραγγελίας, θα γίνεται πρώτα έλεγχος του ορίου ασφαλείας δηλαδή αν υπάρχει το αντίστοιχο απόθεμα στην αποθήκη και εφόσον το υπάρχει το απόθεμα, θα αφαιρείται από την αποθήκη η αντίστοιχη ποσότητα.

5) Μητρώο κατεστραμμένων πυροσβεστήρων.

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

6) Εκτυπώσεις στο πρόγραμμα.

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

i. Εκτύπωση της λίστας πελατών.

ii. Εκτύπωση της λίστας των υλικών της αποθήκης.

iii. Εκτύπωση των Εκκρεμών παραγγελιών.

iv. Εκτύπωση του Ημερολογίου.

7) Ημερολόγιο του προγράμματος.

Το ημερολόγιο είναι μία προσωπική ατζέντα όπου θα μπορούν να καταγραφούν διάφορα επαγγελματικά ραντεβού αλλά και δουλείες όπως η πληρωμή λογαριασμών(τράπεζες, ΔΕΗ, ΟΤΕ, κλπ.). Οι υπενθυμίσεις της ημέρας θα μπορούν να εκτυπώνονται.

(17)

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

1) Πελατολόγιο – Επεξεργασία δεδομένων πελατών.

Υπηρεσία: Επεξεργασία στοιχείων πελατών.

Περιγραφή: Θα μπορεί ο χρήστης να εισάγει, να διαγράψει αλλά και να τροποποιήσει τα στοιχεία ενός πελάτη.

Είσοδος: Τα στοιχεία του πελάτη θα επεξεργάζονται στην κατάλληλη φόρμα που υπάρχει στο πρόγραμμα.

Έξοδος: Με το πέρας της εργασίας η βάση δεδομένων θα

ανανεώνεται αμέσως και η ανανέωση θα είναι εμφανής στον χρήστη.

Προορισμός: Ο βασικός στόχος του πελατολογίου είναι η βάση δεδομένων του προγράμματος.

Προϋπόθεση: Θα πρέπει τα στοιχεία που καταγράφονται να είναι σωστά ώστε να μην υπάρξει πρόβλημα στην λειτουργία του προγράμματος.

Απαίτηση: Να υπάρχει πελάτης.

Πλευρικά Φαιν.: Να μην καταγραφούν σωστά θα δεδομένα.

(18)

Υπηρεσία: Αντιστοίχηση πελατών με παραγγελίες.

Περιγραφή: Κάθε πελάτης θα μπορεί να αντιστοιχίζεται με μία ή και περισσότερες παραγγελίες. Έτσι θα δημιουργείται μία παραγγελία.

Είσοδος: Τα στοιχεία της παραγγελίας του πελάτη. Κωδικός παραγγελίας, Ημερομηνία, Κωδικός πελάτη, Επώνυμο πελάτη, όνομα, τα υλικά της παραγγελίας και το συνολικό κόστος.

Έξοδος: Καταγραφή στην βάση δεδομένων όλων των παραπάνω στοιχείων.

Προορισμός: Στην βάση δεδομένων του προγράμματος.

Προϋπόθεση: Να υπάρχουν σωστά καταχωρημένα τα στοιχεία του πελάτη και της παραγγελίας.

Απαίτηση: Να γίνει η αντιστοίχηση του πελάτη με τα υλικά της παραγγελίας.

Πλευρικά φαιν.: Λάθος στα δεδομένα εισαγωγής από τον χρήστη.

(19)

3) Πελατολόγιο – Αναζήτηση πελάτη.

Υπηρεσία: Αναζήτηση πελάτη.

Περιγραφή: Θα γίνεται αναζήτηση ενός πελάτη με βάση το Επώνυμο ή το Κωδικό ή την Πόλη. Η αναζήτηση θα γίνεται

“έξυπνα”, χωρίς να χρειάζεται να πληκτρολογηθεί όλο το Επώνυμο ή Κωδικός ή Πόλη.

Είσοδος: Τα στοιχεία του πελάτη που θα αναζητήσουμε.

Έξοδος: Το πλήθος το αποτελεσμάτων της αναζήτησης μέσα στο προκαθορισμένο πίνακα.

Προορισμός: Η οθόνη του υπολογιστή.

Προϋπόθεση: Να υπάρχει ο πελάτης με τα αντίστοιχα στοιχεία.

Απαίτηση: Να εμφανίσει το επιθυμητό αποτέλεσμα.

Πλευρικά φαιν.: Να εισαχθούν λάθος δεδομένα από λάθος του χρήστη.

(20)

Υπηρεσία: Καταγραφή υλικών αποθήκης.

Περιγραφή: Όλα τα υλικά της αποθήκης, πρέπει να είναι καταγεγραμμένα μέσα στην βάση δεδομένων ώστε να χρησιμοποιηθούν σε μία παραγγελία.

Είσοδος: Τα στοιχεία των υλικών της αποθήκης. Θα καταγράφεται ο κωδικός του υλικού, το είδος, η ποσότητα, η τιμή, και σε περίπτωση που υπάρχουν κάποια σχόλια.

Έξοδος: Εμφάνιση στα υλικά της αποθήκης τα στοιχεία του υλικού που επεξεργαστήκαμε.

Προορισμός: Η βάση δεδομένων των στοιχείων που καταχωρούνται μέσα στο πρόγραμμα.

Προϋπόθεση: Να υπάρχει το αντίστοιχο υλικό που θα πρέπει να εισάγουμε.

Απαίτηση: Όταν θα γίνεται μία παραγγελία, θα πρέπει να αφαιρείται και το αντίστοιχο πλήθος των υλικών.

Πλευρικά φαιν.: Λάθος στην εισαγωγή των στοιχείων από τον χρήστη.

(21)

5) Επεξεργασία υλικών αποθήκης.

Υπηρεσία: Επεξεργασία υλικών αποθήκης.

Περιγραφή: Θα μπορεί ο χρήστης να εισάγει, να διαγράφει και να επεξεργάζεται τα στοιχεία των υλικών που επιθυμεί.

Είσοδος: Τα στοιχεία των υλικών που θα επεξεργαστούν.

Έξοδος: Στην βάση δεδομένων του προγράμματος.

Προορισμός: Στην οθόνη του υπολογιστή και στην βάση δεδομένων του προγράμματος.

Προϋπόθεση: Να υπάρχουν υλικά που θα πρέπει να τροποποιηθούν τα στοιχειά τους.

Απαίτηση: Να γίνεται η σωστή επεξεργασία των στοιχείων των υλικών.

Πλευρικά φαιν.: Να επεξεργάζονται σωστά τα δεδομένα.

(22)

Υπηρεσία: Εισαγωγή ορίου ασφαλείας.

Περιγραφή: Ο χρήστης εισάγει ένα όριο ασφαλείας στα υλικά αποθήκης, ώστε να μπορεί να γνωρίζει σε ποια προϊόντα έχει έλλειψη για να τα παραγγείλει.

Είσοδος: Ο αριθμός του ορίου ασφαλείας που κρίνει αναγκαίο ο χρήστης.

Έξοδος: Εμφάνιση των προϊόντων που είναι κάτω από το ορισμένο όριο ασφαλείας.

Προορισμός: Στον αντίστοιχο πίνακα βλέπουμε τα προϊόντα που έχουν έλλειψη.

Προϋπόθεση: Θα πρέπει να υπάρχουν υλικά που είναι κάτω από το όριο για να εμφανιστούν στην λίστα.

Απαίτηση: Να εμφανιστούν τα υλικά που είναι κάτω από το όριο.

Πλευρικά φαιν.: Να μην γίνει εμφάνιση του αναμενόμενου αποτελέσματος στην οθόνη.

(23)

7) Παραγγελίες – Αντιστοίχηση πελατών με υλικά αποθήκης.

Υπηρεσία: Αντιστοίχηση πελατών με υλικά αποθήκης.

Περιγραφή: Κατά την δημιουργία μίας παραγγελίας κάθε πελάτης αντιστοιχίζεται με ένα ή και περισσότερα υλικά που βρίσκονται στην αποθήκη.

Είσοδος: Ο κωδικός παραγγελίας, τα υλικά της αποθήκης και τα στοιχεία του πελάτη.

Έξοδος: Δημιουργία στην βάση δεδομένων η αντιστοίχηση πελάτη – υλικών.

Προορισμός: Η βάση δεδομένων του προγράμματος.

Προϋπόθεση: Να υπάρχει πελάτης και υλικά μέσα στην αποθήκη.

Απαίτηση: Να γίνει η αντιστοίχηση.

Πλευρικά φαιν.: Να μην υπάρχουν τα υλικά στην αποθήκη.

(24)

Υπηρεσία: Εκκρεμμούσες παραγγελίες.

Περιγραφή: Με βάση την ημερομηνία στην δημιουργία μίας παραγγελίας, μπορεί ο χρήστης να ενημερωθεί μέτα από ένα χρόνο, ποια παραγγελία εκκρεμεί έτσι ώστε να ενημερώσει τον πελάτη για την αναγόμωση ή ακόμα και για την συντήρηση μίας εγκατάστασης.

Είσοδος: Η ημερομηνία που θέλουμε να ελέγξουμε για την παραγγελία.

Έξοδος: Εμφάνιση του αποτελέσματος της αναζήτησης.

Προορισμός: Στον αντίστοιχο πίνακα της φόρμας.

Προϋπόθεση: Να υπάρχει η παραγγελία με την ημερομηνία στην Βάση δεδομένων.

Απαίτηση: Εμφάνιση του επιθυμητού αποτελέσματος.

Πλευρικά φαιν.: Να μην υπάρχει στην βάση δεδομένων η αντίστοιχη ημερομηνία καταχωρημένη.

(25)

9) Έλεγχος αποθεμάτων και Αφαίρεση ποσότητας παραγγελίας.

Υπηρεσία: Διαχείριση παραγγελιών.

Περιγραφή: Κατά την δημιουργία μίας παραγγελίας γίνεται πρώτα έλεγχος για να δούμε αν υπάρχει το αντίστοιχο απόθεμα στην αποθήκη και στην συνέχεια αφαιρούμε την ποσότητα της παραγγελίας από την αποθήκη.

Είσοδος: Η ποσότητα των τεμαχίων που θα παραγγείλουμε.

Έξοδος: Εμφάνιση του αποτελέσματος του ελέγχου.

Προορισμός: Στον αντίστοιχο πίνακα της φόρμας.

Προϋπόθεση: Να υπάρχει το κατάλληλο απόθεμα στην αποθήκη.

Απαίτηση: Εμφάνιση του επιθυμητού αποτελέσματος.

Πλευρικά φαιν.: Να μην υπάρχει το αντίστοιχο απόθεμα στην βάση.

(26)

Υπηρεσία: Μητρώου ενημέρωσης κατεστραμμένων πυροσβεστήρων.

Περιγραφή: Κατά την αναγόμωση των πυροσβεστήρων, γίνεται έλεγχος στο σώμα της φιάλης αλλά και στα υπόλοιπα μέρη για διαπιστωθεί ότι βρίσκονται σε καλή κατάσταση.

Ο έλεγχος είναι οπτικός για φθορές, σκουριές αλλά και έλεγχος με υδραυλική δοκιμή.

Είσοδος: Ο κωδικός του πυροσβεστήρα, και η αιτιολογία της καταστροφής.

Έξοδος: Καταγραφή στην βάση δεδομένων του προγράμματος η αντίστοιχη εγγραφή.

Προορισμός: Στην αντίστοιχη φόρμα με τον πελάτη εμφανίζονται οι κωδικοί των πυροσβεστήρων με το πρόβλημά τους.

Προϋπόθεση: Η ύπαρξη πυροσβεστήρα με πρόβλημα.

Απαίτηση: Να γίνει η καταγραφή του προβλήματος.

Πλευρικά φαιν.: Να μην υπάρχει χαλασμένος πυροσβεστήρας.

(27)

11)Εκτυπώσεις στο πρόγραμμα.

Υπηρεσία: Εκτυπώσεις στο πρόγραμμα.

Περιγραφή: Σε όλο το πρόγραμμα σε διάφορες φόρμες, υπάρχει η δυνατότητα εκτύπωσης της απαραίτητης λίστας. Μπορεί η λίστα να είναι με τους πελάτες, τα υλικά της αποθήκης, εκκρεμμούσες παραγγελίες, το ημερολόγιο, παραγγελίες.

Είσοδος: Η λίστα με τα στοιχεία που θέλουμε να εκτυπώσουμε στην αντίστοιχη φόρμα.

Έξοδος: Η εκτύπωση της λίστας στον εκτυπωτή.

Προορισμός: Ο εκτυπωτής του συστήματός μας.

Προϋπόθεση: Να έχουμε έναν εκτυπωτή συνδεμένο με το σύστημά μας ώστε να γίνει και ή εκτύπωση.

Απαίτηση: Να γίνει η εκτύπωση.

Πλευρικά φαιν.: Να μην συνδεδεμένος ο εκτυπωτής ή να μην τον έχουμε τροφοδοτήσει με χαρτιά.

(28)

Υπηρεσία: Ημερολόγιο ενημέρωσης υποχρεώσεων.

Περιγραφή: Το ημερολόγιο, είναι μία φόρμα που έχει χρήση μίας κοινής ατζέντας. Ο χρήστης μπορεί να καταχωρίσει σε όποια ημερομηνία επιθυμεί επαγγελματικά ραντεβού ή ακόμα και δουλείες όπως είναι η πληρωμή λογαριασμών τραπέζης, ΔΕΗ, ΟΤΕ και άλλες.

Είσοδος: Η καταγραφή της υποχρέωσης στην ημερομηνία που επιλέγει ο χρήστης.

Έξοδος: Καταγραφή στην βάση δεδομένων η αντίστοιχη εγγραφή.

Προορισμός: Στην αντίστοιχη φόρμα του προγράμματος.

Προϋπόθεση: Να έχει γίνει μία καταγραφή στο ημερολόγιο.

Απαίτηση: Να εμφανίσει τις εγγραφές.

Πλευρικά φαιν.: Να γίνει μία εγγραφή σε λάθος ημερομηνία.

(29)

“Διαγράμματα Ροής Δεδομένων”

(30)

Διαχείριση Στοιχείων

Πελάτη

Διαχείριση Υλικών Αποθήκης

Εκκρεμούσες Παραγγελίες

Διαχείριση Εκκρεμών Παραγγελιών

Αποθήκη Πελατολόγιο

Στοιχεία

Πελάτη Στοιχεία

Υλικού Στοιχεία

Εκκρεμούσας

Στοιχεία

Πελατών Στοιχεία

Πελατών Στοιχεία

Υλικών Στοιχεία Υλικών

Στοιχεία

Εκκρεμών Στοιχεία Εκκρεμών

Χειριστής Η/Υ

“Διαγράμματα Ροής Δεδομένων”

(31)

Χειριστής Η/Υ

Διαχείριση Εγγραφών Ημερολογίου

Ημερολόγιο

Στοιχεία

Ημέρας Στοιχεία Ημέρας Στοιχεία Ημέρας

Διαχείριση Μητρώου

Μητρώο Κατεστραμμένων

Πυρ/ων

Στοιχεία Μητρώου

Στοιχεία

Μητρώου Στοιχεία Μητρώου

Χειριστής Η/Υ

“Διαγράμματα Ροής Δεδομένων”

(32)
(33)

3.2 Μοντελοποίηση της Βάσης Δεδομένων του προγράμματος.

Ένα σύστημα βάσεως δεδομένων πρέπει να αναπαριστά όλες τις οντότητες (entities) και τις μεταξύ τους σχέσεις (relationships) για τις εφαρμογές που μας ενδιαφέρουν. Το ειδικό μοντέλο που θα πρέπει να κατασκευάσουμε το βλέπουμε παρακάτω και είναι γνωστό ως μοντέλο οντοτήτων συσχετίσεων (ΜΟΣ) της εφαρμογής.

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

Επειδή οι οντότητες έχουν συχνά κάποιες συσχετίσεις μεταξύ τους πολλές φορές αυτές τις συσχετίσεις(relationships) τις παριστάνουμε είτε με σχέσεις ανάμεσα στους πίνακες των οντοτήτων ή και με ξεχωριστούς πίνακες.

Η οργάνωση της βάσης με κύριο στοιχείο τους πίνακες, είναι γνωστή ως σχεσιακή (relational). Με άλλα λόγια, το μοντέλο σχεσιακών βάσεων δεδομένων αναπαριστά τα δεδομένα σαν μία συλλογή από πίνακες.

Στη συνέχεια ακολουθεί η Λογική Σχεδίαση της Βάσης Δεδομένων(Μοντέλο Οντοτήτων Συσχετίσεων), Ορισμός Οντοτήτων Συσχετίσεων και ορίζονται τα αντικείμενα και οι ιδιότητες που ενδιαφέρουν να αποθηκευτούν στη βάση.

 Για την εγγραφή του πελάτη χρειάζονται τα εξής στοιχεία:

Το επώνυμο, το όνομα, το πατρώνυμο, το ΑΦΜ, το τηλέφωνο, το κινήτο τηλέφωνο, ο αριθμός δελτίου ταυτότητας, η δουλειά, ο κωδικός περιοχής, η πόλη, ο ταχυδρομικός κώδικας, ο κωδικός του πελάτη.

Τα παραπάνω στοιχεία, χρειάζονται για να καταχωρηθεί ο πελάτης.

Υποψήφια κλειδιά: Ο κωδικός του πελάτη, το ΑΦΜ και ο αριθμός δελτίου ταυτότητας.

Ο κωδικός του πελάτη καλύπτει τις απαιτήσεις για ένα πρωτεύον κλειδί.

(34)

 Για την παραγγελία τα στοιχεία που ενδιαφέρουν είναι τα εξής:

Ο κωδικός της παραγγελίας, ο ξεχωριστός κωδικός της βάσης, το είδος του υλικού, τα τεμάχια, ο κωδικός του πελάτη, η τιμή, η ημερομηνία, η ημερομηνία λήξης, το άθροισμα της παραγγελίας.

Υποψήφια κλειδιά: Ο κωδικός παραγγελίας και ο κωδικός της βάσης.

Ο κωδικός παραγγελίας, καλύπτει τις απαιτήσεις για ένα πρωτεύον κλειδί.

 Για την αποθήκη, χρειάζονται τα εξής στοιχεία:

Ο κωδικός του είδους, ο κωδικός της βάσης, το είδος, η τιμή, τα τεμάχια και τα διάφορα σχόλια για το υλικό.

Υποψήφια κλειδιά: Ο κωδικός του είδους και ο κωδικός της βάσης.

Ο κωδικός του είδους της αποθήκης, καλύπτει τις απαιτήσεις για ένα πρωτεύον κλειδί.

 Για το μητρώο κατεστραμμένων πυροσβεστήρων, χρειάζονται τα παρακάτω στοιχεία:

Ο αριθμός σειράς φιάλης, ο κωδικός της βάσης, ο κωδικός του πελάτη, η ημερομηνία και τα σχόλια.

Υποψήφια κλειδιά: Ο αριθμός σειράς φιάλης και ο κωδικός της βάσης.

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

Λογική Σχεδίαση της Βάσης Δεδομένων - Μοντέλο Οντοτήτων Συσχετίσεων(ΜΟΣ)

Από τις απαιτήσεις που δόθηκαν για τη βάση και τους περιορισμούς που ορίστηκαν προέκυψε το διάγραμμα οντοτήτων – συσχετίσεων, με το οποίο περιγράφονται οι βασικές οντότητες, οι ιδιότητές τους και οι σχέσεις που τις συνδέουν.

(35)

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

ΑΠΟΘΗΚΗ ΕΝΗΜΕΡΩΣΗ

ΜΗΤΡΩΟ ΚΑΤΕΣΤΡΑΜΜΕΝΩΝ

ΠΥΡΟΣΒΕΣΤΗΡΩΝ

id_pelath

epwnymo

adt

patrwnymo

Kwdikos_perioxhs onoma

polh

tk

thlefwno kinhto_1

id loipa_sxolia

temaxia price

eidos kvdikos

id

pelaths

ΟΡΙΟ ΑΣΦΑΛΕΙΑΣ

orio

id

eidos kvdikos

temaxia

kvdikos

kodpara

ΕΝΗΜΕΡΩΣΗ _1

Μ Ν

1 Μ

1

N Μ

N

Id_pelath hmnia hmnialh3hs sum

ΕΛΕΓΧΕΙ

(36)
(37)

3.3 Ορισμός οντοτήτων

Από το παραπάνω διάγραμμα, αρχικά περιγράφονται οι βασικές οντότητες που σχεδιάστηκαν.

1. ΠΕΛΑΤΗΣ

Όνομα ΠΕΛΑΤΗΣ Τύπος Οντότητα

Περιγραφή Δημιουργείται ένας πίνακας, ΠΕΛΑΤΗΣ, που περιέχει όλα τα στοιχεία που περιγράφουν ένα πελάτη.

Περιεχόμενα Οι ιδιότητες afm, job, kwdikos_perioxhs, polh, adt, patrwnymo, thlefwno, kinhto_1, id_pelath, tk, onoma, epwnymo.

Περιορισμοί To afm, ο adt και το id_pelath πρέπει να είναι μοναδικά.

2. ΠΑΡΑΓΓΕΛΙΕΣ

Όνομα ΠΑΡΑΓΓΕΛΙΕΣ Τύπος Οντότητα

Περιγραφή Δημιουργείται ένας πίνακας, ΠΑΡΑΓΓΕΛΙΕΣ, που περιέχει όλα τα στοιχεία που περιγράφουν μία παραγγελία.

Περιεχόμενα Οι ιδιότητες id, kodpara, kvdikos, eidos, temaxia, id_pelath, hmnia, hmnialh3hs, sum

Περιορισμοί To id και ο kodpara πρέπει να είναι μοναδικά.

Για να γίνει μία παραγγελία θα πρέπει να έχει γίνει πρώτα η εγγραφή του πελάτη.

3. ΑΠΟΘΗΚΗ

Όνομα ΑΠΟΘΗΚΗ Τύπος Οντότητα

Περιγραφή Δημιουργείται ένας πίνακας, ΑΠΟΘΗΚΗ, που περιέχει όλα τα στοιχεία που περιγράφουν μία αποθήκη.

Περιεχόμενα Οι ιδιότητες loipa_sxolia, kvdikos, id, temaxia, price, eidos.

Περιορισμοί Ο kvdikos και το id πρέπει να είναι μοναδικά.

Referências

Documentos relacionados

2 Οι οδηγοί ορθής υγιεινής πρακτικής θα πρέπει να περιλαμβάνουν τις δέουσες πληροφορίες σχετικά με τις πηγές κινδύνου που είναι δυνατό να προκόψουν κατά την πρωτογενή παραγωγή και τις