Por consiguiente, este trabajo investigativo dará a conocer acerca de los requerimientos necesarios para el desarrollo del software, dividiéndolos por etapas que se enlazan unos a otros teniendo como objetivo principal el proceso de construcción de un sistema de software.
2. 2
Objetivos
Analizar la ingeniería de requerimientos
Detallar las tareas principales en la ingeniería de requerimientos
Conocer la importancia de ingeniería en requerimientos
Identificar los casos de estudios
Índice
1. Introducción.............................................................................................................3
2. Marco teórico..........................................................................................................4
2.1 Ingeniería de Requerimientos ........................................................................... 4
2.2 Importancia en la ingeniería de requerimientos ............................................. 7
3. Caso de estudio .....................................................................................................9
4. Mapa mental .........................................................................................................10
5. Reactivos.............................................................................................................111
6. Bibliografía ............................................................................................................14
3. 3
1. Introducción
En la ingeniería en software (IS)
existen diversas alternativas para el
desarrollo de un sistema, sin
embargo, al pasar los años se han
ido modificando ciertos procesos
creando estándares para el
desarrollo de este, el cual se
pretende optimizar y sistematizar
procesos de la IS.
Por consiguiente, este trabajo
investigativo dará a conocer acerca
de los requerimientos necesarios
para el desarrollo del software,
dividiéndolos por etapas que se
enlazan unos a otros teniendo como
objetivo principal el proceso de
construcción de un sistema de
software.
De tal forma, este documento
detallara los procesos ingeniería de
requerimiento como: concepción,
indagación, especificación,
elaboración, negociación, validación,
administración, en donde se
pretende conocer las diferentes
alternativas o técnicas que existen
para identificarlos, así como mostrar
la importancia que cumple cada uno
de ellos para el desarrollo del
software.
Finalmente, este documento
investigativo pretende aportar y
beneficiar a usuarios a obtener una
información clara y detallada.
4. 4
2. Marco teórico
2.1 Ingeniería de
Requerimientos
Existen varias definiciones de
Ingeniería de requerimientos, de
entre las cuales podemos citar las
siguientes:
Según Pressman (2010) afirma:
La ingeniería de requerimientos
proporciona el mecanismo
apropiado para entender lo que
desea el cliente, analizar las
necesidades, evaluar la
factibilidad, negociar una solución
razonable, especificar la solución
sin ambigüedades, validar la
especificación y administrar los
requerimientos a medida que se
transforman en un sistema
funcional (p. 102).
Por otra parte, Boehm expresa
que “ingeniería de requerimientos es
la disciplina para desarrollar una
especificación completa, consistente
y no ambigua, la cual servirá como
base para acuerdos comunes entre
todas las partes involucradas y en
dónde se describen las funciones
que realizará el sistema” (Gil, 2002,
p. 7).
En síntesis, algunos desarrollares
quieren desarrollar un software sin
entender cuáles son las necesidades
que el cliente requiere. Por esta
razón, la ingeniería de
requerimientos ayuda a los
ingenieros de software a entender
mejor el problema en cuya solución
trabajarán. Incluye el conjunto de
tareas que conducen a comprender
cuál será el impacto del software
sobre el negocio, qué es lo que el
cliente quiere y cómo interactuarán
los usuarios finales con el software.
Además, Pressman (2010) señala
que incluye siete tareas diferentes en
la Ingeniería de requerimientos:
concepción, indagación,
elaboración, negociación,
especificación, validación y
administración.
5. 5
A continuación, se explicará cada
uno de ellos.
a) Concepción
La mayor parte de proyectos
inicia cuando se identifica una
necesidad del negocio o se
descubre un nuevo mercado o
servicio potencial. En la
concepción del proyecto se
establece el entendimiento
básico del problema, las
personas que quieren una
solución, la naturaleza de la
solución, la eficacia de la
comunicación y colaboración
preliminares entre los otros
participantes y el equipo de
software (Cartuche, 17, p. 5).
En otras palabras, en esta etapa
se debe reconocer el problema tal y
cual el usuario lo percibe ya que el
software se debe elaborar de
acuerdo con las necesidades del
cliente.
b) Indagación
Según Christel y Kang identificaron
cierto número de problemas que se
encuentran cuando ocurre la
indagación:
Problemas de alcance: La frontera
de los sistemas está mal definida o
los clientes o usuarios finales
especifican detalles técnicos
innecesarios que confunden, más
que clasifican, los objetivos
generales del sistema.
Problemas de entendimiento: Los
clientes o usuarios no están
completamente seguros de lo que se
necesita, comprenden mal las
capacidades y limitaciones de su
ambiente de computación, no
entienden todo el dominio del
problema, tienen problemas para
comunicar las necesidades al
ingeniero de sistemas, omiten
información que creen que es
“obvia”, especifican requerimientos
que están en conflicto con las
necesidades de otros clientes o
usuarios, o solicitan requerimientos
ambiguos o que no pueden
someterse a prueba.
Problemas de volatilidad: Los
requerimientos cambian con el
tiempo (Pressman, 2010).
Entonces, para recabar
información suficiente para el
desarrollo del software se busca las
alternativas y las posibles soluciones
para luego discutir con el cliente,
para esto es necesario indagar
profundamente sobre la
problemática o tema.
c) Especificación
“La Especificación es un
documento que define, de forma
completa, precisa y verificable, los
requisitos, el diseño y el
6. 6
comportamiento u otras
características, de un sistema o
componente de un sistema” (Gómez,
2011, p. 21).
Cabe recalcar, que es muy
importante esta fase porque para
realizar bien el desarrollo de
software es esencial tener una
especificación completa de los
requerimientos donde se detalle
todos los aspectos técnicos y el
alcance del programa que se va a
elaborar a través de un documento
escrito.
d) Elaboración
La información obtenida del
cliente durante la concepción e
indagación se expande y refina
durante la elaboración. Esta tarea
se centra en desarrollar un
modelo refinado de los
requerimientos que identifique
distintos aspectos de la función
del software, su comportamiento
e información (Pressman, 2010,
p. 103).
En resumen, en esta etapa se
elabora un modelo técnico o un
prototipo que sirven para entender la
dificultad y aclarar los requerimientos
del ingeniero incluso puede ser
usado para facilitar la evaluación de
alternativas de implementación de
un sistema. Es decir, con la
elaboración del prototipo se puede
entender mejor la información para la
construcción del software.
e) Negociación
“Las mejores negociaciones
buscan un resultado “ganar-ganar”.
Es decir, los participantes ganan
porque obtienen el sistema o
producto que satisface la mayoría de
sus necesidades y usted gana
porque trabaja con presupuestos y
plazos realistas y asequibles”
(Pressman, 2010, p. 121).
Así mismo, es una comunicación
de doble vía que permite que ambas
partes ganen durante la negociación
y por lo general los resultados ganar-
ganar son los más estables durante
las negociaciones debido que el
cliente y el ingeniero están felices
por los resultados obtenidos.
7. 7
f) Validación
La validación de requerimientos
sirve para demostrar que éstos
realmente definen el sistema que
el cliente desea. Asegura que los
requerimientos están completos,
son exactos y consistentes. Debe
garantizar que lo descrito es lo
que el cliente pretende ver en el
producto final. Esta validación es
importante porque la detección
de errores durante el proceso de
análisis de requerimientos
reduce mucho los costos
(Gómez, 2011, p. 16).
De la misma forma, otro autores
indican que el mecanismo principal
de la validación es la revisión técnica
para asegurar que los
requerimientos satisfagan las
necesidades del cliente porque si se
llega a detectar un error en el
sistema hecho, los costos serían
muy altos, ya que significa volver a
cambiar el diseño, modificar la
implementación del software y
probarlo nuevamente.
g) Administración
“Es el conjunto de actividades
que ayudan al equipo del proyecto a
identificar, controlar y dar
seguimiento a los requerimientos y a
sus cambios en cualquier momento
del desarrollo del proyecto”
(Cartuche, 17, p. 6).
Dicho de otra manera, la
administración es identificar,
controlar y verificar los cambios en
todos los requerimientos que
aparecen en el documento
especificado acordados con el
cliente que se llevaron a cabo
durante el desarrollo del software.
2.2 Importancia en la ingeniería
de requerimientos
Según la autora Lizka Johany
Herrera en su documento de la
ingeniería de requerimientos, los
principales beneficios que se
obtienen de la Ingeniería de
Requerimientos son:
a) Permite gestionar las
necesidades del proyecto en
forma estructurada.
8. 8
b) Mejora la capacidad de
predecir cronogramas de
proyectos, así como sus
resultado.
c) Disminuye los costos y
retrasos del proyecto.
d) Mejora la calidad del software
e) Mejora la comunicación entre
equipos
f) Evita rechazos de usuarios
finales.
Durante el proceso de la
ingeniería del software, la
comunicación es una etapa
primordial porque viene cogida de la
mano con la Ingeniería de
Requerimientos ya que si no se
realiza un estudio adecuado durante
el desarrollo del software puede
fracasar el proyecto. Entonces, antes
de construir un programa se debe
analizar todos los requerimientos
necesarios para cumplir con las
expectativas del cliente.
9. 9
3. Caso de estudio
Según estudios de la Asociación Colombiana de Ingenieros de Sistemas
(ACIS), en la industria del software cerca del 70% de los proyectos no son
exitosos, siendo uno de los principales problemas la ejecución de los procesos
relacionados con la ingeniería de requisitos.
Entre sus causas más frecuentes esta la falta de comprensión de los requisitos
iniciales y la inhabilidad para gestionar los cambios durante el desarrollo del
mismo, factores que, seguramente se podrían evitar al hacer uso de las
buenas prácticas propuestas por la Ingeniería de Requisitos (Pereira, 2016,
pp. 1-3)
Entonces, si se entiende que el fundamento básico de cualquier software
recae sobre su proceso de ingeniería de requisitos. El éxito o fallo del software
depende casi siempre de qué tan bien se hayan capturado, entendido y usado
los requisitos como base para el desarrollo; y que la Ingeniería de Requisitos es
la fase de un proyecto software donde se definen las propiedades y la estructura
del mismo, comprendiendo a la vez el desarrollo y gestión de requisitos, ¿por
qué entonces este proceso tan importante se realiza de manera inadecuada y en
muchos casos incompleta?, la razón a primera vista resulta ser simple: no hay
profesionales especializados.
10. 10
4. Mapa mental
INGENIERIA DE
REQUERIMIENTO
Concepción
Validación
Administración
NegociaciónElaboración
Especificación
Indagación
Ideas
Análisis
Buscar el problema
Seguimiento de
documentación
Buscar diversas fuentes
Profundizar acerca del tema
Encontrar posibles soluciones
Ganar - ganar
Acuerdo mutuo
Realizar un diseño acerca del tema
Realizar un diseño
acerca del tema
Corregir errores
Modificación
Verificación
Detallar
Determinar
Características
11. 11
5. Reactivos
1) Defina con sus propias palabras que es ingeniería de requerimiento.
La ingeniería de requerimientos establece una base sólida para el diseño
y la construcción. Sin ésta, el software resultante tiene alta probabilidad
de no satisfacer las necesidades del cliente.
2) Encierre la respuesta correcta.
Los pasos para realizar Ingeniería de Requerimiento son:
a) Organización, Proyección, Evaluación, Concepción, Validación,
Especificación
b) Indagación, Concepción, Evaluación, Elaboración, Especificación,
Proyección
c) Concepción, Indagación, Elaboración, Negociación,
Especificación, Validación y Administración.
d) Ninguna de las anteriores
3) Seleccione y complete el siguiente enunciado.
Comunicación Colaboración Entendimiento
En la concepción del proyecto, se establece el entendimiento básico del
problema, las personas que quieren una solución, la naturaleza de la
solución que se desea, así como la eficacia de la comunicación y
colaboración preliminares entre los otros participantes y el equipo de
software.
4) Escriba V si es verdadero o F si es falso.
Los problemas que se encuentran cuando ocurre la indagación son:
Problemas de alcance V
Problemas de entendimiento V
Problemas de Volatilidad V
12. 12
5) Seleccione la respuesta correcta.
Se definen los atributos de cada clase de análisis y se identifican los
servicios que requiere cada una de ellas. Se identifican las relaciones y
colaboración entre clases, y se producen varios diagramas adicionales.
a) Negociación
b) Elaboración
c) Indagación
d) Ninguna de las anteriores
6) ¿Qué es la negociación en los sistemas de requerimiento?
Es cuando se pide a clientes, usuarios y otros participantes que ordenen
sus ideas según su prioridad y que después analicen los conflictos,
algunos requerimientos se eliminan, se combinan o se modifican de modo
que cada parte logre cierto grado de satisfacción.
7) Escriba V si es verdadero o F si es falso.
La calidad de los productos del trabajo que se generan como
consecuencia de la ingeniería de los requerimientos se evalúa
durante el paso de validación
V
La validación es un documento escrito que tiene como propósito
satisfacer al programador.
F
La validación es buscar profundamente una idea para una
posible solución
F
8) Seleccione la respuesta correcta.
Puede ser un documento escrito, un conjunto de modelos gráficos, un
modelo matemático formal, un conjunto de escenarios de uso, un
prototipo o cualquier combinación de éstos.
a) Especificación
b) Concepción
c) Negociación
d) Ninguna de las
anteriores
13. 13
9) Seleccione y complete el siguiente enunciado.
Especificación Utilizarse Requerimiento
Para una especificación debe desarrollarse y utilizarse una “plantilla
estándar”, con el argumento de que esto conduce a requerimientos
presentados en forma consistente y por ello más comprensible. Sin
embargo, en ocasiones es necesario ser flexible cuando se desarrolla una
especificación.
10) Unir con líneas la respuesta correcta.
La Administración de
los requerimientos es el
conjunto de actividades
que ayudan al equipo
del proyecto a:
a) Identificar
b) controlar
c) seguimiento
d) corregir
14. 14
6. Bibliografía
Cartuche, A. (17, Mayo 21). Instituto Tecnológico Superior "Bolívar Madero
Vargas". Retrieved from Ingeniería Software II:
http://instbolivarmadero.org/onewebmedia/INGENIERIA%20DE%20SOF
TWARE%20II%20RESUMEN.pdf
Gil, G. (2002). UniversidadNacional dela Plata. Retrieved from Herramienta para
implementar LEL y escenarios (TILS):
http://sedici.unlp.edu.ar/bitstream/handle/10915/4057/2_-
_Ingenier%C3%ADa_de_requerimientos.pdf?sequence=4
Gómez, M. d. (2011). Análisisde requerimientos. México: Universidad Autónoma
Metropolitana. Retrieved from
http://www.cua.uam.mx/pdfs/conoce/libroselec/Notas_Analisis_Requerim
iento.pdf
Pereira, J. (2016). Ingeniería de Requisitos. Scielo, 1-3. Retrieved from
http://www.scielo.org.co/scielo.php?script=sci_arttext&pid=S1909-
83672016000200016
Pressman, R. (2010). Ingeniería de software: Un enfoque práctico. México: S.A.
MCGRAW-HILL / INTERAMERICANA DE ESPAÑA.