requirements - una - ¿Cuál es la diferencia entre los requisitos funcionales y no funcionales?
requisitos funcionales y no funcionales en ingenieria de software pdf (6)
Diferencia entre los requisitos funcionales y no funcionales en el contexto del diseño de un sistema de software.
Dar ejemplos para cada caso.
Requerimientos funcionales
Los requisitos funcionales especifican una función que un sistema o componente del sistema debe poder realizar. Puede ser documentado de varias maneras. Los más comunes son descripciones escritas en documentos y casos de uso.
Los casos de uso pueden ser listas de enumeración textual, así como diagramas, que describen las acciones del usuario. Cada caso de uso ilustra escenarios de comportamiento a través de uno o más requisitos funcionales. Sin embargo, a menudo, un analista comenzará por obtener un conjunto de casos de uso, de los cuales el analista puede derivar los requisitos funcionales que deben implementarse para permitir que un usuario realice cada caso de uso.
Los requisitos funcionales es lo que se supone que un sistema debe cumplir . Puede ser
- Calculos
- Detalles técnicos
- Manipulación de datos
- Procesamiento de datos
- Otra funcionalidad específica
Un requisito funcional típico contendrá un nombre y número únicos, un breve resumen y una justificación. Esta información se utiliza para ayudar al lector a comprender por qué se necesita el requisito y para rastrear el requisito a través del desarrollo del sistema.
requerimientos no funcionales
LBushkin ya ha explicado más sobre los requisitos no funcionales. Añadiré más.
Los requisitos no funcionales son cualquier otro requisito que los requisitos funcionales. Estos son los requisitos que especifican los criterios que se pueden usar para juzgar el funcionamiento de un sistema, en lugar de comportamientos específicos .
Los requisitos no funcionales tienen la forma de "sistema será" , una propiedad general del sistema en su totalidad o de un aspecto particular y no una función específica. Las propiedades generales del sistema comúnmente marcan la diferencia entre si el proyecto de desarrollo ha tenido éxito o no.
Requisitos no funcionales: se pueden dividir en dos categorías principales:
- Las cualidades de ejecución , como la seguridad y la facilidad de uso, que se pueden observar en el tiempo de ejecución.
- Las cualidades de evolución , como la capacidad de prueba, facilidad de mantenimiento, extensibilidad y escalabilidad, están incorporadas en la estructura estática del sistema de software.
- Los requisitos no funcionales imponen restricciones sobre el producto que se está desarrollando, el proceso de desarrollo y especifican las restricciones externas que debe cumplir el producto.
- El IEEE-Std 830 - 1993 enumera 13 requisitos no funcionales para ser incluidos en un Documento de Requisitos de Software.
- Requisitos de desempeño
- Requisitos de interfaz
- Requerimientos operacionales
- Requerimientos de recursos
- Requisitos de verificación
- Requisitos de aceptación
- Requisitos de documentación
- Requerimientos de seguridad
- Requisitos de portabilidad
- Requerimientos de calidad
- Requisitos de fiabilidad
- Requisitos de mantenibilidad
- Requerimientos de seguridad
Si un requisito se expresa o no como un requisito funcional o no funcional puede depender:
- en el nivel de detalle que se incluirá en el documento de requisitos
- El grado de confianza que existe entre un cliente del sistema y un desarrollador del sistema.
Ex. Es posible que se requiera que un sistema presente al usuario con una visualización del número de registros en una base de datos. Este es un requisito funcional. La actualización que debe tener este número de [actualización] es un requisito no funcional. Si el número necesita actualizarse en tiempo real, los arquitectos del sistema deben asegurarse de que el sistema sea capaz de actualizar el recuento de registros [visualizado] dentro de un intervalo aceptablemente corto de la cantidad de registros que cambian.
Referencias:
Creo que el requisito funcional es del lado del cliente al desarrollador, que está relacionado con la funcionalidad para el usuario por parte del software y el requisito no funcional es del desarrollador al cliente, es decir, el cliente no proporciona el requisito, pero el desarrollador lo proporciona para ejecutar el sistema sin problemas, por ejemplo Seguridad, seguridad, flexibilidad, escalabilidad, disponibilidad, etc.
Los requisitos funcionales son aquellos que están relacionados con la funcionalidad técnica del sistema.
El requisito no funcional es un requisito que especifica criterios que pueden utilizarse para juzgar el funcionamiento de un sistema en condiciones particulares, en lugar de comportamientos específicos.
Por ejemplo, si considera un sitio de compras, agregar artículos al carrito, navegar por diferentes artículos, aplicar ofertas y ofertas y realizar pedidos con éxito se encuentra bajo requisitos funcionales.
Cuando el rendimiento del sistema en horas pico, el tiempo que lleva el sistema para recuperar datos de la base de datos, la seguridad de los datos del usuario, la capacidad del sistema para manejar si un gran número de usuarios de inicio de sesión se encuentra bajo requisitos no funcionales.
REQUISITOS FUNCIONALES las actividades que debe realizar el sistema.
- Funciones de usos empresariales que realizan los usuarios
- Ejemplo de casos de uso si está desarrollando un sistema de nómina funciones requeridas
- generar transferencias electrónicas de fondos
- montos de comisiones de cálculo
- calcular impuestos de nómina
- reportar la deducción de impuestos al IRS
Un requisito funcional describe lo que debe hacer un sistema de software, mientras que los requisitos no funcionales ponen restricciones sobre cómo lo hará el sistema.
Déjame elaborar.
Un ejemplo de un requisito funcional sería:
- Un sistema debe enviar un correo electrónico cada vez que se cumple una determinada condición (por ejemplo, un pedido, un cliente se registra, etc.).
Un requisito no funcional relacionado para el sistema puede ser:
- Los correos electrónicos deben enviarse con una latencia no superior a 12 horas desde dicha actividad.
El requisito funcional es describir el comportamiento del sistema en relación con la funcionalidad del sistema. El requisito no funcional elabora una característica de rendimiento del sistema.
Normalmente, los requisitos no funcionales caen en áreas tales como:
- Accesibilidad
- Capacidad, actual y previsión.
- Conformidad
- Documentación
- Recuperación de desastres
- Eficiencia
- Eficacia
- Extensibilidad
- Tolerancia a fallos
- Interoperabilidad
- Mantenibilidad
- Intimidad
- Portabilidad
- Calidad
- Confiabilidad
- Resistencia
- Tiempo de respuesta
- Robustez
- Escalabilidad
- Seguridad
- Estabilidad
- Compatibilidad
- Probabilidad
Una lista más completa está disponible en la entrada de Wikipedia para los requisitos no funcionales .
Los requisitos no funcionales a veces se definen en términos de métricas (algo que se puede medir sobre el sistema) para hacerlos más tangibles. Los requisitos no funcionales también pueden describir aspectos del sistema que no se relacionan con su ejecución, sino con su evolución en el tiempo (por ejemplo, capacidad de mantenimiento, extensibilidad, documentación, etc.).
los requisitos funcionales son las principales cosas que el usuario espera del software, por ejemplo, si la aplicación es una aplicación bancaria, dicha aplicación debería poder crear una nueva cuenta, actualizar la cuenta, eliminar una cuenta, etc. Los requisitos funcionales se detallan y se especifican. en el diseño del sistema
La adquisición no funcional no es un requisito directo del sistema, sino que está relacionado con la facilidad de uso (de alguna manera), por ejemplo, para una aplicación bancaria, un importante requisito no funcional será la disponibilidad. La aplicación debe estar disponible 24/7 sin tiempo de inactividad. si es posible.