requerimientos no funcionales.docx

3
Requerimientos No Funcionales: Porque son importantes Todos los Servicios de Tecnología de Información (TI) en algún punto de su ciclo de vida, necesitan considerar los requerimientos no funcionales y las pruebas asociadas a los mismos. Para algunos proyectos, estos requerimientos implican una cantidad considerable de trabajo y esfuerzos, mientras que para otros no. Con frecuencia, los requerimientos no funcionales son ignorados o subestimados en la fase de análisis. El error, termina identificándose en la fase de implementación cuando remediarlos implica más trabajo y costo, pudiendo ocasionar que no sean adoptados por los usuarios y clientes. En este artículo se presenta una definición de que son los requerimientos no funcionales de un servicio de tecnología de información o un sistema, se describen las categorías en las que pueden clasificarse, las posibles consecuencias de no definirlos en la fase de Diseño y algunos ejemplos de requerimientos no funcionales. Que son los Requerimientos No Funcionales Los requerimientos no funcionales son los que especifican criterios para evaluar la operación de un servicio de tecnología de información, en contraste con los requerimientos funcionales que especifican los comportamientos específicos. Por lo general, el Plan para implementarlos requerimientos no funcionales se detalla en la Arquitectura del Sistema, mientras que el de los requerimientos funcionales se especifica en el Diseño. Los Requerimientos funcionales definen los criterios que este debe cumplir para que este sea adecuado para su propósito (Fitness-for- purpose), mientras que los requerimientos no funcionales especifican los criterios que debe cumplir para que sea adecuado para su uso (Fitness- for-use).

Upload: rafael-osorio

Post on 15-Sep-2015

17 views

Category:

Documents


0 download

DESCRIPTION

Requerimientos No Funcionales

TRANSCRIPT

Requerimientos No Funcionales: Porque son importantes

Todos los Servicios de Tecnologa de Informacin (TI) en algn punto de su ciclo de vida, necesitan considerar los requerimientos no funcionales y las pruebas asociadas a los mismos. Para algunos proyectos, estos requerimientos implican una cantidad considerable de trabajo y esfuerzos, mientras que para otros no.

Con frecuencia, los requerimientos no funcionales son ignorados o subestimados en la fase de anlisis. El error, termina identificndoseen la fase de implementacin cuando remediarlos implica ms trabajo y costo, pudiendo ocasionar que no sean adoptados por los usuarios y clientes.

En este artculo se presenta una definicin de que son los requerimientos no funcionales de un servicio de tecnologa de informacin o un sistema, se describen las categoras en las que pueden clasificarse, las posibles consecuencias de no definirlos en la fase de Diseo y algunos ejemplos de requerimientos no funcionales.

Que son los Requerimientos No Funcionales

Los requerimientos no funcionales son los que especifican criterios para evaluar la operacin de un servicio de tecnologa de informacin, en contraste con los requerimientos funcionales que especifican los comportamientosespecficos. Por lo general, el Plan para implementarlos requerimientos no funcionales se detalla en la Arquitectura del Sistema, mientras que el de los requerimientos funcionales se especifica en el Diseo.

Los Requerimientos funcionales definen los criterios que este debe cumplir para que este sea adecuado para su propsito (Fitness-for-purpose), mientras que los requerimientos no funcionales especifican los criterios que debe cumplir para que sea adecuado para su uso (Fitness-for-use).

Otros trminos usados para los requerimientos no funcionales pueden ser: Restricciones, Atributos de calidad, objetivos de calidad, requerimientos de calidad de servicio.

Categoras en las que pueden clasificarse

Se pueden clasificar en dos categoras: Cualidades observables en tiempo de ejecucin, como por ejemplo la usabilidad y la seguridad. Cualidades relacionadas con la evolucin del sistema, como por ejemplo Mantenibilidad, Comprobabilidad, Extensibilidad y Escalabilidad, las cuales estn inmersas en la estructura del sistema de software.

Algunos Requerimientos No Funcionales

Algunos ejemplos de requerimientos no funcionales son: Comprobabilidad: Grado en que un sistema, software o servicio de TI permite y facilita que sea probado en un determinado contexto. Disponibilidad: Corresponde al tiempo total en que un sistema puede ser usado en un perodo determinado. Tambin puede definirse el grado en que un sistema est en un estado operable definido cada vez que se necesite. Extensibilidad: Grado en que la implementacin del sistema toma en consideracin y facilita su crecimiento en el futuro. Escalabilidad: Capacidad de un sistema o servicio de TI de manejar una creciente carga de trabajo, por ejemplo mayor nmero de conexiones o usuarios. No debe confundirse con extensibilidad, que mide la capacidad del sistema de crecer en funcionalidades. Mantenibilidad:Mide la facilidad con que puede darse mantenimiento al producto (en este caso al software o servicio de TI), con la finalidad de: Desarrollar nuevos requerimientos, Aislar los defectos y sus causas, corregir estos defectos y atender las demandas del entorno cambiante. Seguridad:Grado de proteccin de los datos, software y plataforma de tecnologa de posibles prdidas, actividades no permitidas o uso para propsitos no establecidos previamente. Usabilidad:Definido como la facilidad de uso y aprendizaje de un Sistema, Software o Servicio de Tecnologa de Informacin.

Necesidad de definir los requerimientos no funcionales en trminos precisos y que puedan medirse

Para todo proyecto de TI, es crtico que los requerimientos no funcionales sean definidos con los usuarios, clientes y otros interesados en trminos precisos y medibles en la etapa de anlisis del proyecto. No hacerlo puede poner en riesgo el xito de un proyecto.

Por ejemplo, tomando el caso de los tiempos de respuesta de un sistema, lo cual podra clasificarse en disponibilidad, que sucedera si no se definiera el tiempo de respuesta deseado en la fase de anlisis?, o si se definiera en trminos imprecisos, como por ejemplo indicado, "Se necesita un tiempo de respuesta aceptable".

Al llegar a la fase de implementacin,quizsen sistema tendra un tiempo de respuesta, digamos de 15 segundos(debido a muchas plataformas remotas y bases de datos involucradas), pero el usuario lo necesitaba en menos de 5 segundos, para por ejemplo, evitar que se forme una fila muy larga para atender a clientes.

Errores como esto pudieran ocasionar inclusive que el usuario final decidiera no usar el nuevo sistema, haciendo fracasar el proyecto.

Por ende, es importante definir los requerimientos con mtricas que puedan establecer sin lugar a duda que el sistema o servicio de TI desarrollado cumple los parmetros no funcionales solicitados.

Otros requerimientos no funcionales:

Otros requerimientos no funcionales pueden ser: Accesibilidad, Capacidad, Cumplimiento, Documentacin, Requerimientos de despliegue, Efectividad, Eficiencia, Tolerancia a fallos, Modificabilidad, Operabilidad, Portabilidad, Confiabilidad, entre otros.