Ingeniería De Requisitos
Enviado por aniboware • 11 de Marzo de 2014 • 2.431 Palabras (10 Páginas) • 363 Visitas
Introducción
La Ingeniería de Software, conjunto de metodologías y procesos de ingeniería para la planeación, construcción y mantenimiento de productos software. Uno de esos procesos es la Ingeniería de Requisitos: hace alusión al proceso de recopilar, analizar y verificar las necesidades del cliente para un sistema de software.
En el presente documento de investigación, se presentan: conceptos, actividades, herramientas, importancia y factores claves que definen la Ingeniería de Requisitos. Como proceso inicial y que representa la base para la creación y mantenimiento de todo producto software, representa una actividad que necesita de altos niveles de conocimiento, esfuerzo, dedicación y sobre todo comunicación y todo con el fin de prevenir el mejor alcance del producto a construir.
La Ingeniería de Requisitos
¿Qué es?
“Un requerimiento es un servicio que el sistema de software debe satisfacer o una restricción bajo la cual el sistema debe operar” [Sommerville 2002]
La meta de la ingeniería de Requisitos es entregar una especificación de Requisitos de software correcta y completa. La ingeniería de Requisitos apunta amejorar la forma en que comprendemos y definimos sistemas de softwarecomplejos.
A diferencia dellenguaje formal quepermite a los desarrolladoresy diseñadores decierta libertad, la lengua natural delos requisitos de softwaredebeser exacta, sin ambigüedades, y precisaporque laespecificación de diseño, declaración de trabajo, yotros documentos del proyectoson las que impulsanel desarrollodel producto final. Eseproducto finaldebe ser probado yvalidado conel diseñoy los requisitosoriginales.Especificación del lenguajeque permite lainterpretación de losrequisitos claveno va a cederun producto finalsatisfactorio yprobablemente conducirá acostos excesivos, horarios extendidosyplazos incumplidosentregables.
Actualmente se centra una discusión entre el uso de los términos “Requisitos” y “Requerimientos” (ver Referencia 1) que aunque se pueden entender por lo mismo, existe una diferenciación muy presente en la literatura de la materia que es necesario analizar. La misma define los conceptos de la siguiente manera:
Requerimiento: son todas las necesidades y deseos pedidos por el cliente y las personas involucradas en el software
Requisito: todas las funcionalidades, características y restricciones que debería tener el software
Si bien esta diferenciación es muy interesante por su riqueza, de todas formas sería un error hablar de Requisitos dentro de las tareas contempladas en el estándar IEEE 830-1998, que apunta de forma precisa a la especificación de requisitos de software.
Características de los requisitos
Las características de un requerimiento son sus propiedades principales. Un conjunto de requisitos en estado de madurez, deben presentar una serie de características tanto individualmente como en grupo. A continuación se presentan las más importantes:
Necesario: Un requerimiento es necesario si su omisión provoca una deficiencia en el sistema a construir, y además su capacidad, características físicas o factor de calidad no pueden ser reemplazados por otras capacidades del producto o del proceso.
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.
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.
Consistente: Un requerimiento es consistente si no es contradictorio con otro requerimiento.
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.
Verificable: Un requerimiento es verificable cuando puede ser cuantificado de manera que permita hacer uso de los siguientes métodos de verificación: inspección, análisis, demostración o pruebas.
Relación con la Ingeniería de Software
El análisis de requisitos es una tarea de ingeniería del software que cubre el hueco entre la definición del software a nivel sistema y el diseño de software. Los requisitos expresan lo que el sistema debe hacer para satisfacer las necesidades de sus clientes o usuarios.
El análisis de requisitos permite al ingeniero de sistemas especificar las características operacionales del software (función, datos y rendimientos), indica la interfaz del software con otros elementos del sistema y establece las restricciones que debe cumplir el software.
Para la ingeniería de software, 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 los inversores, que pueden entrar en conflicto entre ellos.
Herramientas más Usadas
• Entrevistas y cuestionarios: Las entrevistas y cuestionarios se emplean para reunir información proveniente de personas o grupos, información que se obtiene conversando con el encuestado. Las preguntas suelen distinguirse en dos categorías: abiertas y cerradas. Las preguntas abiertas permiten que los encuestados respondan con su propia terminología, mientras que las preguntas cerradas predeterminan todas las posibles respuestas y el interrogado elige entre las opciones presentadas.
• Grabaciones de video y de audio: Básicamente existen dos formas de utilizar las grabaciones: como registro y apoyo de las entrevistas, y para analizar algún proceso en particular. En cuanto a su función de apoyo, es importante porque permite centrar la atención en la entrevista en sí, en vez de distraerse tomando notas de todo lo que se dice. Cuando se trata de analizar algún proceso en particular, su ayuda es inestimable (sobre todo las filmaciones de video) porque permite ver y analizar en detalle ese proceso la cantidad de veces que sea necesario.
• Brainstorming (tormenta de ideas): Este es un modelo que se usa para generar ideas. La intención en su aplicación es la de generar la máxima cantidad posible de requisitos para el sistema. No hay que detenerse en pensar si la idea es o no del todo utilizable.
Objetivo e Importancia
Tal vez suene ilógico pero, a pesar de los avances que ha dado la tecnología, aún existen procesos de producción informales, parciales y en algunos casos no confiables.
La
...