Apuntes
Importancia de la IR
Contenido del apunte (1)
Página 1
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
Información
- Descripción
- EL IMPACTO DE LA INGENIERÍA DE REQUERIMIENTOS EN EL PROCESO DE DESARROLLO DE SOFTWARE
- Creado por
- tulioceron · oct 2014
- Actualizado
- 29 sep 2018
- Visitas
- 184
- Valoración