• No se han encontrado resultados

Sistema de Información de apoyo a la Autoevaluación de la Carrera Ciencia de la Computación (SAAC)

N/A
N/A
Protected

Academic year: 2020

Share "Sistema de Información de apoyo a la Autoevaluación de la Carrera Ciencia de la Computación (SAAC)"

Copied!
70
0
0

Texto completo

(1)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.

(2) 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.

(3) 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..

(4) 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..

(5) 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..

(6) 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..

(7) 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.

(8) 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.

(9) Anexo 3 ............................................................................................................ 61.

(10) 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.

(11) 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.

(12) 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.

(13) 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.

(14) 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.

(15) 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.

(16) 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.

(17) 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.

(18) 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.

(19) 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.

(20) 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.

(21) 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.

(22) 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.

(23) 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.

(24) 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.

(25) 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.

(26) 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.

(27) . 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.

(28) 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.

(29) 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.

(30) 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.

(31) 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.

(32) 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.

(33) 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.

(34) 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.

(35) 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.

(36) Fig.2.1g. Diagrama del actor Jefe_Carrera y sus Casos de Uso.. Fig.2.1. Diagrama de Actores del Sistema. … 27.

(37) 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.

(38) 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.

(39) 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.

(40) 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.

(41) Fig. 2.2. Diagrama Entidad Relación de SAAC. … 32.

(42) 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.

(43) Fig. 2.3. Modelo Físico de la BD de SAAC … 34.

(44) 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.

(45) -. 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.

(46) 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.

Figure

Fig. 2.4. Diagrama de Componentes
Figura 2.5. Segmento de código para el cálculo de la eficiencia vertical
Figura 2.1.7: Diagrama de Despliegue.
Fig. 2.8. Ejemplo del contenido del archivo  config.ini
+7

Referencias

Documento similar

Y tendiendo ellos la vista vieron cuanto en el mundo había y dieron las gracias al Criador diciendo: Repetidas gracias os damos porque nos habéis criado hombres, nos

E Clamades andaua sienpre sobre el caua- 11o de madera, y en poco tienpo fue tan lexos, que el no sabia en donde estaña; pero el tomo muy gran esfuergo en si, y pensó yendo assi

Sanz (Universidad Carlos III-IUNE): "El papel de las fuentes de datos en los ranking nacionales de universidades".. Reuniones científicas 75 Los días 12 y 13 de noviembre

d) que haya «identidad de órgano» (con identidad de Sala y Sección); e) que haya alteridad, es decir, que las sentencias aportadas sean de persona distinta a la recurrente, e) que

Las manifestaciones musicales y su organización institucional a lo largo de los siglos XVI al XVIII son aspectos poco conocidos de la cultura alicantina. Analizar el alcance y

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)