Professional Documents
Culture Documents
ndice
La importancia del requisito en el ciclo de vida de desarrollo de software Cmo debera ser una especificacin de requisitos Estructura de la especificacin Especificaciones completas Especificaciones consistentes Una especificacin de requisitos no es una novela Redaccin del requisito Ejemplos Referencias
% de respuestas
15.9% 15.9% 13.9% 13.0% 13.0% 9.6% 8.2% 8.2 % 7.7% 7.2% 5.3% 2.9 % 2.9% 2.4% 13.9%
Basados en requisitos
Cmo debera ser una especificacin de requisitos Completa: describe todas las necesidades relevantes para los stakeholders Consistente: carece de conflictos entre requisitos Correcta: todo es pertinente y no contiene errores Modificable: facilidad para efectuar cambios de forma sencilla, completa y consistente Verificable: existencia de un proceso acotado que determine si el sistema final satisface el requisito Trazable: el origen del requisito est marcado de forma clara; y se puede seguir el impacto del requisito a lo largo del SDLC Clara y no ambigua: una nica interpretacin IEEE 830, 1998
Cmo redactar requisitos 6
"I believe that this nation should commit itself to achieving the goal, before this decade is out, of landing a man on the Moon and returning him safely to Earth"
Cmo redactar requisitos 7
Estructura de la especificacin Un proyecto mediano puede tener centenares de requisitos Estos requisitos no se escriben y se olvidan:
Pueden ser firmados, con lo que son pieza clave en contratos Son la fuente del diseo Se verificar el software contra ellos
Especificaciones consistentes El primer paso hacia la consistencia es evitar redundancia y las inconsistencias provocan retrabajo Las revisiones en grupo permiten detectar parte de estas redundancias Tcnicas automticas para su apoyo:
Comparacin de grafos semnticos Deteccin de unidades inconsistentes
10
11
12
13
14
15
16
17
Slo nos deben contar parte de la historia Centrndose en el qu, e incluso, en el por qu Nunca debe tratar el cmo Debe evitarse terminologa propia de diseo, pseudocdigo
18
19
No pueden jugar con nuestra imaginacin Todos los requisitos, adems de simples, deben ser fciles de medir Ambigedad cero, para que todos los interesados interpretemos cada requisito de una nica forma
20
21
22
23
24
25
26
27
28
Legibilidad:
La mxima posible Procesadores como MS Word miden la legibilidad de los textos
Tiempo verbal:
Imperativo en lugar de condicional
Modo verbal:
Activa en lugar de pasiva
Expresiones ambiguas:
Evitar expresiones del estilo: rpido, amigable
29
Conectores:
El abuso de conectores puede indicar que se est incluyendo ms de una necesidad en el mismo requisito Tambin puede indicar un exceso de detalle
Negaciones:
Ms de una palabra negativa en la misma frase podra hacerla difcil de entender
Sentencias incompletas:
Evitar sentencias del tipo etctera, entre otros,
30
Acrnimos y abreviaturas:
Slo permitidos si estn definidos en alguna seccin del documento de requisitos
31
Ejemplo 1
La informacin sobre los metadatos de los usuarios debera almacenarse en memoria dentro de una tabla hash, o bien en una tabla de base de datos, con una clave ajena a la tabla de Usuarios
32
Ejemplo 1
La informacin sobre los metadatos de los usuarios debera almacenarse en memoria dentro de una tabla hash, o bien en una tabla de base de datos, con una clave ajena a la tabla de Usuarios
Evite el uso del tiempo condicional Sustityalo por el imperativo
La informacin sobre los metadatos de los usuarios deber almacenarse en memoria dentro de una tabla hash, o bien en una tabla de base de datos, con una clave ajena a la tabla de Usuarios
33
Ejemplo 1
34
Ejemplo 2
El administrador deber ser capaz de insertar, borrar, mostrar y actualizar la informacin sobre los usuarios. Opcionalmente, deber tambin ser capaz de generar un informe y enviarlo por e-mail al cliente
35
Ejemplo 2
El administrador deber ser capaz de insertar, borrar, mostrar y actualizar la informacin sobre los usuarios. Opcionalmente, deber tambin ser capaz de generar un informe y enviarlo por e-mail al cliente
La opcionalidad debe expresarse mediante un atributo, y nunca como texto dentro del requisito
36
Ejemplo 2
El administrador deber ser capaz de insertar, borrar, mostrar y actualizar la informacin sobre los usuarios. Opcionalmente, deber tambin ser capaz de generar un informe y enviarlo por e-mail al cliente
La opcionalidad debe expresarse mediante un atributo, y nunca como texto dentro del requisito Deber usar un requisito individual para cada necesidad. Muchos verbos concentrados en un requisito pueden implicar la mezcla de diferentes necesidades
El Administrador deber ser capaz de aadir usuarios El Administrador deber ser capaz de borrar usuarios El Administrador deber ser capaz de mostrar usuarios El Administrador deber ser capaz de actualizar usuarios El Administrador podr generar un informe para enviarlo por e-mail al cliente
Cmo redactar requisitos 37
Ejemplo 3
El sistema debe ser capaz de importar ficheros ABC. El proceso debe ser amigable y rpido para el usuario
38
Ejemplo 3
El sistema debe ser capaz de importar ficheros ABC. El proceso debe ser amigable y rpido para el usuario
Trminos como amigable y rpido son difciles de medir y, por lo tanto, imposible de probar de forma correcta Utilice unidades fsicas para medir cmo de rpido debe rendir un requisito Utilice otros medios (p.e. WAI AA) claramente definidos para indicar cmo de amigable o accesible debe ser un sistema
39
Ejemplo 3
El sistema debe ser capaz de importar ficheros ABC. El proceso debe ser amigable y rpido para el usuario
Trminos como amigable y rpido son difciles de medir y, por lo tanto, imposible de probar de forma correcta Utilice unidades fsicas para medir cmo de rpido debe rendir un requisito Utilice otros medios (p.e. WAI AA) claramente definidos para indicar cmo de amigable o accesible debe ser un sistema Utilice acrnimos slo cuando estn comnmente aceptados por todos los interesados
40
Ejemplo 4
El administrador deber ser capaz de crear facturas asociadas con las diferentes compaas que estn dadas de alta en el sistema y ste tambin deber estar al tanto de facturas impagas para que puedan generar un mail y envirselos a ellos
41
Ejemplo 4
El administrador deber ser capaz de crear facturas asociadas con las diferentes compaas que estn dadas de alta en el sistema y ste tambin deber estar al tanto de facturas impagas para que puedan generar un mail y envirselos a ellos
El uso apropiado de signos de puntuacin har los requisitos ms fciles de leer El nmero de slabas por palabra y palabras por frase es tambin un buen indicador de la legibilidad del requisito
El administrador deber ser capaz de crear facturas asociadas con las diferentes compaas que estn dadas de alta en el sistema. ste tambin deber estar al tanto de facturas impagas para que puedan generar un mail in envirselos a ellos
Cmo redactar requisitos 42
Ejemplo 4
El administrador deber ser capaz de crear facturas asociadas con las diferentes compaas que estn dadas de alta en el sistema y ste tambin deber estar al tanto de facturas impagas para que puedan generar un mail y envirselo a ellos
El exceso de pronombres puede hacer un requisito difcil de entender El ltimo ellos, se refiere al administrador o al cliente?
El administrador deber ser capaz de crear facturas asociadas con las diferentes compaas que estn dadas de alta en el sistema y ste tambin deber estar al tanto de facturas impagas para que puedan generar un mail in envirselo a los clientes
43
Ejemplo 4
El administrador deber ser capaz de crear facturas asociadas con las diferentes compaas que estn dadas de alta en el sistema y ste tambin deber estar al tanto de facturas impagas para que puedan generar un mail y envirselos a ellos. El proceso para localizar impagados es el siguiente:
1. Iterar sobre todas las facturas 2. Si Fecha_Factura + CondicionesPago es mayor que la fecha actual, entonces:
Si la categora del cliente es A, entonces se le deja un mes extra SI no, mientras la factura no est pagada no se le permite generar nuevas facturas y se le enviar un mail cada semana
Evite el uso de pseudocdigo en sus requisitos Los requisitos extensos (en caracteres o prrafos) pueden indicar baja calidad
Cmo redactar requisitos 44
Ejemplo 5
Los clientes podrn remitir rdenes por Internet. Estas rdenes deben incluir fecha de envo y cantidad de artculos. Una vez que se recibe la orden, el equipo de empaquetado debe recoger todos los artculos y enviar un mail al cliente. Deben soportarse los protocolos http y https, as como los navegadores Explorer y Firefox. La resolucin mnima ser de 1024x768
45
Ejemplo 5
Los clientes podrn remitir rdenes por Internet. Estas rdenes deben incluir fecha de envo y cantidad de artculos. Una vez que se recibe la orden, el equipo de empaquetado debe recoger todos los artculos y enviar un mail al cliente. Deben soportarse los protocolos http y https, as como los navegadores Explorer y Firefox. La resolucin mnima ser de 1024x768
Un exceso de trminos diferentes en el mismo requisito puede indicar:
Que se estn mezclando diferentes necesidades en un nico requisito Que se est proporcionando demasiado detalle
Igualmente, muchos verbos pueden involucrar diferentes necesidades mezcladas en un nico requisito
Cmo redactar requisitos 46
Ejemplo 6
En mi opinin, ningn cliente debera poder nunca enviar rdenes al equipo de empaquetado. Ya lo hicimos as en un proyecto hace tres aos y el resultado fue nefasto
47
Ejemplo 6
En mi opinin, ningn cliente debera poder nunca enviar rdenes al equipo de empaquetado. Ya lo hicimos as en un proyecto hace tres aos y el resultado fue nefasto
No haga explcita su opinin, limtese a escribir lo que el sistema debe hacer
48
Ejemplo 6
En mi opinin, ningn cliente debera poder nunca enviar rdenes al equipo de empaquetado. Ya lo hicimos as en un proyecto hace tres aos y el resultado fue nefasto
No haga explcita su opinin, limtese a escribir lo que el sistema debe hacer No mezcle demasiados trminos negativos, ya que a veces puede dificultar la lectura del requisito/restriccin
49
Ejemplo 6
En mi opinin, ningn cliente debera poder nunca enviar rdenes al equipo de empaquetado. Ya lo hicimos as en un proyecto hace tres aos y el resultado fue nefasto
No haga explcita su opinin, limtese a escribir lo que el sistema debe hacer No mezcle demasiados trminos negativos, ya que a veces puede dificultar la lectura del requisito/restriccin No divague al redactar el requisito. Limtese a indicar qu es lo que debe hacer el sistema
Ejemplo 7
Generalmente, el sistema debe ser capaz de terminar el proceso de rastreo sin sobrecargar excesivamente el servidor
51
Ejemplo 7
Generalmente, el sistema debe ser capaz de terminar el proceso de rastreo sin sobrecargar excesivamente el servidor
Evite expresiones vagas como: generalmente, comnmente
52
Ejemplo 7
Generalmente, el sistema debe ser capaz de terminar el proceso de rastreo sin sobrecargar excesivamente el servidor
Evite expresiones vagas como: generalmente, comnmente Verifique si cada asercin puede ser medida de forma sencilla
El sistema debe ser capaz de terminar el proceso de rastreo en un tiempo inferior a 2 segundos y sin que el proceso sobrepase los 250 MB de memoria
53
54