Académique Documents
Professionnel Documents
Culture Documents
INTRODUCCIN
A travs de los aos se ha podido constatar que los requerimientos o requisitos son
la pieza fundamental en un proyecto de desarrollo de software, ya que marcan el
punto de partida para actividades como la planeacin, bsicamente en lo que se
refiere a las estimaciones de tiempos y costos, as como la definicin de recursos
necesarios y la elaboracin de cronogramas que ser uno de los principales
mecanismos de control con los que se contar durante la etapa de desarrollo.
Adems la especificacin de requerimientos es la base que permite verificar si se
alcanzaron o no los objetivos establecidos en el proyecto ya que estos son un
reflejo detallado de las necesidades de los clientes o usuarios del sistema y es
contra lo que se va a estar verificando si se estn cumpliendo las metas trazadas. Es
muy frecuente escuchar entre los conocedores del desarrollo de software
(programas de computadoras), que un gran nmero de los proyectos de software
fracasan por no realizar una adecuada definicin, especificacin, y administracin
de los requerimientos. Dentro de esa mala administracin se pueden encontrar
factores como la falta de participacin del usuario, requerimientos incompletos y el
mal manejo del cambio a los requerimientos.
La Ingeniera de Requerimientos (IR) cumple un papel primordial en el proceso de
produccin de software, ya que se enfoca un rea fundamental: la definicin de lo
que se desea producir. Su principal tarea consiste en la generacin de
especificaciones correctas que describan con claridad, sin ambigedades, en forma
consistente y compacta, las necesidades de los usuarios o clientes; de esta manera,
se pretende minimizar los problemas relacionados por la mala gestin de los
requerimientos en el desarrollo de sistemas.
2. OBJETIVOS
Mostrar los conceptos, tcnicas, metodologas de la ingeniera de requerimientos
dentro del desarrollo de software.
3. JUSTIFICACIN
capacidad
4.3 NIVELES
DE
DESCRIPCIN
DE
UN
REQUERIMIENTO
4.3.1 Requerimientos del usuario. Los requerimientos del
usuario para un sistema deben describir los requerimientos
funcionales y no funcionales de tal forma que sean
comprensibles
por
los
usuarios
del
sistema
sin
requerimientos
por
la
descripcin
de
la
especficas.
bien definidos.
Mejora la capacidad de predecir cronogramas de proyectos, as como
sus resultados: La IR proporciona un punto de partida para controles
subsecuentes y actividades de mantenimiento, tales como estimacin
de costos, tiempo y recursos necesarios.
exitoso.
Evita rechazos de usuarios finales: La ingeniera de requerimientos
obliga al cliente a considerar sus requerimientos cuidadosamente y
revisarlos dentro del marco del problema, por lo que se involucra
durante todo el desarrollo del proyecto.
manuales de usuario.
Usuario Lder: Son los individuos que comprenden el ambiente del
sistema o el dominio del problema en donde ser implementado el
producto ya finalizado.
Analistas y Programadores: Son los responsables del desarrollo del
de
los
informes
que
se
debe
realizar
son
la
11
Estudio de viabilidad
Obtencin y anlisis de requerimientos
Especificacin de requerimientos
Validacin de requerimientos
6.1.
ESTUDIOS DE VIABILIDAD
Los resultados del estudio de viabilidad deberan ser un informe que recomiende si
merece o no la pena seguir con la ingeniera de requerimientos y el proceso de
desarrollo del sistema.
Un estudio de viabilidad es un estudio corto y orientado a resolver varias preguntas:
13
Se pueden consultar las fuentes de informacin, como los jefes de los departamentos
donde se utilizar el sistema, los ingenieros de software que estn familiarizados
con el tipo de sistema propuesto, los expertos en tecnologa y los usuarios finales
del sistema. Normalmente, se debera intentar completar un estudio de viabilidad en
dos o tres semanas.
Una vez que se tiene la informacin, se redacta el informe del estudio de viabilidad.
Debera hacerse una recomendacin sobre si debe continuar o no el desarrollo del
sistema. En el informe, se pueden proponer cambios en el alcance, el presupuesto y
la confeccin de agendas del sistema y sugerir requerimientos adicionales de alto
nivel para ste.
6.2.
de los proyectos software, en este trabajo se proponen algunas reglas generales para
llevar a cabo la RE con base en la discusin y en la explicacin de los procesos
relacionados y mtodos aplicados en los diferentes tipos de proyectos software.
Anlisis
Una vez obtenida la informacin necesaria del entorno, es necesario sintetizarla,
darle prioridades, analizar posibles contradicciones o conflictos, descomponer el
sistema y distribuir las necesidades de cada parte, delimitar los lmites del sistema y
definir su interaccin con el entorno.
La obtencin y anlisis de requerimientos pueden afectar a varias personas de la
organizacin.
El trmino stakeholder se utiliza para referirse a cualquier persona o grupo que se
ver afectado por el sistema, directa o indirectamente. Entre los stakeholders se
encuentran los usuarios finales que interactan con el sistema y todos aquellos en la
organizacin que se pueden ver afectados por su instalacin.
Obtener y comprender los requerimientos de los stakeholders es difcil por varias
razones:
1. Los stakeholders a menudo no conocen lo que desean obtener del sistema
informtico excepto en trminos muy generales; puede resultarles difcil
expresar lo que quieren que haga el sistema o pueden hacer demandas
irreales debido a que no conocen el coste de sus peticiones.
2. Los stakeholders expresan los requerimientos con sus propios trminos de
forma natural y con un conocimiento implcito de su propio trabajo. Los
ingenieros de requerimientos, sin experiencia en el dominio del cliente,
deben comprender estos requerimientos.
3. Diferentes stakeholders tienen requerimientos distintos, que pueden expresar
de varias formas. Los ingenieros de requerimientos tienen que considerar
todas las fuentes potenciales de requerimientos y descubrir las concordancias
y los conflictos.
4. Los factores polticos pueden influir en los requerimientos del sistema. Por
ejemplo, los directivos pueden solicitar requerimientos especficos del
sistema que incrementarn su influencia en la organizacin.
15
del
sistema
para
recopilar
sus
requerimientos.
Los
de
requerimientos.
16
6.3.
El
ESPECIFICACIN DE REQUERIMIENTOS
descubrimiento
de
requerimientos
(llamado
veces
adquisicin
de
17
subconjunto del sistema y cada punto proporciona una perspectiva nueva del
sistema pero son independientes.
18
Las entrevistas sirven para obtener una comprensin general de lo que hacen
los stakeholders, como podran interactuar con el sistema y las dificultades a
las que se enfrentan con los sistema actuales. A la gente le gusta hablar de su
trabajo y normalmente se alegran de verse implicados en las entrevistas. Sin
embargo, no son de tanta utilidad para la comprensin de los requerimientos
del dominio de la aplicacin.
Es difcil obtener conocimiento del dominio durante las entrevistas debido a
dos razones:
1. Todos los especialistas de la aplicacin utilizan terminologa y jerga
especifica de un dominio. Es imposible para ellos discutir requerimientos
del dominio sin utilizar esta terminologa. Normalmente la utilizan de un
modo preciso y sutil, por lo que es fcil que la malinterpreten los
ingenieros de requerimientos.
19
2.
3.
escenario comienza.
Una descripcin del flujo normal de eventos en el escenario.
Una descripcin de lo que puede ir mal y cmo manejarlo.
20
4.
5.
mismo tiempo.
Una descripcin del estado del sistema cuando el escenario termina.
De forma alternativa, se puede adoptar un enfoque ms estructurado,
como los escenarios de eventos o los casos de uso.
21
no
es
apropiado
para
descubrir
los
requerimientos
22
y,
6.5.
VALIDACIN DE REQUERIMIENTOS
requerimientos es importante
24
pueden experimentar con este modelo para ver si cumple sus necesidades
reales.
3. Generacin de casos de prueba. Los requerimientos deben de poder
probarse. Si las pruebas para estos se conciben como parte del proceso de
validacin, a menudo revela los problemas en los requerimientos. Si una
prueba es difcil o imposible de disear, normalmente significa que los
requerimientos sern difciles de implementar y deberan ser considerados
nuevamente. Desarrollar pruebas para los requerimientos del usuario antes
de que se escriba cdigo es un aparte fundamental de la programacin
extrema.
Las revisiones de requerimientos pueden ser informales o formales. Las
informales sencillamente implican que los contratistas deben tratar los
requerimientos con tantos stakeholders del sistema como sea posible. Es
sorprendente la frecuencia con la que finaliza la comunicacin entre los
desarrolladores y los stakeholders del sistema despus de la observacin de
requerimientos y que no exista confirmacin de que los requerimientos
documentados son realmente lo que dijeron que deseaban los stakeholders.
Antes de llevar a cabo una reunin para una revisin formal, muchos
problemas se pueden detectar simplemente hablando del sistema con los
stakeholders.
En la revisin formal de requerimientos, el equipo de desarrollo debe
conducir al cliente a travs de los requerimientos del sistema, explicndole
las implicaciones de cada requerimiento, el equipo de revisin debe verificar
cada
requerimiento
para
la
consistencia
adems
de
verificar
los
3.
7. GESTIN DE REQUERIMIENTOS
Los requerimientos para sistemas software grandes son siempre cambiantes debido
a que el problema no puede definirse completamente, es muy probable que los
requerimientos del software sean incompletos. Durante el proceso de software, la
comprensin del problema por parte de los stakeholders est cambiando
constantemente. Estos requerimientos deben entonces evolucionar para reflejar esta
perspectiva cambiante del problema.
Adems, una vez que el sistema se ha instalado, inevitablemente surgen nuevos
requerimientos. Es difcil para los usuarios y clientes del sistema anticipar qu
efectos tendr el sistema nuevo en la organizacin. Cuando los usuarios finales
tienen experiencia con un sistema, descubren nuevas necesidades y prioridades:
La gestin de requerimientos es el proceso de comprender y controlar los cambios
en los requerimientos del sistema. Es necesario mantenerse al tanto de los
requerimientos particulares y mantener vnculos entre los requerimientos
dependientes de forma que se pueda evaluar el impacto de los cambios en los
requerimientos. Hay que establecer un proceso formal
27
28
8.1.
29
requieren.
Definir los requerimientos de un sistema de informacin
Empieza con el anlisis de problemas organizacionales para
3.
3.
flujo de informacin)
Que actividades del sistema de informacin son manuales y cuales son
automticas
Repuestas del mtodo ISAC
1. Anlisis de Cambio
1. Lista de problemas
2. Lista de propietarios de los problemas
3. Analizar los problemas
4. Realizar el modelo de actividad actual
5. Analizar los objetivos
6. Definir las necesidades de cambio
7. Generar alternativas de cambio
8. Realizar el modelo de actividad de situaciones esperadas
9. Evaluar alternativas de cambio
Seleccionar el modelo de actividad
2. Estudio de las actividades
Descomponer el modelo de actividad seleccionado en subsistemas de
informacin
Elaborar el modelo de actividad seleccionada
Identificar subsistemas de informacin
Analizar elementos automatizables
Elaborar modelos de actividades antes de cada sistema de informacin
Actividades
31
32
Como se puede observar en la figura 8, este ciclo en espiral contina repitiendo las
fases hasta que llegue un momento en que la negociacin de requerimientos se
considera finalizada, pues no se detectan ms requerimientos que incluir y los que
ya se han incluido no presentan conflictos ni contradiccin. En ese momento, se
dara por finalizado el documento de requerimientos y se continuara con el resto del
proceso de desarrollo. Si todava quedaran requerimientos por identificar o negociar
para resolver conflictos, se dara otra vuelta a la espiral (Somerville, 2005).
restricciones
de
diseo/implementacin
costos,
cliente/usuario a
34
en
36
10.1
RequisitePro
11.CONCLUSIONES
38
12. BIBLIOGRAFA
1. La ingeniera de requerimientos y su importancia en el desarrollo de
proyectos de software(Michael Arias Chaves).
2. Ingeniera del Software Sptima Edicin IAN SOMMERVILLE.
3. Ingeniera de Requerimiento: Ing. Mauricio Mendoza Lozano.
4. M. Manies & U. Nikual. La Elicitacin de Requisitos en el contexto de un
proyecto software.
5. INSTITUTE FOR ELECTRONICS AND ELECTRICAL ENGINEERS.
Glosario estndar de la terminologa de la ingeniera de software estndar
6. SOMMERVILLE, Ian y SAWYER, Peter. Requirements engineering: A good
practice guide. 3 ed. Chinchester, Inglaterra: John Wiley&Sons Ltd., 2000.
7. SOMERVILLE, Ian. Ingeniera de software. 7 ed. Mxico: Addison Wesley,
2004.
8. La ingeniera de requerimientos y su importancia en el desarrollo de
proyectos de software( Michael Arias Chaves).
9. Monografa Ingeniera de Requerimientos, Ma. de Lourdes Peres Huebe
2005.
10. ISAC (R.J. Wieringa, Requirements Engineering, Editorial John Wiley
& Sons, 1996).
11. INCOSE, The International Council on Systems Engineering Requirements
Management Tools Survey (http://www.incose.org). 2006.
39
40