Práctica de Atributos de Calidad y Escenarios (Ingeniería II)

De Cuba-Wiki
Saltar a: navegación, buscar
Back.png Volver a la página de la materia


Bibliografía recomendada: Libro “Software Architecture in Practice” (Bass,Clements, Kazman), capítulo 4.

1. Repasando...[editar]

1. ¿Qué atributos de calidad conoce? ¿Qué preocupaciones (concerns) conoce? Armar una taxonomía con ellos.

2. ¿Cuál es la relación entre los siguientes conceptos: negocio, stakeholders, atributos de calidad, concerns y arquitecto?

3. ¿Por qué es importante medir la respuesta en un escenario?

4. ¿Por qué pensar en términos de escenarios?

5. ¿Cuál es la diferencia entre escenario general y concreto?

1.

Atributos de Calidad:

  • Los mas importantes son: Interoperabilidad, Seguridad, Tolerancia a fallas, Recuperabilidad, tractividad, Cambiabilidad, estabilidad, Facilidad de prueba, adaptabilidad, Reemplazabilidad.
  • Los que se estudian en profundidad en el libro Software Architecture in Practice son: Disponibilidad, Modificabilidad, Performance, Seguridad, Testeabilidad, Usabilidad.

Concern: is any piece of interest or focus in a program. Typically, concerns are synonymous with features or behaviors.

(Ver taxonomia en diapos)

2.

Stakeholders y negocio determinan los atributos de calidad , ademas "each stake holder has different concerns and goals, some of wich may be contradictory". El arquitecto es el encargado de diseñar la arquitectura del sistema que satisface los QA y los concerns.

3.

Para poder testear si el requerimiento es satisfecho

2. Escenarios[editar]

Describa utilizando escenarios los siguientes requerimientos de calidad. Indique si corresponden a alguno de los siguientes atributos de calidad: disponibilidad, modificabilidad, performance, seguridad, testeabilidad, usabilidad.

a) Todo componente del sistema debe ser testeable por cualquier integrante del equipo de testing al complementarse el desarrollo del mismo. El componente debe poseer una interfaz para controlar su comportamiento y su salida debe poder ser observable. Es necesario que se alcance una cobertura del 85% del código del componente dentro de las 3 horas.

b) Los usuarios deben poder minimizar el impacto de los errores cancelando la operación en curso, siendo el tiempo de cancelación menor a 1 segundo.

c) Bajo circunstancias normales de operación, el sistema debe mantener información de auditoría sobre los datos que modifique cualquier individuo correctamente identificado. En caso de provocarse un ataque, la imagen correcta de los datos modificados por el usuario deben restaurarse en menos de 1 día.

d) Bajo condiciones normales de operación, el sistema debe procesar las transacciones de los usuarios con una latencia promedio de 2 segundos.

Rta:

  • a)testeabilidad
  • b)usabilidad
  • c)seguridad
  • d)performance

3. Más de escenarios[editar]

a) Defina el escenario general para el atributo de calidad interoperabilidad. Complete los posibles valores de cada parte del mismo: Origen, Estímulo, Artefacto, Ambiente, Respuesta, Medida de la Respuesta.

b) Explique las medidas de respuesta de los escenarios generales para los atributos de calidad disponibilidad, modificabilidad, performance, seguridad, testeabilidad y usabilidad.

c) Elegir otros dos atributos de calidad (usar taxonomía de 1.3) y describir la partes de su escenario general.

Rta:

a)

  • Interoperabilidad: Capacidad de los sistemas de tecnologías de la información y las comunicaciones (TIC), y de los procesos empresariales a los que apoyan, de intercambiar datos y posibilitar la puesta en común de información y conocimientos. La interoperatividad es la condición mediante la cual sistemas heterogéneos pueden intercambiar procesos o datos.
  • Operable: Que puede obrarse o es factible.

Escenario:

  • Fuente: agentes externos (usuarios, sistemas), o internos (procesos)
  • Estimulo: eventos de intercambio/request de datos entre las fuentes
  • Artefacto: sistema, servicios del sistema
  • Entorno: normal mode / overload mode
  • Respuesta: Se procesa el estimulo
  • Medida:latencia, thorughput, miss rate

b)

Medidas de Respuesta Generales
Medida/Explicación Resumen
Disponibilidad
  • Tiempo de disponibilidad
  • Intervalo de tiempo en que el sistema puede estar en degraded mode
  • Tiempo de Reparacion

Estas medidas cuantifican las consecuencias de un failure en el sistema

Modificabilidad
  • tiempo que toma hacer la modificacion
  • costo en dinero/ esfuerzo
  • numero de modulos afectados

Cuantifican el costo de las tareas que involucta un cambio (diseñar nuevo sistema, implementar, testear, deployment)

Performance
  • latencia, deadline: tiempo que toma procesar eventos que llegan
  • jitter: variacionen el tiempo anterior
  • throughput: num. de eventos que pueden ser procesados en un intervalo de tiempo
  • missrate, data loss: caracterizacion de eventos que no pueden ser procesados

En general cuantifican cuanto le cuesta al sistema responder a los eventos.

Seguridad
  • probabilidad de detectar un ataque
  • prob de identificar al responsable de un ataque
  • porcentaje de servicios disponibles bajo un denial of service attack
  • cantidad de servicios dañados
  • cant de accesos legitimos negados

Se intenta medir la resistencia a usos no autorizados.

Testeabilidad
  • % de statements ejecutados en el test
  • probabilidad de failure si existe fault
  • tiempo para hacer eltest
  • tiempo para preparar el test enviroment

Se trata de medir lafacilidad con que los faults son exibidos a traves del test

Usabilidad
  • tiempo de la tarea, numero de errores, numero de problemas resueltos, satisfaccion del usuario, tasa de operaciones exitosas/total ops
  • cant de tiempo y datos perdidos

Se intenta cuantificar cuan facil es para el usuario llevar a buen termino sus tareas.

4.HousiHome[editar]

El Grupo HousiHome cuenta con más de 12.000 locales en todo el mundo. En Argentina hay casi 160 locales de los cuales 30 son hipermercados, 130 supermercados y 350 tiendas hard-discount; llamaremos local indistintamente a cualquier tipo de estos. Se pretende desarrollar un sistema denominado Sistema Integral de Administración de Venta Minorista que permita la administración de todos locales. El sistema debe integrarse con otros sistemas existentes y otros por existir. Se desarrollarán subsistemas independientes especializados. El sistema debe permitir toda la administración de los locales en cada uno de los eslabones de la cadena de valor: desde el management, análisis de datos, reportería, etc. hasta el cubrimiento de mercaderías, distribución, control del personal, etc.

Existen subsistemas bien diferenciados que deben coexistir, comunicarse, cooperar e interoperar para proveer un manejo y visión integral de la cadena de locales. Los subsistemas existentes y por integrar son: Compras, Ventas, Depósito y logística (para stock y distribución), Contable, Subsistema de Precios y Promociones, Sistema Analizador de Faltante de Mercadería en Góndola, Reporter, Sistema de Comercio Electrónico y Control de personal. Todo ellos implementados en Java salvo Compras y Ventas en .NET. Se espera que el sistema a desarrollar sea flexible a los cambios tecnológicos y permita principalmente la interoperación entre diferentes subsistemas. HousiHome divide a la República Argentina en zonas que agrupan locales. Dependiendo de la zona los precios y promociones de los locales pueden variar. Los locales abren a las 8:30 y cierran a las 22:30hs. Cada local tiene un depósito, existe además un depósito zonal que abastece a todos los locales de una zona. Los locales poseen entre 6 y 80 cajas o puntos de venta (POS) dependiendo de su tamaño. Hoy en día cada local cuenta con un POS Server al cual están conectados todos los POS. Todos los locales están en red con la Sede Central quien, por ejemplo, les informa a éstos los nuevos precios, productos, promociones, etc. y recibe los resúmenes económicos diarios de cada uno de todos ellos. La transmisión de datos entre las partes debe ser segura. También debe ser seguro el ingreso al sistema, al tercer intento fallido de logueo con un mismo usuario se notifica al administrador de sistema vía mail; estas acciones deben ser registradas para futuras auditorías y para poder efectuar el aviso en caso de desperfecto durante el envío del mail, debe garantizarse para un 99,9% de los casos. Cada vez que el POS Server detecte algún desperfecto en el funcionamiento de algún POS éste deberá enviar un mail a los técnicos. La detección debe ser inmediata. La operatoria cotidiana de caja involucra transacciones con tarjeta de crédito o débito. Cada local cuenta con un servidor, además del POS Server, dedicado a procesar estas transacciones. La operatoria suele enlentecerse o cortarse por falta de capacidad de computación cuando las transacciones concurrentes entre todos los POS son entre 35 y 40. Se pretende soportar una carga de hasta 80 transacciones concurrentes entre todas las cajas y que cada una sea procesada en a lo sumo 10s. Hoy el día cuando el servidor se “satura” suele “caerse”.Se debe estar prevenidos de caídas de cualquier servidor, no puede pasar más de 3 segundos sin servicio.

Dados los constantes cambios del sistema legal contable, deberá modificarse el subsistema de contabilidad actual de manera tal de permitir efectuar cambios de variables contables sin realizar cambios de código y permitir cambios de lógica en a lo sumo 48hs incluyendo el testing que sea necesario, es por ello que los cambios y demás partes relacionadas deben ser fácilmente testeables. Los clientes de HousiHome podrán efectuar compras a online vía un portal de comercio electrónico. Tanto la operación de confirmación de stock de un producto como el cierre de la transacción de una compra no podrán tardar más de 4 segundos ante el cliente. El sistema deberá resolver según los datos del perfil del cliente registrado qué depósito zonal deberá encargarse del envío, agendándolo y ubicándolo en la hoja de ruta del transporte de corresponda para su conveniente reparto. En caso de no haber stock del producto solicitado en el depósito zonal, el sistema deberá encontrar el local o depósito zonal más cercano que lo tenga asignándole el envío a este.

a) Identificar los atributos de calidad y concerns involucrados. Escribir los requerimientos de calidad como escenarios.

5. Bolsa de Comercio[editar]

La bolsa de comercio de un importante mercado local de commodities quiere implementar un sistema para el manejo y control de las compra/venta de acciones que ocurren diariamente. (Nota: a efectos de simplificar el enunciado no se consideran todos los aspectos de una bolsa de comercio “real”). Las principales funcionalidades que debe proveer el sistema son automatizar las compras/ventas de acciones y actualizar las cotizaciones de los commodities. Una compra o venta de acciones se denomina transacción. Para realizar una transacción es necesario ser un agente de bolsa registrado en el sistema. En una transacción participan un agente comprador y un agente vendedor. El agente vendedor posee un número de acciones de cierto commodity y la transacción consiste en transferir la propiedad de esas acciones al comprador a cambio de una suma de dinero equivalente a la cotización de las acciones de esos commodities multiplicadas por la cantidad de acciones vendidas. Una vez que las partes se ponen de acuerdo se corre un proceso en el cual se validan los datos de la transacción (monto, cantidad de acciones, comprador, vendedor) y luego se registran los cambios asociados. Una transacción tiene que ser segura y atómica. Se espera que no fallen más del 1% de las transacciones realizadas. Cada transacción debe realizarse en menos de 1 segundo. Hay un número limitado de acciones disponibles por cada commodity, el único habilitado para inyectar más acciones es el organismo regulador de la bolsa. Es de vital importancia que la cantidad total de acciones de cada commodity se mantenga controlada. Además se quiere que las cotizaciones de ciertos commodities se actualicen con respecto a las de otros sistemas de bolsas del mundo. Para ello existe un protocolo especial dedicado a interactuar con los sistemas de cotizaciones de las otras bolsas. En un primer paso los procesos intercambian entre si las cotizaciones de cada mercado local y calculan el valor del commodity en promedio. En un segundo paso, existe una ronda de validación en la cual se intercambian los valores de las cotizaciones obtenidas y se fija una hora UTC de actualización de la cotización. La actualización de cotizaciones afecta al precio de las transacciones a partir de la hora acordada. Este proceso se ejecuta cada media hora siempre que se detecte un cambio en alguna de las cotizaciones de cualquiera de los mercados comunicados. Además se requiere que se informe al instante los cambios en las cotizaciones y las transacciones que ocurren utilizando diversos medios. En principio los medios que se piden son:

  • En el monitor de la sede central de la bolsa.
  • Mediante la página web oficial de la bolsa.
  • En las páginas de algunas consultoras o particulares que paguen por el servicio.

El desarrollo se va a realizar mediante varias consultoras especializadas en tecnologías informáticas cuyas tareas serán coordinadas por un equipo local de empleados. Algunas partes sensibles (como el proceso de sincronización de la cotización de las cotizaciones de los commodities y el proceso de validación de una transación) serán testeados y auditados por consultoras de otro país con la idea de que se eviten fraudes.

a) Especifique los principales escenarios de atributos de calidad de acuerdo a su criterio

6. Casinopolis[editar]

La república de Casinopolis ha decidido recientemente centralizar todas las operaciones referentes a su industria de los juegos de azar (la única industria que existe en la república, bah). En esta primera etapa del proyecto de centralización, la administración ha decidido concentrarse en los juegos de sorteo del estilo Loto. Según la operatoria actual, un jugador se presenta en cualquiera de las miles de oficinas distribuidas por todo el país, enuncia la apuesta que quiere realizar (en general, esto se reduce a la elección de cierta cantidad de números distintos), y el encargado de recibir la apuesta la anota en la libretita negra oficial de Casinopolis, entregando copia al apostador. Evidentemente, este sistema tiene varias falencias que la administración se ha decidido a resolver mediante la informatización y centralización del servicio: en primer lugar, el uso de un sistema de comprobantes manual es completamente inseguro debido a la alta probabilidad de fraudes (es común ver comprobantes falsos o agencieros que agregan apuestas posteriormente al sorteo). Por otra parte, según los últimos estudios encargados a la oficina de estadísticas de juego, la administración pierde millones en ingresos debido a la obligación de cerrar las apuestas dos días antes del sorteo (para tener tiempo de acumular todos los comprobantes). La administración querría reducir este tiempo a, como máximo, 5 minutos, para aprovechar la avalancha de apostadores de última hora. Además, se quiere conocer si existen ganadores de manera inmediata, apenas terminado el sorteo. Vale aclarar que si bien se quiere ofrecer la posibilidad de apostar hasta 5 minutos antes, algunas oficinas de apuestas pueden no hacerlo y estarán cerradas (y con sus sistemas apagados) horas antes y durante el sorteo. En reuniones preliminares con el departamento de informática de la administración de juegos de azar de Casinopolis, además, hizo notar algunas cuestiones que considera importante para el proyecto:

  • En primer lugar, este será el primer sistema informático a gran escala implementado en la república. Por esta razón, resulta que la administración no tiene a su disposición sistemas de hardware capaces de responder a la demanda que se espera tener del sistema. En particular, sostienen que el sistema

probablemente experimente demandas en los momentos pico en el orden de los cientos de pedidos por segundo a nivel nacional, mientras que los sistemas de hardware disponibles apenas pueden soportar demandas en el orden de decenas de pedidos por segundo.

  • Esta falta crítica de recursos de calidad se traslada también a los servidores de bases de datos, que cuentan con las mismas características en cuanto a calidad de servicio.
  • En contrapartida, la infraestructura de comunicaciones a nivel nacional es excelente. Se puede contar con conectividad en cualquier lugar del país (aunque esto, claro, no quiere decir que ocasionalmente se caigan las omunicaciones). De todas formas, hay tantas oficinas de apuestas que en general,

cuando un apostador no puede colocar su apuesta por no haber comunicación, se dirige a otra oficina. No es común que se experimenten fallas globales de conectividad, y dado el estado “piloto" de la centralización, no es un aspecto que preocupe a la administración.

  • Se desea tener, en tiempo lo más cercano posible a tiempo real, información estadística para los sorteos (dinero apostado, número más apostado, desgloses por oficina de apuestas, etc., etc.).

a) Especifique, mediante el uso de escenarios, los atributos de calidad más relevantes que identifique.

Rta: Ver Parcial 1ºC 2008