1
ΔΙΑΓΡΑΜΜΑΤΑ ΡΟΗΣ ΔΕΔΟΜΕΝΩΝ Τα Διαγράμματα Ροής Δεδομένων - ΔΡΔ (Data Flow Diagrams - DFDs) (DeMarco[79]) αναπαριστούν ένα σύστημα λογισμικού με βάση τα δεδομένα που παράγονται ή διακινούνται σ’ αυτό. Αποτελούν μια λογική αναπαράσταση του συστήματος, χωρίς να περιέχουν πληροφορίες για το υλικό, το λογισμικό ή τα αρχεία που το αποτελούν. Για τους λόγους αυτούς, τα ΔΡΔ είναι κατάλληλα για την κατανόηση της λειτουργίας του συστήματος και από μη ειδικούς. Σε κάθε ΔΡΔ αναπαρίσταται η πορεία (ροή) που ακολουθεί κάθε τμήμα δεδομένων από το σημείο δημιουργίας του, έως το σημείο εξόδου από το σύστημα. Στο Σχήμα 2.1 σας υπενθυμίζουμε τα σύμβολα που χρησιμοποιούνται πιο συχνά σε ένα ΔΡΔ. Η βασική οντότητα είναι η ροή δεδομένων (data flow), η οποία απεικονίζει την ανταλλαγή δεδομένων ανάμεσα στα συστατικά μέρη του συστήματος. Τα δεδομένα εισέρχονται στο σύστημα από τις πηγές δεδομένων (data sources) και εγκαταλείπουν το σύστημα στις καταβόθρες δεδομένων (data sinks). Οι δύο αυτές οντότητες αναπαριστούν το περιβάλλον του συστήματος.
P1 S1
ΠΗΓΗ ή ΚΑΤΑΒΟΘΡΑ
D1
ΑΠΟΘΗΚΗ ΔΕΔΟΜΕΝΩΝ
ΔΙΕΡΓΑΣΙΑ ΡΟΗ ΔΕΔΟΜΕΝΩΝ
Σχήμα 2.1. Τα σύμβολα των ΔΡΔ Σύμφωνα με τα ΔΡΔ, ένα σύστημα θεωρείται ότι επεξεργάζεται πληροφορίες που παράγουν οι πηγές και στέλνει τα αποτελέσματα στις καταβόθρες. Οι οντότητες του συστήματος που εκτελούν την επεξεργασία καλούνται διεργασίες (processes). Μέσα σ' ένα σύστημα λογισμικού, οι ροές δεδομένων εισέρχονται σε μια διεργασία, υφίστανται την κατάλληλη επεξεργασία και εξέρχονται από αυτή. Τέλος, πολλές φορές είναι απαραίτητη η προσωρινή ή όχι αποθήκευση των δεδομένων σε οντότητες που λέγονται αποθήκες δεδομένων (data stores). Με τις αποθήκες δεδομένων επικοινωνούν μόνο οι διεργασίες, οι οποίες είτε γράφουν είτε διαβάζουν δεδομένα (δηλαδή δεν επιτρέπεται να συνδεθούν απευθείας δύο αποθήκες δεδομένων χρησιμοποιώντας μια ροή δεδομένων).
1
2
Ασκηση 1 Πριν προχωρήσουμε στην κατασκευή ΔΡΔ, προσπαθήστε να διευκρινίσετε το ρόλο των οντοτήτων που αποτελούν ένα ΔΡΔ χαρακτηρίζοντας καθένα από τους παρακάτω ισχυρισμούς ως "σωστό" ή "λάθος". Σ
Λ
Σ
Λ Χ Χ
Μια διεργασία αναπαριστά ένα πρόγραμμα Μια αποθήκη δεδομένων είναι ισοδύναμη με ένα αρχείο Μια ροή δεδομένων αναπαριστά δεδομένα που ανταλλάσσονται Μια αποθήκη δεδομένων είναι ένα σημείο φύλαξης δεδομένων Απάντηση Οι σωστές απαντήσεις έχουν σημειωθεί στον πίνακα που ακολουθεί: Μια διεργασία αναπαριστά ένα πρόγραμμα Μια αποθήκη δεδομένων είναι ισοδύναμη με ένα αρχείο Μια ροή δεδομένων αναπαριστά δεδομένα που ανταλλάσσονται Μια αποθήκη δεδομένων είναι ένα σημείο φύλαξης δεδομένων
Χ Χ
Ας σημειωθεί ότι μια διεργασία δεν αναπαριστά απαραίτητα ένα πρόγραμμα υπολογιστή. Μπορεί να αναπαριστά ένα πρόγραμμα, αλλά και μια ομάδα προγραμμάτων, ένα τμήμα του λογισμικού, ή και μια εργασία που εκτελείται χωρίς το λογισμικό. Ομοίως, μια αποθήκη δεδομένων δεν αντιστοιχεί σε ένα αρχείο, αλλά μπορεί να αναπαριστά ένα αρχείο, αλλά και μια βάση δεδομένων, μια εγγραφή ή ένα πεδίο. Μια ροή δεδομένων αναπαριστά δεδομένα που βρίσκονται σε κίνηση, ενώ σε μια αποθήκη δεδομένων, αυτά βρίσκονται αποθηκευμένα: πρόκειται για δύο διαφορετικές καταστάσεις της ίδιας οντότητας (δεδομένα).
ΚΑΤΑΣΚΕΥΗ ΕΝΟΣ ΔΡΔ Ενα σύστημα μπορεί να αναπαρασταθεί με ΔΡΔ σε οποιοδήποτε επίπεδο λεπτομέρειας. Συνήθως, στο πρώτο βήμα (Διάγραμμα Μηδενικού Επιπέδου) αναπαριστούμε το σύστημα με ένα ΔΡΔ που έχει μόνο μια διεργασία, στην οποία εισέρχονται οι ροές δεδομένων που προέρχονται από το περιβάλλον του συστήματος, και από την οποία εξέρχονται οι ροές δεδομένων προς το περιβάλλον (το περιβάλλον αναπαρίσταται με πηγές και καταβόθρες δεδομένων). Στη συνέχεια, η διεργασία αυτή αναλύεται σε άλλες διεργασίες, και κάθε διεργασία αναλύεται με τη σειρά της, έως 2
3
ότου φτάσουμε σε ένα ικανοποιητικό επίπεδο λεπτομέρειας. Για παράδειγμα, ένα σημείο τερματισμού της ανάλυσης ορίζεται ως το επίπεδο όπου κάθε περιεχόμενη διεργασία μπορεί να περιγραφεί με ακρίβεια το πολύ σε μια σελίδα. Η διαδικασία κατασκευής ενός ΔΡΔ φαίνεται καλύτερα στη μελέτη περίπτωσης που ακολουθεί. Μελέτη περίπτωσης Ο κ. Νικολόπουλος είναι ιδιοκτήτης μιας βιοτεχνίας παραγωγής παιδικών ρούχων. Εδώ και δέκα χρόνια η βιοτεχνία λειτουργούσε ως μια οικογενειακή επιχείρηση με σχετικά μικρό τζίρο, απασχολούσε δε και δύο υπαλλήλους. Τον τελευταίο χρόνο, όμως, η Ελένη, κόρη του κ. Νικολόπουλου, ανέλαβε τη διεύθυνση της επιχείρησης. Η Ελένη προχώρησε σε αναδιοργάνωση της επιχείρησης και παράλληλα προώθησε νέα προϊόντα στην αγορά, κάτω από την επωνυμία CHILDWARE, με αποτέλεσμα ο κύκλος εργασιών της βιοτεχνίας να μεγαλώσει και να προσληφθούν νέοι εργαζόμενοι. Ταυτόχρονα, η Ελένη αποφάσισε τη μηχανοργάνωση της επιχείρησης σε δύο στάδια: πρώτα θα μηχανοργανωθεί δοκιμαστικά το τμήμα μισθοδοσίας, και έπειτα η αποθήκη και τα καταστήματα πώλησης. Για το σκοπό αυτό, η Ελένη αποφάσισε να συνεργαστεί με την εταιρεία πληροφορικής Thundersoft, η οποία ανέθεσε το έργο στον Βύρωνα, έναν νέο μηχανικό λογισμικού. Ο Βύρων άρχισε αμέσως την ανάλυση του προβλήματος, και συνέλεξε τα ακόλουθα στοιχεία: Το τμήμα μισθοδοσίας είναι υπεύθυνο για τη μισθοδοσία των υπαλλήλων. Η διαδικασία που ακολουθείται είναι η εξής: από το τμήμα προσωπικού έρχονται οι “κάρτες εργασίας” των υπαλλήλων, στις οποίες αναγράφονται οι ώρες που ο καθένας τους εργάστηκε κάθε μήνα. Στο τμήμα μισθοδοσίας φυλάσσονται τα στοιχεία μισθοδοσίας του κάθε υπαλλήλου (π.χ. ωρομίσθιο, υπερωρίες, επιπλέον αμοιβές, επιδόματα κλπ). Το τμήμα υπολογίζει στο τέλος κάθε μήνα το μισθό κάθε υπαλλήλου, ενημερώνει το λογιστήριο και διανέμει τις επιταγές στους υπαλλήλους. Στο τέλος του έτους, το τμήμα διανέμει στους υπαλλήλους εκκαθαριστικά σημειώματα. Με βάση αυτές τις πληροφορίες, ο Βύρων επιχειρεί την κατασκευή ενός ΔΡΔ, το οποίο θα αποτελέσει τη βάση διαπραγμάτευσης με την Ελένη για το νέο σύστημα λογισμικού του τμήματος μισθοδοσίας. Πρώτα κατασκευάζει ένα κατάλογο των οντοτήτων που θα περιέχονται στο ΔΡΔ (Πίνακας 2.1) και το Διάγραμμα Μηδενικού Επιπέδου (Σχήμα 2.2), στο οποίο φαίνεται ότι στη μισθοδοσία ρέουν δεδομένα από το 3
4
τμήμα προσωπικού, ενώ από αυτό ρέουν δεδομένα προς τους υπαλλήλους και το λογιστήριο.
S1
ΤΜΗΜΑ ΠΡΟΣΩΠΙΚΟΥ
P0 ΤΜΗΜΑ ΜΙΣΘΟΔΟΣΙΑΣ
S2
S3
ΥΠΑΛΛΗΛΟΙ
ΛΟΓΙΣΤΗΡΙΟ
Σχήμα 2.2. Το Διάγραμμα Μηδενικού Επιπέδου για το τμήμα μισθοδοσίας Διεργασίες Εκτύπωση ετήσιων αναφορών Επαλήθευση στοιχείων Επεξεργασία ετήσιων στοιχείων Παραγωγή Εκτύπωση καταστάσεων μισθοδοσίας μισθοδοσίας Εκτύπωση επιταγών Ενημέρωση λογιστηρίου Διανομή επιταγών Συλλογή στοιχείων
Πηγές & Καταβόθρες Τμήμα Προσωπικού Υπάλληλοι Λογιστήριο
Αποθήκες δεδομένων Στοιχεία εργασίας Ετήσια στοιχεία Καταστάσεις Μισθοδοσίας Επιταγές Ετήσιες αναφορές
Ροές δεδομένων Τα δεδομένα ουσιαστικά διαβάζονται ή γράφονται στις αποθήκες, οπότε οι ροές έχουν τα ίδια ονόματα με τις αποθήκες
Πίνακας 2.1. Ο κατάλογος των οντοτήτων του ΔΡΔ για τη μισθοδοσία Επειτα ο Βύρων κατασκευάζει το ΔΡΔ Επιπέδου 1, στο οποίο η διεργασία “τμήμα μισθοδοσίας” αναλύεται σ’ ένα νέο ΔΡΔ (Σχήμα 2.3), το οποίο αναπαριστά τη ροή των δεδομένων μισθοδοσίας: στο σύστημα εισέρχονται από το τμήμα προσωπικού τα στοιχεία εργασίας, τα οποία αφού ελεγχθούν, χρησιμοποιούνται για την παραγωγή των καταστάσεων μισθοδοσίας και των επιταγών, ενώ στο τέλος του έτους παράγονται οι ετήσιες καταστάσεις. Ο Βύρων αγνοεί προς το παρόν τυχόν διαδικασίες αντιμετώπισης λαθών, αρχικοποίησης ή τερματισμού για να διατηρήσει το ΔΡΔ όσο απλό και κατανοητό γίνεται. Για τον ίδιο σκοπό φροντίζει σε κάθε ΔΡΔ να μην υπάρχουν πάρα πολλές διεργασίες (έρευνες έχουν δείξει ότι ένας άνθρωπος μπορεί να εργάζεται ταυτόχρονα με 7±2 διαφορετικά αντικείμενα) και αυτό να μην είναι μεγαλύτερο από μια σελίδα. Κατασκευάζει το διάγραμμα ώστε η κατεύθυνση της ροής δεδομένων να είναι από 4
5
πάνω αριστερά προς κάτω δεξιά και δίνει σε κάθε οντότητα του διαγράμματος ένα και μοναδικό όνομα. Για να υποδηλώσει τον τύπο της οντότητας, χρησιμοποιεί τα προθέματα P (για τις διεργασίες) D (για τις αποθήκες) S (για τις πηγές και τις καταβόθρες) και F (για τις ροές δεδομένων).
D1
ΣΤΟΙΧΕΙΑ ΕΡΓΑΣΙΑΣ
D2
ΕΤΗΣΙΑ ΣΤΟΙΧΕΙΑ
S1
ΤΜΗΜΑ ΠΡΟΣΩΠΙΚΟΥ P1 ΣΥΛΛΟΓΗ ΔΕΔΟΜΕΝΩΝ
P2 ΕΠΑΛΗΘΕΥΣΗ ΔΕΔΟΜΕΝΩΝ
D3 ΚΑΤΑΣΤΑΣΕΙΣ ΜΙΣΘΟΔΟΣΙΑΣ
S2
ΛΟΓΙΣΤΗΡΙΟ
P5 ΕΝΗΜΕΡΩΣΗ ΛΟΓΙΣΤΗΡΙΟΥ
D4
P3 ΕΠΕΞΕΡΓΑΣΙΑ ΜΙΣΘΟΔΟΣΙΑΣ
ΕΠΙΤΑΓΕΣ
P4 ΕΠΕΞΕΡΓΑΣΙΑ ΕΤΗΣΙΩΝ ΑΝΑΦΟΡΩΝ
D5
ΕΤΗΣΙΕΣ ΑΝΑΦΟΡΕΣ
P6 ΔΙΑΝΟΜΗ
S3
ΥΠΑΛΛΗΛΟΙ
Σχήμα 2.3. Το ΔΡΔ επιπέδου 1 Στο Σχήμα 2.4 φαίνεται το ΔΡΔ που περιγράφει αναλυτικότερα (στο επίπεδο 2) τη διεργασία “Ρ3: Επεξεργασία μισθοδοσίας”. Οταν επιχειρείται ένα τέτοιο βήμα ανάλυσης μιας διεργασίας, ο Βύρων γνωρίζει ότι πρέπει να προσέξει κάποια σημεία: • κάθε νέο διάγραμμα πρέπει να διατηρεί “τη συνέχεια της ροής”. Αυτό σημαίνει ότι όλες οι ροές που εισέρχονταν σε ή εξέρχονταν από μια διεργασία σ’ ένα ΔΡΔ επιπέδου 1, πρέπει να εμφανίζονται εισερχόμενες ή εξερχόμενες σε διεργασίες του ΔΡΔ επιπέδου 2, όπου αναλύεται αυτή η διεργασία • δεν πρέπει να υπάρχουν διεργασίες που “καταπίνουν” δεδομένα χωρίς να παράγουν έξοδο, ούτε πρέπει να υπάρχουν διεργασίες που παράγουν δεδομένα με “μαγικό” τρόπο, χωρίς να δέχονται καμία είσοδο • μια αποθήκη δεδομένων πρέπει να περιέχει όλα τα δεδομένα που, με διάφορες ροές δεδομένων, φαίνεται ότι εισέρχονται σε ή εξέρχονται από αυτή
5
6
D3
ΚΑΤΑΣΤΑΣΕΙΣ ΜΙΣΘΟΔΟΣΙΑΣ
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
ΕΙΣΟΔΟΣ ΔΕΔΟΜΕΝΩΝ
ΥΠΟΛΟΓΙΣΜΟΣ ΑΜΟΙΒΗΣ
ΥΠΟΛΟΓΙΣΜΟΣ ΕΤΗΣΙΩΝ ΔΕΔΟΜΕΝΩΝ
ΕΝΗΜΕΡΩΣΗ ΕΤΗΣΙΩΝ ΔΕΔΟΜΕΝΩΝ
ΕΚΤΥΠΩΣΗ ΕΠΙΤΑΓΩΝ
ΕΚΤΥΠΩΣΗ ΚΑΤΑΣΤΑΣΕΩΝ
D1
ΣΤΟΙΧΕΙΑ ΕΡΓΑΣΙΑΣ
D2
ΕΤΗΣΙΑ ΣΤΟΙΧΕΙΑ
D4
ΕΠΙΤΑΓΕΣ
Σχήμα 2.4. Το ΔΡΔ επιπέδου 2 Ασκηση 2 Προσπαθήστε να βάλετε στη σωστή σειρά τα βήματα κατασκευής ενός ΔΡΔ. ΤΥΧΑΙΑ ΣΕΙΡΑ Κατασκευή ΔΡΔ επιπέδου 1 Κατασκευή καταλόγου οντοτήτων του ΔΡΔ Διαδοχική ανάλυση διεργασιών Κατασκευή ΔΡΔ μηδενικού επιπέδου
ΣΩΣΤΗ ΣΕΙΡΑ 1. 2. 3. 4.
Ασκηση Αυτοαξιολόγησης 2 Η σωστή σειρά των βημάτων κατασκευής ενός ΔΡΔ είναι: 1. Κατασκευή καταλόγου οντοτήτων του ΔΡΔ 2. Κατασκευή ΔΡΔ μηδενικού επιπέδου 3. Κατασκευή ΔΡΔ επιπέδου 1 4. Διαδοχική ανάλυση διεργασιών Σκεφθείτε ότι είναι καλό να έχουμε ένα κατάλογο των οντοτήτων που θα συμπεριλάβουμε στο ΔΡΔ πριν αρχίσουμε την κατασκευή του, η οποία πρέπει να προχωρά από το γενικό (επίπεδο αναπαράστασης συστήματος) προς το ειδικό (ανάλυση συστήματος σε διεργασίες και ανάλυση διεργασιών). Δραστηριότητα 1 Προσπαθήστε
να
συνοψίσετε
τους
κανόνες
ορθής
κατασκευής,
όπως
παρουσιάστηκαν στην ενότητα αυτή. Επειτα καλό θα ήταν να ελέγξετε εάν τα ΔΡΔ που κατασκεύασε ο Βύρων ακολουθούν τους κανόνες αυτούς. Μπορείτε να χρησιμοποιήσετε τον ακόλουθο κατάλογο με τα περισσότερο συνηθισμένα σημεία στα οποία μπορεί να γίνει λάθος κατά την κατασκευή ενός ΔΡΔ: • λείπουν ονόματα οντοτήτων του ΔΡΔ • λείπουν ροές δεδομένων ή διεργασίες ή υπάρχουν άσχετες προς το σύστημα 6
7
ροές δεδομένων • ροές εισέρχονται σε αποθήκες δεδομένων χωρίς ποτέ να εξέρχονται ή από αποθήκες δεδομένων εξέρχονται ροές δεδομένων που ποτέ δεν εισήλθαν σ’ αυτές • υπάρχουν διεργασίες που έχουν μόνο εξερχόμενες ή μόνο εισερχόμενες ροές δεδομένων • το ΔΡΔ είναι πολύπλοκο και όχι ευκρινές • οι διεργασίες που επικοινωνούν με τις πηγές ή τις καταβόθρες του ΔΡΔ εκτελούν επεξεργασίες που ουσιαστικά ανήκουν στις πηγές ή τις καταβόθρες • το ΔΡΔ είναι τεχνικά ορθό, αλλά δεν αναπαριστά το σωστό σύστημα
ΤΟ ΛΕΞΙΚΟ ΔΕΔΟΜΕΝΩΝ Ενα ΔΡΔ δεν είναι από μόνο του ικανό να προδιαγράψει τις απαιτήσεις από ένα σύστημα λογισμικού, αφού δεν περιέχει περιγραφές των οντοτήτων που το αποτελούν (π.χ. τί ακριβώς περιέχεται σε μια αποθήκη δεδομένων, τί κάνει μια διεργασία κ.α.). Οι πληροφορίες αυτές περιέχονται συνήθως στο λεξικό δεδομένων - ΛΔ (Data Dictionary), ή αλλιώς λεξικό απαιτήσεων, το οποίο συνοδεύει ένα ΔΡΔ. Στη βιβλιογραφία (Yourdon[90]), το ΛΔ ορίζεται ως “ένας οργανωμένος κατάλογος όλων των στοιχείων δεδομένων που ενυπάρχουν στο σύστημα, με ακριβείς και αυστηρούς ορισμούς ώστε τόσο ο τελικός χρήστης όσο και ο μηχανικός λογισμικού να αντιλαμβάνονται με τον ίδιο τρόπο τις εισόδους και εξόδους, τα περιεχόμενα των αποθηκών δεδομένων και τους ενδιάμεσους υπολογισμούς”. Ενα ΛΔ είναι μια συλλογή δεδομένων για τα δεδομένα Το ΛΔ εξυπηρετεί πολλούς και σημαντικούς σκοπούς (Pressman[94]): • αποτελεί ένα κοινό και κατανοητό έγγραφο αναφοράς τόσο για τους τεχνικούς, όσο και τους τελικούς χρήστες • χρησιμοποιείται για τη βελτίωση της διασύνδεσης και της επικοινωνίας μεταξύ διαφορετικών τμημάτων λογισμικού (τα οποία μπορεί να αναπτύσσονται από διαφορετικές ομάδες) • διευκολύνει την κατοπινή αναβάθμιση του συστήματος λογισμικού • μπορεί να χρησιμοποιηθεί για τον έλεγχο της ορθότητας και της σωστής επεξεργασίας των δεδομένων 7
8
• αποτελεί το πρώτο βήμα δημιουργίας των βάσεων δεδομένων του συστήματος Το ΛΔ αποτελεί μια συλλογή καρτελών: κάθε μια καρτέλα περιγράφει ένα στοιχείο δεδομένων (Πίνακας 2.2). Ετσι, είναι εύκολη η ενημέρωση του ΛΔ με τυχόν αλλαγές: η νέα καρτέλα για το στοιχείο δεδομένων τοποθετείται στη θέση της παλαιάς. Ενας ενδεικτικός κατάλογος με πληροφορίες που συνήθως διατηρούνται για κάθε στοιχείο δεδομένων ενός ΛΔ είναι: •
Γενικές πληροφορίες: περιλαμβάνουν το όνομα του στοιχείου, πιθανά ψευδώνυμα (διαφορετικά ονόματα που όμως περιγράφουν ουσιαστικά το ίδιο στοιχείο) και μια λεκτική περιγραφή
•
Πληροφορίες μορφής: περιγράφουν χαρακτηριστικά αποθήκευσης και εμφάνισης του στοιχείου (π.χ. τύπος δεδομένων, μέγεθος, κ.α.)
•
Χαρακτηριστικά ελέγχου και χρήσης: περιγράφουν τους σωστούς τρόπους χρήσης του στοιχείου (π.χ. πεδίο τιμών, συχνότητα και εμβέλεια χρήσης, τιμές υπό συνθήκη, κ.α.), και δίνουν στοιχεία ελέγχου της ορθότητας χρήσης (πότε και από πού παράγεται, πού χρησιμοποιείται, ποιά διεργασία έχει δικαίωμα προσπέλασης, τροποποίησης ή διαγραφής, κ.α.)
•
Πληροφορίες για την ομάδα δεδομένων στην οποία ανήκει το στοιχείο (π.χ. σε ποιές δομές δεδομένων ανήκει ή αποθηκεύεται, κ.α.)
Γενικές Ονομα Συνώνυμα Περιγραφή Μορφή Τύπος δεδομένων Μέγεθος Πληροφορίες ομάδας Υπερκείμενη δομή Υποκείμενες δομές Δομές επανάληψης Θέση φυσικής αποθήκευσης
Πληροφορίες ελέγχου Παράγεται από: Ημερομηνία παραγωγής Χρησιμοποιείται από: Δικαιώματα τροποποίησης Δικαιώματα προσπέλασης Χαρακτηριστικά χρήσης Πεδίο τιμών Συχνότητα χρήσης Εμφάνιση Εμβέλεια Τιμές υπό συνθήκη
Πίνακας 2.2. Οι πληροφορίες που καταγράφονται σ’ ένα ΛΔ
8
9
Τα στοιχεία δεδομένων μπορεί να είναι στοιχειώδη ή σύνθετα (δηλαδή να αποτελούνται από άλλα στοιχεία δεδομένων). Τα μεν πρώτα περιγράφονται με την ερμηνεία του πεδίου τιμών τους, ενώ τα δεύτερα εκφράζονται σε σχέση με τα συστατικά τους μέρη. Υπάρχουν, γενικά, τρεις τρόποι παραγωγής σύνθετων δεδομένων: • ως μια ακολουθία στοιχείων δεδομένων: το στοιχείο Α είναι στοιχείο P και στοιχείο Q και στοιχείο R • ως επιλογή ενός στοιχείου από ένα σύνολο στοιχείων: το στοιχείο Α είναι στοιχείο P είτε στοιχείο Q είτε στοιχείο R • ως ομάδα προερχόμενη από την επανάληψη ενός στοιχείου: το στοιχείο Α είναι επανάληψη του στοιχείο P Δραστηριότητα 2 Με βάση τα προηγούμενα, προσπαθήστε να κατασκευάσετε τις καρτέλες του ΛΔ για τα στοιχεία δεδομένων “κρατήσεις” και “οικογενειακό επίδομα”. Μπορείτε να συγκρίνετε τις καρτέλες σας με αυτές που συνέταξε ο Βύρων για την επιχείρηση του κ. Νικολόπουλου (Σχήμα 2.5), οι οποίες περιέχουν τα περισσότερο σημαντικά πεδία. Ακόμη, καλό θα ήταν να ανατρέξετε σε βιβλία Τεχνολογίας Λογισμικού, για να δείτε πώς δημιουργείται ένα ΛΔ. ΟΝΟΜΑ ΠΕΡΙΓΡΑΦΗ ΤΥΠΟΣ ΠΕΔΙΟ ΤΙΜΩΝ ΕΜΦΑΝΙΣΗ ΠΑΡΑΓΕΤΑΙ ΧΡΗΣΗ ΑΠΟΘΗΚΕΥΣΗ
Κρατήσεις ΕΙΝΑΙ "ασφ. ταμείο" + "χαρτόσημο" + "παρακράτηση φόρου" Δεκαδικός Αριθμός, 2 δεκαδικά ψηφία >= 0 D2, D3 P3.2 P3.3, P3.4, P3.6 D2, D3
Οικογενειακό επίδομα ΟΝΟΜΑ ΕΙΝΑΙ "επίδομα άγαμου" ΕΙΤΕ "επίδομα έγγαμου" ΠΕΡΙΓΡΑΦΗ Δεκαδικός Αριθμός, 2 δεκαδικά ψηφία ΤΥΠΟΣ μία από {επίδομα αγάμου, επίδομα εγγάμου} ΠΕΔΙΟ ΤΙΜΩΝ D2, D3 ΕΜΦΑΝΙΣΗ P3.1 ΠΑΡΑΓΕΤΑΙ P3.3, P3.4, P3.6 ΧΡΗΣΗ ΑΠΟΘΗΚΕΥΣΗ D6 Σχήμα 2.5. Μέρος του ΛΔ για το ΔΡΔ της μισθοδοσίας
9
10
Δραστηριότητα 3 Προσπαθήστε να περιγράψετε πώς τα ΔΡΔ και το ΛΔ που κατασκεύασε ο Βύρων μπορούν να χρησιμοποιηθούν για: 1. την επικοινωνία του συστήματος λογισμικού της μισθοδοσίας με το Λογιστήριο 2. την αναβάθμιση του συστήματος με την προσθήκη μιας διεργασίας για ενημέρωση των ατομικών στοιχείων ενός υπαλλήλου Συγκρίνετε την απάντηση σας με την πρόταση του Βύρωνα, όπως περιγράφεται στο κείμενο που ακολουθεί και στο Σχήμα 2.6. Η επικοινωνία του συστήματος λογισμικού της μισθοδοσίας με αυτό του λογιστηρίου γίνεται μέσα από την αποθήκη "D3: Καταστάσεις μισθοδοσίας" (οι οποίες στέλνονται από τη μισθοδοσία στο λογιστήριο), και μέσα από την αποθήκη "D6: Ατομικά στοιχεία" (τα οποία στέλνονται από το λογιστήριο στη μισθοδοσία). Προς το παρόν, η επικοινωνία γίνεται με τις διεργασίες Ρ5 και Ρ7. Η μελλοντική πλήρης μηχανοργάνωση της επιχείρησης θα αυτοματοποιήσει τη διαδικασία ανταλλαγής δεδομένων. Η αναβάθμιση του συστήματος γίνεται με τις προσθήκες που έχουν ζωγραφιστεί με έντονες γραμμές στο Σχήμα 2.6.
D1
ΣΤΟΙΧΕΙΑ ΕΡΓΑΣΙΑΣ
D2
ΕΤΗΣΙΑ ΣΤΟΙΧΕΙΑ
S1
ΤΜΗΜΑ ΠΡΟΣΩΠΙΚΟΥ P1 ΣΥΛΛΟΓΗ ΔΕΔΟΜΕΝΩΝ
D3
ΑΤΟΜΙΚΑ ΣΤΟΙΧΕΙΑ
P7 ΕΝΗΜΕΡΩΣΗ ΑΤΟΜΙΚΩΝ ΣΤΟΙΧΕΙΩΝ
P2 ΕΠΑΛΗΘΕΥΣΗ ΔΕΔΟΜΕΝΩΝ
D3
S2
ΛΟΓΙΣΤΗΡΙΟ
P3 ΕΠΕΞΕΡΓΑΣΙΑ ΜΙΣΘΟΔΟΣΙΑΣ
ΚΑΤΑΣΤΑΣΕΙΣ ΜΙΣΘΟΔΟΣΙΑΣ P5 ΕΝΗΜΕΡΩΣΗ ΛΟΓΙΣΤΗΡΙΟΥ
D4
ΕΠΙΤΑΓΕΣ
P4 ΕΠΕΞΕΡΓΑΣΙΑ ΕΤΗΣΙΩΝ ΑΝΑΦΟΡΩΝ
D5
P6 ΔΙΑΝΟΜΗ
ΕΤΗΣΙΕΣ ΑΝΑΦΟΡΕΣ
S3
ΥΠΑΛΛΗΛΟΙ
Σχήμα 2.6. Το αναβαθμισμένο σύστημα της μισθοδοσίας
10