Considere el siguiente requerimiento que fue planteado como parte de un sistema de Comercio Electrónico para una farmacia. Indique si el requerimiento es Funcional o No Funcional y si cumple con todas las características (no ambiguo, completo, correcto, factible, cksk vistas en clase para los requerimientos, justificando su respuesta.
Para determinar si un requerimiento es funcional o no funcional y si cumple con las características que mencionas, primero es importante entender qué se entiende por cada uno de estos tipos de requerimiento.
Los requerimientos funcionales especifican qué debe hacer un sistema, es decir, definen las funciones o características que debe tener el software. Por ejemplo, en un sistema de comercio electrónico para una farmacia, un requerimiento funcional podría ser "El sistema debe permitir al usuario realizar un pedido de medicamentos".
Por otro lado, los requerimientos no funcionales se refieren a criterios que definen cómo debe comportarse el sistema, como el rendimiento, la usabilidad, la seguridad y la escalabilidad. Un ejemplo de un requerimiento no funcional podría ser "El sistema debe ser capaz de manejar 1000 usuarios simultáneamente sin degradar el rendimiento".
Ahora, analicemos el requerimiento planteado:
1. **Clasificación**: Dependiendo del contenido específico del requerimiento, deberás identificar si se trata de un requerimiento funcional o no funcional. Asegúrate de leerlo con detenimiento. Si se menciona específicamente una función del sistema (por ejemplo, un proceso que el sistema debe seguir), entonces es funcional. Si menciona características relacionadas con el rendimiento o la experiencia del usuario, es no funcional.
2. **Características**: Para juzgar si cumple con las características de los requerimientos, analicemos lo siguiente:
- **No ambiguo**: Un requerimiento debe ser claro y no interpretarse de múltiples maneras. Si el requerimiento es vago o tiene términos que pueden ser interpretados de varias formas, no es no ambiguo.
- **Completo**: Debe incluir toda la información necesaria para su implementación. Si faltan detalles importantes sobre cómo debe ser la funcionalidad o la característica, no es completo.
- **Correcto**: Tiene que ser válido dentro del contexto del sistema. Si el requerimiento no se alinea con las necesidades del negocio o del usuario, no es correcto.
- **Factible**: Se debe poder implementar dentro de las limitaciones técnicas y de tiempo del proyecto. Si es algo que no se puede realizar, no es factible.
En un entorno de trabajo en equipo, como lo es típicamente el desarrollo de software, es esencial que todos los stakeholders (incluyendo desarrolladores, diseñadores y gerentes de proyecto) estén alineados y comprendan claramente los requerimientos. La ambigüedad en los requerimientos puede resultar en malentendidos y pérdida de tiempo, algo que se aborda de manera efectiva en metodologías ágiles como Scrum, donde la colaboración y la comunicación constante son clave.
Si necesitas un ejemplo concreto, me gustaría que me compartas el requerimiento específico que deseas evaluar. De ese modo podremos clasificarlo correctamente y verificar si cumple con las características mencionadas.