Clase Auxiliar 1

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 33

Arquitectura de Software y

la disciplina de requisitos

Julio Ariel Hurtado Auxiliar 1


Seminario de Arquitecturas de Software
[email protected]
Requisitos y la arquitectura
Tareas de ingeniería de requisitos respecto a la
arquitectura.
Modelado de casos de uso y escenarios de calidad.
Determinación de un perfil de calidad
El ciclo de vida de la arquitectura

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.

Curso Normal de Eventos


1. El pasajero acerca su tarjeta BIP! al validador de tarjetas del bus.
2. El sistema comprueba validez de la tarjeta
3. El sistema descuenta del saldo de la tarjeta BIP! del pasajero, el valor del pasaje, aún cuando el saldo de la
tarjeta quede negativo (siendo positivo previamente al pago) y da acceso al uso del 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

Cambiar el Modelo de cobro


modelo de cobro reemplazado 1
SGT 2
3
4

Departamento
Desarrollo/Evolución Tiempo < 2 semanas
de Marketing
Esfuerzo < 3 personas/mes

Nombre: Modificabilidad::Cambio en la lógica de cobro


Resumen : La organización desarrolladora piensa proveer la misma solución a
otras empresas municipales. Es necesario que la misma solución, en el mismo
contexto, soporte cambios en su lógica de cobro.
Aspectos de la calidad del producto software
Interna: medible a partir de las características
intrínsecas, como el código fuente
Externa: medible en el comportamiento del
producto, como en una prueba
En uso: durante la utilización efectiva por parte
del usuario
Relación entre los aspectos
E fe c t o d e l
P roceso P ro d u c to p ro d u c to

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

a trib u to s in te rn o s c a r a c t e r ís tic a a trib u to s e x te rn o s


Modelo de McCall et al. (1977)

Visión de la dirección Visión del desarrollador


Visión de usuario Facilidad de uso Operabilidad
Familiarización
Comunicatividad
Seguridad (integridad) Volumen y tasa de E/S
Operación de Datos comunes
producto Eficiencia Control y audit. de acceso
Integridad de datos
Corrección (exactitud) Eficiencia de almacenam.
Eficiencia de ejecución
Fiabilidad
Compleción
Trazabilidad
Revisión de Facilidad de Consistencia
producto mantenimiento Precisión
Facilidad de Tolerancia a errores
prueba Simplicidad
Concisión
Flexibilidad Autodescriptividad
Modularidad
Transición de Capacidad de Instrumentación
producto reutilización Capacidad de ampliación
Transportabilidad Generalidad
Indep. máquina
Interoperabilidad Indep. soft. de sistema
Comunicac. comunes
Modelo de calidad para calidad interna y
externa
calidad externa
e interna

funcionalidad fiabilidad usabilidad eficiencia mantenibilidad portabilidad

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

ISO/IEC 9126: Tecnologías de la Información


Calidad de los productos software (SQuaRE)
Modelo de calidad para calidad en uso

ca lid ad en
u so

segu rid ad de
efectiv id ad p rodu ctivid ad satisfacción
acceso

ISO/IEC 9126: Tecnologías de la Información


Calidad de los productos software.
Evaluación del producto software: ISO
14598

Efecto del
Recursos y Proceso de Producto
producto
entorno evaluación software
software

Apoyo a la Proceso de Métricas Métricas Métricas de


evaluación evaluación Internas externas calidad en
uso

14598-1

14598-2 14598-3 9126-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

Habilidad para evaluar cuantitativamente


atributos de calidad y negociar para lograr la mejor
solución arquitectónica.
Taxonomía Genérica de Atributos de calidad
Atributo  propiedad del servicio prestado por el
sistema a los usuarios.
Servicio prestado  comportamiento percibido por el
usuario.
Usuario otro sistema (físico o humano)
Evento  iniciador de del servicio , es un estímulo
indicando la necesidad de un servicio (externos o
interno).
Taxonomía de un atributo
Atributo

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

También podría gustarte