Criterio B: Diseño Inicio de Sesión: El proceso de inicio de sesión se utiliza para verificar el usuario la cual intente ingresar al programa. Se requiere a que el usuario ingrese su correo, y su contraseña. El siguiente diagrama de flujo muestra los procedimientos en el proceso de inicio de sesión. Figura 1: Diagrama visual y simbólico. Figura 2: Ventana emergente cuando datos no coinciden. La figura 2 muestra la ventana emergente que aparece cuando la contraseña no coincide con el correo electrónico, o el correo electrónico no existe en la base de datos. A continuación se muestra el diagrama de flujo para el proceso de inicio de sesión. Registro: El proceso de registro se utiliza para crear un nuevo usuario del programa. Para esto se necesitará de un correo electrónico y una contraseña. Estos datos se verificará en la base de datos, asegurando a que el correo no exista, y que los campos de contraseña coincidan entre sí. A continuación se muestra el diagrama de flujo para el proceso de registrarse. Figura 3: Ventana emergente cuando contraseñas emergentes no coinciden. Figura 4: Ventana emergente cuando correo electrónico ingresado ya existe en base de datos. Menú Principal En el menú principal del programa se incluyen 3 ventanas, las cuales sirven para cumplir el propósito del programa. Figura 2: Diagrama de flujo de menú principal A continuación, se mostrará una tabla con las ventanas y las funciones que cumplirá. Rastreo de Tiempo ● Muestra los programas utilizados en el mismo día, y el tiempo correspondiente. ● Muestra gráficos de proporción, en relación con el tiempo. Tabla 1: Tabla de funciones. Bloqueo de programas ● Permite seleccionar programas que se desean bloquear. Bloqueo por tiempo. ● Permite bloquear programas en base al tiempo maximo de uso deseado. ● Permite bloquear programas en base a periodos de tiempo en un dia (Ej. Bloqueo del programa “Spotify.exe” entre 14:00 - 18:00) Figura 3: Interfaz Gráfica del Menú Principal ● Traqueo de tiempo El proceso de traqueo de tiempo consiste en identificar el nombre del programa con la ventana abierta, y hacer una comparación con el programa actual de hace 1 segundo. Si son iguales, muestra que no se ha cambiado el programa, y si son distintas muestras que sí se cambió a otra ventana. En el caso en que fueran iguales, se revisa en la base de datos si el nombre del programa ya existe. Si fuese verdadero se crea una fila con el nuevo programa. Si fuese falso, se añade el tiempo transcurrido (1 seg) a la columna de tiempo utilizado. ● Bloqueo de programas ● Bloqueo por tiempo limite ● Bloqueo por bloque de tiempo. Plan de prueba Sujeto Método Interfaz gráfica para iniciar sesión con correo y clave. Acceder y consultar la base de datos y verificar la coherencia entre datos ingresados y base de datos. Interfaz gráfica para inscribirse con correo y clave. Acceder y crear un nuevo usuario en la base de datos. El programa debe ser capaz de identificar si el Crear etiqueta de error cuando campo obligatorio usuario ha introducido los datos en los campos obligatorios. este vacío, y que pueda cambiar cuando los datos introducidos sean correctos. Interfaz gráfica permite al usuario visualizar un menú, así poder acceder al tiempo utilizado en distintos programas en su propio dispositivo. Realizar consultas en la base de datos sobre el tiempo utilizado en distintos programas en relación con el usuario consultando. El programa debe poder crear filtros, así poder filtrar la información con base en la fecha, tiempo, o nombre de programa. Consultas en base de datos con restricciones, así poder filtrar la información deseada. Ventana emergente para transmitir violación de restricciones en la base de datos. Crear ventana emergente, que muestra la violación que ha ocurrido. El programa debe poder limitar el tiempo utilizado en los programas escogidos. Condición en base de datos, así el programa escogido no puede tener más de cierto tiempo acumulado. Ventana emergente para transmitir información. El programa debe poder bloquear programas dentro de un periodo establecido. Crear condición en base de datos, en donde programa no se puede utilizar en cierto margen de tiempo. El programa del padre debe poder acceder la información de los dispositivos de sus hijos. Crear vistas que permitan a que ciertos usuarios (padres) puedan acceder a la información de hijos.