Parcial 3. Arquitectura de Proyecto Flashcards
¿Qué es la Arquitectura de un proyecto? Defincion
La arquitectura de software es una descripción de un sistema de software en un nivel de abstracción lo suficientemente alto como para que el sistema pueda verse como un todo y soporta la estructura y funcionalidad del producto en múltiples niveles.
¿Qué propiedades tiene la Arquitectura de Proyecto?
- Es un nivel de abstracción lo suficientemente alto como para que el sistema pueda verse como un todo.
- La estructura debe soportar la funcionalidad requerida del sistema, requiriendo así que se tenga en cuenta el comportamiento dinámico del sistema.
- La estructura o arquitectura debe ajustarse a las cualidades del sistema (requisitos no funcionales). Estos requisitos pueden entrar en conflicto y las compensaciones entre alternativas son una parte esencial del diseño de una arquitectura.
- A nivel arquitectónico, todos los detalles de implementación están ocultos.
- La arquitectura se define comúnmente en términos de componentes y conexiones.
¿Que es la Arquitectura de un proyecto?
Es un marco inicial que se construirá hasta
convertirse en el producto, tiene su propio conjunto de requisitos, cualidades del sistema (habilidades) y la mayoría de los requisitos no funcionales (NFR)
¿Que pasa si no hay NFR?
El producto se construye en un
entorno libre de contexto: una imagen sin lienzo.
¿Que consecuencias traerá no tener una arquitectura inicial?
Se producirán muchas refactorizaciones innecesarias
Cantidad de retrabajo
Área que debe optimizarse no omitirse
¿Que dice la arquitectura MVP?
La aplicación se divide en componentes para el dominio del problema: Interfaz de usuario, destion de datos, interfaces y componentes de calidacion.
Infrestructura de desarrollo
Son las herramientas que usara el equipo para trabajar (hardware, software, plantillas, tecnicas).
¿Se puede crear soporte sin presupuesto?
Se puede hacer haciendo uso de las herramientas de código abierto.
¿Que toma en cuenta la infreaestructura?
Las comutadoras para los programadores, herramientas de prueba, formas de ejecutar el GUI, herramientas de seguimiento de defectos, herramientas de mejora continua
refactorización
se refiere a cambiar la estructura interna del código sin cambiar su comportamiento o apariencia, y ayuda a limpiar el código en progreso
¿Donde se aplica la refactorizacion?
se aplica normalmente a elementos granulares pequeños, como código API, métodos y clases
Reescribir
se refiere a cambiar la estructura y el comportamiento
del código, debe minimizarse
¿Donde aplica la reesctritura?
Aplica a casi todo el codigo, incluso a la arquitectura
Reelaboracion
Se refiere tanto a refactorizar como a reescribir