Escolar Documentos
Profissional Documentos
Cultura Documentos
Rational Unified Process Fundamentals
(Fundamentos del Proceso Unificado de Rational)
Sede: ITERA. Jose Luis Lagrange 103 8 piso. Los Morales Polanco, Mxico, D.F.
Fechas: 6 y 7 de Diciembre del 2001
Impartido por: Mtra. Mnica Alegra Vzquez
Objetivos del curso: 1) Comprender las seis mejores prcticas para el desarrollo de
software; 2) Describir el Proceso Unificado en trminos de sus fases y disciplinas;
3) Comprender los beneficios de los proceso dirigido por casos de uso y una
arquitectura centralizada; 4) Describir el enfoque iterativo para el desarrollo de
software y 5) Comprender la adaptabilidad del Proceso Unificado de acuerdo a la
organizacin y al proyecto.
El curso se dividi en 6 mdulos:
1. Mejores prcticas para el desarrollo de software
2. Estructura del proceso
3. Disciplinas
4. Implementacin del proceso
5. Soluciones de comercio electrnico.
Building better software with Use Cases
(Construyendo mejor software con Casos de Uso)
Sede: Construx Software Builders, Inc.
Fechas: 5 y 6 de Febrero de 2002
Impartido por: Meilir Page-Jones
Los Casos de Uso son una tcnica importante para obtener, organizar y verificar
los requerimientos del sistema o negocio del usuario. En el curso se explica qu
Curso tomado.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO TE RI CO
53
son y como usar los Casos de Uso para comprender y validar los requerimientos
del usuario de manera rpida y precisa.
Temario:
1. Fundamentos de casos de uso
2. Consejos prcticos para desarrollar casos de uso
3. Aplicando las fortalezas de los eventos del negocio a los proyectos
de software
4. Extendiendo los beneficios de los casos de uso a todo el proyecto.
Real world requirements
(Requerimientos del mundo real)
Sede: Construx Software Builders, Inc.
Fechas: 28 y 29 de Enero de 2002
Impartido por: Pamela Perrot
El curso presenta tcnicas prcticas para explorar las necesidades del usuario,
capturar requerimientos, controlar cambios y construir software altamente
satisfactorio.
Temario:
1. El proceso de requerimientos
2. Definicin de requerimientos de alta calidad
3. Ambigedad
4. Descubriendo requerimientos
5. Tcnicas de especificacin
6. Procesos de requerimientos
7. Administracin de requerimientos.
In search of excellent requirements
(En bsqueda de requerimientos excelentes)
Software Productivity Center
Impartido por: Douglas Muir
El curso proporciona un conjunto de prcticas basadas en sesiones prcticas en
grupo que pueden ser utilizadas para mejorar la calidad del desarrollo y la
administracin de requerimientos en cualquier organizacin.
Temario:
1. Introduccin a la ingeniera de requerimientos
2. Desarrollo de requerimientos de software
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO TE RI CO
54
3. CMM
4. Administracin de requerimientos de software
5. Prcticas clave en la ingeniera de requerimientos.
2.5 Conferencias
Presenciado.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO TE RI CO
55
Seminario Rational
Sede: Hotel Marriot. Reforma. Mxico, D.F.
Fecha: Septiembre, 2001.
La empresa Rational present un panorama de todas sus herramientas y las
mejores prcticas en el desarrollo de software. Se ofreci una introduccin de lo
que es el modelado de negocios con UML, lo cual consiste en la representacin de
una organizacin tanto interna como externamente, identificando su ambiente, sus
actores, sus procesos y sus flujos de trabajo. Para ello se utilizan tambin UML y
los estereotipos.
Success starts with Requirements Management
(El xito empieza con Administracin de Requerimientos)
Sede: Marriot City Center Hotel. Pittsburg.
Fecha: 31 de Enero de 2002.
El tener el control de los requerimientos del proyecto es un paso importante para
entregar una aplicacin o sistema que satisfaga las necesidades del usuario y de su
negocio. El seminario ofrece las tcnicas para:
Comprender y comunicar las necesidades reales del negocio detrs del
sistema o aplicacin
Administrar los requerimientos ms efectivamente
Usar y manejar los casos de uso para describir la funcionalidad del sistema
Organizar y ponderar el aumento y los cambios en los requerimientos.
Primer Seminario Internacional en Calidad en Desarrollo de Software
Sede: ITAM, Campus Santa Teresa.
Fecha: Del 27 de Mayo al 7 de Junio del 2002.
El seminario tuvo como objetivo promover y apoyar los esfuerzos por mejorar los
procesos de desarrollo de software en Mxico, as como difundir algunas de las
alternativas ms exitosas para desarrollar software de alta calidad, contribuyendo
as al Programa para el Desarrollo de la Industria del Software de la Secretara de
Economa.
Participaron el Dr. Pankaje Jalote -de la India-, Daniel Roy, la AMCIS y algunas de
las principales empresas de software en Mxico. Se trataron diversos tpicos entre
los que resaltan: mejoramiento de procesos de software, CMM, ISO 9000,
Presenciado.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO TE RI CO
56
administracin de proyectos, TSP, PSP, mtricas de software y pruebas de
software.
2.7 Seminarios por Web
Adopting RM in existing projects
Adoptando la Administracin de Requerimientos en proyectos existentes
http://www.rational.com/events/webminars
Fecha: 22 de enero de 2002
En el seminario se presentan diez sntomas comunes de los proyectos mediocres,
entre ellos extensin de las horas de trabajo, usuarios insatisfechos, costos
sobrepasados, entre otros. La mayora de estos sntomas tienen como causas
races la pobre definicin de requerimientos y la mala estimacin del alcance del
proyecto. Se presentan cinco pasos para un mejoramiento incremental en la
administracin de requerimientos.
Uncover the benefits of using a Requirements Management tool
(Descubriendo los beneficios de usar una herramienta para la Administracin de
Requerimientos)
http://www.rational.com/events/webminars
Fecha: 29 de enero de 2002
En la presentacin se consideraron los siguientes puntos: 1) La importancia de
administrar requerimientos; 2) Antecedentes; 3) Problemas tpicos en el desarrollo
de software; 4) Una solucin para la administracin de requerimientos; 5)
Demostracin de Requisite Pro.
Se mencionan que una de las causas por las que los proyectos fracasan es
precisamente por una mala administracin de requerimientos; se clasifican los
requerimientos en funcionales, no funcionales y de restriccin; y se consideran 3
actividades importantes para superar estos problemas: organizar, comunicar y
manejar los cambios.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO TE RI CO
57
Five steps in problem analysis How to ensure you solve the right problem
(Cinco pasos para el anlisis del problema. Cmo asegurarse de resolver el
problema correcto)
http://www.rational.com/events/webminars
Fecha: 5 de febrero de 2002
Se describen cinco tareas que se deben considerar en el anlisis del problema: 1)
Llegar a un acuerdo sobre la definicin del problema; 2) Comprender las causas
races: el problema tras del problema; 3) Identificar a todos lo involucrados con el
sistema; 4) Definir el lmite de la solucin del sistema; y 5) Identificar las
restricciones que limitan la solucin.
Writing good Use Cases with Rational Requisite Pro and Rational Rose
(Escribiendo buenos Casos de Uso con Rational RequisitePro y Rational Rose )
http://www.rational.com/events/webminars
Fecha: 14 de febrero de 2002
Se consider la siguiente agenda: 1) Casos de uso y requerimientos; 2) Qu es un
caso de uso; 3) Diagramas de casos de uso con UML; 4) Especificaciones de casos
de uso; 5) Administracin de casos de uso; 6) Sugerencias y tips sobre casos de
uso.
The principles behind writing good requirements
(Los principios detrs de escribir buenos requerimientos)
http://www.rational.com/events/webminars
Fecha: 26 de febrero de 2002
En el seminario se presentaron los distintos tipos de requerimientos de software
(funcionales y no-funcionales), algunos principios para escribir buenos
requerimientos, los signos de alerta de algunos problemas, los niveles de detalle
requerido y cmo ayudan los casos de uso a especificar los requerimientos de
software.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO TE RI CO
58
2.8 Internet
Los principales sitios de Internet consultados son los siguientes:
El Instituto de Ingeniera de
Software
(http://www.sei.cmu.edu) es
un centro de investigacin y
desarrollo patrocinado por
el Departamento de Defensa
de los Estados Unidos, y
residente en la Universidad
de Carnegie Mellon, cuyo
principal objetivo es ayudar
a mejorar las capacidades
en la ingeniera de software.
Rational Software
(http://www.rational.com)
es una de las principales
empresas proveedoras de
herramientas para apoyar
para el desarrollo de
software en todo el ciclo de
vida. Una de las 6 prcticas
a las que se enfoca, es la
Administracin de
Requerimientos.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO TE RI CO
59
La publicacin de Ingeniera
de Requerimientos
(http://rej.co.umist.ac.uk/)
se enfoca a difundir
informacin sobre la
obtencin, representacin y
validacin de
requerimientos. Adems el
sitio ofrece ligas de inters
sobre el tema.
Rational Edge
(http://www.therationaledge.
com) es un sitio de
informacin gratuita sobre
tendencias, tcnicas y
herramientas de ingeniera de
software, dedicado
principalmente a los
involucrados con la
tecnologa de Rational. Se
publican mensualmente
artculos de inters.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO TE RI CO
60
Process Improvement
Associates es un sitio en el
que se ofrece informacin
sobre el mejoramiento de los
procesos de software. Uno
de las reas es la ingeniera
de requerimientos.Se ofrecen
referencias, estndares,
herramientas, eventos y
libros relacionados.
(http://www.processimprovemen
t.com/resources/sre.htm)
Telelogic es un proveedor de
herramientas para apoyar el
desarrollo de software.
Cuentan con herramientas
para la administracin de
requerimientos. Adems en
el sitio se ofrecen artculos e
informacin de inters sobre
requerimientos.
(http://www.telelogic.com)
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO TE RI CO
61
Construx Software es una
empresa dedicada a la
creacin de software,
capacitacin y asesora en
los procesos de desarrollo
(http://www.construx.com)
En el sitio se ofrece
informacin muy interesante
sobre el proceso de
desarrollo de software y ligas
a revistas de inters como la
Software Development
Magazine.
Roger Pressman es uno de
los contemporneos ms
reconocidos en la Ingeniera
de Software. En el sitio de su
empresa:
(http://www.rspa.com)
ofrece informacin de inters
y referencias sobre todo el
proceso de desarrollo de
software.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO TE RI CO
62
El IEEE es una de las
organizaciones ms
involucradas en el cmputo y
la ingeniera de software. De
hecho es quien formaliz el
concepto de Ingeniera de
Requerimientos. En su sitio
especializado en cmputo
(www.computer.org) ofrece
artculos e informacin de
inters.
En el sitio del Centro de
Productividad de Software se
ofrecen recursos sobre
diversos temas y aspectos
del desarrollo de software,
as como sobre la mejora de
procesos.
(http://www.spc.ca)
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO TE RI CO
63
La biblioteca de la Direccin
General de Servicios de
Cmputo Acadmico
(DGSCA) de la UNAM, ofrece
acceso a una serie de
recursos de informacin
sobre cmputo y bases de
datos especializadas.
http://biblioteca.dgsca.unam
.mx
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO TE RI CO
64
Requirements Engineering
(Ingeniera de Requerimientos)
Merlin Dorfman
Software Engineering Institute (SEI). Carnegie Mellon University.
http://www.sei.cmu.edu
Artculo reimpresin del libro Software Requirements Engineering, segunda
edicin. De Richard H. Thayer y Merlin Dorfman.
Seccin Contenido
I In nt tr ro od du uc cc ci i n n La deficiente especificacin de requerimientos fue una de
las causas ms importantes de lo que en los aos 60s se
denomin Crisis del Software.
Algunos beneficios de la ingeniera de requerimientos son:
lograr acuerdos entre los desarrolladores, clientes y
usuarios; tener una base efectiva para la estimacin de
recursos; mejorar atributos de calidad como facilidad de uso
y mantenimiento; y lograr objetivos con el mnimo de
recursos.
I In ng ge en ni ie er r a a d de e
r re eq qu ue er ri im mi ie en nt to os s y y e el l
c ci ic cl lo o d de e v vi id da a d de e
d de es sa ar rr ro ol ll lo o
Existen varios modelos del ciclo de vida del software, como
por ejemplo: Modelo en Cascada, Desarrollo por Prototipos,
Desarrollo incremental y Modelo en Espiral. Todos ellos
incluyen una o ms fases relacionadas con los
requerimientos.
R Re eq qu ue er ri im mi ie en nt to os s d de e
s si is st te em ma as s y y
r re eq qu ue er ri im mi ie en nt to os s d de e
s so of ft tw wa ar re e
Los requerimientos de sistema y los requerimientos de
software generalmente son tratados de la misma manera, ya
que las herramientas y mtodos para obtenerlos y las
tcnicas de representarlos son similares; no obstante
existen importantes diferencias.
Los requerimientos de sistema describen el comportamiento
del sistema desde una perspectiva externa, por ejemplo
desde la perspectiva del usuario, aunque muchas veces los
documentos y especificaciones no pueden ser fcilmente
comprendidos por los usuarios.
Los requerimientos de software sirven para comunicar a los
desarrolladores los elementos tcnicos de software y
hardware que describen las caractersticas del sistema.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO TE RI CO
65
F Fu un nd da am me en nt to os s d de e l la a
i in ng ge en ni ie er r a a d de e
r re eq qu ue er ri im mi ie en nt to os s
Existen diversas taxonomas de la ingeniera de
requerimientos. Por ejemplo:
Obtencin, determinacin de soluciones, especificacin
y mantenimiento.
Obtencin, anlisis, especificacin,
validacin/verificacin y administracin.
Cualquier sistema puede ser descompuesto en elementos
jerrquicos ms pequeos. Los requerimientos de sistema
se ubican en la parte ms general. La obtencin de
requerimientos de sistema consiste en trabajar con los
usuarios para determinar sus necesidades. Cada
requerimiento es asignado a niveles ms especficos
(subsistemas), en donde son detallados; los requerimientos
de ms bajo nivel son llamados derivados. El nivel de detalle
se incrementa conforme se avanza en la jerarqua. Es por
ello que uno de los aspectos clave en la ingeniera de
requerimientos es la descomposicin y la abstraccin. El
nmero de requerimientos prolifera rpidamente conforme
se van detallando los requerimientos del sistema, el rastreo
consiste en conocer la relacin entre requerimientos de
distintos niveles.
Se presentan los atributos de una buena especificacin de
requerimientos de Bohem.
Software Requirements. SEI Curriculum Module SEI-Cm-19-1.2
(Requerimientos de Software)
John W. Brackett, Universidad de Boston
Software Engineering Institute (SEI). Carnegie Mellon University.
http://www.sei.cmu.edu
Contenido General
El documento es una gua para la imparticin de un curso relacionado con la
Ingeniera de Requerimientos, es decir, con el proceso de identificar, analizar,
representar y comunicar requerimientos, as como desarrollar criterios de
aceptacin. Adems presenta interesante bibliografa relacionada con el tema.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO TE RI CO
66
What is Requirement Management
(Qu es Administracin de Requerimientos)
Richard Stevens & James Martn
Software Engineering Institute (SEI). Carnegie Mellon University.
http://www.sei.cmu.edu
Artculo reimpresin del libro Software Requirements Engineering, segunda
edicin. De Richard H. Thayer y Merlin Dorfman.
Contenido General
La Administracin de Requerimientos comienza con la definicin de los
requerimientos y contina durante todo el proyecto, culminando con la aceptacin
del producto que cumple los requisitos acordados. Permite asegurarnos de:
Conocer lo que quieren los clientes (calidad)
Tener una solucin eficiente para satisfacer esos requerimientos
(conformidad)
El documento trata adems brevemente los siguientes puntos: actividades de la
administracin de requerimientos; requerimientos para comunicar lo que se
quiere; requerimientos para guiar el diseo y la implementacin; requerimientos
para manejar el cambio; requerimientos para probar el producto; requerimientos
para administrar el proyecto; caractersticas de los requerimientos; y generalidades
de las herramientas para la administracin de requerimientos.
Software Requirements Engineering knowledge units
(Unidades de conocimiento de la Ingeniera de Requerimientos de Software)
Software Engineering Institute (SEI). Carnegie Mellon University.
http://www.sei.cmu.edu
Contenido General
Presenta de manera general la descripcin de las sub-reas de la ingeniera de
requerimientos de software que son:
Identificacin de requerimientos (Requirements elicitation)
Anlisis de requerimientos (Requirements analysis)
Especificacin de requerimientos (Requirements specification).
When telepathy wont do: Requirements Engineering key practices
(Cuando la telepata no funciona: prcticas clave de Ing. de Requerimientos)
Karl E. Wiegers
Cutter IT Journal. Mayo, 2000.
http://www.cutter.org
Seccin Contenido
U Un n m ma ar rc co o d de e l la a
I In ng ge en ni ie er r a a d de e
La Ingeniera de Requerimientos es una actividad
principalmente de comunicacin, no tcnica.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO TE RI CO
67
R Re eq qu ue er ri im mi ie en nt to os s Un proyecto tiene tres niveles de requerimientos:
requerimientos de negocio, requerimientos de usuario y
requerimientos funcionales.
I Id de en nt ti if fi ic ca ac ci i n n d de e
r re eq qu ue er ri im mi ie en nt to os s
Se sealan como prcticas clave:
Definir los requerimientos de negocio
Involucrar al usuario
Enfocarse en las tareas del usuario
Definir atributos de calidad.
E Es sp pe ec ci if fi ic ca ac ci i n n d de e
r re eq qu ue er ri im mi ie en nt to os s
Se sealan como prctica clave almacenar los
requerimientos en una herramienta automatizada. Se
mencionan algunas como: Caliber-Rm, DOORS y
RequisitePro.
V Ve er ri if fi ic ca ac ci i n n d de e
r re eq qu ue er ri im mi ie en nt to os s
Se seala como prctica clave inspeccionar las
especificaciones de requerimientos.
Towards the Engineering Requirements
(Hacia la Ingeniera de Requerimientos)
Tom Gilb
Requirements Engineering Journal
http://www.rej.com
Contenido General
El documento da respuesta a algunas preguntas como:
Qu es ingeniera?
Qu son los falsos requerimientos?
Qu son los requerimientos?
Cmo se relacionan los requerimientos con el diseo?
Cmo se relacionan los requerimientos con la ingeniera?
Cmo mejorar las prcticas de Ingeniera de Requerimientos?
Cules son los principios fundamentales de los Requerimientos?
Software Engineering checklist
(Listas de verificacin de Ingeniera de Software)
R.S. Pressman & Associates, Inc.
http://www.rspa.com/checklists
Contenido
Las listas de verificacin (checklists) son parte del Modelo de Proceso Adaptable
(APM-Adaptable Process Model) propuesto por R.S. Pressman & Associates, y son
utilizadas para evaluar la calidad de los productos de la ingeniera de software y
del proceso del software.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO TE RI CO
68
Cada lista de control contiene una serie de preguntas de acuerdo al producto o
proceso que se est evaluando. Las disponibles son las siguientes:
Revisando el Modelo de Anlisis
Anlisis de Factibilidad
Evaluando el Plan del Proyecto
Estimaciones de Costo y Tiempo
Calidad con ISO 9001
Revisando el Modelo de Diseo de Software
Asegurando la Calidad de las Aplicaciones en Web.
Las dos primeras estn muy relacionadas con la actividad de requerimientos, no
obstante en las otras existe informacin complementaria a este tema.
Some tips for requirements elicitation
(Algunos tips para la obtencin de requerimientos)
Karl E. Wiegers
http://spc.ca/essentials
Contenido
La obtencin es el proceso de identificar y comprender las necesidades, problemas
y restricciones de los distintos tipos de usuarios para un producto de software
propuesto. El autor brinda algunos consejos para mejorar aspectos de la obtencin
de requerimientos.
Rational Requisite Pro. Evaluators guide
(Gua del evaluador de Rational Requisite Pro)
Rational Software Corp.
http://www.rational.com
Contenido
El documento es una gua para evaluar Requiste Pro, una herramienta de software
para la Administracin de Requerimientos, desarrollada y comercializada por
Rational Software Corp.
En la gua se mencionan algunos aspectos tcnicos de la herramienta adems de
presentar diversos conceptos e informacin relacionada con la Administracin de
Requerimientos desde la perspectiva de Rational Software Corporation.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO TE RI CO
69
The top risk of Requirements Engineering
(Los principales riesgos de la Ingeniera de Requerimientos)
Brian Lawrence, Karl Wiegers y Christol Ebert
IEEE Software. Noviembre-Diciembre 2001.
http://www.computer.org
Contenido
El punto central de la ingeniera de requerimientos es guiar el desarrollo para
producir el software correcto. El no obtener los requerimientos correctamente,
afectar el xito del proyecto. Los autores identifican algunos riesgos al respecto:
1. Pasar por alto un requerimiento crucial
2. Representacin inadecuada y espordica del cliente
3. Modelar nicamente requerimientos funcionales
4. No inspeccionar los requerimientos
5. Esperar a tener requerimientos perfectos antes de comenzar la
codificacin
6. Representar los requerimientos en forma de diseo de soluciones.
Requirements Engineering as a success factor in software projects
(La Ing. de Requerimientos como factor de xito en los proyectos de software)
Hubert F. Hofmann, Franz Lehner
IEEE Software. Julio-Agosto 2001.
http://www.computer.org
Contenido
Los requerimientos deficientes representan la causa ms grande del fracaso de
proyectos. Los autores realizan un completo estudio en el que identifican las
prcticas y factores de la Ingeniera de Requerimientos (IR) que contribuyen
claramente al xito de los proyectos de software. Se enfocan a tres factores:
conocimiento, recursos y proceso. Como resultado, obtienen las siguientes diez
mejores prcticas:
1. Involucrar a los clientes y usuarios en la IR
2. Identificar y consultar todas las fuentes probables de requerimientos
3. Asignar a miembros del equipo capacitados en las actividades de la IR
4. Invertir del 15% al 30% de los esfuerzos totales a las actividades de la IR
5. Proporcionar formatos y guas de especificacin con ejemplos
6. Mantener buenas relaciones entre los involucrados
7. Ponderar requerimientos
8. Desarrollar modelos complementarios y prototipos
9. Mantener una matriz de rastreo de requerimientos
10. Usar revisiones pares y ensayos para validar y verificar requerimientos.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO TE RI CO
70
De cada prctica se indica el costo de introduccin, el costo de aplicacin y los
beneficios clave.
Software management seven deadly sins
(Los siete pecados capitales de la gestin de software)
Donald J. Reifer
IEEE Software. Marzo-Abril 2001.
http://www.computer.org
Contenido
El autor, con base en su experiencia y relacin con directivos de diversas
empresas, reflexiona sobre siete errores clave en la administracin de software, los
cuales son:
1. Requerimientos voltiles
2. Planeacin insuficiente
3. Estimaciones de tiempo y costo no realistas
4. Controles inadecuados
5. Falta de capitalizacin
6. Considerar a la industria del software como diferente de las dems
7. Perder de vista la calidad.
Capturing the benefits of Requirements Engineering
(Capturando los beneficios de la Ingeniera de Requerimientos)
Pete Sawyer, Ian Sommerville y Stephen Viller
IEEE Software. Marzo-Abril 1999.
http://www.computer.org
Contenido
Los autores desarrollaron un mtodo que permite el mejoramiento sistemtico e
incremental de la ingeniera de requerimientos: REGPG (Requirements Engineering
Good Practice Guide).
El REGPG, como CMM, est basado en niveles de madurez (inicial, repetible y
definido). Describe 66 prcticas que han sido abstradas de estndares, reportes
de prcticas de requerimientos y de la experiencia; las prcticas son clasificadas en
bsicas, intermedias y avanzadas de acuerdo a la especializacin requerida. Como
en el modelo SPICE, cada prctica es evaluada por criterios (estandarizado, normal,
discrecional y nulo); adems cada prctica considera el costo de introduccin, el
costo de aplicacin y el beneficio clave. Los aspectos que considera el REGPG son:
el documento de requerimientos; la obtencin, el anlisis y la negociacin, la
descripcin, la validacin y la administracin de requerimientos; y el modelado del
sistema.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO TE RI CO
71
El propsito del REGPG no es la certificacin, slo pretende consolidar las prcticas
de la ingeniera de requerimientos ms que dictar un estndar, y contribuir as con
los programas de mejoramiento.
User involvement key to success
(Involucramiento del usuario, clave del xito)
Carl Clavadetscher
IEEE Software. Marzo-Abril 1998.
http://www.computer.org
Contenido
En este breve artculo, el autor manifiesta la importancia de los usuarios en la
Ingeniera de Requerimientos. Los usuarios tienen problemas para comprender y
comunicar adecuadamente los requerimientos; el equipo de desarrollo y los
analistas deben ayudarlos y colaborar con ellos ya que nicamente los usuarios
conocen qu es lo que el sistema realmente debe hacer.
Blueprint for the ideal requirements engineer
(Prototipo del ingeniero de requerimientos ideal)
Mark Christensen y Carl Chang
IEEE Software. Marzo 1996.
http://www.computer.org
Contenido
Los autores sealan las principales caractersticas y actividades que debe
considerar un ingeniero de requerimientos, como son:
Capacidad para organizar los requerimientos
Madurez para conocer cundo ser general y cuando ser especfico
Mantener fluida la evolucin de los requerimientos
Ser un buen oyente para considerar opiniones tanto tcnicas como no
tcnicas
Como intermediario, debe ser un buen organizador de equipos y facilitador
que llene los huecos de comunicacin entre las partes
La formacin formal del ingeniero de requerimientos debe ser
multidisciplinaria.
Fifteen principles of Software Engineering
15 principios de la Ingeniera de Software
Alan M. Davis
IEEE Software. Noviembre 1994.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO TE RI CO
72
http://www.computer.org
Contenido
1. Hacer de la calidad lo primero
2. El software de alta calidad es posible
3. Hacer entregas tempranas a los clientes
4. Determinar el problema antes de escribir los requerimientos
5. Evaluar alternativas de diseo
6. Usar un modelo de proceso apropiado
7. Usar diferentes lenguajes para diferentes fases
8. Minimizar la distancia intelectual: entre el problema del mundo real y la
solucin computarizada
9. Aplicar tcnicas antes que herramientas
10. Hacer lo correcto antes de hacerlo rpido
11. Inspeccionar el cdigo
12. La buena administracin es ms importante que la buena tecnologa
13. La gente es clave en el xito
14. De la moda en tecnologa, tcnicas y herramientas, lo que acomoda
15. Asumir la responsabilidad de lo que falla.
A field guide to effective requirements management under SEIs Capability Maturity
Model
(Una gua para la administracin efectiva de requerimientos bajo el Modelo de
Madurez de Capacidades del Instituto de Ingeniera de Software)
Dean A. Leffingwell
Rational Software Corporation. 1996.
http://www.rational.com
Contenido
El Modelo de Madurez CMM, surgi como un estndar de la industria de software
para tener un proceso de calidad del software, que fuera ms comprensible y
profundo que los estndares de ISO 9000. Proporciona una vista de las actividades
del software que estn siendo ampliamente aceptadas, siendo la Administracin de
Requerimientos una de las principales.
La Administracin de Requerimientos es una actividad clave del proceso diseada
para asegurar que los productos de software satisfagan las necesidades de los
usuarios tanto en calidad como en funcionalidad. El artculo resume esta actividad
bajo del CMM y proporciona una breve gua para ello.
Habits of effective analysts (Hbitos de los analistas efectivos)
Karl E. Wiegers
http://www.processimpact.com
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO TE RI CO
73
Contenido
Los lderes de proyectos de software asumen que las capacidades de los
programadores son adecuadas y suficientes para entrevistar a los usuarios y
escribir especificaciones de requerimientos sin ninguna capacitacin o asesora.
Esta no es una creencia razonable, ya que la ingeniera de requerimientos tiene su
propio cuerpo de conocimiento y conjunto de habilidades. El rol de los analistas de
requerimientos es crtico en el proyecto de software. Cada organizacin debera
desarrollar un equipo de analistas capacitados.
En el artculo se describen varias caractersticas y prcticas de los analistas de
requerimientos exitosos, tales como:
Ser un intermediario entre el usuario y los desarrolladores
Definir el alcance y las tareas del usuario necesarias para cumplir con el
sistema
Hacer preguntas reveladoras
Priorizar a tiempo y frecuentemente
Crear un ambiente de colaboracin
Pulir sus habilidades en el uso y aplicacin de tcnicas de comunicacin,
escritura, modelado, etc.
Requirements checklist (Listas de verificacin de requerimientos)
http://www.construx.com
Contenido
El documento contiene una serie de preguntas para verificar los requerimientos,
desde tres aspectos:
Contenido
Calidad
Integridad.
What is a requirement (Qu es un requerimiento)
Richard Hardwell
http://www.incose.org
Contenido
El documento examina la naturaleza de un requerimiento desde el punto de vista
del administrador, del analista y del usuario. Menciona tambin la importancia de
que los requerimientos representen una necesidad (y no una solucin directa), y a
considerar aspectos de calidad.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO TE RI CO
74
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO TE RI CO
75
2.9 Herramientas de Software
Rational Requisite Pro v. 2002
Versin de evaluacin obtenida de: http://www.rational.com
Rational Unified Process v. 2002
Versin de evaluacin obtenida de: http://www.rational.com
El software muestra todos los elementos del Proceso Unificado de Desarrollo de
Rational, como un libro electrnico en un entorno web. Se describen las fases y las
disciplinas, las actividades, los participantes y los artefactos utilizados y
producidos en cada flujo de trabajo. La disciplina de requerimientos, se describe
detalladamente, adems de conceptos importantes de la Administracin de
Requerimientos. Proporciona un glosario y algunos proyectos de demostracin del
proceso.
Caliber RM
Demostracin obtenida de: http://www.spc.ca
Herramienta para la administracin de requerimientos.
2.10 Organizaciones
Asociacin Mexicana para la Calidad en Ingeniera de Software (AMCIS)
La misin de la AMCIS es ser un foro que contribuya al aumento de la
productividad y la calidad en los procesos de software en las organizaciones o
instancias responsables de desarrollo de software en Mxico.
Itera
Representante de Rational Software Corporation en Mxico, cuyas herramientas
permiten controlar todas las actividades del ciclo de vida de desarrollo de
software, entre ellas, la Administracin de Requerimientos. Adems imparten
cursos especializados y organizan eventos para la difusin de las mejores prcticas
en el desarrollo de software.
Fundacin Arturo Rosenblueth
Imparte maestras, diplomados, seminarios, talleres y cursos especializados en las
reas de cmputo, desarrollo de software, sistemas de informacin y
telecomunicaciones.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
76
3 3 M MA AR RC CO O C CO ON NC CE EP PT TU UA AL L
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
77
3.1 Fundamentos de la Ingeniera de Requerimientos
3 3. .1 1. .1 1 P Pr ro ob bl le em m t ti ic ca a r re el la ac ci io on na ad da a c co on n l lo os s r re eq qu ue er ri im mi ie en nt to os s
Son innumerables, las opiniones de diversos autores sobre los problemas
relacionados con los requerimientos en el desarrollo de software:
Una de las razones ms comunes por las que un sistema falla es una
mala definicin de los requerimientos. [Laura Scharer]
El escribir especificaciones de sistema y de software buenas, correctas,
completas y medibles es uno de los problemas ms comunes en el
desarrollo de software. [IEEE]
Para el xito de un desarrollo de software es esencial una comprensin
total de los requisitos del software. No importa lo bien diseado o
codificado que est un programa si no se ha analizado correctamente,
pues defraudar al usuario y frustrar al desarrollador....es verdad que
los requisitos del software cambian, pero el impacto del cambio vara
segn el momento en que se introduzca. Si se pone cuidado al dar la
definicin inicial, los cambios solicitados al principio pueden
acomodarse fcilmente. Cuando se solicitan al final de un proyecto, los
cambios pueden producir un orden de magnitud ms caro que el mismo
cambio pedido al principio. [Pressman]
Cuando surgi la Crisis del Software en los aos 60s, hubo muchos
esfuerzos por encontrar las causas del -ahora familiar- sndrome del
problema. Las investigaciones determinaron que las deficiencias en los
requerimientos son una de las causas ms importantes del problema
en la mayora de los proyectos de software que no se cumplen los
objetivos de realizacin y costo, los requerimientos inadecuados juegan
un papel principal y costoso en el fracaso del proyecto el desarrollo
de la especificacin de requerimientos en muchos casos parece trivial
pero probablemente es la parte del proceso que conlleva a mayores
fracasos que cualquier otra. [IEEE]
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
78
Un inadecuado o insuficiente anlisis de requerimientos da inicio a un
proyecto con el pie izquierdo. [Software Development Magazine]
El problema de la ingeniera de requerimientos se incrementa
exponencialmente con el tamao del sistema. [Ian Sommerville]
El costo de agregar o corregir requerimientos una vez entregado un
sistema es aproximadamente 100 veces ms que hacerlo durante la
definicin inicial del sistema. [Gruia-Catalin]
Existen adems diversos estudios que evidencian la problemtica con requerimientos.
Por ejemplo, las estadsticas de la industria del software segn el Standish Group,
CHAOS, 2001 revelan lo siguiente:
Proyectos
exitosos
28%
Proyectos que
fracasan
72%
Se entiende por proyecto exitoso aquel que se termina con los recursos
razonablemente estimados y que satisface las expectativas de los clientes y usuarios.
Los proyectos que fracasan son por ejemplo, aquellos que se retrasan, se cancelan,
sobrepasan por mucho los recursos inicialmente estimados para su desarrollo, nunca
se usan o no satisfacen las expectativas de los clientes y usuarios.
Adems, otros nmeros interesantes a considerar son los siguientes:
El costo real de un proyecto casi se triplica con respecto a lo estimado,
es decir, el promedio del costo sobrepasado es de 189%.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
79
El tiempo de retraso promedio es de 222%, es decir, los proyectos se
retrasan por ms del doble de lo estimado.
El promedio de fallas segn las expectativas iniciales es de 61%. Ms de
la mitad de las fallas tienen que ver con las perspectivas iniciales del
proyecto.
Asimismo, el estudio demuestra que los factores que conllevan a errores relacionados
con los requerimientos son principalmente:
Escasa participacin del usuario en el proyecto.
Objetivos no claros desde un principio.
Requerimientos y especificaciones incompletas.
Cambios en los requerimientos y especificaciones.
Falta de planeacin y gestin del riesgo.
Por otro lado cabe mencionar que la identificacin de requerimientos no es fcil,
debido a que el sistema por desarrollar debe satisfacer las necesidades reales de los
usuarios, las cuales muchas veces no son claras, provienen de diversas fuentes y son
de diversos tipos, por lo que se requieren habilidades y herramientas tanto tcnicas
como administrativas por parte de los analistas. Esta es la parte medular para que el
sistema brinde la funcionalidad correcta.
La principal relacin de los requerimientos con el retraso de los proyectos radica en
que algunos aspectos estn fuera del alcance original, el cual nunca fue
documentado, por lo que no hay un mecanismo formal para justificarlo. Adems esto
da lugar a malos entendidos entre los clientes y el equipo de desarrollo.
Con respecto al nmero de requerimientos, entre ms grande sea el proyecto, puede
ser difcil controlarlos, sobre todo si no se tienen herramientas y mecanismos
establecidos, considerando adems que se relacionan unos con otros y se relacionan
con otros artefactos (planes, cdigo, pruebas) del proceso de ingeniera de software.
Es un hecho adems que es muy caro hacer cambios a requerimientos despus de
que han sido acordados, ya que conllevan a costos relacionados con la re-
especificacin, el re-diseo, la re-codificacin, el re-probar, la re-implantacin, las
acciones correctivas, la responsabilidad civil, los costos de desplazamiento, la
documentacin y el mantenimiento constante.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
80
3 3. .1 1. .2 2 C Co on nc ce ep pt to os s g ge en ne er ra al le es s d de e l la a I In ng ge en ni ie er r a a d de e R Re eq qu ue er ri im mi ie en nt to os s
3 3. .1 1. .2 2. .1 1 R Re eq qu ue er ri im mi ie en nt to o
Un requerimiento es una caracterstica identificable expresada en trminos de
funcionalidad o desempeo que un sistema debe poseer para lograr su objetivo. A
continuacin se presentan diversas definiciones y enfoques de lo que es un
requerimiento:
Si algo dice que algo debe ser cumplido, transformado, producido o
provedo, es un requerimiento. [Richard Hardwell]
Un requerimiento es una condicin o capacidad que debe satisfacer un
sistema. [Rational Software]
De acuerdo con la IEEE, entendemos por sistema a un conjunto de hardware,
software, datos, personas, facilidades y procedimientos organizados para lograr
algn objetivo en comn, y un requerimiento de sistema como:
Una caracterstica del sistema necesitada por un usuario para resolver
un problema o lograr un objetivo.
Una caracterstica que debe contener un sistema o un componente del
sistema para satisfacer un contrato, estndar, especificacin u otro
instrumento impuesto formalmente.
Por lo tanto un requerimiento de software es:
Una capacidad del software necesitada por un usuario para resolver un
problema o lograr un objetivo.
Una capacidad del software que debe ser cumplida o contenida por un
sistema o un componente del sistema para satisfacer un contrato,
estndar, especificacin u otro instrumento formalmente impuesto.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
81
3 3. .1 1. .2 2. .2 2 I In ng ge en ni ie er r a a d de e R Re eq qu ue er ri im mi ie en nt to os s
El Instituto de Ingenieros en Electricidad y Electrnica (IEEE), definen a la Ingeniera de
Requerimientos como:
la ciencia y disciplina relacionada con el anlisis y documentacin de
requerimientos, incluyendo el anlisis de necesidades, el anlisis de
requerimientos y la especificacin de requerimientos. Tambin
proporciona los mecanismos adecuados para facilitar las actividades de
anlisis, documentacin y verificacin de estos.
Para Ian Sommerville y Pete Sawyer Ingeniera de Requerimientos es:
el trmino que engloba todas las actividades relacionadas con
descubrir, documentar y mantener un conjunto de requerimientos para
un sistema informtico. El trmino ingeniera implica el uso
sistemtico y repetible de tcnicas que son usadas para asegurar que
los requerimientos del sistema sean completos, consistentes y
relevantes.
Recientemente a la Ingeniera de Requerimientos se le denomina tambin
Administracin de Requerimientos y se interpretan de forma similar; no obstante de
manera estricta la Administracin de Requerimientos es complemento de la Ingeniera
de Requerimientos. La ingeniera es la construccin de stos; la administracin es la
organizacin y gestin.
3 3. .1 1. .3 3 R Re el la ac ci i n n d de e l la a I In ng ge en ni ie er r a a d de e R Re eq qu ue er ri im mi ie en nt to os s c co on n o ot tr ra as s d di is sc ci ip pl li in na as s
La Ingeniera de Requerimientos puede enfocarse a sistemas o a software. No
obstante, en los sistemas informticos la relacin sistema-software es muy estrecha,
es por ello que este trabajo cubre de cierta manera ambas perspectivas. En este punto
se ubicar a la Ingeniera de Requerimientos -desde nuestra perspectiva- con
respecto a otras disciplinas reconocidas formalmente por la IEEE.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
82
Ingeniera de Sistemas es la aplicacin de esfuerzos cientficos y de ingeniera para 1)
transformar una necesidad operacional en una descripcin de los parmetros de
desempeo del sistema y una configuracin del sistema mediante el uso de un
proceso iterativo de definicin, sntesis, anlisis, diseo, prueba y evaluacin; 2)
integrar los parmetros tcnicos relacionados y asegurar compatibilidad de todas las
interfaces funcionales y del programa de una manera que optimice la definicin y el
diseo del sistema; 3) integrar fiabilidad, facilidad de mantenimiento, seguridad,
facilidad de perdurar, aspectos humanos y otros factores dentro del esfuerzo total de
ingeniera para lograr los objetivos de costo, tiempo y de realizacin tcnica.
La ingeniera de sistemas es un proceso iterativo que usa un enfoque sistemtico para
asegurar que el sistema, cuando sea desarrollado, satisfaga objetivos especficos.
Debe considerar los elementos de desempeo, costo, riesgo, tiempo y complejidad
operacional para asegurar que se logr un diseo eficaz.
La Ingeniera de Software es la aplicacin de un enfoque sistemtico, disciplinado y
cuantificable hacia el desarrollo, operacin y mantenimiento del software; es decir la
aplicacin de la ingeniera al software.
Ingeniera de Sistemas de Software es tanto un proceso tcnico como administrativo.
El proceso tcnico es el esfuerzo analtico necesario para transformar una necesidad
operacional en un diseo de software del tamao y configuracin apropiados, y su
documentacin en especificaciones de diseo y requerimientos. El proceso
administrativo implica evaluar el riesgo y el costo, integrar a los ingenieros
Ingeniera de
Requerimientos
Ingeniera de
Sistemas
Ingeniera de Sistemas
de Software
Ingeniera de
Software
Ingeniera de
Requerimientos de
Software
Ingeniera de
Requerimientos de
Sistema
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
83
especialistas y a los grupos de diseo, mantener el control de la configuracin y
auditar continuamente el esfuerzo para asegurar que los objetivos de costo, de
tiempo y de realizacin tcnica son satisfechos para cubrir la necesidad operacional
original.
La Ingeniera de Requerimientos de Sistema es la ciencia y disciplina relacionada con
el anlisis y documentacin de los requerimientos del sistema. Comprende la
transformacin de una necesidad operacional en una descripcin del sistema, los
parmetros de desempeo del sistema y la configuracin del sistema mediante el uso
de un proceso iterativo de anlisis, diseo, y prototipos.
La Ingeniera de Requerimientos de Software es la ciencia y disciplina relacionada con
el anlisis y documentacin de los requerimientos de software. Implica la divisin de
los requerimientos de sistema en varios subsistemas y tareas y la asignacin de estos
subsistemas y tareas al software, as como su transformacin en una descripcin de
requerimientos de software y parmetros de desempeo mediante el uso de un
proceso iterativo de anlisis, diseo y prototipos.
La principal diferencia entre Ingeniera de Requerimientos de Sistema y la Ingeniera
de Requerimientos de Software es que el origen de los requerimientos de sistema
radica en las necesidades del usuario mientras que el origen de los requerimientos de
software en los requerimientos y/o especificaciones del sistema.
Por lo tanto los ingenieros de requerimientos o analistas- del sistema trabajan con
los clientes y usuarios, identificando sus necesidades, planes y recursos disponibles.
Deben producir documentos que sean comprensibles por todos (analistas, gerentes,
arquitectos de sistema, usuarios y clientes).
Los ingenieros de requerimientos de software trabajan con los documentos de
requerimientos de sistema y los traducen en requerimientos de software que deben
ser comprendidos tanto por los diseadores de software como por los ingenieros de
requerimientos.
Requerimientos
de software
Requerimientos
de sistema
Ingeniera de
Requerimientos de
Sistema
Necesidades
del usuario
Ingeniera de
Requerimientos de
Software
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
84
3 3. .1 1. .4 4 A Ac ct ti iv vi id da ad de es s d de e l la a I In ng ge en ni ie er r a a d de e R Re eq qu ue er ri im mi ie en nt to os s
Dentro de la Ingeniera de Requerimientos se identifican una serie de actividades
distintas pero complementarias entre s, las cuales van desde la identificacin misma
de los requerimientos hasta su gestin una vez que se encuentran debidamente
especificados. Estas actividades no se dan de una forma secuencial, sino que se
realizan continuamente a lo largo de la actividad de requerimientos en el ciclo de
desarrollo. Se presentan en el siguiente cuadro:
La obtencin es la identificacin y adquisicin de los requerimientos y restricciones
de los involucrados en el sistema, del dominio de la aplicacin y de los ambientes
operacionales del sistema y organizacional.
El anlisis y negociacin incluye la clasificacin, ponderacin y anlisis de los
requerimientos identificados, la definicin del alcance de la solucin, as como la
resolucin de asuntos que surgen de la obtencin de requerimientos.
El modelado y especificacin consisten en la representacin y documentacin de los
requerimientos utilizando diversas tcnicas, herramientas y metodologas.
La validacin y verificacin consiste en establecer un proceso para comprobar que los
requerimientos sean correctos, completos, consistentes y claros, as como asegurar
que cumplen con los estndares de calidad.
Obtencin
Anlisis y
Negociacin
Modelado y
Especificacin
Administracin
Validacin y
Verificacin
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
85
La administracin se enfoca al control y organizacin de la informacin, documentos
y productos relacionados con los requerimientos a travs de todo el ciclo de vida de
desarrollo. La adecuada administracin de requerimientos permite encontrar,
documentar, organizar y rastrear los cambios en los requerimientos de un sistema.
3 3. .1 1. .5 5 C Cl la as si if fi ic ca ac ci i n n d de e l lo os s R Re eq qu ue er ri im mi ie en nt to os s
3 3. .1 1. .5 5. .1 1 N Ni iv ve el le es s d de e r re eq qu ue er ri im mi ie en nt to os s
De acuerdo a la perspectiva, se identifican principalmente tres niveles de
requerimientos que se expresan en la siguiente pirmide:
El dominio del problema representa el ambiente de los usuarios reales y otros
involucrados. Los usuarios tienen problemas y necesidades en su mbito de negocio,
los cuales como informticos, debemos comprender, adems de entender su cultura y
su lenguaje para construir el sistema que satisfaga sus necesidades. Dentro del
dominio del problema, comprendemos el problema a resolver. Por otro lado, en el
espacio o dominio de la solucin, nos enfocamos a definir y modelar una solucin
para el problema del usuario.
Los requerimientos de negocio representan las necesidades de los usuarios y otros
involucrados que estn siendo afectados por el problema y/o sern afectados por la
solucin. Un requerimiento de negocio (o necesidad) es una reflexin del negocio,
personal, un problema operacional u oportunidad que debe ser destinada en orden
para justificar el desarrollo, compra o uso de un nuevo sistema.
De Software
(Especificaciones)
Dominio del problema
Dominio de la solucin
De Negocio
(Necesidades)
De Sistema
(Caractersticas)
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
86
Es un hecho que el equipo de desarrollo construir un mejor sistema solamente si
comprende las necesidades reales de los involucrados. Estas necesidades de usuario
proveen una pieza crucial del rompecabezas.
Los requerimientos de sistema son descripciones simples, en el lenguaje del usuario
que se utilizan para comunicar la solucin de alto nivel a los involucrados. Se
denominan caractersticas, es decir servicios que el sistema proporciona para cumplir
una o ms necesidades de los involucrados.
Una caracterstica es un servicio que el sistema proporciona para satisfacer una o ms
necesidades de los involucrados. Las caractersticas son fcilmente expresables en
lenguaje natural mediante frases cortas. Son expresiones de alto nivel sobre el
comportamiento deseado del sistema; las caractersticas de un producto o sistema.
Las necesidades y las caractersticas estn estrechamente relacionadas. Si el equipo
no comprende o conoce lo que hay detrs de la caracterstica, existe un gran riesgo;
tal vez la caracterstica no resuelve una necesidad real y entonces el sistema no
cumplir los objetivos y expectativas de los usuarios.
Por su parte los requerimientos de software describen de manera ms especfica la
solucin. Canalizan una o ms caractersticas requeridas por los usuarios en
soluciones de software especficas.
3 3. .1 1. .5 5. .2 2 T Ti ip po os s d de e R Re eq qu ue er ri im mi ie en nt to os s
La mayora autores coinciden en clasificar los requerimientos en funcionales y no
funcionales.
Los requerimientos funcionales describen lo que el sistema
debe hacer, es decir especifican acciones que el sistema debe
ser capaz de realizar, sin considerar restricciones fsicas. Los
requerimientos funcionales especifican el comportamiento del
sistema.
Los requerimientos no funcionales describen nicamente
atributos del sistema o atributos del ambiente del sistema y
pueden ser por ejemplo: requerimientos de interfaz, de diseo,
de implementacin, legales, fsicos, de costo, de tiempo, de
calidad, de seguridad, de construccin, de operacin, entre
otros.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
87
Una subclasificacin ms detallada de los requerimientos funcionales y no funcionales
que presenta el Proceso Unificado de Desarrollo (RUP), se muestra a continuacin:
Tipo Subtipo Descripcin
F
u
n
c
i
o
n
a
l
e
s
F
u
n
c
i
o
n
a
l
e
s
Funcionalidad
Los requerimientos funcionales incluyen caractersticas y capacidades
del sistema o del software.
Uso
Los requerimientos de facilidad de uso pueden incluir categoras
relacionadas con: factores humanos, estticos, consistencia en las
interfaces de usuario, ayuda en lnea, asistentes, documentacin de
usuario, materiales de capacitacin.
Confiabilidad
Algunos requerimientos de fiabilidad a considerar son: frecuencia y
severidad de fallas, facilidad de recuperacin, previsin, exactitud,
tiempo entre fallas.
Desempeo
Un requerimiento de desempeo impone condiciones en
requerimientos funcionales. Por ejemplo, para una accin dada, se
pueden especificar parmetros de desempeo de: velocidad, eficiencia,
disponibilidad, exactitud, tiempo de respuesta, tiempo de
recuperacin, recursos utilizados.
D
e
C
a
l
i
d
a
d
Mantenimiento y
Soporte
Los requerimientos de facilidad de mantenimiento pueden incluir:
facilidad de probar, posibilidad de crecimiento, adaptabilidad, facilidad
de mantenimiento, compatibilidad, facilidad de configuracin, facilidad
de servicio, facilidad de instalacin, internacionalizacin y facilidad de
adaptacin y personalizacin.
Diseo
Un requerimiento de diseo (algunas veces llamado restriccin de
diseo) especifica o limita el diseo de un sistema. Incluye aspectos
relacionados con: sistema operativo, ambiente, compatibilidad,
aplicacin de estndares, integracin de sistemas.
Implementacin
Un requerimiento de implementacin especifica o limita la codificacin
o construccin de un sistema. Por ejemplo: estndares requeridos,
lenguajes de implementacin, polticas para la integridad de la base de
datos, limitacin de recursos, ambientes de operacin.
De Interfaz
Un requerimiento de interfaz especifica: un elemento externo con el
cual el sistema debe interactuar; restricciones en formatos, regulacin
de tiempos u otros factores usados en dicha interaccin.
N
o
F
u
n
c
i
o
n
a
l
e
s
D
e
R
e
s
t
r
i
c
c
i
n
Fsicos
Un requerimiento fsico especifica una caracterstica fsica que el
sistema posee. Por ejemplo: material, forma, tamao, peso. Este tipo de
requerimiento puede ser usado para representar requerimientos de
hardware as como las configuraciones fsicas de la red.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
88
De acuerdo al nivel de cumplimiento, los requerimientos pueden ser:
Obligatorio. Requerimientos que debe ser implementado.
Recomendable. Es deseable que sea implementado.
Opcional. No es crtica su implementacin.
Otra clasificacin de los requerimientos, de acuerdo al valor que proporcionan al
cliente o usuario, sealada por Pressman es la siguiente:
Normales. Se declaran como objetivos y metas para un
producto o sistemas durante las reuniones con el cliente. Si
estos requisitos estn presentes, el cliente quedar satisfecho.
Esperados. Estos requisitos son implcitos al producto y pueden
ser tan fundamentales que el cliente no los declara
explcitamente. Su ausencia sera motivo de una insatisfaccin
significativa.
Innovadores. Estas caractersticas van ms all de las
expectativas del cliente y suelen ser muy satisfactorias.
De acuerdo al origen y aplicacin contractual de un requerimiento, Hardwell los
clasifica en:
Primarios. Estos requerimientos estn comprometidos en un
contrato o acuerdo y provienen de una fuente externa al equipo
de desarrollo.
Derivados. Los requerimientos que son generados a partir de
los requerimientos primarios y no estn explcitamente
especificados.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
89
3.2 Actividades de Ingeniera de Requerimientos
La Ingeniera de Requerimientos como se mencion anteriormente, consta de 5
actividades: obtencin; anlisis y negociacin; modelado y especificacin; validacin y
verificacin; y administracin. A continuacin se detalla cada una de stas, con las
tcnicas y herramientas relacionadas, as como sus participantes.
3 3. .2 2. .1 1 P Pa ar rt ti ic ci ip pa an nt te es s
Los involucrados (stakeholders) son los individuos y organizaciones que estn
relacionados activamente en un proyecto de software, tienen influencia directa o
indirecta sobre los requerimientos, o sus intereses se ven afectados por el proyecto.
Pueden incluir clientes, usuarios finales, directivos, administradores de proyecto,
analistas, programadores, y personal de aseguramiento de la calidad.
No existe una terminologa nica de los distintos roles de las personas involucradas
en el desarrollo de software
RUP propone un conjunto de roles muy completo y detallado para todo el ciclo de desarrollo de
software.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
90
Rol Descripcin
O
b
t
e
n
c
i
n
A
n
l
i
s
i
s
y
n
e
g
o
c
i
a
c
i
n
M
o
d
e
l
a
d
o
y
e
s
p
e
c
i
f
i
c
a
c
i
n
V
a
l
i
d
a
c
i
n
y
v
e
r
i
f
i
c
a
c
i
n
A
d
m
i
n
i
s
t
r
a
c
i
n
Cliente
Representa a la persona u organizacin
que solicita la creacin de un sistema a
un rea de desarrollo y quien lo paga.
Es con quien se negocia el tiempo,
costo y alcance del proyecto. Pueden o
no ser usuarios del sistema.
Usuario
Son las personas que interactuarn con
el sistema. Proporcionan informacin
fundamental para el xito del proyecto,
ya que conocen y conviven con los
procesos diarios.
Lder de
proyecto
Por parte del equipo de desarrollo, es
el representante ante el cliente. Es la
persona responsable de completar el
proyecto exitosamente con los
recursos dados.
Analista
Su labor se enfoca a la ingeniera de
requerimientos, los identifica, analiza,
modela y documenta. Establece
contacto directo con los usuarios y
utiliza diversas tcnicas de
comunicacin y de recopilacin de
informacin para lograr su objetivo.
Programador
Con base en los requerimientos
recibidos de los ingenieros de
requerimientos, el programador realiza
la codificacin para producir el sistema
deseado.
Asegurador de
la Calidad
Garantiza el cumplimiento del proceso
y de los estndares del producto.
Enfocado a los requerimientos los
verifica y valida para imprimir la
calidad desde las primeras etapas del
desarrollo. Paralelamente prepara
planes de prueba para esos
requerimientos del sistema.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
91
3 3. .2 2. .1 1. .1 1 R Ro ol l d de e l lo os s c cl li ie en nt te es s y y u us su ua ar ri io os s
El usuario es el experto en sus necesidades y sus procesos de negocio. Es quien debe
comunicar estas necesidades claramente a los desarrolladores de software. Est
involucrado directamente con los procesos de la organizacin y es quien finalmente
operar el sistema.
Los clientes son quienes financian el proyecto y los que recibirn directa o
indirectamente los beneficios de ste. Ellos juegan un papel muy importante en la
toma de decisiones y en la negociacin del proyecto.
Para promover una adecuada participacin de los usuarios, es necesario tener en
cuenta lo siguiente:
Los usuarios estn capacitados en su rea de negocio pero no
necesariamente en sistemas, cmputo e informtica.
El usuario pretende facilitar sus tareas, pero tambin proteger sus
intereses.
Los usuarios requieren atencin peridica. Despus de que se obtuvieron
todos los requerimientos de su parte, es importante informarles del
avance, presentarles entregables y mantenerlos en contacto.
A los usuarios bsicamente les interesa conocer las generalidades del
sistema en trminos de los beneficios que van a obtener, sin tecnicismos
ni complicaciones.
La flexibilidad del sistema y la facilidad de uso son consideraciones clave
para los usuarios.
Algunas veces lo usuarios solicitan 10 caractersticas y realmente
necesitan 1. El total de los requerimientos recibidos del usuario debe ser
reducido a los que sean necesarios, suficientes, controlables y viables de
realizar.
A veces no es posible tener contacto con toda la comunidad de usuarios,
por lo que se debe tener un representante que presente opiniones
consensuadas al equipo de desarrollo y que tenga autoridad suficiente
para tomar decisiones relacionadas con el proyecto.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
92
Karl Wiegers, en su artculo Derechos y responsabilidades de los Usuarios presenta
una entretenida lista de aspectos a considerar con los usuarios:
Derechos de los usuarios:
Que los analistas hablen su mismo lenguaje.
Que los analistas aprendan sobre los objetivos del negocio y del sistema.
Que los analistas traduzcan las necesidades presentadas en
especificaciones de software.
Contar con desarrolladores que expongan los productos de trabajo de
requerimientos.
Tratar con desarrolladores que mantengan el respeto y una actitud
profesional.
Contar con analistas que presenten ideas y alternativas tanto en los
requerimientos como en la implementacin.
Describir caractersticas que harn el producto fcil de usar.
Ser informado de alternativas y oportunidades para adaptar los
requerimientos y permitir la reutilizacin de modelos ya existentes.
Recibir adecuadas estimaciones de costo y acuerdos cuando se requieran
cambios en los requerimientos.
Recibir un sistema que contenga la funcionalidad y calidad esperadas.
Responsabilidades de los usuarios:
Instruir a los analistas sobre el negocio y definir el vocabulario de su
rea.
Invertir tiempo en proporcionar requerimientos y aclarar dudas.
Ser especfico y preciso sobre las necesidades del negocio y los
requerimientos del sistema.
Tomar decisiones a tiempo sobre los requerimientos.
Respetar las estimaciones de costo y viabilidad del equipo de desarrollo.
Fijar prioridades para requerimientos individuales, caractersticas del
sistema o casos de uso.
Revisar los documentos de requerimientos y los prototipos.
Comunicar prontamente los cambios a los requerimientos del producto.
Seguir el proceso de cambio de los requerimientos.
Respetar el proceso de ingeniera de requerimientos que usan los
desarrolladores.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
93
3 3. .2 2. .1 1. .2 2 R Ro ol l d de e l lo os s a an na al li is st ta as s
El equipo de desarrollo, y en especfico los analistas (ingenieros de requerimientos)
deben comprender los problemas del usuario, su cultura y su lenguaje, as como
presentar propuestas de solucin comprensibles a los usuarios que cubran sus
necesidades y expectativas.
Karl E. Wiegers en su artculo Hbitos de los analistas efectivos, sugiere las
siguientes tareas del analista:
Mejorar la comunicacin entre los clientes y el equipo de desarrollo. El
analista es un hombre intermediario en la comunicacin. Debe primero
comprender las necesidades actuales del usuario para luego definir un
conjunto de requerimientos funcionales y objetivos de calidad que
permitirn a los diseadores, programadores y probadores, construir y
verificar el sistema.
Aprender y usar el vocabulario del dominio del problema, ms que forzar
a los clientes a comprender la jerga informtica. Incluir los trminos del
negocio en un glosario, el cual deber ser parte de la documentacin de
requerimientos.
Escuchar y comprender a los usuarios para orientar adecuadamente sus
puntos de vista en el producto. Tomar en cuenta las expectativas
implcitas y caractersticas como: desempeo, facilidad de uso, eficiencia
y fiabilidad.
Escribir requerimientos de alta calidad en documentos bien organizados.
Que puedan ser revisados por otros analistas, representantes de los
usuarios, desarrolladores y probadores.
Hacer preguntas significativas, que permitan obtener informacin clave
para el sistema.
Priorizar a tiempo y frecuentemente los requerimientos. Tratar de
construir primeramente las caractersticas ms crticas. Aunque para los
usuarios todo tiene la mxima prioridad, el analista debe negociarlo e
identificar las caractersticas realmente necesarias y las caractersticas
urgentes.
Crear un ambiente colaborativo, ya que finalmente los usuarios van a
tener lo que necesitan; la organizacin que desarrolla va a ofrecer un
producto adecuado y los desarrolladores van a construir un buen
sistema. La participacin del usuario es un factor clave.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
94
Aplicar eficazmente herramientas y buenas prcticas de ingeniera de
requerimientos.
Capacitarse y pulir sus habilidades en el uso y aplicacin de tcnicas de
comunicacin, escritura, modelado, entre otras. Un analista competente
debe combinar habilidades de comunicacin y relaciones
interpersonales. Por ejemplo, tcnicas para liderear mesas de trabajo,
para entrevistar y platicar con individuos y grupos; habilidades de
escuchar y escribir; habilidades interpersonales para negociar
prioridades y resolver conflictos entre los involucrados en el proyecto;
tener credibilidad y conversar efectivamente, as como habilidades de
modelado.
3 3. .2 2. .1 1. .3 3 R Ro ol l d de el l l l d de er r d de e p pr ro oy ye ec ct to o
El Lder de Proyecto es el representante ante el cliente, coordina al equipo de trabajo
y tiene la responsabilidad de terminar el proyecto satisfactoriamente con los recursos
asignados.
Algunas de las principales tareas del Lder de Proyecto son:
Coordinar al equipo de trabajo.
Estimar el tiempo, el costo y los recursos estimados para realizar el
proyecto. Planear y dar seguimiento a dichos planes.
Conducir el proceso de obtencin de requerimientos.
Manejar y resolver los conflictos de los involucrados.
Lograr la definicin del conjunto de caractersticas que proporcionarn
el ms alto valor a la mayor cantidad de involucrados.
Definir la visin del producto.
Negociar con los directivos, usuarios y desarrolladores.
Mantener una estrecha relacin entre lo que el cliente desea y lo que el
equipo de desarrollo puede entregar en un tiempo determinado.
Ser el canal oficial entre el cliente/usuario y el equipo de desarrollo.
Comunicar las caractersticas de las versiones a los involucrados.
Revisar las especificaciones de software para asegurarse que cumplan
con la visin del producto.
Administrar los cambios de prioridad en requerimientos, as como la
adicin y supresin de caractersticas.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
95
3 3. .2 2. .2 2 O Ob bt te en nc ci i n n
La obtencin de requerimientos es la consecucin de los requerimientos y
restricciones de los involucrados en el sistema, del dominio de la aplicacin, del
ambiente operacional del sistema y de la organizacin.
En el proceso de obtencin se identifican y comprenden las necesidades, problemas y
restricciones de los distintos tipos de usuarios, mediante la comunicacin con los
clientes, usuarios del sistema y otros involucrados en su desarrollo. Para ello es
importante tener conocimiento del problema, del dominio de la aplicacin y del
negocio.
3 3. .2 2. .2 2. .1 1 F Fu ue en nt te es s d de e r re eq qu ue er ri im mi ie en nt to os s
Los requerimientos del sistema son obtenidos de diversas orgenes, por ejemplo de la
consulta con los involucrados, de documentos relacionados, del conocimiento del
dominio y otras como son:
Estudios de mercado sobre las necesidades de informatizacin de la
organizaciones similares.
Comentarios de los usuarios sobre los sistemas actuales, los
procesos de negocio o la problemtica de la organizacin.
Especificaciones generales preparadas por los usuarios con las
necesidades bsicas del rea.
Documentos de organizacin y procedimientos.
Observaciones, salidas y medidas de los sistemas actuales.
Entrevistas con los clientes y usuarios.
Documentacin de los sistemas actuales.
Modelos y prototipos.
Informacin sobre otros productos de software en el mercado que
cubran necesidades similares.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
96
3 3. .2 2. .2 2. .2 2 P Pr ro ob bl le em m t ti ic ca a e en n l la a o ob bt te en nc ci i n n d de e r re eq qu ue er ri im mi ie en nt to os s
La obtencin de requerimientos, no es un fcil. Ian Sommerville, por ejemplo
menciona los siguientes problemas:
La mayora de las veces, los involucrados no saben lo que realmente
quieren del sistema, les es difcil articularlo o hacen peticiones no viables
por el costo que ello implica.
Los clientes expresan los requerimientos en sus propios trminos, que
nos son comprendidos por el equipo de desarrollo.
Diferentes involucrados tienen diferentes requerimientos y son
expresados de diferente manera.
Aspectos organizacionales y polticos influyen en los requerimientos del
sistema. Estos factores muchas veces no son obvios.
El ambiente econmico y de negocio del sistema es muy dinmico. Hay
cambios durante la obtencin de requerimientos.
Adems agregaramos otros aspectos como:
Algunas veces los clientes y usuarios no estn consciente de la
importancia de esta actividad y no le dedican el tiempo necesario o no
proporcionan informacin completa y veraz.
Las organizaciones no tienen documentados sus procesos, no estn
actualizados estos documentos o en la realidad no se llevan a cabo
como se especifica.
Los usuarios desean ver resultados rpidos en trminos de cdigo.
Internamente en su organizacin, los usuarios no se ponen de acuerdo
en sus necesidades, polticas y estrategias para la incorporacin de un
sistema.
Los usuarios desean la mayor cantidad de caractersticas del sistema en
tiempo rcord y con bajo costo.
No obstante existen tcnicas y herramientas que nos ayudan a lograr una
identificacin y obtencin de requerimientos exitosas; algunas de stas se mencionan
ms adelante.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
97
3 3. .2 2. .2 2. .3 3 A An n l li is si is s d de e p pr ro ob bl le em ma a
Para la adecuada identificacin del los requerimientos es necesario una realizar una
actividad clave: analizar el problema.
El anlisis del problema es el proceso de comprender los problemas del mundo real y
las necesidades del usuario para posteriormente proponer soluciones que cubran
estas necesidades. El objetivo es ganar una mejor comprensin, antes de empezar el
desarrollo del problema a resolver.
Esta actividad implica comprender el dominio del problema para pasar de ste al
dominio de la solucin. Dean Leffingwell y Don Widrig sugieren los siguientes pasos
del anlisis del problema en el desarrollo de software:
1) Definir del problema. Por escrito, describir el problema, a quin afecta,
en qu impacta y ver si todos los involucrados estn de acuerdo en que
ese es el verdadero problema.
2) Descubrir las causas races, el problema detrs del problema. Muchas
veces se tienen sntomas pero no son los problemas reales.
3) Identificar a los involucrados, es decir cualquier persona que puede ser
afectada materialmente por la implementacin de un nuevo sistema o
aplicacin, especialmente a los usuarios.
4) Definir los lmites entre la solucin y el mundo real. Esto nos ayudar a
delimitar el alcance y a precisar las fronteras del sistema.
5) Identificar las restricciones de la solucin. Estas restricciones son muy
importantes ya que orientan o dictan la solucin, y puede ser de tipo:
econmico, poltico, tcnico, ambiental, de recursos, entre otros.
Adems, posteriormente se convertirn en requerimientos no
funcionales del sistema.
Es importante mencionar que no todos los sistemas y aplicaciones son desarrollados
para resolver un problema, algunas veces se construyen para tomar ventaja de
oportunidades que se presentan en el mercado, para mantenerse actualizados
tecnolgicamente o para lograr una mayor competitividad.
O bien, tambin hay que considerar que muchas veces la solucin del problema no es
un sistema nuevo, sino ms bien una revisin de los procesos de negocio,
capacitacin de las personas o cambios en la cultura organizacional.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
98
3 3. .2 2. .2 2. .4 4 T T c cn ni ic ca as s p pa ar ra a l la a o ob bt te en nc ci i n n d de e r re eq qu ue er ri im mi ie en nt to os s
Las principales tcnicas utilizadas en la obtencin de requerimientos son:
Entrevistas y cuestionarios.
Talleres y mesas de trabajo.
Lluvia de ideas.
Presentaciones.
Juego de roles.
Prototipos.
A continuacin se describen cada una de ellas. Los prototipos se usan tanto para
obtener nuevos requerimientos como para especificarlos; stos se describen ms
detalladamente en la seccin de Modelado y Especificacin (3.2.4).
3.2.2.4.1 Entrevistas
La entrevista es una tcnica de recopilacin de informacin que consiste en una
conversacin entre dos personas generalmente con un objetivo comn, en la que el
entrevistador formula una serie de preguntas al entrevistado. En la Ingeniera de
Requerimientos, el entrevistador es el analista, el lder de proyecto o algn miembro
del equipo del desarrollo; los entrevistados son los clientes, usuarios u otros
involucrados con el sistema.
Para coadyuvar a que una entrevista sea eficaz, se pueden considerar las siguientes
recomendaciones:
Indagar el contexto de los involucrados y la organizacin. Recopilar
informacin general sobre la organizacin, su misin, sus objetivos y su
estructura.
Definir el objetivo de la entrevista, preparar y revisar las preguntas antes
de su realizacin.
Ir de lo general a lo particular.
Tratar de que la entrevista no sea tediosa, tardada o montona para
evitar aburrir al entrevistado.
Una vez que se han obtenido las respuestas del entrevistados,
verificarlas.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
99
Anotar las respuestas para tener referencia posterior.
Mostrarse sensibles y empticos con los entrevistados.
En una entrevista de obtencin de requerimientos, evitar en la medida de
los posible brindar soluciones anticipadas.
3.2.2.4.2 Cuestionario
El cuestionario no es un sustituto de la entrevista, ya que el contacto directo con los
clientes y usuarios y la observacin del ambiente en donde operar el sistema son
elementos muy importantes para comprender el problema y brindar una solucin
adecuada.
Sin embargo, son una tcnica til, que consiste en plantear por escrito una serie de
preguntas, son distribuidos entre los diversos involucrados, y se utilizan para validar
suposiciones, obtener datos estadsticos y obtener informacin cuando es difcil
coincidir con los encuestados.
Puede ser aplicado previo a la entrevista, para que los usuarios ubiquen el tipo de
informacin requerida y reflexionen sus respuestas. Tambin puede ser aplicado
despus de entrevistas iniciales y de la actividad del anlisis para corroborar o
detallar informacin.
3.2.2.4.3 Talleres y mesas de trabajo
Los talleres de requerimientos son diseados para lograr consenso sobre los
requerimientos de la aplicacin y para ganar un rpido acuerdo sobre el curso de una
accin, en un corto tiempo. Con esta tcnica, los involucrados clave del proyecto son
reunidos por un perodo intensivo, corto y por no ms de 2 das. El taller de
preferencia es coordinado por un externo con experiencia en el proceso de
administracin de requerimientos; cuando esto no es posible, puede ser un miembro
del equipo que tenga capacitacin en el proceso.
La lluvia de ideas es la parte ms importante de los talleres, ya que crea una
atmsfera creativa y positiva en la que participan todos los involucrados. Algunos
beneficios de los talleres son:
Se tienen reunidos a los principales involucrados en la definicin de
requerimientos y objetivos del sistema, tanto de la organizacin (cliente
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
100
y usuarios) como del equipo de desarrollo (analistas/ingenieros de
requerimientos).
Contribuye a la consolidacin de un equipo efectivo y comprometido a
un solo propsito: el xito del proyecto.
Todos lo involucrados tienen voz.
Permite lograr un acuerdo entre los involucrados y el equipo de
desarrollo sobre lo que la aplicacin debe y no debe hacer.
Se exponen y resuelven aspectos polticos que interfieren con el xito del
proyecto.
Existe retroalimentacin constate y distintos puntos de vista de las
necesidades, de los problemas y de las expectativas.
La salida inmediata, es una definicin preliminar de las caractersticas de
alto nivel del sistema.
No obstante el reunir y coordinar a un grupo de personas con puntos de vista
distintos para lograr un consenso no es tarea fcil. Las siguientes recomendaciones
pueden ayudar a que esta tcnica resulte efectiva:
Vender la idea de que no es una reunin ms, sino es la oportunidad de
que los involucrados participen para obtener lo que quieren, resolver un
problema y obtener beneficios comunes.
Asegurar la participacin del los involucrados correctos.
Contar con la logstica adecuada (traslados, lugar, materiales, entre
otros.)
Proporcionar materiales previos (De 2 das a una semana antes).
Proporcionar informacin especfica sobre el proyecto, por ejemplo
copias de entrevistas anteriores, cartas de los clientes, diagnsitcos y
anlisis anteriores.
Proporcionar adems materiales fuera del contexto, por ejemplo: textos
sobre creatividad, trabajo en equipo, administracin de requerimientos,
entre otros.
Contar un moderador que de preferencia no sea miembro del equipo
para lograr imparcialidad en las decisiones.
Establecer una agenda con horario, asunto y descripcin. Respetarla.
El moderador, entre otras responsabilidades, debe mantener un tono profesional y
objetivo para el encuentro, comenzar y terminar el encuentro a tiempo, establecer y
hacer cumplir las reglas para el encuentro, presentar los objetivos y la agenda para el
encuentro, facilitar el proceso de toma de decisiones, proporcionar las facilidades
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
101
para asegurar que se cumpla la agenda, tratar que todos los involucrados participen y
escuchen y controlar el comportamiento de los participantes.
3.2.2.4.4 Lluvia de Ideas
Las ideas ms creativas e innovadoras son resultado de la combinacin de mltiples
ideas, es por esto que la lluvia de ideas es una de las tcnicas ms efectivas en la
identificacin de requerimientos. Consta de dos fases: generacin de ideas y
reduccin de ideas (analizar las ideas generadas).
Entre las ventajas que proporciona esta tcnica estn:
Permite la participacin espontnea de todos los participantes.
Se genera gran nmero de ideas.
Permite asociar otras ideas.
Tpicamente el resultado es un conjunto de soluciones.
Permite pensar sin los lmites normales.
Se requieren recursos mnimos para realizarla.
Para una adecuada sesin de lluvia de ideas, se recomienda no permitir criticismo o
debate, permitir surgir la imaginacin, generar el mximo de ideas posible y
mantener una duracin mxima de 2 a 3 horas.
En la organizacin de una sesin de lluvia de ideas hay que reunir a los involucrados y
explicarles las reglas y el objetivo del proceso. Las fases del proceso son:
1. Generar las ideas y escribirlas conforme van surgiendo; en esta fase no
se cuestionan, critican o analizan profundamente.
2. Reducir ideas, para lo cual hay que definirlas con ms precisin,
podarlas, organizarlas, clasificarlas, agruparlas, refinarlas y ponderarlas.
Para la ponderacin se pueden considerar los siguientes parmetros:
crtica (indispensable), importante y til.
3.2.2.4.5 Presentaciones
El propsito de los storyboards o presentaciones es obtener ofrecer una exposicin
de la problemtica, de los requerimientos identificados, de un prototipo del sistema o
de cualquier otro aspecto que sirva como base para la especificacin exacta de los
requerimientos y para tener una retroalimentacin temprana de los usuarios. Pueden
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
102
ser pasivas, activas o interactivas. Algunas de las ventajas de las estas presentaciones
son las siguientes:
Son amigables, informales y pueden ser interactivas.
Pueden tomar diversos enfoques, de acuerdo a lo que se quiera analizar,
discutir o validar.
En su caso, proporcionan una revisin temprana de las interfaces de
usuario del sistema, permiten comprender la visualizacin de datos y as
acelerar el desarrollo conceptual de diferentes facetas de la aplicacin.
Son fciles de crear y modificar ya que existen diversas herramientas
para su creacin.
Permiten definir reglas del negocio que sern implementadas en una
aplicacin.
Son tiles por ejemplo para definir algoritmos y demostrar salidas de la
aplicacin.
Tambin son tiles en la validacin de requerimientos por parte del
usuario, una vez que se encuentran especificados.
En el desarrollo de una presentacin es importante considerar: quin es el
involucrado (usuarios del sistema), qu se est representando (comportamiento de los
usuarios cuando interactan con el sistema, o viceversa) y cmo lo va a hacer.
Las herramientas para desarrollar un storyboard van desde papel hasta herramientas
de software para crear presentaciones y animaciones como: Power Point, Harvard
Graphics, HyperCard, SuperCard, Macromedias Director, Cinemation, entre otras.
3.2.2.4.6 Juego de Roles
El juego de roles permite que el equipo de desarrollo experimente en el mundo de
usuario directamente. Esta tcnica es til sobre todos porque algunos usuarios no
pueden describir adecuadamente el proceso que ellos siguen, no reconocen que no
siguen procedimientos preestablecidos, tienen patrones de trabajo muy arraigados o
es necesario interactuar con los procesos para comprenderlos.
La tcnica consiste en que el analista y otros miembros del equipo de desarrollo
toman el lugar del usuario y ejecutan las actividades de su trabajo en el sitio real.
Cuando por alguna razn esto no es posible, se utilizan tcnicas alternativas como:
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
103
Los ensayos, en los cuales cada participante sigue una gua que define
un rol especfico.
Las tcnica de las tarjetas CRC (Class-Responsability-Collaboration), que
se utilizan en anlisis orientado a objetos para identificar las
responsabilidades de las clases.
3 3. .2 2. .2 2. .5 5 G Gu u a a d de e p pr re eg gu un nt ta as s t ti il le es s p pa ar ra a l la a o ob bt te en nc ci i n n d de e r re eq qu ue er ri im mi ie en nt to os s
Las preguntas especficas a realizar en la obtencin de requerimientos dependen de
las caractersticas del proyecto y de la naturaleza de la organizacin; no obstante a
continuacin e presentan una serie de cuestiones clave que pueden considerarse
como gua general.
GUA DE PREGUNTAS TILES PARA LA OBTENCIN DE REQUERIMIENTOS
I. CONTEXTO
Cul es el perfil del usuario y de la organizacin? (Nombre,
organizacin, puesto, responsabilidades clave, salidas que
produce).
Quines estn detrs de la iniciativa de trabajo? De dnde surgi
la iniciativa, qu reas intervienen y con qu apoyo se cuenta?
Qu beneficios intangibles y econmicos se esperan de la
solucin?
Cmo se evaluara el xito de la solucin?
II. PROBLEMTICA
Qu problemas existen actualmente? Cul es su causa raz? Por
qu existe el problema? Cmo se resuelve actualmente?
Cul es el entorno en que se da la problemtica?
III. PROCESOS
Cules procesos estn relacionados?
Descripcin general de los procesos.
Qu procesos son crticos en la organizacin?
En qu ambiente se utilizar la solucin?
IV. VOLUMEN Y TIPO DE INFORMACIN
Qu tipo de informacin se va a procesar?
Quin provee dicha informacin?
Cmo se encuentra almacenada, representada o distribuida la
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
104
informacin?
Volmenes de informacin Cuntas transacciones? Cuntos MB?
Cuntos archivos?
V. PERFIL Y PARTICIPACIN DE LOS USUARIOS
Quines utilizarn la solucin? Quines son los usuarios? A qu
rea pertenecen?
Cuntos usuarios utilizarn la solucin? Con qu rol?
Qu perfil tienen? Cules es su formacin profesional? Cules es
su formacin en cmputo?
Tienen experiencia en este tipo de aplicaciones?
Qu tipo de capacitacin ser necesaria?
VI. CARACTERSTICAS DESEADAS
Cules son caractersticas principales que se esperan del sistema?
Qu funcionalidad debe de proporcionar?
Cules son las expectativas de fiabilidad y desempeo?
Qu caractersticas de calidad se esperan?
Quin dar soporte al producto? Tienen necesidades especiales
para el soporte?
Cules son sus requerimientos de seguridad?
Cmo ser distribuido el software?
VII. RESTRICCIONES
Existen restricciones a considerar?
Con qu presupuesto se cuenta? Que limitaciones financieras o de
presupuesto son aplicables?
Existen aspectos polticos internos o externos que afecten las
soluciones potenciales?
Existe alguna restricciones de la tecnologa a utilizar? Estamos
prohibidos a nuevas tecnologas?
La solucin a construir interactuar con otros sistemas? Debe
mantenerse compatibilidad con soluciones existentes?
Existe algn requerimientos de seguridad especial?
Existen polticas, estndares o lineamientos que debamos seguir?
Hay un tiempo definido para su desarrollo?
Existe algn requerimiento legal, regulatorio o de ambiente, u
otros estndares que deban ser considerados?
VIII. INFRAESTRUCTURA
Qu plataformas usan? Existen planes para plataformas futuras?
Con qu recursos de hardware y software cuentan actualmente?
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
105
Existen otros sistemas o aplicaciones que sean relevantes para este
proyecto?
Se cuenta con licencias de software institucionales?
3 3. .2 2. .2 2. .6 6 R Re ec co om me en nd da ac ci io on ne es s
A continuacin se mencionan algunas recomendaciones en la obtencin de
requerimientos:
No confundir el qu con el cmo. La obtencin debe enfocarse al
qu.
Cuidar que el alcance del proyecto sea definido, y que no sea ni muy
corto ni muy largo.
Obtener informacin de todos los involucrados clave. Las reuniones
con muchos participantes pueden resultar lentas y tediosas; por el
contrario, recolectar informacin de pocos representantes, o
escuchar solamente determinados puntos de vista pueden no
ayudar a obtener los requisitos completos.
La actividad de obtencin disminuye cuando el usuario no piensa en
ms Casos de Uso los cuales sern tratados ms adelante en este
trabajo- sino ms bien son flujos alternos o excepcionales de stos;
cuando los usuarios discuten aspectos que se han tratado en
discusiones pasadas; cuando los nuevos casos de uso estn fuera
del alcance o son de baja prioridad con respectos a los otros.
Evaluar la viabilidad y necesidad del sistema, preguntarse
Realmente es necesario el sistema? Qu consecuencias tendr el
no desarrollar el sistema? De qu manera directa o indirecta el
sistema contribuir con los objetivos del negocio? Cmo afectar el
sistema a otros sistemas que estn operando?.
Ser sensitivos a las consideraciones organizacionales y polticas, a la
cultura organizacional, a las diferencias entre las reas, a la falta de
responsabilidad, a la visin de la organizacin, entre otras.
Registrar la fuente y justificacin de los requerimiento, quin los
solicit o los propuso.
Definir el ambiente operacional del sistema (Plataforma, informacin
de las interfaces, interaccin con otros sistemas).
Tomar como base los objetivos del negocio.
Identificar todas las restricciones del dominio ya que orientarn o
incluso dictarn el tipo de solucin.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
106
Reutilizar requerimientos o modelos ya existentes.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
107
3 3. .2 2. .3 3 A An n l li is si is s y y N Ne eg go oc ci ia ac ci i n n
Despus de que se ha identificado un conjunto de requerimientos, es necesario
analizarlos para descubrir conflictos, traslapes, omisiones e inconsistencias. El
objetivo del anlisis y negociacin de requerimientos tiene como finalidad obtener un
conjunto acordado de requerimientos completos, consistentes y no ambiguos, los
cuales se usarn como base para el desarrollo del sistema.
Dentro de esta actividad los requerimientos son analizados en detalle y deben pasar
por un proceso formal de negociacin y resolucin de conflictos en el que participen
los involucrados para llegar a un acuerdo. Se descubren requerimientos faltantes,
conflictos entre los requerimientos y requerimientos no viables, adems de que estos
deben ser clasificados y priorizados.
El anlisis y negociacin de requerimientos aplica generalmente a los requerimientos
de alto nivel, es decir a los requerimientos de sistema o de usuario. Para realizar el
anlisis de requerimientos se requiere habilidad y experiencia para revisar
cuidadosamente los documentos y pensar en las caractersticas, riesgos e
implicaciones de cada uno. El proceso de negociacin por su parte tiene como
intencin establecer compromisos que satisfagan a todos los involucrados. Esta
ltima no es una actividad simple, ya que influyen factores organizacionales, polticos
y personales de los involucrados.
El anlisis y la obtencin de requerimientos son procesos estrechamente
relacionados. Muchas veces conforme se van obteniendo requerimientos,
paralelamente se van analizando y en ese momento se resuelven posibles conflictos,
o en su caso se debe volver a la actividad de obtencin.
Para el anlisis y la negociacin de requerimientos son fundamentales las siguientes
actividades: establecer el alcance del proyecto, as como clasificar y ponderar los
requerimientos.
El objetivo del anlisis es descubrir problemas en los requerimientos; no es
propiamente una actividad de administracin de la calidad.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
108
3 3. .2 2. .3 3. .1 1 D De ef fi in ni ic ci i n n d de el l a al lc ca an nc ce e d de el l p pr ro oy ye ec ct to o
Definir los lmites del sistema es una actividad clave en el anlisis y negociacin. Se
debe establecer un conjunto acordados de requerimientos del sistema a desarrollar.
Determinar cules son requerimientos de sistema, cules son del proceso de negocio
y cules salen del alcance del sistema.
Esto no es siempre fcil, dado que la mayora de los clientes y usuarios desean que el
sistema a desarrollar les ofrezca la mayor funcionalidad como sea posible,
comprometiendo con ello la calidad, la viabilidad y el xito del proyecto.
Segn Dean Leffingwell y Don Widrig, el alcance del proyecto est en funcin de tres
factores:
La funcionalidad que se debe proporcionar a los usuarios.
Los recursos disponibles para el proyecto (equipo de trabajo, tecnologa
y presupuesto).
El tiempo disponible.
Una estrategia para establecer claramente el alcance es establecer lneas base. Una
lnea base es Un conjunto detallado de caractersticas, o requerimientos que se
pretenden entregar en una versin especfica de la aplicacin.
Una lnea base debe ser aceptable por el cliente y tener una probabilidad razonable
de xito, desde el punto de vista del equipo de desarrollo. Para establecerla es
importante considerar lo siguiente:
Tener una lista de las caractersticas identificadas.
Clasificar y ponderar cada caracterstica, tanto por los clientes, usuarios,
equipo de desarrollo y otros involucrados clave, y mnimo desde las
siguientes perspectivas: importancia, esfuerzo requerido y riesgo. (Ver
punto 3.2.3.2)
Con base en lo anterior, es posible obtener la lnea base de un conjunto de
caractersticas para determinar el alcance del proyecto de acuerdo con los factores
mencionados anteriormente: funcionalidad, recursos y tiempo.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
109
Para un proyecto se establecen tantas lneas base como se quieran, dependiendo
tambin de la estrategia y la metodologa de desarrollo. Se recomienda establecerlas
para lograr liberaciones diversas del producto, dividir el proyecto en fases, y
minimizar as el riesgo asociado.
3.2.3.1.1 Lnea base
Una lnea base est integrada por un conjunto de elementos de software generados
en una fase del ciclo de vida de un producto, revisados y aprobados que:
Representan una base acordada para continuar el desarrollo,
Pueden ser una especificacin o un producto revisado que
posteriormente servirn como base en el desarrollo y mantenimiento del
producto de software,
Pueden ser modificadas mediante procedimiento de control formales
tales como la Administracin de la Configuracin.
Una lnea base formal es un producto, usualmente documentos que han sido
expresamente revisados y acordados por el cliente, el usuario y el equipo de
desarrollo, y el cual sirve como fundamento para el desarrollo subsecuente. Un
sistema de administracin de configuracin es precisamente el mecanismo para
mantener las diversas lneas base.
3 3. .2 2. .3 3. .2 2 C Cl la as si if fi ic ca ac ci i n n y y p po on nd de er ra ac ci i n n d de e l lo os s r re eq qu ue er ri im mi ie en nt to os s
En el proceso de anlisis y negociacin se establecen valores para un conjunto de
atributos de los requerimientos. Los principales atributos son: estado, prioridad y
riesgo.
El e es st ta ad do o nos indica el progreso de los requerimientos durante el ciclo de vida de
desarrollo. Desde el punto de vista de la aceptacin de los requerimientos, los tres
estados ms comnmente utilizados son:
P Pr ro op pu ue es st to o. Requerimientos que estn bajo discusin o negociacin pero que
todava no son revisados y aceptados por el canal oficial, es decir por el
conjunto de personas (clientes y equipo de desarrollo) que dan el visto
bueno a un requerimiento.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
110
A Ap pr ro ob ba ad do o. Requerimientos tiles y factibles de realizar que han sido
aprobados por el canal oficial para su implementacin.
I In nc co or rp po or ra ad do o. Requerimientos o caractersticas incorporadas dentro de una
lnea base del producto en un tiempo especfico.
El equipo de desarrollo en conjuncin con los clientes y otros involucrados deben
participar en la clasificacin y ponderacin de requerimientos. La prioridad debe
reflejar la importancia para los involucrados y para el xito del proyecto. Asignar
prioridades permite a los involucrados decidir sobre los requerimientos medulares
para el sistema, orientar la arquitectura del sistema, resolver conflictos y establecer
lneas base. Las prioridades deben ser acordadas por ambas partes.
La p pr ri io or ri id da ad d, comprende tres posibles valores:
C Cr r t ti ic co o o o E Es se en nc ci ia al l. . Representan requerimientos esenciales. Si se falla en su
implementacin significa que el sistema no satisfar las necesidades del
usuario. Todas las caractersticas crticas deben ser implementadas.
I Im mp po or rt ta an nt te e. Representan requerimientos importantes para la efectividad y
eficiencia del sistema. La funcionalidad no puede ser fcilmente proveda de
otra manera. El no incluirlos puede afectar la satisfaccin de los clientes y
usuarios, pero una liberacin de una versin no ser retrasada por la falta de
una caracterstica importante.
D De es se ea ab bl le e. . Representan requerimientos de utilidad que sern usados con
menor frecuencia. De no ser incluidos, no se tiene un impacto significativo
en la satisfaccin del usuario.
Otro atributo clave es el r ri ie es sg go o asociado a cada requerimiento. El riesgo es la
probabilidad de que el requerimiento sea causa de eventos indeseables, como
mayores costos, retrasos, o cancelacin. Algunos aspectos de riesgo pueden ser:
complejidad del requerimiento, tecnologa para implementar el requerimiento,
tamao del requerimiento, entre otros.
Por cada conjunto de requerimientos es recomendable realizar un anlisis de riesgos.
El anlisis de riesgos es un proceso analtico que implica conocimiento, experiencia y
juicio de los involucrados para determinar dos atributos bsicos del riesgo: el impacto
en el proyecto y la probabilidad de ocurrencia.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
111
El impacto del riesgo en los requerimientos puede ser:
B Ba aj jo o. El requerimiento representa un riesgo leve para el proyecto.
M Me ed di io o. El requerimiento representa un riesgo considerable para el proyecto.
A Al lt to o. El requerimiento representa un riesgo grave para el proyecto.
Con base en esta ponderacin, los requerimientos que conviene implementar
primeramente son los ms importantes y de mayor riesgo.
Existen otros atributos que tambin deben ser valorados durante el anlisis de
requerimientos como son:
E Es sf fu ue er rz zo o. Estimacin del nmero de personas, horas hombre, lneas de
cdigo, puntos de funcin, entre otras. Este atributo es importante para
definir adecuadas lneas de base.
E Es st ta ab bi il li id da ad d. Una medida de la probabilidad de que la caracterstica cambiar
o que la comprensin del equipo de desarrollo respecto a la caracterstica
cambiar. Permite establecer prioridades y determinar cules aspectos
retomar en encuentros prximos con los involucrados.
V Ve er rs si i n n d de es st ti in no o. Especifica la versin del producto estimada en la cual
aparecer la caracterstica por primera vez.
A As si ig gn na ad do o a. En muchos proyectos, las caractersticas son asignadas a
equipos de caractersticas responsables de la obtencin, especificacin y
quiz implementacin de la misma.
R Ra az z n n. Fuente de la caracterstica requerida. Por ejemplo, la referencia a
algn documento, objetivo de negocio, disposicin legal o a una importante
entrevista con el usuario.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
112
3 3. .2 2. .3 3. .3 3 G Gu u a a p pa ar ra a e el l a an n l li is si is s d de e r re eq qu ue er ri im mi ie en nt to os s
A continuacin se presenta una breve serie de preguntas tiles para el anlisis de
requerimientos:
GUA PARA EL ANLISIS DE REQUERIMIENTOS
El requerimiento es acorde con los objetivos del negocio y el alcance del
proyecto?
El requerimiento entra en conflicto con alguna restriccin de dominio, poltica o
regulacin?
Es necesario el requerimiento?
El requerimiento se traslapa o entra en conflicto con otro?
El requerimiento es viable econmica y tcnicamente ?
El requerimiento exige cumplir con algn estndar de hardware o software?
El requerimiento es viable dada la tecnologa y recursos disponibles para
implementar el sistema?
La descripcin de un requerimiento describe un solo requerimiento o debe ser
dividido en varios requerimientos distintos?
A cada requerimiento se le ha asignado un estado, prioridad y riesgo?
Se ha considerado la portabilidad confiabilidad, facilidad de uso y facilidad de
mantenimiento para el sistema?
Estn claramente definidos los alcances del proyecto y del sistema?
Se han establecido lneas base basadas en requerimientos?
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
113
3 3. .2 2. .3 3. .4 4 R Re ec co om me en nd da ac ci io on ne es s
Algunas recomendaciones en el anlisis y negociacin de requerimientos se presentan
a continuacin:
Negociar fechas, precio y alcance de forma que sea satisfactorio
para el cliente y viable para el equipo de desarrollo.
En la medida de lo posible, planear la posible ocurrencia y
resolucin de conflictos. Favorecer encuentros cara a cara en los
que se resuelvan los conflictos.
No pasar por alto la ponderacin de requerimientos, es un
mecanismo importante en la planeacin y gestin del riesgo.
Clasificar los requerimientos usando un enfoque multidimensional.
Esto permite ubicar la relacin entre los requerimientos y cuando
ocurre un cambio, conocer los requerimientos afectados. Ejemplos
de clasificaciones para agrupar requerimientos son: de sistema, de
interfaz de usuario, de base de datos, de comunicaciones, de
seguridad, entre otras.
Usar matrices de interaccin para encontrar conflictos y traslapes.
Una matriz de interaccin es una matriz donde las columnas y
renglones son etiquetadas con identificadores de los
requerimientos, el valor en la interseccin entre dos requerimientos
indican la dependencia o conflictos entre estos. (Ver tema de
rastreabilidad en el punto 3.2.6)
Identificar cada requerimiento de manera nica.
Registrar la fuente de cada requerimiento. (Quin lo propuso, de
dnde surgi).
Evaluar el riesgo de los requerimientos.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
114
3 3. .2 2. .4 4 M Mo od de el la ad do o y y E Es sp pe ec ci if fi ic ca ac ci i n n
La especificacin de requerimientos es la actividad en la cual se genera el documento
que contiene la descripcin completa de las caractersticas y funcionalidades del
sistema, as como su alcance. Es por lo tanto la representacin y documentacin de
los requerimientos funcionales y no funcionales del sistema o del software.
Comnmente se le llama especificacin de requerimientos de software (SRS por sus
siglas en ingls) al documento que contiene la definicin completa de los
requerimientos de software. Este documento describe de manera clara y precisa cada
uno de los requerimientos esenciales (funciones, desempeo, restricciones de diseo
y atributos de calidad) del software y sus interfaces externas.
El documento de requerimientos de sistema es til para diversas personas:
Los clientes y usuarios del sistema quienes as validan que los
requerimientos son adecuados a sus necesidades.
Los lderes de proyecto para planear, costear y calendarizar el
desarrollo del sistema.
Los ingenieros de software y arquitectos del sistema responsables
de disear e implementar el sistema.
Los probadores, quienes usan el documento para generar pruebas y
verificar que el sistema desarrollado satisfaga los requerimientos.
El personal que mantiene y modifica el sistema, para comprender
las caractersticas iniciales del sistema y las relaciones entre las
diferentes partes del sistema.
Los documentadores que realizan los manuales de usuario y
tcnicos, con base en la funcionalidad requerida y ofrecida por el
sistema.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
115
3 3. .2 2. .4 4. .1 1 C Ca ar ra ac ct te er r s st ti ic ca as s d de es se ea ab bl le es s e en n l la as s e es sp pe ec ci if fi ic ca ac ci io on ne es s
De acuerdo con el estndar 830 de la IEEE, para que las especificaciones de
requerimiento cumplan caractersticas de calidad, deben ser:
Atributo Descripcin
Correctas
Una especificacin de requerimientos de software es correcta s
y solo s cada requerimiento representa algo realmente
necesario del sistema por construir. El usuario tambin valida
que sean correctos.
Sin ambigedad
Un requerimiento es no ambiguo si y slo si puede ser sujeto a
una sola interpretacin por distintas personas.
Completas
Un requerimiento est completo si no necesita ampliar detalles
para expresar la funcionalidad que expresa; es decir, si
proporciona la informacin suficiente para su comprensin.
Consistentes
Un requerimiento es consistente si y slo si esta redactado
conforme a su objetivo especfico y no entra en conflicto con
otros requerimientos.
Verificables
Un requerimiento es verificable si y slo si cada uno de los
componentes contenidos en el requerimiento se pueden probar.
Los requerimientos pueden ser considerados verificables si y
slo si existe un proceso finito con el cual una persona o
mquina pueden determinar que el sistema de software
desarrollado satisfaga los requerimientos.
Modificables
Un requerimiento es modificable si y slo si su estructura y
estilo son tales que cualquier cambio puede ser hecho de forma
fcil, completa y consistente, conservando la uniformidad y
estructura con los dems.
Con posibilidad
de rastreo
Un requerimiento se puede rastrear si y slo si el origen de cada
uno de sus componentes es claro, y si existe un mecanismo que
haga posible referirse al requerimiento a lo largo del ciclo de
desarrollo. Esta caracterstica es importante para reflejar
cambios y evaluar el impacto de stos.
Comprensibles
Un conjunto de requerimientos es comprensible si tanto la
comunidad de usuarios como de desarrolladores son capaces de
comprender plenamente los requerimientos por separado y la
funcionalidad total del sistema.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
116
Otras caractersticas deseables que sugieren otros autores son las siguientes:
Factibles Debe ser evaluado para que se pueda realizar con los
recursos (financieros, tecnolgicos, tcnicos, legales)
disponibles.
Independientes
de la
implementacin
Debe indicar el qu no el cmo.
En relacin con esta ltima caracterstica, los requerimientos describen lo que el
sistema debe hacer y el diseo describe cmo los requerimientos sern cumplidos.
No obstante la relacin entre los requerimientos y el diseo puede ser circular. Por
ejemplo un requerimiento de sistema (caracterstica) es el qu de un requerimiento
de software, el cual en este caso puede interpretarse como un cmo. Tomando
como referencia el mismo requerimiento de software puede ser un qu con respecto
al diseo detallado.
Para asegurar que una sentencia de requerimiento de sistema representa una
necesidad y no una implementacin, Richard Hardwell recomienda preguntar por
qu el requerimiento es necesario. La respuesta debe ser una necesidad real.
3 3. .2 2. .4 4. .2 2 T T c cn ni ic ca as s p pa ar ra a e el l m mo od de el la ad do o y y e es sp pe ec ci if fi ic ca ac ci i n n
3.2.4.2.1 Casos de Uso
Un caso de uso es una descripcin de un conjunto de acciones que el
sistema realiza para ofrecer algn resultado de valor a un actor en
particular. [Booch]
Los Casos de Uso han sido adoptados casi universalmente para la
captura de requisitos de sistemas software en general, y de sistemas
basados en componentes en particular...
Un c ca as so o d de e u us so o es un fragmento de funcionalidad del sistema que proporciona al
usuario un resultado importante. Los casos de uso representan los requerimientos
funcionales. Todos los casos de uso juntos constituyen el modelo de casos de uso, el
cual describe la funcionalidad total del sistema.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
117
El m mo od de el lo o d de e c ca as so os s d de e u us so o est compuesto por todos lo actores y todos los casos de
uso de un sistema. Un d di ia ag gr ra am ma a d de e c ca as so os s d de e u us so o describe parte o todo el modelo de
casos de uso y muestra un conjunto de casos de uso y actores asociados. Este modelo
sirve como un medio de comunicacin entre el equipo de desarrollo y puede servir
como un contrato entre el cliente, los usuarios y el equipo de desarrollo sobre la
funcionalidad total del sistema. Permite que los clientes y usuarios validen que el
sistema har lo que ellos esperan y el equipo de desarrollo construya lo esperado.
Normalmente, un sistema tiene muchos tipos de usuarios. Cada tipo de usuario se
representa con un actor. Los actores utilizan el sistema interactuando con los casos
de uso.
1) Usuarios de los Casos de Uso
Los Caso de Uso resultan de gran utilidad para:
Los clientes, ya que as visualizan, validan y aprueban lo que el sistema
debe hacer.
Los usuarios porque ganan entendimiento del sistema. Son los
destinatarios de las acciones del sistema y pueden complementar el
modelo.
Los analistas, ya que les proporciona las bases para el anlisis y diseo
conceptual.
Los desarrolladores, que les sirve como documento del comportamiento
del sistema para implementar el software con la funcionalidad de los
casos de uso.
Los probadores que los usan como base para las pruebas de los distintos
escenarios del sistema.
El lder del proyecto para establecer el alcance, determinar la planeacin
y los recursos del proyecto.
Al documentador le sirve como base para el manual de usuario.
A los dems involucrados del negocio les permite comprender las
caractersticas del sistema y replicarlas.
2) Beneficios
Existen varios motivos por los cuales los casos de uso son buenos, se han hecho
populares y se han adoptado universalmente:
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
118
Proporcionan un medio sistemtico e intuitivo de capturar
requerimientos funcionales, centrndose en el valor agregado para el
usuario.
Dirigen todo el proceso de desarrollo debido a que las actividades
subsecuentes toman como base los requerimientos funcionales.
La perspectiva que proporcionan los casos de uso apoyan la creacin de
productos enfocados a los clientes.
El modelo de casos de uso se utiliza para conseguir un acuerdo con los
usuarios y clientes sobre qu debera hacer el sistema. Esta
especificacin puede utilizarse como parte del contrato con el cliente.
Los casos de uso son intuitivos por lo que los clientes y usuarios no
tienen que aprender una notacin compleja.
Los casos de uso ayudan a los jefes de proyecto a planear, asignar y
controlar muchas de las tareas que los desarrolladores realizan. A partir
de los casos uso se puede estimar el tamao del proyecto y los recursos
necesarios.
Los casos de uso ayudan a llevar a cabo el desarrollo iterativo. Cada
incremento del desarrollo es una realizacin funcional de un conjunto de
casos de uso.
Los casos de uso se utilizan como punto de partida para escribir el
manual de usuario, ya que cada caso de uso describe una forma de
utilizar el sistema.
Los casos de uso son un mtodo poderoso para comprender los
requerimientos desde un punto de vista del usuario del negocio.
Son relativamente fciles de escribir, escritos en el lenguaje del usuario y
comprendidos tanto por el usuario como por el desarrollador.
Los escenarios de los casos de uso pueden servir como gua de prueba.
Facilitan el re-uso.
Se enfocan en el qu.
Identifican a los usuarios y los lmites del sistema.
Identifican las interfaces del sistema.
El UML se est convirtiendo en un estndar de la industria y es soportado
por diversas herramientas de modelado.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
119
3) Elementos
A Ac ct to or r. Un Actor representa cualquier cosa que interacte con el sistema.
Los Actores no son parte del sistema; representan los roles que pueden
jugar los usuarios del sistema. Un Actor puede intercambiar informacin
activamente con el sistema o bien ser un receptor pasivo de
informacin. Un Actor puede ser una persona, una mquina u otro
sistema. Cada Actor participa en uno o ms Casos de Uso. Se representa
con el siguiente smbolo:
Actor
C Ca as so o d de e U Us so o. . Cada forma en que los actores usan el sistema se
representa con casos de uso. Un caso de uso especifica una secuencia
de acciones, incluyendo variantes, que el sistema puede llevar a cabo, y
que producen un resultado observable de valor para un actor concreto.
Se representa de la siguiente forma:
Caso de Uso
Asociacin. Una asociacin representa la interaccin entre el actor y el
caso de uso. Indica qu actor inicia el caso de uso. Se representa con
una flecha como sigue:
Actor
Caso de Uso
Asoci aci n
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
120
Existen adems dos tipos de relaciones especiales: uses y extend. Las relaciones
uses ocurren cuando se tiene una porcin de comportamiento que es similar en ms
de un caso y no se quiere duplicar la descripcin de tal conducta. Uses permite
incluir la misma funcionalidad en dos o ms Caso de Uso separados sin necesidad de
repetir los detalles.
Se utiliza la relacin extends cuando se tiene un Caso de Uso que es similar a otro,
pero que hace un poco ms. Extends describe una variacin de la conducta normal.
Se representan en UML por medio de un estereotipo de la relacin, de la siguiente
manera:
A
C
<<Uses>>
B
<<Uses>>
Caso de Uso A Caso de Uso B
<<Extends>>
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
121
4) Documentacin
En complemento con el modelo de Casos de Uso, se escribe un documento de
especificacin por cada Caso de Uso, el cual contiene lo siguiente:
Identificador del Caso de Uso que puede ser un nmero o clave que lo
identifique.
Nombre del Caso de Uso que represente la funcionalidad, nombrndolo
desde el punto de vista de vista del usuario.
Breve Descripcin. El propsito es explicar en pocas lneas (2 3) el
Caso de Uso.
Pre-condiciones. Requisitos necesarios para que el Caso de Uso se lleve
a cabo.
Flujo Principal. Secuencia general de acciones que se dan normalmente.
Flujos Alternos. Secuencias de acciones que detallan las posibles
alternativas del Caso de Uso.
Flujos de Excepcin. Eventos extraordinarios o condiciones de error del
Caso de Uso.
Post-condiciones. Requisitos que deben cumplirse posteriormente.
5) Construccin de casos de uso
Elaborar los casos de uso es relativamente sencillo, si bien no existe una frmula o
una manera nica de hacerlo, se pueden seguir los pasos:
1. Encontrar actores, preguntndose quin interactuar con el sistema? a
quin se le ofrecer determinada funcionalidad? qu roles toman los
diversos usuarios del sistema? existe interaccin con otros sistemas o
aplicaciones? existe algn departamento o entidad que tiene que ver
con la funcionalidad del sistema?
2. Encontrar los casos de uso. Qu funcionalidad requiere determinado
actor? Mediante qu funciones se va lograr el objetivo del sistema? Qu
debe realizar el sistema?
3. Describir brevemente cada caso de uso, es decir un primer acercamiento
a las especificaciones (Punto 4-Documentacin).
4. Detallar el modelo de casos de uso completo, con sus actores, casos de
uso y relaciones, en su caso de tipo uses y extends.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
122
5. Detallar casos de uso, escribiendo la especificacin completa de stos.
Un modelo de casos de uso est casi terminado cuando recoge todos los
requerimientos funcionales de manera que pueden comprenderlos los clientes,
usuarios y desarrolladores.
6) Consideraciones
Es necesario tener en cuenta lo siguiente en la construccin de Casos de Uso.
Los casos de uso deben mantenerse tan independientes unos de
otros como sea posible.
Los casos de uso deben escribirse utilizando el lenguaje del cliente.
Un caso de uso es ms efectivo si esta escrito desde la perspectiva
del usuario, como un conjunto de sentencias en presente y en voz
activa.
Cuestionar los casos de uso que no tienen flujos alternos. Se dice
que ms del 90% tienen al menos un flujo alterno. Adems verificar
que se hayan considerado todos los flujos alternos.
Los casos de uso deben ser breves. El flujo bsico debe ser de dos o
tres prrafos a lo mucho.
Comenzar con verbo el nombre del caso de uso.
No confundir cada caso de uso con una interfaz del sistema
Presentar el diagrama de casos de uso de tal manera que se
sugieran los lmites del sistema
Asimismo conviene prestar especial atencin a sntomas como:
Los casos de uso son muy pequeos, ya que quiz se estn
considerando operaciones bsicas en lugar de casos de uso.
Existen muchos casos de uso porque estn muy desglosados
(granularidad) o porque salen del alcance del sistema.
Existen casos de uso sin un resultado de valor para un actor, es
decir, no son casos de uso.
Sus nombres hacen referencia a operaciones bajo nivel.
Los clientes y usuarios no comprenden los casos de uso.
Los casos de uso no son escritos del punto de vista del actor. Es
decir, son escritos (y titulados) del punto de vista del sistema.
El lmite del sistema es indefinido o inconstante.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
123
Los nombres de los actores son inconsistentes.
Las relaciones parecen telaraas.
Las especificaciones son muy largas o confusas.
Los casos de uso tambin tienen sus limitaciones, y no se recomiendan cuando el
sistema tiene pocos usuarios e interfaces mnimas o cuando la mayora de los
requerimientos son no funcionales y restricciones de diseo.
7) Gua de preguntas para revisar y refinar los casos de uso
GUA PARA REVISAR Y REFINAR LOS CASOS DE USO
Cada Caso de Uso se relaciona con al menos un actor?
Cada Caso de Uso es independiente de otros?
Cada Caso de Uso tiene un nombre nico, intuitivo y explicativo?
La breve descripcin da un panorama del Caso de Uso?
Se han encontrado todos los actores?
Cada actor es relacionado con al menos un Caso de Uso?
Se pueden nombrar al menos una persona que sea capaz de realizar
el rol de determinado actor?
Los actores juegan roles similares o el mismo rol en el sistema?
Un actor en particular interactua con el sistema en maneras
completamente distintas?
Los actores tienen nombres intuitivos y descriptivos?
Estn representado todos los requerimientos funcionales en los
Casos de Uso?
El Modelo de Casos de Uso contiene algn comportamiento superfluo
o redundante adems de las funciones originalmente requeridas?
Hay Casos de Uso con comportamientos o flujos similares? Cada
parte de un flujo de eventos ha sido modelado como otro Caso de
Uso?
El flujo de un Caso de Uso debera ser insertado dentro del flujo de
eventos de otro? El modelo hace uso de relaciones uses y extends
para evitar la redundancia?
Si se agrupan en paquetes, La divisin en paquetes es apropiada? Se
hace el modelo ms entendible, intuitivo y fcil de mantener?
Los clientes y usuarios comprenden los nombres y descripciones de
los Casos de Uso?
Es claro cunto comienza y termina el flujo de un Caso de Uso?
Existe la descripcin del comportamiento en condiciones de
excepcin?
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
124
3.2.4.2.2 Prototipos
Un prototipo es un modelo (representacin, demostracin o simulacin) fcilmente
ampliable y modificable de un sistema, probablemente incluyendo su interfaz y su
funcionalidad de entradas y salidas.
Un prototipo de requerimientos de software es una implementacin parcial del
sistema de software, que ayuda a los desarrolladores, usuarios y clientes a
representar, comprender mejor y validar los requerimientos del sistema.
Permiten por un lado identificar que algo no es lo que el usuario quiere, as como
nuevos requerimientos. Por ser desarrollados tempranamente pueden ayudar a
eliminar el riesgo y son efectivos porque permiten al usuario interactuar con un
prototipo en su ambiente, el cual da un acercamiento al mundo real.
Los prototipos pueden ser:
P Pr ro os sp pe ec ct to os s o o e ex xp pe er ri im me en nt ta al le es s. . Prototipos no reutilizables, utilizados para
definir las metas del proyecto, identificar nuevos requerimientos y validarlos.
E Ev vo ol lu ut ti iv vo os s u u o op pe er ra ac ci io on na al le es s. . Prototipos iterativos que son progresivamente
refinados hasta que se convierten en el sistema final.
V Ve er rt ti ic ca al le es s. . Modelan pocas caractersticas de un sistema pero con mucho
detalle.
H Ho or ri iz zo on nt ta al le es s. Prototipo que modela muchas caractersticas de un sistema
pero con poco detalle.
D De e i in nt te er rf fa ac ce es s d de e u us su ua ar ri io o. Representan el diseo, contenido, organizacin y
secuencia de la interfaces del sistema; no tienen ninguna funcionalidad.
A Al lg go or r t tm mi ic co os s. Implementan todo o alguna una parte de un clculo o proceso.
Algunas herramientas tiles para el desarrollo de prototipos son:
Papel y lpiz.
Software de diseo como Visio o Corel.
Software para desarrollar presentaciones como Power Point.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
125
Software de animacin y presentaciones como Flash, Director y
Cinemation.
Herramientas visuales para RAD, como Visual Basic y Borland Delphi .
3.2.4.2.3 Otras tcnicas de especificacin
Existen adems diversas tcnicas de especificacin, algunas de las cuales
complementan a los casos de uso y prototipos; otras se utilizaron hace algunos aos
con los lenguajes estructurados. A continuacin se da una breve descripcin de stas.
L Le en ng gu ua aj je e N Na at tu ur ra al l. Redactar en un documento los requerimientos en
lenguaje natural y sin formalidad puede ser una alternativa de
especificacin, no obstante puede resultar incompleto y ambiguo. El
lenguaje natural generalmente complementa y hace ms explcitas otras
tcnicas de especificacin.
P Ps se eu ud do oc c d di ig go o. Combina la informalidad del lenguaje natural con la
sintaxis y las estructuras de control de un lenguaje de programacin.
M M q qu ui in na as s d de e e es st ta ad do o f fi in ni it to o. Una mquina hipottica que puede estar en
uno y slo un nmero determinado de estados en un tiempo especfico.
Se representan generalmente con los diagramas de estado.
T Ta ab bl la as s y y r rb bo ol le es s d de e d de ec ci is si i n n. Cuando se requiere representar el
comportamiento de que distintas combinaciones de entradas, ofrecen
determinadas salidas.
M Mo od de el lo os s e en nt ti id da ad d- -r re el la ac ci i n n. Si los requerimientos dentro de un conjunto
involucran una descripcin de la estructura y relaciones entre datos es
conveniente utilizar un modelo entidad-relacin.
A An n l li is si is s E Es st tr ru uc ct tu ur ra ad do o ( (S SA A) ). . Especifica los requerimientos mediante
procesos, flujos de informacin y almacenamientos. Utiliza diagramas de
contexto, de flujo, de flujo de datos (DFD), diagramas modulares y
diagramas entidad-relacin.
A An n l li is si is s y y D Di is se e o o O Or ri ie en nt ta ad do o a a O Ob bj je et to os s. Mediante la notacin de UML, se
modela el sistema con una perspectiva de objetos, en la que un objeto es
una entidad que conjunta caractersticas (datos) y operaciones
(procesos). Los casos de uso como parte de UML modelan los
requerimientos.
3 3. .2 2. .4 4. .3 3 M Mo od de el la ad do o d de el l d do om mi in ni io o y y m mo od de el la ad do o d de el l n ne eg go oc ci io o
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
126
Un modelo de dominio captura los tipos ms importantes de objetos en el contexto
del sistema. Los objetos representan las cosas que existen o los eventos que
suceden en el entorno en que trabaja el sistema.
El modelado del negocio es una tcnica para comprender los procesos de negocio de
la organizacin.
Un modelo de casos de uso del negocio describe los procesos de negocio de una
empresa en trminos de casos de uso del negocio y actores del negocio. Es una vista
externa del negocio. En este caso el sistema es el negocio.
Un modelo de objetos del negocio es un modelo interno a un negocio. Describe cmo
cada caso de uso de negocio es llevado a cabo por parte de un conjunto de
trabajadores que utilizan un conjunto de entidades de negocio y unidades de trabajo.
El modelado de negocio se usa en los sistemas de aplicacin especfica. Su propsito
es comprender la estructura y dinmica de la organizacin y asegurar que los
clientes, usuarios finales y desarrolladores tengan una comprensin general de la
misma.
3 3. .2 2. .4 4. .4 4 G Gu u a a d de e c co on nt te en ni id do o p pa ar ra a l la a e es sp pe ec ci if fi ic ca ac ci i n n d de e r re eq qu ue er ri im mi ie en nt to os s
No existe una gua nica para la especificacin de requerimientos; muchas veces
dependen el tipo de proyecto y del enfoque de la organizacin. Existen sin embargo
diversas propuestas para especificar los requerimientos, por ejemplo: el estndar
830-1984 de la IEEE, las plantillas del Proceso Unificado de Rational, la gua de
VOLERE, adems de otras que los autores proponen o complementan en sus obras.
A continuacin se presenta una gua general que integra los principales aspectos de
todas estas propuestas, considera los Casos de Uso como parte de la especificacin
de los requerimientos funcionales y adems incorpora otros elementos que en la
prctica resultan tiles. Considera por ejemplo, algunos aspectos generales de la
administracin del proyecto, que si bien deben ser detallados en un documento
especifico, algunas veces conviene incluir aspectos clave para ubicar mejor el
contexto. Tambin cabe resaltar que se integr una parte relacionada con el
modelado de negocio para comprender la estructura y procesos de la organizacin.
La gua cubre diversos aspectos genricos, pero puede adaptarse al tipo de
organizacin, al tipo de proyecto, e incluso a quien va dirigido el documento.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
127
GUA DE CONTENIDO PARA LA ESPECIFICACIN DE REQUERIMIENTOS
I. INTRODUCCIN
P Pr re es se en nt ta ac ci i n n. Presentacin y objetivo del documento.
C Co on nv ve en nc ci io on ne es s. Aspectos tipogrficos para comprender mejor el documento,
as como definiciones, acrnimos y abreviaciones.
P Pr ro op p s si it to o y y a al lc ca an nc ce e. Objetivo del producto. Breve descripcin del producto,
alcances y beneficios del mismo.
P Pr ro ob bl le em m t ti ic ca a q qu ue e r re es su ue el lv ve e. Necesidades o deficiencias que satisface el
producto. Contraste con los beneficios. Justificacin.
C Cl li ie en nt te es s, , u us su ua ar ri io os s e e i in nv vo ol lu uc cr ra ad do os s. En caso de tratarse de un producto a
vender se refiere a los clientes y usuarios potenciales. Para un sistema
especfico, los roles, experiencia, niveles y prioridades de los involucrados
en el proyecto.
II. CONTEXTO DE LOS USUARIOS Y LA ORGANIZACIN (AMBIENTE OPERACIONAL)
O Ob bj je et ti iv vo os s d de e l la a o or rg ga an ni iz za ac ci i n n. . Antecedentes, misin y objetivos de la
organizacin destinataria del proyecto
E Es st tr ru uc ct tu ur ra a d de e l la a o or rg ga an ni iz za ac ci i n n. . Organigrama, reas involucradas, y
distribucin regional de relevancia para el sistema. rea o usuarios finales
del sistema.
M Mo od de el la ad do o d de el l n ne eg go oc ci io o. Procesos actuales de la organizacin relevantes para
el sistema.
III. REQUERIMIENTOS
R Re eq qu ue er ri im mi ie en nt to os s F Fu un nc ci io on na al le es s
Modelo de Casos de Uso. Diagrama general de los casos de uso del
sistema.
Descripcin de los Actores. Breve descripcin de los actores.
Concentrado de los requerimientos funcionales. Matriz concentrada de
los casos de uso con sus atributos: tipo, estado, prioridad, riesgo, etc.
Especificaciones de los Casos de Uso
o Caso de Uso 1
Identificador
Nombre
Pre-condiciones
Flujo principal
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
128
Flujos alternos
Flujos de excepcin
Post-condiciones
o Caso de Uso 2
o ...
o Caso de Uso n
R Re eq qu ue er ri im mi ie en nt to os s n no o F Fu un nc ci io on na al le es s
A Ap pa ar ri ie en nc ci ia a y y e es st ti il lo o. Descripcin de las caractersticas de la Interfaces de
usuario relacionadas con estndares de despliegue, resolucin,
distribucin, mens, entre otros.
U Us so o. Facilidad de operacin y de aprendizaje, dependiendo de las
habilidades y experiencia de los usuarios, as como de la complejidad
del producto.
C Co on nf fi ia ab bi il li id da ad d. Exactitud de los resultados esperados, tolerancia a fallas,
facilidad de recuperacin.
D De es se em mp pe e o o. Permite especificar el tiempo esperado para completar
determinadas tareas, as como los volmenes de procesamiento, de
almacenamiento, de usuarios simultneos, entre otros.
S So op po or rt te e y y m ma an nt te en ni im mi ie en nt to o. Condiciones especiales de mantenimiento, de
portabilidad, de configuracin.
S Se eg gu ur ri id da ad d. Especificaciones de acceso, control y confidencialidad para
conservar la integridad del sistema.
D Do oc cu um me en nt ta ac ci i n n d de el l u us su ua ar ri io o y y a ay yu ud da a e en n l l n ne ea a. Lista de los productos de
documentacin del sistema requeridos. Aspectos de ayuda en lnea.
O Ot tr ro os s. Por ejemplo, requerimientos de migracin de informacin o
reemplazo de un sistema anterior.
R Re es st tr ri ic cc ci io on ne es s
L Le eg ga al le es s. Violacin de derechos de autor, contratos o licitaciones.
T Ti ie em mp po o. Tiempo mximo de desarrollo.
P Pr re es su up pu ue es st to o. Presupuesto disponible para el proyecto.
D De e d di is se e o o. Plataforma, estndar, arquitectura a cumplir.
E Es st t n nd da ar re es s. Estndares tanto de los clientes y usuarios como del grupo
de desarrollo. Estndares de diseo, codificacin y trabajo en grupo.
O Ot tr ra as s.
R Re eq qu ue er ri im mi ie en nt to os s d de e I In nt te er rf fa ac ce es s. . Aspectos relacionados con la conectividad,
comunicacin y acceso hacia o desde componentes externos.
Interfaces de hardware. Comunicacin con dispositivos de hardware.
Interfaces de software. Compatibilidad con componentes comerciales.
Interfaces de comunicaciones. Protocolos e interfaces de comunicacin.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
129
IV. ASPECTOS DEL PROYECTO
E Es st tr ra at te eg gi ia a d de e d de es sa ar rr ro ol ll lo o. . Fases del desarrollo, metodologa a utilizar.
Planeacin general, recursos y tiempo estimados, riesgos a considerar
P Pl la at ta af fo or rm ma a y y r re eq qu ue er ri im mi ie en nt to os s d de e d de es sa ar rr ro ol ll lo o. . Sistema operativo, lenguajes,
manejadores de bases de datos y otras herramientas a utilizar.
E En nt tr re eg ga a d de el l p pr ro od du uc ct to o. Licencias, distribucin, instalacin, proteccin del
cdigo fuente.
G Gl lo os sa ar ri io o d de e t t r rm mi in no os s
3 3. .2 2. .4 4. .5 5 R Re ec co om me en nd da ac ci io on ne es s
Adems de las caractersticas de calidad de las especificaciones de requerimientos
mencionadas anteriormente y las tcnicas propuestas, se sugiere:
Utilizar plantillas para documentar los requerimientos.
Usar un lenguaje simple, consistente y conciso.
Usar apropiadamente los diagramas. Complementar con lenguaje
natural los requerimientos descritos de otras formas.
Especificar cuantitativamente los requerimientos, ya que esto sirve
como base para las pruebas de aceptacin. Es necesario decidir la
mtrica adecuada para describir el requerimiento y establecerle el
valor adecuado. Por ejemplo:
o Desempeo. Nmero de transacciones por segundo, tiempo
de respuesta para las entradas del usuario.
o Almacenamiento. Tamao mximo del sistema en KB.
o Facilidad de uso. Tiempo promedio para aprender el 75% de
las facilidades.
o Robustez. Tiempo para reestablecerse despus de una falla.
Modelar el ambiente del sistema. Hacer un modelado del negocio
relacionado con el sistema.
Modelar la arquitectura del sistema.
Usar un glosario y diccionario de datos. Definir trminos
especializados.
Documentar las ligas entre los requerimientos del sistema y los
requerimientos de los involucrados (rastreo).
Explicar cmo llenar y usar el documento plantilla.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
130
Incluir un resumen o matriz de los requerimientos en el documento
para facilitar la consulta y obtener una visin del tamao y estado
del proyecto.
3 3. .2 2. .5 5 V Va al li id da ac ci i n n y y V Ve er ri if fi ic ca ac ci i n n
La validacin y verificacin permiten monitorear el proceso y los productos en el
desarrollo de software. La validacin y verificacin (V&V) juegan un importante papel
en el desarrollo de software con calidad.
La validacin es el proceso de asegurar que lo que se est construyendo
corresponde con los realmente requerido, que sea completo,
consistente y de acuerdo con los requisitos.
La verificacin es el proceso de determinar si los productos de una
determinada fase del ciclo de desarrollo de software, cumplen o no los
requerimientos establecidos durante el inicio de la fase.
La validacin asegura que el sistema trabaje conforme a los requerimientos
especificados. La verificacin es un proceso analtico que trabaja a lo largo del
proyecto para asegurar que se estn haciendo las cosas bien.
3 3. .2 2. .5 5. .1 1 V Va al li id da ac ci i n n
La diferencia entre el anlisis de requerimientos (3.2.3) y la validacin, es que el
anlisis se realiza sobre los requerimientos de sistema iniciales obtenidos de los
involucrados, en cambio, la validacin comprueba el documento final de
requerimientos. Esta ltima revisin debe realizarse tanto por el equipo de desarrollo
como por el cliente.
La IEEE define validacin como:
El proceso de evaluar un sistema o componente durante o al final del
proceso de desarrollo para determinar si satisface los requerimientos
especificados
Es decir, la validacin permite confirmar que el sistema se haya implementado
conforme a los requerimientos establecidos. Se puede realizar mediante 2 formas
principalmente: pruebas de aceptacin y pruebas de validacin.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
131
P Pr ru ue eb ba as s d de e a ac ce ep pt ta ac ci i n n. Las pruebas de aceptacin involucran al usuario
en la actividad de validacin final para asegurar que el producto opere
en la forma que el usuario realmente necesita.
P Pr ru ue eb ba as s d de e v va al li id da ac ci i n n. Las actividades primarias de la validacin son las
actividades de prueba. Las pruebas de validacin se realizan contra las
especificaciones acordadas.
3 3. .2 2. .5 5. .2 2 V Ve er ri if fi ic ca ac ci i n n
La IEEE define verificacin como:
El proceso de evaluar un sistema o componente para determinar si los
productos de una determinada fase satisfacen las condiciones
impuestas en el inicio de la fase.
La verificacin es un proceso continuo que nos ayuda a asegurar que cada paso del
desarrollo sea correcto, y satisfaga las necesidades de la actividad siguiente. No es
una actividad realizada slo por el equipo de aseguramiento de la calidad si no que
debe ser una filosofa de todos los grupos de trabajo, ya que es posible realizar
verificacin a todos los niveles: verificar los elementos de requerimientos, los
elementos de diseo, los elementos de implementacin, los elementos de prueba,
etc.
Hay un punto de verificacin muy importante al final del proceso de desarrollo que
casi nunca se considera: que el producto haya demostrado trabajar dentro del
ambiente de los usuarios y que los usuarios estn satisfechos con los resultados.
Los problemas ms comunes en la verificacin de requerimientos son referentes a la
falta de cumplimiento de los estndares de calidad, la inadecuada especificacin
(mala redaccin, ambigedad), as como a conflictos entre los requerimientos que no
fueron detectados durante el proceso de anlisis.
Para la verificacin de lo requerimientos es necesario considerar los atributos de
calidad descritos por el estndar 830-1984 del IEEE y tratados en el punto 3.2.4.1 de
este trabajo.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
132
3 3. .2 2. .5 5. .3 3 G Gu u a a d de e p pa ar ra a l la a v va al li id da ac ci i n n y y e es sp pe ec ci if fi ic ca ac ci i n n d de e r re eq qu ue er ri im mi ie en nt to os s
Algunas preguntas tiles para la validacin y verificacin de requerimientos se
presentan a continuacin:
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
133
GUA PARA LA VALIDACIN Y VERIFICACIN DE REQUERIMIENTOS
Falta alguna informacin necesaria de los requerimientos? Estn completos?
Los requerimientos se encuentran dentro del alcance del proyecto?
Cada requerimiento se puede verificar de alguna manera? Se puede probar?
Todos los requerimientos son escritos en un consistente y apropiado nivel de
detalle?
Se ha verificado la gramtica y ortografa de los documentos de requerimientos?
Son correctas todas las referencias a otros requerimientos? Existen y se
encuentran especificados?
Est indicada la prioridad de implementacin de cada requerimiento?
Han sido definidos los algoritmos intrnsecos a los requerimientos funcionales?
Las especificaciones incluyen todas las necesidades del sistema y los usuarios?
Est documentado todo el comportamiento de las condiciones de error?
Algn requerimiento est duplicado o entra en conflicto con otro requerimiento?
Cada requerimiento est escrito en un lenguaje claro, conciso y sin ambigedad?
Pueden ser implementados todos los requerimientos dentro de las restricciones
conocidas?
Cada requerimiento es identificado de manera nica?
Cada requerimiento funcional de software puede ser trazado a los
requerimientos de alto nivel? Existe posibilidad de rastreo? Es posible saber de
dnde deriv el requerimiento?
Los requerimientos representan aspectos de diseo o soluciones de
implementacin?
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
134
3 3. .2 2. .6 6 A Ad dm mi in ni is st tr ra ac ci i n n
La administracin de requerimientos consiste en organizar y mantener la informacin
relacionada con los requerimientos a travs de todo el ciclo de vida de desarrollo.
Los principales aspectos de la administracin de requerimientos son manejar: los
cambios en los requerimientos, las relaciones entre requerimientos y sus
dependencias.
Los problemas ms comunes relacionados con la administracin de requerimientos
son: 1) los requerimientos no siempre son obvios y provienen de diversas fuentes, 2)
no siempre son fciles de expresar en palabras, 3) hay muchos tipos diferentes de
requerimientos en diferentes niveles de detalle, 4) el nmero de requerimientos
puede llegar a ser incontrolable si no se administra, 5) los requerimientos se
relacionan unos con otros y se relacionan con otros artefactos del proceso de
ingeniera de software, 6) los requerimientos cambian.
Existe una definicin muy conocida de Administracin de Requerimientos de Rational
Software: Enfoque sistemtico para obtener, organizar y documentar los
requerimientos de un sistema, y establecer y mantener un acuerdo entre los clientes y
el equipo de desarrollo del proyecto, sobre los cambios en los requerimientos del
sistema.
No obstante como se mencion en el 3.1.2.2, existe una diferencia entre Ingeniera
de Requerimientos y Administracin de Requerimientos, bajo el enfoque de este
trabajo, la administracin es una actividad de la ingeniera de requerimientos, y su
objetivo es:
Organizar y controlar la informacin y productos relacionados con los
requerimientos, sus cambios y sus dependencias con otros a travs de
todo el ciclo de vida de desarrollo.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
135
3 3. .2 2. .6 6. .1 1 C Ca am mb bi io os s e en n l lo os s r re eq qu ue er ri im mi ie en nt to os s
Es un hecho que los requerimientos cambian. Esto no slo significa ms o menos
tiempo de implementacin sino que los requerimientos pueden tener impacto en
otros.
Por ello es recomendable que el documento de especificacin de requerimientos sea
firmado por el cliente y por el equipo de desarrollo. La especificacin se convierte en
un contrato. Las peticiones de cambios en los requerimientos una vez que se ha
finalizado la especificacin no se negarn, pero el cliente debe saber que cada
cambio posteriori significa un ampliacin o modificacin del alcance, y por lo tanto
puede aumentar los costos y prolongar los tiempos. Tambin es necesario usar ligas
de rastreo para representar las dependencias entre los requerimientos y otros
artefactos.
Existen varias razones, externas o internas, que estn fuera del control de los
desarrolladores y los usuarios. En los factores externos no se puede controlar ni
prevenir el cambio pero s controlar. Ejemplos de factores externos son: cambios en
la economa, en las regulaciones gubernamentales, en las preferencias del mercado o
en la tecnologa. Ejemplos de factores internos: fallas en el proceso de obtencin de
requerimientos, por no realizar las preguntas correctas a las personas clave.
Las peticiones de cambio pueden ser oficiales, por ejemplo: requisiciones del usuario
realizadas por los canales de comunicacin apropiados; o extra-oficiales (coladas),
como por ejemplo mejoras mencionadas por otros distribuidores, peticiones que los
usuarios solicitan directamente a los programadores, caractersticas del hardware,
errores, reacciones de los competidores o incluso funcionalidad aadida por los
propios programadores.
Un aspecto tcnico relacionado con el control del cambios es la administracin de la
configuracin. Los beneficios de un proceso de administracin de requerimientos
basado en administracin de configuracin son: prevenir cambios no autorizados y
riesgosos; preservar las revisiones de los documentos; facilitar la recuperacin de
versiones anteriores; y prevenir actualizaciones simultneas de un mismo documento.
A continuacin se presenta una lista de verificacin para evaluar algunas
implicaciones de un cambio, propuesta por Karl Wiegers:
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
136
GUA PARA EVALUAR E IMPACTO DE LOS CAMBIOS
Algn requerimiento de la lnea base se ve afectado por el cambio?
Otros cambios pendientes entran en conflicto con el nuevo cambio?
Cules son las consecuencias tcnicas o de negocio de no hacer el cambio?
Habr efectos colaterales o riesgos de hacer el cambio?
El cambio afectar el desempeo o los atributos de calidad de otros
requerimientos?
Es factible el cambio con los recursos disponibles?
Cmo afectar el cambio a la secuencia, dependencia, esfuerzo o duracin
de las tareas plasmadas en el plan?
Cunto esfuerzo que ha sido invertido en el proyecto se perder si el cambio
se acepta?
Los principales elementos de software que se pueden ver afectados por un cambio
propuesto son: interfaces de usuario, reportes, bases de datos o archivos,
componentes de diseo, cdigo fuente, casos de prueba, libreras, componentes de
hardware, planes de administracin del proyecto, planes de prueba, planes de
administracin de la configuracin, entre otros.
Una vez que se han identificado los posibles componentes que se ven impactados por
un cambio, es posible estimar el esfuerzo requerido para realizarlo. Una tcnica es
listar las actividades para realizar el cambio y asignarles las horas estimadas
correspondientes. Ejemplos de dichas actividades son: actualizacin de las
especificaciones de requerimientos, modificar componentes de diseo, desarrollar
nuevo cdigo fuente, modificar planes, desarrollar nuevos reportes, escribir nuevos
casos de prueba, entre otras.
Los cambios son inevitables, para controlarlos se recomienda contar con un comit
que evale su impacto y los apruebe o rechace, y as evitar peticiones extra-
oficiales.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
137
3 3. .2 2. .6 6. .2 2 R Ra as st tr re ea ab bi il li id da ad d
La IEEE define la rastreabilidad como:
El grado en el cual puede establecerse una relacin entre dos o ms
productos del proceso de desarrollo, especialmente cuando los
productos tienen una relacin predecesor/ sucesor o
principal/subordinado con otro.
El grado en el que cada elemento en un producto del desarrollo de
software establece su razn de existencia.
El rastreo de requerimientos implica definir ligas lgicas entre requerimientos
funcionales individuales y otros elementos del sistema, como los casos de uso, las
reglas del negocio, el diseo, el cdigo fuente y otros artefactos. Permite determinar
cules componentes se tendrn que modificar si se implementa un cambio en un
requerimiento especfico.
La relacin de rastreo puede ser:
Rastreado a
Rastreado de
El rastreo es una tcnica efectiva que apoya la actividad de verificacin. Las
herramientas de rastreo permiten inspeccionar las relaciones de dependencia para
asegurar que no existan omisiones; pero por s solas no hacen todo el proceso. El
punto clave es utilizar el rastreo para ayudar a comprender las relaciones entre los
artefactos del proyecto y evaluar el impacto de los cambios.
Una tcnica simple para manejar el rastreo (o trazabilidad) es mediante una matriz, en
la que las columnas y renglones contienen el ID y/o el nombre del requerimiento. En
la interseccin de stos, se indica la dependencia de o hacia los requerimientos.
Adems es necesario asociar informacin a cada requerimiento sobre el identificador
nico (ID) del requerimiento, la fuente del requerimiento, un breve resumen del
requerimiento, el archivo del texto completo del requerimiento, apuntadores a los
requerimientos relacionados, as como la que se mencion en el anlisis de
requerimientos (3.2.3.2).
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
138
3.2.6.2.1 Matriz de atributos
La matriz de atributos contiene la informacin asociada a cada requerimiento, por
ejemplo: prioridad, estado y riesgo. Adems puede mostrar los requerimientos
derivados, por ejemplo, el requerimiento de sistema 2, deriva los requerimientos de
software 2.1, 2.2 y 2.3. Esta derivacin o dependencia de requerimientos se
denomina tambin rbol de rastreo.
ID del Req. Resumen Prioridad Estado Riesgo Fuente
Asignado
a
Versin en
la que se
incorporar
Req. 1
Req. 2
Req. 2.1
Req. 2.2
Req. 2.3
Req. n
3.2.6.2.2 Matriz de rastreo
La matriz de rastreo o de trazabilidad muestra la derivacin de un requerimiento de
alto nivel en otros. Por ejemplo un requerimiento de usuario da lugar a varios
requerimientos de sistema, los cuales a su vez dan origen a requerimientos de
software y de prueba. Por ejemplo:
Req. de Prueba 1
Req. de SW 1
Req. de Prueba 2 Req. de Sistema 1
Req. de SW 2 Req. de Prueba 3
Req. de SW 3
Req. de SW 4 Req. de Sistema 2
Req. de SW 5
Req. de prueba 4
Req. de Usuario 1
Req. de Sistema 3 Req. de SW 6
Req. de Sistema 4
Req. de Usuario 2
Req. de Sistema 5
Req. de Usuario n
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
139
Otro tipo de matriz de rastreo muestra la relacin entre dos requerimientos, los
cuales pueden ser del mismo o de distinto tipo, por ejemplo: requerimientos de
software vs. requerimientos de usuario. En una columna de la matriz se enlistan los
requerimientos de un determinado tipo y se confrontan con los requerimientos
presentados como columnas.
R
e
q
.
D
e
U
s
u
a
r
i
o
1
R
e
q
.
D
e
U
s
u
a
r
i
o
2
R
e
q
.
D
e
U
s
u
a
r
i
o
3
R
e
q
.
D
e
U
s
u
a
r
i
o
4
R
e
q
.
D
e
U
s
u
a
r
i
o
5
R
e
q
.
D
e
U
s
u
a
r
i
o
6
R
e
q
.
D
e
U
s
u
a
r
i
o
n
Req. de SW 1
Req. de SW 2
Req. SW 2.1
Req. SW 2.2
Req. SW 2.3
Req. De SW n
Lo que se indica en esta matriz es que el Requerimiento de Usuario 5 es trazado
hacia el Requerimiento de Software 2.1, por lo tanto existe una dependencia entre
ambos requerimientos. Si cambia algo del requerimiento de usuario 5, habr que
revisar el impacto sobre el requerimiento de software 2.1.
Las herramientas de software para la Administracin de Requerimientos, generan
estas matrices automticamente, a partir de la documentacin asociada, lo que
facilita la gestin y mantiene actualizada la informacin. No obstante, se pueden
mantener matrices sencillas en hojas de clculo.
3 3. .2 2. .6 6. .3 3 P Po ol l t ti ic ca as s p pa ar ra a l la a a ad dm mi in ni is st tr ra ac ci i n n d de e r re eq qu ue er ri im mi ie en nt to os s
Aspectos clave para una efectiva administracin de requerimientos incluyen:
mantener un claro enunciado de los requerimientos, especificar sus atributos para
cada tipo de requerimientos, as como su relacin con otros requerimientos y otros
artefactos del proyecto. Existe por lo tanto, una estrecha relacin con todas las dems
actividades de la Ingeniera de Requerimientos.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
140
Organizar los requerimientos
Categorizar los requerimientos y documentos por tipo.
Especificar los atributos (prioridad, nivel de dificultad, estatus,
etc.).
Utilizar y adaptar las plantillas existentes.
Comunicar los requerimientos (Para mantener a todos informados y
reducir la ambigedad)
Tener los requerimientos en una base de datos.
Generar reportes del proyecto.
Tener los requerimientos disponibles para que todos los
consulten.
Manejar los cambios en los requerimientos (Para asegurar la calidad y
consistencia del proyecto)
Identificar y mantener las ligas (rastreo).
Medir el impacto de los cambios.
Seguir y documentar los cambios (quin, qu, cundo, por qu).
3 3. .2 2. .6 6. .4 4 H He er rr ra am mi ie en nt ta as s d de e s so of ft tw wa ar re e p pa ar ra a l la a a ad dm mi in ni is st tr ra ac ci i n n d de e
r re eq qu ue er ri im mi ie en nt to os s
El seleccionar una herramienta depende de muchos factores como:
Las plataformas y el tipo de herramientas que se usan en la
organizacin para lograr compatibilidad e interaccin.
El presupuesto disponible.
El tamao de los sistemas que se desarrollan.
La estabilidad de las empresas proveedoras de la herramienta.
Una herramienta puede ir desde una hoja de clculo, hasta aplicaciones ms
completas y especializadas como:
Requisite Pro de Rational Software (www.rational.com)
DOORS de Telelogic (www.telelogic.com)
CaliberRM de StarBase (www.starbase.com)
Analyst Pro de Analyst Tool (www.analysttool.com).
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
141
3.3 Los requerimientos como factor de calidad en el desarrollo
de software
3 3. .3 3. .1 1 L Lo os s r re eq qu ue er ri im mi ie en nt to os s e en n e el l c ci ic cl lo o d de e v vi id da a d de e d de es sa ar rr ro ol ll lo o d de e s so of ft tw wa ar re e
Si no hay algn requerimiento, no hay nada por construir. Todos los procesos y ciclos
de desarrollo de software consideran alguna actividad relacionada con la obtencin y
especificacin de requerimientos. A continuacin se describen los procesos de
desarrollo ms conocidos, resaltando la fase o actividad enfocada a los
requerimientos.
3 3. .3 3. .1 1. .1 1 M Mo od de el lo o e en n c ca as sc ca ad da a
En el modelo de cascada, las actividades de software se dan de forma secuencial.
Cada etapa trabaja sobre las actividades y los productos de la etapa anterior. Se
establecen puntos de revisin al final de cada fase. Este modelo ha sido utilizado
ampliamente y durante las pasadas dos dcadas; no obstante actualmente no se
utiliza completamente por el riesgo que implica, el continuo cambio en los
requerimientos, el tamao de los sistemas, la deteccin tarda de errores u omisiones
y la dinmica de las organizaciones.
La fase de requerimientos es de extrema importancia y es estrictamente necesaria
para pasar al diseo. Durante sta se escribe el documento de especificacin de
requerimientos cuyo propsito es: contener una descripcin completa de QU har el
software sin describir CMO lo har; es decir, contener una descripcin completa del
comportamiento externo del producto pero sin informacin de la estructura interna
del producto.
Implantacin y
mantenimiento
Integracin
y pruebas
Codificacin y
Pruebas unitarias
Diseo
Requerimientos
Implantacin y
mantenimiento
Integracin
y pruebas
Codificacin y
Pruebas unitarias
Diseo
Requerimientos
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
142
3 3. .3 3. .1 1. .2 2 M Mo od de el lo o e en n e es sp pi ir ra al l
El modelo en espiral considera la gestin del riesgo y el desarrollo incremental.
Inicialmente empieza con planeacin de requerimientos y validacin de conceptos,
seguido de uno o ms prototipos que ayudan a confirmar tempranamente la
comprensin de los requerimientos del sistema. Su principal ventaja es la posibilidad
de una continua retroalimentacin con los clientes y usuarios.
Anlisis de
Riesgos
Ingeniera
(Construccin)
Planificacin
Evaluacin
Decisin de
seguir o no
Prototipos o entregas
parciales
Requerimientos
Planes y estimaciones
Anlisis de
Riesgos
Ingeniera
(Construccin)
Planificacin
Evaluacin
Decisin de
seguir o no
Prototipos o entregas
parciales
Requerimientos
Planes y estimaciones
Los pasos a seguir en este modelo son:
Planificacin: Se determinan los objetivos, alternativas y restricciones.
Anlisis de riesgos: Se identifican los riesgos, analizando alternativas y
resolucin de los mismos.
Ingeniera: Se desarrolla el producto del siguiente nivel.
Evaluacin del cliente: Se evalan los resultados del paso anterior.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
143
3 3. .3 3. .1 1. .3 3 P Pr ro oc ce es so o u un ni if fi ic ca ad do o d de e d de es sa ar rr ro ol ll lo o
El proceso unificado es un modelo que combina algunos aspectos del modelo en
cascada y del modelo en espiral, adems de un enfoque iterativo propuesto
inicialmente por Kruchten. Actualmente este modelo ha evolucionado a los que se
conoce como Proceso Unificado, desarrollado principalmente por Ivar Jacobson en
Ericsson y luego en Rational.
Inicio Elaboracin Construccin Transicin
F A S E S
Iteraciones
preeliminares
Iteracin
1
Iteracin
2
Iteracin
n
Iteracin
n+1
Iteracin
n+2
Iteracin
m
Iteracin
m+1
I T E R A C I O N E S
FLUJOS DE TRABAJO DE PROCESO
Modelado del Negocio
Requerimientos
Anlisis y Diseo
Implementacin
Pruebas
Distribucin
FLUJOS DE TRABAJO DE SOPORTE
Administracin de la Configuracin
Administracin
Ambiente
Inicio Elaboracin Construccin Transicin
F A S E S
Iteraciones
preeliminares
Iteracin
1
Iteracin
2
Iteracin
n
Iteracin
n+1
Iteracin
n+2
Iteracin
m
Iteracin
m+1
I T E R A C I O N E S
FLUJOS DE TRABAJO DE PROCESO
Modelado del Negocio
Requerimientos
Anlisis y Diseo
Implementacin
Pruebas
Distribucin
FLUJOS DE TRABAJO DE SOPORTE
Administracin de la Configuracin
Administracin
Ambiente
El proceso unificado considera los siguientes elementos:
Fases. Son las diversas etapas que se dan a lo largo del tiempo del
proyecto. inicio, elaboracin, construccin y transicin.
Flujos de trabajo. Las actividades son organizadas en flujos de trabajo.
Cada flujo es un conjunto de actividades relacionadas para obtener un
producto.
Iteraciones. Dentro de cada fase, en el proyecto se realizan iteraciones.
Una iteracin es una secuencia de actividades planeadas y con criterios
de evaluacin que da como resultado algn producto.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
144
Durante la fase de INICIO, los analistas identifican la mayora de los casos de uso para
delimitar el sistema y el alcance del proyecto y para detallar los ms importantes
(menos del 10%)
Durante la fase de ELABORACIN, los analistas capturan la mayora de los requisitos
restantes para que los desarrolladores puedan estimar el esfuerzo. El objetivo es
haber capturado un 80% de los requisitos y haber descrito la mayora de los casos de
uso al final de esta fase. (Slo entre un 5 y 10% debera estar implementado)
Los requisitos restantes se capturan (e implementan) durante la fase de
CONSTRUCCIN.
Casi no hay captura de requisitos en la fase de TRANSICIN, a menos que haya
requisitos que cambien.
Este modelo permite tener un sistema con un funcionamiento parcial en una fase
inicial y que los usuarios y otros interesados hagan sugerencias sobre l o sealen
requisitos que se nos pueden haber escapado. El plan presupuesto y calendario- an
no es inamovible, de forma que los desarrolladores pueden incorporar revisiones con
ms facilidad. En el modelo unidireccional en cascada, los usuarios no ven un sistema
funcionando hasta la integracin y la prueba. En este momento los cambios, incluso
aquellos que son valiosos o parecen ser pequeos, impactan de manera importante.
Por lo tanto, el ciclo de vida iterativo hace ms sencillo a los clientes el observar la
necesidad de modificaciones o requisitos adicionales y facilita a los desarrolladores el
trabajo.
Como se puede observar en este proceso existe un flujo de trabajo enfocado a los
requerimientos, el cual se realiza principalmente en las fases de inicio y elaboracin.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
145
3 3. .3 3. .1 1. .4 4 D De es sa ar rr ro ol ll lo o p po or r p pr ro ot to ot ti ip po os s
Como se mencion anteriormente, un prototipo es un programa que implementa
algunas partes de los requerimientos del sistema. El desarrollo por prototipos es una
estrategia de desarrollo de software que permite desarrollar rpidamente alguna
parte del sistema de software para que los usuarios evalen y recomienden cambios
a la definicin de requerimientos.
Requerimientos
Construccin
Validacin
Requerimientos
Construccin
Validacin
Este modelo consta de 3 actividades principales:
Requerimientos. Se obtienen las caractersticas generales de lo que los
usuarios solicitan.
Construccin. Se implementa una parte de las caractersticas
identificadas.
Validacin. Se presenta a los usuarios el prototipo para obtener
retroalimentacin y en su caso, nuevos requerimientos.
El paradigma de creacin de prototipos puede ser cerrado o abierto. El enfoque
cerrado se denomina a menudo prototipo desechable. Este prototipo sirve como
demostracin de los requisitos; despus se desecha. Un enfoque abierto, prototipo
evolutivo, emplea el prototipo como primera parte de una actividad de anlisis.
Los prototipos segn Alan M. Davis pueden ser: prospectos, evolutivos u
operacionales, verticales, horizontales, de interfaces de usuario, algortmicos. Para
efectos de la obtencin de requerimientos, generalmente se opta por un prototipo:
prospecto, horizontal, de interfaces de usuario.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
146
3 3. .3 3. .1 1. .5 5 P Pr ro og gr ra am ma ac ci i n n e ex xt tr re em ma a
Programacin extrema (XP) es una disciplina de desarrollo de software desarrollada
por Kent Beck en 1996. Se basa en cuatro valores:
Comunicacin. Se establece una continua comunicacin entre el
cliente y el equipo de desarrollo, mediante la presencia de ste
en el ciclo de vida de desarrollo. El cliente decide qu construir y
en qu orden.
Simplicidad. El equipo de desarrollo propicia la reutilizacin de
componentes simples.
Retroalimentacin. Muchas versiones y pruebas unitarias
continuas constituyen los mecanismos de retroalimentacin.
Coraje. Hacer las cosas bien, an cuando no sea lo ms
importante. Implica ser honesto en que podemos y que no
podemos hacer.
Para apoyar estos valores, la programacin extrema lleva a cabo las siguientes 12
prcticas:
Planeacin audaz. Determinar las caractersticas ms prioritarias
para la prxima versin.
Pequeas versiones. Liberar el software frecuentemente al
usuario en pequeas versiones incrementales.
Metfora. Una simple descripcin de cmo trabaja el sistema.
Diseo simple. Mantener diseos simples para lograr cdigo
simple. Remover continuamente la complejidad.
Pruebas. El cliente escribe pruebas para los diversos escenarios.
Los programadores escriben pruebas para probar cualquier cosa
que pueda fallar en el cdigo. Las pruebas son escritas antes de
que el cdigo sea escrito.
Revisin del cdigo. El objetivo es remover la duplicidad y la
complejidad del cdigo.
Programacin en pares. Equipos de dos programadores en una
sola computadora desarrollan todo el cdigo. Uno escribe el
cdigo, mientras el otro lo revisa para que sea correcto y
comprensible.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
147
Propiedad colectiva. Todos y cada uno son propietarios de todo
el cdigo. Esto significa que cualquiera pueden cambiar el cdigo
en cualquier momento.
Integracin continua. Construir e integrar el cdigo varias veces
en un da.
Cuarenta horas a la semana. Los programadores no pueden
trabajar eficientemente si estn cansados.
Cliente en el sitio. Un cliente o usuario trabaja en el desarrollo de
tiempo completo para ayudar a definir el sistema, escribir
pruebas y responder preguntas.
Estndares de codificacin. Loa programadores adoptan un
estndar de codificacin consistente.
Julio Csar Sampaio, identifica varios inconvenientes en el enfoque de XP,
relacionados con requerimientos, los ms relevantes son:
El negocio es representado slo por un usuario.
La falta de consideracin de los requerimientos no funcionales
del punto de vista del negocio.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
148
3 3. .3 3. .2 2 R Re el la ac ci i n n c co on n m mo od de el lo os s d de e m ma ad du ur re ez z d de e p pr ro oc ce es so os s
3 3. .3 3. .2 2. .1 1 C CM MM M ( (C Ca ap pa ab bi il li it ty y M Ma at tu ur ri it ty y M Mo od de el l) )
El Modelo de Madurez de Capacidades ha surgido como un estndar para un proceso
de calidad ms profundo y comprensible que otros estndares, por lo que est siendo
ampliamente adoptado por la industria del software. CMM orienta a los
desarrolladores y a la organizacin a mejorar su proceso de software con el objetivo
de lograr repeticin, control y medicin. El aspecto de administracin de
requerimientos es fundamental en CMM. A continuacin se presenta una tabla con el
resumen de los niveles y las reas clave de proceso de CMM:
NIVEL AREAS CLAVE DEL PROCESO
I
n
i
c
i
a
l
Proceso ad hoc, a veces catico; el
xito depende de hroes y esfuerzos
individuales.
-
R
e
p
e
t
i
b
l
e
Administracin de proyectos bsica
para dar seguimiento a la
funcionalidad de la aplicacin, y al
costo y tiempo del proyecto.
Administracin de requerimientos
Planeacin de proyectos de software
Supervisin y seguimiento de proyectos de software
Administracin de subcontratacin de software
Aseguramiento de la calidad del software
Administracin de la configuracin del software
D
e
f
i
n
i
d
o
El proceso de administracin e
ingeniera es documentado,
estandarizado e integrado. Todos los
proyectos usan una versin del
proceso aprobada y adaptada.
Enfoque en el proceso de la organizacin
Definicin del proceso de la organizacin
Programa de capacitacin
Administracin del software integrada
Ingeniera del producto de software
Coordinacin entre grupos
Revisiones pares
A
d
m
i
n
i
s
t
r
a
d
o
Se colecta mtricas detalladas del
proceso de software y de su calidad.
Tanto el proceso como los productos
de software son comprendidos y
controlados.
Administracin cuantitativa del proceso
Administracin de la calidad del software
O
p
t
i
m
i
z
a
d
o
Mejoramiento continuo del proceso
es posible por el uso de mtricas y
por pilotear ideas y tecnologas
nuevas.
Prevencin de defectos
Administracin del cambio tecnolgico
Administracin del cambio del proceso
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
149
Administracin de requerimientos es una actividad clave del proceso enfocada a
asegurar que el producto de software satisfaga las necesidades del usuario tanto en
funcionalidad como en calidad.
La primer rea clave de proceso que debe ser considerada para pasar de nivel 1 a
nivel 2 es la administracin de requerimientos; representa una parte integral en el
desarrollo de software.
Administracin de requerimientos en CMM nivel 2
El propsito de la administracin de requerimientos es establecer una
comprensin comn entre el cliente y el equipo de desarrollo, de los
requerimientos del usuario.
Esta comprensin comn sirve como base para el acuerdo entre el cliente y el equipo
de desarrollo, como tal, es el documento central que define y controla la actividad a
seguir. Los requerimientos son usados para establecer lneas base. Los lineamientos
de CMM especifican que todas las actividades, planes, calendarios y los artefactos de
software sern desarrollados y modificados como sea necesario para ser consistentes
con los requerimientos. De esta manera CMM gua a la organizacin a que la actividad
tcnica de requerimientos sea consistente con los planes y actividades. Para ello este
proceso debe ser documentado y revisado por todos los grupos afectados.
La especificacin de requerimientos de software sirve como documento central del
proyecto. Los requerimientos incluyen tanto requerimientos tcnicos como no
tcnicos. Los criterios de aceptacin tambin sern establecidos y documentados.
Para cumplir estos objetivos se deben proveer los recursos necesarios para la
administracin de requerimientos. Los miembros del grupo de ingeniera de software
y otros deben ser capacitados en las actividades de la administracin de
requerimientos.
CMM especifica que los requerimientos deben ser manejados y controlados y deben
servir como base para los planes, productos y actividades de trabajo del software. Los
cambios deben ser revisados, incorporados en los planes y se debe evaluar el impacto
para negociarlo con los grupos involucrados.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
150
CMM sugiere mtricas para verificar la implementacin de las actividades de la
administracin de requerimientos, por ejemplo: el estatus de cada requerimiento, el
nmero acumulado de cambios, total de cambios abiertos, propuestos, aprobados e
incorporados en una lnea base. El estatus de cada requerimientos en el ciclo de vida
y el total de requerimientos por categora.
Dentro de CMM la administracin de requerimientos no es simplemente un proceso
de documentacin, sino una actividad central del proceso de desarrollo. Si bien est
explcitamente ubicado en el nivel 2, est guarda relacin con todos los niveles y con
la mayora de las reas clave de proceso.
En CMM tambin se menciona la relacin de los documentos y la administracin de la
configuracin, as como el rastreo.
En resumen CMM explcitamente sugiere lo siguiente:
Los requerimientos de software deben ser documentados.
Los requerimientos de software deben ser controlados para
establecer una lnea base para la ingeniera y la administracin.
Los miembros del equipo deben ser capacitados para realizar las
actividades de la administracin de requerimientos.
Deben establecerse mtricas que incluyan el estado de cada
requerimiento.
Administracin de requerimientos en CMM nivel 3
El proceso de administracin de requerimientos aparece virtualmente en todos los
niveles del modelo y dentro de varias reas clave de proceso.
Los requerimientos de software son desarrollados, mantenidos,
documentados y verificados por el anlisis sistemtico de los
requerimientos de acuerdo al proceso de software definido al
proyecto.
Los requerimientos deben ser analizados para determinar si son
completos, consistentes y se pueden probar.
Los documentos de requerimientos de software deben ser
considerados en la administracin de la configuracin.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO CONCE P TUAL
151
Rastreo de requerimientos
La consistencia es mantenida a travs de los productos de trabajo de software,
incluyendo los planes, las descripciones de procesos, los requerimientos asignados,
el diseo de software, el cdigo, los planes de pruebas y los procedimientos de
pruebas.
Los requerimientos de software, el diseo, el cdigo y los casos
de prueba son derivados de su fuente y hacia los productos de la
actividad subsecuente.
3 3. .3 3. .2 2. .2 2 S SP PI IC CE E ( (I IS SO O 1 15 55 50 04 4) )
Este estndar es un modelo de referencia que describe los procesos que una
organizacin puede realizar ya sea para adquirir, proveer, desarrollar, operar,
evolucionar y soportar algn software, as como los atributos que caracterizan la
capacidad de cada uno de los procesos.
Los procesos se agrupan en tres ciclos de vida:
Primario.
Organizacional.
Soporte.
Estos contienen cinco categoras de proceso, las cuales son:
CUS. Categora de Procesos Cliente-Proveedor.
ENG. Categora de Procesos de Ingeniera.
SUP. Categora de Procesos de Soporte.
MAN. Categora de Procesos de Administracin.
ORG. Categora de Procesos de Organizacin.
Principalmente en tres categoras (CUS, ENG y SUP) se encuentran aspectos
relacionados con la ingeniera de requerimientos.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO 152
4 4 M MA AR RC CO O M ME ET TO OD DO OL L G GI IC CO O
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO 153
4.1 Variables
Las variables planteadas inicialmente en el marco problemtico de este trabajo son
las siguientes:
Independientes Dependientes
Actividades, tcnicas y herramientas de
la Ingeniera de Requerimientos
Mayor control del proyecto
Mejor estimacin de la dimensin del
proyecto
Mayor calidad del software
Mejor comunicacin con clientes y
usuarios
Desarrollar sistemas que realicen la
funcionalidad requerida por el usuario
Mejorar la comunicacin entre los equipos
involucrados en el desarrollo
Alcanzar un mayor nivel de competitividad
en el desarrollo de software
Cubrir los principales aspectos de los
modelos de madurez de procesos
4.2 Variables de control
En el presente trabajo no se incluyen variables de control, de tipo interviniente, ni
distorisionante, debido a que no se identificaron otros factores considerablemente
importantes en la investigacin para tratarlos de esta forma.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO 154
4.3 Hiptesis definitiva
Tomando como base el problema planteado inicialmente en este trabajo, la hiptesis
preliminar y el desarrollo del marco terico y conceptual, se presenta a continuacin
la hiptesis definitiva:
L La a r re ea al li iz za ac ci i n n d de e l la as s a ac ct ti iv vi id da ad de es s d de e l la a i in ng ge en ni ie er r a a d de e r re eq qu ue er ri im mi ie en nt to os s, , m me ed di ia an nt te e e el l u us so o
d de e t t c cn ni ic ca as s y y h he er rr ra am mi ie en nt ta as s e en n u un n p pr ro oy ye ec ct to o d de e d de es sa ar rr ro ol ll lo o d de e s so of ft tw wa ar re e p pe er rm mi it te e: :
E Es sp pe ec ci if fi ic ca ar r d de e m ma an ne er ra a c cl la ar ra a, , p pr re ec ci is sa a, , y y c co om mp pl le et ta a l lo os s
r re eq qu ue er ri im mi ie en nt to os s d de e u un n s si is st te em ma a i in nf fo or rm m t ti ic co o
D De es sa ar rr ro ol ll la ar r s si is st te em ma as s c co on n l la a f fu un nc ci io on na al li id da ad d y y c ca ar ra ac ct te er r s st ti ic ca as s
r re eq qu ue er ri id da as s p po or r e el l u us su ua ar ri io o
P Pl la an ne ea ar r y y r re ea al li iz za ar r e es st ti im ma ac ci io on ne es s m m s s p pr re ec ci is sa as s d de e l lo os s p pr ro oy ye ec ct to os s
L Lo og gr ra ar r u un na a m ma ay yo or r c ca al li id da ad d d de el l s so of ft tw wa ar re e
C Cu um mp pl li ir r c co on n l lo os s l li in ne ea am mi ie en nt to os s d de e l lo os s m mo od de el lo os s i in nt te er rn na ac ci io on na al le es s d de e
m ma ad du ur re ez z d de e p pr ro oc ce es so os s
4.4 Definicin del universo
En este tema de investigacin, el universo es difcil de especificar, debido a que no se
tiene una delimitacin precisa y cuantitativa de las personas encuestadas. Adems no
es el objetivo realizar pruebas estadsticas para aprobar o desaprobar la hiptesis,
sino obtener opiniones y juicios de valor.
Cabe mencionar sin embargo, que dicho universo estuvo integrado por personas
involucradas de alguna manera con el desarrollo de software en Mxico, tanto de
organizaciones pblicas como privadas., como son: gerentes de sistemas, lderes de
proyecto, consultores informticos, investigadores, analistas, programadores y
probadores de software.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO 155
4.5 Determinacin de la muestra
Se utiliz una muestra no probabilstica, denominada de juicio o intencionada, en la
que se seleccionaron 14 personas, que laboran en diversas organizaciones que
desarrollan sistemas sin ninguna tendencia en particular. De las respuestas y
opiniones obtenidas se realiz un anlisis y se emitieron conclusiones.
4.6 Instrumento
El instrumento de investigacin seleccionado fue el cuestionario, el cual se aplic va
Internet. Se seleccion este instrumento por permitir obtener las respuestas de varias
personas a la vez desde sus lugares de trabajo, considerando que todos ellos cuentan
con el perfil para contestarlo y enviarlo por Internet.
El cuestionario estuvo integrado por 16 preguntas, la mayora de stas cerradas, para
facilitar y precisar las respuestas de los encuestados. No obstante se permiti
completar con justificaciones y comentarios adicionales.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO 156
4.7 Costo de la investigacin
A continuacin se resumen diversos costos relacionados con la investigacin:
Concepto
Costo
Recursos Humanos
10 meses con sueldo Mensual de $ 17,500
175,000.00
Transporte a los sitios de recopilacin de informacin
4,500.00
Material de investigacin (libros, revistas, fotocopiado)
2,800.00
Asistencia a eventos y cursos
6,000.00
Uso de equipo de cmputo
3,200.00
Papelera y artculos diversos de oficina
2,500.00
Impresin y terminado
3,000.00
Comunicacin (telfono, fax, Internet)
2,800.00
Otros varios
1,300.00
Total 201,100.00
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO 157
4.8 Cuestionario definitivo
Objetivo: Comprobar si el uso de lineamientos, tcnicas y herramientas de la
Ingeniera de Requerimientos, contribuyen al xito de los proyectos de desarrollo de
software.
Considera que la ingeniera de requerimientos es una actividad clave dentro
del ciclo de vida de desarrollo de software?
S, es la ms importante
S, es importante
No es importante
1
El objetivo de esta pregunta es conocer el nivel de la importancia que se da a
las actividades de ingeniera de requerimientos.
El software que desarrolla cumple con todas las caractersticas que el usuario
necesita?
S, siempre
S, casi siempre
S, Solo a veces
Nunca
2
Esta pregunta se hizo con la finalidad de que el encuestado reflexione acerca
de si sus sistemas de software desarrollados, satisfacen a sus clientes y
usuarios, ya que esta es una tarea clave en la ingeniera de requerimientos.
Los proyectos de desarrollo de software se terminan a tiempo y con los
recursos inicialmente estimados?
S, siempre
S, a veces
Casi Nunca
Nunca
3
Con esta pregunta se trata de comprobar que las estimaciones iniciales de
recursos en la mayora de los casos se sobrepasan, siendo una de las causas
principales la inadecuada ingeniera de requerimientos.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO 158
Si conoce los modelos de madurez como CMM o SPICE En qu nivel considera
que se encuentra su organizacin respecto a alguno de estos?
Nivel de CMM (1-Inicial, 2-Repetible, 3-Definido, 4-Administrado, 5-Optimizado)
Nivel de SPICE (0-Incompleto, 1-Realizado, 2-Administrado, 3-Establecido, 4-
Predecible, 5-Optimizado)
Desconozco los modelos y/o el nivel
4
La finalidad de esta pregunta es por un lado comprobar si los modelos de
madurez de procesos son conocidos en Mxico, y en qu nivel creen
encontrarse las organizaciones, ya que la ingeniera de requerimientos es
fundamental en ambos modelos para garantizar la calidad del software.
Qu tcnicas utiliza y considera efectivas para la identificacin y obtencin de
los requerimientos con el usuario?
Entrevistas
Cuestionarios
Mesas de Trabajo
Lluvia de Ideas
Juego de Roles
Gua de preguntas y aspectos clave
Otras,cuales?
____________________________________________________
5
El objetivo de esta pregunta es conocer las tcnicas y herramientas que los
encuestados utilizan para obtener requerimientos de los usuarios e
involucrados.
Realiza un anlisis de los requerimientos con el fin de depurarlos,
clasificarlos, ponderarlos y definir as claramente el alcance de la solucin?
6
S, siempre
A veces
No
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO 159
El objetivo de esta pregunta es conocer si se realiza la actividad de anlisis de
requerimientos dentro del proceso de la organizacin del encuestado.
Si realiza este anlisis, Utiliza alguna gua para este anlisis de
requerimientos?
S
No
7
En caso de ser afirmativa la pregunta anterior, el objetivo de sta es conocer si
se utilizan guas para realizar el anlisis de requerimientos.
Utiliza alguna gua de contenido estndar para la
documentacin/especificacin de requerimientos?
Se tiene y se utiliza
Se tiene pero no se utiliza
No se tiene
8
El objetivo de esta pregunta es conocer si se cuenta con guas, estndares o
plantillas para especificar los requerimientos en un documento.
Qu tcnicas utiliza y considera efectivas para el modelado y especificacin
de requerimientos?
9
No se modelan ni especifican por escrito
Se modelan utilizando:
Lenguaje natural
Casos de Uso
Pseudocdigo
Prototipos
Anlisis estructurado
Otras, cules?
_________________________________________
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO 160
El objetivo de esta pregunta es conocer las tcnicas y herramientas que los
encuestados utilizan para especificar y modelar los requerimientos.
Cmo considera que son las especificaciones de requerimientos que se
realizan en su organizacin?
Claras
Completas
Concisas
Comprensibles
Simples
Viables
Flexibles
Ambiguas
Se pueden probar
Se puede rastrear la dependencia de/con otras
Con un identificador nico
Independientes de la implementacin
10
Esta pregunta se formul con la finalidad de que el encuestado reflexione
acerca de las caractersticas de los requerimientos que desarrolla.
Realiza una validacin y verificacin de requerimientos para garantizar que
sean correctos (que representen lo que el usuario necesita, que expresen lo
que tengan que decir, que sean los que deben de ser, que se especifiquen de
la manera correcta)?
S
No
11
El objetivo de esta pregunta es conocer si se realizan las actividades de
validacin y verificacin de requerimientos dentro del proceso de la
organizacin del encuestado.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO 161
En promedio de qu tamao son los sistemas o el software que se desarrolla
en su organizacin?
Pequeos. Menos de: 10 requerimientos de sistema/casos de uso. Menos
de 2,500 LOC
Mediano. Entre 10 y 50 requerimientos de sistema/casos de uso. Entre
2,500 y 25,000 LOC
Grande. Entre 50 y 200 requerimientos de sistema/casos de uso. Entre
25,000 y 100,000 LOC
Muy Grande. Ms de 200 requerimientos de sistema/casos de uso. Ms de
100,000 LOC
Adems, el software que desarrolla es de tipo:
Critico
Administrativo/Gestin de Informacin
Comercial
12
Con esta pregunta se pretende clasificar a la organizacin del encuestado de
acuerdo a la dimensin y tipo de los sistemas que desarrolla.
Cuenta con polticas para la administracin de requerimientos (organizacin,
control y seguimiento de los cambios en los requerimientos)?
S
No 13
El objetivo de esta pregunta es conocer si se realiza la actividad de
administracin de requerimientos dentro del proceso de la organizacin del
encuestado.
Utiliza alguna herramienta de software para la administracin de
requerimientos?
S
No
14
La finalidad es conocer si se utilizan herramientas de software para
administrar requerimientos
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO 162
Qu aspectos de la ingeniera de requerimientos considera muy importantes
para una mayor calidad del software y para el xito de los proyectos?
15
El objetivo de esta pregunta es conocer otros aspectos que los encuestados
consideran importantes relacionados con la ingeniera de requerimientos que
les han coadyuvado al xito de sus proyectos.
Considera las actividades de la ingeniera de requerimientos factor clave para
el xito o fracaso de los proyectos de desarrollo de software?
16
Esta pregunta nos permitir conocer el juicio de los encuestados sobre la
influencia de la ingeniera de requerimientos en el xito o fracaso de los
proyectos, y comprobar en gran medida la hiptesis del trabajo.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO
163
4 4. .8 8. .1 1 M Ma at tr ri iz z d de e r re es sp pu ue es st ta as s
Adrin Galindo
Hernndez
Alberto
Corts Ulloa
Alejandro
Moreno Rivas
Alejandro Prez
Hernndez
Antonio
Malpica
Carlos Lozano
H.
Diego H.
Zavala GC
Edgar Mendoza
Arreola
Javier Elizondo
Campos
Jos de Jess
Hernndez
Surez
Juan Carlos
Segundo
Elas
Marco
Dorantes
Martnez
Roberto
Chvez
Quintero
Sergio
Cardoso
Intermec
Technologies
de Mexico
iquatro
ING Comercial
Amrica
Qualitas
Compaa de
Seguros, S.A. de
C.V.
Desarrollo
Creativo
ING Comercial
Amrica
Hildebrand
o, SA de
CV
DA, Organismo
Integrado de
Distribucin
S.A. de C.V.
ING Comercial
Amrica
Direccin de
Sistemas-
UNAM
SHCP-
TESOFE
Microsoft
Consulting
ING Comercial
Amrica
ISOFT
Ingeniera de
Software
S, es la ms
importante
S, es
importante
1
No es
importante
S, siempre
S, casi
siempre
S, slo a
veces
Nunca
2
Porque:
Porque
est
basado en
un estudio
previo y
por
contener
muchas de
las
necesida-
des
actuales de
las
organiza-
ciones.
Cambios en
el alcance
del proyecto
antes de
poder
terminarlo
Porque por lo
general
siempre se le
consulta.
Es difcil,
incluso
para el
usuario,
determinar
siempre lo
que exacta-
mente
necesita.
No existe
una
definicin
adecuada de
las
necesidades
del usuario
Porque con
frecuencia el
usuario no
sabe lo que
quiere
Debido a un
nfasis en el
anlisis de
requeri-
mientos en
conjunto con
el usuario.
En
ocasiones
se da una
mala
comunica-
cin con el
usuario y a
su vez una
mala
administra-
cin de los
requerimien-
tos.
El usuario
no tiene
pleno
conoci-
miento de
qu es lo
que
realmente
quiere
Porque el
usuario-
cliente
define los
criterios de
aceptacin
funciona-
les al inicio
de cada
ciclo de
entrega
No siempre
est bien
especificado
y documen-
tado qu
necesita el
usuario.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO
164
Adrin
Galindo
Hernndez
Alberto
Corts Ulloa
Alejandro
Moreno Rivas
Alejandro
Prez
Hernndez
Antonio Malpica
Carlos
Lozano H.
Diego H. Zavala
GC
Edgar
Mendoza
Arreola
Javier
Elizondo
Campos
Jos de
Jess
Hernndez
Surez
Juan Carlos
Segundo Elas
Marco
Dorantes
Martnez
Roberto Chvez
Quintero
Sergio
Cardoso
Intermec
Technologies
de Mexico
iquatro
ING
Comercial
Amrica
Qualitas
Compaa de
Seguros, S.A.
de C.V.
Desarrollo
Creativo
ING
Comercial
Amrica
Hildebrando, SA
de CV
DA,
Organismo
Integrado de
Distribucin
S.A. de C.V.
ING Comercial
Amrica
Direccin de
Sistemas-
UNAM
SHCP-
TESOFE
Microsoft
Consulting
ING Comercial
Amrica
ISOFT
Ingeniera de
Software
S, siempre
S, a veces
Casi nunca
Nunca
3
Porque:
Usuarios,
cambios no
previstos
en un
principio.
Porque en
ocasiones
existen
algunas
adaptacio-
nes,
aunque
regular-
mente son
de diseo
grfico.
Mala
definicin
desde el
inicio,
adecuacio-
nes a
medio
proyecto,
alcance
diferente.
Algunas
veces, nos
salen
impondera-
bles, que
son difciles
de
solucionar
inmediata-
mente.
Slo cuando se
hace una
correcta
estimacin y
ambas partes
convienen en
ella.
Por una
mala
planeacin
de las
cosas.
Es difcil
debido a la
falta de una
metodologa
certera en
el segui-
miento a
proyectos.
Mala
estimacin
de tiempos
con base a
lo que real-
mente se
requiere
desarrollar.
Siempre
obtenemos
nuevos
requerimien-
tos a
destiempo.
Porque el
tiempo y
recursos se
estiman
continua-
mente de
acuerdo a
las priori-
dades y
cambios de
negocio y
porque no
estimamos
ms de dos
meses de
trabajo por
ciclo de
entrega.
Mala
planeacin,
malos
entendidos,
ambigedades
falta de control
y seguimiento.
Por lo
subjetivo
del
software y
la dificultad
para
evaluar el
desempeo
humano en
su
desarrollo.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO
165
Adrin Galindo
Hernndez
Alberto
Corts Ulloa
Alejandro
Moreno Rivas
Alejandro
Prez
Hernndez
Antonio Malpica
Carlos
Lozano H.
Diego H. Zavala
GC
Edgar
Mendoza
Arreola
Javier
Elizondo
Campos
Jos de
Jess
Hernndez
Surez
Juan Carlos
Segundo
Elas
Marco Dorantes
Martnez
Roberto Chvez
Quintero
Sergio
Cardoso
Intermec
Technologies
de Mexico
iquatro
ING
Comercial
Amrica
Qualitas
Compaa de
Seguros, S.A.
de C.V.
Desarrollo Creativo
ING
Comercial
Amrica
Hildebrando, SA
de CV
DA,
Organismo
Integrado de
Distribucin,
S.A. de C.V.
ING
Comercial
Amrica
Direccin de
Sistemas-
UNAM
SHCP-
TESOFE
Microsoft
Consulting
ING Comercial
Amrica
ISOFT
Ingeniera de
Software
Nivel de
CMM
3 3 2 3 4
Nivel de
SPICE
4 2 4
4
Desconozco
los modelos
y/o el nivel
Lluvia de
ideas
Entrevista
Roles
Cuestio-
narios
Guas
Mesas
5
Otras
Presentacin de
propuestas,
revisin conjunta
y
retroalimentacin.
Prototipos.
Casos de
Uso
Muestra de
prototipos.
Especificacin
funcional por
medio de
pruebas de
aceptacin
automatizadas.
Modelado de
procesos y
tareas.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO
166
Adrin
Galindo
Hernndez
Alberto
Corts Ulloa
Alejandro
Moreno Rivas
Alejandro
Prez
Hernndez
Antonio Malpica
Carlos
Lozano H.
Diego H. Zavala
GC
Edgar
Mendoza
Arreola
Javier
Elizondo
Campos
Jos de Jess
Hernndez
Surez
Juan Carlos
Segundo
Elas
Marco Dorantes
Martnez
Roberto Chvez
Quintero
Sergio
Cardoso
Intermec
Technologies
de Mexico
iquatro
ING
Comercial
Amrica
Qualitas
Compaa de
Seguros, S.A.
de C.V.
Desarrollo
Creativo
ING
Comercial
Amrica
Hildebrando, SA
de CV
DA,
Organismo
Integrado de
Distribucin
S.A. de C.V.
ING
Comercial
Amrica
Direccin de
Sistemas-
UNAM
SHCP-
TESOFE
Microsoft
Consulting
ING Comercial
Amrica
ISOFT
Ingeniera de
Software
S,
siempre
A veces
No
6
Por qu
Por falta de
informacin
Si ya es
bastante difcil
llevar el
proyecto a
buen trmino
hacindolo,
imagine usted
si no.
Por la mala
planeacin
Por los
tiempos tan
cortos para
desarrollo
que
demandan
los
proyectos
en los que
estoy
involucrado.
El cliente los
ordena por
prioridad de
negocio e
implementamos
modelos
ejecutables
para verificar
aspectos clave.
Las prisas, la
presin.
Optimizacin
de tiempos y
recursos
S
7
No
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO
167
Adrin Galindo
Hernndez
Alberto
Corts Ulloa
Alejandro
Moreno Rivas
Alejandro
Prez
Hernndez
Antonio Malpica
Carlos
Lozano H.
Diego H. Zavala
GC
Edgar
Mendoza
Arreola
Javier
Elizondo
Campos
Jos de
Jess
Hernndez
Surez
Juan Carlos
Segundo
Elas
Marco
Dorantes
Martnez
Roberto Chvez
Quintero
Sergio
Cardoso
Intermec
Technologies
de Mexico
iquatro
ING
Comercial
Amrica
Qualitas
Compaa de
Seguros, S.A.
de C.V.
Desarrollo
Creativo
ING
Comercial
Amrica
Hildebrando, SA
de CV
DA,
Organismo
Integrado de
Distribucin
S.A. de C.V.
ING
Comercial
Amrica
Direccin de
Sistemas-
UNAM
SHCP-
TESOFE
Microsoft
Consulting
ING Comercial
Amrica
ISOFT
Ingeniera de
Software
Se tiene y se
utiliza
Se tiene
pero no se
utiliza
No se tiene
8
Por qu
Nunca se ha
hecho y
hace falta
una
investigacin
Falta de
iniciativa
Finalmente
no se
utilizan
estndares
sino
tcnicas
Tenemos
que
adaptar-
nos a la
naturaleza
del sistema
Casos de
uso breves
(como
narraciones)
Base
funda-
mental para
el
desarrollo
del
proyecto.
Lenguaje
natural
Casos de
uso
Pseudo-
codigo
Prototipos
Anlisis
estructurado
9
Otras
Metodo-
loga de
ingeniera
de
procesos
Diagramas
de flujo
sencillos
Pruebas
funcio-nales
automati-
zadas
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO
168
Adrin
Galindo
Hernndez
Alberto
Corts Ulloa
Alejandro
Moreno Rivas
Alejandro
Prez
Hernndez
Antonio Malpica
Carlos
Lozano H.
Diego H. Zavala
GC
Edgar
Mendoza
Arreola
Javier
Elizondo
Campos
Jos de
Jess
Hernndez
Surez
Juan Carlos
Segundo
Elas
Marco
Dorantes
Martnez
Roberto Chvez
Quintero
Sergio
Cardoso
Intermec
Technologies
de Mexico
iquatro
ING
Comercial
Amrica
Qualitas
Compaa de
Seguros, S.A.
de C.V.
Desarrollo
Creativo
ING
Comercial
Amrica
Hildebrando, SA
de CV
DA,
Organismo
Integrado de
Distribucin
S.A. de C.V.
ING
Comercial
Amrica
Direccin de
Sistemas-
UNAM
SHCP-
TESOFE
Microsoft
Consulting
ING Comercial
Amrica
ISOFT
Ingeniera de
Software
Claras
Simples
Probables
Identificador
unico
Completas
Viables
Concisas
Flexibles
Rastreables
Indepen-
dientes
Compren-
sibles
10
Ambiguas
S
11
No
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO
169
Adrin
Galindo
Hernndez
Alberto
Corts
Ulloa
Alejandro
Moreno Rivas
Alejandro
Prez
Hernndez
Antonio
Malpica
Carlos
Lozano H.
Diego H.
Zavala GC
Edgar Mendoza
Arreola
Javier
Elizondo
Campos
Jos de
Jess
Hernndez
Surez
Juan Carlos
Segundo
Elas
Marco Dorantes
Martnez
Roberto Chvez
Quintero
Sergio
Cardoso
Intermec
Technologies
de Mexico
iquatro
ING
Comercial
Amrica
Qualitas
Compaa de
Seguros, S.A.
de C.V.
Desarrollo
Creativo
ING
Comercial
Amrica
Hildebrando,
SA de CV
DA, Organismo
Integrado de
Distribucin S.A. de
C.V.
ING
Comercial
Amrica
Direccin de
Sistemas-
UNAM
SHCP-
TESOFE
Microsoft
Consulting
ING Comercial
Amrica
ISOFT
Ingeniera de
Software
Pequeos
Medianos
Grandes
Muy
Grandes
Crtico
De gestin
Comercial
12
Comentarios
Sistemas con
fines de
comercializacin
masiva por lo
que no se basan
en
requerimientos
especficos de
un solo cliente.
Sitios de
Comercio
Electrnico
El Sistema
Integral de
Admn.
Financiera
Federal es
uno de los
proyectos
ms
importantes
en el pas
Es posible
debido a las
tcnicas de
administracin
de la
complejidad
en las
prcticas de
los mtodos
giles
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO
170
Adrin Galindo
Hernndez
Alberto
Corts Ulloa
Alejandro
Moreno Rivas
Alejandro
Prez
Hernndez
Antonio Malpica
Carlos
Lozano H.
Diego H. Zavala
GC
Edgar
Mendoza
Arreola
Javier
Elizondo
Campos
Jos de
Jess
Hernndez
Surez
Juan Carlos
Segundo
Elas
Marco
Dorantes
Martnez
Roberto Chvez
Quintero
Sergio
Cardoso
Intermec
Technologies
de Mexico
iquatro
ING
Comercial
Amrica
Qualitas
Compaa de
Seguros, S.A.
de C.V.
Desarrollo
Creativo
ING
Comercial
Amrica
Hildebrando, SA
de CV
DA,
Organismo
Integrado de
Distribucin
S.A. de C.V.
ING
Comercial
Amrica
Direccin de
Sistemas-
UNAM
SHCP-
TESOFE
Microsoft
Consulting
ING Comercial
Amrica
ISOFT
Ingeniera de
Software
S
13
No
S
13a
No
S
14
No
S
14a
No
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO
171
Adrin Galindo
Hernndez
Alberto Corts Ulloa
Alejandro
Moreno Rivas
Alejandro
Prez
Hernndez
Antonio
Malpica
Carlos Lozano H.
Diego H. Zavala
GC
Edgar
Mendoza
Arreola
Javier Elizondo
Campos
Jos de Jess
Hernndez
Surez
Juan Carlos
Segundo Elas
Marco Dorantes
Martnez
Roberto
Chvez
Quintero
Sergio
Cardoso
Intermec
Technologies de
Mexico
iquatro
ING
Comercial
Amrica
Qualitas
Compaa de
Seguros, S.A.
de C.V.
Desarrollo
Creativo
ING Comercial
Amrica
Hildebrando, SA
de CV
DA,
Organismo
Integrado de
Distribucin
S.A. de C.V.
ING Comercial
Amrica
Direccin de
Sistemas-UNAM
SHCP-TESOFE
Microsoft
Consulting
ING
Comercial
Amrica
ISOFT
Ingeniera de
Software
15
Comunicacin
entre los
integrantes.
Conocimiento
y dominio del
problema por
parte de los
jefes.
La
comprobacin
de
requerimientos
con el usuario y
la existencia de
formatos
predeterminados
de
documentacin
y
requerimientos.
Definiciones
claras y
concretas,
objetivos y
alcances
bien
definidos.
Una buena
definicin,
junto con el
usuario
El
seguimiento
sobre el
avance del
desarrollo
del
cumplimient
o de los
requerimien
tos.
La definicin
clara, precisa y
concreta de los
requerimientos.
Objetos pre-
construidos.
Compromiso e
involucra-
miento de los
usuarios.
Administracin
de proyectos
Control sobre
los
requerimientos
iniciales,
control sobre
los cambios
de
requerimientos
para observar
el impacto,
estimacin
correcta del
proyecto para
tiempos y
recursos.
Comprensin
del objetivo
del proyecto
de sistemas,
investigacin
preliminar,
contacto
estrecho con
l.
El cliente-
usuario es
parte del
equipo de
desarrollo y
esta 100%
disponible para
los
programadores.
Definicin
de requeri-
mientos y
plan de
pruebas
S
16
No
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO 172
4.9 Anlisis de los resultados
A continuacin se presentan los resultados obtenidos, desde distintas perspectivas:
por pregunta, por entrevistado y por ltimo de forma global.
4 4. .9 9. .1 1 P Po or r p pr re eg gu un nt ta a
1 1. . C Co on ns si id de er ra a q qu ue e l la a i in ng ge en ni ie er r a a d de e r re eq qu ue er ri im mi ie en nt to os s e es s u un na a a ac ct ti iv vi id da ad d c cl la av ve e d de en nt tr ro o d de el l
c ci ic cl lo o d de e v vi id da a d de e d de es sa ar rr ro ol ll lo o d de e s so of ft tw wa ar re e? ?
S, es la ms
importante
57%
S, es
importante
43%
No es
importante
0%
Todos consideran importantes las actividades de la ingeniera de requerimientos. Esto
es buen indicio de que finalmente existe la conviccin de que los requerimientos son
medulares en el desarrollo de software. Actualmente de hecho, existe una tendencia
por invertir ms tiempo en las primeras fases del ciclo de desarrollo (requerimientos y
diseo) que en la fase de codificacin. Hay que reconocer todas y cada una de las
fases y actividades en el desarrollo de software (por ejemplo: diseo, pruebas,
codificacin) tienen un objetivo especfico y contribuyen en conjunto a obtener un
producto final; todas son necesarias, importantes y se retroalimentan entre s, pero lo
relacionado con los requerimientos, por ser en donde se define lo que se va a hacer y
por realizarse primeramente es la base para las dems actividades y productos.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO 173
2 2. . E El l s so of ft tw wa ar re e q qu ue e d de es sa ar rr ro ol ll la a c cu um mp pl le e c co on n t to od da as s l la as s c ca ar ra ac ct te er r s st ti ic ca as s q qu ue e e el l u us su ua ar ri io o
n ne ec ce es si it ta a? ?
S, siempre
14%
Nunca
0%
S, casi
siempre
50%
S, slo a
veces
36%
Afortunadamente ninguno en los encuestados ha participado en proyectos en los que
no se satisfagan completamente las necesidades de los usuarios, caso muy extremo
en el que nada de lo que realiza el sistema es til. La realidad y los resultados
obtenidos nos indican, sin embargo, que tampoco en la mayora de los proyectos los
usuarios quedan completamente satisfechos.
Ahora bien, los encuestados expresaron su punto de vista; sera interesante conocer
el punto de vista del usuario para validar estos resultados.
Este factor depende de todas las actividades de la ingeniera de requerimientos
mencionadas. En la obtencin se identifican todas las necesidades reales de los
usuarios. En el anlisis y la negociacin se revisan, ponderan y se establecen acuerdos
sobre el alcance. La especificacin permite establecer por escrito lo que se va a hacer
y esos documentos son utilizados de alguna forma por todos los involucrados. En la
validacin el cliente y/o usuario juega un papel fundamental para determinar si los
requerimientos son los correctos.
En todas estas actividades es importante reconocer que ambas partes tienen
responsabilidad, tanto los clientes y usuarios como el equipo de desarrollo. Por el
lado de los clientes y usuarios, el no proporcionar la informacin real de forma
oportuna, el hecho de que existan intereses ajenos al proyecto, la falta de disposicin
y la resistencia al cambio son algunos de los factores ms comunes.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO 174
Por otra parte, el equipo de desarrollo debe ser honesto en la viabilidad de los
requerimientos y los recursos necesarios, con base en necesidades reales del usuario
y no en otro tipo de intereses.
3 3. . L Lo os s p pr ro oy ye ec ct to os s d de e d de es sa ar rr ro ol ll lo o d de e s so of ft tw wa ar re e s se e t te er rm mi in na an n a a t ti ie em mp po o y y c co on n l lo os s r re ec cu ur rs so os s
i in ni ic ci ia al lm me en nt te e e es st ti im ma ad do os s? ?
S, siempre
7%
Nunca
57%
S, a veces
7%
Casi nunca
29%
Los resultados de esta grfica coinciden con diversas estadsticas generales y
criterios de diversos autores mencionados en el marco conceptual, sobre los costos y
tiempos sobrepasados. Si bien lo relacionado con los requerimiento no es el nico
factor que contribuye a estas desviaciones, porque existen otros aspectos como: -
mala planeacin ye estimacin, adaptacin a nuevas tecnologas, tiempo y recursos
limitados, entre otras-, es una de las ms importantes.
Es evidente que si no se tiene una clara definicin de lo que se va hacer en un
proyecto, no se puede planear y estimar adecuadamente; si no se tiene por escrito lo
que se va a hacer, no hay manera de comprobar los acuerdos y alcances iniciales, no
existe una comprensin comn entre los involucrados, se depende de personas y
todo ello constituye un factor riesgo para que los proyectos fracasen.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO 175
4 4. . S Si i c co on no oc ce e l lo os s m mo od de el lo os s d de e m ma ad du ur re ez z c co om mo o C CM MM M o o S SP PI IC CE E E En n q qu u n ni iv ve el l c co on ns si id de er ra a q qu ue e
s se e e en nc cu ue en nt tr ra a s su u o or rg ga an ni iz za ac ci i n n r re es sp pe ec ct to o a a a al lg gu un no o d de e e es st to os s? ?
1
3
1 1
3
2
9
CMM nivel 2 CMM nivel 3 CMM nivel 4 SPICE nivel 2 SPICE nivel 3 SPICE nivel 4 No conocen los
modelos y/o el
nivel
Solo 6 de cada 10 personas encuestadas conocen los modelos de madurez de
procesos, los cuales se estn convirtiendo en un estndar de la industria de desarrollo
de software en el mundo. En Mxico desafortunadamente son contadas las
organizaciones con niveles comprobables de madurez de procesos para considerarse
competitivas en el mbito internacional y aprovechar la oportunidad de tener cerca al
mayor consumidor de software en el mundo: Estados Unidos.
La informacin proporcionada por la mayora de los encuestados respecto a los
niveles en los que consideran a sus organizaciones, llega a ser muy cuestionable, ya
que alcanzar los niveles de madurez no es sencillo; implica realizar diversas prcticas
e invertir mucho tiempo y recursos en la definicin de procesos. Sin embargo esto no
es imposible, y hay algunas organizaciones en Mxico que cumplen con ello.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO 176
5 5. . Q Qu u t t c cn ni ic ca as s u ut ti il li iz za a y y c co on ns si id de er ra a e ef fe ec ct ti iv va as s p pa ar ra a l la a i id de en nt ti if fi ic ca ac ci i n n y y o ob bt te en nc ci i n n d de e l lo os s
r re eq qu ue er ri im mi ie en nt to os s c co on n e el l u us su ua ar ri io o? ?
12
10
8 8
3
2
5
M
e
s
a
s
d
e
T
r
a
b
a
j
o
J
u
e
g
o
d
e
R
o
l
e
s
O
t
r
a
s
Las entrevistas son la tcnica ms comn de recopilacin de informacin. El hecho de
estar frente a frente con los clientes y usuarios finales del sistema permite percibir el
ambiente de la organizacin, observar la actitud de las personas y la forma de
operacin de sus procesos. Si bien una entrevista debe esta planeada de acuerdo a
un objetivo, permite flexibilidad y da oportunidad a tratar otros puntos de inters no
contemplados.
Casi todos los encuestados las utilizan, adems de las mesas de trabajo con los
clientes y usuarios, la lluvia de ideas como complemento a stas, el juego de roles,
las guas de preguntas y los cuestionarios especficos. Independientemente de la
tecnologa y de las herramientas de desarrollo y comunicacin, stas tcnicas clsicas
de obtencin de informacin se siguen utilizando y son de gran utilidad.
Dentro del rubro de otras tcnicas se encuentran los prototipos, utilizados por
algunos de los encuestados.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO 177
6 6. . R Re ea al li iz za a u un n a an n l li is si is s d de e l lo os s r re eq qu ue er ri im mi ie en nt to os s c co on n e el l f fi in n d de e d de ep pu ur ra ar rl lo os s, , c cl la as si if fi ic ca ar rl lo os s, ,
p po on nd de er ra ar rl lo os s y y d de ef fi in ni ir r a as s c cl la ar ra am me en nt te e e el l a al lc ca an nc ce e d de e l la a s so ol lu uc ci i n n? ?
S, siempre
50%
A veces
43%
No
7%
La mayora de los encuestados realiza un anlisis de los requerimientos, sin embargo
no se obtuvo en la encuesta qu tan adecuado o profundo es dicho anlisis.
Considero que el anlisis que supuestamente se realiza no se hace de manera formal
o no contempla los puntos tratados en este trabajo, como son asignar: riesgo,
prioridad, estado, estabilidad, recursos, entre otros. O bien el trmino es nuevo para
los encuestados.
No es comn encontrar en la bibliografa clsica de ingeniera de software algo
especfico sobre anlisis de requerimientos. Podra confundirse con anlisis del
sistema pero estrictamente no es lo mismo; el anlisis de requerimientos es muy
especfico. Anteriormente y todava- suele llamarse anlisis de sistemas a esa
actividad en la que especificamos el qu de un sistema informtico; esto es
correcto, sin embargo actualmente existe la tendencia de enfocarse a procesos y
apoyarse en las herramientas de la ingeniera de software, por lo que el enfoque est
evolucionando hacia la ingeniera de requerimientos.
Anlisis de requerimientos, como se expuso en el Marco Conceptual de este trabajo,
es una parte de la ingeniera de requerimientos que permite descubrir conflictos,
traslapes, omisiones e inconsistencias para obtener un conjunto acordado de
requerimientos.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO 178
7 7. . S Si i r re ea al li iz za a e es st te e a an n l li is si is s, , U Ut ti il li iz za a a al lg gu un na a g gu u a a p pa ar ra a e el ll lo o? ?
S
54%
No
46%
En complemento con esta cuestin, se pregunt: Si realiza este anlisis, utiliza
alguna gua para ello?, se obtuvieron que un poco ms de la mitad s utiliza una gua.
El contar con una gua simple para el anlisis de requerimientos es importante para
realizarlo de manera adecuada y para que todos los involucrados los interpreten de la
misma forma. Todos los encuestados coinciden en que una gua es o sera til para
esta actividad.
Una gua completa debera contener los lineamientos para clasificar y ponderar los
requerimientos, as como describir el procedimiento para hacerlo. De hecho como tal
no se encontr nada en las fuentes informacin. No obstante en el Marco Conceptual
de este trabajo se presentan los principales atributos y aspectos a considerar en esta
actividad, adems se presenta un checklist o lista de verificacin con una serie de
preguntas que pueden servir para orientar el proceso de anlisis de requerimientos.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO 179
8 8. . U Ut ti il li iz za a a al lg gu un na a g gu u a a d de e c co on nt te en ni id do o e es st t n nd da ar r p pa ar ra a l la a d do oc cu um me en nt ta ac ci i n n/ /e es sp pe ec ci if fi ic ca ac ci i n n
d de e r re eq qu ue er ri im mi ie en nt to os s? ?
Se tiene y se
utiliza
43%
Se tiene pero
no se utiliza
0%
No se tiene
57%
La mayora de los encuestados no cuenta con un estndar para la documentacin de
requerimientos. Si bien no existe un gua general que sea la mejor para todos los
casos, debido a que la naturaleza de los proyectos y organizaciones es distinta, es
importante cubrir mnimo algunos puntos fundamentales en la especificacin de
requerimientos. Generalmente cuando se documentan los requerimientos se hace de
manera ad hoc
Internamente, un estndar permite lograr un mejor comunicacin entre los equipos
involucrados en el desarrollo, se tendra una gua para que los encargados de
requerimientos los especifiquen de la misma forma.
Externamente, el poder contar con un estndar permitir una mejor interaccin, por
ejemplo entre una organizacin que requiere un sistema y una empresa que los
desarrolla. Todas las posibles empresas que se dedican al desarrollo del sistema
comprenderan de la misma manera el documento; la organizacin que los solicita
podra utilizar el mismo documento para solicitar diversas propuestas de diseo e
implementacin.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO 180
9 9. . Q Qu u t t c cn ni ic ca as s u ut ti il li iz za a y y c co on ns si id de er ra a e ef fe ec ct ti iv va as s p pa ar ra a e el l m mo od de el la ad do o y y e es sp pe ec ci if fi ic ca ac ci i n n d de e
r re eq qu ue er ri im mi ie en nt to os s? ?
No se modelan ni
especifican por
escrito
21%
Si se modelan
79%
La mayora de los encuestados realizan un modelado y especificacin de
requerimientos. Esto confirma la conviccin por parte de las reas y organizaciones
de desarrollo de sistemas y software, sobre la importancia de especificar de alguna
manera los requerimientos, y que sirva como una base para establecer el alcance,
para conducir el desarrollo y para la negociacin.
Independientemente de la tcnica, metodologa o enfoque que se utilice, estamos
convencidos que de alguna manera es necesario especificar los requerimientos.
Algunos nuevos enfoque para el desarrollo de software como XP (Extreme
Programming) no comparten la filosofa del modelado y documentacin tradicional.
Sin embargo, como su nombre lo dice, es un enfoque extremo, que puede resultar
muy efectivo para algunos casos, siempre y cuando los clientes y usuarios participen
convencidos bajo esa filosofa.
Retomando los enfoques ms tradiciones de modelado y especificacin, en la grfica
siguiente se indican las tcnicas ms utilizadas por los encuestados.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO 181
9
8
5
4
1
5
Lenguaj e
nat ural
Casos de uso Prot ot i pos Anl i si s
est ruct urado
Pseudocodi go Ot ras
Las especificaciones basadas en lenguaje natural son las ms utilizadas, ya que esto
permite que tanto el equipo de desarrollo como los clientes y usuarios comprendan lo
que el sistema de debe realizar. Finalmente la mayora de las diversas tcnicas de
especificacin y modelado van complementadas con alguna descripcin o explicacin
en lenguaje natural.
Los casos de uso son una tcnica muy utilizada en el modelado y especificacin de
los requerimientos. Son comprensibles por todos los involucrados y como se
mencion en el Marco Conceptual ofrecen diversas ventajas. Con los casos de uso por
un lado se modelan los requerimientos funcionales y sus actores (modelo de casos de
uso) y tambin se especifican por escrito en lenguaje natural cada uno de estos.
Los prototipos tambin representan una tcnica de especificacin de requerimientos.
Muchas veces se usan en complemento con otras.
El anlisis estructurado es una tcnica que cada vez est siendo menos utilizada,
debido a que las herramientas actuales de desarrollo presentan un enfoque ms bien
de orientacin a objetos.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO 182
1 10 0. . C C m mo o c co on ns si id de er ra a q qu ue e s so on n l la as s e es sp pe ec ci if fi ic ca ac ci io on ne es s d de e r re eq qu ue er ri im mi ie en nt to os s q qu ue e s se e r re ea al li iz za an n
e en n s su u o or rg ga an ni iz za ac ci i n n? ?
6 6
5 5 5 5
4 4
3 3 3
2
C
o
n
c
i
s
a
s
C
o
m
p
r
e
n
s
i
b
l
e
s
C
l
a
r
a
s
S
i
m
p
l
e
s
R
a
s
t
r
e
a
b
l
e
s
A
m
b
i
g
u
a
s
S
e
p
u
e
d
e
n
p
r
o
b
a
r
C
o
m
p
l
e
t
a
s
V
i
a
b
l
e
s
F
l
e
x
i
b
l
e
s
I
n
d
e
p
e
n
d
i
e
n
t
e
s
d
e
l
a
i
m
p
l
e
m
e
n
t
a
c
i
o
n
C
o
n
u
n
i
d
e
n
t
i
f
i
c
a
d
o
r
u
n
i
c
o
En esta pregunta cabe mencionar que 11 de las 12 caractersticas propuestas son
positivas, es decir, son recomendables que las contengan las especificaciones. Solo
una es negativa: la que se refiere a la ambigedad. No obstante se observa que la
mayora se encuentran en una frecuencia similar, tanto las positivas como la negativa.
Llama la atencin que la mayora de los encuestados, hayan comprendido a los que se
refera la caracterstica de rastreable, ya que no si bien es un trmino comn en la
administracin de requerimientos, en general no es tan conocido.
Los resultados no reflejaron alguna caracterstica en la que hayan coincidido todos los
encuestados.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO 183
1 11 1. . R Re ea al li iz za a u un na a v va al li id da ac ci i n n y y v ve er ri if fi ic ca ac ci i n n d de e r re eq qu ue er ri im mi ie en nt to os s p pa ar ra a g ga ar ra an nt ti iz za ar r q qu ue e s se ea an n
c co or rr re ec ct to os s ( (q qu ue e r re ep pr re es se en nt te en n l lo o q qu ue e e el l u us su ua ar ri io o n ne ec ce es si it ta a, , q qu ue e e ex xp pr re es se en n l lo o q qu ue e t te en ng ga an n
q qu ue e d de ec ci ir r, , q qu ue e s se ea an n l lo os s q qu ue e d de eb be en n d de e s se er r, , q qu ue e s se e e es sp pe ec ci if fi iq qu ue en n d de e l la a m ma an ne er ra a c co or rr re ec ct ta a) )? ?
Si
50%
No
50%
Es interesante observar que los resultados estn equilibrados. La mitad s realiza una
validacin y verificacin de los requerimientos, la otra mitad no. Quizs esta ltima ni
siquiera haba considerado la posibilidad de hacerlo.
Si no se realiza una validacin de los requerimientos con el usuario, se corre el riesgo
de que aun obteniendo, especificando y analizando adecuadamente los
requerimientos, no se desarrolle un sistema que satisfaga las necesidades de los
usuarios.
Tampoco existe una manera universal de realizar esta validacin y verificacin, no
obstante en este trabajo se ofrece una seria de preguntas y recomendaciones que
pueden ayudar a realizar esta importante actividad de la ingeniera de requerimientos.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO 184
1 12 2. . E En n p pr ro om me ed di io o d de e q qu u t ta am ma a o o s so on n l lo os s s si is st te em ma as s o o e el l s so of ft tw wa ar re e q qu ue e s se e d de es sa ar rr ro ol ll la a e en n
s su u o or rg ga an ni iz za ac ci i n n? ?
Pequeos
7%
Muy Grandes
29%
Medianos
43%
Grandes
21%
El problema de la ingeniera de requerimientos crece de manera exponencial con
respecto a la cantidad de requerimientos. Esto es una gran verdad. Entre menos sea
el nmero de requerimientos se tiene un mayor control sobre los mismos. Entre
mayor sea el nmero puede crecer la complejidad del sistema, el tiempo de
desarrollo, los recursos necesarios (humanos, materiales y tcnicos) y se requiere un
mayor control de los mismos.
Esta pregunta permite ubicar las respuestas de cada encuestado con respecto al
tamao de los sistemas que desarrolla. Se puede observar que la mayora son
sistemas medianos, es decir entre 10 y 50 requerimientos o entre 2,500 y 25,000
lneas de cdigo.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO 185
1 13 3. . C Cu ue en nt ta a c co on n p po ol l t ti ic ca as s p pa ar ra a l la a a ad dm mi in ni is st tr ra ac ci i n n d de e r re eq qu ue er ri im mi ie en nt to os s ( (o or rg ga an ni iz za ac ci i n n, ,
c co on nt tr ro ol l y y s se eg gu ui im mi ie en nt to o d de e l lo os s c ca am mb bi io os s e en n l lo os s r re eq qu ue er ri im mi ie en nt to os s) )? ?
Si
50%
No
50%
Tambin en esta pregunta se observa una igualdad en los porcentajes de respuesta.
La mitad s cuenta con polticas para la administracin de requerimientos, la mitad
no.
En complemento con la anterior, entre mayor sea el tamao de los sistemas es ms
necesarios contar con polticas para la administracin de los mismos.
Desafortunadamente en la encuesta no se obtuvo el detalle de qu aspectos cubren
esas polticas.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO 186
1 14 4. . U Ut ti il li iz za a a al lg gu un na a h he er rr ra am mi ie en nt ta a d de e s so of ft tw wa ar re e p pa ar ra a l la a a ad dm mi in ni is st tr ra ac ci i n n d de e r re eq qu ue er ri im mi ie en nt to os s? ?
Si
50%
No
50%
Tambin en esta pregunta se observa una igualdad en los resultados. Est muy
relacionada con la anterior, por lo que de alguna manera se validan y complementan.
La necesidad de usar herramientas de software para la administracin de
requerimientos est directamente relacionada con el nmero de estos, es decir, con el
tamao de los sistemas que se desarrolla. A mayor nmero de requerimientos se
necesiten controlar, es ms necesaria una herramienta para administrarlos.
Las herramientas que se utilizan van desde simples listados y matrices de
dependencia entre los requerimientos que se realizan en una hoja de clculo, hasta
herramientas comerciales como las mencionadas en el punto 3.2.6.4.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO 187
1 15 5. . Q Qu u a as sp pe ec ct to os s d de e l la a i in ng ge en ni ie er r a a d de e r re eq qu ue er ri im mi ie en nt to os s c co on ns si id de er ra a m mu uy y i im mp po or rt ta an nt te es s p pa ar ra a
u un na a m ma ay yo or r c ca al li id da ad d d de el l s so of ft tw wa ar re e y y p pa ar ra a e el l x xi it to o d de e l lo os s p pr ro oy ye ec ct to os s? ?
Esta pregunta fue abierta, y de las respuestas de los encuestados resaltan los
siguientes aspectos:
Involucramiento y disponibilidad del cliente y el usuario.
Aspectos de administracin de proyectos.
Conocimiento del dominio del problema.
Comunicacin entre el equipo de desarrollo.
Plantillas para la documentacin de requerimientos.
Definicin clara, precisa y concreta de los requerimientos.
Definicin clara del alcance.
Control de cambios en los requerimientos.
Reutilizacin.
Definitivamente la participacin del cliente y/o usuario es un aspecto que en varias
ocasiones mencionaron los encuestados, de hecho desde el sondeo del Marco
Problemtico, llam la atencin esta insuficiente participacin del usuario.
Otro aspecto muy mencionado y que si bien estrictamente no es una actividad de la
ingeniera de requerimientos, depende en gran medida, es la administracin de
proyectos. Si no se estiman y planean adecuadamente las actividades del proyecto,
ste fracasar por no terminarse a tiempo. Pero a su vez, si no se tiene
requerimientos claros, un alcance bien definido y se administra el impacto de los
cambios, no se puede realizar una adecuada planeacin y seguimiento de proyectos.
El tercer aspecto muy importante tiene que ver con el conocimiento del dominio del
problema. Para proporcionar una solucin adecuada y generar requerimientos con
base en necesidades reales del negocio, es fundamental conocer el dominio del
problema, el ambiente de la organizacin, los proceso de los usuarios y los objetivos
de negocio.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO 188
1 16 6. . C Co on ns si id de er ra a l la as s a ac ct ti iv vi id da ad de es s d de e l la a i in ng ge en ni ie er r a a d de e r re eq qu ue er ri im mi ie en nt to os s f fa ac ct to or r c cl la av ve e p pa ar ra a e el l
x xi it to o o o f fr ra ac ca as so o d de e l lo os s p pr ro oy ye ec ct to os s d de e d de es sa ar rr ro ol ll lo o d de e s so of ft tw wa ar re e? ?
Todos los encuestados coincidieron en que efectivamente las actividades de la
ingeniera de requerimientos son factor clave en el xito o fracaso de los proyectos de
desarrollo de software. Estas opiniones permitirn validar en gran medida la hiptesis
del trabajo.
Cabe mencionar que no es l nico factor, todas las actividades del ciclo de vida
contribuyen finalmente al producto final, pero s es crtico tener los requerimientos
correctos, expresados de manera adecuada y administrar el cambio de stos.
Afortunadamente tambin, la visin de los encuestados es favorable hacia invertir
tiempo y recursos en la actividad de requerimientos; ya no es tan evidente esa
tendencia por la programacin y los aspectos tcnicos solamente. Se reconoce
tambin la importancia de las actividades de administracin de proyectos.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO 189
4 4. .9 9. .2 2 P Po or r e en nc cu ue es st ta ad do o
Adrin Galindo
Intermec Technologies de Mexico
Utiliza lenguaje natural, casos de uso y prototipos. Casi nunca se terminan a tiempo y
con los recursos estimados pero se cubren las expectativas del usuario. No conoce los
modelos de CMM y SPICE.
Alberto Corts Ulloa
iquatro
Considera a la ingeniera de requerimientos como lo ms importante. Casi siempre
cubren las expectativas de los usuarios. Si conoce los niveles de madurez, considera 3
para CMM y 4 para SPICE. Utiliza casos de uso y lenguaje natural, sin embargo no
cumplen las caractersticas de calidad sus requerimientos.
Alejandro Moreno Rivas
Seguros ING Comercial Amrica
Solo a veces el software cumple con las expectativas del usuario. Casi nunca se
terminan a tiempo los sistemas que desarrolla porque se dan constante cambios en
los sistemas que desarrolla. Realiza entrevistas con los usuarios. Modela con lenguaje
natural, pseudocdigo y anlisis estructurado. Los sistemas son muy grandes y no
cuenta ni con polticas ni con herramientas de administracin.
Alejandro Prez Hernndez
Qualitas Compaa de Seguros, S.A. de C.V.
Las actividades de la ingeniera de requerimientos son lo ms importante. Casi
siempre se cumplen las expectativas del usuario. Si se realiza una verificacin y
validacin de sus requerimientos. Sus sistemas con pequeos y no cuenta con
polticas ni herramientas para la administracin de requerimientos.
Antonio Malpica
Desarrollo Creativo
Solo a veces se terminan los proyectos con los recursos estimados. Sus sistemas son
medianos y modela con lenguaje natural y prototipos. No conoce los modelos de
madurez de procesos.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO 190
Carlos Lozano
Seguros ING Comercial Amrica
Casi nunca se terminan a tiempo los sistemas que desarrolla. Solo a veces el software
cumple con las expectativas del usuario. NO modela ni especifica los requerimientos
por escrito. Sus sistemas son pequeos.
Diego H Zavala GC
Hildebrando, SA de CV
Considera a las actividades de la ingeniera de requerimientos como lo ms
importante, casi siempre se cubren las expectativas de los usuarios, sin embargo slo
a veces se terminan los proyectos con los recursos estimados. Se considera en nivel 3
de CMM. Utiliza lenguaje natural, prototipos y anlisis estructurado.
Edgar Mendoza Arreola
DA, Organismo Integrado de Distribucin, S.A. de C.V.
Utiliza casos de uso. Los sistemas son grandes. No cuenta con estndares ni polticas.
No se validan los requerimientos por lo que slo a veces se cumple completamente
con las expectativas de los usuarios.
Javier Elizondo
Seguros ING Comercial Amrica
Considera a las actividades de la ingeniera de requerimientos como lo ms
importante. S utiliza casos de uso. Sus sistemas son grandes y casi siempre se
terminan a tiempo y casi siempre se cubren las expectativas de los usuarios. No
conoce los modelos de madurez de procesos. Considera que el compromiso e
involucramiento de los usuarios es vital.
Jos de Jess Hernnde Surez
Direccin de Sistemas, DGSCA, UNAM
Casi nunca se terminan los proyectos con los recursos inicialmente estimados, debido
en gran medida a una mala estimacin y loa tiempo insuficientes para su desarrollo.
Ubica a su organizacin en nivel 2 de CMM y de SPICE.
Juan Carlos Segundo Elas
SHCP-TESOFE
Los sistemas son muy grandes. Utiliza anlisis estructurado y otras tcnicas
complementarias. Considera a la ingeniera de requerimientos como lo ms
importante pero slo a veces se cumplen las expectativas del usuario.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO 191
Marco Dorantes
Microsoft Consulting
De acuerdo con las respuestas de Marco Dorantes, los sistemas siempre se terminan a
tiempo y dentro del presupuesto estimado. Lo atribuyen principalmente a los ciclos
cortos de entrega. Considera a las actividades de la ingeniera de requerimientos
como importantes. Estima nivel 3 de CMM y 4 de SPICE. Utiliza pruebas de aceptacin
automatizadas. Utiliza casos de uso y herramientas para la administracin de
requerimientos. Sus sistemas son grandes. Considera al usuario como parte del
equipo de desarrollo. Las respuestas de este encuestado sugieren una buena visin y
madurez en sus procesos de desarrollo.
Roberto Chvez Quintero
Seguros ING Comercial Amrica
Solo a veces el software cumple con las expectativas del usuario. Casi nunca se
terminan a tiempo los sistemas que desarrolla. Considera a las actividades de la
ingeniera de requerimientos como importantes. Desconoce los niveles de CMM y
SPICE. Realizan las especificaciones por pseudocdigo. Los sistemas son muy grandes
y sus requerimientos son ambiguos. No cuenta con polticas de administracin ni con
una gua estndar para la especificacin de requerimientos.
Sergio Cardoso
ISOFT Ingeniera de Software
Se considera en nivel 3 de CMM, no obstante sus especificaciones no cumplen con
atributos de calidad. Le da gran importancia a las pruebas.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO 192
4.10 Conclusiones generales sobre los resultados
Es satisfactorio concluir que existe una gran conciencia de que la ingeniera de
requerimientos es una actividad importante dentro del ciclo de desarrollo.
Afortunadamente ya no se tiene la visin de hace algunos aos, en que la
programacin y la correccin de defectos eran los ms importante y en lo que se
gastaba (no inverta) la mayor parte del tiempo, y que constitua un gran riesgo en el
desarrollo de software.
No obstante, dentro de los encuestados sigue existiendo el problema de que los
proyectos no se terminan a tiempo ni con los recursos estimados, por lo que si bien
los requerimientos son una parte muy importante para establecer el alcance, manejar
lneas base y negociar los recursos del proyecto, existen otros factores que afectan y
que salen del alcance de este trabajo.
Muchos de los encuestados usan y les funcionan los casos de uso como una tcnica
de modelado y especificacin de requerimientos, tcnica que detallamos en el Marco
Conceptual de este trabajo por considerar que tiene diversas ventajas y con la cul
tambin se ha trabajo en diversos proyectos.
Todos los encuestados coincidieron en que efectivamente las actividades de la
ingeniera de requerimientos son factor clave en el xito o fracaso de los proyectos de
desarrollo de software. Adems, los dos aspectos ms mencionados que tambin
intervienen en el xito de los proyectos son: la participacin de los usuarios y la
administracin de proyectos. Se percibe ms debilidad en aspectos administrativos
que tcnicos.
La naturaleza de las organizaciones encuestadas es distinta, no obstante operan
todas en Mxico y presentan situaciones y caractersticas similares. Es de especial
inters analizar las respuestas de aquellas conocen los modelos de madurez de
procesos, debido a que conocen las tendencias actuales en la ingeniera de software y
en determinado momento podran ser ms competitivas. Desgraciadamente son
menos de la mitad.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO 193
4.11 Aprobacin de la hiptesis
De acuerdo con los resultados a continuacin se comenta el grado de aceptacin de
las variables dependientes con respecto a la dependiente:
Variable independiente:
La realizacin de las actividades de la ingeniera de requerimientos, mediante el uso
de tcnicas y herramientas en un proyecto de desarrollo de software permite:
Variables dependientes:
Variable Porcentaje de aceptacin
Especificar de manera clara,
precisa, y completa los
requerimientos de un sistema
informtico
Las tcnicas y herramientas de la ingeniera de
requerimientos s permiten lograr claridad,
precisin y completez en los requerimientos,
especialmente aquellas que incluyen un modelo
grfico y una descripcin textual en lenguaje
natural.
Porcentaje de aceptacin: 100%
Desarrollar sistemas con la
funcionalidad y caractersticas
requeridas por el usuario
Definitivamente para el cumplimiento de las
expectativas del usuario, las actividades de la
ingeniera de requerimientos s contribuyen a
lograrlo.
Porcentaje de aceptacin: 100%
Planear y realizar estimaciones
ms precisas de los proyectos
El contar con requerimientos precisos,
documentados, clasificados y ponderados
ayuda a establecer lneas de base para planear y
estimar los recursos del proyecto. Sin embargo
en algunos casos, a pesar de esto, los proyectos
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO ME TODOL GI CO 194
no se terminan a tiempo y dentro de los
recursos estimados inicialmente.
Porcentaje de aceptacin: 75%
Lograr una mayor calidad del
software
Los dos principales factores de la calidad son
software son: que el software tenga la
funcionalidad requerida por el usuarios y que lo
haga bien. Las actividades de la ingeniera de
requerimientos s coadyuvan a lograr la
primera, no obstante en la segunda intervienen
factores de otras fases y actividades del ciclo de
desarrollo.
Porcentaje de aceptacin: 50%
Cumplir con los lineamientos
de los modelos
internacionales de madurez de
procesos
Los principales modelos de madurez de
procesos consideran a las actividades de la
ingeniera de requerimientos como parte de los
requisitos para lograr determinado nivel de
madurez, por lo que al realizar ingeniera de
requerimientos s se cumplen los lineamientos;
no obstante estas actividades si bien son una
parte muy importante en ambos modelos, slo
constituyen una aspecto.
Porcentaje de aceptacin: 75%
Las respuestas obtenidas permiten considerar por lo tanto a la hiptesis en un 80%
aceptada.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO I NS TRUME NTAL
195
5 5 M MA AR RC CO O I IN NS ST TR RU UM ME EN NT TA AL L
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO I NS TRUME NTAL
196
5.1 Propuestas de accin
Como resultado del presente trabajo de investigacin, y con el fin de difundir
informacin sobre el tema, a continuacin se exponen las actividades a realizar.
A) Publicacin de un artculo en la publicacin Algo mas de la Facultad de
Contadura y Administracin, con el propsito de dar a conocer de manera
general a la comunidad de la facultad, lo que es la ingeniera de
requerimientos, la importancia de la participacin de los usuarios en el
desarrollo de sistemas informticos y el papel de los Licenciados en
Informtica en esta rea.
B) Elaboracin de una propuesta a la Coordinacin de Informtica para
complementar el plan de estudios la de Licenciatura en Informtica con est
temtica, lo cual permitir que los egresados tengan las herramientas para
cubrir esta importante rea de su desarrollo profesional, tomando en cuenta
que es un requisito de los estndares internacionales de calidad en el
desarrollo de software.
C) Desarrollo y difusin de un sitio en Internet, el primero en Mxico en este
tema, que presente informacin actualizada y de inters para la comunidad
informtica del pas. Como primera fase de este sitio, se pondr de forma
inmediata el presente trabajo de investigacin a disposicin de las personas
interesadas. Cabe mencionar que las encuestas aplicadas en este trabajo y sus
resultados detallados, se encuentran ya publicados en Internet.
D) Ofrecer cursos y conferencias sobre el tema de investigacin, complementado
con la experiencia profesional adquirida en esta rea, en los eventos
relacionados con la informtica y el desarrollo de software, en los que pueda
resultar de gran inters al auditorio.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO I NS TRUME NTAL
197
5.2 Plan y programa de trabajo
A) Publicacin de un artculo
Respecto a la publicacin del artculo, ste fue entregado al Secretario de Divulgacin
y Fomento Editorial de la Facultad de Contadura y Administracin el da 15 de mayo
del 2002, teniendo como respuesta que de acuerdo a la temtica y caractersticas del
artculo, se planeara su publicacin en alguno de los prximos nmeros de Junio o
Julio de Algo Ms, dependiendo de los espacios y el material programado
previamente en la publicacin.
Cabe mencionar que el artculo se enfoc principalmente a la importancia de la
participacin de los usuarios en los proyectos de desarrollo de software, pero adems
se tocaron algunos aspectos de la ingeniera de requerimientos, tratando de que fuera
una lectura breve y ligera pero que despertara inters sobre el tema.
Se anexa la carta de presentacin y el contenido del artculo.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO I NS TRUME NTAL
198
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO I NS TRUME NTAL
199
Existen infinidad de problemas relacionados con el desarrollo de software, pero uno de los ms graves
es que los sistemas no hagan lo que el usuario necesita, es entonces que algunas veces los
informticos decimos que los usuarios no saben lo que quieren, pero:
El usuario no sabe lo que quiere
o el informtico no sabe identificar
sus necesidades reales?
La participacin de los usuarios: elemento esencial para el xito
en el desarrollo de los sistemas informticos.
Diariamente interactuamos con sistemas informticos que fueron desarrollados para realizar
muchas de nuestras actividades, sin embargo no siempre nos ofrecen la funcionalidad que
deseamos. Nos referimos en esta ocasin a esos sistemas que fueron creados a la medida, es
decir que no son precisamente software comercial o de uso genrico, sino aplicaciones especficas
para automatizar algn proceso o administrar cierta informacin de nuestra organizacin.
De manera muy general, el proceso comn para desarrollar esas aplicaciones comprende las
siguientes fases: 1) determinacin de requerimientos, 2) diseo de la solucin, 3)implementacin,
4)pruebas y 5)entrega e implantacin. Cada fase es un rea de especializacin por s misma.
La actividad ms crtica es la determinacin de requerimientos,
ya que es en donde se especifica qu se va a hacer, por lo
que sirve de insumo para las dems, y es desafortunadamente
en la que ocurren ms errores y a la que menos importancia se
le da. Para realizar adecuadamente esta actividad, los
analistas de sistemas deben tomar conciencia de su
importancia y capacitarse en las tcnicas y herramientas de la
Ingeniera de Requerimientos.
Adems, el involucramiento del usuario es un factor principal para el xito de este tipo de proyectos.
Es parte del equipo, y si bien en la mayora de los casos no es un especialista informtico, es el que
mejor conoce sus procesos de negocio, el que diariamente realiza las actividades de su rea y
quien finalmente utilizar y dar el visto bueno al sistema. El usuario es nuestro cliente.
De acuerdo con la ingeniera de requerimientos, el cliente y usuario participa de alguna manera en
todas las actividades de la ingeniera de requerimientos, principalmente junto con los especialistas
informticos en la obtencin, anlisis, negociacin y validacin de requerimientos. A los informticos
les corresponde en mayor medida la especificacin por escrito y la administracin de los
requerimientos.
Por lo tanto, no es responsabilidad de los usuarios especificar exactamente qu es lo quieren desde
el punto informtico puesto que no son especialistas, no obstante s debe participar activamente en
lo relacionado con los requerimientos, y de hecho de alguna manera en todas las fases del
desarrollo, debido a que son los expertos en su rea de negocio y utilizarn el sistema.
Es responsabilidad principal de los analistas, identificar la problemtica, conducir a los usuarios en
la determinacin de sus requerimientos informticos, especificar los requerimientos por escrito,
analizarlos, validarlos y propiciar la participacin continua del usuario. Para todo esto puede
auxiliarse de las tcnicas y herramientas de la ingeniera de requerimientos. El especialista
informtico es tambin parte del equipo y comparte durante el proyecto los objetivos de
negocio del usuario.
Ma. Teresa Ventura Miranda
Licenciatura en Informtica
La ingeniera de requerimientos
se enfoca a la obtencin,
anlisis, negociacin,
especificacin, validacin y
administracin de los
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO I NS TRUME NTAL
200
B) Propuesta de materia optativa para el plan de estudios
El da 9 de Mayo de 2002 se entreg en la Jefatura de la Divisin de Informtica, la
propuesta de contenido para la creacin de una materia optativa sobre Ingeniera de
Requerimientos, considerando que es una de las reas de especializacin ms
idneas para el licenciado en Informtica, considerando que por tener conocimientos
tcnicos y administrativos es un buen intermediario entre los usuarios y el equipo de
desarrollo.
Se anexa la carta de presentacin y el contenido del temario.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO I NS TRUME NTAL
201
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO I NS TRUME NTAL
202
TEMARIO PARA MATERIA OPTATIVA DE INGENIERA DE
REQUERIMIENTOS
N NO OM MB BR RE E
Ingeniera de Requerimientos
O OB BJ JE ET TI IV VO O: :
El participante conocer diversas tcnicas y herramientas para la obtencin, anlisis,
negociacin, especificacin, validacin y administracin de los requerimientos de un
sistema de informacin.
P PR RE ER RR RE EQ QU UI IS SI IT TO OS S: :
Haber cursado alguna asignatura relacionada con el proceso de desarrollo de
sistemas, anlisis y diseo de sistemas o ingeniera de software.
H HO OR RA AS S: :
2 horas por clase.
2 clases por semana.
C CO ON NT TE EN NI ID DO O: :
I I. . I IN NT TR RO OD DU UC CC CI I N N
1 1. . P Pr ro ob bl le em m t ti ic ca a r re el la ac ci io on na ad da a c co on n l lo os s r re eq qu ue er ri im mi ie en nt to os s
2 2. . C Co on nc ce ep pt to os s d de e l la a i in ng ge en ni ie er r a a d de e r re eq qu ue er ri im mi ie en nt to os s
2 2. .1 1 C Cl la as si if fi ic ca ac ci i n n d de e l lo os s r re eq qu ue er ri im mi ie en nt to os s ( (f fu un nc ci io on na al le es s y y n no o
f fu un nc ci io on na al le es s) )
2 2. .2 2 N Ni iv ve el le es s d de e r re eq qu ue er ri im mi ie en nt to os s ( (D De e u us su ua ar ri io o, , d de e s si is st te em ma a y y d de e
s so of ft tw wa ar re e) )
2 2. .3 3 P Pr ro oc ce es so o g ge en ne er ra al l d de e l la a i in ng ge en ni ie er r a a d de e r re eq qu ue er ri im mi ie en nt to os s
3 3. . P Pa ar rt ti ic ci ip pa an nt te es s e en n l la a i in ng ge en ni ie er r a a d de e r re eq qu ue er ri im mi ie en nt to os s
3 3. .1 1 R Ro ol l d de e l lo os s c cl li ie en nt te es s y y u us su ua ar ri io os s
3 3. .2 2 R Ro ol l d de e l lo os s a an na al li is st ta as s
3 3. .3 3 O Ot tr ro os s i in nv vo ol lu uc cr ra ad do os s ( (l l d de er r d de e p pr ro oy ye ec ct to o, , p pr ro og gr ra am ma ad do or re es s, ,
p pr ro ob ba ad do or re es s) )
I II I. . O OB BT TE EN NC CI I N N D DE E R RE EQ QU UE ER RI IM MI IE EN NT TO OS S
1 1. . F Fu ue en nt te es s d de e r re eq qu ue er ri im mi ie en nt to os s
1 1. .1 1 E Es st tu ud di io os s d de e m me er rc ca ad do o
1 1. .2 2 M Ma an nu ua al le es s d de e o or rg ga an ni iz za ac ci i n n y y p pr ro oc ce ed di im mi ie en nt to os s
1 1. .3 3 O Ob bs se er rv va ac ci io on ne es s y y m me ed di id da as s d de el l s si is st te em ma a a ac ct tu ua al l
1 1. .4 4 E En nt tr re ev vi is st ta as s c co on n e el l c cl li ie en nt te e y y l lo os s u us su ua ar ri io os s
1 1. .5 5 D Do oc cu um me en nt ta ac ci i n n d de e l lo os s s si is st te em ma as s a ac ct tu ua al le es s
1 1. .6 6 M Mo od de el lo os s y y p pr ro ot to ot ti ip po os s
2 2. . P Pr ro ob bl le em m t ti ic ca a e en n l la a o ob bt te en nc ci i n n d de e r re eq qu ue er ri im mi ie en nt to os s
3 3. . T T c cn ni ic ca as s p pa ar ra a l la a o ob bt te en nc ci i n n d de e r re eq qu ue er ri im mi ie en nt to os s
3 3. .1 1 E En nt tr re ev vi is st ta as s y y c cu ue es st ti io on na ar ri io os s
3 3. .2 2 T Ta al ll le er re es s
3 3. .3 3 L Ll lu uv vi ia a d de e i id de ea as s
3 3. .4 4 P Pr re es se en nt ta ac ci io on ne es s
3 3. .5 5 J Ju ue eg go o d de e r ro ol le es s
3 3. .6 6 P Pr ro ot to ot ti ip po os s
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO I NS TRUME NTAL
203
I II II I. . A AN N L LI IS SI IS S Y Y N NE EG GO OC CI IA AC CI I N N D DE E R RE EQ QU UE ER RI IM MI IE EN NT TO OS S
1 1. . A An n l li is si is s d de e p pr ro ob bl le em ma a
2 2. . D De ef fi in ni ic ci i n n d de el l a al lc ca an nc ce e d de el l p pr ro oy ye ec ct to o
3 3. . C Cl la as si if fi ic ca ac ci i n n y y p po on nd de er ra ac ci i n n d de e l lo os s r re eq qu ue er ri im mi ie en nt to os s
3 3. .1 1 T Ti ip po o
3 3. .2 2 C Cr ri it ti ic ci id da ad d
3 3. .3 3 I Im mp po or rt ta an nc ci ia a
3 3. .4 4 E Es st ta ad do o
I IV V. . M MO OD DE EL LA AD DO O Y Y E ES SP PE EC CI IF FI IC CA AC CI I N N D DE E R RE EQ QU UE ER RI IM MI IE EN NT TO OS S
1 1. . C Ca ar ra ac ct te er r s st ti ic ca as s d de e c ca al li id da ad d e en n l la as s e es sp pe ec ci if fi ic ca ac ci io on ne es s d de e
r re eq qu ue er ri im mi ie en nt to os s
1 1. .1 1 C Co or rr re ec ct to o
1 1. .2 2 S Si in n a am mb bi ig g e ed da ad d
1 1. .3 3 C Co om mp pl le et to o
1 1. .4 4 C Co on ns si is st te en nt te e
1 1. .5 5 V Ve er ri if fi ic ca ab bl le e
1 1. .6 6 M Mo od di if fi ic ca ab bl le e
1 1. .7 7 P Po os si ib bi il li id da ad d d de e r ra as st tr re eo o
1 1. .8 8 C Co om mp pr re en ns si ib bl le e
2 2. . T T c cn ni ic ca as s p pa ar ra a e el l m mo od de el la ad do o y y e es sp pe ec ci if fi ic ca ac ci i n n
2 2. .1 1 C Ca as so os s d de e U Us so o ( (U UM ML L) )
2 2. .2 2 P Pr ro ot to ot ti ip po os s
2 2. .3 3 O Ot tr ra as s
V V. . V VA AL LI ID DA AC CI I N N Y Y V VE ER RI IF FI IC CA AC CI I N N D DE E L LO OS S R RE EQ QU UE ER RI IM MI IE EN NT TO OS S
1 1. . V Va al li id da ac ci i n n
1 1. .1 1 C Co on nc ce ep pt to o d de e v va al li id da ac ci i n n
1 1. .2 2 M M t to od do os s d de e v va al li id da ac ci i n n
2. Verificacin
2 2. .1 1 C Co on nc ce ep pt to o d de e v ve er ri if fi ic ca ac ci i n n
2 2. .2 2 M M t to od do os s d de e v ve er ri if fi ic ca ac ci i n n
V VI I. . A AD DM MI IN NI IS ST TR RA AC CI I N N D DE E R RE EQ QU UE ER RI IM MI IE EN NT TO OS S
1 1. . T Ti ip po os s d de e c ca am mb bi io os s e en n l lo os s r re eq qu ue er ri im mi ie en nt to os s
2 2. . R Ra as st tr re ea ab bi il li id da ad d ( (T Tr ra ac ce ea ab bi il li it ty y) )
3 3. . H He er rr ra am mi ie en nt ta as s d de e s so of ft tw wa ar re e p pa ar ra a l la a a ad dm mi in ni is st tr ra ac ci i n n d de e
r re eq qu ue er ri im mi ie en nt to os s
B BI IB BL LI IO OG GR RA AF F A A: :
Leffingwell, Dean y Wodrig, Don. MANAGING SOFTWARE
REQUIREMENTS. Ed. Addison Wesley. EUA, 2000.
Thayer, Dorfman. SYSTEM AND SOFTWARE REQUIREMENTS
ENGINEERING. IEEE. 1990.
Sommerville, Ian y Sawyer, Pete. REQUIREMENTS ENGINEERING.
A Good Practice Guide. Ed. John Wiley & Sons.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO I NS TRUME NTAL
204
C) Sitio en Internet
Actualmente la primera versin del sitio se encuentra en:
http://genesis.dcaa.unam.mx/requerimientos y cuenta con los siguientes mdulos:
Inicio. Introduccin al sitio, a quin est dirigido y cul es su
objetivo.
Actividades de la Ingeniera de Requerimientos. Descripcin de
cada una de las actividades de la ingeniera de requerimientos
tratadas en este trabajo.
Documentos. Se podrn a disposicin de los visitantes los
principales documentos que se obtuvieron durante el trabajo de
investigacin y que fueron principalmente encontrados en
Internet, pero con el valor agregado de presentarlos en un solo
lugar especializado en la temtica, organizados y con una breve
descripcin de su contenido.
Comentarios. Posibilidad de enviar por correo sugerencias.
En la segunda fase, que se terminar el 17 de junio del 2002 se incorporar:
Ligas. Referencias en Internet de inters sobre el tema.
Cheklists. Las guas de preguntas clave para la obtencin,
anlisis y negociacin, validacin y verificacin, y administracin
de requerimientos, presentadas en este trabajo, se pondrn
tambin a disposicin de los interesados.
Cursos y eventos en Mxico relacionados con el tema.
Encuestas y Estadsticas. Encuestas breves y abiertas de temas de
inters. Se encuentran publicados los resultados de las encuestas
realizadas en este trabajo (algunos ya se encontraban publicados
a peticin de los encuestados). Adems, en fases posteriores se
crearn nuevas encuestas de aspectos ms especficos de la
ingeniera de requerimientos que resultaron de inters.
En la tercera fase, que se terminar el 30 de agosto del 2002 se incorporar:
Discusin. Se crear para fases posteriores una lista de
discusin, la primera en Mxico sobre el tema, para los
especialistas interesados.
I NGE NI E R A DE RE QUE RI MI E NTOS
MARCO I NS TRUME NTAL
205
Presentacin del sitio Web.
http://genesis.dcaa.unam.mx/requerimientos/index.html
I NGE NI E R A DE RE QUE RI MI E NTOS
CONCL US I ONE S 206
6 6 C CO ON NC CL LU US SI IO ON NE ES S
I NGE NI E R A DE RE QUE RI MI E NTOS
CONCL US I ONE S 207
6.1 Captulo 1 (Marco Problemtico)
Se reconoci la existencia de diversos problemas asociados a los requerimientos.
Cuando se est involucrado de alguna manera en el desarrollo de software, es comn
experimentar estos problemas, la mayora de los encuestados coincidieron en ello.
Algunos ya estn haciendo algo al respecto, aunque es difcil cuando el tiempo es una
constante restriccin, se da prioridad a otras cosas y desafortunadamente el
problema se sigue arrastrando.
No es el nico problema en el desarrollo de software pero s uno de los ms
importantes. El desarrollo de software no es un proceso fcil, intervienen muchas
variables y la naturaleza del software es muy especial por ser un producto intangible.
Por lo mismo hay infinidad de problemas asociados a este proceso. Los
requerimientos son uno de los ms importantes debido a que constituyen la base
para todas las fases y actividades subsecuentes en el desarrollo. Si no se tiene bien
definido lo que quiere y lo que se va a hacer, no se puede hacer mucho, o no se van a
tener resultados satisfactorios.
Existe conciencia de la importancia de los requerimientos en el ciclo de desarrollo.
Afortunadamente la gran mayora reconoce que los requerimientos son importantes,
ya que algunos aos atrs se le daba una mayor importancia y se gastaba ms tiempo
en codificar y corregir errores, lo que llevaba al fracaso de los proyectos y a estar
manteniendo, adaptando y corrigiendo continuamente los sistemas.
El tema despert inters entre los participantes de la encuesta. Fue muy satisfactorio
recibir las respuestas de los encuestados y aparte comentarios adicionales por medio
del correos electrnico sobre el gran inters en este tema de algunas personas y
organizaciones. Como respuesta a este inters se ofreci a dichas personas
informacin relacionada, el resultado de la encuesta y la posibilidad de consultar este
trabajo por Internet una vez concluido.
La encuesta hizo reflexionar a los encuestados. Algunas personas no estaban tan
concientes del la efectividad o ineficacia de sus proceso de requerimientos. A veces
aunque se tenga la informacin, la conciencia y el conocimiento de que algo es
importante, no lo aplicamos. Las preguntas permitieron reflexionar a los encuestados
al respecto y despert su inters.
I NGE NI E R A DE RE QUE RI MI E NTOS
CONCL US I ONE S 208
Se estableci contacto con colegas de otras organizaciones. Con motivo del presente
trabajo se conocieron personas que se dedican al desarrollo de sistemas en diversas
organizaciones, lo que permiti percibir distintos puntos de vista, formas de trabajo,
niveles de madurez y calidad, pero sobre todo un inters comn: mejorar la forma de
desarrollar sistemas.
La problemtica result de mi inters. El tema de obtener requerimientos siempre
result de mi inters: el determinar qu hacer, el modelar las soluciones a alto nivel e
interactuar con los clientes y usuarios. En mayor o menor medida tambin haba
experimentado algunos aspectos del problema, lo que me llev con mayor razn a
tratar de encontrar causas races y ofrecer algunas soluciones.
6.2 Captulo 2 (Marco Terico)
La gran mayora del material (libros, revistas, Internet) est en ingls. La ingeniera de
requerimientos no es un tema precisamente nuevo, no obstante gran parte del
material est en ingls y no hall ningn intento de traduccin de alguno de estos.
Tampoco es algo extrao o inconveniente, considerando que el ingls, especialmente
en el mbito de cmputo e informtica, es el lenguaje ms utilizado.
No existen libros especializados de autores mexicanos al respecto. La gran mayora
del material consultado, en especial los libros, son de autores extranjeros. No existe
un libro en Mxico especializado en esta temtica. Hay material relacionado con el
anlisis y diseo de sistemas pero no con la visin especfica de la ingeniera de
requerimientos.
Internet fue una fuente de informacin muy importante. En Internet se encontr
suficiente informacin. Mediante el acceso a diversos sitios se obtuvo informacin
actualizada y de gran inters, por ejemplo, sitios de empresas proveedoras de
herramientas para la administracin de requerimientos, universidades extranjeras,
revistas en lnea e incluso hasta seminarios por Web.
Existe suficiente material sobre el tema. Se observaron dos tendencias en este:
material acadmico-formal, y material comercial. Del primero cabe mencionar es
informacin de aproximadamente 10 aos atrs. El material ms reciente tiene un
enfoque comercial, es publicado por empresas proveedoras de herramientas software
para apoyar el ciclo de desarrollo de software.
I NGE NI E R A DE RE QUE RI MI E NTOS
CONCL US I ONE S 209
EL IEEE (Instituto de Ingenieros Elctrico y Electrnicos) es una fuente clave en el
tema. Fue precisamente este instituto quien formaliz el concepto de Ingeniera de
requerimientos. Existen diversos y muy importantes materiales editados al respecto
por el IEEE, est conformado por muchas reas de especialidad, una de las cuales es
el cmputo.
Los seminarios por Internet (webminars) son una nueva e importante alternativa de
acceso a la informacin. De gran inters y muy prcticos resultaron los seminarios
por Internet que consisten en presentaciones (con audio y video) que ofrecen
organizaciones y personas expertas en diversos temas de valor, y que resultan
gratuitos y de fcil acceso para los usuarios del Internet.
El marco terico fue trabajado prcticamente en todo el desarrollo del trabajo. Desde
la concepcin inicial del trabajo, hasta las ltimas fases del mismo, se estuvo
realizando labor de recopilacin de informacin, estando al tanto de las tendencias en
el tema. Cabe mencionar que se describieron los materiales ms relevantes y claves
para la investigacin.
Se tuvo la oportunidad de asistir a cursos y eventos relacionados. Por el inters que
siempre he tenido sobre el tema y para contribuir a este trabajo de investigacin, tuve
la oportunidad de asistir a diversos eventos de inters sobre el tema que fueron de
gran utilidad para el contenido del trabajo.
EL IEEE, Rational y Karl Wiegers, las principales fuentes. De todas las fuentes
consultadas se obtuvo informacin de inters, no obstante considero que estas tres
fueron las principales y las ms conocidas. La IEEE por ser quien formaliz el
concepto; Rational por el xito de sus herramientas y Karl Wiegers por generar libros
artculo actuales y de gran inters.
6.3 Captulo 3 (Marco Conceptual)
Los autores coinciden en la problemtica. Todos los autores y estudios coinciden en
que una de las principales causas de los problemas en el desarrollo de software tiene
que ver con requerimientos. Esto complementa lo detectado en el Marco Problemtico
y justifica en alguna medida la realizacin de este trabajo.
I NGE NI E R A DE RE QUE RI MI E NTOS
CONCL US I ONE S 210
Administracin vs. Ingeniera de Requerimientos. Hoy en da y comercialmente es ms
conocido el trmino Administracin de Requerimientos que Ingeniera de
Requerimientos. Como se mencion en el trabajo, dentro del concepto formal de
Ingeniera de Requerimientos, la administracin es complemento de sta.
Estrictamente la ingeniera es la construccin, la administracin es la organizacin y
gestin. Sin embargo en la prctica estos trminos suelen utilizarse como sinnimos.
Los casos de uso son une tcnica efectiva de especificacin. La tcnica de
especificacin que se describi con ms detalle en el trabajo fueron los Casos de Uso,
de UML, ya que en la prctica resultan efectivos. Adems diversos autores sobre el
tema coinciden en su utilidad y se est convirtiendo en una tcnica muy adoptado por
la comunidad de desarrollo de sistemas. Existe mucha informacin sobre de casos de
uso, aqu slo se resumieron sus elementos y forma de construirlos.
Los requerimientos tienen que ver con la calidad del software. Si bien la calidad del
software depende de muchos factores, los requerimientos son elemento importante
para lograrla. Cuando se habl de la validacin, es decir, que los requerimientos
digan lo que realmente se quiere, se est colaborando a la calidad. Adems la relacin
de los requerimientos con los modelos de madurez de procesos: CMM y SPICE
complementan tambin esta afirmacin.
Hay muchos enfoques de procesos y ciclos de desarrollo de software. Se incluyo la
parte de procesos y ciclos de desarrollo por considerar importante la existencia,
ubicacin e importancia de los requerimientos en cada una de stos. Hay enfoques de
procesos y ciclos de desarrollo, no obstante se observ que comparten caractersticas
y algunos son adaptaciones de otros. En este trabajo se mencionaron los ms
representativos, considerando incluso la programacin extrema (Extreme
Programming), un nuevo enfoque que est teniendo mucho auge para cierto tipo de
proyectos.
Existen muchos temas relacionados de inters. Alrededor de la ingeniera de
requerimientos hay una serie de temas, aspectos, tcnicas, etc. Que por s mismos
pueden ser objeto de nuevos trabajos de investigacin y evaluacin. Por ejemplo por
mencionar algunos: la administracin de proyectos de software, las mtricas para el
tamao de los sistemas de software, los modelos y estndares de calidad, las tcnicas
de obtencin y especificacin, el anlisis de las herramientas de software existente,
entre otros.
I NGE NI E R A DE RE QUE RI MI E NTOS
CONCL US I ONE S 211
6.4 Captulo 4 (Marco Metodolgico)
Hubo respuestas muy interesantes que podran ser analizadas como un tema de
investigacin especfico. Como resultado de la aplicacin del cuestionario, los
encuestados expresaron una serie de inquietudes y aspectos de inters que bien
podran ser tema de otras investigaciones, no slo de aspectos informticos sino
tambin administrativos y psicolgicos.
Se confi en el juicio de los encuestados. La hiptesis fue comprobada con base en
las opiniones de los encuestados, las cuales resultaron de gran inters y aportaron
elementos interesantes.
Posteriormente se desea ahondar en algunas respuestas de los encuestados que salen
del alcance del Marco Metodolgico de este trabajo. El cuestionario fue aplicado con
un objetivo especfico, pero vale la pena recopilar informacin de aspectos
relacionados que aportaran resultados de gran valor para conocer la situacin actual
del software en Mxico.
Los resultados del Marco Metodolgico coinciden otros estudios especializados. Por
ejemplo, el Standish Group sugiere que los cuatro factores de xito para un proyecto
de Tecnologas de Informacin son: involucrar al cliente/usuario, apoyo de la alta
direccin, definicin clara de los requerimientos y desarrollar una adecuada
planeacin; aspectos que los encuestados mencionaron explcitamente.
El involucramiento del usuario es clave. La participacin de los usuarios fue un
aspecto que mencionaron los encuestados en varias ocasiones. Por esa razn se
escribi un artculo al respecto como parte del Marco Instrumental.
6.5 Captulo 5 (Marco Instrumental)
El artculo escrito resulto de inters para el rea editorial de la Facultad de Contadura
y Administracin. Se trato proyectar un enfoque ligero y no tcnico para que resultara
comprensible y de inters para la comunidad de la FCA en general. Al hablar de los
usuarios y de los sistemas informticos, la gran mayora nos sentimos identificados
de alguna manera. Se enfoco a la importancia de la participacin los usuarios, debido
a que resalt como un punto de inquietud en la mayora de los encuestados, e incluso
los estudios que existen al respecto lo consideran.
I NGE NI E R A DE RE QUE RI MI E NTOS
CONCL US I ONE S 212
Se pretende mejorar el sitio Web. Como se plante en el Marco Instrumental,
actualmente se encuentra una primera versin del sitio Web sobre Ingeniera de
Requerimientos en Mxico, no obstante se pretende crecer, debido a que sera una
referencia de inters para la comunidad de personas relacionadas con el desarrollo de
sistemas.
La difusin del tema debe de ser continua. Por diversos medios como el sitio Web y la
participacin en eventos, es de mi inters difundir ms informacin sobre la temtica
ye esto debe hacerse de una manera continua.
6.6 Conclusiones Generales
La hiptesis se comprob. Con base en las opiniones de los encuestados, la hiptesis
tuvo un 80% de aceptacin. Definitivamente las actividades, tcnicas y herramientas
de la ingeniera de requerimientos permiten desarrollar sistemas que realicen la
funcionalidad requerida por el usuario, una mejor estimacin de los proyectos, y
mejor comunicacin entre los involucrados, principalmente.
El tema despert inters en otras personas. Las diversas fuentes que se consultaron,
el apoyo solicitado para la realizacin de los cuestionarios, y la asistencia a eventos
relacionados, fueron actividades que influyeron en que otros compaeros y colegas
reflexionaran sobre la importancia de esta temtica y me solicitarn informacin al
respecto.
El trabajo final ha sido solicitado por diversos interesados. En complemento con el
punto anterior, cabe mencionar que existen diversos interesados (sobre todo
personas que amablemente contestaron los cuestionarios) en conocer el trabajo final,
por lo que ser en su momento, publicado en el Web y se enviarn las referencias de
clasificacin asignadas por la biblioteca de la Facultad de Contadura y
Administracin.
La ingeniera de requerimientos es una buena rea de especializacin para un
licenciado en Informtica. Como se mencion en varias ocasiones, el perfil del
licenciado en Informtica es idneo para ser el intermediario entre los usuarios y el
equipo de desarrollo, y hacer por lo tanto ingeniera de requerimientos. Cuenta con
los conocimientos tcnicos y administrativos que por un lado le permiten comprender
los procesos de una organizacin y por otro lado disear soluciones informticas
adecuadas.
I NGE NI E R A DE RE QUE RI MI E NTOS
CONCL US I ONE S 213
Es posible alcanzar una mayor especializacin en tema. Si bien uno de los objetivos
personales de este trabajo fue precisamente especializarme en el tema, el cual
considero en cierta medida est cumplido, la labor no termina aqu. Es necesario
mantenerse al tanto de las nuevas tendencias y contribuir a la verdadera aplicacin de
estas tcnicas y herramientas.
El trabajo constituye una valiosa aportacin para los involucrados en el desarrollo de
sistemas. Para cualquier interesado en el tema de requerimientos este trabajo puede
servirles de referencia para tener una visin ms adecuada de todo lo que implica la
ingeniera de requerimientos, y que no es slo obtener informacin de los usuarios.
Puede adems, despertar el inters para la especializacin en tema e incluso servir
como gua para diversos aspectos del proceso de desarrollo de software.
El desarrollo de un trabajo de tesis no es sencillo. Para llegar al trmino de trabajo
hubo que invertir mucho esfuerzo y dedicacin. No solo se limita a hacer una
investigacin documental, si no que se realizan esfuerzos complementarios como
son: entrevistas, visitas, observaciones, relacionarse con colegas y expertos en el
tema, asistir a diversos eventos, y en este caso en particular, aplicacin de algunas
tcnicas aqu expuestas en la Direccin de Sistemas de la UNAM.
Aplicacin en el mbito laboral. Lo mencionado en este trabajo no slo se limita a lo
terico, sino que se aportan elementos y conocimientos con los que se ha trabajado
en la vida real, y que por lo tanto se ha comprobado su utilidad, beneficios e
importancia en el desarrollo de sistemas.
Los especialistas en Ingeniera de Requerimientos sern ampliamente demandados
con el crecimiento de la industria de software en Mxico. Con las iniciativas actuales
de impulsar el crecimiento de la industria de software y considerando a una fbrica de
software como una entidad donde con base en especificaciones se desarrollan
productos de software, habr demanda de especialistas en esta rea. Alguien debe de
elaborar esas especificaciones para que las fbricas las implementen.
I NGE NI E R A DE RE QUE RI MI E NTOS
BI B L I OGRAF A 214
7 7 G GL LO OS SA AR RI IO O
I NGE NI E R A DE RE QUE RI MI E NTOS
BI B L I OGRAF A 215
Trmino Significado
Actor Representa cualquier cosa que interacte con un sistema.
Administracin de la
configuracin
Conjunto de actividades relacionadas con la identificacin y control de
las caractersticas y cambios en un punto del tiempo, de los productos
generados durante el desarrollo de software.
AMCIS Asociacin Mexicana para la Calidad en Ingeniera de Software.
Calidad EL grado en que un sistema, componente o proceso cumple con los
requerimientos especificados y con las expectativas de un cliente o
usuario.
Caracterstica Particularidad. Una caracterstica es un servicio que el sistema
proporciona para satisfacer una o ms necesidades de los involucrados.
Caso de Uso Un caso de uso es una descripcin de un conjunto de acciones que el
sistema realiza para ofrecer algn resultado de valor a un actor en
particular.
Ciclo de vida del
software
El perodo de tiempo que empieza cuando un producto de software se
concibe y termina cuando el software no est disponible ms para el
uso.
CMM Capability Maturity Model. Modelo de madurez de capacidades para
evaluar los procesos de desarrollo de software de una organizacin.
Consta de 5 niveles y fue desarrollado por el Software Engineering
Institute.
CRC Class-Responsability-Collaboration. Tcnica originalmente para
identificar las responsabilidades de las clases en el anlisis orientado a
objetos. Consisten en tarjetas de 5 x 6 cm., en las que cada
participante asume el papel de una clase y anota sus responsabilidades
e interacciones.
CUA Common User Access. Conjunto de estndares para interfaces de
usuario desarrollado por IBM.
Estndar Los requisitos obligatorios empleados y reforzados para lograr un
enfoque uniforme y disciplinado al desarrollo de software.
xito Resultado feliz de un negocio o proyecto.
GUI Graphic User Interface. Interfaces grfica de usuario. Trmino aplicado
l i bi fi
I NGE NI E R A DE RE QUE RI MI E NTOS
BI B L I OGRAF A 216
a los sistemas en ambiente grfico.
ID Identificador nico de un requerimiento. Clave.
IEEE Institute of Electrical and Electronics Engineers.
Ingeniera Se refiere al uso de principios de manera sistemtica para obtener
diseos que cubran los requerimientos considerando restricciones de
recursos y bajo condiciones de incertidumbre.
Ingeniera de
requerimientos
La ciencia y disciplina relacionada con el anlisis y documentacin de
requerimientos, incluyendo anlisis de necesidades, anlisis de
requerimientos y especificacin de requerimientos. Tambin
proporciona los mecanismos adecuados para facilitar las actividades de
anlisis, documentacin y verificacin.
ISO Internacional Organization for Standardization.
JAD Joint Application Development. Mtodo de obtencin de requerimientos
que rene a los analistas, desarrolladores y representantes de los
clientes/usuarios en una mesa de trabajo.
Lnea base Un conjunto detallado de caractersticas, o requerimientos que se
pretenden entregar en una versin especfica de la aplicacin.
Mtodo Un conjunto razonablemente completo de reglas y criterios que
establecen una forma precisa y repetible de realizar una tarea y llegar a
un resultado deseado.
Metodologa Una coleccin de mtodos, procedimientos y normas.
OMT Object Modeling Technique
Tcnica de modelado de objetos desarrollada principalmente por
Rumbaugh cuyos elementos se integraron posteriormente en UML.
OOA/OOD Object Oriented Analysis/ Object Oriented Design
Anlisis/diseo orientado a objetos.
PAISLey Es un lenguaje de especificacin ejecutable el cual es acompaado por
un conjunto de mtodos de especificacin, tcnicas de anlisis y
herramientas de software. Los lenguajes de especificacin ejecutables
son lenguajes especializados los cuales pretenden modernizar el
proceso de desarrollo de software.
Proyecto Un conjunto de tareas que requiere la coordinacin y distribucin de un
conjunto de esfuerzos y recursos para lograr un objetivo en un tiempo
I NGE NI E R A DE RE QUE RI MI E NTOS
BI B L I OGRAF A 217
finito.
Proyecto de
(desarrollo de)
software
Una tarea que requiere une esfuerzo concertado que se enfoca a
analizar y especificar, disear, desarrollar, probar y/o mantener los
componentes del software de un sistema y la documentacin asociada.
PSL/PSA Problem Statement Language/Problem Statement Analyzer.
PSP Personal Software Process.
RAD Rapid Application Development. Un sistema de programacin que
permite a los programadores construir programas de manera rpida. En
general, las herramientas RAD se basan en interfaces grficas de
usuario.
Rastreo/
Rastreabilidad
Trmino que hace referencias a las ligas y dependencias lgicas entre
requerimientos y otros componentes derivados del desarrollo de
software.
Requerimiento Un requerimiento es una condicin o capacidad que debe satisfacer un
sistema.
Riesgo Peligro. Posibilidad de que ocurra un contratiempo o evento indeseado.
Rol Una unidad de responsabilidades definidas que pueden ser asumidas
por uno o ms individuos.
RSL/REVS Requirements Statement Language/Requirement Engineering and
Validation System
RUP Rational Unified Process. Proceso de desarrollo de software
bidimensional desarrollado por Ivar Jacobson en Ericsson y
posteriormente refinado en Rational.
SA/SADT Structured Analysis and Desing Techniques. Tcnicas estructuradas de
anlisis y diseo.
Sistema Conjunto de hardware, software, datos, personas, facilidades y
procedimientos organizados para lograr algn objetivo en comn.
Software Trmino general para el conjunto de programas usados para operar
computadoras y dispositivos relacionados. Elemento primordial en los
sistemas informticos juntos con el hardware y la informacin. (v.
sistema)
SPICE Modelo de referencia que describe los procesos que una organizacin
puede realizar ya sea para adquirir, proveer, desarrollar, operar,
I NGE NI E R A DE RE QUE RI MI E NTOS
BI B L I OGRAF A 218
evolucionar y soportar algn software, as como los atributos que
caracterizan la capacidad de cada uno de los procesos.
SREM Software Requirements Engineering Methodology.
Metodologa de de ingeniera de requerimientos de software
desarrollada por TRW Corp.
SRS Software Requirements Specification
Es un documento que contiene una descripcin completa de lo que har
el software, sin describir cmo lo har. <IEEE>
SSADM Structured Systems Analysis and Design Methodology
Metodologa usada en el anlisis y diseo del desarrollo de sistemas.
Usa tres tcnicas clave: modelado de datos, modelado de flujo de datos
y modelado de entidades-eventos.
Stakeholder Individuos y organizaciones involucrados en un proyecto de desarrollo
de software y que tienen influencia directa o indirecta sobre los
requerimientos, o cuyos intereses se ven afectados por el proyecto.
Storyboard Presentacin animada de algn producto.
TSP Team Software Process.
UML Unified Modeling Language. Lenguaje que proporciona una notacin
estndar para el modelado de software.
Validacin Proceso de asegurar que lo que se est construyendo corresponde con
los realmente requerido, que sea completo, consistente y de acuerdo
con los requisitos.
Verificacin Proceso de determinar si los productos de una determinada fase del
ciclo de desarrollo de software, cumplen o no los requerimientos
establecidos durante el inicio de la fase.
I NGE NI E R A DE RE QUE RI MI E NTOS
BI B L I OGRAF A 219
8 8 B BI IB BL LI IO OG GR RA AF F A A
I NGE NI E R A DE RE QUE RI MI E NTOS
BI B L I OGRAF A 220
8.1 Libros
A users guide for defining software requirements
Carolyn Shamlin
Editorial Massachussets
Wellesley, 1989
ISBN 0-89435-278-4
El proceso unificado de desarrollo de software
Ivar Jacobson, Grady Booch y James Rumbaugh
Editorial Addison Wesley
Primera edicin en espaol. 2000
IEEE Guide to Software Requirements Specifications. ANSI-IEEE 830-1984
IEEE. 1984
Ingeniera de software. Un enfoque prctico
Roger S. Pressman
Editorial Mc Graw Hill.
Mxico. Cuarta edicin, 1998
84-7615-222-1
Managing software requirements
Dean Leffingwell y Don Wodrig
Ed. Addison Wesley
Massachussets, Estados Unidos. Primera edicin, 2000
ISBN 0201615932
Modelo de referencia de procesos y capacidades, modelo de evaluacin de
procesos y gua de indicadores segn ISO 15504 (SPICE)
M. en C. Mara del Pilar Angeles
Asociacin Mexicana para la Calidad en Ingeniera de Software (AMCIS)
Noviembre, 2000.
Requirements engineering. A good practice guide
Ian Sommerville y Pete Sawyer
Editorial John Wiley & Sons
Chichester, England. Primera edicin, 1997
ISBN 0-471-97444-7
I NGE NI E R A DE RE QUE RI MI E NTOS
BI B L I OGRAF A 221
Software requirements & specifications: a lexicon of practice, principles and
prejudices
Michael Jackson
Editorial Addison-Wesley
1a. Edicin. 1995
ISBN 0201877120
Software requirements : objects, functions, and states
Alan M. Davis
Editorial Prentice-Hall
Englewood Cliffs, New Jersey. Primera edicin, 1993.
ISBN 0-13-805763-X
Software Requirements: Analysis and specification
Michael Davis
Editorial Prentice Hall
New Jersey, 1990
ISBN 0-13-824673-4
Software that works
Michael Ward
Editorial Academic
San Diego, 1990.
ISBN 0-12-735040-3
Specification and transformation of programs. A formal approach to software
development
Helmut A. Partsch
Editorial Springer-Verlag Berlin Heidelberg
New York. 1. Edicin. 1990
ISBN 3-540-52356
System and software requirements engineering
Richard H. Thayer y Merlin Dorfman
IEEE Computer Society
1990
ISBN 0-8186-8921-8
I NGE NI E R A DE RE QUE RI MI E NTOS
BI B L I OGRAF A 222
8.2 Revistas
Software Development Magazine
http://www.sdmagazine.com
STQE Magazine
Http://www.stqemagazine.com
8.3 Internet
http://www.computer.org
http://www.construx.com
http://www.cutter.org
http://www.incose.org
http://www.processimpact.com
http://www.processimprovement.com
http://www.rational.com
http://www.rej.com
http://www.rspa.com
http://www.sei.cmu.edu
http://www.spc.ca
http://www.telelogic.com
http://www.therationaledge.com
http://www.itera.com.mx
http://biblioteca.dgsca.unam.mx
http://www.dgbiblio.unam.mx