Ingeniería de requerimientos
Introducción
Hasta el día de hoy, son muchos los procesos de desarrollo de software que existen. Pero al paso del tiempo, la ingeniería de software ha introducido una diversidad de estándares para certificar la calidad, del sistema desarrollado.
La ingeniería de requerimientos juega un papel importante en el proceso de producción del software, ya que se interesa en un área fundamental. La definición de lo que se desea crear. Su principal elemento se centra en la generación de especificaciones concretas que describan con claridad, sin ambigüedades, en forma consistente y compacta el comportamiento del sistema, pretendiendo minimizar los problemas relacionados al desarrollo del software.
¿Qué es un Requerimiento?
Un requerimiento es un atributo necesario dentro de una empresa que puede representar una capacidad, una característica de tal manera que le sea útil a los clientes o a los usuarios finales
Características
Los requerimientos bien formulados deben satisfacer varias características. Si no lo hacen, deben ser reformulados hasta hacerlo.
•Necesario: Lo que pida un requerimiento debe ser necesario para el producto.
•Sin ambigüedad: El texto debe ser claro, preciso y tener una única interpretación posible.
•Conciso: Debe redactarse en un lenguaje comprensible en lugar de uno de tipo técnico y especializado.
•Consistente: Ningún requerimiento debe entrar en conflicto con otro requerimiento diferente, ni con parte de otro.
•Completo: Los requerimientos deben contener toda la información necesaria.
•Alcanzable: Un requerimiento debe ser un objetivo realista, posible de ser alcanzado con el dinero, el tiempo y los recursos disponibles.
Importancia de la Ingeniería de Requerimientos
Los principales beneficios que se obtienen de la Ingeniería de Requerimientos son:
•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: Muchos estudios han demostrado que reparar errores por un mal desarrollo no descubierto a tiempo, es sumamente caro; especialmente aquellas decisiones tomadas durante la RE.
•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.
Personal involucrado en la Ingeniería de Requerimientos
Realmente, son muchas las personas involucradas en el desarrollo de los requerimientos de un sistema. Es importante saber que cada una de esas personas tienen diversos intereses y juegan roles específicos dentro de la planificación del proyecto
Los roles más importantes son los siguientes:
•Usuario final: Son las personas que usarán el sistema desarrollado. Ellos están relacionados con la usabilidad, la disponibilidad y la fiabilidad del sistema; están familiarizados con los procesos específicos que debe realizar el software, dentro de los parámetros de su ambiente laboral. Serán quienes utilicen las interfaces y los manuales de usuario.
•Usuario Líder: Son los individuos que comprenden el ambiente del sistema o el dominio del problema en donde será empleado el software desarrollado. Ellos proporcionan al equipo técnico los detalles y requerimientos de las interfaces del sistema.
•Personal de Mantenimiento: Para proyectos que requieran un mantenimiento eventual, estas personas son las responsables de la administración de cambios, de la implementación y resolución de anomalías. Su trabajo consiste en revisar y mejorar los procesos del producto ya finalizado.
•Analistas y programadores: Son los responsables del desarrollo del producto en sí; ellos interactúan directamente con el cliente.
•Personal de pruebas: Se encargan de elaborar y ejecutar el plan de pruebas para asegurar que las condiciones presentadas por el sistema son las adecuadas. Son quienes van a validar si los requerimientos satisfacen las necesidades del cliente.
Otras personas que pueden estar involucradas, dependiendo de la magnitud del proyecto, pueden ser: administradores de proyecto, documentadores, diseñadores de base de datos, entre otros.
Ingeniería de Requerimientos
La ingeniería de requerimientos es el proceso de desarrollar una especificación de software. Las especificaciones pretender comunicar las necesidades del sistema del cliente a los desarrolladores del sistema.
La Ingeniería de Requerimientos se define como un conjunto de actividades en las cuales, utilizando técnicas y herramientas, se analiza un problema y se concluye con la especificación de una solución (a veces más de una).
Ingeniería de Requerimientos se utiliza para definir todas las actividades involucradas en la documentación y mantenimiento de los requerimientos para un producto determinado.
Actividades de la IR
•Estudio de viabilidad: Un estudio de viabilidad 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.
•Obtención y análisis de requerimientos
•Actividades del proceso
Puntos de vista
Entrevistas
Escenario
Casos de uso
Etnografía
Clasificación y organización de requerimientos
Ordenación por prioridades y negociación
Documentación
•Otras técnicas
Análisis estructurado
Prototipeo
•Validación de requerimientos
Técnicas de validación
Revisión de requerimientos
Construcción de prototipos
Generación de casos de prueba
Ciclo de vida de la IR
Ventajas
•Permite que cada paso de la IR se haga en una forma bien estructurada, organizada y con unos pasos bien definidos.
•Se disminuyen costos y retrasos o problemas con el proyecto.
•Mejoras en la calidad del software en cuento al diseño la funcionalidad y facilidad de uso que se puede hacer de este IE.
•Fácil comunicación entre el usuario y el equipo.
Conclusiones
•No existen un modelo de proceso ideal para la Ing. De requerimientos, encontrar la técnica prefecta es una utopía, pues cada técnica tiene diferentes beneficios.
•La Ing. De Requerimientos es una actividad que incluye a usuarios, equipo de trabajo, cliente, etc. Por tanto el éxito del sistema dependerá de la experiencia que tengan los involucrados.
•Es de vital importancia involucrar al cliente, en la definición de los requerimientos ya que ellos son quienes nos guían en el rumbo que debe tomar el proyecto, en fin ellos financian el proyecto.


0 comentarios:
Publicar un comentario