Ακαδημαϊκό Προσωπικό
ΠΕΡΙΕΧΟΜΕΝΟ ΜΑΘΗΜΑΤΟΣ
- Εισαγωγή στον Προσχεδιασμένο Προγραμματισμό:
Ιστορική Αναδρομή
Διαδικαστικός Προγραμματισμός
Αντικειμενοστραφής Υλοποίηση Λογισμικού - Αντικειμενοστραφής Προσχεδιασμένη Υλοποίηση Λογισμικού:
Αντικειμενοστραφής Ανάλυση (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:
- Agile Alliance/Manifesto
- Principles of the Agile Alliance
- The New Methodology (Martin Fowler)
- The Agile Manifesto: Where It Came from and Where It May Go (Martin Fowler)