Αντικειμενοστρεφής Σχεδιασμός

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

Download "Αντικειμενοστρεφής Σχεδιασμός"

Transcript

1 Αντικειμενοστρεφής Σχεδιασμός Μ. Δικαιάκος Πανεπιστήμιο Κύπρου

2 Μεθοδολογία Μεθοδολογία (ή μέθοδος):σύνολο από διαδικασίες και ευρετικές προσεγγίσεις που αποσκοπούν στην απλούστευση ενός προγραμματιστικού προβλήματος. Οι Α/Σ μεθοδολογίες βασίζονται στην οπτική ότι τα πάντα είναι αντικείμενα. Επομένως, μας βοηθούν να ανακαλύψουμε: Ποια είναι τα αντικείμενα του προβλήματός μας; Ποιές διαπροσωπείες έχουν αυτά τα αντικείμενα; Μ. Δικαιάκος 2

3 3 Μια απλή Α/Σ Μέθοδος Ανάλυσης και Σχεδιασμού 5 Φάσεις: Φάση 0: Κατάρτιση Σχεδίου. Φάση 1: Τι κατασκευάζουμε; Φάση 2: Πως το κατασκευάζουμε; Φάση 3: Κατασκευή του πυρήνα. Φάση 4: Πρόσθεση των λειτουργιών. Φάση 5: Εξέλιξη

4 4 Φάση 0: Κατάρτιση Σχεδίου Έργου Make a Plan: Καταρτίστε το σχέδιο της δουλειάς σας αποφασίστε για τη μεθοδολογία και τα βήματα που θα ακολουθήσετε. Διατυπώσατε την «Αποστολή» σας (mission statement). Ποιός είναι ο στόχος του έργου, σε 2-3 προτάσεις.

5 5 Φάση 1: Ανάλυση και Προδιαγραφές Ανάλυση Απαιτήσεων (Requirements Analysis): τι θέλει ο «πελάτης» Προδιαγραφές Συστήματος (System Specification): τι θα κάνει το πρόγραμμα (όχι πως θα το κάνει). Πιο σύντομη προσέγγιση: Ανάπτυξη περιπτώσεων χρήσης (use cases). Αποκαλύπτουν βασικά χαρακτηριστικά του προγράμματος. Αποτελούν περιγραφικές απαντήσεις σε ερωτήσεις όπως: Ποιός θα χρησιμοποιήσει το σύστημα; Τι μπορούν να κάνουν οι χρήστες με το σύστημα; Πως μπορεί αυτός ο χρήστης να κάνει εκείνο με το σύστημα; Πώς αλλιώς θα μπορούσε αυτό να λειτουργήσει αν κάποιος άλλος έκανε εκείνο, ή ο ίδιος χρήστης είχε διαφορετικό στόχο; (reveal variations) Τι προβλήματα μπορεί να προκύψουν ενώ κάνουμε αυτό με το σύστημα (reveal exceptions).

6 Φάση 2: Πώς θα το κατασκευάσουμε; Πρέπει να σχεδιάσουμε τις κλάσεις και την αλληλεπίδρασή τους. Χρήση της τεχνικής των Καρτών CRC. Πέντε στάδια σχεδιασμού αντικειμένων: Ανακάλυψη Αντικειμένου (Object discovery) Συναρμολόγηση Αντικειμένου (Object assembly) Κατασκευή Συστήματος Επέκταση Συστήματος Επαναχρησιμοποίηση κλάσεων Μ. Δικαιάκος 6

7 7 Φάση 2: Πώς θα το κατασκευάσουμε; Κατευθύνσεις για σχεδιασμό των αντικειμένων: Οι κλάσεις προκύπτουν από το πρόβλημα επεκτείνονται και ωριμάζουν καθώς χρησιμοποιούνται για την επίλυση και άλλων προβλημάτων. Το μεγαλύτερο τμήμα του σχεδιασμού σας είναι να ανακαλύψετε τις κλάσεις που σας χρειάζονται. Δεν είναι ανάγκη να προβλέψετε τα πάντα από την αρχή μαθαίνετε καθώς προχωράτε. Ξεκινήστε τον προγραμματισμό νωρίς, ώστε να έχετε κάτι που θα αποδεικνύει την αξία ή απαξία του σχεδιασμού σας. KIS: keep-it-simple. Οι απλές λύσεις είναι συνήθως οι καλύτερες.

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

9 9 Φάση 4: Πρόσθεση Λειτουργιών Μετά το κτίσιμο του πυρήνα, γίνεται η υλοποίηση των λειτουργιών του συστήματος. Κάθε ξεχωριστή λειτουργία αντιπροσωπεύεται στη φάση τού σχεδιασμού από μια αντίστοιχη περίπτωση χρήσης (use case). Η υλοποίηση των διαφορετικών περιπτώσεων χρήσης γίνεται σειριακά σε διαφορετικές επαναλήψεις και μέχρι να ολοκληρωθεί η υλοποίηση τής όλης λειτουργικότητας του συστήματος. Πως δικαιολογείται η «επαναληπτική» προσέγγιση (iteration over the use cases);

10 Φάση 5: Εξέλιξη Η φάση της εξέλιξης ή συντήρησης του κώδικα: Διόρθωση σφαλμάτων. Αλλαγές στον κώδικα με βάση την εμπειρία χρήσης του. Πρόσθεση νέων λειτουργιών. Καλύτερη ικανοποίηση των απαιτήσεων. Μ. Δικαιάκος 10

11 Α/Σ Σχεδιασμός και Ευθύνες Πως σχεδιάζουμε αντικειμενοστρεφή προγράμματα; Ο σχεδιασμός Α/ΣΠ εστιάζει στην ανεύρεση των κλάσεων ενός προβλήματος και στην ανάθεση ευθυνών στις κλάσεις και στα αντικείμενά τους. Η ανάθεση ευθυνών συνεπάγεται ανάθεση ανεξαρτησίας. Δημιουργία ανεξάρτητων υποσυστημάτων, τα οποία μπορούν εύκολα να επαναχρησιμοποιηθούν. Μ. Δικαιάκος 11

12 12 Use cases - Περιπτώσεις Χρήσης

13 12 Use cases - Περιπτώσεις Χρήσης Τεχνική ανάλυσης με την οποία περιγράφουμε, με τρόπο τυπικό, πώς πρέπει να λειτουργήσει ένα πρόγραμμα.

14 12 Use cases - Περιπτώσεις Χρήσης Τεχνική ανάλυσης με την οποία περιγράφουμε, με τρόπο τυπικό, πώς πρέπει να λειτουργήσει ένα πρόγραμμα. Κάθε περίπτωση χρήσης εστιάζει σε ένα συγκεκριμένο σενάριο και περιγράφει τα βήματα που πρέπει να πραγματοποιηθούν για να φέρουν το σενάριο σε επιτυχημένη ολοκλήρωση. Η ολοκλήρωση του σεναρίου πρέπει να αντιστοιχεί στην επίτευξη ενός σημαντικού στόχου του χρήστη του προγράμματος

15 12 Use cases - Περιπτώσεις Χρήσης Τεχνική ανάλυσης με την οποία περιγράφουμε, με τρόπο τυπικό, πώς πρέπει να λειτουργήσει ένα πρόγραμμα. Κάθε περίπτωση χρήσης εστιάζει σε ένα συγκεκριμένο σενάριο και περιγράφει τα βήματα που πρέπει να πραγματοποιηθούν για να φέρουν το σενάριο σε επιτυχημένη ολοκλήρωση. Η ολοκλήρωση του σεναρίου πρέπει να αντιστοιχεί στην επίτευξη ενός σημαντικού στόχου του χρήστη του προγράμματος Κάθε βήμα αναπαριστά μια αλληλεπίδραση του προγράμματος με ανθρώπους ή οντότητες εξωτερικές του προγραμματιστικού συστήματος

16 13 Περιπτώσεις Χρήσης Οι περιπτώσεις χρήσης είναι συλλογές από σενάρια τα οποία περιγράφουν πως λειτουργεί το σύστημα σε διάφορες περιπτώσεις. Οι περιπτώσεις χρήσης αποσκοπούν στην αποτύπωση του πως το σύστημα φαίνεται στους χρήστες του (λειτουργικά) και πρέπει να είναι απλές.

17 13 Περιπτώσεις Χρήσης Οι περιπτώσεις χρήσης είναι συλλογές από σενάρια τα οποία περιγράφουν πως λειτουργεί το σύστημα σε διάφορες περιπτώσεις. Οι περιπτώσεις χρήσης αποσκοπούν στην αποτύπωση του πως το σύστημα φαίνεται στους χρήστες του (λειτουργικά) και πρέπει να είναι απλές. Actor Use-cases Interactions

18 14 Περιπτώσεις Χρήσης Στην περίπτωση σχεδιασμού ενός φωνοκιβωτίου, στο οποίο εισάγονται τηλεφωνικά μηνύματα: Η Περίπτωση Χρήσης Άφησε Μήνυμα περιγράφει τα βήματα που πρέπει να ακολουθήσει ένας χρήστης ώστε να καλέσει ένα φωνοκιβώτιο και να αφήσει μήνυμα. Η Περίπτωση Χρήσης Ανάκτησε Μηνύματα περιγράφει τα βήματα που πρέπει να ακολουθήσει ένας χρήστης ώστε να καλέσει το φωνοκιβώτιο και να ακούσει τα μηνύματά του.

19 Διαχείριση σφαλμάτων και ΠΧ Κατά την εκτέλεσή του, ένα σενάριο μπορεί σε κάποιο στάδιο να αποτύχει. Για παράδειγμα, στις Περιπτώσεις Χρήσης του φωνοκιβωτίου: η εισαγωγή ενός μηνύματος μπορεί να αποτύχει γιατί η ουρά των μηνυμάτων είναι γεμάτη η ανάγνωση των μηνυμάτων μπορεί να αποτύχει γιατί ο ιδιοκτήτης του φωνοκιβωτίου εισήγαγε λάθος κωδικό πρόσβασης Για την κάλυψη των περιπτώσεων αποτυχίας ενός σεναρίου, στην περιγραφή της Περίπτωσης Χρήσης συμπεριλαμβάνεται και η περιγραφή Αποκλίσεων (variations) Μ. Δικαιάκος 15

20 Περιγραφή Περιπτώσεων Χρήσης Όνομα Περίπτωσης Χρήσης Περιγράφει με συνοπτικό τρόπο την ΠΧ Κύρια σειρά δραστηριοτήτων που συμπεριλαμβάνονται στην ΠΧ Αποκλίσεις (όπου αυτό απαιτείται) Οι ΠΧ μπορούν να περιγραφούν με μεγαλύτερη αυστηρότητα απαρίθμηση των ΠΧ ενός προγράμματος καθορισμός των χρηστών αναφορά σε σχετικές ΠΧ κλπ Μ. Δικαιάκος 16

21 17 Περίπτωση Χρήσης Φωνοκιβωτίου Άφησε Μήνυμα 1. Ο καλών, σχηματίζει τον αριθμό του τηλεφωνικού κέντρου 2.Το τηλεφωνικό κέντρο απαντά με ανακοίνωση προτροπής (prompt): Enter mailbox number followed by #. 3. Ο καλών δίνει τον αριθμό φωνοκιβωτίου του παραλήπτη 4.Το τηλεφωνικό κέντρο απαντά με το ακόλουθο μήνυμα: You have reached mailbox xxxx. Please leave a message now. 5.Ο καλών δίνει το μήνυμά του. 6. Ο καλών κλείνει το τηλέφωνο. 7.Το τηλεφωνικό κέντρο τοποθετεί το καταγεγραμμένο μήνυμα στο φωνοκιβώτιο του παραλήπτη.

22 18 Περίπτωση Χρήσης Φωνοκιβωτίου

23 Περίπτωση Χρήσης Φωνοκιβωτίου Απόκλιση 1η: 1. Στο Βήμα 3, ο καλών δίνει λάθος αριθμό φωνοκιβωτίου. 2. Το τηλεφωνικό κέντρο δίνει το ακόλουθο μήνυμα: You have typed an invalid mailbox number. 3.Συνέχισε με το Βήμα 2 Μ. Δικαιάκος 18

24 Περίπτωση Χρήσης Φωνοκιβωτίου Απόκλιση 1η: 1. Στο Βήμα 3, ο καλών δίνει λάθος αριθμό φωνοκιβωτίου. 2. Το τηλεφωνικό κέντρο δίνει το ακόλουθο μήνυμα: You have typed an invalid mailbox number. 3.Συνέχισε με το Βήμα 2 Απόκλιση 2η: 1.Μετά το Βήμα 4, ο καλών κλίνει το τηλέφωνο αντί να μιλήσει 2. Το τηλεφωνικό κέντρο αγνοεί το άδειο μήνυμα Μ. Δικαιάκος 18

25 Α/Σ Σχεδιασμός και Ευθύνες Η Α/Σ Σχεδίαση είναι παρόμοια με την οργάνωση μιας ομάδας ανθρώπων (π.χ. σε ένα σύνδεσμο, λέσχη κλπ). Βασική οργανωσιακή αρχή: για να πραγματοποιηθεί μια ενέργεια, κάποιος πρέπει να είναι υπεύθυνος γι αυτήν. Στον Α/Σ Προγραμματισμό: βρείτε πρώτα ποιά Δ/Δ είναι υπεύθυνη για κάποια ενέργεια-υπολογισμό που πρέπει να πραγματοποιηθεί. Μ. Δικαιάκος 19

26 20 Κάρτες CRC (ΚEΣ: ΚΛΑΣΕΙΣ-ΕΥΘΥΝΕΣ- ΣΥΝΕΡΓΑΤΕΣ)

27 Κάρτες CRC (ΚEΣ: ΚΛΑΣΕΙΣ-ΕΥΘΥΝΕΣ- ΣΥΝΕΡΓΑΤΕΣ) Προτάθηκε από τους Cunningham και Beck με βάση τις εμπειρίες που αποκόμισαν από την γλώσσα SMALLTALK. Μ. Δικαιάκος 20

28 20 Κάρτες CRC (ΚEΣ: ΚΛΑΣΕΙΣ-ΕΥΘΥΝΕΣ- ΣΥΝΕΡΓΑΤΕΣ) Προτάθηκε από τους Cunningham και Beck με βάση τις εμπειρίες που αποκόμισαν από την γλώσσα SMALLTALK. Στη μέθοδο των καρτών CRC προκρίνεται:

29 20 Κάρτες CRC (ΚEΣ: ΚΛΑΣΕΙΣ-ΕΥΘΥΝΕΣ- ΣΥΝΕΡΓΑΤΕΣ) Προτάθηκε από τους Cunningham και Beck με βάση τις εμπειρίες που αποκόμισαν από την γλώσσα SMALLTALK. Στη μέθοδο των καρτών CRC προκρίνεται: Η διερεύνηση των «υπευθυνοτήτων» των κλάσεων, αποφύγοντας την περιγραφή δομών δεδομένων και αλγοριθμικών διεργασιών.

30 20 Κάρτες CRC (ΚEΣ: ΚΛΑΣΕΙΣ-ΕΥΘΥΝΕΣ- ΣΥΝΕΡΓΑΤΕΣ) Προτάθηκε από τους Cunningham και Beck με βάση τις εμπειρίες που αποκόμισαν από την γλώσσα SMALLTALK. Στη μέθοδο των καρτών CRC προκρίνεται: Η διερεύνηση των «υπευθυνοτήτων» των κλάσεων, αποφύγοντας την περιγραφή δομών δεδομένων και αλγοριθμικών διεργασιών. Η χρήση απλών χάρτινων καρτών Class-Responsibility- Collaboration (CRC) 10cm x 15cm αντί για διαγράμματα, μοντέλα, ή προσδιορισμό μεθόδων και διαπροσωπειών.

31 20 Κάρτες CRC (ΚEΣ: ΚΛΑΣΕΙΣ-ΕΥΘΥΝΕΣ- ΣΥΝΕΡΓΑΤΕΣ) Προτάθηκε από τους Cunningham και Beck με βάση τις εμπειρίες που αποκόμισαν από την γλώσσα SMALLTALK. Στη μέθοδο των καρτών CRC προκρίνεται: Η διερεύνηση των «υπευθυνοτήτων» των κλάσεων, αποφύγοντας την περιγραφή δομών δεδομένων και αλγοριθμικών διεργασιών. Η χρήση απλών χάρτινων καρτών Class-Responsibility- Collaboration (CRC) 10cm x 15cm αντί για διαγράμματα, μοντέλα, ή προσδιορισμό μεθόδων και διαπροσωπειών. Ο συμμετοχικός σχεδιασμός.

32 20 Κάρτες CRC (ΚEΣ: ΚΛΑΣΕΙΣ-ΕΥΘΥΝΕΣ- ΣΥΝΕΡΓΑΤΕΣ) Προτάθηκε από τους Cunningham και Beck με βάση τις εμπειρίες που αποκόμισαν από την γλώσσα SMALLTALK. Στη μέθοδο των καρτών CRC προκρίνεται: Η διερεύνηση των «υπευθυνοτήτων» των κλάσεων, αποφύγοντας την περιγραφή δομών δεδομένων και αλγοριθμικών διεργασιών. Η χρήση απλών χάρτινων καρτών Class-Responsibility- Collaboration (CRC) 10cm x 15cm αντί για διαγράμματα, μοντέλα, ή προσδιορισμό μεθόδων και διαπροσωπειών. Ο συμμετοχικός σχεδιασμός. Υπευθυνότητα είναι μια υψηλού επιπέδου περιγραφή της αποστολής μιας κλάσης.

33 Κάρτες CRC (ΚEΣ: ΚΛΑΣΕΙΣ-ΕΥΘΥΝΕΣ- ΣΥΝΕΡΓΑΤΕΣ) Μ. Δικαιάκος Προτάθηκε από τους Cunningham και Beck με βάση τις εμπειρίες που αποκόμισαν από την γλώσσα SMALLTALK. Στη μέθοδο των καρτών CRC προκρίνεται: Η διερεύνηση των «υπευθυνοτήτων» των κλάσεων, αποφύγοντας την περιγραφή δομών δεδομένων και αλγοριθμικών διεργασιών. Η χρήση απλών χάρτινων καρτών Class-Responsibility- Collaboration (CRC) 10cm x 15cm αντί για διαγράμματα, μοντέλα, ή προσδιορισμό μεθόδων και διαπροσωπειών. Ο συμμετοχικός σχεδιασμός. Υπευθυνότητα είναι μια υψηλού επιπέδου περιγραφή της αποστολής μιας κλάσης. Με μια CRC κάρτα μπορούμε να απεικονίσουμε μια κλάση και τα χαρακτηριστικά της, στη φάση της σχεδίασης. 20

34 21 Δομή καρτών CRC CLASS NAME RESPONSIBILITIES Κατάλογος µε τις ευθύνες αυτής της κλάσης COLLABORATORS Τα ονόµατα των κλάσεων που θα εξυπηρετήσουν αυτή την κλάση

35 22

36 23 Παράδειγμα CRC Mailbox manage passcode MessageQueue manage greeting manage new and saved messages

37 24 Παράδειγμα CRC MailSystem MessageQueue manage mailboxes

38 25 Παράδειγμα CRC Order Check if items in stock Determine price Check for valid payment Dispatch to delivery address Order Line Customer

39 26 Αρχές Ονοματολογίας Κλάσεων Πολύ σημαντική η ονοματολογία: διευκολύνει την ανάγνωση και κατανόηση του κώδικα. Βασικές αρχές: χρήση ευανάγνωστων και καλόηχων ονομάτων χρήση κεφαλαίων στην αρχή καινούργιας λέξης, έστω κι αν ενώνουμε δύο ή περισσότερες λέξεις (π.χ. CardReader) προσεκτική χρήση συντομογραφιών για αποφυγή παραξηγήσεων αποφυγή χρήσης αριθμών εντός των ονομάτων κατάλληλη ονομασία λογικών μεταβλητών (π.χ. PrinterIsReady - PrinterStatus)

40 Κάρτες CRC: Περιγραφή Ευθυνών Ο χώρος των υπευθυνοτήτων είναι το συµβόλαιο με το οποίο καθορίζονται τα χαρακτηριστικά και οι ευθύνες μιας κλάσης. Οι ευθύνες περιγράφουν το πρόβλημα που πρέπει να επιλύει η κλάση: χρησιμοποιώντας σύντομα ρήματα και μικρές εκφράσεις περιγράφοντας το τι πρέπει να γίνει και όχι το πως θα γίνει βασική επεξήγηση: ποιό θα είναι το αποτέλεσμα αν χρησιμοποιηθεί το αντικείμενο κατά τον Α ή Β τρόπο το πολύ µια κάρτα ανά κλάση Μ. Δικαιάκος 27

41 Κάρτες CRC: Περιγραφή Συνεργατών Κατάλογος των κλάσεων με τις οποίες συνεργάζεται η παρούσα κλάση, δηλ. οι κλάσεις, τις οποίες πρέπει να λαμβάνει υπόψη της: Παρέχουν υπηρεσίες στην κλάση ώστε αυτή να μπορεί να διεκπεραιώσει τις ευθύνες της Δευτερευόντως, κλάσεις που χρησιμοποιούν υπηρεσίες της παρούσας κλάσης. Η απόφαση για συμπερίληψη στον κατάλογο συνεργατών καθορίζεται από το βαθμό συνεργασίας μεταξύ δύο κλάσεων. Π.χ., η στοίβα δεν συμπεριλαμβάνει τις κλάσεις που πιθανώς να την χρησιμοποιούν (όχι όμως το αντίστροφο). Μ. Δικαιάκος 28

42 Ανακαλύπτοντας τις κλάσεις Κατηγορίες Κλάσεων: Διαχειριστές πληροφοριών, δεδομένων και καταστάσεων (Data managers, Data or state classes). Πηγές ή αποδέκτες πληροφοριών (data sources or sinks). Κλάσεις απεικονίσεως ή παρουσιάσεως (view or observer classes) Data Manager Classes: Models Display Classes: Views Βοηθητικές κατηγορίες (facilitater or helper class) Μ. Δικαιάκος 29

43 Σχεδιασμός με Σενάρια Ο σχεδιασμός με κάρτες CRC δεν ακολουθεί ούτε το top-down ούτε το bottom-up μοντέλο σχεδιασμού λογισμικού. Διεργασία σχεδίασης με CRC: από το γνωστό προς το άγνωστο Ξεκινάµε από τις προφανείς κλάσεις κι αυτές που απαιτούνται για το ξεκίνηµα της εφαρµογής Συνεχίζουµε ξετυλίγοντας υποθετικά σενάρια (what if ) Χρησιµοποιούµε τις κάρτες για να προσοµοιώσουµε την εξέλιξη του προγράµµατος Κάθε ενέργεια που αναγνωρίζεται, καταχωρείται σαν υπευθυνότητα της σχετικής κλάσης Μ. Δικαιάκος 30

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

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

46 Σχεδιασμός με CRC Η τεχνική CRC χωρίζεται σε δύο μέρη: 1.Το ερευνητικό μέρος (exploratory phase) ανακαλύπτουμε τις κλάσεις που χρειάζονται για την υλοποίηση του προβλήματος καθορίζουμε και αναθέτουμε τις υπευθυνότητες στις διάφορες κατηγορίες αναγνωρίζουμε την συνεργασία που υπάρχει μεταξύ των διαφόρων κατηγοριών Μ. Δικαιάκος 33

47 Σχεδιασμός με CRC 2.Το αναλυτικό μέρος (analysis phase) εκλέπτυνση του σχεδίου που προέκυψε από το ερευνητικό μέρος δημιουργία κλάσεων που περιέχουν κοινές ευθύνες (ιεραρχία) τοποθέτηση σχετικών κλάσεων μαζί Μ. Δικαιάκος 34

48 35 Βασική παρατήρηση Η μεθοδολογία δεν υποκαθιστά τη σκέψη!

49 36 Σουβλάκι-233

50 36 Σουβλάκι-233 Θέλουμε να κάνουμε προσομοίωση ενός σουβλατζίδικου take away

51 Σουβλάκι-233 Θέλουμε να κάνουμε προσομοίωση ενός σουβλατζίδικου take away για να βελτιώσουμε (βελτιστοποιήσουμε) την εξυπηρέτηση των πελατών μας Μ. Δικαιάκος 36

52 Σουβλάκι-233 Θέλουμε να κάνουμε προσομοίωση ενός σουβλατζίδικου take away για να βελτιώσουμε (βελτιστοποιήσουμε) την εξυπηρέτηση των πελατών μας Ποιές είναι οι αφαιρετικές δομές για να λύσουμε το πρόβλημα; Μ. Δικαιάκος 36

53 Σουβλάκι-233 Θέλουμε να κάνουμε προσομοίωση ενός σουβλατζίδικου take away για να βελτιώσουμε (βελτιστοποιήσουμε) την εξυπηρέτηση των πελατών μας Ποιές είναι οι αφαιρετικές δομές για να λύσουμε το πρόβλημα; Πώς θα προσθέσουμε λίγο ρεαλισμό; Μ. Δικαιάκος 36

54 Σουβλάκι-233 Θέλουμε να κάνουμε προσομοίωση ενός σουβλατζίδικου take away για να βελτιώσουμε (βελτιστοποιήσουμε) την εξυπηρέτηση των πελατών μας Ποιές είναι οι αφαιρετικές δομές για να λύσουμε το πρόβλημα; Πώς θα προσθέσουμε λίγο ρεαλισμό; Μ. Δικαιάκος 36

55 Σουβλάκι-233 Θέλουμε να κάνουμε προσομοίωση ενός σουβλατζίδικου take away για να βελτιώσουμε (βελτιστοποιήσουμε) την εξυπηρέτηση των πελατών μας Ποιές είναι οι αφαιρετικές δομές για να λύσουμε το πρόβλημα; Πώς θα προσθέσουμε λίγο ρεαλισμό; Μ. Δικαιάκος 36

56 Σουβλάκι-233 Θέλουμε να κάνουμε προσομοίωση ενός σουβλατζίδικου take away για να βελτιώσουμε (βελτιστοποιήσουμε) την εξυπηρέτηση των πελατών μας Ποιές είναι οι αφαιρετικές δομές για να λύσουμε το πρόβλημα; Πώς θα προσθέσουμε λίγο ρεαλισμό; Ουρά Λήψης Παραγγελιών Σταθµός εξυπηρέτησης Μ. Δικαιάκος 36

57 Σουβλάκι233 - η φουκού Διαθέτουμε φουκού μήκους x εκατοστών Χρειάζεται χρόνος t για να ανάψουν τα κάρβουνα Μ. Δικαιάκος 37

58 Σουβλάκι233 - η φουκού Διαθέτουμε φουκού μήκους x εκατοστών Χρειάζεται χρόνος t για να ανάψουν τα κάρβουνα Μ. Δικαιάκος 37

59 Σουβλάκι233 - τα τηγάνια Διαθέτουμε Ν τηγάνια Κάθε τηγάνι: έχει χωρητικότητα c μερίδες πατάτες. χρειάζεται χρόνο t για να τηγανίσει το περιεχόμενό του Μ. Δικαιάκος 38

60 Σουβλάκι233: πρώτες ύλες Σουβλάκια: Κάθε σμίλα παίρνει χώρο χ εκατοστά Χοιρινό: ψήνεται σε χρόνο λεπτών Κοτόπουλο: ψήνεται σε χρόνο λεπτών Σεφταλιά: κάθε σμίλα παίνρει χώρο y εκατοστά ψήνεται σε χρόνο 25 λεπτών Πίττα: ψήνεται σε χρόνο 5 λεπτών Μ. Δικαιάκος 39

61 40 Σουβλάκι233: τα υλικά

62 Άλλα (σημαντικά) θέματα Τι είναι η παραγγελία; Πώς διαχειριζόμαστε τις παραγγελίες; Με τι αλγόριθμο εκτελούμε τις παραγγελίες; Πώς αξιολογούμε την ικανοποίηση των πελατών μας; Πώς επιτυγχάνουμε την γραφική απεικόνιση της προσομοίωσης; Άσκηση για το σπίτι: αναλύστε το πρόβλημα και εντοπίστε τις κλάσεις/δομές δεδομένων/μεθόδους που χρειάζονται για την προσομοίωση Μ. Δικαιάκος δουλέψτε σε ομάδες των 3 ατόμων 41

63 42 Unified Modeling Language Σύντοµη Ανασκόπηση

64 Unified Modeling Language Ένα σύνολο από διαγραμματικές συμβάσεις, οι οποίες μπορούν να χρησιμοποιηθούν για την περιγραφή σχεδίων λογισμικού. Υπάρχουν διάφοροι τύποι διαγραμμάτων UML Κάθε τύπος χρησιμοποιείται για περιγραφή διαφορετικών πραγμάτων Πχ: class diagrams, state diagrams, sequence diagrams Μ. Δικαιάκος 43

65 UML Class Diagrams Represent the (static) structure of the system General In Java Name Name State Data Fields Behavior Methods Μ. Δικαιάκος 44

66 UML Class Diagrams Represent the (static) structure of the system General In Java Name Name State Data Fields Behavior Methods Attributes (Data fields) Μ. Δικαιάκος 44

67 UML Class Diagrams Represent the (static) structure of the system General In Java Name Name State Data Fields Behavior Methods Methods Attributes (Data fields) Μ. Δικαιάκος 44

68 Relationships Between Classes Dependency - εξάρτηση Temporary, uses a Aggregation - συνάθροιση Composition - σύνθεση Association - συσχέτιση Permanent, structural, has a Solid line (arrowhead optional) Inheritance - κληρονομικότητα Inheritance, is a OR Solid line with open (triangular) arrowhead Implementation - υλοποίηση Dotted line with open (triangular) arrowhead Μ. Δικαιάκος 45

69 Multiplicity of Associations Some relationships may be quantified Multiplicity denotes how many objects the source object can legitimately reference Notation * 0, 1, or more 5 5 exactly 5..8 between 5 and 8, inclusive 5..* 5 or more Μ. Δικαιάκος 46

70 Aggregation (συνάθροιση) Aggregation (συνάθροιση): προκύπτει όταν αντικείμενα μιας κλάσης περιέχουν αντικείμενα κάποιας άλλης κλάσης για μια χρονική περίοδο Ειδική κατηγορία συσχέτισης ( has-a ) Ένα πεδίο δεδομένων μιας κλάσης μπορεί να περιγραφεί είτε με συνάθροιση είτε σαν κατηγόρημα (attribute) της κλάσης. Message Queue 1 * Message Μ. Δικαιάκος 47

71 Composition (σύνθεση) Πιό ισχυρή μορφή συνάθροισης τα συναθροιζόμενα αντικείμενα δεν έχουν ανεξάρτητη ύπαρξη έξω από το αντικείμενα που τα συναθροίζει Κάνετε χρήση συνάθροισης ή σύνθεσης μόνο όταν η μια κλάση διαχειρίζεται τα αντικείμενα της άλλης Mailbox Message Queue Μ. Δικαιάκος 48

72 Association - Συσχέτιση More general than aggregation/composition Denotes permanent, structural relationship State of class A contains class B Represented by solid line (arrowhead optional) Car and Engine classes know about each other Μ. Δικαιάκος 49

73 50 Association with Roles Course registers for has as participant Student

74 Multiplicity of Associations Many-to-one Bank has many ATMs, ATM knows only 1 bank One-to-many Inventory has many items, items know 1 inventory Μ. Δικαιάκος 51

75 Associations w/ Navigation Information Can indicate direction of relationship Represented by solid line with arrowhead Gas Pedal class knows about Engine class Engine class doesn t know about Gas Pedal class Μ. Δικαιάκος 52

76 Associations w/ Navigation Information Denotes has-a relationship between classes Gas Pedal has a Engine State of Gas Pedal class contains instance of Engine class can invoke its methods Μ. Δικαιάκος 53

77 Dependency Denotes dependence between classes Always directed (Class A depends on B) Represented by dotted line with arrowhead A B A depends on B Μ. Δικαιάκος 54

78 Dependency Caused by class methods Method in Class A temporarily uses a object of type Class B Change in Class B may affect class A A B A uses object of class B Μ. Δικαιάκος 55

79 Dependency -εξάρτηση Dependence may be caused by Local variable Parameter Return value Example Class A { Class B { B Foo(B x) { B y = new B(); return y; } } } Μ. Δικαιάκος 56

80 57 Dependency Example Class Driver depends on Class Car

81 Generalization - γενίκευση Denotes inheritance between classes Can view as is-a relationship Represented by line ending in (open) triangle Laptop, Desktop, PDA inherit state & behavior from Computers Μ. Δικαιάκος 58

82 Implementation - υλοποίηση Denotes class implements Java interface Represented by dotted line ending in (open) triangle A «B» A implements interface B Μ. Δικαιάκος 59

83 Sequence Diagrams Διαγράμματα Ακολουθιών 60

84 Διαγράμματα Ακολουθιών Περιγράφουν την δυναμική εξέλιξη ενός σεναρίου, κατά την εκτέλεση ενός προγράμματος: Χρησιμοποιούνται για να περιγράψουν: τις αλληλεπιδράσεις ανάμεσα σε αντικείμενα Βασική χρησιμότητα: να περιγράψει τα αντικείμενα που εμπλέκονται στην υλοποίηση ενός σεναρίου και την ακολουθία με την οποία επιτελούνται οι κλήσεις των διαφόρων μεθόδων Μ. Δικαιάκος 61

85 62 Διαγράμματα Ακολουθιών amailbox newmessages : MessageQueue add

86 62 Διαγράμματα Ακολουθιών amailbox Όνοµα αντικειµένου (υπογραµµισµένο) newmessages : MessageQueue Όνοµα αντικειµένου κλάσης add

87 62 Διαγράμματα Ακολουθιών amailbox Όνοµα αντικειµένου (υπογραµµισµένο) newmessages : MessageQueue Όνοµα αντικειµένου κλάσης add Χρόνος ζωής αντικειµένου (lifeline)

88 62 Διαγράμματα Ακολουθιών amailbox Όνοµα αντικειµένου (υπογραµµισµένο) newmessages : MessageQueue Όνοµα αντικειµένου κλάσης add Στήλη ενεργοποίησης (activation bar) Χρόνος ζωής αντικειµένου (lifeline)

89 63 Διαγράμματα Ακολουθιών :MailSystem :MailSystem locat box <<create>> :Mailbox

90 State Diagrams Διαγράμματα Κατάστασης 64

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

92 66 Διαγράμματα κατάστασης connected extension dialed recording passcode entered mailbox menu

93 Σύστημα Φωνοκιβωτίων (Voice mail) Διατύπωση αποστολής συστήματος (mission statement) We will design and implement a program that simulates a voice mail system, without creating a completely realistic working phone system. We will simply represent voice mail by text that is entered through the keyboard. We need to simulate three distinct input events that occur in a real telephone system: speaking, pushing a button on the telephone touchpad, and hanging up the telephone. Μ. Δικαιάκος 67

94 Διευκρινίσεις We use the following convention for input: an input line consisting of a single character or # denotes a pressed button on the telephone touchpad. For example, to dial extension 13, you enter 1 3 # An input line consisting of the single character H denotes hanging up the telephone. Μ. Δικαιάκος 68

95 Σύστημα Φωνοκιβωτίων (Voice mail) Περιπτώσεις Χρήσης Reach Extension Change Greeting Leave a Message caller Log in owner Μ. Δικαιάκος Retrieve Messages Voice Mail System Change Passcode 69

96 70 Reach an Extension

97 70 Reach an Extension 1. User dials the main number of the Voice Mail System

98 Reach an Extension 1. User dials the main number of the Voice Mail System 2. The VMS speaks a prompt: Enter mailbox number followed by the # Μ. Δικαιάκος 70

99 Reach an Extension 1. User dials the main number of the Voice Mail System 2. The VMS speaks a prompt: Enter mailbox number followed by the # 3. The user types in the extension number of the message recipient Μ. Δικαιάκος 70

100 Reach an Extension 1. User dials the main number of the Voice Mail System 2. The VMS speaks a prompt: Enter mailbox number followed by the # 3. The user types in the extension number of the message recipient 4. The VMS speaks: You have reached mailbox xxxx. Please leave a message now. Μ. Δικαιάκος 70

101 71 Leave a Message

102 71 Leave a Message 1. The caller carries out Reach an Extension.

103 Leave a Message 1. The caller carries out Reach an Extension. 2. The caller speaks the message. Μ. Δικαιάκος 71

104 Leave a Message 1. The caller carries out Reach an Extension. 2. The caller speaks the message. 3. The caller hangs up. Μ. Δικαιάκος 71

105 Leave a Message 1. The caller carries out Reach an Extension. 2. The caller speaks the message. 3. The caller hangs up. 4. The VMS places the recorded message in the recipientʼs mailbox Μ. Δικαιάκος 71

106 72 Log in

107 72 Log in 1. The mailbox owner carries out Reach an Extension.

108 Log in 1. The mailbox owner carries out Reach an Extension. 2. The mailbox owner types the passcode, followed by the # key. (The default passcode is the same as the mailbox number. The mailbox owner can change it - see Change the Passcode). Μ. Δικαιάκος 72

109 Log in 1. The mailbox owner carries out Reach an Extension. 2. The mailbox owner types the passcode, followed by the # key. (The default passcode is the same as the mailbox number. The mailbox owner can change it - see Change the Passcode). 3. The voice mail system plays the mailbox menu: Enter 1 to retrieve your messages Enter 2 to change your passcode Enter 3 to change your greeting. Μ. Δικαιάκος 72

110 73 Retrieve Messages

111 73 Retrieve Messages 1. Mailbox owner carries out Log in.

112 73 Retrieve Messages 1. Mailbox owner carries out Log in. 2. The mailbox owner selects the retrieve your messages menu option

113 73 Retrieve Messages 1. Mailbox owner carries out Log in. 2. The mailbox owner selects the retrieve your messages menu option 3. The VMS plays the message menu:

114 73 Retrieve Messages 1. Mailbox owner carries out Log in. 2. The mailbox owner selects the retrieve your messages menu option 3. The VMS plays the message menu: Enter 1 to listen to the current message.

115 73 Retrieve Messages 1. Mailbox owner carries out Log in. 2. The mailbox owner selects the retrieve your messages menu option 3. The VMS plays the message menu: Enter 1 to listen to the current message. Enter 2 to save the current message.

116 73 Retrieve Messages 1. Mailbox owner carries out Log in. 2. The mailbox owner selects the retrieve your messages menu option 3. The VMS plays the message menu: Enter 1 to listen to the current message. Enter 2 to save the current message. Enter 3 to delete the current message.

117 73 Retrieve Messages 1. Mailbox owner carries out Log in. 2. The mailbox owner selects the retrieve your messages menu option 3. The VMS plays the message menu: Enter 1 to listen to the current message. Enter 2 to save the current message. Enter 3 to delete the current message. Enter 4 to return to the mailbox menu.

118 73 Retrieve Messages 1. Mailbox owner carries out Log in. 2. The mailbox owner selects the retrieve your messages menu option 3. The VMS plays the message menu: Enter 1 to listen to the current message. Enter 2 to save the current message. Enter 3 to delete the current message. Enter 4 to return to the mailbox menu. 4. The mailbox owner selects the listen to the current message menu option.

119 73 Retrieve Messages 1. Mailbox owner carries out Log in. 2. The mailbox owner selects the retrieve your messages menu option 3. The VMS plays the message menu: Enter 1 to listen to the current message. Enter 2 to save the current message. Enter 3 to delete the current message. Enter 4 to return to the mailbox menu. 4. The mailbox owner selects the listen to the current message menu option. 5. The VMS plays the current new message, or, if there are no new messages, the current old message. Note that the message is played, not removed from the queue.

120 73 Retrieve Messages 1. Mailbox owner carries out Log in. 2. The mailbox owner selects the retrieve your messages menu option 3. The VMS plays the message menu: Enter 1 to listen to the current message. Enter 2 to save the current message. Enter 3 to delete the current message. Enter 4 to return to the mailbox menu. 4. The mailbox owner selects the listen to the current message menu option. 5. The VMS plays the current new message, or, if there are no new messages, the current old message. Note that the message is played, not removed from the queue. 6. The VMS plays the message menu.

Introduction to Java. Module 6: Class Diagrams and Use case Diagrams. Prepared by Costantinos Costa for EPL 233

Introduction to Java. Module 6: Class Diagrams and Use case Diagrams. Prepared by Costantinos Costa for EPL 233 Introduction to Java Module 6: Class Diagrams and Use case Diagrams Prepared by Costantinos Costa for EPL 233 ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 1 Σχεδίαση Συστήματος Φωνοκιβωτίου Διατύπωση αποστολής

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

Διάλεξη 11: Αντικειμενοστρεφής Σχεδιασμός ΙII

Διάλεξη 11: Αντικειμενοστρεφής Σχεδιασμός ΙII Διάλεξη 11: Αντικειμενοστρεφής Σχεδιασμός ΙII Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Παράδειγμα Διαδικασίας Ανάπτυξης Λογισμικού: Βιβλίο Διευθύνσεων(συν.) - Φάση 3: Υλοποίηση(αναλυτικά

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

Διάλεξη 10: Αντικειμενοστρεφής Σχεδιασμός ΙI. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 10: Αντικειμενοστρεφής Σχεδιασμός ΙI. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 10: Αντικειμενοστρεφής Σχεδιασμός ΙI Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Παράδειγμα Διαδικασίας Ανάπτυξης Λογισμικού: Βιβλίο Διευθύνσεων - Φάση 2: Σχεδίαση(Κάρτες CRC, διαγράμματα

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

Περίγραμμα. Κάρτες CRC. Παράδειγμα. n για να πραγματοποιηθεί μια ενέργεια, κάποιος πρέπει να είναι

Περίγραμμα. Κάρτες CRC. Παράδειγμα. n για να πραγματοποιηθεί μια ενέργεια, κάποιος πρέπει να είναι Περίγραμμα Διάλεξη 9η Αντικειμενοστρεφής Σχεδιασμός Αντικειμενοστρεφής Σχεδιασμός - Ανάθεση Ευθυνών Περιπτώσεις Χρήσης (Use cases) Κάρτες CRC Παράδειγμα Εισαγωγή στη UML Chapter 12. Absolute Java. Walter

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

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007 Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Αν κάπου κάνετε κάποιες υποθέσεις να αναφερθούν στη σχετική ερώτηση. Όλα τα αρχεία που αναφέρονται στα προβλήματα βρίσκονται στον ίδιο φάκελο με το εκτελέσιμο

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

Ανάλυση Περιπτώσεων Χρήσης

Ανάλυση Περιπτώσεων Χρήσης Ανάλυση Περιπτώσεων Χρήσης ανάλυση απαιτήσεων ü Διαγράμματα Δραστηριότητας. Επιχειρησιακή μοντελοποίηση και ροή εργασιών σε περιπτώσεις χρήσης ü Μοντελοποίηση Πεδίου. Δημιουργία διαγραμμάτων κλάσεων για

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

Ανάλυση Πληροφοριακών Συστημάτων. «Βασικές Έννοιες Αντικειμενοστρεφούς Προγραμματισμού Διαγράμματα κλάσεων» Βασίλειος Καρακόιδας

Ανάλυση Πληροφοριακών Συστημάτων. «Βασικές Έννοιες Αντικειμενοστρεφούς Προγραμματισμού Διαγράμματα κλάσεων» Βασίλειος Καρακόιδας Ανάλυση Πληροφοριακών Συστημάτων «Βασικές Έννοιες Αντικειμενοστρεφούς Προγραμματισμού Διαγράμματα κλάσεων» Βασίλειος Καρακόιδας 7 12 2005 Περιεχόμενα Παρουσίασης Βασικές Έννοιες Αντικειμενοστραφούς προγραμματισμού

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

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

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

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007 Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Όλοι οι αριθμοί που αναφέρονται σε όλα τα ερωτήματα μικρότεροι του 10000 εκτός αν ορίζεται διαφορετικά στη διατύπωση του προβλήματος. Αν κάπου κάνετε κάποιες υποθέσεις

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

ΚΥΠΡΙΑΚΟΣ ΣΥΝΔΕΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY 21 ος ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δεύτερος Γύρος - 30 Μαρτίου 2011

ΚΥΠΡΙΑΚΟΣ ΣΥΝΔΕΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY 21 ος ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δεύτερος Γύρος - 30 Μαρτίου 2011 Διάρκεια Διαγωνισμού: 3 ώρες Απαντήστε όλες τις ερωτήσεις Μέγιστο Βάρος (20 Μονάδες) Δίνεται ένα σύνολο από N σφαιρίδια τα οποία δεν έχουν όλα το ίδιο βάρος μεταξύ τους και ένα κουτί που αντέχει μέχρι

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

Δημιουργία Λογαριασμού Διαχείρισης Business Telephony Create a Management Account for Business Telephony

Δημιουργία Λογαριασμού Διαχείρισης Business Telephony Create a Management Account for Business Telephony Δημιουργία Λογαριασμού Διαχείρισης Business Telephony Create a Management Account for Business Telephony Ελληνικά Ι English 1/7 Δημιουργία Λογαριασμού Διαχείρισης Επιχειρηματικής Τηλεφωνίας μέσω της ιστοσελίδας

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΑΣΚΗΣΗ 3 Μοντελοποίηση Εστιατορίου (take-away)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΑΣΚΗΣΗ 3 Μοντελοποίηση Εστιατορίου (take-away) ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 233: Αντικειμενοστρεφής Προγραμματισμός Χειμερινό Εξάμηνο 2012 ΑΣΚΗΣΗ 3 Μοντελοποίηση Εστιατορίου (take-away) Διδάσκων Καθηγητής: Παναγιώτης Ανδρέου Ημερομηνία

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

Use Cases: μια σύντομη εισαγωγή. Heavily based on UML & the UP by Arlow and Neustadt, Addison Wesley, 2002

Use Cases: μια σύντομη εισαγωγή. Heavily based on UML & the UP by Arlow and Neustadt, Addison Wesley, 2002 Use Cases: μια σύντομη εισαγωγή Heavily based on UML & the UP by Arlow and Neustadt, Addison Wesley, 2002 (γενικές εισαγωγικές ιδέες) ΣΥΛΛΟΓΗ ΑΠΑΙΤΗΣΕΩΝ 2 Ανάλυση απαιτήσεων Λειτουργικές απαιτήσεις: τι

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

Στο εστιατόριο «ToDokimasesPrinToBgaleisStonKosmo?» έξω από τους δακτυλίους του Κρόνου, οι παραγγελίες γίνονται ηλεκτρονικά.

Στο εστιατόριο «ToDokimasesPrinToBgaleisStonKosmo?» έξω από τους δακτυλίους του Κρόνου, οι παραγγελίες γίνονται ηλεκτρονικά. Διαστημικό εστιατόριο του (Μ)ΑστροΈκτορα Στο εστιατόριο «ToDokimasesPrinToBgaleisStonKosmo?» έξω από τους δακτυλίους του Κρόνου, οι παραγγελίες γίνονται ηλεκτρονικά. Μόλις μια παρέα πελατών κάτσει σε ένα

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

(C) 2010 Pearson Education, Inc. All rights reserved.

(C) 2010 Pearson Education, Inc. All rights reserved. Connectionless transmission with datagrams. Connection-oriented transmission is like the telephone system You dial and are given a connection to the telephone of fthe person with whom you wish to communicate.

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

How to register an account with the Hellenic Community of Sheffield.

How to register an account with the Hellenic Community of Sheffield. How to register an account with the Hellenic Community of Sheffield. (1) EN: Go to address GR: Πηγαίνετε στη διεύθυνση: http://www.helleniccommunityofsheffield.com (2) EN: At the bottom of the page, click

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

Διάγραμμα Κλάσεων. Class Diagram

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

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

Εγκατάσταση λογισμικού και αναβάθμιση συσκευής Device software installation and software upgrade

Εγκατάσταση λογισμικού και αναβάθμιση συσκευής Device software installation and software upgrade Για να ελέγξετε το λογισμικό που έχει τώρα η συσκευή κάντε κλικ Menu > Options > Device > About Device Versions. Στο πιο κάτω παράδειγμα η συσκευή έχει έκδοση λογισμικού 6.0.0.546 με πλατφόρμα 6.6.0.207.

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

Οδηγίες Αγοράς Ηλεκτρονικού Βιβλίου Instructions for Buying an ebook

Οδηγίες Αγοράς Ηλεκτρονικού Βιβλίου Instructions for Buying an ebook Οδηγίες Αγοράς Ηλεκτρονικού Βιβλίου Instructions for Buying an ebook Βήμα 1: Step 1: Βρείτε το βιβλίο που θα θέλατε να αγοράσετε και πατήστε Add to Cart, για να το προσθέσετε στο καλάθι σας. Αυτόματα θα

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

Can I open a bank account online? Ερώτηση αν μπορείτε να ανοίξετε τραπεζικό λογαριασμό μέσω του ίντερνετ

Can I open a bank account online? Ερώτηση αν μπορείτε να ανοίξετε τραπεζικό λογαριασμό μέσω του ίντερνετ - Γενικά Can I withdraw money in [country] without paying fees? Πληροφόρηση σχετικά με το αν πρέπει να πληρώσετε ποσοστά προμήθειας όταν κάνετε ανάληψη σε μια συγκεκριμένη χώρα What are the fees if I use

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

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο Αρχές Τεχνολογίας Λογισμικού Εργαστήριο Κωδικός Μαθήματος: TP323 Ώρες Εργαστηρίου: 2/εβδομάδα (Διαφάνειες Νίκου Βιδάκη) 1 JAVA Inheritance Εβδομάδα Νο. 3 2 Προηγούμενο μάθημα (1/2) Τι είναι αντικείμενο?

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

PortSip Softphone. Ελληνικά Ι English 1/20

PortSip Softphone. Ελληνικά Ι English 1/20 PortSip Softphone Ελληνικά Ι English 1/20 1. Περιεχόμενα 2. Εγκατάσταση σε Smartphone & Tablet (Android ή ios)... 1 3. Εγκατάσταση σε ηλεκτρονικό υπολογιστή (Windows ή Mac).... 5 4. Installation in Smartphone

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

CYTA Cloud Server Set Up Instructions

CYTA Cloud Server Set Up Instructions CYTA Cloud Server Set Up Instructions ΕΛΛΗΝΙΚΑ ENGLISH Initial Set-up Cloud Server To proceed with the initial setup of your Cloud Server first login to the Cyta CloudMarketPlace on https://cloudmarketplace.cyta.com.cy

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

Instruction Execution Times

Instruction Execution Times 1 C Execution Times InThisAppendix... Introduction DL330 Execution Times DL330P Execution Times DL340 Execution Times C-2 Execution Times Introduction Data Registers This appendix contains several tables

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

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων Εξάμηνο 7 ο Procedures and Functions Stored procedures and functions are named blocks of code that enable you to group and organize a series of SQL and PL/SQL

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

Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής

Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής Να γραφεί πρόγραμμα το οποίο δέχεται ως είσοδο μια ακολουθία S από n (n 40) ακέραιους αριθμούς και επιστρέφει ως έξοδο δύο ακολουθίες από θετικούς ακέραιους

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

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006 Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Ολοι οι αριθμοί που αναφέρονται σε όλα τα ερωτήματα είναι μικρότεροι το 1000 εκτός αν ορίζεται διαφορετικά στη διατύπωση του προβλήματος. Διάρκεια: 3,5 ώρες Καλή

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

Dynamic types, Lambda calculus machines Section and Practice Problems Apr 21 22, 2016

Dynamic types, Lambda calculus machines Section and Practice Problems Apr 21 22, 2016 Harvard School of Engineering and Applied Sciences CS 152: Programming Languages Dynamic types, Lambda calculus machines Apr 21 22, 2016 1 Dynamic types and contracts (a) To make sure you understand the

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

Ενότητα 2 Εργαλεία για την αναζήτηση εργασίας: Το Βιογραφικό Σημείωμα

Ενότητα 2 Εργαλεία για την αναζήτηση εργασίας: Το Βιογραφικό Σημείωμα CURRICULUM VITAE Ενότητα 2 Εργαλεία για την αναζήτηση εργασίας: Το Βιογραφικό Σημείωμα 1.What is it? Τι είναι αυτό 2.Chronological example of a CV Χρονολογικό Παράδειγμα Βιογραφικού 3.Steps to send your

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

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 4 ο Εργαστήριο -

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 4 ο Εργαστήριο - ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 3 ο ΕΞΑΜΗΝΟ Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 4 ο Εργαστήριο - ΕΠΙΜΕΛΕΙΑ ΜΑΘΗΜΑΤΟΣ: Πρέντζα Ανδριάννα ΕΠΙΜΕΛΕΙΑ ΕΡΓΑΣΤΗΡΙΟΥ: Στουγιάννου

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

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 3 ο ΕΞΑΜΗΝΟ Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 6 ο Εργαστήριο - ΕΠΙΜΕΛΕΙΑ ΜΑΘΗΜΑΤΟΣ: Πρέντζα Ανδριάννα ΕΠΙΜΕΛΕΙΑ ΕΡΓΑΣΤΗΡΙΟΥ: Στουγιάννου

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

Πώς μπορεί κανείς να έχει έναν διερμηνέα κατά την επίσκεψή του στον Οικογενειακό του Γιατρό στο Ίσλινγκτον Getting an interpreter when you visit your

Πώς μπορεί κανείς να έχει έναν διερμηνέα κατά την επίσκεψή του στον Οικογενειακό του Γιατρό στο Ίσλινγκτον Getting an interpreter when you visit your Πώς μπορεί κανείς να έχει έναν διερμηνέα κατά την επίσκεψή του στον Οικογενειακό του Γιατρό στο Ίσλινγκτον Getting an interpreter when you visit your GP practice in Islington Σε όλα τα Ιατρεία Οικογενειακού

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

Architecture οf Integrated Ιnformation Systems (ARIS)

Architecture οf Integrated Ιnformation Systems (ARIS) Architecture οf Integrated Ιnformation Systems (ARIS) Η αρχιτεκτονική ARIS (ARchitecture οf Integrated information Systems) έχει ως στόχο της την περιγρφή όλων των όψεων ή οπτικών ενός επιχειρηματικού

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

2 Composition. Invertible Mappings

2 Composition. Invertible Mappings Arkansas Tech University MATH 4033: Elementary Modern Algebra Dr. Marcel B. Finan Composition. Invertible Mappings In this section we discuss two procedures for creating new mappings from old ones, namely,

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

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

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

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

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

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

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

Προσομοίωση BP με το Bizagi Modeler

Προσομοίωση BP με το Bizagi Modeler Προσομοίωση BP με το Bizagi Modeler Α. Τσαλγατίδου - Γ.-Δ. Κάπος Πρόγραμμα Μεταπτυχιακών Σπουδών Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών 2017-2018 BPMN Simulation with Bizagi Modeler: 4 Levels

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΑΣΚΗΣΗ 4 Υλοποίηση Εφαρμογής Εστιατορίου (take-away)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΑΣΚΗΣΗ 4 Υλοποίηση Εφαρμογής Εστιατορίου (take-away) ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 233: Αντικειμενοστρεφής Προγραμματισμός Χειμερινό Εξάμηνο 2012 ΑΣΚΗΣΗ 4 Υλοποίηση Εφαρμογής Εστιατορίου (take-away) Διδάσκων Καθηγητής: Παναγιώτης Ανδρέου Ημερομηνία

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

Advanced Subsidiary Unit 1: Understanding and Written Response

Advanced Subsidiary Unit 1: Understanding and Written Response Write your name here Surname Other names Edexcel GE entre Number andidate Number Greek dvanced Subsidiary Unit 1: Understanding and Written Response Thursday 16 May 2013 Morning Time: 2 hours 45 minutes

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

Εισαγωγή στον Αντικειμενοστρέφή Προγραμματισμό Διάλεξη #13

Εισαγωγή στον Αντικειμενοστρέφή Προγραμματισμό Διάλεξη #13 Wrapper Classes, Abstract Classes and Interfaces Διάλεξη #13: Μεταβλητές/μέθοδοι κλάσης, αφηρημένες κλάσεις και διαπροσωπείες Μεταβλητές /πεδία κλάσης [class variables] Τα αντικείμενα ανήκουν σε κλάσεις

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

Homework 3 Solutions

Homework 3 Solutions Homework 3 Solutions Igor Yanovsky (Math 151A TA) Problem 1: Compute the absolute error and relative error in approximations of p by p. (Use calculator!) a) p π, p 22/7; b) p π, p 3.141. Solution: For

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

Αντικειμενοστρεφής Σχεδιασμός

Αντικειμενοστρεφής Σχεδιασμός ΕΠΛ233: Αντικειμενοστρεφής Προγραμματισμός 1 Αντικειμενοστρεφής Σχεδιασμός Οι διαφάνειες προσαρμόστηκαν από διαλέξεις του μαθήματος «ΕΠΛ233: Αντικειμενοστρεφής Προγραμματισμός» και παραχωρήθηκαν με την

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

Πρώτη είσοδος στην θυρίδα φωνητικού ταχυδρομείου

Πρώτη είσοδος στην θυρίδα φωνητικού ταχυδρομείου ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΣΥΣΤΗΜΑΤΟΣ ΠΡΟΣΩΠΙΚΟΥ ΤΗΛΕΦΩΝΗΤΗ ΤΟΥ ΤΗΛΕΦΩΝΙΚΟΥ ΚΕΝΤΡΟΥ ASTERISK Πίνακας περιεχομένων Εισαγωγή... 1 Πρώτη είσοδος στην θυρίδα φωνητικού ταχυδρομείου... 1 Ενεργοποίηση της θυρίδας φωνητικού

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 133: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΓΑΣΤΗΡΙΟ 3 Javadoc Tutorial

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 133: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΓΑΣΤΗΡΙΟ 3 Javadoc Tutorial ΕΡΓΑΣΤΗΡΙΟ 3 Javadoc Tutorial Introduction Το Javadoc είναι ένα εργαλείο που παράγει αρχεία html (παρόμοιο με τις σελίδες στη διεύθυνση http://docs.oracle.com/javase/8/docs/api/index.html) από τα σχόλια

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

Bizagi Modeler: Συνοπτικός Οδηγός

Bizagi Modeler: Συνοπτικός Οδηγός Bizagi Modeler: Συνοπτικός Οδηγός Α. Τσαλγατίδου - Γ.-Δ. Κάπος Πρόγραμμα Μεταπτυχιακών Σπουδών Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών 2017-2018 Bizagi Modeler Εμπορική εφαρμογή για μοντελοποίηση

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

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

Αντικειμενοστρεφής Προγραμματισμός ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 15: Σχεδίαση Εφαρμογών Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό

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

The challenges of non-stable predicates

The challenges of non-stable predicates The challenges of non-stable predicates Consider a non-stable predicate Φ encoding, say, a safety property. We want to determine whether Φ holds for our program. The challenges of non-stable predicates

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

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

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

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

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων Εξάμηνο 7 ο Oracle SQL Developer An Oracle Database stores and organizes information. Oracle SQL Developer is a tool for accessing and maintaining the data

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

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

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

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

UML: Unified modelling language

UML: Unified modelling language UML: Διαγράμματα UML: Unified modelling language Γλώσσα μοντελοποίησης για ανάλυση και σχεδιασμό Παρέχει το συμβολισμό για ανάλυση και σχεδιασμό. Είναι γλώσσα συμβολισμού. Δεν είναι ολόκληρη μεθοδολογία.

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

The Simply Typed Lambda Calculus

The Simply Typed Lambda Calculus Type Inference Instead of writing type annotations, can we use an algorithm to infer what the type annotations should be? That depends on the type system. For simple type systems the answer is yes, and

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

SOAP API. https://bulksmsn.gr. Table of Contents

SOAP API. https://bulksmsn.gr. Table of Contents SOAP API https://bulksmsn.gr Table of Contents Send SMS...2 Query SMS...3 Multiple Query SMS...4 Credits...5 Save Contact...5 Delete Contact...7 Delete Message...8 Email: sales@bulksmsn.gr, Τηλ: 211 850

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

Modbus basic setup notes for IO-Link AL1xxx Master Block

Modbus basic setup notes for IO-Link AL1xxx Master Block n Modbus has four tables/registers where data is stored along with their associated addresses. We will be using the holding registers from address 40001 to 49999 that are R/W 16 bit/word. Two tables that

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

Αντικειμενοστρέφεια. Henri Matisse, Harmony in Red, Κωστής Σαγώνας Νίκος Παπασπύρου

Αντικειμενοστρέφεια. Henri Matisse, Harmony in Red, Κωστής Σαγώνας Νίκος Παπασπύρου Αντικειμενοστρέφεια Henri Matisse, Harmony in Red, 1908 Κωστής Σαγώνας Νίκος Παπασπύρου Ορισμοί αντικειμενοστρέφειας Ποιοι είναι οι ορισμοί των παρακάτω; Αντικειμενοστρεφής

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

TMA4115 Matematikk 3

TMA4115 Matematikk 3 TMA4115 Matematikk 3 Andrew Stacey Norges Teknisk-Naturvitenskapelige Universitet Trondheim Spring 2010 Lecture 12: Mathematics Marvellous Matrices Andrew Stacey Norges Teknisk-Naturvitenskapelige Universitet

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

(Διαφάνειες Νίκου Βιδάκη)

(Διαφάνειες Νίκου Βιδάκη) (Διαφάνειες Νίκου Βιδάκη) JAVA Inheritance Εβδομάδα Νο. 3 2 Προηγούμενο μάθημα (1/2) Τι είναι αντικείμενο? Ανάλυση αντικειμένων Πραγματικά αντικείμενα Καταστάσεις Συμπεριφορές Αντικείμενα στον προγραμματισμό

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

Κατανεμημένα Συστήματα. Javascript LCR example

Κατανεμημένα Συστήματα. Javascript LCR example Κατανεμημένα Συστήματα Javascript LCR example Javascript JavaScript All JavaScript is the scripting language of the Web. modern HTML pages are using JavaScript to add functionality, validate input, communicate

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

Potential Dividers. 46 minutes. 46 marks. Page 1 of 11

Potential Dividers. 46 minutes. 46 marks. Page 1 of 11 Potential Dividers 46 minutes 46 marks Page 1 of 11 Q1. In the circuit shown in the figure below, the battery, of negligible internal resistance, has an emf of 30 V. The pd across the lamp is 6.0 V and

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

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ & ΑΛΓΟΡΙΘΜΟΙ ΕΡΓΑΣΤΗΡΙΟ

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ & ΑΛΓΟΡΙΘΜΟΙ ΕΡΓΑΣΤΗΡΙΟ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ & ΑΛΓΟΡΙΘΜΟΙ ΕΡΓΑΣΤΗΡΙΟ Κωδικός Θ: ΤΠ3001, Κωδικός Ε: ΤΠ3101 (ΜΕΥ/Υ) Ώρες (Θ - Ε): 4-2 Προαπαιτούμενα: Δρ. ΒΙΔΑΚΗΣ ΝΙΚΟΣ ΕΡΓΑΣΤΗΡΙΟ 6 Στοίβα (Stack) Stack Introduction Stack is one of the

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

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ενότητα 12: Συνοπτική Παρουσίαση Ανάπτυξης Κώδικα με το Matlab Σαμαράς Νικόλαος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 2 ο Εργαστήριο -

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 2 ο Εργαστήριο - ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 3 ο ΕΞΑΜΗΝΟ Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 2 ο Εργαστήριο - ΕΠΙΜΕΛΕΙΑ ΜΑΘΗΜΑΤΟΣ: Πρέντζα Ανδριάννα ΕΠΙΜΕΛΕΙΑ ΕΡΓΑΣΤΗΡΙΟΥ: Στουγιάννου

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΜΣ «ΠΡΟΗΓΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΚΗΣ» ΚΑΤΕΥΘΥΝΣΗ «ΕΥΦΥΕΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΕΠΙΚΟΙΝΩΝΙΑΣ ΑΝΘΡΩΠΟΥ - ΥΠΟΛΟΓΙΣΤΗ»

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΜΣ «ΠΡΟΗΓΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΚΗΣ» ΚΑΤΕΥΘΥΝΣΗ «ΕΥΦΥΕΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΕΠΙΚΟΙΝΩΝΙΑΣ ΑΝΘΡΩΠΟΥ - ΥΠΟΛΟΓΙΣΤΗ» ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΜΣ «ΠΡΟΗΓΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΚΗΣ» ΚΑΤΕΥΘΥΝΣΗ «ΕΥΦΥΕΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΕΠΙΚΟΙΝΩΝΙΑΣ ΑΝΘΡΩΠΟΥ - ΥΠΟΛΟΓΙΣΤΗ» ΜΕΤΑΠΤΥΧΙΑΚΗ ΙΑΤΡΙΒΗ ΤΟΥ ΕΥΘΥΜΙΟΥ ΘΕΜΕΛΗ ΤΙΤΛΟΣ Ανάλυση

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

6. Εισαγωγή στη Ενοποιημένη Γλώσσα Μοντελοποίησης UML (Unified Modeling Language)

6. Εισαγωγή στη Ενοποιημένη Γλώσσα Μοντελοποίησης UML (Unified Modeling Language) 6. Εισαγωγή στη Ενοποιημένη Γλώσσα Μοντελοποίησης UML (Unified Mdeling Language) Χειμερινό εξάμηνο 2016 Πέτρος Κωμοδρόμος kmdrms@ucy.ac.cy http://www.eng.ucy.ac.cy/petrs 1 Θέματα Εισαγωγή στη Unified Mdeling

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

περιεχόμενα παρουσίασης Actors Σενάρια Περιεχόμενο περιπτώσεων χρήσης Πρότυπα περιπτώσεων χρήσης Διαγράμματα περιπτώσεων χρήσης

περιεχόμενα παρουσίασης Actors Σενάρια Περιεχόμενο περιπτώσεων χρήσης Πρότυπα περιπτώσεων χρήσης Διαγράμματα περιπτώσεων χρήσης Περιπτώσεις Χρήσης περιεχόμενα παρουσίασης Actors Σενάρια Περιεχόμενο περιπτώσεων χρήσης Πρότυπα περιπτώσεων χρήσης Διαγράμματα περιπτώσεων χρήσης περιπτώσεις χρήσης Τι θα κάνει το λογισμικό για κάποιον

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

Galatia SIL Keyboard Information

Galatia SIL Keyboard Information Galatia SIL Keyboard Information Keyboard ssignments The main purpose of the keyboards is to provide a wide range of keying options, so many characters can be entered in multiple ways. If you are typing

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

Hancock. Ζωγραφάκης Ιωάννης Εξαρχάκος Νικόλαος. ΕΠΛ 428 Προγραμματισμός Συστημάτων

Hancock. Ζωγραφάκης Ιωάννης Εξαρχάκος Νικόλαος. ΕΠΛ 428 Προγραμματισμός Συστημάτων Hancock Ζωγραφάκης Ιωάννης Εξαρχάκος Νικόλαος Χ346339 Τ911778 ΕΠΛ 428 Προγραμματισμός Συστημάτων Ιστορική Αναδρομή Δημιουργήθηκε από την εταιρεία ΑΤ&Τ LAB Αφορμή δημιουργίας: Η ανάγκη για καθαρό και αποδοτικό

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

VBA ΣΤΟ WORD. 1. Συχνά, όταν ήθελα να δώσω ένα φυλλάδιο εργασίας με ασκήσεις στους μαθητές έκανα το εξής: Version 25-7-2015 ΗΜΙΤΕΛΗΣ!!!!

VBA ΣΤΟ WORD. 1. Συχνά, όταν ήθελα να δώσω ένα φυλλάδιο εργασίας με ασκήσεις στους μαθητές έκανα το εξής: Version 25-7-2015 ΗΜΙΤΕΛΗΣ!!!! VBA ΣΤΟ WORD Version 25-7-2015 ΗΜΙΤΕΛΗΣ!!!! Μου παρουσιάστηκαν δύο θέματα. 1. Συχνά, όταν ήθελα να δώσω ένα φυλλάδιο εργασίας με ασκήσεις στους μαθητές έκανα το εξής: Εγραφα σε ένα αρχείο του Word τις

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

Μοντελοποίηση δεδομένων με UML Χρήση σε πολυμεσικές εφαρμογές

Μοντελοποίηση δεδομένων με UML Χρήση σε πολυμεσικές εφαρμογές Μοντελοποίηση δεδομένων με UML Χρήση σε πολυμεσικές εφαρμογές Ελληνικό Ανοικτό Πανεπιστήμιο ΓΤΠ61 Πληροφορική Πολυμέσα Αγγελική Μαζαράκη Τι είναι η UML Είναι μια γραφική γλώσσα μοντελοποίησης συστημάτων.

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

Διαγράμματα UML στην Ανάλυση. Μέρος Γ Διαγράμματα Επικοινωνίας Διαγράμματα Ακολουθίας Διαγράμματα Μηχανής Καταστάσεων

Διαγράμματα UML στην Ανάλυση. Μέρος Γ Διαγράμματα Επικοινωνίας Διαγράμματα Ακολουθίας Διαγράμματα Μηχανής Καταστάσεων Διαγράμματα UML στην Ανάλυση Μέρος Γ Διαγράμματα Επικοινωνίας Διαγράμματα Ακολουθίας Διαγράμματα Μηχανής Καταστάσεων περιεχόμενα παρουσίασης Διαγράμματα επικοινωνίας Διαγράμματα ακολουθίας Διαγράμματα

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

Περιεχόμενα. ΚΕΦΑΛΑΙΟ 1 Εισαγωγή στη UML... 19

Περιεχόμενα. ΚΕΦΑΛΑΙΟ 1 Εισαγωγή στη UML... 19 Περιεχόμενα ΚΕΦΑΛΑΙΟ 1 Εισαγωγή στη UML... 19 1.1 Εισαγωγή... 19 1.2 Η γλώσσα UML... 20 1.2.1 Μεθοδολογίες ανάπτυξης λογισμικού... 21 1.2.2 Τύποι διαγραμμάτων της UML... 22 1.3 Διαγράμματα της UML... 24

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

08 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Χειμερινό εξάμηνο

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

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

ΙΚΤΥΩΤΟ ΜΟΝΤΕΛΟ (Network Model) Μαθ. # 15

ΙΚΤΥΩΤΟ ΜΟΝΤΕΛΟ (Network Model) Μαθ. # 15 ΙΚΤΥΩΤΟ ΜΟΝΤΕΛΟ (Network Model) Μαθ. # 15 DBTG Γλώσσα επεξεργασίας Σκελετός ενός προγράµµατος Βρες την εγγραφή FIND FIND...... FIND Ανάκτησε την τιµή εγγραφής στον κατάλληλο επίγραµµα τύπου GET RECORD

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

POINTERS, AGGREGATION, COMPOSITION

POINTERS, AGGREGATION, COMPOSITION POINTERS, AGGREGATION, COMPOSITION POINTERS TO OBJECTS Η κλάση mystring class mystring private: char *s; int size; public: mystring(const char *); ~mystring(); char *GetString(); int GetSize(); ; mystring::mystring(const

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

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Διαγράμματα Αλληλεπίδρασης. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Διαγράμματα Αλληλεπίδρασης. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Διαγράμματα Αλληλεπίδρασης Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική Θεσσαλονίκη, Σεπτέμβριος 2013 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

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

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

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

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

FSM Toolkit Exercises

FSM Toolkit Exercises ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ Τμήμα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Τομέας Τηλεπικοινωνιών Αναπληρωτής Καθηγητής: Αλέξανδρος Ποταμιάνος Ονοματεπώνυμο: Α Μ : ΗΜΕΡΟΜΗΝΙΑ: ΤΗΛ 413 : Συστήματα Επικοινωνίας

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

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων 21/11/2016. Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια.

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

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

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

Ο πιο κάτω πίνακας περιγράφει σε ποιες περιπτώσεις χρησιμοποιούμε τους τρεις πιο πάνω τρόπους: Επαναλήψεις - Loops Οι επαναλήψεις σε ένα πρόγραμμα μας επιτρέπουν μια ομάδα εντολών να εκτελείται για όσες φορές επιθυμούμε Υπάρχουν τρεις τρόποι επανάληψης εντολών με τη χρήση: While loops For loops

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

8. Μέθοδοι (Methods)

8. Μέθοδοι (Methods) 8. Μέθοδοι (Methods) Χειμερινό εξάμηνο 2012 Πέτρος Κωμοδρόμος komodromos@ucy.ac.cy http://www.eng.ucy.ac.cy/petros 1 Θέματα Μέθοδοι που παρέχονται από τη τάξη Math του Java API Χρήση στατικών μεθόδων και

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

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 11/3/2006

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 11/3/2006 ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 11/3/26 Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Ολοι οι αριθμοί που αναφέρονται σε όλα τα ερωτήματα μικρότεροι το 1 εκτός αν ορίζεται διαφορετικά στη διατύπωση

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

Abstract classes, Interfaces ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA

Abstract classes, Interfaces ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA Abstract classes, Interfaces ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA Τι θα συζητήσουμε σήμερα Αφαιρέσεις στη Java Abstract μέθοδοι και abstract κλάσεις Interfaces (=διασυνδέσεις, διεπαφές) Instanceof Παραδείγματα κώδικα Αφηρημένες

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Τεχνολογίες και Εφαρμογές Διαδικτύου. Σχεδίαση Συστήματος

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

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

Wrapper Classes, Abstract Classes and Interfaces

Wrapper Classes, Abstract Classes and Interfaces Wrapper Classes, Abstract Classes and Interfaces Εβδοµάδα 3: Κλάσεις συσκευαστές, αφηρηµένες κλάσεις και διαπροσωπείες Αντικείµενα και µη-αντικείµενα Η Java παρέχει τύπους αντικειµένων και απλούς τύπους

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

Τεχνολογία Λογισμικού. Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Τεχνολογία Λογισμικού. Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Τεχνολογία Λογισμικού Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

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

Διαχείριση Πληροφοριακών Συστημάτων

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

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

UNIVERSITY OF CALIFORNIA. EECS 150 Fall ) You are implementing an 4:1 Multiplexer that has the following specifications:

UNIVERSITY OF CALIFORNIA. EECS 150 Fall ) You are implementing an 4:1 Multiplexer that has the following specifications: UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences EECS 150 Fall 2001 Prof. Subramanian Midterm II 1) You are implementing an 4:1 Multiplexer that has the following specifications:

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

HOMEWORK 4 = G. In order to plot the stress versus the stretch we define a normalized stretch:

HOMEWORK 4 = G. In order to plot the stress versus the stretch we define a normalized stretch: HOMEWORK 4 Problem a For the fast loading case, we want to derive the relationship between P zz and λ z. We know that the nominal stress is expressed as: P zz = ψ λ z where λ z = λ λ z. Therefore, applying

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

Συστήματα Διαχείρισης Βάσεων Δεδομένων

Συστήματα Διαχείρισης Βάσεων Δεδομένων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Συστήματα Διαχείρισης Βάσεων Δεδομένων Φροντιστήριο 9: Transactions - part 1 Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών Tutorial on Undo, Redo and Undo/Redo

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

Section 1: Listening and responding. Presenter: Niki Farfara MGTAV VCE Seminar 7 August 2016

Section 1: Listening and responding. Presenter: Niki Farfara MGTAV VCE Seminar 7 August 2016 Section 1: Listening and responding Presenter: Niki Farfara MGTAV VCE Seminar 7 August 2016 Section 1: Listening and responding Section 1: Listening and Responding/ Aκουστική εξέταση Στο πρώτο μέρος της

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

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Διαγράμματα Κλάσεων. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Διαγράμματα Κλάσεων. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Διαγράμματα Κλάσεων Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική Θεσσαλονίκη, Σεπτέμβριος 2013 Αντικειμενοστρεφής Ανάλυση Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

the total number of electrons passing through the lamp.

the total number of electrons passing through the lamp. 1. A 12 V 36 W lamp is lit to normal brightness using a 12 V car battery of negligible internal resistance. The lamp is switched on for one hour (3600 s). For the time of 1 hour, calculate (i) the energy

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

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Η μεθοδολογία ICONIX. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Η μεθοδολογία ICONIX. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Η μεθοδολογία ICONIX Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική Θεσσαλονίκη, Σεπτέμβριος 2013 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

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

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 8 ο & 9 ο Εργαστήριο -

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 8 ο & 9 ο Εργαστήριο - ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 3 ο ΕΞΑΜΗΝΟ Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 8 ο & 9 ο Εργαστήριο - ΕΠΙΜΕΛΕΙΑ ΜΑΘΗΜΑΤΟΣ: Πρέντζα Ανδριάνα ΕΠΙΜΕΛΕΙΑ ΕΡΓΑΣΤΗΡΙΟΥ:

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

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Εισαγωγή. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Εισαγωγή. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Εισαγωγή Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική Θεσσαλονίκη, Σεπτέμβριος 2013 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για

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

Phys460.nb Solution for the t-dependent Schrodinger s equation How did we find the solution? (not required)

Phys460.nb Solution for the t-dependent Schrodinger s equation How did we find the solution? (not required) Phys460.nb 81 ψ n (t) is still the (same) eigenstate of H But for tdependent H. The answer is NO. 5.5.5. Solution for the tdependent Schrodinger s equation If we assume that at time t 0, the electron starts

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

Περιεχόµενα. 1 Εισαγωγή στις οµές εδοµένων 3. 2 Στοίβα (Stack) 5

Περιεχόµενα. 1 Εισαγωγή στις οµές εδοµένων 3. 2 Στοίβα (Stack) 5 Περιεχόµενα 1 Εισαγωγή στις οµές εδοµένων 3 2 Στοίβα (Stack) 5 i ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΕΧΟΜΕΝΑ ii Πληροφορίες Εργαστηρίου Σκοπός του εργαστηρίου Το εργαστήριο οµές εδοµένων αποσκοπεί στην εφαρµογή των τεχνολογιών

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

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων Εξάμηνο 7 ο JDBC JDBC is a set of classes and interfaces written in Java that allows Java programs to send SQL statements to a database like Oracle JDBC

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

[1] P Q. Fig. 3.1

[1] P Q. Fig. 3.1 1 (a) Define resistance....... [1] (b) The smallest conductor within a computer processing chip can be represented as a rectangular block that is one atom high, four atoms wide and twenty atoms long. One

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

LESSON 14 (ΜΑΘΗΜΑ ΔΕΚΑΤΕΣΣΕΡΑ) REF : 202/057/34-ADV. 18 February 2014

LESSON 14 (ΜΑΘΗΜΑ ΔΕΚΑΤΕΣΣΕΡΑ) REF : 202/057/34-ADV. 18 February 2014 LESSON 14 (ΜΑΘΗΜΑ ΔΕΚΑΤΕΣΣΕΡΑ) REF : 202/057/34-ADV 18 February 2014 Slowly/quietly Clear/clearly Clean Quickly/quick/fast Hurry (in a hurry) Driver Attention/caution/notice/care Dance Σιγά Καθαρά Καθαρός/η/ο

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