Universidad Invenio
Tecnologías de Información y Comunicación Empresarial Curso
DISEÑO DEL SOFTWARE - DS Sistema de Registro de Ausencias y Control de Notas
Autores: Luis Zúñiga Muñoz Johan Zúñiga Salas Marsha Gómez Gómez
1. CONTROL DE VERSIONES Versión
Fecha
Encargado
Descripción
1.0.0
2015-09-09
Johan Zúñiga Salas
Definición de casos de Uso en formato exapandido, diagrama de clases, arquitectura, estándares.
Luis Zúñiga Muñoz Marsha Gómez Gómez
CONTENIDO 1.
Control de versiones................................................................................................................ 2
2.
Casos de Uso en formato expandido....................................................................................... 4 a.
Autentificar Usuario ............................................................................................................ 4
b.
Importar Materias ............................................................................................................... 5
c.
Importar Grupos por Docente ............................................................................................. 6
d.
Importar Docente ................................................................................................................ 7
e.
Registrar Ausencias ............................................................................................................. 8
f.
Registrar Notas .................................................................................................................. 10
g.
Exportar Ausencias ............................................................................................................ 11
h.
Exportar Notas ................................................................................................................... 12
3.
Diagramas de Clase ............................................................................................................... 13
4.
Arquitectura .......................................................................................................................... 13 a.
Diagrama de la Arquitectura ............................................................................................. 14
b.
Diseño Gráfico. .................................................................................................................. 15
c.
Diseño de Datos................................................................................................................. 17 1.
Diagramas de Bases de Datos........................................................................................ 19
2.
Diccionario de Datos...................................................................................................... 20
d.
Estándares ......................................................................................................................... 23 1.
Estándares Aplicación.................................................................................................... 23
2.
Estándares de Base de Datos ........................................................................................ 26
a.
Notación de Tablas ........................................................................................................ 26
b.
Notación de Campos ..................................................................................................... 26
c.
Notación de Constraints ................................................................................................ 27
d.
Vistas ............................................................................................................................. 28
2. CASOS DE USO EN FORMATO EXPANDIDO. Los casos de uso modelan comportamiento, interacción. El caso de uso comprende los pasos necesarios para alcanzar un objetivo de su actor principal. En los siguientes cuadros descriptivos se provee una especificación funcional completa.
a. Autentificar Usuario UC-1
Autenticar Usuario
Versión
1.0
Autor(es)
Luis Zuñiga Muñoz
Fuentes
N/A
Importancia
Critico.
Tipo:
Primario Esencial.
Dependencias
REQ-F006
Actores primarios
Docente
Actores secundarios
N/A
Descripción General
El objetivo principal de este caso de Uso es que cada Docente maneje personalmente su propia información con la seguridad de que nadie más aparte de él pueda modificar o ingresar información respecto a su materia.
Curso Típico Eventos
El usuario tiene acceso a las funcionalidades del sistema. El usuario está registrado en la BD MySQL El docente ingresa su usuario y password. El sistema válida que exista el usuario y que el password sea correcto.
Respuesta del Sistema de Acción del Actor 1. En la pantalla principal el 2. Mediante un JSON se crea una usuario, ingrese su nombre consulta a la Base de Datos de junto con su contraseña de la Institución que consulte si el Usuario. Usuario y la contraseña digitados existe. Se validará la información para para la confirmación y autenticación del Usuario.
3. El sistema Importa desde la base de Datos de la Institución los cursos, materias y estudiantes relacionados al docente que está ingresando a la aplicación. 4. Se desplegará una pantalla principal junto a un mensaje de Confirmación de Usuario Curso Alterno
Comentarios
b. Importar Materias UC-2
Importar Materias
Versión
1.0
Autor(es)
Johan Zúñiga Salas.
Fuentes
N/A
Importancia
Critico.
Tipo:
Primario Esencial.
Dependencias
REQ-F001
Actores primarios
Docente
Actores secundarios
N/A
Descripción General
La Base de Datos externa debe contener los datos actualizados de las materias que se impartirán en la Institución. EL caso de uso inicia cuando el docente inicia sesión, todos los datos de las materias se cargarán automáticamente en la base de Datos interna de la aplicación creada en “SQLite” Acción del Actor
Respuesta del Sistema
Curso Típico Eventos
1. En la pantalla principal el usuario, ingrese su nombre junto con su contraseña de Usuario.
2. Si el Usuario es correcto, el sistema despliega una pantalla de confirmación de usuario. De lo contrario se deberá ingresar un usuario válido.
3. El usuario ingresa al Sistema con su Usuario anteriormente registrado en la BD oficial de la Institución.
4. Se desplegará una pantalla principal y con un procedimiento secundario querará cargando todas las materias de la BD externa.
de
Curso Alterno
Comentarios
c. Importar Grupos por Docente UC-3
Importar Grupos por Docente
Versión
1.0
Autor(es)
Johan Zúñiga Salas.
Fuentes
N/A
Importancia
Critico.
Tipo:
Primario Esencial.
Dependencias
REQ-F001
Actores primarios
Docente
Actores secundarios
N/A
Descripción General
Se van a importar datos generales que deben contener los datos actualizados de los grupos de estudiantes en la Institución. Acción del Actor
Respuesta del Sistema
Curso Típico Eventos
1. En la pantalla principal el usuario, ingrese su nombre junto con su contraseña de Usuario.
2. Si el Usuario es correcto, el sistema despliega una pantalla de confirmación de usuario. De lo contrario se deberá ingresar un usuario válido.
3. El usuario ingresa al Sistema con su Usuario anteriormente registrado en la BD oficial de la Institución.
4. Se desplegará una pantalla principal y con un procedimiento secundario que querará a cargo de cargar todos los grupos pertenecientes al Docente de una BD externa.
de
Curso Alterno
Comentarios
d. Importar Docente UC-4
Importar Docente
Versión
1.0
Autor(es)
Marsha Gómez Gómez.
Fuentes
N/A
Importancia
Critico.
Tipo:
Primario Esencial.
Dependencias
REQ-F001
Actores primarios
Docente
Actores secundarios
N/A
Descripción General
Este caso de Uso será una consulta directa a la base de Datos de la Institución, importando todos los datos del Docente que está ingresando al Sistema. Acción del Actor
Respuesta del Sistema
Curso Típico Eventos
1. En la pantalla principal el usuario, ingrese su nombre junto con su contraseña de Usuario.
2. El sistema hace una consulta directa a la nube donde se encuentra la Base de Datos propia de la Institución para validar la existencia del Docente. Posteriormente se hará la importación de los datos personales del Docente que se está validando.
3. El usuario ingresa al Sistema con su Usuario anteriormente registrado en la BD oficial de la Institución.
4. Toda la información del Docente que quedará registrada en una Base de Datos interna creada en “SQLite” para tener la información personal de una manera más rápida, eficiente y sin necesidad de internet.
de
Curso Alterno
Comentarios
e. Registrar Ausencias UC-5
Registrar Ausencias
Versión
1.0
Autor(es)
Johan Zúñiga Salas.
Fuentes
N/A
Importancia
Critico.
Tipo:
Primario Esencial.
Dependencias
REQ-F002
Actores primarios
Docente
Actores secundarios
N/A
Descripción General
Curso Típico Eventos
Curso Alterno
Comentarios
El usuario ingresa al módulo de lista digital de los alumnos según la materia en la que se encuentren en ese momento, el docente deberá pasar asistencia y para ingresar los alumnos que no se encuentran en clases existirá una casilla para marcar con un check marca la casilla del alumno si se encuentra ausente y los cambios se deben guardar presionando el botón de guardar.
de Acción del Actor
Respuesta del Sistema
1. En la pantalla principal el usuario selecciona un grupo del cual desea registrar las ausencias.
2. Se desplegará una pantalla con una lista de alumnos los cuales están asistiendo al curso seleccionado.
3. A la par de cada nombre del alumno se encuetra un check list el cuál tendrá la función de definir cuáles alumnos se encuentran ausentes. 4. Se debe marcar la casilla al alumno que se encuentre ausente.
5. El sistema guardará la lista de alumnos que se encuentran en estado de Ausente.
6. El usuario selecciona la opción guardar.
7. El sistema guarda los datos en la base de datos local y redirige a la página de alumnos del curso seleccionado. 8. Cuando el sistema tenga acceso a Internet, los datos se actualizarán en la Base de Datos principal de la Escuela.
f. Registrar Notas UC-6
Registrar Notas
Versión
1.0
Autor(es)
Johan Zúñiga Salas.
Fuentes
N/A
Importancia
Critico.
Tipo:
Primario Esencial.
Dependencias
REQ-F005
Actores primarios
Docente
Actores secundarios
N/A
Descripción General
EL caso de uso inicia cuando el docente selecciona en la pantalla principal el grupo al cual desea insertar las notas de cada uno de los alumnos pertenecientes a ese grupo, una vez seleccionado el grupo, selecciona un alumno y se abrirá una ventana para registrar la nota del mismo, así sucesivamente para cada alumno perteneciente a dicho grupo.
Curso Típico Eventos
de Acción del Actor
Respuesta del Sistema
En la pantalla principal el usuario El sistema despliega una pantalla con selecciona un grupo del cual desea un historial de clases que ha recibido el registrar las notas. grupo en la asignatura seleccionada. Seguidamente selecciona la opción Se desplegará una pantalla con una “Registrar notas” lista de alumnos los cuales están asistiendo al curso seleccionado. El usuario selecciona un alumno para El sistema mostrará una pantalla para el registrar su nota. registro de la nota del alumno seleccionado. El usuario selecciona la opción guardar. El sistema guarda los datos en la base de datos local y redirige a la página de alumnos del curso seleccionado
Curso Alterno
Comentarios
g. Exportar Ausencias UC-7
Exportar ausencias
Versión
1.0
Autor(es)
Luis Zúñiga Muñoz
Fuentes
N/A
Importancia
Critico.
Tipo:
Primario Esencial.
Dependencias
REQ-F008
Actores primarios
Profesor.
Actores secundarios
N/A
Descripción General
EL caso de uso inicia cuando el profesor desea exportar las ausencias a la base de datos (MySQL) que está instalada en la nube, dichas ausencias están almacenadas en una base de datos (SQLite) local en el dispositivo, esto siempre y cuando las ausencias de los alumnos hayan sido previamente registradas. El usuario ingresa al módulo de Ausencias de estudiantes, y puede consultar y exportar las ausencias por filtros que le permitirán seleccionar si desea las ausencias de un solo alumno o de un grupo en general.
Curso Típico Eventos
Curso Alterno
de Acción del Actor
Respuesta del Sistema
En el menú el usuario selecciona la El sistema muestra una confirmación opción “Exportar Ausencias”. para sincronizar las ausencias con el servicio que está en la nube. Si el usuario confirma positivamente.
Se comienzan a sincronizar los datos en la nube.
Si el usuario confirma negativamente.
La confirmación desaparece y regresa a la pantalla previa.
Comentarios
h. Exportar Notas UC-8
Exportar notas.
Versión
1.0
Autor(es)
Johan Zúñiga Salas.
Fuentes
N/A
Importancia
Critico.
Tipo:
Primario Esencial.
Dependencias
REQ-F007
Actores primarios
Profesor.
Actores secundarios
N/A
Descripción General
EL caso de uso inicia cuando el profesor desea exportar las notas a la base de datos (MySQL) que está instalada en la nube, dichas notas están almacenadas en una base de datos (SQLite) local en el dispositivo, esto siempre y cuando las notas de los alumnos hayan sido previamente registradas.
Curso Típico Eventos
Curso Alterno
Comentarios
de Acción del Actor
Respuesta del Sistema
En el menú el usuario selecciona la El sistema muestra una confirmación opción “Exportar Notas”. para sincronizar las notas con el servicio que está en la nube. Si el usuario confirma positivamente.
Se comienzan a sincronizar los datos en la nube.
Si el usuario confirma negativamente.
La confirmación desaparece y regresa a la pantalla previa.
3. DIAGRAMAS DE CLASE Los diagramas de clases describen la estructura estática de un sistema. Las cosas que existen y que nos rodean se agrupan naturalmente en categorías. Una clase es una categoría o grupo de cosas que tienen atributos (propiedades) y acciones similares. Este sistema contendrá 11 clases las cuales se visualizarán en la Figura .
4. ARQUITECTURA Para asegurarse de que este sistema de software o aplicación satisface las necesidades de los docentes, se crea el Diagrama de Arquitectura como parte de la descripción de la estructura y el comportamiento globales del sistema de software o aplicación. A través de los modelos, también puede describir los patrones que se usan a lo largo de todo el proceso de diseño. Estos modelos le ayudan a entender la arquitectura existente, a analizar los cambios y a comunicar sus intenciones con claridad.
a. Diagrama de la Arquitectura La aplicación posee una base de datos local que está compuesta por las tablas: tregistroausencia, tregistronota y las vistas vwasignaturadocente, vwdocente, vwestudiante. Mediante JSON (JavaScript Object Notation) se importarán todos los datos de la Base de Datos oficial de la institución. Para asegurar la Integridad de datos y confidencialidad se manejará sobre Servicios Web a través del uso de la Transport Layer Security (TLS), enviando mensajes de tipo JSON (JavaScript Object Notation). El registro de la información en las tablas tregistroAusencia y tregistronota serán almacenadas en la Base de Datos remota llamada ‘bdpiiad2’ creada en MySQL para este fin. Las credenciales del usuario serán validadas contra esta misma base de datos remota.
b. Diseño Gráfico. En esta aplicación se tomó en cuenta: Flexible: El software cuenta con una considerable variedad de posibilidades con las que el usuario y el sistema pueden intercambiar información. Se ha tratado de garantizar una multiplicidad de vías para realizar una tarea, de manera que todos los procesos nuevos tengan similitud con tareas anteriores. Robusto: Es el nivel de apoyo que el software presta al usuario para facilitar el cumplimiento de sus objetivos. Este apoyo se relaciona con la capacidad de observación del usuario, de recuperación de información y de adaptación de la tarea al usuario. Entendible: Este valor le permite al usuario entender efectivamente cuales son las diferentes funciones del software, para sacar el mayor provecho del mismo en los diferentes entornos en los que se use. Novedoso: Que tiene implementada una interfaz de usuario diferente, muy atractiva y de fácil manejo. Inteligente y atractivo: El sistema brinda una ayuda inteligente para los usuarios creativos, gracias a la integración de diferentes algoritmos con diseño visual orientado a la gestión de ideas. Fácil de Aprender: Facilidad con la que nuevos usuarios desarrollan una interacción efectiva con el sistema. El diseño del sistema se ha creado para garantizar que su manejo sea fácil, hasta el punto de ser intuitivo. A partir de estas características conceptuales y con el objetivo de verificar la transferencia y aplicación de conceptos relacionados con el diseño, se centró el desarrollo visual de la interfaz gráfica en los siguientes principios: Metáforas Visuales: Se busca que los iconos de la aplicación tengan una representación en acción con los objetos del mundo real, de tal forma que los nuevos usuarios puedan captar rápidamente cómo funciona la aplicación; se incluyen además controles de reproducción, neuronas como metáfora de conexión de información y botones estándar para afianzar la facilidad de uso. Experiencia de usuario: El usuario debe sentir que está controlando el software, de tal forma que comprenda con mayor facilidad las acciones que realiza sobre los objetos. Así se veló porque el usuario conozca inmediatamente el resultado de las acciones que realiza mediante elementos visuales como un medio para proporcionar información y mejorar la experiencia del usuario. Para incrementar la sensación de manipulación de la interface se incluyó el sistema de arrastre (Drag and Drop) de elementos, permaneciendo estos visibles mientras se realizan acciones en ellos.
Pantalla 1. Pantalla Principal. Autentificaci贸n de Usuario.
Pantalla 2. Pantalla Grupos. Selecci贸n de Grupos.
Pantalla 3. Pantalla Detalles de los Cursos. Se muestran los detalles del curso que se desea.
Pantalla 4. Detalle de Cursos. Opciones. Agregar. El docente posee los privilegios de crear una nueva clase y de Agregar las notas de los estudiantes que tiene asignado.
Pantalla 5. Detalle de Cursos. Opciones. Agregar. Nueva Clase. El docente posee los privilegios de crear una nueva clase con sus respectivos alumnos.
c. Diseño de Datos El diseño de datos se crea durante el análisis en las estructuras de datos que se necesitarán para implementar el software. Los objetos de datos y las relaciones definidas en el diagrama relación entidad y el contenido de datos detallado que se representa en el diccionario de datos proporcionan la base de la actividad del diseño de datos.
1. Diagramas de Bases de Datos
2. Diccionario de Datos Este diccionario de datos contiene las características lógicas de los datos que se van a utilizar en un sistema relacionándolo con la Base de Datos, incluyendo el nombre del Atributo, su respectiva descripción, alias, contenido y organización.
Tabla Asignatura
Tabla Asignatura Impartada
Tabla Curso Lectivo
Tabla Docente
Tabla Estudiante
Tabla Grupo
Tabla Grupo Estudiante
Tabla Nivel
Tabla Persona
Tabla Registro Ausencia
Tabla Registro Nota
Tabla Usuario APP
d. Estándares Estos estándares definen cómo planificar y desarrollar la aplicación móvil para el control de ausencias y notas. A continuación abordaremos todos los pasos que deben tomarse en cuenta para el desarrollo de la aplicación:
1. Estándares Aplicación
El estándar de espera de un usuario no será mayor a: o
5 segundos para que aparezca algo visible en la pantalla
o
10 segundos para que aparezca algo legible en la pantalla
o
30 segundos hasta hacer un click hacia otra parte del sitio o hacia otro sitio
Nota: El rendimiento de una conexión a Internet nunca es del 100%. Hay que tener en cuenta que en estos tipos de conexiones (Módem analógico, RDSI, ADSL) se utilizan diversos protocolos (PPP, TCP/IP) que ocupan ancho de banda (entre un 2% y un 20% del 100% total, según el tipo de conexión y protocolo utilizado), con lo que se reduce el ancho de banda útil para la descarga de datos
Prioridad 1: o
Los puntos de verificación de esta prioridad tienen que ser satisfechos, porque, de lo contrario, uno o más grupos de usuarios encontrarán imposible acceder a la información del documento. Satisfacer este punto de verificación es un requerimiento básico para que algunos grupos puedan usar estos documentos virtuales.
Diseño de la Experiencia del Usuario En forma paralela al desarrollo de las interfaces, todo proyecto móvil debe tener en cuenta la experiencia que vivirá el usuario al navegar por sus actividades. A ese concepto se le denomina «experiencia» del usuario y el objetivo siempre será el de que cada persona que
se sienta satisfecho de utilizar la aplicación para que lo utilice de manera simple, de tal manera que sea un medio extra oara que otras instituciones se den cuenta de la funcionalidad de esta aplicación.
Diagramación de las Páginas
Se recomienda construir una estructura de presentación de los contenidos que se pueda fragmentar en varias secciones. Sección 1: Muestra el nombre de la pantalla del sistema y el menú del sitio. Sección 2: Muestra las Secciones del Sitio más los contenidos de diferente nivel. Sección 3: Muestra el pie de la página, en algunos casos sólo se desplegará un botón que abrirá otra actividad.
Encabezado
Menu
Sección 1
Secciones del Sitio
Sección 2
Pie de Página
Botón
Sección 3
Uso de Splash
El splash es utilizado más que todo para hacer publicidad corta a la aplicación, para que el usuario se sienta identificado directamente con los colores y el logo de la empresa o de la aplicación Sección 1: Muestra el nombre de la pantalla del sistema y el logotipo que va a identificar a la aplicación. Sección 2: Muestra las Secciones del Sitio más los contenidos de diferente nivel. Sección 3: Muestra el pie de la página, en algunos casos sólo se desplegará un botón que abrirá otra actividad.
Encabezado
Sección 1
Logotipo
Secciones del Sitio
Sección 2
Pie de Página
Sección 3
2. Estándares de Base de Datos a. Notación de Tablas
Nomenclatura: o
El nombre de la tabla debe ser descriptivo, en singular y en minúscula.
o
Las tablas identifican una entidad del sistema con un nombre completo.
o
Una tabla hija debe llevar al inicio el nombre de la tabla padre.
o
Si la entidad o proceso representa a una tabla de uso temporal, el nombre de la misma debe ser precedida por el siguiente prefijo “temp_”.
o
Al inicio del nombre de la Tabla debe llevar la letra “t” en minúscula. Ejemplo : Nomenclatura de una tabla padre tgrupo Nomenclatura de una tabla hija tgrupoestudiante Nomenclatura de una tabla temporal temp_nombretabla
b. Notación de Campos
Nomenclatura: o
Los nombres de los campos deben ser descriptivos, en singular y en minúscula.
o
Si se trata de un nombre que contiene más de dos palabras, se utilizará el inicio de la nueva palabra en mayúscula para diferenciar donde inicia esta.
Ejemplo : Nomenclatura de los nombres de los atributos de la tabla nombre apellido1 Nomenclatura de un nombre con dos o más palabras
direccionEstudiante idEmpleado
c. Notación de Constraints
Nomenclatura: o
El nombre de la tabla debe estar en mayúscula.
o
Índices con llaves primarias (Primary Key) se escribirán en minúscula.
o
Índices con llaves foráneas o relacionadas (Foreing Key) se escribirán en minúscula.
o
Los Indices Unique deben tener el índice “un” antes del nombre del campo Unique.
o
Los Indices Default deben tener el índice “df” antes del nombre del campo Default.
o
Los Indices Check deben tener el índice “ck” antes del nombre del campo Check.
o
Los nombres de los campos deben ser descriptivos, en singular y en minúscula.
Ejemplo: Nomenclatura de las llaves foráneas o relacionadas idEstudiante Nomenclatura de las llaves primarias numNivelRequisito Nomenclatura de los indices Unique: uqNombreUnique Nomenclatura de los datos Default: dfNombreDato Nomenclatura de los datos de tipo Check: ckNombreCheck
d. Vistas
Nomenclatura para las Vistas: o
Las vistas deben poseer un Identificador “vw” para las Vistas al inicio del nombre de las tablas.
o
Para el nombre de las Vistas utilizar palabras claras y descriptivas.
Ejemplo : Nomenclatura de las vistas vwdocente