Clase Auxiliar 1
Clase Auxiliar 1
Clase Auxiliar 1
la disciplina de requisitos
Implementación
Requisitos Diseño de la Evaluación de la
de la
Arquitecturales Arquitectura Arquitectura
Arquitectura
Tareas de ingeniería de requisitos respecto a
la arquitectura
Identificar Documentar
Priorizar Detallar
escenarios Arquitectur
escenarios escenarios
relevantes a Preliminar
Escenario Escenario No
Funcional, Funcional,
Caso de Uso Escenario de
Calidad
Pasos QAW – Quality Attribute Workshop
1. Presentación e instrucciones del QAW
2. Presentación de Negocio/Organización
3. Presentación del plan Arquitectural
4. Identificación de los atributos controladores
5. Lluvia de ideas en escenarios
6. Consolidación de escenarios
7. Priorización de escenarios
8. Refinamiento de escenarios
Escenarios funcionales con casos de uso
Casos de uso
Identificar actores
Identificar casos de uso
Priorizar casos de uso – preguntas clave para la
arquitectura.
Detallar casos de uso relevantes para la arquitectura:
Flujo normal de eventos
Flujos alternativos
Ejemplo de modelo de casos de uso
Ejemplo
ID CU1
Nombre Acceso a Servicios de Transporte :: Debitar Bus
Actores Pasajero
Resumen Se inicia cuando el pasajero sube a un bus y debe cancelar su pasaje. O al hacerlo en un terminal de acceso al
bus.
Eventos alternativos
3a. Si la tarjeta es inválida, el sistema no da acceso al uso del bus o paso por el terminal de acceso.
Prioridad AQ Alta
Escenarios de calidad
Escenarios de calidad
Identificar atributos relevantes
Identificar escenarios de calidad - QAW
Priorizar escenarios – QAW
Detallar escenarios de calidad relevantes para la
arquitectura:
Ejemplo de escenarios
Seguridad en las tarjetas
Tiempo de respuesta en la lectura de tarjeta
Recuperación en un fallo al momento de la recaudación
de las ventas
Denegar acceso a usuarios sin los privilegios respectivos
Cambio en la lógica de cobro del servicio.
Crecimiento del Sistema de Transportes
TransMontevideo
Ejemplo de escenarios de calidad
Departamento
Desarrollo/Evolución Tiempo < 2 semanas
de Marketing
Esfuerzo < 3 personas/mes
In f lu y e In f lu y e In f lu y e
P roceso d e C a lid a d C a lid a d C a lid a d
c a lid a d in te r n a e x te r n a en u so C o n te x to s
de uso
D epend e de D epend e de D epend e de
p ro v e e d o r u s u a r io
Características, subcaracterísticas y
atributos de calidad
x x x
x x
x x
x x
x x x
x x
x x
x x x
x
x x
x
x x x
x x
x
x
a tr ib u to
s u b c a r a c t e r ís tic a
capacidad para
capacidad para
ser entendido
adecuación madurez ser analizado adaptabilidad
capacidad para comportamiento
exactitud tolerancia a capacidad para instalabilidad
ser aprendido temporal
interoperabilidad fallos ser cambiado coexistencia
capacidad para utilización de
seguridad de capacidad de estabilidad capacidad para
ser operado recursos
acceso recuperación capacidad para ser reemplazado
capacidad de
ser probado
atracción cumplimiento de
cumplimiento de cumplimiento de cumplimiento de
la eficiencia
la funcionalidad la fiabilidad cumplimiento de la portabilidad
cumplimiento de
la mantenibilidad
la usabilidad
ca lid ad en
u so
segu rid ad de
efectiv id ad p rodu ctivid ad satisfacción
acceso
Efecto del
Recursos y Proceso de Producto
producto
entorno evaluación software
software
14598-1
14598-4
14598-6 9126-3 9126-2 9126-4
14598-5
Atributos de Calidad de Software
Hacer efectivas decisiones de diseño
Razonar predicativamente sobre los atributos del
software sin hacer suposiciones erróneas o sin sustentar.
Evaluar cuantitativamente los atributos de calidad para
lograr la mejor solución general del sistema.
Taxonomía de los atributos de calidad.
Conexión entre los atributos de calidad.
Atributos de Calidad de Software
Software de función crítica:
Las aplicaciones presentan largos ciclos de vida y
requieren actualizaciones evolutivas.
Las aplicaciones requieren operación continua o cercana
a una disponibilidad 100%
Las aplicaciones requieren interacción con dispositivos
hardware
Las aplicaciones asignan gran importancia a atributos de
calidad como desempeño, confiabilidad, seguridad,
interoperabilidad, etc.
Atributos de Calidad de Software
Calidad de software es el grado en que un proceso software
presenta una combinación deseada [IEEE 1061]
Opiniones/escuelas
Desempeño – de los sistemas de tiempo real
Dependencia - sistemas muy confiables y tolerante a fallas
Seguridad (Security) – de los sistemas de gobierno, bancarias y
comunidades académicas.
Seguridad (Safety )– del análisis de riesgos e ingeniería de sistemas
seguros.
Algunos Conflictos
Dependencia vs desempeño
Comunicación de replicación (tolerancia fallos),
inversión en tiempo.
Procesos críticos en paralelo para lograr desempeño
entra en conflicto con dependencia pues ahora ya no
se tiene un solo punto de fallo.
Eficiencia vs portabilidad, exactitud,
entendibilidad y matenibilidad.
Negociación de atributos de calidad
Incumbencia
Factores
específicos
Interno/
Externo Causa/Efecto
Métodos
Análisis/ Procedimientos Desarrollo/
Síntesis /Entrenamiento Ejecución
Desempeño / Performance
[IEEE 610.12] grado en el cual un sistema o
componente cumple con las funciones designadas
dentro de unas restricciones dadas, tales como
velocidad, precisión o uso de memoria.
Desempeño
Incumbencias - Desempeño
Latencia: tiempo que se toma el sistema para
responder a un evento:
Throuhput: se refiere al número de respuestas que
han sido completadas en un intervalo de
observación.
Incumbencias - Desempeño
Capacidad: medida de trabajo que el sistema
puede soportar. El máximo throughput posible
bajo unas condiciones de carga ideales.
Modos:
Fase de ejecución en la cual el sistema cumple
diferentes requisitos de desempeño:
Capacidad reducida
Sobrecarga
Factores de desempeño
Performance = f (demanda, recursos, localización de
los recursos)
Demanda: eventos, velocidad de llegada para cada
evento, recursos asociados a cada evento.
Sistema: tipos de recursos, servicios software para
gestionar estos recursos, distribución de los recursos.
Métodos - Performance
Síntesis
Smith elementos especiales para soportar desempeño
– no intenta suplantar metodologías de desarrollo de
software.
Análisis
Teoría de Colas
Teoría Scheduling