Tipos de Requisitos de Software
Tipos de Requisitos de Software
Tipos de Requisitos de Software
Subdirección Académica
Departamento de Sistemas y Computación
Semestre Agosto - Diciembre 2020
CARRERA
Ingeniería en Sistemas Computacionales
MATERIA Y GRUPO
Análisis Avanzado de Software
(ADF-1702 SC8B)
CORREO INSTITUCIONAL
[email protected]
TEMA
Tipos de Requisitos del Software
DOCENTE
José de Jesús Parra Galaviz
FECHA DE ENTREGA
29 de septiembre del 2020
Una de las actividades más importantes durante la fase de análisis cuando elaboramos un software,
es la determinación de los requerimientos que debe cubrir dicho software, los dos principales tipos
son los requerimientos funcionales y no funcionales.
Los requisitos determinan lo que hará el sistema (cómo funcionará) y las restricciones sobre su
operación e implementación.
Tipos de Requerimientos
Funcionales
Son declaraciones de los servicios que prestará el sistema y la forma en que este reaccionará cuando
se cumplan determinadas condiciones. Cuando hablamos de las entradas, no necesariamente
hablamos sólo de las entradas de los usuarios. Pueden ser interacciones con otros sistemas,
respuestas automáticas, procesos predefinidos. En algunos casos, los requisitos funcionales de los
sistemas también establecen explícitamente lo que el sistema no debe hacer. Es importante
recordar esto: un RF puede ser también una declaración negativa. Siempre y cuando el resultado de
su comportamiento sea una respuesta funcional al usuario o a otro sistema, es correcto. Y más aún,
no sólo es correcto, sino que es necesario definirlo. Y eso nos lleva al siguiente punto.
Historia de Usuario: Como usuario, quiero que la aplicación sea fácil de usar, de modo que no tenga
que pasar mucho tiempo aprendiendo a usarla.
Esto no es algo contra los desarrolladores, sino más bien contra el comportamiento humano. Si
nosotros asumimos algo, otros pueden asumir algo diferente, y eso está bien. Pero el analista es el
responsable de la documentación, por lo que debe ser el mismo analista el que trate de asegurarse
de que no hay lagunas de comprensión o puntos grises. Esta es también la razón por la que las
sesiones de Pre-Planificación y Presentación de Historias son muy importantes para asegurarse de
que todo el equipo está en la misma página con respecto a los requisitos, su objetivo de negocio y
cómo implementarlos. Volviendo al ejemplo anterior, podríamos dividir el requisito en varios
nuevos, más fáciles de entender, desarrollar, probar, rastrear y entregar. Uno de ellos podría serlo:
Historia de usuario: Como usuario, quiero que se muestre un tutorial al iniciar sesión por primera
vez, para que pueda ver para qué se utiliza cada opción de la pantalla de inicio.
Volviendo a FR, en principio, la especificación de los requisitos funcionales de un sistema debe ser
completa y coherente. Completa significa que todos los servicios solicitados por el usuario y/u otro
sistema están definidos. La coherencia significa que los requisitos no tienen una definición
contradictoria.
Los requerimientos del usuario, que según Sommerville (2005) 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.
Los requerimientos del sistema, que según Sommerville (2005) establecen con detalle los servicios
y restricciones del sistema. El documento de requerimientos del sistema, algunas veces denominado
especificación funcional, debe ser preciso. Este sirve como un contrato entre el comprador del
sistema y el desarrollador de software.
No Funcionales
Se trata de requisitos que no se refieren directamente a las funciones específicas suministradas por
el sistema (características de usuario), sino a las propiedades del sistema: rendimiento, seguridad,
disponibilidad. En palabras más sencillas, no hablan de “lo que” hace el sistema, sino de “cómo”
lo hace. Alternativamente, definen restricciones del sistema tales como la capacidad de los
dispositivos de entrada/salida y la representación de los datos utilizados en la interfaz del sistema.
• Requisitos del Producto: Especifican el comportamiento del producto, como los requisitos
de rendimiento sobre la velocidad de ejecución del sistema y la cantidad de memoria
necesaria, los requisitos de fiabilidad que establecen la tasa de fallos para que el sistema
sea aceptable, los requisitos de portabilidad y los requisitos de usabilidad.
• Requisitos Organizativos: Se derivan de las políticas y procedimientos existentes en la
organización cliente y en la organización del desarrollador: estándares en los procesos a
utilizar; requisitos de implementación tales como lenguajes de programación o el método
de diseño a utilizar; y requisitos de entrega que especifican cuándo se entregará el producto
y su documentación.
• Requisitos Externos: Se derivan de factores externos al sistema y a su proceso de desarrollo.
Incluyen los requisitos de interoperabilidad que definen la forma en que el sistema
interactúa con los demás sistemas de la organización; los requisitos legales que deben
seguirse para garantizar que el sistema funciona dentro de la ley; y los requisitos éticos.
Estos últimos se imponen al sistema para asegurar que será aceptado por el usuario.
apoyo del equipo de desarrollo y del equipo de pruebas para definir criterios mensurables con el fin
de saber cuándo un requisito puede ser marcado con éxito como “Hecho”.
Al igual que hablamos de requisitos funcionales, la generalización nunca es buena, pero en este caso
es aún más importante. ¿Por qué? Porque el resultado de un desarrollo de requisitos no funcionales
puede no ser explícito para el usuario final.
Bibliografía
Requeridos Blog. (2018). Requerimientos Funcionales y No Funcionales, ejemplos y tips. Recuperado el 29 de septiembre del 2020, de
Medium Sitio web: https://medium.com/@requeridosblog/requerimientos-funcionales-y-no-funcionales-ejemplos-y-tips-aa31cb59b22a
Dra. Yulia Ledeneva. (2011). Isw5 requerimientos. Recuperado el 28 de septiembre del 2020, de UAP UAEM Tianguistenco Sitio web:
https://es.slideshare.net/AnthonyRivas1/isw5-requerimientos
Demián Gutierrez. (2013). Clase 04a requerimientos introduccion. Recuperado el 28 de septiembre del 2020, de Universidad de los Andes
Sitio web: https://es.slideshare.net/piojosnos/clase-04a-requerimientosintroduccion
rvillarroel16. (2017). Requerimientos Funcionales y No Funcionales. Recuperado el 28 de septiembre del 2020, de Ingeniería de Software
Utmachala Sitio web: https://ingenieriadesoftwareutmachala.wordpress.com/2017/01/20/requerimientos-funcionales-y-no-
funcionales/
Fredy Castañeda Sánchez. (2015). Capítulo 5 - Requerimientos del Software. Recuperado el 28 de septiembre del 2020, de Universidad
Veracruzana Sitio web: https://www.uv.mx/personal/fcastaneda/files/2015/08/F_Capitulo_5_Requerimientos_del_software.pdf