Requerimientos Funcionales y No Funcionales

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 6

La ingeniera de requisitos facilita el mecanismo apropiado para comprender lo que quiere el cliente, analizando necesidades, confirmando su viabilidad, negociando

una solucin razonable, especificando la solucin sin ambigedad, validando la especificacin y gestionando los requisitos para que se transformen en un sistema operacional. Los requerimientos para un sistema de software determinan lo que har el sistema y definen las restricciones de su operacin e implementacin. El proceso de ingeniera de requisitos puede ser descrito en 5 pasos distintos: identificacin de requisitos, Anlisis de requisitos y negociacin, Especificacin de requisitos, Modelizado del sistema, Validacin y gestin de requisitos. IDENTIFICACION DE REQUISITOS Christel y Kang identifican una serie de problemas que nos ayudan a comprender por qu la obtencin de requisitos es costosa. Problemas de alcance. El lmite del sistema est mal definido o los detalles tcnicos innecesarios, que han sido aportados por los clientes/usuarios, pueden confundir ms que clarificar los objetivos del sistema. Problemas de comprensin. Los clientes no estn completamente seguros de lo que necesitan, tienen una pobre comprensin de las capacidades y limitaciones de su entorno de computacin, no existe un total entendimiento del problema, etc. Problemas de volatilidad. Los requisitos cambian con el tiempo. ANLISIS Y NEGOCIACIN DE REQUISITOS Una vez recopilados los requisitos, el producto obtenido configura la base del anlisis de requisitos. Los requisitos se agrupan por categoras y se organizan en subconjuntos, se estudia cada requisito en relacin con el resto, se examinan los requisitos en su consistencia, completitud y ambigedad, y se clasifican en base a las necesidades de los clientes/usuarios. Es corriente en clientes y usuarios solicitar ms de lo que puede realizarse, consumiendo recursos de negocios limitados. Tambin es relativamente comn en clientes y usuarios el proponer requisitos contradictorios, argumentando que su versin es esencial por necesidades especiales. El ingeniero del sistema debe resolver estos conflictos a travs de un proceso de negociacin. Los clientes, usuarios y el resto de intervinientes debern clasificar sus

requisitos y discutir los posibles conflictos segn su prioridad. Los riesgos asociados con cada requisito sern identificados y analizados. Se efectan estimaciones del esfuerzo de desarrollo que se utilizan para valorar el impacto de cada requisito en el costo del proyecto y en el plazo de entrega. Utilizando un procedimiento iterativo, se irn eliminando requisitos, se irn combinando y/o modificando para conseguir satisfacer los objetivos planteados. ESPECIFICACION DE REQUERIMIENTOS El termino requerimiento no se utiliza de forma consistente en la industria del software. En algunos casos, un requerimiento se visualiza como una declaracin abstracta de alto nivel de un servicio que debe proveer el sistema o como una restriccin de ste. Por otro lado, es una definicin matemtica detallada y formal de una funcin del sistema REQUERIMIENTOS FUNCIONALES Y NO FUNCIONALES A menudo los requerimientos de sistemas de software se clasifican en funcionales y no funcionales, o como requerimientos del dominio. Requerimientos funcionales Son declaraciones de los servicios que proveer el sistema, de la manera en que ste reaccionar a entradas particulares. En algunos casos, los requerimientos funcionales de los sistemas tambin declaran explcitamente lo que el sistema no debe hacer. Los requerimientos funcionales de un sistema describen la funcionalidad o los servicios que se espera que ste provea. Estos dependen del tipo de software y del sistema que se desarrolle y de los posibles usuarios del software. Cuando se expresan como requerimientos del usuario, habitualmente se describen de forma general mientras que los requerimientos funcionales del sistema describen con detalle la funcin de ste, sus entradas y salidas, excepciones, etc. Muchos de los problemas de la ingeniera de software provienen de la imprecisin en la especificacin de requerimientos. Para un desarrollador de sistemas es natural dar interpretaciones de un requerimiento ambiguo con el fin de simplificar su implementacin. Sin embargo, a menudo no es lo que el cliente desea. Se tienen que estipular nuevos requerimientos y se deben hacer cambios al sistema, retrasando la entrega de ste e incrementando el costo. Requerimientos no funcionales Son restricciones de los servicios o funciones ofrecidos por el sistema. Incluyen restricciones de tiempo, sobre el proceso de desarrollo, estndares, etc.

Son aquellos requerimientos que no se refieren directamente a las funciones especficas que entrega el sistema, sino a las propiedades emergentes de ste como la fiabilidad, la respuesta en el tiempo y la capacidad de almacenamiento. De forma alternativa, definen las restricciones del sistema como la capacidad de los dispositivos de entrada/salida y la representacin de datos que se utiliza en la interface del sistema. Muchos requerimientos no funcionales se refieren al sistema como un todo ms que a rasgos particulares del mismo. Esto significa que a menudo con ms crticos que los requerimientos funcionales particulares. Mientras que el incumplimiento de este ltimo degradar el sistema, una falla en un requerimiento no funcional del sistema lo inutiliza. Los requerimientos no funcionales surgen de la necesidad del usuario, debido a las restricciones en el presupuesto, a las polticas de la organizacin, a la necesidad de interoperabilidad con otros sistemas de software o hardware o a factores externos como los reglamentos de seguridad, las polticas de privacidad, etctera. Estos diferentes tipos de requerimientos se clasifican de acuerdo con sus implicaciones. Requerimientos del producto. Especifican el comportamiento del producto; como los requerimientos de desempeo en la rapidez de ejecucin del sistema y cunta memoria se requiere; los de fiabilidad que fijan la tasa de fallas para que el sistema sea aceptable; los de portabilidad y los de usabilidad. Requerimientos organizacionales. Se derivan de las polticas y procedimientos existentes en la organizacin del cliente y en la del desarrollador: estndares en los procesos que deben utilizarse; requerimientos de implementacin como los lenguajes de programacin o el mtodo de diseo a utilizar, y los requerimientos de entrega que especifican cundo se entregar el producto y su documentacin. Requerimientos externos. Se derivan de los factores externos al sistema y de su proceso de desarrollo. Incluyen los requerimientos de interoperabilidad que definen la manera en que el sistema interacta con los otros sistemas de la organizacin; los requerimientos legales que deben seguirse para asegurar que el sistema opere dentro de la ley, y los requerimientos ticos. Estos ltimos son impuestos al sistema para asegurar que ser aceptado por el usuario y por el pblico en general. Un problema comn con los requerimientos no funcionales es que algunas veces son difciles de verificar. Se redactan para reflejar las metas generales del usuario, como la facilidad de uso, la capacidad del sistema para recuperarse de las fallas o la respuesta rpida al usuario. Estos requerimientos causan problemas a los desarrolladores del sistema puesto que dejan abierta la posibilidad a la interpretacin, lo que provoca discusiones subsecuentes una vez que el sistema se entregue.

De forma ideal, los requerimientos no funcionales no se deben expresar de manera cuantitativa utilizando mtricas que se puedan probar de forma objetiva. En la prctica, la especificacin cuantitativa de requerimientos es difcil. A los clientes no les es posible traducir sus metas en requerimientos cuantitativos; para algunas de stas, como las de mantenimiento, no existen mtricas que se puedan utilizar; el costo de verificar de forma objetiva los requerimientos no funcionales cuantitativos es muy alto. En principio, los requerimientos funcionales y no funcionales se diferencian en el documento de requerimientos. En la prctica, esto es difcil. Si un requerimiento no funcional se declara de forma separada a los funcionales, algunas veces es difcil ver la relacin entre ellos. Si se declaran con los requerimientos funcionales, es difcil separar las condiciones funcionales y no funcionales e identificar los requerimientos que se refieren al sistema como un todo. Se debe hallar un balance apropiado que dependa del tipo de sistema a especificar. Sin embargo, los requerimientos que claramente se refieren a las propiedades emergentes del sistema se deben resaltar. Esto se hace colocndolos en una seccin aparte o diferencindolos, de alguna forma, de los otros requerimientos del sistema. REQUERIMIENTOS DEL USUARIO Y DEL SISTEMA Algunos de los problemas que surgen durante el proceso de ingeniera de requerimientos son resultado de no hacer una clara separacin entre los diferentes niveles de descripcin. Esto se hace utilizando requerimientos del usuario para determinar los requisitos abstractos de alto nivel, y requisitos del sistema, para designar la descripcin detallada de lo que el sistema debe hacer. De igual forma que en estos dos niveles de detalle, se puede producir una descripcin ms detallada para establecer un puente entre la ingeniera de requerimientos y las actividades de diseo. Los requerimientos del usuario, los del sistema y la especificacin del diseo de software se definen de la siguiente manera: Requerimientos del usuario Son declaraciones en lenguaje natural y en diagramas de los servicios que se espera que el sistema provea y de las restricciones bajo las cuales debe operar. Describen los requerimientos funcionales y no funcionales de tal forma que sean comprensibles por los usuarios del sistema que no posean un conocimiento tcnico detallado. nicamente especifican el comportamiento externo del sistema y evitan, tanto como sea posible, las caractersticas de diseo del sistema. Por consiguiente, los requerimientos del usuario no se deben definir utilizando un modelo de implementacin. Deben redactarse utilizando el lenguaje natural, representaciones y diagramas intuitivos sencillos.

Sin embargo, pueden surgir diversos problemas cuando se redactan en lenguaje natural: falta de claridad, confusin de requerimientos y conjuncin de requerimientos. Los requerimientos del sistema Establecen con detalle los servicios y restricciones del sistema. El documento de requerimientos del sistema, algunas veces denominado especificacin funcional, debe ser preciso. ste sirve como un contrato entre el comprador del sistema y el desarrollador del software. Son descripciones ms detalladas de los requerimientos del usuario. Sirven como base para definir el contrato de la especificacin del sistema y, por lo tanto, debe ser una especificacin completa y consistente del sistema. Son utilizados por los ingenieros de software como el punto de partida para el diseo del sistema. La especificacin de requerimientos del sistema incluye diferentes modelos del sistema como el de objetos o el de flujo de datos.

Requisito Funcional: Describen los servicios que se esperan del sistema. Requisito no funcional: caracterstica requerida del sistema, del proceso de desarrollo, del servicio prestado o de cualquier otro aspecto del desarrollo, que seala una restriccin del mismo.

También podría gustarte