Εθνικό Μετσόβιο Πολυτεχνείο
Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών

Τενολογία Λογισμικού

https://courses.softlab.ntua.gr/softeng/

Βιβλιογραφία και φροντιστηριακό υλικό

Η ενότητα αυτή θα ενημερώνεται συνεχώς στη διάρκεια του εξαμήνου.

Βιβλιογραφία (άρθρα, βιβλία και πραγματείες)


Alan J. Perlis, “Epigrams on Programming”, ACM SIGPLAN Notices, Vol. 17, Issue 9, Sep. 1982, p. 7-13. Σύνδεσμος

N. Wirth, “A Plea for Lean Software”, IEEE Computer, Vol 28, Issue 2, Feb. 1995, p. 64-68.

Robert L. Glass, “Facts and Fallacies of Software Engineering”, Addison Wesley, 2002, 0-321-11742-5.

Fred P. Brooks, “No Silver Bullet — Essence and Accident in Software Engineering”, Proceedings of the IFIP Tenth World Computing Conference, April 1987, p. 1069-1076. Σύνδεσμος

Fred P. Brooks, “The Mythical Man Month”, Addison-Wesley, 1975, 0-201-00650-2.

Donald E. Knuth, “Computer Programming as an Art”, Communications of the ACM, Vol. 7, Issue 12, Dec. 1974, p. 667-673. Σύνδεσμος

E.W. Dijkstra, “EWD316: A Short Introduction to the Art of Programming”, August 1971. Σύνδεσμος

Paul Graham, “Hackers and Painters”, O’Reilly Media, 2004, 0-596-00662-4. Το ομώνυμο essay

Winston. W. Royce, “Managing the development of large software systems: concepts and techniques”, Proceedings of the 9th International Conference of Software Engineering, 1987, p. 328 - 338. Η πρώτη έκδοση του άρθρου (1970)


Jochem Schulenklopper, “Why They Just Don’t Get It: Communicating about Architecture with Business Stakeholders”. IEEE Software. 33 (3): 13–19, 2016.

David L. Parnas, “On the criteria to be used in decomposing systems into modules”, Communications of the ACM. 15 (12): 1053 - 1058, 1972.

Bill Curtis, Herb Krasner, and Neil Iscoe. “A Field Study of the Software Design Process for Large Systems.”, Communications of the ACM, vol. 31, pp. 1268-1287, Nov. 1988

Peri Tarr, Harold Ossher, William Harrison, Stanley M. Sutton Jr., “N degrees of separation: multi-dimensional separation of concerns”, ICSE ’99 Proceedings of the 21st international conference on Software engineering, 107-119

Andrew Hunt, David Thomas, “The Pragmatic Programmer: From Journeyman to Master”, The Pragmatic Bookshelf, 1999, 978-0-2016-1622-4.


Antero Taivalsaari, “On the notion of inheritance”, ACM Computing Surveys, Vol. 28, No 3, September 1996.

Luca Cardelli, Peter Wegner, “On Understanding Types, Data Abstraction, and Polymorphism”, ACM Computing Surveys, Vol 17 n. 4, pp 471-522, December 1985.

Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, “Design Patterns: Elements of Reusable Object-Oriented Software”, Addison Wesley, 1994, 0-201-63361-2.


Richard N. Taylor, Nenad Medvidovic, Eric Dashofy, “Software Architecture: Foundations, Theory, and Practice”, 2009, Wiley and Sons, ISBN: 0470167742

Daniel Abadi, “Consistency Tradeoffs in Modern Distributed Database System Design”, IEEE Computer, Volume 45, Issue 2, Feb. 2012


Martin Fowler, “Microservices: a definition of this new architectural term”, https://martinfowler.com/articles/microservices.html


Martin Fowler “Refactoring: Improving the design of existing code”, Addison Wesley, 1999.

Φροντιστηριακό υλικό (παρουσιάσεις, σύνδεσμοι και λογισμικό)

Git

Εισαγωγή στο git

Επίσημη σελίδα

Pro Git book

A successful git branching model

Gradle

Εισαγωγή στο gradle

Επίσημη σελίδα

Οδηγός χρήσης

Ανάπτυξη Java web app με χρήση Gradle

Git repository

Gradle web app plugin

Java Servlet Specification

Java Servlet Tutorial

Java Server Pages

Velocity Template Engine

Front-end UI Toolkits

Twitter Bootstrap

ZURB Foundation

Semantic UI

Java database connectivity

JDBC Tutorial

RESTful APIs, AJAX, MVVM

Restlet Java Framework Tutorial

JQuery AJAX Tutorial

Knockout MVVM Library Tutorial

Refactoring

Refactoring in Practice

 

Τελευταία αλλαγή: 2/11/2017.