AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación...

74
UNIVERSIDAD CENTRAL DEL ECUADOR FACULTAD DE INGENIERÍA, CIENCIAS FÍSICAS Y MATEMÁTICA CARRERA DE INGENIERÍA INFORMÁTICA SISTEMA PARA GESTIONAR LA INFORMACIÓN EN EL ARCHIVO GENERAL DE LA UNIVERSIDAD CENTRAL DEL ECUADOR. TRABAJO DE GRADUACIÓN PREVIO A LA OBTENCIÓN DEL TÍTULO DE INGENIERO INFORMÁTICO. AUTOR: JAVIER PATRICIO COPARA SIMALUISA TUTOR: ING. RENÉ ALFONSO CARRILLO FLORES, MSC. QUITO, 22 DE FEBRERO 2017

Transcript of AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación...

Page 1: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

UNIVERSIDAD CENTRAL DEL ECUADOR

FACULTAD DE INGENIERÍA, CIENCIAS FÍSICAS Y MATEMÁTICA

CARRERA DE INGENIERÍA INFORMÁTICA

“SISTEMA PARA GESTIONAR LA INFORMACIÓN EN EL ARCHIVO GENERAL DE

LA UNIVERSIDAD CENTRAL DEL ECUADOR.”

TRABAJO DE GRADUACIÓN PREVIO A LA OBTENCIÓN DEL TÍTULO DE

INGENIERO INFORMÁTICO.

AUTOR: JAVIER PATRICIO COPARA SIMALUISA

TUTOR: ING. RENÉ ALFONSO CARRILLO FLORES, MSC.

QUITO, 22 DE FEBRERO

2017

Page 2: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

ii

AUTORIZACIÓN DE LA AUTORÍA INTELECTUAL

Page 3: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

iii

CERTIFICACIÓN DEL TUTOR

Page 4: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

iv

APROBACIÓN DEL TRIBUNAL

Page 5: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

v

Page 6: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

vi

DEDICATORIA

A Dios por haberme dado salud y fuerza,

a mis queridos padres Aparicio y María

por su apoyo en todo momento,

mis hermanas por su cariño incondicional,

todo este trabajo ha sido posible gracia a ustedes.

Page 7: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

vii

AGRADECIMIENTO

En primer lugar agradecer a Dios por todas las bendiciones y haberme permitido llegar a

este punto y poder cumplir con mis objetivos. A mis padres Aparicio y María que siempre

me han dado su apoyo incondicional y a quienes debo este triunfo profesional.

Mis más sinceros agradecimientos al Ing. René Alfonso Carrillo Flores por su apoyo y

colaboración en la realización de este proyecto.

A mi tutor y revisores por su valiosa orientación, apoyo y paciencia en la dirección de este

proyecto, ya que sin ellos no hubiese culminado el mismo.

Page 8: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

viii

CONTENIDO

AUTORIZACIÓN DE LA AUTORÍA INTELECTUAL ................................................................... ii

CERTIFICACIÓN DEL TUTOR ................................................................................................................ iii

APROBACIÓN DEL TRIBUNAL ............................................................................................................. iv

DEDICATORIA ................................................................................................................................................. vi

AGRADECIMIENTO .....................................................................................................................................vii

LISTA DE FIGURAS ....................................................................................................................................... x

LISTA DE TABLAS ........................................................................................................................................ xi

RESUMEN .......................................................................................................................................................... xii

ABSTRACT ...................................................................................................................................................... xiii

INTRODUCCIÓN .............................................................................................................................................. 1

1. MARCO TEORICO ................................................................................................................................. 3

1.1 Proceso .................................................................................................................................................. 3

1.1.2. Proceso de Clasificación............................................................................................................ 4

1.2. Casos de uso........................................................................................................................................ 4

1.2.1. Registro usuario ........................................................................................................................ 5

1.2.2. Editar Usuario ........................................................................................................................... 5

1.2.3. Buscar Usuario ........................................................................................................................ 5

1.2.4. Ingresar Documento ............................................................................................................. 5

1.2.5. Editar Documento.................................................................................................................. 5

1.2.6. Buscar Documento ................................................................................................................ 6

1.3. Tecnología .......................................................................................................................................... 6

1.3.1. Programación por capas ..................................................................................................... 6

1.3.2. Programación JEE .................................................................................................................. 8

1.3.3. Arquitectura MVC .................................................................................................................. 9

1.3.4. JAVA ........................................................................................................................................... 11

1.3.5. Plataforma de aplicaciones Jboss enterprise......................................................... 12

1.3.6. JavaServerFaces ................................................................................................................... 13

1.3.7. EJB .............................................................................................................................................. 14

1.3.8. NetBeans IDE ........................................................................................................................ 15

Page 9: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

ix

1.3.9. PostgreSQL ............................................................................................................................. 16

1.3.10. PrimeFaces ........................................................................................................................ 17

1.3.11. Criptografía: Algoritmos de autenticación (hash) .......................................... 18

2. METODOLOGÍA OPEN UP ............................................................................................................ 20

2.1. Introducción ..................................................................................................................................... 20

2.2. Características de Open UP........................................................................................................ 20

2.3. Principios de Open UP3 ............................................................................................................... 21

2.4. Organización de los componentes del OpenUP. ................................................................ 21

2.5. Roles5 .................................................................................................................................................. 22

2.6. Ciclo de Vida ................................................................................................................................... 23

2.6.1. Fase de Inicio.......................................................................................................................... 23

2.6.2. Fase de Elaboración ............................................................................................................. 24

2.6.3. Fase de Construcción........................................................................................................... 24

2.6.4. Fase de Transición ................................................................................................................ 25

3. DESARROLLO ...................................................................................................................................... 26

3.1. Descripción General .................................................................................................................... 27

3.1.1. Funciones del producto ................................................................................................... 27

3.2. Requerimientos............................................................................................................................. 27

3.2.1. Requerimientos Funcionales......................................................................................... 27

3.2.2. Requerimientos Funcionales......................................................................................... 34

3.3. Casos de Uso ................................................................................................................................... 34

3.3.1. Caso de Uso Administración de Usuario .................................................................. 34

3.3.2. Caso de Uso Administración de Documentos ........................................................ 37

3.4. Diagrama de Clases ..................................................................................................................... 41

3.5. Diagramas de Secuencia ........................................................................................................... 42

3.6. Diagramas de Estado .................................................................................................................. 45

3.7. Diagrama de Despliegue ........................................................................................................... 46

3.8. Codificación..................................................................................................................................... 47

4. DISCUSIÓN ............................................................................................................................................ 51

5. CONCLUSIONES ................................................................................................................................. 52

6. RECOMENDACIONES ..................................................................................................................... 53

BIBLIOGRAFIA .............................................................................................................................................. 54

Page 10: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

x

LISTA DE FIGURAS

Figura 1. Arquitectura........................................................................................................................................ 3 Figura 2. Casos de uso. ..................................................................................................................................... 4 Figura 3. Arquitectura de n niveles .............................................................................................................. 7

Figura 4. Arquitectura MVC ........................................................................................................................... 9 Figura 5. Roles .................................................................................................................................................. 23 Figura 6. Ciclo de Vida .................................................................................................................................. 25

Figura 7. Caso de uso – Administración de usuarios.......................................................................... 35 Figura 8. . Caso de uso – Administración de documentos................................................................ 37 Figura 9. Diagrama De Clase....................................................................................................................... 41

Figura 10. Diagramas de Secuencia - Agregar Usuario..................................................................... 42

Figura 11. Diagramas de Secuencia - Editar Usuario ......................................................................... 43 Figura 12. Diagramas de Secuencia - Buscar Usuario ...................................................................... 43 Figura 13. . Diagramas de Secuencia - Agregar Documento........................................................... 44

Figura 14. Diagramas de Secuencia - Editar Documento ................................................................ 44 Figura 15. Diagramas de Secuencia - Buscar Documentos ............................................................ 45

Figura 16. Diagramas de Estado ................................................................................................................. 46 Figura 17. Diagrama de Despliegue .......................................................................................................... 47

Figura 18. Código de la clase controlador .............................................................................................. 47

Figura 19. Código de la clase servicios de documentos .................................................................... 48 Figura 20. Código de la clase servicios de usuarios............................................................................ 48

Figura 21. Archivo de propiedades............................................................................................................ 49

Figura 22. Código de la clase css ............................................................................................................... 49 Figura 23. Base de datos de la tabla documentos. ............................................................................... 50

Page 11: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

xi

LISTA DE TABLAS

Tabla 1. Subproceso usuario ........................................................................................................................ 28 Tabla 2. Subproceso HCU ............................................................................................................................ 30 Tabla 3. Subproceso expedientes ........................................................................................................... 32

Tabla 4. Subproceso proyectos de titulación .................................................................................... 33

Tabla 5. Registrar Usuario ............................................................................................................................ 35 Tabla 6. Editar Usuario .................................................................................................................................. 36 Tabla 7. Buscar Usuario ................................................................................................................................ 37

Tabla 9. Ingresar Documentos..................................................................................................................... 38 Tabla 10. Editar Documentos ...................................................................................................................... 39

Tabla 11. Buscar Documentos..................................................................................................................... 40

Page 12: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

xii

RESUMEN

SISTEMA PARA GESTIONAR LA INFORMACIÓN EN EL ARCHIVO GENERAL DE

LA UNIVERSIDAD CENTRAL DEL ECUADOR.

AUTOR: Javier Patricio Copara Simaluisa

TUTOR: Ing. René Alfonso Carrillo Flores

La aplicación de registro de documentos provee al Archivo General de la Universidad

Central del Ecuador un sistema que hace eficiente dicho proceso, el cual permite almacenar

información, realizar búsquedas rápidas ya sea por tipo de documento, código o fecha de

ingreso, y de esta manera poder llevar un control de todos los documentos ingresados. La

extensa cantidad de información existente en el archivo general tanto de expedientes, hcu y

tesis, dificulta la búsqueda de cierta información solicitadas por el usuario, mediante la

utilización del sistema dicha información pueden ser obtenida de manera fácil e inmediata.

La finalidad del sistema a implementar consiste en mantener un registro de todos los

documentos existentes en el archivo universitario de forma ordenada e interactiva.

El sistema ofrece calidad en los datos ingresados mediante validaciones y niveles de

seguridad de toda la información almacenada en la base de datos mediante métodos de

encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además

el usuario administrador tendrá la capacidad de realizar auditoria de toda la información

ingresada.

PALABRAS CLAVES: APLICACIÓN WEB/ SISTEMA DE REGISTRO/

PROGRAMACIONJAVA/ POSTGRESQL/ SERVIDOR DE APLICACIONES/

METODOLOGÍA OPEN UP

Page 13: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

xiii

ABSTRACT

SYSTEM FOR MANAGING THE INFORMATION IN THE GENERAL ARCHIVE OF

THE CENTRAL UNIVERSITY OF ECUADOR.

AUTHOR: Javier Patricio Copara Simaluisa

TUTOR: Eng. René Alfonso Carrillo Flores

The application of registration of documents provides to the General Archive of the Central

University of Ecuador a system that makes this process efficient, which allows to store

information, perform quick searches either by type of document, code or date of entry, and

in this way can carry of all documents entered. The extensive quantity of information in the

general archive of both files, hcu and thesis, makes it difficult the search of certain

information requested by the user, by using the system such information can be obtained

easily and immediately. The purpose of the system to be implemented is to keep a record of

all the existing documents in the university archive in an orderly and interactive way.

The system offers quality in the data entered through validations and security levels of the

all information stored in the database through encryption methods (SHA), role management

and authentication by user and password, in addition the administrator user will have the

ability to perform auditing of the all information entered.

KEYWORDS: WEB APPLICATION / REGISTRATION SYSTEM / PROGRAMMING

JAVA / POSTGRESQL / APPLICATION SERVER / OPEN UP METHODOLOGY.

Page 14: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

1

INTRODUCCIÓN

El propósito de este proyecto integrador es poder realizar el proceso de registro de

documentos, de manera que el servicio prestado por el personal del Archivo General de la

Universidad Central del Ecuador sea sencillo y poder efectuar un trabajo de calidad, para lo

cual se desarrollará una aplicación que permitirá registrar y acceder a la información

requerida de forma inmediata, para garantizar mayor eficiencia en el servicio.

Ante la situación actual, el personal del archivo general debe estar preparado para cumplir

con las necesidades requeridas y mejorar la calidad del servicio para generar satisfacción en

los usuarios, mediante la utilización del sistema propuesto, el cual demanda de la

participación dinámica y responsabilidad del personal.

Los grandes cambios han generado que los sistemas informáticos se establezcan como un

componente esencial en las instituciones públicas o privadas para obtener una mejor visión,

con la finalidad de conseguir información adecuada y de esta manera poder satisfacer las

exigencias de los usuarios, por lo cual el presente trabajo tiene como propósito mejorar y

contribuir el servicio realizado por el archivo general.

El valor y utilidad de los documentos del archivo general se resumen en dos conceptos,

evidencia y memoria. Cabe resaltar la importancia de preservar y gestionar los documentos

universitarios, que sirven para generar conocimiento dentro de la universidad y también

como un recurso de información. En definitiva, la información de cada documento

universitario resulta imprescindible para desarrollar conocimiento e identidad de la

universidad.

Page 15: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

2

Actualmente el proceso de búsqueda de esta información es de forma manual, diariamente

el Archivo General recibe varias peticiones de cierta información, al personal encargado le

puede tomar varias horas encontrar la información solicitada por la extensa cantidad de

documentación. Esto conlleva a un tiempo de respuesta alto e ineficaz.

Para optimizar y facilitar el proceso de acceso y control a la información, se respaldará toda

la documentación en una base de datos y se desarrollará un sistema de gestión para el

personal del archivo general, con el fin del que este proceso sea automático.

Para cumplir con los objetivos planteados se realizará el almacenamiento de cada uno de

los diferentes documentos en una base de datos de manera que se tenga la facilidad de

poder organizarlos y gestionar de forma adecuada y poder garantizar la preservación de

dicha información de manera digital.

Las tecnologías de la información permiten realizar aumentos significativos en el manejo

de la información que derivan en una mejora de la calidad del servicio y brindar soluciones

óptimas a los requerimientos del usuario.

Page 16: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

3

1. MARCO TEORICO

1.1 Proceso

Los procesos son una secuencia de pasos que se deben cumplir para poder finalizar una

acción o una tarea.

La aplicación realizara los siguientes procesos.

1.1.1 Proceso de registro

Se realizara el registro de tres tipos distintos de documentos como son tesis, HCU, y

expedientes los cuales cuentan con diferente información para su ingreso.

Figura 1. Arquitectura

Fuente: Autor

Page 17: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

4

1.1.2. Proceso de Clasificación

Los documentos ingresados serán clasificados según su tipo para poder llevar un control

adecuado y facilitar búsquedas de los registros ingresados.

1.2. Casos de uso

Es una descripción de los pasos o las actividades que deberán realizarse para llevar a cabo

algún proceso. Los personajes o entidades que participarán en un caso de uso se denominan

actores. En el contexto de ingeniería del software, un caso de uso es una secuencia de

interacciones que se desarrollarán entre un sistema y sus actores en respuesta a un evento

que inicia un actor principal sobre el propio sistema. Los diagramas de casos de uso sirven

para especificar la comunicación y el comportamiento de un sistema mediante su

interacción con los usuarios y otros sistemas. O lo que es igual, un diagrama que muestra la

relación entre los actores y los casos de uso en un sistema. Una relación es una conexión

entre los elementos del modelo, por ejemplo la especialización y la generalización son

relaciones. Los diagramas de casos de uso se utilizan para ilustrar los requerimientos del

sistema al mostrar cómo reacciona a eventos que se producen en su ámbito o en él mismo.

Figura 2. Casos de uso. Fuente: https://es.wikipedia.org/wiki/Caso_de_uso

Page 18: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

5

Tenemos los siguientes casos de uso que desarrollara la aplicación:

1.2.1. Registro usuario

Se puede ingresar usuarios al sistema de acuerdo a un rol específico de manera que el rol

asignado le permita tener acceso a las funciones que vaya a desempeñar el usuario.

Esta tarea está asignada al rol del administrador.

1.2.2. Editar Usuario

El rol de administrador tiene la opción de actualizar la información del usuario como puede

ser el correo electrónico, dirección del domicilio.

1.2.3. Buscar Usuario

El sistema cuenta con la facilidad de búsqueda de usuario que debido a la cantidad de

usuarios ingresados dificultaría encontrar un registro especifico, para lo cual cuenta con la

opción de búsqueda ya sea por código o número de cedula.

1.2.4. Ingresar Documento

En esta opción el usuario tiene la opción de ingresar registros de un documento.

El usuario debe estar registrado previamente, ya que la aplicación cuenta con un manejo de

rol de usuarios, al ingresar su nombre de usuario y contraseña ingresara al menú para

posteriormente seleccionar el tipo de documento que se procederá a ingresar al sistema.

1.2.5. Editar Documento

Los registros ingresados se almacenan en un base de datos, dicha información puede ser

actualizada ya sea por algún ingreso incorrecto por parte del usuario.

Page 19: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

6

1.2.6. Buscar Documento

La extensa cantidad de documentos ingresados complicara la búsqueda de cualquier

información requerida por lo que se realizara las opciones de búsqueda para facilitar este

proceso, se podrá realizar la búsqueda por código, tipo de documento, fecha de ingreso.

1.3. Tecnología

1.3.1. Programación por capas

La programación por capas se basa en una arquitectura cliente-servidor con el principal

objetivo de separar la lógica de negocios de la lógica de diseño, es decir separar la capa de

datos de la capa de presentación al usuario.

La principal ventaja de realizar un diseño por capas es de tener varios niveles de manera

que los cambios requeridos sean fácilmente llevados a cabo.

En el diseño de un sistema informático actual se suelen usar las arquitecturas multinivel o

Programación por capas. En dichas arquitecturas a cada nivel se le confía una tarea, lo que

permite el diseño de arquitecturas escalables (que pueden ampliarse con facilidad en caso

de que las necesidades aumenten).

El más utilizado actualmente es el diseño en tres niveles (o en tres capas).

Arquitectura en n capas

La arquitectura en n capas no es más que un estilo de programación donde su objetivo

principal es separar los diferentes aspectos del desarrollo, tales como la presentación, lógica

de negocio, mecanismos de almacenamiento, entre otros.

Una razón importante por la que surge este concepto, es debido a que en la evolución del

desarrollo de software, se ha identificado la necesidad de crear nuevas capas, especializadas

Page 20: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

7

en funciones específicas, diferentes a las 3 identificadas previamente. Tal es el caso de la

seguridad, el control de excepciones, el transporte de datos entre capas, la generación de

trazas de errores, entre otros.

1.3.1.1. Ventajas

Desarrollos paralelos (en cada capa)

Encapsulamiento

Mantenimiento y soporte más sencillo (es más fácil cambiar un componente que

modificar una aplicación monolítica)

Se pueden añadir nuevos módulos para dotar al sistema de nueva funcionalidad.

En una aplicación distribuida en n-capas los diferentes procesos están distribuidos en

diferentes capas no sólo lógicas, sino también físicas. Los procesos se ejecutan en

diferentes equipos, que pueden incluso residir en plataformas o sistemas operativos

completamente distintos. Cada equipo posee una configuración distinta y está optimizado

para realizar el papel que le ha sido asignado dentro de la estructura de la aplicación, de

modo que tanto los recursos como la eficiencia global del sistema se optimicen.

Figura 3. Arquitectura de n niveles

Fuente: http://iutll-abdd.blogspot.com/2012/05/arquitectura-de-n-capas.html

Page 21: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

8

1.3.2. Programación JEE

La especificación original J2EE fue desarrollada por la empresa Sun Microsystems.

Anteriormente conocido como java 2 Platform o J2EE hasta la versión 1.4, es una

plataforma de programación para desarrollar y ejecutar software de aplicaciones en el

lenguaje de programación Java. Capaz de desarrollar en arquitecturas de n-capas

distribuidas que se ejecutara sobre un servidor de aplicaciones.

La plataforma Java EE está definida por una especificación, también es considerada

informalmente como un estándar debido a que los proveedores deben cumplir ciertos

requisitos de conformidad.

Posee varias especificaciones de API, tales como JDBC, RMI, e-mail, JMS, Servicios

Web, XML, etc, también configura algunas especificaciones únicas para componentes Java

EE, estas incluyen EJB, servlets, portlets, JSP y varias tecnologías de servicios web. Ello

permite desarrollar una aplicación empresarial portable y escalable.

1.3.2.1. Ventajas

Una arquitectura simplificada que se basa en componentes, servicios y clientes

estándar. La arquitectura maximiza la tecnología Java de escribir una vez, ejecutar

siempre.

Servicios que proporcionan la integración con los sistemas existentes, incluidos

JDBC (Java DataBase Connectivity); JMS (Java Message Service); JCA (Java

Connector Architecture; Java IDL (Java Interface Definition Language); la API

JavaMail; Java Transaction API (JTA y JTS) para transacciones empresariales

fiables.

Escalabilidad para satisfacer la demanda, distribuyendo contenedores entre varios

sistemas y utilizando la agrupación de conexiones de bases de datos.

Más opciones de herramientas para el desarrollo de aplicaciones y componentes de

proveedores que ofrecen soluciones estándar.

Page 22: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

9

Un modelo de seguridad flexible que proporciona soporte de inicio de sesión único,

integración con esquemas de seguridad heredados y un enfoque unificado para

asegurar los componentes de la aplicación.

Las especificaciones J2EE son el resultado del trabajo de un sector que implica a un gran

número de colaboradores. IBM ha contribuido al definir más del 80 por ciento de las API

J2EE.

1.3.3. Arquitectura MVC

El modelo vista controlador es un patrón de arquitectura que define la organización

independiente del Modelo (Negocio) la vista (interfaz de usuario) y el controlador

(workflow de la aplicación). De esta forma se divide el sistema en tres capas donde

tenemos el encapsulamiento de los datos, la interfaz o vista y la lógica interna o

controlador. Este patrón de arquitectura de software se basa en la idea de la reutilización de

código lo que facilitara su mantenimiento.

Figura 4. Arquitectura MVC Fuente: http://librosweb.es/libro/jobeet_1_4/capitulo_4/la_arquitectura_mvc.html

El patrón de arquitectura MVC está compuesta por:

Modelo.- se encarga de gestionar la información con la cual el sistema opera, los accesos a

dicha información, tanto consultas como actualizaciones, implementando también los

Page 23: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

10

privilegios de acceso que se hayan descrito en los requerimientos de la aplicación. Es

independiente del controlador y la vista. Envía información a la vista cuando sea solicitada

para mostrarla al usuario. La manipulación de la información se la realiza a través del

controlador.

Controlador.- responde a la petición del cliente e invoca peticiones al modelo ejecutando

la acción adecuada y creando el modelo pertinente, también puede enviar comandos a la

vista asociada a un cambio en la forma en que se presenta le modelo, por tanto se puede

decir que el controlador es el intermediario entre la vista y el modelo.

Vista.- es la presentación del modelo se puede acceder pero no cambiar su estado,

únicamente interactuar con el usuario.

El funcionamiento del patrón MVC es a través de estos tres elementos como se comunican

unos con otros, para ello es importante saber que el controlador interpreta las entradas del

usuario (teclado como ratón) y se envía esta acción al modelo y a la vista para que se

ejecuten las peticiones.

Comunicación.- el patrón modelo vista controlador debe tener una comunicación estable,

de manera que las iteraciones se las realice sin ninguna dificultad. La comunicación entre la

vista y el controlador es bastante básica pues están diseñados para operar juntos, aunque los

modelos se comunican de una forma diferente.

1.3.3.1. Ventajas

La implementación se realiza de forma modular.

Sus vistas muestran información actualizada siempre. El programador no debe

preocuparse de solicitar que las vistas se actualicen, ya que este proceso es realizado

automáticamente por el modelo de la aplicación.

Cualquier modificación que afecte al dominio, como aumentar métodos o datos

contenidos, implica una modificación sólo en el modelo y las interfaces del mismo

con las vistas, no todo el mecanismo de comunicación y de actualización entre

modelos.

Page 24: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

11

Las modificaciones a las vistas no afectan al modelo de dominio, simplemente se

modifica la representación de la información, no su tratamiento.

1.3.4. JAVA

Es un lenguaje de programación orientado a objetos que se incorporó al ámbito de la

informática en los años noventa. La idea de Java es que pueda realizarse programas con la

posibilidad de ejecutarse en cualquier contexto, en cualquier ambiente, siendo así su

portabilidad uno de sus principales logros a partir de 2012, uno de los lenguajes de

programación más populares en uso, particularmente para aplicaciones de cliente-

servidor de web. Las aplicaciones de Java son generalmente compiladas a bytecode (clase

Java) que puede ejecutarse en cualquier máquina virtual Java (JVM) sin importar

la arquitectura de la computadora subyacente.

La aplicación de Java es muy amplia. El lenguaje se utiliza en una gran variedad de

dispositivos móviles, como teléfonos y pequeños electrodomésticos. Dentro del ámbito de

Internet, Java permite desarrollar pequeñas aplicaciones (conocidas con el nombre

de applets) que se incrustan en el código HTML de una página, para su directa ejecución

desde un navegador; cabe mencionar que es necesario contar con el plug-in adecuado para

su funcionamiento.

1.3.4.1. Ventajas

Entre las ventajas más evidentes que ofrece se encuentra un gran control sobre el código y

una mejor organización, dado que basta con escribir una vez los métodos y las propiedades

de un objeto, independientemente de la cantidad de veces que se utilicen.

Es muy flexible: Java es un lenguaje especialmente preparado para la reutilización del

código; permite a sus usuarios tomar un programa que hayan desarrollado tiempo atrás y

actualizarlo con mucha facilidad, sea que necesiten agregar funciones o adaptarlo a un

nuevo entorno.

Page 25: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

12

Funciona en cualquier plataforma: a diferencia de los programas que requieren de

versiones específicas para cada sistema operativo (tales como Windows o Mac), las

aplicaciones desarrolladas en Java funcionan en cualquier entorno, dado que no es

el sistema quien las ejecuta, sino la máquina virtual (conocida como Java Virtual

Machine o JVM).

Su uso no acarrea inversiones económicas: programar en Java es absolutamente gratis;

no es necesario adquirir ninguna licencia, sino simplemente descargar el kit de desarrollo

JDK.

Es de fuente abierta: Java ofrece el código de casi todas sus librerías nativas para que los

desarrolladores puedan conocerlas y estudiarlas en profundidad, o bien ampliar su

funcionalidad.

Es un lenguaje expandible: continuando con el punto anterior, cada programador tiene la

libertad de revisar y mejorar el código nativo de Java, y su trabajo puede convertirse en la

solución a los problemas de muchas personas en todo el mundo. Infinidad de

desarrolladores han aprovechado esta virtud del lenguaje y continúan haciéndolo.

1.3.5. Plataforma de aplicaciones Jboss enterprise

JBoss Enterprise Application Platform es la plataforma para aplicaciones Java líder en la

industria, integrada, simplificada y proporcionada por el líder en software de código abierto

para empresas.

La Plataforma de Aplicaciones JBoss Enterprise facilita el desarrollo, la implantación y la

gestión de las aplicaciones Java. Incluye las tecnologías de código abierto más avanzadas

para la creación, despliegue y alojamiento de aplicaciones Java de empresas y de servicios

en una arquitectura orientada a servicios. Con la Plataforma de Aplicaciones JBoss

Enterprise, las aplicaciones Java para empresa son sencillas, abiertas y asequibles.

Page 26: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

13

La Plataforma de Aplicaciones JBoss Enterprise equilibra innovación y estabilidad

empresarial. Integrando el servidor de aplicaciones más utilizado con marcos de aplicación

de última generación, mediante una suscripción sencilla, abierta y asequible, la Plataforma

de Aplicaciones JBoss Enterprise mejora la productividad del desarrollador, elimina las

dificultades del desarrollo Java, simplifica el desarrollo de aplicaciones de misión crítica de

última generación y le ayuda a extender el presupuesto para middleware de su empresa,

aligerando así su coste total de propiedad.

1.3.5.1. Ventajas

Innovación y estabilidad.

Mejora la productividad del desarrollador.

Mejora la funcionalidad y Rendimiento para las empresas mediante una alta

disponibilidad.

Es de código abierto.

1.3.6. JavaServerFaces

Para el desarrollo de aplicaciones de negocios se utiliza frecuentemente el patrón de diseño

MVC Modelo Vista Controlador (Model View Contrdller) que además es sencillo de

implementar en las aplicaciones web. En este patrón el modelo es modificable por las

funciones de negocio. Estas funciones son solicitadas por el usuario mediante el uso de un

conjunto de vistas de la aplicación que solicitan dichas funciones de negocio a través de un

controlador, que es el módulo que recibe las peticiones de las vistas y las procesa. Se suele

clasificar en dos tipos a las aplicaciones basadas en MVC:

Tipo 1. Las vistas conocen la acción que se va a invocar en su petición. Normalmente

la función esta cableada dentro de la vista

Tipo 2. El controlador introduce un conjunto de reglas que mapean a las peticiones con

las funciones, controlando además el flujo de navegación por la aplicación.

Page 27: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

14

Un ejemplo de aplicaciones de tipo 1 son las que se construyen utilizando JSF o ASP.NET

y como ejemplo de tipo 2 serían las creadas con Struts.

La creación de aplicaciones basadas en el patrón MVC se ve facilitada por el uso de marcos

de trabajo (frameworks). Un marco de trabajo es un conjunto de APIs y módulos

normalmente acompañados de la documentación y guia de uso que definen la manera de

implementar alguna de las capas de nuestra aplicación. Lo podemos ver también como la

estructura o cimientos sobre los que crear nuestra aplicación.

Es un framework o ambiente de trabajo, destinado a facilitar la construcción y desarrollo de

interfaces para aplicaciones basadas en entorno Web. JSF tiene la función de proveer un

grupo muy extenso de herramientas desarrolladas para facilitar la creación de interfaces ,

herramientas tales como: botones, cajas de texto, tabla de datos, etc. Similar a os objetos

empleados para la generación de aplicaciones de escritorio.

JSF introduce 2 nuevos términos al mundo del desarrollo de aplicaciones para JAVA:

Managed Bean

Backing Bean

1.3.7. EJB

Con la tecnología J2EE EnterpriseJavaBeans es posible desarrollar componentes (enterprise

beans) que luego se puede reutilizar y ensamblar en distintas aplicaciones que se

desarrollara para la empresa. Se podría usar después un bean cliente en un programa de

contabilidad o en una aplicación de comercio electrónico o virtualmente en cualquier

programa en el que se necesite representar un cliente. De hecho, incluso sería posible que el

desarrollador del bean y el ensamblador de la aplicación no fueran la misma persona, o ni

siquiera trabajaran en la misma empresa.

El desarrollo basado en componentes promete un paso más en el camino de la

programación orientada a objetos. Con la programación orientada a objetos se puede

reutilizar clases, pero con componentes es posible reutilizar los niveles de funcionalidades e

incluso es posible modificar estas funcionalidades y adaptarlas a cada entorno de trabajo

Page 28: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

15

particular sin tocar el código del componente desarrollado. El contenedor de componentes

se denomina contenedor EJB y es algo así como el sistema operativo en el que éstos

residen. En Java existe un modelo de programación de objetos remotos denominado RMI.

Con RMI es posible enviar peticiones a objetos que están ejecutándose en otra máquina

virtual Java. Podemos ver un componente EJB como un objeto remoto RMI que reside en

un contenedor EJB que le proporciona un conjunto de servicios adicionales.

El desarrollo basado en componentes ha creado expectativas sobre la aparición de una serie

de empresas dedicadas a implementar y vender componentes específicos a terceros. Este

mercado de componentes nunca ha llegado a tener la suficiente masa crítica como para

crear una industria sostenible. Esto es debido a distintas razones, como la dificultad en el

diseño de componentes genéricos capaces de adaptarse a distintos dominios de aplicación,

la falta de estandarización de los dominios de aplicación o la diversidad de estos dominios.

1.3.8. NetBeans IDE

Es una plataforma de desarrollo, diseñada para ser extendida de forma indefinida a través

de plug-ins. Fue concebida desde sus orígenes para convertirse en una plataforma de

integración de herramientas de desarrollo. No tiene en mente un lenguaje específico, sino

que es un IDE genérico, aunque goza de mucha popularidad entre la comunidad de

desarrolladores del lenguaje Java usando el plug-in JDT que viene incluido en la

distribución estándar del IDE.

Proporciona herramientas para la gestión de espacios de trabajo, escribir, desplegar,

ejecutar y depurar aplicaciones.

Principales características

Perspectivas, editores y vistas: en Eclipse el concepto de trabajo está basado en las

perspectivas, que no es otra cosa que una pre-configuración de ventanas y editores,

relacionadas entre sí, y que nos permiten trabajar en un determinado entorno de trabajo de

forma óptima.

Page 29: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

16

Gestión de proyectos: el desarrollo se basa en los proyectos, que son el conjunto de

recursos relacionados entre sí, como puede ser el código fuente, documentación, ficheros

configuración, árbol de directorios, etc. El IDE nos proporcionará asistentes y ayudas para

la creación de proyectos.

Depurador de código: se incluye un potente depurador, de uso fácil e intuitivo, y que

visualmente nos ayuda a mejorar nuestro código. Para ello sólo se debe ejecutar el

programa en modo depuración.

Extensa colección de plug-ins: están disponibles en una gran cantidad, unos publicados

por terceros. Al haber sido un estándar durante tanto tiempo, la colección disponible es muy

grande. Los hay gratuitos, de pago, bajo distintas licencias, pero casi para cualquier cosa

que nos imaginemos tenemos el plug-in adecuado.

1.3.9. PostgreSQL

PostgreSQL es un sistema de gestión de bases de datos objeto-relacional, distribuido bajo

licencia BSD y con su código fuente disponible libremente. Es el sistema de gestión de

bases de datos de código abierto más potente del mercado y en sus últimas versiones no

tiene nada que envidiarle a otras bases de datos comerciales.

Utiliza un modelo cliente/servidor y usa multiprocesos en vez de multihilos para garantizar

la estabilidad del sistema. Un fallo en uno de los procesos no afectará el resto y el sistema

continuará funcionando.

Características

Es una base de datos 100% ACID.

Page 30: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

17

Soporta distintos tipos de datos: además del soporte para los tipos base, también

soporta datos de tipo fecha, monetarios, elementos gráficos, datos sobre redes,

cadenas de bits, etc. También permite la creación de tipos propios.

Incluye herencia entre tablas, por lo que a este gestor de bases de datos se le incluye

entre los gestores objeto-relacionales.

Copias de seguridad en caliente (Online/hot backups)

Unicode

Multi-Version Concurrency Control (MVCC)

Múltiples métodos de autentificación

Acceso encriptado via SSL

SE-postgres

Completa documentación

Licencia BSD

Disponible para Linux y UNIX en todas sus variantes (AIX, BSD, HP-UX, SGI

IRIX, Mac OS X, Solaris, Tru64) y Windows 32/64bit.

1.3.10. PrimeFaces

PrimeFaces es una librería de componentes visuales open source desarrollada y mantenida

por Prime Technology, una compañía Turca de IT especializada en consultoría ágil, JSF,

Java EE y Outsourcing.

Las principales características de Primefaces son:

Soporte nativo de Ajax, incluyendo Push/Comet.

Kit para crear aplicaciones web para móviles.

Es compatible con otras librerías de componentes, como JBoss RichFaces.

Uso de javascript no intrusivo (no aparece en línea dentro de los elementos, sino

dentro de un bloque <script>).

es un proyecto open source, activo y bastante estable entre versiones.

Page 31: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

18

Algunos inconvenientes podrían ser:

Para utilizar el soporte de Ajax tenemos que indicarlo explícitamente, por medio de

atributos específicos de cada componente.

No podemos utilizar el soporte de Ajax de JSF 2 (mediante <f:ajax>) con los

componentes de Primefaces.

1.3.11. Criptografía: Algoritmos de autenticación (hash)

Una función hash es un método para generar claves o llaves que representen de manera casi

unívoca a un documento o conjunto de datos. Es una operación matemática que se realiza

sobre este conjunto de datos de cualquier longitud, y su salida es una huella digital, de

tamaño fijo e independiente de la dimensión del documento original. El contenido es

ilegible.

Es posible que existan huellas digitales iguales para objetos diferentes, porque una función

hash, en el caso del SHA-1 tiene 160bits, y los posibles objetos a resumir no tienen un

tamaño límite.

A partir de un hash o huella digital, no podemos recuperar el conjunto de datos originales.

Los más conocidos son el MD5 y el SHA-1. Cifrar una huella digital se conoce como firma

digital.

Requisitos que deben cumplir las funciones hash:

Imposibilidad de obtener el texto original a partir de la huella digital.

Imposibilidad de encontrar un conjunto de datos diferentes que tengan la misma

huella digital.

Poder transformar un texto de longitud variable en una huella de tamaño fijo (como

el SHA-1 que es de 160bits).

Facilidad de empleo e implementación.

Page 32: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

19

SHA-1 ha sido examinado muy de cerca por la comunidad criptográfica pública, y no se ha

encontrado ningún ataque efectivo. No obstante, en el año 2004, un número de ataques

significativos fueron divulgados sobre funciones criptográficas de hash con una estructura

similar a SHA-1, lo que ha planteado dudas sobre la seguridad a largo plazo de SHA-1

Page 33: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

20

2. METODOLOGÍA OPEN UP

2.1. Introducción

Cada uno de los proyectos debe adaptarse a la metodología que mejor cumpla con sus

requerimientos, se debe tomar en cuenta las necesidades de los procesos como el tamaño

del equipo, la complejidad de la arquitectura, las innovaciones tecnológicas, los estándares

de conformidad, entre otras.

La metodología de desarrollo de software denominada OpenUP, creada por IBM pero paso

a manos de la empresa Eclipse quien en 2006 lanzo bajo una licencia gratuita.

OpenUP que requiere únicamente un contenido fundamental sin embargo es completa en el

sentido de que manifiesta por completo el proceso del desarrollo del sistema, para cubrir

ciertas necesidades que no están contempladas en su contenido, OpenUp es extensible a ser

utilizado como base sobre la cual se puede adaptar al contenido de otro proceso que sea

necesario. Es un proceso modelo y extensible, dirigido a gestión y desarrollo de proyectos

de software basados en un desarrollo iterativo, ágil e incremental y es aplicable a un

conjunto amplio de plataformas y aplicaciones de desarrollo.

Sin embargo OpenUP es completa en el sentido de que manifiesta por completo el proceso

de construir un sistema.

2.2. Características de Open UP

Desarrollo incremental.

Uso de casos de uso y escenarios.

Manejo de riesgos.

Diseño basado en la arquitectura.

Page 34: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

21

2.3. Principios de Open UP3

Entre los principios tenemos:

Colaborar para sincronizar intereses y compartir conocimiento. Este principio

promueve prácticas que impulsan un ambiente de equipo saludable, facilitan la

colaboración y desarrollan un conocimiento compartido del proyecto.

Equilibrar las prioridades para maximizar el beneficio obtenido por los

interesados en el proyecto. Este principio promueve prácticas que permiten a los

participantes de los proyectos desarrollar una solución que maximice

los beneficios obtenidos por los participantes y que cumple con los requisitos y

restricciones del proyecto.

Centrarse en la arquitectura de forma temprana para minimizar el riesgo y

organizar el desarrollo.

Desarrollo evolutivo para obtener retroalimentación y mejoramiento continuo.

Este principio promueve prácticas que permiten a los equipos de desarrollo obtener

retroalimentación temprana y continua de los participantes del proyecto, permitiendo

demostrarles incrementos progresivos en la funcionalidad.

2.4. Organización de los componentes del OpenUP.

Está organizado en dos dimensiones diferentes pero al mismo tiempo interrelacionadas: el

método y el proceso.

El método4.- es donde los elementos tales como (roles, tareas, artefactos y lineamientos)

son definidos, sin tener en cuenta como son utilizados en el ciclo de vida del proyecto.

3 METODOLOGÍA OPEN UP (recuperado el 28 de marzo del 2016)

http://openup3.blogspot.com/2014/02/metodologia-open-up.html 4 OPEN UP (recuperado el 30 de marzo del 2016) https://es.wikipedia.org/wiki/OpenUP

Page 35: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

22

El proceso.- los elementos del método son aplicados de forma ordenada en el tiempo. Se

pueden crear varios ciclos de vida para diferentes proyectos a partir del mismo conjunto de

elementos del método.

2.5. Roles5

Los roles de Open Up representan las habilidades necesarias de un equipo.

Analista.

Representa al cliente y el usuario final, se refiere a la obtención de requerimientos de los

interesados, por medio de él se comprende el problema a resolver capturando y creando las

prioridades de los requerimientos.

Arquitecto

Es el responsable del diseño de arquitectura de software, tomando las decisiones técnicas

claves, las cuales limitaran el conjunto de diseño y la implementación del proyecto.

Desarrollador

Tiene la responsabilidad del desarrollo de una parte del sistema o el sistema completo

dependiendo de la magnitud del mismo, se encarga del diseño ajustándolo a la arquitectura

y de la implementación de pruebas unitarias y de integración para los componentes.

Líder del proyecto6

Dirige la planificación del proyecto en colaboración con las partes interesadas y el equipo,

coordina las interacciones de los interesados, manteniendo al equipo del proyecto enfocado

en los objetivos del mismo.

5 OPEN UP Roles (recuperado el 30 de marzo del 2016) http://openup3.blogspot.com/2014/02/metodologia-open-up.html 6 OPEN UP (recuperado el 31 de marzo del 2016) http://openupeaojmp.blogspot.com/2013/09/metodologia-open-up.html

Page 36: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

23

Las partes interesadas

Representan al grupo que está interesado en el proyecto, quienes necesariamente deberán

de ser satisfechos por el mismo. Este papel lo puede jugar cualquier persona que es afectada

por los objetivos del proyecto.

El comprobador

Es el responsable de las actividades básicas y de realizar las pruebas, se encarga de la

identificación, definición, implementación y conducción de las pruebas necesarias. Así

como el ingreso de pruebas y el análisis de resultados.

Cualquier otro rol, representa a cualquier otra persona en el equipo que puede realizar

tareas generales.

Figura 5. Roles

Fuente: http://openup3.blogspot.com/2014/02/metodologia-open-up.html

2.6. Ciclo de Vida

2.6.1. Fase de Inicio

En esta fase, las necesidades de cada participante del proyecto son tomadas en cuenta y

plasmadas en los objetivos del proyecto. Se definen para el proyecto: el ámbito, los limites,

Page 37: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

24

el criterio de aceptación, los casos de uso críticos, una estimación inicial del coste y un

boceto de la planeación.

Objetivos.

Entender qué construir.

Identificar funcionalidad Clave.

Determinar al menos una posible solución.

Entender costos, calendario y riesgos del proyecto.

2.6.2. Fase de Elaboración

En esta fase se realizan tareas de análisis del dominio y definición de la arquitectura del

sistema. Se debe elaborar un plan de proyecto, estableciendo unos requisitos y arquitectura

estables. Al final de la fase se debe tener una definición clara y precisa de los casos de uso,

actores, la arquitectura del sistema y un prototipo ejecutable.

Objetivos:

Obtener un entendimiento con mayor nivel de detalle de los requerimientos

Diseñar, implementar y validar la línea base arquitectónica.

Mitigar riesgos y lograr estimaciones de costos y calendarios más precisos.

2.6.3. Fase de Construcción

En esta fase todos los componentes y funcionalidades del sistema que falten por

implementar son realizados, probados e integrados. Los resultados obtenidos en forma de

incrementos ejecutables deben ser desarrollados de la forma más rápida posible sin dejar de

lado la calidad de lo desarrollado.

Page 38: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

25

Objetivos.

Iterativamente desarrollar un producto completo que pueda ser transicionado a la

comunidad usuaria.

Minimizar los costos de desarrollo y lograr cierto nivel de paralelismo.

2.6.4. Fase de Transición

Esta fase corresponde a la introducción del producto en la comunidad de usuarios, cuando

el producto esta lo suficiente maduro. La fase de la transición consta de las sub-fases de

pruebas beta, pilotaje y capacitación de los usuarios finales de los encargados del

mantenimiento del sistema. En función a la respuesta obtenida puede ser necesario realizar

cambios en las entregas finales o implementar alguna funcionalidad más solicitada por la

mayoría de usuarios.

Objetivos.

Realizar Beta Testing para determinar si se alcanzaron las expectativas de los

usuarios.

Alcanzar la concordancia con los stakeholders de que el producto está terminado.

Mejorar la performance futura a través del análisis retrospectivo del proyecto.

Figura 6. Ciclo de Vida Fuente: http://openup3.blogspot.com/2014_02_01_archive.html

Page 39: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

26

3. DESARROLLO

Este capítulo tiene como propósito presentar un documento que sirva como referencia en

cuanto a la especificación de requerimientos funcionales y no funcionales, formando parte

de la documentación del sistema, por cual servirá de guía para programadores,

administradores y usuarios en general.

El sistema de registro de documentos del archivo general de la Universidad Central del

Ecuador, para optimizar el proceso y crear una base de información y una memoria para la

universidad. En términos generales la aplicación contara con las siguientes funcionalidades:

Administración de usuario y roles

Registro de datos (HCU, Expedientes, Tesis)

Búsqueda de los documentos registrados

El sistema contara con los siguientes usuarios:

Administrador.- tendrá la función de registrar nuevos usuario, asignar roles, ingreso de

datos, realizar búsquedas y administración de información.

Usuario Archivo.- es el encargado del levantamiento de la información de los documentos

del archivo.

Ingresara los registros de documentos a la base de datos.

Page 40: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

27

3.1. Descripción General

Perspectiva del Producto

El sistema aumentará la eficiencia al momento de realizar una búsqueda de algún tipo de

documento el cual disminuirá el tiempo en cumplir con dicho proceso, el sistema podrá

adaptarse a los cambios y ser escalable hará que tenga un mayor enfoque.

3.1.1. Funciones del producto

Ingreso de Información

El sistema realizara un proceso de validación para verificar que los datos ingresados sean

válidos.

Salida de Información

El sistema tiene la capacidad de realizar la búsqueda y mostrar toda la información

concerniente al documento.

Seguridad

El sistema posee una administración de usuarios es decir que para ingresar antes debe

loguearse, con el usuario asignado el cual estará limitado de las acciones a realizar en el

sistema dependiendo del rol que haya sido asignado.

3.2. Requerimientos

El sistema cuenta con los siguientes requerimientos tanto funcionales como no funcionales.

3.2.1. Requerimientos Funcionales

Se describe las funcionalidades del sistema lo que va a poder hacer, estos requerimientos

dependen de la capacidad del software, de los usuarios y del enfoque general, tenemos los

siguientes requerimientos principales:

Page 41: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

28

Administración de usuarios

El sistema permite registrar usuarios y asignarles un determinado rol, tiene la opción de

buscar usuarios y activar o desactivar a los usuarios.

Datos de Entrada.- se ingresan los siguientes datos, nombres completos, numero de

cedula, correo electrónico, y el estado en que se encuentra el registro (Activo o Inactivo).

Subproceso.- verificar si los datos ingresados son válidos y comprobar que no exista un

usuario ya registrado con esos datos.

Nombre Atributo Descripción Longitud

Nombre completo Se ingresa el nombre del

usuario, únicamente letras.

Tamaño máximo 50

caracteres

Número de cedula Únicamente caracteres

numéricos.

Longitud máxima de 10

caracteres.

Correo electrónico Caracteres alfanuméricos. Máximo 50 caracteres.

Tabla 1. Subproceso usuario

Fuente: Autor

Datos de Salida.- se actualiza la base de datos con los datos ingresados.

Registro de documentos

a) Datos HCU

Permitirá ingresar nuevos registros de HCU.

Datos de Entrada.- localización, fecha de sesión, fecha normalizada, lugar de sesión,

orden del día, aprobación orden del día, aprobación acta, informe de autoridades, varios,

asunto a tratarse, numero de oficio de resolución, fecha del oficio, dirigido a, términos de

descripción, notas, documentalista, fecha elaboración registro.

Page 42: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

29

Subproceso.- validar cada uno de los datos que cumpla con los requerimientos si los datos

son correctos que proceda a guardar en la base de datos.

Nombre Atributo Descripción Longitud

Localización Se ingresa caracteres

alfanuméricos.

Tamaño máximo 30

caracteres

Fecha de sesión En el formato día/mes/año Tamaño predefinido por el

atributo date.

Fecha normalizada En el formato día/mes/año Tamaño predefinido por el

atributo date.

Lugar de sesión Ingreso de caracteres

alfanuméricos.

Longitud máxima de 100

caracteres

Orden del día Caracteres alfanuméricos. Máximo 500 caracteres.

Aprobación orden del día. Opción Si/No Dato booleano.

Aprobación acta. Opción Si/No Dato booleano.

Informe de autoridades. Ingreso de caracteres

alfanuméricos.

Tamaño máximo de 500

caracteres.

Asuntos a tratarse. Caracteres alfanuméricos. Tamaño máximo 1000

caracteres.

Varios Ingreso de caracteres

alfanuméricos.

Tamaño máximo 500

caracteres.

Número de oficio de

resolución

Únicamente números. Tamaño máximo 20

caracteres.

Fecha del oficio En el formato día/mes/año. Tamaño predefinido por el

atributo date.

Dirigido a Ingreso solo letras. Longitud máxima 50

caracteres.

Términos de descripción Caracteres alfanuméricos. Longitud máxima 100

caracteres.

Notas Ingreso de caracteres

alfanuméricos.

Longitud máxima 500

caracteres.

Page 43: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

30

Documentalista Ingreso solo letras. Longitud máxima 50

caracteres.

Fecha elaboración registro En el formato día/mes/año. Tamaño predefinido por el

atributo date.

Tabla 2. Subproceso HCU

Fuente: Autor

Datos de Salida.- actualizar la base de datos con la información ingresada.

b) Datos Expedientes

Permitirá ingresar nuevos registros de expedientes.

Datos de Entrada.- localización, tipo de documento, numero de inventario, autor personal,

número de identificación, año grado, fecha normalizada, modalidad de estudio, modalidad

de grado, facultad, carrera, título profesional obtenido, título de tema del proyecto, desglose

documento, plan de tesis, revalida, título profesional a revalidar, lugar de la revalidación,

institución de la revalidación, años o semestres cursados, nivel de estudio, notas

adicionales, numero de fojas útiles, documentalista, fecha elaboración registro.

Subproceso.- validar cada uno de los datos que cumpla con los requerimientos si los datos

son correctos que proceda a guardar en la base de datos.

Nombre Atributo Descripción Longitud

Localización Se ingresa caracteres

alfanuméricos.

Tamaño máximo 30

caracteres.

Tipo de documento Únicamente letras. Tamaño máximo 50

caracteres.

Número de inventario Únicamente números. Tamaño máximo 20

caracteres.

Autor personal Ingreso de caracteres

alfanuméricos.

Longitud máxima de 50

caracteres

Número de identificación Caracteres numéricos. Máximo 10 caracteres.

Año grado Caracteres numéricos. Máximo 4 caracteres

Page 44: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

31

Fecha normalizada En el formato día/mes/año Tamaño predefinido por el

atributo date.

Modalidad de estudio Ingreso de caracteres

alfanuméricos.

Tamaño máximo de 100

caracteres.

Modalidad de grado Caracteres alfanuméricos. Tamaño máximo 100

caracteres.

Facultad Únicamente letras. Tamaño máximo 100

caracteres.

Carrera Únicamente letras. Tamaño máximo 100

caracteres.

Título profesional obtenido Caracteres alfanuméricos. Tamaño máximo 200

caracteres.

Título de tema del proyecto Caracteres alfanuméricos. Longitud máxima 500

caracteres.

Desglose documento Caracteres alfanuméricos. Longitud máxima 100

caracteres.

Plan de tesis Ingreso de caracteres

alfanuméricos.

Longitud máxima 100

caracteres.

Revalida Opción Si/No Atributo booleano.

Título profesional a

revalidar

Ingreso de caracteres

alfanuméricos.

Longitud máxima 100

caracteres.

Lugar de la revalidación Ingreso de caracteres

alfanuméricos.

Longitud máxima 50

caracteres.

Institución de la

revalidación

Ingreso de caracteres

alfanuméricos.

Longitud máxima 100

caracteres.

Años o semestres cursados Ingreso de caracteres

alfanuméricos.

Longitud máxima 20

caracteres.

Nivel de estudio Ingreso de caracteres

alfanuméricos.

Longitud máxima 30

caracteres.

Notas adicionales Ingreso de caracteres

alfanuméricos.

Longitud máxima 500

caracteres.

Page 45: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

32

Número de fojas útiles Únicamente caracteres

numéricos.

Longitud máxima 10

caracteres.

Documentalista Únicamente letras. Longitud máxima 50

caracteres.

Fecha elaboración registro. En el formato día/mes/año Tamaño predefinido por el

atributo date.

Tabla 3. Subproceso expedientes Fuente: Autor

Datos de Salida.- actualizar la base de datos con la información ingresada.

c) Datos Proyectos de Titulación

Permitirá ingresar nuevos registros de proyectos de titulación.

Datos de Entrada.- localización, numero de inventario, año grado, fecha normalizada,

facultad, carrera, título profesional obtenido, trabajo de titulación, pregrado, posgrado,

notas adicionales, numero de fojas útiles, documentalista, fecha elaboración registro.

Subproceso.- validar cada uno de los datos que cumpla con los requerimientos si los datos

son correctos que proceda a guardar en la base de datos.

Nombre Atributo Descripción Longitud

Localización Se ingresa caracteres

alfanuméricos.

Tamaño máximo 30

caracteres.

Número de inventario Únicamente números. Tamaño máximo 20

caracteres.

Año grado Caracteres numéricos. Máximo 4 caracteres

Fecha normalizada En el formato día/mes/año Tamaño predefinido por el

atributo date.

Facultad Únicamente letras. Tamaño máximo 100

caracteres.

Carrera Únicamente letras. Tamaño máximo 100

Page 46: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

33

caracteres.

Título profesional obtenido Caracteres alfanuméricos. Tamaño máximo 200

caracteres.

Título de tema del proyecto Caracteres alfanuméricos. Longitud máxima 500

caracteres.

Pregrado Caracteres alfanuméricos. Longitud máxima 100

caracteres.

Posgrado Ingreso de caracteres

alfanuméricos.

Longitud máxima 100

caracteres.

Notas adicionales Ingreso de caracteres

alfanuméricos.

Longitud máxima 500

caracteres.

Número de fojas útiles Únicamente caracteres

numéricos.

Longitud máxima 10

caracteres.

Documentalista Únicamente letras. Longitud máxima 50

caracteres.

Fecha elaboración registro. En el formato día/mes/año Tamaño predefinido por el

atributo date.

Tabla 4. Subproceso proyectos de titulación Fuente: Autor

Datos de Salida.- actualizar la base de datos con la información ingresada de proyectos de

titulación.

Búsquedas

El sistema permitirá buscar cada tipo de documento sea expedientes, HCU, proyectos de

titulación, tanto por el nombre, localización o documentalista.

Datos de Entrada.- identificación el campo por el cual se va a realizar la búsqueda.

Proceso.- verificar si la información es correcta.

Datos de Salida.- visualizar la información.

Page 47: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

34

3.2.2. Requerimientos Funcionales

Son aquellos requerimientos que no se refieren a un requisito específico que proporciona el

sistema. Por tanto, se refieren a todos los requisitos que no describen información a

guardar, ni funciones a realizar, sino características de funcionamiento.

Requerimientos del Sistema

La aplicación debe ser multiplataforma, de manera que se pueda ejecutar en cualquier tipo

de explorador de internet y en los distintos sistemas operativos ya sea Windows o Linux.

Requerimientos de Interfaz de Usuario

El sistema debe ser amigable e intuitivo para facilitar el trabajo que se desarrollara en la

aplicación ya que debe estar enfocado al usuario final. Cumplir con los estándares, un

diseño ligero para evitar el exceso de carga de la página.

Requerimientos de Seguridad

La aplicación contara con la seguridad necesaria mediante la autentificación de usuarios, lo

cual limitara el acceso a la información y control de características como la manipulación

de datos.

Requerimientos de Fiabilidad

Se llevara un control de la validación de los distintos datos que se ingresara tanto fechas,

nombres, lo que evitara el ingreso de datos erróneos.

3.3. Casos de Uso

3.3.1. Caso de Uso Administración de Usuario

Page 48: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

35

Figura 7. Caso de uso – Administración de usuarios Fuente: Autor

Registrar Usuario

Nombre del caso de

uso

Administración de usuarios.

Descripción Agregar nuevos usuarios y asignar los roles.

Actores Administrador

Precondiciones El usuario administrador debe autenticarse y poseer todos los

permisos necesarios.

Flujo principal 1. Se procede a seleccionar en el menú la opción de

usuario.

2. Obtenemos la opción de nuevo usuario.

3. Seleccionamos la opción.

4. Cargara un formulario para realizar el ingreso del

usuario, el cual contiene los datos necesarios.

5. Al escoger la opción de guardar, el usuario será agregado

a la base de datos.

Flujos alternativos. El sistema cuenta con la validación en cada campo, si el dato es

incorrecto se mostrara un mensaje de error.

Pos Condiciones El usuario es guardado.

Tabla 5. Registrar Usuario

Fuente: Autor

Administrador Registrar Usuario

Guardar Usuario

Asignar Rol

Page 49: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

36

Editar usuario

Nombre del caso de uso Editar usuarios.

Descripción Permite modificar usuarios, actualizar la

información.

Actores Administrador.

Precondiciones 1. El usuario administrador debe

autenticarse y poseer todos los

permisos necesarios.

2. Tener una lista de usuarios.

Flujo principal 1. Seleccionar el usuario que se desea

modificar la información.

2. Obtenemos un formulario con la

información actual del usuario.

3. Actualizar los datos agregados.

Flujos alternativos. El sistema cuenta con la validación en cada

campo, si el dato es incorrecto se mostrara

un mensaje de error.

Pos Condiciones El usuario es actualizado.

Tabla 6. Editar Usuario

Fuente: Autor

Buscar usuario

Nombre del caso de uso Buscar usuario.

Descripción Permite buscar usuarios, crear una lista con

datos comunes.

Actores Administrador.

Precondiciones 1. El usuario administrador debe

autenticarse y poseer todos los

permisos necesarios.

Page 50: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

37

2. Tener una lista de usuarios.

Flujo principal 1. Ingresar el dato por el cual se va a

realizar la búsqueda.

2. Obtenemos una lista con todas las

coincidencias, si el dato ingresado es

único se obtendrá un solo registro.

3. Visualizar la información de la

búsqueda

Flujos alternativos. El sistema valida la búsqueda si no existe el

usuario se mostrara un mensaje.

Pos Condiciones El usuario es encontrado y mostrado.

Tabla 7. Buscar Usuario

Fuente: Autor

3.3.2. Caso de Uso Administración de Documentos

Figura 8. . Caso de uso – Administración de documentos

Fuente: Autor

UsuarioIngresar Documentación

Editar Documentacón

Clasificar Documentación

Page 51: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

38

Ingresar Documentos

Nombre del caso de uso Administración de documentos.

Descripción Agregar nuevos documentos a una base de

datos.

Actores Administrador, usuario

Precondiciones El usuario administrador debe autenticarse

y poseer todos los permisos necesarios.

Flujo principal 1. Se procede a seleccionar en el menú

la opción de documentos.

2. Obtenemos un menú con los

diferentes tipos de documentos.

3. Seleccionamos el tipo de

documentos que se va a ingresar.

4. Cargara un formulario para realizar

el ingreso, el cual contiene los datos

necesarios.

5. Al escoger la opción de guardar, el

documento será ingresado en la base

de datos.

Flujos alternativos. El sistema cuenta con la validación en cada

campo, si el dato es incorrecto se mostrara

un mensaje de error.

Pos Condiciones El documento es guardado.

Tabla 8. Ingresar Documentos

Fuente: Autor

Editar Documentos

Nombre del caso de uso Editar Documentos.

Descripción Permite modificar la información ingresada

de cada uno de los diferentes tipos de

Page 52: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

39

documentos.

Actores Administrador, usuario.

Precondiciones 1. El usuario debe autenticarse.

2. Tener una lista de todos los

documentos.

Flujo principal 1. Seleccionar el documento en el que

se desea modificar la información.

2. Obtenemos un formulario con la

información actual.

3. Actualizar los datos agregados.

Flujos alternativos. El sistema cuenta con la validación en cada

campo, si el dato es incorrecto se mostrara

un mensaje de error.

Pos Condiciones El documento es actualizado.

Tabla 9. Editar Documentos

Fuente: Autor

Buscar Documentos

Nombre del caso de uso Buscar Documentos.

Descripción Permite buscar documentos, crear una lista

con datos comunes.

Actores Administrador, usuarios.

Precondiciones 1. El usuario debe autenticarse.

2. Tener una lista de documentos.

Flujo principal 1. Ingresar el dato por el cual se va a

realizar la búsqueda.

2. Obtenemos una lista con todas las

coincidencias, si el dato ingresado es

único se obtendrá un solo registro.

3. Visualizar la información de la

búsqueda

Page 53: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

40

Flujos alternativos. El sistema cuenta con la validación de

búsqueda si no existe el usuario se mostrara

un mensaje.

Pos Condiciones El usuario es encontrado y mostrado.

Tabla 10. Buscar Documentos Fuente: Autor

Page 54: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

41

3.4. Diagrama de Clases

Un diagrama de clases permite visualizar las relaciones entre todas las clases involucradas

en el sistema, las cuales pueden ser clasificadas como asociativas, de herencia, de uso y de

contenido.

A continuación tenemos el diagrama de clases de la aplicación desarrollada

Figura 9. Diagrama De Clase

Fuente: Auto

Page 55: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

42

3.5. Diagramas de Secuencia

Un diagrama de secuencia es una forma de diagrama de interacción que muestra los objetos

como líneas de vida a lo largo de la página y con sus interacciones en el tiempo

representadas como mensajes dibujados como flechas desde la línea de vida origen hasta la

línea de vida destino.

Diagrama Administración de Usuarios

Agregar Usuario

Figura 10. Diagramas de Secuencia - Agregar Usuario

Fuente: Autor

Page 56: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

43

Editar Usuario

Figura 11. Diagramas de Secuencia - Editar Usuario Fuente: Autor

Buscar usuario

Figura 12. Diagramas de Secuencia - Buscar Usuario

Fuente: Autor

Page 57: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

44

Diagrama Administración de Documentos

Agregar Documento

Figura 13. . Diagramas de Secuencia - Agregar Documento Fuente: Autor

Editar Documento

Figura 14. Diagramas de Secuencia - Editar Documento Fuente: Autor

Page 58: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

45

Buscar Documentos

Figura 15. Diagramas de Secuencia - Buscar Documentos

Fuente: Autor

3.6. Diagramas de Estado

El estado en el que se encuentra un objeto determina su comportamiento. Cada objeto sigue

el comportamiento descrito en el Diagrama de Estados asociado a su clase. La transición

entre estados es instantánea y se debe a la ocurrencia de un evento

A continuación se muestra el diagrama de estado de la aplicación el cual no toma en cuenta

los objetos que forman parte de los catálogos que alimentan las bases de datos solo se

consideran componentes del negocio.

Page 59: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

46

Figura 16. Diagramas de Estado Fuente: Autor

3.7. Diagrama de Despliegue

El modelo puede mostrar las dependencias entre las instancias y sus interfaces, y también

puede modelar la migración de entidades entre nodos u otros contenedores.

El diagrama de despliegue de la aplicación es el siguiente:

Page 60: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

47

Figura 17. Diagrama de Despliegue Fuente: Autor

3.8. Codificación

Se realizara una explicación breve del código utilizado para el desarrollo de la aplicación:

Tenemos el controlador que se encarga de realizar la lógica de negocio para el ingreso de

documentos.

Figura 18. Código de la clase controlador

Fuente: Autor

Page 61: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

48

Tenemos los servicios realizados para recuperar información en este caso el método nos

retorna un expediente es decir es una búsqueda por tipo de documento.

Figura 19. Código de la clase servicios de documentos

Fuente: Autor

Se ha realizado los servicios para manejo de usuarios como guardar y varias busquedas

como se tiene a continuación.

Figura 20. Código de la clase servicios de usuarios Fuente: Autor

Page 62: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

49

Para realizar una correcta codificación se tiene una clase de propiedades en la cual tenemos

todas las etiquetas que se utilizaran en el sistema.

Figura 21. Archivo de propiedades Fuente: Autor

En este bloque tenemos la una parte de la clase css utilizada para personalizar los

formularios.

Figura 22. Código de la clase css

Fuente: Autor

Page 63: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

50

Para finalizar tenemos la base de datos, específicamente la tabla documentos la cual

después de varias pruebas tenemos el siguiente resultado.

Figura 23. Base de datos de la tabla documentos. Fuente: Autor

Page 64: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

51

4. DISCUSIÓN

El archivo general de la Universidad Central del Ecuador no cuenta actualmente con un

sistema que digitalice la documentación por lo tanto se debe invertir tiempo y recursos en

recopilar algún tipo de dato requerido por el usuario, al realizar las primeras pruebas el

resultado es satisfactorio ya que tanto el ingreso de datos de los documentos a la base de

datos y su posterior consulta es de manera inmediata además de tener un repositorio que

almacene de manera digital toda la información.

La aplicación brinda facilidad al realizar las actividades que actualmente se desarrolla en el

archivo general de manera manual entre las principales acciones que se digitalizaron son:

Ingreso de documentos

Autenticación de usuario.

Consulta de documentos ingresados a la base de datos.

Administración de usuarios.

Validaciones de los datos ingresados.

Archivos adjuntos que contaran como respaldo de los datos ingresados.

Para más información acerca de las pruebas realizadas se detalla en los anexos (AnexoB).

Page 65: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

52

5. CONCLUSIONES

El desarrollo de este proyecto permitió al Archivo General de la Universidad

Central del Ecuador facilitar el proceso de registro de información y agilizar el

manejo de la gran cantidad de datos que maneja el archivo y poder tener acceso a

dicha información de forma sencilla.

El sistema cuenta con la opción de adjuntar archivos lo que resulta de gran ayuda

como sustento a la información ingresada.

El sistema fue desarrollado con las tecnologías más robustas en la actualidad de esta

manera brinda confiabilidad al realizar un registro de documentos y tener total

disponibilidad de la información al instante.

El desarrollo de este sistema se lo hizo utilizando la metodología OpenUP, lo que

facilito la toma de requerimientos ya el proceso de desarrollo del software fue

iterativo, además de facilitar el control adecuado de la documentación generada

durante el ciclo de vida del proyecto.

Se puede concluir que los requerimientos solicitados por parte del Archivo General

para el desarrollo del sistema se cumplieron en cada una de las etapas del proceso.

Page 66: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

53

6. RECOMENDACIONES

Participación del usuario administrador en el proceso de registro de la documentación de

manera que los usuarios realicen una adecuada validación y calidad en los datos ingresados

a la base de datos.

Para lograr el mejor rendimiento del sistema se debe facilitar el manual de usuario, y toda

la información necesaria acerca de la funcionalidad de la herramienta.

El archivo de la universidad trabaja con más tipos de documentación por lo cual es

aconsejable que sean integrados al sistema desarrollado para tener una funcionalidad

óptima y completa de la información.

Page 67: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

54

BIBLIOGRAFÍA

1. ARQUITECTURA N-CAPAS. (2010). Descargado el 02 de marzo de 2013 desde

http://www.etnassoft.com/biblioteca/guia-de-arquitectura-n-capas-ddd-net-4-0/

2. ARQUITECTURAS DE N-NIVELES Y J2EE. (2013) Descargado el 02 de marzo

del 2013 desde http://www.dtic.ua.es/grupoM/recursos/articulos/JDARE-04-D.pdf

3. SELECCIÓN DE UNA METODOLOGÍA. (2009). Descargado el 03 de marzo de

2013 desde http://es.scribd.com/doc/66229709/SELECCION-DE-

METODOLOGIAS-DE-desarrollo

4. PROCESO DE DESARROLLO OPENUP. (2011). Descargado el 4 de marzo de

2013 desde

http://www.udistrital.edu.co:8080/documents/276352/356568/Cap3RolesArtefactos

Proceso

5. GUÍA RÁPIDA OPENUP. (2011). Descargado el 04 de marzo de 2013 desde

http://portalws.udistrital.edu.co/CIT/documentos/NORMATIVIDAD/openupoas/arc

hivos/GuiaRapidaOpenUPOAS.pdf

6. JBOSS. (2013). Descargado el 04 de marzo de 2013 desde

http://es.wikipedia.org/wiki/JBoss

7. JSF. (2009). Descargado el 05 de marzo de 2013 desde

http://cupi2.uniandes.edu.co/site/index.php/tutoriales/jsf

8. INTRODUCCIÓN A JSF. (2010). Descargado el 05 de marzo de 2013 desde

http://www.lintips.com/files/Taller_JSF_1aSesion_Paulo_Clavijo-2010.pdf

Page 68: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

55

9. ECLIPSE. (2007). Descargado el 28 de febrero desde http://www-

gris.det.uvigo.es/wiki/pub/Main/MiscResources/Manual_Eclipse.pdf

10. SÁNCHEZ, J. (2010). Descargado el 08 de marzo de 2013

http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=richFacesJsfIntro

11. JASPER REPORTS. (2008). Descargado el 08 de marzo de 2013 desde

http://www.abartiateam.com/jasperreports

12. USER'S GUIDE. (2013). Descargado el 10 de marzo de 2013 desde

http://www.visual-paradigm.com/support/documents/vpumluserguide.jsp

13. REQUERIMIENTOS DE SOFTWARE. (2008). Descargado el 12 de marzo de

2013 desde http://eisc.univalle.edu.co/cursos/web/material/750092M/80/DS2-

sesion4-Requerimientos.pdf

14. APRENDIENDO UML EN 24 HORAS. (2001). Descargado el 12 de marzo de

2013 desde http://www.leobravo.cl/programas/recursos/Aprendiendo-uml-en-24-

horas.pdf

15. DEITEL, P. Y DEIEL, H. (2012). Java for Programmers Second Edition. BOSTON:

PEARSON EDUCATION.

Page 69: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

56

ANEXOS

Page 70: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

57

ANEXO A: BASE DE DATOS

Page 71: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

58

NOMBRE DOCUMENTACIÓN

Autor Tabla que almacena los atributos de cada

uno de los autores.

tipo_posgrado Tabla que almacena el nombre de los

tipos de posgrados.

resolución Tabla que almacena la información de la

resolución.

tipo_documento Tabla que almacena los tipos de

documentos.

documento Tabla que almacena todos los datos de

cada documento.

tipo_usuario Tabla que almacena los tipos de usuarios

existentes.

usuario Tabla que almacena la información del

usuario.

facultad Tabla que almacena el nombre de la

facultad.

carrera Tabla que almacena las carreras de una

facultad.

Page 72: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

59

ANEXO B: PRUEBAS

INGRESO AL SISTEMA

Al ingresar al sistema tenemos la siguiente página principal la cual nos direccionara al

menú según corresponda su rol, actualmente existen dos roles (administrador y usuario),

dependiendo de su asignación se presentaran las opciones para trabajar.

LOGIN.- el usuario administrador ingresa su usuario y contraseña en la ventana la cual le

direccionara al menú del administrador con las distintas opciones.

Existe la validación de ingreso de usuario como muestra la figura:

Page 73: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

60

Existe la validación de la contraseña de usuario como muestra la figura:

MENÚ DEL ADMINISTRADOR.-

Permite realizar la administración de usuario como se muestra a continuación:

MENÚ USUARIO.-

Esta ventana nos permite acceder a las distintas opciones que existen en el sistema,

dependiendo del trabajo que se va a realizar se seleccionara el ítem.

Page 74: AUTOR: JAVIER PATRICIO COPARA SIMALUISA · encriptación (SHA), manejo de role y autenticación mediante usuario y contraseña, además el usuario administrador tendrá la capacidad

61

INGRESO DE DOCUMENTOS-

Nos permite realizar el ingreso de la documentación según sea la elección a continuación

tenemos el ingreso de proyectos de titulación:

Podemos apreciar las opciones de adjuntos para poder tener un respaldo de los datos

ingresados.