Documentos de Académico
Documentos de Profesional
Documentos de Cultura
“DECANA DE AMÉRICA”
ARQUITECTURA DE SOFTWARE
DOCENTE:
HUGO R. CORDERO SÁNCHEZ
PRÁCTICA 07
GRUPO 4
INTEGRANTES:
Utilizar ACDM
Actualmente, la empresa hace uso de distintas herramientas web como Google Forms, Gmail,
Power BI, etc. Por ello, el proceso de realización de cuestionarios y obtención de resultados
es un tanto tedioso. Ahora que la empresa se encuentra en crecimiento surge la necesidad de
poseer un sistema web de encuestas que permita automatizar y agilizar los procesos
relacionados a estos.
Proceso:
Requerimientos obtenidos:
Salidas:
Drivers arquitectónicos:
LEYENDA
AC Atributo de calidad
RF Requisito Funcional
REST Restricción
Drivers arquitectónicos:
Tipo de driver Descripción Prioridad
Elementos:
● Creación de la arquitectura nocional
● Definición de actividades
Tiempo: 1 semana
Tiempo: 1 semana
Experimentos simultáneos: 2
● Refinación de la arquitectura
Salidas:
● Drivers actualizados
● Plan de proyecto preliminar terminado
3. Creación/refinamiento de la arquitectura
Entrada:
● Drivers actualizados
● Plan de proyecto preliminar terminado
Proceso:
Establecer el contexto
Diagrama de contexto del sistema de encuestas web ELiYA:
Partición del sistema
Primera partición:
Segunda partición:
Capa de presentación:
Capa de negocio:
Integraciones (servicio de terceros):
Capa de datos:
Tercera partición:
Capa de presentación:
Aplicación web:
Capa de negocio:
Módulo encuestas:
Módulo cuestionarios:
Capa de datos:
No necesita mayor partición
Asignación de responsabilidades
Módulo participantes:
● Crear encuestas
● Enviar correos a participantes
● Generar cubo PowerBI
● Obtener participantes
Módulo cuestionarios:
● Crear preguntas
● Responder preguntas
Documentar decisiones de diseño, responsabilidades de elementos y relaciones
Salida:
● Diseño inicial de la arquitectura
4. Evaluación de arquitectura
Entrada:
Diseño inicial de la arquitectura
Proceso:
Reunión entre partes interesadas y el equipo de trabajo:
● Presentación y expectativas
● Revisión de requisitos funcionales de alto nivel, limitaciones y tabla de
caracterización
● Presentación del diseño inicial de arquitectura
● Análisis arquitectónico
Problemas encontrados:
Salida:
Lista de problemas descubiertos
5. Comenzar la producción/No comenzar la producción
Entrada:
● Lista de problemas encontrados
Proceso:
Indicaciones sólidas para comenzar la producción:
Salida:
● Decisión del equipo: Pasar a producción
6. Experimentación
Este paso se obvia si se decide comenzar la producción.
Entrada:
● Lista de problemas encontrados
Proceso:
Definición y resultados de experimentos a realizar
Plan de experimento
ID de experimento EXP1
Salida:
Resultados obtenidos de los experimentos
7. Plan de producción
Entrada:
- Diseño de la arquitectura
Proceso:
Estimar el tiempo que tomará construir cada elemento de la arquitectura:
Justificación (opcional)
Justificación (opcional)
Justificación (opcional)
Justificación (opcional)
Formulario de estimación de elementos
Justificación (opcional)
Justificación (opcional)
Justificación (opcional)
Ítem Duración
Despliegue 1 semana
Salida:
- Cronograma de producción
2. Se tienen los siguientes requerimientos para un portal web de búsqueda y separación de
visitas para proyectos inmobiliarios:
- Registro y mantenimiento de empresas constructoras
- Mantenimiento y registro de proyectos inmobiliarios por las constructoras
- Carga de imágenes para los proyectos inmobiliarios por las constructoras
- Gestionar los vendedores inmobiliarios por proyecto
- Registro de clientes interesados, olvidé clave y modificación de datos personales
- Mantenimiento de clientes interesados
- Búsquedas de proyectos inmobiliarios por distintas características
- Ver detalle y fotos de proyectos inmobiliario
- Registro de solicitud de visita por interesado a un proyecto inmobiliario
- Gestión de visitas para los proyectos inmobiliarios
- Consulta del estado de una visita
- Gestión de usuarios administradores
- Implementación de portales para acceso de constructoras, vendedores, clientes interesados y
administradores.
- La página debe ser fácil de usar e intuitiva.
- El proyecto debe realizarse en no más de 3 meses
- La plataforma tecnológica debe ser desplegada íntegramente en la nube
Utilice ADD
Descripción Funcional
7 Controlador NA Alta
8 Data Access Object NA Alta
2 Cliente -
7 Controlador -
7 Controlador NA Alta
7 Controlador -
Todos los elementos incluyendo los nuevos elementos de Cliente pasan a estar
en la nube debido al driver arquitectónico Driver12-AC12.
7 Controlador NA Alta
7 Controlador -
11 Authentication Middleware -
Fuente El usuario
Medida de respuesta Debe permitir la atención tanto de manera presencial como remota
Escenario de calidad Se debe contar con técnicos: en primera línea, en segunda línea y
en tercera línea.
Fuente Usuario
Entorno Normal
Medida de respuesta Control del número de técnicos disponibles para atender una
solicitud
Fuente Usuario
Medida de respuesta Se evaluará que todas las transacciones no hayan demorado más
de 1 segundo en responder
Entorno Normal
Fuente Usuario
Fuente Usuario
Medida de respuesta Número de pasos y tiempo que demora para realizar una
transacción
● Arquitectura orientada a eventos: debido a que se requiere de alto rendimiento para realizar
las transacciones y permite la integración de nuevos módulos que se puedan integrar al bus de
servicio y a su vez manejar las llamadas que se realizan
● Microservicios: debido a que maneja independencia entre los servicios que conforman la
aplicación, permite la adición de nuevos servicios de acuerdo a la demanda que se presente.
Arquitectura de microservicios
Sistema de tickets
5. Explorar opciones arquitectónicas
Se especificó cómo se iba a componer la aplicación de forma interna mediante llamadas a servicios
rest debido a la necesidad de comunicación remota y que sea menor a un segundo. A su vez se
muestra que las interfaces tendrán servicios para poder mostrar la información que se consultaran
desde la parte del negocio.
Sistema de tickets
Se muestra una solución para que la aplicación pueda escalar de forma horizontal mediante la
instancia en dos servidores de la lógica de negocio y la implementación de load balancer para
comunicar las vistas de los usuarios con la información que se encuentre almacenada en la base de
datos.
Sistema de tickets
4.Sistema de toma de pedidos móvil:
- Poder reenviar los pedidos pendientes desde el móvil que no pudieron ser enviados por
falta de cobertura
- Mostrar indicadores de eficiencia del usuario, como son: tiempo promedio de cada
pedido, porcentaje de eficiencia y monto total de pedidos
- Se necesita consultar si hay stock o no para un producto a partir del nombre o código del
producto
- Se necesita consultar los pedidos ingresados y su detalle a partir de la fecha de creación
del pedido
- Se necesita realizar Pedidos desde el dispositivo móvil
- Se necesita realizar el canje productos desde el dispositivo móvil
- Se necesita realizar devolución de productos desde el dispositivo móvil
- Se necesita realizar cobranzas desde el dispositivo móvil
- Realizar el proyecto para dispositivos con sistema operativo Android
- Realizar el proyecto para la plataforma Web
- El usuario so lo podrá realizar tareas que le correspondan a su perfil
- En los dispositivos móviles debe permitir concluir las tareas a pesar de que no exista
cobertura.
- Se necesita ingresar nuevos clientes al sistema.
- Se necesita ingresar y configurar usuarios del sistema.
- Mantener logs de errores y de performance
- Se necesita crear nuevas cobranzas hechas por un vendedor aun cliente.
- Se necesita crear nuevos pedidos, hechos por un vendedor a un cliente.
- Las transacciones que se realizan desde los dispositivos móviles deben ser encriptadas
- El sistema debe permitir procesar 3 pedidos por minuto
- Tener una tabla de auditoría para depuración de datos
- El sistema debe estar disponible 95 % anual para atender los pedidos
Utilizar ACDM
ACDM:
Es un modelo que está hecho para adaptarse a los procesos internos de una empresa y se enfoca principalmente
en crear la Arquitectura de Software a través de una práctica estándar
Etapas de ACDM:
Calidad Atributo
Atributo Caracterización Escenarios de atributos Clasificación importancia Dificultad
Al ocurrir un error Log
Analyzer recopila datos de
registro para obtener mayor
Mantener logs de información acerca del
Disponibi errores y de rendimiento y disponibilidad
lidad performance del sistema Bajo Bajo
Cuando no hay cobertura
se permite concluir tareas
Capacidad para y mantener los pedidos para
Disponibi anticipar un fallo ser enviados después desde
lidad y mantener la data el móvil. Elevado Elevado
A mayor peticiones por
minuto el sistema debe
escalar su base de datos
añadiendo más
instancias o nodos a la base
Posibilidad de de datos.Si la
procesar en promedio demanda cae, los recursos
3 pedidos por adicionales se pueden
minuto, con un pico cerrar limpiamente y
Rendimie de rendimiento desasignar.
nto mayor Elevado Elevado
Una falla de hardware hace
que el sistema
operativo se "cuelgue"
durante las
operaciones de ventas. El
defecto se
detecta al contar con 3
nodos, el sistema continúa
su funcionamiento.
Capacidad para El sistema debe estar
anticipar y disponible
Disponibi recuperarse del 95 % anual para atender los
lidad fracaso pedidos. Elevado Medio
La base de datos tiene
funciones de retener
datos del acceso a los
registros,
detectar e informar sobre
actividades
Tener una tabla de sospechosas y
auditoría para potencialmente maliciosas.
Seguridad depurar datos Recopila registros de Bajo Bajo
auditoría almacenados
en las pistas de auditoría de
las bases de
datos de destino y el lote
seleccionados
copia en lotes los datos en
su propia tabla
de auditoría.
Clarificación y cuantificación
Asimismo, cada requisito funcional
debe describir claramente
Qué se necesita
• qué partes interesadas lo necesitan
• cuánta (funcionalidad) se necesita
• que tan urgentemente se necesita
• qué tan probable es que cambie y qué tan rápido
Para esto se puede hacer uso de las historias de usuario
https://docs.google.com/spreadsheets/d/1p9uFWBBUqC2MHz8X3GU-
WS3vUYrZXz3w4j__LkwC2_Q/edit#gid=1644135145
Definición de restricciones:
Tipo de
restricción Restricción Impacto Flexibilidad
El aplicativo es para
dispositivos con
sistema operativo
Técnico Android - No flexible
El sistema es para la
Técnico plataforma - No flexible
Web
Elementos:
● Creación de la arquitectura nocional
● Definición de actividades
Tiempo: 1 semana
Tiempo: 1 semana
Experimentos simultáneos: 2
● Refinación de la arquitectura
Salidas:
● Drivers actualizados
● Plan de proyecto preliminar terminado
3ra partición
Cuarta partición:
Asignación de responsabilidades
Asignación de responsabilidades
Módulo reportes:
● indicadores de eficiencia
Módulo ventas:
● ingresar clientes
● crear pedidos
● crear cobranzas
● consultar pedidos
● consultar stock
Módulo pedidos:
● crear pedidos
● crear cobranzas
● consultar pedidos
● devolución productos
● canje de productos
Salida:
Diseño inicial de la arquitectura
Salida:
● Diseño inicial de la arquitectura
Etapa 4: Evaluación de arquitectura
Entrada:
Diseño inicial de la arquitectura
Proceso:
Reunión entre partes interesadas y el equipo de trabajo:
● Presentación y expectativas
● Revisión de requisitos funcionales de alto nivel, limitaciones y tabla de
caracterización
● Presentación del diseño inicial de arquitectura
● Análisis arquitectónico
Problemas encontrados:
Salida:
Lista de problemas descubiertos
Etapa 5: Comenzar la producción/No comenzar la producción
Entrada:
● Lista de problemas encontrados
Proceso:
Indicaciones sólidas para comenzar la producción:
Salida:
● Decisión del equipo: Pasar a producción
Etapa 6: Experimentación
Este paso se obvia si se decide comenzar la producción.
Entrada:
● Lista de problemas encontrados
Proceso:
Definición y resultados de experimentos a realizar
Plan de experimento
ID de experimento EXP1
Salida:
Resultados obtenidos de los experimentos
1. Plan de producción
Entrada:
- Diseño de la arquitectura
Proceso:
Estimar el tiempo que tomará construir cada elemento de la arquitectura:
Formulario de estimación de elementos
Justificación (opcional)
Justificación (opcional)
Justificación (opcional)
Justificación (opcional)
Justificación (opcional)
Justificación (opcional)
Justificación (opcional)
Crear un cronograma de producción:
Salida:
- Cronograma de producción
Problema 5
Tipo de Req.
Descripción Tipo
driver Nro.
Tipo de
Descripción Req. Nro. Prioridad
driver
Elemento Drivers
XClinics Driver1-RF01
Driver7-RF07
Driver11-RF09
Reniec Driver11-RF09
Elemento Responsabilidad
Elemento Interfaz
Iteración 2
7 Controlador -