disciplina de requisitos de rup

8
Ing. MCC Lain J. Cárdenas E. 1 DISCILPLINA DE REQUISITOS DE RUP Esta disciplina explica cómo obtener las solicitudes de los interesados y transformarlas en un conjunto de productos de trabajo de los requisitos que cubran el ámbito del sistema que va a crearse y proporcionen requisitos detallados sobre lo que el sistema debe hacer. La finalidad de la disciplina de requisitos es: Establecer y mantener un acuerdo con los clientes y otros interesados acerca de lo que debe hacer el sistema. Proporcionar desarrolladores de sistema con un buen conocimiento de los requisitos del sistema. Definir los límites del sistema (delimitarlo). Proporcionar una base para planificar el contenido técnico de las iteraciones. Proporcionar una base para la estimación del coste y del tiempo en que desarrollar el sistema. Definir una interfaz de usuario para el sistema, centrándose en las necesidades y los objetivos de los usuarios. Para alcanzar esos objetivos, es importante, en primer lugar, comprender la definición y el ámbito del problema que se intenta resolver con el sistema. Los interesados se identifican y las solicitudes de los interesados se obtienen, se reúnen y se analizan. A partir de ahí se desarrollan los productos de trabajo de los requisitos para describir completamente el sistema (qué va a hacer el sistema) en un esfuerzo que percibe a todos los interesados, incluidos los clientes y los usuarios potenciales, como fuentes importantes de información (además de los requisitos del sistema). La disciplina de requisitos está relacionada con otras disciplinas del proceso. La disciplina de Análisis y Diseño obtiene su principal fuente de información de los requisitos. La disciplina de Prueba valida el sistema contra los requisitos (entre otras cosas). La disciplina de Gestión de Cambios y Configuración proporciona el mecanismo de control de cambios para los requisitos. El mecanismo para proponer un cambio es enviar una Solicitud de cambio. La disciplina de Gestión de Proyectos planifica el proyecto y las iteraciones. Los productos de trabajo de los requisitos son importantes fuentes de información para las actividades de planificación de iteraciones. La disciplina de Entorno desarrolla y mantiene los artefactos de soporte que se utilizan durante los requisitos. Productos de trabajo o artefactos utilizados en la disciplina de Requisitos: Visión Modelo de caso de uso Especificaciones suplementarias Especificación de requisitos de software Requisito de software Atributos de requisitos Glosario Guión gráfico Plan de gestión de requisitos Solicitudes del interesado

Upload: francisco-cerezo

Post on 31-Dec-2015

25 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Disciplina de Requisitos de RUP

Ing. MCC Lain J. Cárdenas E. 1

DISCILPLINA DE REQUISITOS DE RUP

Esta disciplina explica cómo obtener las solicitudes de los interesados y transformarlas en un conjunto de

productos de trabajo de los requisitos que cubran el ámbito del sistema que va a crearse y proporcionen

requisitos detallados sobre lo que el sistema debe hacer.

La finalidad de la disciplina de requisitos es:

Establecer y mantener un acuerdo con los clientes y otros interesados acerca de lo que debe

hacer el sistema.

Proporcionar desarrolladores de sistema con un buen conocimiento de los requisitos del sistema.

Definir los límites del sistema (delimitarlo).

Proporcionar una base para planificar el contenido técnico de las iteraciones.

Proporcionar una base para la estimación del coste y del tiempo en que desarrollar el sistema.

Definir una interfaz de usuario para el sistema, centrándose en las necesidades y los objetivos de

los usuarios.

Para alcanzar esos objetivos, es importante, en primer lugar, comprender la definición y el ámbito del

problema que se intenta resolver con el sistema. Los interesados se identifican y las solicitudes de los

interesados se obtienen, se reúnen y se analizan.

A partir de ahí se desarrollan los productos de trabajo de los requisitos para describir completamente el

sistema (qué va a hacer el sistema) en un esfuerzo que percibe a todos los interesados, incluidos los

clientes y los usuarios potenciales, como fuentes importantes de información (además de los requisitos del

sistema).

La disciplina de requisitos está relacionada con otras disciplinas del proceso.

La disciplina de Análisis y Diseño obtiene su principal fuente de información de los requisitos.

La disciplina de Prueba valida el sistema contra los requisitos (entre otras cosas).

La disciplina de Gestión de Cambios y Configuración proporciona el mecanismo de control de

cambios para los requisitos. El mecanismo para proponer un cambio es enviar una Solicitud de

cambio.

La disciplina de Gestión de Proyectos planifica el proyecto y las iteraciones. Los productos de

trabajo de los requisitos son importantes fuentes de información para las actividades de

planificación de iteraciones.

La disciplina de Entorno desarrolla y mantiene los artefactos de soporte que se utilizan durante

los requisitos.

Productos de trabajo o artefactos utilizados en la disciplina de Requisitos:

Visión

Modelo de caso de uso

Especificaciones suplementarias

Especificación de requisitos de software

Requisito de software

Atributos de requisitos

Glosario

Guión gráfico

Plan de gestión de requisitos

Solicitudes del interesado

Page 2: Disciplina de Requisitos de RUP

Ing. MCC Lain J. Cárdenas E. 2

Figura 1. Relación de artefactos en la disciplina de requisitos

Niveles de requisitos:

Figura 2. Relación entre niveles de requisitos

Necesidad: un requerimiento de un interesado (Stakeholder).

Característica: un servicio proporcionado por el sistema, por lo general formulada por un

analista de negocios; un objetivo de una característica es cumplir con una necesidad de los

interesados.

Caso de uso: una descripción del comportamiento del sistema en términos de secuencia de

acciones (requisito funcional).

Requisito suplementario: otro de los requisitos (por lo general es un requisito no funcionales)

que no pueden ser capturados en los casos de uso.

Escenario: una secuencia específica de acciones; un camino específico a través de un caso de

uso.

Caso de prueba: una especificación de entradas de prueba, las condiciones de ejecución y los

resultados esperados.

Page 3: Disciplina de Requisitos de RUP

Ing. MCC Lain J. Cárdenas E. 3

El artefacto Visión:

Este artefacto proporciona una base de alto nivel, a veces contractual, para los requisitos técnicos más

detallados que son visibles para los interesados. Especifica en términos de necesidades y características

de los interesados y captura la "esencia" de la solución concebida en forma de requisitos de alto nivel y

restricciones de diseño que dan al lector una visión general del sistema que se desplegará desde una

perspectiva de requisitos de comportamiento. Proporciona información de entrada al proceso de

aprobación del proyecto. Comunica los "qué y porqué" fundamentales para el proyecto y es un indicador

contra el que deberían validarse todas las decisiones futuras. Otro nombre que se utiliza para denominar

este artefacto es el Documento de requisitos de producto. Este artefacto es responsabilidad del Analista de

Sistemas quien en coordinación con los usuarios o clientes interesados se revisará y aprobará el

documento para una adecuada gestión de los requisitos.

El documento de Visión ofrece una visión completa para el sistema de software que se está desarrollando

y da soporte al contrato entre la autoridad de financiación y la organización de desarrollo. Cada proyecto

necesita una fuente para capturar las expectativas entre los interesados.

Personalice este artefacto según sea necesario para las necesidades de su proyecto. En general, es una

buena práctica que este artefacto sea breve para poder entregarlo a los interesados lo antes posible y para

que los interesados lo puedan revisar y absorber fácilmente. Para ello, deben incluirse sólo las solicitudes

y características más importantes para los interesados y evitarse los requisitos detallados. Los detalles se

pueden incluir en los otros artefactos de requisitos o en apéndices.

El artefacto Modelo de Caso de Uso:

Este artefacto es un modelo de las funciones deseadas para el sistema y su entorno, y sirve como contrato

entre el cliente y los desarrolladores. Se utiliza como entrada esencial para las actividades de análisis,

diseño y prueba. El Analista de sistemas es el responsable de este artefacto.

Las personas siguientes utilizan el modelo de caso de uso:

El cliente aprueba el modelo de caso de uso. Cuando tenga la aprobación, sabe que el sistema es

lo que desea el cliente. También puede utilizar el modelo para discutir el sistema con el cliente

durante el desarrollo.

Los usuarios potenciales utilizan el modelo de caso de uso para comprender mejor el sistema.

El arquitecto de software utiliza el modelo de caso de uso para identificar la funcionalidad

arquitectónicamente significativa.

Los diseñadores utilizan el modelo de caso de uso para obtener una visión general del sistema.

Cuando perfeccione el sistema, por ejemplo, necesita documentación sobre el modelo de caso de

uso para ayudarle en ese trabajo.

El gestor utiliza el modelo de caso de uso para planificar y hacer el seguimiento del modelado de

caso de uso y también del diseño posterior.

Las personas externas al proyecto pero dentro de la organización, ejecutivos, y comités

directivos, utilizan el modelo de caso de uso para obtener una perspectiva en lo que se ha llevado

a cabo.

Las personas revisan el modelo de caso de uso para proporcionar la información de retorno

apropiada a los desarrolladores de forma regular.

Los diseñadores utilizan el modelo de caso de uso como base para su trabajo.

Los verificadores utilizan el modelo de caso de uso para planear las actividades de prueba

(prueba de caso de uso y de integración) tan pronto como sea posible.

Quienes desarrollarán la versión siguiente del sistema utilizan el modelo de caso de uso para

comprender como funciona la versión existente.

Los escritores de documentación utilizan los casos de uso como base para escribir los manuales

de usuario del sistema.

El Modelo de caso de uso debe ser un medio de comunicación que puede servir como contrato entre el

cliente, los usuarios y los desarrolladores del sistema sobre la funcionalidad del sistema, que permite:

Page 4: Disciplina de Requisitos de RUP

Ing. MCC Lain J. Cárdenas E. 4

Que los clientes y usuarios validen que el sistema se convierta en lo que esperaban.

Que los desarrolladores del sistema construyan lo que se espera.

El modelo de caso de uso consta de casos de uso y actores. Cada caso de uso del modelo se describe

detalladamente, mostrando paso a paso el modo en que el sistema interactúa con los actores y lo que el

sistema hace en el caso de uso. Los casos de uso funcionan como hebra unificadora en todo el ciclo vital

del software; el mismo modelo de caso de uso se utiliza en el análisis, diseño, implementación y prueba

del sistema.

Artefactos contenidos:

Actor: este artefacto define un conjunto coherente de roles que los usuarios del sistema pueden

desempeñar cuando interactúan con este. Una instancia de este artefacto se puede llevar a cabo

en un sistema individual o externo.

Caso de uso: este artefacto define un conjunto de instancias de caso de uso, donde cada instancia

es una secuencia de acciones que lleva a cabo un sistema que producen un resultado observable

de valor para un actor concreto.

El objetivo principal del caso de uso es capturar el comportamiento del sistema necesario desde

la perspectiva del usuario final para alcanzar uno o más objetivos deseados. Los casos de uso se

utilizan para muchos roles diferentes para muchos objetivos, que incluyen:

o Por clientes para describir, o como mínimo para aprobar, la descripción del

comportamiento del sistema.

o Por usuarios potenciales para comprender el comportamiento del sistema.

o Por arquitectos de software para identificar las funcionalidades arquitectónicamente

significativas.

o Por personas que analizan, diseñan e implementan el sistema para comprender el

Page 5: Disciplina de Requisitos de RUP

Ing. MCC Lain J. Cárdenas E. 5

comportamiento del sistema necesario y para perfeccionar la definición del sistema.

o Por diseñadores para identificar clases de los flujos de sucesos de los Casos de uso.

o Por verificadores (que realizan pruebas) como base desde la cual se identifica un

subconjunto de los casos de prueba necesarios.

o Por gestores para planear y valorar el trabajo para cada iteración.

o Por escritores de documentación para comprender el comportamiento del sistema desde

la perspectiva de la secuencia de uso que debe describirse en la documentación (como

el manual de usuario del sistema).

Un caso de uso consta principalmente de una especificación textual (denominada Especificación

de caso de uso) que contiene una descripción del flujo de sucesos que describen la interacción

entre los actores y el sistema. La especificación también suele contener otra información como

condiciones previas, condiciones posteriores, requisitos especiales y casos de ejemplo clave. El

caso de uso también se puede representar visualmente en UML para mostrar relaciones con otros

Casos de uso y actores.

Una Especificación de caso de uso puede tener las siguientes propiedades:

o Nombre: El nombre del caso de uso.

o Descripción breve: Una descripción breve del rol y el objetivo del caso de uso.

o Flujo de sucesos: Una descripción textual de lo que hace el sistema respecto al caso de

uso (no cómo se resuelven los problemas específicos en el sistema). La descripción es

comprensible para el cliente.

o Requisitos especiales: Una descripción textual que recopila todos los requisitos, como

requisitos no funcionales, sobre el caso de uso, que no se consideran en el modelo de

caso de uso, pero que deben cuidarse durante el diseño o implementación.

o Condiciones previas: Una descripción textual que define una restricción en el sistema

cuando el caso de uso puede empezar.

o Condiciones posteriores: Una descripción textual que define una restricción en el

sistema cuando los Casos de uso han terminado.

o Puntos de ampliación: Una lista de ubicaciones dentro del flujo de sucesos del caso de

uso en el que se puede insertar un comportamiento adicional utilizando la relación de

ampliación.

o Relaciones: Las relaciones, como asociaciones de comunicación, de inclusión, de

generalización y de ampliación, donde participa el caso de uso.

o Diagramas de actividad: Estos diagramas ilustran la estructura del flujo de sucesos.

o Diagramas de casos de uso: Estos diagramas muestran las relaciones que implican al

caso de uso.

Algunos proyectos aplican los casos de uso de manera informal para descubrir requisitos, pero

documentan y mantienen estos requisitos en otras formas. La forma de personalizar los casos de

uso puede depender del tamaño del proyecto, la experiencia, el conjunto de herramientas, las

relaciones con el cliente, etc.

Paquete de Casos de uso: este artefacto es una recopilación de casos de uso, actores, relaciones,

diagramas, y otros paquetes; se utiliza para estructurar el modelo de caso de uso dividiéndolo en

componentes más pequeños.

El artefacto Especificaciones Suplementarias:

En este artefacto se capturan los requisitos del sistema que todavía no se han capturado en los Casos de

Uso del modelo de Casos de Uso. El Analista de sistemas es responsable de este artefacto. Estos

requisitos incluyen:

Requisitos legales y normativos, y estándares de aplicación

Los atributos de calidad del sistema que se debe construir, que incluyen la utilización, la

fiabilidad, el rendimiento y requisitos de capacidad de soporte

Page 6: Disciplina de Requisitos de RUP

Ing. MCC Lain J. Cárdenas E. 6

Otros requisitos como los de los sistemas operativos y entornos, la compatibilidad con otro

software, y las restricciones de diseño.

Las especificaciones suplementarias son un complemento importante del Modelo de Casos de Uso, puesto

que conjuntamente capturan todos los requisitos de software (funcionales y no funcionales) que se deben

describir para servir como una completa Especificación de requisitos de software.

La especificación suplementaria captura todos los requisitos globales del sistema, no solo los funcionales.

Existe la creencia errónea de que todos los requisitos funcionales residen en los productos de trabajo de

Caso de uso y que todos los requisitos no funcionales residen en el producto de trabajo de la

Especificación suplementaria. Esto no es exactamente así, puesto que algunos requisitos funcionales son

aplicables al sistema de forma global (como por ejemplo un requisito de ayuda en línea). De forma

similar, algunos requisitos no funcionales sólo son aplicables a un caso de uso determinado (o un flujo

dentro de un caso de uso, en cuyo caso el requisito debería adjuntarse al caso de uso, de lo contrario el

sistema tendría un diseño excesivo.

Es recomendable que las especificaciones suplementarias se organicen de acuerdo con las categorías de

requisitos FURPS+.

Requisitos

Un requisito se define como "una condición o posibilidad que debe cumplir el sistema".

Hay muchas clases diferentes de requisitos. Una de las maneras de categorizarlos se describe como el

modelo FURPS+; se utiliza el acrónimo FURPS para describir las principales categorías de requisitos con

subcategorías, como se muestra a continuación.

Funcionalidad (F)

Utilización (U)

Fiabilidad (R)

Rendimiento (P)

Soportabilidad (S)

El "+" de FURPS+ le recuerda que debe incluir requisitos como:

restricciones de diseño

requisitos de implementación

requisitos de la interfaz

requisitos físicos.

Los requisitos funcionales (la F de FURPS+) especifican acciones que debe poder realizar un sistema,

sin tener en cuenta las restricciones físicas. Estos requisitos suelen describirse correctamente en un

modelo de caso de uso y en Casos de uso. Los requisitos funcionales especifican el comportamiento de

salida y entrada de un sistema.

Los requisitos que no son funcionales, como los que se listan a continuación, también se conocen a veces

como requisitos no funcionales (la U, R, P, S, y el + de FURPS+). Muchos requisitos no son funcionales

y sólo describen atributos del sistema o atributos del entorno del sistema.

Funcionalidad (F):

Los requisitos funcionales pueden incluir:

conjuntos de características

posibilidades

seguridad

Page 7: Disciplina de Requisitos de RUP

Ing. MCC Lain J. Cárdenas E. 7

Utilización (U):

Los requisitos de utilización pueden incluir subcategorías como:

factores humanos

estética

coherencia de la interfaz de usuario

ayuda en línea y según contexto

asistentes y agentes

documentación de usuario

materiales de formación

Fiabilidad (R):

Los requisitos de fiabilidad que se deben tener en cuenta son:

frecuencia y gravedad del error

capacidad de recuperación

previsibilidad

precisión

tiempo medio entre errores (MTBF)

Rendimiento (P):

Un requisito de rendimiento impone condiciones a los requisitos funcionales. Por ejemplo, en una acción

dada, puede especificar parámetros de rendimiento para lo siguiente:

velocidad

eficiencia

disponibilidad

precisión

rendimiento

tiempo de respuesta

tiempo de recuperación

utilización de recursos

Soportabilidad (S):

Los requisitos de capacidad de soporte incluyen:

comprobabilidad

capacidad de ampliación

adaptabilidad

mantenimiento

compatibilidad

capacidad de configuración

capacidad de servicio

capacidad de instalación

capacidad de localización (internacionalización)

Requisito de diseño:

Un requisito de diseño, a menudo llamado restricción de diseño, especifica o restringe el diseño de un

sistema.

Page 8: Disciplina de Requisitos de RUP

Ing. MCC Lain J. Cárdenas E. 8

Requisito de implementación:

Un requisito de implementación especifica o restringe la codificación o la construcción de un sistema.

Los ejemplos son:

estándares necesarios

lenguajes de implementación

políticas de integridad de bases de datos

límites de recursos

entornos operativos

Requisito de interfaz:

Un requisito de interfaz especifica:

un elemento externo con el que debe interactuar un sistema

restricciones de formato, tiempo u otros factores que utilice esta interacción

Requisito físico:

Un requisito físico especifica una característica física que debe tener un sistema; por ejemplo,

material

forma

tamaño

peso

Este tipo de requisito se puede utilizar para representar requisitos de hardware, como las configuraciones

de red física necesarias.

Referencias:

Peter Zielczynski, Requirements Management Using IBM Rational RequisitePro. 1ª edición.

IBM Press, 2008.

The Rational Unified Process Product. The browser based online documentation for the RUP.

IBM Corporation 2007.