Este documento habla sobre la ingeniería de requisitos y el análisis de requerimientos para el desarrollo de software. Explica la diferencia entre requisitos e requerimientos, y define la ingeniería de requisitos como el proceso de determinar las necesidades y condiciones para un proyecto de software. Describe los tipos de requisitos, las fases de la ingeniería de requisitos, y los elementos clave de un documento de requisitos como la introducción, descripción general y requisitos específicos.
Ingeniería de requisitos y análisis de requerimientos
1. Instituto Universitario Politécnico “Santiago Mariño”
Ampliación: Mérida
Materia: Sistemas I
Prof.: Ing. María Eugenia Díaz
Alumno: Gustavo Adolfo Araque
C.I.V-12.349.323
Carrera: 47
2. Mapa Conceptual
¿Ingeniería de Requisitos o
de Requerimientos?
Muchas veces se habla de requerimientos en vez de
requisitos; esto se debe a una mala traducción del
inglés. La palabra requirement debe ser traducida
como requisito, mientras que requerimiento se
traduce al inglés como request.
Comprende la determinación y
especificación de las necesidades o de las
condiciones a satisfacer para llevar a cabo
un proyecto de desarrollo de software
Definición
Establecen con detalle las
funciones, servicios y
restricciones operativas del
sistema
Son declaraciones, en lenguaje natural y
en diagramas, de los servicios que se
espera que el sistema proporcione y de
las restricciones bajo las cuales debe
funcionar
Funcionales
(Servicios)
No Funcionales
(Restricciones)
Del Dominio
(Características)
Requisitos del Usuario Requisitos del Sistema
Los documentos de requerimientos del software son la
declaración acordada de los requerimientos del sistema. Se
deben organizar de tal forma que puedan ser utilizados tanto por
los clientes del sistema como por los desarrolladores del
software. Los requerimientos para un sistema software
determinan lo que debe hacer el sistema y definen las
restricciones en su funcionamiento.
Documento de
Especificación de
Requisitos
(Catalogo de
Requisitos)
3. Introducción
En el presente trabajo de investigación pretendo realizar una recopilación
de información que permita reforzar y acrecentar mis conocimientos en lo
referente a uno de los temas más importantes relacionado con el proceso de
desarrollo de software, como lo es el análisis de requerimientos. El objetivo de
este trabajo es definir, dentro de la ingeniería de requisitos, los aspectos
fundamentales del análisis de los requerimientos, sus conceptos, premisas, fases,
técnicas, objetivos y la documentación asociada a este proceso fundamental para
la ejecución de un proyecto de desarrollo de software.
4. ¿Ingeniería de Requisitos o de Requerimientos?
Muchas veces se habla de requerimientos en vez de requisitos; esto se debe a
una mala traducción del inglés. La palabra requirement debe ser traducida como
requisito, mientras que requerimiento se traduce al inglés como request.
Definición
La Ingeniería de requisitos comprende todas las tareas relacionadas con la
determinación de las necesidades o de las condiciones a satisfacer para un
software nuevo o modificado, tomando en cuenta los diversos requisitos de las
partes interesadas, que pueden entrar en conflicto entre ellos.
El propósito de la ingeniería de requisitos es hacer que los mismos alcancen un
estado óptimo antes de alcanzar la fase de diseño en el proyecto. Los buenos
requisitos deben ser medibles, comprobables, sin ambigüedades o
contradicciones, etc.
Tipos de Requisitos
Los requerimientos del usuario son declaraciones, en lenguaje natural y
en diagramas, de los servicios que se espera que el sistema proporcione y
de las restricciones bajo las cuales debe funcionar.
Los requerimientos del sistema establecen con detalle las funciones,
servicios y restricciones operativas del sistema.
Requerimientos funcionales. Son declaraciones de los
servicios que debe proporcionar el sistema, de la manera en
que éste debe reaccionar a entradas particulares y de cómo
se debe comportar en situaciones particulares
Requerimientos no funcionales. Son restricciones de los
servicios o funciones ofrecidos por el sistema. Incluyen
restricciones de tiempo, sobre el proceso de desarrollo
y estándares. Los requerimientos no funcionales a menudo se
aplican al sistema en su totalidad.
Requerimientos del dominio. Son requerimientos que
provienen del dominio de aplicación del sistema y que reflejan
las características y restricciones de ese dominio. Pueden ser
funcionales o no funcionales.
5. En un vistazo los análisis de requerimientos actuales deben incluir:
Ilustración de procesos completos.
Identificación de actores, roles y responsabilidades.
Quién, cómo, qué – pasos individuales, prioridades.
¿Cómo se procesa la información y que se consigue con ella?
Diseño de interfaz de usuario.
¿Qué tipo de participación de usuario es provista?
¿Cómo puede el usuario ser guiado a través de diferentes
pasos sin una interfaz tediosa?
Procesos de registro y aplicación.
¿Los usuarios deberán obtener permiso de acceso y cómo
será gestionado esto?
¿El acceso se va a realizar de manera online, solo local o
ambas?
Herramientas y sitios específicos del usuario.
Los análisis de requerimientos documentados, precisos son
más importante en proyectos donde los usuarios con
diferentes propósitos usan una única interfaz de usuario.
Dependencias de aplicaciones de software.
Interoperabilidad con otras soluciones informáticas ya
existentes.
Procedimiento.
Orden y sistematización que apunten al dinamismo.
Las etapas intermedias significativas y los hitos son
acordados.
Prueba y planeación.
Se determina un tiempo de identificación de errores.
Se dará acceso a los usuarios únicamente después de un
periodo de prueba y revisión.
Integración de tecnologías.
De la mano de los especialistas de arquitectura de software se
determinan las tecnologías necesarias, tanto para el
desarrollo como para la posterior implementación de la
solución informática.
Campos y formas.
Se definen los elementos que servirán de insumo a los
gestores de base de datos y desarrolladores.
6. Implementación.
Elaboración de una documentación estructurada y organizada
para sustentar todo el proceso de captura de requisitos, el
cual va a ser la plataforma fundamental del proceso de
desarrollo de software que recién empieza.
Fases de implementación
Desde un punto de vista conceptual, las actividades son de cinco clases.
Obtener requisitos: a través de entrevistas o comunicación con clientes o
futuros usuarios, para saber cuáles son sus expectativas.
Analizar requisitos: detectar y corregir las carencias o falencias
comunicativas, transformando los requisitos obtenidos de entrevistas y
requisitos, en condiciones apropiadas para ser tratados en el diseño.
Documentar requisitos: igual que todas las etapas, los requisitos deben
estar debidamente documentados.
Verificar los requisitos: consiste en comprobar la implementación de los
requerimientos.
Validar los requisitos: comprobar que los requisitos implementados sean
funcionales para lo que inicialmente se construyó el producto.
¿Qué es un documento de requerimientos?
El documento de requerimientos es la declaración oficial de qué es lo que deben
implementar los desarrolladores de software. Debe incluir tanto los requerimientos
a nivel de usuario para el sistema, como una especificación detallada de los
requerimientos informáticos, siendo muy claro en las partes más críticas.
¿Cuál es el objetivo de un documento de requerimientos?
Los documentos de requerimientos del software son la declaración acordada de
los requerimientos del sistema. Se deben organizar de tal forma que puedan ser
utilizados tanto por los clientes del sistema como por los desarrolladores del
software. Los requerimientos para un sistema software determinan lo que debe
hacer el sistema y definen las restricciones en su funcionamiento.
7. ¿Cuáles son los elementos de un documento de requerimientos?
Introducción
Propósito del documento de requerimientos
Alcance del producto
Definiciones, acrónicos y abreviaturas
Referencias
Descripción del resto del documento.
Descripción general
Perspectiva del producto
Funciones del producto
Características de los usuarios
Restricciones generales
Suposiciones y dependencias.
Requerimientos específicos: incluyen los requerimientos funcionales, no
funcionales y de interfaz. Ésta es la parte más sustancial del documento.
Los requerimientos pueden documentar las interfaces externas, describir la
funcionalidad y el rendimiento del sistema, especificar los requerimientos
lógicos de la base de datos, las restricciones de diseño, las propiedades
emergentes del sistema y las características de calidad.