Publicado el 14 de Enero del 2017
801 visualizaciones desde el 14 de Enero del 2017
407,5 KB
28 paginas
Creado hace 17a (06/03/2008)
Especificacción detallada
Ingeniería Software
Ingeniería software
4º Físicas
4º de Físicas
2
0
0
8
Especificación detallada de
una aplicación
José M. Drake y Patricia López
Computadores y Tiempo Real
Santander, 2008
1
Ingeniería de Programación (4º Físicas) J.M. Drake
1
Especificacción detallada
Objetivos de este tema
2
0
0
8
Requisitos del cliente
Formas de organizar
los requisitos detallados
Identificar practicas
corporativas
Identificar practicas
corporativas
Requisitos detallados:
• Completos
• No ambiguos
• Trazables
• Atómicos
• Comprobables
• Consistentes
Distinguir los tipos de
requisitos detallados
Mantenimiento
Integración
y validación
Análisis de requisitos
Prueba de unidades
Análisis
Codificación
Diseño
Santander, 2008
Ingeniería de Programación: Especificación detallada
J.M. Drake y P. López
2
Los requisitos detallados constituyen el único lugar donde se describen la naturaleza exacta
y completa de la aplicación. El nivel de detalle debe ser completo, pero se debe evitar la
redundancia.
Los requisitos detallados resultan de un refinamiento de los recursos de cliente y deben ser
obviamente consistentes con ellos.
Los requisitos detallados es la información sobre la que el ingeniero basa su diseño e
implementación. Esta
la denominación de “requisitos
específicos”, “requisitos del diseñador” o “requisitos D”. Esta constituida por una
descripción completa de las características específicas y la funcionalidad que debe tener la
aplicación, formulada con todos los detalles.
Se supone que los desarrolladores leerán los requisitos D.
Objetivos de este tema son:
•Disponer de recursos para organizar los requisitos detallados.
también recibe
información
•Por clase
•Por caso de uso
•Por característica.
•Por evento.
•Poder completar los requisitos:
•Tener suficiente detalle para elaborar sobre ellos el diseño y la implementación.
•Poder expresar los requisitos no funcionales, por ejemplo el rendimiento.
Ingeniería de Programación (4º Físicas) J.M. Drake
2
Especificacción detallada
Actividades de elaboración de los requisitos detallados.
2
0
0
8
1. Seleccionar el criterio de organización de los requisitos
detallados.
2 Crear un diagrama de secuencias a partir de los casos de uso.
3 Elaborar los requisitos detallados
4 Describir los planes de prueba
5
6 Validar con el cliente
7 Generar el documento “Especificación de Requisitos de la
Inspeccionarlos
Aplicación”
Santander, 2008
Ingeniería de Programación: Especificación detallada
J.M. Drake y P. López
3
En la transparencia se muestra la secuencia natural de actividades que deben realizarse para
generar los requisitos detallados.
Existen diferentes criterios para organizar los requisitos: por característica observable, por
modo de operación, por caso de uso, etc.. Una lista no organizada de requisitos se vuelve
inmanejable.
Los aspectos estáticos se suelen describir mediante herramientas textuales, mientras que
para los aspectos dinámicos y de interacción se suelen utilizar técnicas gráficas como los
diagramas de secuencias, de colaboración o de actividad.
En el caso ideal, las pruebas que deben validar los requisitos deben formularse
simultáneamente con ellos.
Aunque los requisitos se escriben fundamentalmente para los desarrolladores es muy
importante que sean revisados y validados por los usuarios.
El resultado del proceso de análisis de requisitos es la elaboración del documento
Especificación de Requerimientos de Software (ERS)
Ingeniería de Programación (4º Físicas) J.M. Drake
3
Especificacción detallada
Tipos de requisitos
2
0
0
8
1. Requisitos funcionales: ¿qué debe hacer la aplicación?
2. Requisitos no funcionales:
2.1 Rendimiento: Velocidad, capacidad, requerimientos de memoria, etc.
2.2 Confiabilidad y disponibilidad.
2.3 Manejo de errores.
2.4 Requisitos de interfaz ¿cómo interactúa con el usuario y otras
aplicaciones? .
2.5 Restricciones: Exactitud, herramientas y lenguajes, estándares que
deben usarse, plataforma hardware disponible, etc.
3. Requisitos inversos: ¿qué no debe hacer la aplicación?
Santander, 2008
Ingeniería de Programación: Especificación detallada
J.M. Drake y P. López
4
Al nivel de los requisitos C no es tan importante distinguir los diferentes tipos de requisitos,
sin embargo a este nivel si, porque va a guiar el desarrollo y el proceso de pruebas de
diferente manera.
Ingeniería de Programación (4º Físicas) J.M. Drake
4
Especificacción detallada
Propiedades de los requisitos detallados: Trazabilidad.
2
0
0
8
Requisitos detallados
Informe de inspección de requisitos
Segmentos de diseño que incorpora los requisitos.
Informe de inspección de diseño comprobando que se incorporan los requisitos.
Código que implementa los requisitos
Informe de inspección de código que comprueba que el código incorpora los requisitos
Plan de prueba que verifica los requisitos
Informe de inspección del plan de prueba que verifica los requisitos
Resultados de las pruebas de que se satisfacen los requisitos
Santander, 2008
Ingeniería de Programación: Especificación detallada
J.M. Drake y P. López
5
La capacidad que hace corresponder (mapear) cada requisito con las partes de la aplicación
en las que se plasma se denomina trazabilidad. Una forma de lograr esto es mantener una
correspondencia entre cada requisito y un método o función específica del código.
Conforme avanza el proyecto, el documento de requisitos debe permanecer consistente con
el diseño y la implementación. Cuando es difícil seguir la traza de los requisitos en el diseño
y en el código, el desarrollador tiende a evitar actualizar el documento de requisitos al hacer
cambios en el mismo código. Esto conduce a un deterioro importantes de la documentación
que conducen a hacer la aplicación muy difícil de mantener.
Habitualmente se necesita que los requisitos de especificación sean trazables hacia delante y
hacia atrás. Esto se facilita cuando cada requisito funcional se corresponde con una parte
concreta del código, lo cual es habitual en las metodologías orientadas a objetos.
Ingeniería de Programación (4º Físicas) J.M. Drake
5
Especificacción detallada
Propiedades de los requisitos detallados(2).
2
0
0
8
Comprobables y no ambiguos:
! Los requisitos que se pueden probar se llaman comprobables.
! Un requisito no comprobable no tiene valor práctico.
Completitud:
! Lo ideal (no siempre factible) es que un requisito sea autocontenido.
! La completitud hace referencia a que los requisitos interdependientes
no presentan omisiones que comprometan su validez.
Consistencia:
! Un conjunto de requisitos es consistente si no presenta contradicciones
entre ellos.
! Cuando el número de requisitos se incrementa, es difícil de garantizar
la consistencia.
Santander, 2008
Ingeniería de Programación: Especificación detallada
J.M. Drake y P. López
6
Comprobación y no ambigüedad: Debe ser posible validar un requisito cuando se prueba
que se ha implementado de manera apropiada. Los requisitos que se pueden probar se
llaman comprobables. Los requisitos no comprobables tienen poco valor práctico.
A menos que un requisito detallado se formule con claridad y sin ambigüedad, no será
posible determinar si se ha implementado correctamente.
Completitud: Habitualmente se hacen esfuerzos para conseguir que cada requisito sea
autocontenido, pero pocas veces es posible conseguirlo en la práctica, ya que los requisitos
hacen referencia a otros requisitos. Que un conjunto de requisitos esté completo asegura que
no hay omisiones que comprometan los requisitos establecidos.
Consistencia: Un conjunto de requisitos detallados es consistente si no presentan
contradicciones entre ellos. Cuando el número de requisitos crece se hace muy difícil lograr
la completa consistencia.
La organización orientada a objetos ayuda a evitar las inconsistencias, ya que al agrupar los
requisitos por clases, su descomposición se hace mas sencilla, se formulan en puntos
próximos del documento.
Ingeniería de Programación (4º Físicas) J.M. Drake
6
Especificacción detallada
Formas de formular un requisito detallado.
2
0
0
8
1. Clasificar el requisito como funcional o no funcional
2. Determinar el tamaño con cuidado: Un requisito debe corresponder mas o
menos a un método (Un requisito grande es difícil de manejar, y un requisito
pequeño no vale la pena ser gestionado)
3. Establecer el procedimiento para que sea trazable durante el diseño y
la implementación.
4. Debe poderse probar: Enunciar una prueba específica que establezca que se
satisface.
5. Asegurar que no haya ambigüedad
6. Asignarle una prioridad: Esencial, opcional o deseable.
7. Verificar que el conjunto de requisitos es completo.
8.
9. Verificar la consistencia
Incorporar condiciones de error para el caso que no se satisfaga
Santander, 2008
Ingeniería de Programación: Especificación detallada
J.M. Drake y P. López
7
La mayor parte de los pasos que se proponen para formular un requisito detallado se han
descrito como características deseables para los mismos.
• Debe establecerse un criterio de organización de los requisitos. Una lista anárquica es
inmanejable.
• Evaluar si un requisito es trazable significa proponer un diseño e imaginar como tendría el
diseño que satisfacer los requisitos.
• Proponer una prueba de cada requisito que se propone no sólo aclara el requisito, sino que
también garantiza su verificabilidad.
• Muchos requisitos dependen de datos específicos, y conviene especificar como debe
operar el requisito en caso de que el dato esté equivocado o sea inconsistente. Para
requisitos críticos, esto debe incluir errores explícitos.
Ingeniería de Programación (4º Físicas) J.M. Drake
7
Especificacción detallada
Herramientas gráficas
Comentarios de: Ingeniería Software - Especificación detallada de una aplicación - 4º de Físicas (0)
No hay comentarios