Saltar al contenido
Codif铆ca.me | Desarrollo web | Programaci贸n

Introducci贸n a la Ingenier铆a de requisitos

30 septiembre, 2015

La ingenier铆a de requisitos es la disciplina que trata de desarrollar el software correcto, trantando de obtener el producto que realmente quiere o necesita el cliente.
Aunque tiene mucha relaci贸n con la ingenier铆a del software, no entra en detalle de como desarrollar la aplicaci贸n sino solamente de que cualidades tiene que tener para ser la aplicaci贸n que necesita el cliente.

Obviamente, antes de comenzar a desarrollar un determinado software tendremos que evaluar que requisitos tiene ese software y el coste de cada uno de esos requisitos para determinar el coste final que puede tener el producto.

As铆 pues, la ingenier铆a de requisitos tiene como objeto identificar y gestionar el conjunto de requisitos que dar谩n como resultado el software que vamos a desarrollar.

Stakeholders y requisitos

Los stakeholders son todas las personas, usuarios y entidades que tienen alg煤n inter茅s en el producto.

Los requisitos son todas las caracter铆sticas que algun stakeholders puede esperar del producto.

Ingenier铆a de requisitos

Est谩 formado por el conjunto de las siguientes tareas

  • Obtenci贸n de requisitos.
  • Gesti贸n de requisitos
  • Documentaci贸n de requisitos
  • Validaci贸n de requisitos
  • Verificaci贸n de requisitos

Problemas que nos encontramos en la ingenier铆a de requisitos

  • Diferencias entre los requisitos de los diferentes stakeholders
  • Limitaciones de los diferentes lenguajes de comunicaci贸n
  • Dificultad para elegir los requisitos que pueden ser mejores

Los tipos de Requisitos

Dentro de los requisitos que podemos encontrar vamos a hacer una lista de los m谩s frecuentes y como agruparlos:

  • Requisitos
    • Requisitos de producto
      • Requisitos Funcionales
        • Requisitos de funcionalidad
        • Requisitos de datos
      • Requisitos No funcionales
        • Requisitos de Presentaci贸n
        • Requisitos de usabilidad
        • Requisitos de Cumplimiento
        • Requisitos de entorno
        • Requisitos Culturales
        • Requisitos Legales
    • Requisitos de proceso

Obtenci贸n de requisitos

En esta etapa obtendremos todos los requisitos que pueden necesitar los distintos stakeholders,
en muchos casos estos requisitos ser谩n iguales para distintos stakeholders, en otros casos entrar谩n en conflicto por que no ser谩 viable realizar ambos requisitos,
no obstante en esta parte de obtenci贸n de requisitos vamos a intentar recopila el mayor n煤mero de requisitos.

 software photo

Todos los requisitos que hayamos obtenido en esta parte ser谩n requisitos candidatos que m谩s tarde veremos si seguir谩n adelante en el desarrollo de la aplicaci贸n.

Gesti贸n de requisitos

En esta fase vamos a ver cuales de esos requisitos candidatos pasar谩n a formar parte de los requisitos de producto, primero con un buen analisis de requisitos que consisten en identificar bien los requisitos, ver dependencias y solapamientos entre ellos.

Despu茅s habr谩 que priorizar cuales son los requisitos por orden de importancia ya que muchas veces no se pueden desarrollar absolutamente todos los requisitos que necesita un cliente.

Ahora pasar铆amos al momento de la estimaci贸n de estos requisitos, para poder valorar econ贸micamente cual es el precio de desarrollar cada requisito.

 software photo

Por 煤ltimo pasar铆amos a seleccionar los requisitos que queremos desarrollar, una vez que tenemos todas las ideas claras, es el momento de seleccionar los requisitos.

Acabadas estas fases, lo l贸gico es que volvamos a hacer otra estimaci贸n sobre los requisitos, y empecemos de nuevo a repasar desde la fase uno de la gesti贸n de requisitos, para estar seguro de que hemos escogido lo que finalmente queremos desarrollar,

Documentaci贸n de requisitos

En esta fase vamos a documentar los requisitos que finalmente se desarrollar谩n. Es muy importante documentar bien esta parte porque ser谩 de alguna manera el contrato entre lo que los desarrolladores y los stakeholders trabajar谩n.
 software photo
Para la documentaci贸n de requisitos ser谩 muy 煤til utilizar las historias de usuario, los casos de uso y el lenguaje UML, que nos valdr谩n para describir el nivel de detalle de los requisitos.

Validaci贸n de requisitos

Llegados a esta fase ya tendremos los requisitos seleccionados y documentados. En la documentaci贸n se reflejar谩 las necesidades de los stakeholders.
Para estar seguros de que esos requisitos son finalmente los que vamos a desarrollar nos reuniremos de nuevo con los stakeholders y explicaremos a modo de validaci贸n lo que finalmente se va a desarrollar.

Verificaci贸n de requisitos

Despu茅s del desarrollo del software es necesario validar con los stakeholders que los requisitos funcionan tal y como hab铆amos documentado y validado en las fases anteriores.
Por lo que se realizar谩n las pruebas necesarias para lograr la verificaci贸n de los requisitos.