[1] Apéndice II (Speaking the language of OO): D. McLaughlin, G. Pollice, D. West, Head-First Object-Oriented Analysis and Design, O’Reilly, 2006.
[2] Capítulo 7 (Inheritance): M. P. Robillard, Introduction to Software Design with Java, Spring, 2017.
[3] Capítulo 2 (Polymorphism): E. Sciore, Java Program Design, Principles, Polymorphism, and Patterns, Apress, 2019.
[4] Capítulo 3 (Class Hierarchies): E. Sciore, Java Program Design, Principles, Polymorphism, and Patterns, Apress, 2019.
[5] J. Villalobos, Modelos y Metamodelos, 2020.
[6] Capítulo 1 (Introducción): M. P. Robillard, Introduction to Software Design with Java, Spring, 2017.
[7] Capítulo 1 (Modular Software Design): E. Sciore, Java Program Design, Principles, Polymorphism, and Patterns, Apress, 2019.
[8] M. Ubl, Design Docs at Google, https://www.industrialempathy.com/posts/design-docs-at-google/ , 2020.
[9] R. Wirfs-Brock y A. McKean, Object Design: Roles, Responsibilities and Collaborations, 2002. Capítulos 3 al 6, especialmente las siguientes secciones: A Discovery Strategy (p. 78-79), What’s in a name? (p. 88-93), What are responsbilities? (p. 110-111), Where Do Responsibilities Come From (p. 111-125), What is Object Collaboration? (p. 150-152), Collaboration Options (p. 153-158), What is Control Style? y Control Style Options (p. 196-198), Making Trade-offs (p. 198-205).
[10] Capítulo 10 (Classes): R. C. Martin et al, Clean Code, A Handbook of Agile Software Craftsmanship, Prentice Hall, 2009
[11] Capítulo 5 (Construcción de la Interfaz Gráfica): J. Villalobos, Fundamentos de Programación – Aprendizaje Activo Basado en Casos, 2005. https://cupi2.virtual.uniandes.edu.co/libro-del-curso-pdf
[12] M.P. Robillard and K. Kutschera. Lessons Learned in Migrating from Swing to JavaFX. IEEE Software, 2019. Reports on the experience of migrating the GUI to JavaFX.
[13] M. Fowler, The Many Meanings of Event-Driven Architecture, https://www.youtube.com/watch?v=STKCRSUsyP0
[14] Capítulo 11 (Model, View, Controller): E. Sciore, Java Program Design, Principles, Polymorphism, and Patterns, Apress, 2019.
[15] Capítulo 8 (Originality is Overrated): D. McLaughlin, G. Pollice, D. West, Head First Object-Oriented Analysis and Design, O’Reilly, 2006.
[16] Capítulo 1 (Introduction): Design Patterns Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, John M. Vlissides
[17] Capítulo 1 (Intro to Design Patterns): Eric Freeman, Elisabeth Robson, Bert Bates, Kathy Sierra, Head-First Design Patterns, O’Reilly.
[18] Mel Ó Cinnéide and Paddy Fagan. 2006. Design patterns: the devils in the detail. In Proceedings of the 2006 conference on Pattern languages of programs (PLoP ’06). Association for Computing Machinery, New York, NY, USA, Article 33, 1–9.
[19] Capítulo 1 (APIs: What Are They?): S. Preibisch, API Development. Apress, Berkeley, CA, 2018.
[20] J. Bloch. 2006. How to design a good API and why it matters. In Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications (OOPSLA ’06). Association for Computing Machinery, New York, NY, USA, 506–507. DOI: https://doi.org/10.1145/1176617.1176622
[21] J. Bloch, How to Design a Good API and Why it Matters, 2007, http://www.newt.com/java/GoodApiDesign-JoshBloch.pdf
[22] Capítulo 2 (API Design Best Practices): F. Doglio, REST API Development with Node.js. Apress, Berkeley, CA, 2018.
[23] Capítulo 7 (Error Handling): R. C. Martin et al, Clean Code, A Handbook of Agile Software Craftsmanship, Prentice Hall, 2009
[24] Capítulo 5 (Unit Testing) – sin la sección 5.4: M. P. Robillard, Introduction to Software Design with Java, Spring, 2017.
[25] Capítulo 3 (Fundamentals of Software Testing): G. O’Regan, Concise Guide to Software Testing. Undergraduate Topics in Computer Science. Springer, Cham, 2019.
[26] Capítulo 2 (Software Testing): T.A. Majchrzak, Improving Software Testing. SpringerBriefs in Information Systems. Springer, Berlin, Heidelberg, 2012.
[27] Ahmed Abd Elhalim Ibrahim, Amr Kamel, and Hesham Hassan. Object Oriented Metrics and Quality Attributes: A Survey. In Proceedings of the 10th International Conference on Informatics and Systems (INFOS ’16). Association for Computing Machinery, New York, NY, USA, 312–319, 2016.
[28] Seidl M., Scholz M., Huemer C., Kappel G. (2015) The Class Diagram. In: UML @ Classroom. Undergraduate Topics in Computer Science. Springer, Cham.