Repaso preguntas Flashcards
- Qué entiende por Arquitectura de Software?
La arquitectura de software define las estructuras de un sistema de IT. Tales como los:
- Componentes a utilizar (desarrollados, comprados, reutilizados).
- Las relaciones entre esos componentes (ubicacion, distribucion, conecciones, gestión)
- La interacción dinámica entre estos componentes.
- Las propiedades visibles externamente de esos componentes.
Clase: La descripción de una solucion en cuanto a sus componentes y la relación que tienen entre sí.
- Mencione tres skills que debería tener un arquitecto de software
- Comunicación (Oral y Escrita)
- Liderar individuos y equipos
- Negociación – Gestionar conflictos
- Manejar los elementos Arquitectónicos de un plan de proyecto
- Entender los aspectos de negocio
- Desarrollar arquitecturas
- Usar técnicas de modelado
- Saber ejecutar revisiones técnicas
- Aplicar estándares de IT
- Establecer la visión técnica
- Aplicar metodologías
- Definir soluciones a requerimientos funcionales y no funcionales
- Gestionar los requerimientos de los stackeholders
- Establecer decisiones de arquitectura
- Validar la conformidad de la solución con la arquitectura
- Actuar como consultor tecnológico
- ¿Cuáles son los 4 aspectos de Arquitectura que hemos trabajado?
- Requerimiento (Funcional y no funcionales)
- Funcional (Modelos de componentes, Modelo de datos, Modelo de servicios)
- Operacional o de despliegue (Ubicaciones, Despliegue, Unidades de despliegue)
- Viabilidad (Riesgos, validaciones, cumplimientos)
- ¿Qué diagrama permite mostrar la frontera del sistema, las entidades externas con las que la solución debe interactuar y los actores que interactúan con el mismo?
Diagrama de contexto
¿Para qué sirve un diagrama de contexto?
El diagrama de contexto sirve para:
- Clarificar el entorno en el que tiene que operar el sistema
- Delimitar la frontera del sistema.
- Identificar las interfaces externas (Usuarios y sistemas)
¿Qué debería contener un artefacto que documente un diagrama de Contexto?
Artefacto = template. Que parte debería tener un documento
Los actores externos (usuarios y sistemas) y la descripción de los mismos.
Dibujo con las entidades externas/actores.
Título
Leyenda (si fuera necesaria)
Descripción de los actores
Descripción de las entidades externas.
¿En qué se diferencian los atributos de calidad y las restricciones?
Ambos son tipos de requerimientos no funcionales pero se diferencian en que:
- Los atributos de calidad define las expectativas y características que el sistema debería soportar.
- Las restricciones son elementos que no pueden ser cambiados en el proyecto (presupuesto, tecnología, etc). Puede ser tecnico o de negocio.
Nombrar los atributos de calidad claves
Los atributos de calidad pueden dividirse en RUNTIME y NON-RUNTIME y algunos claves son:
RUNTIME:
- Capacidad y performance. (C)
- Seguridad. (C)
- Integración de servicios.
- Gestión del sistema.
- Disponibilidad (C)
NON-RUNTIME:
- Portabilidad
- Mantenibilidad
- Escalabilidad
- Integridad de datos
- Safety
Operabilidad (C)
En la siguiente clasificación de RNFs (atributos de calidad, restricciones técnicas y
restricciones de negocio) clasifique los siguientes requerimientos no funcionales:
a. Performance (Atributo de calidad RUNTIME)
b. Disponibilidad (Atributo de calidad RUNTIME)
c. Presupuesto es de USD 4 M (Restricción de negocio)
d. Deberá integrarse con el core a través de colas asincrónicas (Restricción técnica)
e. Nuestro estándar de desarrollo es Java (Restricción técnica)
f. El plazo para tener la solución funcionando es de 8 meses (Restricción de negocio)
¿Qué se considera como un requerimiento funcional arquitecturalmente significativo?
Aquel proceso que afecta a la arquitectura del sistema.
Se identifican si presentan o se relacionan con:
- Funciones con alto retorno de negocio
- Operaciones críticas de negocio
- Funcionalidades esenciales del sistemas
- Usuarios influyentes
- Usuarios móviles
- Tener una cobertura amplia y que utilizan varios elementos de la arquitectura
- Requerimientos de seguridad
- Complejidad (por ejemplo reglas de negocio complejas)
- Demanda exigente de la arquitectura (requerimientos de performance y disponibilidad)
- Con alto potencial de cambio
- Sincronización y comunicación con sistemas externos
- Los que presentan riesgos o issues identificados
Regla del 80/20
Describa en qué consiste el proceso de construcción de una arquitectura
El proceso de construcción de una arquitectura consiste en que, en base a los casos de uso, los requerimientos no funcionales, la tecnología existente, restricciones, cualidades del sistema, etc. Idear/pensar de manera general en la arquitectura que cumple con todo lo provisto (en un diagrama general de arquitectura) y a partir de ahí ir profundizando en el diseño, desarrollo, etc, hasta llegar a la solucion.
(Lo de los aspectos etapas)
Requerimientos(cualities RNF, RF, Diagramam de contexto, etc)
Diagrama general de arquitectura
Aspecto funcional (Diagrama de componentes)
Aspecto operacional (Modelos
¿Qué ventajas presenta documentar las elecciones críticas que se tomaron en la definición de una solución?
Permite entender y recordar porque la solucion es lo que es.
▪Explicitan la razón y la justificación de la decisión que se tomó
▪Ayudan a asegurar que la solución cumplan con los requerimientos funcionales y
no-funcionales, y si no lo hacen, ayudan a hacerlo explícito para los stakeholders.
▪Previenen retrabajo durante el ciclo de vida del proyecto.
Presente un modelo/formato para documentar estas decisiones de arquitectura y
proporcione dos ejemplos.
- La decisión de arquitectura
- Identificador único:
- Problema o Issue: Una descripción de la situación en la cual una decisión debe ser tomada, ejemplo: “´¿Cómo el Sistema debiera integrarse con la aplicación XYZ?”
- Supuestos
- Alternativas
- Decisiones: Elección de la alternativa
- Justificación
- Implicancias: Consecuencias e impactos de la situación
¿Qué debería contener un artefacto que documente las decisiones de Arquitectura? (DUDA)
- La decisión de arquitectura
- Identificador único:
- Problema o Issue: Una descripción de la situación en la cual una decisión debe ser tomada, ejemplo: “´¿Cómo el Sistema debiera integrarse con la aplicación XYZ?”
- Supuestos
- Alternativas
- Decisiones: Elección de la alternativa
- Justificación
- Implicancias: Consecuencias e impactos de la situación
¿Qué es un “Architecture Overview Diagram” y cuál es su propósito principal en el contexto del diseño de una arquitectura? Si se utiliza una notación formal específica, descríbala.
Un AOD contiene diagramas que representan las principales ideas que gobiernan la solución.
Provee una visión de los principales elementos conceptuales y las relaciones en una
arquitectura de IT que con frecuencia incluye subsistemas candidatos, componentes, nodos,
conexiones, almacenamientos, y sistemas externos
No posee una notación formal.
¿Qué elementos y relaciones componen un AOD?
No hay elementos ni relaciones ya que no hay un modelo fijo.
¿Cuál es el público objetivo principal para los AOD? ¿Podrían existir varios AOD? ¿Por qué es relevante comunicar la arquitectura de esta manera?
El público objetivo son todos los stakeholders de la solucion. Pueden existir varios AOD orientados a los diferentes stakeholders.
Provee una visión de los principales elementos conceptuales y las relaciones en una
arquitectura de IT asi como de las principales ideas que gobiernan la solucion.
Describe cómo un AOD puede ser útil en las etapas iniciales de un proyecto y en las discusiones con los stakeholders
Puede ser útil porque facilita el reconocimiento y validación temprana del enfoque además que provee una visión de alto nivel de la arquitectura y alcance del sistema a desarrollar junto con las principales ideas que gobiernan la solución.
¿Qué debería contener un artefacto que documente un Diagrama General de Arquitectura (AOD)?
- Diagrama
- Descripción del diagrama.
- Título
- Stakeholders
¿Los aspectos funcionales de una arquitectura cómo se pueden modelar?
Modelo de componentes. Ayudan a visualizar la estructura interna de la solucion (las relaciones de los componentes que conforman la solucion, vista estatica), asi como su comportamiento (vista dinámica).