Universidad Central “Marta Abreu” de las Villas. Facultad Matemática Física y Computación Licenciatura en Ciencia de la Computación Sistema de Información de apoyo a la Autoevaluación de la Carrera Ciencia de la Computación (SAAC) Autor Gustavo Medina Santana Tutor Dr. Daniel Gálvez Lio Curso 2012- 2013 Declaración Jurada El que suscribe, Gustavo Medina Santana, hago constar que el trabajo titulado Sistema de información para la autoevaluación de la carrera Ciencia de la Computación fue realizado en la Universidad Central “Marta Abreu” de Las Villas como parte de la culminación de los estudios de la especialidad de Licenciatura en Ciencia de la Computación, autorizando a que el mismo sea utilizado por la institución, para los fines que estime conveniente, tanto de forma parcial como total y que además no podrá ser presentado en eventos ni publicado sin la autorización de la Universidad. ________________ Firma del autor Los abajo firmantes, certificamos que el presente trabajo ha sido realizado según acuerdos de la dirección de nuestro centro y el mismo cumple con los requisitos que debe tener un trabajo de esta envergadura referido a la temática señalada. ___________________________ ____________________________ Firma del Tutor Firma del Jefe del Laboratorio Dedicatoria Dedico con todo mi corazón este trabajo a mi familia por brindarme su apoyo incondicional en todo momento y a mi niño que desde su nacimiento se convirtió en un faro que ilumina mi vida. Agradecimientos Al Dr. Daniel Gálvez Lio por darme un voto de confianza y ser un excelente tutor y amigo. Al profesor Abel Rodríguez Morffi por su paciencia y apoyo incondicional. A mi familia por mantener su fe en mí en todas las etapas de mi vida. A la mujer de mis sueños Indiana, por existir en mi vida. A mi suegra Belkis por acogerme en su hogar como un hijo más. Resumen La Junta de Acreditación Nacional (JAN) establece en los documentos rectores de su trabajo la guía de evaluación de carreras universitarias (SEA-CU 02) que establece un grupo de indicadores y criterios de medidas para los mismos. Estos indicadores son evaluados de manera cualitativa, pues los criterios de medida en la mayoría de los casos no reflejan valores cuantitativos. Sin embargo, esas valoraciones pueden fundamentarse en informaciones cuantitativas que son manejadas por el personal institucional, entiéndase, jefe de carrera, jefes de departamento, jefes de disciplinas, Vicedecano Docente, Vicedecano de Investigación, así como otras personas. A partir de la guía de autoevaluación de carreras universitarias se establece un conjunto de informaciones cuantitativas que pueden fundamentar el informe de autoevaluación propuesto por el colectivo de carrera y esta información se puede almacenar en una base de datos que conserve en el tiempo dicha información y que pueda ser accedida por un sistema de apoyo al proceso de autoevaluación de las carreras, capaz de gestionar los datos y generar reportes del estado de los mismos. Con este fin se implementa SAAC en su versión 1.0 como un sistema de apoyo al proceso de autoevaluación de la carrera de Ciencia de la Computación. ABSTRACT The National Accreditation Board (JAN) provides documents to guide the process of selfassessment for universities careers (SEA-CU 02), that documents provides a set of indicators and measurement criteria. These indicators are evaluated qualitatively due to the measuring criteria, in most cases, not reflect quantitative values. However, these qualitative assessments can be based on quantitative data that are managed by institutional staff, for example, chief career, heads of departments, heads of disciplines, Teaching Associate Dean, Associate Dean for Research, and others. From self-assessment guide to university career, can be establish a set of quantitative information that can substantiate the proposed self-assessment report by the staff of career and this information can be stored in a database that holds over the time. That information can be accessed by a support system for self-assessment career’s, that system will be able to manage data and generate reports. In order to help to the self-assessment process for the career of Computer Science, the software, called SAAC version 1.0, is implemented. Tabla de contenido Introducción ........................................................................................................... 1 Objetivo General ................................................................................................. 2 Objetivos Específicos ........................................................................................... 2 Justificación ........................................................................................................ 2 Capítulo 1: “Proceso de Autoevaluación de una carrera y las tecnologías de programación utilizadas” .............................................................................................................. 4 1.1 Descripción del Problema............................................................................ 4 1.1.1 1.2 Análisis de las variables involucradas en el proceso ................................. 5 Herramientas para el desarrollo del sistema informático ............................... 11 1.2.1 PostgreSQL como Sistema Gestor de Bases de Datos ............................ 11 1.2.2 Java como lenguaje de programación ................................................... 11 1.2.3 NetBeans .......................................................................................... 17 1.2.4 Principales bibliotecas y drivers utilizados ........................................... 17 Capítulo 2: “Implementación del Sistema de Información de apoyo para la Autoevaluación de la Carrera Ciencia de la Computación (SAAC)” ............................ 20 2.1 Requisitos funcionales y no funcionales del sistema ..................................... 20 2.2 Actores y Casos de Uso del sistema ............................................................ 22 2.2.1 Descripción de los casos de usos del sistema. ............................................ 28 2.3 Modelación de la información manejada por el sistema ................................ 30 2.4 Elementos de la implementación del sistema ............................................... 35 2.4.1 Aspectos de la arquitectura MVC utilizada ........................................... 35 2.4.2 Paquetes utilizados............................................................................. 36 2.4.3 Algoritmos y funciones utilizadas en la implementación del sistema ....... 37 2.5 Diagrama de Despliegue ........................................................................... 40 2.6 Herramientas para el desarrollo del Sistema ................................................ 40 2.6.1 Conexión de “SAAC.jar” con la base de datos .................................... 41 Capítulo 3: “Manual de Usuario” ............................................................................ 44 3.1 Requerimientos e Instalación de los Componentes del Sistema. ......................... 44 3.1.1 Instalación de la Base de Datos en el servidor. ........................................... 44 3.1.2 Requerimientos e Instalación del “SAAC.jar” ........................................... 44 3.2 Utilización de “SAAC”. ................................................................................ 44 3.2.1 Autentificación. ..................................................................................... 45 3.2.2Consultar reportes. ................................................................................. 47 3.2.3 Gestionar controles a clases. ................................................................... 50 3.3 Ayuda de “SAAC”........................................................................................ 53 Conclusiones ........................................................................................................ 54 Recomendaciones .................................................................................................. 55 Bibliografía .......................................................................................................... 56 Anexos ................................................................................................................. 57 Anexo 1 ............................................................................................................ 57 Anexo 2 ............................................................................................................ 60 Anexo 3 ............................................................................................................ 61 Introducción La carrera de Ciencia de la Computación perteneciente a la Facultad de Matemática, Física y Computación en la Universidad Central “Marta Abreu” de Las Villas realiza en el curso 2012-2013 su 38va graduación, es una carrera acreditada de excelencia en un proceso realizado por la Junta de Acreditación Nacional (JAN) en el 2008. En el actual curso académico, el colectivo de carrera de Ciencia de la Computación debe elaborar el informe del trabajo realizado para ser presentado en un proceso de reacreditación de la carrera. Para la elaboración del informe de autoevaluación de la carrera existe una metodología que se aplica semestralmente y una vez culminado el curso, en ocasiones se hace coincidir la autoevaluación del 2do semestre con la autoevaluación del curso para la carrera. Esta autoevaluación se realiza teniendo en cuenta un determinado grupo de indicadores y los criterios de evaluación para cada uno de ellos. La JAN establece en los documentos rectores del proceso todos los aspectos a ser considerados. Los criterios de evaluación en su mayoría, son información cualitativa, sin embargo, existen un conjunto amplio de elementos cuantitativos que tributan a la evaluación cualitativa expresada en la metodología, los elementos se encuentran dispersos, forman parte de informaciones que se van generando durante todo el curso, son manejados por diferentes personas en sus respectivas responsabilidades institucionales (como el jefe de carrera, el vicedecano docente y el de investigación, el jefe de departamento, etc.), lo cual dificulta el proceso, y de cierta forma puede conllevar a cometer imprecisiones. Hasta el momento la información recopilada durante estos procesos de autoevaluación de la carrera queda registrada en el informe de autoevaluación y el conjunto de anexos del mismo y es responsabilidad del jefe de carrera conservarlos para posteriores análisis, comparaciones con el curso precedente, etc. La información histórica de este proceso de esta forma no está segura, disponible, ni automatizada. …1 Objetivo General Desarrollar la implementación de un sistema de información que facilite la gestión de los datos necesarios para elaboración de la autoevaluación semestral y de un curso académico de la carrera Ciencia de la Computación. Objetivos Específicos 1. Determinar las necesidades de información para el proceso de autoevaluación de la carrera Ciencia de la Computación. 2. Diseñar e implementar una base de datos que satisfaga las necesidades de información detectadas en el proceso de autoevaluación. 3. Diseñare implementar un sistema de información de apoyo al proceso de autoevaluación. En esta investigación se diseña e implementa un sistema de información que permita manejar información cuantitativa que sirve de base en la elaboración de la autoevaluación semestral y de un curso académico de la carrera Ciencia de la Computación. Para lograr lo antes mencionado se parte del análisis del documento “SISTEMA DE EVALUACIÓN Y ACREDITACIÓN DE CARRERAS UNIVERSITARIAS” (JAN, 2009) de donde se obtienen los indicadores para la autoevaluación de las carreras que servirán como fuente primaria de información a manejar por el sistema. Como resultado del procesamiento de esta información y del cálculo de ciertos criterios de medida, se obtendrán un conjunto de tablas y reportes establecidos por la JAN, los cuales facilitarán la elaboración de esta autoevaluación. Justificación Se hace necesaria la implementación de un sistema que apoye el proceso de autoevaluación de la carrera Ciencia de la Computación debido al gran volumen de información que se maneja y lo dispersa que se encuentra entre el personal involucrado, además, muchas de esas informaciones tienen valor histórico por lo que tenerlas almacenadas y poder consultarlas a través de un sistema es de gran beneficio e importancia para nuestra carrera y la facultad en general. …2 La tesis está estructurada en una introducción, tres capítulos, las conclusiones, las recomendaciones, la bibliografía y 3 anexos. En el Capítulo 1 se encuentra descrito el planteamiento del problema, así como lo relativo al proceso de autoevaluación de una carrera, además, se hace una descripción teórica de cada una de las herramientas que se utilizan para la confección del sistema. En el capítulo 2 se aborda todo lo relacionado con la implementación del sistema, partiendo del modelado de los principales diagramas hasta la configuración de las herramientas necesarias para continuar enriqueciéndolo; del mismo modo en el capítulo 3 se explica de forma detallada cuáles son los requisitos que deben cumplir tanto las máquinas clientes como el servidor, así como la configuración de los software para poder utilizar de forma óptima el sistema creado. …3 Capítulo 1: “Proceso de Autoevaluación de una carrera y las tecnologías de programación utilizadas” En este capítulo se presenta el planteamiento del problema investigativo relativo al proceso de autoevaluación de una carrera, describiéndose brevemente este proceso y los indicadores establecidos por la Junta de Acreditación Nacional (JAN). También se describen los aspectos teóricos relacionados con las tecnologías utilizadas para dar solución efectiva al mismo. 1.1 Descripción del Problema La Junta de Acreditación Nacional (JAN) es el organismo encargado en nuestro país de centrar el proceso de acreditación de las carreras universitarias y las especialidades de postgrados: maestrías, doctorados, etc. Esta entidad ha creado el “SISTEMA DE EVALUACIÓN Y ACREDITACIÓN DE CARRERAS UNIVERSITARIAS (SEA-CU)” (JAN, 2009) y dicho sistema contiene la GUÍA DE EVALUACIÓN DE CARRERAS UNIVERSITARIAS (SEA-CU 02) (ver anexo 1). Esta guía establece un total de 5 variables para cada una de las cuales se definen los indicadores y los criterios de evaluación de cada indicador. En el caso de las carreras universitarias esas variables son: 12345- PERTINENCIA E IMPACTO SOCIAL PROFESORES Y PERSONAL AUXILIAR ESTUDIANTES INFRAESTRUCTURA CURRÍCULO La mayoría de los criterios de evaluación de cada indicador expresan valoraciones cualitativas del proceso de ejecución de la carrera. Normalmente el colectivo de carrera, órgano asesor de la carrera en cada centro, realiza dos análisis semestrales y una autoevaluación de la carrera cada curso académico basados en esa guía establecida por la JAN. Además, en el momento en que un colectivo de carrera considera que la carrera tiene un grado de madurez adecuado para optar por alguno de los niveles de acreditación establecidos por la JAN, se hace, a través del rector …4 del centro, la solicitud de que la carrera sea acreditada y se elabora el informe de acreditación teniendo en consideración la guía establecida por la JAN. Como parte de este trabajo se debe hacer un estudio que permita establecer un conjunto de elementos cuantitativos que permitan justificar la autoevaluación que el colectivo de carrera propone en su informe de autoevaluación. 1.1.1 Análisis de las variables involucradas en el proceso Teniendo en cuenta la información mostrada en el anexo 1, se realizó el análisis de los indicadores que pudieran ser cuantificados, lo cual se muestra a continuación: 1.1.1.1 Variable 1“Pertinencia e impacto social” En la variable 1 se establece el indicador “1.1 Proyección de la profesión hacia el territorio y/o el país” y se establece como criterio de medida “Reconocimiento del vínculo de los profesores y estudiantes a la solución de los problemas del territorio y/o del país” entonces para valorar el cumplimiento de este criterio de medida se podría tener en cuenta los siguientes elementos cuantitativos: o Cantidad de estudiantes y profesores con resultados reconocidos en fórum de Ciencia y Técnica y otros eventos de carácter regional, nacional e internacional y con reconocimientos y premios nacionales e internacionales. o Proyectos de Investigación de distinta índole (locales, regionales, nacionales, internacionales) en los que participan los estudiantes y profesores. o Participación en las tareas de impacto. o Cantidad de estudiantes vinculados a proyectos comunitarios. La información anterior es controlada por el director del Centro de Estudios de Informática (CEI) a través del balance de Ciencia y Técnica y los vicedecanos docente y de investigación de la facultad. Se establece un segundo indicador “1.2 Grado de satisfacción de profesores, estudiantes, egresados y empleadores con la calidad del proceso de formación”, y se establece como criterio de medida “Resultados alcanzados en la valoración del grado de satisfacción a los profesores, estudiantes, empleadores y los egresados” entonces para valorar el …5 cumplimiento de este criterio de medida se podría tener en cuenta como elemento cuantitativo: o Los resultados de las encuestas realizadas a profesores, estudiantes, empleadores y egresados. Las encuestas a estudiantes se realizan con sistematicidad (semestralmente), son procesados por el vicedecano docente de la facultad y sus resultados son objeto de análisis en el colectivo de carrera, en la brigada, etc. Las encuestas a egresados y empleadores se realizan en muy pocas ocasiones, pero como la facultad mantiene buen vínculo con sus egresados, fundamentalmente a través de la formación postgraduada, se sugiere sistematizar un sistema de retroalimentación que aproveche la presencia de los egresados en nuestras las aulas y garantice el conocer grado de satisfacción de egresados y empleadores. 1.1.1.2 Variable 2“Profesores y personal auxiliar” En la variable 2 se establece el indicador “2.1 Cualidades de educador” y se establece como criterio de medida “Se comprueba por diferentes vías que los profesores se destacan por sus cualidades de educador” entonces para valorar el cumplimiento deeste criterio de medida se podría tener en cuenta los siguientes elementos cuantitativos: o Resultados de encuestas a estudiantes, en particular la pregunta 8 de la encuesta. o Cantidad de controles a clase realizados y los porcientos de calificaciones entre 4 y 5, lo cual va a reflejar la calidad de la docencia que se imparte. La encuesta a los estudiantes se procesa por el vicedecano docente y los controles a clase son planificados por el jefe del departamento docente. Se establecen otros dos indicadores “2.2 % de doctores (o equivalente según reglamento), Master y Especialistas con que cuenta la carrera” y “2.3 Categorización de los profesores”, y se establecen como criterios de medida: “A. Sede Central: % de Doctores del claustro y % de Master en el resto del claustro” entonces para valorar el cumplimiento de estos criterios de medida se podría valorar los siguientes elementos cuantitativos: …6 o La cantidad de licenciados e ingenieros, de master y de doctores conforman el claustro de profesores, así como el porciento que estos representan. o La cantidad de profesores con categoría superior (PA y PT), así como el porciento que estos representan. La información anterior se maneja a nivel del jefe del departamento durante la planificación de la carga docente en cada semestre. Otro indicador es “2.4 Calidad de las investigaciones y el postgrado en la carrera”, para el cual se establece como criterio de medida “Se reconoce el impacto económico y social de las investigaciones realizadas en los últimos 5 años y la integración de la gestión de la ciencia y la innovación entre la Sede Central y la otra modalidad de enseñanza en su influencia en el proceso de formación de los estudiantes” entonces para evaluar el cumplimiento de este criterio de medida se podría valorar los siguientes elementos cuantitativos: o La cantidad de premios y reconocimientos obtenidos por los profesores en los últimos 5 años. o Índice promedio de eventos por profesor en los últimos 5 años. Esta información se extraerá del Balance de Ciencia y Técnica que realiza el CEI y que controla el director y contará con una descripción detallada de cada elemento para que sirva de referencia al personal encargado de realizar la acreditación. Otro indicador es “2.5 Publicaciones de textos y/o artículos científicos en revistas referenciadas y participación en eventos nacionales e internacionales”, para el cual se establecen como criterios de medida “Tres o más publicaciones promedio por profesor en los últimos 5 años” y “Tres o más ponencias promedio en eventos nacionales e internacionales por profesor en los últimos 5 años” entonces para valorar el cumplimiento de este criterio de medida se podría valorar los siguientes elementos cuantitativos: o Las publicaciones de los profesores del claustro en los últimos 5 años y el promedio por profesor. …7 o Las ponencias, para a partir de estas sumarlas y calcular las ponencias promedio en eventos nacionales e internacionales por profesor en los últimos 5 años. o Índice promedio de publicaciones por profesor. Esta información al igual que la anterior se extrae del Balance de Ciencia y Técnica. 1.1.1.3 Variable 3“Estudiantes” En la variable 3 se establece el indicador “3.3 Tendencia que se manifiesta en la eficiencia en los últimos 5 cursos” y se establece como criterio de medida “La eficiencia muestra una efectiva estabilidad o tendencia al incremento de la permanencia, del rendimiento y del egresado en los últimos 5 cursos” entonces para el cumplimiento de este criterio de medida se necesitaría llevar a cabo el análisis de las eficiencias vertical y horizontal de los últimos 5 cursos y lo cual es obtenido desde la secretaria docente por el vicedecano docente. Otro indicador sería “3.2 Dominio de los modos de actuación de la profesión” el cual establece como criterios de medida “Resultados alcanzados en los exámenes integradores aplicados a una muestra de estudiantes que garantice evaluar los modos de actuación de la profesión”, “% de estudiantes con calificaciones de 4 ó 5” y “Calidad de los Trabajos de Curso, de Diploma u otras formas de culminación de estudio realizados en los últimos 3 cursos”, entonces para hacer efectivo el cumplimiento de estos criterios de medida se deben tener en cuenta las notas almacenada en el SIGENU de la práctica de producción y los trabajos de diploma. Esta información es controlada por la secretaria docente a través de los responsables de la práctica laboral de cada uno de los años y del responsable de los trabajos de diploma para 5to año. 1.1.1.4 Variable 4“Infraestructura” De esta variable no se decidió información cuantitativa para incluir en el sistema. 1.1.1.5 Variable 5“Currículo” En la variable 5 se establece el indicador “5.5 Actividad investigativo – laboral de los estudiantes” y se establecen como criterios de medida “La organización y desarrollo de la …8 actividad investigativo – laboral en la carrera garantiza la formación de los modos de actuar del profesional” y “Las unidades docentes están constituidas en entidades laborales de alto prestigio profesional que reúnen los requisitos necesarios para la formación de los modos de actuación de la profesión” entonces para valorar el cumplimiento de estos criterios de medida se podría valorar los siguientes elementos cuantitativos: o La cantidad de estudiantes vinculados a grupos científicos. o La cantidad de ponencias y premios en eventos a todos los niveles. o Los diferentes tipos de centros de trabajo donde se ubican a los estudiantes para realizar sus prácticas laborales. La información anterior es controlada por los laboratorios científicos del CEI y por los profesores que atienden la práctica de producción quienes reportan esta información a sus superiores: el director del CEI y el Jefe de la Disciplina Práctica Profesional. 1.1.1.6 Otras informaciones La JAN establece en su documentación un conjunto de informaciones en forma de tablas (ver anexo 2) que son datos cuantitativos que deben ser entregados como parte del documento de autoevaluación a elaborar por el colectivo de carrera. Estas informaciones son por ejemplo: o Una relación de los profesores que dirigen los diferentes colectivos pedagógicos con su categoría docente y grado científico. Esta información se localiza fundamentalmente en el jefe de departamento carrera y en el jefe de la carrera. o Relación del personal responsable de la práctica laboral por cada una de las entidades, con sus respectivos contactos. Durante este epígrafe se ha presentado toda la información cuantitativa que se considera útil para fundamentar la autoevaluación de la carrera, así como los responsables institucionales que la controlan, de manera que se pueda desarrollar una aplicación informática que permita capturar toda esa información y procesarla, extrayendo los resúmenes y otras informaciones en el formato establecido por la JAN. …9 1.1.2 Resumen de la cuantificación de las variables Variable No.1: PERTINENCIA E IMPACTO SOCIAL No. Indicador 1.1 Proyección de la profesión hacia el territorio y/o el país. 1.2 Grado de satisfacción de profesores, estudiantes, egresados y empleadores con la calidad del proceso de formación. Cuantificar Sí Sí Variable No.2: PROFESORES Y PERSONAL AUXILIAR No. 2.1 2.2 2.3 2.4 2.5 2.6 2.7 Indicador Cuantificar Cualidades de educador. Sí % de doctores (o equivalente según reglamento), Master y Sí Especialistas con que cuenta la carrera. Categorización de los profesores. Sí Calidad de las investigaciones y el postgrado en la carrera. Sí Publicaciones de textos y/o artículos científicos en revistas Sí referenciadas y participación en eventos nacionales e internacionales. Experiencia profesional en el área de conocimientos de la carrera. No Personal no docente y administrativo. No Variable No.3: ESTUDIANTES No. 3.1 3.2 3.3 3.4 Indicador Participación de los estudiantes como protagonistas de su proceso de formación. Dominio de los modos de actuación de la profesión. Tendencia que se manifiesta en la eficiencia en los últimos cinco cursos. Organización docente para el aprendizaje. Cuantificar No Sí Sí No Variable No.4: INFRAESTRUCTURA No. 4.1 4.2 4.3 4.4 Indicador Aseguramiento de un sistema integrado y progresivo de los medios de enseñanza que garantice el acceso al aprendizaje de los estudiantes. Aseguramiento bibliográfico en el área de conocimiento de la carrera. Aseguramiento de la base material en el área de conocimiento de la carrera (incluido el que se utiliza como consecuencia de la alianza con los OACE). Aseguramiento material para el empleo de la computación y las TICs en la carrera. Otras instalaciones de carácter docente utilizadas por la carrera. Cuantificar No No No No Variable No.5: CURRÍCULO No. Indicador 5.1 Gestión curricular en la carrera y en el colectivo pedagógico. 5.2 Relación entre los diferentes componentes del proceso docenteeducativo en la carrera. 5.3 Estrategia educativa de la carrera. 5.4 Estrategias curriculares. 5.5 Actividad investigativo-laboral de los estudiantes. Cuantificar No No No No Sí … 10 1.2 Herramientas para el desarrollo del sistema informático En este epígrafe se analizan las herramientas y tecnologías de software que probablemente serán utilizadas en la implementación del sistema informático de ayuda al proceso de autoevaluación de la carrera de Ciencia de la Computación. 1.2.1 PostgreSQL como Sistema Gestor de Bases de Datos PostgreSQL es un sistema de gestión de base de datos relacional orientada a objetos y libre, publicado bajo la licencia BSD y está considerado como el Sistema de Bases de Datos Libre de código abierto más avanzado hoy día (The-PostgreSQL-GlobalDevelopment-Group, 1996). Cuenta con una comunidad internacional de desarrolladores llamada PostgreSQL Global Development Group compuesta por desarrolladores de una amplia gama de países lo que hace poco probable la ocurrencia de que sea privatizado como sucedió con el SGBD MySQL. PostgreSQL incorpora cuatro elementos básicos: clases, herencia, tipo y funciones; además de otras características que aportan potencia y flexibilidad adicional como son: restricciones (constrains), disparadores (triggers), reglas (rulers) e integridad transaccional. (Equipo de Desarrollo PostgreSQL). Está basado en el arquitectura Cliente/Servidor, también ofrece control de concurrencia multiversión, soporta casi toda la sintaxis SQL; es altamente extensible pues soporta operadores definidos por el usuario, funciones, métodos de acceso y tipos. Además brinda soporte para lenguaje procedural externo aunque comúnmente el código del lado del servidor es escrito utilizando el lenguaje nativo PL/pgSQL, también permite el uso de Tcl, Python como lenguajes. PostgreSQL también soporta el desarrollo de aplicaciones cliente en diferentes lenguajes C, C++, PHP, Perl, Tcl/Tk, y Python. 1.2.2 Java como lenguaje de programación Java es un lenguaje de programación de alto nivel de última generación que se basa en el paradigma orientado a objetos. Como lenguaje de programación para computadores, se introdujo a finales de 1995. La clave fue la incorporación de un intérprete Java en la versión 2.0 del programa Netscape Navigator, produciendo una verdadera revolución en Internet. Java 1.1 apareció a principios de 1997, mejorando sustancialmente la primera versión del lenguaje. Java 1.2, más tarde rebautizado como Java 2, nació a finales de 1998 (García et al., 1999). … 11 Java es un entorno para la ejecución de programas, englobado en la llamada máquina virtual de Java, lo que hace de él un concepto diferente. Este entorno es un software que permite que las aplicaciones escritas en Java se ejecuten en cualquier ordenador, independientemente del sistema operativo y de la configuración de hardware utilizados. La compañía Sun describe el lenguaje Java como “simple, orientado a objetos, distribuido, interpretado, robusto, seguro, de arquitectura neutra, portable, de altas prestaciones, multitarea y dinámico”, aunque en algunas de esas características el lenguaje sea todavía bastante mejorable. Cualidades principales de Java Universalidad: Aunque un programa interpretado no es, en principio, tan rápido como un programa equivalente compilado, las prestaciones de Java son, sin embargo, muchísimo mejores que las de cualquier lenguaje interpretado. Este hecho, junto con la sencillez de programación en Java ha propiciado que se hayan escrito intérpretes de pequeño tamaño adaptados a prácticamente cualquier plataforma, desde mainframes y ordenadores personales (con cualquier sistema operativo: Windows, Macintosh OS, Unix,...) hasta dispositivos electrónicos de bajo coste. Además, la universalidad de los byte codes hacen de Java el lenguaje idóneo para desarrollar aplicaciones para Internet. De hecho, la mayor parte de los navegadores (Netscape Navigator, Internet Explorer, HotJava) integran máquinas virtuales, y por tanto intérpretes de Java, lo que hace posible acceder automáticamente a los applets presentes en las páginas web. De nuevo la sencillez de Java hace que esta integración no reduzca en absoluto las prestaciones de los navegadores, permitiendo además la ejecución rápida y simultánea de gran cantidad de applets. También se suele hacer referencia a la universalidad de Java con términos equivalentes como transportabilidad, o independencia de plataforma, pues para ejecutar un programa basta compilarlo una sola vez: a partir de entonces, se puede hacer correr en cualquier máquina que tenga implementado un intérprete de Java. Además, las bibliotecas estándar de funciones y métodos de Java (definidas en su API, Application Programming Interface) facilitan la programación de multitud de acciones complejas (desarrollo de interfaces gráficas, multimedia, multitarea, interacción con … 12 bases de datos,...). Ningún otro lenguaje (ni compilado ni interpretado) dispone como Java de una cantidad tan grande de funciones accesibles en cualquier plataforma sin necesidad de cambiar el código fuente. Sencillez: Java es un lenguaje de gran facilidad de aprendizaje, pues en su concepción se eliminaron todos aquellos elementos que no se consideraron absolutamente necesarios. Por ejemplo, en comparación con otros lenguajes como C ó C++, es notable la ausencia de punteros, o lo que es lo mismo: es imposible hacer referencia de forma explícita a una posición de memoria; ello ahorra gran cantidad de tiempo a los programadores, dado que el comportamiento imprevisto de los punteros es una de las principales fuentes de errores en la ejecución de un programa. Por otra parte, el código escrito en Java es por lo general mucho más legible que el escrito en C ó C++. Por otro lado, Java dispone de un mecanismo conocido como de "recogida de basura", el cual —usando la capacidad multitarea de Java— hace que, durante la ejecución de un programa, los objetos que ya no se utilizan se eliminen automáticamente de la memoria. Dicho mecanismo facilita enormemente el diseño de un programa y optimiza los recursos de la máquina que se esté usando para la ejecución del mismo (con los lenguajes tradicionales, la eliminación de objetos y la consiguiente optimización de recursos debe planificarse cuidadosamente al idear el programa). Orientación a objetos: Java es un lenguaje orientado a objetos desde su concepción. Un programador no puede obviar la orientación a objetos cuando escribe un programa en Java, y esto hace que las aplicaciones escritas en Java tengan interesantes ventajas. En el caso de los lenguajes orientados a objetos el concepto clave es el de objeto. Por ejemplo, en una aplicación de Bibliotecas un objeto puede ser un código de barras, que contiene datos (p. ej. el número mismo del código de barras) e instrucciones para manejarlos (p. ej. el método para calcular el dígito de control). Los objetos, además, poseen la capacidad de enviarse mensajes entre sí durante la ejecución de un programa. Seguridad: En general, se considera que un lenguaje es tanto más seguro cuanto menor es la posibilidad de que errores en la programación, o diseños malintencionados de programas (virus), causen daños en el sistema. La extrema seguridad de Java se establece a tres niveles: … 13 1- Nivel de seguridad dado por las características del lenguaje, tales como la ausencia de punteros (que evita cualquier error de asignación de memoria) o el "ocultamiento de la información" propio de la programación orientada a objetos, por recordar dos ejemplos ya mencionados. 2- Nivel de seguridad dado por el diseño de la VM: La VM de Java posee un verificador de los byte codes, que antes de ejecutarlos analiza su formato comprobando que no existen punteros en ellos, que se accede a los recursos del sistema a través de objetos de Java, etc. Otro elemento constitutivo de la VM es el cargador de clases. Una clase es una categoría de objetos utilizados en un programa; cuando se ejecuta un programa en Java, éste llama a determinadas clases a través del cargador de clases. Estas clases pueden provenir de tres lugares distintos, en donde residen en forma de ficheros: del ordenador local, de la red de área local a la que pueda estar conectado el ordenador cliente, o de Internet. En función de la procedencia de las clases, se efectúan una serie de comprobaciones diferentes, y el gestor de seguridad de la VM prohíbe los accesos peligrosos. 3- Nivel de seguridad dado por la API de Java. El conjunto de métodos y clases que estamos obligados a utilizar cuando programamos en Java para acceder a los recursos del sistema, está definido por la API, y constituye la última barrera defensiva. El diseño de dichos métodos y clases hace que éstos realicen múltiples verificaciones cuando son invocados, de modo que se dificultan los errores (voluntarios o involuntarios). Adaptación a redes (y en particular a Internet): Java irrumpió en el mercado para potenciar la interactividad en Internet, y también se han mencionado los applets, pequeños programas en Java que se cargan junto con una página web desde un servidor, y que son ejecutados (por la VM del navegador del cliente) como una parte de la página web. Además de las ventajas que supone su ejecución local, los applets disponen de una significativa riqueza de recursos y son capaces de realizar tareas muy complejas a pesar de su reducido tamaño. Una de las explicaciones de esta sorprendente capacidad es el hecho de que los applets se sirven del propio código del navegador en cuya VM se ejecutan, utilizándolo para tareas tales como presentación gráfica o comunicaciones. Sin … 14 embargo, el acceso a las funciones del navegador es totalmente automático y transparente para el programador, que debe limitarse a invocar ciertas funciones de la API de Java; estas invocaciones, interpretadas por el navegador, dan origen a acciones muy complejas. Esta observación es muy importante cuando se discute del rendimiento de Java, pues todas estas acciones se realizan en la máquina que está ejecutando el applet, y la rapidez de ejecución de las mismas no depende de que Java sea un lenguaje semi-interpretado (o semi-compilado). Entre las tareas básicas más comunes que suelen realizar los applets, se encuentran: visualizar animaciones en la ventana del navegador; reproducir sonidos; establecer comunicaciones con el servidor del que procede el applet (p. ej. para cargar desde él ficheros de cualquier naturaleza); crear interfaces gráficas con los elementos habituales de los entornos de ventanas (como Macintosh o Windows): menús desplegables, botones, áreas de texto, barras de desplazamiento, etc.; pedir datos al usuario para procesarlos (gestionando eventos como pulsaciones de teclas o acciones con el ratón); etc. No obstante, y como acabamos de decir, es posible programar applets para realizar tareas de enorme complejidad. A continuación mencionaremos algunos beneficios directos derivados de las cualidades de Java: Rapidez de desarrollo y mejora del software. El hecho de que Java sea un lenguaje orientado a objetos desde su concepción tiene, entre otras muchas consecuencias, la de que es fácil reutilizar el código de programación; y por tanto los desarrollos de una aplicación serán más rápidos, pues es más rápido reutilizar objetos y sus componentes que reescribir el código desde el principio. Además, una vez que el código de un objeto es estable, la reutilización de ese objeto replica ese código fiable en cualquier parte en toda la aplicación, lo que reduce el proceso de depuración (debugging). Además, como hay menor posibilidad de errores en la programación, como también se ha visto al describir los niveles de seguridad de Java, resulta que, como se ha dicho en alguna ocasión: "al programador en Java no le queda más remedio que escribir código robusto y fiable", o lo que es lo mismo: en el desarrollo de una aplicación se necesitará emplear menos tiempo (y dinero) en los procesos de depuración y de perfeccionamiento o reescritura del programa. … 15 Otra consecuencia de la orientación a objetos de Java es que hace que el software escrito en Java sea modular: como el objeto es la entidad clave en la programación, cada uno puede ser modificado y mantenido por separado. Además, en Java no existe el concepto de fichero ejecutable: un programa no es más que un conjunto de ficheros compilados para la VM (llamados "módulos"), que no es necesario "enlazar" en un único ejecutable como ocurría en el caso de los lenguajes compilados. Esto significa que pueden realizarse modificaciones sobre cada uno de los "módulos" sin necesidad de tener que recompilar y enlazar todos ellos: basta compilar sólo los "módulos" afectados. En particular, cuando se deseaba implementar una nueva funcionalidad de una aplicación escrita en un lenguaje compilado, podía ser necesario reescribirla en múltiples ocasiones para adecuarla a cada plataforma en que se utilizaba la aplicación. En el caso de Java, basta añadir el código una sola vez, en un solo lugar. Esto equivale a que la Biblioteca soporta sólo una versión del software. Este enfoque es más eficiente, económico y directo que soportar diferentes paquetes de cliente para cada tipo de plataforma. Todas las consideraciones que se han realizado hasta este punto tienen las siguientes ventajas añadidas para las Bibliotecas: Se intensifica y acelera la entrega de mejoras de la aplicación, garantizando por consiguiente una mayor versatilidad y adaptabilidad a las tecnologías emergentes y a las necesidades crecientes, en materia de servicios, de la comunidad de usuarios de las Bibliotecas. No sólo las mejoras llegan antes a las Bibliotecas, incrementando su rendimiento, sino que también llegan con un menor coste financiero del mantenimiento del software. Seguridad, fiabilidad y eficiencia: Las características de Java como lenguaje redundan en una ejecución segura del código, de manera que es posible construir módulos de software capaces de detectar intentos de acceso a recursos privilegiados del sistema. Esa capacidad es importante, sobre todo a la hora de emplear Java en redes de ordenadores inseguras como Internet (cuando se cargan applets). La supremacía de Java sobre los lenguajes interpretados tradicionales (muy populares en Internet debido a su flexibilidad para evaluar cadenas dinámicas de caracteres, lo que permite manejar formularios, p. ej.) es rotunda, pues éstos presentan graves deficiencias en ese sentido. … 16 1.2.3 NetBeans El NetBeans es una aplicación del tipo IDE (Interface Development Environment) (NetBeans-IDE, 2008). Esta tecnología está dotada de muchas facilidades y ventajas. La rapidez con que se pueden desarrollar las aplicaciones es un aspecto a tener muy presente, pues es de vital importancia para los usuarios tener el producto final lo más rápido posible en la mayoría de los casos, es una herramienta para que los programadores puedan escribir, compilar, depurar y ejecutar programas. Está escrito en Java pero puede servir para cualquier otro lenguaje de programación; es un software libre por lo que se presta para apegarse a la política que están siguiendo la mayoría de las empresas del país de usar tecnologías desarrolladas con software libre. Otras de las ventajas que ofrece esta tecnología es su rapidez en el procesamiento de datos, su alta capacidad para soportar estructuras de almacenamiento complejas, la posibilidad de construir Interfaces Gráficas de Usuario utilizando la llamada Programación Visual. En lugar de escribir el código puro en Java se crean aplicaciones utilizando herramientas visuales de manera que el código a escribir es mínimo, el rehúso de código fuente, así como la disponibilidad de la biblioteca Swing que dota al diseñador de la interfaz de usuario de las aplicaciones de muchas componentes que enriquecen y embellecen dichas interfaces, además de proporcionarle a los programadores otras componentes que implementan muchas funcionalidades reusables. 1.2.4 Principales bibliotecas y drivers utilizados En este epígrafe se abordan brevemente las bibliotecas de java utilizadas en la solución computacional. 1.2.4.1 Java.sql.* Implementada por la API (Interfaz de Programación de Aplicaciones) de JDBC. Es una biblioteca importada por Java para hacer consultas en BD, si se usa únicamente esta biblioteca, entonces podemos realizar una conexión básica y simple, sirve para acceder a bases de datos SQL mediante una llamada a un método de la biblioteca Java.sql.*. Esta biblioteca contiene su propia estructura y hace llamado de sus propias clases. Breve descripción de algunas de sus clases (Sánchez, 2001): Driver: Permite conectarse a una Base de Datos, cada gestor de Base de Datos requiere un Driver distinto. … 17 DriverManager: Permite gestionar todos los Drivers instalados en el sistema. DriverPropertyInfo: Proporciona diversa información acerca de un Driver. Connection: Representa una conexión con una Base de Datos. Una aplicación puede tener más de una conexión a más de una Base de Datos. DatabaseMetadata: Proporciona información acerca de una Base de Datos, como las tablas que contiene, etc. Statement: Permite ejecutar sentencias SQL sin parámetros. PreparedStatement: Permite ejecutar sentencias SQL con parámetros de entrada. CallableStatement: Permite ejecutar sentencias SQL con parámetros de entrada y salida. ResultSet: Contiene las filas o registros obtenidos al ejecutar un SELECT. ResultSetMetadata: Permite obtener información sobre un ResultSet, como el número de columnas, sus nombres, etc. 1.2.4.2 javax.swing.* Swing es un conjunto de clases desarrolladas por primera vez para Java 1.2 (el llamado Java2), para reemplazar al anterior paquete que implementaba clases para fabricar interfaces de usuario, el llamado AWT (Abstract Window Tools) que aún se usa bastante. Tanto Swing como AWT forman parte de una colección de clases llamada JFC (Java Foundation Classes) que incluyen paquetes dedicados a la programación de interfaces gráficas. Sin embargo AWT tenía varios problemas y por ello aparece Swing en la versión 1.2 como parte del JFC que es el kit de clases más importante de Java para las producciones gráficas. Según (Sánchez, 2001) los problemas de AWT son: o AWT tenía problemas de compatibilidad en varios sistemas. o A AWT le faltaban algunos componentes avanzados (árboles, tablas,…). o Consumía excesivos recursos del sistema. Swing aporta muchas más clases, consume menos recursos y construye mejor la apariencia de los programas. … 18 Los componentes son los elementos básicos de la programación con Swing. Todo lo que se ve en un GUI de Java es un componente. Los componentes se colocan en otros elementos llamados contenedores que sirven para agrupar componentes. La clase javax.swing.JComponent es la clase padre de todos los componentes. A su vez, JComponent desciende de java.awt.container y ésta de java.awt.component. De esto se deduce que Swing es una extensión de AWT, de hecho su estructura es análoga. 1.2.4.3 postgresql-8.3-603.jdbc3.jar Para realizar las conexiones necesitaremos los drivers respectivos, de acuerdo al motor de base de datos al cual deseemos conectarnos. En nuestro caso estableceremos una conexión con PostgreSQL 9.0.1, para el cual es necesario contar con la librería: postgresql-8.3-603.jdbc3.jar. … 19 Capítulo 2: “Implementación del Sistema de Información de apoyo para la Autoevaluación de la Carrera Ciencia de la Computación (SAAC)” En este capítulo se aborda el desarrollo del sistema teniendo en consideración las características del problema a resolver, se describen detalladamente los componentes y módulos del mismo, así como las tecnologías computacionales que se usaron para la implementación. La concepción y elementos integrantes del sistema fueron definidos a partir de entrevistas y encuentros con varios de los posibles usuarios del sistema, en este proceso se fueron definiendo los elementos que se describen a continuación en los epígrafes siguientes. 2.1 Requisitos funcionales y no funcionales del sistema Según (Conallen, 2003), en general, los requisitos pueden categorizarse como funcionales o no funcionales. Los requisitos funcionales son acciones que el sistema debe realizar… Los requisitos funcionales, el tipo de requisitos más común, identifican las cosas que el sistema puede hacer, generalmente en respuesta a una entrada externa... Los requisitos no funcionales pueden ser categorizados, para su fácil entendimiento y para seguir su traza. Las categorías más comunes para estos requerimientos son: 1. Utilidad: Refieren los aspectos generales de la interfaz entre el usuario y el sistema. 2. Rendimiento: Describen el rendimiento en la ejecución del sistema y normalmente relacionado con tiempo de ejecución. 3. Robustez/fiabilidad: Expresa el grado de necesidad de disponibilidad de la aplicación, también se refiere a las necesidades de almacenamiento y copias de seguridad de la información (backups). 4. Seguridad: Tienden a especificar niveles de acceso al sistema y a menudo a trazar los roles de los usuarios en el negocio. 5. Hardware. Declaran el hardware mínimo que requerido para implementar el sistema. 6. Despliegue. Describen cómo la aplicación se entrega a los usuarios finales. … 20 A continuación se presentan los requisitos funcionales y no funcionales del sistema a desarrollar. 2.1.1 Requerimientos funcionales. El sistema deberá ser capaz de: 1. Gestionar resultados científicos y premios estudiantiles: El jefe de carrera o el vicedecano de investigación son los encargados de insertar, eliminar o modificar los datos de los resultados científicos y premios estudiantiles. 2. Gestionar resultados científicos y premios de los profesores: El jefe de carrera o el director del CEI son los encargados de insertar, eliminar o modificar los datos de los resultados científicos y premios de los profesores. 3. Gestionar proyectos de investigación: El jefe de carrera o el director del CEI son los encargados de insertar, eliminar o modificar los datos de los proyectos de investigación. 4. Gestionar publicaciones: El jefe de carrera o el director del CEI son los encargados de insertar, eliminar o modificar los datos de las publicaciones. 5. Gestionar eventos: El jefe de carrera o el director del CEI son los encargados de insertar, eliminar o modificar los datos de los eventos. 6. Listar los estudiantes que pertenecen a grupos científicos: El jefe de carrera o el director del CEI podrán obtener el listado de los estudiantes que pertenecen a los grupos científicos. 7. Gestionar tareas de impacto: El jefe de carrera o el vicedecano docente son los encargados de insertar, eliminar o modificar los datos de las tareas de impacto. 8. Gestionar proyectos comunitarios: El jefe de carrera o el vicedecano docente son los encargados de insertar, eliminar o modificar los datos de los proyectos comunitarios. 9. Gestionar resultados de las encuestas: El jefe de carrera o el vicedecano docente son los encargados de insertar, eliminar o modificar los datos de los resultados de las encuestas. 10. Gestionar eficiencias verticales y horizontales: El jefe de carrera o el vicedecano docente son los encargados de insertar, eliminar o modificar los datos de las eficiencias verticales y horizontales. … 21 11. Gestionar controles a clases: El jefe de carrera o el jefe de departamento son los encargados de insertar, eliminar o modificar los datos de los controles a clases. 12. Gestionar alumnos ayudantes: El jefe de carrera o el jefe de departamento son los encargados de insertar, eliminar o modificar los datos de los alumnos ayudantes. 13. Gestionar la evaluación de la práctica de producción: El jefe de carrera o el jefe de la disciplina práctica profesional son los encargados de insertar, eliminar o modificar los datos de las prácticas de producción. 14. Gestionar los centros de trabajo asociados a las prácticas: El jefe de carrera o el jefe de la disciplina práctica profesional son los encargados de insertar, eliminar o modificar los datos de los centros de trabajo asociados a las prácticas. 15. Consultar reportes: Cualquier usuario del sistema podrá acceder a los reportes que el sistema es capaz de generar. 2.1.2 Requerimientos no funcionales. 1. El sistema debe ser fácil de usar y debe tener una interfaz agradable a la vista del usuario. 2. El sistema debe presentar un mecanismo de respuesta rápida ante fallos, propiciando que se minimicen la ocurrencia de pérdidas de la información. 3. El sistema debe estar diseñado sobre la arquitectura cliente-servidor. 4. El sistema debe tener una apariencia profesional, sin gran cantidad de imágenes, ágil, muy legible y simple de usar. 5. La aplicación debe ser lo más interactiva posible. 6. Las estaciones de trabajo clientes utilizarán como sistema operativo GNU/Linux en sus diversas distribuciones o la familia de Windows superiora Windows 98. 2.2 Actores y Casos de Uso del sistema Actor Descripción Usuario Este actor tiene la posibilidad de realizar la acción de autentificarse en el Sistema y una vez hecho esto puede acceder a consultar los reportes. … 22 Vicedecano Investigación de Este actor hereda de usuario y además tiene la posibilidad de realizar la acción de gestionar resultados científicos y premios estudiantiles. Director del CEI Este actor hereda de usuario y además tiene la posibilidad de realizar las acciones de gestionar resultados científicos y premios de los profesores, los proyectos de investigación, los eventos y de listar los estudiantes que pertenecen a grupos científicos. Vicedecano Este actor hereda de usuario y además tiene la posibilidad de Docente realizar las acciones de gestionar tareas de impacto, los proyectos comunitarios, los resultados de las encuestas y las eficiencias verticales y horizontales. Jefe de Este actor hereda de usuario y además tiene la posibilidad de Departamento realizar las acciones de gestionar los controles a clase, los alumnos ayudantes y obtener claustro por curso académico. Jefe de la Este actor hereda de usuario y además tiene la posibilidad de Disciplina Práctica realizar las acciones de gestionar la evaluación de la práctica de Profesional producción, la evaluación de los trabajos de diploma y los centros de trabajo. Jefe de Carrera Este actor hereda de todos los demás actores, por lo que tiene la posibilidad de realizar todas las acciones del sistema. A continuación se muestran los diagramas de actores y casos de uso para cada uno de los actores propuestos para el sistema en las figuras de la 2.1a a la 2.1g y en la figura 2.1 se muestra las relaciones entre todos los actores definidos. … 23 Fig.2.1a.Diagrama del actor Usuario y sus Casos de Uso. Fig.2.1b.Diagrama del actor VD_Investigación y sus Casos de Uso. … 24 Fig.2.1c.Diagrama del actor Dir_CEI y sus Casos de Uso. Fig.2.1d.Diagrama del actor VD_Docente y sus Casos de Uso. … 25 Fig.2.1e.Diagrama del actor Jefe_Departamento y sus Casos de Uso. Fig.2.1f. Diagrama del actor Jefe_Disciplina_Práctica_Profesional y sus Casos de Uso. … 26 Fig.2.1g. Diagrama del actor Jefe_Carrera y sus Casos de Uso. Fig.2.1. Diagrama de Actores del Sistema. … 27 2.2.1 Descripción de los casos de usos del sistema. En este epígrafe se realizará una breve descripción de algunos de los casos de uso más significativos del sistema. A continuación se indican los casos de uso seleccionados y los aspectos que justifican su selección: a) Caso de uso “Gestionar controles a clase” presente en los actores Jede de Departamento y jefe de Carrera: por ser un caso de uso típico en el sistema, y conociendo cómo se realiza su flujo de información podemos tener una ida bastante precisa del resto de los casos de uso de gestión de información del sistema, pues son similares. b) Caso de uso “Consultar reportes” presente en todos los actores: por representar una operación común para todos los usuarios del sistema. 2.2.1.1 Gestionar controles a clases. Caso de Uso: Actor: Propósito: Resumen: Acción del Actor 1. El usuario selecciona la opción Gestionar controles a clases del menú Jefe de Departamento. El usuario elige el escenario a) Gestionar controles a clases Jefe de Departamento o Jefe de Carrera Gestionar la información de los controles a clases en la Base de Datos. El usuario selecciona la opción Gestionar controles a clases, escoge el escenario que desea, introduce los datos y la BD se modifica. Flujo Normal de Eventos Respuesta del Sistema 2. Muestra el contenido de la tabla correspondiente en la BD y una serie de escenarios: a) Insertar. b) Eliminar. c) Modificar. Escenario 2a 3. Muestra la ventana Insertar Datos de controles a clases que tiene una serie de campos: 1. Profesor 5.Calificación 2. Asignatura 6.Descripción 3. Curso 7. Fecha 4. Semestre 4. Llena los campos 5. Comprueba que no existan campos sin datos. correspondientes y 6. Comprueba que en la Base de Datos no exista ya selecciona el botón Aceptar. una fila con el mismo profesor, asignatura, curso, … 28 semestre y fecha. 7. Almacena los datos introducidos en la BD. Escenario 2b El usuario selecciona una 3. Notifica al usuario que la fila que seleccionó será fila de la tabla y elige el eliminada de forma permanente. escenario b) 4. Selecciona el botón Sí. 5. Elimina de la BD la fila correspondiente. Escenario 2c El usuario selecciona una 3. Muestra la ventana Modificar Datos de controles a fila de la tabla y elige el clases que tiene una serie de atributos: escenario c) 1. Profesor 5. Calificación 2. Asignatura 6. Descripción 3. Curso 7. Fecha 4. Semestre 4. Llena los campos 5. Comprueba que no existan campos sin datos. correspondientes y 6. Almacena los datos introducidos en la BD, selecciona el botón Aceptar. modificando así la fila seleccionada. 2.2.1.2 Consultar reportes. Caso de Uso: Actor: Consultar reportes Invitado, Vicedecano de Investigación, Director del CEI, Vicedecano Docente, Jefe de Departamento, Jefe de la Disciplina Práctica de Profesional y Jefe de carrera. Propósito: Obtener resúmenes de toda la información que conforma el informe de autoevaluación de la Carrera Ciencia de la Computación. Resumen: El usuario selecciona la opción Informes, luego elige un curso o el curso y el semestre y una vez hecho esto selecciona el resumen que desee. Flujo Normal de Eventos Acción del Actor Respuesta del Sistema 1. Selecciona el menú Informes. 2. Muestra la ventana Informe de autoevaluación de la Carrera Ciencia de la Computación que tiene una serie de campos. Entre ellos dos ComboBox de Curso y Semestre. 3. Elige solo un curso (Semestre 4. Habilita los resúmenes que pertenecen al curso vacío) o elige y un Curso y un o los que pertenecen al curso y al semestre. Semestre 5. Selecciona un radio buttom con 6. Muestra una el reporte que desea y presiona el seleccionado. botón Aceptar. 7. Observa el reporte. Selecciona una de las opciones siguientes: a) Regresar a seleccionar otro reporte. ventana con el reporte … 29 b) Guardar en un archivo el reporte. c) Cerrar el trabajo con los Reportes. Escenario 7a El usuario elige el escenario a) 8. Muestra nuevamente la ventana Informe de autoevaluación de la Carrera Ciencia de la Computación donde aparecen todos los reportes a seleccionar. Escenario 7b El usuario elige el escenario b) 8. Muestra a través de un JFileChooser el árbol de direcciones donde el usuario puede guardar el reporte seleccionado. 9. Le da un nombre al fichero y 10. Guarda el archivo en la dirección escogida por pulsa el botón guardar. el usuario. Escenario 7c El usuario elige el escenario c) 8. Cierra la ventana donde se encuentra actualmente y vuelve a la ventana principal. 2.3 Modelación de la información manejada por el sistema Como herramienta fundamental para el modelado de los datos de nuestro sistema utilizamos el diagrama o modelo entidad-relación, ya que estos modelos expresan entidades relevantes para un sistema de información así como sus interrelaciones y propiedades. Como se explica en el capítulo anterior, para la modelación e implementación del sistema se necesita realizar el manejo de un gran volumen de información que es de vital importancia para la confección de los diferentes reportes que satisfacen la problemática en cuestión, algunos de los datos a tener en cuenta son: toda la información relacionada con profesor, los estudiantes, las asignaturas, los programas de postgrado, el claustro de la carrera y la carga docente, entre otros. Como se están realizando, además de este, otros dos trabajos de diploma llamados: “Sistema para el control de la carga de trabajo en el departamento de Ciencia de la Computación” y “Sistema de seguimiento y control de texto” que requieren gran parte de la información antes mencionada, se decidió confeccionar una base de datos con un núcleo común (ver Anexo 3), a la cual se puede acceder desde cualquiera de estas tres aplicaciones. … 30 Este núcleo común se centra en la tabla Curso_Semestre que es la encargada de establecer el momento (tiempo) en que se realizan la mayoría de las operaciones de los tres sistemas. A continuación se muestra el diagrama de entidad-relación que hace referencia a la información propia de SAAC, donde se pueden apreciar las entidades de SAAC y su relación con las entidades pertenecientes al núcleo. SAAC requiere de otros datos en particular como son: todo lo referente a proyectos comunitarios, proyectos de investigación, tareas de impacto, premios, eventos, publicaciones, resultados de las encuestas aplicadas a estudiantes, la práctica de producción y los centros de trabajos asociados a las mismas, los alumnos ayudantes, los controles a clase y las eficiencias verticales y horizontales. Se definieron por lo tanto entidades para cada una de las informaciones anteriores y se relacionaron con las entidades del núcleo necesarias. Por ejemplo, la entidad “proyecto comunitario” se relaciona con “profesor” (entidad del núcleo) a través de la relación “jefe de”, a su vez se relaciona con la entidad “curso semestre” (entidad del núcleo) a través de la relación “se realiza”, esta relación nos per mite ubicar la ejecución del proyecto comunitario en un curso particular. … 31 Fig. 2.2. Diagrama Entidad Relación de SAAC … 32 Modelo físico El modelo físico es el resultado del análisis de requisitos. Este puede ser usado en la fase de diseño para la definición de los componentes de la aplicación, además, constituye una de las técnicas más utilizadas en el desarrollo orientado a objetos y describe de forma formal la estructura de los elementos del sistema. Este diagrama describe para cada objeto su identidad y sus relaciones con otros objetos, o sea, describe un modelo general de información del sistema. Uno de los detalles más interesantes a señalar en cuanto a la transformación del modelo lógico al modelo físico lo constituye, por ejemplo, que en el modelo lógico se hace referencia a la entidad publicaciones, indicando una especie de jerarquía entre publicaciones y las entidades publicaciones periódicas, libros y monografías y registros; las cuales no aparecen en el modelo físico que veremos a continuación; esto se produce precisamente porque existen varias formas de realizar esta transformación: 1. Utilizando una sola relación que tenga los atributos del supertipo y los específicos de cada uno de los subtipos y la llave primaria sería la del supertipo. 2. Utilizando una relación para el supertipo y una para cada subtipo y las llaves de esos subtipos constituirían la llave primaria del supertipo que a su vez serian llave foránea. (Esta transformación se recomienda para los casos en los que la jerarquía es de tipo parcial y solapada). 3. Utilizando una relación para cada subtipo. (Esta transformación se recomienda para los casos en los que la jerarquía es de tipo total y excluyente). En nuestro caso la transformación realizada coincide con la última descrita ya que con la unión de las publicaciones periódicas, los libros y monografías y los registros informáticos y no informáticos se obtiene la totalidad de las publicaciones y además no hay intersección entre ellas, o sea, un registro no puede ser ni una publicación periódica ni un libro o monografía; un libro o monografía no pude ser ni una publicación periódica ni un registro y una publicación periódica no pude ser ni un libro o monografía ni un registro. … 33 Fig. 2.3. Modelo Físico de la BD de SAAC … 34 2.4 Elementos de la implementación del sistema En este epígrafe se presentan algunos elementos tenido en consideración en la implementación del sistema. 2.4.1 Aspectos de la arquitectura MVC utilizada Como se muestra en (Zukowski, 2005), en particular en el capítulo 3, Swing está diseñado sobre la base de la arquitectura Modelo-Vista-Controlador (MVC). Esto hace que todas las componentes visuales establezcan esa filosofía entre la vista (la forma visual de la componente), el modelo (los datos o información que maneja la vista) y su controlador (un objeto delegado asociado a cada componente visual). Al desarrollar una aplicación desktop en Java utilizando NetBeans como IDE de desarrollo puede implementarse la arquitectura MVC de la manera siguiente: - Capa de las Vistas: integrada por el conjunto de clases que representan ventanas de captación de datos u otras de entrada/salida necesarias en la aplicación. - Capa Controladora: puede asociarse, en primera instancia, con la clase donde se encuentra la ventana principal de la aplicación y donde se manipulan todos los eventos del sistema, incluyendo los generados por el menú principal y otros controles visuales utilizados en la interfaz de usuario. Pueden definirse e implementarse otras clases controladoras en la solución computacional. - Capa de Datos: integrada por el conjunto de clases que se utilizan para almacenar la información manejada por el sistema. La comunicación entre las tres capas se establece a través de la clase controladora, quien maneja todo el flujo de información entre las clases visuales y las de datos. El sistema fue implementado siguiendo la concepción anterior, así se definieron varios paquetes para la implementación del sistema: - Paquete visual: contiene las ventanas de captación de datos, de reportes y otros elementos visuales. - Paquete Principal: contiene a la clase controladora, incluye la ventana y el menú principal de la aplicación y el tratamiento de todos los eventos del sistema. … 35 - Paquete objetos: contiene unas 17 clases que representan las entidades asociadas a las tablas de la BD que serán manipuladas por el sistema durante el procesamiento de la información. - Paquete útiles y paquete excepciones: contienen otras clases complementarias en la implementación del sistema. 2.4.2 Paquetes utilizados Según (Martin, 2003) existen dos tipos diferentes de paquetes que son importantes para los programadores de Java. El primer tipo son los paquetes en código fuente creados por los programadores bajo la palabra reservada package y el segundo tipo son los componentes binarios representados por los archivos .jar, generalmente clases de Java compiladas. En nuestra aplicación se desarrollaron paquetes en función de la modelación del problema y de la arquitectura del sistema descritos anteriormente y se reutilizaron varios paquetes binarios como son: a) Jcalendar.jar El Jcalendar es un selector para elegir fechas gráficamente. Como se describe en (Eubanks, 2005) este se compone de otros beans como lo son el JDayChooser, JMonthChooser y el JYearChooser, permitiéndole al usuario ingresar los campos de tipo fecha de una forma muy amigable y sencilla a través de un ComboBox mostrándoles un calendario con la opción de seleccionar el mes, el año y el día. Además JCalendar es libre y puede ser redistribuido y/o modificado bajo los términos de GNU. b) Jxl.jar Según (LIU and YANG, 2007) Jxl es la biblioteca de JExcelApi, que es un código abierto de Java API para leer, escribir y modificar hojas de cálculo Excel de forma dinámica, además contiene todos los archivos compilados *. Clase, los metadatos asociados y los recursos que utiliza la API de Java Excel internamente. c) postgresql-9.2-1002.jdbc3.jar Ofrece un driver JDBC para la versión 9.2 de PostgreSQL, el cual permite establecer comunicación con bases de datos de PostgreSQL y acceder a las mismas a través de sentencias SQL. … 36 d) nimrodlf-1.2.jar Nimrodlf-1.2 es un "look and feel". Este término se utiliza como una metáfora para indicar cualquier modificación que se realiza en el aspecto y comportamiento de una GUI con el objetivo de darle una identidad visual única a la interfaz visual. En la figura 2.4 se muestra las dependencias entre los paquetes implementados y los reusados en el desarrollo de SAAC. Fig. 2.4. Diagrama de Componentes 2.4.3 Algoritmos y funciones utilizadas en la implementación del sistema Como habíamos mencionado en epígrafes anteriores, entre las acciones que el sistema tiene que ser capaz de realizar se encuentra la de gestionar controles a clases; para esto el sistema tiene que hacer llamadas a un conjunto de funciones SQL desarrolladas en PostgreSQL como las que se muestran a continuación: INSERT INTO "controles_a_clases" (profesor, asignatura, curso, semestre, nota, descripción, fecha) VALUES($1, $2, $3, $4, $5, $6, $7); La cual quiere decir que se va a insertar en la tabla "controles_a_clases" los valores $1, $2, $3, $4, $5, $6, $7 que se pasan como parámetros durante la propia creación de la función en los campos profesor, asignatura, curso, semestre, nota, descripción, fecha. … 37 UPDATE "controles_a_clases" SET nota=$5, descripción=$6 WHERE profesor=$1 and asignatura=$2 and curso=$3 and semestre=$4; La cual quiere decir que se van a actualizar en la tabla "controles_a_clases" los campos nota y descripción con los valores, $5 y $6 respectivamente en la fila donde coincidan los campos profesor, asignatura, curso, semestre, nota, descripción y fecha con los valores $1, $2, $3 y $4 que se pasaron como parámetros previamente. DELETE FROM "controles_a_clases" WHERE (profesor=$1 and asignatura=$2 and curso=$3 and semestre=$4 and fecha=$5); La cual quiere decir que se va a eliminar de la tabla "controles_a_clases" la fila donde coincidan los campos profesor, asignatura, curso, semestre y fecha con los valores $1, $2, $3, $4 y $5 que se pasan como parámetros durante la propia creación de la función. Otro detalle a destacar son las formas de tratar los cálculos de las eficiencias, por ejemplo: el cálculo de la eficiencia vertical no se realiza durante la gestión de los datos de la misma, sino que, una vez que se selecciona el reporte “eficiencia vertical” se hace un llamado a la función “zzz_eficiencia_vert”: select distinct curso, anno, mi, aprobados, porciento_vertical from curso_semestre, curso_tiene_anno, anno_tiene_carrera, carrera where carrera=id_carrera and nomb_curso=curso and semestre=semestre_c_a and anno='1' and anno_de_inicio_de_curso=$1-4 union select distinct curso, anno, mi, aprobados, porciento_vertical from curso_semestre, curso_tiene_anno, anno_tiene_carrera, carrera where carrera=id_carrera and nomb_curso=curso and semestre=semestre_c_a and anno='2' and anno_de_inicio_de_curso=$1-3 union select distinct curso, anno, mi, aprobados, porciento_vertical from curso_semestre, curso_tiene_anno, anno_tiene_carrera, carrera where carrera=id_carrera and nomb_curso=curso and … 38 semestre=semestre_c_a and anno='3' and anno_de_inicio_de_curso=$1-2 union select distinct curso, anno, mi, aprobados, porciento_vertical from curso_semestre, curso_tiene_anno, anno_tiene_carrera, carrera where carrera=id_carrera and nomb_curso=curso and semestre=semestre_c_a and anno='4' and anno_de_inicio_de_curso=$1-1 union select distinct curso, anno, mi, aprobados, porciento_vertical from curso_semestre, curso_tiene_anno, anno_tiene_carrera, carrera where carrera=id_carrera and nomb_curso=curso and semestre=semestre_c_a and anno='5' and anno_de_inicio_de_curso=$1 Esta función recibe como parámetro el año de inicio del curso que seleccionó a la hora de escoger el reporte, y que a su vez devuelve una tabla con el curso, el año, la matricula inicial, los aprobados y el porciento vertical del año que se le paso como parámetro a la función y los cuartos años anteriores; luego con esa información se realiza el cálculo de la eficiencia como se muestra en la figura 2.5. Figura 2.5. Segmento de código para el cálculo de la eficiencia vertical … 39 2.5 Diagrama de Despliegue El diagrama de despliegue muestra la disposición física de los distintos nodos que entran en la composición de un sistema y el reparto de los programas ejecutables sobre estos nodos. En nuestro caso se usa una arquitectura cliente-servidor. En el servidor debe estar instalado un gestor de Base de Datos PostgreSQL versión 9.0.1y en los clientes el JavaRuntimeEnvironment o JRE 7, lo cual va a permitir la ejecución de programas Java y el sistema SAAC.jar. Figura 2.1.7: Diagrama de Despliegue. 2.6 Herramientas para el desarrollo del Sistema SAAC es un sistema implementado en Java y se conecta a un servidor de Base de Datos PostgreSQL versión 9.0.1. El entorno de desarrollo utilizado es la versión 7.1.2 del IDE Netbeans (NetBeans-IDE, 2008). Para poder continuar extendiendo el sistema se debe agregar al proyecto un conjunto de bibliotecas que fueron utilizadas en este desarrollo: Bibliotecas Jcalendar.jar Uso de la Biblioteca Trabajo con los campos de tipo fecha Jxl.jar nimrodlf-1.2.jar Trabajo con las tablas Excel a la hora de guardar los reportes Modifica la parte visual del proyecto postgresql-9.2-1002.jdbc3.jar Conexión con el gestor de Base de Datos … 40 El sistema SAAC consta de una ayuda accesible desde el propio sistema que fue desarrollada en Help& Manual Professional Edition versión 5.2.0 y que debe ser actualizada en la misma medida que el sistema sea modificado. Para hacer modificaciones en la ayuda es necesario con la herramienta de ayuda antes mencionada utilizar “NewProject.hmxz” que es el proyecto de la ayuda de SAAC donde se realizarán las modificaciones a la ayuda. 2.6.1 Conexión de “SAAC.jar” con la base de datos Para realizar la conexión de “SAAC.jar” con la base de datos es necesario seguir una serie de pasos: I. Una vez instalado el gestor de BD PostgreSQL: Ir a la carpeta de instalación del PostgreSQL y en la carpeta "data" modificar el archivo pg_hba.conf, como se muestra en la figura 2.6. II. Crear una nueva Base de Datos con nombre: "tesis". III.Crear un nuevo rol de login con nombre: "admin" y contraseña: "admin". IV. Hacer clic derecho sobre la BD creada y seleccionar la opción restaurar, dándole la dirección del reguardo "tesis.backup". … 41 Fig. 2.6. Modificación del archivo pg_hba.conf (línea marcada) Si el administrador del gestor de BD decide modificar el nombre de la base de datos o el usuario o la contraseña, debe poner el o los campos que modificó en el archivo de configuración config.ini que aparece en la carpeta de instalación del software, como se muestra en la figura 2.7: … 42 Fig. 2.7. Ubicación del archivo config.ini EL archivo config.ini tiene que tener un formato específico como se muestra en la figura 2.8, el nombre de las variables y sus valores tienen que estar separados por “:” y la variables tienen que llamarse específicamente “user”, “passwd” y “bd”. Fig. 2.8. Ejemplo del contenido del archivo config.ini … 43 Capítulo 3: “Manual de Usuario” En este capítulo se explican los requerimientos de hardware, instalación, y uso de los componentes del sistema: la Base de Datos y la aplicación SAAC.jar. 3.1 Requerimientos e Instalación de los Componentes del Sistema. Para instalar cada uno de los componentes del sistema se tienen que tener en cuenta los requisitos específicos de cada uno de ellos por separado, ya que los mismos no necesariamente tienen que estar instalados en la misma computadora. 3.1.1 Instalación de la Base de Datos en el servidor. Para instalar la Base de Datos y lograr un correcto funcionamiento de la misma se deben seguir los pasos siguientes: a) Tener un servidor de Base de Datos PostgreSQL versión 9.0.1. b) Crear una nueva Base de Datos en el Servidor con nombre tesis. c) Restaurar la Base de Datos creada en el paso anterior usando el archivo tesis.backup que se encuentra en la carpeta “SAAC” de la instalación. 3.1.2 Requerimientos e Instalación del “SAAC.jar” Antes de pasar a la instalación de SAAC, se deben revisar los siguientes requisitos. Procesador Pentium o superior. Al menos 256 Megabytes de memoria. Versión Windows XP o superior. Máquina Virtual de Java (jre versión 7 o superior). Si ya se han verificado los requerimientos anteriores, se debe crear la conexión necesaria con el componente externo del sistema, o sea, con la base de datos, para esto se debe seguir las indicaciones del epígrafe 2.6.1. Después de hecho esto entonces se puede pasar al trabajo con la herramienta SAAC.jar. 3.2 Utilización de “SAAC”. Al ejecutar el software, rápidamente se está en presencia de su portada inicial, esta es mostrada en la figura 3.1: … 44 Figura 3.1: Portada del SAAC.jar A continuación se describen por separado cada una de las interfaces sobre las cuales se realizan las operaciones con el software. 3.2.1 Autentificación. Inicialmente en el sistema solo aparece habilitado el menú Autentificación y la Ayuda, porque en dependencia del usuario que acceda al sistema, serán las opciones que se habilitarán en el mismo. Presionado la opción Autenticación se despliega un submenú como se muestra en la figura 3.2. Una vez seleccionada la opción conectar aparece una ventana donde se inserta la dirección IP del servidor donde se encuentra la BD, el usuario del sistema y su contraseña. Ver figura 3.3. … 45 Fig. 3.2 Menú de conexión Si quiere cambiar su contraseña selecciona la opción Cambiar Contraseña y pulsa el botón aceptar, si no, una vez llenados los campos pulsa el botón aceptar y son correctos sus datos se inicia su sesión. Fig. 3.3 Datos para el acceso al sistema Si presionó el botón aceptar con la casilla cambiar contraseña seleccionada aparece otra ventana donde es necesario que el usuario inserte su contraseña antigua y la nueva y el sistema internamente verifica que su contraseña vieja sea correcta, de serlo, se muestra un mensaje de confirmación informándole que su cuenta ha sido cambiada exitosamente y se … 46 inicia su sesión, si no, se muestra otro mensaje informándole que su cuenta es incorrecta y tiene que repetir nuevamente todo el procedimiento. Fig. 3.4 Datos para cambiar contraseña 3.2.2Consultar reportes. Todos los usuarios del sistema tienen la posibilidad de acceder al menú Informes. Normalmente el colectivo de carrera, realiza dos análisis semestrales y una autoevaluación de la carrera cada curso académico, por lo que primeramente el usuario debe seleccionar un curso o el curso y el semestre en dependencia del análisis que se vaya a realizar. En caso de seleccionar solamente el curso se habilitan los reportes pertenecientes al informe anual. Y en caso de seleccionar el curso y el semestre se habilitan los reportes pertenecientes al informe semestral. Ver las figuras 3.5 y 3.6. … 47 Fig. 3.5 Reportes de un curso académico Fig. 3.6 Reportes de un semestre dado un curso académico … 48 Una vez seleccionado el reporte que desee como se muestra en la figura 3.7, se debe pulsar el botón visualizar y entonces aparece en otra ventana el contenido del reporte solicitado; luego si desea guardar dicho informe pulse el botón guardar y se guarda el Fig. 3.7 Selección de un reporte reporte en formato Excel en la dirección escogida por el usuario. Fig. 3.8 Ventana donde se muestra el contenido de los reportes … 49 3.2.3 Gestionar controles a clases. Este menú solo pude ser accedido por el jefe de carrera y el jefe de departamento: Pasos: Seleccione el menú Jefe_Departamento Seleccione el submenú Gestionar controles a clases Fig. 3.9 Menú gestionar controles a clases Luego se muestra el contenido de la tabla controles a clases y las operaciones que se pueden realizar con ella: … 50 Fig. 3.10 Ventana donde se muestra el contenido de la tabla correspondiente al menú seleccionado Si selecciona la opción insertar, se muestra la ventana insertar datos de los controles a clases, luego el usuario tiene que llenar todos los campos y presionar el botón aceptar Fig. 3.11 Ventana para insertar datos de controles a clases … 51 Para eliminar tiene que seleccionar primero la fila de la tabla que desea eliminar y pulsar el botón Eliminar Fig. 3.12 Ventana donde se muestra el procedimiento para eliminar un control a clase Luego el sistema muestra un mensaje donde le pregunta al usuario si en realidad desea eliminar la fila seleccionada, y si escoge la opción "si" la fila es eliminada de forma permanente de la BD. Para modificar tiene que seleccionar primero la fila de la tabla que desea modificar y pulsar el botón Modificar, luego aparece una ventana donde solo se habilitan aquellos campos que no sean llaves primarias de la tabla sobre la que se está trabajando en la BD. Una vez llenos todos los campos se oprime el botón aceptar y se modifica la fila seleccionada en la BD. Si se cometió algún error en alguno de los datos que son llave primaria, se sugiere eliminar la entrada de la BD e insertarla nuevamente de manera correcta. … 52 Fig. 3.13 Ventana para modificar datos de controles a clases 3.3 Ayuda de “SAAC”. El sistema cuenta con una ayuda en línea que explica de forma detallada en que consiste el software, así como cada una de las acciones que el usuario es capaz de realizar con el mismo. A esta ayuda se puede acceder desde dentro del propio programa o de forma independiente, o sea, que no es necesario autentificarse para poder interactuar con ella, ya que existe un ejecutable en la carpeta de instalación de SAAC. A continuación se muestra una imagen de la forma de acceso a la ayuda, así como su estructura. Fig. 3.14 Ayuda del sistema … 53 Conclusiones 1. Se determinaron las necesidades de información cuantitativa para el proceso de autoevaluación a partir del análisis de la Guía de Autoevaluación propuesta por la JAN. 2. Se diseñó e implementó una base de datos que satisface las necesidades de información detectadas en el proceso de autoevaluación y se integra al núcleo utilizado en otros sistemas desarrollados en función de la automatización del trabajo del departamento de Computación. 3. Se diseñó e implementó el sistema de información SAAC versión 1.0 para apoyo al proceso de autoevaluación de la carrera Ciencia de la Computación. … 54 Recomendaciones 1. Incluir capacidad al sistema de conectarse a otros que manejan parte de la información necesaria para el proceso de autoevaluación, por ejemplo al SIGENU y al DSPACE del CEI. 2. Ampliar la información del núcleo de la BD para garantizar obtener información sobre la experiencia profesional y estabilidad del claustro. 3. Diseñar una Arquitectura Orientada a Servicio para la aplicación de manera que a través de estos se pueda reutilizar los componentes principales desarrollados. 4. Analizar la posibilidad de generalizar el sistema a otras carreras que lo necesiten. … 55 Bibliografía CONALLEN, J. 2003. Building Web applications with UML, Addison-Wesley Professional. EUBANKS, B. D. 2005. Wicked Cool Java: Code Bits, Open-Source Libraries, and Project Ideas, No Starch Press. GARCÍA, J., RODRIGUEZ, J., MINGO, I., IMAZ, A., BRAZALEZ, A., LARZABAL, A., CALLEJA, J. & GARCÍA, J. 1999. Aprenda Java como si estuviera en primero. Universidad de Navarra, San Sebastián-España. JAN 2009. SISTEMA DE EVALUACIÓN Y ACREDITACIÓN DE CARRERAS UNIVERSITARIAS (SEA-CU). MES. LIU, J. & YANG, L.-J. 2007. Excel File Operation Based on Java. Computer Knowledge and Technology (Academic Exchange), 12, 134. MARTIN, R. C. 2003. UML for Java programmers, Prentice Hall. NETBEANS-IDE. 2008. disponible en <http://www.netbeans.org> [Online]. [Accessed octubre 2012]. SÁNCHEZ, J. 2001. Java 2, McGraw Hill. THE-POSTGRESQL-GLOBAL-DEVELOPMENT-GROUP. 1996. Sitio Oficial de PostgreSQL [Online]. [Accessed 2013]. ZUKOWSKI, J. 2005. The Definitive Guide to Java Swing, Apress. … 56 Anexos Anexo 1 GUÍA DE EVALUACIÓN DE CARRERAS UNIVERSITARIAS (SEA-CU 02) VARIABLE No.1: PERTINENCIA E IMPACTO SOCIAL No. 1.1 1.2 INDICADOR Proyección de la profesión hacia el territorio y/o el país. Grado de satisfacción de profesores, estudiantes, egresados y empleadores con la calidad del proceso de formación. CRITERIOS DE EVALUACIÓN • Reconocimiento del vínculo de los profesores y estudiantes a la solución de los problemas del territorio y/o del país. • Resultados alcanzados en la valoración del grado de satisfacción a los profesores, estudiantes, empleadores y los egresados. VARIABLE No. 2: PROFESORES Y PERSONAL AUXILIAR No. 2.1 INDICADOR Cualidades de educador 2.2 % de Doctores (o equivalente, según reglamento), Master y Especialistas con que cuenta la carrera 2.3 Categorización de los profesores Calidad de las investigaciones y el postgrado en la carrera. 2.4 2.5 2.6 CRITERIOS DE EVALUACIÓN • Se comprueba por diferentes vías que los profesores se destacan por sus cualidades de educador. A. Sede Central: • % de Doctores del claustro • % de Master en el resto del claustro B. Otras modalidades: • % de doctores, especialistas y master del claustro • % de Doctores del claustro • % de profesores con categoría de PA y PT o equivalentes • Se reconoce el impacto económico y social de las investigaciones realizadas en los últimos 5 años y la integración de la gestión de la ciencia y la innovación entre la Sede Central y la otra modalidad de enseñanza en su influencia en el proceso de formación de los estudiantes. • Se reconoce el prestigio de los programas de postgrado desarrollados en los últimos 5 años en su influencia en el proceso de formación. • Tres o más publicaciones promedio por profesor en los últimos cinco años. • Tres o más ponencias promedio en eventos nacionales e internacionales por profesor en los últimos cinco años. Publicaciones de textos y/o artículos científicos en revistas referenciadas y participación en eventos nacionales e internacionales Experiencia profesional • La experiencia profesional y estabilidad del claustro en el área de satisface las exigencias del proceso de formación en las conocimientos de la disciplinas del ejercicio de la profesión. … 57 • Se cuenta con un cuerpo de profesores a tiempo parcial, seleccionados entre los profesionales más calificados en su profesión. Personal no docente y • La preparación, experiencia y dedicación del personal no administrativo docente y administrativo representa un apoyo efectivo a la labor docente. carrera. 2.7 VARIABLE No.3: ESTUDIANTES No. 3.1 3.2 3.3 3.4 INDICADOR Participación de los estudiantes como protagonistas de su proceso de formación. Dominio de los modos de actuación de la profesión CRITERIOS DE EVALUACIÓN • Los estudiantes tienen una efectiva participación en las tareas previstas en la estrategia educativa de la carrera • Resultados alcanzados en los exámenes integradores aplicados a una muestra de estudiantes que garantice evaluar los modos de actuación de la profesión • %de estudiantes con calificaciones de 4 ó 5 • Calidad de los Trabajos de Curso , de Diploma u otras formas de culminación de estudio realizados en los últimos 3 cursos Tendencia que se • La eficiencia muestra una efectiva estabilidad o manifiesta en la eficiencia tendencia al incremento de la permanencia, del en los últimos cinco rendimiento y del egresado en los últimos 5 cursos cursos Organización docente • La organización docente permite una efectiva atención para el aprendizaje diferenciada por parte de los profesores VARIABLE No.4: INFRAESTRUCTURA No. 4.1 4.2 INDICADOR Aseguramiento de un sistema integrado y progresivo de medios de enseñanza que garantice el acceso al aprendizaje de los estudiantes. Aseguramiento bibliográfico en el área de conocimiento de la carrera CRITERIOS DE EVALUACIÓN • Utilización de materiales impresos: textos y guía, y guía del profesor, revistas científicas, etc. • Utilización pertinente de los medios audiovisuales e informáticos elaborado por la academia: softwares educativo, videos, multimedia, laboratorios virtuales., etc. •Plataforma de teleformación que facilite el acceso al aprendizaje., mediante la integración de medios, interactividad, acceso remoto, etc. • Utilización de los textos básicos y guías de estudio disponibles para la carrera • Actualidad de los fondos de biblioteca, incluidas las revistas científicas • Materiales elaborados por el claustro, incluido en soporte electrónico, y acceso de los estudiantes a los mismos Aseguramiento de la base • Correspondencia de la base material disponible con las material en el área de necesidades de la carrera y calidad de la misma conocimientos de la • Organización del trabajo en los laboratorios carrera (incluido el que se utiliza como consecuencia de la alianza con los OACE) … 58 4.3 4.4 • Equipamiento de computación disponible para la carrera, en proporción al número de estudiantes • Posibilidades de acceso de los estudiantes a los servicios de la Intranet del centro e Internet • Acceso de los estudiantes a Plataformas de teleformación. • Software profesional y plataformas interactivas disponibles en correspondencia con los avances de la profesión Otras instalaciones de • Calidad de las aulas, del mobiliario, de los talleres, carácter docente utilizadas gabinetes, bibliotecas, locales de estudio, etc., y el uso de por la carrera la infraestructura del territorio Aseguramiento material para el empleo de la computación y las TICs en la carrera VARIABLE No. 5: CURRÍCULO No. 5.1 5.2 5.3 5.4 5.5 INDICADOR Gestión curricular en la carrera y en el colectivo pedagógico. CRITERIOS DE EVALUACIÓN • Los objetivos de los años o ciclos académicos y su ejecución dan respuesta a los requerimientos de la carrera • Los objetivos y los contenidos de las disciplinas y su ejecución dan respuesta a los requerimientos de la carrera • La estructuración didáctica del proceso da respuesta a los requerimientos del modelo pedagógico en la modalidad de estudio de la carrera y a la personalización de la educación. Relación entre los • Se emplean de forma efectiva los métodos, formas diferentes organizativas, medios y sistemas de evaluación componentes del proceso • Se observan relaciones interdisciplinarias en el desarrollo docente-educativo en la del proceso docente- educativo carrera. Estrategia educativa de la • Se cuenta con una estrategia educativa de calidad, en carrera correspondencia con las fuentes de ingreso, que garantiza el cumplimiento de los objetivos generales de ese profesional • Los proyectos educativos se personalizan y conforman un sistema coherente de sus diferentes dimensiones Estrategias curriculares • Las estrategias pertinentes vinculadas al desarrollo de las distintas profesiones se estructuran a lo largo de la carrera Actividad investigativo- • La organización y desarrollo de la actividad laboral de los estudiantes investigativo- laboral en la carrera garantiza la formación de los modos de actuar del profesional • Las Unidades Docentes están constituidas en entidades laborales de alto prestigio profesional que reúnen los requisitos necesarios para la formación de los modos de actuación de la profesión … 59 Anexo 2 Tabla. No 1 Relación de profesores asignaturas del plan de estudio. No Nombre y Apellidos Asignaturas(Año) Tabla no. 2 Relación de profesores con la especialidad, el grado científico o título académico y categoría docente G. o T. No Nombre y Apellidos Cat. Doc. Acad. Especialización Tabla no. 3 Profesores que dirigen los diferentes colectivos pedagógicos Colectivo que dirige Nombre y Apellidos Cat. Doc. Cat. C. Carrera Disciplinas Colectivos de Año 1ro 2do 3ro 4to 5to … 60 Anexo 3 … 61