Especificación de requisitos de software Proyecto: Sistema de Gestión de Tareas para Estudiantes Revisión 1.0 Arellano Chiliquinga Jeremy Anthony Ciencias Matemáticas y Física Ingeniería de software Noviembre 11 2024 Desarrollar una aplicación web que permita a los estudiantes gestionar sus tareas y proyectos académicos. La aplicación debería incluir funciones para agregar, editar y eliminar tareas, así como la posibilidad de establecer fechas de vencimiento y prioridades. Características Clave: 1. Registro de Usuarios: o 2. 3. 4. Gestión de Tareas: o Agregar, editar y eliminar tareas. o Asignar prioridades (alta, media, baja). o Establecer fechas de vencimiento y recordatorios. Interfaz Intuitiva: o Diseño responsivo que funcione en dispositivos móviles y de escritorio. o Vista de tareas en formato de lista y calendario. Categorías y Etiquetas: o 5. Permitir a los usuarios organizar tareas por materias o proyectos. Notificaciones: o 6. Permitir a los usuarios crear cuentas y gestionar su perfil. Recordatorios para las tareas que se aproximan a su fecha de vencimiento. Estadísticas: o Resumen de tareas completadas y pendientes, para que los usuarios puedan evaluar su progreso. Sistema de Gestión de Tareas para Estudiantes Especificación de requisitos de software Rev. 1.0 Pág. 3 Historial de Revisiones Fecha Revisión Descripción Autor 6/11/24 1.0 Primera Version de requisitos Equipo de Desarrollo SGTA Documento validado por las partes en fecha: [Fecha] Por el cliente Por la empresa suministradora Fdo. D./ Dña [Nombre] Fdo. D./Dña [Nombre] Descripción de requisitos del sofware Sistema de Gestión de Tareas para Estudiantes Especificación de requisitos de software Contenido FICHA DEL DOCUMENTO CONTENIDO 1 INTRODUCCIÓN 1.1 Propósito 1.2 Alcance 1.3 Personal involucrado 1.4 Definiciones, acrónimos y abreviaturas 1.5 Referencias 1.6 Resumen 2 DESCRIPCIÓN GENERAL 2.1 Perspectiva del producto 2.2 Funcionalidad del producto 2.3 Características de los usuarios 2.4 Restricciones 2.5 Suposiciones y dependencias 2.6 Evolución previsible del sistema 3 REQUISITOS ESPECÍFICOS 3.1 Requisitos comunes de los interfaces 3.1.1 Interfaces de usuario 3.1.2 Interfaces de hardware 3.1.3 Interfaces de software 3.1.4 Interfaces de comunicación 3.2 Requisitos funcionales 3.2.1 Requisito funcional 1 3.2.2 Requisito funcional 2 3.2.3 Requisito funcional 3 3.2.4 Requisito funcional n 3.3 Requisitos no funcionales 3.3.1 Requisitos de rendimiento 3.3.2 Seguridad 3.3.3 Fiabilidad 3.3.4 Disponibilidad 3.3.5 Mantenibilidad 3.3.6 Portabilidad 3.4 Otros requisitos 4 APÉNDICES Rev. 1.0 Pág. 4 ¡ERROR! MARCADOR NO DEFINIDO. 4 5 5 5 6 7 7 9 9 9 9 10 10 11 11 11 11 12 12 12 13 13 13 15 16 ¡Error! Marcador no definido. 17 17 18 19 19 20 21 21 22 Descripción de requisitos del sofware Sistema de Gestión de Tareas para Estudiantes Especificación de requisitos de software 1 Rev. 1.0 Pág. 5 Introducción El propósito de este documento es presentar una especificación detallada de los requisitos funcionales y no funcionales para el desarrollo del Sistema de Gestión de Tareas Académicas (SGTA). Este sistema está destinado a estudiantes de nivel secundario y superior, proporcionándoles una herramienta que les permita organizar y gestionar sus responsabilidades académicas de manera eficiente, facilitando el seguimiento de tareas, proyectos y fechas límite. El documento de requisitos sirve como guía para el equipo de desarrollo, los diseñadores, los analistas de sistemas y cualquier otra persona involucrada en el proyecto, asegurando que todos los aspectos clave del sistema estén debidamente definidos y alineados con las expectativas del usuario. 1.1 Propósito El propósito del SGTA es ayudar a los estudiantes a organizar y priorizar sus responsabilidades académicas de forma efectiva. La aplicación permitirá a los estudiantes registrar tareas, asignar fechas de entrega, definir prioridades y recibir recordatorios y notificaciones, asegurando así que las tareas no sean olvidadas y que los estudiantes puedan planificar su tiempo con mayor precisión. Este sistema busca reducir la carga de seguimiento manual de tareas, permitiendo a los estudiantes enfocarse en sus estudios y mejorar su rendimiento académico mediante una organización simplificada. Este documento de especificación de requisitos tiene como objetivo establecer una descripción clara y precisa de todas las características que el SGTA debe incorporar. Además, delimita los elementos técnicos y funcionales que guiarán su desarrollo, proporcionando una base para que los equipos de diseño, desarrollo y pruebas se aseguren de que el sistema final cumpla con las expectativas de todos los interesados. 1.2 Alcance La aplicación SGTA proporcionará una plataforma en la que los estudiantes puedan registrar y organizar sus tareas y proyectos académicos. Permitirá a los usuarios gestionar sus responsabilidades a través de una interfaz intuitiva y personalizable. o Gestión de tareas como añadir, modificar y eliminar tareas académicas. o Prioridades y categorización con la asignación de prioridad y etiquetas personalizables. Descripción de requisitos del sofware Sistema de Gestión de Tareas para Estudiantes Especificación de requisitos de software o Rev. 1.0 Pág. 6 Recordatorios y notificaciones de envío con recordatorios mediante notificaciones en la app y vía correo electrónico. o Visualización de tareas con modos de vista en lista, calendario semanal y mensual. o Estadísticas y reportes con visualización del progreso y eficiencia mediante gráficos e informes semanales. o El sistema se integrará con otras plataformas como calendarios externos y se espera que esté disponible para dispositivos de escritorio y móviles. Esta funcionalidad será accesible en cualquier navegador compatible con HTML5 y JavaScript. 1.3 Personal involucrado Nombre María Vélez Rol Programadora Categoría profesional Analista Responsabilidades Desarrollo del sistema Información de contacto mariavelez@yahoo.com Aprobación Nombre Carlos Peña Rol Analista de Requisitos Categoría profesional Analista Responsabilidades Recolección y validación de requisitos Información de contacto carlospena@email.com Aprobación Nombre Laura Gómez Rol UX Designer Categoría profesional Analista Responsabilidades Diseño de interfaz y experiencia de usuario Descripción de requisitos del sofware Sistema de Gestión de Tareas para Estudiantes Especificación de requisitos de software Información de contacto Rev. 1.0 Pág. 7 lauragomez@email.com Aprobación Nombre Jorge Silva Rol Tester Categoría profesional Analista Responsabilidades Pruebas de funcionalidad y control de calidad Información de contacto jorgesilva@email.com Aprobación Nombre Susana Ríos Rol Gerente de Proyecto Categoría profesional Analista Responsabilidades Coordinación general y supervisión del proyecto Información de contacto susanarios@email.com Aprobación 1.4 Definiciones, acrónimos y abreviaturas SGTA: Sistema de Gestión de Tareas Académicas. UI: Interfaz de Usuario. DB: Base de Datos. LMS: Learning Management System, sistema de gestión de aprendizaje. API: Application Programming Interface, interfaz de programación de aplicaciones. 1.5 Referencias Referencia Título 1 IEEE Practice Ruta Fecha Autor Recommended https://standards.ieee.org/standard/8 1998 IEEE for 30-1998.html Software Descripción de requisitos del sofware Sistema de Gestión de Tareas para Estudiantes Especificación de requisitos de software Rev. 1.0 Pág. 8 Requirements Specification. ANSI/IEEE std. 830 2 3 Software Engineering https://www.computer.org/education/ Body Knowledge bodies-of-knowledge/software- Computer (SWEBOK) engineering Society Requisitos de Software: https://example.com/software- Teoría y Práctica requirements-wiegers of 2014 2006 IEEE Karl Wiegers, Joy Beatty 4 Análisis y Diseño Orientado a Objetos con https://example.com/uml-object- 2007 oriented Grady Booch, Aplicación en UML James Rumbaugh 5 Métodos Ágiles: https://example.com/agile-methods 2004 Principios, Patrones y Robert C. Martin Prácticas 6 UML Distilled: A Brief https://example.com/uml-distilled 2003 Guide to the Standard Object Martin Fowler Modeling Language 7 Testing de Software: https://example.com/software-testing 2002 Principios y Prácticas 8 Fundamentos Administración Glenford J. Myers de la https://example.com/project- de management 2011 Robert Futrell, Proyectos de Software Donald F. Shafer 9 Continuous Integration: Improving Software Quality Reducing and T. https://example.com/continuousintegration 2006 Paul Duvall, Steve Descripción de requisitos del sofware Sistema de Gestión de Tareas para Estudiantes Especificación de requisitos de software Rev. 1.0 Pág. 9 Risk 10 The 11 Matyas Art of Software https://example.com/art-software- Testing testing Software Requirements, https://example.com/software- 3rd Edition requirements-3rd 1979 Glenford J. Myers 2013 Karl Wiegers, Joy Beatty 1.6 Resumen Este documento describe los requisitos de la aplicación SGTA en detalle, proporcionando un marco de trabajo para los desarrolladores y asegurando que cada componente del sistema esté diseñado y desarrollado conforme a las necesidades del usuario final. Además, se establece la metodología de validación y pruebas que se usará para evaluar el desempeño y la confiabilidad del sistema. 2 Descripción general 2.1 Perspectiva del producto SGTA es una aplicación independiente que ayudará a los estudiantes a organizar sus responsabilidades académicas de manera sencilla. A través de su diseño responsivo y su integración con herramientas de comunicación, como el correo electrónico, SGTA garantizará que los estudiantes puedan gestionar sus tareas en cualquier momento y lugar. 2.2 Funcionalidad del producto o Los usuarios podrán añadir, editar, eliminar y buscar tareas. Cada tarea incluirá información básica como título, descripción, fecha de vencimiento y prioridad. Además, los usuarios podrán clasificar sus tareas mediante etiquetas para facilitar su organización. o La aplicación enviará recordatorios de tareas próximas a vencer mediante notificaciones push y correo electrónico. Los usuarios podrán configurar la anticipación de estos recordatorios. Descripción de requisitos del sofware Sistema de Gestión de Tareas para Estudiantes Especificación de requisitos de software o Rev. 1.0 Pág. 10 Las tareas podrán visualizarse en un formato de lista o en un calendario semanal y mensual, permitiendo una rápida identificación de las fechas de vencimiento y organización de prioridades. o Se generarán gráficos y estadísticas que muestren el rendimiento del usuario (por ejemplo, porcentaje de tareas completadas a tiempo). Esta funcionalidad motivará al estudiante a mejorar su organización y efectividad. o Integración con herramientas externas, como calendarios de Google o Microsoft, para la sincronización de fechas de vencimiento importantes. 2.3 Características de los usuarios Tipo de usuario Estudiante Experiencia Técnica Básica/Intermedia Habilidades Manejo de computadores y dispositivos móviles Actividades Añadir y gestionar tareas académicas Tipo de usuario Docente Experiencia Técnica Intermedia Habilidades Manejo de computadores Actividades Revisar y consultar tareas de los estudiantes Tipo de usuario Tutor Experiencia Técnica Intermedia Habilidades Manejo de computadores Actividades Supervisar el rendimiento de los estudiantes 2.4 Restricciones o El sistema será accesible como una aplicación web desarrollada con tecnologías como React, Node.js y MongoDB. Descripción de requisitos del sofware Sistema de Gestión de Tareas para Estudiantes Especificación de requisitos de software o Rev. 1.0 Pág. 11 Se deben cumplir todas las normativas de seguridad de datos personales y confidenciales, especialmente para los datos de estudiantes. o El sistema debe funcionar en los navegadores modernos (Google Chrome, Firefox, Safari) y ser responsivo para diferentes dispositivos. o El acceso y el uso completo de las funciones del sistema dependen de una conexión estable a Internet. 2.5 Suposiciones y dependencias o Los usuarios contarán con acceso a dispositivos compatibles con navegadores modernos. o La aplicación requerirá conexión continua a Internet para el almacenamiento en la nube de los datos del usuario. o Los desarrolladores utilizarán una base de datos NoSQL (MongoDB) que será respaldada periódicamente para asegurar la integridad y disponibilidad de la información. 2.6 Evolución previsible del sistema o Se evaluará la posibilidad de integrar la aplicación con sistemas de gestión de aprendizaje para sincronizar tareas académicas de manera automática. o En una segunda fase de desarrollo, se considerará agregar funciones de colaboración en tiempo real para trabajos en equipo. o Compatibilidad con más dispositivos donde se planea lanzar una aplicación nativa para Android e iOS para mayor accesibilidad y uso offline. 3 Requisitos específicos 3.1 Requisitos comunes de los interfaces Esta sección especifica los elementos clave de los interfaces de usuario e interfaces de sistema, incluyendo los detalles de las entradas y salidas de datos que facilitarán la interacción del usuario con el Sistema de Gestión de Tareas Académicas (SGTA). Los requisitos de interfaces aseguran Descripción de requisitos del sofware Sistema de Gestión de Tareas para Estudiantes Especificación de requisitos de software Rev. 1.0 Pág. 12 que el sistema sea intuitivo y funcional, permitiendo que los usuarios interactúen eficientemente con él. 3.1.1 Interfaces de usuario o La aplicación debe ser intuitiva y permitir la navegación mediante iconos y menús desplegables. La interfaz de usuario debe emplear colores y tipografías que sean agradables faciliten la lectura prolongada. o La página de inicio de sesión Permitirá a los usuarios iniciar sesión o registrarse rápidamente mediante correo y contraseña, o a través de redes sociales. o El Panel principal dará una vista general de las tareas en formato de lista o calendario. Desde aquí se podrá acceder a las funcionalidades de agregar, editar y eliminar tareas. o Vista de estadísticas que se verá un Panel con gráficos y métricas del rendimiento, incluyendo porcentaje de tareas completadas, tiempo promedio de cumplimiento y eficiencia. o La aplicación debe cumplir con los estándares de accesibilidad WCAG 2.1, proporcionando funciones como lector de pantalla y ajustes de alto contraste. 3.1.2 Interfaces de hardware o Computadoras de escritorio y laptops con sistemas operativos Windows, macOS o Linux. o Dispositivos móviles con sistemas Android e iOS (a través de navegadores o futuras aplicaciones nativas). 3.1.3 Interfaces de software o Correo Electrónico: Para el envío de notificaciones y recordatorios. o APIs de Notificaciones Push: Para enviar notificaciones en dispositivos móviles y de escritorio. o APIs de Integración de Calendario: Sincronización con Google Calendar, iCal y Outlook. Descripción de requisitos del sofware Sistema de Gestión de Tareas para Estudiantes Especificación de requisitos de software 3.1.4 Rev. 1.0 Pág. 13 Interfaces de comunicación El sistema se comunicará mediante HTTP/HTTPS, asegurando en todo momento la confidencialidad de los datos transmitidos. Además, se usarán protocolos de autenticación segura como JWT para proteger las sesiones del usuario. 3.2 Requisitos funcionales o características del sistema Esta sección describe las principales funcionalidades que el sistema Sistema de Gestión de Tareas Académicas (SGTA) debe ofrecer. Cada uno de estos requisitos funcionales define la secuencia de operaciones que el sistema debe realizar, los tipos de datos que deberá procesar y cómo manejará tanto entradas y salidas, como situaciones anormales. Los requisitos están orientados a asegurar que el sistema sea preciso, eficiente y capaz de responder a diversas situaciones de uso, incluyendo validación de datos y manejo de errores. 3.2.1 Requisito funcional 1 Gestión de Usuarios Este módulo se encarga de la administración de los usuarios del sistema, incluyendo el registro, autenticación, y asignación de roles. Es fundamental para asegurar que el acceso al sistema esté restringido a usuarios autorizados. RF-1. Registro de Usuarios El sistema debe permitir que nuevos usuarios, como estudiantes y profesores, se registren con sus datos personales y configuren sus credenciales de acceso. Entradas: Nombre completo, correo electrónico, tipo de usuario (estudiante o profesor), contraseña. Comprobación de Validez o El correo electrónico debe tener un formato válido (ej. usuario@dominio.com) y ser único dentro del sistema. o La contraseña debe tener al menos 8 caracteres, incluir una combinación de letras y números, y almacenarse de forma encriptada. Secuencia de Operaciones 1. Validar la información de entrada. Descripción de requisitos del sofware Sistema de Gestión de Tareas para Estudiantes Especificación de requisitos de software 2. Comprobar si el correo electrónico ya está registrado en la base de datos. 3. En caso de que el correo sea único, proceder con el registro del usuario. 4. Encriptar la contraseña antes de almacenarla. 5. Almacenar los datos en la base de datos. Rev. 1.0 Pág. 14 Respuestas a Situaciones Anormales o Si el correo electrónico ya está registrado, mostrar un mensaje de error al usuario indicando que el correo ya está en uso. o Si la contraseña no cumple con los requisitos, solicitar que el usuario modifique la entrada. Salidas: Confirmación de registro exitoso o mensaje de error indicando el tipo de problema encontrado. Relación de Entradas y Salidas: Al finalizar, el sistema debe redirigir al usuario a la página de inicio de sesión si el registro es exitoso. RF-2. Autenticación de Usuarios Permitir que los usuarios registrados puedan acceder al sistema ingresando sus credenciales. Entradas: Nombre de usuario o correo electrónico y contraseña. Comprobación de Validez: o Verificar que el correo y la contraseña coincidan con una cuenta existente. o En caso de múltiples intentos fallidos, bloquear el acceso temporalmente para mejorar la seguridad. Secuencia de Operaciones 1. Verificar que el correo y la contraseña coincidan en la base de datos. 2. Registrar la hora de inicio de sesión en el sistema para futuros análisis de actividad. 3. Permitir el acceso y cargar el perfil de usuario correspondiente. 4. Respuestas a Situaciones Anormales: 5. Si las credenciales son incorrectas, mostrar un mensaje de error. Descripción de requisitos del sofware Sistema de Gestión de Tareas para Estudiantes Especificación de requisitos de software 6. Rev. 1.0 Pág. 15 Si el usuario ha intentado ingresar varias veces sin éxito, bloquear el acceso durante un período definido (ej. 5 minutos). Salidas: Acceso al sistema con permisos específicos según el rol del usuario (estudiante o profesor). RF-3. Recuperación de Contraseña Proveer un mecanismo para que los usuarios recuperen su contraseña en caso de olvido. Entradas: Dirección de correo electrónico del usuario. Comprobación de Validez: o Verificar que el correo ingresado esté registrado en el sistema. Secuencia de Operaciones: 1. Enviar un correo con un enlace único para restablecer la contraseña. 2. Confirma que el enlace sea seguro y tenga un tiempo de expiración. 3. Permitir al usuario ingresar una nueva contraseña y almacenarla encriptada. Respuestas a Situaciones Anormales: o Si el correo no está registrado, mostrar un mensaje de error indicando que no existe una cuenta asociada. Salidas: Confirmación de que el enlace de recuperación ha sido enviado o mensaje de error. 3.2.2 Requisito funcional 2 Gestión de Tareas Académicas Este módulo se encarga de la creación, edición, visualización y seguimiento de las tareas académicas asignadas a los estudiantes. RF-4. Creación de Tareas por el Profesor Permitir que los profesores puedan crear nuevas tareas y asignarlas a sus estudiantes. Entradas: Título de la tarea, descripción detallada, fecha límite, adjuntos (opcional), lista de estudiantes asignados. Comprobación de Validez: o Validar que la fecha límite sea una fecha futura y que el título no exceda los caracteres permitidos. Descripción de requisitos del sofware Sistema de Gestión de Tareas para Estudiantes Especificación de requisitos de software Rev. 1.0 Pág. 16 Secuencia de Operaciones: 1. Validar y procesar los datos de entrada. 2. Crear una entrada en la base de datos con los detalles de la tarea. 3. Notificar a los estudiantes asignados mediante un correo o notificación en el sistema. 4. Respuestas a Situaciones Anormales: 5. Si algún campo obligatorio está vacío, informar al profesor para completar los datos. 6. Si hay un problema con la base de datos, mostrar un mensaje de error e intentar nuevamente. Salidas: Confirmación de que la tarea fue creada con éxito y notificación a los estudiantes. RF-5. Entrega de Tareas por el Estudiante Permitir que los estudiantes suban su tarea al sistema para que el profesor la pueda revisar. Entradas: Archivo de la tarea, comentarios opcionales. Comprobación de Validez 1. Verificar el tipo y tamaño del archivo subido. 2. Secuencia de Operaciones: 3. Validar el tipo de archivo para asegurar que sea compatible (PDF, Word, etc.). 4. Almacenar el archivo y relacionarlo con la tarea asignada en la base de datos. 5. Confirmar al estudiante que la entrega fue exitosa. Respuestas a Situaciones Anormales: o Si el archivo es de tipo no permitido o excede el tamaño máximo, rechazar la subida e informar al estudiante. Salidas: Confirmación de entrega exitosa o mensaje de error indicando el problema encontrado. 3.2.3 Requisito funcional 3 Gestión de Notificaciones y Alertas Este módulo gestiona las notificaciones automáticas para mantener a los usuarios informados sobre eventos importantes, como fechas de entrega próximas o tareas nuevas. Descripción de requisitos del sofware Sistema de Gestión de Tareas para Estudiantes Especificación de requisitos de software Rev. 1.0 Pág. 17 RF-6. Envío de Notificaciones de Nuevas Tareas Informar a los estudiantes cuando se les asigna una nueva tarea. Entradas: Información de la tarea (título, descripción, fecha límite), lista de estudiantes. Secuencia de Operaciones: 1. Crear una notificación para cada estudiante en el sistema. 2. Enviar un correo electrónico con los detalles de la tarea. 3. Respuestas a Situaciones Anormales: 4. Si ocurre un error en el envío de correos, registrar la falla y notificar al profesor responsable. Salidas: Notificación en el sistema y correo electrónico a cada estudiante. RF-7. Alerta de Fecha Límite Próxima Enviar un recordatorio a los estudiantes cuando se aproxima la fecha de entrega de una tarea. Entradas: Fecha límite de la tarea, lista de estudiantes asignados. Secuencia de Operaciones: 1. Programar el sistema para enviar la alerta con 48 horas de antelación. 2. Enviar un recordatorio al correo electrónico y en el sistema. 3. Respuestas a Situaciones Anormales: 4. Si algún estudiante no recibe la notificación, registrar el error y reenviar. Salidas: Recordatorio por correo y en el sistema. Estos requisitos funcionales buscan asegurar que el sistema SGTA sea eficiente, fácil de usar y que proporcione una experiencia de usuario efectiva tanto para estudiantes como para profesores. 3.3 Requisitos no funcionales 3.3.1 Requisitos de rendimiento Esta sección especifica los requisitos relacionados con el rendimiento esperado del sistema en términos de capacidad de carga, velocidad de respuesta y eficiencia. Todos estos Descripción de requisitos del sofware Sistema de Gestión de Tareas para Estudiantes Especificación de requisitos de software Rev. 1.0 Pág. 18 requisitos son mesurables y se presentan con valores concretos para garantizar su verificación y cumplimiento. RNF-1: El sistema debe poder soportar al menos 100 usuarios concurrentes sin experimentar problemas de rendimiento. RNF-2: El tiempo máximo de respuesta para la carga de una página debe ser de tres (3) segundos en condiciones de carga promedio. RNF-3: El sistema debe manejar al menos 500 transacciones por minuto con un tiempo de procesamiento inferior a dos (2) segundos por transacción en un 95% de las transacciones. RNF-4: La velocidad de consulta a la base de datos para operaciones simples, como la obtención de listas de tareas, no debe exceder 500 ms. RNF-5: En situaciones de carga pico, el sistema debe redistribuir la carga de trabajo de manera eficiente para evitar cuellos de botella. 3.3.2 Seguridad Este apartado detalla los mecanismos y prácticas de seguridad que el sistema debe implementar para protegerse contra accesos no autorizados, modificaciones malintencionadas y pérdida de información. La seguridad es clave para mantener la integridad de los datos y la privacidad del usuario. RNF-1: El usuario deberá autenticarse mediante un nombre de usuario y una contraseña encriptada, que se almacenará siguiendo las mejores prácticas de seguridad (hashing con bcrypt, por ejemplo). RNF-2: Se debe implementar un sistema de autenticación multifactorial (MFA) para acceso a configuraciones sensibles del sistema. RNF-3: Todas las comunicaciones entre el cliente y el servidor deberán realizarse mediante el protocolo HTTPS, garantizando la encriptación de los datos transmitidos. RNF-4: Se deben mantener logs de actividad que registren los accesos y cambios en los datos, así como intentos de acceso fallidos, para auditorías de seguridad. RNF-5: La integridad de los datos críticos debe ser comprobada mediante la verificación de checksum en operaciones de actualización o consulta. Descripción de requisitos del sofware Sistema de Gestión de Tareas para Estudiantes Especificación de requisitos de software 3.3.3 Rev. 1.0 Pág. 19 Fiabilidad La fiabilidad del sistema asegura que este funcione correctamente en condiciones normales y que el número de errores o interrupciones sea mínimo. Para garantizar la fiabilidad, se especifican los tiempos de funcionamiento sin fallos y los tiempos de recuperación. RNF-1: El sistema debe garantizar un tiempo de funcionamiento continuo de al menos 10,000 horas entre fallos (MTBF - Mean Time Between Failures). RNF-2: En caso de fallo crítico, el sistema deberá restaurarse completamente y en un estado funcional en menos de 10 minutos. RNF-3: Se deben realizar copias de seguridad automáticas de la base de datos cada 24 horas, y estas deben almacenarse en un servidor seguro. RNF-4: La aplicación debe gestionar las excepciones de manera que cualquier error o fallo se maneje de forma segura, evitando la corrupción de datos o la pérdida de información. 3.3.4 Disponibilidad Esta sección especifica los niveles de disponibilidad requeridos por el sistema, detallando el tiempo que el sistema debe estar en funcionamiento y accesible para los usuarios, y el tiempo permitido para tareas de mantenimiento. RNF-1: El sistema debe estar disponible al menos el 99% del tiempo durante horas de actividad pico (de 7:00 a 23:00 horas). RNF-2: La ventana de mantenimiento planificada no deberá exceder de cuatro (4) horas mensuales, y debe programarse en horarios de baja actividad, preferiblemente entre las 2:00 y las 5:00 de la madrugada. RNF-3: Se debe disponer de un sistema de notificaciones que informe a los usuarios con al menos 24 horas de antelación sobre cualquier ventana de mantenimiento programada. RNF-4: En caso de una interrupción del sistema, se debe informar a los usuarios y ofrecer un tiempo estimado de resolución. Descripción de requisitos del sofware Sistema de Gestión de Tareas para Estudiantes Especificación de requisitos de software 3.3.5 Rev. 1.0 Pág. 20 Mantenibilidad La mantenibilidad hace referencia a la facilidad con la que se pueden realizar modificaciones, actualizaciones y correcciones en el sistema, permitiendo su adaptabilidad y mejoras futuras. RNF-1: El sistema debe estar diseñado con un enfoque modular que permita la actualización de funciones específicas sin afectar el funcionamiento general. RNF-2: Los desarrolladores realizarán mantenimiento preventivo cada tres (3) meses para optimizar el rendimiento y corregir posibles errores. RNF-3: El sistema deberá ser documentado en su totalidad, incluyendo el código fuente, para facilitar futuras modificaciones por parte de terceros. RNF-4: El sistema debe permitir la configuración de parámetros sin necesidad de acceder al código, facilitando ajustes en las reglas de negocio. RNF-5: Se ofrece a los clientes dos revisiones de mantenimiento correctivo gratuitas dentro del primer año tras el lanzamiento. Las revisiones adicionales estarán sujetas a costos adicionales. Descripción de requisitos del sofware Sistema de Gestión de Tareas para Estudiantes Especificación de requisitos de software 3.3.6 Rev. 1.0 Pág. 21 Portabilidad La portabilidad del sistema permite su ejecución en diferentes plataformas y entornos con un mínimo esfuerzo de adaptación, asegurando su funcionalidad en diversos sistemas operativos y dispositivos. RNF-1: El sistema será compatible con los sistemas operativos Windows, Linux y MacOS, garantizando un nivel de portabilidad del 99.9%. RNF-2: La aplicación web debe ser accesible desde navegadores modernos (Chrome, Firefox, Safari y Edge), manteniendo la misma funcionalidad en todos ellos. RNF-3: Se utilizará el lenguaje de programación Java y un entorno de desarrollo multiplataforma para maximizar la compatibilidad y portabilidad del sistema. RNF-4: La base de datos empleada será PostgreSQL, elegida por su capacidad de funcionar en múltiples plataformas sin modificaciones significativas. 3.4 Otros requisitos En esta sección se detallan requisitos adicionales que no encajan en ninguna de las categorías anteriores, pero que son relevantes para el sistema. Requisitos Culturales y Políticos El sistema debe adaptarse a las políticas de privacidad y protección de datos de cada país donde se implemente, respetando regulaciones como el GDPR en Europa o la CCPA en California. Requisitos Legales El sistema debe cumplir con las normativas vigentes sobre propiedad intelectual y protección de datos, incluyendo la implementación de políticas de uso y términos de servicio que respalden el cumplimiento de estas normativas. Propiedad Intelectual Los costos de licencia del sistema se calcularán en función del número de usuarios que se conecten simultáneamente al sistema, con opciones de pago por usuario y licencias institucionales. Descripción de requisitos del sofware Sistema de Gestión de Tareas para Estudiantes Especificación de requisitos de software 4 Rev. 1.0 Pág. 22 Apéndices Los apéndices contienen información adicional relevante para la especificación de requisitos del sistema, incluyendo términos y definiciones específicas, diagramas de flujo, ejemplos de interfaz de usuario y plantillas para la documentación. Descripción de requisitos del sofware