HERRAMIENTA PARA LA ELABORACIÓN DEL DOCUMENTO DE ESPECIFICACION DE REQUERIMIENTOS DE SOFTWARE: HEDERS. Área de Conocimiento: Ingeniería de Software Liliana Velázquez Bello, María de los Ángeles Sumano López Facultad de Estadística e Informática, Universidad Veracruzana, Av. Xalapa casi esquina con la Av. Manuel Ávila Camacho, Xalapa, Veracruz, México. [email protected], [email protected] RESUMEN. Para el desarrollo de un software el cliente y el desarrollador deben de tomar un tiempo para aclarar los requerimientos del sistema, en muchas ocasiones esta parte puede llegar a ser la más complicada, por lo que el principal problema es comprender que es lo que requiere el cliente y después especificar como desarrollar el proyecto, y si se terminara en el tiempo que se especifica. Por los problemas antes mencionado se estudia la parte de requerimientos, proporcionándole un enfoque más especifico, al obtener esta herramienta que ayude a especificar las necesidades de los clientes en un documento, detallando una base para que estos requerimientos y aspectos importantes para el desarrollo sean plasmados en el y para que el desarrollo del sistema puedan quedar asentados, obteniendo un acuerdo entre el cliente y el desarrollador en tiempo y forma, a este documento se le llama Especificación de Requerimientos de Software ERS. Palabras Clave: Cliente, Desarrollador, Requerimientos, Especificación de Requerimientos de Software, Acuerdo. 1. Introducción A pesar de los avances significativos en cuanto a tecnologías de información muchos sistemas son abandonados por no tener bien estructurados los requerimientos del cliente. Al comenzar a desarrollar un sistema, es importante especificar los requerimientos de software, estos deberán ser bien especificados, estructurados, y entendible tanto para el desarrollador como para el cliente, ya de esto depende el adecuado funcionamiento del sistema o el fracaso del mismo. Los Requerimientos son una especificación de lo que debería ser implementado. Son una descripción de cómo el sistema debería comportarse o de una propiedad o atributo del sistema. Puede ser una restricción sobre el proceso de desarrollo del sistema [1]. En la práctica habitualmente no se cuenta con una herramienta que ayude a la especificación adecuada de los requerimientos del cliente y las respectivas especificaciones del desarrollador. El proyecto HEDERS tiene el fin de poder realizar un documento de especificación de requerimientos de software bajo el estándar especificado en la IEEE 830-1998 [4], el cual pueda seguir su desarrollo mediante esta herramienta y ayude a los involucrados a un acuerdo. 2. Panorama reducido del estado del arte En la actualidad existen herramientas que permiten seguir la Especificación de Requerimientos de Software (ERS) las cuales ayudan al logro del avance y a la culminación de la especificación de requerimientos, pero por lo regular estas herramientas son costosas de adquirir. Al momento de realizar un sistema de software es común que se carezca de una base para realizar un documento ERS de forma eficiente, que abarque y tome los puntos referentes para la Especificación de los Requerimientos de Software, con el cual se pueda puntualizar los aspectos más importantes para la obtención de un acuerdo mutuo entre cliente y desarrollador. Todo esto nos da un punto de partida para la elaboración de HEDERS la cual aborde todos estos problemas y ayude a la elaboración del documento ERS de forma fácil de acuerdo al formato del estándar de la IEEE 830-1998. 3. Descripción de las metodologías o técnicas usadas La metodología Áncora [2] ha sido realizada para el análisis de los requerimientos, y los desarrolladores han experimentado con ella obteniendo resultados muy buenos, por lo que se utilizó en este proyecto por la eficacia de los artefactos que esta produce y para reducir el tiempo de la especificación de requerimientos. Para el análisis de este proyecto se utilizó la metodología Áncora la cual cubre la parte de estudio de Análisis de Requerimientos, apoyados por PUDS [3] (Proceso Unificado de Desarrollo de Software) para el análisis, diseño e implementación, programando en Java bajo el ambiente de MyEclipse. 4. Resultados Experimentales 4.1. Análisis de Requerimientos de HEDERS Para poder tener asentadas todas las peticiones pertinentes HEDERS indica paso a paso la realización del documento de Especificación de Requerimientos de Software provocando que a lo largo del sistema los involucrados queden satisfechos con este acuerdo. Las especificaciones de esta herramienta son las siguientes: ¾ Construir el documento de Especificación de Requerimientos de Software (ERS) de acuerdo a la estructura de la IEEE 830-1998 [4], esta parte es la principal dentro del desarrollo de este proyecto ya que aquí se especifica paso a paso todas las especificaciones tanto del cliente y el desarrollador obteniendo un reporte impreso del documento ERS ¾ Importar requerimientos de otras herramientas creadas por desarrolladores de la UV, como son RSN, Guiones, Puntos de Función los cuales ayuden a recabar puntos importantes dentro del documento ERS. ¾ Especificar los requerimientos dentro de la herramienta HEDERS y puedan ser clasificados de acuerdo a su tipo los cuales van a ser estipulados en el documento de ERS. ¾ Especificar datos importantes del cliente y poder almacenar los proyectos dentro de una base de datos para formar un histórico de proyectos. Figura 1: Guión de la Propuesta Computacional En la figura 1 se muestra el guion de la propuesta computacional de la herramienta HEDERS el cual muestra los requerimientos funcionales de esta herramienta, además, se puede observar cada una de las escenas como la de importación de requerimientos, y la creación del documento de Especificación de Requerimientos de Software ERS partes importantes y especificas de esta herramienta. 4.2 Estructura de HEDERS La obtención del buen funcionamiento de esta herramienta ayudara a muchas personas involucradas en obtener un resultado esperado, todo esto requiere de una adecuada estructura, además de un buen análisis como lo hemos estado mencionando, esto nos ayudara a crear documentos de Especificación de Requerimientos ERS, pero con un valor de calidad al momento de realizarlo. Por tal motivo esta herramienta cuenta con la siguiente estructura y se representa mediante un diagrama de paquetes para su mejor visualización, ver Figura 3. Figura 3. Diagrama de Paquetes de HEDERS En la Figura 3 se muestra un bosquejo importante de los principales paquetes con los que esta herramienta cuenta se muestra el apoyo de herramientas externas las cuales apoyan a HEDERS para la formación del documento ERS. Estas herramientas apoyan en la parte de importación con lo cual extraemos algunos apartados que nos ayudan a la formación del documento ERS. 4.3 Componentes que conforman el diseño de la herramienta. Para poder tener una visión más clara del diseño de la herramienta HEDERS se muestran algunos componentes esenciales. En la Figura 4 se muestra el diagrama general de casos de uso los cuales están conformados por los requerimientos funcionales del sistema los cuales son: Capturar datos del cliente, Capturar funciones de Usuario, Capturar requerimientos, Importar requerimientos, Importar requerimientos, Modificar requerimientos, Generar documento ERS, Exportar reportes. Figura 4. Caso de uso general de HEDERS El diagrama de secuencia ayuda a poder tener una visión del funcionamiento de una parte de la herramienta. En la Figura 5 se muestra de manera detallada las funciones que se realizan en el diagrama de secuencia del alta de información ERS. Figura 5. Alta de información de HEDERS 5. Conclusiones Al concluir esta herramienta nos damos cuenta que tan importante es poder llevar a cabo el análisis de requerimientos de un sistema, utilizando una metodología que se adapte a nuestras necesidades. Al momento de utilizar esta herramienta facilitara y llevara paso a paso la realización del documento de Especificación de Requerimientos de Software ERS obteniendo como resultado una mayor organización en la parte documental de los requerimientos de software amparando las especificaciones importantes del sistema, además de brindar apoyo a los desarrolladores a formalizar un acuerdo entre los clientes, con el fin de desarrollar productos de calidad. Referencias [1] Sommerville I. (2005). Ingenieria de Software (7ª. Ed.). Madrid: Addison Wesley. [2] Sumano, A. (2006). Áncora: Análisis de requerimientos de software conducente al reuso de artefactos. México: Universidad Veracruzana. [3] Jacobson I., Booch G., Rumbaugh J. (1999). El proceso unificado de desarrollo de Software. Madrid: Addison Wesley. [4] IEEE Std 1223 (1998). IEEE Recommended practice for Sotware Requeriments Specifications.