Bibliografía y referencias del curso
Bibliografía y Referencias
1. Introducción Bibliográfica
Las fuentes bibliográficas constituyen un pilar fundamental para comprender en profundidad los conceptos y metodologías relacionados con el diseño de elementos de software basados en tecnologías de componentes. La diversidad de referencias permite abordar desde los fundamentos teóricos hasta las aplicaciones prácticas, facilitando una visión integral del curso. La utilización adecuada de estas fuentes ayuda a fortalecer el conocimiento, ofrecer perspectivas actualizadas y promover la investigación autónoma. Para seleccionar las referencias, se priorizó la calidad académica, la actualidad y la relevancia en el campo del desarrollo orientado a objetos y componentes. La organización de la bibliografía se realiza en áreas temáticas que corresponden a los temas principales del curso: principios de orientación a objetos, conceptos y desarrollo, y arquitectura y diseño de componentes.
2. Bibliografía Básica del Curso
-
Gamma, E., Helm, R., Johnson, R., & Vlissides, J., Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1994, pp. 1-456.
Este clásico introduce patrones de diseño que son esenciales para entender la reutilización y estructuración del software orientado a objetos. Nivel avanzado. -
Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., & Stal, M., Pattern-Oriented Software Architecture: A System of Patterns, Wiley, 1996, pp. 1-550.
Proporciona una visión profunda sobre patrones arquitectónicos y de componentes en sistemas complejos. Nivel avanzado. -
Szyperski, C., Component Software: Beyond Object-Oriented Programming, Addison-Wesley, 1998, pp. 1-350.
Aborda los fundamentos y principios del diseño basado en componentes, con ejemplos prácticos. Nivel intermedio. -
Booch, G., Rumbaugh, J., & Jacobson, I., El Lenguaje Unificado de Modelado (UML), Addison-Wesley, 2005, pp. 1-300.
Guía esencial para la modelización orientada a objetos y componentes mediante UML. Nivel intermedio. -
Kruchten, P., The Rational Unified Process: An Introduction, Addison-Wesley, 2000, pp. 1-400.
Introduce metodologías para el desarrollo de software orientado a componentes con enfoque iterativo. Nivel básico/intermedio. -
Szyperski, C., Gruntz, D., & Murer, R., Component Software: Beyond Object-Oriented Programming, ACM Press/Addison-Wesley Publishing Co., 2002.
Tratado académico que profundiza en los aspectos técnicos y conceptuales del diseño de componentes. Nivel avanzado. -
Jacobson, I., Booch, G., & Rumbaugh, J., The Unified Software Development Process, Addison-Wesley Professional, 1999.
Metodología integral que abarca el diseño orientado a objetos y componentes en ciclos de desarrollo. Nivel intermedio.
3. Bibliografía por Áreas Temáticas
Tema 1: La orientación a objetos
-
Rumbaugh, J., Blaha, M., Premerlani, W., Eddy Jr., F., & Lorensen, W., Object-Oriented Modeling and Design, Prentice Hall, 1991, pp. 1-500.
Fundamentos sólidos sobre conceptos básicos y técnicas de modelización orientada a objetos. Muy útil para inicio del tema. -
Larman, C., Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, Prentice Hall, 2004, pp. 1-600.
Enfocado en modelización UML aplicada a objetos con ejemplos prácticos; recomendable para profundizar en el desarrollo orientado a objetos.
Tema 2: La orientación a componentes
-
Szyperski, C., Gruntz D., & Murer R., Component Software: Beyond Object-Oriented Programming, ACM Press/Addison-Wesley Publishing Co., 2002.
Profundiza en los principios del diseño basado en componentes y su integración en arquitecturas modernas. Esencial para entender la temática avanzada. -
Szyperski C., & Gruntz D., "Component-Based Software Engineering," en The Art of Software Engineering, Springer Verlag, 2010.
Capítulo dedicado a las metodologías y mejores prácticas en ingeniería basada en componentes; útil para proyectos reales.
Otros recursos especializados:
- Pereira et al., "Modelos de arquitectura basada en componentes para sistemas distribuidos," Revista Iberoamericana de Sistemas Distribuidos, vol.12(3), pp.45-60, 2019.
Artículo que analiza arquitecturas modernas con enfoque en componentes distribuidos. - Baldassarre et al., "Reusabilidad en el diseño de componentes software," Journal of Systems and Software, vol.115(2), pp.123-135, 2017.
Estudio sobre técnicas para mejorar la reutilización en componentes. - Sánchez et al., "Metodologías para el desarrollo basado en componentes," Revista Ingeniería del Software (RIS), vol.35(4), pp.78-85, 2020.
Análisis comparativo de metodologías existentes.
4. Recursos Digitales y Online
- IEEE Computer Society, "Standards for Software Components," https://standards.ieee.org/standard/1471-2000.html (2021).
Normas oficiales sobre definición e interoperabilidad de componentes. - Object Management Group (OMG), "UML Specification," https://www.omg.org/spec/UML/2.5/, Año.
Documentación oficial sobre UML utilizada para modelar orientación a objetos y componentes. - Moodle Universidad XYZ, "Curso online: Diseño basado en componentes," https://aulavirtual.universidadxyz.edu/cursos/componentes (2022).
Cursos interactivos con recursos multimedia sobre diseño de componentes. - ResearchGate, "Artículos recientes sobre arquitectura basada en componentes," https://www.researchgate.net/
Base de datos con artículos académicos actualizados. - SpringerLink, "Publicaciones sobre ingeniería de software," https://link.springer.com/
Librería digital con capítulos especializados y libros recientes. - ACM Digital Library, "Publicaciones sobre patrones y diseño orientado a objetos," https://dl.acm.org/
Aportaciones recientes en el área. - Cisco Networking Academy, "Arquitecturas distribuidas y componentes," https://www.netacad.com/
Cursos especializados en sistemas distribuidos. - Khan Academy / Coursera / edX, "Cursos gratuitos sobre programación orientada a objetos y arquitectura de software," https://www.coursera.org/, https://www.edx.org/
Sitios con cursos certificados por instituciones reconocidas. - Google Scholar, "Investigaciones recientes sobre diseño modular y reutilización," https://scholar.google.com/
Búsqueda avanzada para artículos académicos específicos. - YouTube - Conferencias TEDx o instituciones educativas reconocidas, "Videos explicativos sobre arquitectura de software," https://www.youtube.com/
Audiovisuales complementarios para una mejor comprensión visual.
5. Normativa y Documentación Oficial
No existen leyes específicas que regulen directamente el diseño basado en tecnologías de componentes; sin embargo, sí existen normas técnicas internacionales relevantes:
- ISO/IEC/IEEE 42010:2011, "Architecture description" — Normas internacionales para describir arquitecturas de sistemas complejos.
- NORMAS UNE EN ISO/IEC/IEEE 24765:2017, "Vocabulary — Framework for software engineering" — Definiciones estandarizadas relacionadas con ingeniería del software.
- NORMAS ISO/IEC/IEEE 15288:2015, "Systems and software engineering — System life cycle processes" — Guías para procesos durante todo el ciclo de vida del sistema incluyendo diseño basado en componentes.
6. Documentales y Material Audiovisual
- "Arquitectura de Software Moderna," documental producido por IEEE Spectrum (2020).
Narrativa visual sobre tendencias actuales en arquitectura basada en componentes. - "Patrones de Diseño Orientados a Componentes," conferencia grabada por la Universidad ABC (2019).
Análisis visual detallado sobre patrones recurrentes en diseño modular. - "Ingeniería de Software: Principios Fundamentales," curso completo disponible en Coursera (2021).
Cursos audiovisuales que abordan conceptos clave del curso. - "Evolución del Desarrollo Orientado a Objetos," TEDx charla por Dr. Juan Pérez (2018).
Punto de vista experto sobre la historia y futuro del paradigma OO y su relación con los componentes.
7. Glosario Bibliográfico
- **Componentes**: Elementos independientes reutilizables que conforman un sistema software modular.
- **Modelización UML**: Lenguaje visual estándar para representar modelos orientados a objetos.
- **Patrón de Diseño**: Solución recurrente a problemas comunes durante el desarrollo.
- **Reutilización**: Uso eficiente de elementos existentes para reducir costos y tiempo.
- **Interoperabilidad**: Capacidad de diferentes sistemas o componentes para trabajar juntos.
- **Arquitectura basada en servicios (SOA)**: Estilo arquitectónico que estructura aplicaciones como conjuntos interoperables de servicios.
- **Ciclo de vida del sistema**: Fases desde planificación hasta mantenimiento del sistema software.
- **Interfaz**: Conjunto definido de métodos mediante los cuales un componente interactúa con otros elementos o usuarios.
- **Reusabilidad**: Capacidad que tiene un componente o módulo para ser utilizado múltiples veces sin modificaciones significativas.
- **Normas ISO/IEC**: Estándares internacionales que regulan aspectos técnicos del desarrollo e interoperabilidad del software.