Está en la página 1de 13

ATAM

[ADMCOM]
[29 de Enero de 2021]
Maximiliano Motto Baeza
Ignacio Salazar Fuentes
Tabla de contenidos 2

Introducción 3
Propósito del documento 3
Alcances 3
Presentación de ATAM (1): 5
Objetivos del Negocio (2) 6
Presentación Arquitectura (3) 6

Investigación y análisis (fase2) 7


Propuestas de patrones arquitectónicos (4) 1 7
Propuestas de patrones arquitectónicos (4) 2 7
Generar el árbol de utilidad (5) 8
Analizar propuesta arquitectónica (6) 9

Pruebas (Fase 3) 10
Brainstorming y priorización de escenarios (7) 10
Analizar los enfoques(patrones) arquitectónicos (8) 10

Presentación de los resultados (Fase 4) 12

2
Introducción
En el siguiente documento se detallará la arquitectura seleccionada para el software junto con la
explicación e implementación del método ATAM.

Propósito del documento

Este documento permite registrar los puntos principales de la metodología Architecture Trade-off
Analysis Method (ATAM) la cual tiene como objetivo principal validar las arquitecturas candidatas
para el desarrollo del software.

En este documento se analizará solamente una arquitectura, la vigente, pero con modificaciones tal
de satisfacer los atributos de calidad correspondientes.

Alcances

Este documento no define la implementación de la solución si no que comprueba la arquitectura


desde el punto de vista de los atributos de calidad ISO25010

Desarrollo del documento:

La metodología ATAM se compone de las siguientes fases:

● Presentación
● Investigación y análisis
● Pruebas
● Informes

En este documento se desarrollan cada una de estas fases para un proyecto en particular.

3
Presentación (fase1)

En la fase de Presentación, se desarrollan los siguientes puntos:

● Presentación de Atam (1)


● Objetivos del negocio (2)
● Presentación de la arquitectura (3)

Presentación de ATAM (1):

ATAM o Método de análisis de compensación de arquitectura (Architecture tradeoff analysis


method), es un proceso que se utiliza para mitigar riesgos durante el desarrollo de la arquitectura
del software, que permite entregar un producto de calidad y que certifica que tendrá un proceso
que es riguroso y que cumple con estándares internacionales, con patrones de arquitectura
adecuados al proyecto que se está desarrollando.

Objetivos del Negocio (2)

La empresa de administración de condominio “ADMCOM” tiene la misión de caracterizar


rápidamente Las fichas de registro manual de funcionarios, propietario y residentes de los
condominios asociados con el fin de entregar la más completa, precisa y oportuna información
posible, además de proporcionarles una amplia base de datos.

Objetivos específicos:

● implementar un moderno software donde se pueda ingresar cada una de la información del
trabajador .
● Análisis en tiempo real
● Información ingresada rápidamente dentro de la base de datos

● Tener un histórico de pago y ver cobros pendientes.

● Información necesaria para cada uno de los integrantes del equipo de trabajo de
“ADMCOM”

● Pago por sistema “Transbank”

4
Presentación Arquitectura (3)

Como principal arquitectura se escogió la “Arquitectura basada en componentes”. es una


arquitectura basada en componentes describe una aproximación de ingeniería de software al diseño
y desarrollo de un sistema. Esta arquitectura se enfoca en la descomposición del diseño en
componentes funcionales o lógicos que exponen interfaces de comunicación bien definidas. Esto
provee un nivel de abstracción mayor que los principios de orientación por objetos y no se enfoca en
asuntos específicos de los objetos como los protocolos de comunicación y la forma como se
comparte el estado.

El estilo de arquitectura basado en componentes tiene las siguientes características:

• Es un estilo de diseño para aplicaciones compuestas de componentes individuales.

• Pone énfasis en la descomposición del sistema en componentes lógicos o funcionales que tienen
interfaces bien definidas.

• Define una aproximación de diseño que usa componentes discretos, los que se comunican a través
de interfaces que contienen métodos, eventos y propiedades.

Principios Fundamentales

Un componente es un objeto de software específicamente diseñado para cumplir con cierto


propósito. Los principios fundamentales cuando se diseña un componente es que estos deben ser:

• Reusable. Los componentes son usualmente diseñados para ser utilizados en escenarios diferentes
por diferentes aplicaciones, sin embargo, algunos componentes pueden ser diseñados para tareas
específicas.

• Sin contexto específico. Los componentes son diseñados para operar en diferentes ambientes y
contextos. Información específica como el estado de los datos deben ser pasadas al componente en
vez de incluirlos o permitir al componente acceder a ellos.

• Extensible. Un componente puede ser extendido desde un componente existente para crear un
nuevo comportamiento.

• Encapsulado. Los componentes exponen interfaces que permiten al programa usar su


funcionalidad. Sin revelar detalles internos, detalles del proceso o estado.

• Independiente. Los componentes están diseñados para tener una dependencia mínima de otros
componentes. Por lo tanto, los componentes pueden ser instalados en el ambiente adecuado sin
afectar otros componentes o sistemas.

5
Diagrama de despliegue:

El nodo principal es el servidor y este se comunica con todos los otros nodos y de la arquitectura,
debido a este funcionamiento es más fácil comunicar al usuario final para trabajar de una manera
mas eficiente sin tener la necesidad de que se haga todo por escrito y que se generen perdidas de
datos, por culpa de los mismo trabajadores por el uso del papel y el lápiz, de este con este sistema el
problema principal estará solucionado.

Nodos: Supercomputador, Servidor, Base de Datos, Computador..

Componentes: Algoritmo de predicción, Aplicación Servidor Central, Motor BD, Aplicación cliente,
Aplicación estación.

6
Comunicaciones: TCP IP, Radio frecuencia.

Investigación y análisis (fase 2)

En la fase de investigación y análisis se desarrollan los siguientes puntos:

● Propuestas de patrones arquitectónicos (4)


● Generar el árbol de utilidad (5)
● Analizar propuestas arquitectónicas (6)

Propuestas de patrones arquitectónicos (4) 1

La propuesta de cada patrón arquitectónico debe poseer los siguientes elementos:

● El problema

Los conserjes deben realizar el registro de forma manual en libros, tales como el registro de
Personas, registro de estacionamientos, agenda de gimnasio, agenda de disponibilidad
eventos, administración de lavandería, lo que provoca problemas de demoras, acceso,
pérdida o daño de la información. También propietarios deben recibir los cobros y pagar de
gastos comunes de manera presencial y no se dispone de una plataforma que permita
realizar dichos pagos. Los propietarios de la empresa nos han comentado que han sufrido
multas por gastos comunes impagos o atrasados, acceso de gente no deseada por la falta de
registro o mal uso de este. Y que para ellos es complejo obtener información de manera
centralizada de todos los condominios que administrar.

● Estructura

El patrón arquitectónico cliente servidor permite la interconexión de los nodos con el centro
de cómputo, permitiendo la centralización de la información y predicción que conlleva el
proyecto.

● Consecuencias

Los nodos sensores, dispositivos ligeros, envían periódicamente información a la central


manteniéndola actualizada constantemente.

Propuestas de patrones arquitectónicos (4) 2

7
La propuesta de cada patrón arquitectónico debe poseer los siguientes elementos:

● El problema
● Estructura
● Consecuencias

Generar el árbol de utilidad (5)

A continuación, se presenta el árbol de utilidad a través de una tabla. (Se llena el sector azul
primero)

Atributo de Calidad Requisito Escenario Valor ¿Cumple?


obtenido
Compatibilidad Coexistencia. EL uso Las bases de 74% Si
de ambas bases de datos al
datos posee un realizar sus
consumo de CPU < procesos
75% solicitado
sobre el
servidor
consumen un
74% del CPU

Eficiencia de utilización de La información 96 bytes Si


Utilidad
desempeño recursos. El registro al ser
de datos no registrada
aumentará más allá pesa menos de
de 3GB mensuales. 100 bytes
Eficiencia de Comportamiento El algoritmo al 24 min Si
desempeño temporal. Los solicitar su
informes predictivos ejecución al
no tardarán más de servidor no
30 minutos en ser demora más
generados. de 30 min


● En la columna atributo de calidad deben colocarse los atributos de calidad más importantes
del sistema.
● En la columna requisito se coloca el nombre de la métrica correspondiente junto con la
forma en que esta se mide.
● En la columna escenario se coloca como se mide la respuesta del escenario de calidad.
Además, en esta columna se indica la prioridad de la métrica (Alta, Media Baja) y la
dificultad de alcanzarlo (Alta, Media Baja).
● En la columna valor obtenido se coloca el valor que se obtuvo de las pruebas sobre la
arquitectura con respecto a lo indicado en el escenario.
● En la columna cumple se indica si el valor obtenido cumple con el requerimiento descrito en
el escenario. El resultado final se responde con un sí o un no.

8
El sector azul de la tabla corresponde al árbol de utilidad. El sector gris de la tabla corresponde a la
evaluación de la arquitectura (ATAM)

Esta tabla debe realizarse para cada propuesta.

Esta tabla puede ser actualizada en las siguientes iteraciones.

Analizar propuesta arquitectónica (6)

Los stakeholders y el arquitecto analizan cómo los enfoques arquitectónicos afectan a los factores
identificados en el paso anterior.

1. Coexistencia.

El patrón basado en componentes aporta a la comunicación entre el nuevo software y la actual base
de datos debido a que se podrá adaptar a la actual interfaz sin necesidad de realizar una migración.

2. Utilización de recursos

La arquitectura no aporta con este atributo de calidad ya que no optimiza el guardado de archivos
eso quiere decir que se deberá agregar una capa al servidor central que permita comprimir los datos
antes de guardarlos.

9
Pruebas (Fase 3)

En la fase de pruebas se revisan los siguientes puntos

● Brainstorming y priorización de escenarios (7)


● Analizar los enfoques arquitectónicos (8)

Brainstorming y priorización de escenarios (7)

Es este punto se crean las pruebas a realizar para comprobar los resultados esperados de los
atributos de calidad.

Si es necesario se generan nuevos escenarios más detallados que los del árbol de utilidad y se
priorizan junto a los del árbol de utilidad.

1. Coexistencia.
● Las bases de datos al realizar sus procesos solicitado sobre el servidor consumen un
74% del CPU
2. Utilización de recursos.
● La información al ser registrada pesa menos de 100 bytes
3. Comportamiento temporal.
● El algoritmo al solicitar su ejecución al servidor no demora más de 30 min

10
Analizar los enfoques(patrones) arquitectónicos (8)

Se repite desde el paso 5 pero considerando los escenarios de alta prioridad definidos en el punto y
se decide que cambios se han de acometer sobre la arquitectura.

Indicar si es necesario modificar la arquitectura y qué cambios se deben realizar para lograr
satisfacer los atributos de calidad.

Qué cambios haría en la arquitectura actual.

1.Coexistencia:

● No se requieren cambios debido a que se adapta al patrón arquitectónico.

2.Utilización de recursos:

● Se deberá implementar una capa de compresión a los datos que se registren para optimizar
el almacenamiento en la base de datos.

3.Comportamiento temporal:

● Se recomienda la implementación de un supercomputador para no colapsar el servidor


central.

11
Presentación de los resultados (Fase 4)

Se seleccionó como arquitectura final la arquitectura basada en componentes para una rápida
comunicación entre los componentes del software.

Atributos de calidad:

● Compatibilidad:
Este se necesita para la comunicación entre el entorno de software debido que una
conexión utiliza radiofrecuencia y el servidor debe ser capaz de traducir la
radiofrecuencia y comunicarse a la Base de Datos y a los computadores.

● Eficiencia de Desempeño:
Es el más importante debido a que será el atributo que dé prioridad a que el
programa esté operativo en todo momento y soporte los siniestros, para no perder
datos en ningún momento.

● Fiabilidad:

Se relaciona directamente con el anterior debido a lo ya mencionado, cuando la


elaboración de los informes se dé por completo, los trabajadores, tales como el
técnico, el supervisor, supervisor de SAFE, doctores, tendrán un medio de
comunicación mucho mas eficiente al que tenían y de esta manera será todo mas
eficiente en cuanto al trabajo.

12
Conclusiones

La arquitectura definida junto con sus atributos de calidad, tienen como principal objetivo la rápida
comunicación entre los diversos componentes y la fácil implementación de este servidor para llevar
a cabo la comunicación de los distintos trabajadores de la empresa como externos de la empresa,
haciendo que su trabajo sea más eficiente en todos los aspectos.

13

También podría gustarte