Está en la página 1de 8

Roger S.

Pressman Ingeniera de Software, un enfoque prctico HERRAMIENTAS PARA REQUERIMIENTOS LA AUTOMATIZACION DEL ANALISIS DE

Los mtodos de anlisis de requerimientos del software presentados en las secciones precedentes se desarrollaron originalmente para ser aplicados manualmente. Sin embargo, la aplicacin manual del anlisis estructurado, DSED o DSJ puede ser pesado y propenso a error cuando se analizan grandes sistemas. Hoy, cada uno de estos mtodos, junto con una clase de tcnicas especficamente diseadas para el procesamiento automtico, esta disponible en un formato de ayuda por computadora. Las herramientas para automatizar el anlisis son un primer paso hacia la ingeniera del software ayudada por computadora y estn mejorando ya la calidad y productividad de los analistas. Las herramientas para el anlisis automatizado de los requerimientos pueden clasificarse de varias formas diferentes. Algunas herramientas han sido diseadas para automatizar la generacin y mantenimiento de lo que era originalmente un mtodo manual y estas herramientas normalmente hacen uso de una notacin grfica para el anlisis. Esta clase de herramientas produce diagramas, ayuda a la subdivisin del problema, mantiene una jerarqua de informacin sobre el sistema y aplica heursticas para descubrir problemas con la especificacin. Ms importante, tales herramientas facilitan al analista actualizar la informacin y anotar las conexiones entre las nuevas y antiguas representaciones del sistema. Por ejemplo, el sistema CASE 2000 de Nastec (Figura 3.11) facilita al analista la generacin de diagramas de flujo de datos y un diccionario de datos y mantiene a stos en una base de datos que puede ser analizada para comprobar la correccin, consistencia y completitud. De hecho, el verdadero beneficio de esto, y de la mayora de las herramientas de requerimientos automatizados, esta en el procesamiento inteligente que la herramienta aplica a la especificacin del problema. Otra clase de herramientas para el anlisis automatizado de requerimientos, hacen uso de una notacin especial (en la mayora de los casos esto es un lenguaje de especificacin de requerimientos) que es procesada de una manera automtica. Los requerimientos se describen con un lenguaje de especificacin, que combina indicadores de palabras clave con explicaciones en lenguaje natural (p. ej., ingls). El lenguaje de especificacin se manda a un procesador que produce una especificacin de requerimientos y, ms importante, un conjunto de informes de diagnsticos sobre la consistencia y organizacin de la especificacin. En las secciones que siguen, presentamos una visin general de algunas de las ms importantes herramientas para el anlisis automatizado de los requerimientos. Es importante observar que las herramientas presentadas a continuacin son slo una muestra representativa. Existen muchas otras herramientas y, en el horizonte, se perlita una generacin completamente nueva de herramientas de anlisis basadas en el conocimiento o experto.

Roger S. Pressman Ingeniera de Software, un enfoque prctico

Roger S. Pressman Ingeniera de Software, un enfoque prctico

Roger S. Pressman Ingeniera de Software, un enfoque prctico SADT SADT (una marca registrada de Softech, Inc.) es una tcnica de anlisis y diseo estructural, que ha sido ampliamente usada como herramienta para la definicin de sistemas, anlisis de requerimiento de software y diseo de sistemas! software [R0S77, R0S851. Desarrollado originalmente como un mtodo manual, SADT consiste en procedimientos que permiten al analista descomponer las funciones del software (o sistema); una flotacin grfica, el actigrama y datograma de SADT, que comunica las relaciones de la informacin con las funciones dentro del software; y unos criterios de control del proyecto para aplicar la metodologa. Usando SADT, el analista desarrolla un modelo que comprende muchos actigramas y datogramas definidos jerrquicamente. Un formato de esta notacin se muestra en la Figura 5.26, y un ejemplo de un actigrama SADT en los primeros pasos de la fase de definicin de ingeniera del software, se describe en !a Figura 5.27 [FRE8OJ. Cada caja del actigrarna puede ser posteriormente refinada de la misma forma que un diagrama de flujo de datos sufre modificaciones-

La metodologa SADT comprende herramientas automticas que soportan procedimientos de anlisis y unos utensilios de organizacin bien definidos mediante los que pueden aplicarse las herramientas. Las revisiones y recorridos son especificados, permitiendo la validacin de la comunicacin tcnico/ cliente. Las responsabilidades del equipo son similares a las que se encuentran en un equipo con un programador jefe, acentuando un trabajo en equipo para el anlisis, diseo y revisin. SREM SREM (del ingls: Software Requeriments Engineering Methodology) [LF85] es una herramienta para el anlisis automatizado de los requerimientos, que hace uso de un lenguaje de declaracin de los requerimientos (RSL) para describir elementos, atributos, relaciones y estructuras. Los elementos (en la termino1o la SREM) comprenden un

Roger S. Pressman Ingeniera de Software, un enfoque prctico conjunto de objetos y conceptos usados para desarrollar una especificacin de requerimientos. Las relaciones entre objetos se especifican como parte del RSE y los atributos se utilizan para modificar o cualificar elementos. Las estructuras se utilizan para describir flujo de informacin. Estas primitivas RSI. Se combinan con informacin explicativa para dar los detalles de una especificacin de requerimientos. La potencia de una herramienta para automatizar los requerimientos puede ser medida por el software de soporte que ha sido desarrollado para analizar la especificacin. SREM se aplica a la ingeniera de requerimientos y sistemas de validacin (REVS). El software REYS utiliza una combinacin de informes y grficos de computadora para estudiar el flujo de la informacin, determinar la consistencia en el uso de la informacin a travs del sistema y simular las interrelaciones dinmicas entre los elementos. Igual que SADT, SREM incorpora un conjunto de procedimientos que guan al analista a lo largo de los pasos de requerimientos. Los procedimientos incluyen: 1. Traduccin. Una actividad que transforma los requerimientos iniciales del software descritos en una Especificacin del Sistema en un conjunto ms detallado de descripciones de datos y pasos de procesamiento. 2. Descomposicin. Una actividad que evala la informacin de la interface entre el elemento software y los resultados, en un conjunto completo de requerimientos computacionales (funcionales). 3. Asignacin. Una actividad que considera mtodos alternativos a los requerimientos que han sido establecidos; son realizados estudios de compromiso y anlisis sensitivos. 4. Demostracin de factibilidad analtica. Una actividad que intenta simular los requerimientos de procesamiento crticos para determinar la factibilidad RSL se usa fuertemente en los primeros dos procedimientos y REVS se utiliza para realizar los procedimientos 3 y 4. SREM fue desarrollado para sistemas de computadoras empotrados. Recientes extensiones permiten aplicarlos a sistemas concurrentes distribuidos. PSE/PSA PSL/PS (del ingls: Problem Statemen Language/Problem Statement Analyzer) fue desarrollado por el proyecto ISDOS [TE177] en la Universidad de Michigan y es parte de un sistema mayor llamado Computer Aided Design and Specification Analysis Tool, CADSAT. PSL/PSA proporciona al analista capacidades que incluyen: 1) descripcin del sistema de informacin, independientemente del rea de aplicacin; 2) creacin de una base de datos conteniendo descriptores para los sistemas de informacin; 3) adicin, supresin y modificacin de descriptores, y 4) produccin de documentacin formateada y una variedad de informes sobre la especificacin. La estructura del modelo PSL/PSA tiene la forma mostrada en la Figura 5.23. El modelo se desarrolla usando descriptores de PSL para el flujo de informaci6n del sistema, estructura

Roger S. Pressman Ingeniera de Software, un enfoque prctico del sistema, estructura de datos, derivacin de datos, tamao y volumen del sistema, dinmica del sistema, propiedades del sistema y gestin del proyecto. Las herramientas se han desarrollado [NAS86] para facilitar que otras representaciones de requierimientos (p. ej., diagramas de flujos de datos y diccionarios de datos) sean traducidos a la representacin PSL. Una vez que se establece una descripcin completa del sistema en PSL, se llama al analizador de los problemas (PSA). PSA produce varios informes que incluyen un registro de todas las modificaciones hechas a la base de datos de especificaciones, informes de referencia que presentan la informacin de la base de datos en varios formatos, resmenes que dan informacin de gestin del proyecto e informes de anlisis que evalan las caractersticas de la base de datos. TAGS TAGS (del ingls: Technology for the Automated Generation of Systems) fue desarrollado por Teledain Brown Engineering, Inc. [SE185] como un mtodo automatizado para la aplicacin de mtodos de ingeniera de sistemas. Igual que SREM y PSL/PSA, TAGS esta compuesto de tres componentes clave: un lenguajes de especificacin llamado Lenguaje de Requerimientos de Entrada/ Salida (IORL), un conjunto de herramientas de programacin para el anlisis de requerimientos y procesamiento de JORL y una metodologa TAGS subyacente. A diferencia de SREM y PSL/PSA, el lenguaje de especificacin TAGS fue diseado para acomodar representaciones grficas y textuales creadas por el analista usando una herramienta interactiva. El nivel superior de una representacin IORL es un diagrama de bloque esquemtico (SBD). Los SBD identifican las componentes primarias del sistema y las interfaces de datos entre ellas. Pararneters: BOxPSADB.DBF INPUT=# SOURCE-LISTING NOCROSS-REFERENCE UPDATE DMA- BASE- REFERENCE LINE 5 T M T ID FIELD 1 > Este programa en PSL describe los siguientes aspectos del ejemplo 2 > del sistema de tratamiento de nmina: 3> 4 > Estructura de datos 5> 6> 7 > INPUT informacin-empleado; 8 > CONSISTS OF cdigo-operacin, informacin-requerida; 9 10 > ELEMENT cdigo-operacin; 11 > VALUES ARE 1 THRU 3; 12> 13 > GROUP informacin-requerida; 14>

Roger S. Pressman Ingeniera de Software, un enfoque prctico 15 > INPUT fichas-tipo; 16 > CONSTSTS OF una-ficha-tiempo; 17> 18 > GROUP una-ficha-tiempo; 19 > CONSISTS OF nmero-empleado, horas regulares, horas-extras; 20> 21 > OUTPUT cheque; 22 > CONSISTS OF nombre-empleado, sueldo-neto, deduccin; 23> 24 > GROUP nombre-empleado; 25 > CONSISTS OF apellidos, iniciales; (6> 27 > GROUP deduccin; 28 > CONSISTS OF sueldo-bruto, impuestos, seguro-desempleo; 29 > pensin, dbitos, sueldo-neto; 30> 31 > SET archivo-maestro-antiguo, archivo-maestro-nuevo; 32 > CONSISTS OF nmero de empleados archivo maestro; 33 > SUBSETTING-CRITERIA ARE provincia; 34> 35 > ENTITY registro-archivo-maestro; 36 > CONSJSTS OF clave registro, nmero-empleado, nombre-empleado; 37 > provincia, cdigo-impuesto; 38 > IDENTIFIED SY clave-registro; 39 40 > ELEMENT paga-por.horas; 41 > VALUES ARE 5 THRU 20; 42 43 3 ELEMENT nmero-empleado, apellidos, cdigo-impuesto; horas regulares, horas-extras, sueldo-bruto, impuestos; > seguro-desempleo, pensin, dbitos, 46 > sueldo-neto, cdigo-tasas, provincia; 41> 48 > EOF FIGURA 5.28. Listado fuente en PSL. (Fuente: PSL/PSA Primer, ISDOS Project. Univcrsity of Michigan. Reproducido con permiso). Cada componente del sistema en un SBD puede ser refinada representando las relaciones de entrada/salida, tiempo y otras informaciones suplementarias. La especificacin JORL es analizada usando varias herramientas de programacin. Estas incluyen un analizador de diagnstico que ayuda a descubrir los errores estticos (p. ej., errores sintcticos, violaciones rango) en la especificacin y un compilador de simulacin que ayuda a descubrir los errores dinmicos, simulando el sistema modelado con IORL. La salida combinada del analizador y compilador es un cdigo fuente en el lenguaje de programacin Ada, el cual se utiliza para crear la simulacin del sistema.

Roger S. Pressman Ingeniera de Software, un enfoque prctico Herramientas de anlisis un resumen El mtodo automtico para el anlisis de requerimientos dados por SADT, SREM, PSL/PSA, TAGS y otras herramientas no es una panacea, pero tienen ciertos beneficios entre los que se incluyen: Mejora la calidad de la documentacin a travs de la estandarizacin e informes. Mejor coordinacin entre lo analistas a los que est disponible la base de datos. Los olvidos, omisiones e inconsistencias se descubren ms fcilmente mediante aplicaciones e informes de referencias cruzadas. El impacto de las modificaciones puede ser trazado ms fcilmente. Se reducen los costes de mantenimiento para la especificacin.

Un lector preceptivo notar que estas herramientas tienen muchas caractersticas en comn. Todas demandan un mtodo formal de especificacin (grfico o textual); todas dan mecanismos automticos o semiautomticos para analizar la especificacin; todos crean una base de datos que representa los requerimientos en trminos de informacin del sistema, componentes y procesos; y todos se utilizan para ayudar al analista, aunque se basan en la informacin dada por el analista y el cliente. Las herramientas de anlisis automticas de hoy son el anuncio de herramientas ms avanzadas que abarcarn el diseo de programas y, finalmente, la generacin y verificacin automtica de programas. Los sistemas basados en el conocimiento (expertos) se aplicarn probablemente a las tareas de anlisis de requerimientos. Sin embargo, la definicin de la base de conocimiento (hechos, regias e inferencias necesarias para ejecutar el anlisis) permanecer como un desafi significativo en un previsible futuro.