Escolar Documentos
Profissional Documentos
Cultura Documentos
Contenido de la sesin
Refinamiento del sistema.
Recapitulando
Requerimientos de software
Puntos claves
Un sistema completo de requisitos puede ser determinado
definiendo las entradas, las salidas, las funciones, los atributos
y los atributos del entorno del sistema
Los requisitos deben excluir la informacin relacionada con el
proyecto, tal como horario, planes del proyecto, presupuestos
y test de pruebas, as como la informacin del diseo
Los requisitos y el proceso del diseo son iterativos; los
requisitos conducen a la seleccin de ciertas opciones del
diseo, que alternadamente pueden iniciar nuevos requisitos.
Las restricciones del diseo son restricciones en el diseo del
sistema o del proceso
Requerimientos del sw
Puntos claves
Para soportar las actividades del diseo y la codificacin,
los casos de uso desarrollados en las actividades de
recopilacin de requerimientos deben estar completos
Los casos de uso son apropiados cuando el sistema es rico
en funcionalidad y debe soportar diferentes tipos de
usuarios
Los casos de uso no son tan efectivos cuando aplicamos a
sistemas sin usuarios o con pocos usuarios y pocas
interfaces, aquellos con principalmente requisitos no
funcionales y restricciones de diseo
Flujo de eventos
Valor
Control de luz
Este caso de uso describe la forma como las luces son
encendidas o apagadas o su intensidad es disminuida cuando
los usuarios presionan los interruptores de luz de varias
maneras.
El flujo bsico del caso de uso comienza cuando el Residente
presiona el botn del Control de Interruptores(CI). Si el
Residente deja de presionar el CI dentro del periodo de
tiempo, el sistema conmuta el estado de la luz. Esto significa:
Si la luz estaba encendida, la luz se apaga, no hay
iluminacin.
Si la luz estaba apagada, la luz se enciende con el ultimo
nivel de iluminacin conocido.
Valor
Flujo
Si el Residente mantiene pulsado el CI por mas de un segundo, el
alternativo de sistema inicia la disminucin de la iluminacin para el nivel indicado de
eventos
luz. La siguiente accin ocurre mientras el residente continua
presionando el botn CI:
1. La iluminacin se incrementa lentamente hasta el valor mximo a un
ratio de 10% en un segundo.
2. Cuando el nivel mximo de iluminacin es alcanzado, la iluminacin
disminuye lentamente hasta el valor mnimo a un ratio de 10% en un
segundo
3. Cuando el valor mnimo es alcanzado, la secuencia del caso de uso
regresa al paso 1.
Cuando el residente libera la presin del botn CI.
4. El sistema cesa el cambio de iluminacin.
Valor
El botn seleccionado CI debe estar Graduacin
de iluminacin activada
El botn seleccionado CI debera estar pre
programado para el control de banco de luces.
Post condiciones Al salir de este caso de uso, la intensidad de la luz
es recordado por el sistema.
Requerimientos El nivel mnimo de luz no puede ser 0. Debe ser un
especiales
valor mnimo aceptable tal que las luces sean
adecuadas para la noche.
Puntos Claves
Un paquete moderno de ERS (ERS, Software
Requirements Specification) es una coleccin de
artefactos que describen el comportamiento externo del
sistema (modelo conceptual).
El documento de Visin es la entrada del moderno ERS. Es
una declaracin ampliada de las necesidades del usuario,
metas y objetivos, mercados objetivos y caractersticas
del sistema; lo ltimo se enfoca en los detalles a
implementar.
El correcto balance de la tcnica esta en el mix del
modelo de casos de uso y la especificacin tradicional de
requerimientos.
El principal reto
es detallar
suficientemente
los
requerimientos
Caja de luz
Caractersticas
Controlado por un
microprocesador
Almacena el estado del botn
Count si ha sido pulsado un
numero par o impar de veces
El detector de bombilla quemada
destella la bombilla restante
Es suficiente?
La especificacin es suficiente para la mayora de casos.
Refleja la forma como el dispositivo debe trabajar
Para el programador, quien debe escribir el cdigo, descubre
por lo menos la siguiente ambigedad:
Qu significa parpadear a intervalos de 1 segundo?
Todava parece obvio?
Ciclo A o B?
Cul escoge? Ciclo de servicio A o B?
Aunque la mayora escoge B, esta claro que el requerimiento es
ambiguo.
El programador preguntara al cliente Qu ciclo debe ser usado?
Si el programador no es perspicaz o no reconoce la ambigedad o
piensa S que significa porque se como debe trabajar
El proyecto podra estar en riesgo
Para la mayora de aplicaciones, no es importante si se enciende
durante un segundo o 0.25 segundos.
Si el equipo es electro quirrgico si importa .
Ambigedad VS especificidad
Tcnicas de desambiguacin
Memorizacin heurstica
Preguntar al grupo de desarrollo, usuarios o stakeholder
Tcnica de la palabra clave
El codero de Mary
Tcnica nfasis
Lea el requisito en voz alta y enfatice las palabras individuales hasta tener
muchas interpretaciones como sea posible
Si slo una interpretacin es correcta, declare de nuevo el requerimiento
Si mltiples interpretaciones son correctas, generar requerimientos
adicionales
Otras tcnicas
Use figuras, grficos u otros mtodos formales
Qu hacer?
Para encontrar sweet spot
Use el lenguaje natural si fuera posible
Use figuras y diagramas
Cuando este en duda, pregunte
Argumente sus especificaciones con mas mtodos formales
Puntos claves
Los mtodos tcnicos son apropiados cuando la descripcin de
los requerimientos son demasiados complejos para decirlo en
lenguaje natural o si no puede permitirse malas
interpretaciones
Los mtodos tcnicos son seudocdigo, diagrama de estados
finitos, arboles de decisin, diagrama de actividades, modelo
entidad relacin, anlisis orientado a objetos y anlisis
estructurado
Seudocdigo
rbol de decisin
Diagrama de actividad
Puntos clave
Tener un conjunto de requerimientos de calidad es objetivo
principal, estos requisitos deben cubrir nueve medidas de
calidad
Las lista de chequeo pueden ser usadas para asegurar la
calidad de los requerimientos, modelo de casos de uso,
especificacin de casos de uso y actores
Una alta calidad en ERS tiene un buen TOC, a buen ndice,
historial de revisiones y glosario
Correcto
Inequvoco (no ambiguo)
Completo
Consistente
Clasificado por importancia y estabilidad
Verificable
Modificable
Trazable
Entendible
Requerimientos no ambiguos
Asegurando la completitud
Asegurarse que las figuras, etiquetas y diagramas
tienen las etiquetas y referencias apropiadas
Algunos aspectos pueden ser evaluados por un
desarrollador sin conocimiento especial de la
aplicacin
La raz cuadrada de un numero
Si es negativo?
Ranqueo de requerimientos
Ranqueo de requerimientos
Dada esta informacin y otros factores, se debe determinar el
porcentaje para determinar la importancia y relativa
volatilidad.
El administrador del proyecto debera estar preparado para dedicar
una proporcionalidad alta de recursos en SR103 y SR172
Igualmente en SR071
Requerimientos verificables
Es verificable en conjunto si y solo si cada uno de los
componentes contenidos en los requerimientos es verificable
Los requerimientos pueden ser considerados verificables si y
solo si all existe un finito, costo efectivo del proceso con el
cual una persona o mquina puede determinar que el
desarrollo del sistema de software satisface verdaderamente
los requerimientos
IEEE 830-1993, 4.3.6, 1994
Trazabilidad de requerimientos
Si slo si cada uno de los requerimientos esta claro y existe un mecanismo que hace
factible referirlo en el futuro desarrollo
IEEE 830-1993, 4.3.8, 1994
Los requerimientos tienen identificadores como etiquetas o nmeros
Algunos componentes necesitaran trazar a otros componentes del mismo proyecto
y posiblemente del mismo paquete.
El cambio de un requerimiento podra afectar a otro requerimiento
Algunos requerimientos pueden ser descritos como sub o hijo, por lo que la
trazabilidad es obvia.
La trazabilidad permite contestar Que pasa-si
Qu pasa si cambiamos este requisito?
Interacta con el desarrollo de software y, si es as, con qu elementos?
Fuerza a revisar el plan de pruebas, si es as, cuales?
Para el mismo proyecto se puede usar la matriz de trazabilidad
Matriz de trazabilidad
Requerimientos entendidos
Un conjunto de requerimientos es entendible si el usuario y el
desarrollador comprenden los requerimientos individuales y la
funcionalidad completa.
Preguntas
Qu hemos aprendido?
Reflexionemos