lunes, 2 de marzo de 2009

Requerimientos de un sistema


Requerimientos de un sistemaLos requerimientos de un sistema de software, cuando se ven en su conjunto son extensos y detallados, y además contienen múltiples relaciones entre sí. Lo que nos da a concluir, de acuerdo a lo expuesto en el capítulo de complejidad en el software, que el conjunto de requerimientos de un sistema computacional es complejo.

El análisis de requerimientos consiste brevemente en los siguientes pasos:


En ingeniería de sistemas existen tres tipos de requerimientos.

  • Un requerimiento funcional puede ser una descripción de lo que un sistema debe hacer. Este tipo de requerimiento específica algo que el sistema entregado debe ser capaz de realizar.
  • Un requerimiento no funcional: de rendimiento, de calidad, etc.; especifica algo sobre el propio sistema, y cómo debe realizar sus funciones. Algunos ejemplos de aspectos solicitables son la disponibilidad, el testeo, el mantenimiento, la facilidad de uso, etc.
  • Otros tipos de limitaciones externas, que afectan en una forma indirecta al producto. Estas pueden ir desde la compatibilidad con cierto sistema operativo hasta la adecuación a leyes o regulaciones aplicables al producto.


Una colección de requerimientos describe las características o atributos del sistema deseado. Se omite el cómo debe lograrse su implementación, ya que esto debe ser decidido en la etapa de diseño por los diseñadores.


En la ingeniería de software se aplica el mismo significado, sólo que el énfasis está puesto en el propio software.

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.
  • No ambiguo: El texto debe ser claro, preciso y tener una única interpretación posible.
  • Conciso: Debe redactarse en un lenguaje comprensible por los inversores en lugar de uno de tipo técnico y especializado, aunque aún así debe referenciar los aspectos importantes
  • Consistente: Ningún requerimiento debe entrar en conflicto con otro requerimiento diferente, ni con parte de otro. Asimismo, el lenguaje empleado entre los distintos requerimientos debe ser consistente también.
  • Completo: Los requerimientos deben contener en sí mismos toda la información necesaria, y no remitir a otras fuentes externas que los expliquen con más detalle.
  • Alcanzable: Un requerimiento debe ser un objetivo realista, posible de ser alcanzado con el dinero, el tiempo y los recursos disponibles.
  • Verificable: Se debe poder verificar con absoluta certeza, si el requerimiento fue satisfecho o no. Esta verificación puede lograrse mediante inspección, análisis, demostración o testeo.


Estas características suelen ser subjetivas, es decir, no pueden ser calculadas de forma automática por ningún sistema. Por ello, se tiende a medir otras métricas o indicadores que sí que pueden ser calculados de forma automática y que, de algún modo, pueden sustituir o mapear con esta lista de características.


En la ingeniería de sistemas y la ingeniería de software la Ingeniería de requerimientos comprende todas las tareas relacionadas con la determinación de las necesidades o de las condiciones a satisfacer para un software nuevo o modificado, tomando en cuenta los diversos requerimientos de los inversores, que pueden entrar en conflicto entre ellos.


Una terminología usada a veces pero no completamente análoga es "Ingeniería de Requisitos". Esta ingeniería comprende, básicamente, todo el proceso y tareas involucradas en la Captura, Elicitación, Análisis y Especificación de Requisitos o requerimientos. La comunidad internacional se decantó por el uso de la palabra Requerimientos en lugar de Requisitos, para resolver una posible ambigüedad en el uso de los términos. Actualmente el usar la palabra "Requisito" debe ser documentado explicando el motivo su uso en lugar del término consensuado.


El propósito de la ingeniería de requerimientos es hacer que los mismos alcancen un estado óptimo antes de alcanzar la fase de diseño en el proyecto. Los buenos Requerimientos deben ser medibles, comprobables, sin ambigüedades o contradicciones, etc.


Fases de implementación


Desde un punto de vista conceptual, las actividades son de 5 clases.

  • Obtener requerimientos: A través de entrevistas o comunicación con clientes o usuarios, para saber cuáles son sus deseos.
  • Analizar requerimientos: Detectar y corregir las falencias comunicativas, transformando los requerimientos obtenidos de entrevistas y requerimientos, en condiciones apropiadas para ser tratados por el diseño.
  • Documentar requerimientos: Igual que todas las etapas, los requerimientos deben estar debidamente documentados.
  • Verificar los requerimientos: Consiste en comprobar el correcto funcionamiento de un requerimiento en la aplicación
  • Validar los requerimientos: Comprobar que los requerimientos implementados se corresponden con lo que inicialmente se pretendia.

7 comentarios:

  1. Con los requerimientos de un sistemas podremos saber las caracteristicas, los requisitos para saber que tan complejo es un software

    ResponderEliminar
  2. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  3. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  4. Los invito a mi blog en el hablo un poco acerca de los requerimientos http://blog.furiosojack.com/2017/04/requisitos-o-requerimientos-funcionales.html

    ResponderEliminar