Professional Documents
Culture Documents
1. PERFIL ............................................................................................................................................... 1
1.1 INTRODUCCIN ........................................................................................................................ 1
1.2 ANTECEDENTES ....................................................................................................................... 2
1.3 JUSTIFICACIN ......................................................................................................................... 4
1.4 DESCRIPCIN DEL PROBLEMA ........................................................................................... 5
1.5 FORMULACIN DEL PROBLEMA ......................................................................................... 7
1.6 OBJETIVOS................................................................................................................................. 8
1.6.1 Objetivo General .................................................................................................................. 8
1.6.2 Objetivo Especficos ............................................................................................................ 8
1.7 ALCANCE .................................................................................................................................... 9
1.8 ELEMENTOS DEL SISTEMA BASADO EN COMPUTADORAS ..................................... 10
1.8.1 Hardware ............................................................................................................................ 10
1.8.2 Software .............................................................................................................................. 10
1.8.3 Datos ................................................................................................................................... 11
1.8.4 Procesos ............................................................................................................................. 11
1.8.5 Gente / Usuario .................................................................................................................. 12
1.9 TECNOLOGIA PARA EL DESARROLLO DEL SOFTWARE ............................................ 13
1.9.1 Estrategia para el desarrollo del software ..................................................................... 13
1.9.2 Metodologa para el desarrollo del software ................................................................. 13
1.9.3 Herramientas de desarrollo .............................................................................................. 13
1.10 POSIBLES COSTOS ............................................................................................................. 15
1.11 POSIBLES BENEFICIOS ...................................................................................................... 16
1.11.1 Tiempo .............................................................................................................................. 16
1.11.2 Esfuerzo ............................................................................................................................ 16
1.11.3 Costos ............................................................................................................................... 16
1.12 POSIBLES CLIENTES........................................................................................................... 16
2. MARCO TERICO ......................................................................................................................... 17
2.1 CICLO DE VIDA PUDS............................................................................................................ 17
2.1.1 Flujos de Trabajo ............................................................................................................... 17
2.1.2 Aspecto Esttico y Dinmico ........................................................................................... 18
2.2 CODEIGNITER ......................................................................................................................... 20
2.2.1 Caractersticas generales de CodeIgniter ..................................................................... 20
2.3 SERVIDOR HTTP APACHE ................................................................................................... 22
2.4 HTML5 ........................................................................................................................................ 23
2.5 PHP ............................................................................................................................................. 24
3. MTODO DE REQUERIMIENTO: ISHIKAWA........................................................................... 26
3. 1 IDENTIFICAR PROBLEMA .................................................................................................... 26
3.1.1 Lista de problemas ............................................................................................................ 26
3.1.2 Depurar problema.............................................................................................................. 26
3.1.3 Lista final de problema ...................................................................................................... 27
3.1.4 Lista de propietarios de problemas................................................................................. 27
3.1.5 Anlisis de problemas ....................................................................................................... 28
3.1.6 Alternativas de cambio ..................................................................................................... 29
3.1.7 Disear diagrama de multicausalidad ............................................................................ 29
3.2 IDENTIFICAR PRINCIPALES CATEGORAS ..................................................................... 30
3.3 ANALIZAR Y DISCUTIR EL DIAGRAMA ............................................................................. 30
3.4 CONCLUSIN Y VIABILIDAD DEL PROYECTO ............................................................... 31
4. MODELO DE DOMINIO ................................................................................................................. 31
4.1 IDENTIFICAR CLASES ........................................................................................................... 31
4.2 IDENTIFICAR LOS ATRIBUTOS DE CADA CLASE .......................................................... 33
4.3 IDENTIFICAR LOS MTODOS DE CADA CLASE ............................................................. 34
4.4 RELACIONES ENTRE CLASES ............................................................................................ 36
4.5 DIAGRAMA DE CLASES ........................................................................................................ 42
5. MODELO DE NEGOCIO ............................................................................................................... 43
5.1 DIAGRAMA DE ACTIVIDAD ................................................................................................... 43
6. FLUJO DE TRABAJO: Captura de Requisitos ........................................................................... 46
6.1 ENCONTRAR ACTORES Y CASOS DE USO .................................................................... 46
6.2 PRIORIZAR CASOS DE USO ................................................................................................ 47
6.3 DETALLAR CASOS DE USO ................................................................................................. 48
6.3.1 Disear Casos de Uso ...................................................................................................... 48
6.3.2 Detallar Casos de Uso ...................................................................................................... 53
6.4 PROTOTIPAR INTERFAZ DE USUARIO............................................................................. 67
6.5 ESTRUCTURAR MODELO DE CASOS DE USO .............................................................. 68
7. FLUJO DE TRABAJO: Anlisis..................................................................................................... 69
7.1 ANLISIS DE ARQUITECTURA ............................................................................................ 69
7.1.1 Identificar Paquete............................................................................................................. 69
7.1.2 Relacionar paquetes y casos de uso.............................................................................. 70
7.2 ANALISIS DE CASOS DE USO ............................................................................................. 72
7.3 ANLISIS DE CLASES............................................................................................................ 78
7.4 ANLISIS DE PAQUETE ........................................................................................................ 85
8. FLUJO DE TRABAJO DISEO .................................................................................................... 86
8.1 DISEO DE ARQUITECTURA............................................................................................... 86
8.1.1 Diseo de arquitectura lgica .......................................................................................... 86
8.1.2 Diseo de arquitectura fisica ........................................................................................... 87
8.2 DISEO DE DATOS ................................................................................................................ 87
8.2.1 Diseo de datos lgicos ................................................................................................... 87
8.2.2 Diseo de datos fsicos..................................................................................................... 87
9. FLUJO DE TRABAJO IMPLEMENTACION.............................................................................. 123
9.1 IMPLEMENTACIN DE ARQUITECTURA DEL SISTEMA ............................................ 123
9.2 IMPLEMENTACIN DE ARQUITECTURA DE SUBSISTEMA ...................................... 124
9.3 PLATAFORMA DE DESARROLLO DE SOFTWARE....................................................... 127
10. CONCLUSION ............................................................................................................................ 127
11. RECOMENDACIN ................................................................................................................... 127
12.BIBLIOGRAFIA ............................................................................................................................ 127
13. ANEXOS ...................................................................................................................................... 128
13.1 BOLETA DE INSCRIPCIN ............................................................................................... 128
13.2 BOLETA DE PAGO .............................................................................................................. 129
13.3 MANUAL DE USUARIO DE LA PGINA WEB ............................................................... 130
13.4 ENTREVISTAS: .................................................................................................................... 136
PERFIL DE PROYECTO
1. PERFIL
1.1 INTRODUCCIN
Actualmente en Santa Cruz de la Sierra es un requisito al menos saber dos idiomas,
en nuestro existen muchos instituciones dedicadas a la enseanza de lenguas,
debido a la demanda existente, sin duda alguna el ingls es uno de los ms
importantes, la principal razn para estudiarlo es que nuestras oportunidades
laborales se multiplicarn en cuanto lo dominemos. Tanto en instituciones pblicas
como en privadas, sin importar el rea de trabajo, el ingls siempre aporta ventajas
a la hora de ascender de cargo laboral. Adems proporciona acceso a la informacin
ms actual y completa, conociendo los ltimos avances y podremos acceder a la
mayora de textos cientficos, acadmicos y tecnolgicos.
Segn un estudio ms del 56% de los sitios de Internet estn editados en ingls.
-1-
1.2 ANTECEDENTES
Los Cursos Autofinanciados de Idiomas fueron propuestos y creados por la Carrera
de Idiomas en colaboracin con el Proyecto Boliviano Britnico para la Enseanza
del Ingls el ao 1997 como un programa piloto que responda a la gran necesidad
de aprendizaje del idioma como consecuencia de una globalizacin mundial.
Misin
Visin
-2-
Ubicacin
La oficina central del CAI est ubicada en la calle Murillo 120 entre Bolvar y
Arenales. La segunda oficina est ubicada en el Pabelln 175 del Campus
Universitario, lugar donde se imparten las clases.-
DIRECTOR(A) DE CARRERA
COORDINADOR(A) ACADEMICO-ADMINISTRATIVO
CONSULTORES
PERSONAL DE APOYO I
(dos)
-3-
1.3 JUSTIFICACIN
En los ltimos aos las instituciones educativas buscan mejorar el acceso a la
informacin de los estudiantes debido al crecimiento de los mismos y esta es la
razn por la cual optan por agilizar sus procesos de gestin acadmica a travs de
un Sistema de Informacin.
-4-
1.4 DESCRIPCIN DEL PROBLEMA
Infraestructura
El CAI cuenta con dos edificios, uno ubicado en la calle Murillo #120 y otro en el
Campus Universitario, los cuales cuentan con 15 aulas en total, cada una con
capacidad de 30 alumnos. Consta con un plantel docente de 19 profesores. El
nmero de estudiantes por trimestre vara de acuerdo a la demanda de 2500 a 3000
estudiantes.
El CAI se dan cursos de tres idiomas: Ingls, francs y guaran. El ingls cuenta con
13 niveles: 4 bsicos, 4 intermedios ,4 avanzados y 1 nivel final. El francs cuenta
con 8 niveles: 4 bsicos y 4 intermedios. El idioma guaran cuenta solo con 2 niveles
bsicos.
Tipos de Cursos
Clasificacin de estudiantes
Estudiantes particulares.
Estudiantes de la UAGRM.
El costo de cada curso es de Bs. 320 (regular) y Bs. 640 (intensivo). Los estudiantes
de la UAGRM tienen un descuento de Bs. 60. Es decir, Bs. 260 (regular) y Bs. 580
(intensivo).
Una gestin acadmica est formada por 3 perodos y cada uno de estos consta de 3
meses de duracin. Entre cada perodo existe un corto receso que vara entre 2 a 3
semanas.
-5-
Proceso de Inscripcin
Una vez guardada la Reserva, aparecer una boleta de reserva, la cual se tendr
que imprimir para realizar el respectivo pago con el monto indicado en la parte
superior de la boleta.
Los ingresos por examen de nivel se habilitan una semana antes de las
inscripciones, y tienen como requisitos llevar una fotocopia de la cedula de identidad
y un documento que certifique que haya cursado anteriormente algn curso de
ingls, o en su defecto, si es estudiante de la U.A.G.R.M., mostrar su histrico
acadmico con las materias de Ingles Tcnico aprobadas.
Situacin problemtica
El CAI cuenta con un Sistema de Informacin capaz de gestionar la informacin de
sus profesores y alumnos, sin embargo ste presenta algunas deficiencias:
-6-
Falta organizacin en el proceso y en la distribucin de los das de inscripcin.
Los estudiantes realizan largas filas para realizar los pagos de la reserva de
cupos en la caja de Post Grado de la facultad de Humanidades.
-7-
1.6 OBJETIVOS
-8-
1.7 ALCANCE
Gestionar profesor: a parte de los datos como persona, el profesor tendr
como caracterstica extra su formacin acadmica.
Gestionar estudiante: adems de los datos como persona, el estudiante
tendr como caracterstica extra su tipo.
Gestionar Curso: cada curso se identifica por las siguientes caractersticas:
cdigo de aula, horario, idioma, nivel, grupo y profesor.
Gestionar la reserva: se realiza la reserva de un curso a travs del perfil de
la pgina web, tiene las siguientes caractersticas: cdigo de reserva, fecha y
monto.
Gestionar el proceso de Inscripcin: Mediante el Pago del Curso. La
inscripcin se identifica por las siguientes caractersticas: cdigo de
inscripcin y fecha.
Gestionar notas: se tendr un registro de las notas de los estudiantes y se
llevara un control de sus faltas.
Gestionar aula: cada aula tendr caractersticas como su identificacin, su
ubicacin y su capacidad.
Gestionar horario: se tendr registrado el cdigo de horario, la hora de
entrada, de salida, y los das en los que se pasaran clases.
Gestionar grupo: se registrarn el identificador del cada grupo y su
respectivo nombre.
Gestionar gestin: cada ao tiene 3 gestiones, de las cuales se registrarn el
nmero de gestin y la fecha de inicio.
Gestionar idioma: el curso ofrece 3 idiomas, de los que se guardan su
cdigo, nombre y descripcin.
Gestionar nivel: cada idioma tiene distintos niveles de los cuales se registran
su cdigo y nombre.
Gestionar bitcora: se proporciona al Administrador de perfiles un reporte
sobre las transacciones de los usuarios en el sistema
Gestionar perfiles de usuario: se asigna privilegios a los usuarios para
ingresar al sistema y realizar cambios.
-9-
1.8 ELEMENTOS DEL SISTEMA BASADO EN
COMPUTADORAS
1.8.1 Hardware
1.8.1.1 Servidor
Servidor virtual con las siguientes caractersticas:
RAM: 2 Gb
Procesador: 4 ncleos
Disco Duro: 10 Gb
1.8.1.2 Cliente
Este sistema web funcionara en ordenadores, smartphones y cualquier dispositivo
con acceso a Internet.
1.8.2 Software
1.8.2.1 Servidor
Sistema operativo: Linux
Versin del sistema operativo: 2.6.18-410.el5xen
Versin del PHP actual: PHP5.3.27
Versin del servidor web: Apache/2.4.23(Unix)
Versin MySQL: 5.5.50
1.8.2.2 Cliente
Navegadores: Google Chrome, Mozilla Firefox, Microsoft Edge.
- 10 -
1.8.3 Datos
Datos de los cursos: se guardaran para saber la capacidad de alumnos por curso.
Datos de los estudiantes: estos datos son importantes para generar un perfil
estudiantil donde pueda hacer consultas sobre su curso, nivel y notas.
Datos del docente: se guardaran los datos del docente, para saber su disponibilidad
y especialidad.
1.8.4 Procesos
Proceso reservar cupo: permite ver cuantos cupos libres existen y realiza una
reserva por 24 horas de un cupo del curso deseado.
Proceso generar horarios: genera los horarios basados en la disponibilidad de cada
docente.
Proceso generar perfiles: genera un perfil para cada estudiante y profesor nuevo.
Proceso generar bitcora: generar un reporte cada vez que el usuario lo solicite no
obstante guarda el registro de cada actividad realizada dentro del sistema.
- 11 -
1.8.5 Gente / Usuario
Estudiantes: podrn inscribirse y consultar sus respectivas notas.
- 12 -
1.9 TECNOLOGIA PARA EL DESARROLLO DEL
SOFTWARE
1.9.1 Estrategia para el desarrollo del software
Ciclo de vida Proceso Unificado de Desarrollo De Software (P.U.D.S.).
1.9.3.2 Hardware
Laptop TOSHIBA
Modelo: Satellite S55-B
Procesador: Intel Core i7-4510U
RAM: 12,0 GB
Tipo de Sistema: Sistema Operativo de 64-bit
Laptop DELL
Modelo: Inspiron 5537
Procesador: Intel Core i5-4200U
RAM: 6,0 GB
Tipo de Sistema: Sistema Operativo de 64-bit
- 13 -
Laptop SAMSUNG
Modelo:NP300E5A
Procesador: Intel Core i3-2330M
RAM: 2,0 GB
Tipo de Sistema: Sistema Operativo de 32-bit
Laptop LENOVO
Modelo: E47G
Procesador: Intel Core i3-2330M
RAM: 4,0 GB
Tipo de Sistema: Sistema Operativo de 32-bit
- 14 -
1.10 POSIBLES COSTOS
Hardware Costos
Software
Mysql 0 $us
Php 0 $us
Apache 0 $us
- 15 -
1.11 POSIBLES BENEFICIOS
1.11.1 Tiempo
Proceso eficaz en la inscripcin de los estudiantes.
Proceso gil en revisin de notas por nivel de los estudiantes.
Reduccin de tiempo de la Bsqueda de historiales acadmicos
1.11.2 Esfuerzo
Manipulacin eficiente de las notas por parte de los docentes.
Reduccin de esfuerzo empleado por parte del personal de la institucin y
estudiantes.
Evitar la duplicacin de informacin.
1.11.3 Costos
Como los estudiantes ya no deben presentar la boleta de reserva ni su recibo en las
oficinas del campus de la U.A.G.R.M no ser necesario que los encargados deban
llevar dichos papeles a la oficina central gastando en su pasaje.
- 16 -
2. MARCO TERICO
Las iteraciones deben estar controladas. Esto significa que deben seleccionarse y
ejecutarse de una forma planificada.
- 17 -
El agrupamiento de actividades en disciplinas es principalmente una ayuda para
comprender el proyecto desde la visin tradicional en cascada.
Los flujos de trabajo desarrollan modelos desde el modelo de casos de uso hasta el
modelo de pruebas.
- 18 -
Lo diagramas dinmicos son:
- 19 -
2.2 CODEIGNITER
CodeIgniter y otros frameworks PHP pueden ayudarte a dar el salto definitivo como
desarrollador PHP, creando aplicaciones web ms profesionales y con cdigo ms
reutilizable, con la diferencia que CodeIgniter est creado para que sea fcil de
instalar en cualquier servidor y de empezar a usar que cualquier otro framework.
Adems, muchas de sus utilidades y modos de funcionamiento son opcionales, lo
que hace que goces de mayor libertad a la hora de desarrollar sitios web.
Versatilidad:
- 20 -
acceso por FTP para enviar los archivos al servidor y donde no tenemos acceso a su
configuracin.
Compatibilidad:
Facilidad de instalacin:
Flexibilidad:
CodeIgniter es bastante menos rgido que otros frameworks. Define una manera de
trabajar especfica, pero en muchos de los casos podemos seguirla o no y sus reglas
de codificacin muchas veces nos las podemos saltar para trabajar como ms a
gusto encontremos. Algunos mdulos como el uso de plantillas son totalmente
opcionales. Esto ayuda muchas veces tambin a que la curva de aprendizaje sea
ms sencilla al principio.
Ligereza:
Documentacin tutorializada:
- 21 -
2.3 SERVIDOR HTTP APACHE
El servidor HTTP Apache es un servidor web HTTP de cdigo abierto, para
plataformas Unix (BSD, GNU/Linux, etc.), Microsoft Windows, Macintosh y otras, que
implementa el protocolo HTTP/1.1 y la nocin de sitio virtual. El servidor Apache es
desarrollado y mantenido por una comunidad de usuarios bajo la supervisin de
la Apache Software Foundation dentro del proyecto HTTP Server (httpd).
Apache tiene amplia aceptacin en la red: desde 1996, Apache, es el servidor HTTP
ms usado. Jug un papel fundamental en el desarrollo fundamental de la World
Wide Web y alcanz su mxima cuota de mercado en 2005 siendo el servidor
empleado en el 70% de los sitios web en el mundo, sin embargo ha sufrido un
descenso en su cuota de mercado en los ltimos aos. (Estadsticas histricas y de
uso diario proporcionadas por Netcraft). En 2009 se convirti en el primer servidor
web que aloj ms de 100 millones de sitios web.
Apache es usado para muchas otras tareas donde el contenido necesita ser puesto a
disposicin en una forma segura y confiable. Un ejemplo es al momento de compartir
archivos desde una computadora personal hacia Internet. Un usuario que tiene
Apache instalado en su escritorio puede colocar arbitrariamente archivos en la raz
de documentos de Apache, desde donde pueden ser compartidos.
Los programadores de aplicaciones web a veces utilizan una versin local de Apache
con el fin de previsualizar y probar cdigo mientras ste es desarrollado.
- 22 -
2.4 HTML5
HTML5 es un lenguaje markup (de hecho, las siglas de HTML significan Hyper Text
Markup Language) usado para estructurar y presentar el contenido para la web. Es
uno de los aspectos fundamentales para el funcionamiento de los sitios, pero no es el
primero. Es de hecho la quinta revisin del estndar que fue creado en 1990. A fines
del ao pasado, la W3C la recomend para transformarse en el estndar a ser usado
en el desarrollo de proyectos venideros. Por as decirlo, qu es HTML5 est
relacionado tambin con la entrada en decadencia del viejo estndar HTML 4, que se
combinaba con otros lenguajes para producir los sitios que podemos ver hoy en da.
Con HTML5, tenemos otras posibilidades para explotar usando menos recursos. Con
HTML5, tambin entra en desuso el formato XHTML, dado que ya no sera necesaria
su implementacin.
- 23 -
el mbito multimedia, pero son bastantes las etiquetas introducidas para generar una
mejora.
2.5 PHP
PHP es un lenguaje de programacin de uso general de cdigo del lado del
servidor originalmente diseado para el desarrollo web de contenido dinmico. Fue
uno de los primeros lenguajes de programacin del lado del servidor que se podan
incorporar directamente en el documento HTML en lugar de llamar a un archivo
externo que procese los datos. El cdigo es interpretado por un servidor web con un
mdulo de procesador de PHP que genera la pgina web resultante. PHP ha
evolucionado por lo que ahora incluye tambin una interfaz de lnea de
comandos que puede ser usada en aplicaciones grficas independientes. Puede ser
usado en la mayora de los servidores web al igual que en casi todos los sistemas
operativos y plataformas sin ningn costo.
Fue creado originalmente por Rasmus Lerdorf en 1995. Actualmente el lenguaje
sigue siendo desarrollado con nuevas funciones por el grupo PHP.3 Este lenguaje
forma parte del software libre publicado bajo la licencia PHP, que es incompatible
con la Licencia Pblica General de GNU debido a las restricciones del uso del
trmino PHP.
PHP puede ser desplegado en la mayora de los servidores web y en casi todos los
sistemas operativos y plataformas sin costo alguno. El lenguaje PHP se encuentra
instalado en ms de 20 millones de sitios web y en un milln de servidores. El
nmero de sitios basados en PHP se ha visto reducido progresivamente en los
ltimos aos, con la aparicin de nuevas tecnologas como Node.JS, Golang,
ASP.NET, etc. El sitio web de Wikipedia est desarrollado en PHP.6 Es tambin el
mdulo Apache ms popular entre las computadoras que utilizan Apache como
servidor web.
El gran parecido que posee PHP con los lenguajes ms comunes de programacin
estructurada, como C y Perl, permiten a la mayora de los programadores crear
aplicaciones complejas con una curva de aprendizaje muy corta. Tambin les permite
- 24 -
involucrarse con aplicaciones de contenido dinmico sin tener que aprender todo un
nuevo grupo de funciones.
Cuando el cliente hace una peticin al servidor para que le enve una pgina web, el
servidor ejecuta el intrprete de PHP. ste procesa el script solicitado que generar
el contenido de manera dinmica (por ejemplo obteniendo informacin de una base
de datos). El resultado es enviado por el intrprete al servidor, quien a su vez se lo
enva al cliente.
- 25 -
3. MTODO DE REQUERIMIENTO: ISHIKAWA
3. 1 IDENTIFICAR PROBLEMA
3.1.1 Lista de problemas
- P1: Deficiencia en la atencin.
- P2: Inconsistencia al registrar planilla de sueldos.
- P3: Demasiada demora en obtener historiales acadmicos.
- P4: Acumulacin innecesaria de papeles.
- P5: Perdida de tiempo en colas para la entrega de datos de confirmacin para
la inscripcin.
- P6: Limitada infraestructura del edificio ubicado en la calle Murillo.
- P7: Desfavorable ubicacin de las aulas.
- P8: Abandono su pgina web.
- P9: Perdida de tiempo en colas para realizar el pago.
- P10: Perdida de tiempo y dinero para trasladar papeles de inscripcin desde el
campus hasta la central ubicada en la calle Murillo.
- P11: Escasez de grupos por horario.
- P12: Insuficientes cajeros para realizar el pago.
- P13: Escasa informacin al momento de realizar la reserva.
- P14: Precarias instalaciones en el edificio central.
- P15: Desorden al asignar aula/docente.
- 26 -
3.1.3 Lista final de problema
- P1: Deficiencia en la atencin.
- P2: Demasiada demora en obtener historiales acadmicos.
- P3: Acumulacin innecesaria de papeles.
- P4: Perdida de tiempo en colas para la entrega de datos de confirmacin para
la inscripcin.
- PS: Abandono de la pgina web,
- P6: Perdida de tiempo y dinero para trasladar papeles de inscripcin desde el
campus hasta la central ubicada en la calle Murillo.
- P7: Escasa informacin al momento de realizar la reserva.
- P8: Desorden al asignar aula/docente.
P2: Demasiada
demora en obtener
historiales
acadmicos.
P3: Acumulacin
innecesaria de
papeles.
P4: Perdida de
tiempo en colas para
la entrega de datos
de confirmacin para
la inscripcin.
- 27 -
P5: Abandono su
pgina web.
P6: Perdida de
tiempo y dinero para
trasladar papeles de
inscripcin desde el
campus hasta la
central ubicada en la
calle Murillo.
P7: Escasa
informacin al
momento de realizar
la reserva.
P1: Deficiencia
en la atencin
P3: Acumulacin
innecesaria de P4: Perdida de P5: Abandono
papeles. tiempo en colas su pgina web.
para la entrega de
datos de
confirmacin para
la inscripcin.
DEFICIENCIA EN LA
ORGANIZACIN
ACADEMICA
- 29 -
3.2 IDENTIFICAR PRINCIPALES CATEGORAS
C1: PROCESO DE INSCRIPCION.- Es un conjuntos de pasos a seguir donde el estudiante llega a
inscribir un curso.
C2: REGISTRO DE ESTUDIANTES.- Es un documento donde se tiene todos los datos del
estudiante
C3: HISTORIALES ACADEMICOS.- Es un documento donde refleja el seguimiento de notas del
estudiante.
C1
DEFICIENCIA EN LA
ORGANIZACIN
ACADEMICA
C3 C2
P1: DEFICIENCIA EN
LA ATENCION
C3 P7: ESCASA
INFORMACION AL
MOMENTO DE REALIZAR
DEFICIENCIA
EN LA
ORGANIZACIN
ACADEMICA
C2
P3: ACUMLACION
INNECESARIA DE - 30 -
PAPELES
3.4 CONCLUSIN Y VIABILIDAD DEL PROYECTO
4. MODELO DE DOMINIO
Nivel: La clase de objetos Nivel tendr los niveles que le corresponden a cada
idioma.
Profesor: La clase de objetos Profesor contiene los datos de todo el plantel Docente.
Perfil Profesor: La clase de objetos Perfil Profesor contiene los perfiles de los
diferentes Profesores.
Grupo: La clase de objetos Grupo especifica los grupos que tienen los niveles.
Aula: La clase de objetos Aula contiene las aulas tanto del edificio del CAI de la
calle Murillo, como las del Campus universitario.
Horario: La clase de objetos Horario contiene los horarios para cada grupo de un
determinado nivel.
Perfil Profesor: La clase de objetos Perfil Profesor contiene los perfiles de los
diferentes Profesores.
Reserva: La clase de objetos Reserva contiene las reservas que realizan los
estudiantes para poder inscribirse a un determinado curso.
Usuario: La clase de objetos Usuario contiene los usuarios que van a acceder al
sistema.
- 32 -
4.2 IDENTIFICAR LOS ATRIBUTOS DE CADA CLASE
Gestin: Id_gestin, Inicio.
- 33 -
4.3 IDENTIFICAR LOS MTODOS DE CADA CLASE
Gestin:
setGestin().
getGestion().
Idioma:
setId_Idioma().
getId_Idioma().
setNombre().
getNombre()
Nivel:
setId().
getId().
setCupo().
getCupo().
Persona:
getPersona().
setPersona().
Perfil Profesor:
getPerfilProfesor().
setPerfilProfesor().
Grupo
getGrupo().
setGrupo().
Aula
getAula().
setAula().
- 34 -
Horario
getHorario().
setHorario().
Estudiante
getEstudiante().
setEstudiante().
Reserva
getReserva().
setReserva().
Inscripcin
getInscripcion().
setInscripcion().
Histrico
getHistorico().
setHistorico().
Curso:
getCurso().
setCurso().
Telefono:
getTelefono().
setTelefono().
Usuario:
getUsuario ().
setUsuario().
Bitcora:
getBitacora().
- 35 -
4.4 RELACIONES ENTRE CLASES
Idioma Nivel: Un idioma tiene uno o varios niveles. Un nivel tiene uno o varios
idiomas.
idioma niv el
- id_idioma - id_nivel
- nombre tiene - nombre
1..* 1..*
- descripcion
+ getNivel() : nivel
+ getIdioma() : idioma + setNivel() : void
+ setIidioma() : void
Idioma_Niv el
perfilEstudiante
persona
estudiante - id_perfil
tiene
- pass
- tipo 1
1
+ setPerfilEstudiante() : void
+ getPerfilEstudiante() : PerfilEstudiante
persona Idioma_Niv el
estudiante
- 36 -
Historico: Clase asociacin entre estudiante e Idioma_Nivel
historico
- faltas
- estado
- nota
+ getHistorico() : historico
+ setHistorico() : void
persona
- ci
- nombre
- paterno estudiante
- materno
- tipo
- genero
- correo
+ getPersona() : persona
+ setPersona() : void
reserv a
persona - id_reserva
1 1..* - monto
estudiante realiza
- fecha
- tipo
+ getReserva() : reserva
+ setReserva() : void
grupo
Idioma_Niv el
tiene - id_grupo
- nombre
1..* 1..*
+ getGrupo() : grupo
+ setGrupo() : void
- 37 -
Curso: Clase asociacin entre Idioma_Nivel y Grupo.
curso
+ getCurso() : curso
+ setCurso() : void
historico gestion
- faltas - id_gestion
- estado pertenece - inicio
- nota
1..*
1 + getGestion() : gestion
+ getHistorico() : historico + setGestion() : void
+ setHistorico() : void
persona
- ci Usuario
- nombre
- id_perfil
- paterno
- cargo
- materno
- pass
- genero
- correo
+ setUsuario() : void
+ getUsuario() : Usuario
+ getPersona() : persona
+ setPersona() : void
Gestin Reserva: Una gestin pertenece a una o muchas reservas y una reserva
pertenece a una gestin.
reserv a
gestion
- id_reserva
- id_gestion pertenece - monto
- inicio
1 1..* - fecha
+ getGestion() : gestion
+ getReserva() : reserva
+ setGestion() : void
+ setReserva() : void
- 38 -
Inscripcin Reserva: Una Inscripcin requiere una reserva y una reserva es
requerida por una o muchas inscripciones.
inscripcion
reserv a
- id_inscripcion
requiere - id_reserva
- fecha
- monto
1..* 1 - fecha
+ getInscripcion() : inscripcion
+ setInscripcion() : void
+ getReserva() : reserva
+ setReserva() : void
reserv a
- id_reserva
curso
- monto corresponde
- fecha
+ getCurso() : curso
1..* 1
+ setCurso() : void
+ getReserva() : reserva
+ setReserva() : void
persona
- ci
Telefono
- nombre
- paterno - id_telefono
tiene
- materno - numero
- genero 1 0..*
- correo + getTelefono() : telefono
+ setTelefono() : void
+ getPersona() : persona
+ setPersona() : void
- 39 -
Grupo Idioma_Nivel: Un Grupo tiene uno o muchos Idiomas_Nivel y un
Idioma_Nivel tiene uno o muchos Grupos.
grupo
curso
+ getCurso() : curso
+ setCurso() : void
persona
- ci
- nombre
- paterno profesor
- materno
- grado
- genero
- correo
+ getPersona() : persona
+ setPersona() : void
persona curso
profesor asigna
+ getCurso() : curso
- grado 1 1..* + setCurso() : void
- 40 -
Profesor PerfilProfesor: Un Profesor es asignado a un pefilProfesor y a un
perfilProfesor es asignado un Profesor.
perfilProfesor
persona
profesor - id_perfil
tiene
- pass
- grado
1 1 + getPerfilProfesor() : perfilprofesor
+ setPerfilProfesor() : void
aula
curso - id_aula
asigna - ubicacion
+ getCurso() : curso - capaciad
0..* 1
+ setCurso() : void
+ getAula() : aula
+ setAula() : void
horario
- id_horario
curso - entrada
asigna
- salida
0..* 1 - dias
+ getCurso() : curso
+ setCurso() : void
+ getHorario() : horario
+ setHorario() : void
- 41 -
Usuario Bitcora: Una Bitcora registra a un Usuario y un Usuario es registrado
en una o muchas Bitcora.
persona Bitacora
Usuario
- id_bitacora
- id_perfil - tabla
registra
- cargo - fecha_hora
- pass 1 1..* - operacion
perfilProfesor aula
persona
horario
- id_perfil - id_aula grupo
- ci
- pass - ubicacion - id_horario
- nombre - id_grupo
- capaciad - entrada
- paterno - nombre
+ getPerfilProfesor() : perfilprofesor - salida
- materno
+ setPerfilProfesor() : void + getAula() : aula - dias
- genero + getGrupo() : grupo
+ setAula() : void + setGrupo() : void
- correo
+ getHorario() : horario
1
1 1 + setHorario() : void 1..*
+ getPersona() : persona tiene asigna 1
+ setPersona() : void asigna
1 0..*
tiene curso
profesor 0..*
asigna
+ getCurso() : curso
- grado
1 1..* + setCurso() : void
0..*
1
corresponde
Telefono
1..*
- id_telefono
- numero reserv a
1 + getHistorico() : historico
+ setHistorico() : void 1..*
1
registra
estudiante Idioma_Niv el
- tipo
1..* 1..*
consulta
1..*
1
Bitacora
tiene
- id_bitacora
- tabla idioma niv el
- fecha_hora
- id_idioma - id_nivel
- operacion 1
- nombre tiene - nombre
1..* 1..*
+ getBitacora() : Bitacora perfilEstudiante - descripcion
+ getNivel() : nivel
- id_perfil + getIdioma() : idioma + setNivel() : void
- pass + setIidioma() : void
+ setPerfilEstudiante() : void
+ getPerfilEstudiante() : PerfilEstudiante
- 42 -
5. MODELO DE NEGOCIO
- 43 -
PROCESO INSCRIPCION
- 44 -
PROCESO DE REGISTRO DE NOTAS
- 45 -
6. FLUJO DE TRABAJO: Captura de Requisitos
Casos de Uso
CU1: gestionar profesor
CU2: gestionar estudiante
CU3: gestionar curso
CU4: gestionar reserva
CU5: gestionar inscripcin
CU6: gestionar nota
CU7: gestionar aula
CU8: gestionar horario
CU9: gestionar grupo
CU10: gestionar gestin
CU11: gestionar idioma
CU12: gestionar nivel
CU13: verificar reserva
CU14: verificar inscripcin
- 46 -
CU15: gestionar bitcora
CU16: gestionar perfil de estudiante
CU17: gestionar perfil de profesor
CU18: gestionar usuario
CU19: consultar histrico
- 47 -
6.3 DETALLAR CASOS DE USO
uc Gestionar profesor
Gestionar profesor
Profesor Usuario
(from Actores)
uc Gestionar estudiante
Gestionar estudiante
estudiante
uc Gestionar curso
Gestionar
curso
Usuario
(from Actores)
- 48 -
CU4: gestionar reserva
uc Gestionar reserv a
Gestionar
reserv a
Estudiante Usuario
(from Actores)
uc Gestionar inscripcion
Verificar
reserv a
include
Gestionar
inscripcion
Estudiante
Usuario
(from Actores)
Verificar
inscripcion
include
Gestionar nota
Profesor
include
Adicionar
faltas
- 49 -
CU7: gestionar aula
uc Gestionar aula
Gestionar aula
Usuario
(from Actores)
uc Gestionar horario
Gestionar
horario
Usuario
(from Actores)
uc Gestionar grupo
Gestionar
grupo
Usuario
(from Actores)
- 50 -
CU10: gestionar gestin
uc Gestionar gestion
Gestionar
gestion
Usuario
(from Actores)
uc Gestionar idioma
Gestionar
idioma
Usuario
(from Actores)
uc Gestionar niv el
Gestionar niv el
Usuario
(from Actores)
uc Gestionar bitacora
Gestionar
bitacora
SuperUsuario
- 51 -
CU16: gestionar perfil de estudiante
Gestionar perfil de
estudiante
SuperUsuario
Gestionar perfil de
profesor
SuperUsuario
uc Gestionar usuario
Gestionar
usuario
SuperUsuario
Consultar historico
estudiante
- 52 -
6.3.2 Detallar Casos de Uso
- 53 -
Caso de Uso CU2: Gestionar estudiante
Propsito Gestionar los datos de los estudiantes que participan en el
sistema.
Pre Condicin -
Flujo Principal 1. Adicionar datos del estudiante
1.1. Introducir los datos del estudiante.
1.2. Guardar datos del estudiante.
2. Editar datos del estudiante.
2.1. Buscar al estudiante por ci.
2.2. Editar los datos.
2.3. Guardar cambios realizados.
3. Consultar informacin de los estudiantes
Post Condicin -
- 54 -
Caso de Uso CU3: Gestionar curso
Propsito Gestionar los cursos. A cada curso se le asigna idioma, nivel,
grupo, profesor, aula y horario.
Excepcin
1.1 El Curso ya existe.
1.1 Error en los tipos de datos introducidos.
1.2 Error campos no rellenados
2.1 El Curso no existe.
2.2 Error en los tipos de datos introducidos.
2.3 Error campos no rellenados
3.1 El Curso no existe.
3.1 Error en los tipos de datos introducidos.
Post Condicin -
- 55 -
Caso de Uso CU4: Gestionar reserva
Propsito Gestionar los datos de las reservas que realizan los
estudiantes.
Resumen Se podr adicionar, eliminar y consultar reservas.
Actores Estudiante, Usuario.
Actor Iniciador Estudiante
Pre Condicin -
Flujo Principal 1. Adicionar la reserva
1.1. Ingresar CI de Estudiante
1.2. Seleccionar Curso
1.3. Seleccionar Grupo
1.4. Guardar Datos
2. Eliminar la reserva
2.1. Ingresar CI de Estudiante
2.2. Seleccionar Curso
2.3. Guardar datos
3. Consultar la reserva.
3.1 Seleccionar CI de Estudiante
Excepcin 1.1 El estudiante no existe.
2.1 El estudiante no existe.
3.1 El estudiante no existe.
Post Condicin -
- 56 -
Caso de Uso CU6: Gestionar nota
Propsito Gestionar las notas de los estudiantes.
Resumen Se podr adicionar, editar, eliminar histricos.
Actores Profesor.
Excepcin
1.1 El estudiante o curso no existe.
1.2 Error en los tipos de datos introducidos.
1.3 Error campos no rellenados.
2.1 El estudiante o curso no existe.
2.2 Error en los tipos de datos introducidos.
2.3 Error campos no rellenados.
Post Condicin -
- 57 -
Caso de Uso CU7: Gestionar aula.
Propsito Gestionar las Aula disponibles.
Resumen Se podr adicionar, editar, eliminar y buscar aulas.
Actores Usuario.
Actor Iniciador Usuario.
Pre Condicin -
Flujo Principal 1. Adicionar Aula
1.1. Introducir los datos del Aula.
1.2. Guardar los datos del Aula.
2. Editar datos del Aula
2.1. Buscar Aula mediante su cdigo o ubicacin.
2.2. Editar los datos deseados.
2.3. Guardar datos actualizados.
3. Eliminar Aula
3.1. Buscar Aula, se lo puede hacer por cdigo o
ubicacin.
3.2. Eliminar Aula.
3.3. Guardar cambios realizados.
4. Consultar informacin del Aula.
4.1. Buscar el Aula, se lo puede hacer por cdigo o
ubicacin.
Excepcin
1.1 El Aula ya existe.
1.2 Error en los tipos de datos introducidos.
1.2 Error campos no rellenados.
2.1 El Aula no existe.
2.3 Error en los tipos de datos introducidos.
2.3 Error campos no rellenados.
3.1 El Aula no existe.
3.2 No se puede eliminar un aula que est siendo
ocupada actualmente.
4.1 El Aula no existe.
4.1 Error en los tipos de datos introducidos.
Post Condicin -
- 58 -
Caso de Uso CU8: Gestionar horario.
Propsito Gestionar los Horarios disponibles.
Resumen Se podr adicionar, editar, eliminar y buscar Horarios.
Actores Usuario.
Actor Iniciador Usuario.
Pre Condicin -
Flujo Principal 1. Adicionar Horario
1.1. Introducir los datos del Horario.
1.2. Guardar los datos del Horario.
2. Editar datos del Horario
2.1. Buscar Horario mediante su cdigo y das.
2.2. Editar los datos deseados.
2.3. Guardar datos actualizados.
3. Eliminar Horario
3.1. Buscar Horario, se lo puede hacer por cdigo y
das.
3.2. Eliminar Horario.
3.3. Guardar cambios realizados.
4. Consultar informacin del Horario.
4.1. Buscar el Horario, se lo puede hacer por cdigo
y das.
Excepcin
1.1 El Horario ya existe.
1.2 Error en los tipos de datos introducidos.
1.2 Error campos no rellenados.
2.1 El Horario no existe.
2.3 Error en los tipos de datos introducidos.
2.3 Error campos no rellenados.
3.1 El Horario no existe.
3.2 No se puede eliminar un horario que est disponible
actualmente.
4.1 El Horario no existe.
4.1 Error en los tipos de datos introducidos.
Post Condicin -
- 59 -
Caso de Uso CU9: Gestionar grupo.
Propsito Gestionar los grupos disponibles.
Resumen Se podr adicionar, editar, eliminar y buscar grupos.
Actores Usuario.
Actor Iniciador Usuario.
Pre Condicin -
Flujo Principal 1. Adicionar Grupo
1.1. Introducir los datos del Grupo.
1.2. Guardar los datos del Grupo.
2. Editar datos del Grupo
2.1. Buscar el Grupo mediante su cdigo o
nombre.
2.2. Editar los datos deseados.
2.3. Guardar datos actualizados.
3. Eliminar Grupo
3.1. Buscar Nivel, se lo puede hacer por cdigo o
nombre.
3.2. Eliminar Grupo.
3.3. Guardar cambios realizados.
4. Consultar informacin del Grupo.
4.1. Buscar el Grupo, se lo puede hacer por
cdigo, nombre.
Excepcin
1.1 El Grupo ya existe.
1.2 Error en los tipos de datos introducidos.
1.2 Error campos no rellenados.
2.1 El Grupo no existe.
2.3 Error en los tipos de datos introducidos.
2.3Error campos no rellenados.
3.1 El Grupo no existe.
3.2 No se puede eliminar un Grupo que est
disponible actualmente.
4.1 El Grupo no existe.
4.1 Error en los tipos de datos introducidos.
Post Condicin -
- 60 -
Caso de Uso CU10: Gestionar gestin.
Propsito Gestionar las gestiones disponibles.
Resumen Se podr adicionar, editar, eliminar y buscar gestiones.
Actores Usuario.
Actor Iniciador Usuario.
Pre Condicin -
Flujo Principal 1. Adicionar Gestin
1.1. Introducir los datos del Gestin.
1.2. Guardar los datos del Gestin.
2. Editar datos del Gestin
2.1. Buscar Horario mediante su cdigo.
2.2. Editar los datos deseados.
2.3. Guardar datos actualizados.
3. Eliminar Gestin
3.1. Buscar Horario se lo puede hacer por su cdigo.
3.2. Eliminar Gestin.
3.3. Guardar cambios realizados.
4. Consultar informacin de la Gestin.
4.1. Buscar la Gestin se lo puede hacer por su cdigo.
Excepcin
1.1 La Gestin ya existe.
1.2 Error en los tipos de datos introducidos.
1.2 Error campos no rellenados.
2.1 La Gestin no existe.
2.3 Error en los tipos de datos introducidos.
2.3 Error campos no rellenados.
3.1 La Gestin no existe.
3.2 No se puede eliminar a la Gestin que est disponible
actualmente.
4.1 La Gestin no existe.
4.1 Error en los tipos de datos introducidos.
4.1 Error campos no rellenados.
Post Condicin -
- 61 -
Caso de Uso CU11: Gestionar Idioma
Propsito Gestionar los Idiomas disponibles.
Resumen Se podr adicionar, editar, eliminar y buscar Idiomas.
Actores Usuario.
Actor Iniciador Usuario.
Pre Condicin -
Flujo Principal 1. Adicionar Idioma
1.1. Introducir los datos del Idioma.
1.2. Guardar los datos del Idioma.
2. Editar datos del Idioma
2.1. Buscar Idioma, mediante su cdigo o nombre del
idioma.
2.2. Editar los datos deseados.
2.3. Guardar datos actualizados.
3. Eliminar Idioma
3.1. Buscar Idioma se lo puede hacer por cdigo o nombre
del idioma.
3.2. Eliminar Idioma.
3.3. Guardar cambios realizados.
4. Consultar informacin del Idioma.
4.1. Buscar el Idioma se lo puede hacer por cdigo o
nombre del idioma.
Excepcin
1.1 El Idioma ya existe.
1.2 Error en los tipos de datos introducidos.
1.2 Error campos no rellenados.
2.1 El Idioma no existe.
2.3 Error en los tipos de datos introducidos.
2.3 Error campos no rellenados.
3.1 El Idioma no existe.
3.2 No se puede eliminar el Idioma que est disponible
actualmente.
4.1 El Idioma no existe.
4.1 Error en los tipos de datos introducidos.
Post Condicin -
- 62 -
Caso de Uso CU12: Gestionar Nivel
Propsito Gestionar los Niveles disponibles.
Resumen Se podr adicionar, editar, eliminar y buscar Niveles.
Actores Usuario.
Actor Iniciador Usuario.
Pre Condicin -
Flujo Principal 5. Adicionar Nivel
5.1. Introducir los datos del Nivel.
5.2. Guardar los datos del Nivel.
6. Editar datos del Nivel
6.1. Buscar Nivel mediante su cdigo o nombre del
idioma.
6.2. Editar los datos deseados.
6.3. Guardar datos actualizados.
7. Eliminar Nivel
7.1. Buscar Nivel se lo puede hacer por cdigo o nombre
del idioma.
7.2. Eliminar Nivel.
7.3. Guardar cambios realizados.
8. Consultar informacin del Nivel.
8.1. Buscar el Nivel se lo puede hacer por cdigo o
nombre del idioma.
Excepcin
1.1 El Nivel ya existe.
1.2 Error en los tipos de datos introducidos.
1.2 Error campos no rellenados.
2.1 El Nivel no existe.
2.3 Error en los tipos de datos introducidos.
2.3 Error campos no rellenados.
3.1 El Nivel no existe.
3.2 No se puede eliminar el Idioma que est disponible
actualmente.
4.1 El Nivel no existe.
4.1 Error en los tipos de datos introducidos.
Post Condicin -
- 63 -
Caso de Uso CU15: gestionar bitcora
Proporcionar al Administrador de perfiles un reporte
Propsito
sobre las transacciones de los usuarios en el sistema
El sistema genera una cantidad de procesos que
Resumen quedan registrados en este caso de uso para darle un
detalle de los eventos realizados en el sistema
Actores Superusuario.
Actor Superusuario.
Iniciador
Pre
-
Condicin
1. Consultar Reporte de Bitcora
Flujo 1.1. Ingresa los parmetros de Bitcora
Principal 1.2. Mostrar los datos de la Bitcora
1.3. Imprimir Reporte
Post
-
Condicin
Excepciones 1.1 Los parmetros son incorrectos
- 64 -
Caso de Uso CU17: Gestionar Perfil de profesor.
Propsito Visualizar datos importantes para el profesor, a travs del
perfil de profesor.
Actores Superusuario
Actor Iniciador Superusuario
Pre Condicin CU2: Gestionar profesor
Flujo Principal 1. Adicionar perfil de profesor
1.1. Se introduce la cedula del profesor. Por defecto el
nombre de usuario ser su nombre y la contrasea
ser su ci.
1.2. Crear el perfil, donde luego aparece un mensaje de
confirmacin.
2. Eliminar perfil de profesor
2.1. Se pide que ingrese la cedula del estudiante
2.2. Procede a eliminar el perfil, se mostrara un cuadro de
dialogo que preguntara si est seguro de realizar la
accin.
3. Consultar Perfiles de profesores
3.1. Se podr visualizar todos los perfiles en uso.
Post Condicin -
- 65 -
Caso de Uso CU18 Gestionar Usuario.
Propsito Asignar privilegios a los usuarios para ingresar al
sistema y realizar cambios.
Resumen Se podr crear, eliminar, modificar usuario tipo
empleado, y realizar una entrada al sistema.
Actores Superusuario
Actor Iniciador Superusuario
Pre Condicin -
Flujo Principal 1. Adicionar nuevo usuario
1.1. Se le pedir que introduzca nombre de usuario
y contrasea.
1.2. Guardar datos.
2. Eliminar usuario.
2.1. El administrador introduce el nombre o cdigo
del usuario
2.2. Se procede a eliminar y se mostrara un cuadro
de dialogo donde preguntara si est seguro de
realizar la accin.
3. Consultar usuarios disponibles en sistema.
Excepcin 1.1 El usuario ya existe
1.2 Error en los datos introducidos
2.2 El usuario no existe
Post Condicin -
Post Condicin -
- 66 -
6.4 PROTOTIPAR INTERFAZ DE USUARIO
- 67 -
6.5 ESTRUCTURAR MODELO DE CASOS DE USO
uc Casos de uso principales
Gestionar
estudiante
Gestionar
curso
Gestionar
reserv a
Estudiante
Gestionar
inscripcion
Verificar
Consultar include reserv a
historico
Verificar
inscripcion
Gestionar nota include
Gestionar
horario
Gestionar
grupo
Gestionar
gestion
Usuario
Gestionar
idioma
Gestionar niv el
Gestionar
bitacora
Gestionar perfil de
estudiante
Gestionar perfil de
profesor
SuperUsuario
Gestionar
usuario
- 68 -
7. FLUJO DE TRABAJO: Anlisis
P1
P1: GESTIONAR CURSO: Encargado de gestionar los
cursos y asignarles a
GESTIONAR
CURSO
P2
GESTIONAR
INSCRIPCION
P2: GESTIONAR INSCRIPCION: Encargado de gestionar
el proceso de inscripcin de los estudiantes
P3
P3: GESTIONAR NOTAS: Encargado de gestionar las
GESTIONAR
notas de los estudiantes.
NOTAS
P4
P4: GESTIONAR USUARIO: Encargado de gestionar el
GESTIONAR ingreso al sistema de los empleados y estudiantes
USUARIO
- 69 -
7.1.2 Relacionar paquetes y casos de uso
pkg P2
gestionar
gestionar
idioma
curso
gestionar niv el
gestionar
grupo
trace trace
P1 trace
trace gestionar aula
GESTIONAR gestionar
CURSO trace horario
trace
gestionar
profesor
pkg P2
gestionar
reserv a
P2
trace gestionar
inscripcion
GESTIONAR trace
INSCRIPCION
trace gestionar
estudiante
trace
gestionar
gestion
- 70 -
P3: GESTIONAR NOTAS:
pkg P2
P3
gestionar nota
trace
GESTIONAR
NOTAS
trace
consultar
historico
pkg P2
gestionar
bitacora
trace
P4
gestionar perfil
de profesor
GESTIONAR trace
USUARIO
trace
gestionar perfil
de estudiante
trace
gestionar
usuario
- 71 -
7.2 ANALISIS DE CASOS DE USO
Proceso de Reserva
Verificar Datos
<<CE Profesor>>
<<CE Telefono>>
<<CE PerfilProfesor
Verificar datos
<<CE Persona>>
1.2 Insertar Persona
<<CE Estudiante>>
<<CE Telefono>>
- 72 -
CU3: Gestionar Curso
sd Gestionar curso
<<CE Idioma>>
<<CE Nivel>>
1. Adicionar Curso
2. Editar Curso 3.
Consultar Curso 1.5 Obtener horario
<<CE Horario>>
<<CE Aula>>
<<CE Curso>>
<<CE estudiante>>
1.2 Verificar estudiante
Validar datos 2.2 Verificar estudiante
3.2 Verificar estudiante
<<CC Reserva>>
Estudiante <<CE Reserva>>
<<IU Reserva>>
<<CE Curso>>
- 73 -
CU5: Gestionar Inscripcion
sd Gestionar inscripcion
Verificar datos
<<CC Inscripcion>>
Usuario <<CE Inscripcion>>
<<UI Inscripcion>>
sd Gestionar nota
<<CE Estudiante>>
- 74 -
CU7: Gestionar Aula
sd Gestionar aula
Verificar datos
Usuario <<CCAula>>
<<IU Aula>>
<<CE Aula>>
Verificar datos
Verificar datos
Verificar datos
- 75 -
CU11: Gestionar Idioma
sd Gestionar idioma
Verificar Datos
<<CC Idioma>>
Usuario
<<IU Idioma>> <<CE Idioma>>
Verificar Datos
sd Gestionar bitacora
Verificar datos
- 76 -
CU16: Gestionar perfil de estudiante
sd Gestionar perfil de estudiante
Verificar datos
<<CE PerfilEstudiante>>
1.2 Insertar PerfilEstudiante
2.3 Borrar PerfilEstudiante
3.2 Obtener perfiles
1. Adicionar PerfilEstudiante 1.1 Adicionar PerfilEstudiante
2. Eliminar PerfilEstudiante 2.1 Eliminar PerfilEstudiante
3. Consultar Perfiles 3.1 Consultar Perfiles
<<CC
SuperUsuario
<<UI PerfilEstudiante>> PerfilEstudiante>>
1.3,2.2 Obtener
Estudiante
<<CE Estudiante>>
Verificar Datos
<<CC PerfilProfesor>>
SuperUsuario 1.2,2.2 Obtener
<<UI PerfilProfesor>>
Profesor
<<CE Profesor>>
- 77 -
CU18: Gestionar usuario
sd Gestionar usuario
Verificar datos
<<CE Usuario>>
<<CC Usuario>>
SuperUsuario
<<UI Usuario>>
1.2,2.2 Obtener persona
<<CE Persona>>
persona
- ci
- nombre Telefono
- paterno
- materno - id_telefono
tiene
UI Profesor - genero - numero
CC Profesor
- correo 1 0..*
+ Adicionar() : void + getTelefono() : telefono
+ Adicionar() : void
+ Eliminar() : void + getPersona() : persona + setTelefono() : void
+ Eliminar() : void
+ Modificar() : void + setPersona() : void
+ Modificar() : void
+ Consultar() : void
Usuario + Consultar() : void
perfilProfesor
persona
- id_perfil tiene profesor
- pass
1 1 - grado
+ getPerfilProfesor() : perfilprofesor
+ setPerfilProfesor() : void
- 78 -
CU2: Gestionar estudiante
class gestionar estudiante
persona
- ci Telefono
UI Estudiante - nombre
CC Estudiante
- paterno tiene - id_telefono
+ Adicionar() : void - materno - numero
+ Adicionar() : void
- genero 1 0..*
+ Modificar() : void + Modificar() : void
Estudiante - correo + getTelefono() : telefono
+ Consultar() : void + Consultar() : void
+ setTelefono() : void
+ getPersona() : persona
+ setPersona() : void
persona
estudiante
- tipo
CU3: Curso
class curso
CE Idioma
CE Niv el
- id_idioma: int
- id_nivel: int
- nombre: string
- nombre: string
- descripcion: string
1..* 1..*
CE Horario
- id_horario: int
- entrada: time
IU Curso - salida: time
- dias: string
+ Adicionar() : void 1
+ Eliminar() : void CC Curso CE Curso
+ setHorario() : void
+ Consultar() : void 0..* + getHorario() : Horario
+ insertarCurso() : void + setCurso() : void
+ obtenerListaCursos() : Lista + getCurso() : Curso
+ eliminarCurso() : void
SuperUsuario 1..*
0..*
CE Profesor
1
- grado: string
CE Aula
- id_aula: int
- ubicacion: string
- capacidad: int
+ setAula() : void
+ getAula() : Aula
- 79 -
CU4: Reserva
class reserv a
CE Estudiante
- tipo: char
+ setEstudiante() : void
+ getEstudiante() : Estudiante
CC Reserv a
IU Reserv a 1
+ insertarReserva() : void
+ Adicionar () : void
+ getReserva() : Reserva
+ Modificar() : void
+ verificarCi() : void
SuperUsuario
1..*
CE Reserv a
- id_reserva: int
CC Curso - fecha: date
- monto: int
+ insertarCurso() : void 1 1..*
+ obtenerCurso() : Curso + setReserva() : void
+ getReserva() : Reserva
inscripcion
UI Inscripcion - id_inscripcion
CC Inscripcion
- fecha
+ Adicionar() : void
+ Adicionar() : void
+ Consultar() : void + getInscripcion() : inscripcion
+ Consultar() : void
+ setInscripcion() : void
Usuario
- 80 -
CU6: Gestionar nota
class gestionar nota
historico
UI Historico CC Historico - faltas
- estado
+ Adicionar() : void + Adicionar() : void - nota Class1
+ Modificar() : void + Modificar() : void
profesor
+ getHistorico() : historico
+ setHistorico() : void
persona Idioma_Niv el
estudiante consulta
Gestionar aula::CE
Gestionar aula::IU Aula
Gestionar aula::CC Reserv a
Aula
- id_aula: int
+ insertarAula() : void - ubicacion: string
+ Adicionar() : void
+ getAula() : Aula - capacidad: int
+ Editar() : void
Usuario + verificarAula() : boolean
+ Eliminar() : void
+ Consultar() : void + setAula() : void
+ getAula() : Aula
Gestionar horario::CE
Gestionar horario::IU Horario
Horario Gestionar horario::CC Horario
- id_horario: int
+ Adicionar() : void + insertarHorario() : void - entrada: string
+ Editar() : void + getHorario() : Horario - salida: string
+ Eliminar() : void + verificarHorario() : boolean - dias: string
Usuario
+ Consultar() : void
+ setHorario() : void
+ getHorario() : Horario
- 81 -
CU9: Gestionar grupo
Gestionar grupo::CE
Gestionar grupo::IU Grupo
Grupo Gestionar grupo::CC Grupo
- id_grupo: int
+ Adicionar() : void + insertarGrupo() : void - nombre: string
+ Editar() : void + getGrupo() : Grupo
+ verificarGrupo() : boolean + setGrupo() : void
Usuario + Eliminar() : void
+ Consultar() : void + getGrupo() : Grupo
Gestionar gestion::CE
Gestionar gestion::IU Gestion
Gestion Gestionar gestion::CC Gestion
- id_gestion: int
+ getGestion() : Gestion - inicion: string
+ Adicionar() : void
+ insertarGestion() : void
+ Editar() : void
+ verificarGestion() : boolean + getGestion() : Gestion
Usuario + Eliminar() : void
+ Consultar() : void + setGestion() : void
Gestionar idioma::CE
Gestionar idioma::IU Idioma
Idioma Gestionar idioma::CC Idioma
- id_idioma: int
+ getIdioma() : Idioma - nombre: string
+ Adicionar() : void
+ Editar() : void + insertarIdioma() : void - descripcion: string
+ verificarIdioma() : boolean
Usuario + Eliminar() : void
+ Consultar() : void + getIdioma() : Idioma
+ setIdioma() : void
- 82 -
CU12: Gestionar nivel
class Gestionar niv el
Bitacora
- id_bitacora
UI Bitacora CC Bitacora
- tabla
- fecha_hora
+ Adicionar() : void + Adicionar() : void
- operacion
+ Consultar() : void + Consultar() : void
SuperUsuario
+ getBitacora() : Bitacora
perfilEstudiante
UI PerfilEstudiante CC PerfilEstudiante
- id_perfil
+ Adicionar() : void + Adicionar() : void - pass
+ Eliminar() : void + Elimnar() : void
+ Consultar() : void + Consultar() : void + setPerfilEstudiante() : void
SuperUsuario
+ getPerfilEstudiante() : PerfilEstudiante
tiene
persona
estudiante
- tipo
- 83 -
CU17: Gestionar perfil de profesor
class gestionar profesor
persona
- ci
- nombre Telefono
- paterno
- materno - id_telefono
UI Profesor tiene - numero
CC Profesor - genero
- correo 1 0..*
+ Adicionar() : void + getTelefono() : telefono
+ Adicionar() : void
+ Eliminar() : void + getPersona() : persona + setTelefono() : void
+ Eliminar() : void
+ Consultar() : void + setPersona() : void
+ Consultar() : void
Usuario
perfilProfesor
persona
- id_perfil tiene profesor
- pass
1 1 - grado
+ getPerfilProfesor() : perfilprofesor
+ setPerfilProfesor() : void
persona
- ci
- correo
- genero
- materno
- nombre
- paterno
+ getPersona() : persona
+ setPersona() : void
UI Usuario
CC Usuario
+ Adicionar() : void
+ Adicionar() : void
+ Consultar() : void
+ Consultar() : void
+ Eliminar() : void
SuperUsuario + Eliminar() : void
persona
Usuario
- cargo
- id_perfil
- pass
+ getUsuario() : Usuario
+ setUsuario() : void
- 84 -
7.4 ANLISIS DE PAQUETE
P1 P2
GESTIONAR GESTIONAR
CURSO INSCRIPCION
P4 P3
GESTIONAR
GESTIONAR NOTAS
USUARIO
- 85 -
8. FLUJO DE TRABAJO DISEO
cmp capas
P2
P1
GESTIONAR
GESTIONAR CURSO INSCRIPCION
Capa especificacin de
aplicacin
P4
GESTIONAR
USUARIO
P3
Capa general de
aplicacin
GESTIONAR
NOTAS
P5 P6
Capa intermedia
<<SEV AP>>
<<SGBD>>
APACHE
MySQL
P7
Capa del software del
sistema
TCP/IP
- 86 -
8.1.2 Diseo de arquitectura fisica
Diagrama de Despliegue
deployment Modelo de despliegue
Switch Router
Ethernet
1 1
1
1
Ethernet
Internet
1..* 1
TCP/IP
1 1
Web Serv er
Sistema Operativ o Linux OS
Linux OS
8.2.1.2 Mapeo
8.2.2.2 Script
--
-- Base de datos: `datoscai`
--
DELIMITER $$
--
-- Procedimientos
--
CREATE DEFINER=`root`@`localhost` PROCEDURE `adicionarCurso` (`id_idioma` INT(11),
`id_nivel` INT(11), `id_grupo` INT(11), `ci_profesor` INT(11), `id_aula` INT(11), `id_horario`
INT(11)) BEGIN
- 87 -
DECLARE existeCurso int;
SET existeCurso = (SELECT COUNT(*) FROM curso
WHERE curso.id_idioma = id_idioma and curso.id_nivel = id_nivel and curso.id_grupo =
id_grupo and
curso.ci_profesor = ci_profesor and curso.id_aula = id_aula and curso.id_horario =
id_horario);
IF(existeCurso = 0) THEN
INSERT INTO `idioma_nivel`(`id_idioma`, `id_nivel`) VALUES (id_idioma,id_nivel);
INSERT INTO `curso`(`id_idioma`, `id_nivel`, `id_grupo`, `ci_profesor`,`id_aula`,`id_horario`)
VALUES
(id_idioma,id_nivel,id_grupo,ci_profesor,id_aula,id_horario);
SELECT 0 AS resultado;
ELSE
SELECT 1 AS resultado;
END IF;
END$$
ELSE
IF ((select MAX(id_nivel) from historico where ci_estudiante = ci and historico.nota>=70) =
(select MAX(id_nivel) from idioma_nivel where id_idioma = idioma))THEN
SELECT -1 AS id_nivel;
ELSE
select idioma.nombre as idioma, grupo.nombre as grupo, persona.nombre as
profesor,persona.paterno, aula.ubicacion,aula.id_aula, horario.entrada, horario.salida,
horario.dias, curso.id_nivel, curso.id_grupo from curso,idioma,grupo,persona,aula,horario
where curso.id_idioma=idioma.id_idioma and curso.id_grupo = grupo.id_grupo and
curso.ci_profesor = persona.ci and aula.id_aula=curso.id_aula and curso.id_horario =
horario.id_horario and idioma.id_idioma = idioma and curso.id_nivel = (select MAX(id_nivel)
from historico where ci_estudiante = ci and historico.nota>=70) + 1;
END IF;
END IF;
- 88 -
END$$
- 89 -
DELETE FROM `perfilestudiante` WHERE perfilestudiante.ci_estudiante = ci;
SELECT 0 AS resultado;
ELSE
SELECT 1 AS resultado;
END IF;
END$$
- 90 -
WHERE historico.ci_estudiante =ci and historico.id_gestion = gestionActual and
historico.id_idioma = idioma);
IF(existeCi = 1) THEN
IF(faltas >3)THEN
UPDATE `historico` SET `nota`=0,`estado`=1 WHERE
historico.ci_estudiante = ci and historico.id_gestion = gestionActual and historico.id_idioma =
id_idioma ;
ELSE
UPDATE `historico` SET `nota`=nota,`estado`=1 WHERE
historico.ci_estudiante = ci and historico.id_gestion = gestionActual and historico.id_idioma =
id_idioma ;
END IF;
SELECT 0 AS resultado;
ELSE
SELECT 1 AS resultado;
END IF;
END$$
IF(existeCi = 0) THEN
INSERT INTO `persona`(`ci`, `nombre`, `paterno`, `materno`, `genero`, `correo`) VALUES
(ci,nom,apPaterno,apMaterno,genero,correo);
IF ci % 2 = 0 THEN
SET tipoEstudiante = 'u';
ELSE
SET tipoEstudiante = 'p';
END IF;
INSERT INTO `estudiante`(`ci_estudiante`, `tipo`) VALUES (ci,tipoEstudiante);
IF(telefono is not null) THEN
INSERT INTO `telefono`(`id_telefono`, `numero`, `ci`)
VALUES (null,telefono,ci);
END IF;
- 91 -
IF(telefono2 is not null) THEN
INSERT INTO `telefono`(`id_telefono`, `numero`, `ci`)
VALUES (null,telefono2,ci);
END IF;
SELECT 0 AS resultado;
ELSE
SELECT 1 AS resultado;
END IF;
END$$
IF(existeHorario = 0)THEN
INSERT INTO `horario`(`id_horario`, `entrada`, `salida`, `dias`)
VALUES (null,entrada,salida,dias);
SELECT 0 AS resultado;
ELSE
SELECT 1 AS resultado;
END IF;
END$$
- 92 -
SET gestionActual = (SELECT id_gestion
FROM `gestion`
WHERE inicio = (
SELECT MAX(inicio)
FROM gestion ));
SET ExisteReserva = (SELECT COUNT(*) FROM reserva
WHERE reserva.ci_estudiante = ci_estudiante
and reserva.id_gestion = gestionActual and reserva.id_idioma=idioma
);
IF ExisteReserva = 1 THEN
SET reserva = (SELECT reserva.id_reserva FROM reserva
WHERE reserva.ci_estudiante = ci_estudiante
and reserva.id_gestion = gestionActual and reserva.id_idioma = idioma
);
SET nivel = (SELECT reserva.id_nivel FROM reserva
WHERE reserva.ci_estudiante = ci_estudiante
and reserva.id_gestion = gestionActual and reserva.id_idioma = idioma
);
INSERT INTO `inscripcion`(`id_inscripcion`, `id_reserva`, `fecha`)
VALUES (null,reserva,CURRENT_DATE());
SELECT 0 AS resultado;
else
SELECT 1 AS resultado;
END IF;
END$$
END IF;
IF(existeCi = 1) THEN
INSERT INTO `perfilestudiante`(`ci_estudiante`, `pass`) VALUES
- 93 -
(ci,pass);
SELECT 0 AS resultado;
ELSE
SELECT 1 AS resultado;
END IF;
END$$
END IF;
IF(existeCi = 1) THEN
INSERT INTO `perfilprofesor`(`ci_profesor`, `pass`) VALUES
(ci,pass);
SELECT 0 AS resultado;
ELSE
SELECT 1 AS resultado;
END IF;
END$$
IF(existeCi = 0) THEN
INSERT INTO `persona`(`ci`, `nombre`, `paterno`, `materno`, `genero`, `correo`) VALUES
(ci,nom,apPaterno,apMaterno,genero,correo);
END IF;
- 94 -
IF(telefono2 is not null) THEN
INSERT INTO `telefono`(`id_telefono`, `numero`, `ci`)
VALUES (null,telefono2,ci);
END IF;
SELECT 0 AS resultado;
ELSE
SELECT 1 AS resultado;
END IF;
END$$
- 95 -
SELECT 1 AS resultado;
END IF;
END$$
IF(existeCi = 0) THEN
INSERT INTO `persona`(`ci`, `nombre`, `paterno`, `materno`, `genero`, `correo`) VALUES
(ci,nombre,'nulo','nulo','n',null);
INSERT INTO `usuario`(`id_perfil`, `cargo`, `pass`) VALUES
(ci,cargo,pass);
SELECT 0 AS resultado;
ELSE
SELECT 1 AS resultado;
END IF;
END$$
- 96 -
IF(existeGrupo = 0)THEN
UPDATE `grupo` SET `nombre`=nombre WHERE grupo.id_grupo = id_grupo;
SELECT 0 AS resultado;
ELSE
SELECT 1 AS resultado;
END IF;
END$$
IF(existeHorario = 0)THEN
UPDATE `horario` SET `entrada`=entrada,
`salida`=salida,`dias`=dias WHERE horario.id_horario = id_horario;
SELECT 0 AS resultado;
ELSE
SELECT 1 AS resultado;
END IF;
END$$
- 97 -
WHERE historico.ci_estudiante =ci and historico.id_gestion = gestionActual and
historico.id_idioma = idioma);
IF(existeCi = 1 and estado = 1 and faltas <3) THEN
UPDATE `historico` SET `nota`=nota,`estado`=1 WHERE historico.ci_estudiante = ci and
historico.id_gestion = gestionActual and historico.id_idioma = id_idioma ;
SELECT 0 AS resultado;
ELSE
SELECT 1 AS resultado;
END IF;
END$$
IF(existeCi = 1) THEN
UPDATE `persona` SET `nombre`=nom,`paterno`=apPaterno,
`materno`=apMaterno,`genero`=genero,`correo`=correo WHERE persona.ci=ci;
UPDATE `profesor` SET `grado`=grado WHERE ci_profesor = ci;
IF(telefono is not null) THEN
INSERT INTO `telefono`(`id_telefono`, `numero`, `ci`)
VALUES (null,telefono,ci);
END IF;
IF(telefono2 is not null) THEN
INSERT INTO `telefono`(`id_telefono`, `numero`, `ci`)
VALUES (null,telefono2,ci);
END IF;
SELECT 0 AS resultado;
ELSE
SELECT 1 AS resultado;
END IF;
- 98 -
END$$
DELIMITER ;
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `aula`
--
--
-- Volcado de datos para la tabla `aula`
--
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `bitacora`
--
-- --------------------------------------------------------
- 99 -
--
-- Estructura de tabla para la tabla `curso`
--
--
-- Volcado de datos para la tabla `curso`
--
- 100 -
(1, 9, 1, 6528872, 5, 2),
(1, 9, 2, 6528872, 5, 3),
(1, 9, 3, 6528872, 5, 4),
(1, 10, 1, 6529278, 5, 5),
(1, 10, 2, 6529278, 5, 6),
(1, 10, 3, 6529278, 6, 1),
(1, 11, 1, 6471591, 6, 2),
(1, 11, 2, 6471591, 6, 3),
(1, 11, 3, 6471591, 6, 4),
(1, 12, 1, 6473372, 6, 5),
(1, 12, 2, 6473372, 6, 6),
(1, 12, 3, 6473372, 6, 1),
(2, 1, 1, 6528872, 6, 3),
(2, 2, 1, 6528872, 6, 3),
(2, 3, 1, 6528872, 6, 4),
(2, 4, 1, 6528872, 6, 5),
(3, 1, 1, 6529278, 6, 6),
(3, 2, 1, 6529278, 6, 3),
(3, 4, 3, 342232, 1, 1),
(3, 6, 3, 6529278, 1, 1);
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `estudiante`
--
--
-- Volcado de datos para la tabla `estudiante`
--
- 101 -
(6341217, 'u'),
(6360079, 'u'),
(6365953, 'u'),
(6368421, 'p'),
(6369167, 'p'),
(6372882, 'p'),
(6372961, 'p'),
(6376799, 'p'),
(6377201, 'p'),
(6378089, 'p'),
(6382999, 'p'),
(6388541, 'p'),
(6390520, 'u'),
(6390687, 'u'),
(6392110, 'u'),
(6398820, 'p'),
(6399854, 'p'),
(6404414, 'p'),
(6407964, 'p'),
(6408955, 'p'),
(6409544, 'u'),
(6409549, 'p'),
(6417949, 'p'),
(6426853, 'p'),
(6427633, 'u'),
(6430481, 'u'),
(6430964, 'u'),
(6432956, 'u'),
(6434887, 'u'),
(6434935, 'u'),
(6435545, 'p'),
(6438168, 'u'),
(6445990, 'u'),
(6446665, 'u'),
(6448545, 'u'),
(6451082, 'u'),
(6451756, 'u'),
(6453410, 'u'),
(6459016, 'u'),
(6459096, 'u'),
(6465527, 'p'),
(6465703, 'u'),
(6471499, 'p'),
(6481500, 'u');
- 102 -
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `gestion`
--
--
-- Volcado de datos para la tabla `gestion`
--
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `grupo`
--
--
-- Volcado de datos para la tabla `grupo`
- 103 -
--
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `historico`
--
--
-- Volcado de datos para la tabla `historico`
--
- 104 -
(6368421, 2, 2, '3/2015', 1, 1, 75),
(6368421, 2, 3, '1/2016', 1, 1, 12),
(6368421, 2, 4, '2/2016', 1, 1, 90),
(6369167, 2, 1, '2/2012', 1, 1, 87),
(6369167, 2, 2, '1/2013', 1, 1, 77),
(6369167, 2, 2, '3/2012', 0, 1, 49),
(6369167, 2, 3, '2/2013', 1, 1, 83),
(6369167, 2, 4, '3/2013', 0, 1, 81),
(6372882, 3, 1, '2/2014', 0, 1, 63),
(6372882, 3, 1, '3/2014', 1, 1, 81),
(6372882, 3, 2, '1/2015', 1, 1, 43),
(6372882, 3, 2, '2/2015', 0, 1, 75),
(6398820, 2, 1, '2/2016', 0, 0, 0),
(6407964, 1, 1, '2/2016', 0, 0, 0);
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `horario`
--
--
-- Volcado de datos para la tabla `horario`
--
-- --------------------------------------------------------
--
- 105 -
-- Estructura de tabla para la tabla `idioma`
--
--
-- Volcado de datos para la tabla `idioma`
--
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `idioma_nivel`
--
--
-- Volcado de datos para la tabla `idioma_nivel`
--
- 106 -
(1, 11),
(1, 12),
(2, 1),
(2, 2),
(2, 3),
(2, 4),
(3, 1),
(3, 2),
(3, 4),
(3, 6);
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `inscripcion`
--
--
-- Volcado de datos para la tabla `inscripcion`
--
- 107 -
(17, 19, '2013-03-02'),
(18, 20, '2013-06-02'),
(19, 21, '2013-09-02'),
(20, 22, '2014-06-02'),
(21, 23, '2014-09-04'),
(22, 24, '2015-03-02'),
(23, 25, '2015-06-01'),
(24, 30, '2016-12-01'),
(25, 31, '2016-12-01');
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `nivel`
--
--
-- Volcado de datos para la tabla `nivel`
--
- 108 -
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `perfilestudiante`
--
--
-- Volcado de datos para la tabla `perfilestudiante`
--
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `perfilprofesor`
--
--
-- Volcado de datos para la tabla `perfilprofesor`
--
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `persona`
--
- 109 -
`ci` int(11) NOT NULL,
`nombre` varchar(20) NOT NULL,
`paterno` varchar(20) NOT NULL,
`materno` varchar(20) DEFAULT NULL,
`genero` char(1) NOT NULL,
`correo` varchar(30) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Volcado de datos para la tabla `persona`
--
INSERT INTO `persona` (`ci`, `nombre`, `paterno`, `materno`, `genero`, `correo`) VALUES
(2212, '', 'nulo', 'nulo', 'n', NULL),
(12345, 'rosa', 'espinoza', 'del prado', 'f', 'jorge@ggmai.com'),
(22222, 'yalo', 'juano', 'rosado', 'm', ''),
(22232, 'clara', 'pinto', 'chavez', 'f', 'clara@hotmail.com'),
(33533, 'jorge luis', 'nulo', 'nulo', 'n', NULL),
(111122, 'victor', 'villarroel', 'tola', 'm', NULL),
(234332, 'juanita', 'del prado', 'corrales', 'f', NULL),
(333333, 'olivia', 'panoso', 'leygue', 'f', ''),
(342232, 'carlos', 'roca', 'lino', 'm', NULL),
(545454, 'mauricio pe;a', 'nulo', 'nulo', 'n', NULL),
(883722, 'juanito', 'peres', 'pea', 'f', 'ana@hotmail.com'),
(1234567, 'ibeth', 'rojas', 'morales', 'f', ''),
(2223211, 'jorge', 'colque', 'guzman', 'm', 'jorge@hotmail.com'),
(6341217, 'Mauricia', 'Campos', 'Chavez', 'f', NULL),
(6360079, 'Carlos mau', 'Martinez', 'Sanchez', 'm', NULL),
(6365953, 'Andresa', 'Guzman', 'Pereira', 'f', NULL),
(6368421, 'Sergio', 'Ramos', 'sanches', 'm', 'sanches@php.com'),
(6369167, 'Alvaro', 'Rodriguez', 'Silva', 'M', NULL),
(6372882, 'Daniel', 'Martinez', 'Contreras', 'M', NULL),
(6372961, 'Marcelo', 'Hernandez', 'Quiroga', 'M', 'NULL'),
(6376799, 'Cristiano', 'Flores', 'Flores', 'M', ''),
(6377201, 'James', 'Rodriguez', 'Duar', 'M', 'jamesDD@gmail.com'),
(6378089, 'Jose', 'Callejon', 'Lozada', 'M', NULL),
(6382999, 'Mariana', 'Contreras', 'Contreras', 'F', 'mariC2015@hotmail.com'),
(6388541, 'Fabiola', 'Peredo', 'Martinez', 'F', NULL),
(6390520, 'Anahi', 'Rocha', 'Rosado', 'F', NULL),
(6390687, 'Juan Carlos', 'Zambrana', 'Souza', 'M', 'jczambrana@gmail.com'),
(6392110, 'Ana Paola', 'Navia', 'Laura', 'F', NULL),
(6398820, 'Jose Alberto', 'Santos', 'Asuncion', 'M', 'santos512@live.com'),
(6399854, 'Camila', 'Machicao', 'Laura', 'F', 'camiLA@hotamil.com'),
(6404414, 'Rafael', 'Gomez', 'Erbas', 'M', 'rafaGomez@gmail.com'),
- 110 -
(6407396, 'Jorge', 'Perez', 'Souza', 'M', NULL),
(6407964, 'Javier', 'Martinez', 'Escalante', 'M', 'javiviEs@hotmail.com'),
(6408955, 'Alondra', 'Cortez', 'Lisarazu', 'F', 'alondra.cortez@gmail.com'),
(6409544, 'Manuel', 'Fuentes', 'Guzman', 'M', NULL),
(6409549, 'Ana Paola', 'Torrico', 'Robles', 'F', NULL),
(6417949, 'Carina', 'Guzman', 'Maturano', 'F', 'cariguzman@live.com'),
(6426853, 'Victor', 'Rojas', 'Hernandez', 'M', NULL),
(6427633, 'Carlos', 'Coimbra', 'Llul', 'M', 'coimbra2158@hotmail.com'),
(6430481, 'Marcelo', 'Diaz', 'Escalante', 'M', NULL),
(6430964, 'Rafael', 'Rocha', 'Vargas', 'M', 'rocha.rafa15@hotmail.com'),
(6432956, 'Ana', 'Molina', 'Tejerina', 'F', NULL),
(6434887, 'Karen', 'Flores', 'Cabrera', 'F', 'karenfc87@gamil.com'),
(6434935, 'Raquel', 'Bustamante', 'Iglesias', 'F', 'raquelbust@hotmail.com'),
(6435545, 'Carlos', 'Hernandez', 'Eguez', 'M', 'carlos.hernandez@gmail.com'),
(6438168, 'Lorena', 'Gutierrez', 'Hernandez', 'F', NULL),
(6445990, 'Maria Jose', 'Diaz', 'Romero', 'F', 'maria.diaz@gmail.com'),
(6446665, 'Raul', 'Martinez', 'Bravo', 'M', NULL),
(6448545, 'Oscar', 'Santos', 'Lima', 'M', 'oscar.santos@hotmail.com'),
(6451082, 'Genesis', 'Tordoya', 'Saldias', 'F', NULL),
(6451756, 'Leonardo', 'Gonzales', 'Molina', 'M', 'leo.gon@gamil.com'),
(6453410, 'Ivan', 'Quiroz', 'Peredo', 'M', NULL),
(6459016, 'Gabriela', 'Ybanera', 'Brun', 'F', NULL),
(6459096, 'Victor', 'Janco', 'Martinez', 'M', 'vic.JM@hotmail.cm'),
(6465527, 'Sebastian', 'Callejas', 'Gonzalban', 'M', NULL),
(6465703, 'Vianca', 'Espada', 'Romero', 'F', NULL),
(6471499, 'Daniel', 'Bejarano', 'Cuchilla', 'M', 'dani.CB@live.com'),
(6471591, 'Lisa', 'Gonzales', 'Simpson', 'F', NULL),
(6473372, 'Maria', 'Alba', 'Gonzales', 'F', NULL),
(6481500, 'Julio', 'Mendez', 'Perez', 'M', NULL),
(6505530, 'Fabiola', 'Quisbert', 'Castro', 'F', 'fabiola@gmail.com'),
(6517876, 'Jesus', 'Perez', 'Quiroga', 'M', 'jesiss@gmail.com'),
(6519110, 'Pedro', 'Cortez', 'Hill', 'M', NULL),
(6520981, 'Helen', 'Campos', 'Gutierrez', 'F', NULL),
(6525657, 'Carlos', 'Rodriguez', 'Terrazas', 'M', 'carlllos@gmail.com'),
(6527034, 'Alberto', 'del Rio', 'Belmonte', 'M', 'Malbertt@gmail.com'),
(6528872, 'Ricardo', 'Orozco', 'Montes', 'M', 'ricky@gmail.com'),
(6529278, 'Maria', 'Pedraza', 'Castro', 'F', 'marmar@gmail.com'),
(33422321, 'noe', 'vallejos', 'pea', 'm', 'noe@hotmail.com'),
(67776766, 'fabio', 'cortez', 'medrano', 'm', 'fabio@hotmail.com'),
(78332223, 'ana', 'peres', 'martinez', 'f', 'ana@hotmail.com');
-- --------------------------------------------------------
--
- 111 -
-- Estructura de tabla para la tabla `profesor`
--
--
-- Volcado de datos para la tabla `profesor`
--
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `reserva`
--
- 112 -
--
-- Volcado de datos para la tabla `reserva`
--
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `telefono`
--
- 113 -
CREATE TABLE `telefono` (
`id_telefono` int(11) NOT NULL,
`numero` int(11) NOT NULL,
`ci` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Volcado de datos para la tabla `telefono`
--
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `usuario`
--
- 114 -
CREATE TABLE `usuario` (
`id_perfil` int(11) NOT NULL,
`cargo` varchar(30) NOT NULL,
`pass` varchar(30) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Volcado de datos para la tabla `usuario`
--
--
-- ndices para tablas volcadas
--
--
-- Indices de la tabla `aula`
--
ALTER TABLE `aula`
ADD PRIMARY KEY (`id_aula`);
--
-- Indices de la tabla `bitacora`
--
ALTER TABLE `bitacora`
ADD PRIMARY KEY (`id_bitacora`);
--
-- Indices de la tabla `curso`
--
ALTER TABLE `curso`
ADD PRIMARY KEY (`id_idioma`,`id_nivel`,`id_grupo`),
ADD KEY `id_grupo` (`id_grupo`),
ADD KEY `ci_profesor` (`ci_profesor`),
ADD KEY `id_aula` (`id_aula`),
ADD KEY `id_horario` (`id_horario`);
--
-- Indices de la tabla `estudiante`
--
ALTER TABLE `estudiante`
- 115 -
ADD PRIMARY KEY (`ci_estudiante`);
--
-- Indices de la tabla `gestion`
--
ALTER TABLE `gestion`
ADD PRIMARY KEY (`id_gestion`);
--
-- Indices de la tabla `grupo`
--
ALTER TABLE `grupo`
ADD PRIMARY KEY (`id_grupo`);
--
-- Indices de la tabla `historico`
--
ALTER TABLE `historico`
ADD PRIMARY KEY (`ci_estudiante`,`id_idioma`,`id_nivel`,`id_gestion`),
ADD KEY `id_idioma` (`id_idioma`,`id_nivel`),
ADD KEY `id_gestion` (`id_gestion`);
--
-- Indices de la tabla `horario`
--
ALTER TABLE `horario`
ADD PRIMARY KEY (`id_horario`);
--
-- Indices de la tabla `idioma`
--
ALTER TABLE `idioma`
ADD PRIMARY KEY (`id_idioma`);
--
-- Indices de la tabla `idioma_nivel`
--
ALTER TABLE `idioma_nivel`
ADD PRIMARY KEY (`id_idioma`,`id_nivel`),
ADD KEY `id_nivel` (`id_nivel`);
--
-- Indices de la tabla `inscripcion`
--
- 116 -
ALTER TABLE `inscripcion`
ADD PRIMARY KEY (`id_inscripcion`,`id_reserva`),
ADD KEY `id_reserva` (`id_reserva`);
--
-- Indices de la tabla `nivel`
--
ALTER TABLE `nivel`
ADD PRIMARY KEY (`id_nivel`);
--
-- Indices de la tabla `perfilestudiante`
--
ALTER TABLE `perfilestudiante`
ADD PRIMARY KEY (`ci_estudiante`);
--
-- Indices de la tabla `perfilprofesor`
--
ALTER TABLE `perfilprofesor`
ADD PRIMARY KEY (`ci_profesor`);
--
-- Indices de la tabla `persona`
--
ALTER TABLE `persona`
ADD PRIMARY KEY (`ci`);
--
-- Indices de la tabla `profesor`
--
ALTER TABLE `profesor`
ADD PRIMARY KEY (`ci_profesor`);
--
-- Indices de la tabla `reserva`
--
ALTER TABLE `reserva`
ADD PRIMARY KEY (`id_reserva`),
ADD KEY `id_idioma` (`id_idioma`,`id_nivel`,`id_grupo`),
ADD KEY `ci_estudiante` (`ci_estudiante`),
ADD KEY `id_gestion` (`id_gestion`);
--
- 117 -
-- Indices de la tabla `telefono`
--
ALTER TABLE `telefono`
ADD PRIMARY KEY (`id_telefono`),
ADD KEY `ci` (`ci`);
--
-- Indices de la tabla `usuario`
--
ALTER TABLE `usuario`
ADD PRIMARY KEY (`id_perfil`);
--
-- AUTO_INCREMENT de las tablas volcadas
--
--
-- AUTO_INCREMENT de la tabla `aula`
--
ALTER TABLE `aula`
MODIFY `id_aula` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=8;
--
-- AUTO_INCREMENT de la tabla `bitacora`
--
ALTER TABLE `bitacora`
MODIFY `id_bitacora` int(11) NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT de la tabla `grupo`
--
ALTER TABLE `grupo`
MODIFY `id_grupo` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;
--
-- AUTO_INCREMENT de la tabla `horario`
--
ALTER TABLE `horario`
MODIFY `id_horario` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=8;
--
-- AUTO_INCREMENT de la tabla `idioma`
--
ALTER TABLE `idioma`
MODIFY `id_idioma` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;
--
-- AUTO_INCREMENT de la tabla `inscripcion`
--
- 118 -
ALTER TABLE `inscripcion`
MODIFY `id_inscripcion` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=26;
--
-- AUTO_INCREMENT de la tabla `nivel`
--
ALTER TABLE `nivel`
MODIFY `id_nivel` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=19;
--
-- AUTO_INCREMENT de la tabla `reserva`
--
ALTER TABLE `reserva`
MODIFY `id_reserva` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=32;
--
-- AUTO_INCREMENT de la tabla `telefono`
--
ALTER TABLE `telefono`
MODIFY `id_telefono` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=29;
--
-- Restricciones para tablas volcadas
--
--
-- Filtros para la tabla `curso`
--
ALTER TABLE `curso`
ADD CONSTRAINT `curso_ibfk_1` FOREIGN KEY (`id_idioma`,`id_nivel`) REFERENCES
`idioma_nivel` (`id_idioma`, `id_nivel`),
ADD CONSTRAINT `curso_ibfk_6` FOREIGN KEY (`id_grupo`) REFERENCES `grupo`
(`id_grupo`) ON DELETE CASCADE ON UPDATE CASCADE,
ADD CONSTRAINT `curso_ibfk_7` FOREIGN KEY (`ci_profesor`) REFERENCES `profesor`
(`ci_profesor`) ON DELETE CASCADE ON UPDATE CASCADE,
ADD CONSTRAINT `curso_ibfk_8` FOREIGN KEY (`id_aula`) REFERENCES `aula` (`id_aula`) ON
DELETE CASCADE ON UPDATE CASCADE,
ADD CONSTRAINT `curso_ibfk_9` FOREIGN KEY (`id_horario`) REFERENCES `horario`
(`id_horario`) ON DELETE CASCADE ON UPDATE CASCADE;
--
-- Filtros para la tabla `estudiante`
--
ALTER TABLE `estudiante`
ADD CONSTRAINT `estudiante_ibfk_2` FOREIGN KEY (`ci_estudiante`) REFERENCES `persona`
(`ci`) ON DELETE CASCADE ON UPDATE CASCADE;
--
- 119 -
-- Filtros para la tabla `historico`
--
ALTER TABLE `historico`
ADD CONSTRAINT `historico_ibfk_2` FOREIGN KEY (`id_idioma`,`id_nivel`) REFERENCES
`idioma_nivel` (`id_idioma`, `id_nivel`),
ADD CONSTRAINT `historico_ibfk_4` FOREIGN KEY (`ci_estudiante`) REFERENCES
`estudiante` (`ci_estudiante`) ON DELETE CASCADE ON UPDATE CASCADE,
ADD CONSTRAINT `historico_ibfk_5` FOREIGN KEY (`id_gestion`) REFERENCES `gestion`
(`id_gestion`) ON DELETE CASCADE ON UPDATE CASCADE;
--
-- Filtros para la tabla `idioma_nivel`
--
ALTER TABLE `idioma_nivel`
ADD CONSTRAINT `idioma_nivel_ibfk_3` FOREIGN KEY (`id_idioma`) REFERENCES `idioma`
(`id_idioma`) ON DELETE CASCADE ON UPDATE CASCADE,
ADD CONSTRAINT `idioma_nivel_ibfk_4` FOREIGN KEY (`id_nivel`) REFERENCES `nivel`
(`id_nivel`) ON DELETE CASCADE ON UPDATE CASCADE;
--
-- Filtros para la tabla `inscripcion`
--
ALTER TABLE `inscripcion`
ADD CONSTRAINT `inscripcion_ibfk_2` FOREIGN KEY (`id_reserva`) REFERENCES `reserva`
(`id_reserva`) ON DELETE CASCADE ON UPDATE CASCADE;
--
-- Filtros para la tabla `perfilestudiante`
--
ALTER TABLE `perfilestudiante`
ADD CONSTRAINT `perfilestudiante_ibfk_1` FOREIGN KEY (`ci_estudiante`) REFERENCES
`estudiante` (`ci_estudiante`) ON DELETE CASCADE ON UPDATE CASCADE;
--
-- Filtros para la tabla `perfilprofesor`
--
ALTER TABLE `perfilprofesor`
ADD CONSTRAINT `perfilprofesor_ibfk_1` FOREIGN KEY (`ci_profesor`) REFERENCES
`profesor` (`ci_profesor`) ON DELETE CASCADE ON UPDATE CASCADE;
--
-- Filtros para la tabla `profesor`
--
ALTER TABLE `profesor`
- 120 -
ADD CONSTRAINT `profesor_ibfk_2` FOREIGN KEY (`ci_profesor`) REFERENCES `persona`
(`ci`) ON DELETE CASCADE ON UPDATE CASCADE;
--
-- Filtros para la tabla `reserva`
--
ALTER TABLE `reserva`
ADD CONSTRAINT `reserva_ibfk_2` FOREIGN KEY (`id_idioma`,`id_nivel`,`id_grupo`)
REFERENCES `curso` (`id_idioma`, `id_nivel`, `id_grupo`),
ADD CONSTRAINT `reserva_ibfk_4` FOREIGN KEY (`ci_estudiante`) REFERENCES `estudiante`
(`ci_estudiante`) ON DELETE CASCADE ON UPDATE CASCADE,
ADD CONSTRAINT `reserva_ibfk_5` FOREIGN KEY (`id_gestion`) REFERENCES `gestion`
(`id_gestion`) ON DELETE CASCADE ON UPDATE CASCADE;
--
-- Filtros para la tabla `telefono`
--
ALTER TABLE `telefono`
ADD CONSTRAINT `telefono_ibfk_2` FOREIGN KEY (`ci`) REFERENCES `persona` (`ci`) ON
DELETE CASCADE ON UPDATE CASCADE;
- 121 -
8.2.2.3 Consultas
8.2.2.5 Triggers
- 122 -
9. FLUJO DE TRABAJO IMPLEMENTACION
P2 P4
Login.php
P3 P1
Welcome.php
Subsystem Gestionar
Subsystem Gestionar
Curso
Notas
library
tpdf.php
BD
library
mysqli
Acceso
- 123 -
9.2 IMPLEMENTACIN DE ARQUITECTURA DE
SUBSISTEMA
Diagrama de componentes del paquete Gestionar Notas
Gestionar Notas
model model
nota_model.php historico_model.php
table table
Historico gestion
- 124 -
cmp Gestionar Curso Componente
Gestionar Curso
web form web form web form web form web form web form web form web form web form web form web form web form web form web form
aula.php consultarAula.php horario.php consultarHorario.php profesor.php consultarProfesor.php curso.php consultarCurso idioma.php consultarIdioma.php nivel.php consultarNivel grupo.php consultarGrupo
- 125 -
cmp Gestionar Inscripcion
Gestionar inscripcion
web form web form web form web form web form web form web form web form web form
formReserv a.php v entanaReserv a.php reserv a.php boletainscripcion.php inscripcion.php adicionarEstudiante.php consultarEstudiante editarEstudiante.php estudiante.php
- 126 -
9.3 PLATAFORMA DE DESARROLLO DE SOFTWARE
10. CONCLUSION
11. RECOMENDACIN
12.BIBLIOGRAFIA
- 127 -
13. ANEXOS
- 128 -
13.2 BOLETA DE PAGO
- 129 -
13.3 MANUAL DE USUARIO DE LA PGINA WEB
- 130 -
- 131 -
- 132 -
- 133 -
- 134 -
- 135 -
13.4 ENTREVISTAS:
Entrevista # 1
Lugar: Oficina central del CAI, ubicada en la calle Murillo 120 entre Bolvar y
Arenales
Duracin: 10 minutos
Datos de la Empresa
Preguntas:
- 136 -
Qu actividades realizan manualmente? En qu aspecto les gustara
mejorar?
No, manual de procedimientos como tal no, solo contamos con un Reglamento
Interno para admisin, expulsin, personal administrativo, personal docente. Si
quieren conseguirlo debern pedir la autorizacin de la coordinadora de la carrera, a
travs de una carta solicitando una copia de dicho documento.
Solo contamos con formularios para exmenes orales, los cuales fotocopiamos y
entregamos a los docentes.
- 137 -
Entrevista # 2
Lugar: Oficina del CAI, ubicada en la calle Murillo 120 entre Bolvar y Arenales
Duracin: 20 minutos
Datos de la Empresa
Preguntas:
Al principio todo era manual, lo mximo que se llegaba a hacer en sistema era hacer
planillas en Excel, manejaban un cardex por estudiante en una caja ordenado
alfabticamente, donde estaban todas la notas.
Cuando reservaban ellos lo que hacan es hacer su oferta, por ejemplo haban 100
grupos, y haba 30 fichas por cada grupo, cuando se inscriban, vena todos y
reservaban y elegir su nivel, luego sacaban las fichas, con las fichas controlaban los
cupos.
Luego de reservar ellos iban a pagar, tena que volver hacer su cola con su reciba y
recin se los inscriban o se los anotaba en una planilla, luego esa planilla lo
transcriban a Excel para pasrselos a los docentes.
- 138 -
Cmo es el proceso de inscripcin actualmente?
Se registra las ofertas, cada oferta tiene su diferente cupo, estos son asignados en
sistema. Los estudiantes acceden por internet para reservar su cupo, y stos van
disminuyendo a medida que van reservando. Se hace cola para el respectivo pago
en el campus universitario. Los recibos los llevan a la calle murillo. stos solo sirven
como respaldo.
Se necesita un cajero, para eso necesita hacer un trmite bastante burocrtico, por lo
que no se implementa la cobranza en el sistema, y se tiene que basar en las cajas de
la universidad y ellos tienen una caja propia.
El docente al finalizar el trimestre registra todas las notas, todo se va a una central de
notas, eso sirve para saber el histrico, que nivel le toca, para armar el certificado
para el alumno, dice el nombre del docente y en qu grupo estuvo.
- 139 -