Προσχεδιασμένος Αντικειμενοστραφής και Ευέλικτος Προγραμματισμός

Academic Semester:
Course TypeReference NumberSubprogram
Υποχρεωτικά Κατεύθυνσης (Υ.Κ.)Theory: ΤΠ50Λ2
Lab:
Software Engineering
SemesterAcademic YearHours per week
Χειμερινό3oTheory: 3 Lab: 2
ExamsECTSWorkload
69
PrerequisitesTeaching methodTeaching Language
Ελληνικά

Ακαδημαϊκό Προσωπικό

Ακαδημαϊκός Υπεύθυνος: 
nv's picture
βιδάκης νικόλαος
Vidakis Nikolaos
Associate Professor
Αναπληρωτής Καθηγητής
2810-379892

ΠΕΡΙΕΧΟΜΕΝΟ ΜΑΘΗΜΑΤΟΣ

  • Εισαγωγή στον Προσχεδιασμένο Προγραμματισμό:
    Ιστορική Αναδρομή
    Διαδικαστικός Προγραμματισμός
    Αντικειμενοστραφής Υλοποίηση Λογισμικού
  • Αντικειμενοστραφής Προσχεδιασμένη Υλοποίηση Λογισμικού:
    Αντικειμενοστραφής Ανάλυση (OOAnalysis)
    Αντικειμενοστραφής Σχεδιασμός (OODesign)
  • Αρχές Αντικειμενοστραφούς Ανάλυσης & Σχεδίασης:
    SRP – Single Responsibility Principle (Αρχή Μοναδικής Αρμοδιότητας)
    OCP – Open-Closed Principle (Αρχή Ανοικτής-Κλειστής Σχεδίασης)
    LSP – Liskov Substitution Principle (Αρχή Υποκατάστασης της Liskov)
    DIP – Dependency Inversion Principle (Αρχή Αντιστροφής των Εξαρτήσεων)
    ISP – Interface Segregation Principle (Αρχή Διαχωρισμού των Διασυνδέσεων)
  • Βασικές Έννοιες Αντικειμενοστραφούς Προγραμματισμού (OOProgramming) (Java, C++, C#)
  • Πρότυπα σχεδιασμού λογισμικού (Design Patterns):
    Ιστορικό
    Πρότυπα
    Κατασκευαστικά πρότυπα
    Δομικά πρότυπα
    Συμπεριφοριστικά πρότυπα
  • Μετρικές Ποιότητας Προσχεδιασμένων Συστημάτων:
    Weighted Methods per Class (WMC)
    Depth of Inheritance Tree (DIT)
    Number of Children (NOC)
    Coupling Between Object Classes (CBO)
    Response for a Class (RFC και RFC’)
    LCOM1, LCOM2, LCOM3
  • Εισαγωγή στον Ευέλικτο Προγραμματισμό:
    Το μανιφέστο για τον Ευέλικτο Προγραμματισμό
    Αξίες και αρχές
  • Σκοπιά Προοπτική Ευέλικτου Προγραμματισμού:
    Σύγκριση με την παραδοσιακή υλοποίηση λογισμικού,
    Adaptive vs. Predictive,
    Iterative vs. Waterfall,
    Code vs. Documentation
  • Μέθοδοι και πρακτικές που χρησιμοποιούνται στον ευέλικτο προγραμματισμό:
    Μέθοδοι  όπως ASD, RUP, AUP, DSDM κλπ.
    Πρακτικές όπως ATDD, IID klp.
  • Προσαρμογή Μεθόδων: Προσαρμογή μεθόδων και πρακτικών στις ιδιαιτερότητες του λογισμικού.
  • Επισκόπηση και σύγκριση με άλλες μεθόδους: RAD (Papid Application Development), CMMI (Capability Maturity Model Integration)
  • Αξιολόγηση Υλοποίησης με την φιλοσοφία του Ευέλικτου Προγραμματισμού:
    Αξιολόγηση υλοποίησης βάση ποσοτικών χαρακτηριστικών
    Αξιολόγηση υλοποίησης βάση μετρήσιμων στόχων
  • Σύγκριση Προσχεδιασμένου και Ευέλικτου Προγραμματισμού

ΣΥΝΙΣΤΩΜΕΝΗ-ΒΙΒΛΙΟΓΡΑΦΙΑ

  • Cockburn, Alistair, Agile Software Development, Addison Wesley, 2002.
  • Εισαγωγή στη Java, Γιώργος Λιακέας, Εκδόσεις Κλειδάριθµος,ISBN 9602-69-4311
  • Bruce Eckel:Thinking in Java, Prentice Hall, 1999, ISBN 0-13659-723-8

Web Sites/Web Pages:

 

Πρόεδρος Τμήματος Μηχανικών Πληροφορικής 
Μαλάμος Αθανάσιος, Αναπληρωτής Καθηγητής, amalamos@hmu.gr

Αναπληρωτής Πρόεδρος Τμήματος Μηχανικών Πληροφορικής
Μαριάς Κώστας, Αναπληρωτής Καθηγητής, kmarias@hmu.gr

Γραμματεία
Τμήμα Μηχανικών Πληροφορικής, ΣΤΕΦ, Ελληνικό Μεσογειακό Πανεπιστήμίο, Ηράκλειο, Κρήτη 71500
Τηλ: 2810-379853, 2810-379716, 2810-379795, Fax: 2810-379717
E-mail: secretariat@hmu.gr
Website: http://www.ie.teicrete.gr