Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
20101006I
20092022K
20101034B
ndice
1
INTRODUCCIN.............................................................................................. 4
1. PLAN DE DESARROLLO DE SOFTWARE.......................................................5
1.1. PERFIL DEL PROYECTO.........................................................................5
1.1.1. OBJETIVOS...................................................................................... 5
1.1.2. MISIN........................................................................................... 5
1.1.3. VISIN............................................................................................ 5
1.2. LA EMPRESA (Ludus System S.A.C.).....................................................6
1.2.1. MISIN DE LA EMPRESA.................................................................6
1.2.2. VISIN DE LA EMPRESA.................................................................6
1.3. MODELO DEL NEGOCIO........................................................................6
1.3.1. MODELAMIENTO DE PROCESOS DEL NEGOCIO..............................6
1.4. DESCRIPCIN BREVE DEL PROYECTO.................................................13
1.5. METODOLOGA A USAR......................................................................13
AUP........................................................................................................ 13
SERIAL EN LO GRANDE...........................................................................14
ITERATIVO EN LO PEQUEO...................................................................14
ENTREGANDO VERSIONES INCREMENTALES EN EL TIEMPO...................15
DEBERA ADOPTAR AUP?......................................................................15
1.6. RECURSOS......................................................................................... 16
1.6.1. RECURSOS HARDWARE................................................................16
1.6.2. RECURSOS SOFTWARE.................................................................16
1.6.3. RECURSOS HUMANOS..................................................................16
1.7. ANALISIS COSTO/BENEFICIO...............................................................16
1.8. CRONOGRAMA DE ACTIVIDADES........................................................18
2. ANLISIS DEL SISTEMA............................................................................. 19
2.1. REQUERIMIENTOS DEL SISTEMA DE INFORMACIN............................19
2.1.1. DETERMINACIN DEL ALCANCE DEL SISTEMA.............................19
2.1.2. OBTENCIN DE REQUERIMIENTOS...............................................19
2.1.3. OBTENCIN DEL MODELO DE CASOS DE USO DEL SISTEMA........21
2.1.4. DETERMINACIN DE SUBSISTEMAS DE ANLISIS.........................32
2.1.5. ESPECIFICACIN DE LA INTERFACE DE USUARIO.........................32
2.1.6. IDENTIFICACIN DE PERFILES Y DIALOGOS..................................37
2.1.7. ESPECIFICACIN DEL COMPORTAMIENTO DINAMICO DE LA
INTERFACE............................................................................................. 37
2.1.8. ESPECIFICACIN DE FORMATOS DE IMPRESIN...........................38
2.2. ANLISIS DE LOS CASOS DE USO.......................................................42
2.3. ANLISIS DE CLASES..........................................................................49
4.
DISEO DE SISTEMAS............................................................................ 51
3.1
3.2
3.3
3.4
DISEO DE CLASES..........................................................................62
3.5
3.6
3.7
4.2.
4.3.
4.3.1.
4.3.2.
4.3.3.
INTRODUCCIN
Actualmente en la FIIS la gestin de la asistencia y del control administrativo es
ineficiente, esta presenta problemas como:
Registro manual de la asistencia de los alumnos por parte de los docentes
Registro manual de la asistencia de los alumnos por parte de los mismos
alumnos
Redundancia, ya que a veces existe ms de un registro de asistencia para una
misma sesin de clase, lo que genera una mayor carga burocrtica
Poca flexibilidad que no permite considerar casos especiales dentro de la
asistencia como: alumnos que ingresan a la sesin de clase y se retiran al poco
tiempo, docentes que se retiran antes de su hora y otras casusticas
Falta de precisin que no permite conocer con exactitud la hora de llegada y la
hora de salida de los docentes y alumnos
Falta de automatizacin en los procesos
No existe una plataforma virtual donde alumnos y docentes puedan obtener y
gestionar la informacin de la asistencia
No existen las funcionalidades de generar reportes, avisos y alertas a los
docentes, alumnos y administrativos ante cualquier evento importante
Ante esta problemtica, el proyecto Sistema de Asistencia y Control Administrativo
(SACA) que se desarrollara en el presente trabajo busca ser la solucin no solo para la
problemtica que existe en la FIIS, sino para cualquier institucin que requiera
gestionar de manera eficaz y automatizada los procesos del control de asistencia y del
control administrativo.
La gestin de la asistencia en la FIIS-UNI es una tarea importante, que tiene como
principales stakeholders a:
Los docentes
Los alumnos
Las secretarias de las reas acadmicas y
4
1.1.2. MISIN
El SACA tiene como misin:
Automatizar y optimizar la gestin de la asistencia y control
administrativo de los alumnos y docentes de la FIIS
1.1.3. VISIN
A largo plazo el SACA tiene como visin:
"Ser el ms robusto y escalable sistema de asistencia y control
administrativo, as como tambin satisfacer otras necesidades
derivadas o afines al proceso de asistencia y expandir su uso a
otras instituciones
Proceso de Negocio
Gestin de la asistencia de alumnos
Gestin de la asistencia de docentes
Gestin del control administrativo
10
Actor
Roles/Responsabilidades
Alumno
Docente
-Registrar asistencia a
clases
-Registrar asistencia diaria
-Registrar asistencia a
clases
-Validar los registros de
asistencia de los docentes
-Consultar los registros de
asistencia
-Utilizar los reportes de
asistencia de manera
eficaz
-Alertar y/o amonestar a
los docentes que incurran
en faltas
Actores secundarios:
Oficina de RR.HH.
10
11
Docente
Gestion de consultas
Gestion de reportes
Coordinador del area
academica
Gestion de alertas
Nr
o.
Caso de uso
Registro de
asistencia del
alumno
Registro de clases
del docente
Gestin de
consultas
Gestin de reportes
Gestin de alertas
Descripcin
El alumno, con su carnet universitario y mediante
un lector de tarjetas de cdigo de barras,
registrara su ingreso y su salida a cada clase que
tenga.
El docente, mediante una plataforma web,
registrara el tema de su clase antes de
comenzarla y marcara su salida al terminarla.
Los docentes a tiempo completos, mediante una
plataforma web, registraran su hora de llegada y
posteriormente su hora de salida.
El coordinador del rea acadmica, mediante una
plataforma
web,
consultara
de
manera
personalizada y eficaz los registros de asistencia,
tanto actuales como pasados.
El coordinador del rea acadmica, mediante una
plataforma web, genera reportes con informacin
estadstica sobre los registros de asistencia.
El coordinador del rea acadmica, mediante una
11
plataforma
web,
personalizadas.
12
podr
generar
alertas
12
13
SERIAL EN LO GRANDE
La naturaleza serial en Agile UP es capturada en cuatro fases:
INICIACIN. El objetivo es identificar el alcance inicial del proyecto, una arquitectura
potencial de su sistema, y obtener la financiacin inicial del proyecto y la aceptacin
del involucrado.
ELABORACIN. El objetivo es mejorar la arquitectura del sistema.
CONSTRUCCIN. El objetivo es construir software funcional en una base regular e
incremental, la cual cumpla con las necesidades de prioridad ms alta de los
involucrados de su proyecto.
TRANSICIN. El objetivo es validar y desplegar su sistema en su ambiente de
produccin.
ITERATIVO EN LO PEQUEO
Las disciplinas son ejecutadas en una manera iterativa, definiendo las actividades en
las cuales los miembros del equipo ejecutan para construir, validar y liberar software
funcional que cumpla con las necesidades de sus involucrados. Las disciplinas son:
MODELADO. El objetivo de esta disciplina es entender el negocio de la organizacin,
el problema de dominio que se aborda en el proyecto, e identificar las soluciones
viables para manejar el dominio del problema.
IMPLEMENTACIN. El objetivo de esta disciplina es transformar su modelo(s) en
cdigo ejecutable y llevar a cabo un nivel bsico de las pruebas, en particular, la
unidad de prueba.
PRUEBAS. El objetivo de esta disciplina es ejecutar una objetiva evaluacin para
asegurar la calidad. Esto incluye la deteccin de defectos, validaciones de que el
sistema funciona como fue diseado, y verificar que se cumplan los requerimientos.
DESPLIEGUE. El objetivo de sta disciplina es planificar la entrega del proyecto de
desarrollo y ejecutar el plan, para dejar disponible el sistema al usuario final.
13
14
15
acostumbrado a hacer, entonces es probable que AUP sea para usted. Muchas
organizaciones estn dudando de XP ya que parecer ser muy liviana. XP no muestra
explcitamente cmo crear algunos de los productos de trabajo los cuales la
administracin desea ver. Este es una actitud desafortunada porque XP es un proceso
grandioso. Por el otro lado del espectro est RUP, en el cual la administracin parece
ser muy adorable, pero los desarrolladores dudan del gran nmero de entregables.
Esto es tambin desafortunado porque el RUP tiene mucho que ofrecer, y se puede
reducir a algo muy til (lo cual es exactamente lo que IBM Rational le recomienda
hacer). AUP se encuentra entre los dos, adopta muchas de las tcnicas giles de XP y
otros procesos giles que an mantienen la formalidad de RUP.
El AUP no es para todos. El AUP es ni el mejor ni el peor de ambos mundos, usted es
el juez. Para algunos Programadores Extremos es probable que encuentren a AUP
bastante pesada, y "los usuarios de RUP tradicionales" lo encontrarn muy liviana.
1.6. RECURSOS
1.6.1. RECURSOS HARDWARE
PARA LA FABRICACION:
JSON,
Node.JS,
15
16
LICENCIAS
MindGenius
Netbeans, Eclipse
GIMP
MySQL
Todos los frameworks
JDK, JEE
GIT, Maven
Hosting
Domine
COSTO
Gratuito
Gratuito
Gratuito
Gratuito
Gratuito
Gratuito
Gratuito
Gratuito
Gratuito
Para la empresa
16
17
17
18
Requerimientos Funcionales
Nmer Requerimiento
o
RF1
RF2
RF3
RF4
Descripcin
Priorid
ad
RF5
Consultar historial
de asistencia diaria
de docentes a TC
RF6
Consultar historial
de asistencia a
clases del alumno
RF7
Generacin de
documentos
oficiales
Generacin de
reportes
El
sistema
le
permitir
al
coordinador reportar la informacin
en documentos en formato pdf o
Word.
Generacin de
alertas
El
sistema
le
permitir
al
coordinador del rea acadmica
saber que docentes y que alumnos
ha faltado y emitir mensajes a su
correo electrnico.
RF8
RF9
19
Requerimientos no Funcionales
Nmer Requerimiento
Descripcin
o
RNF1
Desempeo
RNF 2
Fiabilidad
RNF 3
Portabilidad
RNF 4
Interoperabilidad
RNF 5
Implementacin
RNF 6
Legales
RNF 7
Organizacional
RNF 8
Formato
El tiempo de respuesta de
las consultas a la BD debe
demorar mximo 0.5
segundos
El sistema debe ejecutarse
correctamente
La plataforma web debe
poder ser ejecutada desde
cualquier navegador web
La plataforma web debe
poder trabajar en conjunto
con la base de datos
Se priorizara el uso de
software libre en el
desarrollo de los programas
del sistema
El sistema debe cumplir el
reglamento de asistencia de
la FIIS
La documentacin debe
mantenerse de manera
virtual
Todo documento de registro
de asistencia y afines se
manejaran de manera virtual
(formato PDF) con la
19
Priorid
ad
4
1
4
1
1
3
1
RNF9
Presentacin
RNF10 Seguridad
RNF11
Disponibilidad del
sistema
20
20
21
Alumno
Generacin de reportes
Coordinador del area
academica
Generacin de alertas
21
22
3.- Actor(es)
Alumno
4.- Precondiciones
BD con la informacin del carnet universitario de todos los alumnos
BD con la informacin de los horarios
5.- Postcondiciones
Consulta de historial de asistencia del alumno
6.- Pasos (Flujo de Eventos)
Nro Accin del Actor
Respuesta del Sistema
1
El alumno pasa sur carnet por la lectora El sistema captura el cdigo del alumno y
de cdigo de barra
compara con los horarios de la BD, si el
alumno tiene clase.
Si no se ha registrado la hora de
ingreso
Si se encuentra en el rango
de 15 min, el sistema
reproduce un sonido y
registra la asistencia
Sino, el sistema registra la
asistencia pero como una
tardanza
Si ya se registr la hora de
ingreso
Si se encuentra en el rango
de 15 min de salida, el
sistema reproduce un sonido
y registra la salida
Sino el sistema no realiza
nada
Si el alumno no tiene clase
No se puede realizar el registro.
2
1.- Caso de Uso del Sistema Consultar historia de asistencia a clases del alumno
2.- Descripcin del caso de uso
Por medio de la plataforma web, los alumnos podrn ver su historial de asistencia
3.- Actor(es)
22
23
Alumno
4.- Precondiciones
BD con la informacin de las asistencias
5.- Postcondiciones
Conocimiento del nmero de faltas incurridas por el alumno
1.- Caso de Uso del Sistema Registro de asistencia a clases del docente
2.- Descripcin del caso de uso
El sistema permite que el docente registre su asistencia a clases e ingrese el tema a
tratar, tambin deber registrar la hora de su salida
3.- Actor(es)
Docente
4.- Precondiciones
23
24
El
docente
Asistencia
selecciona
el
RF1
RNF1, RNF2, RNF3, RNF4, RNF5, RNF6, RNF7, RNF9, RNF10, RNF11
8.- Prototipo de interfaz de usuario
GUI
24
25
4.- Precondiciones
Ingreso a la plataforma web
BD con la informacin de los horarios y docentes
Validacin del docente a registrarse
5.- Postcondiciones
Consultar historial de asistencia diaria de docentes a TC
Generacin de documentos oficiales
Generacin de reportes
6.- Pasos (Flujo de Eventos)
El
docente
Asistencia
selecciona
RF2
RNF1, RNF2, RNF3, RNF4, RNF5, RNF6, RNF7, RNF9, RNF10, RNF11
8.- Prototipo de interfaz de usuario
GUI
1.- Caso de Uso del Sistema Consultar historial de asistencia a clases del docente
2.- Descripcin del caso de uso
El sistema permite que el docente realice consultas y visualice su historial de asistencia
a clases
3.- Actor(es)
Docente
4.- Precondiciones
25
26
Generacin de alertas
6.- Pasos (Flujo de Eventos)
El
docente
selecciona
el
menEl sistema muestra la opcin Historial de
Consulta
asistencia a clases
El docente selecciona la opcin Historial El sistema muestra el historial de
de asistencia a clases
asistencia del docente con todos los
detalles de esta, ordenados desde la ms
reciente hasta el ms antiguo.
Se habilitan opciones para filtrar la
informacin y los detalles que se puedan
visualizar.
Estos se realizaran si se presiona la
opcin Consulta avanzada
Si el docente quiere filtrar la informacin, El sistema muestra el historial filtrado y
modifica los parmetros que se muestrancon los detalles seleccionados, dando la
y luego:
opcin de realizar otra Consulta
Selecciona la opcin Consultaavanzada
avanzada
Sino:
Visualiza la informacin tal como
est.
Ir al paso 4
El docente sale del sistema
RF3
RNF: Todos
8.- Prototipo de interfaz de usuario
GUI
1.- Caso de Uso del Sistema Consultar historial de asistencia diaria de docentes a TC
2.- Descripcin del caso de uso
El sistema permite que el docente a TC realice consultas y visualice su historial de
asistencia diaria
3.- Actor(es)
Docente (a tiempo completo)
4.- Precondiciones
26
27
Generacin de alertas
6.- Pasos (Flujo de Eventos)
El
docente
Consulta
selecciona
el
RF4
RNF: Todos
8.- Prototipo de interfaz de usuario
GUI
27
Ingresodel
a la plataforma
2.- Descripcin
caso de uso
28
Registro
de asistencia
diariay visualizan el registro de asistencia
El coordinador
del rea
consulta
Firmado
de (tanto
parte de asistencia
de docentes
firmado
de clases como de asistencia diaria).
5.- Postcondiciones
3.- Actor(es)
Coordinador
del(Flujo
readeacadmica
6.- Pasos
Eventos)
4.- Precondiciones
Nro Accin del Actor
men consulta
El Coordinador selecciona
El sistema muestra la lista de
4
Elde
CAA
selecciona
el rea, yla fecha
inicial y laEldiaria
sistema
cualquiera
las
2 opciones
asistencia
o obtiene
el de el registro de asistencia a
fecha final de consulta.
clase de los docentes para el rea
los parmetros con los que va a asistenciaseleccionada,
a clases en
lalafecha
entre
fecha inicial y final.
consultar la asistencia de los
seleccionada, tanto firmada
Ir al paso 5.
docentes
como no firmada.
28
Sistema
Asistencia
Administrativo
(SACA)
1.- Caso dede
Uso
del Sistemay Control
Generar
de alertas
29
Ingreso a la plataforma
Que cantidad de faltas debe completar para ser eliminado del curso.
6.- Pasos (Flujo de Eventos)
El CAA ingresa a la interface de gestin deEl sistema muestra las dos opciones que
alertas.
existen:
29
30
30
31
ReglasDeNegocio
<<import>>
<<import>>
<<import>>
InterfacesDeUsuario
GestorDeOperaciones
EntidadesDelSistema
LOGIN
31
MENU PRINCIPAL
REGISTRO DE ASISTENCIA
32
32
33
33
34
34
CONSULTAS ADMINISTRATIVA
35
35
36
36
37
Alumno
Generacin de alertas
3. Tipo de Acceso:
Lectura, Insercin.
1. Nombre del Perfil:
Docente
2. Opciones a las que tiene acceso
Generacin de alertas
3. Tipo de Acceso:
Lectura, Insercin.
1. Nombre del Perfil:
Coordinador del rea
2. Opciones a las que tiene acceso
Generacin de reportes
Generacin de alertas
3. Tipo de Acceso:
Lectura, Insercin, Modificacin, Eliminacin
37
38
38
39
39
40
41
41
42
42
43
<<Entidad>>
:LineaRegistroDiario
<<Control>>
CRegistroDiario
Docente
1: seleccionaAsistencia
2: consultaRegistroDiario
alt
3: consultarHoraLlegada( )
Si no registro llegada
4: habilitarRegHoraLlegada
Si registro llegada
5: habilitarRegHoraSalida
alt
Si no registro llegada
8: seleccionarRegHoraLlegada
9: regHoraLlegada
10: grabarHoraLlegadaDiario( )
11: actualizarEstadoLineaRegDiario( )
12: actualizarEstadoTCompleto( )
13: deshabilitarRegHoraLlegada
14: mostrarConformidadRegHoraLlegada
Si no registro llegada
15: seleccionarRegHoraSalida
16: regHoraSalida
17: grabarHoraSalidaDiario( )
18: actualizarEstadoLineaRegDiario( )
19: actualizarEstadoTCompleto( )
20: deshabilitarRegHoraSalida
21: mostrarConformidadRegHoraSalida
43
<<Entidad>>
:DocenteTiempoCompleto
44
<<Entidad>>
:ClaseProgramada
<<Control>>
CRegistroClase
<<Entidad>>
:LineaRegistroClase
<<Entidad>>
:Aula
Docente
1: seleccionaAsistencia
2: consultarHoraClase
3: consultarHoraClase( )
alt
Si tiene clase
4: habilitarRegAsistenciaClase
Si no tiene clase
5: deshabilitarRegAsistenciaClase
6: seleccionaAsistenciaClase
7: mostrarCuadroIngresoTema
8: ingresarTema(tema)
9: grabarDatos
10: actualizarEstadoClaseProg( )
11: grabarHoraLlegadaClase( )
12: grabarTemaClase( )
13: actualizarEstadoLineaRegClase( )
15: actualizarEstadoAula( )
16: mostrarConformidadRegClase
<<GUI>>
IConsultaHistorial
<<Controlador>>
CConsultaHistorial
<<Entidad>>
:ClaseProgramada
Docente
Consultar historial de asistencia diaria de docentes a TC
1: seleccionaConsultar
<<GUI>>
IConsultaHistorial2
Docente2
<<Controlador>>
CConsultaHistorial2
<<Entidad>>
2:DocenteTiempoCompleto
<<Entidad>>
2:LineaRegistroDiario
2: m ostrarOpciones
1: seleccionaConsultar
2: verificarDocente
3: verificarDocente
3: seleccionaOpcionHistorialClase
4: existeDocenteTC
4: cargarOpcionesClase
alt
existe != null
5: obtenerFechas( )
5: habilitarHistorialRegDiario
6: obtenerCursos( )
7: obtenerCodClaseProg
existe == null
8: obtenerHistorialClase(codClaseProg)
6: deshabilitarHistorialRegDiario
9: mostrarHistorialClase
10: mostrarOpcionesClase
opt
[existe != null]
seleccionarCurso
7:11:
seleccionaOpcionHistorialDiario
12: seleccionarFechaIn
8: cargarOpcionesDiario
9: obtenerFechas
13: seleccionarFechaFin
10: obtenerHistorialDiario
15: obtenerCodClaseProg( )
11: mostrarHistorialDiario
16: obtenerHistorialClase(codClaseProg)
12: mostrarOpcionesDiario
17: mostrarHistorialClase
13: seleccionarFechaIn
14: seleccionarFechaFin
15: verHistorialDiario
44
17: mostrarHistorialDiario
16: obtenerHistorialDiario
<<Entidad>>
:LineaRegistroClase
45
45
46
<<GUI>>
IGestionReportes
<<Entidad>>
:RegistroClase
<<Entidad>>
:RegistroDiario
Coordinador
1: seleccionaConsultar
2: mostrarPantallaConsulta
alt
4: cargarOpcionesRegClase
5: obtenerFechasRegClase( )
6: obtenerAreas( )
7: mostrarOpcionesRegClase
8: seleccionaArea
9: seleccionaFechaIn
10: seleccionaFechaFin
11: verRegClase
12: obtenerRegClase( )
13: mostrarRegClase
46
<<Entidad>>
:AreaAcademica
47
Gestion de Reportes
<<GUI>>
IGestionReportes
<<Control>>
CGestionReportes
<<Entidad>>
:RegistroClase
Coordinador
Selecciona Consulta
Habilitar Opciones
Cargar Opciones
Mostrar Oopciones
Seleccionar Opcion
Cargar Fechas de Consulta
Consultar Fechas de consulta
Mostrar Fechas de Consulta
fecha inicial
fecha final
alt
Consultar RegDiario
47
48
Gestion de Alertas
<<GUI>>
IGestion_Alertas
<<Control>>
CGestionAlertas
<<Entidad>>
:RegistroAlumno
Coordinador
Seleccion opcion
alt
Consulta CodigoCurso
Consulta EstadoAlumno
Actualiza cantidad faltas
alt
48
<<Entidad>>
:RegistroClase
49
RegistroDiari o
-
codRegDiario
fechaRegDiario
estadoRegi stroDiario
estadoFirmaDiario
:
:
:
:
String
Date
String
boolean
codLineaRegDiario
estadoLineaRegDiario
horaLlegada
horaSalida
:
:
:
:
String
String
String
String
+
+
+
+
+
actualizarEstadoLineaRegDiario ()
grabarHoraLlegadaDiario (String hora)
grabarHoraSalidaDiario (Stri ng hora)
obtenerHistorialDiario ()
consultarHoraLlegada ()
:
:
:
:
:
voi d
voi d
voi d
ArrayList
voi d
Curso
- codigoCurso : String
- descri pcion : String
1..*
1..*
es registrado
+ obtenerFechasDiario ()
: void
+ obtenerRegDiario ()
:1void
+ actualizarEstadoFirmaDiario
() : void
es compuesto
Seccion
1..*
AlertasDocente
+ actualizarEstadoCoordinador ()
+ amonestarDocente (String codDocente)
1..*
pertenece
1
registra
DocenteTi empoCompleto
+ actualizarEstadoTCompleto () : voi d
0..*
alerta
CursoSeccion
LapsoTi empo
- cargo
: String
- estadoTCompleto : String
Coordinador
1..*
- codSeccion : String
- CodAlerta
: Character
- fecha_alerta
: Date
- DescripcionCorreo : Character
- codCursoSeccion
: String
- estadoCursoSeccion : String
- codLapsoTiempo : String
- horaInicio
: String
- horaFin
: String
1
compone
+ *actualizarEstadoCursoSecc () : void
1..*
compone
0..1
alerta
Aula
1
es compuesto por
Docente
0..*
es alertado
codDocente
claveDocente
nombreDocente
correoDocente
estadoDocente
:
:
:
:
:
1..*
es compuesto por
- codClaseProg
: String
- fechaClaseProg : Date
- estadoClaseProg : String
1
di cta
+
+
+
+
+
1..*
es dictada
1
tiene
1
verifica
AlertasAlumno
- CodAlerta
: Character
- fechaAlerta
: Date
- cantidadFaltas : i nt
1..*
es compuesto por
actualizarEstadoClaseProg () : voi d
consultarHoraClase ()
: String
obtenerFechas ()
: ArrayList
obtenerCursos ()
: ArrayList
obtenerCodClaseProg ()
: ArrayList
0..*
asisten
AreaAcademica
- codArea
: String
- nombreArea : String
+ obtenerAreas () : void
+ actualizarEstadoAula () : voi d
ClaseProgramada
String
String
String
String
String
+ *actualizarEstadoDocente () : voi d
- codAula
: String
- estadoAula : String
1..2
compone
RegistroAlumno
LineaRegi stroClase
-
codLineaRegClase
estadoLineaRegClase
temaClase
horaLlegadaClase
horaSalidaClase
:
:
:
:
:
+
+
+
+
obtenerHistorialClase ()
grabarHoraLlegadaClase ()
grabarTemaClase ()
actualizarEstadoLineaRegClase ()
1..*
compone
- codRegAlumno
: String
- fechaRegAlumno : int
String
String
String
String
String
:
:
:
:
void
void
void
void
0..*
asiste Alumno
0..*
es alertado
1
es compuesto
RegistroClase
1..*
es revisado por
49
codRegClase
fechaRegClase
estadoRegi stroClase
estadoFirmaClase
:
:
:
:
String
Date
String
bool ean
+ obtenerFechasRegClase ()
: voi d
+ obtenerRegClase ()
: voi d
+ actualizarEstadoFirmaClase () : voi d
50
Registros
Firmar
50
51
3. DISEO DE SISTEMAS
3.1
RS232
Lector de Tarjetas de CB
JDBC
HT T P
HT T P
Firewall 1
<<Apache 2.4>>
rpcyt.uni.edu.pe
200.37.69.4
Alumno/Docente
172.200.200.0
HT TP
<<MySql>>
Base de datos
HT T P
Firewall 2
Coordinador
Catlogo de subsistemas
Subsistema
Registro de asistencia
Consulta de asistencia
Funcionalidad
Registro de asistencia diaria del
docente.- Permite registrar la
asistencia diaria de los docentes que
cumplen el rgimen de tiempo
completo
Registro de asistencia a clases
del docente.- Permite registrar la
asistencia de los docentes a las
clases programadas que tengan
Registro de asistencia a clases
del alumno.- Permite registrar la
asistencia de los alumnos a las
clases programadas que tengan, a
travs del uso de su carnet
universitario y una lectora de barras.
Consultar historial de asistencia
del docente.- Permite a los
docentes hacer consultas sobre su
propia asistencia, tanto diaria como
a clases
Consultar historial de asistencia
del alumno.- Permite a los alumnos
hacer consultas sobre su propia
asistencia a sus clases.
Consultar registros de asistencia.Permite al coordinador de rea
consultar los registros de asistencia
51
Tipo
Especifico
Especifico
Especifico
Especifico
Especifico
Especifico
Gestin de alertas
Validar usuario
52
Gestin de alertas
Consulta de asistencia
Consulta de reportes
Registro asistencia
Validar ususario
Software
Comunicaciones
52
53
Vista
Controlador
<<JSP>>
Modelo
IConsultarRegistros
IRegistroAsistenciaDocente
IRegistroAsistenciaDo
centeJSP
- btnAsistencia
: JButton
- btnHoraLlegada : JButton
- btnHoraSalida : JButton
+ btnAsistenciaActionPerformed (actionEven
t evt)
+ enableBtnHoraLlegada ()
+ enableBtnHoraSalida ()
+ setVisibleBtnHoraLlegada (boolean valor)
+ setVisibleBtnHoraSalida (boolean valor)
+ btnHoraLlegadaActionPerformed (ActionEve
nt evt)
+ btnHoraSalidaActionPerformed (ActionEven
t evt)
+ mostrarConformidadHoraLlegada ()
+ mostrarConformidadHoraSalida ()
+ enableBtnRegClase ()
+ disableBtnRegClase ()
+ btnRegClaseActionPerformed (ActionEvent
evt)
+ showTextBoxTema ()
+ btnInTemaActionPerformed (ActionEvent ev
t)
+ mostrarConformidadRegClase ()
+ disableBtnHoraLlegada ()
+ disableBtnHoraSalida ()
: void
: void
: void
: void
: void
: void
: void
: void
: void
: void
: void
: void
: void
: void
: void
IConsultarRegistrosJS
P
: void
: void
: void
: void
: void
: void
: void
: void
: void
: void
: void
: void
IRegistroAsistenciaAlumno
<<JSP>>
IConsultarHistorial
IConsultarHistorialJS
P
+ btnConsultaRegActionPerformed (ActionEve
nt evt)
+ showOptConsultarReg ()
+ btnVerRegClaseActionPerformed (ActionEve
nt evt)
+ ShowOptVerRegClases (Date fechaHoy,
ArrayList listFechas,
ArrayList listAreas)
+ selectAreaActionPerformed (ActionEvent e
vt)
+ selectFechaIniActionPerformed (ActionEve
nt evt)
+ selectFechaFinActionPerformed (ActionEve
nt evt)
+ mostrarFramePDF ()
+ btnVerRegDiarioActionPerformed (ActionEv
ent evt)
+ ShowOptVerRegDiario (Date fechaHoy,
ArrayList listFechas,
ArrayList listAreas)
+ btnConsultaHistActionPerformed (ActionEv
ent evt)
+ enableBtnConsultaHistClase ()
+ enableBtnConsultaHistDiario ()
+ btnHistorialClaseActionPerformed (Action
Event evt)
+ showOptHistClase (Date fechaHoy,
ArrayList listaFechas,
ArrayList listaCursos)
: void
+ selectCursoActionPerformed (ActionEvent
evt)
+ selectFechaIniActionPerformed (ActionEve
nt evt)
+ selectFechaFinActionPerformed (ActionEve
nt evt)
+ mostrarHistorialClase (ArrayList histori
alClase)
+ btnHistorialDiarioActionPerformed (Actio
nEvent evt)
+ showOptHistDiario (Date fechaInicio,
Date fechaHoy)
+ mostrarHistorialDiario (ArrayList listaD
iario)
+ cargarHistorialClase (String curso,
Date fechainic, Date fechafin)
: void
: void
: void
: void
: void
: void
: void
: void
: void
: void
: void
: void
53
+ conformidadRegistro () : void
+ errorRegistro ()
: void
+ leerCarnet ()
: void
IRegistroAsistenciaAlu
mnoJSP
54
<<ServletClass>>
CConsultarHistorialServlet
+ mostrarOpcionesConsulta ()
+ cargarOpcionesHistClase ()
+ verHistorialClase (String curso,
Date fechaIni, Date fechaFin)
+ cargarOpcionesHistDiario ()
+ getFechaIniDiario ()
+ verHistorialDiario (Date fechaInicio,
Date fechaFin)
+ cargarHistorialClase (String curso,
Date fechainic, Date fechafin)
+ init (javax.servlet.
ServletConfig config)
+ destroy ()
+ doGet (javax.servlet.http.
HttpServletRequest req, javax.servlet.
http.HttpServletResponse res)
+ doPut (javax.servlet.http.
HttpServletRequest req, javax.servlet.
http.HttpServletResponse res)
+ doPost (javax.servlet.http.
HttpServletRequest req, javax.servlet.
: void
: void
: void
: void
: Date
: void
0..1
0..1
0..*
: void
: void
<<ServletClass>>
CSesionAlumnoServlet
: void
: void
- tmpCodAlumno : String
+ getTmpCodAlumno ()
+ init (javax.servlet.
ServletConfig config)
+ destroy ()
+ doGet (javax.servlet.http.
HttpServletRequest req, javax.servlet.
http.HttpServletResponse res)
+ doPut (javax.servlet.http.
HttpServletRequest req, javax.servlet.
http.HttpServletResponse res)
+ doPost (javax.servlet.http.
HttpServletRequest req, javax.servlet.
http.HttpServletResponse res)
: void
: void
<<ServletClass>>
CRegistroClaseServlet
+
+
+
+
+
+
+
+
consultarHoraLlegada ()
registrarHoraLlegada ()
registrarHoraSalida ()
consultarTenenciaClase ()
registrarClase (String tema)
init (javax.servlet.
ServletConfig config)
destroy ()
doGet (javax.servlet.http.
HttpServletRequest req, javax.servlet.
http.HttpServletResponse res)
doPut (javax.servlet.http.
HttpServletRequest req, javax.servlet.
http.HttpServletResponse res)
doPost (javax.servlet.http.
HttpServletRequest req, javax.servlet.
http.HttpServletResponse res)
:
:
:
:
:
:
void
void
void
void
void
void
: void
: void
0..*
0..1
0..1
: void
0..*
+
+
void
void
void
void
: void
0..*
getTmpCodDocente ()
getTmpTipoDocente ()
getFechaActual ()
getHoraActual ()
getTmpUrlRegistros ()
init (javax.servlet.
ServletConfig config)
destroy ()
doGet (javax.servlet.http.
HttpServletRequest req, javax.servlet.
http.HttpServletResponse res)
doPut (javax.servlet.http.
HttpServletRequest req, javax.servlet.
http.HttpServletResponse res)
doPost (javax.servlet.http.
HttpServletRequest req, javax.servlet.
http.HttpServletResponse res)
+
+
+
:
:
:
:
: void
<<ServletClass>>
CSesionDocenteServlet
+
+
+
+
+
+
: void
consultarHoraLlegada ()
registrarHoraLlegada ()
registrarHoraSalida ()
init (javax.servlet.
ServletConfig config)
destroy ()
doGet (javax.servlet.http.
HttpServletRequest req, javax.servlet.
http.HttpServletResponse res)
doPut (javax.servlet.http.
HttpServletRequest req, javax.servlet.
http.HttpServletResponse res)
doPost (javax.servlet.http.
HttpServletRequest req, javax.servlet.
http.HttpServletResponse res)
: void
: void
- tmpCodDocente : String
- tmpTipoDocente : String
- tmpFechaActual : String
<<ServletClass>>
CRegistroDiarioServlet
+
+
+
+
: String
: void
0..*
+
0..1
: void
: void
0..*
: void
<<ServletClass>>
CGestionAlertasServlet
: void
+
+
+
+
+
+
+
54
:
:
:
:
:
:
String
String
Date
String
String
void
: void
: void
: void
: void
0..1
buscarDocente ()
buscarAlumno ()
actualizarCantFaltas ()
actualizarTabla ()
init (javax.servlet.
ServletConfig config)
destroy ()
doGet (javax.servlet.http.
HttpServletRequest req, javax.servlet.
http.HttpServletResponse res)
doPut (javax.servlet.http.
HttpServletRequest req, javax.servlet.
http.HttpServletResponse res)
doPost (javax.servlet.http.
HttpServletRequest req, javax.servlet.
http.HttpServletResponse res)
:
:
:
:
:
void
void
void
void
void
: void
: void
: void
: void
55
<<Servlet>>
<<Servlet>>
<<EJB>>
<<EJB>>
:IRegistroAsistenciaDocente
:CRegistroDiarioServlet
:CSesionDocenteServlet
:LineaRegistroDiarioBean
:DocenteTiempoCompletoBean
Docente
1: btnAsistenciaActionPerformed(evt)
2: consultarHoraLlegada( )
3: cod:= getTmpCodDocente( )
4: tipo:= getTmpTipoDocente( )
alt
tipo == TiempoCompleto
5: hLlegada:= getHoraLlegadaDiario(cod)
alt
hLlegada == null
6: enableBtnHoraLlegada( )
hLlegada != null
7: enableBtnHoraSalida( )
tipo == TiempoParcial
8: setVisibleBtnHoraLlegada(false)
9: setVisibleBtnHoraSalida(false)
alt
hLlegada == null
10: btnHoraLlegadaActionPerformed(evt)
11: registrarHoraLlegada( )
12: hActual:= getHoraActual( )
13: grabarHoraLlegadaDiario(hActual)
14: actualizarEstadoLineaRegDiario( )
15: actualizarEstadoTCompleto( )
16: disableBtnHoraLlegada( )
17: mostrarConformidadHoraLlegada( )
hLlegada != null
18: btnHoraSalidaActionPerformed(evt)
19: registrarHoraSalida( )
20: hActual:= getHoraActual( )
21: grabarHoraSalidaDiario(hActual)
22: actualizarEstadoLineaRegDiario( )
23: actualizarEstadoTCompleto( )
24: disableBtnHoraSalida( )
25: mostrarConformidadHoraSalida( )
55
56
<<Servlet>>
:CRegistroClaseServlet
<<Servlet>>
:CSesionDocenteServlet
<<EJB>>
:ClaseProgramadaBean
Docente
1: btnAsistenciaActionPerformed(evt)
2: consultarTenenciaClase( )
3: cod:= getTmpCodDocente( )
4: resp:= consultarSiClaseActual(cod)
alt
resp == true
5: enableBtnRegClase( )
resp == false
6: disableBtnRegClase( )
7: btnRegClaseActionPerformed(evt)
8: showTextBoxTema( )
9: btnInTemaActionPerformed(evt)
10: registrarClase(tema)
11: hActual:= getHoraActual( )
12: actualizarEstadoClaseProg( )
13: grabarHoraLlegadaClase(hActual)
14: grabarTemaClase(tema)
15: actualizarEstadoLineaRegClase( )
16: actualizarEstadoDocente( )
17: actualizarEstadoAula( )
18: mostrarConformidadRegClase
56
<<EJB>>
:LineaRegistroClaseBean
<<EJB>>
:DocenteBean
<<EJB>>
:AulaBean
57
:IRegistroAsistenciaAlumno
<<Servlet>>
:CRegistroClaseServlet
<<EJB>>
:AlumnoBean
<<EJB>>
:ClaseProgramadaBean
Alumno
1: leerCarnet( )
2: consultarTenenciaClase(codAlumno)
3: validarCodigo(codAlumno)
4: consultarHoraClase(codAlumno)
5: return validacion
alt
validacion == false
6: errorRegistro( )
7: emitirSonidoError
validacion == true
8: cambiarEstado(codAlumno)
9: grabarDato( )
10: conformidadRegistro( )
11: emitirSonidoExito
57
<<EJB>>
:RegistroAlumnoBean
58
<<Servlet>>
:CConsultarHistorialServlet
<<Servlet>>
:CSesionDocenteServlet
<<EJB>>
:ClaseProgramadaBean
<<EJB>>
:LineaRegistroClaseBean
Docente
1: btnConsultaHistActionPerformed(evt)
2: mostrarOpcionesConsulta( )
3: cod:= getTmpCodDocente( )
4: tipo:= getTmpTipoDocente( )
5: enableBtnConsultaHistClase( )
opt
[tipo == TiempoCompleto]
6: enableBtnConsultaHistDiario( )
7: btnHistorialClaseActionPerformed(evt)
8: cargarOpcionesHistClase( )
9: fHoy:= getFechaActual( )
10: listFechas:= getFechasClasesProg(cod)
11: listCursos:= getCursosClasesProg(cod)
12: showOptHistClase(fHoy ,listFechas, listCursos)
13: selectCursoActionPerformed(evt)
14: selectFechaIniActionPerformed(evt)
15: selectFechaFinActionPerformed(evt)
16: verHistorialClase(curso, fechaIni, fechaFin)
17: lista:= getCodClasesProg(cod, curso, fechaIni, fechaFin)
19: mostrarHistorialClase(historialClase)
opt
[tipo == TiempoCompleto]
20: btnHistorialDiarioActionPerformed(evt)
21: cargarOpcionesHistDiario( )
22: fHoy:= getFechaActual( )
25: selectFechaIniActionPerformed(evt)
26: selectFechaFinActionPerformed(evt)
27: verHistorialDiario(fechaInicio, fechaFin)
28: historialDiario:= getHistorialDiario(cod, fechaInicio, fechaFin)
29: mostrarHistorialDiario(historialClase)
58
<<EJB>>
:LineaRegistroDiarioBean
59
<<Servlet>>
:CConsultarHistorialServlet
<<Servlet>>
:CSesionAlumnoServlet
<<EJB>>
:RegistroAlumnoBean
Alumno
1: btnConsultaHistActionPerformed(evt)
2: mostrarOpcionesConsulta( )
3: codAlum:= getTmpCodAlumno( )
4: cargarOpcionesHistClase(codAlum)
5: showOptHistClase( )
6: selectCursoActionPerformed(evt)
7: selectFechaIniActionPerformed(evt)
8: selectFechaFinActionPerformed(evt)
7: cargarHistorialClase(curso,fechainic,
fechafin)
8: getFecha(codAlum)
9: getCurso(codAlum)
10: showOptHistClase(curso,fechainic,
fechafin)
<<Servlet>>
<<EJB>>
<<EJB>>
<<EJB>>
:IConsultarRegistros
CConsultaRegistro
:RegistroClaseBean
:RegistroDiarioBean
:AreaAcademicaBean
Coordinador
1: btnConsultaRegActionPerformed(evt)
2: showOptConsultarReg( )
alt
4: cargarOpcionesRegClase
5: fecha:= getFechasRegClase( )
6: area:= getArea( )
7: ShowOptVerRegClases( )
8: selectAreaActionPerformed( )
9: selectFechaIniActionPerformed( )
10: selectFechaFinActionPerformed( )
11: verRegClase
12: regc:= getRegClase( )
13: ShowOptVerRegClases(regc)
59
60
Gestion de reportes
<<JSP>>
<<Servlet>>
<<EJB>>
<<EJB>>
IGestionReportes
CGestionReportes
:RegistroClaseBean
:RegistroDiarioBean
Coordinador
1: seleccionaConsultar
2: habilitarOpciones
3: Cargar Opciones
4: mostrarOpciones
5: seleccionarOpcion
6: cargarFechasdeConsulta
7: fecha:= getFechasRegClase( )
8: mostrarFechasdeConsulta
9: fechaInicial
10: fechaFinal
alt
14: consultarRegDiario
15: firmad:= getEstadoFirmaDiario( )
16: mostrarTotRegDiario
60
61
<<Servlet>>
:CGestionAlertasServlet
<<EJB>>
:RegistroAlumnoBean
Coordinador
1: Seleccion opcion
alt
3: reg:= getRegClase(codDoc)
4: return(reg)
opt
[estadoDoc == Falto]
5: Emite un correo inidcando la falta
6: dia recuperacion
8: consultarCodCurso( )
9: consultarEstAlumno( )
10: actualizarCantFaltas(cant)
alt
61
<<EJB>>
:RegistroClaseBean
62
DISEO DE CLASES
1..1
son revisados
codRegDiario
fechaRegDiario
estadoRegistroDiario
estadoFirmaDiario
ejbContext
: String
: Date
: String
: boolean
: EntityContext
+
getFechasDiario ()
+
getRegDiario ()
+
getEstadoFirmaDiario ()
+
actualizarEstadoFirmaDiario ()
+ <<Constructor>> RegistroDiarioBean ()
+
ejbActivate ()
+
ejbLoad ()
+
ejbPassivate ()
+
ejbRemove ()
+
ejbStore ()
+
setEntityContext (EntityContext ctx)
+
unsetEntityContext ()
: ArrayList
: ArrayList
: boolean
: void
: void
: void
: void
: void
: void
: void
: void
1
es compuesto
1..*
compone
<<EJBEntity>>
LineaRegistroDiarioBean
{abstract}
-
codLineaRegDiario
estadoLineaRegDiario
horaLlegada
horaSalida
ejbContext
: String
: String
: String
: String
: EntityContext
<<EJBEntity>>
CursoBean
<<EJBEntity>>
SeccionBean
{abstract}
+
actualizarEstadoLineaRegDiario ()
+
grabarHoraLlegadaDiario (String hora)
+
grabarHoraSalidaDiario (String hora)
+
getHoraLlegadaDiario ()
+
getHoraSalidaDiario ()
+
getHistorialDiario ()
+ <<Constructor>> LineaRegistroDiarioBean ()
+
ejbActivate ()
+
ejbLoad ()
+
ejbPassivate ()
+
ejbRemove ()
+
ejbStore ()
+
setEntityContext (EntityContext ctx)
+
unsetEntityContext ()
- codigoCurso : String
- descripcion : String
- ejbContext : EntityContext
: void
: void
: void
: String
: String
: ArrayList
+ <<Constructor>> CursoBean ()
+
ejbActivate ()
+
ejbLoad ()
+
ejbPassivate ()
+
ejbRemove ()
+
ejbStore ()
+
setEntityContext (EntityContext ctx)
+
unsetEntityContext ()
: void
: void
: void
: void
: void
: void
: void
{abstract}
- codSeccion : String
- ejbContext : EntityContext
1..*
1..*
: void
: void
: void
: void
: void
: void
: void
+ <<Constructor>> SeccionBean ()
+
ejbActivate ()
+
ejbLoad ()
+
ejbPassivate ()
+
ejbRemove ()
+
ejbStore ()
+
setEntityContext (EntityContext ctx)
+
unsetEntityContext ()
1..*
es registrado
1..1
revisa
<<EJBEntity>>
LapsoTiempoBean
1
registra
<<EJBEntity>>
CoordinadorBean
{abstract}
<<EJBEntity>>
DocenteTiempoCompletoBean
{abstract}
- codCoordinador : String
- ejbContext
: EntityContext
{abstract}
+
actualizarEstadoCoordinador ()
+
amonestarDocente (String codDocente)
+ <<Constructor>> CoordinadorBean ()
+
ejbActivate ()
+
ejbLoad ()
+
ejbPassivate ()
+
ejbRemove ()
+
ejbStore ()
+
setEntityContext (EntityContext ctx)
+
unsetEntityContext ()
1..1
supervisa
- codDocenteTC : String
- cargoDocenteTC : String
- estadoTCompleto : String
- ejbContext
: EntityContext
: void
: void
: void
: void
: void
: void
: void
: void
: void
+
actualizarEstadoTCompleto ()
+ <<Constructor>> DocenteTiempoCompletoBean ()
+
ejbActivate ()
+
ejbLoad ()
+
ejbPassivate ()
+
ejbRemove ()
+
ejbStore ()
+
setEntityContext (EntityContext ctx)
+
unsetEntityContext ()
1..*
pertenece
codLapsoTiempo
horaInicio
horaFin
ejbContext
: String
: String
: String
: EntityContext
<<EJBEntity>>
CursoSeccionBean
+ <<Constructor>> LapsoTiempoBean ()
+
ejbActivate ()
+
ejbLoad ()
+
ejbPassivate ()
+
ejbRemove ()
+
ejbStore ()
+
setEntityContext (EntityContext ctx)
+
unsetEntityContext ()
: void
: void
: void
: void
: void
: void
: void
: void
{abstract}
: void
: void
: void
: void
: void
: void
: void
- codCursoSeccion : String
- estadoCursoSeccion : String
- ejbContext
: EntityContext
+
actualizarEstadoCursoSecc ()
+ <<Constructor>> CursoSeccionBean ()
+
ejbActivate ()
+
ejbLoad ()
+
ejbPassivate ()
+
ejbRemove ()
+
ejbStore ()
+
setEntityContext (EntityContext ctx)
+
unsetEntityContext ()
1..*
compone
: void
: void
: void
: void
: void
: void
: void
: void
1
compone
<<EJBEntity>>
AlertasDocenteBean
{abstract}
-
codAlertaDocente
fechaAlertaDocente
descripcionAlertaDocente
ejbContext
1
es compuesto por
: String
: Date
: String
: EntityContext
+
grabarAlertaDocente ()
+ <<Constructor>> AlertasDocenteBean ()
+
ejbActivate ()
+
ejbLoad ()
+
ejbPassivate ()
+
ejbRemove ()
+
ejbStore ()
+
setEntityContext (EntityContext ctx)
+
unsetEntityContext ()
: void
: void
: void
: void
: void
: void
: void
: void
<<EJBEntity>>
ClaseProgramadaBean
<<EJBEntity>>
1..*
son enviados
{abstract}
DocenteBean
- codClaseProg : String
- fechaClaseProg : Date
- estadoClaseProg : String
- ejbContext
: EntityContext
{abstract}
1..* - codDocente
recibe - claveDocente
- nombreDocente
- correoDocente
- estadoDocente
- ejbContext
: String
: String
: String
: String
: String
: EntityContext
1
dicta
+
actualizarEstadoDocente ()
+
validarCodDocente ()
+ <<Constructor>> DocenteBean ()
+
ejbActivate ()
+
ejbLoad ()
+
ejbPassivate ()
+
ejbRemove ()
+
ejbStore ()
+
setEntityContext (EntityContext ctx)
+
unsetEntityContext ()
: void
: boolean
1..*
es dictada
: void
: void
: void
: void
: void
: void
: void
+
actualizarEstadoClaseProg ()
+
consultarHoraClase ()
+
consultarSiClaseActual ()
+
getFechasClasesProg ()
+
getCursosClasesProg ()
+
getCodClasesProg ()
+ <<Constructor>> ClaseProgramadaBean ()
+
ejbActivate ()
+
ejbLoad ()
+
ejbPassivate ()
+
ejbRemove ()
+
ejbStore ()
+
setEntityContext (EntityContext ctx)
+
unsetEntityContext ()
1
tiene
<<EJBEntity>>
AlertasAlumnoBean
{abstract}
: void
: String
: boolean
: ArrayList
: ArrayList
: ArrayList
: void
: void
: void
: void
: void
: void
: void
{abstract}
1..*
es compuesto por
1..2
compone
+
actualizarEstadoAula ()
+ <<Constructor>> AulaBean ()
+
ejbActivate ()
+
ejbLoad ()
+
ejbPassivate ()
+
ejbRemove ()
+
ejbStore ()
+
setEntityContext (EntityContext ctx)
+
unsetEntityContext ()
: void
: void
: void
: void
: void
: void
: void
: void
1..*
<<EJBEntity>>
AreaAcademicaBean
- codArea
: String
- nombreArea : String
- ejbContext : EntityContext
: void
: void
: void
: void
: void
: void
: void
: void
<<EJBEntity>>
<<EJBEntity>>
LineaRegistroClaseBean
+
getArea ()
+ <<Constructor>> AreaAcademicaBean ()
+
ejbActivate ()
+
ejbLoad ()
+
ejbPassivate ()
+
ejbRemove ()
+
ejbStore ()
+
setEntityContext (EntityContext ctx)
+
unsetEntityContext ()
RegistroAlumnoBean
{abstract}
{abstract}
: String
: void
: void
: void
: void
: void
: void
: void
codLineaRegClase
estadoLineaRegClase
temaClase
horaLlegadaClase
horaSalidaClase
ejbContext
- codRegAlumno : String
- fechaRegAlumno : Date
- ejbContext
: EntityContext
: String
: String
: String
: String
: String
: EntityContext
+
getHistorialClase ()
+
grabarHoraLlegadaClase ()
+
grabarHoraSalidaClase ()
+
grabarTemaClase ()
+
actualizarEstadoLineaRegClase ()
+ <<Constructor>> LineaRegistroClaseBean ()
+
ejbActivate ()
+
ejbLoad ()
+
ejbPassivate ()
+
ejbRemove ()
+
ejbStore ()
+
setEntityContext (EntityContext ctx)
+
unsetEntityContext ()
1
verifica
+
getFecha ()
+
getCurso ()
+
grabarDato ()
+
getCodCurso ()
+
getEstadoAlum ()
+
consultarCodCurso ()
+
consultarEstAlumno ()
+ <<Constructor>> RegistroAlumnoBean ()
+
ejbActivate ()
+
ejbLoad ()
+
ejbPassivate ()
+
ejbRemove ()
+
ejbStore ()
+
: void
: void
: void
: void
: void
: void
: void
: void
: void
: void
: void
: void
1..*
asisten
1..*
compone
<<EJBEntity>>
AlumnoBean
{abstract}
- codAlumno : String
- tipoAlumno : String
- ejbContext : EntityContext
1..*
son supervisados
1..*
es revisado por
<<EJBEntity>>
RegistroClaseBean
{abstract}
-
codRegClase
fechaRegClase
estadoRegistroClase
estadoFirmaClase
ejbContext
: String
: Date
: String
: boolean
: EntityContext
+
getFechasRegClase ()
+
getRegClase ()
+
getEstadoFirmaClase ()
+
actualizarEstadoFirmaClase ()
+
consultarFecha ()
+ <<Constructor>> RegistroClaseBean ()
+
ejbActivate ()
+
ejbLoad ()
+
ejbPassivate ()
+
ejbRemove ()
+
ejbStore ()
+
setEntityContext (EntityContext ctx)
+
unsetEntityContext ()
3.5
<<EJBEntity>>
AulaBean
- codAula : String
- estadoAula : String
- ejbContext : EntityContext
{abstract}
- codAlertaAlumno : String
- fechaAlertaAlumno : Date
- faltaAlumno
: int
- ejbContext
: EntityContext
+
grabarAlertaAlumno ()
+ <<Constructor>> AlertasAlumnoBean ()
+
ejbActivate ()
+
ejbLoad ()
+
ejbPassivate ()
+
ejbRemove ()
+
ejbStore ()
+
setEntityContext (EntityContext ctx)
+
unsetEntityContext ()
1..*
es compuesto por
: ArrayList
: ArrayList
: boolean
: void
: void
1
es compuesto
: void
: void
: void
: void
: void
: void
: void
62
+
validarCodigo ()
+
cambiarEstado ()
+ <<Constructor>> AlumnoBean ()
+
ejbActivate ()
+
ejbLoad ()
+
ejbPassivate ()
+
ejbRemove ()
+
ejbStore ()
+
setEntityContext (EntityContext ctx)
+
unsetEntityContext ()
: void
: void
: void
: void
: void
: void
: void
: void
: void
: date
: String
: void
: char
: String
: void
: void
: void
: void
: void
: void
: void
: void
: void
: void
: void
: void
: void
: void
63
<<EJBEntity>>
RegistroDiarioBean
codRegDiario
codDocente
codCoordinador
fechaRegDiario
estadoRegistroDiario
estadoFirmaDiario
son revisados
char(8) <pk>
char(6) <fk>
char(6) <fk>
date
char(6)
bool
es compuesto
revisa
compone
<<EJBEntity>>
CoordinadorBean
<<EJBEntity>>
LineaRegistroDiarioBean
codDocente
char(6) <pk,fk2>
codCoordinador char(6) <pk>
codArea
char(3) <fk1>
pertenece
codRegDiario
codLineaRegDiario
codDocente
codDocenteTC
estadoLineaRegDiario
horaLlegada
horaSalida
supervisa
char(8)
char(8)
char(6)
char(6)
char(8)
char(5)
char(5)
<pk,fk1>
<pk>
<fk2>
<fk2>
<<EJBEntity>>
CursoBean
<<EJBEntity>>
SeccionBean
es registrado
<<EJBEntity>>
LapsoTiempoBean
registra
codLapsoTiempo
codClaseProg
horaInicio
horaFin
<<EJBEntity>>
DocenteTiempoCompletoBean
codDocente
codDocenteTC
cargoDocenteTC
estadoTCompleto
char(6) <pk,fk>
char(6) <pk>
char(30)
char(8)
char(3) <pk>
char(6) <fk>
char(5)
char(5)
<<EJBEntity>>
CursoSeccionBean
codigoCurso
codSeccion
codCursoSeccion
estadoCursoSeccion
compone
char(5) <pk,fk1>
char(3) <pk,fk2>
char(8) <pk>
char(7)
compone
es compuesto
es compuesto
por por
<<EJBEntity>>
ClaseProgramadaBean
<<EJBEntity>>
DocenteBean
ALER-DOC
codAlertaDocente char(5) <pk,fk1>
codDocente
char(6) <pk,fk2>
recibe
codDocente
claveDocente
nombreDocente
correoDocente
estadoDocente
char(6) <pk>
char(16)
char(60)
char(50)
char(5)
dicta
es dictada
codClaseProg
codigoCurso
codSeccion
codCursoSeccion
fechaClaseProg
estadoClaseProg
char(6)
char(5)
char(3)
char(8)
date
char(12)
<pk>
<fk>
<fk>
<fk>
es compuesto por
AULA-CPROG
codAula
char(6) <pk,fk1>
codClaseProg char(6) <pk,fk2>
son enviados
tiene
<<EJBEntity>>
AlertasDocenteBean
<<EJBEntity>>
AreaAcademicaBean
es dictada
codAlertaDocente
char(5) <pk>
fechaAlertaDocente
date
descripcionAlertaDocente char(50)
codArea
char(3) <pk>
nombreArea char(20)
codDocente
codClaseProg
codRegClase
codLineaRegClase
estadoLineaRegClase
temaClase
horaLlegadaClase
horaSalidaClase
son supervisados
<<EJBEntity>>
AlertasAlumnoBean
char(9)
char(6)
char(6)
char(5)
date
int
char(6)
char(6)
char(8)
char(8)
char(8)
char(100)
char(5)
char(5)
<pk,fk1>
<pk,fk2>
<pk,fk3>
<pk>
<<EJBEntity>>
RegistroAlumnoBean
codClaseProg
codAlumno
codRegAlumno
fechaRegAlumno
<<EJBEntity>>
RegistroClaseBean
es revisado por
compone
<pk,fk1>
<pk,fk2>
<pk,fk2>
<pk>
supervisa
<<EJBEntity>>
AulaBean
<<EJBEntity>>
LineaRegistroClaseBean
verifica
codAlumno
codDocente
codCoordinador
codAlertaAlumno
fechaAlertaAlumno
faltaAlumno
compone
dicta
codRegClase
codArea
fechaRegClase
estadoRegistroClase
estadoFirmaClase
char(8) <pk>
char(3) <fk>
date
char(6)
bool
es compuesto
<<EJBEntity>>
AlumnoBean
son supervisados
asisten
63
char(6) <pk,fk1>
char(9) <pk,fk2>
char(6) <pk>
date
Nro
Tabla
1
2
3
64
AreaAcademica
Aula
Alumno
Cantidad de
registros anual
5
20
1400
Tamao del
registro
23 Bytes
14 Bytes
50 Bytes
Crecimient
o anual (%)
0
0
25
ClaseProgramada
11520
36 Bytes
Coordinador
17 Bytes
6
7
Curso
Docente
125
130
55 Bytes
137 Bytes
0
0
DocenteTiempoCompleto 30
44 Bytes
9
10
LapsoTiempo
LineaRegistroClase
54000
18000
19 Bytes
146 Bytes
0
0
11
LineaRegistroDiario
36000
40 Bytes
12
RegistroClase
1200
25 Bytes
13
RegistroDiario
1200
25 Bytes
14
15
16
Seccion
CursoSeccion
RegistroAlumno
4
100
11520
3 Byte
23 Byte
25 Bytes
0
0
0
17
AlertaAlumno
400
50 Bytes
18
AlertaDocente
50
50 Bytes
3.6
Hardware
Sistema Operativo
Herramientas de Construccin
Base de Datos
Software de aplicaciones
Servidor WEB
Intel: Fabricante
Procesador: Corei 5
Frecuencia: 3.40 GHz
Memoria: 3.50GB
Windows XP x86bits
Java
Oracle
Netbeans 8.0
Apache Tomcat 2.2.3
64
Tipo de
acceso
select, insert
select, insert
select, update,
insert
select, update,
insert
select, update,
insert
select, insert
select, update,
insert
select, update,
insert
select
select, update,
insert
select, update,
insert
select, update,
insert
select, update,
insert
select, insert
select, insert
select, update,
insert
select, update,
insert
select, update,
insert
65
Nombre
del IConsultaRegistro
Componente
Tipo de
JSP
Componente
Descripcin
Se encarga de administrar la interface IConsultaRegistro
Especificacin del componente
Este componente se encarga de crear la pgina web dinmica.
Se utiliza en los subsistemas Consultar registro de asistencia
Operaciones:
btnConsultaRegActionPerformed(): Botn que permite realizar la consulta
showOptConsultarReg(): Muestra las opciones de consulta del registro
btnVerRegClaseActionPerformed(): Botn que permite ver los registros de clase
ShowOptVerRegClases(): Muestra las opciones del registro de clase
selectAreaActionPerformed(): Permite realizar el filtro por reas para la consulta del
registro de clase o diario.
selectFechaIniActionPerformed(): Permite realizar el filtro por fecha de inicio para la
consulta del registro de clase o diario.
selectFechaFinActionPerformed():Permite realizar el filtro por fecha de fin para la
consulta del registro de clase o diario.
mostrarFramePDF(): Muetra la fecha el el PDF
btnVerRegDiarioActionPerformed()
ShowOptVerRegDiario()
Nombre
del RegistroClaseBean
Componente
Tipo de
Componente
Descripcin
EJB
65
66
Tipo de
EJB
Componente
Descripcin
Se encarga de administrar la tabla RegistroDiario
Especificacin del componente
Este componente se encarga de actualizar y leer los datos de la tabla RegistroDiario.
Se utiliza en los subsistemas Consultar registro de asistencia, Consultar historial de
asistencia, firma parte de asistencia, Registro de asistencia diario.
Operaciones:
actualizarEstadoFirmaDiario(): Actualiza el estado de firma diario
getFechasDiario(): Obtiene las fechas del registro diario
getRegDiario(): Obtiene los cdigo del registro Diario
Nombre
del DocenteBean
Componente
Tipo de Componente
EJB
Descripcin
Se encarga de administrar la tabla Docente
Especificacin del componente
Este componente se encarga de leer y actualizar los datos de la tabla docente.
Se utiliza en los subsistemas Consultar historial de asistencia, Registro de asistencia a
clases
Operaciones:
actualizarEstadoDocente(): Actualiza el estado del docente
Nombre
del ClaseProgramadaBean
Componente
Tipo de
EJB
Componente
Descripcin
Se encarga de administrar la tabla ClaseProgramada
Especificacin del componente
Este componente se encarga de leer y actualizar los datos de ClaseProgramada.
Se utiliza en los subsistemas Consultar historial de asistencia, Registro de asistencia
a clases
Operaciones:
actualizarEstadoClaseProg(): Actualiza el estado de la clase programada
consultarHoraClase(): Consulta el horario de la clase programada
consultarSiClaseActual(): Consulta si existe una clase actual
getFechasClasesProg(): Obtiene las fechas de las clases programadas
getCursosClasesProg(): Obtiene los cursos de las clases programadas
getCodClasesProg(): Obtiene los cdigos de las clases programadas
Nombre
Componente
Tipo de
del IConsultaHistorial
JSP
66
67
Componente
Descripcin
Se encarga de administrar la interface IConsultaHistorial
Especificacin del componente
Este componente se encarga de leer los datos ingresados por el usuario.
Se utiliza en los subsistemas Consultar historial de asistencia
Operaciones:
btnConsultaHistActionPerformed(): Botn que permite consultar el historial de
asistencia
enableBtnConsultaHistClase(): Habilita el botn de consulta de historial de clase
enableBtnConsultaHistDiario():Habilita el botn de consulta de historial de diario
btnHistorialClaseActionPerformed():Botn que permite consultar el historial de clase
showOptHistClase(): Muestra las opciones del historial de clase
selectCursoActionPerformed(): Selecciona los cursos
selectFechaIniActionPerformed(): Selecciona la fecha de inicio
selectFechaFinActionPerformed(): Selecciona la fecha de fin
mostrarHistorialClase(): Muestra el historial de clase
btnHistorialDiarioActionPerformed(): Botn que permite visualizar el historial diario
showOptHistDiario(): Muestra las opciones del historial diario
mostrarHistorialDiario(): Muestra el historial diario
Nombre
del CConsultaHistorial
Componente
Tipo de
Servlet
Componente
Descripcin
Se encarga de administrar el controlador CConsultaHistorial
Especificacin del componente
Este componente se encarga de recibir las peticiones del JSP IConsultahistorial y
redirecciona estas peticiones a un objeto bean.
Se utiliza en los subsistemas Consultar historial de asistencia
Operaciones:
mostrarOpcionesConsulta(): Muestra las opciones de consulta
cargarOpcionesHistClase(): Muestra las opciones del historial de clase
verHistorialClase(): Permite visualizar el historial de clase
cargarOpcionesHistDiario(): Carga las opciones del historial diario
getFechaIniDiario(): Obtiene la fecha de inicio diario
verHistorialDiario(): Permite ver el historial diario.
Nombre
del AulaBean
Componente
Tipo de
EJB
Componente
Descripcin
Se encarga de administrar la tabla Aula
Especificacin del componente
Este componente se encarga de leer y actualizar el estado del Aula
Se utiliza en los subsistemas Registro de asistencia a clases
Operaciones:
actualizarEstadoAula: Actualiza el estado del aula en el que se est realizando la
clase ,los posibles estados son libre, ocupado, especial.
67
68
Nombre
del LineaRegistroClaseBean
Componente
Tipo de
EJB
Componente
Descripcin
Se encarga de administrar la tabla LineaRegistroClase
Especificacin del componente
Este componente se encarga de leer,grabar y actualizar los datos de
LineaRegistroClase
Se utiliza en los subsistemas Registro de asistencia a clase.
Operaciones:
actualizarEstadoLineaRegClase:Actualiza el estado de la lnea que compone el
registro a clase. Los estados son asisti, falto, espera.
grabarTemaClase: Guarda el tema que el profesor va a dictar en clases.
grabarHoraLlegadaClase: Guarda la hora en la que el profesor llega a clase.
grabarHoraSalidaClase: Guarda la hora en la que el profesor termina y sale de su
clase.
getHistorialClase: Obtiene el historial de asistencia a clase del docente, segn cdigo
del docente ,del registro de asistencia a clase.
Nombre
del CRegistroClase
Componente
Tipo de
Servlet
Componente
Descripcin
Se encarga de administrar el controlador CRegistroClase
Especificacin del componente
Este componente se encarga de recibir las peticiones del JSP IRegistroClase y
redirecciona estas peticiones a un objeto bean.
Se utiliza en los subsistemas Registro de asistencia a clase.
Operaciones:
consultarTenenciaDeClases: Consulta segn el cdigo del docente si el profesor tiene
clases.
registrarClase: Se guarda el tema de la clase a dictar y se registra la asistencia a
clases.
Nombre
del DocenteTiempoCompletoBean
Componente
Tipo de
EJB
Componente
Descripcin
Se encarga de administrar la tabla DocenteTiempoCompleto
Especificacin del componente
Este componente se encarga de leer y actualizar estado de DocenteTiempoCompleto.
Se utiliza en los subsistemas Registro de asistencia diario
Operaciones:
actualizarEstadoTCompleto: Actualiza el estado del docente a los estados presente o
ausente segn sea el caso.
Nombre
Componente
del LineaRegistroDiarioBean
68
69
Tipo de
EJB
Componente
Descripcin
Se encarga de administrar la tabla LineaRegistroDiario
Especificacin del componente
Este componente se encarga de leer,actualizar y grabar los datos de la tabla
LineaRegistroDiario
Se utiliza en los subsistemas Registro de asistencia diario
Operaciones:
actualizarEstadoLineaRegDiario: Actualiza el estado de la lnea a los estados asisti,
falto espera segn corresponda.
grabarHoraLlegadaDiario: Guarda en la lnea la hora en la que el profesor selecciona la
opcin registro de hora de llegada.
grabarHoraSalidaDiario: Guarda en la lnea la hora en la que el profesor selecciona la
opcin registro de hora de salida.
getHoraLlegadaDiario: Obtiene la hora de llegada y lo almacena en el registro diario
del docente.
getHoraSalidaDiario: Obtiene la hora de salida y lo almacena en el registro diario del
docente.
getHistorialDiario: Obtiene el historial de asistencia diario del docente, segn cdigo del
docente ,del registro de asistencia diario.
Nombre
del CRegistroDiario
Componente
Tipo de
Servlet
Componente
Descripcin
Se encarga de administrar el controlador CRegistroDiario
Especificacin del componente
Este componente se encarga de recibir las peticiones del JSP IRegistroDiario y
redirecciona estas peticiones a un objeto bean.
Se utiliza en los subsistemas Registro de asistencia diario.
Operaciones:
consultarHoraDeLlegada: Consulta si el docente a tiempo completo a registrado su
hora de llegada.
registrarHoraLlegada: Se registra la hora en la que el profesor selecciona la opcin
registrar hora de llegada.
registrarHoraSalida: Se registra la hora en la que el profesor selecciona la opcin
registra hora de salida.
3.7
Catlogo de Requerimientos
Nmero
Requerimiento
Capacitacin
Infraestructura
3
Instalacin
Descripcin
Se capacitara a los docentes, alumnos y
coordinadores en el uso del nuevo sistema.
Conjunto de medios tcnicos, servicios e
instalaciones necesarias para el buen
funcionamiento del sistema.
Instalacin del sistema en los servidores de cada
saln de clase y rea acadmica.
El software nos debe permitir instalar el servidor
web Apache.
69
70
4.2.
create
AulaBean
Cdigo
entable
SQL para
la creacin de la BD.
(
El script
creado para la creacin devarchar(6)
la base denot
datos
codigo
null,se ha construido
a partir
del
modelo
Entidad/Relacin
que
se
hizo
anteriormente, las
tipo
varchar(1),
columnas
de las tablas tieneint,
el tipo de dato adecuado para cada uno
capacidad
de los
casos, key
se han
definido los primary keys que permitan identificar
primary
(codigo)
); una de las entidades.
cada
create table CursoBean
(create database SACA
use
SACA
codigo
varchar(5) not null,
nombre
varchar(40),
create
table RegClaseView(
nroHorT
int,
Fecha
varchar(20),
nroHorP
int,
CodUser varchar(10),
sistCalif
varchar(1),
Curso
varchar(20),
creditos
int,
Seccion
char(1),
primary key (codigo)
char(50),
); Tema
Estado
varchar(10)
)
create
table LapsoTiempoBean
(
codigo
varchar(3) not null,
horaIni
int,
horaFin
int,
70
primary key (codigo)
);
71
72
);
73
insert
insert
insert
insert
insert
insert
insert
insert
insert
insert
insert
insert
insert
into
into
into
into
into
into
into
into
into
into
into
into
into
HorariosBean values('20101034B','ST213-U','Lunes','N01');
HorariosBean values('20101034B','ST213-U','Miercoles','N01');
HOrariosBean values('20102575H','ST414-V','Lunes','N01');
HOrariosBean values('20092022K','ST213-U','Lunes','N01');
HOrariosBean values('20101006I','ST213-U','Lunes','N01');
HOrariosBean values('20101646J','ST324-X','Lunes','N01');
HOrariosBean values('20101034B','ST124-V','Lunes','T03');
HOrariosBean values('20101034B','ST205-X','Viernes','N03');
HOrariosBean values('20101034B','ST205-X','Viernes','N02');
HOrariosBean values('20101034B','ST205-X','Viernes','N01');
HOrariosBean values('20092022K','GP515-U','Lunes','N02');
HOrariosBean values('20101006I','GP122-U','Lunes','T02');
HOrariosBean values('20101006I','ST414-V','Lunes','T03');
insert
insert
insert
insert
insert
insert
into
into
into
into
into
into
HOrariosBean
HOrariosBean
HOrariosBean
HOrariosBean
HOrariosBean
HOrariosBean
values('DTC001','ST124-V','Lunes','N01');
values('DTC001','ST124-V','Viernes','N01');
values('DTC002','ST213-U','Lunes','N01');
values('DTP001','ST124-V','Lunes','N01');
values('DTP001','ST124-V','Viernes','N01');
values('DTP002','GP515-U','Lunes','N01');
insert
insert
insert
insert
insert
insert
insert
into
into
into
into
into
into
into
SyllabusBean
SyllabusBean
SyllabusBean
SyllabusBean
SyllabusBean
SyllabusBean
SyllabusBean
values('ST213-U','Introduccion','2014-08-16','2014-08-24');
values('ST213-U','Metodos de Investigacion','2014-08-25','2014-09-12');
values('ST213-U','1er Entregable','2014-09-13','2014-09-28');
values('ST213-U','2do Entregable','2014-09-29','2014-10-22');
values('ST213-U','3er Entregable','2014-10-23','2014-11-17');
values('ST213-U','4to Entregable','2014-11-18','2014-11-24');
values('ST213-U','5to Entregable','2014-11-24','2014-12-16');
insert
insert
insert
insert
insert
insert
into
into
into
into
into
into
DocenteBean
DocenteBean
DocenteBean
DocenteBean
DocenteBean
DocenteBean
values('DTC001','Fernadez','Vazquez','Lujano',null,'DC','A');
values('DTC002','Arturo','Ramirez','Cardenas',null,'DP','A');
values('DTP001','Miguel','Tarantino','Rodriguez',NULL,'CA','A');
values('DTP002','Miguel','Carranza','Vasquez',null,'DP','A');
values('COA001','Carlos','Velarde','Silva',NULL,'DC','A');
values('COA002','Tereza','Ramirez','Samaniego',NULL,'DC','A');
insert
insert
insert
insert
insert
into
into
into
into
into
AlumnoBean
AlumnoBean
AlumnoBean
AlumnoBean
AlumnoBean
insert
insert
insert
insert
insert
insert
insert
insert
insert
insert
insert
insert
into
into
into
into
into
into
into
into
into
into
into
into
AulaBean
AulaBean
AulaBean
AulaBean
AulaBean
AulaBean
AulaBean
AulaBean
AulaBean
AulaBean
AulaBean
AulaBean
values('20101034B','Edmundo','Mori','Orrillo',null,'R',3);
values('20101006I','Milton','Arica','Andrade',NULL,'R',6);
values('20092022K','Moises','Oscanoa','Alvarado',null,'R',4);
values('20101646J','Wesly','Vivanco','Pucca',NULL,'R',8);
values('20102575H','Tania','Maldonado','Trigoso',NULL,'R',4);
values('S4-104','C',30);
values('S4-105','C',30);
values('S4-106','C',30);
values('S4-107','C',30);
values('S4-108','C',30);
values('S4-109','C',30);
values('S4-204','C',30);
values('S4-205','C',30);
values('S4-206','C',30);
values('S4-207','C',30);
values('S4-208','C',30);
values('S4-209','C',30);
73
insert
insert
insert
insert
insert
insert
insert
insert
insert
insert
insert
into
into
into
into
into
into
into
into
into
into
into
CursoBean
CursoBean
CursoBean
CursoBean
CursoBean
CursoBean
CursoBean
CursoBean
CursoBean
CursoBean
CursoBean
insert
insert
insert
insert
insert
insert
insert
into
into
into
into
into
into
into
LapsoTiempoBean
LapsoTiempoBean
LapsoTiempoBean
LapsoTiempoBean
LapsoTiempoBean
LapsoTiempoBean
LapsoTiempoBean
insert
insert
insert
insert
into
into
into
into
SeccionBean
SeccionBean
SeccionBean
SeccionBean
insert
insert
insert
insert
insert
insert
insert
insert
insert
insert
insert
into
into
into
into
into
into
into
into
into
into
into
UserBean
UserBean
UserBean
UserBean
UserBean
UserBean
UserBean
UserBean
UserBean
UserBean
UserBean
insert
insert
insert
insert
insert
into
into
into
into
into
AreaAcademicaBean
AreaAcademicaBean
AreaAcademicaBean
AreaAcademicaBean
AreaAcademicaBean
insert
insert
insert
insert
insert
insert
insert
insert
insert
insert
into
into
into
into
into
into
into
into
into
into
CursoSeccionBean
CursoSeccionBean
CursoSeccionBean
CursoSeccionBean
CursoSeccionBean
CursoSeccionBean
CursoSeccionBean
CursoSeccionBean
CursoSeccionBean
CursoSeccionBean
insert
insert
insert
insert
into
into
into
into
LinRegClaseAlumnoBean
LinRegClaseAlumnoBean
LinRegClaseAlumnoBean
LinRegClaseAlumnoBean
74
values('U',30,'Seccion U','A');
values('V',30,'Seccion V','A');
values('W',30,'Seccion W','A');
values('X',30,'Seccion X','A');
values(1,'DTC001','DC','123');
values(2,'DTC002','DC','123');
values(3,'DTP001','DP','123');
values(4,'DTP002','DP','123');
values(5,'COA001','CA','123');
values(6,'COA002','CA','123');
values(7,'20101034B','AL','1');
values(8,'20101006I','AL','1');
values(9,'20092022K','AL','1');
values(10,'20101646J','AL','1');
values(11,'20102575H','AL','1');
values('CB','Ciencias Bsicas');
values('GP','Gestin de la Produccin');
values('HS','Humanidades y Ciencias Sociales');
values('ST','Sistemas y Telemtica');
values('TP','Tecnologa de la Produccin');
values('ST213-U','ST213','U');
values('ST124-V','ST124','V');
values('ST205-X','ST205','X');
values('GP515-U','GP515','U');
values('HS204-V','HS204','V');
values('ST414-V','ST414','V');
values('ST324-X','ST324','X');
values('GP122-U','GP122','U');
values('ST213-V','ST213','V');
values('ST124-X','ST124','X');
74
values('20101034B','A',08,10);
values('20101034B','A',12,14);
values('20101034B','A',16,18);
values('20101006I','A',10,12);
4.3.
75
75
76
package Coneccion;
import java.sql.Connection;
import java.sql.DriverManager;
public class ConeccionSQL {
private static
private static
private static
static private
public ConeccionSQL(){
}
static public Connection getConection(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
con = DriverManager.getConnection(url,user,pass);
if(con != null){
System.out.println("Se conecto a la base de datos");
}else{
System.out.println("No se conecto a la base de datos");
}
}catch(Exception ex){
ex.printStackTrace();
}
return con;
public Boolean closeConection(){
Boolean cerrado = false;
try{
con.close();
cerrado = true;
}catch(Exception e){
con = null;
cerrado = false;
}
return cerrado;
}
conn = null;
77
}
}
if (existe == true){
user.setCodigo(rs.getString(1));
user.setNombre(rs.getString(2));
user.setApPaterno(rs.getString(3));
user.setApMaterno(rs.getString(4));
user.setCorreo(rs.getString(5));
user.setEstado(rs.getString(6));
user.setCiclo(rs.getInt(7));
}
}
}catch(Exception e){
e.printStackTrace();
existe=false;
System.out.println("No se encontraron datos de este usuario");
}
return user;
77
78
}
}
cn=Coneccion.getConection();
boolean existe = false;
try{
ps=(PreparedStatement) cn.prepareStatement(sql);
ps.setString(1,cod);
rs=ps.executeQuery();
existe=true;
while(rs.next()){
if (existe == true){
doc.setCodigo(rs.getString(1));
doc.setNombre(rs.getString(2));
doc.setApPaterno(rs.getString(3));
doc.setApMaterno(rs.getString(4));
doc.setCorreo(rs.getString(5));
doc.setTipo(rs.getString(6));
doc.setEstado(rs.getString(7));
}
}
}catch(Exception e){
e.printStackTrace();
System.out.println("No se encontraron datos de este docente");
}
return doc;
78
79
}
}
}catch(Exception e){
e.printStackTrace();
System.out.println("No se encontraron datos de este curso");
}
return curso;
80
80
81
LOGIN
82
REGISTRO DE ASISTENCIA
83
84
84
85
86
87
Cdigo
Utilizado
para generar el archivo{ PDF
public
class
GenerarPDFAsistenciaClase
public void createPdf(){
File fil;
//Ruta del archivo, esto es dentro del proyecto Netbeans
fil = new File("src/Beans/HAsisClase.pdf");
/*Declaramos documento como un objeto Document
Asignamos el tamao de hoja y los margenes */
Document documento = new Document(PageSize.LETTER, 80, 80, 75,
75);
String TipoUser;
String Nombre;
String Curso;
TipoUser = HistorialACD.TipoUser;
Nombre = HistorialACD.Nombre;
Curso = HistorialACD.Curso;
//writer es declarado como el mtodo utilizado para escribir en el
archivo
PdfWriter writer = null;
try {
//Obtenemos la instancia del archivo a utilizar
writer = PdfWriter.getInstance(documento, new
FileOutputStream(fil));
} catch (Exception ex) {
ex.getMessage();
}
//Agregamos un titulo al archivo
documento.addTitle("Archivo pdf generado desde Java");
//Agregamos el autor del archivo
documento.addAuthor("Edmundo");
//Abrimos el documento para edicin
documento.open();
//Declaramos un texto como Paragraph
//Le podemos dar formado como alineacin, tamao y color a la
fuente.
Paragraph parrafo = new Paragraph();
parrafo.setAlignment(Paragraph.ALIGN_CENTER);
parrafo.setFont(FontFactory.getFont("Sans",25,Font.BOLD,
BaseColor.BLUE));
parrafo.add("Historial de Asistencia a clase");
try {
//Agregamos el texto al documento
documento.add(parrafo);
//Agregamos un salto de linea
documento.add(new Paragraph(" "));
//Agregamos la tabla al documento haciendo
//la llamada al mtodo tabla()
documento.add(tabla(TipoUser, Nombre, Curso));
documento.close(); //Cerramos el documento
writer.close(); //Cerramos writer87
88
fila[2] = tablaHACD.getValueAt(i,2);
celda = new PdfPCell(new Phrase(fila[2].toString()));
celda.setColspan(4);
tabla.addCell(celda);
fila[3] = tablaHACD.getValueAt(i,3);
celda = new PdfPCell(new Phrase(fila[3].toString()));
celda.setColspan(7);
celda.setHorizontalAlignment(0);
tabla.addCell(celda);
fila[4] = tablaHACD.getValueAt(i,4);
celda = new PdfPCell(new Phrase(fila[4].toString()));
celda.setColspan(5);
tabla.addCell(celda);
88
89
89