• Nenhum resultado encontrado

Κεφάλαιο 4. Αρχές Σχεδίασης Διεπαφής Χρήστη

4.3 Προσαρμογή στις όψεις των χρηστών για τους στόχους

4.3 Προσαρμογή στις όψεις των χρηστών για τους

4.3.4 Διατήρηση του λεξικού του χρήστη

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

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

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

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

4.3.5 Οι εσωτερικές λειτουργίες της εφαρμογής να παραμένουν κρυφές

Οι χρήστες λογισμικού δεν ενδιαφέρονται για την εσωτερική δομή της εφαρμογής.

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

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

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

4.3.6 H χρυσή τομή της ισχύος/πολυπλοκότητας (power/complexity)

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

Οι σχεδιαστές εφαρμογών τείνουν να πιστέψουν ότι “οι περισσότερες επιλογές, οι περισσότερες ρυθμίσεις και η περισσότερη ισχύ είναι καλύτερες”. Σε αντίθεση με

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

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

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

- Προεπιλογές με νόημα: Πρέπει να εξασφαλιστεί ότι κάθε ρύθμιση της εφαρμογής έχει προεπιλεγμένη τιμή. Οι χρήστες θα πρέπει να είναι σε θέση να τις αφήσουν όλες (ή τις περισσότερες) στην προεπιλεγμένη τους κατάσταση και να λαμβάνουν λογικά αποτελέσματα. Αυτό επιτρέπει στους χρήστες τις περισσότερες φορές να αγνοήσουν τις περισσότερες ρυθμίσεις.

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

- Διαδρομές οδήγησης - καθοδηγητές (wizards): Οι νέοι χρήστες συνήθως αναζητούν κάποιον να τους καθοδηγήσει στα βήματα των σύνθετων διεργασιών.

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

- Προοδευτική εμφάνιση: Σε αυτήν την τεχνική, οι λεπτομέρειες και η πολυπλοκότητα αποκρύπτονται μέχρι ο χρήστης να τις ζητήσει. Τα πεδία ελέγχου (controls) παραμένουν απενεργοποιημένα και τα μενο ύ (menu-bars) κρυφά, μέχρι να χρειαστούν. Οι σπάνια χρησιμοποιούμενες ρυθμίσεις, ή πεδία ελέγχου (controls) που απαιτούν προχωρημένες γνώσεις του λογισμικού, να αποκρύπτονται μέσα σε πεδία με ετικέτες (panels) “Λεπτομέρειες” ή “Για προχωρημένους”. Να οριστούν ονόματα και συνδυασμοί για τις ρυθμίσεις,

επιτρέποντας στους χρήστες να δουλεύουν με τα ονόματα των συνδυασμών αντί με τις διάφορες ρυθμίσεις.

- Γενικές εντολές: Ένα μικρό σύνολο εντολών χρησιμοποιείται για τη διαχείριση κάθε τύπου δεδομένων. Ένα προσεκτικά επιλεγμένο κείμενο γενικών εντολών που χαρτογραφείται σε όλους τους τύπους δεδομένων μίας εφαρμογής, μπορεί να μειώσει το απαιτούμενο πλήθος εντολών. Οι ενέργειες που πραγματοποιούνται από τους περισσότερους χρήστες υπολογιστών, μπορεί να εκφραστεί με τους όρους των εννέα παρακάτω εντολών: Δημιουργία, Άνοιγμα, Μετακίνηση, Αντιγραφή, Αποθήκευση, Διαγραφή, Εκτύπωση, Εμφάνιση/Αλλαγή ιδιοτήτων, όπως επίσης και ακολουθία συνδέσμων. Όπως περιγράφηκε στη δεύτερη βασική αρχή, ξεκινώντας την ανάπτυξη ενός εννοιακού μοντέλου μπορεί να παρατηρηθούν ποιες ενέργειες είναι πιο συνηθισμένες μεταξύ των αντικειμένων και να παρέχονται μέσω γενικών εντολών.

- Προκαθορισμένη σχεδίαση διεργασιών: Αντί να προσφέρονται στους χρήστες πολλά χαρακτηριστικά και εμπλουτισμένες εφαρμογές που προσπαθούν να υποστηρίξουν ένα ευρύ φάσμα διεργασιών, προσφέρεται μία συλλογή από μικρές εξειδικευμένες εφαρμογές, κάθε μία από τις οποίες υποστηρίζει μία διεργασία πολύ καλά. Για παράδειγμα, αντί για την ανάπτυξη μίας γενικευμένης εφαρμογής κειμενογράφου που μπορεί να χρησιμοποιηθεί για να δημιουργεί τα πάντα (από συγγραφή κειμένου και δημιουργία εταιρικών οικονομικών αναφορών μέχρι παρουσίαση διαφανειών) κατασκευάζουμε αρκετές μικρές εφαρμογές εξειδικευμένων διεργασιών. Αυτή η προσέγγιση έχει χρησιμοποιηθεί επιτυχώς για οικιακά εργαλεία και εφαρμογές.

- Προσαρμοστικότητα: Η διεπαφή χρήστη θα πρέπει να υποστηρίζει την προσαρμοστικότητα, ώστε οι χρήστες (πελάτες) να τη ρυθμίζουν και να δίνουν έμφαση στις λειτουργίες που επιθυμούν και να αποκρύπτουν τις υπόλοιπες. Θα πρέπει να παρέχεται επίσης η δυνατότητα καθορισμού των προεπιλεγμένων τιμών, του ορισμού μακροεντολών και της δημιουργίας περιγραμμάτων. Με άλλα λόγια, να παρέχεται η δυνατότητα προσαρμογής του λογισμικού στις ανάγκες των χρηστών. Ωστόσο, η προσαρμοστικότητα είναι επικίνδυνη, διότι προσπαθεί να μεταφέρει κάποιες από τις αρμοδιότητες που απλοποιούν την διεπαφή χρήστη στον χρήστη. Ωστόσο η προσπάθεια αυτή μπορεί να αποτύχει, διότι οι χρήστες μπορεί να μην επιθυμούν κάτι τέτοιο.

4.4 Σχεδιάζοντας για την συνηθέστερη περίπτωση

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

4.4.1 Τα συνηθισμένα αποτελέσματα πρέπει να επιτυγχάνονται εύκολα

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

Υπάρχουν τέσσερις τρόποι για να γίνει μία συνηθισμένη εργασία ευκολότερη. Και οι τέσσερις αναφέρθηκαν στην τρίτη βασική αρχή ως τρόποι μείωσης της πολυπλοκότητας της διεπαφής χρήστη. Προεπιλογές με νόημα (sensible defaults), κατάλογοι προτύπων και τυποποιημένες λύσεις, οδηγοί (wizards) και προσαρμοστικότητα (customizability).

4.4.2 Οι δύο κατηγορίες συνηθισμένων: “Πόσοι χρήστες” και

“Πόσο συχνά”;

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

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

- Πόσοι χρήστες χρησιμοποιούν αυτό το χαρακτηριστικό; Θα χρησιμοποιείται από όλους ή από την πλειοψηφία τους, από μία σημαντική μειοψηφία, ή σχεδόν από κανένα;

- Πόσο συχνά οι χρήστες χρησιμοποιούν αυτό το χαρακτηριστικό; Αυτοί που χρησιμοποιούν το χαρακτηριστικό το χρειάζονται κάθε λίγα δευτερόλεπτα, λεπτά, ώρες, μέρες, εβδομάδες, μήνες, ή χρόνια;

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

4.4.3 Όσο συχνότερα χρησιμοποιείται ένα χαρακτηριστικό, τόσο πιο εύκολα πρέπει να προσπελαύνεται

Χαρακτηριστικά που χρησιμοποιούνται επανειλημμένα σε σύντομα χρονικά διαστήματα δεν πρέπει να απαιτούν μεγάλη συμμετοχή από τον χρήστη για να επιδράσουν σε αυτά και να τα διαχειριστούν. Πρέπει να απαιτούν την ελάχιστη

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

4.4.4 Τα χαρακτηριστικά που χρησιμοποιούν οι περισσότεροι χρήστες πρέπει να είναι τα πιο ορατά

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

4.4.5 Συνδυασμοί: Συνηθισμένο από πολλούς, συνηθισμένο από λίγους, σπάνιο από πολλούς, σπάνιο από λίγους

Ένα ενδιαφέρον σχεδιαστικό ζήτημα εμφανίζεται όταν οι δύο διαστάσεις του

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

Περισσότερο t . Λιγότερο

εμφανή εμφανή

Από πολλούς Λπό λίγους Λίγα

κλικ Συχνά Πολύ Εμφανή Λίγα Κλικ

Λίγο Εμφανή Λίγα Κλικ Πολλά

f

Σπάνια

Λίγο Εμφανή

Περισσότερα Κρυφό. Πολλά

κλικ Κλικ Κλικ

Πίνακας 3.1. Επιθυμητή Διεπαφή Χρήστη Για χαρακτηριστικά Ανάλογα της Συχνότητας και του Πλήθους Χρηστών

4.5: Η προσοχή του χρήστη δεν πρέπει να αποσπάται από τον στόχο του.

Ο ανθρώπινος εγκέφαλος είναι πολύ καλός στην πολυεπεξεργασία (multitasking).

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

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

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

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

4.5.1 Το λογισμικό δεν πρέπει να δημιουργεί περισσότερα προβλήματα στους χρήστες

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

- Ένας φοιτητής θέλει να βάλει μία φωτογραφία στην ιστοσελίδα του, αλλά η φωτογραφία είναι σε μορφή TIFF αντί για την απαιτούμενη μορφή GIF ή JPEG.

Το λογισμικό επεξεργασίας εικόνας δεν μετατρέπει τη μορφή TIFF σε GIF ή JPEG, αλλά μετατρέπει μόνο από BMP σε GIF. Και κολλάει.

- Ένας καθηγητής προσπαθεί να δει τα νέα της κυβέρνησης κάποιας άλλης χώρα.

Πηγαίνει μέσω του προγράμματος περιήγησης ιστοσελίδων στην επίσημη

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

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

4.6 Ευκολία στην εκμάθηση.

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

4.6.1 Η λογική σκέψης “από έξω προς τα μέσα” και “από μέσα προς τα έξω”

Οι σχεδιαστές εφαρμογών συχνά σχεδιάζουν σαν να υποθέτουν ότι οι χρήστες καταλαβαίνουν αυτόματα τι σκόπευαν να φτιάξουν. Αυτός είναι ο από μέσα προς τα έξω (inside-out thinking) τρόπος σκέψης. Οι σχεδιαστές που κατασκευάζουν λογισμικό, γνωρίζουν πώς δουλεύει, ποιες πληροφορίες εμφανίζονται σε ποιο μέρος και πότε, τι σημαίνουν όλες οι πληροφορίες επάνω στην οθόνη, και τον τρόπο που αυτές εμφανίζονται από το λογισμικό. Αρκετοί σχεδιαστές σκέφτονται από μέσα προς τα έξω: χρησιμοποιούν την δική τους γνώση για το λογισμικό και κρίνουν πότε οι προβολές και οι έλεγχοι έχουν νόημα. Υποθέτουν ότι οι χρήστες αντιλαμβάνονται και κατανοούν τα πάντα με τον τρόπο που τα βλέπουν αυτοί.

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

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

4.6.2 Ο σωστός τρόπος σχεδίασης: η σκέψη από έξω προς τα μέσα

Η λογική σχεδίασης της διεπαφής χρήστη από έξω προ ς τα μέσα (outside-in) σημαίνει ότι το αποτέλεσμα της εφαρμογής γίνεται κατανοητό και στους ανθρώπους που δε γνωρίζουν όσα οι σχεδιαστές για αυτό. Αυτό δε σημαίνει ότι οι χρήστες είναι χαζοί. Πιθανότατα γνωρίζουν περισσότερα από τους σχεδιαστές σχετικά με τις λειτουργίες υποστήριξης του λογισμικού. Αυτό που δεν γνωρίζουν είναι οι στόχοι σχεδίασης, δεν γνωρίζουν τη σκοπιμότητα των μηνυμάτων των διάφορων τμημάτων της απεικόνισης, όπως επίσης και το τι εξαρτάται από τί.

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

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

4.6.3 Συνέπεια, συνέπεια, συνέπεια

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

4.6.3.1 Η συνέπεια ελαττώνει τις παγίδες

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

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

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

4.6.3.2 Κίνδυνοι της φύσης της συνέπειας

Η ενθάρρυνση των σχεδιαστών λογισμικού να φτιάξουν τη διεπαφή χρήστη

“συνεπή” είναι κάπως επικίνδυνη: μπορεί να προκαλέσει τόσο κακό όσο και καλό, διότι η αρχή της συνέπειας είναι πιο πολύπλοκη από ότι οι περισσότεροι άνθρωποι συνειδητοποιούν. Η συνέπεια είναι:

- Δύσκολο να καθοριστεί: Πολλοί ειδική έχουν προσπαθήσει χωρίς επιτυχία.

- Πολυδιάστατη: Αντικείμενα που είναι συνεπή στη μία διάσταση(π.χ.

συναρτήσεις) μπορεί να είναι ασυνεπή σε μία άλλη (π.χ., τοποθεσία).

- Θέμα προς εξέταση: Ότι δείχνει συνεπές σε έναν άνθρωπο μπορεί να δείχνει ασυνεπές σε κάποιον άλλον.

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

4.6.3.3 Η συνέπεια είναι καλή, όπως και να’ χει

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

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

4.6.3.4 Κάνοντας τη συνέπεια χρηστο-κεντρική (user-centered)

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

συνέπεια. Ποιες πτυχές των σημερινών εργαλείων δείχνουν συνεπή και ποιές ασυνεπή για αυτούς;

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

4.6.4 Παροχή περιβάλλοντος χαμηλού κινδύνου

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

Ακόμη πιο σημαντικό από τον αντίκτυπο του χρόνου, είναι το ζήτημα της εκμάθησης. Μία κατάσταση υψηλού κινδύνου, στην οποία είναι εύκολο να γίνουν λάθη που κοστίζουν, αποθαρρύνει την εξερεύνηση: οι χρήστες θα τείνουν να κολλήσουν στις οικείες λειτουργίες του, ακολουθώντας τις “ασφαλείς” διαδρομές.

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

4.7: Εμφάνιση πληροφοριών και όχι μόνο δεδομένων

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

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

4.7.1 Προσεκτική σχεδίαση των προβολών

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

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

Οι στόχοι που πρέπει να επιτευχθούν είναι:

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

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

Αντί των εκτενών παραγράφων του πεζού κειμένου, η πληροφορία πρέπει να διαμοιραστεί σε επικεφαλίδες (headings) , κουκκίδες (bullets), λίστες (lists), και πίνακες (tables). Η πληροφορία να εμφανίζεται με γραφικά, όπου αυτό είναι δυνατό. Επίσης, οι ετικέτες και οι σύνδεσμοι να διατηρούνται σύντομοι.

- Προσαρμογή στο μέσο (match the medium): Μία κατηγορία εφαρμογών με φτωχή σχεδίαση διεπαφής χρήστη, οφείλεται στην αδυναμία της σχεδίασης να προσαρμοστεί στους περιορισμούς του μέσου παρουσίασης. Παράδειγμα τέτοιων προβλημάτων αποτελούν τα συστήματα windows για οθόνες δύο ιντσών, ή η χρήση φωτεινών χρωμάτων σε μία απεικόνιση, τα οποία δεν μπορούν να αναπαρασταθούν κατάλληλα (π.χ. projector). Η καλά σχεδιασμένη διεπαφή χρήστη προσεγγίζει όσο το δυνατόν καλύτερα το μέσο στο οποίο θα αναπαρασταθεί.

- Προσοχή στην λεπτομέρεια: Η επιτυχία οφείλεται στην λεπτομέρεια. Πουθενά δεν ισχύει περισσότερο αυτή η έκφραση από ότι στη σχεδίαση της παρουσίασης της πληροφορίας. Στην περίπτωση που οι προγραμματιστές πρέπει να σχεδιάσουν μόνοι τους την διεπαφή χρήστη χωρίς υποστήριξη από επαγγελματίες γραφίστες (διότι αυτό φαινομενικά αυξάνει το κόστος), θα πρέπει τουλάχιστον αυτή η εργασία να ανατεθεί σε σχολαστικούς, με τη λεπτομέρεια, ανθρώπους. Σε αντίθετη περίπτωση το πιο πιθανό είναι να πραγματοποιηθούν πάρα πολλά σχεδιαστικά λάθη, άσχετες οθόνες, σχεδιαστική ασυνέπεια, δυσανάγνωστα σύμβολα, και γενικότερα μία ερασιτεχνική απεικόνιση, που σαν αποτέλεσμα μπορεί να έχει ένα λιγότερο επιτυχημένο προϊόν.

4.7.2 Διατήρηση σταθερής απεικόνισης

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

απεικόνισης σε σχέση με το τι έχει αλλάξει, μπορεί να αποπροσανατολίσει τους χρήσής.

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

- Ενθαρρύνοντας την κατανόηση και την αντίληψη των χρηστών για τις αλλαγές και

- Ελαχιστοποιώντας την απόσπαση της προσοχής του χρήστη ώστε να συνεχίσει την εργασία του.

4.8 Σχεδίαση για αλληλεπίδραση.

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

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

4.8.1 Με τον όρο “ταχύτητα” δεν εννοείται η πραγματική, αλλά η αντιληπτική

Οι υπολογιστές στην πραγματικότητα έχουν δύο είδη ταχυτήτων: την πραγματική ταχύτητα (της μηχανής) και την αντιληπτική ταχύτητα. Από αυτές τις δύο, η μόνη που έχει μεγαλύτερη σημασία είναι η αντιληπτική. Για παράδειγμα, μία εφαρμογή επεξεργασίας τρισδιάστατων γραφικών που κατά την αποθήκευση απαιτεί κάποια λεπτά και δεν εμφανίζει την εικόνα στους χρήστες μέχρι να ολοκληρωθεί, θα θεωρηθεί πιο αργή από ότι μία όμοια εφαρμογή που επιτρέπει στους χρήστες να βλέπουν την εικόνα καθώς αποθηκεύεται. Αυτό οφείλεται στο ότι ενώ οι χρήστες της δεύτερης εφαρμογής παρατηρούν την μορφή της εικόνας, οι χρήστες της πρώτης κοιτάζουν ανυπόμονα το ρολόι. Οι χρήστες θα πουν ότι το πρώτο πρόγραμμα έτρεξε πιο αργά μόνο επειδή η αναμονή ήταν πιο “επώδυνη”.

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

4 .8 .2 Τι είναι η αποκρισημότητα;

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

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

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

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

- Έλλειψη παροχής ενδείξεων της εκτιμώμενης χρονικής διάρκειας σε μία χρονοβόρα λειτουργία.

- Χαζά, κινούμενα γραφικά (για να σε κρατούν απασχολημένο).

- Χρονοβόρες διαδικασίες που εμποδίζουν άλλες δραστηριότητες και δεν μπορούν να ματαιωθούν.

- Αδιαφορία για τα εισαγόμενα δεδομένα του χρήστη, ενώ εκτελούν διαδικασίες

“τακτοποίησης” που οι χρήστες δεν ζήτησαν.

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

4 .8 .3 Σχεδιάζοντας για αποκρισημότητα

Για να γίνει αντιληπτή από τους χρήστες η ανταπόκριση, το αλληλεπιδραστικό λογισμικό πρέπει:

- Να αναγνωρίζει τις ενέργειες του χρήστη άμεσα, ακόμη και αν η επιστροφή της απάντησης χρειαστεί χρόνο.

- Να ενημερώνει τους χρήστες για το πού βρίσκεται η εργασία τους και πού όχι.

- Να αφήνει τους χρήστες ελεύθερους να κάνουν άλλα πράγματα ενώ περιμένουν να ολοκληρωθεί κάποια λειτουργία.

- Τα κινούμενα γραφικά που προβάλλονται να είναι απλά και σαφή.

- Να παρέχει τη δυνατότητα ματαίωσης σε χρονοβόρες λειτουργίες που οι χρήστες δεν επιθυμούν.

- Να επιτρέπει στους χρήστες να κρίνουν πόσος χρόνος απαιτείται από μία λειτουργία.

- Να επιτρέπει στους χρήστες να ορίσουν τον δικό τους ρυθμό εργασίας.

4.9: Έλεγχος με τους χρήστες, και διόρθωση

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

4.9.1 Τα αποτελέσματα ελέγχου συνήθως προκαλούν έκπληξη

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

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

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

4.9.2 Χρονοπρογραμματισμός της διόρθωσης προβλημάτων που εντοπίζονται στους ελέγχους

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

4.9.3 Οι δύο στόχοι του ελέγχου: Πληροφοριακός και Κοινωνικός

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

4.9.3.1 Πληροφοριακός στόχος

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

4.9.3.2 Κοινωνικός στόχος

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

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

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

αντιδρούν με τα τεστ ευχρηστίας συχνά “αλλάζουν” στάση μετά από τις μαρτυρίες μερικών (επώδυνων) ελέγχων. Και σε επόμενα έργα, επιζητούν ενεργά τα τεστ ευχρηστίας ως μέσο για να λάβουν ανάδραση.

Συμπεράσματα

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

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

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

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

Μία από τις απαιτήσεις που τηρήθηκε, για την κατασκευή του συστήματος ήταν η χρήση της embedded (ενσωματωμένης) SQL, που έχει τυποποιηθεί και παρέχεται από την Oracle.

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

Ακόμη, μπορεί η τεχνολογία embedded SQL να εντάσσεται στις “standard”

τεχνολογίες, αλλά αυτό δεν σημαίνει και πολλά (στην περίπτωση σχεδίασης εφαρμογών για Windows), μίας που δεν υποστηρίζεται άμεσα από όλες τις μεγάλες εταιρείες σχεδίασης εφαρμογών ανάπτυξης λογισμικού, παρά μόνο από τη Microsoft, στο Visual C++.

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

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

Κατά την σχεδίαση της εφαρμογής, η σύνδεση της embedded SQL με το Borland C++ Builder, μέσω της κατασκευής δυναμικής βιβλιοθήκης (dll), θα μπορούσε να χρησιμοποιηθεί υποδειγματικά για τον συνδυασμό των ισχυρών χαρακτηριστικών κάθε πακέτου ανάπτυξης λογισμικού.

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

Παρόλα αυτά, σε μία συνέχεια της σχεδίασης (1η ή 2η έκδοση), θα μπορούσαν να γίνουν οι απαιτούμενες διορθώσεις, ώστε να καλυφθούν και οι εννιά βασικές αρχές.

Παράρτημα Α

Εγχειρίδιο Χρήστη

Κατά την δημιουργία των βάσεων δεδομένων, που συμμετέχουν μέσα σε ένα περιβάλλον αντιγραφής, για την υποστήριξη των λειτουργιών της προχωρημένης αντιγραφής, θα πρέπει να τροποποιηθούν κάποιες μεταβλητές αρχικοποίησης (initialization parameters), όπως παρουσιάζονται στον πίνακα Α1. Στην περίπτωση πο υ ο ι βάσεις έχο υν ήδη κατασκευαστεί η αλλαγή των μεταβλητών θα πρέπει να πραγματοποιηθεί μέσω του Enterprise Manager Console.

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

Ακόμη να σημειωθεί ότι οι κωδικοί και τα ονόματα χρήστη μπορεί να τροποποιηθούν ανάλογα με τις ανάγκες του κάθε συστήματος. Στο παράδειγμα της ακόλουθης διαδικασίας χρησιμοποιούνται: Ως κωδικός πρόσβασης διαχειριστή (SYSTEM) το αλφαριθμητικό “POWER”, ως όνομα της κύριας βάσης δεδομένων το

“MSITE” και ως όνομα απομακρυσμένης βάσης υλοποιημένων όψεων η “MVSITE”.

Και ο λογαριασμός μέσα στο οποίο δημιουργείται το σχήμα της κάθε βάσης δεδομένων είναι του χρήστη “DIMITRIS” με κωδικό πρόσβασης “POWER”.

Ονομα Τιμή Αλλαγή προκαθορισμένης Βασική

Global_names TRUE V"

Parallel min server 1

Job_queue_process 10 V"

Πίνακας Α1. Τιμές μεταβλητών αρχικοποίησης για το Oracle 9i και 10g

Α.1 Παραμετροποίηση Κύριας τοποθεσίας

Α.1.1 Προετοιμασία της βάσης δεδομένων

- - Σ ύ ν δ ε σ η ω ς Δ ι α χ ε ι ρ ι σ τ ή ς β ά σ η ς δ ε δ ο μ έ ν ω ν :

CONNECT SYSTEM/POWER@MSITE

— Ο ρ ι σ μ ό ς τ ο υ π ε δ ί ο υ ο ρ ι σ μ ο ύ ( Ό Ο Μ Α Ι Ν ) τ η ς β ά σ η ς :

- - Ε λ ε γ χ ο ς τ ο υ κ α θ ο λ ι κ ο ύ ο ν ό μ α τ ο ς ( g l o b a l Π 3 π ι β ) τ η ς β ά σ η ς :

select * from global name;

- - Δ ι α τ ή ρ η σ η τ ο υ ο ν ό μ α τ ο ς τ η ς β ά σ η ς ,

- - κ α ι α λ λ α γ ή τ ο υ ο ν ο μ α τ ο χ ώ τ ο υ σ ε " d v d c l u b "

ALTER DATABASE RENAME GLOBAL_NAME TO MVSITE.DVDCLUB;

- - Δ η μ ι ο υ ρ γ ί α τ ο υ λ ο γ α ρ ι α σ μ ο ύ δ ι α χ ε ι ρ ι σ τ ή α ν τ ι γ ρ α φ ή ς :

CREATE USER DIMITRIS IDENTIFIED BY POWER;

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

GRANT DBA TO DIMITRIS;

- - Σ ύ ν δ ε σ η ω ς δ ι α χ ε ι ρ ι σ τ ή ς α ν τ ι γ ρ α φ ή ς :

CONNECT DIMITRIS/POWER@MSITE

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

- - α ν α ν έ ω σ η ς ( α π ό τ ο α ρ χ ε ί ο π ο υ π ε ρ ι έ χ ε τ α ι σ τ ο C D ) :

@C:\01a create the global schema & mviews.sql

Α.1.2 Παραμετροποίηση για προχωρημένη αντιγραφή

- - B H M A 1 : Σ ύ ν δ ε σ η ω ς δ ι α χ ε ι ρ ι σ τ ή ς σ τ η β ά σ η :

CONNECT SYSTEM/POWER@MSITE

- - B H M A 2 : Ε π έ κ τ α σ η τ ω ν π ρ ο ν ο μ ί ω ν τ ο υ δ ι α χ ε ι ρ ι σ τ ή α ν τ ι γ ρ α φ ή ς γ ι α - - τ η ν υ π ο σ τ ή ρ ι ξ η τ η ς π ρ ο χ ω ρ η μ έ ν η ς α ν τ ι γ ρ α φ ή ς

BEGIN

DBMS_REPCAT_ADMIN.GRANT_ADMIN_ANY_SCHEMA ( username => 'DIMITRIS');

END;

/

GRANT COMMENT ANY TABLE TO DIMITRIS;

GRANT LOCK ANY TABLE TO DIMITRIS;

- - B H M A 3 : Ε π έ κ τ α σ η π ρ ο ν ο μ ί ω ν α π ο σ τ ο λ έ α σ τ ο ν δ ι α χ ε ι ρ ι σ τ ή - - α ν τ ι γ ρ α φ ή ς

BEGIN

DBMS_DEFER_SYS.REGISTER_PROPAGATOR ( username => 'DIMITRIS');

END;

/

- - B H M A 4 : Ε π έ κ τ α σ η π ρ ο ν ο μ ί ω ν π α ρ α λ ή π τ η σ τ ο ν δ ι α χ ε ι ρ ι σ τ ή - - α ν τ ι γ ρ α φ ή ς

BEGIN

DBMS_REPCAT_ADMIN.REGISTER_USER_REPGROUP ( username => 'DIMITRIS',

privilege type => 'receiver', list of gnames => NULL);

END;

/

- - B H M A 5 : Χ ρ ο ν ο π ρ ο γ ρ α μ μ α τ ι σ μ ό ς α π ο σ τ ο λ ή ς τ ω ν α λ λ α γ ώ ν τ η ς κ ύ ρ ι α ς - - τ ο π ο θ ε σ ί α ς κ ά θ ε 3 0 λ ε π τ ά ( 3 0 / 1 4 4 0 )

- - Σ ύ ν δ ε σ η ω ς δ ι α χ ε ι ρ ι σ τ ή ς α ν τ ι γ ρ α φ ή ς :

CONNECT DIMITRIS/POWER@MSITE

BEGIN

DBMS_DEFER_SYS.SCHEDULE_PURGE ( next_date => SYSDATE,

interval => 'SYSDATE + 30/1440', delay seconds => 0);

END;

/

- - B H M A 6 : Ε π έ κ τ α σ η π ρ ο ν ο μ ί ω ν δ ι α χ ε ι ρ ι σ τ ή α ν τ ι γ ρ α φ ή ς ω ς δ ι α χ ε ι ρ ι σ τ ή υ λ ο π ο ι η μ έ ν ω ν ό ψ ε ω ν

- - Σ ύ ν δ ε σ η ω ς δ ι α χ ε ι ρ ι σ τ ή ς τ ο υ σ υ σ τ ή μ α τ ο ς

CONNECT SYSTEM/POWER@MSITE

- - Ε π έ κ τ α σ η π ρ ο ν ο μ ί ω ν :

BEGIN

DBMS_REPCAT_ADMIN.REGISTER_USER_REPGROUP ( username => 'DIMITRIS',

privilege type => 'proxy snapadmin', list of gnames => NULL);

END;

/

GRANT CREATE SESSION TO DIMITRIS;

GRANT SELECT ANY TABLE TO DIMITRIS;

- - B H M A 7 : Δ η μ ι ο υ ρ γ ί α τ ω ν δ η μ ό σ ι ω ν ( p u b l i c ) σ υ ν δ έ σ μ ω ν β ά σ ε ω ν - - δ ε δ ο μ έ ν ω ν π ρ ο ς τ ι ς α π ο μ α κ ρ υ σ μ έ ν ε ς β ά σ ε ι ς :

- - Σ ύ ν δ ε σ η ω ς δ ι α χ ε ι ρ ι σ τ ή ς β ά σ η ς δ ε δ ο μ έ ν ω ν

CONNECT SYSTEM/POWER@MSITE

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

CREATE PUBLIC DATABASE LINK mvsite USING 'mvsite';

- - Δ η μ ι ο υ ρ γ ί α τ ο υ ι δ ι ω τ ι κ ο ύ σ υ ν δ έ σ μ ο υ τ ο υ δ ι α χ ε ι ρ ι σ τ ή α ν τ ι γ ρ α φ ή ς - - Σ ύ ν δ ε σ η ω ς δ ι α χ ε ι ρ ι σ τ ή ς α ν τ ι γ ρ α φ ή ς :

CONNECT DIMITRIS/POWER@MSITE;

- - Δ η μ ι ο υ ρ γ ί α τ ο υ σ υ ν δ έ σ μ ο υ

CREATE DATABASE LINK mvsite

CONNECT TO DIMITRIS IDENTIFIED BY POWER;

- - Ε λ ε γ χ ο ς λ ε ι τ ο υ ρ γ ί α ς σ υ ν δ έ σ μ ο υ ( θ α π ρ έ π ε ι ν α δ ο ύ μ ε τ ο ό ν ο μ α - - τ η ς α π ο μ α κ ρ υ σ μ έ ν η ς β ά σ η ς ) :

SELECT * FROM GLOBAL_NAME@MVSITE;

- - B H M A 8 : Κ α θ ο ρ ι σ μ ό ς χ ρ ο ν ι σ μ ο ύ τ η ς β ά σ η ς

- - ( γ ι α τ η ν α π ο σ τ ο λ ή τ ω ν α λ λ α γ ώ ν τ η ς β ά σ η ς π ρ ο ς τ η ς ά λ λ ε ς ) :

BEGIN

DBMS_DEFER_SYS.SCHEDULE_PUSH (

destination => 'mvsite',--^ όνομα της απομακρυσμένης τοποθεσίας next date => SYSDATE, --Έναρξη αποστολής

interval => 'SYSDATE + (30/1440)',--Συχνότητα αποστολής parallelism => 1, --Παραλληλισμός αποστολής execution seconds => 1500, — Μέγιστη διάρκεια αποστολής delay seconds => 1200);

END;

/

Α.1.3 Δημιουργία της κύριας ομάδας αντιγραφής

- - Σ ύ ν δ ε σ η ω ς δ ι α χ ε ι ρ ι σ τ ή ς α ν τ ι γ ρ α φ ή ς

CONNECT DIMITRIS/POWER@MSITE

— Δ η μ ι ο υ ρ γ ί α τ η ς κ ύ ρ ι α ς ο μ ά δ α ς ( μ ε ό ν ο μ α m a s t e r g r p )

BEGIN

DBMS_REPCAT.CREATE_MASTER_REPGROUP ( gname => 'repgrp');

END;

/

- - Ε ι σ α γ ω γ ή τ ω ν α ν τ ι γ ρ α μ μ έ ν ω ν α ν τ ι κ ε ι μ έ ν ω ν σ τ η ν κ ύ ρ ι α ο μ ά δ α ( α π ό τ ο - - π α ρ α κ ά τ ω α ρ χ ε ί ο π ο υ π ε ρ ι έ χ ε τ α ι σ τ ο C D ) :

@01b Add RepObjects To Master Group & Generate Replication.sql

- - Ε ν α ρ ξ η τ η ς δ ι α δ ι κ α σ ί α ς α ν τ ι γ ρ α φ ή ς τ η ς κ ύ ρ ι α ς ο μ ά δ α ς :

BEGIN

DBMS_REPCAT.RESUME_MASTER_ACTIVITY ( gname => 'repgrp');

END;

/

Α.1.4 Δημιουργία των ακολουθιών για τα κύρια κλειδιά

- - Α κ ο λ ο υ θ ί ε ς π ο υ δ ι α χ ε ι ρ ί ζ ε τ α ι τ ο π ι κ ά τ ο σ ύ σ τ η μ α :

CREATE SEQUENCE ACTORSEQ INCREMENT BY 1 START WITH 1;

CREATE SEQUENCE DIRECTORSEQ INCREMENT BY 1 START WITH 1;

CREATE SEQUENCE VIDEOSEQ INCREMENT BY 1 START WITH 1;

CREATE SEQUENCE SUPPLIERSEQ INCREMENT BY 1 START WITH 1;

CREATE SEQUENCE MAINORDERSEQ INCREMENT BY 1 START WITH 1;

CREATE SEQUENCE BRANCHORDERSEQ INCREMENT BY 1 START WITH 1;

- - Α κ ο λ ο υ θ ί ε ς π ο υ δ ι α χ ε ι ρ ί ζ ο ν τ α ι τ ο π ι κ ά ο ι ε φ α ρ μ ο γ έ ς :

CREATE SEQUENCE VIDEOFORRENTSEQ INCREMENT BY 1000 START WITH 1;

CREATE SEQUENCE RENTALAGREEMENTSEQ INCREMENT BY 1000 START WITH 1;

CREATE SEQUENCE MEMBERSEQ INCREMENT BY 1000 START WITH 1;

CREATE SEQUENCE STAFFSEQ INCREMENT BY 50 START WITH 1;

Α.2 Παραμετροποίηση τοποθεσίας υλοποιημένων όψεων

Α.2.1 Προετοιμασία της βάσης δεδομένων

- - Ε λ ε γ χ ο ς τ ο υ π ε δ ί ο υ ο ρ ι σ μ ο ύ ( d o m a i n ) τ η ς β ά σ η ς

select * from global name;

- - Δ ι α τ ή ρ η σ η τ ο υ ο ν ό μ α τ ο ς τ η ς β ά σ η ς κ α ι κ α θ ο ρ ι σ μ ό ς τ ο υ π ε δ ί ο υ - - ο ρ ι σ μ ο ύ ό μ ο ι ο μ ε τ η ς κ ύ ρ ι α ς τ ο π ο θ ε σ ί α ς ( d v d c l u b )

ALTER DATABASE RENAME GLOBAL_NAME TO MVSITE.DVDCLUB;

- - Δ η μ ι ο υ ρ γ ί α τ ο υ λ ο γ α ρ ι α σ μ ο ύ δ ι α χ ε ι ρ ι σ τ ή α ν τ ι γ ρ α φ ή ς

CREATE USER DIMITRIS IDENTIFIED BY POWER;

- - Ε π έ κ τ α σ η τ ω ν π ρ ο ν ο μ ί ω ν τ ο υ λ ο γ α ρ ι α σ μ ο ύ δ ι α χ ε ι ρ ι σ τ ή

GRANT DBA TO DIMITRIS;

Α.2.2 Παραμετροποίηση της τοποθεσία υλοποιημένων όψεων

- - Β Η Μ Α 1 : Σ ύ ν δ ε σ η ω ς δ ι α χ ε ι ρ ι σ τ ή ς τ η ς β ά σ η ς δ ε δ ο μ έ ν ω ν :

CONNECT SYSTEM/POWER@MVSITE

- - Β Η Μ Α 2 : Ε π έ κ τ α σ η τ ω ν π ρ ο ν ο μ ί ω ν τ ο υ δ ι α χ ε ι ρ ι σ τ ή α ν τ ι γ ρ α φ ή ς γ ι α - - τ η ν υ π ο σ τ ή ρ ι ξ η π ρ ο χ ω ρ η μ έ ν η ς α ν τ ι γ ρ α φ ή ς

BEGIN

DBMS_REPCAT_ADMIN.GRANT_ADMIN_ANY_SCHEMA ( username => 'DIMITRIS');

END;

/

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

BEGIN

DBMS_REPCAT_ADMIN.REGISTER_USER_REPGROUP ( username => 'DIMITRIS',

privilege type => 'receiver', list of gnames => NULL);

END;

/

GRANT COMMENT ANY TABLE TO DIMITRIS;

GRANT LOCK ANY TABLE TO DIMITRIS;

GRANT CREATE SESSION TO DIMITRIS;

GRANT ALTER ANY MATERIALIZED VIEW TO DIMITRIS;

GRANT SELECT ANY TABLE TO DIMITRIS;

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

BEGIN

DBMS_DEFER_SYS.REGISTER_PROPAGATOR ( username => 'DIMITRIS');

END;

/

- - Β Η Μ Α 3 : Δ η μ ι ο υ ρ γ ί α τ ω ν σ υ ν δ έ σ μ ω ν π ρ ο ς τ η κ ύ ρ ι α τ ο π ο θ ε σ ί α - - Σ ύ ν δ ε σ η ω ς δ ι α χ ε ι ρ ι σ τ ή ς β ά σ η ς δ ε δ ο μ έ ν ω ν :

CONNECT SYSTEM/POWER@MVSITE

- - Δ η μ ι ο υ ρ γ ί α τ ο υ δ η μ ό σ ι ο υ σ υ ν δ έ σ μ ο υ :

CREATE PUBLIC DATABASE LINK msite USING 'msite';

- - Σ ύ ν δ ε σ η ω ς δ ι α χ ε ι ρ ι σ τ ή ς α ν τ ι γ ρ α φ ή ς :

CONNECT DIMITRIS/POWER@MVSITE;

- - Δ η μ ι ο υ ρ γ ί α τ ο υ ι δ ι ω τ ι κ ο ύ σ υ ν δ έ σ μ ο υ τ ο υ δ ι α χ ε ι ρ ι σ τ ή α ν τ ι γ ρ α φ ή ς

CREATE DATABASE LINK msite

CONNECT TO dimitris IDENTIFIED BY power;

- - Ε λ ε γ χ ο ς λ ε ι τ ο υ ρ γ ί α ς ( ε π ι σ τ ρ έ φ ε ι τ ο ό ν ο μ α τ η ς κ ύ ρ ι α ς τ ο π ο θ ε σ ί α ς )

SELECT * FROM GLOBAL_NAME@MSITE;

- - Β Η Μ Α 4 : Χ ρ ο ν ο π ρ ο γ ρ α μ μ α τ ι σ μ ό ς α π ο σ τ ο λ ή ς α λ λ α γ ώ ν ( κ ά θ ε 3 0 λ ε π τ ά ) :

BEGIN

DBMS_DEFER_SYS.SCHEDULE_PURGE ( next_date => SYSDATE,

interval => 'SYSDATE + 30/1440', delay seconds => 0,

rollback_segment => '');

END;

/

- - Β Η Μ Α 5 : Χ ρ ο ν ο π ρ ο γ ρ α μ μ α τ ι σ μ ό ς λ ή ψ η ς 3 0 α λ λ α γ ώ ν κ ά θ ε 3 0 λ ε π τ ά

BEGIN

DBMS_DEFER_SYS.SCHEDULE_PUSH (

destination => 'msite', -- Όνομα κύριας τοποθεσίας next date => SYSDATE, --Ξεκίνα τη λήψη από τώρα

interval => 'SYSDATE + 30/1440', --Και να λαμβάνεις κάθε 30 λεπτά stop on error => FALSE, --Διακοπή έπειτα από σφάλματα (όχι) delay seconds => 0,

parallelism => 0);

END;

/

Α.2.3 Δημιουργία της ομάδας αντιγραφής

- - Β Η Μ Α 1 : Δ η μ ι ο υ ρ γ ί α τ η ς ο μ ά δ α ς α ν τ ι γ ρ α φ ή ς - - Σ ύ ν δ ε σ η ω ς δ ι α χ ε ι ρ ι σ τ ή ς α ν τ ι γ ρ α φ ή ς

CONNECT DIMITRIS/POWER@MVSITE

- - Δ η μ ι ο υ ρ γ ί α τ η ς ο μ ά δ α ς α ν τ ι γ ρ α φ ή ς

BEGIN

DBMS_REPCAT.CREATE_MVIEW_REPGROUP (

gname => 'repgrp', — MASTER GROUP NAME master => 'MSITE', — MASTER SITE NAME propagation mode => 'ASYNCHRONOUS');

END;

/

- - Β Η Μ Α 2 : Δ η μ ι ο υ ρ γ ί α τ η ς ο μ ά δ α ς α ν α ν έ ω σ η ς ( χ ρ ο ν ι σ μ έ ν η σ τ α 3 0 λ ε π τ α )

BEGIN

DBMS_REFRESH.MAKE (

name => 'dimitris.repgrp', --Σχήμα Χρήστη.Όνομα ομάδας list => '',

next date => SYSDATE, --Να ξεκινήσει τώρα η ανανέωση

interval => 'SYSDATE + 30/1440',--Και να επαναλαμβάνεται -- Κάθε 30 λεπτά

implicit destroy => FALSE, rollback seg => '',

push deferred rpc => TRUE, --Πριν την ανανέωση να σταλούν οι -- αλλαγές στην κύρια τοποθεσία refresh after errors => TRUE);

END;

/

- - Β Η Μ Α 3 : Δ η μ ι ο υ ρ γ ί α τ ω ν υ λ ο π ο ι η μ έ ν ω ν ό ψ ε ω ν β ά σ η τ ω ν κ ύ ρ ι ω ν σ χ έ σ ε ω ν - - Κ α ι τ ω ν α ρ χ ε ί ω ν κ α τ α γ ρ α φ ή ς υ λ ο π ο ι η μ έ ν ω ν ό ψ ε ω ν

- - ( α π ό τ ο α ρ χ ε ί ο π ο υ π ε ρ ι έ χ ε τ α ι σ τ ο C D )

@ C:\02a_CREATE_MATERIALIZED_VIEW_SCHEMA.sql

- - Β Η Μ Α 4 : Ε ι σ α γ ω γ ή τ ω ν α ν α ν ε ώ σ ι μ ω ν υ λ ο π ο ι η μ έ ν ω ν ό ψ ε ω ν σ τ η ν ο μ ά δ α - - υ λ ο π ο ι η μ έ ν ω ν ό ψ ε ω ν .

- - Κ α ι ό λ ω ν τ ω ν α ν τ ι γ ρ α μ μ έ ν ω ν α ν τ ι κ ε ι μ έ ν ω ν σ τ η ν ο μ ά δ α α ν α ν έ ω σ η ς ( Ο ι ε ν τ ο λ έ ς π ε ρ ι έ χ ο ν τ α ι σ τ ο α ρ χ ε ί ο τ ο υ C D ) :

@C:\02a AddObjToGroups.txt

Α.2.3 Δημιουργία συνωνύμων για την επίτευξη διαφάνειας

-- Συνώνυμα ακολουθιών κύριας τοποθεσίας

CREATE SYNONYM ACTORSEQ FOR DIMITRIS.ACTORSEQ@MSITE;

CREATE SYNONYM DIRECTORSEQ FOR DIMITRIS.DIRECTORSEQ@MSITE;

CREATE SYNONYM VIDEOSEQ FOR DIMITRIS.VIDEOSEQ@MSITE;

CREATE SYNONYM VIDEOFORRENTSEQ FOR DIMITRIS.VIDEOFORRENTSEQ@MSITE;

CREATE SYNONYM RENTALAGREEMENTSEQ FOR

DIMITRIS.RENTALAGREEMENTSEQ@MSITE;

CREATE SYNONYM MEMBERSEQ FOR DIMITRIS.MEMBERSEQ@MSITE;

CREATE SYNONYM STAFFSEQ FOR DIMITRIS.STAFFSEQ@MSITE;

CREATE SYNONYM SUPPLIERSEQ FOR SUPPLIERSEQ@MSITE;

CREATE SYNONYM MAINORDERSEQ FOR MAINORDERSEQ@MSITE;

CREATE SYNONYM BRANCHORDERSEQ FOR BRANCHORDERSEQ@MSITE;

-- Συνώνυμα σχέσεων που περιέχονται μόνο στην κύρια τοποθεσία CREATE SYNONYM SUPPLIER FOR

CREATE SYNONYM MAINORDER FOR CREATE SYNONYM BRANCHORDER FOR CREATE SYNONYM CONTAIN FOR

DIMITRIS.SUPPLIER@MSITE;

DIMITRIS.MAINORDER@MSITE;

DIMITRIS.BRANCHORDER@MSITE;

DIMITRIS.CONTAIN@MSITE;

Παράρτημα Β

Λεξικό Δεδομένων Του Συστήματος

Έγκριση ενοικίασης : Ως έγκριση ενοικίασης, περιγράφονται οι διαδικασίες δανεισμού και της επιστροφής ταινιών από τους πελάτες της εταιρείας.

Εγγράφει: Με την έννοια εγγράφει χαρακτηρίζεται η σχέση “υπάλληλος εγγράφει πελάτη σε υποκατάστημα”.

Ηθοποιός: Είναι το φυσικό πρόσωπο που παίζει κάποιον ρόλο σε μία ταινία.

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

Μέλος: Το μέλος (ή πελάτης) χαρακτηρίζει τα φυσικά πρόσωπα που πραγματοποιούν ενοικιάσεις ταινιών από τα υποκαταστήματα της εταιρείας.

Μέλος του προσωπικού: Τα μέλη του προσωπικού (ή υπάλληλοι) είναι τα φυσικά πρόσωπα που εργάζονται για την αλυσίδα ενοικίασης ταινιών και διαχειρίζονται το σύστημα. Ως συνώνυμοι όροι για τα μέλη του προσωπικού χρησιμοποιούνται οι προσδιορισμοί των ρόλων που αυτοί μπορεί να επιτελούν.

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

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

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

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

Σκηνοθέτης: Είναι το φυσικό πρόσωπο που έχει γράψει μία ταινία.

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

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

Υποκατάστημα: Ως υποκατάστημα περιγράφεται το κάθε απομακρυσμένο (γεωγραφικά) τμήμα που ανήκει στην εταιρεία.

Παράρτημα Γ

Απαιτήσεις Προγραμματιστών

Γ1. ΗΘΟΠΟΙΟΣ

Απαίτηση Ορισμός

R11 Εισαγωγή ηθοποιού.

R12 Διαγραφή ηθοποιού.

R13 Ενημέρωση ηθοποιού.

R14 Αναζήτηση βάση του ονόματος ή του επωνύμου του ηθοποιού.

Λεπτομέρειες - διευκρινήσεις:

R11: Τα στοιχεία που διατηρούνται στο σύστημα για έναν ηθοποιό, είναι το όνομα του, το επώνυμο και ο κωδικός ηθοποιού που τον καθορίζει μονοσήμαντα μέσα στο σύστημα.

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

Γ2. ΣΚΗΝΟΘΕΤΗΣ

Απαίτηση Ορισμός

R21 Εισαγωγή σκηνοθέτη.

R22 Διαγραφή σκηνοθέτη.

R23 Ενημέρωση σκηνοθέτη.

R24 Αναζήτηση βάση του ονόματος ή του επωνύμου του σκηνοθέτη.

Λεπτομέρειες - διευκρινήσεις:

R21: Τα στοιχεία που διατηρούνται στο σύστημα για έναν σκηνοθέτη, είναι το όνομα, το επώνυμο και ο κωδικός σκηνοθέτη που τον καθορίζει μονοσήμαντα μέσα στο σύστημα.

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

Γ3. ΡΟΛΟΣ

Απαίτηση Ορισμός

R31 Εισαγωγή ρόλου.

R32 Ενημέρωση ρόλου.

R33 Διαγραφή ρόλου.

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

Λεπτομέρειες - διευκρινήσεις:

R31: Για την καταχώρηση ενός ρόλου στο σύστημα, θα πρέπει πρώτα να έχει καταχωρηθεί ο ηθοποιός που τον υποδύεται και η ταινία στην οποία συμμετέχει.

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

Γ4. ΤΑΙΝΙΑ

Απαίτηση Ορισμός

R41 Εισαγωγή ταινίας στο σύστημα.

R42 Ενημέρωση ταινίας R43 Διαγραφή ταινίας R44 Αναζήτηση ταινίας Λεπτομέρειες - διευκρινήσεις:

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

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

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

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

Γ5 ΤΑΙΝΙΑ ΠΡΟΣ ΕΝΟΙΚΙΑΣΗ

Απαίτηση Ορισμός

R51 Εισαγωγή ταινίας προς ενοικίαση σε ένα υποκατάστημα.

R52 Ενημέρωση ταινίας προς ενοικίαση.

R53 Διαγραφή ταινίας προς ενοικίαση.

R54 Αναζήτηση ταινίας προς ενοικίαση Λεπτομέρειες - διευκρινήσεις:

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

R51: Πριν από τη καταχώρηση μίας ταινίας προς ενοικίαση σε κάποιο υποκατάστημα, θα πρέπει να έχει καταχωρηθεί η ταινία μέσα στο σύστημα. Τα στοιχεία που διατηρούνται για μία ταινία προς ενοικίαση είναι ο κωδικός καταλόγου (που καθορίζει μονοσήμαντα κάθε ταινία μέσα στο σύστημα), ο κωδικός τίτλου (που καθορίζει μονοσήμαντα κάθε ταινία προς ενοικίαση), η κατάσταση της ταινίας (διαθέσιμη ή ενοικιασμένη) και ο κωδικός του υποκαταστήματος στην οποία ανήκει.

R52, R53: Η ενημέρωση και η διαγραφή μίας ταινίας προς ενοικίαση πραγματοποιείται βάση του κωδικού τίτλου.

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

Γ6 ΕΓΚΡΙΣΗ ΕΝΟΙΚΙΑΣΗΣ

Απαίτηση Ορισμός

R61 Δανεισμός ταινίας προς ενοικίαση.

R62 Επιστροφή ενοικιασμένης ταινίας.

R63 Διαγραφή έγκρισης ενοικίασης.

R64 Αναζήτηση Έγκρισης ενοικίασης.

Λεπτομέρειες - διευκρινήσεις:

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

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

R62: Για την επιστροφή μίας ενοικιασμένης ταινίας απαιτείται η ενημέρωση της δανεισμένης ταινίας, με την προσθήκη της ημερομηνίας επιστροφής.

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

R64: Η αναζήτηση των εγκρίσεων ενοικίασης θα πρέπει να πραγματοποιείται είτε μέσω των στοιχείων της, είτε μέσω των στοιχείων του πελάτη ή, τέλος, μέσω των στοιχείων της ταινίας.

Γ7. ΠΕΛΑΤΗΣ

Απαίτηση Ορισμός

R71 Εισαγωγή πελάτη

R72 Ενημέρωση πελάτη

R73 Διαγραφή πελάτη

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

Λεπτομέρειες - διευκρινήσεις:

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

Γ8. ΕΓΓΡΑΦΕΙ

Απαίτηση Ορισμός

R81 Εισαγωγή σχέσης “υπάλληλος εγγράφει μέλος σε υποκατάστημα”

R82 Διαγραφή σχέσης εγγράφει R83 Αναζήτηση σχέσης εγγράφει Λεπτομέρειες - διευκρινήσεις:

Με την έννοια εγγράφει περιγράφεται η σχέση υπάλληλος εγγράφει πελάτη σε υποκατάστημα.

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

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

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

Γ9. ΥΠΟΚΑΤΑΣΤΗΜΑ

Απαίτηση Ορισμός

R91 Εισαγωγή υποκαταστήματος.

R92 Ενημέρωση υποκαταστήματος.

R93 Διαγραφή υποκαταστήματος..

R94 Αναζήτηση υποκαταστήματος Λεπτομέρειες - διευκρινήσεις:

R91: Τα στοιχεία που διατηρεί το σύστημα για κάθε υποκατάστημα είναι ο κωδικός υποκαταστήματος (που καθορίζει μονοσήμαντα το κάθε υποκατάστημα και ορίζεται από τον χρήστη), ο νομός, η πόλη, η οδός, ο αριθμός της οδού, ο ταχυδρομικός κωδικός της περιοχής, και ο κωδικός του υπεύθυνου υποκαταστήματος.

Ο υπεύθυνος του κάθε υποκαταστήματος ανήκει στο υποκατάστημα που διαχειρίζεται, συνεπώς η καταχώρηση του υπεύθυνου υποκαταστήματος (R111) θα πρέπει να πραγματοποιηθεί μετά την καταχώρηση του υποκαταστήματος και η αντιστοίχηση του να πραγματοποιηθεί ως ενημέρωση (R92).

R92, R93: Η ενημέρωση και η διαγραφή κάθε υποκαταστήματος πραγματοποιείται βάση του κωδικού υποκαταστήματος.

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

Γ10. ΤΗΛΕΦΩΝΟ (Υποκαταστήματος)

Απαίτηση Ορισμός

R101 Εισαγωγή τηλεφώνου υποκαταστήματος R102 Ενημέρωση τηλεφώνου υποκαταστήματος R103 Διαγραφή τηλεφώνου υποκαταστήματος R104 Αναζήτηση τηλεφώνου υποκαταστήματος Λεπτομέρειες - διευκρινήσεις:

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

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

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

Γ11. ΥΠΑΛΛΗΛΟΣ

Απαίτηση Ορισμός

R111 Εισαγωγή υπαλλήλου R112 Ενημέρωση υπαλλήλου R113 Διαγραφή υπαλλήλου R114 Αναζήτηση υπαλλήλου Λεπτομέρειες - διευκρινήσεις:

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

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

R114: Η αναζήτηση ενός υπαλλήλου, θα πρέπει να πραγματοποιείται βάση το ονόματος ή του επωνύμου του.

Γ12. ΠΡΟΜΗΘΕΥΤΗΣ

Απαίτηση Ορισμός

R121 Εισαγωγή προμηθευτή R122 Ενημέρωση προμηθευτή R123 Διαγραφή προμηθευτή R124 Αναζήτηση προμηθευτή Λεπτομέρειες - διευκρινήσεις:

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

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

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

Γ13. ΚΥΡΙΑ ΠΑΡΑΓΓΕΛΙΑ

Απαίτηση Ορισμός

R131 Άνοιγμα κύριας παραγγελίας.

R132 Κλείσιμο κύριας παραγγελίας.

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

R134 Διαγραφή κύριας παραγγελίας.

R135 Αναζήτηση κύριας παραγγελίας.

Λεπτομέρειες - διευκρινήσεις:

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

R131: Για το άνοιγμα μίας κύριας παραγγελίας απαιτείται ο καθορισμός του κωδικού της, και η ημερομηνία έναρξης.

R132: Για το κλείσιμο μίας κύριας παραγγελίας απαιτείται η ενημέρωση της ανοιχτής παραγγελίας και ο καθορισμός της ημερομηνίας κλεισίματος.

R133, R134: Η ενημέρωση και η διαγραφή μίας κύριας παραγγελίας πραγματοποιείται βάση του κωδικού κύριας παραγγελίας.

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

Γ14. ΠΑΡΑΓΓΕΛΙΑ ΥΠΟΚΑΤΑΣΤΗΜΑΤΟΣ

Απαίτηση Ορισμός

R141 Εισαγωγή παραγγελίας υποκαταστήματος.

R142 Διαγραφή παραγγελίας υποκαταστήματος.

R143 Αναζήτηση παραγγελίας υποκαταστήματος.

Λεπτομέρειες - διευκρινήσεις:

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

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

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

Γ15. ΠΕΡΙΛΑΜΒΑΝΕΙ

Απαίτηση Ορισμός

R151 Εισαγωγή στη σχέση παραγγελία υποκαταστήματος περιλαμβάνει ταινία R152 Ενημέρωση σχέσης περιλαμβάνει

R153 Διαγραφή σχέσης περιλαμβάνει R154 Αναζήτηση σχέσης περιλαμβάνει Λεπτομέρειες - διευκρινήσεις:

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

R151: Πριν από τον καθορισμό της ταινίας που θα περιλαμβάνεται στην κεντρική παραγγελία, η ταινία θα πρέπει να έχει καταχωρηθεί στο σύστημα (R41), όπως επίσης και η παραγγελία του υποκαταστήματος.

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

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

Παράρτημα Δ

Προδιαγραφές

Υπηρεσία Εισαγωγή ηθοποιού

Περιγραφή Ο χρήστης καταχωρεί στο σύστημα ένα νέο ηθοποιό Δεδομένα εισόδου /

Προέλευση

- Όνομα ηθοποιού / Πληκτρολόγιο - Επώνυμο ηθοποιού / Πληκτρολόγιο

- Κωδικός Ηθοποιού / Ακολουθία βάσης δεδομένων Δεδομένα εξόδου Μήνυμα επιτυχούς ή εσφαλμένης εισαγωγής

Προορισμός Οθόνη, Βάση δεδομένων

Απαιτήσεις -

Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Η τοπική βάση να είναι συνδεδεμένη με την κύρια.

Αποτέλεσμα Καταχώρηση του ηθοποιού στο σύστημα Πλευρικά φαινόμενα -

Υπηρεσία Διαγραφή ηθοποιού

Περιγραφή Ο χρήστης διαγράφει έναν ηθοποιό από το σύστημα Δεδομένα εισόδου /

Προέλευση

- Κωδικός Ηθοποιού / Σύστημα

Δεδομένα εξόδου Μήνυμα επιτυχούς ή εσφαλμένης διαγραφής Προορισμός Οθόνη, Βάση δεδομένων

Απαιτήσεις Ο ηθοποιός να είναι ήδη καταχωρημένος στο σύστημα.

Ο ηθοποιός να μην συμμετέχει στη σχέση “Ρόλος”

Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Αποτέλεσμα Διαγραφή του ηθοποιού από το σύστημα Πλευρικά φαινόμενα -

Υπηρεσία Ενημέρωση ηθοποιού

Περιγραφή Ο χρήστης ενημερώνει τα δεδομένα ενός ηθοποιού Δεδομένα εισόδου /

Προέλευση

- Όνομα ηθοποιού / Πληκτρολόγιο - Επώνυμο ηθοποιού / Πληκτρολόγιο - Κωδικός Ηθοποιού / Σύστημα

Δεδομένα εξόδου Μήνυμα επιτυχούς ή εσφαλμένης ενημέρωσης Προορισμός Οθόνη, Βάση δεδομένων

Απαιτήσεις Ο ηθοποιός να είναι ήδη καταχωρημένος στο σύστημα Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Αποτέλεσμα Ενημέρωση των πληροφοριών ηθοποιού Πλευρικά φαινόμενα -

Υπηρεσία Αναζήτηση ηθοποιού

Περιγραφή Ο χρήστης αναζητά έναν ηθοποιό βάση του ονόματος ή του επωνύμου του ή τμήματα αυτών.

Δεδομένα εισόδου / Προέλευση

- Όνομα ηθοποιού / Πληκτρολόγιο - Επώνυμο ηθοποιού / Πληκτρολόγιο

Δεδομένα εξόδου Σύνολο αποτελεσμάτων που ταιριάζουν στα δεδομένα εισόδου

Προορισμός Οθόνη

Απαιτήσεις -

Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Αποτέλεσμα Προβολή των αποτελεσμάτων αναζήτησης προς τον χρήστη Πλευρικά φαινόμενα -

Υπηρεσία Εισαγωγή Σκηνοθέτη

Περιγραφή Ο χρήστης καταχωρεί στο σύστημα ένα νέο σκηνοθέτη Δεδομένα εισόδου /

Προέλευση

- Όνομα σκηνοθέτη / Πληκτρολόγιο - Επώνυμο σκηνοθέτη / Πληκτρολόγιο

- Κωδικός Σκηνοθέτη / Ακολουθία βάσης δεδομένων Δεδομένα εξόδου Μήνυμα επιτυχούς ή εσφαλμένης εισαγωγής

Προορισμός Οθόνη, Βάση δεδομένων

Απαιτήσεις -

Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Η τοπική βάση να είναι συνδεδεμένη με την κύρια.

Αποτέλεσμα Καταχώρηση του σκηνοθέτη στο σύστημα Πλευρικά φαινόμενα -

Υπηρεσία Διαγραφή Σκηνοθέτη

Περιγραφή Ο χρήστης διαγράφει έναν σκηνοθέτη από το σύστημα Δεδομένα εισόδου /

Προέλευση

- Κωδικός Σκηνοθέτη / Σύστημα

Δεδομένα εξόδου Μήνυμα επιτυχούς ή εσφαλμένης διαγραφής Προορισμός Οθόνη, Βάση δεδομένων

Απαιτήσεις Ο σκηνοθέτης να είναι καταχωρημένος στο σύστημα.

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

Αποτέλεσμα Διαγραφή του σκηνοθέτη από το σύστημα.

Πλευρικά φαινόμενα -

Υπηρεσία Ενημέρωση Σκηνοθέτη

Περιγραφή Ο χρήστης ενημερώνει τα στοιχεία ενός σκηνοθέτη Δεδομένα εισόδου /

Προέλευση

- Όνομα σκηνοθέτη / Πληκτρολόγιο - Επώνυμο σκηνοθέτη / Πληκτρολόγιο - Κωδικός Ηθοποιού / Σύστημα

Δεδομένα εξόδου Μήνυμα επιτυχούς ή εσφαλμένης ενημέρωσης Προορισμός Οθόνη, Βάση δεδομένων

Απαιτήσεις Ο σκηνοθέτης να είναι καταχωρημένος στο σύστημα Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Αποτέλεσμα Ενημέρωση των στοιχείων του σκηνοθέτη Πλευρικά φαινόμενα -

Υπηρεσία Αναζήτηση Σκηνοθέτη

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

Δεδομένα εισόδου / Προέλευση

- Όνομα σκηνοθέτη / Πληκτρολόγιο - Επώνυμο σκηνοθέτη / Πληκτρολόγιο

Δεδομένα εξόδου Σύνολο αποτελεσμάτων που ταιριάζουν στα δεδομένα εισόδου

Προορισμός Οθόνη

Απαιτήσεις -

Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Αποτέλεσμα Προβολή των αποτελεσμάτων αναζήτησης προς τον χρήστη Πλευρικά φαινόμενα -

Υπηρεσία Εισαγωγή Ρόλου

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

Δεδομένα εισόδου / Προέλευση

- Κωδικός ηθοποιού / Σύστημα - Κωδικός Ταινίας / Σύστημα - Ρόλος / Πληκτρολόγιο

- Ονοματεπώνυμο ηθοποιού / Πληκτρολόγιο - Τίτλος ταινίας / Πληκτρολόγιο

Δεδομένα εξόδου Μήνυμα επιτυχούς ή εσφαλμένης εισαγωγής.

Προορισμός Οθόνη, Βάση δεδομένων.

Απαιτήσεις Η ταινία να είναι καταχωρημένη στο σύστημα.

Ο ηθοποιός να είναι καταχωρημένος στο σύστημα.

Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Η τοπική βάση να είναι συνδεδεμένη με την κύρια.

Αποτέλεσμα Καταχώρηση του ρόλου.

Πλευρικά φαινόμενα -

Υπηρεσία Διαγραφή Ρόλου

Περιγραφή Ο χρήστης διαγράφει τον ρόλο ενός ηθοποιού από μία ταινία Δεδομένα εισόδου /

Προέλευση

- Κωδικός ηθοποιού / Σύστημα - Κωδικός Ταινίας / Σύστημα

- Ονοματεπώνυμο ηθοποιού / Πληκτρολόγιο - Τίτλος ταινίας / Πληκτρολόγιο

Δεδομένα εξόδου Μήνυμα επιτυχούς ή εσφαλμένης διαγραφής Προορισμός Οθόνη, Βάση δεδομένων

Απαιτήσεις Ο ρόλος να είναι καταχωρημένος στο σύστημα.

Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Αποτέλεσμα Διαγραφή του ρόλου από το σύστημα.

Πλευρικά φαινόμενα -

Υπηρεσία Ενημέρωση Ρόλου

Περιγραφή Ο χρήστης ενημερώνει τα στοιχεία του ρόλου ενός ηθοποιού σε μία ταινία.

Δεδομένα εισόδου / Προέλευση

- Κωδικός ηθοποιού / Σύστημα - Κωδικός Ταινίας / Σύστημα - Ρόλος / Πληκτρολόγιο

- Ονοματεπώνυμο ηθοποιού / Πληκτρολόγιο - Τίτλος ταινίας / Πληκτρολόγιο

Δεδομένα εξόδου Μήνυμα επιτυχούς ή εσφαλμένης ενημέρωσης Προορισμός Οθόνη, Βάση δεδομένων

Απαιτήσεις Ο ρόλος να είναι καταχωρημένος στο σύστημα Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Αποτέλεσμα Ενημέρωση του ρόλου του ηθοποιού Πλευρικά φαινόμενα -

Υπηρεσία Αναζήτηση Ρόλου

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

Δεδομένα εισόδου / Προέλευση

- Ονοματεπώνυμο ηθοποιού / Πληκτρολόγιο - Τίτλος ταινίας / Πληκτρολόγιο

Δεδομένα εξόδου Ρόλοι που ταιριάζουν στα δεδομένα εισόδου

Προορισμός Οθόνη

Απαιτήσεις -

Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Αποτέλεσμα Προβολή των αποτελεσμάτων αναζήτησης προς τον χρήστη Πλευρικά φαινόμενα -

Υπηρεσία Εισαγωγή Ταινίας

Περιγραφή Ο χρήστης καταχωρεί μία ταινία στο σύστημα.

Δεδομένα εισόδου / Προέλευση

- Κωδικός Καταλόγου / Ακολουθία βάσης δεδομένων - Τίτλος ταινίας / Πληκτρολόγιο

- Κατηγορία ταινίας / Ποντίκι - Α ξία ενοικίασης / Πληκτρολόγιο - Α ξία αγοράς / Πληκτρολόγιο - Κωδικός Σκηνοθέτη / Ποντίκι

Δεδομένα εξόδου Μήνυμα επιτυχούς ή εσφαλμένης εισαγωγής.

Προορισμός Οθόνη, Βάση δεδομένων.

Απαιτήσεις -

Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Η τοπική βάση να είναι συνδεδεμένη με την κύρια.

Αποτέλεσμα Καταχώρηση ταινίας στο σύστημα.

Πλευρικά φαινόμενα -

Υπηρεσία Ενημέρωση Ταινίας

Περιγραφή Ο χρήστης ενημερώνει τα στοιχεία της ταινίας.

Δεδομένα εισόδου / Προέλευση

- Τίτλος ταινίας / Πληκτρολόγιο - Κατηγορία ταινίας / Ποντίκι - Α ξία ενοικίασης / Πληκτρολόγιο - Α ξία αγοράς / Πληκτρολόγιο - Κωδικός Σκηνοθέτη / Ποντίκι

Δεδομένα εξόδου Μήνυμα επιτυχούς ή εσφαλμένης ενημέρωσης Προορισμός Οθόνη, Βάση δεδομένων

Απαιτήσεις Η ταινία να είναι καταχωρημένη στο σύστημα Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Αποτέλεσμα Ενημέρωση των δεδομένων της ταινίας Πλευρικά φαινόμενα -

Υπηρεσία Διαγραφή Ταινίας

Περιγραφή Ο χρήστης διαγράφει μία ταινία από το σύστημα Δεδομένα εισόδου /

Προέλευση

- Κωδικός Καταλόγου / Σύστημα - Τίτλος ταινίας / Πληκτρολόγιο Δεδομένα εξόδου Μήνυμα επιτυχούς ή εσφαλμένης διαγραφής Προορισμός Οθόνη, Βάση δεδομένων

Απαιτήσεις Η ταινία να είναι καταχωρημένη στο σύστημα.

Η ταινία να μην σχετίζεται με καμία ταινία προς ενοικίαση Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Αποτέλεσμα Διαγραφή ταινίας από το σύστημα.

Πλευρικά φαινόμενα -

Υπηρεσία Αναζήτηση Ταινίας Περιγραφή Ο χρήστης αναζητά ταινία.

Δεδομένα εισόδου / Προέλευση

- Τίτλος ταινίας / Πληκτρολόγιο ή - Κατηγορία ταινίας / Πληκτρολόγιο ή - Κωδικό σκηνοθέτη / Σύστημα

- Ονοματεπώνυμο σκηνοθέτη / Πληκτρολόγιο ή - Κωδικό ηθοποιού / Σύστημα

- Ονοματεπώνυμο ηθοποιού / Πληκτρολόγιο

Δεδομένα εξόδου Στοιχεία ταινιών που ταιριάζουν στα δεδομένα εισόδου

Προορισμός Οθόνη

Απαιτήσεις -

Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Αποτέλεσμα Προβολή των αποτελεσμάτων αναζήτησης ταινίας Πλευρικά φαινόμενα -

Υπηρεσία Εισαγωγή Ταινίας Προς Ενοικίαση

Περιγραφή Ο χρήστης καταχωρεί μία ταινία προς ενοικίαση στο σύστημα.

Δεδομένα εισόδου / Προέλευση

- Κωδικός ταινίας /Ακολουθία βάσης δεδομένων - Κατάσταση / Σύστημα (διαθέσιμη) - Κωδικός καταλόγου / Σύστημα

- Τίτλος ταινίας / Πληκτρολόγιο

- Κωδικός υποκαταστή ματος / Σύστη μα - Πληκτρολόγιο Δεδομένα εξόδου Μήνυμα επιτυχούς ή εσφαλμένης εισαγωγής.

Προορισμός Οθόνη, Βάση δεδομένων.

Απαιτήσεις Η ταινία να είναι καταχωρημένη στο σύστημα

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

Αποτέλεσμα Καταχώρηση ταινίας προς ενοικίαση στο σύστημα.

Πλευρικά φαινόμενα -

Υπηρεσία Ενημέρωση Ταινίας προς ενοικίαση

Περιγραφή Ο χρήστης ενημερώνει τα στοιχεία της ταινίας προς ενοικίαση.

Δεδομένα εισόδου / Προέλευση

- Κατάσταση / Σύστημα - Πληκτρολόγιο - Κωδικός καταλόγου / Σύστημα

- Τίτλος ταινίας / Πληκτρολόγιο

- Κωδικός υποκαταστήματος / Σύστημα - Πληκτρολόγιο Δεδομένα εξόδου Μήνυμα επιτυχούς ή εσφαλμένης ενημέρωσης

Προορισμός Οθόνη, Βάση δεδομένων

Απαιτήσεις Η ταινία να είναι καταχωρημένη στο σύστημα

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

Αποτέλεσμα Ενημέρωση των δεδομένων της ταινίας προς ενοικίαση Πλευρικά φαινόμενα -

Υπηρεσία Διαγραφή Ταινίας Προς Ενοικίαση

Περιγραφή Ο χρήστης διαγράφει μία ταινία προς ενοικίαση από το σύστημα Δεδομένα εισόδου /

Προέλευση

- Κωδικός Ταινίας / Σύστημα - Πληκτρολόγιο - Τίτλος ταινίας / Πληκτρολόγιο

Δεδομένα εξόδου Μήνυμα επιτυχούς ή εσφαλμένης διαγραφής Προορισμός Οθόνη, Βάση δεδομένων

Απαιτήσεις Η ταινία να είναι καταχωρημένη στο σύστημα.

Η κατάσταση της ταινία να είναι διαθέσιμη (όχι ενοικιασμένη) Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Αποτέλεσμα Διαγραφή ταινίας προς ενοικίαση από το σύστημα.

Πλευρικά φαινόμενα -

Υπηρεσία Αναζήτηση Ταινίας Προς ενοικίαση Περιγραφή Ο χρήστης αναζητά ταινία προς ενοικίαση.

Δεδομένα εισόδου / Προέλευση

- Κωδικό ταινίας / Σύστημα - Πληκτρολόγιο ή - Κατάσταση / Ποντίκι ή

- Κωδικό υποκαταστήματος / Σύστημα - Πληκτρολόγιο ή - Τίτλος ταινίας / Πληκτρολόγιο ή

- Κωδικό σκηνοθέτη / Σύστημα

- Ονοματεπώνυμο σκηνοθέτη / Πληκτρολόγιο ή - Κωδικό ηθοποιού / Σύστημα

- Ονοματεπώνυμο ηθοποιού / Πληκτρολόγιο

Δεδομένα εξόδου Στοιχεία ταινιών προς ενοικίαση που ταιριάζουν στα δεδομένα εισόδου

Προορισμός Οθόνη

Απαιτήσεις -

Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Αποτέλεσμα Προβολή των αποτελεσμάτων αναζήτησης ταινιών προς ενοικίαση Πλευρικά φαινόμενα

Υπηρεσία Δανεισμός Ταινίας Προς Ενοικίαση

Περιγραφή Ο χρήστης δανείζει μία ταινία προς ενοικίαση σε έναν πελάτη.

Δεδομένα εισόδου / Προέλευση

- Κωδικός ενοικίασης / Ακολουθία βάσης δεδομένων - Ημερομηνία ενοικίασης / Σύστημα (τρέχουσα)

- Κωδικός ταινίας προς ενοικίαση / Πληκτρολόγιο - Κωδικός πελάτη / Σύστημα - Πληκτρολόγιο Δεδομένα εξόδου Μήνυμα επιτυχούς ή εσφαλμένης καταχώρησης δανεισμού Προορισμός Οθόνη, Βάση δεδομένων

Απαιτήσεις Η ταινία προς ενοικίαση να είναι καταχωρημένη στο σύστημα Ο πελάτης να είναι καταχωρημένος στο σύστημα

Η ταινία προς ενοικίαση να μην είναι ήδη δανεισμένη Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Αποτέλεσμα Καταχώριση δανεισμού ταινίας στο σύστημα

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

Υπηρεσία Επιστροφή Ενοικιασμένης Ταινίας

Περιγραφή Ο πελάτης επιστρέφει μία δανεισμένη ταινία.

Δεδομένα εισόδου / Προέλευση

- Κωδικός ενοικίασης / Σύστημα

- Ημερομηνία επιστροφής / Σύστημα (τρέχουσα) - Κωδικός ταινίας προς ενοικίαση / Πληκτρολόγιο - Κωδικός πελάτη / Σύστημα - Πληκτρολόγιο Δεδομένα εξόδου Μήνυμα επιτυχούς ή εσφαλμένης καταχώρησης επιστροφής Προορισμός Οθόνη, Βάση δεδομένων

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

Αποτέλεσμα Η ταινία αποδεσμεύεται από την κατοχή του πελάτη

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

Υπηρεσία Διαγραφή έγκρισης ενοικίασης

Περιγραφή Διαγραφή του ιστορικού στοιχείου δανεισμού ταινίας σε πελάτη Δεδομένα εισόδου /

Προέλευση

- Κωδικός ενοικίασης / Σύστημα

- Ημερομηνία ενοικίασης / Πληκτρολόγιο, ή - Ημερομηνία επιστροφής / Πληκτρολόγιο

Δεδομένα εξόδου Μήνυμα επιτυχούς ή εσφαλμένης διαγραφής έγκρισης ενοικίασης Προορισμός Οθόνη, Βάση δεδομένων

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

Αποτέλεσμα Διαγραφή της έγκρισης ενοικίασης από το σύστημα Πλευρικά φαινόμενα -

Υπηρεσία Αναζήτηση έγκρισης ενοικίασης

Περιγραφή Ο χρήστης αναζητά τα στοιχεία έγκρισης ενοικίασης Δεδομένα εισόδου /

Προέλευση

- Κωδικός ενοικίασης / Σύστημα

- Κατάσταση ταινίας προς ενοικίαση / Σύστημα - Ποντίκι - Κωδικός ταινίας / Σύστημα

- Τίτλος ταινίας / Πληκτρολόγιο

- Κωδικός πελάτη / Σύστημα - Πληκτρολόγιο

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

Προορισμός Οθόνη

Απαιτήσεις -

Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

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

Πλευρικά φαινόμενα -

Υπηρεσία Εισαγωγή Πελάτη

Περιγραφή Ο χρήστης εισάγει έναν νέο πελάτη στο σύστημα Δεδομένα εισόδου /

Προέλευση

- Κωδικός πελάτη / Ακολουθία βάσης δεδομένων - Όνομα πελάτη / Πληκτρολόγιο

- Επώνυμο πελάτη / Πληκτρολόγιο - Διεύθυνση πελάτη / Πληκτρολόγιο - Αριθμός τηλεφώνου / Πληκτρολόγιο

Δεδομένα εξόδου Μήνυμα επιτυχούς ή εσφαλμένης καταχώρησης του πελάτη Προορισμός Οθόνη, Βάση Δεδομένων

Απαιτήσεις -

Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Αποτέλεσμα Καταχώρηση ενός πελάτη στο σύστημα.

Πλευρικά φαινόμενα Εισαγωγή σχέσης “Υπάλληλος εγγράφει πελάτη σε υποκατάστημα”

Υπηρεσία Ενημέρωση Πελάτη

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

Δεδομένα εισόδου / Προέλευση

- Κωδικός πελάτη / Σύστημα - Πληκτρολόγιο - Όνομα πελάτη / Πληκτρολόγιο

- Επώνυμο πελάτη / Πληκτρολόγιο - Διεύθυνση πελάτη / Πληκτρολόγιο - Αριθμός τηλεφώνου / Πληκτρολόγιο

Δεδομένα εξόδου Μήνυμα επιτυχούς ή εσφαλμένης ενημέρωσης στοιχείων πελάτη Προορισμός Οθόνη, Βάση δεδομένων

Απαιτήσεις Ο πελάτης να είναι ήδη καταχωρημένος στο σύστημα Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Αποτέλεσμα Ενημέρωση των στοιχείων πελάτη στο σύστημα Πλευρικά φαινόμενα -

Υπηρεσία Διαγραφή Πελάτη

Περιγραφή Ο χρήστης διαγράφει έναν πελάτη από το σύστημα Δεδομένα εισόδου /

Προέλευση

- Κωδικός πελάτη / Σύστημα - Πληκτρολόγιο - Όνομα πελάτη / Πληκτρολόγιο

- Επώνυμο πελάτη / Πληκτρολόγιο

Δεδομένα εξόδου Μήνυμα επιτυχούς ή εσφαλμένης διαγραφής πελάτη Προορισμός Οθόνη, Βάση δεδομένων

Απαιτήσεις Ο πελάτης να είναι ήδη καταχωρημένος στο σύστημα

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

Αποτέλεσμα Διαγραφή ενός πελάτη από το σύστημα Πλευρικά φαινόμενα Διαγραφή σχέσης εγγράφει

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

Περιγραφή Αναζήτηση των στοιχείων ενός πελάτη Δεδομένα εισόδου /

Προέλευση

- Κωδικός πελάτη / Σύστημα - Πληκτρολόγιο - Όνομα πελάτη / Πληκτρολόγιο

- Επώνυμο πελάτη / Πληκτρολόγιο

Δεδομένα εξόδου Σύνολο δεδομένων πελατών που ταιριάζουν στα κριτήρια αναζήτησης

Προορισμός Οθόνη

Απαιτήσεις -

Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Αποτέλεσμα Ενημέρωση του χρήστη για τα στοιχεία πελάτη Πλευρικά φαινόμενα -

Υπηρεσία Εισαγωγή Σχέσης “Υπάλληλος εγγράφει πελάτη σε υποκατάστημα”

Περιγραφή Καταχώρηση του υπαλλήλου που εγγράφει έναν πελάτη σε ένα υποκατάστημα.

Δεδομένα εισόδου / Προέλευση

- Κωδικός πελάτη / Σύστημα (τρέχων κωδικός εισαγωγής πελάτη) - Κωδικός υπαλλήλου / Σύστημα (συνδεδεμένος χρήστης)

- Κωδικός υποκαταστή ματος / Σύστη μα - Πληκτρολόγιο Δεδομένα εξόδου Μήνυμα εσφαλμένης εισαγωγής της σχέσης

Προορισμός Οθόνη, Βάση δεδομένων

Απαιτήσεις Ν α πραγματοποιείται εισαγωγή πελάτη

Ο χρήστης που πραγματοποιεί την εισαγωγή να είναι συνδεδεμένος στο σύστημα.

Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Αποτέλεσμα Καταχώρηση των πληροφοριών της σχέσης εγγράφει Πλευρικά φαινόμενα -

Υπηρεσία Διαγραφή σχέσης εγγράφει

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

υποκατάστημα.

Δεδομένα εισόδου / Προέλευση

- Κωδικός πελάτη / Σύστημα

- Κωδικός υποκαταστήματος / Σύστημα - Πληκτρολόγιο Δεδομένα εξόδου Μήνυμα εσφαλμένης διαγραφής της σχέσης εγγράφει Προορισμός Οθόνη, Βάση δεδομένων

Απαιτήσεις Ο πελάτης να είναι ήδη καταχωρημένος στο σύστημα Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Αποτέλεσμα Διαγραφεί της σχέσης υπάλληλος εγγράφει χρήστη σε υποκατάστημα Πλευρικά φαινόμενα -

Υπηρεσία Αναζήτηση Σχέσης Εγγράφει

Περιγραφή Ο χρήστης αναζητά τον υπάλληλο που πραγματοποίησε την εγγραφή ενός πελάτη ή αναζητά τις εγγραφές πελατών που πραγματοποίησε ένας χρήστης.

Δεδομένα εισόδου / Προέλευση

- Κωδικός πελάτη / Σύστημα - Πληκτρολόγιο - Κωδικός υποκαταστήματος / Σύστημα - Πληκτρολόγιο - Κωδικός υπαλλήλου / Σύστημα - Πληκτρολόγιο

Δεδομένα εξόδου Σύνολο δεδομένων που ταιριάζουν στα κριτήρια αναζήτησης

Προορισμός Οθόνη

Απαιτήσεις -

Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

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

Πλευρικά φαινόμενα -

Υπηρεσία Εισαγωγή υποκαταστήματος

Περιγραφή Ο χρήστης καταχωρεί ένα νέο υποκατάστημα στο σύστημα.

Δεδομένα εισόδου / Προέλευση

- Κωδικός υποκαταστήματος / Πληκτρολόγιο

- Νομός / Πληκτρολόγιο

- Πόλη / Πληκτρολόγιο

- Οδός / Πληκτρολόγιο

- Αριθμός (οδού) / Πληκτρολόγιο - Ταχυδρομικός κώδικας / Πληκτρολόγιο - Κωδικός υπεύθυνου υποκαταστήματος / Σύστημα - Ονοματεπώνυμο υπ. Υποκαταστήματος / Πληκτρολόγιο - Τηλεφωνικοί αριθμοί / Πληκτρολόγιο

Δεδομένα εξόδου Μήνυμα επιτυχούς ή εσφαλμένης εισαγωγής Προορισμός Οθόνη, Βάση δεδομένων

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

Αποτέλεσμα Καταχώρηση του νέου υποκαταστήματος στο σύστημα.

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

Εισαγωγή τηλεφωνικών αριθμών υποκαταστήματος.

Υπηρεσία Ενημέρωση υποκαταστήματος

Περιγραφή Ο χρήστης ενημερώνει τα στοιχεία ενός υποκαταστήματος.

Δεδομένα εισόδου / Προέλευση

- Κωδικός υποκαταστήματος / Σύστημα - Πληκτρολόγιο - Νομός / Σύστημα - Πληκτρολόγιο - Πόλη / Σύστημα - Πληκτρολόγιο - Οδός / Σύστημα - Πληκτρολόγιο - Αριθμός (οδού) / Σύστημα - Πληκτρολόγιο - Ταχυδρομικός κώδικας / Σύστημα - Πληκτρολόγιο - Κωδικός υπεύθυνου υποκαταστήματος / Σύστημα - Ονοματεπώνυμο υπ. Υποκαταστήματος / Πληκτρολόγιο - Τηλεφωνικοί αριθμοί / Σύστημα - Πληκτρολόγιο Δεδομένα εξόδου Μήνυμα επιτυχούς ή εσφαλμένης ενημέρωσης

Προορισμός Οθόνη, Βάση δεδομένων

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

Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Αποτέλεσμα Ενημέρωση των δεδομένων του υποκαταστήματος.

Πλευρικά φαινόμενα -

Υπηρεσία Διαγραφή υποκαταστήματος

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

Δεδομένα εισόδου / Προέλευση

- Κωδικός υποκαταστήματος / Πληκτρολόγιο Δεδομένα εξόδου Μήνυμα επιτυχούς ή εσφαλμένης διαγραφής Προορισμός Οθόνη, Βάση δεδομένων

Απαιτήσεις Πρώτα να έχουν διαγραφεί τα δεδομένα που σχετίζονται με το υποκατάστημα

Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Αποτέλεσμα Διαγραφή του υποκαταστήματος από το σύστημα.

Πλευρικά φαινόμενα -

Υπηρεσία Αναζήτηση Υποκαταστήματος

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

Δεδομένα εισόδου / Προέλευση

- Κωδικός υποκαταστήματος / Σύστημα - Πληκτρολόγιο

- Νομός / Πληκτρολόγιο

- Πόλη / Πληκτρολόγιο

- Οδός / Πληκτρολόγιο

- Ταχυδρομικός κώδικας / Πληκτρολόγιο - Κωδικός υπεύθυνου υποκαταστήματος / Σύστημα - Ονοματεπώνυμο υπ. Υποκαταστήματος / Πληκτρολόγιο Δεδομένα εξόδου Σύνολο δεδομένων που ταιριάζουν στα κριτήρια αναζήτησης του

υποκαταστή ματος.

Προορισμός Οθόνη

Απαιτήσεις -

Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

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

Πλευρικά φαινόμενα -

Υπηρεσία Εισαγωγή Τηλεφωνικού Αριθμού Υποκαταστήματος

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

Δεδομένα εισόδου / Προέλευση

- Κωδικός υποκαταστήματος / Πληκτρολόγιο - Τηλεφωνικός αριθμός / Πληκτρολόγιο Δεδομένα εξόδου Μήνυμα επιτυχούς ή εσφαλμένης εισαγωγής Προορισμός Οθόνη, Βάση δεδομένων

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

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

Πλευρικά φαινόμενα -

Υπηρεσία Ενημέρωση Τηλεφωνικού Αριθμού Υποκαταστήματος

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

Δεδομένα εισόδου / Προέλευση

- Κωδικός υποκαταστήματος / Σύστημα - Πληκτρολόγιο - Τηλεφωνικός αριθμός / Πληκτρολόγιο

Δεδομένα εξόδου Μήνυμα επιτυχούς ή εσφαλμένης ενημέρωσης Προορισμός Οθόνη, Βάση δεδομένων

Απαιτήσεις Ο τηλεφωνικός αριθμός να είναι ήδη καταχωρημένος στο σύστημα Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Αποτέλεσμα Ενημέρωση του τηλεφωνικού αριθμού ενός υποκαταστήματος Πλευρικά φαινόμενα -

Υπηρεσία Διαγραφή Τηλεφωνικού Αριθμού Υποκαταστήματος

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

Δεδομένα εισόδου / Προέλευση

- Κωδικός υποκαταστήματος / Σύστημα - Πληκτρολόγιο - Τηλεφωνικός αριθμός / Πληκτρολόγιο

Δεδομένα εξόδου Μήνυμα επιτυχούς ή εσφαλμένης διαγραφής Προορισμός Οθόνη, Βάση δεδομένων

Απαιτήσεις Ο τηλεφωνικός αριθμός να είναι ήδη καταχωρημένος στο σύστημα Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Αποτέλεσμα Διαγραφή του τηλεφωνικού αριθμού ενός υποκαταστήματος Πλευρικά φαινόμενα -

Υπηρεσία Αναζήτηση Τηλεφωνικού Αριθμού Υποκαταστήματος

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

Δεδομένα εισόδου / Προέλευση

- Κωδικός υποκαταστήματος / Πληκτρολόγιο

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

Προορισμός Οθόνη

Απαιτήσεις -

Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Αποτέλεσμα Ενημέρωση του χρήστη για τους τηλεφωνικούς αριθμούς υποκαταστημάτων.

Πλευρικά φαινόμενα -

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

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

Δεδομένα εισόδου / Προέλευση

- Κωδικός υπαλλήλου / Ακολουθία βάσης δεδομένων - Όνομα υπαλλήλου / Πληκτρολόγιο

- Επώνυμο υπαλλήλου / Πληκτρολόγιο - Θέση υπαλλήλου / Ποντίκι

- Μισθός / Πληκτρολόγιο

- Κωδικός υποκαταστήματος / Πληκτρολόγιο - Όνομα χρήστη (εφαρμογής) / Πληκτρολόγιο - Κωδικός χρήστη (εφαρμογής) / Πληκτρολόγιο Δεδομένα εξόδου Μήνυμα επιτυχούς ή εσφαλμένης εισαγωγής Προορισμός Οθόνη, Βάση δεδομένων

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

Αποτέλεσμα Εισαγωγή ενός νέου υπαλλήλου στο σύστημα Πλευρικά φαινόμενα -

Υπηρεσία Ενημέρωση Υπαλλήλου

Περιγραφή Ο χρήστης ενημερώνει τα στοιχεία ενός υπάλληλο.

Δεδομένα εισόδου / Προέλευση

- Κωδικός υπαλλήλου / Σύστημα - Όνομα υπαλλήλου / Πληκτρολόγιο - Επώνυμο υπαλλήλου / Πληκτρολόγιο - Θέση υπαλλήλου / Ποντίκι

- Μισθός / Πληκτρολόγιο

- Κωδικός υποκαταστήματος / Πληκτρολόγιο - Όνομα χρήστη (εφαρμογής) / Πληκτρολόγιο - Κωδικός χρήστη (εφαρμογής) / Πληκτρολόγιο Δεδομένα εξόδου Μήνυμα επιτυχούς ή εσφαλμένης ενημέρωσης Προορισμός Οθόνη, Βάση δεδομένων

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

Αποτέλεσμα Ενημέρωση των στοιχείων ενός υπαλλήλου.

Πλευρικά φαινόμενα -

Υπηρεσία Διαγραφή Υπαλλήλου

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

Δεδομένα εισόδου / Προέλευση

- Κωδικός υπαλλήλου / Σύστημα - Όνομα υπαλλήλου / Πληκτρολόγιο - Επώνυμο υπαλλήλου / Πληκτρολόγιο Δεδομένα εξόδου Μήνυμα επιτυχούς ή εσφαλμένης διαγραφής Προορισμός Οθόνη, Βάση δεδομένων

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

Αποτέλεσμα Διαγραφή ενός υπαλλήλου από το σύστημα Πλευρικά φαινόμενα -

Υπηρεσία Αναζήτηση Υπαλλήλου

Περιγραφή Ο χρήστης αναζητά τα στοιχεία υπάλληλων στο σύστημα.

Δεδομένα εισόδου / Προέλευση

- Όνομα υπαλλήλου / Πληκτρολόγιο - Επώνυμο υπαλλήλου / Πληκτρολόγιο - Θέση υπαλλήλου / Π οντίκι - Κωδικός υποκαταστήματος / Πληκτρολόγιο

Δεδομένα εξόδου Σύνολο αποτελεσμάτων που ταιριάζουν στα κριτήρια αναζήτησης

Προορισμός Οθόνη

Απαιτήσεις -

Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Αποτέλεσμα Ενημέρωση του χρήστη για τα στοιχεία ενός υπαλλήλου στο σύστημα Πλευρικά φαινόμενα -

Υπηρεσία Εισαγωγή Προμηθευτή

Περιγραφή Ο χρήστης καταχωρεί έναν νέο προμηθευτή στο σύστημα.

Δεδομένα εισόδου / Προέλευση

- Κωδικός προμηθευτή / Ακολουθία βάσης δεδομένων - Όνομα προμηθευτή / Πληκτρολόγιο

- Επώνυμο προμηθευτή / Πληκτρολόγιο - Διεύθυνση προμηθευτή / Πληκτρολόγιο - Τηλέφωνο προμηθευτή / Πληκτρολόγιο Δεδομένα εξόδου Μήνυμα επιτυχούς ή εσφαλμένης εισαγωγής Προορισμός Οθόνη, Βάση δεδομένων

Απαιτήσεις -

Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Αποτέλεσμα Εισαγωγή ενός νέου προμηθευτή στο σύστημα Πλευρικά φαινόμενα -

Υπηρεσία Ενημέρωση Προμηθευτή

Περιγραφή Ο χρήστης ενημερώνει τα στοιχεία ενός προμηθευτή.

Δεδομένα εισόδου / Προέλευση

- Κωδικός προμηθευτή / Σύστημα - Όνομα προμηθευτή / Πληκτρολόγιο - Επώνυμο προμηθευτή / Πληκτρολόγιο - Διεύθυνση προμηθευτή / Πληκτρολόγιο - Τηλέφωνο προμηθευτή / Πληκτρολόγιο Δεδομένα εξόδου Μήνυμα επιτυχούς ή εσφαλμένης ενημέρωσης Προορισμός Οθόνη, Βάση δεδομένων

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

Αποτέλεσμα Ενημέρωση των στοιχείων ενός προμηθευτή.

Πλευρικά φαινόμενα -

Υπηρεσία Διαγραφή Προμηθευτή

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

Δεδομένα εισόδου / Προέλευση

- Κωδικός προμηθευτή / Σύστημα - Όνομα προμηθευτή / Πληκτρολόγιο - Επώνυμο προμηθευτή / Πληκτρολόγιο

Δεδομένα εξόδου Μήνυμα επιτυχούς ή εσφαλμένης διαγραφής προμηθευτή Προορισμός Οθόνη, Βάση δεδομένων

Απαιτήσεις Ο προμηθευτής να είναι ήδη καταχωρημένος στο σύστημα Ν α μην υπάρχουν συσχετίσεις του προμηθευτή με κεντρική παραγγελία

Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Αποτέλεσμα Διαγραφή του προμηθευτή από το σύστημα.

Πλευρικά φαινόμενα -

Υπηρεσία Αναζήτηση Προμηθευτή

Περιγραφή Ο χρήστης αναζητά τα στοιχεία ενός προμηθευτή στο σύστημα.

Δεδομένα εισόδου / Προέλευση

- Κωδικός προμηθευτή / Σύστημα - Όνομα προμηθευτή / Πληκτρολόγιο - Επώνυμο προμηθευτή / Πληκτρολόγιο

Δεδομένα εξόδου Σύνολο δεδομένων προμηθευτών που ταιριάζουν στα κριτήρια αναζήτησης

Προορισμός Οθόνη

Απαιτήσεις -

Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Αποτέλεσμα Ενημέρωση του χρήστη για τα στοιχεία προμηθευτών Πλευρικά φαινόμενα -

Υπηρεσία Άνοιγμα Κύριας Παραγγελίας

Περιγραφή Ο χρήστης ανοίγει μία κύρια παραγγελία Δεδομένα εισόδου /

Προέλευση

- Κωδικός κύριας παραγγελίας / Ακολουθία βάσης δεδομένων - Ημερομηνία έναρξης κύριας παραγγελίας / Πληκτρολόγιο Δεδομένα εξόδου Μήνυμα επιτυχούς ή εσφαλμένης λειτουργίας

Προορισμός Οθόνη, Βάση δεδομένων

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

Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Αποτέλεσμα Άνοιγμα μίας νέας κύριας παραγγελίας Πλευρικά φαινόμενα -

Υπηρεσία Κλείσιμο Κύριας Παραγγελίας

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

Δεδομένα εισόδου / Προέλευση

- Κωδικός κύριας παραγγελίας / σύστημα

- Ημερομηνία κλεισίματος κύριας παραγγελίας / Πληκτρολόγιο - Κωδικός προμηθευτή / σύστημα

- Ονοματεπώνυμο προμηθευτή / Ποντίκι Δεδομένα εξόδου Μήνυμα επιτυχούς ή εσφαλμένης λειτουργίας Προορισμός Οθόνη, Βάση δεδομένων

Απαιτήσεις -

Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Αποτέλεσμα Κλείσιμο μίας νέας κύριας παραγγελίας Πλευρικά φαινόμενα -

Υπηρεσία Ενημέρωση Κύριας Παραγγελίας

Περιγραφή Ο χρήστης ενημερώνει τα δεδομένα μίας κύριας παραγγελίας.

Δεδομένα εισόδου / Προέλευση

- Κωδικός κύριας παραγγελίας / σύστημα - Κωδικός προμηθευτή / σύστημα - Ονοματεπώνυμο προμηθευτή / Ποντίκι Δεδομένα εξόδου Μήνυμα επιτυχούς ή εσφαλμένης ενημέρωσης Προορισμός Οθόνη, Βάση δεδομένων

Απαιτήσεις Η κύρια παραγγελία να είναι καταχωρημένη στο σύστημα Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Αποτέλεσμα Ενημέρωση της κύριας παραγγελίας Πλευρικά φαινόμενα -

Υπηρεσία Διαγραφή Κύριας Παραγγελίας

Περιγραφή Ο χρήστης διαγράφει μία υπάρχουσα κύρια παραγγελία από το σύστημα.

Δεδομένα εισόδου / Προέλευση

- Κωδικός κύριας παραγγελίας / σύστημα

- Ημερομηνία έναρξης κύριας παραγγελίας / Πληκτρολόγιο - Ημερομηνία κλεισίματος κύριας παραγγελίας / Πληκτρολόγιο - Κωδικός προμηθευτή / σύστημα

- Ονοματεπώνυμο προμηθευτή / Ποντίκι Δεδομένα εξόδου Μήνυμα επιτυχούς ή εσφαλμένης διαγραφής Προορισμός Οθόνη, Βάση δεδομένων

Απαιτήσεις Η κύρια παραγγελία να είναι καταχωρημένη στο σύστημα Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Αποτέλεσμα Διαγραφή μίας κύριας παραγγελίας Πλευρικά φαινόμενα -

Υπηρεσία Αναζήτηση Κύριας Παραγγελίας

Περιγραφή Ο χρήστης αναζητά τα στοιχεία μίας κύριας παραγγελίας.

Δεδομένα εισόδου / Προέλευση

- Ημερομηνία έναρξης κύριας παραγγελίας / Πληκτρολόγιο - Ημερομηνία κλεισίματος κύριας παραγγελίας / Πληκτρολόγιο - Κατάσταση (ανοιχτή-κλειστή παραγγελία) / Ποντίκι

- Κωδικός προμηθευτή / σύστημα - Ονοματεπώνυμο προμηθευτή / Ποντίκι

Δεδομένα εξόδου Σύνολο δεδομένων που ταιριάζουν στα κριτήρια αναζήτησης

Προορισμός Οθόνη

Απαιτήσεις -

Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Αποτέλεσμα Ενημέρωση του χρήστη για τα στοιχεία μίας κύριας παραγγελίας Πλευρικά φαινόμενα -

Υπηρεσία Εισαγωγή Παραγγελίας Υποκαταστήματος

Περιγραφή Ο χρήστης καταχωρεί την παραγγελία ενός υποκαταστήματος.

Δεδομένα εισόδου / Προέλευση

- Κωδικός παραγγελίας υποκαταστήματος / ακολουθία ΒΔ - Κωδικός Υποκαταστήματος / Σύστημα - Πληκτρολόγιο - Ημερομηνία παραγγελίας / Σύστημα (τρέχουσα)

- Κωδικός κύριας παραγγελίας / Σύστημα (ανοιχτή κύρια παραγγελία).

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

Προορισμός Οθόνη, βάση δεδομένων

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

Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

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

Πλευρικά φαινόμενα -

Υπηρεσία Διαγραφή Παραγγελίας Υποκαταστήματος

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

Δεδομένα εισόδου / Προέλευση

- Κωδικός παραγγελίας υποκαταστήματος / σύστημα - Κωδικός Υποκαταστήματος / Πληκτρολόγιο - Ημερομηνία παραγγελίας / Πληκτρολόγιο - Κωδικός κύριας παραγγελίας / Πληκτρολόγιο

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

Προορισμός Οθόνη, βάση δεδομένων

Απαιτήσεις Η παραγγελία υποκαταστήματος να μην περιέχει ταινίες Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Αποτέλεσμα Διαγραφή μίας παραγγελίας υποκαταστήματος από το σύστημα.

Πλευρικά φαινόμενα -

Υπηρεσία Αναζήτηση Παραγγελίας Υποκαταστήματος

Περιγραφή Ο χρήστης αναζητά τα στοιχεία παραγγελιών ενός υποκαταστήματος.

Δεδομένα εισόδου / Προέλευση

- Κωδικός παραγγελίας υποκαταστήματος / σύστημα - Κωδικός Υποκαταστήματος / Πληκτρολόγιο - Ημερομηνία παραγγελίας / Πληκτρολόγιο - Κωδικός κύριας παραγγελίας / Πληκτρολόγιο

Δεδομένα εξόδου Σύνολο δεδομένων που ταιριάζουν στα κριτήρια αναζήτησης.

Προορισμός Οθόνη

Απαιτήσεις -

Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Αποτέλεσμα Ενημέρωση του χρήστη για τις παραγγελίες υποκατστήματος Πλευρικά φαινόμενα -

Υπηρεσία Εισαγωγή Ταινίας Σ ε Παραγγελίας Υποκαταστήματος Περιγραφή Ο χρήστης καταχωρεί μία ταινία σε μία παραγγελία

υποκαταστήματος σε συγκεκριμένο αριθμό αντιτύπων.

Δεδομένα εισόδου / Προέλευση

- Κωδικός παραγγελίας υποκαταστήματος / Σύστημα - Κωδικός ταινίας / Σύστημα

- Τίτλος ταινίας / Πληκτρολόγιο

- Αριθμός αντιτύπων ταινίας / Πληκτρολόγιο

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

Προορισμός Οθόνη, βάση δεδομένων

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

Η ταινία να είναι ήδη καταχωρημένη στο σύστημα.

Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Αποτέλεσμα Καταχώρηση και αντιστοίχηση ταινίας σε παραγγελία υποκαταστή ματος

Πλευρικά φαινόμενα -

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

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

Δεδομένα εισόδου / Προέλευση

- Κωδικός παραγγελίας υποκαταστήματος / Σύστημα - Κωδικός ταινίας / Σύστημα

- Τίτλος ταινίας / Πληκτρολόγιο

- Αριθμός αντιτύπων ταινίας / Πληκτρολόγιο

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

Προορισμός Οθόνη, βάση δεδομένων

Απαιτήσεις Η παραγγελία υποκαταστήματος να αντιστοιχεί σε κάποια ανοιχτή κύρια παραγγελία.

Η ταινία να είναι ήδη καταχωρημένη στο σύστημα.

Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

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

Πλευρικά φαινόμενα -

Υπηρεσία Διαγραφή Σχέσης Ταινία Περιλαμβάνεται Σε Παραγγελίας Υ ποκαταστή ματος

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

Δεδομένα εισόδου / Προέλευση

- Κωδικός παραγγελίας υποκαταστήματος / Σύστημα - Κωδικός ταινίας / Σύστημα

- Τίτλος ταινίας / Πληκτρολόγιο

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

Προορισμός Οθόνη, βάση δεδομένων

Απαιτήσεις Η παραγγελία υποκαταστήματος να αντιστοιχεί σε κάποια ανοιχτή κύρια παραγγελία.

Η ταινία να έχει αντιστοιχιστεί σε κάποια παραγγελία υποκαταστή ματος.

Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

Αποτέλεσμα Αφαίρεση της ταινίας από παραγγελία υποκαταστήματος Πλευρικά φαινόμενα -

Υπηρεσία Αναζήτηση Ταινία Που Περιλαμβάνεται Σε Παραγγελίας Υ ποκαταστή ματος

Περιγραφή Ο χρήστης αναζητά τις πληροφορίες μία ταινία που ανήκει σε παραγγελία υποκαταστήματος.

Δεδομένα εισόδου / Προέλευση

- Κωδικός παραγγελίας υποκαταστή ματος / Πληκτρολόγιο - Κωδικός ταινίας / Σύστημα

- Τίτλος ταινίας / Πληκτρολόγιο

Δεδομένα εξόδου Σύνολο δεδομένων που ταιριάζουν στα κριτήρια αναζήτησης.

Προορισμός Οθόνη

Απαιτήσεις -

Προϋπόθεση Ο χρήστης να διαθέτει τα απαιτούμενα δικαιώματα.

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

Πλευρικά φαινόμενα -

Παράρτημα Ε

Τεκμηρίωση Βάσης Δεδομένων

Ε1. Λεξικό δεδομένων

Π εδίο Π εριγραφ ή τύπ ος N ot

null Ο ντότη τα

CopyNo Αριθμός Αντιτύπων Number(3) V

RentPrice Αξία ενοικίασης Number(4,2) V

BuyPrice Αξία αγοράς Number(5,2)

PhoneNo Αριθμός τηλεφώνου char(10) V

StreetNo Αριθμός Διεύθυνσης Number(4) V

Address Διεύθυνση Char (40) V

LName Επώνυμο Char (20) V

OrderStartDate Ημερομηνία Έναρξης Παραγγελίας Date V

RentDate Ημερομηνία Ενοικίασης Date V

ReturnDate Ημερομηνία Επιστροφής Date

DateJoined Ημερομηνία Εγγραφής Date V

OrderEndDate Ημερομηνία Λήξης Παραγγελίας Date

OrderDate Ημερομηνία Παραγγελίας Date V

Position Θέση Char (20) V

RentalCategory Κατηγορία ενοικίασης Char(15) V

MovieCategory Κατηγορία ταινίας Char(30)

Status Κατάσταση Char(1) V A/R

O rd erR eaN o Κωδικός Αίτησης Παραγγελίας Number(5) V

SupervisorStaffNo Κωδικός Επιβλέποντα Char(4) V

R entalN o Κωδικός Ενοικίασης Number(6) V

A ctorN o Κωδικός Ηθοποιού Number(5) V

C atalogN o Κωδικός Καταλόγου Number(5) V

O rderN o Κωδικός Κεντρικής Παραγγελίας Number(4) V

M em b erN o Κωδικός Πελάτη Number(6) V

SunnlierN o Κωδικός Προμηθευτή Number(3) V

D irectorN o Κωδικός Σκηνοθέτη Number(4) V

TitleN o Κωδικός Ταινίας Number(7) V

B ranchN o Κωδικός Υποκαταστήματος Char(4) V Α000-Ζ999

MgrStaffNo Κωδικός Υπεύθυνου Υποκαταστήματος Number(4)

StaffN o Κωδικός Υπαλλήλου Number(4) V

Salary Μισθός Number(6,2) V

Country Νομός Char(20) V

Street Οδός Char(40) V

City Πόλη Char(20) V

Role Ρόλος Char(40)

PostCode Ταχυδρομικός Κώδικας Number(5) V

Title Τίτλος Char(40) V

username Όνομα χρήστη * Char(15) V

Password Κωδικός υπαλλήλου*1 Char(15) V

Ε2. Μοντέλο οντοτήτων συσχετίσεων καθολικού σχήματος

Βιβλιογραφία

[1] Βασιλειάδης, (Μάιος,1999), Προχωρημένα θέματα βάσεων δεδομένων (κεφάλαιο 2 - Κατανεμημένες Βάσεις Δεδομένων). Ανακτήθηκε τον Νοέμβριο 2007, από τον δικτυακό τόπο της σχολής Ηλεκτρολόγων Μηχανικών και Μηχανικών

Υπολογιστών του ΕΜΠ.

[2] Charles Dye, Oracle Distributed Systems, O’Reilly ISBN: 1-56592-432-0

[3] Ruth Baylis, K.Rich & J. Fee, (Ιούνιος,2001), Oracle 9i Database Administrator Guide. Oracle.

[4] Tedd Burroughs & Randy Urbano, (Μάρτιος.2002), Oracle 9i Advanced replication. Oracle.

[5] Wikipedia - Distributed

Databases. http://www.google.gr/search?q=wikipedia+distributed+databases&ie=u tf-8&oe=utf-8&aq=t&rls=org.mozilla:el:official&client=firefox-a, Ανακτήθηκε στις 8/4/2008

[6] R. Ramakrishnan & J. Gehrken, (2000), Συστήματα Βάσεων Δεδομένων, Τόμος Β’

2η Έκδοση. Τζιόλας.

[7] Jeff Johnson, (2008), GUI Bloopers 2.0. Common user interface design don’ts and dos. Morgan Kaufmann

Documentos relacionados