Sie sind auf Seite 1von 39

Separata del curso:

INGENIERIA DE
REQUERIMIENTOS
INGENIERIA DE REQUERIMIENTOS

ÍNDICE DE CONTENIDO
PRESENTACIÓN .....................................................................................................................................3
PREFACIO ...............................................................................................................................................4
CONTENIDO TEMÁTICO ........................................................................................................................4
UNIDAD I: LA INGENIERIA DE REQUERIMIENTOS ............................................................................5
1.1. INGENIERIA DE SOFTWARE ......................................................................................................8
1.2. PROCESOS DE LA INGENIERIA DE REQUERIMIENTOS ...................................................... 15
1.3. TECNICAS UTILIZADAS EN LA INGENIERIA DE REQUERIMIENTOS .................................. 20
1.4. ANÁLISIS COMPARATIVO DE LAS TÉCNICAS DE INGENIERÍA DE REQUERIMIENTOS .. 27
1.5. RESUMEN DE LA UNIDAD I ..................................................................................................... 33
1.6. ACTIVIDADES DE AFIANZAMIENTO ....................................................................................... 34
1.7. AUTOEVALUACIÓN .................................................................................................................. 36
FUENTES DE INFORMACIÓN ............................................................................................................. 37
GLOSARIO ........................................................................................................................................... 38
RESPUESTAS AUTOEVALUACION ................................................................................................... 39

2
LUIS RIVAS (2019)
INGENIERIA DE REQUERIMIENTOS

PRESENTACIÓN

Los Sistemas de Computo son diseñados para optimizar la gestión de los


procesos requeridos por la actividad humana, los cuales pueden formar
parte del funcionamiento de alguna organización o empresa, por lo que
para el eficiente desarrollo de software se hace necesario el correcto
establecimiento de los requerimientos del mismo, esto abre grandes
posibilidades laborales al Ingeniero de Sistemas y más aun en esta la
denominada “era de la información”.

Es por ello que este curso propone aplicar técnicas, procedimientos y


métodos de la ingeniería de requerimientos para un sistema
intensivo en software. Teniendo en cuenta que para aplicar técnicas,
procedimientos y métodos de la ingeniería de requerimientos en un
sistema intensivo de software, es necesario conocer y comprender los
múltiples aspectos relacionados con estas:

Pretendiéndose, entonces desarrollar a lo largo de este curso las


siguientes competencias:
 Identifican y analizan la ingeniería de requerimientos para solucionar
problemas del mundo real.
 Identifican el flujo de trabajo de los procesos de la ingeniería de
Requerimientos.
 Aplican la metodología UML a la ingeniería de Requerimientos.
 Aplican protocolos de escritura, validación y administración de
Requerimientos.

3
LUIS RIVAS (2019)
INGENIERIA DE REQUERIMIENTOS

PREFACIO

La creación del software es un proceso intrínsecamente creativo y la ingeniería


del software trata de sistematizar este proceso con el fin de acotar el riesgo de
fracaso en la consecución del objetivo, por medio de diversas técnicas que se
han demostrado adecuadas sobre la base de la experiencia previa, entre las
que destaca la correcta y detallada determinación de los requerimientos.

CONTENIDO TEMÁTICO

UNIDADES DE APRENDIZAJE

I II III IV

LA INGENIERIA DE FLUJO DE TRABAJO MODELOS PROTOCOLOS DE


REQUERIMIENTOS DE LOS PROCESOS INTERACTIVOS Y ESCRITURA Y
DE LA INGENIERÍA UTILIZACIÓN DE LA VALIDACIÓN
DE METODOLOGÍA UML
REQUERIMIENTOS A LA INGENIERÍA DE
REQUERIMIENTOS
Condiciones para la Clasificación de los Enfoques y estándares
Ingeniería de software. gestión de ingeniería roles de la ingeniería de escritura de
de requerimientos de requerimientos. requerimientos
Aplicación de los
Procesos de la Modelo de cascada.
requerimientos
ingeniería de Modelo Interactivo Criterios de calidad
funcionales y no
requerimientos. incremental
funcionales
Técnicas utilizadas en
Ingeniería de Modeloevolutivo. Administración de
la ingeniería de
requerimientos. Modeloespiral. Requerimientos
requerimientos.
Aplicación de la
Análisis comparativo
metodología UML
de las técnicas de La administración de Validación de
orientada a la
ingeniería de requerimientos. requerimientos
ingeniería de
requerimientos.
requerimientos.

4
LUIS RIVAS (2019)
INGENIERIA DE REQUERIMIENTOS

UNIDAD I: LA INGENIERIA
DE REQUERIMIENTOS
COMPETENCIA

Identificar y analizar la ingeniería de


requerimientos para solucionar problemas
del mundo real

5
LUIS RIVAS (2019)
INGENIERIA DE REQUERIMIENTOS

INTRODUCCION

Un desarrollo de software trata de satisfacer determinadas necesidades


identificadas y/o cumplir ciertos objetivos definidos. Esa satisfacción implica
para el usuario un costo a lo largo del ciclo de vida del sistema. Una parte
importante de dicho costo, está relacionada con las decisiones tomadas
durante las primeras etapas del diseño del sistema, las cuales se refieren
entre otros a requisitos operativos, configuración del diseño, factores de
utilización. Tales decisiones forman parte del diseño detallado de los
requerimientos del sistema. El análisis de requisitos, análisis funcional y
asignación de requisitos, etc., son iterativos por naturaleza, yendo de la
identificación de una necesidad hasta la definición del sistema en términos
funcionales.

A través de los años 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
planeación, básicamente en lo que se refiere a las estimaciones de tiempos
y costos, así como la definición de recursos necesarios y la elaboración de
cronogramas que será uno de los principales mecanismos de control con los
que se contará durante la etapa de desarrollo. Además la especificación 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 yes contra lo que
se va a estar verificando si se están cumpliendo las metas trazadas.

6
LUIS RIVAS (2019)
INGENIERIA DE REQUERIMIENTOS

Es muy frecuente escuchar entre los conocedores del desarrollo de software


(programas de computadoras), que un gran número de los proyectos de
software fracasan por no realizar una adecuada definición, especificación, y
administración de los requerimientos. Dentro de esa mala administración se
pueden encontrar factores como la falta de participación del usuario,
requerimientos incompletos y el mal manejo del cambio a los requerimientos.

La ingeniería de software es la aplicación de un enfoque sistemático,


disciplinado y cuantificable al desarrollo, operación y mantenimiento de
software, y el estudio de estos enfoques, es decir, el estudio de las aplicaciones
de la ingeniería al software. Integra matemáticas, ciencias de la computación y
prácticas cuyos orígenes se encuentran en la ingeniería

La Ingeniería de Requerimientos (IR) cumple un papel primordial en el proceso


de producción de software, ya que se enfoca un área fundamental: la definición
de lo que se desea producir. Su principal tarea consiste en la generación de
especificaciones correctas que describan con claridad, sin ambigüedades, en
forma consistente y compacta, las necesidades de los usuarios o clientes; de
esta manera, se pretende minimizar los problemas relacionados por la mala
gestión de los requerimientos en el desarrollo de sistemas.

La captura, análisis y especificación de requisitos (incluso pruebas de ellos), es


una parte crucial; de esta etapa depende en gran medida el logro de los
objetivos finales. Se han ideado modelos y diversos procesos metódicos de
trabajo para estos fines. Es de allí de donde surge la ingeniería de
requerimientos.

7
LUIS RIVAS (2019)
INGENIERIA DE REQUERIMIENTOS

UNIDAD I – TEMA I
1.1. INGENIERIA DE SOFTWARE

Definición:
La ingeniería de software (IS) se puede considerar como la
ingeniería aplicada al software, esto es, por medios sistematizados
y con herramientas preestablecidas, la aplicación de ellos de la
manera más eficiente para la obtención de resultados óptimos;
objetivos que siempre busca la ingeniería. No es solo de la
resolución de problemas, sino más bien teniendo en cuenta las
diferentes soluciones, elegir la más apropiada

La producción de software utiliza criterios y normas de la


ingeniería de software, lo que permite transformarlo en un
producto industrial usando bases de la ingeniería como
métodos, técnicas y herramientas para desarrollar un producto
innovador regido por metodologías y las buenas prácticas.
Dicho producto es un medio que interviene en las funciones de
sus usuarios para obtener un proceso productivo más eficaz y
eficiente; hoy en día las empresas no podrían funcionar sin
software porque este es un producto de uso masivo; por lo
cual, el nivel de una empresa está determinado por la calidad
de su infraestructura tecnológica y los productos desarrollados
o adquiridos de acuerdo a sus necesidades

OBJETIVOS DE LA INGENIERIA DE SOFTWARE


• Mejorar el diseño de aplicaciones o software de tal modo que se
adapten de mejor manera a las necesidades de las
organizaciones o finalidades para las cuales fueron creadas.
• Promover mayor calidad al desarrollar aplicaciones complejas.
• Brindar mayor exactitud en los costos de proyectos y tiempo de
desarrollo de los mismos.
• Aumentar la eficiencia de los sistemas al introducir procesos que
permitan medir mediante normas específicas, la calidad del
software desarrollado, buscando siempre la mejor calidad posible
según las necesidades y resultados que se quieren generar.
• Una mejor organización de equipos de trabajo, en el área de
desarrollo y mantenimiento de software.
• Detectar a través de pruebas, posibles mejoras para un mejor
funcionamiento del software desarrollado

8
LUIS RIVAS (2019)
INGENIERIA DE REQUERIMIENTOS

RECURSOS USADOS POR LA INGENIERIA DEL SOFTWARE

 RECURSOS HUMANOS: Son todas aquellas personas que intervienen en la


planificación de cualquier instancias de software (por ejemplo: gestor, ingeniero
de software experimentado, etc.), El número de personas requerido para un
proyecto de software solo puede ser determinado después de hacer una
estimación del esfuerzo de desarrollo...
 RECURSOS DE ENTORNO: Es el entorno de las aplicaciones (software y
hardware); el hardware proporciona el medio físico para desarrollar las
aplicaciones (software), este recurso es indispensable

IMPLICACIONES SOCIOECONOMICAS

 ECONÓMICAMENTE: Alrededor del globo, el software contribuye de manera


importante al crecimiento económico, aunque es difícil de encontrar estadísticas
fiables. Además, con la industria del software está hallando cada vez más
campos de aplicación a escala global.
 SOCIALMENTE: La ingeniería de software cambia la cultura del mundo debido al
extendido uso de la computadora. El correo electrónico (e-mail), la WWW y la
mensajería instantánea permiten a la gente interactuar de nuevas maneras. El
software baja el costo y mejora la calidad de los servicios de salud, los
departamentos de bomberos, las dependencias gubernamentales y otros
servicios sociales. Los proyectos exitosos donde se han usado métodos de
ingeniería de software incluyen a GNU/Linux, el software del transbordador
espacial, los cajeros automáticos y muchos otros. Las redes sociales, banca
electrónica.
ETAPAS DE LA INGENIERIA DE SOFTWARE

La ingeniería de software requiere llevar a cabo numerosas tareas agrupadas en


etapas, al conjunto de estas etapas se le denomina ciclo de vida del software. Las
dos primeras etapas comunes a casi todos los modelos de ciclo de vida del software:

1. OBTENCIÓN DE LOS REQUISITOS

Se debe identificar sobre qué se está trabajando, es decir, el tema principal que
motiva el inicio del estudio y creación del nuevo software o modificación de uno ya
existente. A su vez identificar los recursos que se tienen, en esto entra el conocer los
recursos humanos y materiales que participan en el desarrollo de las actividades. Es
importante entender el contexto del negocio para identificar adecuadamente los
requisitos.
Se tiene que tener dominio de la información de un problema, lo cual incluye los
datos fuera del software (usuarios finales, otros sistemas o dispositivos externos), los
datos que salen del sistema (por la interfaz de usuario, interfaces de red, reportes,
gráficas y otros medios) y los almacenamientos de datos que recaban y organizan

9
LUIS RIVAS (2019)
INGENIERIA DE REQUERIMIENTOS

objetos persistentes de datos (por ejemplo, aquellos que se conservan de manera


permanente).
También hay que ver los puntos críticos, lo que significa tener de una manera clara
los aspectos que entorpecen y limitan el buen funcionamiento de los procedimientos
actuales, los problemas más comunes y relevantes que se presentan, los motivos
que crean insatisfacción y aquellos que deben ser cubiertos a plenitud. Por ejemplo:
¿El contenido de los reportes generados, satisface realmente las necesidades del
usuario? ¿Los tiempos de respuesta ofrecidos, son oportunos?, etc.
Hay que definir las funciones que realizará el software ya que estas ayudan al
usuario final y al funcionamiento del mismo programa.
Se tiene que tener en cuenta cómo será el comportamiento del software ante
situaciones inesperadas como lo son por ejemplo una gran cantidad de usuarios
usando el software o una gran cantidad de datos entre otros

2. ANÁLISIS DE REQUISITOS

Extraer los requisitos de un producto software es la primera etapa para crearlo.


Durante la fase de análisis, el cliente plantea las necesidades que se presenta e
intenta explicar lo que debería hacer el software o producto final para satisfacer
dicha necesidad mientras que el desarrollador actúa como interrogador, como la
persona que resuelve problemas. Con este análisis, el ingeniero de sistemas puede
elegir la función que debe realizar el software y establecer o indicar cuál es la
interfaz más adecuada para el mismo.
El análisis de requisitos puede parecer una tarea sencilla, pero no lo es debido a que
muchas veces los clientes piensan que saben todo lo que el software necesita para
su buen funcionamiento, sin embargo se requiere la habilidad y experiencia de algún
especialista para reconocer requisitos incompletos, ambiguos o contradictorios.
Estos requisitos se determinan tomando en cuenta las necesidades del usuario final,
introduciendo técnicas que nos permitan mejorar la calidad de los sistemas sobre los
que se trabaja.

El resultado del análisis de requisitos con el cliente se plasma en el documento


ERS (especificación de requisitos del sistema), cuya estructura puede venir
definida por varios estándares, tales como CMMI. Asimismo, se define un diagrama
de entidad/relación, en el que se plasman las principales entidades que participarán
en el desarrollo del software

FINALIDADES DEL ANÁLISIS DE REQUISITOS:

 Brindar al usuario todo lo necesario para que pueda trabajar en conjunto con el
software desarrollado obteniendo los mejores resultados posibles.
 Tener un control más completo en la etapa creación del software, en cuanto a
tiempo de desarrollo y costos.
 Utilización de métodos más eficientes que permitan el mejor aprovechamiento del
software según sea la finalidad de uso del mismo.

10
LUIS RIVAS (2019)
INGENIERIA DE REQUERIMIENTOS

 Aumentar la calidad del software desarrollado al disminuir los riesgos de mal


funcionamiento.

ESPECIFICACIÓN DE REQUISITOS

La especificación de requisitos describe el comportamiento esperado en el software


una vez desarrollado. Gran parte del éxito de un proyecto de software radicará en la
identificación de las necesidades del negocio (definidas por la alta dirección), así
como la interacción con los usuarios funcionales para la recolección, clasificación,
identificación, priorización y especificación de los requisitos del software.

Entre las técnicas utilizadas para la especificación de requisitos se encuentran:


• Casos de uso
• Historias de usuario
Siendo los primeros más rigurosos y formales, los segundos más ágiles e informales

La captura, análisis y especificación de requisitos (incluso pruebas de ellos), es una


parte crucial; de esta etapa depende en gran medida el logro de los objetivos finales.
Se han ideado modelos y diversos procesos metódicos de trabajo para estos fines.
Es de alli de donde surge la ingeniería de requerimientos.

INGENIERÍA DE REQUERIMIENTOS

El proceso de recopilar, analizar y verificar las necesidades del cliente o usuario para
un sistema es llamado ingeniería de requerimientos. La meta de la ingeniería de
requerimientos (IR) es entregar una especificación de requisitos de software correcta
y completa
En síntesis, el proceso de ingeniería de requerimientos se utiliza para definir todas
las actividades involucradas en el descubrimiento, documentación y mantenimiento
de los requerimientos para un producto de software determinado, donde es muy
importante tomar en cuenta que el aporte de la IR vendrá a ayudar a determinar la
viabilidad de llevar a cabo el software (si es factible llevarlo a cabo o no), pasando
posteriormente por un subproceso de obtención y análisis de requerimientos, su
especificación formal, para finalizar con el subproceso de validación donde se
verifica que los requerimientos realmente definen el sistema que quiere el cliente

IMPORTANCIA DE LA INGENIERIA DE REQUERIMIENTOS

 Permite gestionar las necesidades del proyecto en forma estructurada: Cada


actividad de la IR consiste de una serie de pasos organizados y 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 estimación de costos, tiempo y
recursos necesarios.
 Disminuye los costos y retrasos del proyecto: es sabido que reparar errores por
un mal desarrollo no descubierto a tiempo, es sumamente caro; especialmente
11
LUIS RIVAS (2019)
INGENIERIA DE REQUERIMIENTOS

aquellas decisiones tomadas durante la IR, ya que es una de las etapas de


mayor importancia en el ciclo de desarrollo de software y de las primeras en
llevarse a cabo.
 Mejora la calidad del software: La calidad en el software tiene que ver con cumplir
un conjunto de requerimientos (funcionalidad, facilidad de uso, confiabilidad,
desempeño, etc.)
 Mejora la comunicación entre equipos: La especificación de requerimientos
representa una forma de consenso entre clientes y desarrolladores. Si este
consenso no ocurre, el proyecto no será exitoso.
 Evita rechazos de usuarios finales: La ingeniería de requerimientos obliga al
cliente a considerar sus requerimientos cuidadosamente y revisarlos dentro del
marco del problema, por lo que se le involucra durante todo el desarrollo del
proyecto

El siguiente grafico es una forma, muy conocida, de representar el problema de la


determinación de los requerimientos:

12
LUIS RIVAS (2019)
INGENIERIA DE REQUERIMIENTOS

¿QUÉ SON REQUERIMIENTOS?


1. Una condición o necesidad de un usuario para resolver
un problema o alcanzar un objetivo.
2. Una condición o capacidad que debe estar presente en
un sistema o componentes de sistema para satisfacer un
contrato, estándar, especificación u otro documento
formal
3. “Un requerimiento es simplemente una declaración
abstracta de alto nivel de un servicio que debe
proporcionar el sistema o una restricción de éste”.
Analizando las definiciones anteriores, un requerimiento es
una descripción de una condición o capacidad que debe
cumplir un sistema, ya sea derivada de una necesidad de
usuario identificada, o bien, estipulada en un contrato,
estándar, especificación u otro documento formalmente
impuesto al inicio del proceso.

TIPOS DE REQUERIMIENTOS

1. LOS REQUERIMIENTOS FUNCIONALES: son los que definen las funciones que el
sistema será capaz de realizar, describen las transformaciones que el sistema
realiza sobre las entradas para producir salidas. Es importante que se describa el
¿Qué? y no el ¿Cómo? se deben hacer esas transformaciones. Estos requerimientos
al tiempo que avanza el proyecto de software se convierten en los algoritmos, la
lógica y gran parte del código del sistema.

2. LOS REQUERIMIENTOS NO FUNCIONALES: tienen que ver con características que


de una u otra forma puedan limitar el sistema, como por ejemplo, el rendimiento
(en tiempo y espacio), interfaces de usuario, fiabilidad (robustez del sistema,
disponibilidad de equipo), mantenimiento, seguridad, portabilidad, estándares, etc

13
LUIS RIVAS (2019)
INGENIERIA DE REQUERIMIENTOS

CARACTERISTICAS DE UN
REQUERIMIENTO
1. ESPECIFICADO POR ESCRITO: Como
todo contrato o acuerdo entre dos partes.
2. POSIBLE DE PROBAR O VERIFICAR. Si
un requerimiento no se puede comprobar,
entonces ¿cómo se sabe si se cumplió con
él o no?
3. CONCISO: Un requerimiento es conciso si
es fácil de leer y entender. Su redacción
debe ser simple y clara para aquellos que
vayan a consultarlo en un futuro.
4. COMPLETO: Un requerimiento está
completo si no necesita ampliar detalles en
su redacción, es decir, si se proporciona la
información suficiente para su comprensión.
5. CONSISTENTE: Un requerimiento es
consistente si no es contradictorio con otro
requerimiento.
6. NO AMBIGUO: Un requerimiento no es
ambiguo cuando tiene una sola
interpretación. El lenguaje usado en su
definición, no debe causar confusiones al
lector

DIFICULTADES PARA DEFINIR REQUERIMIENTOS


 Los requerimientos no son obvios y vienen de muchas fuentes.
 Son difíciles de expresar en palabras (el lenguaje es ambiguo).
 La cantidad de requerimientos en un proyecto puede ser difícil de manejar.
 Un requerimiento puede cambiar a lo largo del ciclo de desarrollo.
 El usuario no puede explicar lo que hace
 Tiende a recordar lo excepcional y olvidar lo rutinario
 Hablan de lo que no funciona
 Los usuarios tienen distinto vocabulario que los desarrolladores

14
LUIS RIVAS (2019)
INGENIERIA DE REQUERIMIENTOS

UNIDAD I – TEMA II
1.2. PROCESOS DE LA INGENIERIA DE
REQUERIMIENTOS
Definición:

La ingeniería de requerimientos es un proceso que comprende


todas las actividades para crear y mantener los requerimientos de
un sistema. Comprende cuatro actividades de alto nivel:
1) Estudio de factibilidad
2) Obtención y análisis de requerimientos
3) Validación de requerimientos
4) Administración de requerimientos

1) ESTUDIO DE FACTIBILIDAD
Es a corto plazo y orientado a resolver si el sistema:
 Contribuye a los objetivos de la organización.
 Se puede implementar con tecnología actual dentro de
costo y tiempo.
 Puede integrarse a otros existentes en la organización

2) OBTENCION Y ANALISIS DE REQUERIMIENTOS


Es un Proceso difícil porque generalmente:
 Los interesados a menudo sólo conocen lo que desean en
términos muy generales.
 Los interesados expresan los requerimientos con sus propios
términos y con un conocimiento implícito de su propio trabajo.
 Diferente interesados tienen requerimientos distintos y los
expresan de varias formas.
 Influencia de factores políticos.
 El entorno es dinámico, la importancia de los requerimientos
pueden cambiar, nuevos requerimientos pueden surgir.

ACTIVIDADES DEL PROCESO DE OBTENCIÓN Y ANÁLISIS DE


REQUERIMIENTOS
 Comprensión del dominio
 Recolección de requerimientos
 Clasificación
 Resolución de conflictos
 Priorización
 Verificación (completos, consistente y acordes)
Este Proceso es iterativo con retroalimentación continua de cada
actividad a las otras

15
LUIS RIVAS (2019)
INGENIERIA DE REQUERIMIENTOS

3) VALIDACION DE REQUERIMIENTOS
Similar al análisis pero comprende un bosquejo completo del
documento en lugar de requerimientos incompletos. Es muy
Importante pues los errores en los requerimientos pueden
conducir a costos excesivos si se descubren durante el
desarrollo o después de la implantación. Es difícil demostrar
que un conjunto de requerimientos cumple con las necesidades
del usuario. Se pueden llevar a cabo diferentes tipos de
verificación:
 Verificación de validez
 Verificación de consistencia
 Verificación de integridad
 Verificación de realismo
 Verificabilidad

4) ADMINISTRACION DE LOS REQUERIMIENTOS


 Los requerimientos de sistemas grandes son siempre cambiantes.
 Los sistemas grandes usualmente se desarollan para mejorar el status quo
 Surgirán nuevos requerimientos debido a:
 Comunidad de usuarios diversa. Los requerimientos finales son comunmente un
término medio.
 Quien paga es raramente quien usa el sistema.
 Entorno de negocios y técnico cambiante
La administración de requerimientos es el proceso de comprender y controlar los cambios
en los requerimientos.
La planeación comienza al mismo tiempo que la obtención inicial de requerimientos.
La administración activa debe iniciar tan pronto esté lista la primera versión del
documento de requerimientos.

16
LUIS RIVAS (2019)
INGENIERIA DE REQUERIMIENTOS

PROCESAMIENTO DE LOS REQUERIMIENTOS

17
LUIS RIVAS (2019)
INGENIERIA DE REQUERIMIENTOS

COMUNICACIÓN COMPLEJA

En un proyecto de desarrollo de software las medidas del éxito suelen ser aparentemente
muy simples: lograr la satisfacción del cliente, finalizando el proyecto a tiempo, con el
alcance definido y dentro del presupuesto inicialmente previsto; sin embargo los problemas
a los que se enfrenta el responsable del proyecto cuando intenta cumplir con todos estos
requerimientos es bastante complejo, es por esto que se requiere de un conjunto de
soluciones que contribuyan a la consecución de los objetivos del proyecto con el fin de
permitir a la organización progresar tecnológicamente, sin que se convierta en dependiente
de las herramientas y de las modificaciones que deben hacerse en ellas. En este escenario,
la Ingeniería de requerimientos juega un papel relevante pues ayuda, a los responsables del
proyecto a entender mejor el problema en cuya solución trabajarán y a utilizar herramientas
que les permitan disminuir los riesgos y los sobrecostos en el proceso de desarrollo. En
cuanto al tratamiento de los requerimientos, los analistas usan diferentes técnicas
(entrevistas, prototipos, observación, estudio de documentación, cuestionario, escenarios,
etc.) para recolectar, separar y clasificar los requerimientos. Los criterios usados para la
aplicación de estas técnicas son diversos y dependen en gran medida de la experiencia del
analista.
La comunicación entre las personas es compleja, cuando se trata de requerimientos para
sistemas o productos software. Para poder evitar estos inconvenientes hay que hallar
mecanismos o herramientas que permitan que la comunicación establecida entre el cliente y
el profesional de sistemas sea efectiva y convierta lo emitido por el cliente y/o usuario en
información fiable.

18
LUIS RIVAS (2019)
INGENIERIA DE REQUERIMIENTOS

IMPORTANTE:
El proceso de IR incluye un estudio de factibilidad y la obtención,
análisis, validación y administración de requerimientos.
El análisis de requerimientos es un proceso iterativo que incluye la
comprensión del dominio y la recolección, clasificación, resolución
de conflictos, priorización y verificación de requerimientos.
Los diferentes interesados del sistema tienen requerimientos
diferentes. Por lo tanto los sistemas complejos deben analizarse
desde diferentes puntos de vista.
Los factores sociales y organizacionales tienen influencia sobre los
requerimientos y pueden determinar si el software es utilizado o no
La validación de requerimientos es el proceso de verificarlos en
cuanto a validez, consistencia, integridad, realismo y certidumbre.
Las principales técnicas de validación son las revisiones y el
prototipeo.
Los cambios en los negocios, organizacionales y técnicos cambian
los requerimientos. La administración de requerimientos es el
proceso de gestionar y controlar los cambios.
La administración de requerimientos incluye la gestión de la
planeación, en la cual se especifican las políticas y procedimientos
para la administración de los requerimientos, y la del cambio, en la
que se analizan los cambios y se evalúa su impacto. Los factores
sociales y organizacionales tienen influencia sobre los
requerimientos y pueden determinar si el software es utilizado o no

RECUERDA QUE:

Los requerimientos son una especificación de lo que debe ser implementado. Estos
son descripciones de cómo el sistema se debe comportar, de las propiedades y
atributos del mismo. Deben ser una restricción del proceso de desarrollo del sistema

19
LUIS RIVAS (2019)
INGENIERIA DE REQUERIMIENTOS

UNIDAD I – TEMA III


1.3. TECNICAS UTILIZADAS EN LA INGENIERIA DE
REQUERIMIENTOS

Existen varias técnicas para la IR, sin embargo, se van a estudiar


sólo algunas de ellas. Cada técnica puede aplicarse en una o más
actividades de la IR; en la práctica, la técnica más apropiada para
cada actividad dependerá del proyecto que esté desarrollándose.

TECNICAS DE USO FRECUENTE

 ENTREVISTAS Y CUESTIONARIOS: Se usan para reunir


información proveniente de personas o grupos: durante la
entrevista el analista conversa directamente con el individuo o
grupo, el cuestionario consiste en un formato con una serie de
preguntas relacionadas con el sistema
 LLUVIA DE IDEAS: Busca básicamente que los involucrados en
un proyecto desarrollen su creatividad
 ANALISIS JERARQUICO: Tiene por objetivo resolver problemas
cuantitativos. Facilitando el pensamiento analítico y las métricas

CASOS DE USO:

Es una secuencia de interacciones entre un sistema y alguien o algo


que usa sus servicios
La importancia del caso de uso es que un caso de uso redacta todas
las funciones básicas o compuestas del sistema desde el punto de
vista de los usuarios internos y externos de manera que estos
usuarios puedan entenderlos, los casos de uso describen el
comportamiento de los usuarios por lo tanto es de vital importancia
que al momento de crearlos el usuario final debe revisar y aceptar el
caso de uso.

20
LUIS RIVAS (2019)
INGENIERIA DE REQUERIMIENTOS

TECNICAS Y HERRAMIENTAS DE LA INGENIERIA DE REQUERIMIENTOS

1) Entrevistas y Cuestionarios: Las entrevistas y cuestionarios se emplean para reunir


información proveniente de personas o de grupos. Durante la entrevista, el analista
conversa con el encuestado; el cuestionario consiste en una serie de preguntas
relacionadas con varios aspectos de un sistema. Por lo común, los encuestados son
usuarios de los sistemas existentes o usuarios en potencia del sistema propuesto. En
algunos casos, son gerentes o empleados que proporcionan datos para el sistema
propuesto o que serán afectados por él. Las preguntas que deben realizarse en esta
técnica, deben ser preguntas de alto nivel y abstractas que pueden realizarse al inicio del
proyecto para obtener información sobre aspectos globales del problema del usuario y
soluciones potenciales.
a) Dentro de una organización, la entrevista es la técnica más significativa y productiva
de que dispone el analista para recolectar datos. En otras palabras, la entrevista es
un intercambio de información que se efectúa cara a cara. Es un canal de
comunicación entre el analista y la organización; sirve para obtener información
acerca de las necesidades y la manera de satisfacerlas, así como consejo y
comprensión por parte del usuario para toda idea o método nuevos. Por otra parte, la
entrevista ofrece al analista una excelente oportunidad para establecer una corriente
de simpatía con el personal usuario, lo cual es fundamental en transcurso del
estudio.
b) Preparación de la Entrevista.
i) Determinar la posición en la organización del futuro entrevistado,
responsabilidades, actividades, etc. (Investigación).
ii) Preparar las preguntas que van a plantearse, y los documentos necesarios
(Organización).
iii) Fijar un límite de tiempo y preparar la agenda para la entrevista. (Psicología).
iv) Elegir un lugar donde se puede conducir la entrevista con la mayor comodidad
(Psicología).
v) Hacer la cita con la debida anticipación (Planeación).
c) Conducción de la Entrevista.
i) Explicar con toda amplitud el propósito y alcance del estudio (Honestidad).
ii) Explicar la función propietaria como analista y la función que se espera conferir al
entrevistado. (Imparcialidad).
iii) Hacer preguntas específicas para obtener respuestas cuantitativas (Hechos).
iv) Evitar las preguntas que exijan opiniones interesadas, subjetividad y actitudes
similares (Habilidad).
v) Evitar el cuchicheo y las frases carentes de sentido (Claridad).
vi) Ser cortés, absteniéndose de emitir juicios de valores. (Objetividad).
vii) Conservar el control de la entrevista, evitando divagaciones y los comentarios al
margen de la cuestión (Habilidad).
viii) Escuchar atentamente lo que se dice, guardándose de anticiparse a las
respuestas (Comunicación).
d) Secuela de la Entrevista.
i) Escribir los resultados (Documentación).
ii) Entregar una copia al entrevistado, solicitando su conformación, correcciones o
adiciones. (Profesionalismo).
iii) Archivar los resultados de la entrevista para referencia y análisis posteriores
(Documentación).
e) Recolectar datos mediante la Entrevista. La entrevista es una forma de
conversación, no de interrogación, al analizar las características de los sistemas con
personal seleccionado cuidadosamente por sus conocimientos sobre el sistema, los
analistas pueden conocer datos que no están disponibles en ningún otra forma. En
las investigaciones de sistema, las formas cualitativas y cuantitativas de la
información son importantes. La información cualitativa está relacionada con opinión,
política y descripciones narrativas de actividades o problemas, mientras que las
descripciones cuantitativas tratan con números frecuencia, o cantidades. A menudo

21
LUIS RIVAS (2019)
INGENIERIA DE REQUERIMIENTOS

las entrevistas pueden ser la mejor fuente de información cualitativa, los otros
métodos tiende a ser más útiles en la recolección de datos cuantitativos. Son
valiosas las opiniones, comentarios, ideas o sugerencia en relación a cómo se podría
hacer el trabajo; la entrevista a veces es la mejor forma para conocer las actividades
de las empresas. La entrevista puede descubrir rápidamente malos entendidos, falsa
expectativa o incluso resistencia potencial para las aplicaciones de desarrollo; más
aún, a menudo es más fácil calendarizar una entrevista con los gerentes de alto
nivel, que pedirle que llenen un cuestionario.
f) Determinación del tipo de Entrevista. La estructura de la entrevista varía. Si el
objetivo de la entrevista radica en adquirir información general, es conveniente
elaborar una serie de preguntas sin estructura, con una sesión de preguntas y
respuestas libres. El formato de respuestas para las preguntas pueden ser abierto o
cerrado; las preguntas abiertas permiten a los entrevistados dar cualquier respuesta
que parezca apropiada. Pueden contestar por completo con sus propias palabras.
Los analistas también deben dividir el tiempo entre desarrollar preguntas para
entrevistas y analizar respuestas. Con frecuencia, se utilizan preguntas abiertas
para descubrir sentimientos, opiniones y experiencias generales, o para explorar un
proceso o problema. Este tipo de preguntas son siempre apropiadas, además que
ayudan a entender la perspectiva del afectado y no están influenciadas por el
conocimiento de la solución. Las preguntas pueden ser enfocadas a un elemento del
sistema, tales como usuarios, procesos, etc. El siguiente ejemplo muestra algunos
tipos de preguntas abiertas.

El éxito de esta técnica combinada, depende de la habilidad del entrevistador y de su


preparación para la misma. Los analistas necesitan ser sensibles las dificultades que
algunos entrevistados crean durante la entrevista y saber cómo tratar con problemas
potenciales. Asimismo, necesitan considerar no sólo la información que adquieren a través
del cuestionario y la entrevista, sino también, su significancia.

g) Selección de Entrevistados. Realizar entrevistas toma tiempo; por lo tanto no es


posible utilizar este método para recopilar toda la información que se necesite en la
investigación. La entrevista se aplica en los niveles gerenciales y de empleados que
puedan proporcionar la mayor parte de la información útil para el estudio los
analistas.
h) Realización de Entrevista. La habilidad del entrevistador es vital para el éxito en la
búsqueda de hecho por medio de la entrevista. Las buenas entrevistas dependen del
conocimiento del analista tanto de la preparación del objetivo de una entrevista
específica como de las preguntas por realizar a una persona determinada. El tacto, la
imparcialidad e incluso la vestimenta apropiada ayudan a asegurar una entrevista
exitosa. La falta de estos factores puede reducir cualquier oportunidad de éxito. A
través de la entrevista, los analistas deben aplicarse a sí mismos las siguientes
preguntas:
 ¿Qué es lo que me está diciendo la persona?
 ¿Por qué me lo está diciendo a mí?
 ¿Qué está olvidando?
 ¿Qué espera esta persona que haga yo?

22
LUIS RIVAS (2019)
INGENIERIA DE REQUERIMIENTOS

2) Lluvia de ideas.
a) Principios
i) Aplazar el juicio y no realizar críticas, hasta que no agoten las ideas, ya que
actuaría como un inhibidor. Se ha de crear una atmósfera de trabajo en la que
nadie se sienta amenazado.
ii) Cuantas más ideas se sugieren, mejores resultados se conseguirán: "la cantidad
produce la calidad". Las mejores ideas aparecen tarde en el periodo de
producción de ideas, será más fácil que encontremos las soluciones y tendremos
más variedad sobre la que elegir.
iii) La producción de ideas en grupos puede ser más efectiva que la individual.
iv) Tampoco debemos olvidar que durante las sesiones, las ideas de una persona,
serán asociadas de manera distinta por cada miembro, y hará que aparezcan
otras por contacto.
b) Las fases de aplicación:
i) Descubrir hechos. Al menos con un día de antelación, el director comunica por
escrito a los miembros del grupo sobre los temas a tratar. El director explica los
principios de la Tormenta de ideas e insiste en la importancia de tenerlos en
cuenta. La sesión comienza con una ambientación de unos 10 minutos, tratando
un tema sencillo y no comprometido. Es una fase especialmente importante para
los miembros sin experiencia. Se determina el problema, delimitándolo,
precisándolo y clarificándolo. A continuación se plantea el problema, recogiendo
las experiencias que se poseen o consultando documentación. Cuando es
complejo, conviene dividirlo en partes. Aquí es importante la utilización del
análisis, desmenuzando el problema en pequeñas partes para conectar lo nuevo
y lo desconocido.
ii) Producir ideas (es la fase de tormenta de ideas propiamente dicha). Se van
aplicando alternativas. Se busca producir una gran cantidad de ideas, aplicando
los principios que hemos visto. Además, es útil cuando se ha trabajado mucho,
alejarse del problema, pues es un buen momento para que se produzcan
asociaciones. Muchas de las nuevas ideas serán ideas antiguas, mejoradas o
combinadas con varias ya conocidas. Al final de la reunión, el director da las
gracias a los asistentes y les ruega que no abandonen el problema, ya que al día
siguiente se le pedirá una lista de ideas que les puedan haber surgido. Se
incorporan las ideas surgidas después de la reunión.

23
LUIS RIVAS (2019)
INGENIERIA DE REQUERIMIENTOS

iii) Descubrir soluciones. Se elabora una lista definitiva de ideas, para seleccionar
las más interesantes. La selección se realiza desechando las ideas que no
tienen valor y se estudia si son válidas las que se consideran interesantes. Lo
mejor es establecer una lista de criterios de conveniencia para cada idea. Se
seleccionan las ideas más útiles y si es necesario se ponderarán. Pueden
realizarlo los mismos miembros del grupo o crear otros para esta tarea; la
clasificación debe hacerse por categorías (tarea que corresponde al director). Se
presentan las ideas de forma atractiva, haciendo uso de soportes visuales.
3) Observación. Consiste en prestar atención a las personas cuando efectúan su trabajo.
Como técnica, la observación tiene amplia aceptación científica. Los sociólogos,
sicólogos e ingenieros industriales utilizan extensamente ésta técnica con el fin de
estudiar a las personas en sus actividades de grupo y como miembros de la
organización. El propósito es múltiple: permite al analista determinar qué se está
haciendo, cómo se está haciendo, quién lo hace, cuándo se lleva a cabo, cuánto tiempo
toma, dónde se hace y por qué se hace. Observar las operaciones le proporciona al
analista hechos que no podría obtener de otra forma.
a) Tipos de Observación.
i) Primero, puede observar a una persona o actitud sin que el observado se dé
cuenta y su interacción por aparte del propio analista. Quizá esta alternativa
tenga poca importancia para el análisis de sistemas, puesto que resulta casi
imposible reunir las condiciones necesarias.
ii) Segundo, el analista puede observar una operación sin intervenir para nada, pero
estando la persona observada enteramente consciente de la observación.
iii) Por último, puede observar y a la vez estar en contacto con las personas
observadas. La interacción puede consistir simplemente en preguntar respecto a
una tarea específica, pedir una explicación, etc.

24
LUIS RIVAS (2019)
INGENIERIA DE REQUERIMIENTOS

PROTOTIPOS
Permiten al desarrollador crear un modelo del software que debe
ser construido. Al igual que todos los enfoques al proceso de
desarrollo del software, el prototipado comienza con la captura de
requerimientos. Desarrolladores y clientes se reúnen y definen los
objetivos globales del software, identifican todos los
requerimientos que son conocidos, y señalan áreas en las que será
necesaria la profundización en las definiciones. Luego de esto, tiene
lugar un "diseño rápido".
El diseño rápido se centra en una representación de aquellos
aspectos del software que serán visibles al usuario (por ejemplo,
entradas y formatos de las salidas). El diseño rápido lleva a la
construcción de un prototipo. El prototipo es evaluado por el
cliente y el usuario y utilizado para refinar los requerimientos del.
Un proceso de iteración tiene lugar a medida que el prototipo es
"puesto a punto" para satisfacer las necesidades del cliente y
permitiendo al mismo tiempo una mejor comprensión del problema
por parte del desarrollador.

TIPOS DE PROTOTIPOS
 Prototipo rápido: El prototipado rápido es un mecanismo para lograr la validación pre-
compromiso. Se utiliza para validar requerimientos en una etapa previa al diseño
específico. En este sentido, el prototipo puede ser visto como una aceptación tácita de
que los requerimientos no son totalmente conocidos o entendidos antes del diseño y
la implementación. El prototipo rápido puede ser usado como un medio para explorar
nuevos requerimientos y así ayudar a "controlar" su constante evolución.
 Prototipo evolutivo: Desde una perspectiva diferente, todo el ciclo de vida de un
producto puede ser visto como una serie incremental de detallados prototipos
acumulativos. Tradicionalmente, el ciclo de vida está dividido en dos fases distintas:
Desarrollo y mantenimiento. La experiencia ha demostrado que esta distinción es
arbitraria y va en contra de la realidad ya que la mayor parte del costo del software
ocurre después de que el producto se ha entregado. El punto de vista evolutivo del
ciclo de vida del software considera a la primera entrega como un prototipo inicial en
el campo. Modificaciones y mejoras subsecuentes resultan en nuevas entregas de
prototipos más maduros. Este proceso continúa hasta que se haya desarrollado el
producto final. La adopción de esta óptica elimina la distinción arbitraria entre
desarrollo y mantenimiento, resultando en un importante cambio de mentalidad que
afecta las estrategias para la estimación de costos, enfoques de desarrollo y
adquisición de productos.

25
LUIS RIVAS (2019)
INGENIERIA DE REQUERIMIENTOS

IMPORTANTE:
La ingeniería de requerimientos es un área de
conocimiento de gran importancia en el
desarrollo de software. Esta comprende las
actividades de obtención (captura,
descubrimiento y adquisición), análisis (y
negociación), especificación, y validación de
requisitos. Además, establece una actividad de
gestión de requerimientos para manejar los
cambios, mantenimiento y rastreabilidad de los
requerimientos.
El proceso de obtención de requisitos, cuya
finalidad es llevar a la luz los requisitos, no solo
es un proceso técnico, sino también un proceso
social que envuelve a diferentes personas, lo
que conlleva dificultades añadidas a su
realización

RECUERDA QUE:

Existe un gran número de técnicas y herramientas para la


obtención de los requerimientos, solo se han descrito las más
utilizadas. Hay que aclarar que ninguna de estas técnicas es
suficiente por sí sola y que es recomendable combinarlas para
obtener requerimientos más completos

26
LUIS RIVAS (2019)
INGENIERIA DE REQUERIMIENTOS

UNIDAD I – TEMA IV
1.4. ANÁLISIS COMPARATIVO DE LAS TÉCNICAS DE
INGENIERÍA DE REQUERIMIENTOS
Definición:
Existen un número considerable de técnicas para la obtención de
requerimientos. A continuación se presenta una estrategia de
cómo aplicar estas técnicas dentro de un proceso ordenado y que
aproveche al máximo cada técnica. Esto evitará que los analistas
con poca experiencia caigamos en un error muy común, que es el
de pasar demasiado pronto a las entrevistas, lo cual es un
desperdicio de tiempo

1. Aprender todo lo que se pueda de los documentos, formularios,


informes y archivos existentes. Es sorprendente lo que se puede
aprender de un sistema sin necesidad de quitarle tiempo a la gente.
2. De ser posible, se observará el sistema en acción. No se
plantearán preguntas. Tan sólo se observará y se tomarán notas o
dibujos. Conviene asegurarse de que las personas observadas
saben que no se les está evaluando. En caso contrario, harán su
trabajo de manera más eficaz que lo normal.
3. Diseñar y distribuir cuestionarios para aclarar cuestiones que no
se comprenden bien. Será también buen momento para solicitar
opiniones sobre los problemas y las limitaciones. Los cuestionarios
requieren que los usuarios inviertan una parte de su tiempo. Pero
son ellos los que pueden elegir cuándo les viene mejor hacerlo.
4. Realizar entrevistas (o sesiones de trabajo en grupo, como JAD).
Como ya se ha recogido una base de requerimientos iniciales en los
pasos anteriores, se pueden utilizar las entrevistas para verificar y
aclarar las cuestiones y los problemas de mayor dificultad. En este
punto se pueden llegar a aplicar algunas de las otras técnicas cóm
Escenarios, Tormenta de ideas, Puntos de Vista, ETHICS y
Desarrollo de Prototipos.
5. Se verifican los requerimientos a través del uso de técnicas como
Entrevistas, Observación y orientados a Puntos de Vista.

Esta estrategia no es intocable. Aunque habría que desarrollar


una estrategia de investigación de hechos para todas las fases
pertinentes del desarrollo de sistemas, cada proyecto tiene sus
propias particularidades. A veces, la observación o los
cuestionarios pueden no ser apropiados. Pero debería
mantenerse la idea de recabar siempre todos los hechos que
sea posible antes de concertar entrevistas.

27
LUIS RIVAS (2019)
INGENIERIA DE REQUERIMIENTOS

Análisis de las Herramientas de software para el proceso


de

28
LUIS RIVAS (2019)
INGENIERIA DE REQUERIMIENTOS

Ingeniería de Requerimientos
Aunque algunas metodologías definen su herramienta a utilizar, se evaluaron cuatro
herramientas de software para la administración de los requerimientos. Para realizar
la evaluación se establecieron criterios para medir su rendimiento y desempeño. Los
criterios considerados son los siguientes:
1. Aplicabilidad ¿Describe problemas y soluciones del mundo real de manera natural
y realista? ¿Es compatible con otra que se utilizan en el desarrollo del sistema?

29
LUIS RIVAS (2019)
INGENIERIA DE REQUERIMIENTOS

2. Capacidad de implementación ¿Puede traducirse la especificación a una


implementación? ¿Es automatizada? ¿Se puede generar código? ¿Es código
eficiente?
3. Capacidad de comprobación y simulación ¿Puede utilizarse la especificación para
probar la implementación? ¿Todos los requerimientos son verificables por la
implementación?
4. Capacidad de contraste ¿Puede un usuario contrastar la exactitud de la
especificación? ¿La lectura de la especificación es accesible para todos los
usuarios?
5. Facilidad de mantenimiento ¿Es fácil de cambiar la especificación a medida de
que el sistema evolucione? ¿Será útil la especificación para las actividades del
mantenimiento?
6. Nivel de abstracción y capacidad de expresión ¿La especificación describe
expresivamente los objetos reales? ¿La especificación describe expresivamente el
dominio?
7. Profundidad ¿Se pueden detecta inconsistencia? ¿Se pueden detectar
ambigüedades?
8. Madurez de la herramienta ¿La herramienta es de alta calidad? ¿Existen
manuales o ayuda en línea para aprenderlas?
9. Curva del aprendizaje ¿Puede un usuario novato aprender rápidamente los
conceptos, la sintaxis y las semánticas?
10. Disciplina ¿Obliga a escribir especificaciones bien estructuradas, comprensibles
y bien formalizadas?

30
LUIS RIVAS (2019)
INGENIERIA DE REQUERIMIENTOS

La aplicación de la Ingeniería de Software en el proceso de desarrollo de un sistema es un

mecanismo que se emplea para garantizar la calidad de un producto de software. Una de las

etapas importantes del proceso de desarrollo es la ingeniería de requerimientos, etapa en donde


se

definen inicialmente las características y restricciones con las que debe contar el sistema en

desarrollo. En este trabajo de tesis se describen las actividades del proceso de Ingeniería de

Requerimientos así como las tareas que comprenden cada actividad. Se presenta un análisis de

técnicas, métodos y herramientas más recientes utilizadas en la ingeniería de requerimientos. Se

ilustran las ventajas y desventajas que podemos encontrar en la utilización de estas técnicas y

herramientas para cada actividad de este proceso, su aplicación en un caso de estudio y

finalmente la definición del Documento de Especificación de Requerimientos.

31
LUIS RIVAS (2019)
INGENIERIA DE REQUERIMIENTOS

IMPORTANTE:
El campo de los requerimientos del sistema es un
área muy extensa y hay mucho trabajo por hacer,
por ejemplo, no existen herramientas de software
que se realicen automáticamente la validación de
los requerimientos mediante los atributos de calidad
presentados en esta investigación. No existen
herramientas que vinculen los requerimientos
funcionales con los requerimientos no funcionales,
donde se ilustren la importancia y el efecto que
tendrán estos vínculos. Aún no existe la manera
automatizada de conocer cuando los
requerimientos están completos en el documento
de requerimientos, este proceso actualmente se
lleva a cabo mediante sesiones donde los usuarios,
el cliente y el equipo de desarrollo realizan las
revisiones pertinentes.

RECUERDA QUE:
La Ingeniería de Requerimientos como parte del proceso de desarrollo de software, es un puente
importante hacia las otras etapas, como son el diseño, la implementación, la validación y el
mantenimiento. Esto significa que una descripción completa de los requerimientos garantiza el
desarrollo de un buen producto final. Sin embargo, la obtención y especificación de los
requerimientos son dos situaciones problemática que todo ingeniero de software enfrenta. Por un
lado se busca resolver las diferencias de comunicación, culturales y técnicas que enfrentan los
usuarios y los desarrolladores en el afán de lograr obtener las necesidades y restricciones que
definirán el sistema; y por el otro, la búsqueda de técnicas, métodos, metodologías y herramientas
que permitan obtener una especificación de los requerimientos entendible tanto para los clientes y
usuario como para los ingenieros involucrados en el diseño.

32
LUIS RIVAS (2019)
INGENIERIA DE REQUERIMIENTOS

1.5. RESUMEN DE LA UNIDAD I

La creación de software es un proceso La Ingeniería de Requerimientos (IR)


sumamente creativo y la ingeniería del cumple un papel primordial en el
software trata de sistematizar este proceso de producción de software, ya
proceso, por medio del uso de diversas que se enfoca un área fundamental: la
técnicas que se han demostrado definición de lo que se desea producir.
adecuadas sobre la base de la Su principal tarea consiste en la
experiencia previa, entre las que generación de especificaciones
destaca la correcta y detallada correctas que describan con claridad,
determinacion de los requerimientos, sin ambigüedades, en forma
con el fin de minimizar el riesgo de consistente y compacta, las
fracaso en la obtención de sus objetivo. necesidades de los usuarios o clientes;
de esta manera, se pretende minimizar
La captura, análisis y especificación de los problemas relacionados por la mala
requisitos, es una parte crucial; de todo gestión de los requerimientos enel
desarrollo de software, ya que de esta desarrollo de sistemas.
depende en gran medida el logro de los
objetivos finales, por ello se han ideado La especificación de requisitos
modelos y procesos de trabajo para describe el comportamiento esperado
estos fines. Es de alli de sonde surge la en el software una vez desarrollado.
ingeniería de requerimientos. Gran parte del éxito de un proyecto de
software radicará en la identificación
La ingeniería de software (IS) se puede de las necesidades del negocio
considerar como aquella que por (definidas por la alta dirección), así
medios sistematizados y con como la interacción con los usuarios
herramientas preestablecidas, procura funcionales para la recolección,
la aplicación de ellos de la manera más clasificación, identificación, priorización
eficiente para la obtención de y especificación de los requisitos del
resultados óptimos; es decir, no es solo software
de la resolución del problema, sino
teniendo en cuenta las diferentes
soluciones, elegir la más apropiada

33
LUIS RIVAS (2019)
INGENIERIA DE REQUERIMIENTOS

1.6. ACTIVIDADES DE AFIANZAMIENTO

ACTIVIDAD 1

Elabore un resumen de los tipos de requerimientos, de ejemplos de cada uno

FUNCIONALES

NO FUNCIONALES

34
LUIS RIVAS (2019)
INGENIERIA DE REQUERIMIENTOS

ACTIVIDAD 2

Elabore un cuadro de los objetivos de la Ingenieria del Software

ACTIVIDAD 3

¿Que es un requerimiento? __________________________________________________


_______________________________________________________________________________

ACTIVIDAD 4

¿Cuál es la importancia de la Ingenieria de Requerimientos?


 ____________________________________________________________________
 ____________________________________________________________________
 ____________________________________________________________________
 ____________________________________________________________________
 ____________________________________________________________________

35
LUIS RIVAS (2019)
INGENIERIA DE REQUERIMIENTOS

1.7. AUTOEVALUACIÓN

Para cada una de las siguientes cuestiones seleccione la opcionque considere


correcta:

1) ¿Cuándo pueden surgir nuevos a) Ingenieria de Requerimientos


requisitos? b) Ciclo de Vida del Software
a) Solo al inicio c) Validacion y verificacion
b) Solo al final
c) En cualquier etapa del 7) Las primeras etapas del Ciclo de
desarrollo del software vida de software son:
a) Obtencion y analisis de
2) El proceso de desarrollo de requerimientos
software es: b) Diseño de la Base de Datos y
a) Estático, basado solo en modelos y Sistema Operativo
patrones rígidos. c) Codificacion y prueba del
b) Dinámico, afectado por la software
creatividad y el juicio de las
personasinvolucradas.
c) Sencillo, solo hay que escribir unas 8) Requerimientos mal definidos o
cuantas instrucciones conocidas. incompletos causaran:
a) Desarrollo masrapido de la
3) La IS debe analizar las diferentes aplicacion
soluciones y elegir: b) Incremento en los costos y
a) La masrapida tiempos de entrega
b) La maseconomica c) Reduccion de costos de
c) La mas apropiada desarrollo

4) Las personas que intervienen 9) La condicion o necesidad a


elel proceso de desarrollo de resolver se denomina:
software son: a) Modelo
a) Recursos de Entorno b) Base de Datos
b) Recurso humano c) Requerimiento
c) Administradores de BD
10) Por que se deben establecer los
5) Proporciona el medio fisico para requerimientos por escrito
desarrollar las aplicaciones: a) Para fijar el alcance del
a) Software proyecto
b) Hardware b) Para evitar malentendidos y
c) Programadores conflictos con el cliente
c) Ambas
6) El conjunto de etapas que realiza
la IS para desarrar un programa
se denomina:

36
LUIS RIVAS (2019)
INGENIERIA DE REQUERIMIENTOS

FUENTES
DEINFORMACIÓN
BIBLIOGRAFIA RECOMENDADA
 Booch, G, Jacobson, I, & Rumbaugh, J. (2007). El Lenguaje de modelado
unificado – guía de usuario. USA: Addison-Wesley.
 Fowler, M, & Scott, K. (2003). UML Distilled: a brief guide to the standard object
modeling language reading. USA: Addison-Wesley.
 Fowler, M, Kendall, S. (1999) UML Gota a Gota. Massachusetts - USA: Editorial
Addison-Wesley-Longman.
 Jacobson, I, Booch, G, & Rumbaugh, J. (2000) El proceso unificado de
desarrollo de Software.New York, USA: Editorial McGraw-Hill.
 Leffingwell, D, &Widrig, D. (2000). Managing Software Requirements. USA:
Editorial Addison Wesley
 Quatrany, T. (2002). Visual Modeling with Rational Rose and UML. USA:
Editorial Addison-Wesley.
 Sommerville, I. (2004) Ingenieria de Software. España: Pearson

37
LUIS RIVAS (2019)
INGENIERIA DE REQUERIMIENTOS

GLOSARIO

 ABSTRACCIÓN: Acción y efecto de separar por medio de una operación


intelectual las cualidades de un objeto para considerarlas aisladamente o para
considerar el mismo objeto en su pura esencia o noción
 BASE DE DATOS (BD): Es un conjunto de datos relacionados entre sí, que
representan una información específica, almacenados para su posterior uso.
Una BD es la unidad funcional de almacenamiento de información, formada por
una o mas TABLAS
 DATO: Es la unidad básica de información, que representa el valor especifico de
una propiedad asociado un objeto en un momento dado.
 INCONSISTENCIA (Diferencias en un mismo dato): El mismo objeto tiene
diferentes datos almacenado. EJEMPLO: La cedula 1234 pertenece a dos o mas
personas diferentes. Se produce generalmente cuando se tiene acceso
simultaneo a la BD desde diversos sitios y la actualización de los registros se
realiza de forma incorrecta (generando incoherencias)
 INFORMACION: Es un conjunto de datos con significado propio, que representa
una idea completa
 REDUNDANCIA (Datos Repetidos): Valores iguales en distintas tablas, es
decir, la misma información esta almacenada varias veces en una BD. Se
produce generalmente por fallas lógicas (mala normalización) al momento de
crear la BD

38
LUIS RIVAS (2019)
INGENIERIA DE REQUERIMIENTOS

RESPUESTAS AUTOEVALUACION

1–c 2–b
UNIDAD I:
3–c 4–b
LA INGENIERIA DE 5–b 6–b
REQUERIMIENTOS 7–a 8–b
9–c 10 – c

UNIDAD II: 1–x 2–x


3–x 4–x
FLUJO DE TRABAJO
5–x 6–x
DE LOS PROCESOS
DE LA INGENIERÍA DE 7–x 8–x
REQUERIMIENTOS 9–x 10 – x

UNIDAD III:
MODELOS 1–x 2–x
INTERACTIVOS Y 3–x 4–x
UTILIZACIÓN DE LA 5–x 6–x
METODOLOGÍA
UML EN LA 7–x 8–x
INGENIERÍA DE 9–x 10 – x
REQUERIMIENTOS

1–x 2–x
UNIDAD IV:
3–x 4–x
PROTOCOLOS DE 5–x 6–x
ESCRITURA Y
7–x 8–x
VALIDACION
9–x 10 – x

39
LUIS RIVAS (2019)

Das könnte Ihnen auch gefallen