1. ¿Qué es la arquitectura de software y cuál es el rol del arquitecto de
software? La arquitectura de software se refiere al diseño del sistema basado en los requisitos y restricciones y esto nos permite tener ideas coherentes que proporcionan una idea definida para interactuar con el código fuente del software. El rol del arquitecto es el que asume la dirección técnica, es decir es el que asume el riesgo ante cualquier eventualidad, también es el que busca una mejora continua para el software, hace los requerimientos y en base a eso diseña.
2. Defina que es la modelo vista controlador.
Es una forma de separar los datos, las lógicas del negocio; ósea por un lado define componentes para la representación de la información, y por otro lado para la interacción del usuario.
3. Definición de acoplamiento y cohesión en diseño de software
El acoplamiento es la interacción entre 2 módulos del sistema La cohesión viene a ser la manera como las interacciones de los modelos se comunican, ósea que el acoplamiento permite la actualización del software y la cohesión permite los cambios cuando se necesite; mientras el acoplamiento sea más alto, el diseño será malo; y a más cohesión mejor diseño.
4. Detalle las características de una arquitectura orientada a
microservicios. Da comunicación compartiendo datos. Flexibilidad para una reutilización. Versatilidad para que puedan ser consumidos por los clientes en aplicaciones o procesos de negocio distintos. Posibilidades de optimizar el trabajo. 5. ¿Cuáles son las ventajas de la programación modular? Separa las tareas de desarrollo del software de tal manera que cada tarea este individualizada. Resuelve complejos problemas de software.
6. Comente sobre el principio de diseño de software “No hay balas de
plata” No existe un desarrollo tecnológico o una gestión que permita mejorar la productividad, simplicidad en tan poco tiempo; o siquiera ver una ganancia de más del doble cada cierto tiempo, como la que hay en el desarrollo de hardware. 7. Detalle las características de una arquitectura cliente servidor El Cliente y el Servidor pueden actuar como una sola entidad y también pueden actuar como entidades separadas, realizando actividades o tareas independientes. Las Funciones de Cliente y Servidor pueden estar en plataformas separadas, o en la misma plataforma. Un servidor da servicio a múltiples clientes en forma masiva.
8. Defina que son requerimientos funcionales y requerimientos no
funcionales. Los requerimientos funcionales son las cosas que el software va a realizar. Los requerimientos no funcionales vienen a ser las características que va a tener el software. 9. Comente el episodio conocido como la crisis del software a fines de los 70 y principios de los 80 del siglo veinte. Se llamó así porque la ingeniería de software era prácticamente inexistente, y se presentaban las dificultades del desarrollo de software frente al rápido crecimiento de la demanda por software, de la complejidad de los problemas para ser resueltos y que no existían técnicas para el desarrollo de software que funcionaran adecuadamente y mostraran resultados óptimos.
10. Comente brevemente que son patrones de diseño en arquitectura
de software. Son los pasos a seguir en base a los requerimientos funcionales y no funcionales para lograr el diseño óptimo para el desarrollo del software.