Este documento presenta el diseño de un sistema para administrar y controlar las asistencias de los alumnos en una carrera de programación. Incluye requerimientos funcionales y no funcionales, así como diagramas y flujos que describen el proceso de registro de profesores, cursos, alumnos y asignación de asistencias. El sistema permitirá a administradores, profesores y alumnos interactuar para llevar un registro de las asistencias de los estudiantes.
1. 2013
6IM6
Instituto Politécnico Nacional
Centro de Estudios Científicos y Tecnológicos No. 9
“Juan de Dios Bátiz Paredes”
- Ángeles de la Cruz Jean
- Cureño Alva Esteban Michel
- Marroquin Tetlalmatzi Esteban
Darío
- Santiago Carrillo Rafael
- Villalobos Moreno Ángel
6IM6
Ingeniería de Software Básica
Profr. Juan Manuel Cruz
Mendoza
16/05/2013
Proyecto
2. 1
Índice
Proceso………………………………………………………..2
Requerimientos funcionales………………………………….. 2
Flujo básico……………………………………………………. 4
Flujo secundario………………………………………………. 8
Diagramas de casos de uso…………………………………… 13
Diagramas de secuencia……………………………………… 14
Diagrama de actividades…………………………………….. 27
Mapa de navegación…………………………………………. 48
Diagrama de clases…………………………………………… 49
Look & feel……………………………………………………. 50
3. 2
Proceso
1. Especificación de software
En esta parte se define la funcionalidad y restricciones operacionales que debe
cumplir el software, esta parte esta específica en los requerimientos funcionales y no
funcionales, teniendo en cuenta el siguiente problema:
-Se requiere administrar y controlar las asistencias de los alumnos que estudian en las
unidades de aprendizaje de la carrera de programación, es por eso que se necesita
desarrollar un sistema que realice esta tarea de esta forma se podrá reducir tiempo y
esfuerzo.
2. Diseño e Implementación
Se diseña y construye el software de acuerdo a la especificación.
Esta parte hace referencia al look & feel del proyecto que ya está implementado en el
presente programa.
3. Validación
El software debe validarse, para asegurar que cumpla con lo que quiere el cliente.
4. Evolución
El software debe evolucionar, para adaptarse a las necesidades del cliente.
Requerimientos funcionales
. El sistema contar con 4 tipos de cuentas: administrador, profesor, alumnos, tutor y
secretaria.
II. La cuenta tipo administrador será para el jefe de área, tendrá la posibilidad de registrar
a los profesores en el sistema y llevar el control de los registros.
1. Registro de profesores. El administrador del sistema en este caso el coordinador de la
carrera de técnico en programación, realizará el registro de profesores, quienes re
pertenecientes a la misma, para ello debe de considerar los siguientes datos:
Id del profesores (número de empleado)
Nombre del profesores
Turno
4. 3
Semestre
Grupo
Unidad de aprendizaje
Horario
Fecha del registro (lo hará automáticamente el sistema)
EL MODULO DE REGISTRO ALUMNOS
2. Generar un reporte periódico de las asistencias de los alumnos, el cual podrá ser
consultado por profesor, grupo y alumno, así también se generará un reporte general
acumulativo de las faltas generadas por semestre las cuales serán enviadas al coordinador del
área de programación.
3. La cuenta tipo profesor promocionará los privilegios para asignar la asistencia de cada
alumno, además del control y registro de alumnos.
4. La cuenta tipo alumnos permitirá consultar el historial del estudiante.
5. Para tener una cuenta tipo tutor el padre o tutor, tendrá que ser registrado por el alumno o
solicitar el registro, para ello tendrá que ser confirmado por el alumno en un plazo de 72 horas.
6. La cuenta tipo tutor permitirá llevar el seguimiento del historial de asistencia de los alumnos
de los cuales sea tutor.
7. El sistema solo permitirá una cuenta de tutor por cada alumno.
Requerimientos no funcionales
Disponibilidad
La disponibilidad del sistema debe ser continua con un nivel de servicio para los usuarios
de 7 días X 24 horas, garantizando un esquema adecuado que permita ante una posible
falla de la solución en cualquiera de sus componentes, contar con una contingencia,
generación de alarmas.
5. 4
Debe contemplar requerimientos de confiabilidad y consistencia de los componentes de
negocio ante recuperaciones. En caso de fallas de algún componente, no debe haber
pérdida de información.
Debe contemplar requerimientos de consistencia transaccional. Ante la falla del aplicativo,
se debe contar con mecanismos que contemplen la interrupción de transacciones para
que estas finalicen de manera correcta.
Mantenibilidad
Se debe estructurar el código de una manera consistente y predecible.
Para objetos que son frecuentemente manejados en la lógica del negocio, implementar
las respectivas interfaces que aseguren su fácil implementación en el sistema.
Asegurar que el diseño de las interfaces contemplen el que las propiedades públicas y los
parámetros de los métodos sean de un tipo común (estandarizados).
El sistema debe ser construido e implantado de tal manera que un cambio en los
parámetros de negocio no obligue a la generación de una nueva versión del módulo.
Escalabilidad
El diseño debe contemplar el uso óptimo de recursos tales como conexiones a la base
de datos.
Contemplar en el diseño la clara partición entre datos, recursos y aplicaciones para
optimizar la escalabilidad del sistema.
Debe contemplar requerimientos de crecimiento para usuarios tanto internos como
externos.
de la solución.
Especificación de requerimientos
Flujo básico 1. El Administrador solicita menú de administración.
2. El sistema muestra las siguientes opciones al administrador.
Ver informe de faltas.
Profesores.
Cursos.
Materias.
Grupos.
Tutores.
6. 5
Alumnos.
3. El administrador envía la selección de una de las opciones. Si el
administrador selecciona:
“Ver informe de faltas” se ejecutara el flujo secundario “Informe
de faltas”.
“Profesores” se ejecutara el flujo secundario “Profesores“
“Cursos” e ejecutara el flujo secundario “Profesores”.
“Materias” e ejecutara el flujo secundario “Materias”.
“Grupos” e ejecutara el flujo secundario “Grupos”.
“Tutores” e ejecutara el flujo secundario “Tutores”.
“Alumnos” e ejecutara el flujo secundario “Alumnos”.
De lo contrario se ejecutara el flujo alterno “Selección
incorrecta”.
Flujos
secundarios
Ver informe de faltas:
4. El sistema solicita información a la base de datos.
5. La base de datos envía información al sistema.
6. El sistema envía la información de faltas al administrador.
Profesores:
4. El sistema solicita al administrador seleccionar entre las siguientes
opciones:
“Agregar profesor”.
“Mostrar profesor”.
5. El administrador le envía la selección a l sistema. Si el administrador
selecciona:
“Agregar profesor” se ejecutara el flujo secundario “Agregar
profesor”.
“Mostrar profesor” se ejecutara el flujo secundario“Mostrar
profesor”.
De lo contrario se ejecutara el flujo alterno “Selección incorrecta”.
Agregar profesor:
6. El sistema solicita los siguientes datos al administrador:
Nombre [alfanumérico (15)].
Apellidos [alfanumérico (30)].
Clave de empleado [numérico (15)].
Usuario [alfanumérico (15)].
Contraseña [alfanumérico (15)].
7. El administrador envía los datos al sistema.
8. El sistema valido los datos y los envía a la base de datos, en caso de
que los datos estén incorrectos se ejecuta el flujo alterno “Datos
incorrectos”.
9. La base de datos verifica que los datos no existan en otro registro, de lo
contrario se ejecutará el flujo alterno “Registro repetido”.
10.La base de datos confirma al sistema que los datos se han guardado.
11.El sistema envía un mensaje al administrador confirmando que los datos
se han guardado.
Mostrar profesor:
6. El sistema pide a la base de datos toda la información de los profesores
7. 6
del área.
7. La base de datos realiza la búsqueda de los profesores.
8. La base de datos envía la información de los profesores al sistema.
9. El sistema envía la información de los profesores al administrador.
Cursos:
4. El sistema solicita al administrador selecciona entre la siguientes
opciones:
“Agregar curso”.
“Mostrar curso”.
5. El administrador envía la selección al sistema. Si el administrador
selecciona:
“Agregar curso” se ejecutará el flujo secundario “Agregar curso”.
“Mostrar curso” se ejecutará el flujo secundario “Mostrar curso”.
De lo contrario se ejecutara el flujo alterno “Selección incorrecta”.
Agregar curso:
6. El sistema solicita al administrador los siguientes datos:
Nombre del profesor [alfanumérico (15)].
Grupo [alfanumérico (4)].
Materia [alfanumérico (30)].
7. El administrador envía los datos al sistema.
8. El sistema valida los datos y los envía a la base de datos, en caso de
que los datos sean incorrectos se ejecutará el flujo alterno “Datos
incorrectos”.
9. La base de datos verifica que los datos no estén en otro registro de lo
contrario se ejecutará el flujo alterno “Registro repetido”.
10.La base de datos notifica al sistema que el registro ya se ha realizado.
11.El sistema envía mensaje al administrador que la información se ha
guardado.
Mostrar curso:
6. El sistema solicita la información de todos los cursos del área a la base
de datos.
7. La base de datos realiza una búsqueda de los cursos del área.
8. La base de datos envía toda la información de los cursos al sistema.
9. El sistema envía un listado al administrador con toda la información de
los curso.
Materias:
4. El sistema solicita al administrador seleccionar entre las siguientes
opciones:
“Agregar materia”.
“Mostrar materia”.
5. El administrador envía la selección al sistema. Si el administrador
selecciona:
“Agregar materia” se ejecutara el flujo secundario “Agregar
materia”.
“Mostrar materia” se ejecutará el flujo secundario “Mostrar
materia”.
De lo contrario se ejecutara el flujo alterno “Selección incorrecta”.
8. 7
Agregar materia:
6. El sistema solicita al administrador los siguientes datos:
Nombre de la materia [alfanumérico (30)].
7. El administrador envía los datos al sistema.
8. El sistema valida los datos, en caso de que el dato sea incorrecto se
ejecutara el flujo alterno “Datos incorrectos”.
9. El sistema envía los datos a la base de datos.
10.La base de datos verifica que la información no esté repetida en un
registro, de lo contrario se ejecutará el flujo alterno “Registro repetido”.
11.La base de datos notifica al sistema que el registro se ha realizado.
12.El sistema envía un mensaje al administrador de que el registro se ha
realizado.
Mostrar materia:
6. El sistema solicita toda la información de las materias a la base de
datos.
7. La base de datos realiza una búsqueda de las materias.
8. La base de datos envía los resultados de la búsqueda al sistema.
9. El sistema envía la información al administrador.
Grupos:
4. El sistema solicita al administrador seleccionar entre las siguientes
opciones:
“Agregar grupo”.
“Mostrar grupo”.
5. El administrador envía la selección al sistema. Si el administrador
selecciona:
“Agregar grupo” se ejecutará el flujo secundario “Agregar grupo”.
“Mostrar grupo” se ejecutará el flujo secundario “Mostrar grupo”.
De lo contrario se ejecutara el flujo alterno “Selección incorrecta”.
Agregar grupo:
1. El sistema solicitará los siguientes datos al administrador:
Nombre del grupo [alfanumérico (4)].
2. El administrador envía los datos al sistema.
3. El sistema hace la validación de los datos y los envía a la base de
datos, si los datos están incorrectos se ejecutará el flujo alterno “Datos
incorrectos”.
4. La base de datos verifica que la información no exista en otro registro,
en caso de que exista se ejecutará el flujo alterno “Registro repetido”
Mostrar grupo
6. El sistema solicita a la base de datos todos los grupos del área.
7. La base de datos realizará una búsqueda de todos los grupos del área y
enviará los resultados al sistema.
8. El sistema enviará la información encontrada al administrador.
Tutores:
4. El sistema envía al administrador un listado de los alumnos con su
respectivo tutor.
Alumnos:
4. El sistema envía al administrador una lista con la información de cada
9. 8
alumno, así como la cantidad de faltas durante todo el curso.
Flujos
alternos
Selección incorrecta:
4. El sistema notifica al administrador que ha hecho una selección
incorrecta que no se encuentra en el sistema.
Registro repetido
4. El sistema notifica al administrador que el registro que trata de realizar
ya existe.
Flujo básico 1. El profesor solicita el menú de profesores.
2. El sistema solicita al profesor que seleccione entre las siguientes
opciones:
“Alumnos”.
“Grupos”.
“Pasar lista”
3. El profesor envía la selección al sistema. Si el profesor selecciona:
“Alumnos” se ejecutará el flujo secundario “Alumnos”.
“Grupos” se ejecutará el flujo secundario “Grupos”.
“Pasar lista” se ejecutará el flujo secundario “Pasar lista”.
De lo contrario se ejecutará el flujo alterno “Selección incorrecta”.
Flujos
secundarios
Alumnos
4. El sistema solicita al profesor que seleccione entre las siguientes
opciones:
“Agregar alumnos”.
“Mostrar alumnos”.
“Eliminar alumno”.
“Editar alumno”.
“Ver faltas de alumno”
5. El profesor envía la selección al sistema. Si el profesor selecciona:
“Agregar alumnos” se ejecutará el flujo secundario “Agregar
alumnos”.
“Mostrar alumnos” se ejecutará el flujo secundario “Mostrar
alumnos”.
“Eliminar alumno” se ejecutará el flujo secundario “Eliminar
alumno”.
“Editar alumno” se ejecutará el flujo secundario “Editar alumno”.
“Ver faltas de alumno” se ejecutará el flujo secundario “Ver faltas
de alumno”.
De lo contrario se ejecutará el flujo alterno “Selección incorrecta”.
Agregar alumnos:
6. El sistema solicita al profesor los siguientes datos:
Nombre [alfanumérico (30)].
Boleta [numérico (10)].
7. El profesor envía al sistema los datos.
8. El sistema valida los datos y en caso de que sean incorrectos se
ejecutara el flujo alterno “Datos incorrectos”.
10. 9
9. El sistema envía los datos a la base de datos.
10.La base de datos verifica que no se vaya a duplicar el registro, en caso
de que ya exista un registro con los mismos datos se ejecutará el flujo
alterno “Registro repetido”.
11.La base de datos guarda los datos y notifica al sistema que los datos se
han guardado.
12.El sistema envía un mensaje al profesor de que se ha creado el registro
correctamente.
Mostrar alumnos:
6. El sistema solicita a la base de datos la información referente a los
alumnos del profesor.
7. La base de datos realiza una búsqueda de los alumnos.
8. La base de datos envía la información encontrada al sistema.
9. El sistema envía la información en forma de tabla al profesor.
Eliminar alumno:
6. El sistema solicita al profesor ver el número de boleta del alumno.
7. El profesor envía el número de boleta al sistema.
8. El sistema valida el número de boleta en caso de que esté incorrecto se
ejecutará el flujo alterno “Datos incorrectos”.
9. El sistema solicita alumno a la base de datos.
10.La base de datos verifica que exista el registro en caso contrario se
ejecutará el flujo alterno “No se encontró el registro”.
11.La base de datos informa de la existencia de registro al sistema.
12.El sistema solicita al profesor confirmación para eliminar alumno.
13.El profesor envía confirmación al sistema.
14.El sistema solicita a la base de datos que elimine registro de alumno.
15.La base de datos elimina registro e informa al sistema.
16.El sistema envía un mensaje al profesor que se ha eliminado
correctamente al alumno.
Editar alumno:
6. El sistema solicita al profesor ver el número de boleta del alumno.
7. El profesor envía el número de boleta al sistema.
8. El sistema valida el número de boleta en caso de que esté incorrecto se
ejecutará el flujo alterno “Datos incorrectos”.
9. El sistema solicita alumno a la base de datos.
10.La base de datos verifica que exista el registro en caso contrario se
ejecutará el flujo alterno “No se encontró el registro”.
11.La base de datos informa del registro al sistema.
12.El sistema envía y solicita al profesor realizar los cambios a la
información.
13.El profesor envía los cambios al sistema.
14.El sistema envía cambios a la base de datos.
15.La base de datos actualiza la información del registro.
16.La base de datos notifica al sistema que los cambios se han guardado.
17.El sistema envía mensaje al profesor de que se han guardado los
cambios.
Ver faltas de alumno:
6. El sistema solicita al profesor ver el número de boleta del alumno.
11. 10
7. El profesor envía el número de boleta al sistema.
8. El sistema valida el número de boleta en caso de que esté incorrecto se
ejecutará el flujo alterno “Datos incorrectos”.
9. El sistema solicita alumno a la base de datos.
10.La base de datos verifica que exista el registro en caso contrario se
ejecutará el flujo alterno “No se encontró el registro”.
11.La base de datos informa del registro al sistema.
12.El sistema envía las faltas en forma de lista al profesor.
Grupos
4. El sistema solicita a la base de datos la información de todos los grupos
a los que el profesor da clase.
5. La base de datos realiza una búsqueda de grupos y le envía la
respuesta al sistema.
6. El sistema genera una tabla con los horarios de los grupos y la envía al
profesor.
Pasar lista:
4. El sistema solicita a la base de datos la información del grupo con
quien tiene clase a la hora de la petición.
5. La base de datos busca el grupo en turno y envía la lista de alumnos al
sistema.
6. El sistema genera una lista y solicita al profesor que indique que
alumnos asistieron a clase.
7. El profesor envía la asistencia de los alumnos.
8. La base de datos guarda las asistencias y confirma al sistema.
9. El sistema notifica al profesor que se ha guardado la asistencia.
Flujos
alternos
Selección incorrecta:
1. El sistema notifica al profesor que ha hecho una selección incorrecta
que no se encuentra en el sistema.
Registro repetido
1. El sistema notifica al profesor que el registro que trata de realizar ya
existe.
No se encontró el registro
1. El sistema notifica al profesor que el registro no se encontró.
Flujo básico 1. El alumno solicita al sistema el menú de alumnos.
2. El sistema solicita al alumno que seleccione entre las siguientes
opciones:
“Ver mis faltas”.
“Mi tutor”.
3. El alumno envía al sistema la selección. Si el alumno selecciona:
“Ver mis faltas” se ejecutará el flujo alterno “Ver mis faltas”.
“Mi tutor”se ejecutará el flujo alterno “Mi tutor”.
De lo contrario se ejecutará el flujo alterno “Selección incorrecta”.
Flujos
secundarios
Ver mis faltas:
4. El sistema solicita a la base de datos toda la información de falta del
alumno.
5. La base de alumnos realiza una búsqueda de las faltas del alumno y
12. 11
envía los resultados al sistema.
6. El sistema envía toda la información de falta den forma de tabla al
alumno.
Mi tutor
4. El sistema solicita a la base de datos la información del tutor del
alumno.
5. La base de datos busca y envía al sistema la información del tutor.
6. El sistema envía la información al alumno.
Flujos
alternos
Selección incorrecta:
1. El sistema notifica al profesor que ha hecho una selección incorrecta
que no se encuentra en el sistema.
Flujo básico. 1. El tutor solicita al sistema el menú de
tutores.
2. El sistema solicita al tutor que
seleccione entre las siguientes
opciones:
“Seguir alumno”.
“Faltas de mis alumnos”.
3. El tutor envía su selección al sistema.
Si el tutor selecciona:
“Seguir alumno” se ejecutará el
flujo secundario “Seguir alumno”.
“Faltas de mis alumnos” se
ejecutará el flujo secundario
“Faltas de mis alumnos”.
De lo contrario se ejecutará el
flujo alterno “Selección
incorrecta”.
Flujos secundarios. Seguir alumno:
4. El sistema solicita al tutor el número de
boleta del alumno.
5. El tutor envía el número de boleta al
sistema.
6. El sistema envía el número a la base
de datos.
7. La base de datos comprueba la
existencia del alumno, en caso de que
exista registro del alumno se ejecutara
el flujo alterno “Registro inexistente”.
8. La base de datos envía resultado al
sistema.
9. El sistema solicita al a base de datos
que agregué los datos del tutor en el
registro del alumno.
10.La base de datos guarda los datos del
13. 12
tutor en el registro del alumno.
11.La base de datos envía confirmación al
sistema.
12.El sistema notifica al tutor operación
correcta.
Faltas de mis alumnos:
4. El sistema solicita a la base de datos
los alumnos a lo que sigue el tutor.
5. La base de datos realiza una búsqueda
y envía los resultados al sistema.
6. El sistema envía los resultados en
forma de tabla al tutor.
Flujos alternos Selección incorrecta:
1. El sistema notifica al profesor que ha
hecho una selección incorrecta que no
se encuentra en el sistema.
Registro inexistente
1. El sistema notifica al profesor que el
registro no se encontró.
Casos de uso
49. 48
Mapa de navegación
Inicio
Página
inicial
administr
ador
Informe
de faltas
profesore
s
agregar mostrar
Cursos
agregar mostrar
materias
agregar mostrar
grupo
Agregar mostrar
tutores alumnos
Página
inicial
profesor
pasar lista
mis
grupos
mis
alumnos
Página
inicial
alumno
mis faltas mi tutor
Página
inicial
tutor
seguir a
alumno
asistencia
de mis
alumnos