Respuesta:1. Aplicación de los principios S.O.L.I.D. para mejorar la calidad del softwareLos principios S.O.L.I.D. buscan mejorar la mantenibilidad, escalabilidad y flexibilidad del software. Su aplicación efectiva en “LA CASA DEL SOFTWARE” permitiría reducir errores y fallos:• S (Single Responsibility Principle – Principio de Responsabilidad Única):Cada clase o módulo debe tener una única responsabilidad. Mejora: evita que un cambio en una funcionalidad afecte otras partes del sistema, disminuyendo errores colaterales.• O (Open/Closed Principle – Principio de Abierto/Cerrado):El software debe estar abierto a la extensión pero cerrado a la modificación. Mejora: se pueden añadir nuevas funcionalidades sin alterar código existente, reduciendo riesgos de introducir fallos.• L (Liskov Substitution Principle – Principio de Sustitución de Liskov):Una subclase debe poder sustituir a su superclase sin alterar el comportamiento correcto del programa. Mejora: asegura coherencia en la herencia y reutilización confiable de código.• I (Interface Segregation Principle – Principio de Segregación de Interfaces):Una interfaz no debe obligar a implementar métodos que no se usan. Mejora: se evitan dependencias innecesarias y se reduce la complejidad del código.• D (Dependency Inversion Principle – Principio de Inversión de Dependencias):Los módulos de alto nivel no deben depender de módulos de bajo nivel, sino de abstracciones. Mejora: permite un código más desacoplado y fácil de probar.Conclusión: La aplicación de S.O.L.I.D. permite tener un software modular, fácil de mantener y probar, reduciendo la tasa de errores en entregas futuras.2. Principales elementos que distinguen a los diagramas UML y su aporte en el desarrolloUML ofrece diagramas estructurales y diagramas de comportamiento. Cada uno aporta valor en distintas fases: Diagramas Estructurales (¿qué tiene el sistema?)• Diagrama de clases: muestra clases, atributos, métodos y relaciones → útil para diseño detallado.• Diagrama de objetos: representa instancias de clases en un momento → útil para ejemplos de funcionamiento.• Diagrama de componentes: describe módulos de software y sus dependencias → útil para arquitectura.• Diagrama de despliegue: muestra la infraestructura de hardware y cómo se instalan los componentes → útil para implementación. Diagramas de Comportamiento (¿qué hace el sistema?)• Diagrama de casos de uso: describe interacciones entre actores y el sistema → útil para entender requerimientos.• Diagrama de secuencia: detalla el flujo de mensajes entre objetos en un escenario → útil para lógica de procesos.• Diagrama de actividades: representa flujos de trabajo y decisiones → útil para procesos de negocio.• Diagrama de estados: muestra los estados de un objeto y sus transiciones → útil para sistemas con lógica compleja.Conclusión: El uso correcto de UML permite comunicar de forma clara diseño y requerimientos, reducir ambigüedades y facilitar la detección temprana de errores.3. Importancia de la especificación de requerimientos y casos de uso• Especificación de Requerimientos:o Define qué necesita el cliente y establece la base para todo el desarrollo.o Sirve como contrato entre cliente y desarrolladores.o Evita malentendidos y reduce el riesgo de construir un producto que no satisface las necesidades.o Permite priorizar funcionalidades y planificar fases de entrega.• Casos de Uso:o Representan escenarios prácticos de interacción entre usuarios y sistema.o Permiten validar requerimientos con el cliente de forma sencilla y comprensible.o Ayudan al equipo de desarrollo a diseñar pruebas y asegurar la correcta implementación de funcionalidades.Conclusión: Una buena especificación de requerimientos y el uso de casos de uso claros son fundamentales para alinear expectativas, minimizar errores de interpretación y garantizar la calidad del producto final.