2do PA- Diferentes tareas y técnicas que se utilizan en la ingeniería de requisitos para el desarrollo de software - Unidad 3
Tareas
de la Ingeniería en Requisitos.
Se define
como un conjunto de actividades en los cuales, utilizando tecnicas y
herramientas, se analiza un problema y se concluye con la especificación de una
solución. La ingeniería de requisitos es el proceso de
desarrollar una especificación de software.
Inicio:
Tiene por
objetivo identificar el ámbito del proyecto general. Comienza con una serie de
conversaciones informales entre los participantes del mismo. Esta fase suele
ser acompañada de los documentos de definición de la visión global y la visión
del dominio del sistema. Se inicia muchas veces por: se descubre un nuevo
mercado y se descubre un nuevo servicio.
Obtención:
Se sugiere a
los ingenieros recopilar requisitos de manera organizada, preguntando a los
usuarios y otros interesados cuales son os objetivos para el sistema o
producto, que es lo que se debe lograr, de que forma el producto satisface las
necesidades del negocio y como se utilizara el producto día d día. Se
identifican una serie de problemas que ayudan a entender porque es difícil la obtención
de requisitos:
1 Problema
de ámbito
1 Problema
de comprensión
1 Problemas
de volatilidad
Elaboración:
Se crea un
modelo de análisis con la información obtenida del cliente en las fases de
inicio y obtención. La información conseguida con el cliente durante el inicio
y obtención se expande y se refina durante la elaboración. Esta actividad se
enfoca en el desarrollo de un modelo técnico refinado de las funciones,
características y restricciones del software. La elaboración se conduce
mediante la creación y refinamiento de escenarios del usuario que describan la
forma en que el usuario final y otros actores interactúan con el sistema.
Negociación:
En esta
etapa el ingeniero de requisitos debe negociar con el cliente los alcances y
límites del sistema. De forma iterativa los requisitos se prioriza, modifican,
combinan o eliminan buscando acuerdos que beneficien a todas las partes. Se
identifican y analizan los riesgos asociados con cada requisito.
Especificación:
Es el
producto final de la ingeniería de requisitos, y se convierte en la materia
prima para las actividades posteriores en el proceso de desarrollo del sistema.
Una especificación puede ser un documento escrito, un conjunto de modelos
gráficos, un modelo matemático formal, una colección de escenarios de uso, un
prototipo o cualquier combinación de estos.
Validación:
Un equipo de
validación toma el producto de la fase de especialización, lo revisa para
detectar errores, conflictos u omisiones y los corrige con el fin de garantizar
la consistencia de requisitos. La validación de requisitos examina la
especificación para asegurar que todos los requisitos de software se han
establecidos de manera precisa; que se han detectado las inconsistencias
omisiones y errores y que estos han sido corregidos y que el producto de
trabajo cumple con los estándares establecidos para el proceso, proyecto y
producto.
Gestión de requisitos:
Ayuda a
rastrear los requisitos según las características de los mismos, el código
fuente relacionado, dependencia entre requisitos, subsistemas e interfaces
internas y externas de forma que pueda identificarse con rapidez para entender
como afectara una modificación diferentes aspectos del sistema a construir. Es
un conjunto de actividades que ayudan al equipo de proyecto a identificar,
controlar y rastrear los requisitos y los cambios a estos en cualquier momento
mientras se desarrolla el proyecto.
Técnicas
de la Ingeniería en Requisitos.
La
ingeniería de requisitos puede ser un proceso largo y arduo para el que se
requiere de habilidades psicológicas. Los nuevos sistemas cambian el entorno y
las relaciones entre la gente, así que es importante identificar a todos los
actores involucrados, considerar sus necesidades y asegurar que entienden las
implicaciones de los nuevos sistemas. Los analistas pueden emplear varias
técnicas para obtener los requisitos del cliente. Históricamente, esto ha
incluido técnicas tales como las entrevistas, o talleres con grupos para crear
listas de requisitos. Técnicas más modernas incluyen los prototipos, y utilizan
casos de uso. Cuando sea necesario, el analista empleará una combinación de
estos métodos para establecer los requisitos exactos de las personas
implicadas, para producir un sistema que resuelva las necesidades del negocio.
Entrevistas
y Cuestionarios:
Las
entrevistas y cuestionarios se emplean para reunir información proveniente de
personas o de grupos.
Las
entrevistas son un método común. Por lo general no se entrevista a toda la
gente que se relacionará con el sistema, sino a una selección de personas que
represente a todos los sectores críticos de la organización, con el énfasis
puesto en los sectores más afectados o que harán un uso más frecuente del nuevo
sistema.
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. El
éxito de esta técnica, depende de la habilidad del entrevistador y de su
preparación para la misma.
Forma
de contrato:
En lugar de una entrevista, se pueden llenar formularios o contratos indicando los requisitos. En sistemas muy complejos éstos pueden tener centenares de páginas.
Objetivos medibles:
Los requisitos formulados por los usuarios se toman como objetivos generales, a largo plazo, y en cambio se los debe analizar una y otra vez desde el punto de vista del sistema hasta determinar los objetivos críticos del funcionamiento interno que luego darán forma a los comportamientos apreciables por el usuario. Luego, se establecen formas de medir el progreso en la construcción, para evaluar en cualquier momento qué tan avanzado se encuentra el proyecto.
Sistemas existentes:
Esta
técnica consiste en analizar distintos sistemas ya desarrollados que estén
relacionados con el sistema a ser construido. Por un lado, podemos analizar las
interfaces de usuario, observando el tipo de
Información
que se maneja y cómo es manejada, por otro lado también es útil analizar las
distintas.
Salidas
que los sistemas producen (listados, consultas, etc.), porque siempre pueden
surgir nuevas ideas sobre la base de estas.
Talleres:
Los requisitos tienen a
menudo implicaciones cruzadas desconocidas para las personas implicadas
individuales y que a menudo no se descubren en las entrevistas o quedan
incompletamente definidas durante la misma. Estas implicaciones cruzadas pueden
descubrirse realizando en un ambiente controlado, talleres facilitados por un
analista del negocio, en donde las personas implicadas participan en
discusiones para descubrir requisitos, analizan sus detalles y las
implicaciones cruzadas. A menudo es útil la selección de un secretario dedicado
a la documentación de la discusión, liberando al analista del negocio para
centrarse en el proceso de la definición de los requisitos y para dirigir la
discusión.
Prototipos:
Durante la actividad de
extracción de requerimientos, puede ocurrir que algunos requerimientos no estén
demasiado claros o que no se esté muy seguro de haber entendido correctamente
los requerimientos
Obtenidos hasta el momento,
todo lo cual puede llevar a un desarrollo no eficaz del sistema final.
Entonces, para validar los requerimientos
hallados, se construyen prototipos.
Los prototipos son
Simulaciones del posible producto, que luego son utilizados por el usuario final, permitiéndonos conseguir una importante retroalimentación en cuanto a si el sistema diseñado con base a los requerimientos recolectados le permite al usuario realizar su trabajo de manera eficiente y efectiva.
El desarrollo del prototipo
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.
Casos de Uso:
Un caso de uso es una
técnica para documentar posibles requisitos, graficando la relación del sistema
con los usuarios u otros sistemas. Dado que el propio sistema aparece como una
caja negra, y sólo se representa su interacción con entidades externas, permite
omitir dichos aspectos y determinar los que realmente corresponden a las
entidades externas. El objetivo de esta práctica es mejorar la comunicación
entre los usuarios y los desarrolladores, mediante la prueba temprana de
prototipos para minimizar cambios hacia el final del proyecto y reducir los
costes finales. Esta técnica se enfrenta a los siguientes peligros potenciales.
-
A los directivos, una vez que ven un
prototipo, les cuesta comprender que queda mucho trabajo por hacer para
completar el diseño final.
-
Los diseñadores tienden a reutilizar el
código de los prototipos por temor a “perder el tiempo” al comenzar otra vez.
-
Los prototipos ayudan principalmente a las
decisiones del diseño y de la interfaz de usuario. Sin embargo, no proporcionan
explícitamente cuáles son los requisitos.
-
Los diseñadores y los usuarios finales
pueden centrarse demasiado en el diseño de la interfaz de usuario y demasiado
poco en producir un sistema que sirva el proceso del negocio.
Los casos de uso permiten
entonces describir la posible secuencia de interacciones entre el sistema y uno
o más actores, en respuesta a un estímulo inicial proveniente de un actor, es
una descripción de un conjunto de escenarios, cada uno de ellos comenzado con
un evento inicial desde un actor hacia el sistema.
Especificación de requisitos
del software
Una especificación de
requisitos del software es una descripción completa del comportamiento del
sistema a desarrollar. Incluye un conjunto de casos de uso que describen todas
las interacciones que se prevén que los usuarios tendrán con el software.
También contiene requisitos no funcionales (o suplementarios). Los requisitos
no funcionales son los requisitos que imponen restricciones al diseño o
funcionamiento del sistema (tal como requisitos de funcionamiento, estándares
de calidad, o requisitos del diseño).
Las estrategias
recomendadas para la especificación de los requisitos del software están
descritas por IEEE 830-1998. Este estándar describe las estructuras posibles,
contenido deseable, y calidades de una especificación de requisitos del
software.
Los requisitos se dividen
en tres:
Funcionales: son los que el
usuario necesita que efectúe el software. Ej: el sistema debe emitir un
comprobante al asentar la entrega de mercadería.
No funcionales: son los
"recursos" para que trabaje el sistema de información (redes,
tecnología). Ej: el soporte de almacenamiento a usar debe ser MySQL.
Empresariales u
Organizacionales: son el marco contextual en el cual se implantará el sistema
para conseguir un objetivo macro. Ej: abaratar costos de expedición.
REFERENCIAS
2.2 Técnicas de la Ingeniería de Requisitos - INGENIERÍA EN SOFTWARE. (2021). 2.2 Técnicas de la Ingeniería de Requisitos - INGENIERÍA EN SOFTWARE. Google.com. https://sites.google.com/site/ingenierialeosw/unidad-2-ingenieria-de-requisitos/2-2-tecnicas-de-la-ingenieria-de-requisitos
Zahuantitla, M. (2021). 2.2 Técnicas de la ingeniería de Requisitos - Fundamentos de Ingería de Software Maribel Zahuantitla Salas. Google.com. https://sites.google.com/site/fundamentosdeingendoftware/unidad-2-ingenieria-de-requisitos/2-2-tecnicas-de-la-ingenieria-de-requisitos
Jesus Aguilar Ramos. (2017, November 29). 3.3 Tareas y técnicas de la ingeniería de requisitos. Blogspot.com; Blogger. https://aguilarramosjesusfis.blogspot.com/2017/11/33-tareas-y-tecnicas-de-la-ingenieria.html
3.3 Tareas y técnicas de la ingeniería de requisitos. (2017). Blogspot.com. https://andoniandresperezdominguezfis.blogspot.com/2017/11/33-tareas-y-tecnicas-de-la-ingenieria.html
juana Hernandez Hernandez. (2021, October 12). UNIDAD II INGENIERIA DE REQUISITOS. Blogspot.com. https://ithuejutlajhh.blogspot.com/2013/03/unidad-ii-ingenieria-de-requisitos.html#:~:text=Entonces%2C%20la%20tarea%20m%C3%A1s%20importante%20que%20el%20ingeniero,2%20categor%C3%ADas%3A%20requerimientos%20funcionales%20y%20requerimientos%20no%20funcionales.
Comentarios
Publicar un comentario