Captura de requisitos mediante REM

2
85787

Captura de requisitos
mediante REM

 

Captura de requisitos mediante REM.. 1

Introducción. 1

Instalación de la aplicación. 2

Arranque de la aplicación. 5

Un primer vistazo a REM.. 8

El objetivo de REM.. 9

Tipos de requisitos en REM.. 9

Un ejemplo ilustrativo: una librería
virtual 9

Captura inicial de requisitos. 10

Añadiendo organizaciones y
participantes. 11

Añadiendo el objetivo. 14

Añadiendo casos de uso. 18

Añadiendo los requisitos funcionales. 20

Añadiendo requisitos no funcionales. 22

Añadiendo requisitos de
almacenamiento de información. 23

Añadiendo requisitos de restricción. 25

Creando una matriz de rastreabilidad. 26

Organizando los requisitos: el modelo
estático y el dinámico. 29

El siguiente paso: el análisis. 30

Ampliando REM.. 30

Bibliografía. 31

Conclusión. 31

Sobre el autor 32

 

Introducción

En nuestro trabajo como desarrolladores de software
normalmente comenzamos los proyectos realizando una toma de requisitos. Estos
requisitos los incluimos en algún documento, por ejemplo en el plan del
proyecto o en un documento separado, si son muchos y detallados.

Para realizar la toma de requisitos hay varias metodologías,
que básicamente consisten en realizar entrevistas con el cliente, tomar notas y
añadir nuestra experiencia. Al final obtendremos un documento en el que
incluimos todos los requisitos que hemos detectado.

Si trabajamos para una organización grande, además nos
interesa que el formato de dicho documento sea lo más estándar posible dentro
de la organización. Y aquí es donde nos puede ayudar REM.

REM es una herramienta gratuita que nos permitirá reflejar la
captura de requisitos en un documento de manera ordenada, sin perder
flexibilidad a la hora de definir el formato estándar de dicho documento.

Pero la mejor manera de demostrar el movimiento, como
siempre, es andando, por lo que vamos a ponernos manos a la obra.

 

Instalación de la aplicación

La aplicación REM la podemos obtener desde la página de los
profesores Amador Durán y Beatriz Bernárdez en la universidad de Sevilla
(España)

 

http://www.lsi.us.es/docencia/pagina_asignatura.php?id=48

 

Nos descargamos el instalador y su manual. Ejecutamos el
programa instalador, en nuestro caso el setup.exe del REM_1_2_2

 

 

Pulsamos «Next»

 

 

NOTA IMPORTANTE: Este
software es de uso libre dentro del mundo académico. Para su uso fuera de este
entorno, por ejemplo en el entorno empresarial, hay que solicitar permiso al
autor, el doctor Amador Durán, tal y como indica su licencia.

 

Pulsamos «Yes»

 

 

Pulsamos «Next»

 

 

 

Pulsamos «Next»

 

 

 

 

>Nos indica que debido a un fallo en el programa de
instalación se debe editar a mano un fichero de texto. Pulsamos
«Aceptar»

 

 

Pulsamos «Finish» para finalizar la instalación.
Abrimos el fichero «C:\Archivos de
programa\REM_1_2\xml\default\REM_TraceImage.xsl»

 

 

y quitamos el último carácter (el que aparece marcado),
guardando de nuevo el fichero.

Arranque de la
aplicación

Iniciamos REM

 

 

Tras arrancar la aplicación nos aparece un proyecto en
blanco.

 

Con el panel izquierdo podemos seleccionar cuatro posibles
tipos de documentos:

 

·      
Documento de requisitos del sistema

·      
Documento de análisis del sistema

·      
Registro de conflictos y defectos

·      
Registro de peticiones de cambio

 

Lo primero que vamos a hacer es asignarle unas propiedades
al proyecto. Pulsamos con el botón derecho sobre el icono rojo titulado
«Documento de requerimientos del sistema»

 

 

Ahora damos nombre al proyecto y lo guardamos pulsando en
«Archivo\Guardar como…»

 

 

 

 

Nos quedará una ventana principal como esta:

 

 

 

 

Un primer vistazo a REM

 

La herramienta REM trabaja añadiendo nodos a nuestro
documento. Basta pulsar con el botón derecho sobre el icono del libro rojo para
obtener un listado de los elementos que podemos añadir a nuestro documento. Una
lista de los elementos que podemos añadir sería:

·      
secciones y apéndices al documento.

·      
Párrafos y elementos de glosario

·      
ficheros gráficos. Nos permitirá incluir imágenes en nuestro
documento

·      
organización

·      
participante

·      
reunión

·      
objetivo

·      
actor

·      
requisitos de almacenamiento, funcionales, no funcionales, de
restricción

·      
caso de uso

·      
matriz de rastreabilidad

·      
tipo de objeto, valor, asociación, operación de sistema

·      
conflicto, defecto y petición de cambio

 

El método de trabajo de la herramienta REM consiste en ir
añadiendo estos elementos a un árbol como nodos del árbol. Una vez añadido un
elemento, podemos editarlo, moverlo a otra posición, clonarlo o eliminarlo.

Según vamos añadiendo elementos el panel derecho se va
actualizando, para reflejar el nuevo elemento. Este panel es en realidad una
página html que queda guardada junto al fichero del proyecto REM.

 

El objetivo de REM

La herramienta REM está diseñada para facilitar la captura
de requisitos utilizando la metodología propuesta por los doctores Amador Durán
y Beatriz Bernárdez DB01. Esta metodología está enfocada a recoger los
requisitos de un sistema y construir un documento, el «Documento de
análisis del sistema», que es el documento que se entrega al cliente para
su validación y posterior desarrollo como producto.

En este tutorial nos vamos a centrar en el módulo de
captura de requisitos de REM, siendo nuestro objetivo generar el documento de
requisitos del sistema.

 

Tipos de requisitos en
REM

En esta herramienta se distinguen los siguientes tipos de
requisitos:

 

·      
Objetivo. No es un requisito en sí mismo, pero nos guiará a la
hora de fijar los requisitos

·      
Actor. Cada una de los usuarios que interactúan con el sistema

·      
Requisito de almacenamiento de información

·      
Requisito de restricción

·      
Requisito de caso de uso

·      
Requisito funcional

·      
Requisito no funcional

·      
Matriz de rastreabilidad. En estas matrices se puede colocar en
filas y columnas los diferentes requisitos, casos de uso, tipos (clases del
modelo), valores (atributos) y asociaciones, permitiendo por ejemplo
relacionar requisitos funcionales con tipos, para ver qué requisitos
funcionales afectan a cada tipo concreto.

Un ejemplo ilustrativo:
una librería virtual

Para proceder a la toma de requisitos vamos a imaginar que
estamos con un cliente y que nos encarga desarrollar un sistema informático
para gestionar la librería virtual que va a lanzar en Internet.

Primero comenzamos analizando su negocio normal, en el que
se dedica a la venta de libros. En sus oficinas tiene el siguiente personal:

·      
vendedores. Son con los que contactan los clientes para realizar
los pedidos y para resolver dudas

·      
despachadores. Son los empleados que preparan los envíos para los
clientes, que les han enviado los vendedores

·      
compradores. Son los encargados de realizar las compras a los
distribuidores y editoriales. También mantienen el catálogo de libros en venta.

·      
la dirección, que tiene visibilidad sobre todo el negocio

El proceso general del negocio es el siguiente:

Primero los compradores seleccionan un conjunto de libros
y los añaden al catálogo de libros.

Los clientes visitan el establecimiento y solicitan libros
del catálogo. Si el libro no está en catálogo, el comprador le dirá si es
posible encargarlo.

Una vez seleccionados los libros, los clientes realizan la
compra. Si la entrega no es inmediata, el cliente se pondrá en contacto
periódicamente para consultar el estado de su encargo al vendedor.

Por último la dirección evaluará mensualmente el estado
del negocio sacando estadísticas de compras y ventas.

 

Captura inicial de
requisitos

Ahora nos ponemos manos a la obra. Vamos a empezar a
capturar requisitos en REM.

Lo primero que vamos a hacer es añadir una sección de
introducción. Para ello seleccionamos el botón de nueva sección y le ponemos
como nombre «Introducción»

 

Le hemos añadido un párrafo en el que incluimos el texto
de lo hablado con el cliente.

 

Añadiendo
organizaciones y participantes

Ahora vamos a añadir dos organizaciones, la organización
cliente (Libros MN) y un desarrollador (Autentia). Vamos a añadir un
participante a cada organización, que serán el representante del cliente y el
desarrollador

Añadimos la organización pulsando el botón de añadir
organización que desarrollará el proyecto

 

 

Cuando hemos añadido las organizaciones podemos en las
propiedades del proyecto añadir la organización que prepara el documento y la
organización cliente

 

 

Añadimos el participante
desarrollador

 

 

y lo marcamos como desarrollador

 

 

Repetimos lo mismo con la organización del cliente. Al
final nos queda:

 

 

Añadiendo el objetivo

Ahora le añadimos un objetivo a nuestros requisitos: el
sistema deberá gestionar una librería virtual, en la que los clientes pueden
realizar y consultar pedidos, consultar el catálogo de la aplicación.

Seleccionamos el botón de añadir objetivo y se abre el
siguiente diálogo:

 

 

Como vemos el sistema lo identifica como OBJ-00001, Le
añadimos como nombre «librería virtual» y le ponemos la descripción
siguiente:

 

 

Ahora la ventana principal ya muestra el objetivo:

 

 

Por cada nodo que añadimos al proyecto REM, en el panel de
la derecha aparece una tabla con los campos del nodo.

 

Examinando los requisitos distinguimos los siguientes
actores:

·      
cliente. Es el usuario que va a acceder a la librería desde
Internet, para realizar la consulta de l catálogo y comprar libros

·      
vendedor. Son los responsables de hacer el seguimiento de las
ventas. Son los encargados de comunicarse con el cliente

·      
comprador. Son los responsables de hacer las compras de libros y
de confeccionar el catálogo. También son los encargados de hablar con los
distribuidores

·      
despachador. Accede a los pedidos pendientes, los prepara y los
envía.

·      
gerente. Solicita informes del sistema, para comprobar la marcha
del negocio.

 

Veamos como hacemos esto con REM. Pulsando con el botón de
añadir requisito funcional vamos añadiendo el primer actor:

 

 

 

Le hemos puesto como nombre «cliente». Ahora le
añadimos la descripción.

 

 

Al pulsar «Aceptar» se actualiza el documento REM.

 

 

Procedemos a dar de alta el resto de actores.

 

 

Con esto nuestro documento ya contiene los actores de
nuestra aplicación

Añadiendo casos de uso

Ahora vamos a buscar los casos de uso. Examinando la
descripción de la aplicación vemos los siguientes casos de uso:

·      
Consulta del catálogo de libros. Todos pueden acceder al catálogo

·      
Creación de un pedido. Lo hace el cliente y el vendedor (en
nombre de un cliente)

·      
Creación de una solicitud de libro o de información. Lo hace el
cliente

·      
Consulta de solicitudes de información, Lo puede hacer el cliente
(las suyas) y el vendedor (todas)

·      
Consulta de pedidos. Lo puede hacer el cliente (sus pedidos) y el
vendedor (todos los pedidos)

·      
Modificación del catálogo: Lo hace el comprador

·      
Modificación de Pedidos, Lo hace el despachador

·      
Consulta del almacén de libros. Lo pueden hacer el comprador y el
despachador.

·      
Modificación del almacén de libros. Lo puede hacer el despachador

·      
Petición de informe. Lo hace el gerente.

Veamos como añadimos un caso de uso en REM. Pulsamos en el
botón de nuevo caso de uso:

 

 

le ponemos como nombre «consulta del catálogo» y
le añadimos la descripción:

 

 

Y como antes, añadimos los demás casos de uso uno a uno.
Finalmente tendremos en el documento todos los casos de uso.

 

 

 

Añadiendo los
requisitos funcionales

 

Los requisitos funcionales definen las acciones que debe
realizar el sistema. Si analizamos la aplicación de librería podemos extraer
los siguientes requisitos:

·      
se presentará una pantalla inicial que servirá de entrada a la
aplicación. Tendrá un cajetín al lado izquierdo para que el usuario pueda
iniciar sesión.

·      
La pantalla inicial mostrará información de los libros más
vendidos, de las ofertas del mes y de noticias del sector.

·      
La pantalla de consulta del catálogo mostrará el conjunto de
criterios de búsqueda (autor, título, isbn, etc.), realizará una búsqueda
exacta o por texto libre en los campos del libro y devolverá los resultados
paginados

·      
Cuando el usuario se seleccione un libro, se añadirá al carrito
de la compra

·      
la pantalla carrito de la compra mostrará los libros
seleccionados y permitirá formalizar el pedido (orden de pago, etc.)

·      
la pantalla de solicitud de información permitirá al usuario
solicitar nuevos libros no disponibles en el catálogo o preguntar sobre temas
relacionados con los libros.

·      
La pantalla de consulta de pedidos permitirá al cliente
visualizar el estado de sus pedidos

·      
Habrá una pantalla de consulta de solicitudes de información,
usada por el vendedor para atender las peticiones del cliente

·      
Habrá una pantalla de despacho del pedido, para poder atender las
labores de despachado, como son indicar si se ha enviado el pedido, el modo de
envío, etc.

·      
La pantalla de modificación del catálogo permitirá añadir nuevos
libros disponibles al catálogo, eliminar los antiguos, etc.

·      
La pantalla de modificación del almacén permitirá controlar el
almacén de libros (consultas, altas, bajas, modificaciones)

·      
La pantalla de generación de informes calcula el informe
correspondiente al último mes.

Veamos como hacemos esto con REM. Pulsando con el botón de
añadir requisito funcional vamos añadiendo el primer requisito:

 

 

y le ponemos la descripción

 

 

 

Añadimos el resto de requisitos funcionales. Nos quedará
algo como:

 

 

Añadiendo requisitos no
funcionales

Los requisitos no funcionales son otros requisitos que no
forman parte de la funcionalidad principal de la aplicación, como requisitos
del entorno de desarrollo o ejecución (sistema operativo, servidores en los que
correrá, lenguajes, etc), restricciones que se aplicarán, prestaciones (tiempo
de respuesta mínimo, alta disponibilidad, etc.) y otros. Vamos a seleccionar
algunos como ejemplo para nuestra aplicación:

·      
La aplicación correrá en el entorno Linux – Tomcat – Struts –
Hybernate – MySql.

·      
Se definirá un libro de estilo y una hoja de estilo para la
interfaz, basada fundamentalmente en páginas HTML.

·      
Se usará Flash para los anuncios destacados: el banner principal
y los de ofertas y promociones. El código del flash sustituirá la imagen flash
por una fija si no está disponible flash

Veamos como hacemos esto con REM. Pulsando con el botón de
añadir requisito funcional vamos añadiendo el primer requisito no funcional:

 

 

Añadiendo requisitos de
almacenamiento de información

Veamos como hacemos esto con REM. Pulsando con el botón de
añadir requisito funcional vamos añadiendo el primer requisito de información:

·      
clientes dados de alta

·      
libro del catálogo

·      
pedido realizado

·      
libro disponible

·      
solicitud de información realizada por un cliente

Veamos como hacemos esto en REM. Creamos un nuevo
requisito de información

 

 

 

y le añadimos los detalles

 

 

Rellenamos el resto de requisitos de información, obteniendo

 

 

Añadiendo requisitos de
restricción

Los requisitos de restricción representarán las reglas de
negocio que se deben definir en la aplicación. En nuestro caso podemos definir
las siguientes:

·      
no se pueden despachar pedidos cuyo pago no se haya formalizado

·      
cuando se despacha un libro se debe actualizar el almacén. En
este momento se revisará el stock mínimo definido en el catálogo y se avisará a
compras para su reposición (control de stock estándar).

·      
si un pedido solicitado por un cliente no se despacha en menos de
15 días, el vendedor debe investigar la causa e informar al cliente

Veamos cómo añadimos esto en REM. Añadimos un requisito de
restricción a nuestro documento con el botón apropiado

 

 

y le añadimos los detalles

 

 

continuamos con el resto de restricciones. Nos quedará como
sigue

 

 

Creando una matriz de
rastreabilidad

 

Las matrices de rastreabilidad nos permitirán trazar las
dependencias entre los diferentes elementos del documento de requisitos. Pun
ejemplo típico es ver qué requisitos funcionales tienen incidencia sobre los
elementos de información almacenados. Creamos una matriz de rastreabilidad con
el correspondiente botón

 

 

 

le añadimos como filas los requisitos funcionales y como
columnas los requisitos de información que hay que guardar

 

 

nos aparece una matriz en blanco

 

Ahora nos vamos a un requisito de información y le
añadimos una traza. Por ejemplo la pantalla inicial consulta el catálogo.
Abrimos el requisito de consulta de catálogo y le añadimos la traza de destino
siguiente

 

 

nos queda

 

 

y ahora la matriz se actualiza

 

 

Ahora sólo falta completar el resto de las trazas de
nuestro proyecto.

Organizando los
requisitos: el modelo estático y el dinámico

Lo normal en la mayoría de los proyectos es organizar el
documento de requisitos en varias partes diferentes, como puede ser los
requisitos generales, el modelo estático y el modelo dinámico. También si vamos
a crear un prototipo conviene crear un capítulo específico. Para nuestro
ejemplo he creado las secciones «2. Modelo estático», «2.1
Actores», «2.2 Casos de uso», «2.3 Requisitos
funcionales», «2.4 Requisitos no funcionales» y «3 Modelo
dinámico», y he reorganizado todos los elementos en las nuevas secciones.
Me queda algo como lo siguiente

 

Utilizando adecuadamente las secciones de REM nos puede
quedar un documento de proyecto bastante clarito.

El siguiente paso: el
análisis

Una vez que hemos terminado el análisis de requisitos, al
menos inicialmente, hay que comenzar la etapa de análisis del sistema. REM
permite crear un documento de análisis del sistema, en el que reflejaremos los
tipos de objetos, valores, operaciones del sistema y otros. Incluso nos permite
crear un documento de defectos y otro de peticiones de cambio. Aunque es
sencillo de utilizar, no ofrece la potencia de un sistema de modelado de los
disponibles en la actualidad. Pero nos puede servir de ayuda para el comienzo
del análisis, sobre todo por la posibilidad de crear matrices de trazabilidad
para los tipos de objetos y operaciones del sistema.

Ampliando REM

Puede que REM no genere exactamente el documento de salida
que nosotros necesitamos. Ya que REM trabaja aplicando transformaciones XSLT
sobre el árbol XML que guarda en memoria. REM permite elegir otro juego de
plantillas XSLT para modificar el resultado final. Para ello debemos abrir el
cuadro de diálogo en «Herramientas\Opciones» y cambiar la opción
«archivo externo XSLT»

 

 

por defecto apunta a la plantilla en español que trae el
propio REM, en la carpeta donde lo hayamos instalado. Allí veremos un conjunto
de ficheros XSL, uno por cada tipo de nodo que procesa REM. En el manual de REM
se dan ejemplos, aunque no se proporcionan los ficheros de transformación.

Bibliografía

    
DB01 «Metodología para el análisis de requisitos para
sistemas software». Amador Durán, Beatriz Bernárdez. Departamento de
lenguajes y sistemas informáticos. Escuela técnica superior de ingeniería
informática. Universidad de Sevilla (España). 2001.

 

Conclusión

REM es una herramienta que nos facilitará la toma de requisitos
en nuestra aplicación. Nos permitirá de un modo sencillo generar un documento
normalizado en el que podremos incluir los requisitos necesarios para el
desarrollo de un sistema de información. Su uso es bastante sencillo, y la
documentación la genera en formato HTML, por lo que lo podremos utilizar
directamente como documentación de referencia en nuestro proyecto.

Sobre el autor

Cristóbal González Almirón es consultor de desarrollo de proyectos
informáticos. Actuamente desarrolla su labor profesional para la Comunidad de Madrid, a través de su Agencia de Informática y Comunicaciones, en proyectos de
implantación de gestión documental.

Su experiencia profesional se ha desarrollado en empresas como Compaq, HP,
Mapfre, Endesa, Repsol, Universidad Autónoma de Madrid, en las áreas de
Desarrollo de Software (Orientado a Objetos), tecnologías de Internet, Técnica
de Sistemas de álta disponibilidad y formación a usuarios.

Si quieres contactar con él, envía un correo a criskerberos-tutoriales@yahoo.com.

 

 

2 Comentarios

  1. Buen tutorial sobre el uso de esta herramienta, tengo una duda. ¿Cómo paso todo lo generado por la herramienta a un documento de Word o de Open Office? no consigo ver cómo hacerlo. Muchas gracias y un saludo

  2. Hola!!!

    Te felicito por el tutorial sobre el uso de la herramienta.

    Mi pregunta es la misma que la de Olga. ¿Cómo pasamos lo obtenido por la herramienta a un Word?

    Gracias anticipadas y un saludo,

    Ignacio

Dejar respuesta

Please enter your comment!
Please enter your name here