Μεθοδολογίες Προγραμματισμού ΙΙ

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Ο Ρόλος της Πληροφορίας στη Διαχείριση της Εφοδιαστικής Αλυσίδας
Advertisements

Οδηγίες Χρήσης της Δυνατότητας Σύνθετης Αναζήτησης στην Βάση Δεδομένων Νομοθεσίας του ΣΑΤΕ.
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Μεθοδολογίες Προγραμματισμού ΙΙ Διάγραμμα Περίπτωσης Χρήσης
Σχεδιασμός Λογισμικού Τεχνολογία Λογισμικού ΙΙ - JAVA
Απαντήσεις Προόδου I. Θέμα 1ο •Έστω Α = { , b}. Κατασκευάστε τα παρακάτω σύνολα: •(α) Α -  •(β) {  } – Α •(γ) Α  P(A) •(δ) Α  P(A)
SweetHome 3D ΕΝΑΣ ΕΥΚΟΛΟΣ ΚΑΙ ΓΡΗΓΟΡΟΣ ΤΡΟΠΟΣ ΣΧΕΔΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ ΔΩΜΑΤΙΩΝ/ΚΤΙΡΙΩΝ.
Μεθοδολογίες Προγραμματισμού ΙΙ
A Peer-to-peer Framework for Caching Range Queries O. D. Sahin A. Gupta D. Agrawal A. El Abbadi Παρουσίαση: Καραγιάννης Τάσος, Κρεμμυδάς Νίκος, Μαργαρίτη.
Εισαγωγή στο Προγραμματισμό
Μεθοδολογίες Προγραμματισμού ΙΙ ΣΧΕΔΙΑΣΗ ΑΝΤΙΚΕΙΜΕΝΩΝ ΜΕ ΑΡΜΟΔΙΟΤΗΤΕΣ
Μεθοδολογίες Προγραμματισμού ΙΙ Μ Ε Τ Ρ Ι Κ Ε Σ ΑΝΤΚΕΙΜΕΝΟΣΤΡΕΦΟΥΣ ΣΧΕΔΙΑΣΗΣ Ποιότητα Λογισμικού Παναγιώτης Σφέτσος, PhD
Μεθοδολογίες και Εργαλεία Ανάλυσης και Σχεδιασμού Π.Σ. Σπύρος Κοκολάκης ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ.
Μεθοδολογίες Προγραμματισμού ΙΙ Μ Ε Τ Ρ Ι Κ Ε Σ ΑΝΤΚΕΙΜΕΝΟΣΤΡΕΦΟΥΣ ΣΧΕΔΙΑΣΗΣ Ποιότητα Λογισμικού Παναγιώτης Σφέτσος, PhD
Μεθοδολογίες Προγραμματισμού ΙΙ Έλεγχος Λογισμικού - ECLIPSE JUNIT – TDD TFD + Refactoring Παναγιώτης Σφέτσος, PhD
Μηχανική Λογισμικού ΙΙ
HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ
Torque Game Engine - #02 Κώστας Καρπούζης (kkarpou)
Μεθοδολογίες Προγραμματισμού ΙΙ JUNIT - Test First Design
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Στατικές μέθοδοι και μεταβλητές Εσωτερικές κλάσεις.
Μεθοδολογίες Προγραμματισμού ΙΙ Σχεδιαστικά Πρότυπα (1) Παναγιώτης Σφέτσος, PhD
Μεθοδολογίες Προγραμματισμού ΙΙ
Διδασκαλία εννοιών προγραμματισμού με το Scratch για τις Ε’ και ΣΤ’ δημοτικού Η παρούσα σειρά μαθημάτων ΤΠΕ υλοποιήθηκε στο 15ο Δημοτικό Σχολείο.
Δημιουργία Λογαριασμού
Σχεδίαση αλγορίθμων (2ο μέρος)
7.7 Πρωτόκολλο ARP Δίκτυα Υπολογιστών ΙΙ.
Νταλιακούρας Νικόλαος CEID – Πανεπιστήμιο Πατρών Object Oriented Programming II (C++) Χειμερινό Εξάμηνο
21η Συνάντηση Εκπαιδευτικών στη ΔΜ σε Θέματα Τ.Π.Ε. Καστοριά, 18 Οκτωβρίου 2009 Εισαγωγή στην Logo Στυλιάδης Κων/νος, Υπ. Κέντρου ΠΛΗ.ΝΕ.Τ. Ν. Φλώρινας.
ΣΥΝΑΡΤΗΣΕΙΣ.
Μοντελοποίηση συμπεριφοράς. Συμβάντα - Καταστάσεις - Μεταβάσεις Στην UML για παράσταση συμβάντων και καταστάσεων σε αντικείμενα. Συμβάν Πρόκληση λειτουργίας.
Μεταβλητές – εντολές εκχώρησης- δομή ακολουθίας
Μεθοδολογίες Προγραμματισμού ΙΙ Αναδόμηση Λογισμικού - 2 Software Refactoring - Εφαρμογές Παναγιώτης Σφέτσος, PhD
HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ. Καθηγητής, Ε.Μ.Π.
ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης
7.9 Δρομολόγηση Δίκτυα Υπολογιστών ΙΙ.
Σχεδίαση Εκπαιδευτικού Λογισμικού Σχέδιο Μαθήματος – Ανάπτυξη Εφαρμογών Γ’ Λυκείου Τεχνολογικής Κατεύθυνσης Ιωάννης Βλαχόπουλος – Μ1249 Αικατερίνη Δρόσου.
7.8 Πρωτόκολλο DNS Δίκτυα Υπολογιστών ΙΙ.
Ποιος από τους πιο κάτω πίνακες παρουσιάζει τη μάχη που μόλις παρακολουθήσατε;
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Τμ.
ΑΝΑΚΕΦΑΛΑΙΩΣΗ 26 Οκτωβρίου Αντικειμενοστρεφής Προγραμματισμός Ένα νέο προγραμματιστικό μοντέλο (paradigm) το οποίο στηρίζεται στις κλάσεις και τα.
Computers: Information Technology in Perspective By Long and Long Copyright 2002 Prentice Hall, Inc. Προγραμματισμός Η / Υ 6 η Διάλεξη.
Συσταδοποίηση IΙ Οι διαφάνειες στηρίζονται στο P.-N. Tan, M.Steinbach, V. Kumar, «Introduction to Data Mining», Addison Wesley, 2006.
Το Scratch και ο σχεδιασμός γεωμετρικών σχημάτων
ΟΡΙΣΜΟΣ ΣΥΜΠΕΡΙΦΟΡΑΣ ΔΙΑΓΡΑΜΜΑTA ΑΛΛΗΛΕΠΙΔΡΑΣΗΣ
Γλώσσα Προγραμματισμού LOGO
Project in XSB Prolog Επεξεργασία και Αναπαράσταση Γνώσης Άνοιξη 2009 Τμήμα Επιστήμης Υπολογιστών Πανεπιστημίου Κρήτης.
ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΠΑΡΆΡΤΗΜΑ ΛΕΥΚΑΔΑΣ ΥΠΕΥΘΥΝΗ ΚΑΘΗΓΉΤΡΙΑ Δρ. ΤΣΙΝΤΖΑ ΠΑΝΑΓΙΩΤΑ Οι παρουσιάσεις του μαθήματος βασίζονται στο.
Η συλλογιστική για το σχεδιασμό. Για το μάθημαΙ  « Παραδοτέα :  Ασκήσεις  Σχεδιασμός και κατασκευή ενός λογισμικού με το Αβάκιο  Ένα κείμενο
Μεθοδολογίες και εργαλεία διαχείρισης έργων πληροφορικής) 2 ο Κεφάλαιο.
Αρχές Τεχνολογίας Λογισμικού Εργαστήριο 1: Εισαγωγή.
ΜΠΕΜΠΕΤΣΟΣ ΕΥΑΓΓΕΛΟΣ Ph.D.. ΕΡΕΥΝΕΣ ΦΥΣΙΟΛΟΓΙΚΕΣ Ή ΠΑΘΟΓΕΝΕΙΣ ΜΕΘΟΔΟΥΣ ΑΠΩΛΕΙΑΣ ΒΑΡΟΥΣ: Α) ΑΥΤΟΑΠΟΚΑΛΟΥΜΕΝΟΣ ΕΜΕΤΟΣ Β) ΧΡΗΣΗ ΔΙΟΥΡΗΤΙΚΩΝ ΚΑΙ ΚΑΘΑΡΤΙΚΩΝ.
ΠΡΟΓΡΑΜΜΑΤΙΖΟΝΤΑΣ ΜΕ ΤΟ ΑΒΑΚΙΟ. Μικρόκοσμοι και Αβάκιο Μέσω του περιβάλλοντος του Αβακίου κατασκευάζονται εκπαιδευτικά λογισμικά που ονομάζονται μικρόκοσμοι,
ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Τίτλος: Υλοποίηση ασύρματου δικτύου αισθητήρων με μικροελεγκτή Παππά Βασιλική Α.Ε.Μ 3146.
Δυναμικός Κατακερματισμός
ΑΛΓΟΡΙΘΜΟΣ ΠΡΟΒΛΗΜΑ ΑΛΓΟΡΙΘΜΟΣ ΛΥΣΗ
Software Engineering for Web Applications
Βελτιστοποίηση σε τρίλιζα Καταδίωξη/διαφυγή
Βελτιστοποίηση εικόνας
Βάσεις Δεδομένων ΙΙ 7η διάλεξη
Βιοκινητική αξιολόγηση αθλητικών ικανοτήτων
Στοιχεία Δομημένου Προγραμματισμού
Οργάνωση & Διοίκηση Αθλητισμού
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΕΙΣΑΓΩΓΗ ΣΤΗ UML ΕΙΣΑΓΩΓΗ ΣΤΗ UML.
Σχολείο Ανοιχτού Εκπαιδευτικού Περιεχομένου
Για να γίνει το γεύμα σας πιο ισορροπημένο...
Σημειώσεις : Μιχάλης Φίλης
Νοσηλευτική φροντίδα τραυματία
Μανομενίδης Γεώργιος Νοσηλευτής PhD
Μάθημα [GD2011]: ΕΙΣΑΓΩΓΗ ΣΤΗ ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ
Μεταγράφημα παρουσίασης:

Μεθοδολογίες Προγραμματισμού ΙΙ GRASP – Πρότυπα ΕΦΑΡΜΟΓΕΣ Παναγιώτης Σφέτσος, PhD http://aetos.it.teithe.gr/~sfetsos/ sfetsos@it.teithe.gr Παναγιώτης Σφέτσος Μεθοδολογίες Προγραμματισμού ΙΙ

Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Η μεγάλη εικόνα Στόχοι Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Παναγιώτης Σφέτσος Μεθοδολογίες Προγραμματισμού ΙΙ

Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Στόχοι Μείωση του Χάσματος Απεικόνισης Low Representational Gap – LRG) Low Level Design (L.L.D.) Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Παναγιώτης Σφέτσος Μεθοδολογίες Προγραμματισμού ΙΙ

Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Στόχοι Ανάθεση Αρμοδιοτήτων ή Εκχώρηση Ευθυνών Τα αντικείμενα έχουν αρμοδιότητες: να ‘δρουν-πράττουν’ να ‘γνωρίζουν’ Οι αρμοδιότητες των αντικειμένων εκχωρούνται στην φάση L.L.D. (όπως των υποσυστημάτων / στοιχείων στην H.L.D.) Συνεργασία(Collaboration): Εκπλήρωση αρμοδιότητας από την ίδια κλάση Εκπλήρωση αρμοδιότητας σε συνεργασία με άλλες κλάσεις Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Παναγιώτης Σφέτσος Μεθοδολογίες Προγραμματισμού ΙΙ

Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Στόχοι Πρότυπο Δημιουργός (Creator Pattern) Εφαρμογή: Παιχνίδι Monopoly Παράδειγμα: Χρειαζόμαστε την δημιουργία ενός αντικειμένου τύπου τετράγωνο (square) Ερώτηση: Ποιος θα δημιουργεί το αντικείμενο τετράγωνο; Απάντηση: Βήμα 1ο: Ξεκινάμε από τις υπάρχουσες κλάσεις. Αν δεν έχουν οριστεί ακόμη κοιτάμε το Domain Model (σύμφωνα με την LRG) Βήμα 2ο: Εφαρμόζουμε το πρότυπο Δημιουργός (από τις υπάρχουσες κλάσεις), σύμφωνα με το διάγραμμα κλάσεων (LLD) Βήμα 3ο: Αποφασίζουμε την αρμοδιότητα (κλάση) και σχεδιάζουμε τα διάγραμμα ακολουθίας και κλάσεων Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Παναγιώτης Σφέτσος Μεθοδολογίες Προγραμματισμού ΙΙ

Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Στόχοι Βήμα 1ο - Από το Domain Model Μπορεί να είναι κάποια εξωτερική κλάση (σκύλος, καπέλο..); Όχι αλλά γιατί; Βλέπουμε ότι το Board περιέχει τα τετράγωνα: Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Παναγιώτης Σφέτσος Μεθοδολογίες Προγραμματισμού ΙΙ

Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Στόχοι Βήμα 2ο και 3ο - Εφαρμογή του Creator Στο δυναμικό διάγραμμα (χωρίς το loop των 40 squares): Στο στατικό διάγραμμα: Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Παναγιώτης Σφέτσος Μεθοδολογίες Προγραμματισμού ΙΙ

Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Στόχοι Φορέας πληροφορίας (Information Expert) Εφαρμογή: Παιχνίδι Monopoly Παράδειγμα: Κάποιο αντικείμενο πρέπει να αναφέρεται σε κάποιο τετράγωνο (square) με το όνομά του. Ερώτηση: Ποιος θα είναι φορέας πληροφορίας για αυτό το τετράγωνο; Απάντηση: Το αντικείμενο που γνωρίζει (έχει την πληροφορία) για όλα τα τετράγωνα. Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Παναγιώτης Σφέτσος Μεθοδολογίες Προγραμματισμού ΙΙ

Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Στόχοι Εφαρμογή του Φορέα πληροφορίας Η Board περιέχει όλα τα τετράγωνα άρα κατέχει και την πληροφορία για την υλοποίηση της αρμοδιότητας: Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Παναγιώτης Σφέτσος Μεθοδολογίες Προγραμματισμού ΙΙ

Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Στόχοι Μειωμένη Σύζευξη (Low Coupling) Μείωση του κόστους Αλλαγών Γιατί όχι ένα αντικείμενο π.χ. τύπου dog; Δύο αντικ. έχουν σύζευξη με το square. Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Παναγιώτης Σφέτσος Μεθοδολογίες Προγραμματισμού ΙΙ

Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Στόχοι Ελεγκτής (Controller) – 1/3 Ποιο αντικείμενο θα χειριστεί συμβάντα (events) – διεπιφάνειας (UI); Από το SSD για το Monopoly : Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Παναγιώτης Σφέτσος Μεθοδολογίες Προγραμματισμού ΙΙ

Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Στόχοι Ελεγκτής (Controller) – 2/3 Ποιο αντικείμενο στο επίπεδο προβλήματος(domain) θα χειριστεί τα συμβάντα / κλήσεις μεθόδων; Σχηματική απεικόνιση: Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Παναγιώτης Σφέτσος Μεθοδολογίες Προγραμματισμού ΙΙ

Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Στόχοι Ελεγκτής (Controller) – 3/3 Ένα αντικείμενο που απεικονίζει το σύστημα / root object (π.χ. MonopolyGame) ή μια συσκευή (π.χ. phone, cashier, κλπ.). Διαλέγουμε την 1η επιλογή γιατί έχουμε λίγες λειτουργίες. Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Παναγιώτης Σφέτσος Μεθοδολογίες Προγραμματισμού ΙΙ

Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Στόχοι Υψηλή Συνοχή (High Cohesion) - 1/2 Σχεδιαστικά είμαστε εδώ: Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Παναγιώτης Σφέτσος Μεθοδολογίες Προγραμματισμού ΙΙ

Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Στόχοι Υψηλή Συνοχή (High Cohesion) – 2/2 Αν επιλέξουμε το αριστερό διάγραμμα θα έχουμε χαμηλή συνοχή, Καλύτερη με το δεξιό διάγραμμα. Γιατί; Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Παναγιώτης Σφέτσος Μεθοδολογίες Προγραμματισμού ΙΙ

Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Ποιος έχει την ευθύνη για την επανάληψη του παιχνιδιού; Στόχοι Ο αλγόριθμος: for N rounds for each Player p p takes a turn Από τον φορέα πληροφορίας το αντικείμενο MonopolyGame. Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Παναγιώτης Σφέτσος Μεθοδολογίες Προγραμματισμού ΙΙ

Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Στόχοι Ποιος ‘παίζει’; Από τον φορέα πληροφορίας το αντικείμενο Player: Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Παναγιώτης Σφέτσος Μεθοδολογίες Προγραμματισμού ΙΙ

Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Στόχοι Τα τελικά δυναμικά διαγράμματα Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Παναγιώτης Σφέτσος Μεθοδολογίες Προγραμματισμού ΙΙ

Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Στόχοι Το τελικό στατικό διάγραμμα Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Παναγιώτης Σφέτσος Μεθοδολογίες Προγραμματισμού ΙΙ

Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Στόχοι Η αρχικοποίηση (Περίπτωση Χρήσης) Το MonopolyGame είναι το root-object, δημιουργεί το Board και Players: Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Παναγιώτης Σφέτσος Μεθοδολογίες Προγραμματισμού ΙΙ