Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
UNIVERSIDAD CENTRAL DEL ECUADOR
FACULTAD DE INGENIERÍA CIENCIAS FÍSICAS Y MATEMÁTICA
CARRERA DE INGENIERÍA INFORMÁTICA
“SISTEMA DE SEGUIMIENTO Y CONTROL DE PORTAFOLIO DOCENTE”
TRABAJO DE GRADUACIÓN PREVIO A LA OBTENCIÓN DEL TÍTULO DE
INGENIERO INFORMÁTICO
AUTOR:
ANA KARINA CARRERA CHIZA
TUTOR:
INGENIERO FRANZ DEL POZO
QUITO – ECUADOR
2015
II
DEDICATORIA
A Dios, por estar siempre a mi lado dándome vida, fortaleza e iluminar mi
camino para seguir adelante.
A mis padres, por velar siempre por mi bienestar, por creer en mí y ser un
apoyo incondicional.
A mi esposo Diego, por su cariño, paciencia, sacrificio y apoyo en todo
momento, por no permitir que decaiga y acompañarme en buenos y malos
momentos.
A mis hijos, por llenar mi vida de alegría y ser la fuerza para seguir adelante
día a día.
Ana
III
AGRADECIMIENTO
Con estas líneas quiero hacer llegar mi más sincero agradecimiento a todas
las personas que con su apoyo, paciencia y cariño han colaborado en la
realización del presente trabajo.
Agradezco a la Universidad Central del Ecuador, a la Facultad de Ingeniería
Ciencias Físicas y Matemática por ser mi segundo hogar durante mi carrera
universitaria, y en especial a todos los docentes que aportaron de una u otra
manera en mi formación, quienes, con paciencia guiaron mi camino para hoy
poder alcanzar esta meta.
De igual manera hago extensivo mi agradecimiento a toda mi familia y
amigos, que con su apoyo, comprensión y cariño, me motivaron a seguir y
culminar este trabajo.
Ana
IV
AUTORIZACIÓN DE LA AUTORÍA INTELECTUAL
V
CERTIFICACIÓN
VI
VII
RESULTADO DE TRABAJO DE GRADO
VIII
CONTENIDO
DEDICATORIA ........................................................................................................................II
AGRADECIMIENTO ................................................................................................................III
AUTORIZACIÓN DE LA AUTORÍA INTELECTUAL......................................................................... IV
CERTIFICACIÓN ..................................................................................................................... V
RESULTADO DE TRABAJO DE GRADO ......................................................................................VII
CONTENIDO........................................................................................................................VIII
LISTA DE FIGURAS .................................................................................................................XI
LISTA DE DIAGRAMAS...........................................................................................................XII
LISTA DE TABLAS ................................................................................................................. XIII
RESUMEN ...........................................................................................................................XIV
ABSTRACT .......................................................................................................................... XV
INTRODUCCIÓN .....................................................................................................................1
CAPITULO I ............................................................................................................................3
1. PRESENTACIÓN DEL PROBLEMA...........................................................................................................3
1.1 PLANTEAMIENTO DEL PROBLEMA .......................................................................................................3
1.2 FORMULACIÓN DEL PROBLEMA ..........................................................................................................3
1.3 INTERROGANTES DEL PROBLEMA ................................................................................................................4
1.4 OBJETIVOS DE LA INVESTIGACIÓN .....................................................................................................4
1.4.1 Objetivo General .........................................................................................................................4
1.4.2 Objetivos Específicos ...................................................................................................................4
1.5 JUSTIFICACIÓN ....................................................................................................................................5
1.6 ALCANCE ..............................................................................................................................................5
CAPITULO II ...........................................................................................................................7
2. ANTECEDENTE .......................................................................................................................................7
2.1MARCO TEÓRICO .................................................................................................................................8
2.1.1Análisis y Diseño ...........................................................................................................................8
2.1.2 Sistema.........................................................................................................................................8
2.1.3 Implementación ..........................................................................................................................8
IX
2.1.4 Seguimiento .................................................................................................................................9
2.1.5 Evaluación....................................................................................................................................9
2.1.6. Control ........................................................................................................................................9
2.2 METODOLOGÍA ...................................................................................................................................9
2.2.1Planificación ...............................................................................................................................10
2.2.2 Análisis de riesgos .....................................................................................................................10
2.2.3 Ingeniería ...................................................................................................................................10
2.2.4 Evaluación el cliente..................................................................................................................11
2.2.5 Ventajas del Modelo Espiral .....................................................................................................11
2.2.6 Desventajas del Modelo Espiral ...............................................................................................11
2.3. INGENIERÍA DE SOFTWARE ......................................................................................................................11
2.4 LENGUAJE DE MODELAMIENTO UNIFICADO (UML) ....................................................................................12
2.4.1Diagramas de casos de uso .......................................................................................................14
2.4.2 Diagrama de Secuencia ............................................................................................................17
2.4.3. Identificación de Actores en la Aplicación ..............................................................................18
2.5 HERRAMIENTAS DE DESARROLLO. ...................................................................................................18
2.5.1 Java: ...........................................................................................................................................18
2.6 SERVIDOR DE APLICACIONES ....................................................................................................................30
2.6.1 JBoss ...........................................................................................................................................30
2.7 BASE DE DATOS .................................................................................................................................31
2.7.1 PostgreSQL.................................................................................................................................31
2.8 MODELADOR DE BASE DE DATOS.....................................................................................................32
2.8.1 Power Designer .........................................................................................................................32
CAPITULO III ........................................................................................................................ 34
3. MARCO METODOLÓGICO ...................................................................................................................34
3.1 DIAGRAMACIÓN DEL SISTEMA ..................................................................................................................34
3.1.1 Actores que Intervienen en el Sistema.....................................................................................34
3.1.2 Diagrama General de los Casos de Uso del Sistema de Seguimiento y Control de Portafolio
Docente. ..............................................................................................................................................34
3.1.3 Diagrama General de Secuencia del Sistema de Seguimiento y Control de Portafolio
Docente. ..............................................................................................................................................35
3.1.4 Detalle de los Diferentes Casos de Uso del Sistema de Seguimiento y Control de Portafolio
Docente. ..............................................................................................................................................36
CAPITULO IV ........................................................................................................................ 43
4. CONCLUSIONES Y RECOMENDACIONES ............................................................................................43
4.1 CONCLUSIONES .................................................................................................................................43
4.2 RECOMENDACIONES.........................................................................................................................43
X
GLOSARIO DE TÉRMINOS ...................................................................................................... 44
REFERENCIAS BIBLIOGRÁFICAS .............................................................................................. 49
ANEXOS A ........................................................................................................................... 51
ANEXO B ............................................................................................................................. 73
ANEXO C ............................................................................................................................. 97
XI
LISTA DE FIGURAS
Figura 2 1 Modelo en Espiral ..............................................................................................10
Figura 2 2 Usuario .............................................................................................................15
Figura 2 3 Caso de Uso .......................................................................................................15
Figura 2 4 Asociación..........................................................................................................16
Figura 2 5 Dependencia ......................................................................................................16
Figura 2 6 Generalización ...................................................................................................16
Figura 2 7 Ejemplo de Diagrama de Secuencia ....................................................................17
Figura 2 8 Representación gráfica de java bytecodes. .........................................................20
Figura 2 9 Representación gráfica de la máquina virtual de java .........................................21
Figura 2 10 Representación gráfica de programa ejecutado en java....................................22
Figura 2 11 Arquitectura J2EE .............................................................................................24
Figura 2 12 Relación entre los conceptos JPA .....................................................................27
Figura 2 13 Representación de tipos de beans de sesión. ...................................................29
XII
LISTA DE DIAGRAMAS
Diagrama 3 1 Administración de Claves. .............................................................................34
Diagrama 3 2 Representación General de Sistema de Portafolio Docente. ..........................35
Diagrama 3 3 Representación de Secuencia de Sistema de Portafolio Docente. ..................35
Diagrama 3 4 Registro de Nuevo Usuario en Sistema. .........................................................36
Diagrama 3 5 Ingreso de pre y co requisitos. ......................................................................37
Diagrama 3 6 Ingreso al Sistema. ........................................................................................38
Diagrama 3 7 Ingreso de Información. ................................................................................39
Diagrama 3 8 Verificación de Cumplimiento de Syllabus. ....................................................40
Diagrama 3 9 Representación generación de reportes........................................................41
Diagrama 3 10 Representación de Carga de Bibliografía. ....................................................42
XIII
LISTA DE TABLAS
Tabla 1 Ingreso nuevo usuario al sistema. ..........................................................................37
Tabla 2 Ingreso pre y co requisitos. ....................................................................................38
Tabla 3 Ingreso al Sistema. .................................................................................................39
Tabla 4 Ingreso de Información. .........................................................................................40
Tabla 5 Verificación de cumplimiento de syllabus. .............................................................41
Tabla 6 Generación de Reportes. ........................................................................................41
Tabla 7 Carga de Bibliografía. .............................................................................................42
XIV
RESUMEN
“ANALISIS Y DISEÑO DEL SISTEMA DE SEGUIMIENTO Y CONTROL
DE PORTAFOLIO DOCENTE PARA LA FACULTAD DE INGENIERÍA
CIENCIAS FÍSICAS Y MATEMÁTICA” La dirección de carrera de la
Facultad de Ingeniería Ciencias Físicas y Matemática es la entidad
encargada del control y seguimiento de cumplimientos de la labor docente,
dentro de este aspecto se encuentra el manejo de la información del
portafolio docente, el cumplimiento de competencias, alcanzar los objetivos
planteados (syllabus) en la materia impartida. En la actualidad este proceso
se lo realiza en forma manual, por lo que se debe automatizar a través de un
sistema informático que cumpla con los requerimientos de cada Dirección de
Carrera.
La creación del Sistema permitirá llevar a cabo el seguimiento del portafolio
docente, para que, de esta manera se logre un control continuo, que
permitirá evidenciar los avances en la materia, los materiales utilizados,
bibliografía y ayudará en la organización del docente.
El sistema emitirá reportes que ayudarán a las autoridades en la toma de
decisiones, como: propiciar capacitaciones, promociones, de igual manera
servirá para valorar la labor docente.
Para el desarrollo del sistema se realizó un análisis de los requerimientos y
necesidades de los docentes y Dirección de Carrera, por medio de la
recolección de datos, elaboración de diagramas de flujo y la unificación de
procesos.
DESCRIPTORES:
PORTAFOLIO DOCENTE/ SEGUIMIENTO Y CONTROL / DIRECCIÓN DE
CARRERA/ HOJA DE VIDA / SYLLABUS/ DOCUMENTOS/
CUMPLIMIENTO / REPORTES/ SISTEMA AUTOMATIZACIÓN.
XV
ABSTRACT
“Analysis and design of the monitoring and control system of the
professors' portfolio for the faculty of Engineering, physical sciences
and maths” The directorate of the faculty of Engineering, physical sciences
and maths is the entity responsible for control and monitoring for the teacher
activities compliance, the manage for the professor's portfolio information,
compliance of proficiencies, achieve the stated objectives in their subjects.
Nowadays this is a manual process and it is necessary to automate whit a
computer application that comply the requirements of each school
directorates.
The develop of this application will allow to monitoring of the professors'
portfolio in order to make a continuous control, to allow evidence of the
advances in the subjects, used materials, bibliography and help to teachers
to organize his work.
The application allow to make reports to help authorities in decision making
in: to plan trainings, promote teachers and evaluate the professor's labor.
For the development of this application, was performed an analysis for the
requirements and needs for the professors and the directorate of the schools,
collecting data, create flow diagrams and unification of processes
KEYWORDS:
TEACHING PORTFOLIO/ MONITORING AND CONTROL/CAREER
MANAGEMENT/CURRICULUM/ SYLLABUS/ DOCUMENTS/
COMPLIANCE/ REPORT/ AUTOMATION SYSTEM
XVI
XVII
1
INTRODUCCIÓN
La formación docente para el desarrollo de toda institución de educación
superior, es un principio determinante, evaluar la calidad pedagógica de los
docentes y fortalecer el proceso de enseñanza-aprendizaje, incidirá en la
mejora de la calidad de la educación de sus estudiantes.
La prioridad de toda Institución de Educación Superior (IES), contempla sus
acciones en torno a mejorar la calidad educativa, por ello la formación
profesional, actualización y desarrollo de sus docentes, es una estrategia
esencialmente necesaria.
Con esta premisa y como lo establece la LEY ORGÁNICA DE EDUCACIÓN
SUPERIOR en el Art. 6.- Derechos de los profesores o profesoras e
investigadores o investigadoras en el inciso h) establece:
“Recibir una capacitación periódica acorde a su formación profesional y la
cátedra que imparta, que fomente e incentive la superación personal
académica y pedagógica”. (Ley Orgánica de Educación Superior, 2010)
Los docentes pueden mejorar su docencia capacitándose, sin embargo es
importante el uso de una herramienta complementaria que apoye en el
proceso de auto evaluación y consejería, en el cual mediante la reflexión el
docente describa y analice los resultados de su enseñanza, toma
conciencia de los factores que influyeron en le en el éxito o en el fracaso de
sus actividad y define áreas y propósitos de mejoramiento. (María Angélica
Gutara Hidalgo, 2006, Portafolio Docentes)
La formación continua, el desarrollo profesional y el análisis del proceso de
aprender a enseñar, han sido objeto de múltiples estudios e investigaciones,
la (OCDE, citado en Marcelo y Vaillant, 2009), informa que las etapas de
formación inicial, inserción y desarrollo profesional deberían estar mucho
más interrelacionadas para crear un aprendizaje coherente y un sistema de
2
desarrollo para los profesores, una perspectiva de aprendizaje a lo largo de
la vida para los profesores, y una mejora en su práctica docente.
El presente trabajo sobre el “SISTEMA DE SEGUIMIENTO Y CONTROL
DEL PORTAFOLIO DOCENTE” se propone realizar un sistema que apoye a
las autoridades y docente en la sistematización de información para hacer
un seguimiento de los temas impartidos, logros alcanzados para tomar
medidas que apoyen y lo lleven a un mejoramiento continuo.
El sistema propuesto ayudará a llevar un control de los objetivos educativos,
la metodología de enseñanza-aprendizaje, las formas de evaluación y los
resultados obtenidos. Se trata de una herramienta para llevar a cabo una
evaluación formativa de la docencia, para retroalimentar al profesor/a y
ayudarle a reconocer sus potencialidades y los aspectos que requiere
modificar.
Permitirá que la Dirección de Escuela cuente con información tanto para
hacer una observación profesional y objetiva de los docentes, como para
comprobar el cumplimiento y seguimiento de los planes de estudios.
3
CAPITULO I
1. PRESENTACIÓN DEL PROBLEMA 1.1 Planteamiento del Problema
El Mandato Constituyente No. 14, expedido por la Asamblea Nacional
Constituyente el 22 de julio de 2008, establece la obligación del Consejo
Nacional de Evaluación y Acreditación (CONEA) de elaborar un informe
técnico sobre el nivel de desempeño institucional de los establecimientos de
educación superior, a fin de garantizar su calidad, propiciando su
depuración y mejoramiento (Mandato Constituyente 14)
Muchas veces la evaluación de la docencia se limita a la valoración que
hacen los estudiantes de los profesores, a través de encuestas de opinión.
Cuando esta práctica constituye el único medio de apreciación del
desempeño docente, tiene grandes limitaciones ya que sólo considera
aspectos parciales. (María Luisa Crispín, 1998, pg.2. Uso de portafolio como
herramienta para mejorar la docencia)
Actualmente la información sobre los objetivos educativos , la metodología
de enseñanza-aprendizaje, formas de evaluación y los resultados obtenidos,
que comprueben logros del docente no está sistematizada, lo que dificulta
conocer la calidad docente, a más del cumplimiento de los planes de
estudio.
1.2 Formulación del Problema
Actualmente la información académica del docente es manejada de manera
individual, la cual es llevada de forma digital apoyándose de dispositivos de
almacenamiento tales como pen drive, Smartphone, etc, o en muchos casos
manualmente; lo que dificulta tener un control del trabajo, herramientas,
metodología utilizada y cumplimiento de los objetivos, competencias y
resultados planteados en cada asignatura.
4
De tal manera que se plantea desarrollar un sistema de seguimiento y
control de portafolio docente para ayudar en la organización, manejo y
control de la información académica de los docentes de las diferentes
carreras de la Facultad de Ingeniería Ciencias Físicas y Matemática.
1.3 Interrogantes del Problema
Una de las ventajas de la sistematización del portafolio docente es tener un
seguimiento de los registros de cada docente al igual que la emisión de los
diferentes reportes los cuales servirán para la planificación, organización y
toma de decisiones de las autoridades de las Direcciones de Escuela.
1.4 OBJETIVOS DE LA INVESTIGACIÓN
1.4.1 Objetivo General
Analizar modelos existentes, proponer y desarrollar un sistema de
seguimiento y control del portafolio docente, que cumpla con las
normativas institucionales vigentes.
1.4.2 Objetivos Específicos
El sistema pretende:
Establecer un modelo que sea una herramienta que sirva para
retroalimentar al docente y ayudarle a reconocer los avances en la
materia impartida.
Proporcionar soluciones para que exista una mayor flujo de
información, un mejor registro de datos y manejo de la información
más rápida.
Potenciar la organización, planificación en el propio proceso
formativo.
Obtener reportes que permitan realizar una evaluación de los logros
planteados por el docente en cada asignatura.
Sistematizar el manejo de la información docente.
5
Aplicar herramientas OPEN SOURCE, tanto en el desarrollo de las
aplicaciones como en el diseño de base de datos
1.5 JUSTIFICACIÓN
Una docencia de calidad es aquella en la que existe coherencia entre los
objetivos educativos, la metodología de enseñanza-aprendizaje, las formas
de evaluación y los resultados obtenidos. La calidad docente está
determinada en función de qué tanto el docente está llevando a cabo
acciones eficaces para el logro de los objetivos de aprendizaje, ya que la
mejor forma de evaluar a un docente es a través del aprendizaje de los
estudiantes. (Crispín, 1998, pg. 3, Uso de portafolio como herramienta para
mejorar la docencia)
Por esta razón es preciso recoger, presentar evidencias y datos concretos
sobre la efectividad de la enseñanza docente que ayude a reflexionar sobre
aquellas áreas de su enseñanza que necesitan mejorar y que evidencie
cómo ha evolucionado su enseñanza en el tiempo.
Es por ello que se hace indispensable manejar de manera histórica
documental y estructurada la información
Para ello es preciso facilitar el ingreso y el acceso a la información a través
de un modelo que permita evidenciar resultados como el cumplimiento de
planes de estudio y que apoye en la toma de decisiones.
1.6 ALCANCE
El Sistema de Seguimiento y Control de Formación Docente, pretende
proporcionar una herramienta informática amigable de fácil navegación para
los usuarios: administradores, docentes, con la finalidad de optimizar el
manejo de información académica y procesos pertenecientes en la actividad
administrativa, dado que la información contenida en la base de datos
6
permitirá las consultas respectivas y la emisión de reportes según las
necesidades del usuario, consecuentemente se encargara de:
Registro de facultad.
Registro de materia.
Registro de docentes.
Registro de información docente(hoja de vida)
Registro de Syllabus.
Verificación de cumplimiento de syllabus
Reporte de docentes
Reporte de Syllabus
Carga de Documentación.
7
CAPITULO II
2. ANTECEDENTE
Los docentes manejan su información de forma digital en sus ordenadores,
portátiles, pen drive o de forma manual. El control del cumplimiento de la
labor docente no es controlado de forma sistemática, se propone la creación
de una herramienta, que ayude a organizar, manejar y tener acceso a ésta
desde cualquier lugar y que ayude a las autoridades en la verificación del
cumplimiento de los planes de estudio.
El uso de portafolio docente incide en el proceso de aprendizaje de los
alumnos, esta información genera mejoras significativas en los procesos de
aprendizaje, ya que, generalmente, se revisan las tendencias, los
paradigmas emergentes y los avances en el conocimiento en los diversos
campos de especialización, así como las técnicas y modelos pedagógicos.
Es decir, se refleja en un mejor aprendizaje de los alumnos. (Gestión
Universitaria y Procesos de Aprendizaje para la Calidad Educativa, Andrés
Valdez Zepeda, 2012, pg. 10).
El portafolio permite establecer la unión entre los factores objetivos y
subjetivos que influyen y determinan la práctica de la docencia y el
aprendizaje; permite documentar mejor los: “qué, cuándo, é, bajo qué
condiciones, con qué métodos y que resultados”, se llevó a cabo la docencia
y el aprendizaje
Puede ser considerado como una herramienta para el aprendizaje, la
reflexión de desarrollo de habilidades o competencias y, en otros casos, una
herramienta certificadora de contenidos dentro de una unidad, curso
académico o asignatura. Así pues como herramienta de evaluación puede
realizarse bajo dos modalidades con distintas características tanto en la
forma de recopilar y procesar la información como en la evaluación de su
desarrollo. (El portafolio virtual como herramienta para la práctica reflexiva,
Campaña K, pág. 2, 2013)
8
El portafolio digital Incorpora la tecnología al proceso de evaluación y puede
contener materiales diversos posibilitando una actualización y gestión más
sencilla. Cuenta con la versatilidad del medio digital, en la facilidad de
almacenar información (el espacio ya no es físico sino virtual), en su
capacidad para ampliar o modificar los documentos de trabajo, en su
“permanencia” y en la posibilidad de compartirlo con cualquier persona sin
restricciones espacio-temporales. (Erazo Carmen, “Portafolio de Técnicas de
Información y Comunicación”, pág. 15, 2012)
2.1MARCO TEÓRICO
2.1.1Análisis y Diseño
Es la disposición y orden de las partes dentro de un todo. También
puede entenderse como un sistema de conceptos coherentes
enlazados, cuyo objetivo es precisar la esencia del objeto de estudio.
Tanto la realidad como el lenguaje tienen estructura. Uno de los
objetivos de la semántica y de la ciencia consiste en que la estructura
del lenguaje refleje fielmente la estructura de la realidad.
2.1.2 Sistema
Es una reunión o conjunto de elementos relacionados. Puede
estructurarse de conceptos, objetos y sujetos.
Los sistemas se compones de otros sistemas a los que llámanos
subsistemas. En la mayoría de los casos, podemos pensar en
sistemas más grandes o súper ordinales, los cuales comprenden
otros sistemas que llamamos sistema total y sistema integral. (Lihue
Videla, “Los sistemas tecnología”,2011)
2.1.3 Implementación
Es la programación de un determinado algoritmo en un lenguaje
específico. Por ejemplo, un algoritmo en pseudocódigo se implementa
en forma de código de un lenguaje de programación.
9
2.1.4 Seguimiento
Se define como un informe continuo, realizado por una tercera parte
independiente, sobre la situación y las cuestiones vinculadas a los
riesgos identificados en la implementación del proyecto.
2.1.5 Evaluación
Tiene como finalidad determinar el grado de eficacia y eficiencia, con
que han sido empleados los recursos destinados a alcanzar los
objetivos previstos, posibilitando la determinación de las desviaciones
y la adopción de medidas correctivas que garanticen el cumplimiento
adecuado de las metas presupuestadas.
2.1.6. Control
Es una de las etapas más importantes en el momento en que el
sistema ya se encuentra implementado, pues la persona encargada
de la administración del sistema necesita utilizar un buen mecanismo
que le ayude a cerciorarse si los hechos van de acuerdo a los
objetivos planteados.
2.2 METODOLOGÍA
El sistema seguirá el modelo en espiral en el desarrollo del software es un
modelo meta del ciclo de vida del software donde el esfuerzo del desarrollo
es iterativo, tan pronto culmina un esfuerzo del desarrollo por ahí mismo
comienza otro; además en cada ejecución del desarrollo se sigue cuatro
pasos principales:
Determinar o fijar los objetivos: En este paso se definen los objetivos
específicos para posteriormente identifica las limitaciones del proceso y del
sistema de software, además se diseña una planificación detallada de
gestión y se identifican los riesgos.
Análisis del riesgo: En este paso se efectúa un análisis detallado para cada
uno de los riesgos identificados del proyecto, se definen los pasos a seguir
10
para reducir los riesgos y luego del análisis de estos riesgos se planean
estrategias alternativas.
Desarrollar, verificar y validar: En este tercer paso, después del análisis de
riesgo, se eligen un paradigma para el desarrollo del sistema de software y
se lo desarrolla.
Planificar: En este último paso es donde el proyecto se revisa y se toma la
decisión si se debe continuar con un ciclo posterior al de la espiral. Si se
decide continuar, se desarrollan los planes para la siguiente fase del
proyecto.
Figura 2 1 Modelo en Espiral
2.2.1Planificación
Esta tarea es necesaria aplicarla para poder definir los recursos, el
tiempo y otras informaciones relacionadas con el proyecto, es decir,
son todos los requerimientos.
2.2.2 Análisis de riesgos
Esta es una de las tareas principales por lo que se aplica el modelo en
espiral, es requerida para evaluar los riesgos técnicos y otras
informaciones relacionadas con el proyecto.
2.2.3 Ingeniería
Esta es una tarea necesaria ya que se requiere construir una o más
representaciones de la aplicación.
11
2.2.4 Evaluación el cliente
Esta también es una tarea principal, necesaria para adquirir la
reacción del cliente según la evaluación de las representaciones del
software creadas durante la etapa de ingeniería y la de
implementación creada durante la etapa de instalación. Llegando así
a la versión final que cumplirá con los requisitos que el Sistema tenía
por objetivo.
2.2.5 Ventajas del Modelo Espiral
No requiere una definición completa de los requerimientos del
software a desarrollar para comenzar su funcionalidad.
En la terminación de un producto desde el final de la primera iteración
es muy factible aprobar los requisitos.
Sufrir retrasos corre un riesgo menor, porque se comprueban los
conflictos presentados tempranamente y existe la forma de poder
corregirlos a tiempo.
2.2.6 Desventajas del Modelo Espiral
Existe complicación cuando se evalúa los riesgos.
Se requiere la participación continua por parte del cliente.
Se pierde tiempo al volver producir inicialmente una especificación
completa de los requerimientos cuando se modifica o mejora el
software
2.3. Ingeniería de Software
La ingeniería de software es una disciplina formada por un conjunto de
métodos, herramientas y técnicas que se utilizan en el desarrollo de los
programas informáticos (software). Esta disciplina trasciende la actividad de
programación, que es el pilar fundamental a la hora de crear una aplicación.
Se encarga de toda la gestión del proyecto para que éste se pueda
desarrollar en un plazo determinado y con el presupuesto previsto. La
ingeniería de software, por lo tanto, incluye el análisis previo de la situación,
12
el diseño del proyecto, el desarrollo del software, las pruebas necesarias
para confirmar su correcto funcionamiento y la implementación del sistema.
Importancia La ingeniería de software se centra en los métodos,
herramientas y procedimientos para establecer un control en el desarrollo del
software, lo que permite construir software de calidad de forma productiva y
evitando posibles errores humanos. De hecho, la predictibilidad de los
resultados es uno de los factores que garantizan la calidad de los sistemas.
Un mercado emergente en nuestro país, que refleja cómo el personal
directivo de las empresas cada vez se preocupa más de la repercusión de
los procesos de ingeniería de software en sus objetivos de negocio.
Automatizar procesos en el desarrollo del software supone mejorar las
aplicaciones, disminuir las posibles incidencias en el mismo, lo que, para las
empresas va a suponer, optimizar las funcionalidades y maximizar el
rendimiento de sus productos software y de su cartera de servicios. Si bien
durante muchos años, el outsourcing de pruebas se percibió como un nicho
híper-especializado ocupado por pocos actores, en la actualidad cada vez
más compañías y asociaciones, como la Escuela Técnica Superior de
Ingenieros Industriales, Gesein o ATI (Asociación de Técnicos de
Informática), están muy involucrados en esta tecnología.
2.4 Lenguaje de Modelamiento Unificado (UML)
Un lenguaje que proporciona un vocabulario y una reglas para permitir una
comunicación. En este caso, este lenguaje se centra en la representación
gráfica de un sistema. Este lenguaje nos indica cómo crear y leer los
modelos, pero no dice cómo crearlos. Esto último es el objetivo de las
metodologías de desarrollo. (Enrique Hernández Orallo, El Lenguaje
Unificado de Modelado UML, 2011)
Los objetivos de UML son muchos, pero se pueden sintetizar sus funciones:
13
Visualizar: UML permite expresar de una forma gráfica un sistema de forma
que otro lo puede entender.
Especificar: UML permite especificar cuáles son las características de un
sistema antes de su construcción.
Construir: A partir de los modelos especificados se pueden construir los
sistemas diseñados.
Documentar: Los propios elementos gráficos sirven como documentación del
sistema desarrollado que pueden servir para su futura revisión
Aunque UML está pensado para modelar sistemas complejos con gran
cantidad de software, el lenguaje es los suficientemente expresivo como
para modelar sistemas que no son informáticos, como flujos de trabajo
(workflow ) en una empresa, diseño de la estructura de una organización y
por supuesto, en el diseño de hardware. ()
Un modelo UML está compuesto por tres clases de bloques de construcción:
Elementos: Los elementos son abstracciones de cosas reales o
ficticias (objetos, acciones, etc.)
Relaciones: relacionan los elementos entre sí.
Diagramas: Son colecciones de elementos con sus relaciones.
Se usa UML cuando necesitamos:
Definir un problema que afecta a una organización (análisis).
Plantear una solución de diseño (abstracción).
Modelar procesos de negocio (optimización de flujos de trabajo).
Construir un producto de software (concreción de una abstracción)
Certificar la coherencia, completitud y usabilidad del producto
(calidad).
Evaluar la arquitectura de una organización (conocimiento).
14
2.4.1Diagramas de casos de uso
Un caso de uso es una descripción de los pasos o las actividades que
deberán realizarse para llevar a cabo algún proceso. Los personajes o
entidades que participarán en un caso de uso se denominan actores. En el
contexto de ingeniería del software, un caso de uso es una secuencia de
interacciones que se desarrollarán entre un sistema y sus actores en
respuesta a un evento que inicia un actor principal sobre el propio sistema.
Los diagramas de casos de uso sirven para especificar la comunicación y el
comportamiento de un sistema mediante su interacción con los usuarios y/u
otros sistemas. O lo que es igual, un diagrama que muestra la relación entre
los actores y los casos de uso en un sistema. Una relación es una conexión
entre los elementos del modelo, por ejemplo la especialización y la
generalización son relaciones. Los diagramas de casos de uso se utilizan
para ilustrar los requerimientos del sistema al mostrar cómo reacciona a
eventos que se producen en su ámbito o en él mismo.
1. Simbología para realizar Casos de Uso
Un diagrama de casos de uso consta de los siguientes elementos:
Actor
Una definición previa, es que un Actor es un rol que un usuario juega
con respecto al sistema. Es importante destacar el uso de la palabra rol,
pues con esto se especifica que un Actor no necesariamente representa
a una persona en particular, sino más bien la labor que realiza frente al
sistema.
Como ejemplo a la definición anterior, tenemos el caso de un sistema de
ventas en que el rol de Vendedor con respecto al sistema puede ser
realizado por un Vendedor o bien por el Jefe de Local.
Tipos de Actor
Principales.- Personas que mantienen o administran el sistema.
15
Secundarios.- Personas que usan el sistema.
Material Externo.- Dispositivos materiales imprescindibles que formen
parte del ámbito de la aplicación.
Figura 2 2 Usuario
Caso de Uso
Es una operación/tarea específica que se realiza tras una orden de
algún agente externo, sea desde una petición de un actor o bien
desde la invocación desde otro caso de uso.
Figura 2 3 Caso de Uso
Relaciones entre casos de uso
Entre dos casos de uso puede haber las siguientes relaciones:
Extiende: Cuando un caso de uso especializa a otro extendiendo su
funcionalidad.
Usa: Cuando un caso de uso utiliza a otro.
Se representan como una línea que une a los dos casos de uso
relacionados, con una flecha en forma de triángulo y con una etiqueta <>
o <> según sea el tipo de relación.
16
Asociación Es el tipo de relación más básica que indica la invocación
desde un actor o caso de uso a otra operación (caso de uso). Dicha
relación se denota con una flecha simple
Figura 2 4 Asociación
Dependencia o Instanciación Es una forma muy particular de
relación entre clases, en la cual una clase depende de otra, es decir,
se instancia (se crea). Dicha relación se denota con una flecha
punteada.
Figura 2 5 Dependencia
Generalización Este tipo de relación es uno de los más utilizados,
cumple una doble función dependiendo de su estereotipo, que puede
ser de Uso (<<uses>>) o de Herencia (<<extends>>).Este tipo de
relación está orientado exclusivamente para casos de uso (y no para
actores).
Figura 2 6 Generalización
Extends: Se recomienda utilizar cuando un caso de uso es similar a
otro (características).
Uses: Se recomienda utilizar cuando se tiene un conjunto de
características que son similares en más de un caso de uso y no se
desea mantener copiada la descripción de la característica.
17
De lo anterior cabe mencionar que tiene el mismo paradigma en
diseño y modelamiento de clases, en donde está la duda clásica
de usar o heredar.
2.4.2 Diagrama de Secuencia
Un diagrama de Secuencia muestra una interacción ordenada según la
secuencia temporal de eventos. En particular, muestra los objetos
participantes en la interacción y los mensajes que intercambian ordenados
según su secuencia en el tiempo. El eje vertical representa el tiempo, y en el
eje horizontal se colocan los objetos y actores participantes en la interacción,
sin un orden prefijado. Cada objeto o actor tiene una línea vertical, y los
mensajes se representan mediante flechas entre los distintos objetos. El
tiempo fluye de arriba abajo. Se pueden colocar etiquetas (como
restricciones de tiempo, descripciones de acciones, etc.) bien en el margen
izquierdo o bien junto a las transiciones o activaciones a las que se refieren.
(Ferré Grau, Desarrollo Orientado a Objetos con UML, 2011)
Figura 2 7 Ejemplo de Diagrama de Secuencia
18
2.4.3. Identificación de Actores en la Aplicación
Se ha detectado dos tipos de usuario dentro del Sistema de seguimiento y
control de portafolio docente.
Estos se detallan a continuación:
Administrador: Es el usuario principal, persona que interactúa y tiene
acceso a la totalidad del sistema,
Puede llevar a cabo las siguientes acciones: Creación de usuarios, ingreso
de información, generación, emisión y visualización de reportes, carga de
documentación
Usuario: Es un usuario secundario, realiza operaciones como: ingreso
datos, visualizar reportes, descargar documentos.
2.5 HERRAMIENTAS DE DESARROLLO.
2.5.1 Java:
Es un lenguaje de programación de propósito
general, concurrente, orientado a objetos que fue diseñado específicamente
para tener tan pocas dependencias de implementación como fuera posible.
Su intención es permitir que los desarrolladores de aplicaciones escriban el
programa una vez y lo ejecuten en cualquier dispositivo (conocido en inglés
como WORA, o "write once, run anywhere"), lo que quiere decir que
el código que es ejecutado en una plataforma no tiene que
ser recompilado para correr en otra.
La Plataforma Java se compone de un amplio abanico de tecnologías, cada
una de las cuales ofrece una parte del complejo de desarrollo o del entorno
de ejecución en tiempo real. Por ejemplo, los usuarios finales suelen
interactuar con la máquina virtual de Java y el conjunto estándar de
bibliotecas. Además, las aplicaciones Java pueden usarse de forma variada,
como por ejemplo ser incrustadas en una página web. Para el desarrollo de
19
aplicaciones, se utiliza un conjunto de herramientas conocidas como JDK
(Java Development Kit, o herramientas de desarrollo para Java).
Como cualquier lenguaje de programación, el lenguaje Java tiene su propia
estructura, reglas de sintaxis y paradigma de programación. El paradigma de
programación del lenguaje Java se basa en el concepto de programación
orientada a objetos (OOP), que las funciones del lenguaje soportan.
El lenguaje Java es un derivado del lenguaje C, por lo que sus reglas de
sintaxis se parecen mucho a C: por ejemplo, los bloques de códigos se
modularizan en métodos y se delimitan con llaves ({ y }) y las variables se
declaran antes de que se usen.
Estructuralmente, el lenguaje Java comienza con paquetes. Un paquete es
el mecanismo de espacio de nombres del lenguaje Java. Dentro de los
paquetes se encuentran las clases y dentro de las clases se encuentran
métodos, variables, constantes, entre otros. En este tutorial, aprenderá
acerca de las partes del lenguaje Java. ( José David Ruiz Relloso, “Nociones
sobre el lenguaje Java” 2015).
Sus principales características son:
Lenguaje orientado a objetos.
Java es un lenguaje sencillo.
Independiente de plataforma
Brinda un gran nivel de seguridad
20
Capacidad multihilo
Gran rendimiento
Creación de aplicaciones distribuidas
Su robustez o lo integrado que tiene el protocolo TCP/IP lo que lo
hace un lenguaje ideal para Internet.
Java está diseñado para que un programa escrito en este lenguaje sea
ejecutado independientemente de la plataforma (hardware, software y
sistema operativo) en la que se esté actuando. Esta portabilidad se
consigue haciendo de Java un lenguaje medio interpretado medio
compilado. ¿Cómo se come esto? Pues se coge el código fuente, se
compila a un lenguaje intermedio cercano al lenguaje máquina pero
independiente del ordenador y el sistema operativo en que se ejecuta
(llamado en el mundo Java bytecodes).
Figura 2 8 Representación gráfica de java bytecodes.
Finalmente, se interpreta ese lenguaje intermedio por medio de un
programa denominado máquina virtual de Java (JVM), que sí depende de
la plataforma.
21
Figura 2 9 Representación gráfica de la máquina virtual de java
Los java bytecodes permiten el ya conocido “write once, run anywhere”
(compila una sola vez y ejecútalo donde quieras). Podemos compilar
nuestros programas a bytecodes en cualquier plataforma que tenga el
compilador Java. Los bytecodes luego pueden ejecutarse en cualquier
implementación de la máquina virtual de Java (JVM). Esto significa que
mientras el ordenador tenga un JVM, el mismo programa escrito en Java
puede ejecutarse en Windows, Solaris, iMac, Linux, etc.
1. La plataforma Java
Con plataforma nos referimos al ambiente de hardware y software en
donde el programa se ejecuta, por ejemplo, plataformas como Linux,
Solaris, Windows 2003 y MacOS. En casi todos los casos las plataformas
son descritas como la combinación del sistema operativo y el hardware.
La plataforma Java se diferencia de estas plataformas, es que es una
plataforma sólo de software y se ejecuta sobre las otras plataformas de
hardware.
La plataforma Java tiene 2 componentes:
22
La máquina virtual de Java (JVM)
El Java API (Application Programming Interface)
Ya hemos visto algo de la máquina virtual de Java (JVM); es la base de la
plataforma Java y es llevada a diferentes plataformas de hardware.
El Java API es una gran colección de componentes de software que
proporcionan muchas utilidades para el programador, por ejemplo, los
API’s para las interfaces gráficas. Los API’s de Java están agrupados en
librerías de ciertas Clases e interfaces, estas librerías son conocidas
como paquetes.
El siguiente gráfico describe un programa que se está ejecutando sobre la
plataforma Java. Como vemos, el Java API y la máquina virtual aíslan al
programa del hardware.
Figura 2 10 Representación gráfica de programa ejecutado en java.
(*) Lenguajes de alto nivel = son aquellos en los que las instrucciones o
sentencias son escritas con palabras similares a las de los lenguajes
humanos (mayormente en Inglés). Esto facilita la escritura y comprensión
del código al programador.
23
2. J2EE
Java Platform, Enterprise Edition o Java EE (anteriormente conocido como
Java 2 Platform, Enterprise Edition o J2EE hasta la versión 1.4), es una
plataforma de programación—parte de la Plataforma Java—para desarrollar
y ejecutar software de aplicaciones en Lenguaje de programación Java con
arquitectura de N niveles distribuida, basándose ampliamente en
componentes de software modulares ejecutándose sobre un servidor de
aplicaciones. (Jonathan A. Jurado Sandoval, “Introducción a la arquitectura
web”,2012)
3. Arquitectura J2EE
La especificación de J2EE define su arquitectura basándose en los
conceptos de capas, containers, componentes, servicios y las características
de cada uno de éstos. Las aplicaciones J2EE son divididas en cuatro capas:
la capa cliente, la capa web, la capa negocio y la capa datos.
Capa Cliente
Esta capa corresponde a lo que se encuentra en el computador del cliente.
Es la interfaz gráfica del sistema y se encarga de interactuar con el usuario.
J2EE tiene soporte para diferentes tipos de clientes incluyendo clientes
HTML, applets Java y aplicaciones Java.
Capa Web
Se encuentra en el servidor web y contiene la lógica de presentación que se
utiliza para generar una respuesta al cliente. Recibe los datos del usuario
desde la capa cliente y basado en éstos genera una respuesta apropiada a
la solicitud. J2EE utiliza en esta capa las componentes Java Servlets y Java
Server Pages para crear los datos que se enviarán al cliente.
24
Capa Negocio
Se encuentra en el servidor de aplicaciones y contiene el núcleo de la lógica
del negocio de la aplicación. Provee las interfaces necesarias para utilizar el
servicio de componentes del negocio. Las componentes del negocio
interactúan con la capa de datos y son típicamente implementadas como
componentes EJB.
Capa Datos
Esta capa es responsable del sistema de información de la empresa o
Enterprise Information System (EIS) que incluye bases de datos, sistema de
procesamiento datos, sistemas legados y sistemas de planificación de
recursos. Esta capa es el punto donde las aplicaciones J2EE se integran con
otros sistemas no J2EE o con sistemas legados.
Figura 2 11 Arquitectura J2EE
25
JSF Java Server Faces (JSF)
Es un estándar de Java hacia la construcción de interfaces de usuario para
aplicaciones web que simplifican el desarrollo de aplicaciones web del lado
del cliente, JSF está basado en la tecnología Java EE. En el 2009 se dio a
conocer la nueva versión JSF 2.0, que contiene algunas características y/o
mejoras con respecto a las versiones anteriores (JSF 1.0, JSF 1.1 y JSF 1.2)
como son: Mejoras en la navegación: navegación condicional, inspección en
tiempo de ejecución en las reglas de navegación. Control de excepciones:
permite fácilmente la creación de una página de error que utiliza
componentes JSF. Mejoras en la expresión del lenguaje: compatibilidad con
métodos arbitrarios incluyendo el paso de parámetros. Validación: es una
nueva especificación java desarrollada para la validación de beans.
Una página JSF utiliza la extensión *.xhtml, es decir, una combinación de
XML con HTML y puede incluir componentes como CSS, JavaScript, entre
otros. La especificación de JSF define seis fases distintas en su ciclo de
vida:
1. Restauración de la vista: Crea un árbol de componentes en el servidor
para representar la información de un cliente.
2. Aplicar valores de la petición: Actualiza los valores del servidor con datos
del cliente.
3. Proceso de validación: Valida los datos del usuario y hace la conversión.
4. Actualización de valores del modelo: Actualiza el modelo del servidor con
nuevos datos. 5. Invocar la aplicación: Ejecutar cualquier lógica de aplicación
para cumplir con la solicitud. 6. Procesar la respuesta: Guarda un estado y
da una respuesta al cliente.
26
Primafaces
Es una librería de componentes para JavaServer Faces (JSF) de código
abierto que cuenta con un conjunto de componentes enriquecidos que
facilitan la creación de las aplicaciones web. Primafaces está bajo la licencia
de Apache License V2. Una de las ventajas de utilizar Primefaces, es que
permite la integración con otros componentes como por ejemplo Fichases.
4. Java Persistence API (JPA)
Fue creado con Java EE 5 para resolver problemas de persistencia de datos.
Proporciona un modelo de persistencia para mapear bases de datos
relacionales. En java EE 6, JPA 2.0 sigue el mismo camino de simplicidad y
robustez y agrega nuevas funcionalidades. Se puede utilizar para acceder y
manipular datos relacionales de Enterprise Java Beans (EJBs),
componentes web y aplicaciones Java SE. JPA es una abstracción que está
por encima de JDBC lo que permite ser independiente de SQL. Todas las
clases y anotaciones de esta API se encuentran en el paquete
javax.persistence. Los principales componentes de JPA son:
Mapeo de base de datos relacionales (ORM). Es el mecanismo para
mapear objetos a los datos almacenados en una base de datos
relacional.
Un API administrador de entidad para realizar operaciones en la
base de datos tales como crear, leer, actualizar, eliminar (CRUD).
El Java Persistence Query Language (JPQL) que permite recuperar
datos con un lenguaje de consultas orientado a objetos.
27
Las transacciones y mecanismos de bloqueo cuando se accedan a
los datos concurrentemente, la API Java Transaction (JTA). Una
entidad es objeto de dominio de persistencia.
Por lo general, una tabla en el modelo de datos relacional es representada
por una entidad y sus instancias corresponden a los registros de dicha tabla.
El estado de persistencia de una entidad es representado por propiedades
persistentes, estas propiedades a su vez usan anotaciones para el mapeo
de las entidades y relaciones entre entidades. Las relaciones entre entidades
persistentes deben mapearse explícitamente como llaves foráneas o uniones
de tablas, la manera en que se estructura una entidad, sus atributos y sus
relaciones.
Figura 2 12 Relación entre los conceptos JPA
5. EJB
Los JavaBeans empresariales (Enterprise JavaBeans [1, 6], EJB) son una
tecnología (API) que forma parte del estándar de Java EE. Están diseñados
para desarrollo y despliegue de aplicaciones (distribuidas) de negocio
basadas en componentes del lado del servidor. Una vez que se desarrolla
una aplicación, ésta puede ser desplegada en cualquier servidor que soporte
la especificación de EJB. Con esta tecnología es posible desarrollar
aplicaciones empresariales sin tener que crear de nuevo los servicios de
transacción, seguridad, persistencia, concurrencia y lo que se pueda
28
necesitar en el proceso de creación de una aplicación; permitiendo a los
desarrolladores enfocarse en la implementación de la lógica de negocio. EJB
divide la capa de negocio en dos partes: Capa de lógica de negocio donde
se encuentra EJB y capa de persistencia. EJB cuenta con dos componentes
de proceso de negocio, los beans de sesión (Session Beans) y los beans
dirigidos por mensajes (Message-Driven Beans, MDBs), ambos son
desarrollados por una aplicación de negocio e implementados y ejecutados
por el Contenedor de EJB
Session Beans
Son componentes Java que se pueden ejecutar tanto en contenedores EJB
independientes como en contenedores EJB que son parte del estándar Java
EE. Dichos componentes son típicamente utilizados para modelar una tarea
particular del usuario o un caso de uso, tal como introducir la información del
cliente o implementar un proceso que mantiene un estado de la
conversación con una aplicación cliente.
Existen varios tipos de beans de sesión, como los beans de sesión sin
estado (Stateless Session Beans, SLSBs ), beans de sesión con estado
(Stateful Session Beans , SFSBs) y un tipo particular de beans; los beans de
sesión singleton (Singleton Beans) [1].
• SLSBs: Son útiles para los casos en que el estado no necesita ser
mantenido de invocación a invocación. El cliente no puede asumir que las
solicitudes posteriores utilizarán una instancia particular del bean. El
contenedor puede destruir o crear nuevas instancias según determine que
es más eficiente (Figura 5.1 a).
• SFSBs: Difieren de los SLSBs en que se garantiza que todas las
peticiones invoquen la misma instancia del bean, tal como se muestra en la
Figura 5.1 b. Cada SFSB contiene un contexto de sesión aislado por lo que
29
las llamadas de una sesión no afectan a las demás. Las sesiones de estado
y sus correspondientes instancias de bean son creadas en algún momento
antes de la primera invocación a su instancia objetivo. Viven hasta que el
cliente invoca un método que el proveedor del bean ha marcado como un
evento para remover el bean, o hasta que el contenedor decide desalojar la
sesión (usualmente debido a un tiempo de espera).
• Singleton beans: Se utilizan cuando solamente se necesita mantener una
sola instancia de los objetos de negocio. Debido a que todas las peticiones
hacia un singleton son dirigidas hacia la misma instancia, el contenedor no
realiza mucho trabajo en seleccionar la instancia objetivo, como se ve en la
Figura 5.1 c.
Figura 2 13 Representación de tipos de beans de sesión.
La figura representa tipos de beans de sesión. a) Selección aleatoria de una
instancia SLSB. b) Selección de una instancia SFSB de acuerdo a su ID de
sesión. c) Singleton Bean que cuenta con una sola instancia de soporte.
30
Message-Driven Beans
La mensajería asíncrona es un paradigma en el cual dos o más aplicaciones
se comunican a través de mensajes que describen un evento de negocio. Un
proveedor común de mensajería asíncrona es el servicio de mensajería de
Java (Java Message Service, JMS), y la especificación de EJB2 dicta que
JMS es soportado de manera implícita. Si un mensaje es enviado a una fila
JMS, un MDB puede ser creado para manejar el evento. Al igual que los
SLSBs, en los MDBs cualquier instancia puede ser utilizada para atender un
mensaje, el cliente no tiene conocimiento del MDB. En términos generales,
EJB se puede ver como una plataforma para la creación de aplicaciones
empresariales portables, reutilizables y escalables utilizando el lenguaje de
programación Java y el estándar Java EE. (Fernando Pech-May, Desarrollo
de Aplicaciones web con JPA, EJB, JSF y PrimeFaces, 2011)
2.6 Servidor de Aplicaciones
2.6.1 JBoss
Es un servidor de aplicaciones J2EE de código abierto implementado en
Java puro. Al estar basado en Java, JBoss puede ser utilizado en cualquier
sistema operativo que lo soporte. JBoss implementa todo el paquete de
servicios de J2EE.
JBoss AS es el primer servidor de aplicaciones de código abierto, preparado
para la producción y certificado J2EE 1.4, disponible en el mercado,
ofreciendo una plataforma de alto rendimiento para aplicaciones de e-
business. Combinando una arquitectura orientada a servicios revolucionaria
con una licencia de código abierto, JBoss AS puede ser descargado,
utilizado, incrustado, y distribuido sin restricciones por la licencia. Por este
motivo es la plataforma más popular de middleware para desarrolladores,
vendedores independientes de software y, también, para grandes empresas.
(http://www.naturasoftware.com/main.php?f=tecnologia)
Las características destacadas de JBoss incluyen:
Producto de licencia de código abierto sin coste adicional.
31
Cumple los estándares.
Confiable a nivel de empresa.
Incrustable, orientado a arquitectura de servicio.
Flexibilidad consistente.
Servicios del middleware para cualquier objeto de Java.
Ayuda profesional 24x7 de la fuente.
Soporte completo para JMX.
2.7 BASE DE DATOS
2.7.1 PostgreSQL
Es un servidor de base de datos objeto relacional libre, ya que incluye características de la orientación a objetos, como puede ser la herencia, tipos de datos, funciones, restricciones, disparadores, reglas e integridad transaccional, liberado bajo la licencia BSD.
Las principales características de PostgreSQL son:
DBMS: Objeto-Relacional: PostgreSQL aproxima los datos a un modelo
objeto-relacional, y es capaz de manejar complejas rutinas y reglas.
Ejemplos de su avanzada funcionalidad son consultas SQL declarativas,
control de concurrencia multi-versión, soporte multi-usuario, transacciones,
optimización de consultas, herencia, y arrays.
Herencia: Las tablas puedes ser configurada para heredar características de
una tabla padre. Los datos son compartidos entre las tablas padre e hija(s).
Las duplas insertadas o eliminadas en la tabla hija serán insertadas o
eliminadas en la tabla padre respectivamente.
Altamente Extensible: PostgreSQL soporta operadores, funcionales
métodos de acceso y tipos de datos definidos por el usuario.
Integridad Referencial: PostgreSQL soporta integridad referencial, la cual
es utilizada para garantizar la validez de los datos de la base de datos.
32
Cliente/Servidor: PostgreSQL usa una arquitectura proceso-por-usuario
cliente/servidor. Esta es similar al método del Apache 1.3.x para manejar
procesos.
Hay un proceso maestro que se ramifica para proporcionar conexiones
adicionales para cada cliente que intente conectar a PostgreSQL.
Write Ahead Logging (WAL): La característica de PostgreSQL conocida
como Write Ahead Logging incrementa la dependencia de la base de datos
al registro de cambios antes de que estos sean escritos en la base de datos.
Esto garantiza que en el hipotético caso de que la base de datos se caiga,
existirá un registro de las transacciones a partir del cual podremos restaurar
la base de datos. Esto puede ser enormemente beneficioso en el caso de
caída, ya que cualesquiera cambios que no fueron escritos en la base de
datos pueden ser recuperados usando el dato que fue previamente
registrado. Una vez el sistema ha quedado restaurado, un usuario puede
continuar trabajando desde el punto en que lo dejó cuando cayó la base de
datos. (Aliaga Ibarra Antonio, PostgreSQL, 2008)
2.8 MODELADOR DE BASE DE DATOS
2.8.1 Power Designer
Es una herramienta para el análisis, diseño inteligente y construcción sólida
de una base de datos y un desarrollo orientado a modelos de datos a nivel
físico y conceptual, que da a los desarrolladores Cliente/Servidor la más
firme base para aplicaciones de alto rendimiento.
Entre sus principales características tenemos:
Es nombrada La Herramienta Líder en Modelamiento Empresarial
Permite a las empresas, de manera más fácil, visualizar, analizar y
manipular metadatos, logrando una efectiva arquitectura empresarial
de información.
33
Brinda un enfoque basado en modelos, el cual permite alinear al
negocio con la tecnología de información, facilitando la
implementación de arquitecturas efectivas de información
empresarial.
Brinda potentes técnicas de análisis, diseño y gestión de metadatos a
la empresa.
Combina varias técnicas estándar de modelamiento con herramientas
líder de desarrollo, como .NET, Sybase WorkSpace, Sybase
Powerbuilder, Java y Eclipse, para darle a las empresas soluciones
de análisis de negocio y de diseño formal de base de datos.
Trabaja con más de 60 bases de datos relacionales.
34
CAPITULO III
3. MARCO METODOLÓGICO 3.1 Diagramación del Sistema
3.1.1 Actores que Intervienen en el Sistema
Los actores son los que se describen a continuación:
Administrador del Sistema: Es la persona encargada de administrar
las claves, modifica, actualiza, asigna roles, las claves de cada
usuario.
Usuario: Docente que ingresa información para organización y
acceso rápido.
Encargado: Ingresa el cumplimiento del syllabus del docentes.
3.1.2 Diagrama General de los Casos de Uso del Sistema de
Seguimiento y Control de Portafolio Docente.
Diagrama 3 1 Administración de Claves.
35
Diagrama 3 2 Representación General de Sistema de Portafolio Docente.
3.1.3 Diagrama General de Secuencia del Sistema de Seguimiento y
Control de Portafolio Docente.
Diagrama 3 3 Representación de Secuencia de Sistema de Portafolio Docente.
36
3.1.4 Detalle de los Diferentes Casos de Uso del Sistema de
Seguimiento y Control de Portafolio Docente.
3.1.4.1 Caso de Uso: Registro de Nuevo Usuario al Sistema
Diagrama 3 4 Registro de Nuevo Usuario en Sistema.
Nombre: Registro de Nuevos usuarios en el sistema.
Sistema:
Descripción:
Registrar nuevos usuarios en el sistema para que puedan ingresar dependiendo
del rol asignado.
Actores:
Administrador: Admin
Precondiciones:
Otorgar a cada usuario un usuario y clave, asignándole un rol. Para que pueda
ingresar al sistema.
Flujo Normal:
1. El administrador ingresa al sistema al módulo de administración.
2. Ingresa el nombre para verificar si el usuario ya está registrado.
3. Si está registrado, le asigna el rol que va a desempeñar en el sistema.
4. Guarda los cambios en la base de Datos.
5. Si el usuario no está registrado, ingresa los datos del usuario.
6. El Sistema valida los datos ingresados, si son coherentes.
37
7. El administrador de claves acepta los datos.
8. El sistema guarda los datos en la BDD.
Flujo Alternativo:
4. El sistema comprueba la validez de los datos, si los datos no son correctos, se
avisa al actor de ello permitiéndole que los corrija.
Tabla 1 Ingreso nuevo usuario al sistema.
3.1.4.2 Caso de Uso: Ingreso pre- requisitos y co-requisitos.
Diagrama 3 5 Ingreso de pre y co requisitos.
Nombre: Ingreso de pre requisitos y co requisitos
Sistema:
Descripción:
Ingresar una pre requisitos y co requisitos al sistema.
Actores:
Administrador, Sistema
Precondiciones:
El administrador debe haber ingresado con su usuario y contraseña en el sistema
Flujo Normal:
1. Actor Selecciona ingresar al módulo Administración.
2. Sistema presenta el formulario para poder ingresar los datos
3. Actor ingresa la información que requiere el sistema.
4. Sistema verifica la información ingresada
5. Se confirma la información y se guarda
6. Sistema almacena en la Base de Datos
38
Flujo Alternativo:
El sistema comprueba la validez de los datos, si los datos no son correctos, se avisa al
actor de ello permitiéndole que los corrija
Tabla 2 Ingreso pre y co requisitos.
3.1.4.3 Caso de Uso: Ingreso al Sistema
Diagrama 3 6 Ingreso al Sistema.
Nombre: Ingreso al Sistema
Sistema:
Descripción:
Validar el ingreso
Actores:
Usuario, Sistema
Precondiciones:
El actor debe ingresar con el usuario y clave asignados, correctamente
Flujo Normal:
1. El usuario ingresa con usuario y clave
2. El Sistema valida
3. El sistema deja ingresar a su perfil según el rol asignado.
4. Usuario está dentro del sistema.
39
Flujo Alternativo:
El sistema valida los datos, si no son correctos, se avisa al actor para que vuelva
a ingresar
Tabla 3 Ingreso al Sistema.
3.1.4.4 Caso de Uso: Ingreso de Información Docentes al Sistema
Diagrama 3 7 Ingreso de Información.
Nombre: Ingresar información del docente en el Sistema
Sistema:
Descripción:
Ingresar Información Docente, Hoja de Vida, Syllabus.
Actores:
Usuario, Sistema
Precondiciones:
El Usuario debe haber ingresado con su usuario y contraseña en el sistema
Flujo Normal:
1. Actor Selecciona Hoja de Vida , Syllabus, o Información Docente
2. Sistema presenta el formulario para poder ingresar los datos
3. Actor ingresa la información que requiere el sistema.
4. Actor guarda la información.
5. Sistema verifica la información ingresada
6. Se confirma la información y se guarda
7. Sistema almacena en la Base de Datos
40
Flujo Alternativo:
El sistema comprueba la validez de los datos, si los datos no son correctos, se avisa al actor de ello
permitiéndole que los corrija
Tabla 4 Ingreso de Información.
3.1.4.5 Caso de Uso: Verificación de Cumplimiento de Syllabus
Diagrama 3 8 Verificación de Cumplimiento de Syllabus.
Nombre: Verificación de Cumplimiento de Syllabus
Sistema:
Descripción:
Ingreso de Cumplimiento de Syllabus.
Actores:
Administrador, Usuario/Inspector , Sistema
Precondiciones:
El usuario debe haber ingresado con usuario y contraseña en el sistema
Flujo Normal:
1. El usuario ingresa el Syllabus por materia.
2. El usuario/inspector o Administrador registra el cumplimiento
en base a informe presentado por docente de acuerdo a
información registrada en syllabus.
3. Sistema valida la información ingresada
4. Sistema genera tabla de cumplimiento.
5. El usuario /inspector guarda la información
6. Sistema almacena en la Base de Datos
41
Flujo Alternativo:
El sistema comprueba la validez de los datos, si los datos no son
correctos, se avisa al actor de ello permitiéndole que los corrija
Tabla 5 Verificación de cumplimiento de syllabus.
3.1.4.6 Caso de Uso: Reportes
Diagrama 3 9 Representación generación de reportes.
Nombre: Genera Reportes
Sistema:
Descripción:
Generación de los reportes de los proyectos en forma detallada
Actores:
Administrador, Sistema.
Precondiciones:
El Administrador debe haber ingresado con su respectivo usuario y contraseña
Flujo Normal:
1. Administrador, realizan una solicitud de los reportes del sistema,
ingresando a la opción de Reportes.
2. Administrador elige que reporte necesita.
3. Sistema genera los reportes,
4. Sistema exporta los reportes al formato que necesiten
Tabla 6 Generación de Reportes.
3.1.4.6 Caso de Uso: Cargar Bibliografía
42
Diagrama 3 10 Representación de Carga de Bibliografía.
Nombre: Carga de Bibliografía
Sistema:
Descripción:
Cargar documentos y urls para tener a disposición.
Actores:
Usuario, Sistema
Precondiciones:
El actor debe haber ingresado con usuario y contraseña en el sistema
Flujo Normal:
1. El ingresa al módulo de bibliografía
2. Selecciona la información a ser cargada (documento url).
3. Carga la selección.
4. Sistema valida la información ingresada
5. Sistema Muestra la pantalla de confirmación
6. El usuario guarda la información
7. Sistema almacena en la Base de Datos
Flujo Alternativo:
El sistema comprueba la validez de los datos, si los datos no son
correctos, se avisa al actor de ello permitiéndole que los corrija
Tabla 7 Carga de Bibliografía.
43
CAPITULO IV
4. CONCLUSIONES Y RECOMENDACIONES 4.1 CONCLUSIONES
El Sistema de Seguimiento y control de Portafolio
Docentes es una herramienta que las autoridades de la Dirección
de la Escuela de Ciencias pueden utilizar para valorar en avance
y cumplimiento de los planes de estudio.
El sistema ayudará al docente en la planificación de la materia.
El sistema sirve para realizar seguimiento y control constante del
cumplimiento del syllabus de cada materia, que se plantean al inicio
de curso.
El docente podrá tener a disposición su información, accediendo a
ella desde cualquier lugar, desde cualquier computador.
El módulo de reportes dará una visión general de la información
registrada por el docente.
La carga de documentación servirá para tener acceso a la información
pedagógica que el docente compartirá con los usuarios del sistema de
acuerdo a permisos otorgados.
4.2 RECOMENDACIONES
Para ingresar en la aplicación el mejor Navegador con el que
podemos ingresar es el Google Chrome o Mozilla Firefox, ya que
existen incompatibilidades con Internet Explores, lo que hace que no
pueda ser apreciado apropiadamente el Sistema de Seguimiento y
Control de Portafolio Docente.
El sistema está orientado a la Web, las personas que lo manejan
deben tener conocimiento básico de Internet, esto facilitará la
navegación por el Sistema.
44
GLOSARIO DE TÉRMINOS
Aplicación: Programa informático que permite a un usuario utilizar una
computadora con un fin específico. Las aplicaciones son parte del software
de una computadora, y suelen ejecutarse sobre el sistema operativo.
Fuente:
http://www.lawebdelprogramador.com/diccionario/mostrar.php?letra=A&page
=6
Archivo: Datos estructurados que pueden recuperarse fácilmente y usarse
en una aplicación determinada. Se utiliza como sinónimo de fichero. El
archivo no contiene elementos de la aplicación que lo crea, sólo los datos o
información con los que trabaja el usuario.
Fuente:
http://www.lawebdelprogramador.com/diccionario/mostrar.php?letra=A&page
=6
Arquitectura: Término utilizado en exceso que se refiere a la estructura
general de un procesador, sistema operativo, ordenador, línea de sistemas,
etc..
Se utiliza este término como sinónimo de poner en marcha el ordenador. En
muchos manuales se incluyen instrucciones que aconsejan -volver a
arrancar el sistema una vez realizada alguna acción determinada.
Fuente:
http://www.lawebdelprogramador.com/diccionario/buscar.php?opc=1&charSe
arch=arquit
B
Browser: Navegador (Navigator). Aplicación para visualizar documentos
WWW y navegar por Internet. En su forma más básica son aplicaciones
hipertexto que facilitan la navegación por los servidores de navegación de
Internet. Los más avanzados, cuentan con funcionalidades plenamente
multimedia y permiten indistintamente la navegación por servidores WWW,
45
FTP, Gopher, acceso a grupos de noticias, la gestión del correo electrónico,
etc.
Fuente:
http://www.lawebdelprogramador.com/diccionario/buscar.php?opc=1&charSe
arch=browser
Base de Datos: Conjunto de datos relacionados que se almacenan de forma
que se pueda acceder a ellos de manera sencilla, con la posibilidad de
relacionarlos, ordenarlos en base a diferentes criterios, etc. Las bases de
datos son uno de los grupos de aplicaciones de productividad personal más
extendidos.
Fuente:
http://www.lawebdelprogramador.com/diccionario/buscar.php?opc=1&charSe
arch=base+de+datos
C
Cliente: Cualquier elemento de un sistema de información que requiere un
servicio mediante el envío de solicitudes al servidor.
Fuente>:
http://www.lawebdelprogramador.com/diccionario/buscar.php?opc=1&charSe
arch=cliente
Comando: Un comando (calco del inglés command, «orden, instrucción» o
mandato) es una instrucción u orden que el usuario proporciona a un
sistema informático, desde la línea de comandos (como una shell) o desde
una llamada de programación. Puede ser interno (contenido en el propio
intérprete) o externo (contenido en un archivo ejecutable).
Fuente:
http://www.lawebdelprogramador.com/diccionario/buscar.php?opc=1&charSe
arch=comando
E
Eclipse: es un programa informático compuesto por un conjunto de
herramientas de programación de código abierto multiplataforma para
desarrollar lo que el proyecto llama "Aplicaciones de Cliente Enriquecido",
opuesto a las aplicaciones "Cliente-liviano" basadas en navegadores.
Fuente: http://es.wikipedia.org/wiki/Eclipse_%28software%29
46
F
Framework: La palabra inglesa "framework" (marco de trabajo) define, en
términos generales, un conjunto estandarizado de conceptos, prácticas y
criterios para enfocar un tipo de problemática particular que sirve como
referencia, para enfrentar y resolver nuevos problemas de índole similar.
Fuente: http://es.wikipedia.org/wiki/Framework
H
Hardware: Conjunto de componentes materiales de un sistema informático.
Cada una de las partes físicas que forman un ordenador, incluidos sus
periféricos.
Fuente:
http://www.lawebdelprogramador.com/diccionario/buscar.php?opc=1&charSe
arch=hardware
HTML: (HyperText Markup Language). Lenguaje de marcado de Hipertexto.
Es el lenguaje estándar para describir el contenido y la apariencia de las
páginas en el WWW.
Fuente:
http://www.lawebdelprogramador.com/diccionario/buscar.php?opc=1&charSe
arch=HTML
J
JAVA: Lenguaje de programación orientado a objetos desarrollado por Sun
Microsystems para la elaboración de aplicaciones exportables a la red y
capaces de operar sobre cualquier plataforma a través, normalmente, de
visualizadores WWW. El programa Java se descarga desde el servidor Web
y lo interpreta un programa que se ejecuta en el equipo que contiene el
explorador de Web.
Fuente:
http://www.lawebdelprogramador.com/diccionario/buscar.php?opc=1&charSe
arch=JAVA
JDK: Java Development Kit o (JDK), es un software que provee
herramientas de desarrollo para la creación de programas en Java. Puede
instalarse en una computadora local o en una unidad de red.
47
Fuente: http://es.wikipedia.org/wiki/Java_Development_Kit
JPA: Java Persistence API, más conocida por sus siglas JPA, es la API de
persistencia desarrollada para la plataforma Java EE
Es un framework del lenguaje de programación Java que maneja datos
relacionales en aplicaciones usando la Plataforma Java en sus ediciones
Standard (Java SE) y Enterprise (Java EE).
Fuente: http://es.wikipedia.org/wiki/Java_Persistence_API
P
POSTGRESQL: es un Sistema de gestión de bases de datos relacional
orientado a objetos y libre, publicado bajo la licencia BSD.
Fuente: http://es.wikipedia.org/wiki/PostgreSQL
S
Software: Software es un término genérico que designa al conjunto de
programas de distinto tipo (sistema operativo y aplicaciones diversas) que
hacen posible operar con el ordenador.
Fuente:
http://www.lawebdelprogramador.com/diccionario/buscar.php?opc=1&charSe
arch=software
Sistema Operativo: Conjunto de programas fundamentales sin los cuales
no sería posible hacer funcionar el ordenador con los programas de
aplicación que se desee utilizar. Sin el sistema operativo, el ordenador no es
más que un elemento físico inerte.
Fuente:
http://www.lawebdelprogramador.com/diccionario/buscar.php?opc=1&charSe
arch=sistema+operativo
U
UML: El lenguaje para modelamiento unificado (UML), es un lenguaje para
la especificación, visualización, construcción y documentación de los
artefactos de un proceso de sistema intensivo.
48
Fuente:
http://www.lawebdelprogramador.com/diccionario/buscar.php?opc=1&charSe
arch=UML
49
REFERENCIAS BIBLIOGRÁFICAS
1. CONEA-CEAACES, “Modelo General de Evaluación de Carreras con fines
de acreditación”, (2011)
2. Ley Orgánica de Educación Superior, (2010)
3. Andrés Valdez Zepeda “Gestión Universitaria y Procesos de aprendizaje
para la calidad educativa”, (2011).
4. Modelo de formación, actualización y desarrollo docente de la UABC,
(2010).
5. CEAACES, Mandato Constituyente Nº14, “Consejo de Evaluacion
Acreditacion y Aseguramiento de la Calidad de la Educacion Superior”,
(2009).
6., María Angélica Gutarra Hidalgo “Portafolio Docente” (2006).
7. Crispín, Uso de portafolio como herramienta para mejorar la docencia
(1998)
8. Campaña K, El portafolio virtual como herramienta para la práctica
reflexiva, Valoración de su empleo en el practicum de la Universidad de
Navarra (2013)
9. Erazo Carmen, “Portafolio de Técnicas de Información y Comunicación”.
(2012)
10. Lihue Videla, “Los sistemas tecnología”, (2011)
11. Galo Fariño, “Modelo Espiral de un proyecto de desarrollo de software”
(2011)
50
12. Camou Meneses Ingrid Dafne, Ingeniería de Software II”, (2014)
13. Enrique Hernández Orallo, “El Lenguaje Unificado de Modelado (UML)”,
(2011)
14. Xavier Ferré Grau, Desarrollo Orientado a Objetos con UML, (2011)
15.José David Ruiz Relloso,”Nociones sobre el lenguaje Java” (2015)
16. Fernando Pech-May, Desarrollo de Aplicaciones web con JPA, EJB, JSF
y PrimeFaces, (2011)
17. Jonathan A. Jurado Sandoval, “Introducción a la arquitectura web”,2012
18. http://es.wikipedia.org/wiki/Caso_de_uso
19. http://users.dcc.uchile.cl/~psalinas/uml/casosuso.html
20. http://www.ciberaula.com
21. http://www.naturasoftware.com
22. http://stalyngranda.blogspot.com/2014_03_01_archive.html
23. http://www.ecured.cu/index.php/PowerDesigner ,
51
ANEXOS A
MANUAL DE USUARIO
Para ingresar al Sistema de Seguimiento y Control de Portafolio docente,
vamos a ingresar al navegador GOOGLE CHROME
Accedemos a través de la dirección: http://localhost:8080/dione_web en
donde encontraremos con la pantalla de inicio del sistema de seguimiento y
control de portafolio docente, para poder acceder a él es necesario poseer
una usuario y password, que el administrador del sistema otorgará de
acuerdo al perfil que tenga.
USUARIO: admin
PASSWORD: admin
Una vez en el sistema como usuario administrador tiene habilitadas todas las
opciones del menú principal:
52
A continuación se describirá cada módulo que conforma el sistema.
DOCENTE
Al ubicarnos en el módulo docente se desplegarán las siguientes opciones:
Ingresar Docente
Ingresar Hoja de Vida
Buscar Docente
INGRESAR DOCENTE:
53
En este módulo el docente registrarás información básica como nombres,
apellidos, identificación, dirección .
En este módulo también el docente seleccionará la Carrera, Facultad y
Materia que impartirá.
Para seleccionar de manera correcta se debe seleccionar la Carrera , luego
la asignatura que ya se encuentran previamente cargada y dar clic en
agregar con esta acción podrá registrar la primera materia y se repite la
misma acción en caso de impartir más de una materia y para finalizar el
registro dar clic en aceptar.
54
HOJA DE VIDA
En el módulo Hoja de Vida, el docente ingresará formación académica
(títulos), formación continua (cursos), experiencia laboral, ingresando su
cédula de identidad en donde encontraremos la información que
previamente ingresó en el módulo información del docente.
El docente puede ingresar cada uno de sus títulos
La duración de cada capacitación que el docente ingrese puede ser en
meses, días, años.
55
Junto a cada información ingresada sea de capacitación, experiencia,
estudios puede ser editada lo que permitirá al docente que realice
actualizaciones a su hora de vida.
BUSCAR DOCENTE
En el módulo buscar docentes al ingresar su número de cédula podrá
acceder a la información ingresada (hoja de vida, syllabus) se generarán
documentos en formato pdf para que el docente pueda acceder desde
cualquier lugar descargándolo o imprimiéndolo
56
57
Podemos tener una vista previa de la hoja de vida generada.
Al presionar en el icono señalado la hoja de vida se guardará en la
carpeta descargas.
58
Una encontrado el documento descargado podemos ver la información que
registra.
De igual manera con el syllabus del docente se puede visualizar, descargar
e imprimir.
59
Vista previa del documento.
El documento se graba en descargas.
60
MODULO SYLLABUS
Ingresar Syllabus
En el módulo de syllabus se ingresará toda la información de planificación de
la materia del docente se ingresarán objetivos, metodología, etc.
El ingreso se hace colocando en identificación el número de cédula del
docente para poder ingresar de acuerdo a las materias imparta el docente de
acuerdo a lo registrado en el módulo docente (Información del docente).
61
Posterior a ingresar el número de cédula en buscar docente, el sistema nos
mostrara la siguiente pantalla en la que deben seleccionar la asignatura de
la que ingresará el syllabus y se llenará lo solicitado.
Cada información registrada puede ser editada
62
Dentro del syllabus se detallará las unidades que compone la asignatura,
para ingresar mas de una unidad es necesario agregar tantas unidades
como crea conveniente.
63
VERIFICACION DE CUMPLIMIENTO DE SYLLABUS
El acceso a este módulo depende del perfil asignado, la persona que
acceda a él registrará el número de cédula del docente a evaluar en
identificación y seleccionará la asignatura a evaluar.
Una vez realizada esta acción se visualizaran los objetivos y competencias
que deberán ser evaluados en una rango de inicio, proceso , avance ,
dominio.
64
Al registrar los criterios de evaluación se debe dar clic en el icono
presentado en la pantalla siguiente para que calcule la efectividad
MODULO ADMINISTRACIÓN
65
En el módulo de administración se crearán los perfiles de acceso para cada
uno de los usuarios del sistema.
El administrador del sistema una vez que ingresa la información del docente
asigna clave y rol de cada usuario sea: Administrador, Docente, Inspector.
Posterior a la asignación de rol, el administrador dando clic en el icono que
se encuentra en la parte inferior derecha podrá elegir los módulos a lo que
tendrá acceso cada usuario.
66
MODULO GERENCIAL
En el módulo gerencial podemos obtener reportes de dos tipos: Reporte de
docentes donde encontraremos la información de todos los docentes que
se encuentran registrados en el sistema por carrera y Reporte de Syllabus
el cual mostrará en detalle el cumplimiento del syllabus en sus diferentes
aspectos
Al ingresar en el reporte de docentes, debemos seleccionar la carrera de
cual queremos conocer los docentes que imparten catedra, al realizar esta
selección damos clic en la lupa para generar el reporte.
67
El reporte nos mostrará la información de los docentes registrados, este
reporte puede descargarse dando clic en el icono como se muestra en la
siguiente pantalla
El documento se guardará en la carpeta descargas y tiene el siguiente
formato.
68
Cuando ya se ha ingresado a reporte syllabus, es necesario que ingrese el
número de cédula del docente del que se requiere la información.
Debe seleccionar la carrera de la que requiere el reporte puesto que un
docente puede laborar en más de una carrera.
69
Una vez seleccionados los parámetros indicados damos clic en la lupa y
podremos visualizar la información requerida.
El reporte generado puede ser descargado en formato pdf.
MODULO DE DOCUMENTOS
Para poder ingresar documentos en este módulo, se debe ingresar el
número de cédula en el recuadro de identificación para poder visualizar los
archivos cargados y poder cargar otros.
Para cargar información dar clic en el icono que se encuentra en la parte
inferior de la pantalla.
70
Llenar la información que identificará al documento y dar clic en “chose”
para seleccionar el documento por cargar.
71
Una vez seleccionado el archivo dar clic en el botón de guardar que se
encuentra en la parte inferior.
72
Para visualizar los documentos del docente ingresar el número de cédula en
identificación y dar clic en la lupa y se desplegarán los documentos
cargados, y puede descárgalos en cualquier máquina.
73
ANEXO B
Los para realizar la instalación de manera correcta es necesario tener:
1. Windows 7 de 64 bits.
2. Deshabilitar las actualizaciones de Windows.
3. Deshabilitar el firewall
4. Instalado Adobe Reader
Instalación de la Máquina Virtual jdk-6u25-windows-x64
Es necesario instalar la máquina virtual de Java (JDK ), la instalación se
efectúa de la siguiente manera:
Localizamos el instalador que se encuentra en el CD en la carpeta
INSTALADORES TESIS/1. JDK/ jdk-6u25-windows-x64 y damos doble clic
para que empiece la instalación.
Inicio de Instalación.
Empieza la instalación como se muestra a continuación en las siguientes
pantallas:
Se presentara la pantalla y le preguntará si ¿Desea que este programa
realice cambios en su equipo? Daremos clic en aceptar.
74
Damos clic en “Next” y se presentará:
Directorio de Instalación.
La siguiente pantalla elegimos la ubicación donde se va a instalar el
programa en mención, dejamos la configuración por defecto.
75
Damos Clic en el botón “Next”
Progreso de Instalación
A continuación empieza la carga de todos los archivos necesarios como se
muestra en la siguiente pantalla:
Directorio de Instalación.
La siguiente pantalla elegimos la ubicación de instalación de jre, tomamos la
configuración por defecto
76
Clic en el botón “Next” y veremos el progreso de la instalación.
Cargada la aplicación aparece la siguiente pantalla, la misma que nos indica
que se instaló correctamente:
Damos clic en el botón Finalizar o Finish y el programa quedará instalado
correctamente.
77
Para verificar que se encuentra instalada correctamente ingresamos a cmd
e ingresamos
Java -version
INSTALACIÓN DE POSTGRES
Es necesario instalar Postgres porque es el motor de la base de datos.
Buscar el instalador en el CD en la carpeta INSTALADORES
TESIS/2.Postregs/ postgresql-9.4.1-1-windows, dar doble clic para que inicie
la instalación.
Al ejecutar el postgres nos preguntará si permitimos ejecutar la instalación
en la máquina le damos clic en SI y continua la instalación
78
Inicio de instalación.
Una vez iniciada la instalación se muestra la pantalla de inicio de instalación.
Al dar clic en el botón “Next” permite continuar el procedimiento de
instalación:
Directorio de Instalación.
79
Permite definir el directorio donde vamos a instalar todos los archivos que
vienen con esta versión de PostgreSQL. En nuestro caso, utilizaremos el
valor por defecto que el programa nos sugiere
80
Establecer Contraseña.
En este paso tenemos que definir una clave de acceso para el usuario
administrador de nuestra base de datos PostgreSQL.
Contraseña: postgres
81
Una vez ingresada la contraseña, volvemos a repetir la misma contraseña y
damos clic en “Siguiente”.
En este paso tendremos que especificar el puerto que PostgreSQL utilizará
para las conexiones. En nuestro caso dejamos el valor por defecto, 5432.
82
Al dar clic en “Siguiente” aparece la siguiente pantalla de opciones
avanzadas dejamos el valor por defecto que aparece y damos clic en
“Siguiente”
83
Listo para Instalar.- Una vez realizada la configuración correcta, al dar
clic en “Siguiente”, el programa nos informa que está listo para instalar
todos los archivos de la base de datos y continuar con la instalación.
84
Progreso de Instalación.- Pulsamos en el botón “Siguiente” y esperamos a
que el programa termine de instalar.
85
Finalización de Instalación.- Una vez terminada la instalación, podremos
salir del instalador pulsando el botón “Finish”.
Desactivar la casilla Lanzar Stack Builder al Finalizar y dar clic en el botón
Finish.
Creación de base de datos
Una vez instalado el motor de base de datos PostgreSql, procedemos a abrir
el programa de la siguiente manera:
Clic Inicio / Todos los programas / PostgreSQL 9.4 /pgAdmin III
86
Damos doble Clic en PostgreSQL 9.4(x86) (localhost:5432).
Pedirá la contraseña de conexión (postgres) con el servidor que fue
configurada en la instalación del motor de base de datos.
Password: postgres
87
Crear Nueva Base de Datos.- Clic derecho en Databases como muestra en
la figura, escoger la opción New Database.
A esta nueva base de datos le llamaremos dione_db y damos clic en el
botón OK.
88
Una vez creada la base de datos dione_db en la barra de herramientas
superior damos clic en SQL
En el CD encontraremos en la carpeta INSTALADORES TESIS/3.SCRIPS/
dos archivos llamados SCRIPT e INSERT, con un editor de texto primero
abriremos SCRIPT
89
Copiar el código sql del archivo pegar a la ventana de SQL de postgres
ubicados en la base de datos dione_db y ejecutamos.
90
Procedemos de igual manera con el archivo INSERT.
Una vez ejecutados los sqls de los dos archivos cerramos la ventana y si nos
pide guardar ponemos señalamos NO.
Ahora vamos nuevamente a la base de datos y verificamos la creación de
las tablas y que se encuentren pobladas de la información inicial.
Verificar datos de tabla de catálogos
91
Instalación de Jboss
Accedemos al CD/INSTALADORES TESIS/4. Jboss/jboss-as-7.1.1.Final
Crear un directorio llamado DIONE en la unidad C: y dentro de este copiar
el directorio jboss-ac-7.1.1.Final
C:\DIONE\ jboss-ac-7.1.1.Final
92
Para subir el servidor debemos dar doble clic en la carpeta bin que se
encuentra dentro de DIONE/Jboss-as-7.1.1-Final
93
Buscamos dentro de bin/standalone y damos clic derecho.
Y seleccionamos Ejecutar como administrador y esperamos a que suba el
servidor.
94
INSTALACION DE GOOGLE CHROME
Accedemos al disco\INSTALADORES TESIS\6.GOOGLE CHROME\ se
encuentra el archivo ChromeSetup, se debe ejecutar dando doble clic
sobre el siguiente archivo
Aparecerá la siguiente pantalla, en la cual se debe dar clic sobre Ejecutar
95
Una vez dado clic en ejecutar iniciará la instalación
Dando la bienvenida al navegador.
96
Una vez instalado Google Chrome ingresamos al navegador y escribimos la
siguiente dirección
localhost:8080/dione_web
Y procedemos a ingresar al sistema.
Usuario: admin Password: admin
97
ANEXO C
MANUAL TÉCNICO
Objetivos:
Dar a conocer las herramientas utilizadas para el desarrollo del presente
sistema. Así como dar una descripción de las aquellas partes del código que
se consideran parte fundamental en el sistema.
Arquitectura J2EE
Capa de Presentación
A nivel de la capa de presentación Web se utilizará la especificación de
PrimeFaces 4.0, permitiendo crear un ambiente Ajax de manera fácil, rápida
y limpia.
Esta capa se encuentra compuesta por:
Recursos.- Se almacenan archivos de internacionalización de las
páginas
Control.- Almacena los backing bean de las paginas JSF.
Pages.- Contiene las paginas JSF de cada módulo.
Capa de interfaces de Servicios de Negocio
A nivel de la capa de interfaces de Servicios de Negocio se utilizará EJB 3.0
para la gestión (conexión) de los JavaBeans de negocio y persistencia, y el
manejo transaccional de la aplicación.
Esta capa se encuentra compuesta por:
Servicios.- JavaBeans que contiene los métodos de negocio
expuestos para su utilización desde la capa de presentación.
Transacción.- Maneja la transaccionabilidad de la aplicación.
Interfaz.- Funciona como intermediario entre las diferentes capas.
Gestores.- Contiene los JavaBeans que encierran la lógica del
negocio.
Recursos.- Se almacenan las propiedades de configuración de la
aplicación
Capa de Persistencia de Datos
98
A nivel de la capa de Persistencia se utilizará JPA como herramienta de
mapeo de atributos entre una base de datos relacional tradicional y el
modelo de objetos de una aplicación, mediante archivos declarativos (XML)
que permiten establecer estas relaciones.
Esta capa se encuentra compuesta por:
Persistencia.- Contiene los JavaBeans de los servicios persistentes.
DTOs.- Almacena los pojos que mapean las tablas de la base de
datos y se los puede utilizar a nivel de todas las capas.
DAOs.- Un Data Access Object (DAO, Objeto de Acceso a Datos) es
un componente de software que suministra una interfaz común entre
la aplicación y uno o más dispositivos de almacenamiento de datos,
tales como una Base de datos o un archivo.
Diseño del sistema
Basado en un patrón de diseño MVC (Modelo-Vista-Controlador), el siguiente sistema bajo una arquitectura J2EE, presenta las capas.
Dione CORE
Permite manejar la parte de persistencia de la aplicación. Básicamente contiene los objetos de acceso a datos (DAO) que implementen las operaciones CRUD (Create, Read, Update, Delete). Valiéndose de JPA, para el mapeo objeto relacional.
Dione EJB
Permite manejar la transaccionabilidad en la aplicación. Donde se encuentra la lógica operacional del sistema.
99
Dione WEB
Permite manejar la interfaz de usuario de la aplicación. Responsable de la lógica de presentación y captura de datos. Donde las tecnologías usadas son primefaces, richfaces y jsf.
Estructura del Sistema
El presente sistema se encuentra divido de la siguiente manera.
Dione_core
Dione_ejb
Dione_web
100
Capa de diseño
Como se mencionó anteriormente, se utiliza para la creación de las distintas pantallas JSF, que es un estándar de Java para construcción de interfaces de usuario para aplicaciones web que simplifican el desarrollo de aplicaciones web del lado del cliente. Las librerías utilizadas son:
resources.jar
rt.jar
jsse.jar
jce.jar
charsets.jar
dnsns.jar
localedata.jar
sunjce_provider.jar
101
El proyecto Dione_web, se define la siguiente estructura: src/main/java
Es la ubicación de las páginas .xhtml, que son desplegadas dentro de la aplicación, para el ingreso y vista de los datos del sistema. Las pantallas que se muestran al cliente se encuentran organizadas en distintas carpetas que se han agrupado de acuerdo a la funcionalidad. Las principales carpetas son:
ec.com.uce.web.backing
ec.com.uce.web.bean
102
103
Paquete ec.com.uce.web.bean
Paquete ec.comm.uce.web.backing
BuscarDocentes Backing: Permite buscar datos del docente
DocentesBacking: Permite validar la identificación del docente y guardar
su información.
DocumentosBacking: Permite almacenar información y manejar las
acciones de la página, agregar documentos del docente, permite cargar el
documento en memoria antes de ser guardado
HojaVidaBacking: Permite guardar la hoja de vida del docente.
ReportesBacking: Permite almacenar información y acciones de la página,
permite consultar los docentes por escuela, la información del syllabus del
mismo y la impresión de reporte.
ResultadosBacking: Permite la actualización de datos de la tabla de
objetivos, elementos de competencias, resultados y el calcular el porcentaje
de cada uno de los cumplimientos.
SyllabusBacking: Permite almacenar la información ingresada en la página
correspondiente al syllabus y almacenarla en la base de datos.
UsuarioBacking: Permite autenticar el usuario en la aplicación.
Capa de Control.
Esta capa es la encargada de manejar la lógica del negocio para lo cual se
hace uso JavaBeans empresariales son una tecnología (API) que forma
parte del estándar de Java EE.
104
Están diseñados para el desarrollo y despliegue de aplicaciones de negocio basadas en componentes desde el lado del servidor.
Package ec.com.uce.web.bean
Ingreso de Usuario al Sistema
package ec.com.uce.web.bean;
import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import ec.com.uce.dione.entities.Usuario;
@ManagedBean
@SessionScoped
public class UsuarioBean implements Serializable {
private static final long serialVersionUID = 1L;
// campos para la session
private String nombreUsuario;
private String password;
105
// campos para la pantalla de crear usuarios
private String nickname;
private String clave;
private String correo;
private String identificacion;
private String nombreApellido;
private String rol;
private Exception exception;
private Usuario sessionUser;
public String getNombreUsuario() {
return nombreUsuario;
}
public void setNombreUsuario(String nombreUsuario) {
this.nombreUsuario = nombreUsuario;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
106
public Usuario getSessionUser() {
return sessionUser;
}
public void setSessionUser(Usuario sessionUser) {
this.sessionUser = sessionUser;
}
public Exception getException() {
return exception;
}
public void setException(Exception exception) {
this.exception = exception;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public String getCorreo() {
return correo;
107
}
public void setCorreo(String correo) {
this.correo = correo;
}
public String getIdentificacion() {
return identificacion;
}
public void setIdentificacion(String identificacion) {
this.identificacion = identificacion;
}
public String getNombreApellido() {
return nombreApellido;
}
public void setNombreApellido(String nombreApellido) {
this.nombreApellido = nombreApellido;
}
public String getClave() {
return clave;
}
public void setClave(String clave) {
this.clave = clave;
108
}
public String getRol() {
return rol;
}
public void setRol(String rol) {
this.rol = rol;
}
}
Lista de los EJB que manejan la lógica del negocio para verificar el usuario y la construcción del menú.
Servicio Usuario
Servicio Menú
Servicio Rol
package ec.com.uce.ejb.service.impl;
import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateless;
import ec.com.uce.dione.comun.DioneException;
import ec.com.uce.dione.dao.MenuDao;
import ec.com.uce.dione.dao.RolDao;
import ec.com.uce.dione.dao.RolMenuDao;
import ec.com.uce.dione.dao.UsuarioDao;
import ec.com.uce.dione.entities.Menu;
import ec.com.uce.dione.entities.Rol;
109
import ec.com.uce.dione.entities.RolMenu;
import ec.com.uce.dione.entities.Usuario;
import ec.com.uce.dione.enumeration.EstadoEnum;
import ec.com.uce.ejb.service.UsuarioService;
@Stateless
public class UsuarioServiceImpl implements UsuarioService {
@EJB
private UsuarioDao usuarioDao;
@EJB
private RolDao rolDao;
@EJB
private MenuDao menuDao;
@EJB
private RolMenuDao rolMenuDao;
public void guardarUsuario(Usuario usuario, Rol rol, List<Menu>
menus) throws DioneException {
usuarioDao.persist(usuario);
rol.setUsuario(usuario);
rol.setEstadoRol(EstadoEnum.A);
rol.setDescripcionRol(rol.getDescripcionRol());
rolDao.persist(rol);
for(Menu menu: menus){
110
RolMenu rolMenu = new RolMenu();
menu.getEstadoMenu();
rolMenu.setMenu(menu);
rolMenu.setRol(rol);
rolMenuDao.persist(rolMenu);
}
}
public List<Usuario> consultarUsuarios() throws DioneException {
return usuarioDao.findAll();
}
public Usuario loginUser(String nombreUsuario, String clave) throws
DioneException {
return usuarioDao.loginUser(nombreUsuario, clave);
}
public void modificarUsuario(Usuario usuario) throws DioneException {
usuarioDao.modificarUsuario(usuario);
}
@Override
public List<Rol> consultarRolByUsuario(Usuario usuario) throws
DioneException {
return rolDao.consultarRolByUsuario(usuario);
}
111
@Override
public List<RolMenu> consultarRolMenus(Rol rol) throws
DioneException {
return menuDao.consultarMenuByRol(rol);
}
@Override
public Menu consultarMenu(Integer idMenu) throws DioneException {
return menuDao.findById(new Long(idMenu));
}
@Override
public List<Rol> consultarRoles() throws DioneException {
return rolDao.findAll();
}
@Override
public List<Menu> consultaMenus() throws DioneException {
return menuDao.findAll();
}
public Rol consultarRolById(Long idRol) throws DioneException {
return rolDao.findById(idRol);
}
}
Ingreso información docente
112
package ec.com.uce.web.bean;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import org.primefaces.event.RowEditEvent;
import ec.com.uce.dione.comun.DioneException;
import ec.com.uce.ejb.dto.AsignaturaDTO;
import ec.com.uce.ejb.dto.MateriaDTO;
@ManagedBean
@SessionScoped
public class DocenteBean implements Serializable {
private static final long serialVersionUID = 1L;
private String apellidosDocente;
private String cedulaDocente;
private String direccionDocente;
private String nombresDocente;
private String escuela;
113
private List<MateriaDTO> materiasSeleccionadas;
private static ArrayList<AsignaturaDTO> asignaturasList = new
ArrayList<AsignaturaDTO>();
public String getApellidosDocente() {
return apellidosDocente;
}
public void setApellidosDocente(String apellidosDocente) {
this.apellidosDocente = apellidosDocente;
}
public String getCedulaDocente() {
return cedulaDocente;
}
public void setCedulaDocente(String cedulaDocente) {
this.cedulaDocente = cedulaDocente;
}
public String getDireccionDocente() {
return direccionDocente;
}
public void setDireccionDocente(String direccionDocente) {
this.direccionDocente = direccionDocente;
}
public String getNombresDocente() {
114
return nombresDocente;
}
public void setNombresDocente(String nombresDocente) {
this.nombresDocente = nombresDocente;
}
public String getEscuela() {
return escuela;
}
public void setEscuela(String escuela) {
this.escuela = escuela;
}
public ArrayList<AsignaturaDTO> getAsignaturasList() {
return asignaturasList;
}
public static void setAsignaturasList(ArrayList<AsignaturaDTO>
asignaturasList) {
DocenteBean.asignaturasList = asignaturasList;
}
public void addAsignatura() {
AsignaturaDTO item = new AsignaturaDTO(this.escuela,
this.materiasSeleccionadas);
asignaturasList.add(item);
115
escuela = "";
materiasSeleccionadas = new ArrayList<MateriaDTO>();
}
public void onEditAsignatura(RowEditEvent event) {
FacesMessage msg = new FacesMessage("Item Edited",
((AsignaturaDTO) event.getObject()).getEscuela().toString());
FacesContext.getCurrentInstance().addMessage(null, msg);
}
public void onCancelAsignatura(RowEditEvent event) {
FacesMessage msg = new FacesMessage("Item Cancelled");
FacesContext.getCurrentInstance().addMessage(null, msg);
asignaturasList.remove((AsignaturaDTO) event.getObject());
}
public List<MateriaDTO> getMateriasSeleccionadas() {
return materiasSeleccionadas;
}
public void setMateriasSeleccionadas(List<MateriaDTO>
materiasSeleccionadas) {
this.materiasSeleccionadas = materiasSeleccionadas;
}
}
116
Como se indicó anteriormente Dion_core . Contiene los objetos de acceso a
datos (DAO) que implementen las operaciones, valiéndose de JPA, para el
mapeo objeto relacional
Consultas java
package ec.com.uce.dione.comun;
import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
@Entity
@NamedQueries({
// CATALOGO
@NamedQuery(name = "Catalogo.findById", query = "SELECT
c FROM Catalogo c WHERE c.idCatalogo =:idCatalogo"),
// MATERIAS
@NamedQuery(name = "MateriaUce.findByEscuela", query =
"SELECT m FROM MateriaUce m WHERE m.escuelaUce.idEscuelaUce
=:idEscuela"),
@NamedQuery(name = "Materia.findByEscuela", query =
"SELECT m FROM Materia m WHERE m.escuela.idEscuela =:idEscuela"),
// ESCUELA UCE
117
@NamedQuery(name = "EscuelaUce.findByDocente", query =
"SELECT m FROM EscuelaUce m WHERE m.docente.idDocente
=:idDocente"),
@NamedQuery(name = "EscuelaUce.findByDescripcion", query
= "SELECT m FROM EscuelaUce m WHERE m.escuelaUce =:escuela"),
// PREREQUISITO
@NamedQuery(name = "Prerequisito.findByMateria", query =
"SELECT m FROM Prerequisito m WHERE m.materia.idMateria
=:idMateria"),
// COREQUISITO
@NamedQuery(name = "Corequisito.findByMateria", query =
"SELECT m FROM Corequisito m WHERE m.materia.idMateria
=:idMateria"),
// FORMACION ACADEMICA
@NamedQuery(name =
"FormacionAcademica.findByDocente", query = "SELECT m FROM
FormacionAcademica m WHERE m.docente.idDocente =:idDocente"),
// FORMACION CONTINUA
@NamedQuery(name = "FormacionContinua.findByDocente",
query = "SELECT m FROM FormacionContinua m WHERE
m.docente.idDocente =:idDocente"),
// USUARIO
@NamedQuery(name = "Usuario.loginUser", query = "SELECT
u FROM Usuario u WHERE u.usuario =:usuario AND u.clave =:clave"),
// DOCENTE
118
@NamedQuery(name = "Docente.findByCedula", query =
"SELECT d FROM Docente d WHERE d.cedulaDocente =:cedula"),
// MATERIA SYLLABUS
@NamedQuery(name = "MateriaSyllabus.findBySyllabus",
query = "SELECT d FROM MateriaSyllabus d WHERE
d.syllabus.idSyllabus=:idSyllabus"),
@NamedQuery(name =
"MateriaSyllabus.findByMateriaAndDocente", query = "SELECT m FROM
MateriaSyllabus m WHERE m.docente.idDocente =:idDocente AND
m.materiaUce.idMateriaUce=:idMateriaUce"),
// DETALLE_CATALOGO
@NamedQuery(name = "DetalleCatalogo.findByCodCatalogo",
query = "SELECT d FROM DetalleCatalogo d WHERE d.catalogo.idCatalogo
=:idCatalogo ORDER BY d.descDetCatalogo"),
@NamedQuery(name =
"DetalleCatalogo.findByCodCatalogoAndCodDetalle", query = "SELECT d
FROM DetalleCatalogo d WHERE d.catalogo.idCatalogo =:idCatalogo AND
d.codDetalleCatalogo=:codDetalleCatalogo"),
// ROL
@NamedQuery(name = "Rol.findByUsuario", query = "SELECT
r FROM Rol r WHERE r.usuario.idUsuario =:idUsuario"),
// OBJETIVOS
@NamedQuery(name = "Objetivo.findBysyllabus", query =
"SELECT o FROM Objetivo o WHERE o.syllabus.idSyllabus =:idSyllabus"),
// CUMPLIMIENTOS
@NamedQuery(name =
"Cumplimiento.findByIdMateriaSyllabus", query = "SELECT o FROM
119
Cumplimiento o WHERE o.materiaSyllabus.idMateriaSyllabus
=:idMateriaSyllabus"),
// COMPETENCIAS
@NamedQuery(name =
"CompetenciaGenerale.findBySyllabus", query = "SELECT c FROM
CompetenciaGenerale c WHERE c.syllabus.idSyllabus =:idSyllabus"),
@NamedQuery(name =
"CompetenciasGenerica.findBySyllabus", query = "SELECT c FROM
CompetenciasGenerica c WHERE c.syllabus.idSyllabus =:idSyllabus"),
@NamedQuery(name =
"CompetenciasEspecifica.findBySyllabus", query = "SELECT c FROM
CompetenciasEspecifica c WHERE c.syllabus.idSyllabus =:idSyllabus"),
// RESULTADOS APRENDIZAJE
@NamedQuery(name =
"ResultadosAprendizaje.findBySyllabus", query = "SELECT r FROM
ResultadosAprendizaje r WHERE r.syllabus.idSyllabus =:idSyllabus"),
// BIBLIOGRAFIAS
@NamedQuery(name = "Bibliografia.findBySyllabus", query =
"SELECT r FROM Bibliografia r WHERE r.syllabus.idSyllabus =:idSyllabus"),
// UNIDADES
@NamedQuery(name = "UnidadCompetencia.findBySyllabus",
query = "SELECT r FROM UnidadCompetencia r WHERE
r.syllabus.idSyllabus =:idSyllabus"),
// EXPERIENCIAS
@NamedQuery(name = "Experiencia.findByDocente", query =
"SELECT e FROM Experiencia e WHERE e.docente.idDocente
=:idDocente"),
120
// ELEMENTO COMPETENCIA
@NamedQuery(name =
"ElementoCompetencia.findBySyllabus", query = "SELECT r FROM
ElementoCompetencia r WHERE
r.unidadCompetencia.idUnidadCompetencia =:idUnidadCompetencia"),
// DOCUMENTOS
@NamedQuery(name = "DocumentoDocente.findByDocente",
query = "SELECT r FROM DocumentoDocente r WHERE
r.docente.idDocente =:idDocente"),
// MENU
@NamedQuery(name = "Menu.findByRol", query = "SELECT m
FROM RolMenu m WHERE m.rol.idRol =:idRol") })
public class Consultas implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private Integer comunId;
public Integer getComunId() {
return comunId;
}
public void setComunId(Integer comunId) {
this.comunId = comunId;
}
121
}
MODELAMIENTO DE DATOS
A continuación se presenta las tablas que componen la base de datos del
sistema.
Tabla Usuario
La tabla de usuario es la que almacena toda la información ingresada por el
administrador del sistema el momento de asignación de rol, usuario,
nombre_usuario, clave, identificación, email, etc.
Tabla Rol
En esta tabla se almacena el rol que ha sido designado por el administrador
del sistema.
Administrador, Inspector, Docente.
Tabla Catalogo
Es la encargada de almacenar los módulos de ingreso al sistema.
122
Tabla Detalle Catálogo
En la tabla Detalle Catálogo se almacena la información de los módulos
contenidos por el sistema.
Tabla Docente
La tabla de Docente almacena la información que el docente ingresa.
Tabla Escuela
Esta tabla almacena las carreras de la Facultad.
Tabla Materia
Contiene las materias de cada carrera.
123
Tabla Pre requisito
Almacena las materias que debió aprobar el estudiante para poder tomar la
materia actual.
Tabla Co requisito
Almacena las materias que debería tomar simultaneamente el estudiante
con la materia actual.
Tabla Formación Académica
Almacena la información de títulos del docente.
Tabla Experiencia
Almacena la experiencia laboral que posee el docente con tiempo de inicio,
fin, y funciones desempeñadas.
124
Tabla Formación Continua
Almacena la información de cursos del docente.
Tabla Documento Docente
Almacena las especificaciones del documentos ingresado por el docente.
Tabla Archivo Base
Almacena el documento especificado en la tabla documento docente.
Tabla Materia Syllabus
125
Almacena el syllabus por materia, puesto que un docente puede tener más
de una materia por lo tanto más de un syllabus por docente.
Tabla Syllabus
Almacena la información del syllabus de la materia, la metodología, horas
de tutoría, descripción de la asignatura.
Tabla Cumplimiento
Almacena la información de verificación de cumplimientos del syllabus, que
se calcula de acuerdo a los objetivos, competencias, resultados.
Tabla Objetivo
Almacena los objetivos planteados por el docente en la materia.
126
Tabla Competencias Generales
Almacena las competencias a desarrollar por el docente en la materia.
Tablas Competencias Genéricas y Específicas
Almacena las competencias a desarrollar por el docente en la materia.
Tabla Recursos Didácticos.
Almacena los archivos que el docente ingresa para la programación de su
asignatura.
Tabla Resultados de Aprendizaje
Almacena los resultados que se plantea el docente.
127
Tabla Bibliografía
Almacena el detalle de los recursos bibliográficos a ser utilizados por el
docente.
Tabla Unidad de Competencia
Almacena las competencias establecidas por el docente para cada
asignatura.
Tabla Elementos de Competencia
Esta tabla almacena los elementos a ser revisados en cada una de las
competencias.
128
129
130