Σχεδιασμός Προσανατολισμένος σε Λειτουργίες Σχεδιασμός με λειτουργικές ενότητες που μετατρέπει εισόδους σε εξόδους
Στόχοι Εξήγηση πως ο σχεδιασμός λογισμικού μπορεί να αναπαρασταθεί από ένα σύνολο λειτουργιών οι οποίες διαμοιράζονται μία κατάσταση Εισαγωγή εννοιών για σχεδιασμό προσανατολισμένο σε λειτουργίες Παρουσίαση παραδειγμάτων για σχεδιασμό προσανατολισμένο σε λειτουργίες Σύγκριση διαδοχικών, ταυτόχρονων και αντικειμενοστραφών στρατηγικών σχεδιασμού
Θέματα Σχεδιασμός ροής πληροφορίας Δομική αποσύνθεση Λεπτομερής σχεδιασμός Σύγκριση τεχνικών σχεδιασμού
Σχεδιασμός Προσανατολισμένος σε Λειτουργίες Άτυπη πρακτική αφού έχει αρχίσει ο προγραμματισμός Χιλιάδες συστημάτων έχουν αναπτυχθεί με χρήση αυτής της προσέγγισης Υποστηρίζεται απευθείας από πολλές γλώσσες προγραμματισμού Οι περισσότερες μέθοδοι είναι συναρτησιακές στην προσέγγισή τους Υπάρχουν διαθέσιμα CASE εργαλεία
Σχεδιασμός Προσανατολισμένος σε Λειτουργίες
Φυσικά Συναρτησιακά Συστήματα Μερικά συστήματα είναι από την φύση τους προσανατολισμένα σε συναρτήσεις Είναι συστήματα τα οποία διατηρούν την ελάχιστη κατάσταση πληροφορίας, δηλ. τα συστήματα επεξεργάζονται ανεξάρτητες δράσεις των οποίων το αποτέλεσμα δεν εξαρτάται από προηγούμενες δραστηριότητες Ο διαμοιρασμός της πληροφορίας γίνεται μέσω λιστών παραμέτρων Συστήματα επεξεργασίας συναλλαγών εμπίπτουν σε αυτή την κατηγορία. Κάθε συναλλαγή είναι ανεξάρτητη
Σχεδιασμός Συστήματος ΑΤΜ Replace with portrait slide
Συναρτησιακός και Αντικειμενοστραφής Σχεδιασμός Για τις περισσότερες εφαρμογές ο αντικειμενοστραφής σχεδιασμός οδηγεί σε περισσότερο αξιόπιστα και ευκολότερα συντηρήσιμα συστήματα Μερικές εφαρμογές που διατηρούν μικρή κατάσταση ο συναρτησιακός σχεδιασμός είναι κατάλληλος Υπάρχουν CASE εργαλεία που δουλεύουν καλά για τον συναρτησιακό σχεδιασμό Τα υπάρχοντα συστήματα πρέπει να συντηρούνται και ο συναρτησιακός σχεδιασμός θα αναπτύσσεται σωστά
Διαδικασία Συναρτησιακού Σχεδιασμού Σχεδιασμός Ροής Δεδομένων Χρήση διαγραμμάτων ροής πληροφορίας για την μοντελοποίηση της επεξεργασίας δεδομένων Δομική Αποσύνθεση Μοντελοποίηση του πως οι συναρτήσεις αποσυντίθενται σε υπο - συναρτήσεις με χρήση γραφικών δομικών απεικονίσεων Λεπτομερής Σχεδιασμός Οι οντότητες στον σχεδιασμό και οι διεπαφές περιγράφονται σε λεπτομέρεια. Καταγράφονται σε λεξικό δεδομένων και για τον σχεδιασμό χρησιμοποιείται PDL
Διαγράμματα Ροής Πληροφορίας Δείχνουν πως δεδομένα εισόδου μετατρέπονται από ένα σύστημα σε δεδομένα εξόδου Είναι σημαντικό τμήμα πολλών μεθόδων σχεδιασμού και υποστηρίζονται από πολλά συστήματα CASE Μεταφράζονται σε διαδοχικό ή παράλληλο σχεδιασμό. Στον διαδοχικό σχεδιασμό τα στοιχεία επεξεργασίας είναι συναρτήσεις ενώ στον παράλληλο είναι διαδικασίες
Σημειογραφία Διαγράμματος Ροής Δεδομένων Στογγυλεμένο τετράγωνο - συνάρτηση ή μετασχηματισμός Τετράγωνο - αποθήκευση δεδομένων Κύκλοι - αλληλεπιδράσεις χρήστη με το σύστημα Βέλη - δείχνουν κατευθύνσεις της ροής δεδομένων Λέξεις κλειδιά, κ.α. - Χρησιμοποιούνται για την διασύνδεση ροών δεδομένων
Σχεδιασμός Παραγώγου Εγγράφων Replace with portrait slide
Δομική Αποσύνθεση Η δομική αποσύνθεση σχετίζεται με την ανάπτυξη μοντέλου σχεδιασμού που δείχνει την δυναμική δομή, δηλ. κλήσεις συναρτήσεων Δεν είναι το ίδιο όπως η στατική δομική σύνθεση Ο στόχος του σχεδιαστή είναι να δημιουργήσει σχεδιαστικές μονάδες είναι οποίες είναι συνεκτικές και χαλαρά συνδεδεμένες Στην ουσία ένα διάγραμμα ροής δεδομένων μετατρέπεται σε ένα διάγραμμα δομής
Οδηγίες Αποσύνθεσης Για επιχειρηματικές εφαρμογές, το διάγραμμα μπορεί να έχει τέσσερις λειτουργίες: είσοδο, επεξεργασία, ενημέρωση αρχείων και έξοδο Συναρτήσεις αξιολόγησης δεδομένων θα πρέπει να είναι υπο-συναρτήσεις μίας συνάρτησης εισόδου Ο συντονισμός και ο έλεγχος είναι ευθύνη συναρτήσεων κοντά στην κορυφή της ιεραρχίας
Οδηγίες Αποσύνθεσης Ο στόχος της διαδικασίας είναι η αναγνώριση συναρτήσεων που είναι χαλαρά συνδεδεμένες και συνεκτικές. Έτσι κάθε συνάρτηση πρέπει να κάνει ένα και μόνο ένα πράγμα Κάθε κόμβος του δομικού διαγράμματος πρέπει να έχει από δύο - επτά υπολειτουργίες
Βήματα Διαδικασίας Αναγνώριση μετασχηματισμών επεξεργασίας συστήματος Οι μετασχηματισμοί στο διάγραμμα ροής πληροφορίας πρέπει να σχετίζονται με επεξεργασία και όχι δραστηριότητες εισόδου/εξόδου. Ομαδοποίηση σε μία συνάρτηση στο διάγραμμα δομής Αναγνώριση μετασχηματισμών εισόδου Μετασχηματισμοί οι σχετίζονται με διάβασμα, αξιολόγηση και μορφοποίηση. Ομαδοποίηση στην συνάρτηση εισόδου Αναγνώριση μετασχηματισμών εξόδου Μετασχηματισμοί που συσχετίζονται με μορφοποίηση και εκτύπωση. Ομαδοποίηση στην ίδια συνάρτηση
Αρχικό Διάγραμμα Δομής
Εκτεταμένο Διάγραμμα Δομής
Τελικό Διάγραμμα Δομής
Λεπτομερής Σχεδιασμός Σχετίζεται με την παραγωγή συντόμων σχεδιαστικών προδιαγραφών (minispec) κάθε συνάρτησης. Περιλαμβάνει επεξεργασία, εισόδους και εξόδους Οι περιγραφές αυτές συμπεριλαμβάνονται σε ένα ένα λεξικό δεδομένων Από αυτές τις περιγραφές, λεπτομερείς περιγραφές σχεδιασμού παράγονται σε PDL ή γλώσσα προγραμματισμού
Είσοδοι Λεξικού Δεδομένων
Πληροφορία Οντότητας Σχεδιασμού
Σύγκριση Στρατηγικών Σχεδιασμού Το παράδειγμα του συστήματος ανάκτησης πληροφοριών γραφείου (OIRS) χρησιμοποιείται για την σύγκριση διαφορετικών στρατηγικών σχεδιασμού Συγκρίνονται συναρτησιακός σχεδιασμός, ταυτόχρονος σχεδιασμός και αντικειμενοστραφής σχεδιασμός Το OIRS είναι σύστημα γραφείου για την διαχείριση εγγράφων. Οι χρήστες αποθηκεύουν, διατηρούν και ανακτούν έγγραφα από αυτό
Διεπαφή Χρήστη του OIRS
Περιγραφή Διεπαφής Πεδίο λειτουργίας Pull-down μενού που επιτρέπει την επιλογή της λειτουργίας Γνωστοί και τρέχοντες δείκτες πεδίων Pull-down μενού ή δείκτες Όνομα εγγράφου. Όνομα για την αποθήκευση του εγγράφου Πεδίο προσδιορισμού Πρότυπο που χρησιμοποιείται για την ανάκτηση Τρέχον χώρος εργασίας Περιλαμβάνει τα έγγραφά που χρησιμοποιούνται τώρα. Χρήση του επεξεργαστή κειμένου
OIRS: είσοδοι και έξοδοι
Fetch-execute Μοντέλο procedure Interactive_system is begin loop Command := Get_command; if Command = “quit” then -- Make sure files etc. are closed properly Close_down_system ; exit ; else Input_data := Get_input_data ; Execute_command (Command, Input_data, Output_data) ; end if ; end loop ; end Interactive_system ;
Υψηλού Επιπέδου Διάγραμμα Ροής Πληροφορίας του OIRS
Αποφάσεις Σχεδιασμού Τι στρατηγική πρέπει να ακολουθηθεί για την αποσύνθεση της εντολής Execute; Είναι οι ροές δεδομένων στην είσοδο και την έξοδο ανεξάρτητες ή αλληλεξαρτώμενες; Αν είναι ανεξάρτητες θα πρέπει να υπάρχει κεντρικός μετασχηματισμός για κάθε μονάδα επεξεργασίας Είναι ο κεντρικός μετασχηματισμός μία σειρά μετασχηματισμών; Εάν ναι, κάθε λογικό στοιχείο της σειράς πρέπει να είναι απλός μετασχηματισμός
Execute Εντολή στο DFD
Περιγραφή Σχεδιασμού του OIRS Replace with portrait slide
Ταυτόχρονος Σχεδιασμός Συστήματος Τα διαγράμματα ροής πληροφορίας δεν περιλαμβάνουν πληροφορία ελέγχου. Υλοποιούνται απευθείας ως ταυτόχρονες διαδικασίες Λογικές ομάδες μετασχηματισμών υλοποιούνται ως σύγχρονες διαδικασίες, δηλ. συλλογή και έλεγχος δεδομένων εισόδου Το σύστημα OIRS μπορεί να υλοποιηθεί ως σύγχρονο σύστημα με εντολές εισόδου, εκτέλεσης και ενημέρωσης κατάστασης ως διαφορετικές διαδικασίες
Διαδικασία Αποσύνθεσης OIRS
Λεπτομερής Σχεδιασμός Διαδικασίας procedure Office_system is task Get_command ; task Process_command is entry Command_menu ; entry Display_indexes ; entry Edit_qualifier ; -- Additional entries here. One for each command end Process_commands ; task Output_message is entry Message_available ; end Output_message ; task Workspace_editor is entry Enter ; entry Leave ; end Workspace_editor ;
Λεπτομερής Σχεδιασμός Διαδικασίας Replace with portrait slide
Αντικειμενοστραφής Σχεδιασμός Ο αντικειμενοστραφής σχεδιασμός εστιάζει στις οντότητες του συστήματος παρά στις δραστηριότητες επεξεργασίας δεδομένων Απλοποιημένος OOD εδώ που δείχνει διαφορετική αποσύνθεση Η αρχική αποσύνθεση έχει παρουσιαστεί νωρίτερα
Προκαταρκτική Αναγνώριση Αντικειμένων
Απαίτηση για Νέα Αντικείμενα Χώρος Εργασίας Αντιστοιχεί στον χώρο εργασίας του χρήστη και συμπεριλαμβάνει λειτουργίες προσθήκης και απομάκρυνσης αντικειμένων από τον χώρο εργασίας Λίστα Δεικτών Παρέχει τρόπους για την διαχείριση καταλόγου δεικτών Βάση Δεδομένων Εγγράφων Αντιστοιχεί στην βάση δεδομένων εγγράφων και παρέχει λειτουργίες αναζήτησης και ανάκτησης
Πρόσθετα Αντικείμενα OIRS
Ραφινάρισμα Αντικειμένων Το σύστημα ανάκτησης δεν παρέχει υπηρεσίες. Συντονίζει άλλα αντικείμενα. Έχει μόνο χαρακτηριστικά Στα έγγραφα και τους δείκτες δίνονται ονόματα Τα ξεχωριστά στοιχεία εντολών έχουν συνενωθεί σε απλή εντολή χρήστη στο σύστημα ανάκτησης Το αντικείμενο χρήστης έχει αντικατασταθεί από το αντικείμενο Display
Τροποποιημένα Αντικείμενα OIRS
Σημαντικά Σημεία Ο συναρτησιακός σχεδιασμός στηρίζεται στην αναγνώριση συναρτήσεων που μετατρέπουν εισόδους σε εξόδους Πολλά συστήματα επιχειρήσεων είναι συστήματα συναλλαγών που είναι εκ φύσης συναρτησιακά Η διαδικασία συναρτησιακού σχεδιασμού περιλαμβάνει μετασχηματισμούς δεδομένων, αποσύνθεση συναρτήσεων σε υπο-συναρτήσεις και λεπτομερή περιγραφή 35
Σημαντικά Σημεία Τα διαγράμματα ροής πληροφορίας είναι τρόπος για την παρουσίαση ροής από την αρχή έως το τέλος. Δομικά γραφήματα παρουσιάζουν την δυναμική ιεραρχία των κλήσεων σε συναρτήσεις Τα διαγράμματα ροής πληροφορίας υλοποιούνται απευθείας ως συνεργαζόμενες διαδοχικές διαδικασίες Ο συναρτησιακός και ο αντικειμενοστραφής σχεδιασμός οδηγούν σε διαφορετικές αποσυνθέσεις συστήματος. Συχνά όμως είναι απαραίτητη μία ετερογενής προσέγγιση στον σχεδιασμό