Προτεινόμενη βιβλιογραφία
1. Εισαγωγή στην Τεχνολογία Λογισμικού
- Sommerville, I., Software Engineering, Pearson, (10th ed), 2015
(ελληνική μετάφραση του βιβλίου από τις εκδόσεις Κλειδάριθμος)
- Pressman, R. S., Maxim B., Software Engineering: A practitioner's approach, McGraw Hill Int., (9th ed), 2019
(ελληνική μετάφραση του βιβλίου από τις εκδόσεις Τζιόλα)
- Ewusi-Mensah, K., Software Development Failures: Anatomy of Abandoned Projects, MIT Press, 2003
Ένα βιβλίο που αναλύει αποτυχίες σε συγκεκριμένα έργα λογισμικού.
- Brooks, F. P., The Mythical Man-Month: Essays on Software Engineering, 20th Anniversary Edition, Addison-Wesley, 1995.
Ένα κλασικό βιβλίο για την ανάπτυξη του λογισμικού. Περιλαμβάνει και το άρθρο "No Silver Bullet" που περιγράφονται οι ιδιαιτερότητες του λογισμικού.
- McConnell, S., Rapid Development: Taming Wild Software Schedules, Microsoft Press, 1996.
Ένα βιβλίο που αξιολογεί διαφορετικά μοντέλα διαδικασίας ανάπτυξης και περιγράφει καλές πρακτικές για την ανάπτυξη λογισμικού.
2. Υποδείγματα Ανάπτυξης
- Booch G., Maksimchuk R. A., Engle M. W., Young B. J., Conallen J., Houston K. A., Object-Oriented
Analysis and Design with Applications, 3rd ed, Addison-Wesley, 2007.
Ένα πολύ καλό βιβλίο που μας εισάγει στο αντικειμενοστρεφές υπόδειγμα.
3. Απαιτήσεις Λογισμικού
- Wiegers, K., Software Requirements, 3rd ed, Microsoft Press, 2013.
Ένα πολύ αναλυτικό βιβλίο για τις απαιτήσεις λογισμικού.
- Robertson, S., Robertson, J., Mastering the Requirements Process, 3rd ed, Addison Wesley Professional, 2012.
Αρκετά διαδεδομένο βιβλίο για τις απαιτήσεις.
- Cockburn, A., Writing Effective Use Cases. Addison Wesley Longman, 2001.
Ένα πολύ καλό βιβλίο για τις περιπτώσεις χρήσης.
4. Ανάλυση Απαιτήσεων
- Hay D. C., Data Model Patterns: Conventions of Thought, Dorset House, 1996.
Το βιβλίο του Hay στρέφεται σε εννοιολογικά μοντέλα υπό το πρίσμα της ανάλυσης δεδομένων. Είναι όμως χρήσιμο και για τη μελέτη εννοιολογικών μοντέλων με χρήση του αντικειμενοστρεφούς υποδείγματος.
5. Αντικειμενοστραφής ανάλυση
- Larman, C., Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, 3rd ed, Addison Wesley, 2004.
Ένα πολύ καλό βιβλίο για την εισαγωγή στη μοντελοποίηση πεδιου.
- Fowler, M., Analysis Patterns: Reusable Object Models, Addison-Wesley, 1996.
Προβλήματα ανάλυσης και μοντελοποίησης πεδίου τα οποία επιλύονται με τη μορφή προτύπων.
- Evans, E., Domain-Driven Design: Tackling Complexity in the Heart of Software, Addison Wesley, 2003.
Ένα βιβλίο που πηγαίνει τη μοντελοποίηση πεδίου ένα βήμα παρακάτω. Προτείνει το μοντέλο πεδίου ως τη γλώσσα που μιλούν τα μέλη ανάπτυξης και οι ειδικοί του προβλήματος. Προτείνει επίσης και πρότυπα για το κτίσιμο μοντέλων που ξεπερνούν το διαχωρισμό ανάλυσης και σχεδίασης.
- Jacobson, I., Booch, G., Rumbaugh, J., The Unified Software Development Process, Addison-Wesley Professional, 1999.
Στο κλασικό βιβλίο της UP γίνεται εκτενής αναφορά στην ανάλυση περιπτώσεων χρήσης.
- Rosenberg, D., Scott, K., Applying Use Case Driven Object Modeling with UML: An Annotated e-Commerce Example, Addison-Wesley, 2001 .
Ένα βιβλίο που δίνει έμφαση στην ανάλυση περιπτώσεων χρήσης.
6. Προδιαγραφή και Επικύρωση Απαιτήσεων
- Bittner, K., Spence, I., Use Case Modeling, Addison Wesley, 2002.
Ένα βιβλίο για τις λεπτομερείς προδιαγραφές απαιτήσεων με τη μορφή περιπτώσεων χρήσης
7. Εισαγωγή στη Σχεδίαση Λογισμικού
- Booch G., Maksimchuk R. A., Engle M. W., Young B. J., Conallen J., Houston K. A., Object-Oriented
Analysis and Design with Applications, 3rd ed, Addison-Wesley, 2007.
8. Αρχιτεκτονική Λογισμικού
- Bass, L., Clements, P., Kazman, R., Software Architecture in Practice, 3rd ed, Addison-Wesley, 2012.
Σημαντικό βιβλίο για την κατανόηση της έννοιας της αρχιτεκτονικής λογισμικού.
- Spinellis D., Gousios G. Beautiful Architecture, O'Reilly, 2009.
Ένα βιβλίο που μας δείχνει πώς διαμορφώθηκε η αρχιτεκτονική συγκεκριμένων προϊόντων λογισμικού.
- Clements P., Bachmann F., Bass L., Garlan D., Ivers J., Little R., Merson P., Nord R., Stafford J., Documenting Software Architectures: Views and Beyond, 2nd ed, Addison Wesley, 2010.
Αφιερωμένο την τεκμηρίωση της αρχιτεκτονικής βασισμένο σε όψεις.
9 Λογική Αρχιτεκτονική Λογισμικού
-
Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.,
Pattern-Oriented Software Architecture: A System of Patterns, vol 1,
Wiley, 1996.
Ένα βιβλίο που παρουσιάζει βασικά πρότυπα λογικής αρχιτεκτονικής.
10. Φυσική Αρχιτεκτονική Λογισμικού
-
Buschmann F., Henney K., Schmidt D. C., Pattern-Oriented
Software Architecture Volume 4: A Pattern Language for Distributed
Computing, Wiley, 2007.
Ένα βιβλίο προτύπων κατανεμημένων συστημάτων.
-
Fowler, M., Patterns of Enterprise Application Architecture,
Addison-Wesley, 2002.
Ένα βιβλίο που ασχολείται με την αρχιτεκτονική επιχειρησιακών συστημάτων.
-
Webber J., Parastatidis S., Robinson I., REST in Practice: Hypermedia and Systems
Architecture, Ο ‘Reilly, 2010.
Richardson L., Ruby S., RESTful Web Services, Ο 'Reilly, 2007
-
Richardson L., Ruby S., RESTful Web Services, Ο 'Reilly, 2007.
Δύο πολύ καλά βιβλία για τη σχεδίαση υπηρεσιών REST
-
Josuttis Μ. Ν., SOA in Practice: The Art of Distributed System Design,
Ο ‘Reilly, 2007.
Ένα πολύ καλό βιβλίο για τις αρχιτεκτονικές SOA
11. Λεπτομερής Σχεδίαση
- Larman, C., Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, 3rd ed, Addison Wesley, 2004.
Ένα πολύ καλό εισαγωγικό βιβλίο στην αντικειμενοστρεφή ανάλυση και σχεδίαση.
12. Αντικειμενοστρεφής Σχεδίαση
- Martin, R., C., Agile Software Development: Principles, Patterns and Practices, Prentice Hall, 2003.
Αναφέρεται αποκλειστικά στον τομέα της αντικειμενοστρεφούς σχεδίασης και προχωρά σε μεγάλο βάθος. Αναπτύσσονται οι γνωστές ως SOLID αρχές της σχεδίασης όπως και αρκετά πρότυπα σχεδίασης.
- Wirfs-Brock, R., McKean, A., Object Design: Roles, Responsibilities, and Collaborations. Addison-Wesley, 2002.
Ένα γενικότερο βιβλίο για τη μέθοδο της αντικειμενοστρεφούς σχεδίασης.
13. Πρότυπα Σχεδίασης
- Gamma, E., Helm R., Johnson, R., Vlissides, J., Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995.
Θεωρείται από πολλούς ως το σημαντικότερο βιβλίο για την ανάπτυξη λογισμικού των τελευταίων τριάντα ετών και είναι το κλασικό πλέον βιβλίο της συμμορίας των τεσσάρων (gang of four) για τα πρότυπα σχεδίασης.
- Shalloway, A., Trott, J. R., Design Patterns Explained: A New Perspective on Object-Oriented Design, 2nd ed, Addison-Wesley, 2004.
Μία πιο ομαλή εισαγωγή στα πρότυπα σχεδίασης. Το βιβλίο της συμμορίας των τεσσάρων θεωρείται αρκετά "προχωρημένο".
- Χατζηγεωργίου, Α., Ν., Αντικειμενοστρεφής Σχεδίαση, Κλειδάριθμος, 2005.
Ένα βιβλίο της ελληνικής βιβλιογραφίας που μας εισάγει στην αντικειμενοστρεφή σχεδίαση περιγράφει ορισμένα πρότυπα σχεδίασης.
-
Τα βιβλία των Martin και Larman αν και ευρύτερου ενδιαφέροντος αναφέρουν αρκετά πρότυπα σχεδίασης.
14. Κατασκευή Λογισμικού
- McConnell, S., Code Complete, 2nd ed, Microsoft Press, 2004.
Βιβλίο αφιερωμένο στην κατασκευή λογισμικού.
- Martin R. C., Clean Code: A Handbook of Agile Software Craftsmanship, Prentice Hall, 2009
Το βιβλίο του Martin για τη συγγραφή κώδικα.
- Bloch, J., Effective Java, 3rd ed., Addison-Wesley, 2017.
Χρήσιμο βιβλίο για καλό προγραμματισμό στη γλώσσα Java.
- Mike Mason Pragmatic Version Control using Subversion, 2nd ed.,
The Pragmatic Bookshelf, 2006
Μία εισαγωγή στο σύστημα διαχείρισης εκδόσεων SVN.
- Travis Swicegood, Pragmatic Version Control Using Git, Pragmatic Bookshelf, 2009
Μία εισαγωγή στο σύστημα διαχείρισης εκδόσεων Git.
- Διομήδης Σπινέλλης, Ανάγνωση κώδικα, Κλειδάριθμός, 2005.
Είναι κοινός τόπος το γεγονός ότι ένας επαγγελματίας προγραμματιστής καταναλώνει πολύ περισσότερο χρόνο στην ανάγνωση παρά στη συγγραφή κώδικα. Το βιβλίο του Διομήδη Σπινέλλη είναι αφιερωμένο σε αυτή τη δραστηριότητα
- Myers, G., J., Sandler, C., and Badgett T., The Art of Software Testing,
3rd ed., Wiley, 2011.
Ένα κλασικό πλέον βιβλίο για τον έλεγχο λογισμικού.
- Langr, J., Hunt, Α., and Thomas D., Pragmatic Unit Testing in Java 8 with JUnit, The Pragmatic Bookshelf, 2015.
Μία πολύ καλή και σύντομη εισαγωγή στο έλεγχο με JUnit.
- Meszaros, G., xUnit Test Patterns: Refactoring Test Code, Addison-Wesley, 2007.
Το βιβλίο του Meszaros παρέχει μεγαλύτερη εμβάθυνση στους αυτόματους ελέγχους με τη μορφή προτύπων.
- Beck, K., Test-Driven Development by Example. Boston, MA: Addison-Wesley, 2002.
Μία εισαγωγή στην ανάπτυξη κατευθυνόμενη από τον έλεγχο.
- Duvall, P., M., Continuous Integration: Improving Software Quality and Reducing Risk, Addison Wesley, 2007.
Ένα βιβλίο αφιερωμένο στη συνεχή συνένωση.
- Fowler, M., Refactoring: Improving the Design of Existing Code, 2nd e., Addison-Wesley, 2018.
Το βιβλίο για την αναδόμηση λογισμικού
- Kerievsky, J., Refactoring to Patterns, Addison-Wesley, 2004.
Ένα βιβλίο που μας προτείνει την εισαγωγή των προτύπων σχεδίασης μέσα από την αναδόμηση του λογισμικού.
- Thomas D., Hunt A., The Pragmatic Programmer: Your Journey To Mastery, 2nd Ed, Addison-Wesley Professional, 2019.
15. Έλεγχος Συστήματος
- Mugridge, R., Cunningham, W., Fit for Developing Software: Framework for Integrated Tests, Prentice Hall, 2005.
Βιβλίο για την κατασκευή αυτόματων ελέγχων αποδοχής με το Fit.
16. Συντήρηση Λογισμικού
- Berczuk, S., P., Appleton, B., Software Configuration Management Patterns: Effective Teamwork, Practical Integration, Addison-Wesley, 2002.
Βιβλίο για τη διαχείριση διάταξης.
- Anne Mette Jonassen Hass, Configuration Management Principles and Practice, Addison Wesley, 2002.
Και ένα δεύτερο βιβλίο για τη διαχείριση διάταξης.
- Feathers M. C.,
Working Effectively with Legacy Code,
Prentice Hall, 2004.
Ένα βιβλίο που αναφέρεται στη δύσκολη εργασία της συντήρησης κώδικα.
17. Επαναληπτικές Διαδικασίες Ανάπτυξης
- Larman, C., Agile and Iterative Development: A Manager's Guide, Addison-Wesley, 2003.
Ένα εισαγωγικό βιβλίο για τις επαναληπτικές και ευέλικτες διαδικασίες ανάπτυξης.
- Jacobson, I., Booch, G., Rumbaugh, J., The Unified Software Development Process, Addison-Wesley Professional, 1999.
Το εισαγωγικό βιβλίο για τη Unified Process.
- Kruchten, P., The Rational Unified Process: An Introduction, 3d Ed. Addison Wesley, 2003.
Μία λεπτομερέστερη περιγραφή της Unifiied Process (RUP).
- Highsmith, J., Agile Software Development Ecosystems, Addison Wesley, 2002.
Μία γενική εισαγωγή για διαφορετικές ευέλικτες διαδικασίες ανάπτυξης.
- Beck, K., Andres, C., Extreme Programming Explained: Embrace Change, 2nd ed., Addison Wesley, 2004.
Το βιβλίο του ακραίου προγραμματισμού.
- Kent B., Fowler M., Planning Extreme Programming,
Addison Weley, 2000.
Αξιοσημείωτο συμπλήρωμα στην εισαγωγή του Beck είναι το βιβλίο των Fowler και Beck για τη διοίκηση έργων λογισμικού με ακραίο προγραμματισμό.
- Cohn M., User Stories Applied: For Agile Software Development, Addison Wesley, 2004.
Ένα βιβλίο για τις διηγήσεις ως μέσω καταγραφής
απαιτήσεων σε ευέλικτες διαδικασίες ανάπτυξης όπως ο ακραίος προγραμματισμός.
- Schwaber, K., Agile Project Management with Scrum, Microsoft Press, 2004.
Ένα βιβλίο που περιγράφει τη Scrum.