La Especificacin es un documento que define, de forma completa, precisa y verificable, los requisitos, el diseo y el comportamiento u otras caractersticas, de un sistema o componente de un sistema.
Para la realizacin de un software es esencial tener una especificacin completa de los requerimientos. Aparte de lo bien que este diseado o codificado. Un proyecto mal especificado decepcionara al usuario y har fracasar el desarrollo del mismo. La forma de especificar tiene mucho que ver con la calidad de la solucin. Los ingenieros de software que se han esforzado en trabajar con especificaciones incompletas, inconsistentes o mal establecidas han experimentado la frustracin y confusin que invariablemente se produce.
Tipos de especificaciones.- Los requerimientos de software pueden ser analizados de varias formas diferentes. Las tcnicas de anlisis pueden conducir a una especificacin en papel que contenga las descripciones grficas y el lenguaje natural de los requerimientos del software. La construccin de prototipos conduce a una especificacin ejecutable, esto es, el prototipo sirve como una representacin de los requerimientos. Los lenguajes de especificacin formal conducen a representaciones formales de los requerimientos que pueden ser verificados o analizados.
Principios de Especificacin
La especificacin, independientemente del modo en que se realice, puede ser vista como un proceso de representacin. Los requerimientos se representan de forma que conduzcan finalmente a una correcta implementacin del software.
Eduardo Izquierdo Izquierdo 3B Ing. Rafael Gonzalo lvarez Campos Una buena especificacin debe procurar tener los siguientes puntos; separar funcionalidad de implementacin, una especificacin debe abarcar el entorno en el que el sistema opera, debe ser modificable.
Requerimientos funcionales y no funcionales.
La especificacin debe contener los requerimientos del sistema, la IEEE-830, 1998 divide los requerimientos en funcionales y no funcionales.
Los requerimientos funcionales: describen una interaccin entre el sistema y su ambiente, describen cmo debe comportarse el sistema ante determinado estmulo. Son declaraciones de los servicios que debe proporcionar el sistema, de la manera en que ste debe reaccionar a entradas particulares y de cmo se debe comportar en situaciones particulares. En algunos casos, tambin pueden declarar explcitamente lo que el sistema no debe hacer. Los requerimientos funcionales de un sistema describen lo que el sistema debe hacer.
Los requerimientos no funcionales: describen una restriccin sobre el sistema que limita nuestras elecciones en la construccin de una solucin al problema. Restringen los servicios o funciones ofrecidas por el sistema. Incluyen restricciones de tiempo, el tipo de proceso de desarrollo a utilizar, fiabilidad, tiempo de respuesta, capacidad de almacenamiento. Los requerimientos no funcionales ponen lmites y restricciones al sistema.