UNIVERSIDAD CENTRAL DEL ECUADOR FACULTAD DE INGENIERÍA, CIENCIAS FÍSICAS Y MATEMÁTICA CARRERA DE INGENIERÍA INFORMÁTICA

Tamaño: px
Comenzar la demostración a partir de la página:

Download "UNIVERSIDAD CENTRAL DEL ECUADOR FACULTAD DE INGENIERÍA, CIENCIAS FÍSICAS Y MATEMÁTICA CARRERA DE INGENIERÍA INFORMÁTICA"

Transcripción

1 UNIVERSIDAD CENTRAL DEL ECUADOR FACULTAD DE INGENIERÍA, CIENCIAS FÍSICAS Y MATEMÁTICA CARRERA DE INGENIERÍA INFORMÁTICA DESARROLLO E IMPLEMENTACIÓN DE UN SISTEMA DE PROCESOS VINCULADOS PARA LA FACULTAD DE INGENIERÍA EN GEOLOGÍA MINAS, PETRÓLEOS Y AMBIENTAL DE LA UNIVERSIDAD CENTRAL DEL ECUADOR TRABAJO DE GRADUACIÓN PREVIO A LA OBTENCIÓN DEL TÍTULO DE INGENIERO INFORMÀTICO. AUTOR: Pallasco Iza María Fernanda TUTOR: Ing. Santiago Leonardo Morales Cardoso QUITO - ECUADOR 2015

2 . DEDICATORIA El presente trabajo lo dedico a mi querido hijo Darién Mathias por ser un milagro que llena mi vida de alegría y ser mi inspiración para seguir luchando día a día. A toda mi familia que siempre me han apoyado a lo largo de mi carrera universitaria y de toda mi vida, brindándome sus consejos y cariño y a mis amigas con quienes compartí momentos buenos y malos en mi etapa de formación profesional. Pero especialmente lo dedico a la memoria de mi madre Inés Aurora por quererme mucho, creer en mí y porque siempre me apoyaste, gracias mamita por tu paciencia, tus consejos, sacrificio y apoyo. Todo lo que soy te lo debo a ti. Fer ii

3 AGRADECIMIENTO En primer lugar quiero agradecer a Dios que me ha dado las fuerzas necesarias para seguir adelante frente a las adversidades que se me han presentado, a mi pequeño hijo Darién Mathias que es la luz de mis ojos gracias a él hoy tengo un motivo para seguir viviendo y una razón para luchar y seguir cumpliendo mis sueños. Agradezco a mis padres Segundo e Inés quienes siempre me han apoyado durante mis estudios, a mis hermanos Cristian, Tania y Danahe quienes siempre me han dado ánimos para seguir adelante y han estado junto a mí y todas aquellas personas que en forma directa e indirectamente contribuyeron para que este trabajo de tesis pudiera llevarse a cabo. A la prestigiosa Universidad Central del Ecuador y su Facultad de Ingeniería Ciencias, Físicas y Matemática, ya que fue un excelente espacio de estudio y me formó profesionalmente. A mi tutor Ing. Santiago Morales, revisores Ing. Zoila Ruiz e Ing. Aldrín Flores y a todos mis maestros que supieron transmitir sus conocimientos para poder concluir de manera exitosa mi tesis. A todos de la forma más grata y sincera muchas gracias. Fer iii

4 AUTORIZACIÓN DE LA AUTORÍA INTELECTUAL Yo, MARÍA FERNANDA PALLASCO IZA en calidad de autor del trabajo de investigación Desarrollo e Implementación de un Sistema de Procesos Vinculados para la Facultad de Ingeniería en Geología Minas, Petróleos y Ambiental de la Universidad Central Del Ecuador, por la presente autorizo a la UNIVERSIDAD CENTRAL DEL ECUADOR, hacer uso de todos los contenidos de esta obra, con fines estrictamente académicos o de investigación. Los derechos que como autor me corresponden, con excepción de la presente autorización, seguirán vigentes a mi favor, de conformidad con lo establecido en los artículos 5, 6, 8, 19 y demás pertinentes de la Ley de Propiedad Intelectual y su Reglamento. En la ciudad de Quito, a los 21 días del mes de mayo del 2015 María Fernanda Pallasco Iza C.C iv

5 CERTIFICACIÓN v

6 vi

7 vii

8 CONTENIDO DEDICATORIA... ii AGRADECIMIENTO...iii AUTORIZACIÓN DE LA AUTORÍA INTELECTUAL... iv CERTIFICACIÓN... v CONTENIDO... viii LISTA DE FUGURAS... xii RESUMEN... xv ABSTRACT... xvi CERTIFICADO... xvii 1 CAPÍTULO I INTRODUCCIÓN PLANTEAMINETO DEL PROBLEMA OBJETIVO GENERAL OBJETIVOS ESPECÍFICOS JUSTIFICACIÓN ALCANCE Módulo de Seguridad Módulo PAC (Personal Académico) RESULTADOS ESPERADOS CAPÍTULO II MARCO TEÓRICO METODOLOGÍAS DE DESARROLLO Metodologías estructuradas Metodologías orientadas a objetos Metodologías tradicionales Metodologías ágiles Metodología XP ARQUITECTURA N-CAPAS Capa de presentación viii

9 2.3.2 Capa de negocio Capa de datos ARQUITECTURA DEL PROYECTO Capa Cliente Servidor de Aplicaciones Capa Web Backing Beans Capa Negocio EJB Enterprise JavaBeans DAO Data Access Object Base de Datos LENGUAJE DE PROGRAMACIÓN JAVA Características IDE ECLIPSE Java Server Faces (JSF) JAVA PERSISTENCE API (JPA) Unidad de persistencia EJB PRIMEFACES SERVIDOR DE APLICACIONES JBOSS APACHE MAVEN Creación del proyecto de tipo POM Compilación de un proyecto Maven Ciclo de vida de los proyectos maven Estructura de maven PATRÓN DE PRESENTACIÓN MODELO VISTA CONTROLADOR Ventajas del MVC Capitulo III DIAGRAMAS UML Diagrama de Casos de Uso Diagrama de Clases Diagrama de Objetos ix

10 3.1.4 Diagrama de estados Diagrama de actividades Diagramas de interacción Diagramas de Secuencia Diagrama de colaboración Diagramas de implementación de Componentes Diagrama de Despliegue Descripción de los diagramas CRONOGRAMA DE ACTIVIDADES MODELO E/R Elementos del modelo entidad-relación Relaciones de cardinalidad Claves DESCRIPCIÓN DE LOS CAMPOS CAPITULO IV HERRAMIENTAS DE DESARROLLO JAVA DEVELOPMENT KIT JDK INSTALACIÓN DEL JDK Configuración de la variable Java_Home Configuración de la variable de entorno del sistema INSTALACIÓN DE POSTGRESQL CONFIGURACIÓN DE POSTGRESQL INSTALACIÓN DE JBOSS-EAP CONFIGURACIÓN DATASOURCE JBOSS-EAP INSTALACIÓN DEL ENTORNO DE DESARROLLO INTEGRADO ECLIPSE (KEPLER) CONFIGUARACION DE APACHE MAVEN CAPITULO V FUNCIONAMIENTO DEL SISTEMA USO DEL SISTEMA Administración del profesor Actualización del docente Creación de un docente x

11 5.2.4 Generación del archivo Excel Registro de un Nuevo Usuario CAPÍTULO VI CONLUSIONES RECOMENDACIONES BIBLIOGRAFÍA GLOSARIO ANEXOS Anexo A Presupuesto Anexo B Cronograma ANEXO C MANUAL TÉCNICO xi

12 LISTA DE FUGURAS Figura 1 Modelo XP Figura 2 Arquitectura n-capas Figura 3 Arquitectura del proyecto Figura 4 Unidad de persistencia Figura 5 Definición de atributos y relaciones de una Entidad Figura 6 Estructura de maven Figura 7 Creación del fichero pom.xml Figura 8 Compilación de proyecto maven Figura 9 Path repositorio de maven Figura 10 Estructura de maven matrices-figempa Figura 11 Modelo vista controlador Figura 12 Diagrama Casos de Uso Figura 13 Figura 3.2 Diagrama Clase Figura 14 Diagrama Objetos Figura 15 Diagrama Comportamiento Figura 16 Diagrama de actividades Figura 17 Diagrama de interacción Figura 18 Diagrama de Secuencia Figura 19 Diagrama de colaboración Figura 20 Diagrama de implementación de componentes Figura 21 Diagrama de despliegue Figura 22 Cronograma de actividades Figura 23 Descripción de los campos Figura 24 Pantalla de bienvenida a la instalación del JDK Figura 25 Ruta de instalación y características a instalar Figura 26 Validación e Instalación del ambiente Fuente Figura 27 Validación e Instalación del ambiente Figura 28 Progreso de la Instalación del software Figura 29 Instalación exitosa Figura 30 Variables de entorno Figura 31 Nueva variable de usuario Figura 32 Variable Path editada Figura 33 Versión de Java instalada xii

13 Figura 34 Software necesario para PostgreSQL Figura 35 Pantalla de bienvenida a PostgreSQL Figura 36 Directorio de Instalación Figura 37 Contraseña de Superusuario Figura 38 Configuración del puerto Figura 39 Configuración Regional Figura 40 Instalación en Proceso Figura 41 Instalación Finalizada Figura 42 Stack Builder Figura 43 Accediendo a PostgreSQL Figura 44 Conexión a la administración del motor de base de datos Figura 45 Introducción de clave de súper usuario Figura 46 Nueva Base de Datos Figura 47 Nombre de la nueva Base de Datos Figura 48 Nueva Base de Datos Creada Figura 49 Restauración del backup Figura 50 Ejecución del Script Figura 51 Directorios de jboss-eap Figura 52 Arranque de Jboss-eap-6.1 en la consola de Windows Figura 53 Arranque de Jboss-eap-6.1 en el navegador Figura 54 Path de la carpeta main Figura 55 Archivos de configuración del data sourse Figura 56 Pantalla para editar archivo module.xml Figura 57 Editar module.xml Figura 58 Path de archive de configuración standalome.xml Figura 59 Configuración standalome.xml Figura 60 Pantallas de inicio y bienvenida de Eclipse Kepler Figura 61 Pantalla configuración de JDK Figura 62 Nuevo servidor de aplicaciones jboss-eap Figura 63 Agregar servidor de aplicaciones jboss-eap Figura 64 Configuración apache-maven Figura 65 Pantalla de ingreso al sistema Figura 66 Autenticación de usuarios Figura 67 Pantalla de inicio del sistema Figura 68 Administración del docente Figura 69 Detalle de registros de docentes Figura 70 Opciones de actualización y eliminación Figura 71 Pantalla de actualización del docente Figura 72 Pantalla de creación del docente Figura 73 Pantalla de generación de archivo excel Figura 74 Registro de un nuevo usuario Figura 75 Validación de campos xiii

14 Figura 76 Usuario creado con éxito Figura 77 Ejecución de Eclipse Figura 78 Workspace Eclipse Figura 79 Procedimiento de importación de proyecto Figura 80 Importando proyecto Figura 81 Importando de los tres proyectos Figura 82 Estructura del proyecto Figura 83 Configuración de jboss-eap Figura 84 Configuración de jboss-eap Figura 85 Configuración finalizada de nuevo servidor jboss-eap Figura 86 Start to JBoss 6.1 Runtime Server Figura 87 Publishing to JBoss 6.1 Runtime Server Figura 88 Estructura de carpetas Figura 89 Contenido de la carpeta Figura Contenido de la carpeta matrices-figempa-ejb Figura 91 src/main/java Figura 92 Persistencia Figura 93 Entity Profesor Figura 94 Servicio e Implementación Profesor Figura 95 Persistence.xml Figura 96 Estructura de matrices-figempa-web Figura 97 Carpeta web,css,js,img Figura 98 Páginas xhtml Figura 99 Archivos de configuración de WEB-INF Figura 100 Fichero pom.xml xiv

15 RESUMEN DESARROLLO E IMPLEMENTACIÓN DE UN SISTEMA DE PROCESOS VINCULADOS PARA LA FACULTAD DE INGENIERÍA EN GEOLOGÍA MINAS, PETRÓLEOS Y AMBIENTAL DE LA UNIVERSIDAD CENTRAL DEL ECUADOR En la actualidad la mayoría de las instituciones o empresas han definido una estructura organizativa con el objeto de basar en ella las actividades tendientes a satisfacer las necesidades de los clientes o usuarios. Sin embargo, es frecuente encontrar que algunas de estas instituciones han diseñado su estructura sin contar previamente con una actualización de las necesidades de éstos. Es por esta razón que la FIGEMPA necesita realizar un Levantamiento de Procesos, que determinen sus actividades, funciones, estructuras y requerimientos de recurso humano de forma sistémica, estandarizada y normalizada. Por tanto el presente proyecto pretende implantar un sistema que ayude al personal administrativo a obtener de manera rápida y eficiente datos actualizados, completos y validados de todo el personal académico. DESCRIPTORES: JAVA / ECLIPSE / JSF / EJB / JPA / HIBERNATE / POSTGRESQL / ARQUITECTURA N-CAPAS / METODOLOGÍA XP / PRIMEFACES / APACHE MAVEN / JBOSS. xv

16 ABSTRACT DESARROLLO E IMPLEMENTACIÓN DE UN SISTEMA DE PROCESOS VINCULADOS PARA LA FACULTAD DE INGENIERÍA EN GEOLOGÍA MINAS, PETRÓLEOS Y AMBIENTAL DE LA UNIVERSIDAD CENTRAL DEL ECUADOR At present most of the institutions or companies have defined an organizational structure in order to base it activities designed to meet the needs of customers or users. However, it is common to find that some of these institutions have designed their structure into before an update to their needs. It is for this reason that FIGEMPA needs to make a survey of processes that determine their activities, functions, structures and human resource requirements systemic, standardized and normalized form. Therefore this project aims to implement a system that helps the administrative staff to obtain data quickly and efficiently updated, complete and validated all academic staff. DESCRIPTORS: JAVA / ECLIPSE / JSF / EJB / JPA / HIBERNATE / POSTGRESQL / MULTITIER ARCHITECTURE / XP METHODOLOGY / PRIMEFACES / APACHE MAVEN / JBOSS. xvi

17 CERTIFICADO Quito, 21 de mayo de 2015 Yo, Ángel Alejandro López Barriga, certifico que he revisado el resumen de la tesis con tema DESARROLLO E IMPLEMENTACIÓN DE UN SISTEMA DE PROCESOS VINCULADOS PARA LA FIGEMPA llevado a cabo por parte de la egresada de la carrera de Ingeniería Informática, Señorita María Fernanda Pallasco Iza, con C.C Adjunto certificado el certificado que constata mi conocimiento en el idioma inglés. Es todo lo que puedo decir en honor a la verdad. La Señorita María Fernanda Pallasco Iza puede hacer uso de este certificado como bien le convenga. Atentamente, xvii

18 xviii

19 1 CAPÍTULO I 1.1 INTRODUCCIÓN La Constitución Política de la República del Ecuador promulgada en agosto de 1998 y la Ley de Educación Superior en mayo del 2000, son las normas que definen a la educación superior en el Ecuador. El Sistema Nacional de Educación Superior está conformado por universidades y escuelas politécnicas, creadas por ley; y, por los institutos superiores técnicos y tecnológicos, creados por el Consejo Nacional de Educación Superior (CONESUP). La Ley Orgánica de Educación Superior vigente, en su artículo 183, literal e), establece que es una función de la Secretaría Nacional de Educación Superior Ciencia, Tecnología e Innovación Diseñar, implementar, administrar y coordinar el Sistema Nacional de Datos de la Educación Superior del Ecuador-SNIESE. En cumplimiento de la disposición antes referida, se llevará a cabo el proceso de levantamiento de datos de las instituciones de educación superior del Ecuador. El objetivo de este proceso es contar con datos actualizados, completos y validados de las instituciones que forman parte del Sistema de Educación Superior del Ecuador. La recopilación de datos se realizará a través del portal web del SNIESE (sniese.senescyt.gob.ec), mediante formularios electrónicos que deberán ser diligenciados por cada institución. Es por esta razón que las autoridades de la FIGEMPA decidieron sistematizar el proceso de registro y actualización de datos de las siguientes matrices: extensio- 1

20 nes, centros de apoyo y unidades académicas; estructuras académicas (carreras y programas); estudiantes de nivel técnico, tecnológico, tercer y cuarto nivel; personal académico; personal técnico docente, administrativos y trabajadores; y bienes muebles, inmuebles e intangibles personal académico; personal técnico docente, administrativos y trabajadores; y bienes muebles, inmuebles e intangibles. Todos estos procesos se realizaran por módulos en este proyecto de tesis se sistematizara la matriz del personal académico de la FIGEMPA. Una vez validados y subidos todos los formularios antes mencionados, la FIGEMPA deberán imprimir el reporte del formulario institucional, el cual debe ser firmado por el Rector(a), quien en su calidad de primera autoridad ejecutiva certificará que los datos suministrados son verídicos, completos, verificables y que corresponde a datos oficiales de la institución. 1.2 PLANTEAMINETO DEL PROBLEMA Cada día son más las instituciones que deciden mejorar la calidad de sus productos y servicios, apuntando a la satisfacción de sus clientes (personal académico, administrativo y estudiantil). Sin duda, ello no es una tarea fácil. La competencia es cada vez mayor y los clientes se vuelven más exigentes. En la institución, es necesario el desarrollo de una cultura orientada a la mejora continua, la sistematización de los procesos, la participación del personal, el trabajo en equipo, la creatividad. Ante la necesidad de supervivencia y competitividad, el análisis y la mejora de los procesos no son opcionales, es imprescindible. Incluso podríamos decir que hoy, los procesos eficaces y eficientes no aportan una ventaja competitiva, pero, por el contrario el no tenerlos es una gran desventaja. Actualmente la FIGEMPA carece de un de sistema de procesos estructurales, lo que ocasiona que cada semestre la obtención de datos académicos se vuelva una 2

21 tarea sumamente compleja, que frecuentemente ocasiona gran pérdida de tiempo y esfuerzo seguido con la dificultad que involucra manejar un amplio número de registros en hojas de cálculo que ocupan una gran cantidad de recursos materiales y humanos, que podrían ser canalizados en otras actividades. La sistematización de los procesos y sus actividades apunta a mejorar la práctica, enriquecer, confrontar y modificar el conocimiento teórico, contribuyendo a convertirlo en una herramienta realmente útil para la facultad, ya que actualmente toda la recopilación de la información solicitada se lo realiza de forma manual. 1.3 OBJETIVO GENERAL Analizar, desarrollar e implementar un sistema de datos del personal académico que permita obtener de manera rápida y eficiente datos actualizados, completos y validados para la Facultad de Ingeniería en Geología, Minas, Petróleos y Ambiental de la Universidad Central del Ecuador. 1.4 OBJETIVOS ESPECÍFICOS Implementar el sistema para la FIGEMPA, el cual ayude en el almacenamiento de la información del personal docente y gestión de la información obtenida de la documentación generada y emitida diariamente por cada una de las escuelas de la facultad. Desarrollar los módulos antes mencionados e integrarlos en un solo sistema. Realizar el análisis a cada uno de los procesos para determinar los problemas que presentan los mismos dentro de la empresa; identificando los puntos críticos de cada proceso, para definir los estándares y controles que le permitan a los mismos ser más ágiles y productivos en beneficio del sistema. 3

22 Diseñar una interfaz con el cual los usuarios puedan introducir los datos de manera eficaz. Almacenar la información que se maneja, para obtener disponibilidad de ésta y tener una organización cero papeles. 1.5 JUSTIFICACIÓN El presente proyecto de tesis está encaminado para solucionar y agilitar los procesos que actualmente se realizan en la FIGEMPA al momento de realizar el levantamiento de datos de las diferentes escuelas. Por esta razón se desarrollara un sistema de fácil acceso para el personal académico y administrativo que labora en dicha institución para obtener procesos rápidos y eficaces. Además de esta manera se lograra validar el ingreso erróneo de datos obteniendo información actualizada, veraz y confiable. 1.6 ALCANCE El sistema será instalado en el Centro de Informática de la FIGEMPA en el servidor destinado a la implementación del sistema. El proyecto que se propone en el presente documento es el desarrollo de un sistema informático que facilite el ingreso, actualización y validación de datos del personal académico, obteniendo finalmente reportes semestrales por cada escuela que serán útiles para la toma de decisiones. Para lograrlo, el sistema se compondrá de dos módulos: 4

23 1.6.1 Módulo de Seguridad Permite organizar, distribuir y clasificar los permisos que se puedan otorgar a los usuarios. Estos permisos se logran bajo las siguientes propiedades perfiles y usuarios. Los usuarios se definen y se relacionan a un perfil para que pueda desempeñar su rol dentro del sistema. Al asignar los permisos correspondientes el usuario tendrá la capacidad de ejecutar ciertas transacciones o eventos como el ingreso, actualización, eliminación y la generación del reporte en Excel Módulo PAC (Personal Académico) Mediante este módulo se registrarán toda la información de los docentes que actualmente laboran en las cuatro escuelas Geología, Minas, Petróleos y Ambiental. Para el ingreso de los datos estos tendrán algunas validaciones como por ejemplo: deben ser ingresados en letras mayúsculas, sin abreviaturas. En los casos que corresponda seleccione las respuestas de opción múltiple disponibles. Para los números decimales debe usar la coma, como separador de decimales. El Rector(a), en su calidad de primera autoridad ejecutiva de la universidad o escuela politécnica, certificará que el 100% de los datos suministrados, son verídicos, completos y corresponden a los datos oficiales de la institución. Para poder desarrollar este módulo se necesita contar con información precisa de lo que está ocurriendo en todos sus procesos y en cada una de sus actividades. Por esta razón es necesario trabajar en conjunto con la FIGEMPA, ya que ellos actualmente son los que manejan y recopilan esa información de forma manual. 5

24 1.7 RESULTADOS ESPERADOS Los resultados que se esperan obtener al desarrollar el sistema son los siguientes: Que el sistema ayude a mantener un control adecuado de todo el personal académico que se manejan en la FIGEMPA Poder extraer reportes semestrales para cada escuela con datos verídicos, validados, actualizados y completos que finalmente será subidos a través del portal web del SNIESE (sniese.senescyt.gob.ec). El archivo generado deberá tener el siguiente formato: Nombre del archivo: El nombre del archivo debe contener el año, seguido de un guión bajo, la sigla del formulario (PAC) y la extensión.csv. 6

25 2 CAPÍTULO II 2.1 MARCO TEÓRICO El desarrollo de software es un proceso de ingeniería que incluye diversas tareas, y que necesita de conocimientos específicos de temas como tecnologías, lenguajes de programación, herramientas de desarrollo, diseño de software, etc. Sin embargo, estos conceptos no son siempre entendibles para los clientes o para los usuarios, por lo que es necesario brindar definiciones claras y precisas para la comprensión del presente proyecto. Por otro lado, es de igual importancia introducir al usuario al marco de trabajo del proyecto que coordinará e integrará las diferentes fases del desarrollo, esto es la Programación Extrema (XP Extrem Programing) y el Lenguaje Unificado de Modelado (UML Unified Modeling Language) que en combinación proporcionarán una guía clara y práctica para ordenar, dirigir y fundamentar las actividades del desarrollo. 2.2 METODOLOGÍAS DE DESARROLLO Metodología de desarrollo de software en ingeniería de software es un marco de trabajo usado para estructurar, planificar y controlar el proceso de desarrollo en sistemas de información. 1 1 Herm enegildo Romero, Metodología de desarrollo, revisada 08/04/2015 7

26 Una gran variedad de metodologías se ha desarrollado a lo largo de los años, cada de ellas con sus fortalezas y debilidades. Una determinada metodología no es necesariamente aplicable a todo tipo de proyectos, sino cada tipo de proyecto tiene una metodología a la que se adapta mejor Metodologías estructuradas Los métodos estructurados comenzaron a desarrollarse a fines de los 70 s con la Programación Estructurada, después aparecieron técnicas para el Diseño (por ejemplo: el diagrama de Estructura) y posteriormente para el Análisis (por ejemplo: Diagramas de Flujo de Datos) Metodologías orientadas a objetos Su historia va unida a la evolución de los lenguajes de programación orientada a objeto. En 1995 Booch y Rumbaugh proponen el Método Unificado con la ambiciosa idea de conseguir una unificación de sus métodos y notaciones, que posteriormente se reorienta a un objetivo más modesto, para dar lugar al Unified Modeling Language (UML) Metodologías tradicionales Las metodologías no ágiles son aquellas que están guiadas por una fuerte planificación durante todo el proceso de desarrollo; llamadas también metodologías tradicionales o clásicas, donde se realiza una intensa etapa de análisis y diseño antes de la construcción del sistema. 8

27 2.2.4 Metodologías ágiles Un proceso es ágil cuando el desarrollo de software es incremental, es decir entregas pequeñas de software, donde el cliente y desarrolladores trabajan juntos constantemente con una cercana comunicación. Para realizar este proyecto de tesis se utilizara el Metodología XP Metodología XP El proceso de desarrollo SW se divide en cuatro fases: Planificación del proyecto Historia de usuarios (requisitos). Selección y uso de tecnologías, herramientas, recursos, otros. Prototipo de la arquitectura. Reuniones diarias. Diseño Diseños simples: La metodología X.P sugiere que hay que conseguir diseños simples y sencillos. Hay que procurar hacerlo todo lo menos complicado posible para conseguir un diseño fácilmente entendible e impleméntable que a la larga costará menos tiempo y esfuerzo. Glosario de términos: Usar glosarios de términos y una correcta especificación de los nombres de métodos y clases ayudará a comprender el diseño y facilitará sus posteriores ampliaciones y la reutilización del código. Riesgos: Si surgen problemas potenciales durante el diseño, X.P sugiere utilizar una pareja de desarrolladores para que investiguen y reduzcan al máximo el riesgo que supone ese problema. 9

28 Refactorizar: Es mejorar y modificar la estructura y codificación de códigos ya creados sin alterar su funcionalidad. Refactorizar supone revisar de nuevo estos códigos para procurar optimizar su funcionamiento. Es muy común rehusar códigos ya creados que contienen funcionalidades que no serán usadas y diseños obsoletos. Esto es un error porque puede generar código completamente inestable y muy mal diseñado; por este motivo, es necesario refactorizar cuando se va a utilizar código ya creado. Codificación El cliente es una parte más del equipo de desarrollo; su presencia es indispensable en las distintas fases de X.P. A la hora de codificar una historia de usuario su presencia es aún más necesaria. No olvidemos que los clientes son los que crean las historias de usuario y negocian los tiempos en los que serán implementadas. Antes del desarrollo de cada historia de usuario el cliente debe especificar detalladamente lo que ésta hará y también tendrá que estar presente cuando se realicen los test que verifiquen que la historia implementada cumple la funcionalidad especificada. La optimización del código siempre se debe dejar para el final. Hay que hacer que funcione y que sea correcto, más tarde se puede optimizar..x.p afirma que la mayoría de los proyectos que necesiten más tiempo extra que el planificado para ser finalizados no podrán ser terminados a tiempo se haga lo que se haga, aunque se añadan más desarrolladores y se incrementen los recursos. La solución que plantea X.P es realizar un nuevo "Release plan" para concretar los nuevos tiempos de publicación y de velocidad del proyecto. Pruebas Uno de los pilares de la metodología X.P es el uso de test para comprobar el funcionamiento de los códigos que vayamos implementando. 10

29 El uso de los test en X.P es el siguiente: Se deben crear las aplicaciones que realizarán los test con un entorno de desarrollo específico para test. Un punto importante es crear test que no tengan ninguna dependencia del código que en un futuro evaluará. Hay que crear los test abstrayéndose del futuro código, de esta forma aseguraremos la independencia del test respecto al código que evalúa. Como se comentó anteriormente los distintos test se deben subir al repositorio de código acompañados del código que verifican. Ningún código puede ser publicado en el repositorio sin que haya pasado su test de funcionamiento. Los test permiten verificar que un cambio en la estructura de un código no tiene por qué cambiar su funcionamiento. Test de aceptación: Los test mencionados anteriormente sirven para evaluar las distintas tareas en las que ha sido dividida una historia de usuario. Figura 1 Modelo XP 11

30 2.3 ARQUITECTURA N-CAPAS La programación por capas es una arquitectura cliente-servidor donde el objetivo principal es separar la lógica de negocios de la lógica de diseño (interfaz de usuario). La ventaja principal es que el desarrollo se puede llevar a cabo en varios niveles, y cuando se presente algún cambio o modificación, sólo se ataca al nivel requerido. Figura 2 Arquitectura n-capas Capa de presentación Es la encargada de los servicios de presentación, proporciona la interfaz necesaria para presentar la información y reunir datos. 12

31 2.3.2 Capa de negocio Se encarga de los servicios de negocios, es el puente entre un usuario y los servicios de datos. Responde a las peticiones de usuario u otros servicios de negocio para ejecutar una tarea aplicando tareas formales o reglas de negocio a datos relevantes Capa de datos La capa de servidor de datos se compone de servidores de datos. El nivel de servicio de datos es responsable de: Almacenar los datos. Recuperar los datos. Mantener los datos. La integridad de los datos. 2.4 ARQUITECTURA DEL PROYECTO El proyecto desde el punto de vista lógico estará conformado: Capa Cliente Esta capa es la que hace referencia al computador desde el cual el usuario accede al sistema a través del uso de navegadores web. 13

32 2.4.2 Servidor de Aplicaciones Dispositivo de software mediante el cual se desplegará la aplicación desarrollada en Java Capa Web Es la capa donde se construye las páginas XHTML 2 mediante el uso del Framework JSF 3. Para el uso de AJAX se usa la implementación de PrimeFaces Backing Beans Son clases Java encargadas de implementar la funcionalidad de las páginas XHTML. Un Backing Bean es usualmente un Bean común de java que sirve de soporte para un objeto manejado dentro de la aplicación Capa Negocio Es la capa donde se definen las reglas del negocio de la aplicación y será la encargada de recibir las peticiones de usuario y entregar una respuesta mediante el respectivo proceso EJB Enterprise JavaBeans Clases Java ligeras donde se programan las reglas del negocio de la aplicación, proporcionan un modelo de componentes distribuido estándar del lado del servidor, uno de sus objetivos es dotar al programador de un modelo que le permita 2 XHTML: extensible HyperText Markup Language, XHTML es básicamente HTML expresado como XML válido. 3 JSF: JavaServer Faces, es una tecnología y framework para aplicaciones Java basadas en web que simplifica el desarrollo de interfaces de usuario en aplicaciones Java EE. 4 PrimeFaces: componente para JavaServer Faces (JSF) de código abierto que cuenta con un conjunto de componentes enriquecidos que facilitan la creación de aplicaciones web. 14

33 abstraerse de los problemas generales de una aplicación empresarial (concurrencia, transacciones, persistencia) para centrarse en el desarrollo de la lógica del negocio DAO Data Access Object Son clases Java en las cuales se implementa el acceso a las tablas de la base de datos, suministra una interfaz común entre la aplicación y uno o más dispositivos de almacenamiento de datos Base de Datos Es donde se van a almacenar los datos generados por la aplicación para su posterior uso en la generación de reportes. Figura 3 Arquitectura del proyecto 15

34 2.5 LENGUAJE DE PROGRAMACIÓN JAVA Java es un lenguaje de programación y una plataforma informática comercializada por primera vez en 1995 por Sun Microsystems. Java es rápido, seguro y fiable. La versión más reciente de Java contiene importantes mejoras para el rendimiento, estabilidad y seguridad de las aplicaciones Java que se ejecutan en su equipo. La instalación de la actualización gratuita garantiza que sus aplicaciones Java sigan ejecutándose de forma segura y eficaz. Java Runtime Environment (JRE) es lo que se obtiene al descargar el software de Java. JRE está formado por Java Virtual Machine (JVM), clases del núcleo de la plataforma Java y bibliotecas de la plataforma Java de soporte. JRE es la parte de tiempo de ejecución del software de Java, que es todo lo que necesita para ejecutarlo en el explorador web Características Lenguaje simple Java posee una curva de aprendizaje muy rápida. Todos aquellos familiarizados con C++ encontrarán que Java es más sencillo, ya que se han eliminado ciertas características, como los punteros. Debido a su semejanza con C y C++, la mayoría de la personas los conoce aunque sea de forma elemental Orientado a objetos Java fue diseñado como un lenguaje orientado a objetos desde el principio. Los objetos agrupan en estructuras encapsuladas tanto sus datos como los métodos o funciones que manipulan esos datos. 16

35 Distribuido Java proporciona una colección de clases para su uso de aplicaciones de red, que permiten abrir sockets y establecer y aceptar conexiones con servidores o clientes remotos, facilitando así la creación de aplicaciones distribuidas Robusto Java fue diseñado para crear software altamente fiable. Para ello proporciona numerosas comprobaciones en compilación y en tiempo de ejecución Portable La indiferencia a la arquitectura representa sólo una parte de su portabilidad. Además, Java especifica los tamaños de sus tipos de datos básicos y el comportamiento de sus operadores aritméticos, de manera que los programas son iguales en todas las plataformas. Estas dos últimas características se la conocen como la Máquina Virtual Java (JVM). 2.6 IDE ECLIPSE Eclipse es un programa informático compuesto por un conjunto de herramientas de programación de código abierto multiplataforma para desarrollar lo que el proyecto llama "Aplicaciones de Cliente Enriquecido. Esta plataforma, típicamente ha sido usada para desarrollar entornos de desarrollo integrados, como el IDE de Java llamado Java Development Toolkit(JDT) y el compilador (ECJ) 17

36 2.7 Java Server Faces (JSF) Es un estándar de Java hacia la construcción de interfaces de usuario para aplicaciones web que simplifican el desarrollo de aplicaciones web del lado del cliente, JSF está basado en la tecnología Java EE. Una página JSF utiliza la extensión *.xhtml, es decir, una combinación de XML con HTML y puede incluir componentes como CSS, JavaScript, entre otros. JSF define seis fases distintas en su ciclo de vida: Restauración de la vista: Crea un árbol de componentes en el servidor para representar la información de un cliente. Aplicar valores de la petición: Actualiza los valores del servidor con datos del cliente. Proceso de validación: Valida los datos del usuario y hace la conversión. Actualización de valores del modelo: Actualiza el modelo del servidor con nuevos datos. Invocar la aplicación: Ejecutar cualquier lógica de aplicación para cumplir con la solicitud. Procesar la respuesta: Guarda un estado y da una respuesta al cliente. 2.8 JAVA PERSISTENCE API (JPA) Proporciona un modelo de persistencia basado en POJO's para mapear bases de datos relacionales en Java. Se puede utilizar en aplicaciones web y aplicaciones clientes. Para ello, combina ideas y conceptos de los principales frameworks de persistencia, como Hibernate, Toplink, etc. El mapeo objeto-relacional (es decir, la relación entre entidades Java y tablas de la base de datos, queries con nombre, etc) se realiza mediante anotaciones en las propias clases de entidad. Para entender JPA, tendremos que tener claro el concepto "persistencia". 18

37 Persistencia (Almacenamiento): Es una de las necesidades básicas de cualquier sistema de información de cualquier tipo. Los datos se trataban haciendo consultas directas a la base de datos. Después, se propuso trabajar con objetos, pero las bases de datos tradicionales no admiten esta opción. Debido a esta situación, aparecieron los motores de persistencia, cuya función es traducir entre los dos formatos de datos: de registros a objetos y de objetos a registros. Persistir objetos Java en una base de datos relacional implica serializar un árbol de objetos Java en una base de datos de estructura tabular y viceversa. Esencial es la necesidad de mapear objetos Java para optimizar velocidad y eficiencia de la base de datos Unidad de persistencia Define un conjunto de todas las entidades (clases) que son gestionadas por la instancia del EntityManager en una aplicación. Este conjunto de clases de entidad representa los datos contenidos en una única BBDD. Las unidades de persistencia se definen en el fichero de configuración persistence.xml. Aquí les mostramos un ejemplo: Figura 4 Unidad de persistencia 19

38 OrderManagement: Unidad de persistencia. jta-data-source: Especifica el nombre global JNDI de la fuente de datos que utiliza el contenedor. Jar-file: Especifica los ficheros JAR en los que se encuentran las clases persistentes. La persistencia puede tener 4 estados diferentes: Transient: Un objeto recién creado que no ha sido enlazado con el gestor de persistencia. Persistent: Un objeto enlazado con la sesión (Todos los cambios serán persistentes). Detached: Un objeto persistente que sigue en memoria después de que termina la sesión: existe en java y en la base de datos. Removed: Un objeto marcado para ser eliminado de la base de datos: existe en java y se borrará de la base de datos al terminar la sesión. Los principales componentes de JPA son: Mapeo de base de datos relacionales (ORM). Es el mecanismo para mapear objetos a los datos almacenados en una base de datos relacional. Un API administrador de entidad para realizar operaciones en la base de datos tales como crear, leer, actualizar, eliminar (CRUD). El Java Persistence Query Language (JPQL) que permite recuperar datos con un lenguaje de consultas orientado a objetos. Las transacciones y mecanismos de bloqueo cuando se accedan a los datos concurrentemente, la API Java Transaction (JTA). Una entidad es un objeto de dominio de persistencia. En el modelo de datos relacional es representada por una entidad y sus instancias corresponden a los registros de dicha tabla. El estado de persistencia de una entidad se representa a través de campos persistentes o propiedades persistentes. Estos campos o propie- 20

39 dades usan anotaciones para el mapeo de estos objetos en el modelo de base de datos. Figura 5 Definición de atributos y relaciones de una Entidad 2.9 EJB Los JavaBeans empresariales son una tecnología que forma parte del estándar de Java EE. Están diseñados para desarrollo y despliegue de aplicaciones (distribuidas) de negocio basadas en componentes del lado del servidor. Una vez que se desarrolla una aplicación, ésta puede ser desplegada en cualquier servidor que soporte la especificación de EJB. Con esta tecnología es posible desarrollar aplicaciones empresariales sin tener que crear de nuevo los servicios de transacción, seguridad, persistencia, concurrencia y lo que se pueda necesitar en el proceso de creación de una aplicación; permitiendo a los desarrolladores enfocarse en la implementación de la lógica de negocio. 21

40 2.10 PRIMEFACES Es una librería de componentes visuales de código abierto para el conjunto Java Server Faces 2.0 desarrollada y mantenida por Prime Technology. Su objetivo principal es ofrecer un conjunto de componentes para facilitar la creación y diseño de aplicaciones web. Características principales de PrimeFaces: Posee un gran set de componentes UI 5 (HtmlEditor, Dialog, AutoComplete, Charts, DatePicker, DataTables, TreeComponent, etc). Tecnología Ajax 6 basada en la API AjaxJSF 2.0. Muy liviana. Solo un archivo jar 7. No se requiere configuración. No tiene dependencias (salvo por supuesto JSF runtime 2.0 o 2.1). Mobile UI kit que permite la creación de aplicaciones web para dispositivos móviles Documentación mantenida por la comunidad muy actualizada SERVIDOR DE APLICACIONES JBOSS JBOSS es un proyecto de código abierto, con el que se consigue un servidor de aplicaciones basado en J2EE, e implementado al 100% en Java. 5 UI: Interfaz de usuario. 6 Ajax: Asynchronous JavaScript And XML (en español JavaScript asíncrono y XML), es una técnica de desarrollo web para crear aplicaciones interactivas o RIA Rich Internet Applications. 7 JAR (por sus siglas en inglés, Java ARchive) es un tipo de archivo que permite ejecutar aplicaciones escritas en el lenguaje Java. Las siglas están deliberadamente escogidas para que coincidan con la palabra inglesa "jar" (tarro). Los archivos JAR están comprimidos con el formato ZIP y cambiada su extensión a.jar. 22

41 Uno de los rasgos más importantes de JBOSS es su apoyo a la implementación "en caliente". Lo que esto significa es implementar un nuevo EJB es tan simple como copiar el archivo correspondiente en el directorio correspondiente. Si esto se hace mientras el Bean ya está cargado, JBOSS lo descarga automáticamente, y entonces carga la nueva versión JBOSS siguiente tiene la siguiente estructura: Bin: Este directorio contiene los ejecutables utilizados por JBOSS, siendo el más importante el "script" de arranque utilizado por éste (run.sh). Client: Contiene los diversos archivos JAR's que serán utilizados por los distintos clientes de los EJB's utilizados en JBOSS. Dichos archivos deben ser agregados a la variable CLASSPATH del sistema donde radica el cliente. Server: Este directorio contiene tres sub-directorios nombrados: all, default y minimal; cada sub-directorio contiene los distintos archivos de configuración necesarios para ejecutar JBOSS en diferentes modalidades APACHE MAVEN Maven es una herramienta open source para administrar proyectos de software. Por administrar, nos referimos a gestionar el ciclo de vida desde la creación de un proyecto en un lenguaje dado, hasta la generación de un binario que pueda distribuirse con el proyecto. 23

42 Nació dentro de la fundación Apache para complementar a Ant 8, la herramienta de compilación más usada en el mundo Java. Esto es, Ant permite crear scripts (usando XML) que indican cómo compilar un proyecto Java y generar un binario. Maven complementa esta tarea brindándonos una estructura consistente de proyectos (todos los proyectos Maven tienen por default los mismos directorios) y herramientas necesarias actualmente para la complejidad de los proyectos de software: gestión avanzada de dependencias, informes sobre testing automáticos y extensibilidad vía plugins. Por detrás, Maven sigue confiando en Ant para manejar la compilación e incluso puedes usar las tareas de Ant dentro de Maven. Así que no es en sí un sustituto de esta herramienta, sino un complemento. Promueve la modularización de los proyectos. Típicamente, en lugar de tener un proyecto monolítico, tendremos un módulo padre y varios módulos hijos. En nuestro caso, crearemos una aplicación web. La estructura de nuestro proyecto será: 8 Apache Ant: Es una herramienta usada en programación para la realización de tareas mecánicas y repetitivas, normalmente durante la fase de compilación y construcción (build). Es, por tanto, un software para procesos de automatización de compilación, desarrollado en lenguaje Java y requiere la plataforma Java, así que es más apropiado para la construcción de proyectos Java. 24

43 Figura 6 Estructura de maven Creación del proyecto de tipo POM POM son las siglas de "Project Object Model" (Modelo de Objetos de Proyecto), ya hemos dicho que Maven es una herramienta de administración de proyectos. Un POM no es más que la abstracción usada por Maven para definir dichos proyectos, como tal contiene los atributos de estos y las instrucciones para construirlo. Un Proyecto en Maven se define mediante un archivo POM, que es un archivo llamado pom.xml con una etiqueta inicial de <project>. En dicho archivo se definen cosas como las instrucciones para compilar el proyecto, las librerías necesarias, etc. La ejecución de un archivo POM siempre genera un "artefacto". Este artefacto puede ser cualquier cosa: un archivo jar, un swf de flash, un archivo zip o el mismo archivo pom. De esta forma tendremos varios módulos que conforman un sólo proyecto. Para denotar esta relación en Maven, se crea un proyecto padrede tipo POM (esto es 25

44 que no genera un binario en sí) y los módulos se definen como otros archivos pom que heredan del primero. Esta organización sirve para centralizar en el pom padre las variables (como el nombre del proyecto o el número de versión), las dependencias, los repositorios, etc. que son comunes a los módulos, eliminando duplicidad de código. Para crear un proyecto en maven puedes hacerlo a mano siguiendo ciertas convenciones: el nombre de la carpeta debe ser igual al nombre del proyecto (en el caso de proyectos módulo, esto es obligatorio, si no son módulos, sino proyectos padre esto no es forzoso pero se recomienda) y a nivel raíz de la carpeta debe estar el archivo pom.xml con la descripción del proyecto. Se puede crear esto a mano, sin embargo, es más sencillo usar los Maven Archetypes 9. Por ahora, usaremos uno que nos crea un proyecto de tipo pom. Desde línea de comandos y dentro del directorio donde se pondrá el proyecto. mvn archetype:generate Se desplegara una lista completa de artefactos en el repositorio central de Maven. Con este comando se tiene una idea de los tipos de proyectos que puedes generar con Maven. Se puede definir el archetype desde línea de comandos mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes - DarchetypeArtifactId=maven-archetype-quickstart 9 Archetypes: Son artefactos especiales de Maven que sirven como plantillas para crear proyectos. Maven cuenta con algunos predefinidos y terceros han hecho los suyos para crear proyectos con tecnologías específicas, como proyectos web con Spring o proyectos con Adobe Flex e incluso la gente de AppFuse ha ido más allá y tiene arquetipos para crear proyectos 100% funcionales usando una mezcla de tecnologías y generación de código. 26

45 El archetype pedirá varios atributos sobre el proyecto: Define value for groupid: : ec.edu.figempa Define value for artifactid: : matrices-figempa Define value for version: SNAPSHOT: : <parent> <artifactid>matrices-figempa</artifactid> <groupid>ec.edu.figempa</groupid> <version>0.0.1-snapshot</version> </parent> Una breve explicación de ellos: groupid: El paquete de proyecto. Típicamente aquí se pone el nombre de tu empresa u organización, ya que conceptualmente todos los proyectos con ese groupid pertenecen a una sola empresa. artifactid: Es el nombre de tu proyecto. version: Número de versión de tu proyecto. package: Paquete base donde irá tu código fuente Una vez terminado, el archetype crea una carpeta con el nombre del artifactid que dimos (matrices-figempa) y dentro dos cosas: un archivo pom.xml y un directorio src. Este archetype crea un proyecto de tipo jar, necesitamos ahora convertirlo a uno de tipo POM. Para esto primero se borra el directorio llamado src, ya que no necesitamos código fuente. Luego editamos el archivo pom.xml usamos el editor de texto Notepad++ y cambiar el tipo de packaging de jar a pom. Con esto ya cambiamos el tipo de proyecto. Esta es la estructura mínima de un proyecto Maven. 27

46 Como se muestra a continuación están los datos del proyecto y además tenemos una sección de dependencias, estos son las librerías que necesitamos para compilar el proyecto. Figura 7 Creación del fichero pom.xml 28

47 Compilación de un proyecto Maven Maven descarga sus dependencias y las dependencias de tus proyectos de un repositorio central. Por default, usa el repositorio central de Maven ( aunque se puede definir que use otros incluido alguno que se haya creado dentro de un intranet. Figura 8 Compilación de proyecto maven Estas dependencias las almacena en un repositorio local, que no es otra cosa que una carpeta dentro de tu computadora con el fin de no tener que volver a descargarlas otra vez. 29

48 Además de eso, Maven copia ahí tus artefactos, los proyectos que se genere. Por default, el repositorio local está en tu home de usuario. Figura 9 Path repositorio de maven Ciclo de vida de los proyectos maven Existen 3 ciclos de vida en Maven: Clean:Elimina las clases compiladas y los archivos binarios generados del proyecto. Default:Genera los archivos binarios (artefactos) de nuestro proyecto. Site:Genera archivos html que describen nuestro proyecto. Para ejecutarlos, excepto el default, se debe de poner: mvn clean o mvn site Cada ciclo de vida está constituido por varias fases. Entre las más relevantes y en el orden que se ejecutan están: Validate: Valida el proyecto. 30

49 Initialize: Configura propiedades y crea directorios. Compile: Compila el código fuente del proyecto. Test: Ejecuta las pruebas. Package: Genera el artefacto del proyecto. Verify: Verifica el artefacto generado. Install: Instala el artefacto en el repositorio local. Deploy: Sube el artefacto a un repositorio Maven en la red Estructura de maven Maven tiene cuatro carpetas fuente por defecto: src/main/java: Donde guardaremos nuestras clases java fuente. Debajo de esta carpeta situaremos nuestras clases en distintos paquetes. src/main/resources: Aquí almacenaremos los recursos (ficheros xml, ficheros de propiedades, imagenes) que pueda necesitar las clases java de nuestro proyecto. Igualmente aquí tienen que ir los ficheros de configuración de Spring o Hibernate por ejemplo. src/test/java: En dicha carpeta se guardan las clases de test que se encargarán de probar el correcto funcionamiento de nuestra aplicación. Aquí por ejemplo podemos guardar nuestros test unitarios de JUnit 10. src/test/resources: En esta carpeta guardamos los recursos que usan los recursos. Podemos ver una estructura en el siguiente proyecto que hemos creado en Eclipse: 10 JUnit: Es un conjunto de bibliotecas creadas por Erich Gamma y Kent Beck que son utilizadas en programación para hacer pruebas unitarias de aplicaciones Java. 31

50 Figura 10 Estructura de maven matrices-figempa 2.13 PATRÓN DE PRESENTACIÓN MODELO VISTA CONTROLADOR El Modelo Vista MVC es patrón de presentación que separa los datos de una aplicación, la interfaz de usuario, y la lógica de control en tres componentes distintos. Se trata de un modelo muy maduro y que ha demostrado su validez a lo largo de los años en todo tipo de aplicaciones, y sobre multitud de lenguajes y plataformas de desarrollo. Modelo: Contiene una representación de los datos que maneja el sistema, su lógica de negocio, y sus mecanismos de persistencia. Vista: Es la presentación del modelo, se puede acceder a este pero no cambiar su estado. Controlador: Actúa como intermediario entre el Modelo y la Vista, gestionando el flujo de información entre ellos y las transformaciones para adaptar los datos a las necesidades de cada uno. 32

51 Figura 11 Modelo vista controlador Por qué utilizar MVC? El fácil mantenimiento de código en un futuro, ya que al estar separadas los distintos procesos según su tipo. Si quisiéramos por ejemplo cambiar de tipo de base de datos, solo tendremos que cambiar la capa modelo Ventajas del MVC La separación del modelo de la vista es decir, separar los datos de la representación visual de los mismos. Es mucho más sencillo agregar múltiples representaciones de los mismos datos o información. Facilita agregar menos tipos de datos según sea requerido por la aplicación ya que son independientes del funcionamiento de las otras capas. Crea independencia de funcionamiento 33

52 3 Capitulo III 3.1 DIAGRAMAS UML El Lenguaje Unificado de Modelado, UML es una notación estándar para el modelado de sistemas software, resultado de una propuesta de estandarización promovida por el consorcio OMG (Object Management Group), del cual forman parte las empresas más importantes que se dedican al desarrollo de software. Se trata de una notación, es decir, de una serie de reglas y recomendaciones para representar modelos. UML no es un proceso de desarrollo, es decir, no describe los pasos sistemáticos a seguir para desarrollar software. UML presenta un amplio conjunto de herramientas las cuales se usan de acuerdo a las necesidades, no se puede decir que una sea mejor que otra ya que cada una tiene una función específica y utilidad. Entre estas herramientas tenemos: Diagrama de casos de uso Diagrama de clases Diagrama de estado Diagrama de secuencia Diagrama de actividad Diagrama de colaboración Diagrama de componentes Diagrama de distribución 34

53 3.1.1 Diagrama de Casos de Uso Modela la funcionalidad del sistema agrupándola en descripciones de acciones ejecutadas por un sistema para obtener un resultado Diagrama de Clases Figura 12 Diagrama Casos de Uso Muestra las clases (descripciones de objetos que comparten características comunes) que componen el sistema y cómo se relacionan entre sí. 35

54 Figura 13 Figura 3.2 Diagrama Clase Diagrama de Objetos Muestra una serie de objetos (instancias de las clases) y sus relaciones. Figura 14 Diagrama Objetos 36

55 Diagramas de Comportamiento: Dentro de estos diagramas se encuentran: Diagrama de estados Modela el comportamiento del sistema de acuerdo con eventos.. Figura 15 Diagrama Comportamiento 37

56 3.1.5 Diagrama de actividades Simplifica el Diagrama de Estados modelando el comportamiento mediante flujos de actividades. También se pueden utilizar caminos verticales para mostrar los responsables de cada actividad. Figura 16 Diagrama de actividades Diagramas de interacción Estos diagramas a su vez se dividen en 2 tipos de diagramas, según la interacción que enfatizan. 38

57 Figura 17 Diagrama de interacción Diagramas de Secuencia Estos diagramas permiten mostrar los módulos o clases que forman parte del programa y las llamadas que se hacen en cada uno de ellos para realizar una tarea determinada. Se realizan diagramas de secuencia para definir acciones que se pueden realizar en la aplicación en cuestión. El detalle que se muestre en el diagrama de secuencia debe estar en consonancia con lo que se intenta mostrar o bien con la fase de desarrollo en la que esté el proyecto. 39

58 Figura 18 Diagrama de Secuencia Diagrama de colaboración Igualmente, muestra la interacción entre los objetos resaltando la organización estructural de los objetos en lugar del orden de los mensajes intercambiados. 40

59 Figura 19 Diagrama de colaboración Diagramas de implementación de Componentes Muestra la organización y las dependencias entre un conjunto de componentes. Figura 20 Diagrama de implementación de componentes 41

60 Diagrama de Despliegue Muestra los dispositivos que se encuentran en un sistema y su distribución en el mismo. Workstation Keyboard/Monitor Web browser HTTP HTTP Application server jboss-eap-6.2 gestordoc.ear gestor-client.jar gestor-core.jar PostgreSQL 9.3 JDBC gestordocdao.jar Figura 21 Diagrama de despliegue Descripción de los diagramas Un diagrama es una representación gráfica de una colección de elementos de modelado, a menudo dibujada como un grafo con vértices conectados por arcos Un proceso de desarrollo de software debe ofrecer un conjunto de modelos que permitan expresar el producto desde cada una de las perspectivas de interés. Es aquí donde se hace evidente la importancia de UML en el contexto de un proceso de desarrollo de software. UML recomienda la utilización de nueve diagramas que, para representar las distintas vistas de un sistema. 42

61 3.2 CRONOGRAMA DE ACTIVIDADES La planificación del proyecto se puede ver a continuación. Figura 22 Cronograma de actividades 43

62 3.3 MODELO E/R Un método del que disponemos para diseñar estos esquemas que posteriormente debemos de implementar en un gestor de BBDD (bases de datos). Este modelo se representa a través de diagramas y está formado por varios elementos. Este modelo habitualmente, además de disponer de un diagrama que ayuda a entender los datos y como se relacionan entre ellos, debe de ser completado con un pequeño resumen con la lista de los atributos y las relaciones de cada elemento Elementos del modelo entidad-relación Entidad Las entidades representan cosas u objetos (ya sean reales o abstractos), que se diferencian claramente entre sí Atributos Los atributos definen o identifican las características de entidad (es el contenido de esta entidad). Cada entidad contiene distintos atributos, que dan información sobre esta entidad. Estos atributos pueden ser de distintos tipos (numéricos, texto, fecha, etc.). 44

63 Relación Es un vínculo que nos permite definir una dependencia entre varias entidades, es decir, nos permite exigir que varias entidades compartan ciertos atributos de forma indispensable Relaciones de cardinalidad Podemos encontrar distintos tipos de relaciones según como participen en ellas las entidades. Es decir, en el caso anterior cada empleado puede tener un cargo, pero un mismo cargo lo pueden compartir varios empleados. Esto complementa a las representaciones de las relaciones, mediante un intervalo en cada extremo de la relación que especifica cuantos objetos o cosas (de cada entidad) pueden intervenir en esa relación. Uno a uno: Una entidad se relaciona únicamente con otra y viceversa. Uno a varios o varios a uno: determina que un registro de una entidad puede estar relacionado con varios de otra entidad, pero en esta entidad existir solo una vez. Varios a varios: determina que una entidad puede relacionarse con otra con ninguno o varios registros y viceversa Claves Es el atributo de una entidad, al que le aplicamos una restricción que lo distingue de los demás registros (no permitiendo que el atributo específico se repita en la entidad) o le aplica un vínculo (exactamente como comentábamos en las relaciones). Estos son los distintos tipos: 45

64 Superclave: Aplica una clave o restricción a varios atributos de la entidad, para así asegurarse que en su conjunto no se repitan varias veces y así no poder entrar en dudas al querer identificar un registro. Clave primaria: Identifica inequívocamente un solo atributo no permitiendo que se repita en la misma entidad. Como sería la matrícula o el número de chasis de un coche (no puede existir dos veces el mismo). Clave externa o clave foránea: Este campo tiene que estar estrictamente relacionado con la clave primaria de otra entidad, para así exigir que exista previamente ese clave. Anteriormente hemos hablado de ello cuando comentábamos que un empleado indispensablemente tiene que tener un cargo (que lo hemos representado numéricamente), por lo cual si intentásemos darle un cargo inexistente el gestor de bases de datos nos devolvería un error. 46

65 47 PROVINCIA CODIGO_PROVINCIA PROVINCIA ESTADO USUARIO_REGISTRO FECHA_REGISTRO USUARIO_MODIFICACION FECHA_MODIFICACION VARCHAR(2) VARCHAR(70) VARCHAR(3) VARCHAR(50) DATE VARCHAR(50) DATE <pk> CANTON CODIGO_CANTON CODIGO_PROVINCIA CANTON ESTADO USUARIO_REGISTRO FECHA_REGISTRO USUARIO_MODIFICACION FECHA_MODIFICACION VARCHAR(4) VARCHAR(2) VARCHAR(70) VARCHAR(3) VARCHAR(50) DATE VARCHAR(50) DATE <pk> <fk> PARROQUIA CODIGO_PARROQUIA CODIGO_CANTON PARROQUIA ESTADO USUARIO_REGISTRO FECHA_REGISTRO USUARIO_MODIFICACION FECHA_MODIFICACION VARCHAR(6) VARCHAR(4) VARCHAR(70) VARCHAR(3) VARCHAR(50) DATE VARCHAR(50) DATE <pk> <fk> CAMPUS ID_CAMPUS CODIGO_CATALOGO_TIPO CODIGO_CATALOGO_VALOR CODIGO_PARROQUIA CODIGO_CAMPUS INSTITUCION SISTEMA_CONSULTA CORREO_INSTITUCIONAL SISTEMA_MATRICULA BIBLIOTECA_VIRTUAL PLATAFORMA_ENSENANZA_VIRTUAL USUARIO_REGISTRO FECHA_REGISTRO USUARIO_MODIFICACION FECHA_MODIFICACION NUMERIC NUMERIC VARCHAR(3) VARCHAR(6) VARCHAR(17) VARCHAR(100) VARCHAR(2) VARCHAR(2) VARCHAR(2) VARCHAR(2) VARCHAR(2) VARCHAR(50) DATE VARCHAR(50) DATE <pk> <fk2> <fk3> <fk1> PERSONA CODIGO_PERSONA CODIGO_PAIS CODIGO_CATALOGO_VALOR CODIGO_PROVINCIA CODIGO_CANTON CODIGO_PARROQUIA TIPO_DOCUMENTO NUMERO_DOCUMENTO PRIMER_APELLIDO SEGUNDO_APELLIDO PRIMER_NOMBRE SEGUNDO_NOMBRE NOMBRES FECHA_NACIMIENTO SEXO _PERSONA _INSTITUCIONAL ESTADO USUARIO_REGISTRO FECHA_REGISTRO USUARIO_MODIFICACION FECHA_MODIFICACION... NUMERIC NUMERIC VARCHAR(3) VARCHAR(2) VARCHAR(4) VARCHAR(6) VARCHAR(3) VARCHAR(20) VARCHAR(25) VARCHAR(25) VARCHAR(25) VARCHAR(25) VARCHAR(50) DATE VARCHAR(1) VARCHAR(60) VARCHAR(80) VARCHAR(3) VARCHAR(50) DATE VARCHAR(50) DATE <pk> <fk2> <fk1> <fk4> <fk3> <fk5> BIEN ID_BIEN ID_TIPO_SEDE ID_CAMPUS_ANEXO4 CODIGO_PARROQUIA ID_TIPO_BIEN CODIGO_PROVINCIA CODIGO_CANTON CODIGO_FACULTAD CODIGO_BIEN REGISTRO_PREDIAL NUMERO_BIEN_INTANGIBLE FECHA_ADQUISICION_BIEN DIRECCION NUMERO_PISOS_EDIFICIO METROS_CONSTRUCCION_EDIFICIO AULAS_EDIFICIO ENTIDAD_INVERSIONES DESCRIPCION_BIEN DIMENSION_BIEN VALOR_LIBROS VALOR_COMERCIAL CANTIDAD_BIEN VALOR_TOTAL OBSERVACIONES ESTADO FECHA_REGISTRO FECHA_MODIFICACION USUARIO_REGISTRO USUARIO_MODIFICACION... NUMERIC NUMERIC NUMERIC VARCHAR(6) NUMERIC VARCHAR(2) VARCHAR(4) NUMERIC VARCHAR(30) VARCHAR(30) VARCHAR(30) DATE VARCHAR(150) DECIMAL(2) NUMERIC(4) NUMERIC(2) VARCHAR(100) VARCHAR(200) NUMERIC(6) DECIMAL(6) NUMERIC(6) NUMERIC(6) DECIMAL(6) VARCHAR(800) VARCHAR(3) DATE DATE VARCHAR(50) VARCHAR(50) <pk> <fk2> <fk6> <fk5> <fk1> <fk3> <fk4> <fk7> TIPO_BIEN ID_TIPO_BIEN DESCRIPCION_BIEN NUMERIC VARCHAR(200) <pk> TIPO_SEDE ID_TIPO_SEDE DESCRIPCION_SEDE NUMERIC VARCHAR(30) <pk> NACIONALIDAD CODIGO_PAIS CODIGO_ISO PAIS NACIONALIDAD ESTADO USUARIO_REGISTRO FECHA_REGISTRO USUARIO_MODIFICACION FECHA_MODIFICACION NUMERIC VARCHAR(3) VARCHAR(50) VARCHAR(50) VARCHAR(3) VARCHAR(50) DATE VARCHAR(50) DATE <pk> CATALOGO_TIPO CODIGO_CATALOGO_TIPO DESCRIPCION_CATALOGO_TIPO ESTADO NUMERIC VARCHAR(200) VARCHAR(3) <pk> CATALOGO_VALOR CODIGO_CATALOGO_VALOR CODIGO_CATALOGO_TIPO DESCRIPCION_CATALOGO_VALOR ESTADO VARCHAR(3) NUMERIC VARCHAR(200) VARCHAR(3) <pk> <fk> PROFESOR CODIGO_PROFESOR CODIGO_TIPO_DISCACIDAD CODIGO_ESCUELA CODIGO_PERSONA ID_CAMPUS_ANEXO4 CODIGO_TIPO_PERSONAL_IES CODIGO_CATALOGO_VALOR CARNET_CONADIS NUMERO_CARNET_CONADIS PORCENTAJE_DISCAPACIDAD NIVEL_UTTN UTTN FECHA_UTTN UNIVERSIDAD_UTTN PAIS_UTTN1 REGISTRO_SENESCYT_UTTN SUBAREA_UTTN NIVEL_PTTN PTTN FECHA_PTTN UNIVERSIDAD_PTTN PAIS_PTTN REGISTRO_SENESCYT_PTTN SUBAREA_PTTN NIVEL_ATTN ATTN FECHA_ATTN UNIVERSIDAD_ATTN PAIS_ATTN REGISTRO_SENESCYT_ATTN SUBAREA_ATTN NIVEL_UTCN UTCN FECHA_UTCN UNIVERSIDAD_UTCN PAIS_UTCN REGISTRO_SENESCYT_UTCN SUBAREA_UTCN NIVEL_PTCN PTCN FECHA_PTCN UNIVERSIDAD_PTCN PAIS_PTCN REGISTRO_SENESCYT_PTCN SUBAREA_PTCN NIVEL_ATCN TITULO_ATCN FECHA_ATCN UNIVERSIDAD_ATCN PAIS_ATCN REGISTRO_SENESCYT_ATCN SUBAREA_TITULO_PROFE_3 NUMERO_NOMBRAMIENTO_CONTRATO FECHA_INGRESO_IES RELACION_TRABAJO_IES INGRESO_CONCURSO CARGO_CONTRATO_NOMBRAMIENTO HORAS_LABORADAS_ANUALES REMUNERACION_ANUAL FECHA_SALIDA_IES DOCENCIA_TERCER_NIVEL DOCENCIA_CUARTO_NIVEL CODIGO_ASIGNATURA_DICTA_1 ASIGNATURA_DICTA_1 NUMERO_HORAS_ASIGNATURA_1 CODIGO_ASIGNATURA_DICTA_2 ASIGNATURA_DICTA_2 NUMERO_HORAS_ASIGNATURA_2 CODIGO_ASIGNATURA_DICTA_3 ASIGNATURA_DICTA_3 NUMERO_HORAS_ASIGNATURA_3 NUMERIC NUMERIC NUMERIC NUMERIC NUMERIC NUMERIC VARCHAR(3) VARCHAR(2) VARCHAR(20) NUMERIC(3) VARCHAR(40) VARCHAR(200) DATE VARCHAR(150) VARCHAR(150) VARCHAR(30) VARCHAR(80) VARCHAR(200) VARCHAR(200) DATE VARCHAR(150) VARCHAR(150) VARCHAR(30) VARCHAR(80) VARCHAR(40) VARCHAR(200) DATE VARCHAR(150) VARCHAR(150) VARCHAR(30) VARCHAR(80) VARCHAR(30) VARCHAR(200) DATE VARCHAR(150) VARCHAR(150) VARCHAR(30) VARCHAR(80) VARCHAR(30) VARCHAR(200) DATE VARCHAR(150) VARCHAR(150) VARCHAR(30) VARCHAR(80) VARCHAR(30) VARCHAR(200) DATE VARCHAR(150) VARCHAR(150) VARCHAR(30) VARCHAR(80) VARCHAR(30) DATE VARCHAR(65) VARCHAR(2) VARCHAR(100) NUMERIC(4) NUMERIC(7) DATE VARCHAR(2) VARCHAR(2) VARCHAR(50) VARCHAR(100) NUMERIC(3) VARCHAR(50) VARCHAR(100) NUMERIC(3) VARCHAR(50) VARCHAR(100) NUMERIC(3) <pk> <fk6> <fk4> <fk1> <fk3> <fk5> <fk2> ESCUELA CODIGO_ESCUELA CODIGO_FACULTAD NOMBRE_ESCUELA ESTADO_ESCUELA... NUMERIC NUMERIC VARCHAR(100) VARCHAR(3) <pk> <fk> CAMPUS_ANEXO_4 ID_CAMPUS_ANEXO4 CODIGO_CANTON CODIGO_PARROQUIA ID_TIPO_SEDE CODIGO_PROVINCIA CODIGO_IES CODIFICACION_MECU INSTITUCION DESCRIPCION_CAMPUS ABREVIATURA NUMERO_SECUENCIAL... NUMERIC VARCHAR(4) VARCHAR(6) NUMERIC VARCHAR(2) VARCHAR(4) VARCHAR(35) VARCHAR(100) VARCHAR(250) VARCHAR(4) VARCHAR(3) <pk> <fk2> <fk3> <fk4> <fk1> TIPO_PERSONAL_IES CODIGO_TIPO_PERSONAL_IES DESCRIPCION_TIPO_PERSONAL NUMERIC VARCHAR(12) <pk> TIPO_DISCAPACIDAD CODIGO_TIPO_DISCACIDAD DESCRIPCION_TIPO_DISCA NUMERIC VARCHAR(70) <pk> FACULTAD CODIGO_FACULTAD NOMBRE_FACULTAD ESTADO_FACULTAD USURIO_MODIFICACION... NUMERIC VARCHAR(100) VARCHAR(3) VARCHAR(50) <pk>

66 3.4 DESCRIPCIÓN DE LOS CAMPOS 48

67 Figura 23 Descripción de los campos 49

68 4 CAPITULO IV 4.1 HERRAMIENTAS DE DESARROLLO 4.2 JAVA DEVELOPMENT KIT JDK Según, Wiki JDK, define: Se trata de un software que provee un conjunto de herramientas (programas y bibliotecas) que permiten desarrollar programas en lenguaje Java o aplicaciones web. El Java Development Kit (JDK) es el kit de desarrollo oficial de aplicaciones Java, uno de los lenguajes de programación más populares para en programar en Java. En los sistemas operativos Microsoft Windows las variables de entorno son: JAVAPATH: corresponde a la ruta completa del directorio donde estará instalado el JDK. CLASSPATH: bibliotecas o clases de usuario. PATH: variable donde se agrega la ubicación del JDK. 4.3 INSTALACIÓN DEL JDK El primer paso es descargar el JDK de acuerdo al Sistema Operativo que se usará para el desarrollo del sistema. Descargar la versión que corresponda aceptando los términos de licencia desde el sitio oficial de Oracle: La versión del JDK que fue descargada es jdk-7u45-windows-i586.exe 50

69 Se Ejecuta el archivo descargado jdk-7u45-windows-i586.exe y se presenta la siguiente pantalla de bienvenida, continuar la instalación. Figura 24 Pantalla de bienvenida a la instalación del JDK Por defecto el sistema operativo muestra la ruta posible de instalación del software que puede ser modificada, además muestra las características a instalar; las mismas que pueden ser instaladas o removidas después de la instalación, continuar con la instalación. 51

70 Figura 25 Ruta de instalación y características a instalar El proceso continúa con la validación e instalación del ambiente de desarrollo. 52

71 Figura 26 Validación e Instalación del ambiente Fuente A continuación se muestra la posible ruta de instalación del JRE de Java, esta ruta se define por defecto, con la posibilidad de cambiar la misma si así lo requieren, para nuestro caso continuamos con la instalación. 53

72 Figura 27 Validación e Instalación del ambiente Finalmente la interfaz muestra el progreso de la instalación una vez que han sido definidos y establecidos los parámetros requeridos. Figura 28 Progreso de la Instalación del software 54

73 Luego de algunos minutos la instalación terminara con éxito, el JDK se ha sido instalado de manera correcta el sistema operativo. Figura 29 Instalación exitosa Finalmente Java requiere una pequeña configuración para poder usarlo en nuestro equipo. Se debe configurar las variables de entorno del sistema necesarias para poder ejecutar Java. Estas son las variables que informan al Sistema Operativo dónde y cómo ubicar Java dentro del mismo. Estas variables son: JAVA_HOME y PATH Configuración de la variable Java_Home JAVA_HOME, es una variable de entorno del sistema que informa al sistema operativo sobre la ruta donde se encuentra instalado Java. 55

74 Abrimos el explorador de Windows o pulsamos sobre Mi Pc. Pulsamos sobre Equipo y con botón derecho del ratón o buscando el icono -> Propiedades -> Configuración avanzada / Cambiar configuración -> Opciones avanzadas -> Variables de entorno -> Nueva (Variables del sistema). Figura 30 Variables de entorno Escribiremos en las cajas de texto que se muestran lo siguiente: Nombre de variable: JAVA_HOME Valor de variable: Escribiremos aquí la ruta en que se haya instalado Java. Se puede consultar en el propio explorador de Windows buscando la carpeta en que se ha instalado Java, que normalmente será del tipo C:\Program Files\Java\jdk1.7.0_51 ó C:\Program Files (x86)\java\jdk1.7.0_51. 56

75 Figura 31 Nueva variable de usuario Configuración de la variable de entorno del sistema PATH es una variable de entorno del sistema 11 que informa al sistema operativo sobre la ruta de distintos directorios esenciales para el funcionamiento del ordenador. Vamos a añadir al contenido de la variable PATH el lugar donde se encuentran los ficheros ejecutables de Java necesarios para su ejecución, como el compilador (javac.exe) y el intérprete (java.exe). Seguiremos la siguiente secuencia depasos para configurar esta variable. 11 Variable de Entorno: las variables de entorno forman un conjunto de valores dinámicos que normalmente afectan el comportamiento de los procesos en una computadora. 57

76 Abrimos el explorador de Windows o pulsamos sobre Mi Pc. Pulsamos sobre Equipo -> Propiedades y con botón derecho del ratón o buscando el icono -> Configuración avanzada / Cambiar configuración -> Opciones avanzadas -> Variables de entorno -> Editar (Variables del sistema). Luego al final del contenido que ya exista, añadiremos un punto y coma y el texto %JAVA_HOME%\bin. No deben quedar espacios intermedios. Nos quedará similar a esto: Nombre de variable: PATH Valor de variable: C:\WINDOWS;C:\WINDOWS\system32;%JAVA_HOME%\bin Figura 32 Variable Path editada Para verificar el si la instalación y configuración es correcta se debe abrir una nueva ventana de CMD y escribir el comando java -version, cuyo resultado se muestra en la pantalla siguiente: 58

77 Figura 33 Versión de Java instalada 4.4 INSTALACIÓN DE POSTGRESQL Primer paso es descargar el PostgreSQL desde el sitio oficial: La versión de PostgreSQL descargada es postgresql windows.exe. 59

78 Se Ejecuta el archivo descargado postgresql windows.exe, si el sistema operativo anfitrión necesita software complementario lo instalará previamente, es importante mencionar que lo debemos ejecutar como administrador, para ello clic derecho sobre el archivo y seleccionar Ejecutar como administrador. Figura 34 Software necesario para PostgreSQL Una vez instalado el software previo necesario continúa la pantalla de bienvenida de PostgreSQL, clic en Siguiente. 60

79 Figura 35 Pantalla de bienvenida a PostgreSQL El siguiente paso muestra el directorio de instalación del software en el cual se guardarán las librerías, ejecutables y ficheros de configuración; es importante mencionar que esta ruta pude ser modificada definiendo un nuevo directorio de instalación. 61

80 Figura 36 Directorio de Instalación Se debe proporcionar la contraseña para el súper usuario que será la misma con la que debemos iniciar sesión para administrar la base de datos. Se debe proporcionar la contraseña para el súper usuario que será la misma con la que debemos iniciar sesión para administrar la base de datos. 62

81 Figura 37 Contraseña de Superusuario Muestra pos defecto el puerto de escucha que será usado para la conexión con el servidor, este puerto por defecto es el 5432, clic en Siguiente para continuar el proceso de instalación. Figura 38 Configuración del puerto Muestra la pantalla de Configuración Regional, dejar la que viene por defecto y continuar la instalación. 63

82 Figura 39 Configuración Regional Una vez que se han definido todos los parámetros iniciará la instalación de PostgreSQL en el computador. 64

83 Figura 40 Instalación en Proceso Finalmente la instalación de PostgreSQL se ha completado correctamente en el computador. 65

84 Figura 41 Instalación Finalizada Cabe mencionar que finalizada la instalación se puede ejecutar el Stack Builder para descargar e instalar herramientas, controladores y aplicaciones complementarias a PostgreSQL. Figura 42 Stack Builder 66

85 4.5 CONFIGURACIÓN DE POSTGRESQL Como primer paso acceder a PostgreSQL , para ello ir al botón Inicio Todos los programas ejecutar el pgadmin III. Figura 43 Accediendo a PostgreSQL Ahora dentro de la interfaz de pgadmin III debemos ubicarnos en Object browser Server Groups Servers clic derecho sobre PostgreSQL localhost:5432) y seleccionar Connect. 67

86 Figura 44 Conexión a la administración del motor de base de datos Introducir la clave del súper usuario definida en el proceso de instalación y seleccionar OK. Figura 45 Introducción de clave de súper usuario Ahora se debe crear nuestra base de datos, para ello clic derecho sobre Databases y seleccionar la opción New Database. 68

87 Figura 46 Nueva Base de Datos Dentro de New Database introducir un nombre para nuestra base de datos y verificar que el propietario es postgres. 69

88 Figura 47 Nombre de la nueva Base de Datos Finalmente la base de datos ha sido creada con éxito, es importante mencionar que la base de datos puede ser administrada desde ésta consola o si se prefiere existen consolas de administración. 70

89 Figura 48 Nueva Base de Datos Creada Para restaurar la base de datos es necesario ejecutar el Script correspondiente al backup del sistema desarrollado, para ello seleccionar la opción Execute arbitrary SQL queries. 71

90 Figura 49 Restauración del backup Dentro de la nueva interfaz seleccionar File Open, con el objetivo de seleccionar el archivo a ser ejecutado. 72

91 Figuras 4.27 Selección del archivo correspondiente al backup 73

92 Una vez que se ha seleccionado el archivo.sql clic en Abrir, ahora se debe ejecutar el Script; para ello seleccionar la opción Execute pgscript. Figura 50 Ejecución del Script 4.6 INSTALACIÓN DE JBOSS-EAP-6.1 Como es prioritario, el primer paso es descargar Jboss desde su página oficial, para ello ingresar al siguiente portal: Ahora es importante descomprimir el archivo jboss-eap-6.1 Final.zip y copiar la carpeta en el disco (D:) o en cualquier otra unidad, como recomendación crear una nueva carpeta Java en el Disco (D:) y pegar la carpeta descomprimida en 74

93 la misma. Es importante acotar que JBoss es un servidor de aplicaciones y su instalación depende sólo de descomprimirlo y ejecutarlo. Figura 51 Directorios de jboss-eap-6.1 Para iniciar JBoss desde la consola se procede a ejecutar el archivo standalone.bat que se encuentran dentro del directorio bin del servidor de aplicaciones JBoss. 75

94 Figura 4.30 Pantalla para iniciar Jboss-eap-6.1 desde la consola Luego de dar clic en la opción Ejecutar como administrador podemos ver la siguiente pantalla. 76

95 Figura 52 Arranque de Jboss-eap-6.1 en la consola de Windows En la consola se puede verificar los errores de ejecución. Ahora acceder a para verificar que JBoss arrancó correctamente, es importante verificar que el puerto 8282 está libre para la aplicación. Mientras la consola de Windows esté siendo ejecutada JBoss continuará funcionando, una vez que cerremos la consola de Windows JBoss se detendrá. 77

96 Figura 53 Arranque de Jboss-eap-6.1 en el navegador 4.7 CONFIGURACIÓN DATASOURCE JBOSS-EAP-6.1 Vamos a configuraremos el Datasource con PostgreSQL, para ello debemos ubicarnos en la carpeta del servidor jboss-eap-6.1, luego acceder al siguiente path. 78

97 C:\Java\jboss-eap-6.1\modules\system\layers\base\org\postgres\main Figura 54 Path de la carpeta main Ahora debemos descargar el conector respectivo a la versión de PostgreSQL de su sitio oficial: postgresql jdbc4.jar Y lo pegamos en la carpeta main. 79

98 Figura 55 Archivos de configuración del data sourse En la misma carpeta main se encuentra el archivo module.xml lo abrimos para editar como recomendación para editar archivos.xml utilizar Notepad++, clic derecho sobre module.xml y seleccionar la opción Edit with Notepad++ con la finalidad de agregar el contenido: Figura 56 Pantalla para editar archivo module.xml 80

99 <module xmlns="urn:jboss:module:1.0" name="org.postgres"> <resources> <resource-root path="postgresql jdbc4.jar"/> </resources> <dependencies> <module name="javax.api"/> </dependencies> </module> Una vez editado el archivo no olvidar guardar los cambios, para ello seleccionar la opción Guardar. Figura 57 Editar module.xml Como siguiente paso se debe editar el archivo standalone.xml, para ello ubicarnos dentro del siguiente directorio: C:\Java\jboss-eap-6.1\standalone\configuration 81

100 Figura 58 Path de archive de configuración standalome.xml Clic derecho sobre standalone.xml y seleccionar la opción Edit with Notepad++ con la finalidad de agregar el nombre de la base de datos figempa y escribimos el password admin. <datasource jta="false" jndi-name="java:jboss/datasources/gestionds" poolname="gestion" enabled="true" use-ccm="false"> <connection-url>jdbc:postgresql://localhost:5432/figempa</connectionurl> <driver>postgres-driver</driver> <security> <user-name>postgres</user-name> <password>admin</password> </security> </datasourcen el tag <user-name> Ingresamos el usuario de la base de datos figempa Y en el tag <password> ingresamos el password de la base de datos admin. 82

101 Figura 59 Configuración standalome.xml Ahora se debe configurar las variables de entorno del servidor jboss-eap-6.1. Necesarias para el desarrollo, para ello se debe acceder a Configuración avanzada del sistema; por tanto los pasos que se debe seguir son: Clic en el botón Inicio. Clic derecho en Equipo y seleccionar Propiedades. En la parte superior izquierda buscar y dar un clic en Configuración avanzada. Ahora que hemos agregado una nueva variable de usuario continuamos en la sección de Variables del sistema y seleccionamos la variable Path, dentro de esta seleccionar la opción Editar y agregar al final separando con un (;). C:\Java\jboss-eap-6.1\bin, finalmente clic en Aceptar. 83

102 4.8 INSTALACIÓN DEL ENTORNO DE DESARROLLO INTEGRADO ECLIPSE (KEPLER) Como primer paso Eclipse debe ser descargado desde el sitio oficial: El proceso de instalación es sencillo ya que basta con extraer el archivo comprimido y ejecutar el archivo de inicio de la aplicación eclipse.exe en Windows. Es recomendable crear una carpeta en el Disco (D:), en este caso la carpeta creada es Java y dentro de la misma se encuentran las carpetas eclipse, jboss-eap-6.1. y workspace tesis que es la que va contener el entorno de trabajo. 84

103 Figura 60 Pantallas de inicio y bienvenida de Eclipse Kepler Una vez dentro del IDE configuramos el Java Build Path apuntado al JDK que se haya instalado previamente. Figura 61 Pantalla configuración de JDK 85

104 Luego agregamos el servidor de aplicaciones jboss-eap-6.1 que anteriormente configuramos. Figura 62 Nuevo servidor de aplicaciones jboss-eap-6.1 Luego buscamos el path del servidor de aplicaciones jboss-eap-6.1 y damos clic en el botón Finish como se muestra a continuación. 86

105 Figura 63 Agregar servidor de aplicaciones jboss-eap CONFIGUARACION DE APACHE MAVEN Como primer paso maven debe ser descargado desde el sitio oficial: El proceso de configuración es sencillo ya que basta con extraer el archivo comprimido y copiarlo en la unidad del Disco (C:) dentro de la carpeta Java que creamos anteriormente o cualquier otra unidad. Luego para poder configurar maven no dirigimos al IDE a Windows-Preferences Maven.y en user Settings buscamos el path del apache-maven Como se muestra a continuación. 87

106 Figura 64 Configuración apache-maven

107 5 CAPITULO V 5.1 FUNCIONAMIENTO DEL SISTEMA Descripción general del sistema En este capítulo se presenta un manual para el manejo y control de la aplicación del Sistema de Procesos Vinculados para la Facultad de Ingeniería en Geología Minas, Petróleos y Ambiental de la Universidad Central Del Ecuador 5.2 USO DEL SISTEMA Una vez iniciado el Servidor de Aplicaciones JBoss-eap-6.1, para efectos de demostración iniciar en el navegador de preferencia la siguiente dirección: La pantalla de inicio muestra una interfaz de usuario sencilla con la finalidad de que usuarios finales puedan navegar por el sistema sin mayor dificultad. Figura 65 Pantalla de ingreso al sistema 89

108 En esta pantalla se valida la que se ingrese los campos solicitados, existencia de usuarios en la base de datos. Figura 66 Autenticación de usuarios Si el usuario y la clave son correctos, aparecerá la siguiente pantalla de inicio de la aplicación. 90

109 Figura 67 Pantalla de inicio del sistema Administración del profesor Mediante esta pantalla el usuario puede filtrar un docente por: El tipo de documento mostrando todos los docentes que se encuentren registrados. El tipo de documento y número de documento mostrando solo un docente que se encuentre registrado. 91

110 Figura 68 Administración del docente Una vez realizada la búsqueda se mostrara la siguiente pantalla con todos los docentes que se encuentren registrados. 92

111 Figura 69 Detalle de registros de docentes En esta interfaz se puede editar o eliminar docentes que se encuentra registrado dentro del sistema. Figura 70 Opciones de actualización y eliminación 93

112 5.2.2 Actualización del docente Podemos editar los datos del docente como datos personales, discapacidad, Cargos, Títulos, etc. Figura 71 Pantalla de actualización del docente 94

113 5.2.3 Creación de un docente En la creación de un docente se debe tener en cuenta las validaciones respectivas. Figura 72 Pantalla de creación del docente Generación del archivo Excel Se genera un archivo en Excel con los datos validados y actualizados de los docentes existentes en la base de datos. 95

114 Figura 73 Pantalla de generación de archivo excel Registro de un Nuevo Usuario Para el registro de un usuario nuevo debemos llenar los campos como nombres, apellidos, cédula, dirección y la clave. La generación del nombre de usuario se la da en base a un algoritmo de nombres en el cual toma la primera letra del nombre seguido del apellido Y para validar de que no se repita lo hace con el número de la cédula de identidad ingresado anteriormente. Figura 74 Registro de un nuevo usuario 96

115 Todos los campos son requeridos para la creación, además se valida que los números de cédulas sean correctas y q coincidan las claves. Figura 75 Validación de campos Si la creación fue correcta nos saldrá un mensaje en la parte superior de la pantalla con el nombre de usuario 97

116 Figura 76 Usuario creado con éxito 98

117 6 CAPÍTULO VI 6.1 CONLUSIONES Los Sistemas de información han ido evolucionando durante los últimos años hasta constituir los denominados sistemas de información estratégicos. Posteriormente el desarrollo de la informática 12 y las telecomunicaciones permitieron incrementar la eficacia en la realización de las tareas, ahorrar tiempo en el desarrollo de las actividades y almacenar la mayor cantidad de información en el menor espacio posible, lo cual aumentó en las organizaciones el interés en los sistemas de información. Con el transcurrir del tiempo las instituciones fueron observando como las tecnologías y sistemas de información permitían a la organización obtener mejores resultados que sus competidores, constituyéndose por sí mismas como una fuente de ventaja competitiva y una poderosa arma que permitía diferenciarse de sus competidores y obtener mejores resultados que estos. Se logró desarrollar el sistema informático obteniendo resultados positivos, con lo cual se cumple con el objetivo general, puesto que el Sistema de Procesos Vinculados para la Facultad de Ingeniería en Geología Minas, Petróleos y Ambiental de la Universidad Central Del Ecuador desarrollado ha contribuido de manera eficiente en obtener de manera rápida y eficiente datos actualizados, completos y validados. Se logró diseñar el sistema informático usando la metodología XP, por ser esta metodología una de las más usadas y de gran popularidad dentro del grupo de Metodologías Ágiles, que ha sido implantado con éxito ha propor- 12 El primer ordenador fue construido en 1946 por Mauchly y Eckert en la Universidad de Pennsylvania, el denominado ENIAC (Electronic Numerical Integrator and Computer).A partir de ahí con el desarrollo de los transistores, circuitos integrados, miniaturización de equipos, aumento de la velocidad de proceso y sobre todo el desarrollo del microprocesador en 1971 por parte de Intel permitió a la empresa disponer de equipos más veloces, con mayor capacidad de almacenamiento y procesamiento ocupando un menor espacio. Para ampliación de información ver Navas López, J.E.,

118 cionado parámetros claros para la consecución del mismo, ya que su estructura obliga al desarrollador a documentar el proceso de acuerdo a las fases que lo componen con la finalidad de llevar registros del desarrollo desde su inicio hasta la finalización del mismo. También se ha mostrado que la aplicación generada es útil y valiosa para producir mejoras apreciables y significativas, tanto en la docencia del profesor, como para el personal administrativo. Se utilizó postgresql como base de datos, ya que permitió generar de manera sencilla y rápida las estructuras de almacenamiento de datos, además de garantizar la seguridad de los mismos. Se logró desarrollar e implementar el sistema Informático con el lenguaje de Programación java(orientado a objetos) que fue diseñado específicamente para tener tan pocas dependencias de implementación como fuera posible. Su intención es permitir que los desarrolladores de aplicaciones escriban el programa una vez y lo ejecuten en cualquier dispositivo (conocido en inglés como WORA 13 ) El sistema ha sido desarrollado bajo los estándares vigentes en la programación, así como el uso de las herramientas de software que hicieron posible la culminación del sistema desde el diseño, desarrollo e implementación optimizando tiempo y recursos. 13 WORA (Write once, run anywhere): Significa escribir una vez, ejecutar en todas partes es un eslogan creado por Sun Microsystems. 100

119 6.2 RECOMENDACIONES Luego de la realización de éste proyecto las recomendaciones son las siguientes: Previo a someter el sistema a cualquier proceso de evolución y mantenimiento es necesario que la persona responsable de llevarlos a cabo, conozca los aspectos de diseño bajo los cuales han sido desarrollados. A fin de lograr los resultados que la FIGEMPA busca con el desarrollo del presente sistema, es necesaria la participación consiente y responsable de todos los entes involucrados en la administración de la aplicación. De acuerdo al desarrollo realizado lo que se recomienda es que todo sistema involucra una tecnología; es decir para brindar una solución óptima al cliente lo primero que se debería analizar que tecnología se usara para la solución. Se recomienda que para que el sistema funcione de una forma correcta, es importante la calidad de la información, puesto que si los datos que se ingresan carecen de sentido; cualquier sistema por mejor que pueda ser, no presentará y no satisfacerá las necesidades que se esperaban. Se recomienda realizar un levantamiento de todos los procesos a fondo, dentro de la FIGEMPA, logrando así la automatización de procesos dentro de toda la oficina buscando de esta manera conformar un sistema integrado. Cada reunión con el usuario final debe ser aprovechada al máximo, ya que éste conoce la lógica del negocio pero puede no estar muy claro en la manera de atacar el problema visto desde el punto de vista tecnológico, es ahí, donde es necesaria nuestra intervención como consultores informáticos, para brindarle soluciones a sus necesidades, y así evitar problema a mediano o largo plazo tanto para los desarrolladores como para el cliente. 101

120 Aplicar una política de respaldos de la base de dato para evitar inconvenientes con posibles fallos en la infraestructura de hardware donde se aloja la solución. 102

121 BIBLIOGRAFÍA GEARY, David.CAY, Horstmann (2010). CoreJavaServer FacesThird Edition PRESSMAN, Roger S.MCGRAW-HILL, 2005.INGENIERÍA DEL SOFTWARE, 6ª edición OTERO, Cesar. LARSEN, Rob(2012). ProfessionaljQuery 103

122 GLOSARIO A Aplicación: Problema o conjunto de problemas para los que se diseña un programa en un lenguaje especifico mediante un ordenador. B Backup (Copia de Seguridad): Es el término inglés que se usa generalmente para hablar de copias de seguridad. Es muy recomendable hacer regularmente respaldos de los datos más importantes, entre ellos las configuraciones de los programas Base de datos: Repositorio en el cual se guarda información de forma Organizada que luego será leída, actualizada o eliminada según sean las necesidades. Browser: Aplicación para visualizar documentos WWW y navegar por el espacio Internet. En su forma más básica son aplicaciones hipertexto que facilitan la navegación por los servidores de información. BPM: BPM (Business Process Management), o BPMS (BPM Suite) es el conjunto de servicios y herramientas que facilitan la administración de procesos de negocio. Por administración de procesos entendemos: análisis, definición, ejecución, monitoreo, y control de los procesos. C Caso de Uso: Secuencia de acciones que el sistema realiza, la cual proporciona un resultado de valor observable. Campus: Es el espacio físico donde funcionan las instalaciones de la universidad o escuela politécnica. Está conformado por los terrenos y los edificios que utilizan, los cuales pueden ser propios, arrendados o estar en comodato. Campus no es lo mismo que extensión, pues una extensión puede tener varios campus. Por ejemplo, 104

123 la extensión Quito de la Escuela Politécnica Salesiana, tiene tres campus: campus Girón, campus Kennedy y campus Sur. E Eclipse IDE: IDE que facilita el proceso de escribir código en el lenguaje de programación JAVA, entre otros. EJB: Enterprise Java Beans, permite la implementación de los servicios de negocio dentro de una aplicación con arquitectura JEE. F FIGEMPA: Facultad de ingeniería en Geología, Minas, Petróleos y Ambiental de la Universidad Central del Ecuador. FTP (File Transfer Protocol): En informática, es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP (Transmission Control Protocol), basado en la arquitectura cliente-servidor. H HTML: Es el lenguaje que se emplea para el desarrollo de páginas de internet. Este lenguaje está constituido de elementos que el navegador interpreta y las despliega en la pantalla de acuerdo a su objetivo. HIBERNATE: Es una herramienta de Mapeo objeto-relacional, para la plataforma Java que facilita el mapeo de atributos entre una base de datos relacional tradicional y el modelo de objetos de una aplicación, mediante archivos declarativos (XML) o anotaciones en los beans de las entidades que permiten establecer estas relaciones. Es una herramienta de software libre, distribuido bajo los términos de la licencia GNU LGPL. HTTP: Protocolo de transferencia de hipertexto (HiperText transfer Protocol). Controla el intercambio de documentos de hipertexto entre servidores y clientes. 105

124 I Interfaz: Una interfaz de software es la parte de una aplicación que el usuario ve y con la cual interactúa. Instituciones de educación superior (IES).- instituciones que conforman el sistema de educación superior ecuatoriano, el cual está integrado por universidades y escuelas politécnicas; institutos superiores técnicos, tecnológicos y pedagógicos; y conservatorios de música y artes (Art Constitución). J JAVA: Lenguaje de programación orientado a objetos multiplataforma construido por la empresa SUN Microsystems. JEE: Abreviatura utilizada para hacer referencia a aplicaciones construidas con java, viene del inglés Java Entreprise Edition. JPA: API de persistencia parte de la plataforma JEE. JSF: Java Server Faces framework parte de la plataforma JEE usado para escribir páginas web. JDK: Es un software que provee herramientas de desarrollo para la creación de programas en Java. Puede instalarse en una computadora local o en una unidad de red. M MVC: Modelo Vista Controlador es un patrón de arquitectura de software que se utiliza mucho en aplicaciones web, separando la en tres capas (modelo, vista, controlador). 106

125 Matriz.- es la sede principal de la institución de educación superior, donde se encuentra el representante legal. N Niveles de formación.- los niveles de formación que imparten las instituciones del Sistema de Educación Superior son: a) Nivel técnico o tecnológico superior.- orientado al desarrollo de las habilidades y destrezas que permitan al estudiante potenciar el saber hacer. Corresponden a éste los títulos profesionales de técnico o tecnólogo superior, que otorguen los institutos superiores técnicos, tecnológicos, pedagógicos, de artes y los conservatorios superiores; b) Tercer nivel, de grado.- orientado a la formación básica en una disciplina o a la capacitación para el ejercicio de una profesión. Corresponden a este nivel los grados académicos de licenciado y los títulos profesionales universitarios o politécnicos, y sus equivalentes. Sólo podrán expedir títulos de tercer nivel las universidades y escuelas politécnicas; c) Cuarto nivel, de postgrado.- está orientado al entrenamiento profesional avanzado o a la especialización científica y de investigación. Corresponden al cuarto nivel el título profesional de especialista; y los grados académicos de maestría, Ph.D o su equivalente. (Art. 118, LOES 2010). Dado que durante el 2011 se impartían programas académicos de Diplomado, estos se deben incluir en los formularios cuando corresponda. P POM: Son las siglas de "Project Object Model" (Modelo de Objetos de Proyecto), ya hemos dicho que Maven es una herramienta de administración de proyectos. Un POM no es más que la abstracción usada por Maven para definir dichos proyectos, como tal contiene los atributos de estos y las instrucciones para construirlo. PrimeFaces: es un componente para JavaServer Faces (JSF) de código abierto que cuenta con un conjunto de componentes ricos que facilitan la creación de las aplicaciones web. 107

126 Personal académico.- Se considera personal académico a los profesores e investigadores titulares y no titulares de las instituciones de educación superior pública y particular. El personal administrativo y técnico docente de las instituciones de educación superior públicas y particulares no forma parte del personal académico. Personal administrativo.- Se considera personal administrativo a toda persona que presta servicios en una institución de educación superior y se rige por la Ley Orgánica de Servicio Público. Ph.D o Doctorado.- Es el grado académico más alto de cuarto nivel que otorga una universidad o escuela politécnica a un profesional con grado de maestría. Su formación se centra en un área profesional o científica, para contribuir al avance del conocimiento básicamente a través de la investigación científica. S Sistema de Información: Conjunto de sistemas y subsistemas computacionales que interactúan entre sí con el fin de apoyar las actividades de una empresa o negocio. U UML: Es el lenguaje de modelado de sistemas software más conocido y utilizado en la actualidad; está respaldado por el OMG (Object Management Group). Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema. UML ofrece un estándar para describir un "plano" del sistema (modelo), incluyendo aspectos conceptuales tales como procesos de negocio, funciones del sistema, y aspectos concretos como expresiones de lenguajes de programación, esquemas de bases de datos y compuestos reciclados. Unidad Académica.- son unidades donde se realizan actividades académicas de la carrera o programa en modalidad presencial o semipresencial, poseen una estruc- 108

127 tura administrativa, docente y física acorde al requerimiento de la carrera o programa académico. No son consideradas extensiones. 109

128 ANEXOS 110

129 Anexo A Presupuesto Facultad de Ingeniería Ciencias Físicas y Matemática Escuela de Ciencias Recursos y Presupuesto Ítem Nº Rubro de Gastos Cantidad Valor $ Total $ RECURSO HUMANO 1 Tutor de Tesis de Grado 1 0,00 0,00 2 Tribunal de Tesis de Grado 3 0,00 0,00 3 Investigador (Autor de Tesis de Grado) 1 0,00 0,00 Subtotal Recurso Humano 0,00 RECURSOS MATERIALES 4 Resma de Papel 3 4,50 13,50 5 Cartucho de Tinta B/N 2 20,00 40,00 6 Cartucho a Color 2 25,00 50,00 7 Copias 700 0,03 21,00 Subtotal Recursos Materiales 124,50 MATERIAL BIBLIOGRÁFICO 8 Internet 100 H 1,00 100,00 9 Transcripción borrador trabajo de grado 1 50,00 50,00 10 Empastado de trabajo de grado 3 40,00 120,00 Subtotal Material Bibliográfico 270,00 RECURSOS INFORMÁTICOS 11 Computador de Escritorio 1 0,00 0,00 12 Laptop 1 0,00 0,00 13 Impresora 1 0,00 0,00 14 CD 25 0,60 15,00 15 Flash Memory 1 0,00 0,00 Subtotal Recursos Informáticos 15,00 TRANSPORTE 16 Transporte 1 100,00 100,00 Subtotal Transporte 100,00 OTROS 17 Gastos Varios 1 150,00 150,00 Subtotal Otros 150,00 TOTAL GASTOS 659,50 IMPREVISTOS (5%) 32,98 TOTAL 692,48 FINANCIAMIENTO: Autofinanciado María Fernanda Pallasco Iza C.I

130 Anexo B Cronograma. 112

131 ANEXO C MANUAL TÉCNICO EJECUCIÓN DEL PROGRAMA FUENTE Para la creación de sistema, se necesita tener instaladas las siguientes herramientas de desarrollo: El Kit de desarrollo de Java (JDK), en el desarrollo del sistema la versión instalada es jdk-7u45-windows-i586.exe IDE de desarrollo Eclipse, cuya versión es eclipse-jee-kepler-sr1-win32.zip Servidor de Aplicaciones jboss-eap-6.1.zip CARGA Y COMPILACIÓN DEL PROYECTO EN ECLIPSE KEPLER Se procede a cargar el proyecto de Java, para ello debemos seguir el procedimiento que se detalla a continuación con el objetivo de actualizar o realizar el mantenimiento del sistema: Ejecutar el IDE de desarrollo (Eclipse Kepler), desde el menú de Programas o desde el acceso directo creado en el escritorio. Figura 77 Ejecución de Eclipse 113

132 Como siguiente paso Eclipse necesita seleccionar el espacio de trabajo (workspace), es decir el directorio donde se encuentra el proyecto, para este caso se ha creado una carpeta llamada workspace en la que se encuentra alojado el proyecto. Figura 78 Workspace Eclipse Una vez que se ha accedido a la interfaz del IDE de desarrollo se debe cargar el proyecto, para ello en la interfaz seleccionar el menú File Import 114

133 Figura 79 Procedimiento de importación de proyecto Para importar el proyecto seleccionar la carpeta General Existing Projects into Workspace. A continuación seleccionar la opción Browse para ubicar el directorio donde se encuentra el proyecto. 115

134 Figura 80 Importando proyecto 116

135 Seleccionar la carpeta, en este caso particular el proyecto se aloja en la carpeta workspace, es por ello que es seleccionada la misma; una vez ubicada la carpeta que contiene el proyecto seleccionar la opción Aceptar, consecuentemente seleccionar la opción Add Project to working sets con la finalidad de copiar al workspace y finalmente seleccionar la opción Finalizar. Para importar los tres proyectos existentes (matrices-figempa-ear, matricesfigempa-ejb, matrices-figempa-web) debemos seleccionar la opción Import- Maven-Existing Maven Projects con la finalidad de copiar al workspace y finalmente seleccionar la opción Finalizar. 117

136 Figura 81 Importando de los tres proyectos Al dar clic en finalizar tendremos todo proyecto en el área del explorador de paquetes Project Explorer. 118

137 Figura 82 Estructura del proyecto Luego el siguiente paso es necesario crear un nuevo servidor dentro del IDE eclipse que permita ejecutar y probar el sistema, para ello seleccionar la pestaña New- Servers en la parte inferior derecha de la interfaz. 119

138 Figura 83 Configuración de jboss-eap-6.1 En la parte inferior correspondiente a JBoss 6.1 Runtime Server seleccionar la opción Add, con la finalidad de establecer la dirección en la que fue descomprimido el servidor. Para finalizar seleccionar la opción Finish. 120

139 Figura 84 Configuración de jboss-eap

140 En la sección Add and Remove (clic derecho sobre servidor y seleccionar la opción en mención), tomar en cuenta que el proyecto debe ubicarse en el panel derecho como Configurado, finalizar el procedimiento. Figura 85 Configuración finalizada de nuevo servidor jboss-eap

141 Finalmente el servidor ha sido configurado bajo el procedimiento sugerido y puede ser iniciado desde la consola de eclipse o windows, en este caso desde la consola del IDE para ello clic derecho sobre el servidor y seleccionar Start. 123

142 Figura 86 Start to JBoss 6.1 Runtime Server Clic derecho sobre el nombre del proyecto y seleccionar la opción Full Publish conla finalidad de levantar el proyecto. Es importante mencionar que el servidor como el proyecto toma su debido tiempo en iniciar dependiendo de la capacidad dela máquina en la que han sido instaladas. 124

143 Figura 87 Publishing to JBoss 6.1 Runtime Server ESTRUCTURA DE CARPETAS DEL PROYECTO El sistema se encuentra estructurado de la siguiente manera: matrices-figempaejb, matrices-figempa-web, una vez cargado el proyecto en Eclipse, estas carpetas se encuentran distribuidas como se indica a continuación. 125

144 Figura 88 Estructura de carpetas matrices-figempa En la carpeta matrices-figempa se encuentra el código fuente del proyecto, dividido en subcarpetas que contienen los archivos de acuerdo a su funcionalidad, es importante mencionar a las siguientes subcarpetas. En otras palabras SILSAG es el proyecto EAR, que sirve para contener a los proyectos SILSAGEJB SILSAGWeb. 126

145 Figura 89 Contenido de la carpeta matrices-figempa-ejb Es el proyecto que contiene la lógica del negocio y la persistencia hacia la base de datos. Cabe recordar que los EJB son clases java ligeras donde se programas las reglas de negocio de la aplicación, por tanto en la carpeta en mención se ha definido las reglas de negocio. Figura Contenido de la carpeta matrices-figempa-ejb 127

146 src/main/java: donde guardaremos nuestras clases java fuente. Debajo de esta carpeta situaremos nuestras clases en distintos paquetes como: negocio, negocio.impl, persistence.dao, persistence.dao.impl. El formato que se ha establecido para estructurar de una manera ordenada los paquetes en el proyecto es: Figura 91 src/main/java Es importante mencionar que en el paquete ec.edu.figempa.dao se encuentran las clases de persistencia que hacen referencia a las entidades de la base de datos a través del mapeo. A continuación se muestra la estructura de la capa de persistencia. 128

147 Figura 92 Persistencia DAO (Data Access Object) encapsula el acceso a la base de datos, por lo que cuando la capa lógica de negocio necesite interactuar con la base de datos, va a hacerlo a través de la API que le ofrece DAO. Generalmente esta API consiste en métodos CRUD (Create, Read, Update y Delete). Entonces por ejemplo cuando la capa de lógica de negocio necesite guardar un dato en la base de datos, va a llamar a un método create ( ). DTO (Data Transfer Object) o también denominados VO (Value Object), son utilizados por DAO para transportar los datos desde la base de datos hacia la capa de lógica de negocio y viceversa. 129

148 El DTO de la entidad profesor se describe de la siguiente manera: Figura 93 Entity Profesor 130

149 Figura 94 Servicio e Implementación Profesor Dentro del META-INF se encuentra el archivo de configuración denominado persistence.xml. persistence.xml describe la configuración de la persistencia que se está manejando en el desarrollo de SILSAG, el esquema maneja sus respectivas entidades. 131

150 Figura 95 Persistence.xml 132

151 matrices-figempa-web Es el proyecto que contiene todos los elementos web como javascript, páginas HTML y los controladores que se encargan de recolectar las acciones y los datos que las páginas emiten. En esta carpeta se encuentra la capa de presentación del proyecto, dividido en subcarpetas que contienen las diferentes clases de archivos de acuerdo a su uso. src/main/java : donde guardaremos nuestras clases java fuente. Debajo de esta carpeta situaremos nuestras clases en distintos paquetes, contiene archivos con extensión.java y corresponde a los beans que brindan la funcionalidad a las páginas dinámicas XHTML. Estos son los encargados de guardar información, utilizan un API para representar componentes de la interfaz de Usuario y manejar sus estados, manejar sus eventos; también realizan la validación del lado del servidor, la conversión de datos y definir la navegación entre páginas. Figura 96 Estructura de matrices-figempa-web 133

152 src, esta carpeta contiene las páginas xhtml, estilos css, JavaScript js, etc. Las mismas que proporcionan el aspecto visual del sistema, para cada formulario. La carpeta css contiene los estilos que son utilizados en las páginas xhtml. Figura 97 Carpeta web,css,js,img. Dentro de la carpeta páginas se encuentran las páginas Web que presentan la interfaz para los usuarios. 134

153 Figura 98 Páginas xhtml La carpeta WEB-INF contiene los archivos de configuración: faces-config.xml, archivo de configuración del jsf. web.xml, archivo de configuración de componentes del proyecto para el despliegue del sistema, describe al contenedor Web, sus elementos y el modo en que se accede a los mismos. Además, define los aspectos de seguridad, fichero de bienvenida, parámetros iniciales y parámetros de contexto. 135

154 Figura 99 Archivos de configuración de WEB-INF Finalmente se encuentra el fichero pom.xml de nuestro proyecto. Un Proyecto en Maven se define mediante un archivo POM, que es un archivo llamado pom.xml con una etiqueta inicial de <project>. En dicho archivo se definen cosas como las instrucciones para compilar el proyecto, las librerías necesarias, etc. 136

155 Figura 100 Fichero pom.xml 137

Elementos requeridos para crearlos (ejemplo: el compilador)

Elementos requeridos para crearlos (ejemplo: el compilador) Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción

Más detalles

1. Definición. Open Source. Escalable. Alto desempeño. Arquitectura Modular. Producto de licencia de código abierto sin coste adicional.

1. Definición. Open Source. Escalable. Alto desempeño. Arquitectura Modular. Producto de licencia de código abierto sin coste adicional. 1. Definición JBoss es un proyecto de código abierto, con el que se consigue un servidor de aplicaciones basado en J2EE, e implementado al 100% en Java. Por lo tanto al estar basado en Java, JBoss puede

Más detalles

Análisis y diseño del sistema CAPÍTULO 3

Análisis y diseño del sistema CAPÍTULO 3 Análisis y diseño del sistema CAPÍTULO 3 36 CAPÍTULO 3 Análisis y diseño del sistema En este capítulo se pretende realizar un análisis detallado de los requerimientos del software a desarrollar para la

Más detalles

Curso de Spring Framework

Curso de Spring Framework Todos los Derechos Reservados Global Mentoring 2012 Experiencia y Conocimiento para tu Vida 1 Spring es un proyecto de código abierto (open source), originalmente creado por Rod Johnson y descrito en su

Más detalles

JAVA EE 5. Arquitectura, conceptos y ejemplos.

JAVA EE 5. Arquitectura, conceptos y ejemplos. JAVA EE 5. Arquitectura, conceptos y ejemplos. INTRODUCCIÓN. MODELO DE LA APLICACIÓN JEE5. El modelo de aplicación Java EE define una arquitectura para implementar servicios como lo hacen las aplicaciones

Más detalles

Capitulo 5. Implementación del sistema MDM

Capitulo 5. Implementación del sistema MDM Capitulo 5. Implementación del sistema MDM Una vez que se concluyeron las actividades de análisis y diseño se comenzó la implementación del sistema MDM (Manejador de Documentos de MoProSoft). En este capitulo

Más detalles

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Documento de trabajo elaborado para la Red Temática DocenWeb: Red Temática de Docencia en Control mediante Web (DPI2002-11505-E)

Más detalles

Proyecto ELO-330 Administración Salas del Departamento de Electrónica RC1. Gerardo Lecaros Felipe Díaz

Proyecto ELO-330 Administración Salas del Departamento de Electrónica RC1. Gerardo Lecaros Felipe Díaz Proyecto ELO-330 Administración Salas del Departamento de Electrónica RC1 Gerardo Lecaros Felipe Díaz Problemática Petición de salas de forma tradicional Solución J2EE Java 2 Platform, Enterprise Edition

Más detalles

<Generador de exámenes> Visión preliminar

<Generador de exámenes> Visión preliminar 1. Introducción Proyecto Final del curso Técnicas de Producción de Sistemas Visión preliminar Para la evaluación de algunos temas de las materias que se imparten en diferentes niveles,

Más detalles

MANUAL DE USUARIO APLICACIÓN SYSACTIVOS

MANUAL DE USUARIO APLICACIÓN SYSACTIVOS MANUAL DE USUARIO APLICACIÓN SYSACTIVOS Autor Edwar Orlando Amaya Diaz Analista de Desarrollo y Soporte Produce Sistemas y Soluciones Integradas S.A.S Versión 1.0 Fecha de Publicación 19 Diciembre 2014

Más detalles

http://www.cem.itesm.mx/extension/ms

http://www.cem.itesm.mx/extension/ms Diplomado Programación orientada a objetos con Java y UML Las empresas necesitan contar con sistemas de información modernos, ágiles y de calidad para alcanzar sus objetivos y ser cada vez más competitivos

Más detalles

En el siguiente apartado se detallan ciertos conceptos que ayudan a comprender en mayor medida el Proyecto.

En el siguiente apartado se detallan ciertos conceptos que ayudan a comprender en mayor medida el Proyecto. APÉNDICES En el siguiente apartado se detallan ciertos conceptos que ayudan a comprender en mayor medida el Proyecto. APÉNDICE 1. Herramientas Las herramientas que se usaron en el análisis, desarrollo

Más detalles

Ayuda para la instalación Componente Firma Digital INDICE. 1 Configuración previa...2. 1.1 Configuración Internet Explorer para ActiveX...

Ayuda para la instalación Componente Firma Digital INDICE. 1 Configuración previa...2. 1.1 Configuración Internet Explorer para ActiveX... INDICE 1 Configuración previa...2 1.1 Configuración Internet Explorer para ActiveX...2 1.2 Problemas comunes en sistema operativo Windows...8 1.2.1 Usuarios con sistema operativo Windows XP con el Service

Más detalles

CAPÍTULO 3 VISUAL BASIC

CAPÍTULO 3 VISUAL BASIC CAPÍTULO 3 VISUAL BASIC 3.1 Visual Basic Microsoft Visual Basic es la actual y mejor representación del viejo lenguaje BASIC, le proporciona un sistema completo para el desarrollo de aplicaciones para

Más detalles

ATLAS MANUAL DE USUARIO DEL ARQUETIPO WEB CON DOCUMENTUM

ATLAS MANUAL DE USUARIO DEL ARQUETIPO WEB CON DOCUMENTUM ATLAS MANUAL DE USUARIO DEL ARQUETIPO WEB CON DOCUMENTUM Versión 1.4 Área de Aplicaciones Especiales y Arquitectura de Software Hoja de Control Título Documento de Referencia Responsable Manual de usuario

Más detalles

"Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios

Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios "Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios Miguel Alfonso Flores Sánchez 1, Fernando Sandoya Sanchez 2 Resumen En el presente artículo se

Más detalles

Creación y administración de grupos de dominio

Creación y administración de grupos de dominio Creación y administración de grupos de dominio Contenido Descripción general 1 a los grupos de Windows 2000 2 Tipos y ámbitos de los grupos 5 Grupos integrados y predefinidos en un dominio 7 Estrategia

Más detalles

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio). 1 GLOSARIO A continuación se definen, en orden alfabético, los conceptos básicos que se han abordado a lo largo del desarrollo de la metodología para la gestión de requisitos bajo la Arquitectura Orientada

Más detalles

Capitulo III. Diseño del Sistema.

Capitulo III. Diseño del Sistema. Capitulo III. Diseño del Sistema. Para el desarrollo del sistema en la presente tesis se utilizo el paradigma orientado a objetos utilizando el lenguaje Java en su versión 1.2. Por medio de este lenguaje

Más detalles

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib Manual de uso de la plataforma para monitores CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib [Manual de uso de la plataforma para monitores] 1. Licencia Autor del documento: Centro de Apoyo Tecnológico

Más detalles

Gestión de Permisos. Bizagi Suite. Copyright 2014 Bizagi

Gestión de Permisos. Bizagi Suite. Copyright 2014 Bizagi Gestión de Permisos Bizagi Suite Gestión de Permisos 1 Tabla de Contenido Gestión de Permisos... 3 Definiciones... 3 Rol... 3 Perfil... 3 Permiso... 3 Módulo... 3 Privilegio... 3 Elementos del Proceso...

Más detalles

INSTRUCTIVO DE ADMINISTRADOR ALFRESCO COMMUNITY 4.2

INSTRUCTIVO DE ADMINISTRADOR ALFRESCO COMMUNITY 4.2 INSTRUCTIVO DE ADMINISTRADOR ALFRESCO COMMUNITY 4.2 Grupo de Innovación y Apropiación de Tecnologías de la Información Archivística Compilador: Pedro Antonio Gómez Guarín INSTRUCTIVO DE ADMINISTRADOR ALFRESCO

Más detalles

http://www.informatizate.net

http://www.informatizate.net http://www.informatizate.net Metodologías De Desarrollo De Software María A. Mendoza Sanchez Ing. Informático - UNT Microsoft Certified Professional - MCP Analísta y Desarrolladora - TeamSoft Perú S.A.C.

Más detalles

Capítulo 2. Planteamiento del problema. Capítulo 2 Planteamiento del problema

Capítulo 2. Planteamiento del problema. Capítulo 2 Planteamiento del problema Capítulo2 Planteamientodelproblema 38 2.1Antecedentesycontextodelproyecto En lo que respecta a los antecedentes del proyecto, se describe inicialmente el contexto donde se utiliza el producto de software.

Más detalles

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web. Modulo I. Introducción a la Programación Web. 1.1 Servidor Web. Antes de analizar lo que es un servidor Web y llevara a cabo su instalación, es muy importante identificar diferentes elementos involucrados

Más detalles

Introducción CAPÍTULO 1

Introducción CAPÍTULO 1 Introducción CAPÍTULO 1 6 CAPÍTULO 1 - Introducción. En la actualidad hay una gran cantidad de repositorios en los que se puede alojar código fuente para poder compartirlo con los usuarios que visiten

Más detalles

Manual para usuarios USO DE ONEDRIVE. Universidad Central del Este

Manual para usuarios USO DE ONEDRIVE. Universidad Central del Este Manual para usuarios USO DE ONEDRIVE Universidad Central del Este Contenido 1. QUÉ ES Y PARA QUÉ SIRVE OFFICE 365?... 3 1.1 CÓMO ENTRAR A LA PLATAFORMA DE OFFICE 365 DE LA UCE?... 3 ONEDRIVE... 5 2. QUÉ

Más detalles

Practica 1 Instalación del SGBD. Ing. María Elena Reyes Castellanos. Miguel Ángel Garduño Córdova Isaac Méndez Hernández

Practica 1 Instalación del SGBD. Ing. María Elena Reyes Castellanos. Miguel Ángel Garduño Córdova Isaac Méndez Hernández Investigación Practica 1 Instalación del SGBD Catedrático: Alumnos: Ing. María Elena Reyes Castellanos Miguel Ángel Garduño Córdova Isaac Méndez Hernández 1 ÍNDICE DE GENERAL INDICE DE TABLAS Y FIGURAS

Más detalles

LiLa Portal Guía para profesores

LiLa Portal Guía para profesores Library of Labs Lecturer s Guide LiLa Portal Guía para profesores Se espera que los profesores se encarguen de gestionar el aprendizaje de los alumnos, por lo que su objetivo es seleccionar de la lista

Más detalles

Ingeniería de Software

Ingeniería de Software Ingeniería de Software MSDN Ingeniería de Software...1 Ingeniería del Software_/_ Ingeniería y Programación...1 Análisis de Requerimientos...2 Especificación...3 Diseño...4 Desarrollo en Equipo...5 Mantenimiento...6

Más detalles

comunidades de práctica

comunidades de práctica 1. Introducción CoSpace es una plataforma web diseñada para proporcionar un espacio virtual de interacción y colaboración entre formadores en comunidades virtuales. Se originó como resultado de las necesidades

Más detalles

Entidad Formadora: Plan Local De Formación Convocatoria 2010

Entidad Formadora: Plan Local De Formación Convocatoria 2010 Entidad Formadora: Enterprise Architect Comenzando Puede iniciar Enterprise Architect desde el ícono que se creó en su escritorio de Windows durante la instalación, o alternativamente: 1. Abrir el menú

Más detalles

Traslado de Copias y Presentación de Escritos. Manual de Usuario V.3.1

Traslado de Copias y Presentación de Escritos. Manual de Usuario V.3.1 Traslado de Copias y Presentación de Escritos Manual de Usuario V.3.1 Página: 2 45 INDICE INTRODUCCIÓN... 3 1 ACCESO A LA APLICACIÓN... 3 2 PROCESO DE FIRMA... 4 3 TRASLADOS PENDIENTES DE ACEPTAR POR EL

Más detalles

MANUAL DE NAVEGACIÓN DEL SIIA-WEB versión 1.0. http://148.216.31.29:8080/siia/ PRONAD

MANUAL DE NAVEGACIÓN DEL SIIA-WEB versión 1.0. http://148.216.31.29:8080/siia/ PRONAD MANUAL DE NAVEGACIÓN DEL SIIA-WEB versión 1.0 http://148.216.31.29:8080/siia/ PRONAD II C o n t e n i d o 1 Tabla de contenido C o n t e n i d o... I 1. Bienvenido...III 2. Antes de Comenzar...III 3. Iniciando

Más detalles

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable 1. Introducción. El Sistema de Administración de Información de un Negocio Franquiciable (SAINF)

Más detalles

Capítulo 5. Cliente-Servidor.

Capítulo 5. Cliente-Servidor. Capítulo 5. Cliente-Servidor. 5.1 Introducción En este capítulo hablaremos acerca de la arquitectura Cliente-Servidor, ya que para nuestra aplicación utilizamos ésta arquitectura al convertir en un servidor

Más detalles

Herramienta de Gestión Integral de E-Business

Herramienta de Gestión Integral de E-Business Herramienta de Gestión Integral de E-Business Ingeniería técnica de informática de sistemas Autor: David López Martín Tutor: Antoni Oller Arcas Índice Introducción Metodología Análisis Diseño Planificación

Más detalles

FAMILIA PROFESIONAL: Informática y Comunicación CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIMEDIA DAM 350 HORAS

FAMILIA PROFESIONAL: Informática y Comunicación CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIMEDIA DAM 350 HORAS FAMILIA PROFESIONAL: Informática y Comunicación CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIMEDIA DAM 350 HORAS Resultados de aprendizaje y criterios de evaluación 1. Identificar la estructura y organización

Más detalles

Novedades. Introducción. Potencia

Novedades. Introducción. Potencia Introducción Basado en el demostrado rendimiento y flexibilidad de la versión 8.5, Crystal Reports 9 presenta una amplia variedad de avanzadas funciones para que el diseño, entrega e integración de informes

Más detalles

Curso de PHP con MySQL Gratis

Curso de PHP con MySQL Gratis Curso de PHP con MySQL Gratis Introducción Este mini curso o mini tutorial de PHP le ayudará a realizar cualquier sistema para que pueda insertar uno o varios registros a una base de datos con MySQL, este

Más detalles

Reglas de Uso del PACE

Reglas de Uso del PACE (PACE) Reglas de Uso del PACE Dirección de Operación y Financiamiento Dirección General de Bachillerato SUBSECRETARÍA DE EDUCACIÓN MEDIA SUPERIOR 1 CONTENIDO Introducción... 3 Requisitos para operar el

Más detalles

Guía de instalación de Citrix EdgeSight for Load Testing. Citrix EdgeSight for Load Testing 3.6

Guía de instalación de Citrix EdgeSight for Load Testing. Citrix EdgeSight for Load Testing 3.6 Guía de instalación de Citrix EdgeSight for Load Testing Citrix EdgeSight for Load Testing 3.6 Copyright El uso del producto descrito en esta guía está sujeto a la aceptación previa del Contrato de licencia

Más detalles

Solución de una Intranet bajo software Open Source para el Gobierno Municipal del Cantón Bolívar [IOS-GMCB] Gobierno Municipal del Cantón Bolívar

Solución de una Intranet bajo software Open Source para el Gobierno Municipal del Cantón Bolívar [IOS-GMCB] Gobierno Municipal del Cantón Bolívar Gobierno Municipal del Cantón Bolívar Versión: Solución de una Intranet bajo software Open Source para el Gobierno Municipal del Cantón Bolívar [IOS-GMCB] Plan de Desarrollo de Software Universidad

Más detalles

GUÍA PARA LA INSTALACIÓN DE MOODLE EN UN COMPUTADOR PERSONAL QUE USA EL SISTEMA OPERATIVO MS. WINDOWS

GUÍA PARA LA INSTALACIÓN DE MOODLE EN UN COMPUTADOR PERSONAL QUE USA EL SISTEMA OPERATIVO MS. WINDOWS GUÍA PARA LA INSTALACIÓN DE MOODLE EN UN COMPUTADOR PERSONAL QUE USA EL SISTEMA OPERATIVO MS. WINDOWS Objetivo: El propósito de esta guía es indicarle como configurar un entorno moodle de prácticas en

Más detalles

Primer avance de proyecto de software para la gestión de inscripciones en cursos

Primer avance de proyecto de software para la gestión de inscripciones en cursos Primer avance de proyecto de software para la gestión de inscripciones en cursos 1. Introducción Andrés Felipe Bustamante García, Carolina Sarmiento González En este documento se presentan los resultados

Más detalles

Guía de instalación de Citrix EdgeSight for Load Testing. Citrix EdgeSight for Load Testing 3.7

Guía de instalación de Citrix EdgeSight for Load Testing. Citrix EdgeSight for Load Testing 3.7 Guía de instalación de Citrix EdgeSight for Load Testing Citrix EdgeSight for Load Testing 3.7 Copyright El uso del producto descrito en esta guía está sujeto a la aceptación previa del Contrato de licencia

Más detalles

elastic PROJECTS INFORMACIÓN COMERCIAL PROJECTS

elastic PROJECTS INFORMACIÓN COMERCIAL PROJECTS PROJECTS elastic PROJECTS INFORMACIÓN COMERCIAL Inscripción Registro Mercantil de Pontevedra, Tomo 3116, Libro 3116, Folio 30, Hoja PO-38276 C.I.F.: B-36.499.960 contact@imatia.com 1 INTRODUCCIÓN Mediante

Más detalles

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes: PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes: 1. Proporcionar una guía de actividades para el trabajo en equipo. (Guía detallada para el desarrollo

Más detalles

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE PRUEBAS DE SOFTWARE La prueba del software es un elemento crítico para la garantía de la calidad del software. El objetivo de la etapa de pruebas es garantizar la calidad del producto desarrollado. Además,

Más detalles

GUÍA DE USUARIO: GOOGLE DRIVE

GUÍA DE USUARIO: GOOGLE DRIVE GUÍA DE USUARIO: GOOGLE DRIVE Google Drive es una herramienta telemática de la web 2.0 que permite el trabajo virtual de forma colaborativa. En Google Drive podemos encontrar una barra de navegación en

Más detalles

Guía rápida de la Oficina Virtual (Solicit@V5) Área Web y Administración Electrónica

Guía rápida de la Oficina Virtual (Solicit@V5) Área Web y Administración Electrónica Guía rápida de la Oficina Virtual (Solicit@V5) Área Web y Administración Electrónica HOJA DE CONTROL Título Nombre del Fichero Autores Guía rápida de la Oficina Virtual (Solicit@V5) UHU_GuiaRapidaSolicita_V5.pdf

Más detalles

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACIÓN

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACIÓN UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACIÓN CICLO: 02/2015 GUIA DE LABORATORIO #11 Nombre de la Práctica: Administración de cursos haciendo uso de Moodle Lugar de Ejecución:

Más detalles

Sistemas de Gestión de Calidad. Control documental

Sistemas de Gestión de Calidad. Control documental 4 Sistemas de Gestión de Calidad. Control documental ÍNDICE: 4.1 Requisitos Generales 4.2 Requisitos de la documentación 4.2.1 Generalidades 4.2.2 Manual de la Calidad 4.2.3 Control de los documentos 4.2.4

Más detalles

MANUAL DE USO DE LA APLICACIÓN

MANUAL DE USO DE LA APLICACIÓN MANUAL DE USO DE LA APLICACIÓN ÍNDICE 1. Acceso a la aplicación 2. Definición de funciones 3. Plantillas 4. Cómo crear una nueva encuesta 5. Cómo enviar una encuesta 6. Cómo copiar una encuesta 7. Cómo

Más detalles

CURSO COORDINADOR INNOVADOR

CURSO COORDINADOR INNOVADOR CURSO COORDINADOR INNOVADOR PRESENTACIÓN La tarea que el Ministerio de Educación se propone a través de Enlaces, en relación al aseguramiento del adecuado uso de los recursos, con el fin de lograr un impacto

Más detalles

MANUAL DE USUARIO CMS- PLONE www.trabajo.gob.hn

MANUAL DE USUARIO CMS- PLONE www.trabajo.gob.hn MANUAL DE USUARIO CMS- PLONE www.trabajo.gob.hn Tegucigalpa M. D. C., Junio de 2009 Que es un CMS Un sistema de administración de contenido (CMS por sus siglas en ingles) es un programa para organizar

Más detalles

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos 2.1. Principios básicos del Modelado de Objetos UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos Hoy en día muchos de los procesos que intervienen en un negocio o empresa y que resuelven

Más detalles

UNIVERSIDAD OBERTA DE CATALUNYA. Herramienta Visual para Diseñar formularios Web WformDesigner

UNIVERSIDAD OBERTA DE CATALUNYA. Herramienta Visual para Diseñar formularios Web WformDesigner UNIVERSIDAD OBERTA DE CATALUNYA Herramienta Visual para Diseñar formularios Web WformDesigner Administración Web y comercio electrónico en entornos de software libre Autor: Wilman Chamba Zaragocín Loja

Más detalles

Visión General de GXportal. Última actualización: 2009

Visión General de GXportal. Última actualización: 2009 Última actualización: 2009 Copyright Artech Consultores S. R. L. 1988-2009. Todos los derechos reservados. Este documento no puede ser reproducido en cualquier medio sin el consentimiento explícito de

Más detalles

1. Resumen.. 3. 2. Objetivos.. 3. 3. Introducción. 3

1. Resumen.. 3. 2. Objetivos.. 3. 3. Introducción. 3 1 Índice 1. Resumen.. 3 2. Objetivos.. 3 3. Introducción. 3 4. Aplicación web para la gestión de una memoria corporativa: reportes de actividades (proyectos) 4.1 Metodología... 4 4.2 Lenguajes y herramientas

Más detalles

Utilidades de la base de datos

Utilidades de la base de datos Utilidades de la base de datos Desde esta opcion del menú de Access, podemos realizar las siguientes operaciones: Convertir Base de datos Compactar y reparar base de datos Administrador de tablas vinculadas

Más detalles

MANUAL DE USUARIO. Se deben seguir los siguientes pasos para la correcta instalación del módulo descargable:

MANUAL DE USUARIO. Se deben seguir los siguientes pasos para la correcta instalación del módulo descargable: MANUAL DE USUARIO La aplicación para la convocatoria Parques Científicos y Tecnológicos consta de un programa descargable más un módulo web. Mediante el módulo descargable, es posible cumplimentar todos

Más detalles

UNIVERSIDAD COOPERATIVA DE COLOMBIA POSTGRADO MULTIMEDIA PARA LA DOCENCIA ELECTIVA I CREACIÓN DE AMBIENTES VIRTUALES

UNIVERSIDAD COOPERATIVA DE COLOMBIA POSTGRADO MULTIMEDIA PARA LA DOCENCIA ELECTIVA I CREACIÓN DE AMBIENTES VIRTUALES UNIVERSIDAD COOPERATIVA DE COLOMBIA POSTGRADO MULTIMEDIA PARA LA DOCENCIA ELECTIVA I CREACIÓN DE AMBIENTES VIRTUALES MODULO DE CONTENIDOS DE MATERIALES En prácticamente cualquier tipo de asignatura existirá

Más detalles

Administración Local Soluciones

Administración Local Soluciones SISTEMA INTEGRADO DE GESTIÓN DE EXPEDIENTES MODULAR (SIGM) CONFIGURACIÓN DEL ENTORNO DE DESARROLLO SIGM v3 Administración Local Soluciones Control de versiones Versión Fecha aprobación Cambio producido

Más detalles

Contenido - 2. 2006 Derechos Reservados DIAN - Proyecto MUISCA

Contenido - 2. 2006 Derechos Reservados DIAN - Proyecto MUISCA Contenido 1. Introducción...3 2. Objetivos...4 3. El MUISCA Modelo Único de Ingresos, Servicio y Control Automatizado...4 4. Ingreso a los Servicios Informáticos Electrónicos...5 4.1. Inicio de Sesión

Más detalles

Manual Básico. Usuario Alumno

Manual Básico. Usuario Alumno Manual Básico Usuario Alumno Junio,2014 0 Tabla de contenido 1. INTRODUCCIÓN... 2 QUE ES EVA?... 2 Que es Mooddle?... 2 2. ACCESO GENERAL... 3 PASOS PARA INGRESAR... 3 Nombre de usuario... 3 Bloque de

Más detalles

Anteproyecto Fin de Carrera

Anteproyecto Fin de Carrera Universidad de Castilla-La Mancha Escuela Superior de Informática Anteproyecto Fin de Carrera DIMITRI (Desarrollo e Implantación de Metodologías y Tecnologías de Testing) Dirige: Macario Polo Usaola Presenta:

Más detalles

MACROPROCESO GESTIÓN TECNOLÓGICA

MACROPROCESO GESTIÓN TECNOLÓGICA Versión 1.0 Página 1 de 5 1. OBJETIVO Suministrar las fases para la puesta en producción de aplicaciones y sistemas de información desarrollados o adquiridos por el Instituto Colombiano de Bienestar Familiar

Más detalles

Apéndice 5 Manual de usuario de ColeXión. ColeXión 1.0. Manual de usuario

Apéndice 5 Manual de usuario de ColeXión. ColeXión 1.0. Manual de usuario Apéndice 5 Manual de usuario de ColeXión ColeXión 1.0 Manual de usuario Índice 1. Qué es ColeXión?... 2 2. Requerimientos del sistema... 3 3. Instalación de ColeXión... 3 4. Creación de un nuevo esquema...

Más detalles

PRU. Fundamento Institucional. Objetivos. Alcance

PRU. Fundamento Institucional. Objetivos. Alcance PRU INSTRUCCIONES: a continuación se describe el flujo de trabajo correspondiente al área de procesos de PRUEBAS para el desarrollo de software, en el cual se debe apoyar para la ejecución de sus actividades;

Más detalles

Capítulo II. Arquitectura del Software

Capítulo II. Arquitectura del Software Capítulo II. Arquitectura del Software Después de un cuidadoso análisis de los objetivos del proyecto, se determinó que la mejor manera de estructurar el sistema era haciendo uso del muy famoso patrón

Más detalles

Introducción a la extensión de scripting en gvsig 2.0

Introducción a la extensión de scripting en gvsig 2.0 Introducción a la extensión de scripting en gvsig 2.0 2012 gvsig Association Este documento se distribuye con la licencia Creative Commons 1 2 Índice de contenido 1 Introducción... 3 Instalación de la

Más detalles

Facultad de Ingeniería Escuela de Ciencias y Sistemas 2011-14674 Estructura de Datos Guatemala 2013 JSF + JSP + RichFaces

Facultad de Ingeniería Escuela de Ciencias y Sistemas 2011-14674 Estructura de Datos Guatemala 2013 JSF + JSP + RichFaces JSF + JSP + RichFaces Manual Introductorio al uso de JSF, JSP y RichFaces en Java El siguiente documento es un manual muy introductorio, ya que la primera vez que me encontré con estas 3 frases juntas

Más detalles

SUPLEMENTO EUROPASS AL TÍTULO

SUPLEMENTO EUROPASS AL TÍTULO SUPLEMENTO EUROPASS AL TÍTULO DENOMINACIÓN DEL TÍTULO Técnico Superior en Desarrollo de Aplicaciones Multiplataforma --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Más detalles

Empresa Financiera Herramientas de SW Servicios

Empresa Financiera Herramientas de SW Servicios Empresa Financiera Herramientas de SW Servicios Resulta importante mencionar que ésta es una empresa cuya actividad principal está enfocada a satisfacer las necesidades financieras de los clientes, a través

Más detalles

desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el

desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el Capitulo II. Análisis de herramientas y tecnologías de desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el lenguaje de Modelo de Objetos llamado UML (Unified

Más detalles

Configuración factura electrónica. construsyc instasyc

Configuración factura electrónica. construsyc instasyc Configuración factura electrónica construsyc instasyc Facturación electrónica Según la propia definición de la Agencia Tributaria, la factura electrónica es un documento tributario generado por medios

Más detalles

CAPITULO I El Problema

CAPITULO I El Problema CAPITULO I El Problema 1. CAPITULO I EL PROBLEMA. 1.1. PLANTEAMIENTO DEL PROBLEMA. Desde su nacimiento la Facultad de Administración, Finanzas e Informática dispone del departamento de la biblioteca, con

Más detalles

Guía de Apoyo Project Web Access. (Jefe de Proyectos)

Guía de Apoyo Project Web Access. (Jefe de Proyectos) Guía de Apoyo Project Web Access (Jefe de Proyectos) 1 ÍNDICE Contenido INTRODUCCIÓN... 3 CAPITULO I: ELEMENTOS INICIALES DE PROJECT WEB ACCESS... 4 Configuración General... 4 Área de Trabajo del Proyecto...

Más detalles

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS ARCHIVOS ANEXOS Son los documentos, hojas de cálculo o cualquier archivo que se anexa a las carpetas, subcarpetas, hallazgos u otros formularios de papeles de trabajo. Estos archivos constituyen la evidencia

Más detalles

Manual de usuario del Centro de Control

Manual de usuario del Centro de Control Manual de usuario del Centro de Control www.ximdex.com Tabla de contenidos 1. Centro de Control...4 2. Gestor de Canales...5 2.1. Añadir un nuevo canal...6 2.2. Modificar las propiedades del canal...6

Más detalles

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS AUTORÍA JOSEFA PÉREZ DOMÍNGUEZ TEMÁTICA NUEVAS TECNOLOGIAS ETAPA CICLOS FORMATIVOS DE GRADO SUPERIOR DE INFORMÁTICA Resumen En esta publicación se

Más detalles

Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora

Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora Plataforma e-ducativa Aragonesa Manual de Administración Bitácora ÍNDICE Acceso a la administración de la Bitácora...3 Interfaz Gráfica...3 Publicaciones...4 Cómo Agregar una Publicación...4 Cómo Modificar

Más detalles

10. El entorno de publicación web (Publiweb)

10. El entorno de publicación web (Publiweb) 10. El entorno de publicación web (Publiweb) 10.1. Introducción El entorno de publicación Web es una herramienta que permite la gestión de nuestras páginas Web de una forma visual. Algunos ejemplos de

Más detalles

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD Fecha última revisión: Diciembre 2010 Tareas Programadas TAREAS PROGRAMADAS... 3 LAS TAREAS PROGRAMADAS EN GOTELGEST.NET... 4 A) DAR DE ALTA UN USUARIO...

Más detalles

Mi propuesta consiste en crear un portal Web que contemple las siguientes funcionalidades:

Mi propuesta consiste en crear un portal Web que contemple las siguientes funcionalidades: Propósito del prototipo: Mi propuesta consiste en crear un portal Web que contemple las siguientes funcionalidades: 1º. Mostrar noticias y eventos propios del grupo de personas que administren la Web.

Más detalles

Introducción a la Firma Electrónica en MIDAS

Introducción a la Firma Electrónica en MIDAS Introducción a la Firma Electrónica en MIDAS Firma Digital Introducción. El Módulo para la Integración de Documentos y Acceso a los Sistemas(MIDAS) emplea la firma digital como método de aseguramiento

Más detalles

Documento Técnico Gerardo Barcia Jonathan Trujillo María Alejandra Uribe

Documento Técnico Gerardo Barcia Jonathan Trujillo María Alejandra Uribe Documento Técnico Gerardo Barcia Jonathan Trujillo María Alejandra Uribe Índice de contenido 1. Introducción...3 2. El modelo de negocio...3 2.1 Antecedentes...3 2.2 Planteamiento del problema actual...3

Más detalles

Accede a su DISCO Virtual del mismo modo como lo Hace a su disco duro, a través de:

Accede a su DISCO Virtual del mismo modo como lo Hace a su disco duro, a través de: Gemelo Backup Online DESKTOP Manual DISCO VIRTUAL Es un Disco que se encuentra en su PC junto a las unidades de discos locales. La información aquí existente es la misma que usted ha respaldado con su

Más detalles

CAPÍTULO 3 Servidor de Modelo de Usuario

CAPÍTULO 3 Servidor de Modelo de Usuario CAPÍTULO 3 Servidor de Modelo de Usuario Para el desarrollo del modelado del estudiante se utilizó el servidor de modelo de usuario desarrollado en la Universidad de las Américas Puebla por Rosa G. Paredes

Más detalles

UNIVERSIDAD DE OVIEDO

UNIVERSIDAD DE OVIEDO UNIVERSIDAD DE OVIEDO ESCUELA POLITÉCNICA DE INGENIERÍA DE GIJÓN MÁSTER EN INGENIERÍA INFORMÁTICA TRABAJO FIN DE MÁSTER SPRING ROO ADD-ONS PARA PROTOTIPADO RÁPIDO JAVIER MENÉNDEZ ÁLVAREZ JULIO 2014 UNIVERSIDAD

Más detalles

Windows Server 2012: Infraestructura de Escritorio Virtual

Windows Server 2012: Infraestructura de Escritorio Virtual Windows Server 2012: Infraestructura de Escritorio Virtual Módulo 1: Application Virtualization Módulo del Manual Autores: James Hamilton-Adams, Content Master Publicado: 5 de Octubre 2012 La información

Más detalles

1 Índice... 1. 2 Introducción... 2. 2.1 Propósito... 2. 2.2 Alcance... 2. 3 Modelo Arquitectónico Inicial... 3

1 Índice... 1. 2 Introducción... 2. 2.1 Propósito... 2. 2.2 Alcance... 2. 3 Modelo Arquitectónico Inicial... 3 1 Índice 1 Índice... 1 2 Introducción... 2 2.1 Propósito... 2 2.2 Alcance... 2 3 Modelo Arquitectónico Inicial... 3 3.1 Diagrama de alto nivel de la arquitectura... 3 3.2 Vista de Casos de Uso... 5 3.2.1

Más detalles

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo. GLOSARIO Actor: Un actor es un usuario del sistema. Esto incluye usuarios humanos y otros sistemas computacionales. Un actor usa un Caso de Uso para ejecutar una porción de trabajo de valor para el negocio.

Más detalles

SUPLEMENTO EUROPASS AL TÍTULO

SUPLEMENTO EUROPASS AL TÍTULO SUPLEMENTO EUROPASS AL TÍTULO DENOMINACIÓN DEL TÍTULO Técnico Superior en Desarrollo de Aplicaciones Web --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Más detalles

Manual de uso de la Consola de Administración para usuarios Administradores.

Manual de uso de la Consola de Administración para usuarios Administradores. Manual de uso de la Consola de Administración para usuarios Administradores. I. ACCESO A LA CONSOLA DE ADMINISTRACIÓN 1. Para acceder a la consola de administración abra desde Internet Explorer la dirección

Más detalles

1. INTRODUCCIÓN Y OBJETIVOS

1. INTRODUCCIÓN Y OBJETIVOS 1. INTRODUCCIÓN Y OBJETIVOS Los teléfonos móviles son ya parte esencial en nuestra forma de vida y cada día son más los usuarios de estos terminales. Hasta ahora nos han acompañado a todas partes y nos

Más detalles

Resumen General del Manual de Organización y Funciones

Resumen General del Manual de Organización y Funciones Gerencia de Tecnologías de Información Resumen General del Manual de Organización y Funciones (El Manual de Organización y Funciones fue aprobado por Resolución Administrativa SBS N 354-2011, del 17 de

Más detalles

Oasis es una fábrica para el bien común de los datos mediante la utilización de aplicaciones propuestas.

Oasis es una fábrica para el bien común de los datos mediante la utilización de aplicaciones propuestas. 1. Manual de usuario 1.1 Esquema de Oasis Oasis es una fábrica para el bien común de los datos mediante la utilización de aplicaciones propuestas. Gracias a OASIS usted podrá comprar o seleccionar aplicaciones

Más detalles