El
presente trabajo busca abordar el tema de la ingeniería de requisitos y los
problemas que se dan en el proceso del levantamiento de la información que
pueden provenir de diversas fuentes ya que en esta se mezclan los prejuicios de
analistas, gerentes, usuarios, programadores y las técnicas que se utilicen en
la recolección de los datos.
En
este sentido abordaremos el rol de cada persona involucrada en el proceso y
como debe esta aportar en un proceso que es sumamente importante para evitar
errores futuros.
ABSTRACT
La
ingeniería de requisitos es un elemento vital para el desarrollo de softwares
robustos y maduros, pero esto no se logra por el simple hecho de conocer la
técnica, basta saber aplicarla y dominar todas las herramientas que se utilizan
en la misma, pero además, se debe tomar en cuenta el rol que deben jugar todas
y cada una de las personas involucradas en este proceso.
PALABRAS
CLAVES
Ingeniería Software,
Ingeniería Requisitos, Análisis, Diseño, Desarrollo sistemas.
INGENIERÍA
DE REQUISITOS
La
ingeniería de requisitos es un proceso primordial en el desarrollo de un
software maduro y funcional por eso varios autores tratan el tema en sus
libros:
“La ingeniería de requisitos facilita el mecanismo
apropiado para comprender lo que quiere el cliente, analizando necesidades,
confirmando su viabilidad, negociando una solución razonable, especificando la
solución sin ambigüedad, validando la especificación y gestionando los
requisitos para que se transformen en un sistema operacional.” (Pressman,2002.
P.172)
Desde el punto de vista de Pressman esta herramienta
es sumamente importante porque esta facilita todo el proceso de desarrollo de
software pero además de esto entrega programas funcionales y con el mínimo de
errores.
Por su parte Somerville lo ve de esta manera
“La meta del proceso de ingeniería de requerimientos es crear y mantener un
documento de requerimientos del sistema. El proceso general corresponde cuatro
subprocesos de alto nivel de la ingeniería de requerimientos. Estos tratan de
la evaluación de si el sistema es útil para el negocio (estudio de viabilidad);
el descubrimiento de requerimientos (obtención y análisis); la transformación
de estos requerimientos en formularios estándar (especificación), y la
verificación de que los requerimientos realmente definen el sistema que quiere
el cliente (validación).” (2005: P.130).
Viéndolo
desde esta óptica el objetivo de la ingeniería de requerimientos no es sólo
entregar un software funcional, pues el proceso empieza mucho antes, inicia
verificando si es factible desarrollar un sistema para la organización, de esto
ser factible es que se procede a hacer el levantamiento y posterior análisis.
Terminado
este proceso se crean las especificaciones del software y el diseño de los
formularios que posteriormente son presentados al cliente para que sea este
quien valide si el prototipo que sea ha realizado es el más ajustado a las
necesidades actuales de la empresa o si requiere ajustes para cumplir con los
requerimientos de la empresa.
Pero
hasta este punto puede que se vea este proceso como algo sencillo y atractivo,
pero lo cierto es que muchos desarrolladores no manejan estos procesos a la
perfección y en vez de lograr un estándar de desarrollo que los lleve a crear
softwares maduros y robustos terminan creando lo que muchos llamarían “un
desorden organizado”.
Pero
lograrlo va más allá de simples palabras pues requiere de involucrar a todos
los que de una forma u otra tengan que ver en el proceso estos son:
Los usuarios
Frecuentemente
saben que lo que tienen no les ayuda y que necesitan un cambio, pero al momento
de pedir o de ser entrevistados no saben expresar que hacen ni cuáles son sus
funciones, pero mucho menos son capaces de saber lo que quieren ni como
pedirlo.
Otro
problema que se puede enfrentar es que los mismos estén predispuestos al cambio
de un nuevo sistema bien sea porque es una imposición de la gerencia o porque
no se sienten parte de proceso.
El Analista
Muchas
veces el analista no está muy empapado del asunto y desconoce la naturaleza y
los objetivos del negocio quizás porque no se preocupó en investigarlos o bien
porque les fueron explicados y el mismo no los entendió, ha de ser el analista
una persona entendida en la materia y con la suficiente capacidad y sabiduría
para saber cuáles puntos levantar y cuales son primordiales en un proceso que
puede definir el éxito o el fracaso del proyecto.
El Diseñador
Si
el Diseñador no entiende lo que en su
levantamiento plasmó el analista o simplemente decide cambiarlo por entender
que no es así puede esto afectar seriamente el proceso y por tanto no se
estarían creando las interfaces que inicialmente fueron concebidas por el
analista y que dan al traste con lo requerido por el cliente.
El programador
Cuando
la situación realmente se complica es cuando es el programador el que entiende
algo distinto y decide desarrollar de acuerdo a sus creencias y convicciones,
cuando esto sucede si puede representar serios problemas que pueden entregar un
programa inestable y poco funcional que en nada aporta a la empresa.
Manejo de las técnicas
Por
demás está decir que para una exitosa ingeniería de requerimientos el analista
debe dominar las técnicas de recolección de información como son: entrevistas,
encuestas, cuestionarios, formularios, modelos, contratos, la observación y
todos los instrumentos que le puedan ayudar a levantar información.
Si
el analista no domina estas técnicas tampoco será posible que logre hacer un
levantamiento que retrate la real situación de la empresa y lo que esta
requiere para lograr sus objetivos de negocio.
Conocimiento del Negocio
Conocer
el negocio es una parte muy importante en este proceso, como se mencionaba en
el apartado del analista este debe conocer al 100% el negocio en el cual
aplicará la ingeniería de requisitos y esto debe ser extensivo a todo el equipo
involucrado en el proyecto pues este elemento también es vital para poder
aplicar las técnicas y herramientas correctas para lograr un software de
calidad y ajustado a los requerimientos de la parte interesada.
La
ingeniería de requisitos no sólo es un paso más para llenar formalidades es
todo un proceso vital que va a facilitar que la empresa pueda llevar a cabo
proyectos exitosos.
Esto
debe ser tomado en cuenta por toda aquella persona que pertenezca a una empresa
de software o que esté interesada en realizar proyectos de calidad dentro de su
empresa.
Por
eso se entiende que todo proyecto que se emprenda debe ser realizado bajo estas
especificaciones que influyen en la creación de softwares maduros.
BIBLIOGRAFÍA
Madé Serrano, N. (2009). Metodología de
la Investigación Científica: Guías para Redactar Trabajos de Investigación
(2da Edición). República Dominicana: Impresora Soto Castillo S.A.