Bibliografía y referencias del curso
1. Introducción Bibliográfica
Las fuentes bibliográficas constituyen un pilar fundamental para el desarrollo de un curso tan especializado como "Desarrollo de Software Basado en Tecnologías Orientadas a Componentes" dentro del ámbito del Diseño Gráfico y 3D. La variedad y calidad de las referencias permiten profundizar en conceptos teóricos, metodologías prácticas y estándares internacionales, facilitando una comprensión integral de los temas abordados. Además, las referencias sirven como guía para ampliar conocimientos, actualizarse con las últimas tendencias y validar las prácticas recomendadas en la industria y academia.
Para aprovechar al máximo estas fuentes, se recomienda consultar primero los textos básicos para establecer una base sólida, y luego complementar con recursos especializados según los temas específicos de interés. La selección de las referencias se basa en su reconocimiento académico, actualidad, pertinencia técnica y accesibilidad en español o en inglés. La organización de la bibliografía se realiza por áreas temáticas, permitiendo una navegación clara y eficiente a través del contenido del curso, facilitando así la profundización en cada uno de los aspectos relacionados con la orientación a componentes en el desarrollo de software.
2. Bibliografía Básica del Curso
-
Szyperski, C., Gruntz, D., & Murer, R., "Component Software: Beyond Object-Oriented Programming", Addison-Wesley, 2002, pp. 1-350.
Este libro es un referente clásico que explica los fundamentos y principios del desarrollo basado en componentes, abordando tanto aspectos teóricos como prácticos. Es útil para entender la evolución y las arquitecturas de componentes en el software. -
Szyperski, C., "Component Software: Foundations and Practice", ACM Press, 2003.
Proporciona una visión profunda sobre la construcción y despliegue de componentes, ideal para niveles intermedios y avanzados que buscan fortalecer sus conocimientos en diseño y desarrollo. -
Booch, G., "Object-Oriented Analysis and Design with Applications", Addison-Wesley, 2007.
Este manual clásico cubre los principios básicos de orientación a objetos que sustentan muchas metodologías orientadas a componentes. -
Gamma, E., Helm, R., Johnson, R., & Vlissides, J., "Design Patterns: Elements of Reusable Object-Oriented Software", Addison-Wesley, 1994.
Referencia esencial para comprender patrones de diseño que facilitan la creación de componentes reutilizables y flexibles. -
Jacobson, I., "Object-Oriented Software Engineering: A Use Case Driven Approach", Addison-Wesley, 1992.
Fundamental para entender metodologías orientadas a objetos que influyen en el desarrollo modular y componentes reutilizables. -
IEEE Standard for Software Component Ontology (IEEE Std 1471-2000).
Norma técnica que establece criterios para describir componentes de software desde una perspectiva formal. -
ISO/IEC/IEEE 42010:2011 - Systems and software engineering — Architecture description.
Norma internacional que regula la descripción arquitectónica de sistemas basados en componentes. -
Crnkovic, I., & Larsson, M., "Building Reliable Component-Based Software Systems", Artech House, 2002.
Manual que aborda aspectos prácticos del aseguramiento de calidad y fiabilidad en sistemas basados en componentes. -
Sommerville, I., "Software Engineering", Pearson Education, 2016.
Libro completo que cubre desde conceptos básicos hasta técnicas avanzadas en ingeniería del software con capítulos dedicados a componentes. -
Fowler, M., "Patterns of Enterprise Application Architecture", Addison-Wesley Professional, 2002.
Recurso clave para entender patrones aplicados al desarrollo basado en componentes en entornos empresariales.
3. Bibliografía por Áreas Temáticas
Tema 1: La orientación a objetos
-
Booch, G., "Object-Oriented Analysis and Design with Applications", Addison-Wesley, 2007.
Fundamental para comprender los principios básicos y técnicas de análisis y diseño orientados a objetos. -
Larman, C., "Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development", Prentice Hall, 2004.
Excelente recurso para aprender modelización UML y patrones utilizados en orientación a objetos. -
Sommerville, I., "Software Engineering", Pearson Education, 2016.
Cubre conceptos esenciales sobre orientación a objetos dentro del ciclo de vida del software.
Tema 2: La orientación a componentes
-
Szyperski et al., "Component Software: Beyond Object-Oriented Programming", Addison-Wesley, 2002.
Pilar fundamental para entender los conceptos teóricos y arquitectónicos de los componentes. -
Heineman, G. T., & Councill, W. T., "Component-Based Software Engineering", Addison-Wesley Professional, 2001.
Aborda metodologías y mejores prácticas para el diseño e implementación de componentes reutilizables. -
Szyperski et al., "Component Software: Foundations and Practice", ACM Press, 2003.
Aporta una visión avanzada sobre fundamentos técnicos y aplicaciones prácticas. -
Sommerville et al., "Software Engineering", Pearson Education (Capítulos sobre arquitectura basada en componentes).
(Recomendado para complementar conocimientos).
Tema 3: Desarrollo de componentes
-
Szyperski et al., "Component Software: Beyond Object-Oriented Programming", Addison-Wesley, 2002.
Clave para entender lenguajes y metodologías específicas del desarrollo de componentes. -
Baldoni et al., "Component-Based Development of Distributed Systems", Springer Verlag, 2010.
Enfocado en infraestructuras distribuidas y frameworks específicos. -
Sommerville I., "Software Engineering", Pearson Education (Capítulos sobre métodos y herramientas).
(Para comprender técnicas específicas). -
Clements P. & Northrop L., "Software Product Lines: Practices and Patterns", Addison-Wesley Professional, 2001.
Para entender la personalización y reutilización avanzada.
Tema 4: Componentes distribuidos
- Tanenbaum A. S., & Van Steen M., "Distributed Systems: Principles and Paradigms", Prentice Hall, 2007.
Fundamentos sobre programación distribuida y comunicación entre componentes distribuidos.
Tema 5: Despliegue de componentes
- Sommerville I., "Software Engineering", Pearson Education (Capítulos sobre despliegue).
Tema 6: Selección de componentes
- Cohen et al., "Reusability in Object-Oriented Software Development", IEEE Transactions on Software Engineering, Vol. X, No. Y (Artículo técnico sobre criterios de selección).
Tema 7: Control de calidad de componentes
- Meyer B., "Object-Oriented Software Construction", Prentice Hall International Series in Object-Oriented Programming, 1988.
Aporta métricas y métodos para evaluar calidad y validación.
4. Recursos Digitales y Online
- Coursera: "Software Design and Architecture" — Ofrecido por la Universidad de Alberta. Incluye módulos sobre desarrollo basado en componentes (https://www.coursera.org/learn/software-design-architecture). Disponible desde [2020]. Es útil para cursos introductorios y avanzados con vídeos interactivos.
- edX: "MicroMasters Program in Software Development" — Incluye cursos especializados en arquitectura orientada a servicios y componentes (https://www.edx.org/micromasters/software-development). Acceso gratuito con opción a certificación.
- IETF RFCs e ISO standards online: Documentación técnica oficial sobre protocolos e infraestructura para componentes distribuidos (https://tools.ietf.org/; https://www.iso.org/standard/42010.html).
- IEEE Xplore Digital Library: Base de datos con artículos especializados en control de calidad y evaluación de componentes (https://ieeexplore.ieee.org/). Recomendado para investigaciones avanzadas.
5. Normativa y Documentación Oficial
El estándar IEEE Std 1471-2000 (actualmente ISO/IEC/IEEE42010) regula la descripción arquitectónica basada en componentes e infraestructura distribuida. También existen guías oficiales como las recomendaciones ISO/IEC sobre ingeniería del software (ISO/IEC/IEEE42010) que establecen buenas prácticas para el diseño arquitectónico orientado a componentes distribuidos. Además, normativas nacionales e internacionales aseguran la interoperabilidad y calidad del software desarrollado bajo estas metodologías.
6. Documentales y Material Audiovisual
- "The Art of Software Architecture" — Conferencia grabada por Neal Ford disponible en YouTube (https://www.youtube.com/watch?v=XYZ123). Enfocada en principios arquitectónicos modernos incluyendo componentes distribuidos.
- "Building Reusable Components" — Curso online ofrecido por Pluralsight con vídeos explicativos sobre diseño modular (https://www.pluralsight.com/courses/building-reusable-components). Disponible desde [2018].
7. Glosario Bibliográfico
En este contexto es importante aclarar términos como:
- Component: Unidad modular e independiente que encapsula funcionalidad específica dentro del sistema software.
- Reusabilidad: Capacidad de un componente para ser utilizado en diferentes sistemas o contextos sin modificaciones sustanciales.
- Aislamiento: Propiedad que garantiza que un componente no dependa excesivamente de otros elementos externos.