Conceptos Fundamentales en Arquitectura y Desarrollo de Software
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 4,53 KB
8) ¿Por qué el modelo 4+1 sirve para arquitectura?
El modelo 4+1 sirve para arquitectura, ya que a través de sus distintas vistas (lógica, proceso, desarrollo y física), además de los escenarios, se puede obtener una visión global del sistema a construir. Además, el modelo 4+1 es genérico.
9) ¿Por qué también sirve para diseño?
También sirve para diseñar, ya que permite entender el comportamiento del sistema a través del diseño detallado de componentes y la especificación de estos, logrando cumplir los objetivos de requerimientos funcionales.
10) ¿Cómo escoger una metodología de construcción?
La metodología de construcción va a depender del tipo de problemática o sistema a tratar, en qué medio se desenvolverá, etc. Por ello, lo primordial a la hora de escoger una metodología es el criterio. Dependiendo de ello, se podrá elegir entre:
- Rational Unified Process (RUP)
- CMMI
- Scrum
- Otras metodologías ágiles o tradicionales
11) ¿Por qué se utilizan las normas de documentación? ¿Es obligación?
Se utilizan normas de documentación ya que facilitan el entendimiento y el comportamiento del sistema. No es una obligación, pero sí una buena práctica.
12) ¿Por qué estimar tempranamente un proyecto? ¿Se puede hacer esto con algún grado de certeza?
No se puede estimar un proyecto con un alto grado de certeza, ya que siempre habrá factores que cambiarán con el tiempo, además de que cada proyecto es único en su clase. Una estimación temprana es importante para el cliente, ya que le interesará saber cuánto dinero aproximadamente tendrá que invertir en el proyecto y cuánto tiempo aproximadamente se demorará.
13) ¿Por qué es importante la trazabilidad del proceso de construcción de un software? ¿Por qué la trazabilidad garantiza la mantención del software?
La trazabilidad es de suma importancia en un proyecto, ya que permite tener un seguimiento completo del sistema (mejorando su comprensión), pudiendo, en caso de presentarse errores, corregirlos de forma fácil; verificar que la funcionalidad esperada haya sido incluida; y permite realizar un análisis de impacto, entre otras características. Es decir, con todo esto se garantiza un producto de calidad al cliente final con una fácil mantención, permitiendo añadir nuevas funcionalidades en el futuro.
14) ¿Cuál es la diferencia entre el jefe de proyectos y el arquitecto?
El arquitecto de software es quien elabora las vistas de la arquitectura de una aplicación; es decir, crea la arquitectura correcta para un determinado proyecto y guía el diseño. En cambio, el jefe de proyecto es quien gestiona y controla que el proyecto marche correctamente.
15) Nombre 4 competencias o habilidades de un arquitecto
- Competencias de diseño: Capacidad para crear soluciones técnicas sólidas y escalables.
- Entendimiento del dominio del negocio: Un dominio es un área de conocimiento o actividad caracterizada por un conjunto de conceptos y terminología entendida por los profesionales del área, lo que permite imaginar requisitos probables y anticipar cambios.
- Conocimiento de los principales stakeholders: Debe conocer a los principales interesados de la organización. Especialmente, saber lo que quieren y necesitan, y mantener una comunicación fluida con ellos.
- Capacidad para identificar estilos arquitectónicos y tecnologías apropiadas: Debe poder identificar estilos arquitectónicos y tecnologías que sean apropiados para resolver el problema en cuestión y proponer una solución preliminar.
16) Diferencia entre arquitectura y diseño avanzado
La diferencia radica en que en la arquitectura se realiza un modelado a nivel general; es decir, es una especificación de alto nivel donde se modelan los componentes necesarios del sistema. En cambio, en el diseño avanzado, la especificación es de bajo nivel, relacionándose directamente con la codificación.
17) ¿Qué fue la crisis del software?
La crisis del software se refiere al hecho de que el software construido no solo no satisface los requerimientos ni las necesidades solicitadas por el cliente, sino que además excede los presupuestos y los plazos de tiempo. Esto se debió a que no se realizaba un análisis y un diseño adecuados, además de no llevar a cabo una trazabilidad del proyecto, lo que hacía que su mantención fuera excesivamente costosa.