Από Ανάλυση στη Σχεδίαση

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Από Ανάλυση στη Σχεδίαση"

Transcript

1 Σχεδίαση Λογισµικού ΙΙ Αντώνης Καραγεώργος Τµήµα Μηχανικών Η/Υ και ικτύων Πανεπιστήµιο Θεσσαλίας Πρότυπα σχεδίων και επαναχρησιµοποίηση Θέλουµε ναεκµεταλλευτούµε τακοινά χαρακτηριστικά µεταξύ των συστηµάτων ώστε να µην τα αναπτύσσουµε κάθε φορά από την αρχή Η αναζήτηση κοινών χαρακτηριστικών αντιστοιχεί σε αναζήτηση προτύπων σχεδίασης Είναι σηµαντικό να κατασκευάζουµε πρότυπα σχεδίου µε τρόπους που δεν τα συνδέουν µε κάποιο συγκεκριµένο σύστηµα Από Ανάλυση στη Σχεδίαση Χαρακτηριστικά καλού σχεδίου Data Object Description Process Specification (PSPEC) Entity- Data Flow Relationship Diagram Diagram Data Dictionary State-Transition Diagram Control Specification (CSPEC) interface design architectural design data design procedural design Αναζητούµε χαρακτηριστικά που συνδέονται µε ποιότητα σχεδίασης: Ανεξαρτησία δοµικών µονάδων Αναγνώριση και χειρισµός εξαιρέσεων Παρεµπόδιση και ανοχή σφαλµάτων ΜΟΝΤΕΛΟ ΑΝΑΛΥΣΗΣ ΜΟΝΤΕΛΟ ΣΧΕ ΙΑΣΗΣ Pressman p

2 Ανεξαρτησία συστατικών του σχεδίου Σύζευξη Προσπαθούµε νακάνουµε τιςδοµικές µονάδες (συστατικά) όσο το δυνατόν ανεξάρτητες µεταξύ τους Με τον τρόπο αυτό είναι πιό εύκολο να κατανοήσουµε τι κάνουν αλλά και να τις τροποποιήσουµε πιοεύκολα Οβαθµός ανεξαρτησίας των συστατικών ενός σχεδίου χαρακτηρίζεται µε βάση τη σύζευξη και τη συνεκτικότητά τους Σύζευξη (coupling) είναι ο βαθµός συσχέτισης µεταξύ των δοµικών µονάδων. Συνεκτικότητα (Cohesion): Αναφέρεται στην εσωτερική συνοχή µε βάση την οποία κατασκευάζεται ένα συστατικό Προσπαθούµε ναέχουµε χαµηλή σύζευξη και υψηλή συνεκτικότητα!!! Χαλαρή σύζευξη Κάποιες εξαρτήσεις Μή συζευγµένα (καθόλου σύζευξη) Υψηλή σύζευξη Πολλές εξαρτήσεις Τύποι σύζευξης Τύποι σύζευξης (συνέχεια) Σύζευξη περιεχοµένων : Αναφορές που γίνονται από ένα συστατικό στα υπόλοιπα (π.χ. Α καλεί Β και τροποποιεί τα περιεχόµενά του) Σύζευξη κοινών δεδοµένων: εδοµένα που είναι κοινά για κάποια συστατικά (π.χ. το Α και το Β έχουν µια κοινή µεταβλητή) Σύζευξη ελέγχου: Έλεγχος που ένα συστατικό ασκεί στα υπόλοιπα (π.χ. Α περνά µια σηµαία ελέγχου στο Β και µε τοντρόποαυτό καθορίζει τη µετέπειτα λειτουργία του) Σύζευξη αντιγράφου: Ανταλλαγή δοµών δεδοµένων µεταξύ των συστατικών (π.χ. το Α περνά ένα αντικείµενο ή µια δοµή στο Β) Σύζευξη δεδοµένων: εδοµένα που περνούν από ένα συστατικό στα υπόλοιπα (π.χ. το Α περνά µια µεταβλητή ή έναν πίνακα στο Β) Component B Go to D1 Component D B A D C E Στόχος µας η διατήρηση χαµηλού βαθµού σύζευξης στα συστατικά του σχεδίου Go to D1 D1: Παράδειγµα σύζευξης περιεχοµένου 2

3 Τύποι σύζευξης (συνέχεια) Αποτίµηση σύζευξης Global: A1 A2 A3 Variables: V1 V2 Common data area and variable names Component X Component Y Component Z Change V1 to zero Increment V1 V1 = V2 + A1 Σύζευξη περιεχοµένων Σύζευξη κοινών δεδοµένων Σύζευξη ελέγχου Σύζευξη αντιγράφου Σύζευξη δεδοµένων Μη σύζευξη ΥΨΗΛΗ ΣΥΖΕΥΞΗ ΧΑΛΑΡΗ ΕΛΑΧΙΣΤΗ Παράδειγµα σύζευξης κοινών δεδοµένων Μερικοί τύποι σύζευξης είναι λιγότερο επιθυµητοί από άλλους π.χ. σύζευξη περιεχοµένου Συνεκτικότητα Αναφέρεται στην εσωτερική συνοχή µε βάση την οποία κατασκευάζεται ένα συστατικό Όσο πιο συνεκτικό είναι ένα συστατικό τόσο περισσότερο τα εσωτερικά µέρη του σχετίζονται µεταξύ τους και εξυπηρετούν το συνολικό σκοπό του Ένα συστατικό είναι συνεκτικό άν όλα τα τµήµατά του χρειάζονται για την εκτέλεση της ίδιας εργασίας Κοινός στόχος της σχεδίασης είναι να γίνει κάθε συνθετικό όσο συνεκτικότερο γίνεται Τύποι συνεκτικότητας Συµπτωµατική (coincidental): τα τµήµατα του συστατικού δε σχετίζονται µεταξύ τους Λογική (logical): διάφορες λογικά συσχετιζόµενες συναρτήσεις ή δεδοµένα τοποθετούνται στο ίδιο συστατικό π.χ. συναρτήσεις ανάγνωσης δεδοµένων Χρονική (temporal): οι λειτουργίες του συστατικού σχετίζονται µόνο µε βάση τη χρονική περίοδο στην οποία εκτελούνται ιαδικασιακή (procedural): οι λειτουργίες πρέπει να εκτελούνται µε βάση µια συγκεκριµένη σειρά Επικοινωνιακή (communicational): οι λειτουργίες παράγουν ή ενεργούνστοίδιοσύνολοδεδοµένων Σειριακή (sequential): η έξοδος από το ένα τµήµα του συστατικού αποτελεί είσοδο για ένα άλλο Λειτουργική (functional): κάθε τµήµα της επεξεργασίας είναι απαραίτητο για την απόδοση µιας µόνο λειτουργίας 3

4 Τύποι συνεκτικότητας (συνέχεια) Παραδείγµατα συνεκτικότητας ΛΕΙΤΟΥΡΓΙΑ A ΛΕΙΤΟΥΡΓΙΑ A ΧΡΟΝΟΣ T0 ΛΕΙΤΟΥΡΓΙΑ A Λειτουργική Σειριακή Επικοινωνιακή ΥΨΗΛΗ ΣΥΝΕΚΤΙΚΟΤΗΤΑ ΛΕΙΤΟΥΡΓΙΑ Β ΛΕΙΤΟΥΡΓΙΑ ΛΕΙΤΟΥΡΓΙΑ Γ ΛΕΙΤΟΥΡΓΙΑ Ε logic ΛΕΙΤΟΥΡΓΙΑ Α ΛΕΙΤΟΥΡΓΙΑ Α ΣΥΜΠΤΩΜΑΤΙΚΗ ΛΟΓΙΚΗ Τα τµήµατα δε σχετίζονται Παρόµοιες λειτουργίες ΧΡΟΝΟΣ T0 + X ΧΡΟΝΟΣ T0 + 2X ΧΡΟΝΙΚΗ Σχετίζονται µε βάση το χρονισµό ΛΕΙΤΟΥΡΓΙΑ B ΛΕΙΤΟΥΡΓΙΑ Γ ΙΑ ΙΚΑΣΙΑΚΗ Σχετίζονται µε βάση τη σειρά των λειτουργιών ιαδικασιακή Χρονική Λογική Συµπτωµατική ΧΑΜΗΛΗ Ε ΟΜΕΝΑ ΛΕΙΤΟΥΡΓΙΑ A ΛΕΙΤΟΥΡΓΙΑ Β ΛΕΙΤΟΥΡΓΙΑ Γ ΕΠΙΚΟΙΝΩΝΙΑΚΗ Πρόσβαση στα ίδια δεδοµένα ΛΕΙΤΟΥΡΓΙΑ A ΛΕΙΤΟΥΡΓΙΑ Β ΛΕΙΤΟΥΡΓΙΑ Γ ΛΕΙΤΟΥΡΓΙΑ A µέρος 1 ΛΕΙΤΟΥΡΓΙΑ A µέρος 2 ΛΕΙΤΟΥΡΓΙΑ A µέρος 3 ΑΚΟΛΟΥΘΙΑΚΗ ΛΕΙΤΟΥΡΓΙΚΗ Η έξοδος του ενός τµήµατος Ακολουθιακή συνεκτικότητα είναι η είσοδος στο επόµενο µε επιπλέον πλήρεις σχετιζόµενες λειτουργίες Παράδειγµα ελέγχου συστατικών A B C D E F G A B C D E F G Σύστηµα 1 (προτιµητέο) Σύστηµα 2 Στόχος: ηµιουργία συστατικών µε υψηλό πλήθος εισόδων (fan-in) και χαµηλό πλήθος εξόδων (fan-out) Αναγνώριση και χειρισµός εξαιρέσεων Σχεδιάζουµε αµυντικά, προσπαθώντας να αποφύγουµε καταστάσεις που µπορούν να οδηγήσουν σε προβλήµατα για το σύστηµα Εξαιρέσεις (exceptions): καταστάσεις που είναι γνωστό ότι είναι ενάντια στη λειτουργία του συστήµατος Οι εξαιρέσεις συµπεριλαµβάνουν: Αδυναµία παροχής µιας υπηρεσίας Παροχή λανθασµένης υπηρεσίας ή δεδοµένων Αλλοίωση δεδοµένων Χειρισµός εξαιρέσεων Επανάληψη: επανεκτελούµε τηνυπηρεσίαµε διαφορετικό τρόπο ξεκινώντας από την προηγούµενη κατάσταση ιόρθωση: εκτελούµε επανάληψη αφού πρώτα διορθώσουµε κάποια χαρακτηριστικά του συστήµατος Αναφορά: αναφέρουµε την εξαίρεση σε κατάλληλο συστατικό και δεν εκτελούµε την υπηρεσία 4

5 Παρεµπόδιση και ανοχή σφαλµάτων Προσπάθεια για αντιµετώπιση σφαλµάτων µε τρόπο που να ελαχιστοποιεί τη δυσλειτουργία του συστήµατος και να µεγιστοποιεί την ασφάλεια Σφάλµα: Αποτέλεσµα ανθρώπινου λάθους Αστοχία: η αποµάκρυνση του συστήµατος από την προβλεπόµενη συµπεριφορά Χαρακτηριστικό καλής σχεδίασης: οτρόποςπου παρεµποδίζει ή ανέχεται τα σφάλµατα Τεχνικές για αντιµετώπιση σφαλµάτων Παθητική ανίχνευση σφαλµάτων Αντιµετωπίζουµε τα σφάλµατα µόλις εµφανιστούν οι αστοχίες στην εκτέλεση Ενεργητική ανίχνευση σφαλµάτων Έλεγχος για σφάλµαταπρινγίνουναστοχίες ιόρθωση σφαλµάτων Επανόρθωση του συστήµατος µετά τη δράση του σφάλµατος Ανοχή στα σφάλµατα Αποµόνωση της ζηµιάς που προκαλείται από ένα σφάλµα Ενεργητική ανίχνευση σφαλµάτων Περιοδικός έλεγχος συµπτωµάτων σφαλµάτων και προσπάθεια πρόβλεψης αστοχιών (συχνά σε δεύτερο υπολογιστή) Αµοιβαία υποψία (mutual redundancy): κάθε συστατικό του συστήµατος υποθέτει οτι τα άλλα περιέχουν σφάλµατα και ελέγχει την είσοδό του για ορθότητα και συνέπεια Πλεονασµός (redundancy): τα αποτελέσµατα δύο ή περισσοτέρων διεργασιών συγκρίνονται για να εξεταστεί άν είναι πανοµοιότυπα Π.χ. στο διαστηµικό λεωφορείο 7 υπολογιστές ψηφίζουν για κάθε επόµενη ενέργεια ιόρθωση και ανοχή σφαλµάτων ιόρθωση σφαλµάτων Στρατηγική για χειρισµό σφαλµάτων Επανόρθωση της δυσλειτουργίας που έγινε από κάποια αστοχία (π.χ. καταγραφή της δυσλειτουργίας και διακοπή της λειτουργίας του συστήµατος) Αλλαγή του συστήµατος για να εξαλειφθεί η δυσλειτουργία Ανοχή σφαλµάτων Αποµόνωση της ζηµιάς που προκαλείται από ένα σφάλµα Ενέργειες ώστε το σφάλµα ναµην εξελιχθεί σε αστοχία 5

6 Τεχνικές για βελτίωση του σχεδίου Μείωση της πολυπλοκότητας Σχεδίαση µε συµβόλαιο Πρωτοτυποποίηση της σχεδίασης Ανάλυση δέντρου σφαλµάτων Πολυπλοκότητα υσκολία στην κατανόηση και την διαχείριση Πολυπλοκότητα σχεδίασης: υσκολία στην κατανόηση και την διαχείριση προϊόντων σχεδίασης Σχετίζεται µε τοναριθµό των χαρακτηριστικών, π.χ. έννοιες, διαγράµµατα, σχέσεις µεταξύ των στοιχείων των διαγραµµάτων, που περιλαµβάνονται στο σχέδιο αλλά και στη διαδικασία σχεδίασης Σχετίζεται µε σφάλµατα στο λογισµικό και γι αυτό είναι επιθυµητό να έχουµε χαµηλή πολυπλοκότητα Μείωση της πολυπλοκότητας σχεδίασης Σχεδίαση µε συµβόλαιο Αστοχίες ανά χιλιάδες γραµµές κώδικα Πολυπλοκότητα σχεδίασης του συστήµατος Card and Class 1990 Το σύστηµα αποτελείται από έναν αριθµό αλληλεπιδρόντων συστατικών Υπάρχουν αυστηρά καθορισµένες προδιαγραφές για το τι κάνει το κάθε συστατικό που ονοµάζονται συµβόλαια (contracts) Κάθε συµβόλαιο καλύπτει αµοιβαίες υποχρεώσεις (preconditions), µετασυνθήκες (postconditions) και διαβεβαιώσεις (invariants) π.χ. require count <= capacity not key.empty ensure has(x) item(key)=x invariant is_full =(.95*capacity<=gauge) 6

7 Πρωτοτυποποίηση σχεδίασης Ανάλυση δέντρου σφαλµάτων Κατασκευή πρωτοτύπου υλοποιώντας µόνο τις αναγκαίες λειτουργίες Μπορεί να είναι: µιας χρήσης (throw away prototype) Μέρος του τελικού συστήµατος (rapid prototyping) Το ίδιο αποτελεσµατική όπως οι παραδοσιακές τεχνικές ανάπτυξης συστηµάτων Either event can occur Valve stuck in open position Basic events Cooling system overflows OR Timeout control fails Failure Fill mode remains on AND Sensor fails Both events must occur G1 G2 G3 G4 G5 A1 A2 A3 A4 Fault tree A5 G2 G1 G3 {G4, G5} {A4, A5} {A1, G5} {A2, G5} {A1, A3} {A1, A4} {A2, A3} {A2, A4} Cut-set tree Τµήµα συστήµατος ελέγχου ενός πυρηνικού αντιδραστήρα έντρο σφαλµάτων και δέντρο συνόλου αποκοπής Σύνολο αποκοπής [cut-set] είναι το σύνολο των κόµβων-φύλλων του δέντρου αποκοπής όταν αφαιρεθούν τα διπλά αντίγραφα Ανάλυση δέντρου σφαλµάτων Βοηθάει στην αναζήτηση περιπτώσεων που µπορεί να οδηγήσουν σε αστοχίες είχνουν τη λογική διαδροµή από το αποτέλεσµα στην αιτία της αστοχίας Επαλήθευση και επικύρωση της σχεδίασης Επικύρωση (validation): εξασφάλιση οτι η σχεδίαση ικανοποιεί όλες τις απαιτήσεις που ορίστηκαν από τον πελάτη Επαλήθευση (verification): εξασφάλιση οτι υπάρχουν τα χαρακτηριστικά της καλής σχεδίασης 7

8 Τεχνικές επικύρωσης και επαλήθευσης σχεδίασης Μαθηµατική επικύρωση Μέτρηση της ποιότητας του σχεδίου Σύγκριση σχεδίων Μια προδιαγραφή, πολλά σχέδια Πίνακες σύγκρισης Ανασκοπήσεις σχεδίασης Κριτική ανασκόπηση σχεδίου Ανασκόπηση σχεδίου προγράµµατος Αξία των ανασκοπήσεων σχεδίων Μαθηµατική επικύρωση Αποδεικνύει οτι το σχέδιο είναι σωστό είχνει: Αν το σύνολο των εισόδων µετατρέπεται σωστά στο σύνολο των εξόδων Αν η διεργασία ολοκληρώνεται χωρίς αστοχίες Μέτρηση της ποιότητας του σχεδίου Μέτρηση του σχεδίου σε υψηλό επίπεδο, συµπεριλαµβανοµένων της σύζευξης και της συνεκτικότητας Μέτρηση της πολυπλοκότητας σε κάθε συστατικό και της πολυπλοκότητας των σχέσεων µεταξύ των συστατικών Περισσότερα για µετρήσεις σε επόµενο µάθηµα! Σύγκριση σχεδίων Μια προδιαγραφή πολλά σχέδια ηµιουργία πολλών σχεδίων για µια προδιαγραφή µε βάση διαφορετικά στυλ αρχιτεκτονικής Επιλογή του σχεδίου που είναι πιο κατάλληλο για το σκοπό του συστήµατος Πίνακες σύγκρισης µε διάφορα κριτήρια Ευκολία αλλαγής των αλγορίθµων Ευκολία αλλαγής της αναπαράστασης δεδοµένων Ευκολία αλλαγής λειτουργιών Easy to change function Καλή απόδοση Ευκολία επαναχρησιµοποίησης 8

9 Πίνακας σύγκρισης σχεδίασης Γενική µέθοδος σχεδίασης της αρχιτεκτονικής Table 5.5. Weighted comparison of Shaw and Garlan designs. Attribute Priority Shared Abstract data Implicit Pipe and filter data type invocation Easy to change algorithm Easy to change data representation Easy to change function Good performance Easy to reuse Total Από τις απαιτήσεις του χρήστη «αρ. δωµατίων, χρώµα, παράθυρα, πόρτες» architectural design Στοσχέδιοαρχιτεκτονικής Μέθοδος σχεδίασης της αρχιτεκτονικής 1. Καθορισµός προδιαγραφών απαιτήσεων (συλλογή σεναρίων, περιγραφή απαιτήσεων, περιορισµοί) 2. Περιγραφή των στυλ αρχιτεκτονικής που έχουν επιλεγεί 3. Αξιολόγηση των αντίστοιχων χαρακτηριστικών ποιότητας 5. Προσδιορισµός της ευαισθησίας των χαρακτηριστικών ποιότητας των στυλ αρχιτεκτονικής 6. Αξιολόγηση των υποψήφιων αρχιτεκτονικών µε βάση την ευαισθησία των χαρακτηριστικών ποιότητας Μοντέλο περιγραφής απαιτήσεων Μετασχηµατισµοί ηµιουργία του µοντέλου αρχιτεκτονικής Αρχιτεκτονική προγράµµατος 9

10 ιαχωρισµός της αρχιτεκτονικής Κάνουµε οριζόντιο και κάθετο διαχωρισµό της αρχιτεκτονικής Οριζόντιος διαχωρισµός Ορίζουµε ξεχωριστούς κλάδους της ιεραρχίας των συστατικών για κάθε κύρια λειτουργία Χρησιµοποιούµε συστατικά ελέγχου για να συντονίζουµε την επικοινωνία µεταξύ των λειτουργιών Λειτουργία 1 Λειτουργία 3 Λειτουργία 2 Κάθετος διαχωρισµός: Παραγοντοποίηση Σχεδιάζουµε έτσιώστεοιαποφάσειςκαιοι λειτουργικότητα να στρωµατοποιούνται Τα συστατικά αποφάσεων πρέπει να βρίσκονται στην κορυφή της αρχιτεκτονικής Αποφάσεις Λειτουργικότητα Γιατί θέλουµε διαχωρισµένη αρχιτεκτονική; Έχει σαν αποτέλεσµα λογισµικό που είναι πιο εύκολο να ελεγχθεί Οδηγεί σε λογισµικόπουείναιεύκολονα συντηρηθεί Είναι πιο δύσκολο να µεταφέρονται παρενέργειες (π.χ. από λάθη µεταξύ των δοµικών µονάδων) Το λογισµικόπουπαράγεταιείναιπιοεύκολονα επεκταθεί 10

11 οµηµένη σχεδίαση Στόχος: να κατασκευάσουµε µια διαχωρισµένη αρχιτεκτονική προγράµµατος Προσέγγιση: Τα διαγράµµατα ροής αντιστοιχίζονται σε µια αρχιτεκτονική προγράµµατος κλήσης και επιστροφής (call and return) the PSPEC and STD are used to indicate the content of each module Συµβολισµός: διαγράµµατα αρχιτεκτονικής Χαρακτηριστικά της ροής πληροφοριών στο σύστηµα Ροή Μετασχηµατισµού Ροή συναλλαγής Γενική µέθοδος αντιστοίχισης Αποµονώνουµε τα όρια της εισερχόµενης και της εξερχόµενης ροής Γιαροέςσυναλλαγήςαποµονώνουµε τοκέντροτης συναλλαγής Ξεκινώντας από τα άκρα του διαγράµµατος αντιστοιχούµε τιςµετατροπές του διαγράµµατος ροής σε συστατικά Προσθέτουµε συστατικά ελέγχου ανάλογα µε τις ανάγκες Βελτιώνουµε την αρχιτεκτονική χρήση κανόνων καλού σχεδίου χρήση στυλ αρχιτεκτονικής και αξιολόγηση των χαρακτηριστικών τους Αντιστοίχιση µετατροπών a b g h d e f c i j ιάγραµµα ροής x1 Αντιστοίχιση µετατροπής x2 x3 x4 b c d e f g i a h j 11

12 Παραγοντοποίηση Παράδειγµα παραγοντοποίησης πρώτου επιπέδου Αυξανόµενη λήψη αποφάσεων Συστατικά που λαµβάνουν αποφάσεις main program input processing output Συστατικά που εκτελούν λειτουργίες Αντιστοίχιση δευτέρου επιπέδου Ροή συναλλαγών incoming flow D B C A control main T ιαδροµή ενέργειας A C B Απεικόνιση από τα όρια τηςροήςκαιπροςταέξω D 12

13 Παράδειγµα συναλλαγής Αρχές αντιστοίχισης συναλλαγών operator commands process operator commands assembly record fixture setting report robot control fixture servos display screen robot control software in reality, other commands would also be shown Αποµονώνουµε τηδιαδροµή εισερχόµενης ροής Ορίζουµε τιςδιαδροµές ενέργειας (είναι σαν ακτίνες σε τροχό) Αξιολογούµε τηροήσεκάθεδιαδροµή ενέργειας Ορίζουµε την αρχιτεκτονική αποστολής και ελέγχου Αντιστοιχίζουµε κάθεδιαδροµή ενέργειας ξεχωριστά Αντιστοίχιση συναλλαγών a Μοντέλο ροής δεδοµένων b a x2 d e f x1 b t l t m x3 d g n g h x3.1 i k h j e i j f k x4 l m n Απεικόνιση Αντιστοίχιση του µοντέλου ροής read command command input validate command produce error message process operator commands fixture status determine type report generation send control value Κάθε µια από τις διαδροµές ενέργειας πρέπει να επεκταθεί επιπλέον 13

14 read command Βελτίωση του διαγράµµατος αρχιτεκτονικής command input validate command read fixture status produce error message determine setting process operator commands fixture status format setting determine type report generation read record send control value calculate output values format report Architecture Trade-off Analysis method (ΑΤΑΜ) Τεχνική για αξιολόγηση αρχιτεκτονικών λογισµικού µε βάση κάποια επιθυµητά χαρακτηριστικά ποιότητας (π.χ. ασφάλεια και ευκολία τροποποιήσεων) Χρησιµοποιεί στυλ αρχιτεκτονικής βασισµένα σε χαρακτηριστικά (attribute-based architectural styles) Χαρακτηρισµός χαρακτηριστικών ποιότητας λογισµικού Σε τι ερεθίσµατα πρέπει να αποκρίνεται η αρχιτεκτονική; Πώς µετράται η επίτευξη των χαρακτηριστικών ποιότητας; Ποιες αποφάσεις σχετικά µε την αρχιτεκτονική επηρεάζουν την επίτευξη του χαρακτηριστικού αυτού; Βήµατα της ΑΤΑΜ 1. Παρουσίαση της ΑΤΑΜ των αναγκών που θα καλύψει το λογισµικό και των αρχιτεκτονικών που προτείνονται 2. Συλλογή σεναρίων, δηµιουργία του δέντρου χρησιµότητας χαρακτηριστικών ποιότητας και ανάλυση των αρχιτεκτονικών προσεγγίσεων 3. Αξιολόγηση των διαφόρων εναλλακτικών αρχιτεκτονικών λύσεων µε βάση τα επιθυµητά χαρακτηριστικά ποιότητας 4. Παρουσίαση των αποτελεσµάτων Περισσότερες πληροφορίες για την ΑΤΑΜ στο: Kazman, R., M. Klein, and P. Clements, ATAM: Method for Architecture Evaluation. 2000, Software Engineering Institute: Pittsburgh, PA p

Από Ανάλυση στη Σχεδίαση

Από Ανάλυση στη Σχεδίαση Σχεδίαση Λογισµικού ΙΙ Αντώνης Καραγεώργος Τµήµα Μηχανικών Η/Υ και ικτύων Πανεπιστήµιο Θεσσαλίας karageorgos@inf.uth.gr Πρότυπα σχεδίων και επαναχρησιµοποίηση Θέλουµε ναεκµεταλλευτούµε τακοινά χαρακτηριστικά

Διαβάστε περισσότερα

Εισαγωγή στη Σχεδίαση Λογισμικού

Εισαγωγή στη Σχεδίαση Λογισμικού Εισαγωγή στη Σχεδίαση Λογισμικού περιεχόμενα παρουσίασης Τι είναι η σχεδίαση λογισμικού Έννοιες σχεδίασης Δραστηριότητες σχεδίασης Σχεδίαση και υποδείγματα ανάπτυξης λογισμικού σχεδίαση Η σχεδίαση του

Διαβάστε περισσότερα

Τεχνολογία Λογισμικού

Τεχνολογία Λογισμικού ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα #9: Η σχεδίαση του συστήματος Σταμέλος Ιωάννης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Διάλεξη 8: Σχεδίαση Συστήματος Σχεδίαση Συστήματος 2 Διεργασία μετατροπής του προβλήματος σε λύση. Από το Τί στο Πώς. Σχέδιο: Λεπτομερής περιγραφή της λύσης. Λύση:

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι κ. ΠΕΤΑΛΙΔΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

Διαβάστε περισσότερα

Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού Πολυπλοκότητα

Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού Πολυπλοκότητα Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού Πολυπλοκότητα Τµήµα Διοίκησης Επιχειρήσεων Τει Δυτικής Ελλάδας Μεσολόγγι Δρ. Α. Στεφανή Διάλεξη 5 2 Εγκυροποίηση Λογισµικού Εγκυροποίηση Λογισµικού

Διαβάστε περισσότερα

Επιχειρηµατικές ιαδικασίες: Εισαγωγικές Έννοιες & Αρχικά στάδια µοντελοποίησης

Επιχειρηµατικές ιαδικασίες: Εισαγωγικές Έννοιες & Αρχικά στάδια µοντελοποίησης ΟΙΚΟΝΟΜΙΚΌ ΠΑΝΕΠΙΣΤΉΜΙΟ ΑΘΗΝΏΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ & ΤΕΧΝΟΛΟΓΙΑΣ Επιχειρηµατικές ιαδικασίες: Εισαγωγικές Έννοιες & Αρχικά στάδια µοντελοποίησης 1o φροντιστήριο στο µάθηµα Ανάλυση και µοντελοποίηση

Διαβάστε περισσότερα

ΠΕΡΙΕΧΟΜΕΝΑ. 2.5 Παράδειγµα πληροφοριακού συστήµατος Παράδειγµα συστήµατος πραγµατικού χρόνου

ΠΕΡΙΕΧΟΜΕΝΑ. 2.5 Παράδειγµα πληροφοριακού συστήµατος Παράδειγµα συστήµατος πραγµατικού χρόνου ΠΕΡΙΕΧΟΜΕΝΑ 1 Η σηµασία της τεχνολογίας λογισµικού... 1 1.1 Τι σηµαίνει τεχνολογία λογισµικού;... 3 1.2 Πόσο επιτυχηµένοι ήµασταν µέχρι τώρα;... 7 1.3 Τι σηµαίνει "καλό λογισµικό";... 13 1.4 Ποιος αναλαµβάνει

Διαβάστε περισσότερα

Αρχιτεκτονική Λογισμικού

Αρχιτεκτονική Λογισμικού Αρχιτεκτονική Λογισμικού περιεχόμενα παρουσίασης Τι είναι η αρχιτεκτονική λογισμικού Αρχιτεκτονική και απαιτήσεις Σενάρια ποιότητας Βήματα αρχιτεκτονικής σχεδίασης Αρχιτεκτονικά πρότυπα Διαστρωματωμένη

Διαβάστε περισσότερα

Κατευθυντήριες γραµµές

Κατευθυντήριες γραµµές Πρότυπα και ιαδικασίες προγραµµατισµού Υλοποίηση και Έλεγχος Λογισµικού Αντώνης Καραγεώργος Τµήµα Μηχανικών Η/Υ και ικτύων Πανεπιστήµιο Θεσσαλίας karageorgos@inf.uth.gr Το περισσότερο λογισµικό αναπτύσσεται

Διαβάστε περισσότερα

Ειδικά θέματα τεχνολογίας λογισμικού

Ειδικά θέματα τεχνολογίας λογισμικού Ειδικά θέματα τεχνολογίας λογισμικού Σχεδιασμός λογισμικού Διομήδης Σπινέλλης Τμήμα Διοικητικής Επιστήμης και Τεχνολογίας Οικονομικό Πανεπιστήμιο Αθηνών dds@aueb.gr http://www.dmst.aueb.gr/dds @CoolSWEng

Διαβάστε περισσότερα

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Υλοποίηση στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Υλοποίηση στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής 1 Ελληνικό Ανοικτό Πανεπιστήµιο Η Υλοποίηση στην Ενοποιηµένη ιαδικασία ρ. Πάνος Φιτσιλής Περιεχόµενα Πρωτοτυποποίηση Προγραµµατισµός υλοποίησης Ανάπτυξη συστήµατος Μοναδιαίος έλεγχος Ολοκλήρωση 2 3 Η υλοποίηση

Διαβάστε περισσότερα

Τεχνολογία Λογισμικού

Τεχνολογία Λογισμικού Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού 17/12/2018 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Σχεδίαση Συστήματος

Διαβάστε περισσότερα

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Ανάλυση και ο Σχεδιασµός στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Ανάλυση και ο Σχεδιασµός στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής 1 Ελληνικό Ανοικτό Πανεπιστήµιο Η και ο στην Ενοποιηµένη ιαδικασία ρ. Πάνος Φιτσιλής Περιεχόµενα Γενικές αρχές ανάλυσης και σχεδιασµού Τα βήµατα της ανάλυσης και του σχεδιασµού Συµπεράσµατα 2 3 Η ανάλυση

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΙΟΙΚΗΣΗΣ. Ανάπτυξη Πληροφοριακών Συστηµάτων Επισκόπηση Π.Σ. & τεχνικές για Ανάλυση και Ανάπτυξη. πληροφοριακών συστηµάτων

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΙΟΙΚΗΣΗΣ. Ανάπτυξη Πληροφοριακών Συστηµάτων Επισκόπηση Π.Σ. & τεχνικές για Ανάλυση και Ανάπτυξη. πληροφοριακών συστηµάτων Ανάπτυξη Πληροφοριακών Συστηµάτων Επισκόπηση Π.Σ. & τεχνικές για Ανάλυση και Ανάπτυξη πληροφοριακών συστηµάτων οµή παρουσίασης Τεχνολογική-Ιστορική Επισκόπηση Φάσεις Ανάπτυξης Πληροφοριακού Συστήµατος

Διαβάστε περισσότερα

Μοντέλα. χαρακτηριστικά χωρίς να συνοδεύεται από λεπτοµέρειες.

Μοντέλα. χαρακτηριστικά χωρίς να συνοδεύεται από λεπτοµέρειες. Γλώσσες Περιγραφής Μοντέλα Ένα µοντέλο ενός κυκλώµατος είναι µία αναπαράσταση που παρουσιάζει χαρακτηριστικά χωρίς να συνοδεύεται από λεπτοµέρειες. Τα τυπικά µοντέλα έχουν καλά ορισµένη σύνταξη. Τα αυτόµατα

Διαβάστε περισσότερα

Οι περιπτώσεις χρήσης

Οι περιπτώσεις χρήσης 1 Ελληνικό Ανοικτό Πανεπιστήµιο Οι περιπτώσεις χρήσης ρ. Πάνος Φιτσιλής 2 Περιεχόµενα Το µοντέλο των περιπτώσεων χρήσης Τα διαγράµµατα των περιπτώσεων χρήσης Λεκτική περιγραφή των περιπτώσεων χρήσης Τρόπος

Διαβάστε περισσότερα

ιδάσκων: ηµήτρης Ζεϊναλιπούρ

ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 1.3-1.4: Εισαγωγή Στον Προγραµµατισµό ( ιάλεξη 2) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Περιεχόµενα Εισαγωγικές Έννοιες - Ορισµοί Ο κύκλος ανάπτυξης προγράµµατος Παραδείγµατα Πότε χρησιµοποιούµε υπολογιστή?

Διαβάστε περισσότερα

Συστήµατος Συσκευασίας Φακέλων Τσαγιού

Συστήµατος Συσκευασίας Φακέλων Τσαγιού νέο ιάγραµµα Ροής εδοµένων (DFD) Συστήµατος Συσκευασίας Φακέλων Τσαγιού ΖΥΓΑΡΙΑ ΧΕΙΡΙΣΤΗΣ Ζύγισε φάκελο Καταµέτρηση 1 λάθος Επιδιωκόµενο Χρησιµοποιείται για να δείξει ένα άτοµο, µια µηχανή ή ένα άλλο Έλεγχος

Διαβάστε περισσότερα

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις Προγραµµατισµός Η/Υ Ανασκόπηση - Ορισµοί Περιεχόµενα Ο κύκλος ανάπτυξης προγράµµατος Περιγραφή προβλήµατος Ανάλυση προβλήµατος Λογικό ιάγραµµα Ψευδοκώδικας Κωδικοποίηση Συντήρηση Γλώσσες Προγραµµατισµού

Διαβάστε περισσότερα

ΜΕΘΟΔΟΛΟΓΙΕΣ ΑΝΑΠΤΥΞΗΣ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΜΕΘΟΔΟΛΟΓΙΕΣ ΑΝΑΠΤΥΞΗΣ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΕΘΟΔΟΛΟΓΙΕΣ ΑΝΑΠΤΥΞΗΣ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Μεθοδολογίες Ανάπτυξης Συστημάτων Πληροφορικής Απαντούν στα εξής ερωτήματα Ποιά βήματα θα ακολουθηθούν? Με ποιά σειρά? Ποιά τα παραδοτέα και πότε? Επομένως,

Διαβάστε περισσότερα

Χειρισµός Σφαλµάτων. Γρηγόρης Τσουµάκας. Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης. Έκδοση:

Χειρισµός Σφαλµάτων. Γρηγόρης Τσουµάκας. Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης. Έκδοση: Χειρισµός Σφαλµάτων Γρηγόρης Τσουµάκας Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Έκδοση: 2010.12.06 Σφάλµατα, Σφάλµατα, Σφάλµατα 2 εν υπάρχουν προγράµµατα χωρίς λογικά λάθη Υλοποίηση που

Διαβάστε περισσότερα

ΠαράδειγµαΠρογραµµατισµού

ΠαράδειγµαΠρογραµµατισµού Προγραµµατισµός Η/Υ Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Μεθοδολογία Προγραµµατισµού Αφαιρετικότητα Ροή Ελέγχου/ εδοµένων Βιβλίο µαθήµατος: Chapter 1,, Sec. 4-54 ΕΠΛ 131 Αρχές Προγραµµατισµού

Διαβάστε περισσότερα

Μέθοδοι. Υποσυστήµατα και πακέτα. Μοντέλα αντικειµενοστραφούς σχεδίασης. Αντικειµενοστραφής Σχεδίαση. Στα πρώτα στάδια της ανάλυσης

Μέθοδοι. Υποσυστήµατα και πακέτα. Μοντέλα αντικειµενοστραφούς σχεδίασης. Αντικειµενοστραφής Σχεδίαση. Στα πρώτα στάδια της ανάλυσης Αντικειµενοστραφής Σχεδίαση Αντώνης Καραγεώργος Τµήµα Μηχανικών Η/Υ και ικτύων Πανεπιστήµιο Θεσσαλίας karageorgos@inf.uth.gr Μέθοδοι Στα πρώτα στάδια της γράφουµε µόνο τα ονόµατα των µεθόδων Γράφουµε τις

Διαβάστε περισσότερα

Ασφαλή Συστήματα Μέθοδοι ελέγχου και εξακρίβωσης ορθής λειτουργίας

Ασφαλή Συστήματα Μέθοδοι ελέγχου και εξακρίβωσης ορθής λειτουργίας Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Ασφαλή Συστήματα Μέθοδοι ελέγχου και εξακρίβωσης ορθής λειτουργίας Μ.Στεφανιδάκης Ενσωματωμένα Συστήματα: Απαιτήσεις Αξιοπιστία (reliability) Χρηστικότητα

Διαβάστε περισσότερα

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ( Απαντήσεις & Λύσεις Βιβλίου) 1. Σκοποί κεφαλαίου Κύκλος ανάπτυξης προγράµµατος Κατηγορίες γλωσσών προγραµµατισµού

Διαβάστε περισσότερα

EPL 603 TOPICS IN SOFTWARE ENGINEERING. Lab 5: Component Adaptation Environment (COPE)

EPL 603 TOPICS IN SOFTWARE ENGINEERING. Lab 5: Component Adaptation Environment (COPE) EPL 603 TOPICS IN SOFTWARE ENGINEERING Lab 5: Component Adaptation Environment (COPE) Performing Static Analysis 1 Class Name: The fully qualified name of the specific class Type: The type of the class

Διαβάστε περισσότερα

Εισαγωγή στην Τεχνολογία Λογισµικού

Εισαγωγή στην Τεχνολογία Λογισµικού ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Μάθηµα "Τεχνολογία Λογισµικού", 9ο εξάµηνο Εισαγωγή στην Τεχνολογία Λογισµικού Νίκος Παπασπύρου Γιάννης Μαΐστρος Βασίλης

Διαβάστε περισσότερα

Α. Ερωτήσεις Ανάπτυξης

Α. Ερωτήσεις Ανάπτυξης οµηµένος Προγραµµατισµός-Κεφάλαιο 7 Σελίδα 1 α ό 10 ΕΝΟΤΗΤΑ ΙΙΙ (ΠΡΟΓΡΑΜΜΑΤΑ) ΚΕΦΑΛΑΙΟ 7: Είδη, Τεχνικές και Περιβάλλοντα Προγραµµατισµού Α. Ερωτήσεις Ανάπτυξης 1. Τι ονοµάζουµε γλώσσα προγραµµατισµού;

Διαβάστε περισσότερα

Σχεδιασµός βασισµένος σε συνιστώσες

Σχεδιασµός βασισµένος σε συνιστώσες Σχεδιασµός βασισµένος σε συνιστώσες 1 Ενδεικτικά περιεχόµενα του κεφαλαίου Ποια είναι τα "άτοµα", από τα οποία κατασκευάζονται οι υπηρεσίες; Πώς οργανώνουµε τις συνιστώσες σε ένα αρµονικό σύνολο; Τι είναι

Διαβάστε περισσότερα

Τεχνολογία Λογισµικού Ι Κεφάλαιο 3

Τεχνολογία Λογισµικού Ι Κεφάλαιο 3 ΕΛΛΗΝΙΚΟ ΑΝΟΙΧΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Πρόγραµµα σπουδών "ΠΛΗΡΟΦΟΡΙΚΗ" - Θ.Ε. ΠΛΗ11 Τεχνολογία Λογισµικού Ι Κεφάλαιο 3 Βασίλειος Βεσκούκης ιδάκτωρ Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών v.vescoukis@cs.ntua.gr

Διαβάστε περισσότερα

Τεχνολογία Λογισµικού Ι Κεφάλαιο 5

Τεχνολογία Λογισµικού Ι Κεφάλαιο 5 ΕΛΛΗΝΙΚΟ ΑΝΟΙΧΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Πρόγραµµα σπουδών "ΠΛΗΡΟΦΟΡΙΚΗ" - Θ.Ε. ΠΛΗ11 Τεχνολογία Λογισµικού Ι Κεφάλαιο 5 Βασίλειος Βεσκούκης ιδάκτωρ Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών v.vescoukis@cs.ntua.gr

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ ΣΤΟ ΕΝΙΑΙΟ ΛΥΚΕΙΟ

ΠΛΗΡΟΦΟΡΙΚΗ ΣΤΟ ΕΝΙΑΙΟ ΛΥΚΕΙΟ ΥΠΟΥΡΓΕΙΟ ΠΑΙ ΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΠΛΗΡΟΦΟΡΙΚΗ ΣΤΟ ΕΝΙΑΙΟ ΛΥΚΕΙΟ ΑΝΑΛΥΤΙΚΟ ΠΡΟΓΡΑΜΜΑ Μάθηµα Κατεύθυνσης Πληροφορική Επιστήµη Η.Υ. Γ Ενιαίου Λυκείου ΟΚΤΩΒΡΙΟΣ 2005 1 Αναλυτικό Πρόγραµµα Μάθηµα Κατεύθυνσης:

Διαβάστε περισσότερα

ΕΠΛ 034: Εισαγωγήστον ΠρογραµµατισµόγιαΗΜΥ

ΕΠΛ 034: Εισαγωγήστον ΠρογραµµατισµόγιαΗΜΥ ΕΠΛ 034: Εισαγωγήστον ΠρογραµµατισµόγιαΗΜΥ Αχιλλέας Αχιλλέως, Τµήµα Πληροφορικής, Πανεπιστήµιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 2 ΠρογραµµατισµόςΗ/Υ Θέµατα ιάλεξης οµή Προγράµµατος C Μεθοδολογία

Διαβάστε περισσότερα

Εισαγωγή στην πληροφορική

Εισαγωγή στην πληροφορική Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Εισαγωγή στην πληροφορική Βασίλειος Βεσκούκης ρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ v.vescoukis@cs.ntua.gr Αλγόριθµοι, στοιχεία

Διαβάστε περισσότερα

Κεφάλαιο 3.1, : Συναρτήσεις I. ( ιάλεξη 11) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 3.1, : Συναρτήσεις I. ( ιάλεξη 11) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 3.1,3.3-3.4: Συναρτήσεις I ( ιάλεξη 11) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 11-1 Μη- οµηµένος Προγραµµατισµός Το πρόγραµµα στα αριστερά δεν είναι Αρθρωτό (δεν έχει σωστή δοµή). Όλη η λειτουργικότητα

Διαβάστε περισσότερα

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 Συµπληρωµατική ΔΙΑΛΕΞΗ 14: Περιγραφή Ακολουθιακών Κυκλωµάτων στη VHDL

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 Συµπληρωµατική ΔΙΑΛΕΞΗ 14: Περιγραφή Ακολουθιακών Κυκλωµάτων στη VHDL ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Χειµερινό Εξάµηνο 2016 Συµπληρωµατική ΔΙΑΛΕΞΗ 14: Περιγραφή Ακολουθιακών Κυκλωµάτων στη VHDL ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ Επίκουρος Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy)

Διαβάστε περισσότερα

Σχεδίαση Κλάσεων. Γρηγόρης Τσουµάκας. Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης. Έκδοση:

Σχεδίαση Κλάσεων. Γρηγόρης Τσουµάκας. Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης. Έκδοση: Σχεδίαση Κλάσεων Γρηγόρης Τσουµάκας Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Έκδοση: 2010.11.19 Εισαγωγή 2 ιαρκής συντήρηση και επέκταση λογισµικού Οι εταιρίες συνήθως συντηρούν, επεκτείνουν

Διαβάστε περισσότερα

Σύνθεση Data Path. ιασύνδεσης. Μονάδες. Αριθµό Μονάδων. Τύπο Μονάδων. Unit Selection Unit Binding. λειτουργιών σε. Μονάδες. Αντιστοίχιση µεταβλητών &

Σύνθεση Data Path. ιασύνδεσης. Μονάδες. Αριθµό Μονάδων. Τύπο Μονάδων. Unit Selection Unit Binding. λειτουργιών σε. Μονάδες. Αντιστοίχιση µεταβλητών & Data Path Allocation Σύνθεση Data Path Το DataPath είναι ένα netlist που αποτελείται από τρεις τύπους µονάδων: (α) Λειτουργικές Μονάδες, (β) Μονάδες Αποθήκευσης και (γ) Μονάδες ιασύνδεσης Αριθµό Μονάδων

Διαβάστε περισσότερα

Εισαγωγή στην Τεχνολογία Λογισµικού

Εισαγωγή στην Τεχνολογία Λογισµικού ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Μάθηµα "Τεχνολογία Λογισµικού", 9ο εξάµηνο Εισαγωγή στην Τεχνολογία Λογισµικού Βασίλειος Βεσκούκης ρ Ηλεκτρολόγος Μηχανικός

Διαβάστε περισσότερα

Αναζήτηση Κατά Πλάτος

Αναζήτηση Κατά Πλάτος Αναζήτηση Κατά Πλάτος Επιµέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Γραφήµατα Μοντελοποίηση πολλών σηµαντικών προβληµάτων (π.χ. δίκτυα

Διαβάστε περισσότερα

Αντικειμενοστρεφής Προγραμματισμός

Αντικειμενοστρεφής Προγραμματισμός Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 3/4/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Γιατί έλεγχος πρόσβασης? Προστασία ιδιωτικής πληροφορίας

Διαβάστε περισσότερα

Ελληνικό Ανοικτό Πανεπιστήµιο. Η ιαχείριση Απαιτήσεων στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής

Ελληνικό Ανοικτό Πανεπιστήµιο. Η ιαχείριση Απαιτήσεων στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής 1 Ελληνικό Ανοικτό Πανεπιστήµιο Η ιαχείριση Απαιτήσεων στην Ενοποιηµένη ιαδικασία ρ. Πάνος Φιτσιλής Περιεχόµενα Τι είναι διαχείριση απαιτήσεων Ποια είναι η ροή των εργασιών στη φάση της καταγραφής των

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι κ. ΠΕΤΑΛΙΔΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

Διαβάστε περισσότερα

VHDL για Σχεδιασµό Ακολουθιακών Κυκλωµάτων

VHDL για Σχεδιασµό Ακολουθιακών Κυκλωµάτων VHDL για Σχεδιασµό Ακολουθιακών Κυκλωµάτων Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήµιο Κύπρου Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών n VHDL Processes Περίληψη n Εντολές If-Then-Else και CASE

Διαβάστε περισσότερα

Τεχνολογία λογισμικού στην πράξη

Τεχνολογία λογισμικού στην πράξη Τεχνολογία λογισμικού στην πράξη Μοντέλα και μέθοδοι τεχνολογίας λογισμικού Διομήδης Σπινέλλης Τμήμα Διοικητικής Επιστήμης και Τεχνολογίας Οικονομικό Πανεπιστήμιο Αθηνών dds@aueb.gr http://www.dmst.aueb.gr/dds

Διαβάστε περισσότερα

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 13: Διαδικασία Σχεδιασµού Ακολουθιακών Κυκλωµάτων (Κεφάλαιο 6.

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 13: Διαδικασία Σχεδιασµού Ακολουθιακών Κυκλωµάτων (Κεφάλαιο 6. ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 13: Διαδικασία Σχεδιασµού Ακολουθιακών Κυκλωµάτων (Κεφάλαιο 6.3) ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ Επίκουρος Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy)

Διαβάστε περισσότερα

Σχεδίαση του συστήµατος (συνέχεια) Επίπεδα αποσύνθεσης και συστατικά. Αποσύνθεση και Τµηµατικότητα. Σχεδίαση Λογισµικού

Σχεδίαση του συστήµατος (συνέχεια) Επίπεδα αποσύνθεσης και συστατικά. Αποσύνθεση και Τµηµατικότητα. Σχεδίαση Λογισµικού Σχεδίαση του συστήµατος (συνέχεια) Σχεδίαση Λογισµικού Αντώνης Καραγεώργος Τµήµα Μηχανικών Η/Υ και ικτύων Πανεπιστήµιο Θεσσαλίας karageorgos@inf.uth.gr Ζητήµατα σχετικά µε τηδηµιουργία του σχεδίου Χαρακτηριστικά

Διαβάστε περισσότερα

Περιεχόμενο του μαθήματος

Περιεχόμενο του μαθήματος ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Απαιτήσεις Λογισμικού Περιπτώσεις χρήσης Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 2012-2013 1 Περιεχόμενο του μαθήματος

Διαβάστε περισσότερα

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Διάλεξη 2: Βασικές Έννοιες Τεχνολογίας Λογισμικού Ο Ρόλος του Τεχνολόγου Λογισμικού Επιστήμη Υπολογιστών Πελάτης 2 Θεωρίες Λειτουργίες Υπολογιστή Πρόβλημα Σχεδιασμός

Διαβάστε περισσότερα

Μέθοδοι αποσύνθεσης. Σχεδίαση του συστήµατος (συνέχεια) Επίπεδα αποσύνθεσης και συστατικά. Αποσύνθεση και Τµηµατικότητα. Σχεδίαση Λογισµικού

Μέθοδοι αποσύνθεσης. Σχεδίαση του συστήµατος (συνέχεια) Επίπεδα αποσύνθεσης και συστατικά. Αποσύνθεση και Τµηµατικότητα. Σχεδίαση Λογισµικού Σχεδίαση του συστήµατος (συνέχεια) Σχεδίαση Λογισµικού Αντώνης Καραγεώργος Τµήµα Μηχανικών Η/Υ και ικτύων Πανεπιστήµιο Θεσσαλίας karageorgos@inf.uth.gr Ζητήµατα σχετικά µε τη δηµιουργία του σχεδίου Χαρακτηριστικά

Διαβάστε περισσότερα

Εισαγωγή στην Τεχνολογία Λογισµικού

Εισαγωγή στην Τεχνολογία Λογισµικού ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Μάθηµα "Τεχνολογία Λογισµικού", 9ο εξάµηνο Τι είναι Λογισµικό; Προγράµµατα ηλεκτρονικού υπολογιστή οµές δεδοµένων µε µόνιµη

Διαβάστε περισσότερα

Ανοχή απέναντι σε Σφάλµατα Fault Tolerance

Ανοχή απέναντι σε Σφάλµατα Fault Tolerance Ανοχή απέναντι σε Σφάλµατα Fault Tolerance Μαρία Ι. Ανδρέου ΗΜΥ417, ΗΜΥ 663 Κατανεµηµένα Συστήµατα Χειµερινό Εξάµηνο 2006-2007 Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πανεπιστήµιο Κύπρου Βασικές

Διαβάστε περισσότερα

Τεχνολογία Λογισμικού

Τεχνολογία Λογισμικού Τεχνολογία Λογισμικού Προαπαιτήσεις Γνώση Αρχών Προγραμματισμού Γνώση Γλώσσας Προγραμματισμού (C++, Java, Pascal) Χρήση Η/Υ (Σχεδίαση, Επεξ. Κειμένου) Κριτική και Συνθετική Ικανότητα Σκοπός μαθήματος Γνωριμία

Διαβάστε περισσότερα

METROPOLIS. Ένα περιβάλλον σχεδιασμού για ετερογενή συστήματα

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

Διαβάστε περισσότερα

Αρχές Προγραμματισμού Υπολογιστών

Αρχές Προγραμματισμού Υπολογιστών Αρχές Προγραμματισμού Υπολογιστών Ανάπτυξη Προγράμματος Β ΕΠΑΛ Τομέας Πληροφορικής Βελώνης Γεώργιος Καθηγητής Πληροφορικής ΠΕ20 Κύκλος ανάπτυξης προγράμματος/λογισμικού Η διαδικασία ανάπτυξης λογισμικού,

Διαβάστε περισσότερα

Ελληνικό Ανοικτό Πανεπιστήµιο Εισαγωγή στη Ενοποιηµένη Προσέγγιση Unified Process (UP) ρ. Πάνος Φιτσιλής

Ελληνικό Ανοικτό Πανεπιστήµιο Εισαγωγή στη Ενοποιηµένη Προσέγγιση Unified Process (UP) ρ. Πάνος Φιτσιλής 1 Ελληνικό Ανοικτό Πανεπιστήµιο Εισαγωγή στη Ενοποιηµένη Προσέγγιση Unified Process (UP) ρ. Πάνος Φιτσιλής 2 Περιεχόµενα Τι είναι η UP Βασικές αρχές µηχανικής λογισµικού Οι βασικές έννοιες της UP Οι τέσσερις

Διαβάστε περισσότερα

Υπολογιστικές Μέθοδοι στις Κατασκευές

Υπολογιστικές Μέθοδοι στις Κατασκευές Γενικά Για Τη Βελτιστοποίηση Η βελτιστοποίηση µπορεί να χωριστεί σε δύο µεγάλες κατηγορίες: α) την Βελτιστοποίηση Τοπολογίας (Topological Optimization) και β) την Βελτιστοποίηση Σχεδίασης (Design Optimization).

Διαβάστε περισσότερα

Computing. Νοέμβριος Έκδοση 1.0

Computing. Νοέμβριος Έκδοση 1.0 Computing Νοέμβριος 2017 Έκδοση 1.0 Ενότητα Computing Αυτή η ενότητα παραθέτει τις βασικές έννοιες και δεξιότητες που σχετίζονται με την ικανότητα χρήσης υπολογιστικής σκέψης (computational thinking) και

Διαβάστε περισσότερα

Διαφορές single-processor αρχιτεκτονικών και SoCs

Διαφορές single-processor αρχιτεκτονικών και SoCs 13.1 Τα συστήματα και η επικοινωνία μεταξύ τους γίνονται όλο και περισσότερο πολύπλοκα. Δεν μπορούν να περιγραφούνε επαρκώς στο επίπεδο RTL καθώς αυτή η διαδικασία γίνεται πλέον αρκετά χρονοβόρα. Για αυτό

Διαβάστε περισσότερα

Ενότητα 4. Πρωτόκολλα ροµολόγησης: Αρχές Λειτουργίας του OSPF (Open Shortest Path First)

Ενότητα 4. Πρωτόκολλα ροµολόγησης: Αρχές Λειτουργίας του OSPF (Open Shortest Path First) Ενότητα 4 Πρωτόκολλα ροµολόγησης: Αρχές Λειτουργίας του OSPF (Open Shortest Path First) Πρωτόκολλα ροµολόγησης Πρωτόκολλα ιανύσµατος Απόστασης Πρωτόκολλα Κατάστασης Ζεύξης Πρωτόκολλα ιανύσµατος Απόστασης

Διαβάστε περισσότερα

. Μεθοδολογία Προγραμματισμού. Καλή και κακή σχεδίαση. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014

. Μεθοδολογία Προγραμματισμού. Καλή και κακή σχεδίαση. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014 .. Μεθοδολογία Προγραμματισμού Καλή και κακή σχεδίαση Νικόλαος Πεταλίδης Τμήμα Μηχανικών Η/Υ ΤΕΙ Κεντρικής Μακεδονίας Εισαγωγή Εαρινό Εξάμηνο 2014 Ν. Πεταλίδης (ΤΕΙ Κεντρικής Μακεδονίας) Μεθοδολογία Προγραμματισμού

Διαβάστε περισσότερα

Σχεδίαση συστήµατος. Εννοιολογικό και Τεχνικό σχέδιο. Εισαγωγή στη Σχεδίαση Λογισµικού

Σχεδίαση συστήµατος. Εννοιολογικό και Τεχνικό σχέδιο. Εισαγωγή στη Σχεδίαση Λογισµικού Σχεδίαση συστήµατος Εισαγωγή στη Σχεδίαση Λογισµικού Αντώνης Καραγεώργος Τµήµα Μηχανικών Η/Υ και ικτύων Πανεπιστήµιο Θεσσαλίας karageorgos@inf.uth.gr Σχεδίαση ενός συστήµατος είναι ο προσδιορισµός ενός

Διαβάστε περισσότερα

Τεχνολογία Λογισµικού Ι Κεφάλαια 1-21

Τεχνολογία Λογισµικού Ι Κεφάλαια 1-21 ΕΛΛΗΝΙΚΟ ΑΝΟΙΧΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Πρόγραµµα σπουδών "ΠΛΗΡΟΦΟΡΙΚΗ" - Θ.Ε. ΠΛΗ11 Τεχνολογία Λογισµικού Ι Κεφάλαια 1-21 Βασίλειος Βεσκούκης ιδάκτωρ Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών v.vescoukis@cs.ntua.gr

Διαβάστε περισσότερα

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ (Οι ερωτήσεις µε κίτρινη υπογράµµιση είναι εκτός ύλης για φέτος) ΕΙΣΑΓΩΓΗ Q1. Οι Πρωταρχικοί τύποι (primitive types) στη Java 1. Είναι όλοι οι ακέραιοι και όλοι οι πραγµατικοί

Διαβάστε περισσότερα

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Διαδικασίες παραγωγής λογισμικού Περιεχόμενα Παρουσίαση μοντέλων διεργασίας ανάπτυξης λογισμικού Περιγραφή τριών γενικών μοντέλων διεργασίας ανάπτυξης λογισμικού Γενική περιγραφή των διαδικασιών που περιλαμβάνονται

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 7.1. Ανάπτυξη Προγράµµατος Τι είναι το Πρόγραµµα; Το Πρόγραµµα: Είναι ένα σύνολο εντολών για την εκτέλεση ορισµένων λειτουργιών από τον υπολογιστή.

Διαβάστε περισσότερα

Στρατηγικό Σχεδιασµό Πληροφοριακών Συστηµάτων

Στρατηγικό Σχεδιασµό Πληροφοριακών Συστηµάτων Μέθοδοι και Τεχνικές για τον Στρατηγικό Σχεδιασµό Πληροφοριακών Συστηµάτων (SISP) Στρατηγική και Διοίκηση Πληροφοριακών Συστηµάτων Μάθηµα 2 No 1 Δοµή της Παρουσίασης l 1. Εισαγωγή l 2. Μεθοδολογία SISP

Διαβάστε περισσότερα

8. ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ ΔΕΔΟΜΕΝΩΝ

8. ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ ΔΕΔΟΜΕΝΩΝ 8. ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ ΔΕΔΟΜΕΝΩΝ Στόχος του εργαστηρίου αυτού είναι να δείξει πώς τα εργαστήρια με τα δεδομένα της ICAP μπορούν να υλοποιηθούν χωρίς τη χρήση SQL Server, χρησιμοποιώντας μόνον Excel και Rapid

Διαβάστε περισσότερα

Αλγόριθµοι Γραφηµάτων

Αλγόριθµοι Γραφηµάτων Αλγόριθµοι Γραφηµάτων Παύλος Σπυράκης Πανεπιστήµιο Πατρών Τοµέας Θεµελιώσεων και Εφαρµογών της Επιστήµης των Υπολογιστών Ερευνητικό Ακαδηµαϊκό Ινστιτούτο Τεχνολογίας Υπολογιστών Γραφήµατα Μοντελοποίηση

Διαβάστε περισσότερα

ΗΜΥ 210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο Ένα συνδυαστικό κύκλωµα µπορεί να περιγραφεί από: Φεβ-05. n-είσοδοι

ΗΜΥ 210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο Ένα συνδυαστικό κύκλωµα µπορεί να περιγραφεί από: Φεβ-05. n-είσοδοι ΗΜΥ 2: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο 25 Φεβ-5 ΗΜΥ-2: Λογικός Σχεδιασµός Εαρινό Εξάµηνο 25 Κεφάλαιο 3 -i: Σχεδιασµός Συνδυαστικών Κυκλωµάτων Περίληψη Αρχές σχεδιασµού Ιεραρχία σχεδιασµού Σχεδιασµός

Διαβάστε περισσότερα

Τεχνολογίες Υλοποίησης Αλγορίθµων

Τεχνολογίες Υλοποίησης Αλγορίθµων Τεχνολογίες Υλοποίησης Αλγορίθµων Χρήστος Ζαρολιάγκης Καθηγητής Τµήµα Μηχ/κων Η/Υ & Πληροφορικής Πανεπιστήµιο Πατρών email: zaro@ceid.upatras.gr Ενότητα 3 1 / 25 Ενότητα 3 οκιµή Προγραµµάτων (Program Testing)

Διαβάστε περισσότερα

Αρχιτεκτονικός σχεδιασμός. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 11

Αρχιτεκτονικός σχεδιασμός. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 11 Αρχιτεκτονικός σχεδιασμός Στόχοι O αρχιτεκτονικός σχεδιασμός και η σημασία του Οι αποφάσεις που πρέπει να λαμβάνονται κατά τη διαδικασία του αρχιτεκτονικού σχεδιασμού Παρουσίαση τριών συμπληρωματικών αρχιτεκτονικών

Διαβάστε περισσότερα

Requirements Απαιτήσεις

Requirements Απαιτήσεις Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών Φθινόπωρο 2006 HΥ351 Ανάλυση και Σχεδίαση Πληροφοριακών Συστηµάτων Information Systems Analysis and Design Requirements Engineering Data Flow Diagrams Process

Διαβάστε περισσότερα

ΑΞΙΟΠΙΣΤΙΑ ΥΛΙΚΟΥ ΚΑΙ ΛΟΓΙΣΜΙΚΟΥ

ΑΞΙΟΠΙΣΤΙΑ ΥΛΙΚΟΥ ΚΑΙ ΛΟΓΙΣΜΙΚΟΥ ΑΞΙΟΠΙΣΤΙΑ ΥΛΙΚΟΥ ΚΑΙ ΛΟΓΙΣΜΙΚΟΥ Εισαγωγή Ηεµφάνιση ηλεκτρονικών υπολογιστών και λογισµικού σε εφαρµογές µε υψηλές απαιτήσεις αξιοπιστίας, όπως είναι διαστηµικά προγράµµατα, στρατιωτικές τηλεπικοινωνίες,

Διαβάστε περισσότερα

ΑΣΚΗΣΗ 5 η Η σειριακή επικοινωνία ΙΙ 1.1 ΣΚΟΠΟΣ Σκοπός της άσκησης αυτής είναι η κατανόηση σε βάθος των λειτουργιών που παρέχονται από το περιβάλλον LabView για τον χειρισµό της σειριακής επικοινωνίας

Διαβάστε περισσότερα

Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2)

Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2) Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Οργάνωση Προγράµµατος Header Files Μετάφραση και σύνδεση αρχείων προγράµµατος ΕΠΛ 132 Αρχές Προγραµµατισµού

Διαβάστε περισσότερα

Εισαγωγή στην πληροφορική

Εισαγωγή στην πληροφορική Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Εισαγωγή στην πληροφορική Βασίλειος Βεσκούκης ρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ v.vescoukis@cs.ntua.gr Ρωµύλος Κορακίτης

Διαβάστε περισσότερα

Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα. Kεφάλαιο ύο - Tι Eίναι και Tι δεν Eίναι Συστατικό

Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα. Kεφάλαιο ύο - Tι Eίναι και Tι δεν Eίναι Συστατικό Kεφάλαιο ύο - Tι Eίναι και Tι δεν Eίναι Συστατικό 1 Tι Eίναι και τι δεν E ίναι Συστατικό H σύγχιση µεταξύ συστατικού (component) και αντικειµένου (object): Kαι τα δύο προέρχονται από τύπους ή κατηγορίες

Διαβάστε περισσότερα

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 18: Διαδικασία Σχεδίασης Ψηφιακών Συστηµάτων - Επανάληψη

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 18: Διαδικασία Σχεδίασης Ψηφιακών Συστηµάτων - Επανάληψη ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 18: Διαδικασία Σχεδίασης Ψηφιακών Συστηµάτων - Επανάληψη ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ Επίκουρος Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy) Περίληψη

Διαβάστε περισσότερα

Τα διαγράµµατα καταστάσεων

Τα διαγράµµατα καταστάσεων 1 Ελληνικό Ανοικτό Πανεπιστήµιο Τα διαγράµµατα καταστάσεων ρ. Πάνος Φιτσιλής 2 Περιεχόµενα Βασικές έννοιες και συµβολισµοί Γεγονότα και µηνύµατα Παραδείγµατα Τα διαγράµµατα καταστάσεων (statechart diagram)

Διαβάστε περισσότερα

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή Οι σηµερινές δραστηριότητες των επιχειρήσεων δηµιουργούν την ανάγκη για όσο το δυνατό µεγαλύτερη υποστήριξη από τα πληροφοριακά τους

Διαβάστε περισσότερα

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για:

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για: Σελίδα 1 από 11 Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για: την επικοινωνία, µε τα υπόλοιπα ολοκληρωµένα κυκλώµατα του υπολογιστικού συστήµατος. την παροχή τροφοδοσίας

Διαβάστε περισσότερα

Γ. Κορίλη Αλγόριθµοι ροµολόγησης

Γ. Κορίλη Αλγόριθµοι ροµολόγησης - Γ. Κορίλη Αλγόριθµοι ροµολόγησης http://www.seas.upenn.edu/~tcom50/lectures/lecture.pdf ροµολόγηση σε ίκτυα εδοµένων Αναπαράσταση ικτύου µε Γράφο Μη Κατευθυνόµενοι Γράφοι Εκτεταµένα έντρα Κατευθυνόµενοι

Διαβάστε περισσότερα

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. VHDL για Ακολουθιακά Κυκλώματα 1

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. VHDL για Ακολουθιακά Κυκλώματα 1 ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων VHDL για Σχεδιασμό Ακολουθιακών Κυκλωμάτων Διδάσκουσα: Μαρία Κ. Μιχαήλ Περίληψη VHDL Processes Εντολές If-Then Then-Else και CASE Περιγραφή Flip-Flop Flop με VHDL

Διαβάστε περισσότερα

οκιμασία και πλάνο δοκιμασίας

οκιμασία και πλάνο δοκιμασίας οκιμασία και πλάνο ς Γιάννης Σμαραγδάκης Η επιχειρεί να απαντήσει Κάνει το λογισμικό αυτό που υποτίθεται; Πότε μπορεί να έχει πρόβλημα; Πόσο γρήγορα τρέχει; Πόσο ακριβή είναι τα αποτελέσματα; Όταν έχει

Διαβάστε περισσότερα

Πίνακας Περιεχομένων. μέρος A 1 Εισαγωγή στην Τεχνολογία Λογισμικού

Πίνακας Περιεχομένων. μέρος A 1 Εισαγωγή στην Τεχνολογία Λογισμικού Πρόλογος...21 μέρος A Εισαγωγή στην Τεχνολογία Λογισμικού 1 Εισαγωγή στην Τεχνολογία Λογισμικού 1.1 Το λογισμικό...25 1.1.1 Ο ρόλος και η σημασία του λογισμικού...26 1.1.2 Οικονομική σημασία του λογισμικού...28

Διαβάστε περισσότερα

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 3. Στοίβες & Ουρές 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 19/10/2017 Ανακεφαλαίωση:

Διαβάστε περισσότερα

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 3. Στοίβες & Ουρές 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 4/11/2016 Ανακεφαλαίωση:

Διαβάστε περισσότερα

Σχεδίαση Συστήματος Λογισμικού

Σχεδίαση Συστήματος Λογισμικού Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού 11/12/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Σχεδίαση Συστήματος

Διαβάστε περισσότερα

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου J-GANNO ΓΕΝΙΚΕΥΜΕΝΟ ΠΑΚΕΤΟ ΥΛΟΠΟΙΗΣΗΣ ΤΕΧΝΗΤΩΝ ΝΕΥΡΩΝΙΚΩΝ ΙΚΤΥΩΝ ΣΤΗ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ JAVA Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β,

Διαβάστε περισσότερα

Μονάδες 10. Μονάδες 9 5 PROLOG. Μονάδες 5

Μονάδες 10. Μονάδες 9 5 PROLOG. Μονάδες 5 ΠΡΟΣΟΜΟΙΩΣΗ ΑΠΟΛΥΤΗΡΙΩΝ ΕΞΕΤΑΣΕΩΝ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΚΥΡΙΑΚΗ 11 ΑΠΡΙΛΙΟΥ 2010 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ - ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ ΘΕΜΑ 1ο Α.

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΕΡΓΑΛΕΙΑ ΙΟΙΚΗΣΗΣ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΜΑΘΗΜΑ: ΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΙΟΙΚΗΣΗ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΑΘΗΜΑ: ΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΡΓΑΛΕΙΑ ΙΟΙΚΗΣΗΣ ιδάσκων:

Διαβάστε περισσότερα

ΜΕΘΟΔΟΛΟΓΙΑ ΑΝΑΠΤΥΞΗΣ ΕΜΠΟΡΙΚΩΝ ΕΦΑΡΜΟΓΩΝ

ΜΕΘΟΔΟΛΟΓΙΑ ΑΝΑΠΤΥΞΗΣ ΕΜΠΟΡΙΚΩΝ ΕΦΑΡΜΟΓΩΝ Μεθοδολογία Ανάπτυξης Εμπορικών Εφαρμογών 1 ΜΕΘΟΔΟΛΟΓΙΑ ΑΝΑΠΤΥΞΗΣ ΕΜΠΟΡΙΚΩΝ ΕΦΑΡΜΟΓΩΝ Η μεθοδολογία ανάπτυξης μιας εμπορικής εφαρμογής δίνει την δυνατότητα στην ομάδα εργασίας να έχει τον πλήρη έλεγχο

Διαβάστε περισσότερα

Δείχτες Επιτυχίας και Δείχτες Επάρκειας

Δείχτες Επιτυχίας και Δείχτες Επάρκειας Δείχτες Επιτυχίας και Δείχτες Επάρκειας Γ Τάξη Θεματικές Περιοχές: 1. Βασικές έννοιες της Πληροφορικής και της Επιστήμης Ηλεκτρονικών Υπολογιστών 2. Υλικό / Αρχιτεκτονική Ηλεκτρονικού Υπολογιστή 3. Λειτουργικά

Διαβάστε περισσότερα

09 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών. Εαρινό εξάμηνο

09 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών. Εαρινό εξάμηνο 09 Η γλώσσα UML I Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών Εαρινό εξάμηνο 2017 18 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Unified Modeling Language

Διαβάστε περισσότερα

Τεχνολογία Λογισμικού & Πνευματική Ιδιοκτησία. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Τεχνολογία Λογισμικού & Πνευματική Ιδιοκτησία. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Τεχνολογία Λογισμικού & Πνευματική Ιδιοκτησία ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Κύκλος ζωής λογισμικού source: Forouzan, Mosharraf Τροποποιήσεις διόρθωση σφαλμάτων, αλλαγή απαιτήσεων χρήστη,...

Διαβάστε περισσότερα

Βάσεις εδοµένων. Βασίλειος Βεσκούκης. Ενα παράδειγµα σχεδίασης Β. Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών

Βάσεις εδοµένων. Βασίλειος Βεσκούκης. Ενα παράδειγµα σχεδίασης Β. Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Βάσεις εδοµένων Βασίλειος Βεσκούκης v.vescoukis@cs.ntua.gr Ενα παράδειγµα σχεδίασης Β Ορισµός του προβλήµατος Θέλουµε να κατασκευάσουµε

Διαβάστε περισσότερα

ΜΑΘΗΜΑ 10 Ο ΟΡΓΑΝΩΣΗ ΤΗΣ Β ΓΙΑ ΧΡΗΣΤΕΣ (NON-EXPERTS) Α. ΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ ΕΠΙΛΟΓΩΝ 1. TOOLS DATA UTILITIES SWITCHBOARD MANAGER YES

ΜΑΘΗΜΑ 10 Ο ΟΡΓΑΝΩΣΗ ΤΗΣ Β ΓΙΑ ΧΡΗΣΤΕΣ (NON-EXPERTS) Α. ΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ ΕΠΙΛΟΓΩΝ 1. TOOLS DATA UTILITIES SWITCHBOARD MANAGER YES ΜΑΘΗΜΑ 10 Ο ΟΡΓΑΝΩΣΗ ΤΗΣ Β ΓΙΑ ΧΡΗΣΤΕΣ (NON-EXPERTS) Α. ΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ ΕΠΙΛΟΓΩΝ 1. TOOLS DATA UTILITIES SWITCHBOARD MANAGER YES 2. ΠΑΤΗΣΤΕ EDIT ΑΛΛΑΞΤΕ ΤΟ ΟΝΟΜΑ COMPANY CLOSE 3. ΠΑΤΗΣΤΕ NEW (CREATE NEW)

Διαβάστε περισσότερα

Λογισµικό (Software SW) Γλώσσες

Λογισµικό (Software SW) Γλώσσες Λογισµικό (Software SW) Γλώσσες Προγραµµατισµού Οι γενιές των γλωσσών προγραµµατισµού Προβλήµατα που επιλύονται σε ένα περιβάλλον στο οποίο ο άνθρωπος πρέπει να προσαρµόζεται στα χαρακτηριστικά της µηχανής

Διαβάστε περισσότερα