reporte final de la propuesta de estudio gestin de circulares 20 de...

16
Portal Web para la gestión automatizada de circulares 20 de la UPIITA Registro CGPI: 20060737 Resumen El Departamento de Organización y Procesos de Enseñanza de la UPIITA es la encargada de llevar la gestión de la carga académica y actividades de horas de descarga de los profesores de la Unidad. Además se encarga de asesorar a los profesores en el proceso de Promoción Docente. La UPIITA no contaba con un sistema que permitiera agilizar el proceso de llenado de las circulares 20 y debido al aumento de la población docente la problemática principal en la gestión de la carga académica se caracteriza en la detección de traslapes en los horarios de los profesores, lo que genera errores en la carga académica de los mismos. Además, el Departamento carecía de una base de datos en donde se tuviera registrado en formato electrónico la estructura de horarios del periodo lectivo actual o de periodos anteriores, lo cual permite generar con rapidez las constancias de carga académica de los profesores. Otro punto atacado en este trabajo fue la parte de promoción de profesores; donde se construyó una herramienta que permite calcular una puntuación en base a ciertos rubros que el profesor indique que cuenta con él. Las características con las que cuenta este Portal Web son: 1.- Acceso personalizado a cada tipo de usuario 2. Registro en línea de la propuesta de carga académica de cada uno de los profesores de la Unidad. 3. Registro en línea de la propuesta de actividades de descarga de cada uno de los profesores de la Unidad. 4. Revisión y autorización de la carga académica por parte del Jefe del Departamento. 5. Búsqueda de cargas académicas por diversos criterios: por profesor, por semestre, entre otros por definir. 6. Simulador del proceso de promoción docente, es decir, módulo que permita al docente realizar un ejercicio de promoción considerando los rubros del proceso. Introducción Actualmente el departamento DOPE de la UPIITA, tiene como funciones principales: Creación, organización y distribución de grupos. Elaboración de horarios de clases, exámenes del 3er departamental, exámenes especiales y ETS. Proporcionar información sobre la promoción docente a los profesores. De las actividades indicadas anteriormente en la propuesta de estudio únicamente se abordaron: La creación de circulares 20. La promoción docente. Página 1

Upload: others

Post on 19-Jul-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: REPORTE FINAL DE LA PROPUESTA DE ESTUDIO GESTIN DE CIRCULARES 20 DE …sappi.ipn.mx/cgpi/archivos_anexo/20060737_3833.pdf · 2011-11-14 · 1.- Acceso personalizado a cada tipo de

Portal Web para la gestión automatizada de circulares 20 de la UPIITA Registro CGPI: 20060737

Resumen El Departamento de Organización y Procesos de Enseñanza de la UPIITA es la encargada de llevar la gestión de la carga académica y actividades de horas de descarga de los profesores de la Unidad. Además se encarga de asesorar a los profesores en el proceso de Promoción Docente. La UPIITA no contaba con un sistema que permitiera agilizar el proceso de llenado de las circulares 20 y debido al aumento de la población docente la problemática principal en la gestión de la carga académica se caracteriza en la detección de traslapes en los horarios de los profesores, lo que genera errores en la carga académica de los mismos. Además, el Departamento carecía de una base de datos en donde se tuviera registrado en formato electrónico la estructura de horarios del periodo lectivo actual o de periodos anteriores, lo cual permite generar con rapidez las constancias de carga académica de los profesores. Otro punto atacado en este trabajo fue la parte de promoción de profesores; donde se construyó una herramienta que permite calcular una puntuación en base a ciertos rubros que el profesor indique que cuenta con él. Las características con las que cuenta este Portal Web son: 1.- Acceso personalizado a cada tipo de usuario 2. Registro en línea de la propuesta de carga académica de cada uno de los profesores de la Unidad. 3. Registro en línea de la propuesta de actividades de descarga de cada uno de los profesores de la Unidad. 4. Revisión y autorización de la carga académica por parte del Jefe del Departamento. 5. Búsqueda de cargas académicas por diversos criterios: por profesor, por semestre, entre otros por definir. 6. Simulador del proceso de promoción docente, es decir, módulo que permita al docente realizar un ejercicio de promoción considerando los rubros del proceso. Introducción Actualmente el departamento DOPE de la UPIITA, tiene como funciones principales:

• Creación, organización y distribución de grupos. • Elaboración de horarios de clases, exámenes del 3er departamental, exámenes

especiales y ETS. • Proporcionar información sobre la promoción docente a los profesores.

De las actividades indicadas anteriormente en la propuesta de estudio únicamente se abordaron:

• La creación de circulares 20. • La promoción docente.

Página 1

Page 2: REPORTE FINAL DE LA PROPUESTA DE ESTUDIO GESTIN DE CIRCULARES 20 DE …sappi.ipn.mx/cgpi/archivos_anexo/20060737_3833.pdf · 2011-11-14 · 1.- Acceso personalizado a cada tipo de

Portal Web para la gestión automatizada de circulares 20 de la UPIITA Registro CGPI: 20060737

Con respecto a la creación de circulares 20 se tomaron en consideración horarios de los profesores, salones disponibles, tipo de materia que cada profesor puede impartir y horario en que esta asignado un profesor de cierta materia a determinado salón para poder detectar traslapes. La circular 20 guarda información general del Profesor, su carga académica (su horario), así como muestra sus actividades complementarias, este documento es solo exclusivo para los profesores que tienen contratación de base, ya que para los profesores interinos no se le llama circular 20 sino resumen de necesidades, para la DOPE la circular 20 es un documento muy importante, ya que para generar un documento de este tipo, previamente la estructura académica ya debe estar definida. La estructura académica involucra la programación de horarios, profesores, salones, laboratorios y grupos. Para elaborar este análisis se debe pedir información a las diferentes academias existentes en UPIITA. Esta información es: Propuesta de carga de los profesores (horarios de trabajo de profesores), necesidades de profesores, asignación de profesor por parte de la academia para impartir cierta materia en general; así como toda la información que se necesite para que se pueda llevar a cabo este análisis. Creación de circulares 20 El procedimiento para poder llevar a acabo una circular es el siguiente: se tuvieron que haber creado horarios, cargas académicas, asignación de profesores para cada materia que se imparte en la unidad. Esto se entiende de mejor manera observando la Figura 1 que muestra un diagrama de flujo para crear una circular 20.

Figura 1. Diagrama de flujo para una circular 20

Página 2

Page 3: REPORTE FINAL DE LA PROPUESTA DE ESTUDIO GESTIN DE CIRCULARES 20 DE …sappi.ipn.mx/cgpi/archivos_anexo/20060737_3833.pdf · 2011-11-14 · 1.- Acceso personalizado a cada tipo de

Portal Web para la gestión automatizada de circulares 20 de la UPIITA Registro CGPI: 20060737

Promoción docente: Existen 9 categorías a la que pueden aspirar los profesores de la unidad, hay dos formas para lograr la promoción que son:

• Por acumulación de 100 unidades de promoción (U.P.). Este método de promoción se logra cumpliendo una serie de requisitos que se deben de cubrir para poder acumular 100 U.P.

• Obtención de grado.- Este método de promoción se logra mediante la obtención

de algún grado académico, es decir, titulo de licenciatura, Maestría o doctorado, cuando se da este caso, la re-categorización es inmediata, por lo que solo debe esperar la convocatoria para poder meter su aspiración.

Por cualquiera de las dos formas de promoción el profesor debe esperar la convocatoria para poder meter sus documentos, esta convocatoria sale cada año en ciertas fechas que estipula el IPN, para el caso de promoción por U.P. solo se podrá realizar cada 2 años que es el tiempo mínimo para poder aspirar a promoverse. Métodos y materiales Para desarrollar la propuesta se utilizo el patrón de arquitectura MVC (Model View Controller), el cual “es una arquitectura de software que separa el modelo de datos de una aplicación, la interfaz de usuario, y la lógica de control en tres distintos componentes de forma que las modificaciones al componente de la vista pueden ser hechas con mínimo impacto en el componente del modelo de datos”. Esta arquitectura brinda la reutilización del código, facilita el mantenimiento y estabilidad del sistema. En la Figura 2 se muestra un esquema general de cómo se llevo a cabo el desarrollo del proyecto, utilizando la arquitectura MVC. Además de utilizar el esquema de MVC fue necesario realizar un estudio sobre maneras de almacenamiento de datos que en este caso se consideraron como análisis los sistemas de directorios y las bases de datos La Estructura de LDAP (Lightweight Directory Access Protocol), es un directorio que almacena y organiza la información en estructuras de datos denominadas entradas, las entradas son organizadas en una estructura jerárquica en árbol, llamado DIT (Directory Information Tree ) LDAP se utiliza la mayor parte del tiempo para buscar información almacenada en el directorio, de preferencia para datos de solo lectura por lo que fue preferible para el sistema manejar los datos en una base de datos, auxiliándose de los manejadores de base de datos, para esto se llevo a cabo un estudio sobre algunos gestores relacionales.

Página 3

Page 4: REPORTE FINAL DE LA PROPUESTA DE ESTUDIO GESTIN DE CIRCULARES 20 DE …sappi.ipn.mx/cgpi/archivos_anexo/20060737_3833.pdf · 2011-11-14 · 1.- Acceso personalizado a cada tipo de

Portal Web para la gestión automatizada de circulares 20 de la UPIITA Registro CGPI: 20060737

Figura 2. Diagrama general de los módulos del sistema Los Sistemas Gestores de Bases de Datos (SGBD) son un tipo de software muy específico, dedicado a servir de interfaz entre las bases de datos y las aplicaciones que la utilizan, consiguiendo entre otras cosas, que el acceso a los datos se realice de una forma más eficiente, más fácil de implementar y sobre todo, más segura. Los SGBD analizados se muestran en la tabla 1, así como algunas características que son requeridas para el desarrollo el sistema:

SGDB

Oracle MySQL Microsoft SQL Server 2000

Portabilidad X X

Software libre X

Integridad Referencial X X X

Vistas X X X

Cara

cterís

ticas

Procedimientos almacenados X X X

Tabla 1. Características de los SGBD. ç

Página 4

Page 5: REPORTE FINAL DE LA PROPUESTA DE ESTUDIO GESTIN DE CIRCULARES 20 DE …sappi.ipn.mx/cgpi/archivos_anexo/20060737_3833.pdf · 2011-11-14 · 1.- Acceso personalizado a cada tipo de

Portal Web para la gestión automatizada de circulares 20 de la UPIITA Registro CGPI: 20060737

El análisis se llevo a cabo entre manejadores de bases de datos relacionales y entre ellos se compararon las características que se consideraron importantes para el sistema como son portabilidad, pago de licencia, integridad referencial, manejo de vistas y uso de procedimientos almacenados, concluyendo que el que cumple con estas características es MySQL. Además de se requirió hacer una análisis sobre los lenguajes de programación a emplear la tabla 2 muestra esa comparativa.

Lenguajes de programación

J2SE PHP Microsoft .NET Perl

Portabilidad X X X

Software libre X X X

Programación Orientada a Objetos X X X

Car

acte

rístic

as

Manejo de excepciones nativo X X X

Tabla 2. Características de los lenguajes de programación. Otras características que se evaluaron se pueden observar en la tabla 3.: JSP ASP PHP Proceso de desarrollo abierto (open source)

El API JSP se beneficia de la extendida comunidad JAVA existente (Open Source)

ASP es específica de Microsoft que desarrolla sus procesos internamente.

PHP es Open Source

Tags y Scripts

Permite a los desarrolladores personalizar tags. La tecnología JSP usa Java como lenguaje de script.

ASP usa una combinación de tags y scripts, dependiendo en gran manera de los scripts, además de no permitir personalizar tags

Los scripts pueden ser ejecutados de manera independiente al OS

Código

Las páginas JSP están escritas en lenguaje Java.

Las páginas ASP están escritas en VBScript

Similar en sintaxis a C y a PERL

Tabla 3. Características extras de los lenguajes de programación.

Como se puede observar una JSP utiliza el lenguaje de programación java, de modo, que automáticamente, tiene las ventajas que ofrece este lenguaje como el alto nivel de portabilidad ofrecido por la API de Java, hereda de java la sólida seguridad de tipos, la extensibilidad para crear etiquetas personalizadas, etc. Como se observa en la tabla, JSP cuenta con varias ventajas sobre sus competidores las JSP escribe su parte dinámica en JAVA y una JSP es transportable a cualquier sistema operativo y servidores WEB ya que no esta restringido por la plataforma.

Página 5

Page 6: REPORTE FINAL DE LA PROPUESTA DE ESTUDIO GESTIN DE CIRCULARES 20 DE …sappi.ipn.mx/cgpi/archivos_anexo/20060737_3833.pdf · 2011-11-14 · 1.- Acceso personalizado a cada tipo de

Portal Web para la gestión automatizada de circulares 20 de la UPIITA Registro CGPI: 20060737

Para llevar a cabo la implementación del MVC utilizando JSP como parte del patrón, existe una herramienta llamada STRUTS JAVA Una vez que se eligieron los programas a emplear y los lenguajes de programación se procedió a realizar un análisis del sistema para lo cual se realizaron los casos de uso. Algunos de ellos de detallan en las figuras 3, 4 y 5.

ud Diagrama de dependencia

1. Portal Web para la gestión automatizada de circulares 20 de la UPIITA

1.3 Administrar activ idades complementarias

Administrar activ idades

complementarias

1.2 Administrar asignatura

Administrar asignatura

1.7 Gestionar activ idades complementarias

Gestionar activ idades

complementarias

1.6 Administrar circulares 20

Administrar circulares 20

1.5 Administrar grupos

Administrar grupos

1.4 Registrarse en el sistema

Registrarse en el sistema

Profesor

Jefe del departamento

Profesor

Jefe del departamento

Profesor

1.1 Dar de alta datos generales del profesor

Jefe del departamento

Dar de alta datos generales del

profesor

<<depende de>>>

<<depende de>>

<<depende de>>

<<depende de>>

<<depende de>>

Figura 3. Diagrama de dependencia

Página 6

Page 7: REPORTE FINAL DE LA PROPUESTA DE ESTUDIO GESTIN DE CIRCULARES 20 DE …sappi.ipn.mx/cgpi/archivos_anexo/20060737_3833.pdf · 2011-11-14 · 1.- Acceso personalizado a cada tipo de

Portal Web para la gestión automatizada de circulares 20 de la UPIITA Registro CGPI: 20060737

cd 1.1.1 Dar de alta datos personales

1.1.1 Dar de alta datos personales

Jefe del departamento

Introducir RFC

Introducir Nombre

Introducir teléfono de

casa

Introducir teléfono de

oficina

v alidar campo v acio

Error: el campo no

puede estar v acio

introducir teléfono celular

introducir correo

electrónico

«include»

«extend»

«include»

«include»

«include»

«include»

«include»

Figura 4: Casos de uso Alta de Datos Personales

Página 7

Page 8: REPORTE FINAL DE LA PROPUESTA DE ESTUDIO GESTIN DE CIRCULARES 20 DE …sappi.ipn.mx/cgpi/archivos_anexo/20060737_3833.pdf · 2011-11-14 · 1.- Acceso personalizado a cada tipo de

Portal Web para la gestión automatizada de circulares 20 de la UPIITA Registro CGPI: 20060737

ud 1.1.2 Dar de alta datos académicos

1.1.3 modificar datos generales del profesor

Introducir RFC

Introducir egresado de

Introducir especialidad

introducir grado máximo

de estudios

Jefe del departamentovalidar

campo v acio

Campo vacio

ingresar número de empleado

introducir número de

tarjeta

introducir fecha de

ingreso al IPN

introducir ecu

introducir plaza

introducir academía

introducir horas de

nombramiento

seleccionar categoria

seleccionar jornada de

trabajo

Jefe del departamento

Jefe del departamento

v alidar campo vacio

«include»

«include»

«include»

«include»

«include»

«include»

«extend»

«include»

«include»

«include»

«include»

«extend»

«include»

«include»

«include»

Figura 5. Caso de uso modificar datos generales del profesor

Con la realización de estos casos de uso se logro tener toda la parte de análisis del proyecto de manera que se sabe cuales son todas las actividades que se realizan sobre el sistema y quienes son los actores que intervienen en el proceso. Posteriormente se procedió a realizar lo que es el diseño de la Base de Datos quedando como se muestra en la figura 6:

Página 8

Page 9: REPORTE FINAL DE LA PROPUESTA DE ESTUDIO GESTIN DE CIRCULARES 20 DE …sappi.ipn.mx/cgpi/archivos_anexo/20060737_3833.pdf · 2011-11-14 · 1.- Acceso personalizado a cada tipo de

Portal Web para la gestión automatizada de circulares 20 de la UPIITA Registro CGPI: 20060737

Figura 6 Diagrama Relacional de la BD.

Por otro lado los diagramas de clases y secuencia permiten sacar cuales son las relaciones estructurales y de herencia entre clases. Donde cada clase cuenta con definición de atributos y operaciones. Y por otro lado los diagramas de secuencia permitieron proporcionar una vista integral del comportamiento del sistema; es decir, el diagrama de secuencia es más adecuado para observar la perspectiva cronológica de las interacciones, mostrando la secuencia explicita de mensajes, siendo mejores para especificaciones de tiempo real y para escenarios complejos. Esto se puede observar en la figura 7 y 8 correspondiendo a los diagramas de clases y de secuencia respectivamente.

Página 9

Page 10: REPORTE FINAL DE LA PROPUESTA DE ESTUDIO GESTIN DE CIRCULARES 20 DE …sappi.ipn.mx/cgpi/archivos_anexo/20060737_3833.pdf · 2011-11-14 · 1.- Acceso personalizado a cada tipo de

Portal Web para la gestión automatizada de circulares 20 de la UPIITA Registro CGPI: 20060737

cd Logical Model

TProfesorVO

- rfc: String- numEmpleado: int- nombre: String- telefonoCasa: String- telefonoCelular: String- e-mail: String- telefonoOficina: String- gradoMaximoEstudio: String- egresadoDe: String- especialidad: String- plaza: String- adscripcion: String- fechaIngresoIpn: date- horasNombramiento: int- categoria: String- numTarjeta: String- jornadaTrabajo: int- ecu: String- academia: String- claveAcceso: String

TProfesorDAO

+ ProfesorDAO(String, String, String) : void+ consultarPorRfc(String) : void+ insertar(profesorVO) : void+ eliminar(String) : void+ consultarProfesores() : profesorVO[]+ actualizarObjetoProfesor(profesorVO) : void+ cerrarConexion() : void

TActiv idadComplementariaVO

- idActividad: int- nombreActividad: String- clasificacion: String

+ setIdActividad(int) : void+ getIdActividad() : int+ setNombreActividad(String) : void+ getNombreActividad() : String+ setClasificacion(String) : void+ getClasificacion() : String

+ setRfc() : void+ getRfc() : String+ setNombre() : void+ getNombre() : String+ setDireccion() : void+ getDireccion() : String+ setTelefonoCasa() : void+ getTelefonoCasa() : String+ setTelefonoOficina() : void+ getTelefonoOficina() : void+ setTelefonoCelular() : void+ getTelefonoCelular() : String+ setGradoMaximoEstudio() : void+ getGradoMaximoEstudios() : String+ setEgresadoDe() : void+ getEgresadoDe() : String+ setEspecialidad() : void+ getEspecialidad() : String+ setAcademia() : void+ getAcademia() : String+ setAdscripcion() : void+ getAdscripcion() : String+ setFechaIngresoIpn() : void+ getFechaIngresoIpn() : date+ setHorasNombramiento() : void+ getHorasNombramiento() : int+ setCategoria() : void+ getCategoria() : String+ setNumeroTarjeta() : void+ getNumeroTarjeta() : String+ setJornadaDeTrabajo() : void+ getJornadaDeTrabajo() : int+ setEcu(String) : void+ getEcu() : string+ setPlaza(String) : void+ getPlaza() : String+ setClaveAcceso(String) : void+ getClaveAcceso() : String

TGrupoVO

- claveGrupo: String- cupo: int- turno: String

+ setClaveGrupo(String) : void+ getClaveGrupo(String) : String+ setCupo(String) : void+ getCupo() : int+ setTurno(String) : void+ getTurno() : String+ bajaGrupo(String) : boolean+ mostrarGrupo() : void

CargaFrenteAGrupoVO

- total: int- subtotal: int- dia[]: String- horaInicio[]: String- horaFinal[]: String

+ settotal(int) : void+ gettotal() : int+ setsubtotal(int) : void+ getsubtotal() : int+ setDia(String) : void+ getDia() : String[]+ setHoraInicio(String) : void+ getHoraInicio() : String[]+ setHoraFinal(String) : void+ getHoraFinal() : String[]

TCircular20VO

- hfgReg: int- desReg: int- TotalHoras: int- observaciones: String- fechaLlenado: date

+ crearCircular20() : void+ eliminarCircular20(String) : void+ modificarCircular(String) : void+ setHfgReg(int) : void+ getHfgReg() : int+ setdesReg(int) : void+ getdesReg() : int+ setTotalHoras(int) : void+ getTotalHoras() : int+ setObservaciones(String) : void+ getObservaciones() : String+ setFechaLlenado(date) : void+ getFechaLlenado() : date

TAsignaturaVO

- idAsignatura: int- semestre: String- nombreAsignatura: String- creditos: String- tipoAsignatura: String- modalidad: String- vigencia: String- objetivo: String

+ setIdAsignatura() : void+ getIdAsignatura() : int+ setSemestre(int) : void+ getSemestre() : int+ setNombreAsignatura(String) : void+ getNombreAsignatura() : String+ setCreditos(int) : void+ getCreditos() : String+ setTipoAsignatura(String) : void+ getTipoAsignatura() : String+ setModalidad(String) : void+ getModalidad() : String+ setVigencia(String) : void+ getVigencia() : String+ setObjetivo(String) : void+ getObjetivo() : String

TcargaActComplementariasVO

- lugarRealizacion: String- totalHoras: int- idCargaActComplementaria: int- dia[]: String- horaInicio[]: String- horaFinal[]: String

+ setLugarRealizacion(String) : void+ getLugarRealizacion() : string+ setIdCargaActComplementaria(int) : void+ getIdCargaActComplementaria() : int+ setDia(String) : void+ getDia() : String[]+ setHoraInicio(String) : void+ getHoraInicio() : String[]+ setHoraFinal(String) : void+ getHoraFinal() : Stringl[]

TAsignaturaDAO

+ AsignaturaDAO(String, String, String) : void+ consultarAsignaturas() : AsignaturaVO[]+ consultarPorIdAsignatura(int) : AsignaturaVO+ insertar(AsignaturaVO) : void+ eliminar(int) : void+ actualizaObjetoAsignatura(AsignaturaVO) : void+ cerrarConexion() : void

TActiv idadComplementariaDAO

+ actividadComplementariaDAO(String, String, String) : void+ consultarPorActComplementaria(int) : ActividadComplementariaVO+ consultarActividadComplementarias() : ActividadComplementariaVO[]+ insertar(int) : void+ eliminar(int) : void+ actualizarObjetoActComplementaria(ActividadComplementariaVO) : void+ cerrarConexion() : void

TCargaActComplementariasDAO

+ TCagaActComplementriaDAO(String, String, String) : void+ consultaPorcargaActComp(int) : TCargaActComplmentariaVO+ consultarCargasActCompl() : TCargaActComplementariaVO[]+ recuperaNumeroCargas(String, String) : int+ inserta(TCargaActComplementariaVO) : void+ eliminar(int) : void+ actualizarObjetoCarga(TCargaActComplementariaVO) : void+ cerrarConexion() : void

TCircular20DAO

+ Circular20DAO(String, String, String) : void+ consultarPorPeriodoRfc(String, String) : circular20VO+ insertar(Circular20VO) : void+ recuperaCargasComp(String, String) : CargasActComplementriaVO[]+ insertarActCompl(String, String) : void+ eliminar(int) : void+ actualizarObjetoCircular20(Circular20VO) : void+ consultarCirculares() : Circular20[]+ cerrarConexion() : void

TGrupoDAO

+ GrupoDAO(String, String, String) : void+ consultarPorIdGrupo(int) : GrupoVO+ consultarGrupos() : GrupoVO[]+ insertar(GrupoVO) : void+ eliminar(int) : void+ actualizaObjetoGrupo(GrupoVO) : void+ cerrarConexion() : void

TCargaFrenteAGrupoDAO

+ TCArgaFrenteAGRupoDAO(String, String, String) : void+ consultarCargaFRenteAGRupo(int) : TCargaFrenteAGRupoDAO+ consultarCargaFrenteAGrupo(String, String) : TCargaFrenteAGrupoDAO+ insertarCargaFrenteÁGrupo(TCargaFrenteAGrupoVO) : void+ eliminar(int) : void+ actualizarObjetoCargaFrenteAGrupo(TCArgaFrenteAGrupoVO) : void+ consultarCargasFrenteAGrupo() : TCargaFrenteA_GrupoVO+ cerrarConexion() : void

1

contiene

1..*

1..*

1

asocia

1..*

1..*

1..*tiene

1

1

1

llena

tiene

1..*1..*

Figura 7. Diagrama de clases A continuación se muestran solamente unos diagramas de secuencia como parte del diseño del proyecto. Con estos diagramas se intenta describir como se relacionan cada uno de los objetos que se consideraron en el sistema, en este caso se describen los objetos GUI y AsignaturaDAO para dar de alta una asignatura, así mismo se puede observar cuales son los atributos que se dan de alta quien lo toma y a quien se lo pasa para procesarlos.

Página 10

Page 11: REPORTE FINAL DE LA PROPUESTA DE ESTUDIO GESTIN DE CIRCULARES 20 DE …sappi.ipn.mx/cgpi/archivos_anexo/20060737_3833.pdf · 2011-11-14 · 1.- Acceso personalizado a cada tipo de

Portal Web para la gestión automatizada de circulares 20 de la UPIITA Registro CGPI: 20060737

sd ALTA ASIGNATURA

Jefe de departamento

: GUI : ASIGNATURADAO

Introducir Nombre

selecciona Semestre

selecciona Créditos

selecciona tipo Asignatura

seleciona Modalidad

Introducir Vigencia

seleciona Aceptar

inserta(objetoAsignaturaVO)

Figura 8. Diagrama de secuencia

Y pasando a la parte de implementación se puede decir que para el desarrollo del proyecto se necesito trabajar con páginas dinámicas donde se utilizó HTML y/o XML para poderse visualizar en cualquier explorador. Las interfaces Web tienen la finalidad que el administrador mediante una PC con Internet tenga acceso al sistema y pueda definir, modificar y consultar horarios. Además de que el sistema verifique el traslape de horarios al momento de definir o modificar. Sin que el propio sistema sea el que cree los horarios. Estas actividades permitirán generar las circulares 20, entregadas a cada profesor. Además de proporcionar al usuario una herramienta para poder determinar si cumple con los puntos necesarios para poderse promover. Ahora bien la forma en como se estructuro el MVC tomando como referencia las herramientas o arquitecturas a emplear se puede observar en la figura 9.

Página 11

Page 12: REPORTE FINAL DE LA PROPUESTA DE ESTUDIO GESTIN DE CIRCULARES 20 DE …sappi.ipn.mx/cgpi/archivos_anexo/20060737_3833.pdf · 2011-11-14 · 1.- Acceso personalizado a cada tipo de

Portal Web para la gestión automatizada de circulares 20 de la UPIITA Registro CGPI: 20060737

Figura 9. Arquitectura del sistema basada en MVC En la figura 9 se puede observar como se tienen contemplados las JSP, servlets y el contenedor de EJB, también en la figura se puede observar que se encuentra la BD para el almacenamiento de la información El MVC es un patrón de arquitectura ampliamente utilizado en múltiples plataformas y lenguajes en el caso de JAVA se puede implementar mediante el Framework Struts. Los Struts son código abierto que se emplearon para la construcción de la aplicación Web basándose en Java Servlet y y tecnologías de JavaServer Pages (JSP). El Framework de Struts proporciona una visión unificada de la cuál las aplicaciones del Internet se pueden basar. Utilizando Struts como la base, nos concentramos en la construcción de la lógica de negocio para la aplicación. Como ya se menciono anteriormente el MVC se divide en 3 capas las cuales son el modelo, la vista y el controlador. El “modelo” dentro del sistema MVC se subdivide en dos subsistemas: • La parte que representa el estado interno del sistema y • Las acciones que pueden realizarse para modificar dicho estado. En general, el desarrollo de la parte del modelo de la arquitectura MVC se centra en la creación de beans que soportan todos los requerimientos funcionales de la aplicación siendo estos beans muy dependientes de la aplicación que se quiera desarrollar, pero generalmente se pueden clasificar en varias categorías. El “controlador” se centra en la recepción de solicitudes por parte del cliente, que van desde la recepción de datos del usuario, las verificaciones de forma y la selección de un

Página 12

Page 13: REPORTE FINAL DE LA PROPUESTA DE ESTUDIO GESTIN DE CIRCULARES 20 DE …sappi.ipn.mx/cgpi/archivos_anexo/20060737_3833.pdf · 2011-11-14 · 1.- Acceso personalizado a cada tipo de

Portal Web para la gestión automatizada de circulares 20 de la UPIITA Registro CGPI: 20060737

componente del modelo a ser llamado. Este cliente suele ser un usuario ejecutando un navegador Web. El controlador decide qué lógica de la aplicación debe ser ejecutada en función de la petición del cliente, y posteriormente delega la responsabilidad de producir la siguiente fase del interfaz de usuario a una determinada “vista”. El componente principal del controlador es un servlet de la clase “ActionServlet”. Este servlet se configura definiendo un conjunto de “ActionMappings”. Una “ActionMapping” no es más que una ruta que se asocia a una determinada petición HTML y que típicamente especifica el nombre completo de una clase de tipo “Action”. Todas las acciones son subclases de la clase “Action”. Las acciones encapsulan llamadas a las clases que representan la lógica de negocio, interpretan los resultados y eventualmente redireccionan el control al componente de la “vista” apropiado para crear una respuesta para el usuario Resultados Los resultados obtenidos es un portal Web con un acceso personalizado para las personas que usan el sistema y un acceso simplificado para los usuarios que requieran una valoración de puntuación sobre puntuación docente. Meta 1: Análisis general del sistema. En esta parte se llevo a cabo entrevistas a las personas que realizan las actividades como es el Jefe de la DOPE, una vez recopilada la información se procedió a modelarla mediante UML realizando los casos de uso Meta 2: Análisis de las tecnologías a emplear de acuerdo a la información recopilada. De acuerdo a la información que se recopilo se opto por utilizar como manejador de BD a MySql y como lenguaje de programación JAVA, como tecnología para la implementación del MVC se empleo Struts. Los detalles de elegir uno u otro se ve reflejado en la sección de métodos y materiales. Meta 3: Análisis y diseño de los servicios de directorios. En esta parte se utilizaron BD relacionales, debido a que una vez que se analizó la información se vio el hecho de que la mayoría de la información que se estaba considerando era para estarse constantemente, hecho que en un árbol de directorios no funciona de manera eficiente, ya que los árboles de directorios están diseñados espacialmente para operar información de poca actualización. Meta 4: Aplicar el MVC al sistema. En esta parte se diseñaron las clases que componen al modelo, vista y controlador; un ejemplo de estas clases se muestra en la figura 10:

Página 13

Page 14: REPORTE FINAL DE LA PROPUESTA DE ESTUDIO GESTIN DE CIRCULARES 20 DE …sappi.ipn.mx/cgpi/archivos_anexo/20060737_3833.pdf · 2011-11-14 · 1.- Acceso personalizado a cada tipo de

Portal Web para la gestión automatizada de circulares 20 de la UPIITA Registro CGPI: 20060737

Figura 10. Clases que implementan la parte de Struts

Meta 5: Diseño de la Base de datos: En esta parte se construyo el diseño modelo E/R y modelo relacional de la base de datos. El modelo relacional se incluye en la sección de métodos y materiales. Meta 6: Diseño e implementación de las vistas. En esta meta se programaron las páginas Web para cada uno de los usuarios, una de estas vistas es la que se muestra en la figura 11.

Página 14

Page 15: REPORTE FINAL DE LA PROPUESTA DE ESTUDIO GESTIN DE CIRCULARES 20 DE …sappi.ipn.mx/cgpi/archivos_anexo/20060737_3833.pdf · 2011-11-14 · 1.- Acceso personalizado a cada tipo de

Portal Web para la gestión automatizada de circulares 20 de la UPIITA Registro CGPI: 20060737

Figura 11. Vista que muestra la creación de una circular 20.

Además se requirió construir las bitácoras para: Grupos, profesores, actividad complementaria, realizando para cada uno de ellos, las paginas correspondientes a modificar, eliminar, visualizar, consultar todo. Meta 7: Diseño e implementación del módulo que permita la interacción del sistema. Esta parte se logro desarrollando las clases y programándose en JAVA, para esto se construyeron clases que llevaron la lógica de negocio llamadas DAO (Data Access Object). Meta 8: Diseño de las paginas HTML. Se terminaron de construir las interfaces gráficas correspondientes al módulo de promoción docente. Meta 9: Diseño de distribución del sistema. Para esto se llevo a cabo la generación de los diagramas de colaboración y diagramas de distribución modelándose apropiadamente en UML Meta 10: Pruebas funcionales al sistema: Se establecieron pruebas que nos permiten verificar si el sistema funciona adecuadamente y si cumple con los requisitos de validación que se tenían contemplado desde un comienzo. Meta 11: Realización de estadísticas. En esta parte de programo un módulo de estadísticas que permitieron que un profesor pudiera saber si cumple o no con los puntos necesarios para poderse promover.

Página 15

Page 16: REPORTE FINAL DE LA PROPUESTA DE ESTUDIO GESTIN DE CIRCULARES 20 DE …sappi.ipn.mx/cgpi/archivos_anexo/20060737_3833.pdf · 2011-11-14 · 1.- Acceso personalizado a cada tipo de

Portal Web para la gestión automatizada de circulares 20 de la UPIITA Registro CGPI: 20060737

Meta 12: Realización de un manual de usuario. Se desarrollo un manual de usuario para los usuarios del sistema, en el se indican cuales son los pasos a seguir para el uso del sistema. Meta 13: Realización del reporte final. Impacto Con el desarrollo de este portal Web en la unidad UPIITA se tiene la convención de que se agilizará el proceso de revisión de promoción docente y al mismo tiempo el tiempo de desarrollar las circulares 20, ya que se puede saber más rápidamente si existen o no traslapes en los horarios de los profesores por lo que el impacto ayuda especialmente en el campo educativo.

Página 16