Posted by: Iván Garcerant on: 7-07-08
Generalmente hablamos en este blog de los llamados sistemas intensivos en software, donde la funcionalidad esta provista principalmente por la presencia de software apropiadamente programado. Es decir, que las características de esta clase de sistema se encuentran implementadas por medio de la escritura, compilación y ejecución de líneas de código.
Cuando hablamos de una característica requerida de la cual se sabe que va a ser satisfecha por medio de la adición de un subsistema o bloque de código en el software, entonces se dice que estamos ante un requisito funcional, por cuanto es un requisito que denota una funcionalidad del sistema.
Entonces, para el glosario:
Requisito Funcional: característica requerida del sistema que expresa una capacidad de acción del mismo – una funcionalidad; generalmente expresada en una declaración en forma verbal.
Por otra parte, no todo lo que los clientes nos van a solicitar es funcionalidad pura; por el contrario ellos desean otras cualidades, si se quieren generalidades, que no son objeto de codificación si bien es cierto que pueden llegar a afectar a esta.
Llamamos requisito no funcional a todas las exigencias de cualidades que se imponen al proyecto: exigencias de usar un cierto lenguaje de programación o plataforma tecnológica, por ejemplo. Un requisito no funcional es una característica ya sea del sistema, del proyecto o del servicio de soporte, que nos es requerida junto con la especificación del sistema pero que como ya dije, no se satisface añadiendo código, sino cumpliendo con esta como si de una restricción se tratara.
Ahora, como para el glosario:
Requisito no funcional: característica requerida del sistema, del proceso de desarrollo, del servicio prestado o de cualquier otro aspecto del desarrollo, que señala una restricción del mismo.
Según el tipo de sistema que estemos desarrollando, los requisitos funcionales serán mejor representados en un documento o en un caso de uso; en tanto que el tamaño del proyecto será lo que haga la diferencia entre tener un documento especifico o un anexo de la visión del sistema.
Recordemos que el objetivo de la ingeniería del software es el desarrollo de sistemas apegados a las necesidades del cliente, pero también ajustados a otros criterios, como el modelo de negocio, los recursos disponibles y el tiempo de entrega. Es obvio espero, que la ingeniería del software no solo ha de cumplir con la funcionalidad (escribir código ajustado a los requisitos funcionales) sino también con las cualidad suplementarias (requisitos no funcionales) o de lo contrario no cumplirá con su misión: desarrollar el software que se necesita en el momento y condiciones que se tienen disponibles; o dicho de otra manera, desarrollar software de calidad.
[...] sistemas deben efectuar operaciones automáticas en determinados momentos; y siendo esto un requisito funcional obvio, resulta de interés desarrollar alguna forma de capturar dicho requisito en el modelo de [...]
Muy aclarador, gracias!
¿Que el l Sistema de informacion a realizar sea Web es un requisito no funcional. ?
6-11-08 a 2:40 pm
Muchísimas gracias por este post!! soy estudiante de Ingeniería informática y llevo arrastrando esta duda desde hace ya un tiempo (y ha quedado totalmente solventada)
Gracias de nuevo.
Un saludo.