Sie sind auf Seite 1von 21

Fundamentos de Ingeniera de Software ISC Unidad II

FUNDAMENTOS DE INGENIERIA DE SOFTWARE


UNIDAD II
II.- INGENIERA DE REQUISITOS.
2.1. Tareas de la Ingeniera de Requisitos.
Se define como un conjunto de actividades en los cuales, utilizando tcnicas
y herramientas, se analiza un problema y se concluye con la especificacin de una
solucin. La ingeniera de requisitos es el proceso de desarrollar una especificacin
de software. Sirve como una base slida en el proceso de desarrollo de software,
por lo que antes de pasar a tratar los aspectos referentes a la administracin
adecuada de los requerimientos, es importante primero lo que es un requerimiento
y cules seran las caractersticas deseables que deberan tener.
Que son Requerimientos?
1. Es una condicin o necesidad de un usuario para resolver un problema o
alcanzar un objetivo. (Std 610.12-1900, IEEE:62)
2. Una condicin o capacidad que debe estar en un sistema o componentes de
sistema para satisfacer un contrato, estndar, especificacin u otro
documento formal. (Std 610.12-1900, IEEE:62)
3. Un requerimiento es simplemente una declaracin abstracta de alto nivel de
un servidor que debe proporcionar el sistema o una restriccin de ste. (Ian
Sommerville, 2005: 108)

Inicio: Tiene por objetivo identificar el mbito del proyecto general. Comienza
con una serie de conversaciones informales entre los participantes del mismo.
Esta fase suele ser acompaada de los documentos de definicin de la visin
global y la visin del dominio del sistema. Se inicia muchas veces por: se
descubre un nuevo mercado y se descubre un nuevo servicio.

Obtencin: Se sugiere a los ingenieros recopilar requisitos de manera


organizada, preguntando a los usuarios y otros interesados cuales son os
objetivos para el sistema o producto, que es lo que se debe lograr, de que
forma el producto satisface las necesidades del negocio y como se utilizara el
producto da d da. Se identifican una serie de problemas que ayudan a
entender porque es difcil la obtencin de requisitos:

I.T.C.J.

34

Fundamentos de Ingeniera de Software ISC Unidad II

Problema de mbito
Problema de comprensin
Problemas de volatilidad

Elaboracin: Se crea un modelo de anlisis con la informacin obtenida del


cliente en las fases de inicio y obtencin. La informacin conseguida con el
cliente durante el inicio y obtencin se expande y se refina durante la
elaboracin. Esta actividad se enfoca en el desarrollo de un modelo tcnico
refinado de las funciones, caractersticas y restricciones del software. La
elaboracin se conduce mediante la creacin y refinamiento de escenarios del
usuario que describan la forma en que el usuario final y otros actores
interactan con el sistema.

Negociacin: En esta etapa el ingeniero de requisitos debe negociar con el


cliente los alcances y lmites del sistema. De forma iterativa los requisitos se
prioriza, modifican, combinan o eliminan buscando acuerdos que beneficien a
todas las partes. Se identifican y analizan los riesgos asociados con cada
requisito.

Especificacin: Es el producto final de la ingeniera de requisitos, y se


convierte en la materia prima para las actividades posteriores en el proceso de
desarrollo del sistema. Una especificacin puede ser un documento escrito, un
conjunto de modelos grficos, un modelo matemtico formal, una coleccin de
escenarios de uso, un prototipo o cualquier combinacin de estos.

Validacin: Un equipo de validacin toma el producto de la fase de


especializacin, lo revisa para detectar errores, conflictos u omisiones y los
corrige con el fin de garantizar la consistencia de requisitos. La validacin de
requisitos examina la especificacin para asegurar que todos los requisitos de
software se han establecidos de manera precisa; que se han detectado las
inconsistencias omisiones y errores y que estos han sido corregidos y que el
producto de trabajo cumple con los estndares establecidos para el proceso,
proyecto y producto.

Gestin

de

requisitos:

Ayuda

rastrear

los

requisitos

segn

las

caractersticas de los mismos, el cdigo fuente relacionado, dependencia entre


requisitos, subsistemas e interfaces internas y externas de forma que pueda
I.T.C.J.

35

Fundamentos de Ingeniera de Software ISC Unidad II

identificarse con rapidez para entender como afectara una modificacin


diferentes aspectos del sistema a construir. Es un conjunto de actividades que
ayudan al equipo de proyecto a identificar, controlar y rastrear los requisitos y
los cambios a estos en cualquier momento mientras se desarrolla el proyecto.

En la ingeniera de sistemas y la ingeniera de software, la Ingeniera de


requisitos o Ingeniera de requerimientos comprende todas las tareas relacionadas
con la determinacin de las necesidades o de las condiciones a satisfacer para un
software nuevo o modificado, tomando en cuenta los diversos requisitos de los
inversores, que pueden entrar en conflicto entre ellos.
Muchas veces se habla de requerimientos en vez de requisitos; esto se debe
a una mala traduccin del ingls. La palabra requirement debe ser traducida como
requisito, mientras que requerimiento se traduce al ingls como request.
El propsito de la ingeniera de requisitos es hacer que los mismos alcancen
un estado ptimo antes de alcanzar la fase de diseo en el proyecto. Los buenos
requisitos

deben

ser

medibles,

comprobables,

sin

ambigedades

contradicciones, etc.
Implicaciones
La Ingeniera de Requisitos implica todas las actividades del ciclo de vida
dedicadas a:
La educcin (a veces llamada "elicitacin", debido a una mala traduccin de
"elicitation") de los requisitos de usuario. El anlisis y negociacin de requisitos
para derivar requisitos adicionales. La documentacin de los requisitos como
especificacin. La validacin de los requisitos

documentados contra las

necesidades de usuario. As como los procesos que apoyan estas actividades.


Fases de Implementacin
Desde un punto de vista conceptual, las actividades son de cinco clases.
I.T.C.J.

36

Fundamentos de Ingeniera de Software ISC Unidad II

Obtener requisitos: a travs de entrevistas o comunicacin con clientes o


usuarios, para saber cules son sus expectativas.
Analizar requisitos: detectar y corregir las falencias comunicativas,
transformando los requisitos obtenidos de entrevistas y requisitos, en
condiciones apropiadas para ser tratados en el diseo.
Documentar requisitos: igual que todas las etapas, los requisitos deben estar
debidamente documentados.
Verificar los requisitos: consiste en comprobar el correcto funcionamiento de
un requisito en la aplicacin.
Validar los requisitos: comprobar que los requisitos implementados se
corresponden con lo que inicialmente se pretenda.

2.2. Tcnicas de la Ingeniera de Requisitos.


El proceso de Ingeniera de Requerimientos describe de manera detallada y
precisa

cada uno de los aspectos del ciclo de vida de un conjunto de

requerimientos. Este proceso presenta dos grandes ramas:

Desarrollo de requerimientos.
Administracin de requerimientos.

Que tiene como propsito producir y analizarlos requerimientos de cliente, de


producto y de componente de producto, incluye las siguientes actividades:

Recoleccin
Anlisis
Especificacin
Verificacin.

Recoleccin: Es el Proceso a travs del cual los clientes (compradores y/o


usuarios) y el desarrollador (contratista) de un sistema de software; descubren,
revisan, articulan, y entienden las necesidades de los usuarios del sistema y las
restricciones que se dan sobre el software y el desarrollo del mismo. Algunas de las
tcnicas y herramientas ms importantes para llevar a cabo la recoleccin de
requerimientos son: Entrevistas: mtodo para descubrir hechos y opiniones que
tienen los posibles usuarios y otros participantes dentro del sistema que se est
desarrollando. A su vez se clasifican en:
I.T.C.J.

37

Fundamentos de Ingeniera de Software ISC Unidad II

I.T.C.J.

Entrevistas cerradas: las preguntas ya estn previstas, tienen un orden y


una forma de ser planteadas que no pueden ser modificadas por el
entrevistador. Es en realidad un cuestionario.
Entrevistas abiertas: en las cuales no se preparan preguntas concretas, y,
por el contrario, se discute con el entrevistado las expectativas que este
tiene del sistema.
Casos de Uso y/o Escenarios: Los casos de uso describen interacciones
entre los usuarios y el sistema, enfatizando en lo que el usuario necesita del
sistema. Los escenarios son ejemplos de sesiones de interaccin entre el
sistema y el usuario, donde un solo tipo de interaccin entre los dos
participantes es simulada y descrita.
Observacin y anlisis social: La observacin permite a los
investigadores observar lo que los usuarios hacen actualmente en un
determinado contexto. Esto permite superar problemas con los participantes
del proyecto que realizan descripciones idealizadas o demasiado
simplificadas de los procesos que se llevan a cabo en sus trabajos.
Lluvia de Ideas: Son sesiones donde todos los participantes brindan sus
ideas para obtener una solucin a una problemtica. Una lluvia de ideas est
compuesta de dos fases: la fase de generacin y la fase de evaluacin.
Durante la generacin las ideas son recolectadas y es importante que no
sean criticadas. Durante la evaluacin de las ideas, las propuestas de
solucin deben ser evaluadas desde diferentes perspectivas.
Prototipos: Es programa de computador que implementa algunos de los
requerimientos de un sistema. Este prototipo puede ser usado para colaborar
con la definicin de los requerimientos, o para facilitar la evaluacin de
alternativas de implementacin de un sistema. Existen dos grandes tipos de
prototipos. Los prototipos no funcionales o desechables (Throw away), que
sirven para entender la dificultad y aclarar los requerimientos; y los
prototipos funcionales o evolutivos (Evolutionary) que permiten construir una
aproximacin del sistema de manera que se pueda proveer cierta
funcionalidad del sistema final y usualmente se convierten en parte del
mismo. Anlisis: Es el proceso de analizar las necesidades de los clientes y
los usuarios para llegar a una definicin de los requerimientos de software.
Dentro de las prcticas principales se encuentra: JAD (Joint Application
Development): Esta prctica se basa en la creacin de espacios que
permitan celebrar sesiones o reuniones en donde los participantes y directos
interesados dentro del desarrollo del proyecto buscan obtener o generar
conocimiento alrededor del desarrollo que se va a llevar a cabo. En estas
sesiones se trabaja bajo un enfoque comn que permite el fcil
entendimiento de los temas expuestos por parte de los invitados a la sesin.
Modelos: Esquema terico, generalmente en forma matemtica, de un
sistema o de una realidad compleja, como la evolucin econmica de un
38

Fundamentos de Ingeniera de Software ISC Unidad II

pas, que se elabora para facilitar su comprensin y el estudio de su


comportamiento. Existen dos tipos de modelos. - Modelo conceptual: Es el
utilizado en la especificacin del sistema, representa los conceptos ms
significativos en el dominio del problema. Nos describe la parte esttica del
problema, es una fotografa del mundo real. - Modelo de Comportamiento:
Utilizado en la parte de diseo del sistema, define la parte dinmica, es
decir, cul debe ser el comportamiento en cada situacin y la forma de
proceder.
Los diagramas de secuencia y de estados son parte de este modelo.

Especificacin: Consiste en el desarrollo de un documento que de manera


clara y precisa contenga y especifique cada uno de los requerimientos del
sistema de software.
Verificacin: Es el proceso de asegurar que la especificacin de
requerimientos de software sea acorde con los requerimientos del sistema,
conforme a los estndares de documentacin de la fase de requerimientos, y
que a su vez este documento sea una base slida para la arquitectura y el
diseo.
Esta actividad representa un punto de control interno y externo; interno,

porque se debe verificar internamente lo que se est haciendo, y externo, porque


se debe validar con el cliente.
Administracin

de

requerimientos: Es

un

proceso

que

tiene

por

objetivo

comprender y controlar los requerimientos. Como todo proceso de administracin,


inicia con la planeacin a la par de la identificacin inicial de requerimientos. Este
proceso tiene diferentes formas que dependen del proceso de desarrollo de
software que se est empleando, independientemente de esto se deben considerar
las siguientes etapas:
1. Requerimientos duraderos y voltiles.
2. Planeacin de la administracin de requerimientos.
3. Administracin del cambio de los requerimientos.
Raul
Tcnicas principales
La ingeniera de requisitos puede ser un proceso largo y arduo para el que se
requiere de habilidades psicolgicas. Los nuevos sistemas cambian el entorno y las
I.T.C.J.

39

Fundamentos de Ingeniera de Software ISC Unidad II

relaciones entre la gente, as que es importante identificar a todos los actores


involucrados,

considerar

sus

necesidades

asegurar

que

entienden

las

implicaciones de los nuevos sistemas. Los analistas pueden emplear varias


tcnicas para obtener los requisitos del cliente.
Histricamente, esto ha incluido tcnicas tales como las entrevistas, o
talleres con grupos para crear listas de requisitos. Tcnicas ms modernas incluyen
los prototipos, y utilizan casos de uso. Cuando sea necesario, el analista emplear
una combinacin de estos mtodos para establecer los requisitos exactos de las
personas implicadas, para producir un sistema que resuelva las necesidades del
negocio.
Entrevistas
Las entrevistas son un mtodo comn. Por lo general no se entrevista a toda
la gente que se relacionar con el sistema, sino a una seleccin de personas que
represente a todos los sectores crticos de la organizacin, con el nfasis puesto en
los sectores ms afectados o que harn un uso ms frecuente del nuevo sistema.
Los requisitos que surgen de las entrevistas a menudo se contradicen unos a otros
o se formulan desde la ignorancia de los detalles del funcionamiento del sistema,
sus potencialidades, interdependencias o limitaciones; por lo que se debe trabajar
con los mismos para corregir sus fallos. Las entrevistas pueden ser personales o
grupales.

Talleres
Los requisitos tienen a menudo implicaciones cruzadas desconocidas para las
personas implicadas individuales y que a menudo no se descubren en las
entrevistas o quedan incompletamente definidas durante la misma. Estas
implicaciones cruzadas pueden descubrirse realizando en un ambiente controlado,
talleres facilitados por un analista del negocio, en donde las personas implicadas
participan en discusiones para descubrir requisitos, analizan sus detalles y las
implicaciones cruzadas. A menudo es til la seleccin de un secretario dedicado a
la documentacin de la discusin, liberando al analista del negocio para centrarse
en el proceso de la definicin de los requisitos y para dirigir la discusin.
I.T.C.J.

40

Fundamentos de Ingeniera de Software ISC Unidad II

Forma de contrato
En lugar de una entrevista, se pueden llenar formularios o contratos
indicando los requisitos. En sistemas muy complejos stos pueden tener
centenares de pginas.
Objetivos medibles
Los requisitos formulados por los usuarios se toman como objetivos
generales, a largo plazo, y en cambio se los debe analizar una y otra vez desde el
punto

de

vista

del

sistema

hasta

determinar

los

objetivos

crticos

del

funcionamiento interno que luego darn forma a los comportamientos apreciables


por el usuario. Luego, se establecen formas de medir el progreso en la
construccin, para evaluar en cualquier momento qu tan avanzado se encuentra
el proyecto.

Prototipos
Un prototipo es una pequea muestra, de funcionalidad limitada, de cmo
sera el producto final una vez terminado. Ayudan a conocer la opinin de los
usuarios y rectificar algunos aspectos antes de llegar al producto terminado.
Casos de uso
Un caso de uso es una tcnica para documentar posibles requisitos, graficando
la relacin del sistema con los usuarios u otros sistemas. Dado que el propio
sistema aparece como una caja negra, y slo se representa su interaccin con
entidades externas, permite omitir dichos aspectos y determinar los que realmente
corresponden a las entidades externas. El objetivo de esta prctica es mejorar la
comunicacin entre los usuarios y los desarrolladores, mediante la prueba
temprana de prototipos para minimizar cambios hacia el final del proyecto y
reducir los costes finales. Esta tcnica se enfrenta a los siguientes peligros
potenciales.

A los directivos, una vez que ven un prototipo, les cuesta comprender que
queda mucho trabajo por hacer para completar el diseo final.

I.T.C.J.

41

Fundamentos de Ingeniera de Software ISC Unidad II

Los diseadores tienden a reutilizar el cdigo de los prototipos por temor a


perder el tiempo al comenzar otra vez.

Los prototipos ayudan principalmente a las decisiones del diseo y de la


interfaz de usuario. Sin embargo, no proporcionan explcitamente cules son
los requisitos.

Los diseadores y los usuarios finales pueden centrarse demasiado en el


diseo de la interfaz de usuario y demasiado poco en producir un sistema
que sirva el proceso del negocio.
Los

prototipos

pueden

ser:

diagramas,

aplicaciones

operativas

con

funcionalidades sintetizadas. Los diagramas, en los casos donde se espera que el


software final tenga diseo grfico, se realizan en una variedad de documentos de
diseo grficos y a menudo elimina todo el color del diseo del software (es decir
utilizar una gama de grises). Esto ayuda a prevenir la confusin sobre la apariencia
final de la aplicacin.

2.3. Modelado de Requisitos


Algunas de las debilidades de muchos mtodos estn contextualizadas en
etapas tempranas del desarrollo de software. Uno de los problemas derivado de
estas debilidades metodolgicas tiene que ver con la dificultad de determinar si el
modelo conceptual del sistema de software representa fiel y completamente los
requisitos de los usuarios. Casi siempre estos requisitos son expresados de forma
escasamente estructurada sin establecer ninguna correspondencia entre stos y
los elementos del modelo conceptual. Ms an, generalmente estos mtodos
carecen de directrices adecuadas para el desarrollo de modelos conceptuales
derivados

de

las

especificaciones

posteriormente

de

cdigo

que

sea

funcionalmente equivalente a dichos modelos


conceptuales.
Como un esfuerzo para la superacin de estas limitaciones, en este trabajo
se presenta un enfoque sistemtico de Ingeniera de Requisitos que define un
proceso que posibilita la descomposicin sistemtica y repetitiva de los requisitos
de software hasta obtener una detallada especificacin que constituir el modelo
I.T.C.J.

42

Fundamentos de Ingeniera de Software ISC Unidad II

conceptual del sistema deseado. Este enfoque pretende mejorar la calidad del
proceso de produccin de software:

Proporcionando predecibilidad mediante la construccin de un modelo


conceptual como una precisa, estructurada y bien definida representacin de
los requisitos de los usuarios.

Aumentando la productividad al establecer vnculos precisos entre el modelo


conceptual y los requisitos de los usuarios. Esto facilitar la incorporacin en
el modelo conceptual de cambios en los requisitos. En consecuencia, tales
modificaciones quedarn reflejadas tambin en el sistema de software
desarrollado.
Para lograr esto, el enfoque propuesto define un Modelo de Requisitos que

captura los aspectos funcionales del sistema mediante la aplicacin de tres


tcnicas complementarias entre s: la definicin de la Misin del sistema, la
construccin del rbol de Refinamiento de Funciones y el desarrollo del Modelo de
Casos de Uso.
Adicionalmente, se introduce el Proceso de Anlisis de Requisitos que permite
traducir el Modelo de Requisitos en el Modelo Conceptual manteniendo la
trazabilidad entre ambos modelos. Este proceso garantiza que cada elemento del
Modelo de Requisitos (espacio del problema) tenga una representacin en el
Modelo Conceptual.
El modelo de requisitos tiene como objetivo delimitar el sistema y capturar la
funcionalidad que debe ofrecer desde la perspectiva del usuario. Este modelo
puede funcionar como un contrato entre el desarrollador y el cliente o usuario del
sistema, y por lo tanto proyecta lo que el cliente desea segn la percepcin del
desarrollador. Por lo tanto, es esencial que los clientes puedan comprender este
modelo.
El modelo de requisitos es el primer modelo a desarrollarse, sirviendo de
base para la formacin de todos los dems modelos en el desarrollo de software.
I.T.C.J.

43

Fundamentos de Ingeniera de Software ISC Unidad II

En general, el cualquier cambio en la funcionalidad del sistema es ms fcil de


hacer, y con menores consecuencias, a este nivel que posteriormente. El modelo
de requisitos que desarrollaremos se

Se basa en la metodologa Objectory (Jacobson et al. 1992), basada


principalmente en el modelo de casos de uso. Actualmente esta metodologa es
parte del Proceso Unificado de Rational (RUP). El modelo de casos de uso y el
propio modelo de requisitos son la base para los dems modelos y se resume aqu:

Requisitos: El modelo de casos de uso sirve para expresar el modelo de


requisitos, el cual se desarrolla en cooperacin con otros modelos como se
ver ms adelante.

Anlisis: La funcionalidad especificada por el modelo de casos de uso se


estructura en el modelo de anlisis, que es estable con respecto a cambios,
siendo un modelo lgico independiente del ambiente de implementacin.

Diseo: La funcionalidad de los casos de uso ya estructurada por el anlisis


es realizada por el modelo de diseo, adaptndose al ambiente de
implementacin real y refinndose an ms.

Implementacin: Los casos de uso son implementados mediante el cdigo


fuente en el modelo de implementacin.

Pruebas: Los casos de uso son probados a travs de las pruebas de


componentes y pruebas de integracin.

Documentacin: El modelo de casos de uso debe ser documentado a lo


largo de las diversas actividades, dando lugar a distintos documentos como
los manuales de usuario, manuales de administracin, etc.

2.4. Herramientas CASE para la Ingeniera de Requisitos.


Con el nimo de facilitar las tareas del desarrollo de software, surgen
herramientas informticas que agilizan la labor en la Ingeniera de Requisitos.
Dichas herramientas son denominadas CASE (Ingeniera de software asistida por
computador), y sirven de apoyo para los desarrolladores, desde el principio hasta
el final del proceso. Para el caso particular de esta investigacin, son de especial
I.T.C.J.

44

Fundamentos de Ingeniera de Software ISC Unidad II

inters aquellos instrumentos que se encargan de actividades como: extraer,


analizar, documentar, revisar, negociar y validar los requisitos del sistema objeto
de estudio.
A medida que pasa el tiempo se logra entender que el empleo del software
es una buena opcin para agilizar y sistematizar las tareas en el desarrollo de
procesos. El desarrollo de software no es la excepcin; en este caso dichas
herramientas se han denominado CASE (Ingeniera De Software Asistida Por
Computador).

Estas

incluyen

un

conjunto

de

programas

que

facilitan

la

optimizacin de un producto ofreciendo apoyo permanente a los analistas,


ingenieros de software y desarrolladores.
CASE es la aplicacin de mtodos y tcnicas que dan utilidades a los
programas, por medio de otros, procedimientos y su respectiva documentacin. En
esta investigacin se hace referencia a las herramientas que ayudan a la gestin
de requisitos; es decir al proceso de identificacin, asignacin y seguimiento de los
mismos, incluyendo interfaz, verificacin, modificacin y control de cada requisito,
durante el ciclo de vida del proyecto.
Los cambios/actualizaciones de requisitos deben ser gestionados para
asegurar que se mantenga la calidad del producto. Hasta hace poco tiempo las
herramientas para la gestin de requisitos de software se limitaban a editores de
texto, los cuales hacan de esta tarea una labor tediosa y confusa. Actualmente, se
cuenta con mltiples opciones, como las que se mencionan a continuacin:
IRQA 43
Herramienta CASE de Ingeniera de Requisitos, diseada para soportar las
actividades realizadas en el proceso de especificacin de sistemas. sta facilita y
formaliza la comunicacin entre el cliente, el proveedor y los distintos miembros
del equipo de desarrollo. Facilita la captura, organizacin y anlisis de las
condiciones, as como la especificacin de la solucin mediante el apoyo
metodolgico adaptable a cada cliente.
RETO
I.T.C.J.

45

Fundamentos de Ingeniera de Software ISC Unidad II

Esta herramienta propone un modelo de requisitos para capturar los aspectos


funcionales del sistema; bsicamente, mediante tres tcnicas complementarias
entre s: la definicin de la Misin del Sistema, la construccin del rbol de
Refinamiento de Funciones y el desarrollo del Modelo de Casos de Uso. Adems, se
introduce un Proceso de Anlisis que permite traducir el Modelo de Requisitos en el
Mo-delo Conceptual, manteniendo la trazabilidad entre ambos y propiciando una
representacin de la informacin en el segundo prototipo.

Visure Solutions, The IRqA Company. htt4p://www.visuresolutions.com

CONTROLA
Herramienta de apoyo al proceso de ingeniera de software en pequeas
empresas. Se cre gracias a la expansin que tuvo el mercado y a la generacin de
grandes y pequeas empresas, las cuales requieren un instrumento para el
desarrollo

de

sus

proyectos.

Ofrece

recursos

importantes

tales

como:

Administracin de requisitos, administracin de casos de uso, administracin de


casos de prueba y error, planeamiento de liberaciones, administracin de
implementaciones, control de dependencia entre Implementaciones, matriz de
rastreabilidad y rastreabilidad de los requisitos.

OSRMT (Open Source Requirements Management Tool)4


Herramienta

libre

para

la

gestin

de

requisitos,

cuyas

principales

caractersticas son: trabaja en arquitectura cliente/servidor, desarrollada bajo Java;


la versin 1.3 trae un mdulo para manejar la trazabilidad y lo introduce para el
control de cambios; as mismo, genera la documentacin de los requisitos
tratados.
JEREMIA5
Se trata exclusivamente de una aplicacin cliente exclusivamente, lo cual no
permite la posibilidad de trabajar en equipo. sta, ayuda durante el desarrollo del
sistema, especialmente en el seguimiento de cambios de los requisitos a lo largo
del ciclo de vida. Con JEREMIA es posible captar las necesidades, analizarlas y
I.T.C.J.

46

Fundamentos de Ingeniera de Software ISC Unidad II

clasificarlas.

Implementa

un

mdulo

orientado

la

generacin

de

la

documentacin posible de exportar en formato DocBook XML, la cual junto con los
requisitos, se almacena en una base de datos en MySQL.
RAMBUTAN6
Esta herramienta est basada en XML, realmente consta de un conjunto de
aplicaciones para el usuario final, ayudando a los analistas de sistemas en la
recopilacin y categorizacin de hechos en un documento de especificacin de
requisitos. Lo curioso es que tiene un cliente para palm (PDA), el cual se utiliza
para recopilar los hechos en el lugar donde est ubicado el cliente mientras que la
aplicacin de escritorio recibe la informacin, edita y perfecciona.

Open Source Requirements Management Tool. http://sourceforge.net/projects/osrmt


Jeremia, sistema de Gestin de Requisitos. http://jeremia.sourceforge.net/
6
Arcle Technologies. http://rambutan.sourceforge.net/
7
INCOSE, The International Council on Systems Engineering Requirements Management Tools Survey. http://www.incose.org
4
5

Ambas aplicaciones permiten al usuario introducir, modificar y visualizar los


datos que componen un documento de especificacin de requisitos. Comparada
con otras herramientas de gestin de requisitos, Rambutan ofrece las siguientes
ventajas competitivas: Aplicacin cliente para palm (PDAclass), portabilidad entre
plataformas, es independiente de cualquier metodologa de especificacin de
requisitos, y permite distribucin libre.
Existen otras herramientas en estudios para la gestin de requisitos. A
continuacin se mencionan, algunas de las incluidas en el estudio comparativo
presentado por El Consejo Internacional sobre la Ingeniera de Sistemas (INCOSE)7:
CaliberRM, REM, SMART TRACE, SoftREQ, Analyst Real Team System (ARTS), CARE
3.2, CORE 5.1, Cradle 5.2, Envision VIP, Gatherspace, IBM Rational RequisitePro,
KollabNet Editor 2005, PACE, RaQuest 3.0, RMTrak, RTM, SLATE REquire 6.5,
SoftREQ, UGS Teamcenter 2005, truereq product desktop, XTie-RT, Specification
Analysis Tool (SAT), ECM, Banyan2.2, Contour, Projectricity 3.5, FeaturePlan 2.6,
analyst pro, ChangeWare 2.0, aligned elements, Dassault Systemes CSE 4.0,
Polarion ALM for Subversion 3.0, Telelogic DOORS, Accept 360.

I.T.C.J.

47

Fundamentos de Ingeniera de Software ISC Unidad II

Herramientas de Anlisis y Gestin de Requisitos


1. Borland Caliber Analyst
Se trata de un producto que est compuesto por dos aplicaciones
desarrolladas por la compaa Borland. Por un lado est el Caliber DefineIT
(la ltima de las herramientas en cuanto a fecha de lanzamiento) que
permite definir los requisitos del sistema as como capturar los diferentes
escenarios de negocio a travs de diferentes herramientas visuales; es
necesario sealar que este software es compatible con gran nmero de
herramientas existentes en el mercado.
Por el otro est Caliber RM que nos permite gestionar dichos requisitos
durante el ciclo de vida del producto, si bien no ayudaba al usuario a
visualizar los requerimientos y por lo tanto no resultaba tan efectiva como
ellos demandaban. El paquete que incluye ambas aplicaciones nos permitir
realizar las siguientes tareas: representar y especificar los escenarios de
manera visual, permitiendo el uso de un lenguaje comn; generar diagramas
de casos de pruebas y UML, mejorando tanto la velocidad como la exactitud
de la definicin de los requisitos; rastrear los requisitos software durante el
ciclo de vida del proyecto, respondiendo de manera rpida a cualquier
cambio que se produzca.
La compaa Seilevel Inc., una de las ms fuertes en cuanto a los
servicios relacionados con los requisitos del software, ha seleccionado esta
herramienta como la mejor de este tipo. Segn palabras de un directivo de la
compaa ven caractersticas nicas en esta herramienta as como una
experiencia de usuario excelente y una oportunidad para mejorar el trabajo
de sus clientes en cuanto al anlisis y gestin de requisitos se refiere.

2. CASE Spec

I.T.C.J.

48

Fundamentos de Ingeniera de Software ISC Unidad II

Esta herramienta est desarrollada por la empresa Goda Software,


siendo esta una aplicacin comercial de uso exclusivo para el sistema
operativo Windows. Las principales caractersticas que avalan a esta
herramienta son las siguientes:
Especificacin: posibilidad de realizar las especificaciones tanto con
las tcnicas tradicionales como con los diagramas de casos de uso.
Adems, nos permite crear diagramas UML y de flujo de datos.
Seguimiento de los requisitos: a travs del uso combinado de un
procesador de textos y una hoja de clculo, el usuario ser capaz de
realizar el seguimiento de los requisitos as como hacer un informe
acerca de los mismos.
Capacidad de rastreo: mediante la existencia de una matriz se
representan de manera sencilla las diferentes relaciones existentes
entre los requisitos definidos y otra serie de elementos incidentes en el
proyecto.
Capacidad de importar y exportar archivos.
Generacin automtica de la documentacin del proyecto as como
posibilidad de realizar amplios informes.

3. IRQA 4
Herramienta desarrollada por Visure y que tiene la meta de servir como
aplicacin para proporcionar un soporte integral en la ingeniera de requisitos
de un proyecto de informtica. A parte de incluir las tareas ms bsicas de la
ingeniera

de

requisitos

(captura,

anlisis,

modelado,

organizacin

seguimiento), esta aplicacin dispones de las siguientes caractersticas:

I.T.C.J.

49

Fundamentos de Ingeniera de Software ISC Unidad II

Reutilizacin de requisitos: permite que los requisitos definidos en


un proyecto puedan ser utilizados en otros proyectos realizados por la
organizacin, a travs del uso de libreras. De esta manera se consigue
ofertar una pequea ventaja a la hora de realizar lneas de productos.
Vista documental: esta nueva opcin ofrece un agrupamiento de los
requisitos que permite al usuario observar una diferenciacin clara
entre los mismos as como facilitar toda labor relacionada con estos.
Ingeniera de requisitos: adems de la gestin de los requisitos,
esta

aplicacin

proporciona

funcionalidades

relacionadas

con

la

ingeniera de requisitos, lo que permite centralizar en una sola


herramienta todas las actividades relacionadas con los requisitos
(incluyendo las pruebas de validacin y aceptacin).
Al ser esta una herramienta integrada, se ofrece al usuario la
libertad de seleccionar aquellas otras aplicaciones ms adecuadas para
la realizacin de otras tareas relacionadas con el ciclo de vida de un
proyecto, lo que hace que no se dependa de un solo proveedor de
aplicaciones.

4. Tiger Pro
Estamos ante una herramienta shareware desarrollada para facilitar al
usuario la tarea de redactar los requerimientos de un proyecto. Este
aplicativo es capaz de solucionar algunos de los defectos que aparecen a la
hora de definir los requisitos de un programa. Tambin ayuda al usuario a
aclarar algunos de los requerimientos desde el punto de vista de las pruebas
a realizar, sealando aquellos requerimientos cuya verificacin pueda
resultar complicada.
La herramienta, que se va actualizando con el paso del tiempo, permite
exportar el trabajo realizado en archivos bajo el formato CSV. Los usuarios
que utilicen esta herramienta podrn trabajar en los requisitos tomando
I.T.C.J.

50

Fundamentos de Ingeniera de Software ISC Unidad II

como referencia los siguientes conceptos: palabras claves relacionadas con


el mismo (hasta 3 palabras para cada requisito), criterio de aceptacin del
requisito, seguimiento del mismo (tanto hacia la fuente como hacia otros
lugares), prioridad del requerimiento, riesgo que trae consigo el requisito y
coste

del

mismo.

Adems,

la

hora

de

realizar

los

informes

correspondientes, la herramienta nos proporcionar la opcin de redactar los


mismos en forma textual o bien nos presentar la informacin de forma
grfica.
5. GatherSpace
A la hora de realizar la definicin de los requisitos para un proyecto de
informtica, el trabajo conjunto de todo el equipo de desarrollo es una parte
fundamental para conseguir un buen resultado. Esta herramienta de
definicin y gestin de requisitos utiliza Internet como su lanzadera, ya que
no es necesario instalar ningn programa para utilizarla: bastar con crear
una cuenta en el sitio web de la misma y comenzar a definir el proyecto que
se quiere desarrollar. De esta manera, la aplicacin consigue que la
colaboracin de todos los miembros del grupo de desarrollo sea posible de
una manera mucho ms eficaz.
Las caractersticas ms representativas de esta herramienta son las
siguientes:
Creacin de una jerarqua de requerimientos: permite crear
paquetes

funcionales

para

despus

relacionarlos

con

componentes de ms alto nivel para despus permitir asociar


casos de uso ms detallados y requisitos del software a dichos
componentes.
Manipular varios proyectos al mismo tiempo, controlando el
acceso de los usuarios para que estos puedan ver solo alguno de
los proyectos.

I.T.C.J.

51

Fundamentos de Ingeniera de Software ISC Unidad II

Posibilidad de visualizar la documentacin generada a partir de


los requisitos en tres formatos diferentes: HTML, PDF y Microsoft
Word.
Adems de contar con todas estas opciones, la compaa ha dispuesto
un buen sistema de seguridad que proteger los datos introducidos en la
herramienta. Para asegurar la integridad del trabajo realizado se realizan copias de
seguridad diaria de la informacin introducida en la herramienta y adems existe
la posibilidad de encriptar los datos introducidos en la misma. Tambin es
necesario sealar que el usuario podr descargarse la informacin desde el
servidor de la empresa tantas veces como le sea necesario.
6. IBM Rational RequisitePro
Esta herramienta, desarrollada por una de las compaas ms
importantes dentro del campo de la informtica, se considera una de las
herramientas ms completas y potentes dentro del anlisis y la gestin de
los requisitos.
Una de las grandes ventajas que aporta este producto es la
compatibilidad existente entre su software y algunos de los programas ms
utilizados. Por ejemplo, esta herramienta es capaz de comunicarse de
manera muy eficiente con el Microsoft Word, de manera que la realizacin de
los informes es ms sencilla al tiempo que se ofrece al usuario una interfaz
conocida para el desarrollo de su labor. Adems de esta compatibilidad, el
programa tambin se comunica con gran eficiencia con algunos de los
sistemas de bases de datos ms utilizados en el mundo de la informtica
(DB2 de IBM, Microsoft SQL Server, Microsoft Access y Oracle) de manera tal
que se controla el acceso a los datos existentes en el sistema al tiempo que
se tiene un repositorio central de datos.
Por si esto no fuera suficiente, la comunicacin entre la base de datos
utilizada y el Microsoft Word permite al usuario gestionar los requisitos desde
la base de datos seleccionada al tiempo que estos se mantienen dentro de
su contexto en el procesador de textos.
I.T.C.J.

52

Fundamentos de Ingeniera de Software ISC Unidad II

Al

igual

que

la

herramienta

estudiada

anteriormente,

Racional

RequisitePro ofrece la posibilidad de trabajar mediante acceso Web. De esta


manera se logra tener tanto un acceso remoto como un acceso distribuido y
adems no se necesita que el software est instalado en el cliente. Tambin
es necesario mencionar que la herramienta dispone de una matriz de
seguimiento de los requisitos (al igual que la herramienta CASE Spec); en
este caso, dicha matriz puede representarse tanto de forma grfica como de
forma textual. Adems, en este caso se incorpora al seguimiento de los
requisitos la existencia de un rbol de seguimiento global.
7. RaQuest
Se trata de la herramienta de gestin de requisitos desarrollada por la
empresa Sparx Systems, desarrolladora tambin de la herramienta de
anlisis y modelado Enterprise Architect, utilizada en la Escuela.
Las caractersticas principales de esta herramienta son las siguientes:
Definicin y gestin de los elementos relacionados con los
requisitos, entre los que se encuentran el tipo, el estado, la
dificultad del requisito, las relaciones existentes entre diferentes
requisitos, etc.
Creacin de paquetes para gestionar de manera ms sencilla y
completa los requisitos.
Generacin de documentacin del proyecto (tanto parcial
como total) en los siguientes formatos: HTML, CSV, Word, Excel,
RTF
Adems de estas caractersticas, la herramienta nos ofrece una serie de
vistas diferentes, dependiendo de la vista que queramos obtener del
proyecto. Estas vistas son: vista del tipo lista (permite ordenar los requisitos,
mostrar diferentes listas, filtrar las listas en relacin a diferentes palabras y
buscar en el proyecto) y vista del tipo rbol (se pueden mostrar los rboles
I.T.C.J.

53

Fundamentos de Ingeniera de Software ISC Unidad II

de proyecto y miembro as como mostrar los rboles por el tipo y por el


estado).

Eleccin de la Herramienta a Utilizar


Debido a la gran compatibilidad existente con el Enterprise Architect, a la
variedad de formatos para generar la documentacin y a las numerosas opciones
existentes en cuanto al tipo de vistas y la definicin de los elementos relacionados
con los requisitos, me he decantado por utilizar la herramienta RaQuest.

I.T.C.J.

54

Das könnte Ihnen auch gefallen