Criado por tulioceron
aproximadamente 10 anos atrás
|
||
EL IMPACTO DE LA INGENIERÍA DE REQUERIMIENTOS EN EL PROCESO DE DESARROLLO DE SOFTWARE A continuación, se muestra una imagen en la que podemos ver los problemas más frecuentes que suceden cuando comenzamos a desarrollar un sistema, y esto sucede porque no evaluamos correctamente lo que desea el cliente, o concebimos en nuestras mentes ideas distintas a las requeridas originalmente.
¿Qué son los requerimientos? Podemos decir que es una condición o necesidad del usuario para poder resolver un problema y lograr un objetivo. En general entonces podemos decir que es un proceso mediante el cual se intercambian diferentes puntos de vista para así recopilar y modelar lo que el sistema debe realizar. Así mismo este proceso utiliza un conjunto de métodos herramientas y actores que generan un modelo del cual nace un documento de requerimientos.
¿Cuál es la importancia de los requerimientos? Sabemos que muchos proyectos de Software fracasan porque no se realiza un estudio previo de los requisitos del usuario, no se hace una definición completa del alcance del proyecto. No realizamos el modelado del negocio antes de desarrollar el software, esto significa que el analista no se involucra en el problema; aunque tiene claro que el sistema debe desarrollarse para dar soporte a los procesos de la organización, sino se involucra en la problemática corre el riesgo de que los requisitos identificados no correspondan a las necesidades para lo que se debe crear. Requerimientos incompletos y el cambio frecuente de los requerimientos establecidos sabemos que son otros factores que llevan los sistemas al fracaso.
Según la autora Lizka Johany Herrera en su documento 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: es sabido que reparar errores por un mal desarrollo no descubierto a tiempo, es sumamente caro; especialmente 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 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. 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.).
La Ingeniería de Requerimientos cumple un papel primordial en el proceso productivo ya que se enfoca en el área fundamental: "La producción", siendo su tarea la generación de especificaciones correctas que describan con claridad, sin ambigüedades y en forma compacta las necesidades del cliente, cumpliendo lo antes expresado se obtendrá un proyecto que minimizará los problemas relacionados con la gestión de dichos requerimientos. Podemos decir que los requerimientos son importantes debido a que son el hilo conductor de todo desarrollo de software. Obtener requerimientos de calidad demuestra que el trabajo realizado culminará con éxito.
Para entender de una manera más clara la importancia de los requerimientos en la fase de desarrollo de un software, es primordial conocer el proceso o fases del proceso de Desarrollo de Software. A continuación se muestran las fases del proceso y una breve descripción de las mismas:
Análisis de requisitos Extraer los requisitos de un producto de software es la primera etapa para crearlo. Mientras que los clientes piensan que ellos saben lo que el software tiene que hacer, se requiere de habilidad y experiencia en la ingeniería de software para reconocer requisitos incompletos, ambiguos o contradictorios. El resultado del análisis de requisitos con el cliente se plasma en el documento ER, Especificación de Requerimientos. Diseño y arquitectura Consiste en incorporar consideraciones de la implementación tecnológica, como el hardware, la red, etc. Se definen los Casos de Uso para cubrir las funciones que realizará el sistema, y se transforman las entidades definidas en el análisis de requisitos en clases de diseño, obteniendo un modelo cercano a la programación orientada a objetos.
Programación Reducir un diseño a código puede ser la parte más obvia del trabajo de ingeniería de software, pero no es necesariamente la porción más larga. La complejidad y la duración de esta etapa está íntimamente ligada al o a los lenguajes de programación utilizados. Pruebas Consiste en comprobar que el software realice correctamente las tareas indicadas en la especificación. Una técnica de prueba es probar por separado cada módulo del software, y luego probarlo de forma integral, para así llegar al objetivo. Se considera una buena práctica el que las pruebas sean efectuadas por alguien distinto al desarrollador que la programó.
Documentación Todo lo concerniente a la documentación del propio desarrollo del software y de la gestión del proyecto, pasando por modelaciones (UML), diagramas, pruebas, manuales de usuario, manuales técnicos, etc.; todo con el propósito de eventuales correcciones, usabilidad, mantenimiento futuro y ampliaciones al sistema. Mantenimiento Mantener y mejorar el software para enfrentar errores descubiertos y nuevos requisitos. Esto puede llevar más tiempo incluso que el desarrollo inicial del software. Alrededor de 2/3 de toda la ingeniería de software tiene que ver con dar mantenimiento. Una pequeña parte de este trabajo consiste en arreglar errores, o bugs. La mayor parte consiste en extender el sistema para hacer nuevas cosas.
Después de ver las fases del desarrollo de software, podemos comprender la importancia de los requerimientos en la fase del diseño y las secuencias que sigue este proceso para desarrollar un software. Por lo que podemos concluir que: Un buen proceso de ingeniería de requerimientos permitirá un adecuado y correcto diseño del software a desarrollar.Los requerimientos son la base para el desarrollo de la fase de diseño, debido a que el diseñador del software sólo tendrá como fuente de consulta para el desarrollo de su tarea, lo reflejado en los requerimientos obtenidos en la fase anterior. El proceso de ingeniería de requerimientos se encuentran dentro de la primera fase de desarrollo de software y es el punto de partida y base de todo el desarrollo. Los requerimientos son utilizados en todas las fases de desarrollo de software, de ahí su importancia.
Importancia de la ir
Seguimiento de los requerimientos en fase diseño
Quer criar suas próprias Notas gratuitas com a GoConqr? Saiba mais.