Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Σχεδιασμός Design Δρ. Μαρία Ι. Ανδρέου. Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 2 Περιεχόμενα  Σχεδιασμός και Αφαιρετικότητα  Σχεδιασμός καθορισμένος.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Σχεδιασμός Design Δρ. Μαρία Ι. Ανδρέου. Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 2 Περιεχόμενα  Σχεδιασμός και Αφαιρετικότητα  Σχεδιασμός καθορισμένος."— Μεταγράφημα παρουσίασης:

1 Σχεδιασμός Design Δρ. Μαρία Ι. Ανδρέου

2 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 2 Περιεχόμενα  Σχεδιασμός και Αφαιρετικότητα  Σχεδιασμός καθορισμένος από Λειτουργίες (Operation-oriented design)  Ανάλυση Ροής Δεδομένων (Data flow analysis)  Ανάλυση Συναλλαγών (Transaction analysis)  Σχεδιασμός καθορισμένος από τα Δεδομένα (Data-oriented design)  Σχεδιασμός καθορισμένος από τα Αντικείμενα (Object-oriented design)  Object-oriented design: The elevator problem case study  Object-oriented design: The Osbert Oglesby case study

3 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 3 Περιεχόμενα (συνέχ.)  The design workflow  The test workflow: Design  Τυπικές Τεχνικές και Λεπτομερής Σχεδιασμός (Formal techniques for detailed design)  Τεχνικές Σχεδιασμού Πραγματικού Χρόνου (Real-time design techniques)  CASE tools for design  Μετρικές για Σχεδιασμό (Metrics for design)  Προκλήσεις από το design workflow

4 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 4 Δεδομένα και ενέργειες (Data and Actions)  Δυο πτυχές ενός προϊόντος  Ενέργειες που λειτουργούν πάνω σε δεδομένα  Δεδομένα πάνω στα οποία εφαρμόζονται ενέργειες  Οι δυο βασικοί τρόποι για σχεδιασμό ενός προϊόντος  Operation-oriented design  Data-oriented design  Τρίτος τρόπος  Hybrid methods  Για παράδειγμα, object-oriented design

5 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 5 Σχεδιασμός και Αφαιρετικότητα Design and Abstraction  Δραστηριότητες που εκτελούνται κατά τον Κλασικό Σχεδιασμό (Classical design activities)  Αρχιτεκτονικό Σχέδιο (Architectural design)  Λεπτομερές Σχέδιο (Detailed design)  Έλεγχος Σχεδιασμού (Design testing)  Architectural design  Είσοδος: Προδιαγραφές (Specifications)  Έξοδος: Διαχωρισμός σε modules (Modular decomposition)  Detailed design  Σχεδιασμός κάθε module  Επιλογή συγκεκριμένων αλγορίθμων και δομών δεδομένων

6 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 6 Σχεδιασμός καθορισμένος από Λειτουργίες Operation-Oriented Design  Ανάλυση Ροής Δεδομένων (Data flow analysis)  Η τεχνική αυτή χρησιμοποιείται από τις περισσότερες specification methods (Structured Systems Analysis)  Σημείο Κλειδί: έχουμε λεπτομερή πληροφορία για τις ενέργειες από το data flow diagram (DFD)

7 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 7 Data Flow Analysis  Κάθε προϊόν μετατρέπει την είσοδο σε έξοδο  Καθορισμός  “Point of highest abstraction of input”  “Point of highest abstract of output”

8 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 8 Data Flow Analysis (συνέχ.)  Διαχωρισμός του προϊόντος σε τρία μέρη/τμήματα (modules)  Επανάλαβε stepwise μέχρι που κάθε module να έχει υψηλή συνοχή (high cohesion)  Ίσως να χρειάζονται μικρές αλλαγές έτσι ώστε μειώσουμε την ζεύξη

9 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 9 Mini Case Study: Word Counting  Παράδειγμα: σχεδιάστε ένα προϊόν το οποίο έχει ως είσοδο ένα όνομα αρχείου, και επιστρέφει το αριθμό των λέξεων σε αυτό το αρχείο (σαν την εντολή UNIX wc )

10 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 10 Mini Case Study: Word Counting (contd)  Πρώτη εκλέπτυνση (First refinement)  Τώρα θα πρέπει να εκλεπτύνουμε τα δυο modules με communicational cohesion

11 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 11  Δεύτερη εκλέπτυνση (Second refinement)  Τώρα, και τα οκτώ modules έχουν functional cohesion Mini Case Study: Word Counting (contd)

12 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 12 Word Counting: Detailed Design  Το αρχιτεκτονικό Σχέδιο είναι πλήρες  Συνεπώς προχωράμε με το λεπτομερές σχέδιο  Υπάρχουν δυο μορφές στις οποίες μπορούμε να παρουσιάσουμε το λεπτομερές σχέδιο (detailed design):  Tabular  Pseudocode (PDL—program design language)

13 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 13 Detailed Design: Tabular Format

14 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 14 Detailed Design: Tabular Format (contd)

15 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 15 Detailed Design: Tabular Format (contd)

16 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 16 Detailed Design: Tabular Format (contd)

17 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 17 Detailed Design: PDL Format

18 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 18 Επεκτάσεις της Ανάλυσης Ροής Δεδομένων Data Flow Analysis Extensions  Στα προϊόντα του πραγματικού κόσμου, υπάρχουν  Περισσότερες από μια είσοδοι (More than one input stream), και  Περισσότερες από μια έξοδοι (More than one output stream)

19 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 19 Data Flow Analysis Extensions (contd)  Βρες τα σημεία of highest abstraction για κάθε stream  Επανάλαβε αυτό έως ότου κάθε module να έχει high cohesion  Προσαρμόστε την ζεύξη όταν χρειάζεται

20 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 20 Ανάλυση Συναλλαγών (Transaction Analysis)  Η DFA δεν ενδείκνυται για transaction processing products  Παράδειγμα: ATM (automated teller machine)

21 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 21 Transaction Analysis (contd)  Ο σχεδιασμός είναι φτωχός.  Υπάρχει λογική συνοχή και ζεύξη

22 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 22 Διορθωμένος Σχεδιασμό χρησιμοποιώντας Transaction Analysis  Software reuse  Have one generic edit module, one generic update module  Instantiate them 5 times

23 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 23 Σχεδιασμός Καθοδηγούμενος από τα δεδομένα (Data-Oriented Design)  Βασική αρχή  Η δομή του προϊόντος πρέπει να προσαρμόζεται στην δομή των δεδομένων  Υπάρχουν τρις παρόμοιες μέθοδοι  Michael Jackson [1975], Warnier [1976], Orr [1981]  Σχεδιασμός καθοδηγούμενος από τα δεδομένα (Data-oriented design)  Δεν ήταν ΠΟΤΕ τόσο διαδεδομένος όσο ο action- oriented design  Με την εμφάνιση του OOD, ο data-oriented design έχει αποσυρθεί

24 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 24 Αντικειμενοστρεφής Σχεδιασμός Object-Oriented Design (OOD)  Στόχος  Σχεδιασμός του προϊόντος με βάση τις κατηγορίες που έχουν προσδιοριστεί κατά την την ΟΟΑ  Αν κάνουμε χρήση μιας γλώσσας η οποία δεν υποστηρίζει κληρονομικότητα (π.χ., C, Ada 83)  Τότε δημιουργούμε σχεδιασμό καθοδηγούμενο από abstract data type  Αν κάνουμε χρήση μιας γλώσσας η οποία δεν υποστηρίζει type statement (π.χ., FORTRAN, COBOL)  Κάνουμε χρήση data encapsulation

25 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 25 Object-Oriented Design Steps  Ο OOD συνιστάται από δυο βήματα:  Βήμα 1. Ολοκλήρωση του class diagram  Καθορισμός της μορφής των attributes  Ανάθεση κάθε μεθόδου (method), είτε σε μια κατηγορία (class) ή σε ένα πελάτη (client) που στέλνει μηνύματα σε ένα αντικείμενο (object) αυτής της κατηγορίας  Step 2.Δημιουργία του λεπτομερούς σχεδίου (detailed design)

26 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 26 Object-Oriented Design Steps (contd)  Βήμα 1. Ολοκλήρωση του class diagram  Η μορφή (formats) των attributes μπορεί να εξαχθεί άμεσα από τα artifacts της ανάλυσης  Παράδειγμα: Ημερομηνίες (Dates)  U.S. format (mm/mm/yyyy)  European format (dd/mm/yyyy)  Και στις δυο περιπτώσεις, χρειάζονται 10 χαρακτήρες  The formats θα μπορούσαν να καθοριστούν κατά την διάρκεια της analysis  Για να ελαχιστοποιήσουμε rework, ΠΟΤΕ μην προσθέτετε πράγματα στα UML διαγράμματα μέχρι να πλήρως απαραίτητα

27 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 27 Object-Oriented Design Steps (contd)  Βήμα 1. Ολοκλήρωση του class diagram  Ανάθεση κάθε μεθόδου (method), είτε σε μια κατηγορία (class) ή σε ένα πελάτη (client) που στέλνει μηνύματα σε ένα αντικείμενο (object) αυτής της κατηγορίας  Αρχή A: Απόκρυψη πληροφοριών (Information hiding)  Αρχή B: αν μια λειτουργία κληθεί από πολλούς clients ενός object, θέσε αυτή τη μέθοδο αυτή στην κατηγορία αυτού του object, ΟΧΙ στους clients  Αρχή C: Σχεδιασμός καθοδηγούμενος από τις ευθύνες (Responsibility-driven design)

28 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 28 Object-Oriented Design: The Elevator Problem Case Study  Βήμα 1. Ολοκλήρωση του class diagram  Με βάση την δεύτερη επανάληψη της CRC card για τον elevator controller

29 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 29 OOD: Elevator Problem Case Study (contd)  CRC card

30 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 30 OOD: Elevator Problem Case Study (contd)  Ευθύνες (Responsibilities)  8. Start timer  10. Check requests, and  11. Update requests αυτές αναθέτονται στον elevator controller  Επειδή εκτελούνται από τον elevator controller

31 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 31 OOD: Elevator Problem Case Study (contd)  Οι υπόλοιπες οκτώ responsibilities έχουν την μορφή  “Send a message to another class to tell it do something”  Αυτές Πρέπει να ανατεθούν στις άλλες class  Responsibility-driven design  Safety considerations  Οι Methods open doors, close doors αναθέτονται στην class Elevator Doors  Οι Methods turn off button, turn on button αναθέτονται στις classes Floor Button and Elevator Problem

32 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 32 Detailed Class Diagram: Elevator Problem

33 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 33 Detailed Design: Elevator Problem  Ο λεπτομερής σχεδιασμός (Detailed design) του elevatorEventLoop κατασκευάζεται από το statechart

34 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 34 Object-Oriented Design: The Osbert Oglesby Case Study  Βήμα 1. Ολοκλήρωση του class diagram  Το τελικό class diagram παρουσιάζεται αμέσως μετά  Χρειάζεται η Date class στην C++  Η Java έχει ενσωματωμένη την class Date

35 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 35 Final Class Diagram: Osbert Oglesby

36 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 36 Class Diagram with Attributes: Osbert Oglesby

37 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 37 Ανάθεση μεθόδων στις Classes: Osbert Oglesby  Παράδειγμα: setTitle, getTitle  Από το inheritance tree, αυτές οι μέθοδοι πρέπει να ανατεθούν στην Painting Class  Έτσι μπορούν να κληρονομηθούν Από όλες τις subclasses of Painting Class  Η ανάθεση των άλλων μεθόδων είναι straightforward  Για πληροφορίες δες στο Appendix G

38 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 38 Λεπτομερής Σχεδιασμός-Detailed Design: Osbert Oglesby  Καθορισμός του ΤΙ κάνει κάθε μέθοδος (method)  Παρουσίαση του detailed design σε μια κατάλληλη μορφή  π.χ., PDL (pseudocode)

39 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 39 Method ComputeMasterpiecePrice::getAlgorithmPrice

40 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 40 Method ComputeMasterworkPrice::getAlgorithmPrice

41 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 41 The Design Workflow  Περίληψη του design workflow:  Τα artifacts του analysis workflow are iterated and integrated μέχρι που ο προγραμματιστής να μπορεί να τα χρησιμοποιήσει  Ανάμεσα στις Αποφάσεις που πρέπει να ληφθούν είναι:  Implementation language  Reuse  Portability

42 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 42 The Design Workflow (contd)  Η ιδαία του διαχωρισμού ενός μεγάλου workflow σε μικρότερα Ανεξάρτητα workflows (packages) χρησιμοποιείται ευρέως στο design workflow  Ο στόχος είναι να διασπαστεί το επερχόμενο implementation workflow σε κομμάτια (pieces) που μπορούν να διαχειριστούν  Subsystems  Δεν έχει νόημα να χωρίσουμε το Osbert Oglesby case study σε subsystems — είναι ΠΟΛΥ μικρό

43 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 43 The Design Workflow (contd)  Γιατί σπάζουμε το προϊόν σε subsystems:  Είναι πιο εύκολο να υλοποιήσουμε (implement) ένα αριθμό από μικρότερα subsystems παρά ένα μεγάλο σύστημα (system)  Στην περίπτωση όπου τα subsystems είναι ανεξάρτητα, μπορούν να υλοποιούνται παράλληλα από ομάδες προγραμματιστών  το software product σαν σύνολο θα μπορεί να παραδοθεί πιο σύντομα

44 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 44 The Design Workflow (contd)  Η αρχιτεκτονική (architecture) ενός software product περιλαμβάνει  Τα διάφορα τμήματα/ μέρη (components)  Πώς ταιριάζουν μεταξύ τους  Ανάθεση των components σε subsystems  Το καθήκον του σχεδιασμού της αρχιτεκτονικής χρειάζεται ειδικότητα  Εκτελείται από τον αρχιτέκτονα λογισμικού (software architect)

45 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 45 The Design Workflow (contd)  Ο αρχιτέκτονας χρειάζεται να κάνει trade-offs  κάθε software product πρέπει να ικανοποιεί τις λειτουργικές του απαιτήσεις (functional requirements) π.χ., τα use cases  Πρέπει επίσης να ικανοποιεί τις μη-λειτουργικές του απαιτήσεις (nonfunctional requirements), που περιλαμβάνουν  Portability, reliability, robustness, maintainability, and security  Πρέπει να κάνει ΟΛΑ αυτά εντός του προϋπολογισμού (budget) και των χρονικών περιορισμών (time constraints)  Ο αρχιτέκτονας πρέπει να συμβουλέψει τον πελάτη εξηγώντας του αυτά τα trade-offs

46 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 46 The Design Workflow (contd)  Συχνά ΔΕΝ είναι δυνατό να ικανοποιηθούν όλες οι απαιτήσεις, εντός των περιορισμών κόστους και χρόνου  Πρέπει να γίνει κάποιου είδους ΣΥΜΒΙΒΑΣΜΟΣ  Ο πελάτης πρέπει να  Χαλαρώσει κάποιες απαιτήσεις (Relax some of the requirements)  Αυξήσει το budget; και/ή  Να μετακινήσει την ημερομηνία παράδοσης

47 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 47 The Design Workflow (contd)  Η αρχιτεκτονική ενός software product είναι κρίσιμης/μεγάλης σημασίας  Το requirements workflow μπορεί να καθοριστεί πλήρως κατά την διάρκεια του analysis workflow  Το analysis workflow μπορεί να καθοριστεί πλήρως κατά την διάρκεια του design workflow  Το design workflow μπορεί να καθοριστεί πλήρως κατά την διάρκεια του implementation workflow  Από την άλλη πλευρά, ΔΕΝ μπορούμε να ξεπεράσουμε (recover) προβλήματα από μια ΜΗ βέλτιστη αρχιτεκτονική  Η αρχιτεκτονική ΠΡΕΠΕΙ να ξανασχεδιαστεί άμεσα

48 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 48 The Test Workflow: Design  Πρέπει να διεξάγεται κριτική/αξιολόγηση του σχεδιασμού  Το design πρέπει απεικονίζει σωστά τις προδιαγραφές (specifications)  Επίσης, το design πρέπει να είναι σωστό από μόνο του  Transaction-driven inspections  Essential for transaction-oriented products  However, they are insufficient — specification-driven inspections are also needed

49 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 49 The Test Workflow: The Osbert Oglesby Case Study  Πρέπει να γίνεται έλεγχος/επιθεώρηση του design  Πρέπει να ελεγχθούν ΟΛΕΣ οι πτυχές του design  Ακόμα και αν δεν βρεθούν λάθη, είναι δυνατό να αλλάξει κατά την διάρκεια του implementation workflow

50 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 50 Formal Techniques for Detailed Design  Το να υλοποιήσουμε ένα προϊόν και μετά να το διορθώσουμε είναι πολύ δύσκολο

51 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 51 Formal Techniques for Detailed Design (cond)  Όμως, με χρήση τυπικών τεχνικών (formal techniques) κατά την διάρκεια του detailed design μπορεί να βοηθήσει  Απόδειξη ορθότητας (Correctness proving) μπορεί να εφαρμοστεί σε κομμάτια στο μέγεθος του module (module-sized pieces)  Ο σχεδιασμός (design) θα μπορούσε να έχει λιγότερα λάθη αν αναπτυχθεί παράλληλα με correctness proof  Αν ο ίδιος programmer εκτελεί το detailed design και implementation  Σε αυτή την περίπτωση ο programmer θα έχει θετική στάση απέναντι στο detailed design  Και αυτό θα πρέπει να οδηγεί σε λιγότερα λάθη

52 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 52 Τεχνικές Σχεδιασμού Πραγματικού Χρόνου Real-Time Design Techniques  Δυσκολίες σχετιζόμενες με συστήματα πραγματικού-χρόνου (real-time systems)  Η είσοδος προέρχεται από τον πραγματικό κόσμο  Το Software ΔΕΝ έχει έλεγχο για το πότε θα δεχτεί είσοδο  Συχνά υλοποιείται με κατανεμημένο (distributed) software  Επιπτώσεις από θέματα επικοινωνιών (Communications implications)  Θέματα χρονισμού (Timing issues)  Προβλήματα συγχρονισμού (synchronization)  Race conditions  Deadlock (deadly embrace)

53 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 53 Real-Time Design Techniques (contd)  Η βασική δυσκολία στο σχεδιασμό real-time systems  Καθορισμός του κατά πόσο οι χρονικοί περιορισμοί ικανοποιούνται από το σχεδιασμό

54 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 54 Real-Time Design Techniques (contd)  Οι περισσότερες μέθοδοι για real-time design είναι επεκτάσεις non-real-time μεθόδων σε real-time  Υπάρχει περιορισμένη εμπειρία στη χρήση οποιωνδήποτε real-time methods  το state-of-the-art δεν είναι στα επίπεδα που αναμέναμε

55 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 55 CASE Tools για Σχεδιασμό (Design)  Είναι σημαντικό να ελέγξουμε ότι τα design artifacts περιλαμβάνουν ΟΛΕΣ τις πτυχές της ανάλυσης  Για να διαχειριστούμε τα artifacts της ανάλυσης και του σχεδιασμού χρειαζόμαστε upperCASE tools  UpperCASE tools  Δημιουργούν ένα data dictionary  Περιλαμβάνουν ένα ελεχτή συνέπειας (consistency checker) και  Screen and report generators  Εργαλεία διοίκησης (Management tools) που πολλές φορές χρησιμοποιούνται για,  Εκτιμήσεις (Estimating)  Planning

56 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 56 CASE Tools for Design (contd)  παραδείγματα tools για object-oriented design  Commercial tools  Software through Pictures  Rose  Together  Open-source tool  ArgoUML

57 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 57 Μετρικές για Σχεδιασμό (Metrics for Design)  Μέτρα για την ποιότητα του design  Συνοχή (Cohesion)  Ζεύξη (Coupling)  Fault statistics  Η Cyclomatic complexity είναι προβληματική  Πολυπλοκότητα δεδομένων αγνοείται (Data complexity is ignored)  Δεν χρησιμοποιείται πολύ στο object-oriented paradigm

58 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 58 Metrics for Design (contd)  Μερικές μετρικές αφορούν μόνο το object-oriented paradigm  Έχουν μελετηθεί τόσο από θεωρητικής όσο και από την πειραματική σκοπιά.

59 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 59 Challenges of the Design Phase  Η ομάδα που διεξάγει τον σχεδιασμό δεν πρέπει να το παρακάνει  Το detailed design δεν πρέπει να γίνει κώδικας  Η ομάδα που διεξάγει τον σχεδιασμό δεν πρέπει να κάνει πολύ λίγα  Είναι ευθύνη της να παράξει ένα detailed design

60 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 60 Challenges of the Design Phase (contd)  Θέλουμε να «αναπτύξουμε» πολύ καλούς (great) designers  Ενδεχομένως ένας great designers πρέπει να είναι  Αναγνωρίσιμος (Identified),  Να έχει την κατάλληλη μόρφωση,  Να εκτιμά great designers, and  Να επιτρέπετε να αλληλεπιδρά με άλλους designers  Πρέπει να υπάρχει σαφής career path για αυτούς τους designers, με την κατάλληλη αμοιβή


Κατέβασμα ppt "Σχεδιασμός Design Δρ. Μαρία Ι. Ανδρέου. Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 2 Περιεχόμενα  Σχεδιασμός και Αφαιρετικότητα  Σχεδιασμός καθορισμένος."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google