Tipos de requisitos: Funcional vs. No Funcional

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.

, , , , , , ,

  1. #1 por ErSocio el 6-11-08 - 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.

  2. #2 por German el 23-01-09 - 8:50 am

    Muy aclarador, gracias!

  3. #3 por ramiro el 29-04-09 - 6:03 pm

    ¿Que el l Sistema de informacion a realizar sea Web es un requisito no funcional. ?

    • #4 por Iván Garcerant el 29-04-09 - 7:13 pm

      Yo lo consideraría como no-funcional.

      En general, las restricciones de plataforma o lenguaje, son consideradas requisitos no funcionales. Igual pasa con el idioma de la interfaz o el esquema de colores para una pantalla.

      • #5 por Julian Andres Linares el 7-04-11 - 10:04 pm

        Algien me puede ayudar con la siguiente pregunta, en terminos generales para una drogueria, que acciones serian funcionales y cuales no funcionales?

      • #6 por Iván Garcerant el 8-04-11 - 12:02 am

        En términos generales todas las acciones son requisitos funcionales. «Registrar las ventas» o «Reponer el inventario» son acciones, por lo que en el sistema seguramente habrá código que ejecute lo indicado en el requisito y por ello se dice, que son requisitos funcionales.

        Serán en cambio requisitos no funcionales, si el cliente te pide que hagas el sistema en Windows o en Linux, si te indica que uses el idioma español o que programes en Java. Dichas indicaciones son opciones que se han tomado, quizás con buenas razones, pero hay otras tecnologías posibles y sin embargo tú te tendrás que ajustar a esas elecciones ya que el cliente te lo ha requerido. Es decir, son requisitos no funcionales.

    • #7 por damian el 16-05-12 - 1:20 pm

      es una implementacion 🙂

  4. #8 por christian el 21-08-09 - 12:35 am

    Gracias por tu post, me fue muy util para comprender mejor esto de los requisitos Funcionales y No Funcionales, fue muy claro y preciso.

    Creo que estos conceptos son muy importantes a la hora de hacer sistemas grandes y para que si el proyecto crece o necesita amplirase no se nos complique y se nos salga de las manos.

  5. #9 por daniadelita el 9-09-09 - 9:42 am

    Hola!
    Q buena explicacion de los requisitos
    la verdad tenia muchas dudas
    y qdaron todas aclaradas

  6. #10 por gina el 17-09-09 - 8:47 pm

    muchas gracias por la informacion me servio de mucho

  7. #11 por Fran el 12-10-09 - 9:39 am

    Buenas! Me gusta el post que habeis creado, muchas gracias. Pero tengo una duda.
    Si tu proyecto es el de una aplicacion para controlar los libros de una biblioteca.
    Por ejemplo: si el usuario tiene un limite de libros a alquilar. es funcional o no funcional?
    Y si el bibliotecario es el responsable de poner cuantos libros hay en la biblioteca es funcional o no?

    Muchas gracias (se nota demasiado que tengo que hacer este ejercicio para clase no?) jajajajaj

    • #12 por Iván Garcerant el 19-10-09 - 4:25 am

      Yo diría que es funcional. Se puede ver como una función que hace respetar una regla de negocio. Además es bastante fácil expresar esta restricción en nuestros casos de uso y ciertamente hay que escribir un código apropiado para hacerla respetar.

  8. #13 por Guillermo el 19-10-09 - 8:01 pm

    cuales son los 7 requerimiento NO FUNCIONALES?

  9. #15 por Martin el 18-11-09 - 3:24 pm

    Genial che! Gracias!

  10. #16 por Natalia el 21-03-10 - 11:35 am

    Hola, espero q alguien conteste =P… tengo que sacar dos ejemplos de cada requerimiento de un sistema que permite en una web, ver los datos horarios materias y profesorres de los alumnos de un colegio y ademas ver la informacion de dicho colegio… si alguien me ayuda por favor! gracias…

    • #17 por Iván Garcerant el 21-03-10 - 8:45 pm

      Saludos Natalia.

      Aquí siempre que podemos respondemos. Puedes preguntar todo lo que quieras que ya verás que tarde o temprano recibes una respuesta.

      Según te entiendo, necesitas dos requerimientos funcionales y dos requerimientos no funcionales que sirvan de ejemplo para el caso que planteas. Te doy uno de cada uno para que no se diga que te hago la tarea.

      Requerimiento no funcional:

      La página Web debe ser presentada al usuario en el idioma de preferencia. Ha de dar soporte al español, al inglés y al francés.

      Requerimiento funcional:

      La aplicación debe mostrar los datos de los horarios de las materias a los profesores y si se solicita, la información de los estudiantes inscritos en una clase especifica.

      Espero te haya podido ayuda. Cualquier cosa no dudes en preguntar de nuevo.

      Iván.

      • #18 por maite el 7-04-10 - 10:46 pm

        ivan donde puedo encontrar mas informacion sbre los tipos de requisitos

  11. #19 por maite el 7-04-10 - 10:42 pm

    hola necesito alguna informacion sobre lor requerimientos de confiabilidad.legales y de interfaz de ususario.
    Donde puedo encontrar informacion sobre este tema,lo necesito urgentemente,gracias

    • #20 por Iván Garcerant el 15-04-10 - 11:57 pm

      Saludos Maite.

      He estado considerando ya por unos días tu pregunta y de momento estoy listo para responderte por los requisitos legales. De hecho he hecho todo un artículo nuevo sobre el particular.

      Por favor mira mi artículo Requisitos legales y me cuentas si te fue útil.

      En cuanto a los otros dos tipos que mencionas, los de confiabilidad y los de interfaz de usuario, estoy trabajando en una respuesta completa, también en la forma de artículos nuevos.

      Iván.

  12. #21 por natalia el 25-08-10 - 10:04 am

    hola no comprendo los requisitos no funcionales
    alguien me explica como los saco…….

    • #22 por Gunnar el 23-02-11 - 12:09 am

      Muy a grandes rasgos… Podrías tomar como requisitos funcionales el «¿qué tiene que hacer?», en contraposición de los requisitos no funcionales, «¿cómo tiene que hacerlo?».

      Pero nuevamente, es sólo una primer aproximación. De esa primer separación, seguramente tendrás que ajustar mucho a mano.

  13. #24 por Juan el 8-02-11 - 7:25 pm

    No soy especialista en sistemas pero los conceptos son claros, yo tendría una duda adicional que perfil debería tener una persona que debe definir los requerimientos no funcionales RNF. Se deberían de analizar desde el Compliance?

  14. #25 por Jorge el 20-02-11 - 8:18 pm

    La verdad que aclara muy bien la diferencia entre estos dos conceptos. Te felicito!!

  15. #26 por Grace el 29-07-11 - 9:33 pm

    Hola nunca participe de estos dialogos, pero veo que estan muy buenos, hay gente que es muy solidaria con los que no entendemos algunas cosas. Mi caso es que no se cuales serian los requisitos funcionales para mi negocio de venta de productos antiguos. Estoy recursando una materia en la que debo poner estos requisitos-.
    Gracias.

  16. #27 por Juan Carlos Reátegui el 18-10-11 - 1:01 pm

    En la Heladería Guayos estamos haciendo una aplicación que toma datos de los equipos de fabricar helados por medio de un sensor automático y lo envía vía web a un host para tener los datos por medio de un web service, pero ademas debe indicar debe indica de que sabor es : aguaje, camu camu o taperiva.
    Estoy en un dilema si es funcional o no funcional. Me comere un Helado de Aguaymanto (mullaca) para ver si resuelvo mi duda.

    • #28 por Cal el 24-04-12 - 7:08 am

      A ver, otro enfoque práctico, si nos aclaramos… Un requisito NO funcional es una imposición del cliente que sería aplicable a otros proyectos, por lo general, mientras que un requisito funcional hace referencia a una particularidad del negocio que se quiere informatizar.

      Por lo tanto en el momento en que me hablas de que tu sistema debe considerar un dato como es el «sabor del helado», estamos claramente hablando de un requisito funcional, porque es una necesidad concreta de ese negocio.

  17. #29 por José el 25-10-11 - 11:47 pm

    Simplemente gracias, soy estudiante de Ingeniería de Telecomunicaciones y justamente estoy llevando un curso de sistemas de información; reitero las gracias.
    P.S Me fue excesivamente útil.

  18. #30 por jhamer el 19-11-11 - 1:13 am

    hola que tal, he estado observando las respuestas y en verdad que son muy convincentes y he aclarado algunas dudas..pero de todas maneras necesito una alluda sobre mi proyecto..necesito saber los requisitos no funcionales para una botica….(requisitos de calidad de producto,la aplicacion de standares).. porfavor estare esperando una respuesta muy acertiva..gracias

  19. #31 por oky el 4-03-12 - 11:33 am

    SUPER BUENO ESTE POST!!! GRACIAS, ACLARADAS MIS DUDAS!!! ^_^

  20. #32 por luisa el 20-03-12 - 11:46 am

    hola buenos dias sera que me pueden npmbrar las diferencias entre funcional y no funcional?

  21. #33 por Ruben el 26-04-12 - 2:33 pm

    Muy buena la informacion, da gusto navegar en la web y encontrar calidad de informacion como esta… Excelente aporte Gracias….!

  22. #34 por david burbano el 22-05-12 - 9:41 pm

    gracias bn bn

  23. #35 por ulises el 7-08-12 - 4:10 pm

    bueno ami me vale gorro to esto sisisiiiis gracias

  24. #36 por William Amaya el 14-08-12 - 10:14 pm

    Me va de 10 puntos!! muy buen post y en este momento estoy en clase y me has sacado de muchas dudas. Gracias Capo

  25. #37 por maccgeo el 15-05-13 - 8:32 pm

    Para una migración de Bases de Datos y aplicaciones se consideran requisitos funcionales?

    • #38 por Iván Garcerant el 15-05-13 - 9:48 pm

      Supongamos que estamos migrando un sistema de base de datos desde DB2 a Oracle. Dicho sistema de base de datos está formado por elementos de persistencia (tablas) código (store procedures, capa aplicación) y ciertos servicios que atienden necesidades propias de la base de datos (respaldo, replicación, entonación).

      En este escenario, serán requisitos funcionales todas aquellas indicaciones que se puedan hacer sobre el sistema construido en Oracle que correspondan a acciones, reglas de negocio, limites, chequeos y otros. Esto tendrá impacto tanto en los elementos de persistencia como en la codificación de la capa de aplicación.

      Por otra parte, serán requisitos no funcionales, todas aquellas indicaciones que se puedan hacer sobre el sistema construido en Oracle que sean función del mero hecho de utilizar Oracle y no DB2. Ejemplo, la replicación entre nodos, el respaldo de datos, el monitoreo de rendimiento, la entonación, etc.

      Espero haya sabido explicarme. Cualquier cosa pregunta de nuevo.

  1. Casos de Uso Avanzados: El Tiempo como Actor « Tecnología y Synergix
  2. Los números de 2010 « Tecnología y Synergix
  3. Tipos de requisitos: Funcional vs. No Funcional | Tecnólogos en Sistemas de Información • UNIVALLE

Replica a Iván Garcerant Cancelar la respuesta