97
UNIVERSIDAD CENTRAL DEL ECUADOR FACULTAD DE INGENIERÍA CIENCIAS FÍSICAS Y MATEMÁTICA CARRERA DE INGENIERÍA INFORMÁTICA ANÁLISIS, DISEÑO DE UN SISTEMA WEB PARA LA GESTIÓN DEL DEPARTAMENTO MÉDICO, CONTROL DE MEDICAMENTOS Y SEGURIDADES PARA EL SISTEMA INTEGRAL DE LA CASA DE LA CULTURA (CCE) TRABAJO DE GRADUACIÓN PREVIO A LA OBTENCIÓN DEL TÍTULO DE INGENIERO INFORMÁTICO AUTOR: Mónica Catalina Jiménez Calle TUTOR: Ing. Alicia Lorena Andrade Bazurto, MSc QUITO ECUADOR 2015

UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

Embed Size (px)

Citation preview

Page 1: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

UNIVERSIDAD CENTRAL DEL ECUADOR

FACULTAD DE INGENIERÍA CIENCIAS FÍSICAS Y

MATEMÁTICA

CARRERA DE INGENIERÍA INFORMÁTICA

ANÁLISIS, DISEÑO DE UN SISTEMA WEB PARA LA GESTIÓN DEL

DEPARTAMENTO MÉDICO, CONTROL DE MEDICAMENTOS Y

SEGURIDADES PARA EL SISTEMA INTEGRAL DE LA CASA DE LA

CULTURA (CCE)

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

INGENIERO INFORMÁTICO

AUTOR: Mónica Catalina Jiménez Calle

TUTOR: Ing. Alicia Lorena Andrade Bazurto, MSc

QUITO – ECUADOR

2015

Page 2: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

ii

DEDICATORIA

El presente proyecto de Tesis va dedicado a las personas que han estado

conmigo directa e indirectamente presentes, durante todos los aspectos de

mi vida.

A Dios

Por darme las fuerza, fortaleza y guiarme durante el transcurso de mi vida.

A mis Padres Blanca y Luís

A mis padres que me apoyando incondicionalmente durante toda mi vida

para logara mis metas y objetivos Gracias por sus consejos y ser una guía.

Gracias por enseñarme que con esfuerzo, dedicación, empeño y trabajo se

puede lograr muchas cosas.

A mis Hermanos Mario, Hendry, Michelle

Por estar a mí lado en todo este arduo trabajo y por brindarme su apoyo y

amistad.

A mi Novio Mario

A mí amando novio, por su paciencia, apoyo, comprensión y amor por estar

en conmigo en aquellos momentos en el que el estudio y trabajo ocuparon

mi tiempo. Gracias por ser parte de mi vida, te amo.

Mónica C. Jiménez

Page 3: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

iii

AGRADECIMIENTO

Agradezco tanto a Dios por darme la sabiduría, las fuerzas y sobre todo la

paciencia para llegar a la culminación de este proyecto.

A mis padres por su apoyo, confianza, ayuda y sacrificio que tuvieron cada

día para poder brindarme lo necesario y enseñarme grandes valores.

Gracias por todo

A mis hermanos por ser el apoyo diario que tuve durante este proceso, por la

confianza que tuvieron en mí.

A mi querido novio Mario por estar a mí lado apoyando, bríndame su amor y

por tenerme paciencia en aquel momento que este proyecto ocuparon mi

tiempo.

Te agradezco mucho a mi ángel peludo por siempre estar junto a mi

cuando siempre quería llorar y tú me enseñaste con tu corazón puro y

sincero a comenzar a valorar las cosas más pequeñas del mundo.

A mi Tutor y Revisores, les agradezco por la ayuda que me brindaron y por

su guía durante este proyecto.

A mis amigos por brindarme su apoyo y guía durante todo este proyecto.

A todos un GRACIAS por estar conmigo y que Dios los Bendiga. Gracias.

Page 4: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

iv

AUTORIZACIÓN DE LA AUTORÍA INTELECTUAL

Yo, Mónica Catalina Jiménez Calle en calidad de autor del trabajo de tesis

realizada sobre la “ANÁLISIS, DISEÑO DE UN SISTEMA WEB PARA LA

GESTIÓN DEL DEPARTAMENTO MÉDICO, CONTROL DE

MEDICAMENTOS Y SEGURIDADES PARA EL SISTEMA INTEGRAL DE

LA CASA DE LA CULTURA ECUATORIANA (CCE)", por la presente

autorizó a la, hacer uso de manera total o parcial del contenido de esta obra,

con fines estrictamente académicos o de investigación.

Los derechos que como autor me corresponda, con excepción de la

presente autorización seguirán vigentes a mi favor, de conformidad con lo

establecido en los artículos 5, 6, 8, 19 y demás pertinentes de la Ley de

Propiedad Intelectual y su Reglamento.

Quito, 20 del mayo de 2015

Page 5: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

v

CERTIFICACIÓN DEL TUTOR

Page 6: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

vi

INFORME FINAL DEL TUTOR

Page 7: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

vii

APROBACIÓN DEL TRIBUNAL

Page 8: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

viii

CALIFICACIÓN DEL TRABAJO DE GRADUACIÓN

Page 9: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

ix

Contenido

DEDICATORIA ............................................................................................................................ii

AGRADECIMIENTO ................................................................................................................... iii

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

CERTIFICACION DEL TUTOR....................................................................................................... v

INFORME FINAL DEL TUTOR .................................................................................................... vi

APROBACIÓN DEL TRIBUNAL .................................................................................................. vii

CALIFICACIÓN DEL TRABAJO DE GRADUACIÓN ..................................................................... viii

CAPÍTULO 1 .............................................................................................................................. 1

1.1 Introducción ................................................................................................................ 1

1.2 Planteamiento del Problema .............................................................................. 1

1.3 Formulación del Problema.................................................................................. 3

1.4 Interrogantes de la Investigación ...................................................................... 3

1.5 Objetivos de la Investigación ............................................................................. 4

1.5.1 Objetivo General .............................................................................................. 4

1.5.2 Objetivos Específicos ...................................................................................... 4

1.6 Justificación .......................................................................................................... 5

1.7 Alcance .................................................................................................................. 6

1.8 Limitaciones .......................................................................................................... 7

CAPITULO 2 .............................................................................................................................. 9

2 REVISIÓN BIBLIOGRÁFICA ....................................................................................... 9

2.1 Antecedentes ........................................................................................................ 9

2.2 Metodología de Desarrolló ................................................................................. 9

2.2.1 Desarrollo iteractivo e incremental ............................................................. 10

2.2.2 Iteractivo+Incremetal ..................................................................................... 11

2.2.3 Ventajas del desarrollo iterativo e incremental ......................................... 13

2.3 Arquitectura N-CAPAS ..................................................................................... 13

2.4 Arquitectura JEE ................................................................................................ 15

2.4.1 Plataforma de Desarrollo JEE ..................................................................... 15

2.5 Herramientas ...................................................................................................... 17

2.5.1 JAVA ................................................................................................................ 17

2.5.2 Servidor de web Jboss ................................................................................. 19

2.5.3 Jboss Seam .................................................................................................... 20

Page 10: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

x

2.5.4 Tecnología EJB .............................................................................................. 20

2.5.5 Eclipse IDE ..................................................................................................... 22

2.5.6 PostgreSQL .................................................................................................... 23

2.5.7 Richfaces ........................................................................................................ 25

2.5.8 iREPORT ............................................................................................................ 26

CAPITULO 3 ............................................................................................................................ 27

3 ESPECIFICACIÓN DE REQUERIMIENTOS .......................................................... 27

3.1 Propósito ............................................................................................................. 27

3.2 Descripción General .......................................................................................... 27

3.2.1 Perspectiva del Sistema ............................................................................... 27

3.2.2 Funcionalidades del Sistema ....................................................................... 27

3.3 Requerimientos .................................................................................................. 28

3.3.1 Requerimientos Funcionales ....................................................................... 28

3.3.2 Requerimientos No Funcionales ................................................................ 29

3.4 Casos de Uso ..................................................................................................... 30

3.4.1 OML (Open Modeling Languaje) ................................................................. 32

3.5 Caso de Uso Generales. .................................................................................. 32

3.5.1 Administración del Sistema Integral CCE ................................................. 32

3.5.2 Creación de la Historia Clínica .......................................................................... 34

3.5.3 Inventario de Medicamentos ........................................................................ 36

3.5.4 Reportes Enfermera ...................................................................................... 38

3.5.5 Gestión de Pacientes ........................................................................................ 40

3.5.6 Reportes Médicos ............................................................................................ 42

3.5.7 Interactivo de la enfermera .......................................................................... 43

3.5.8 Interactivo del Médico ................................................................................... 45

3.6 Diagrama de Secuencias.................................................................................. 47

3.6.1 Diagrama Secuencia de Ingreso al Sistema ............................................ 49

3.6.2 Diagrama Secuencia Creación de Ficha ................................................... 50

3.6.3 Inventario de Medicamento .......................................................................... 52

3.7 Ficha Médica ...................................................................................................... 54

3.7.1 Historial Médico ............................................................................................. 54

3.7.2 Diagnóstico y Tratamiento ........................................................................... 55

3.7.3 Reporte Médico .............................................................................................. 56

CAPIULO 4 .............................................................................................................................. 57

Page 11: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

xi

4 DISEÑO, IMPLEMENTACION Y PRUEBAS .......................................................... 57

4.1 Modelo Orientado a Objetos del Sistema ...................................................... 57

4.2 Modelo de Base de datos del sistema ............................................................ 58

4.3 Diagrama de Clases .......................................................................................... 59

4.4 Diagrama de Componentes ...................................................................................... 65

4.5 Implementación ........................................................................................................ 66

4.5.1 Recursos requeridos ......................................................................................... 66

4.6 Plan de Pruebas ........................................................................................................ 67

4.7 Entrega del Aplicativo ............................................................................................... 69

CAPITULO 5 ............................................................................................................................ 70

5 CONCLUSIONES Y RECOMENDACIONES.......................................................... 70

5.1 Conclusiones ...................................................................................................... 70

5.2 Recomendaciones ............................................................................................. 71

5.3 Glosario de Términos ........................................................................................ 72

Bibliografía ....................................................................................................................... 79

6 ANEXOS .......................................................................................................................... 80

Page 12: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

xii

Lista de Figuras

Figura 1. Desarrollo iterativo e incremental ................................................................... 10

Figura 2. Avance de desarrollo 1 ..................................................................................... 12

Figura 3. Avance de desarrollo 2 ..................................................................................... 12

Figura 4. Arquitectura N-Capas ....................................................................................... 14

Figura 5. Arquitectura N-Capas/3-Capas ....................................................................... 15

Figura 6.Arquitectura JEE ................................................................................................. 16

Figura 7. Arquitectura de Eclipse..................................................................................... 23

Figura 8. Diagrama OML .................................................................................................. 32

Figura 9. Caso de Uso. Administración de Sistema ..................................................... 33

Figura 10.Caso de Uso: Creación de historias clínicas ............................................... 35

Figura 11. Caso de Uso: Inventario de Medicamentos ................................................ 37

Figura 12. Caso de Uso: Reportes Enfermera .............................................................. 39

Figura 13. Caso de Uso: Gestión de pacientes ............................................................. 41

Figura 14. Cado de Uso: Reportes Médicos .................................................................. 42

Figura 15. Caso de Uso: Interactivo Enfermera ............................................................ 44

Figura 16. Caso de Uso: Interactivo Médico .................................................................. 46

Figura 17. Diagrama de Secuencia: Ingreso al sistema ............................................. 49

Figura 18. Diagrama de Secuencia: Paciente (CCE) ................................................... 50

Figura 19. Diagrama de Secuencia: Paciente particular.............................................. 51

Figura 20. Diagrama de Secuencia: Entrada Medicamento........................................ 52

Figura 21. Diagrama de Secuencia: Salida de Medicamento ..................................... 52

Figura 22. Diagrama de Secuencia: Kardex Medicamento ......................................... 53

Figura 23. Diagrama De Secuencia: Reportes Enfermera .......................................... 53

Figura 24. Diagrama de Secuencia: Historial Médico .................................................. 54

Figura 25. Diagrama de Secuencia: Diagnóstico y Tratamiento ................................ 55

Figura 26. Diagrama de Secuencia: Reportes Médico ................................................ 56

Figura 27. Modelo de Objetos .......................................................................................... 57

Figura 28. Diagrama de Base de Datos del Sistema ................................................... 58

Figura 29. Diagrama de Clases: Administración Usuarios .......................................... 60

Figura 30. Diagrama de Clases: Administración Roles................................................ 61

Figura 31. Diagrama de Clases: Roles Acceso ............................................................. 61

Figura 32. Diagrama de Clases: Entrada Medicamento .............................................. 62

Figura 33. Diagrama Clases: Inventario Medicamentos .............................................. 63

Figura 34. Diagrama Clases: Salida Medicamento ...................................................... 63

Figura 35. Diagrama Clases: Pacientes ......................................................................... 64

Figura 36.Diagrama de Componentes ............................................................................ 65

Page 13: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

xiii

Lista de Tablas

Tabla 1. Administración del Sistema ................................................................................ 33

Tabla 2. Creación de Historias Clínicas........................................................................... 34

Tabla 3. Inventario de Medicamentos .............................................................................. 36

Tabla 4. Reportes Enfermera ............................................................................................ 38

Tabla 5. Gestión Pacientes ................................................................................................ 40

Tabla 6. Reportes Médicos ................................................................................................ 42

Tabla 7. Interactivo Enfermera .......................................................................................... 44

Tabla 8. Interactivo Médico ................................................................................................ 45

Tabla 9. Elementos diagrama de clases ......................................................................... 60

Tabla 10. Requerimientos de software ............................................................................ 66

Tabla 11. Requerimientos de hardware........................................................................... 66

Tabla 12.Funcionalidades al Sistema .............................................................................. 69

Page 14: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

xiv

RESUMEN

“ANÁLISIS, DISEÑO DE UN SISTEMA WEB PARA LA GESTIÓN DEL

DEPARTAMENTO MÉDICO, CONTROL DE MEDICAMENTOS Y

SEGURIDADES PARA EL SISTEMA INTEGRAL DE LA CASA DE LA

CULTURA ECUATORIANA (CCE)"

El presente trabajo, trata sobre el desarrollo de un aplicativo WEB, el cual

automatiza el proceso de gestión de pacientes, historias clínicas, control de

medicamentos para el departamento médico y seguridades para el sistema

integral (CCE), mediante el uso de herramientas de software libre.

El mismo que permite realizar búsquedas rápidas, generar reportes de la

información.

El aplicativo se desarrolló con herramientas de software libre tales como

lenguaje de programación JAVA, motor de base de datos Postgres.

DESCRIPTORES GESTIÓN PACIENTES / JAVA / ADMINISTRACION DE USUARIOS

/KARDEX / INVENTARIO DE MEDICAMENTOS / HISTORIAL MEDICO

Page 15: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

xv

ABSTRACT

“ANALYSIS, DESIGN OF A WEB SYSTEM FOR THE MANAGEMENT OF

THE MEDICAL DEPARTMENT, MEDICATION MONITORING AND

ASSURANCES FOR THE INTEGRAL SYSTEM OF CASA DE LA

CULTURA ECUATORIANA (CCE)”

The present work, it is about the development of a Web application, which

automates the process of patient management, medical histories, medication

monitoring for the medical department and assurances to the comprehensive

system (CCE), through the use of free software tools.

The same that allows you to perform quick searches, generate reports of the

information.

The application was developed with free software tools such as Java

programming language, database engine Postgres.

DESCRIPTORS

MANAGEMENT PATIENTS/ JAVA / USER ADMINISTRATION /KARDEX /

MEDICINES INVENTORY / MEDICAL HISTORY

Page 16: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

xvi

CERTIFICADO DE TRADUCCIÓN DE RESUMEN.

Por este medio, Yo, Mayra Rosalía Shuguli López con cedula No.

1716425135 certifico que la traducción de español a ingles del resumen del

trabajo de graduación, previo a la obtención del título de ingeniero

informático del egresado Mónica Catalina Jiménez Calle, fue realizada por

mi persona.

Particular que informo para los fines pertinentes.

Atentamente.

Doc. Mayra Rosalía Shuguli López.

Traductor

Page 17: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

xvii

Page 18: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

1

CAPÍTULO 1

1.1 Introducción

La Casa de la Cultura Ecuatoriana1 (CCE) es una institución autónoma de

gestión cultural en la República del Ecuador. Funciona desde el año 1944 y

tiene su sede principal en la ciudad de Quito en la Avenida Patria entre las

avenidas 12 de Octubre y 6 de Diciembre, en pleno límite entre el sector

norte de la ciudad y el centro.

Cuenta además con sedes en casi todas las provincias del país. Tiene por

objeto coadyuvar al desarrollo de los derechos culturales y principios

programáticos, enmarcados en la política pública cultural del Estado

ecuatoriano (Art.3, Ley Orgánica de la Casa de la Cultura Ecuatoriana).

En la actualidad CCE maneja grandes volúmenes de datos, con la finalidad

de obtener la información requerida en tiempo real se ve la necesidad de

automatizar varios procesos mediante el desarrollo de una aplicación web

que permita mejorar la información generada por el Departamento Médico y

los módulos que conforman el Sistema Integral de Casa de la Cultura.

Las aplicaciones web nos ayudan a automatizar los procesos de las

organizaciones ya que nos brindar múltiples benéficos como la portabilidad

de acceder a la desde cualquier navegador, ahorro de tiempo, un consumo

bajo de recursos

Así pues, automatizar el Departamento Médico (CCE) se necesitan una

aplicación desarrollada bajo software libre como los son lenguaje de

programación JAVA y motor de base de datos Postgres SQL.

1.2 Planteamiento del Problema

La Casa de la Cultura Ecuatoriana (CCE) es una institución autónoma, la

cual se le ha encargado de promover, fomentar, investigar y difundir el arte,

ciencia y el patrimonio cultural del Ecuador.

1 Casa de la Cultura Ecuatoriana, Obtenidos el 21 de abril

2015http://es.wikipedia.org/wiki/Casa_de_la_Cultura_Ecuatoriana

Page 19: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

2

La Casa de la Cultura Ecuatoriana en la actualidad está sistematizando

varios departamentos razón por la cual se necesita de un sistema integral

que consta de cuatro módulos:

Implantación de un Sistema para la Gestión Reliquias Ecuatorianas

que son Patrimonio de la Humanidad Almacenadas en las Bodegas y

Facturación de Obras Inéditas de Grandes Autores y Artistas

Ecuatorianos Forjados de la Cultura, Las Artes y de la Ciencias.

Análisis, diseño e implantación de un sistema para la gestión de la

cinemateca de la Casa de la Cultura Ecuatoriana.

Sistema para la gestión y reservación de salas, galerías, auditorios y

teatros de la Sede Nacional de Casa de la Cultura Ecuatoriana.

Análisis, diseño de un sistema web para la Gestión del departamento

médico, control de medicamentos y seguridades para el sistema integral de

la Casa de la Cultura Ecuatoriana.

En vista a que se va a desarrollar cuatro aplicativos para el Sistema Integral

de la Casa de la Cultura necesita un módulo para la gestión de la seguridad

que nos permita llevar un control de las personas que acceden y manipulan

la información existente cada uno de los departamentos para los cuales se

están realizando los diferentes sistemas en cuestión.

El Departamento Médico de la Casa de la Cultura Ecuatoriana está

constituido área médica y odontológica las cuales presenta una serie de

inconvenientes tales como:

Perdida de información.- Los datos de la historia clínica y los

resultados de exámenes es información confidencial y de vital

importancia, sin embargo es manipulada por varias personas,

archivada en lugares poco propicios, lo cual facilita su pérdida.

Falta de agilidad en la atención al paciente.- La historia clínica de

cada paciente está constituida por formularios que se llenan de

forma manual haciendo que este proceso sea demoroso.

Page 20: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

3

Desconocimiento de medicamentos existentes.- El servicio médico y

odontológico maneja cierta cantidad de medicamentos los cuales son

contabilizados mediante kardex2 sin embargo este control no nos

permite conocer la cantidad de medicamentos que existen.

Por lo tanto se plantea desarrollar una solución informática a los problemas

anteriormente mencionados y así mejorar el funcionamiento de las

seguridades del Sistema Integral de Casa de la Cultura y Departamento

Médico.

1.3 Formulación del Problema

Cómo gestionar la seguridad del Sistema Integral de la Casa de la Cultura y

llevar un control sistemático de los medicamentos y fichas médicas del

Departamento Médico ya que la información de este centro médico

actualmente se lleva de forma manual.

Se desea desarrollar un aplicativo que brinde soporte al problema actual de

las seguridades y departamento médico, un SISTEMA WEB PARA LA

GESTION DEL DEPARTAMENTO MEDICO, CONTROL DE

MEDICAMENTOS Y SEGURIDADES PARA EL SISTEMA INTEGRAL DE

LA CASA DE LA CULTURA ECUATORIANA (CCE). Este aplicativo

permitirá agilizar los procesos que se manejan en este centro.

1.4 Interrogantes de la Investigación

Para la realización de este proyecto se ha establecido algunas preguntas

que nos van a ayudar a entender de mejor manera cual es el problema que

debemos resolver.

¿Es posible desarrollar un Sistema Integral conformado por varios

módulos para la Casa de la Cultura Ecuatoriana (CCE)?.

¿Se puede tener un módulo para la gestión de la seguridad para el

Sistema Integral de la Casa de Cultura?

2 Kárdex: es una herramienta que permite imprimir reportes con información resumida

acerca de las transacciones de inventario de su compañía

Page 21: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

4

¿Es factible elaborar una herramienta que me permita automatizar la

información del Departamento Medico y Odontológico de la Casa de

Cultura Ecuatoriana?

¿La herramienta desarrollada ayudara a los médicos y pacientes del

Departamento Medico de la Casa de Cultura Ecuatoriana a mejorar

sus funciones?

¿Se puede conocer de manera efectiva la cantidad de medicamentos

con los que cuenta el dispensario médico?

1.5 Objetivos de la Investigación

1.5.1 Objetivo General

Proporcionar al Sistema Integral de la Casa de Cultura un módulo de

seguridades de acceso y ejecución de crear, borrar, actualizar para llevar un

control de las personas que acceden y manipulan la información y al

Departamento Médico un aplicativo que permita mejorar la administración y

la gestión de la información generada a través de un aplicativo en línea que

me permita optimizar y automatizar la información de esta dependencia

mediante el uso de herramientas de software libre.

1.5.2 Objetivos Específicos

Controlar mediante el módulo de seguridades que personas acceder

a los sistemas y a la información de cada uno de los departamentos.

Optimizar el proceso administrativo del Departamento Médico de la

Casa de la Cultura Ecuatoriana.

Realizar un control del inventario correspondiente a los medicamentos

con los que cuenta departamento.

Efectuar entrevistas con los usuarios para determinar los

requerimientos para poder realizar el aplicativo y elaborar los

respectivos manuales que correspondan al funcionamiento del

sistema en cuestión.

Page 22: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

5

1.6 Justificación

Debido a que la información que maneja la Casa de la Cultura en sus

diferentes departamentos es importante se necesita establecer seguridades

a nivel de acceso y manipulación de la información para evitar el uso

inadecuado de la información.

Actualmente las personas que trabajan en el Departamento Medico están

conscientes de que deben contar con un sistema que les permita llevar un

mejor control en lo que concierne al manejo del historial de cada paciente y

llevar un inventario de los medicamentos con los que cuenta dicho

departamento.

Al realizar las entrevistas al personal de esta área se pudo identificar las

siguientes falencias:

Las fichas médicas de las pacientes se llevan de forma manual

produciendo que dicha información de cada uno de los pacientes se

pueda extraviar y dicha información no se la pueda encontrar de

forma rápida.

El registro de ingreso de medicamentos con los que cuenta el

Departamento Médico se lo lleva de forma manual provocando que no

se pueda conocer con certeza que medicamentos cuenta la unidad

médica.

Al momento de hablar de la automatización de los procesos administrativos

nos referimos en convertir las fichas médicas de cada paciente que se lleva

de forma manual a un sistema que me automatice la fichas médicas de los

pacientes permitiéndoles a los usuarios finales mejorar la calidad de servicio

en lo que concierne en las búsqueda del historial de los pacientes y llevar un

mejor control de la información.

El control de las medicinas con lo que cuenta el Departamento Médico en

estos momentos se los llevan kárdex 3y no les permite conocer con certeza

3 Kárdex: es una herramienta que permite imprimir reportes con información resumida

acerca de las transacciones de inventario de su compañía

Page 23: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

6

con que cantidad de medicamentos cuenta su inventario lo que se quiere

automatizar en esta parte es que el manejo de kárdex permitiéndoles

conocer de forma precisa y efectiva los ingresos y egresos de cada uno de

los medicamentos.

1.7 Alcance

El propósito es de este proyecto es proporcionar a la Casa de la Cultura

Ecuatoriana un módulo de gestión de seguridades y al Departamento Médico

un sistema confiable y que sea fácil de usar para el usuario, que permita

mejorar la eficiencia mediante la automatización de historias clínicas de los

pacientes y llevar un mejor control de los medicamentos con los que cuenta

dicho departamento.

El sistema constará de lo siguiente:

MÓDULO DE SEGURIDADES

Administración de Usuarios

En la administración de usuarios permitirá la creación de usuarios,

editar usuarios, inactivar un usuario.

Los usuarios que van a acceder al sistema son:

Administrador

Usuarios

Administración de Roles

La administración de roles permitirá la creación de roles, editar roles,

inactivar un rol.

Administración de Permisos

La administración de permisos permitirá la creación de permiso, editar

permisos, inactivar un permiso.

Page 24: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

7

MÓDULO DEL DEPARTAMENTO MÉDICO

Ingreso al Sistema

Previo al uso del sistema, el usuario deberá autenticarse para el

ingreso al mismo con su nombre de usuario y contraseña respectivo y

contará con las respectivas seguridades del caso.

Historial Clínica

La creación de la historia clínica de un paciente se da cuando este

llega por primera vez al Departamento Médico y se le registran sus

datos.

Medicina General y Odontología

Una vez que los datos de los pacientes han sido registrados ellos

podrá ser atenido en las siguientes áreas que brinda el Departamento

Médico (Medicina General, Odontología)

Control de Inventario de Medicamentos

El sistema de inventario de medicamentos estará a disposición del

médico, proporcionando unos reportes precisos de los medicamentos

con los que cuenta el Departamento Médico.

Generación de Reportes

El sistema permitirá la generación de los siguientes reportes:

La ficha médica del paciente del área de medicina general y

odontología.

Los reportes de inventario de medicamentos de entrada y

salida de los mismos.

1.8 Limitaciones

Tomando en cuenta los objetivos, y en base al desarrollo de la presente tesis

se consideraron las siguientes limitaciones:

Page 25: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

8

La administración de usuarios, roles y permisos deberían ser

definidos por la Casa de Cultura Ecuatoriana.

Solo las personas que estén registradas en el módulo de seguridad

pueden acceder al sistema.

Los módulos que se van a desarrollar son :

Historial Clínico

Área de Medicina General

Área de Odontología

Inventario de Medicamentos

En lo referente al control de inventario de medicamento solo se va a

realizar un control con los medicamentos que cuenta el dispensario

médico no lo que concierne a los costos de cada uno los insumos.

El ingreso de la información al sistema no está incluido en la

realización del proyecto.

Page 26: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

9

CAPITULO 2

2 REVISIÓN BIBLIOGRÁFICA

2.1 Antecedentes

Según las conversaciones mantenidas con el personal que labora en la

Casa de la Cultura ellos tienen la necesidad de contar con un aplicativo que

le permita gestionar la seguridad y mejorar el control de las historias clínicas

de los pacientes y el control del inventario de los medicamentos.

La Facultad de Ingeniería, percibiendo la ausencia de un sistema que

permita mejorar la seguridad del Sistema Integral de la Casa de la Cultura

Ecuatoriana y la gestión de la información que genera el Departamento

Médico facilitando un aplicativo que me permita solucionar los problemas

ya anteriormente mencionados.

Se considera como solución a este problema realizar un aplicativo web que

me permita gestionar la seguridad del Sistema Integral de Casa y

automatizar la parte administrativa en lo referente a las historias clínicas de

los pacientes y en cada una de las áreas en cuestión, llevar un mejor control

del inventario de medicamentos que tiene el Centro Médico.

Actualmente la informática forma parte de nuestras actividades diarias,

permitiendo desarrollar e implementar sistemas para dar solución a los

problemas que se presenta en el Departamento Medico y en las seguridades

del Sistema Integral de la Casa de Cultura.

Para ello se propone la investigación del presente proyecto de tesis, que

ayude al Sistema Integral y al Departamento Médico brindar un mejor

servicio a sus usuarios.

2.2 Metodología de Desarrolló

Para la elaboración del presente proyecto el modelo de procesos

seleccionado para la automatización del departamento médico, la seguridad

para el Sistema Integral la Casa de la Cultura es el Método Iterativo e

Page 27: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

10

Incremental que es una combinación de ambos diseños para construir un

modelo de desarrollo.

2.2.1 Desarrollo iteractivo e incremental4

El desarrollo iterativo e incremental es un proceso de desarrollo de

software cíclico desarrollado en respuesta a la debilidad del modelo en

cascada. Empieza con una planificación inicial y termina con el despliegue,

con la iteración cíclica en el medio.

Para apoyar al desarrollo de proyectos por medio de este modelo se han

creado distintos frameworks, entornos de trabajo, como puede ser el

Rational Unified Process. El desarrollo incremental e iterativo es también

una parte esencial de un tipo de programación conocido como Extreme

Programming y los demás frameworks de desarrollo rápido de software.

El desarrollo iterativo e incremental es una parte esencial de RUP,

de DSDM, XP y generalmente de los marcos de trabajo de desarrollo de

software ágil.

Figura 1. Desarrollo iterativo e incremental

El desarrollo incremental es una estrategia programada y en etapas, en la

4 Desarrollo interactivo e incremental, Obtenida el 14 de abril 2015 desde

https://www.incibe.es/file/N85W1ZWFHifRgUc_oY8_Xg

Page 28: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

11

que las diferentes partes del sistema se desarrollan en diferentes

momentos o a diferentes velocidades, y se integran a medida que se

completan.

El desarrollo iterativo es una estrategia de programación de reproceso en

la que el tiempo se separa para revisar y mejorar partes del sistema. Esto

no presupone desarrollo incremental, pero trabaja muy bien con él. Una

diferencia típica es que la salida de un incremento no está

necesariamente sujeta a más refinamiento, y sus pruebas o la

realimentación del usuario no se usa como entrada para revisar

los planes o especificaciones de los incrementos sucesivos. Por el

contrario, la salida de una iteración se examina para modificación, y

especialmente para revisar los objetivos de las sucesivas iteraciones.

Los dos términos se pusieron en práctica a mediados de los 90s. Los

autores del Proceso Unificado (UP) y el proceso unificado Rational (RUP)

seleccionaron el término desarrollo iterativo e iteraciones para hacer

referencia de forma general a cualquier combinación de desarrollo

incremental e iterativo. La mayoría de las personas que dicen desarrollo

iterativo quieren decir que hacen ambos desarrollo incremental e iterativo.

2.2.2 Iteractivo+Incremetal5

Aunque normalmente hablamos de iterativo e incremental (o incluso

sólo de iterativo), ello no quiere decir que ambos sean lo mismo. De

hecho, el desarrollo iterativo no implica, ni presupone el uso del incremental,

y viceversa. Para ver la diferencia, veamos la definición de cada tipo de ciclo

de vida:

El desarrollo incremental surge para eliminar los riesgos asociados

a construir productos software grandes o con alto grado de

complejidad. Se centra en desarrollar por partes el producto software,

5 Iteractivo+Incremental, Obtendia el 14 de abril 2015 desde http://asier-

ares.blogspot.com/2012/02/leccion-2-el-ciclo-de-vida-iterativo-e.html

Page 29: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

12

para después integrarlas a medida que se completan. Un ejemplo de

un desarrollo puramente incremental puede ser la agregación de

módulos en diferentes fases. Gráficamente vemos como cada vez se

van añadiendo nuevas partes que se van integrando para formar el

producto final.

Figura 2. Avance de desarrollo 1

El desarrollo iterativo se centra en mejorar y revisar el producto ya

creado. En cada ciclo se revisa y mejora el trabajo. Un ejemplo de

desarrollo iterativo y no incremental es aquel basado en

refactorizaciones (te dejamos una pequeña introducción a la

refactorización), en el que cada ciclo mejorando más el producto. En

el ejemplo gráfico de abajo se puede apreciar que se trata de un

método de mejora a través de las sucesivas iteraciones. Es

importante señalar no hay adición de funcionalidades en el producto,

hay revisión y mejora.

Figura 3. Avance de desarrollo 2

De la unión del ciclo de vida iterativo y el incremental al final de cada

iteración se consigue una versión estable del software, añadiendo

además nuevas funcionalidades a las versiones anteriores. Así, el

producto software se desarrolla por incrementos en el que cada iteración

(incluida la primera) obtiene una versión operativa del producto, así el

Page 30: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

13

sistema se desarrolla y mejora poco a poco y se obtiene un “feedback”

continuo por parte del cliente sobre un producto operativo.

2.2.3 Ventajas del desarrollo iterativo e incremental6

Reducción de riesgos basándose en una retroalimentación temprana.

Mayor flexibilidad para manejar cambios nuevos o modificaciones a

los mismos.

La complejidad nunca resulta abrumadora.

Se produce retroalimentación en una etapa temprana, porque la

implementación se efectúa rápidamente con una parte pequeña del

sistema.

Visión de avance en el desarrollo, viendo trabajo operativo real

desde etapas iniciales del ciclo de desarrollo.

Obtención del “feddback” del usuario sobre un prototipo

operativo, así puede orientar el desarrollo sí puede orientar el

desarrollo hacia el cumplimiento de sus necesidades, y realizar todas

las adaptaciones identificadas para cumplir con los objetivos

planteados.

Permite manejar el riesgo del proyecto, apuntando a la resolución

de los problemas por partes y no caer en la inanición del “súper

análisis “del producto.

El aprendizaje y experiencias del equipo iteración tras iteración

sobre un prototipo operativo, lo que mejora exponencialmente el

trabajo, aumenta la productividad y permite optimizar el proceso en

el corto plazo.

2.3 Arquitectura N-CAPAS7

La arquitectura de N-Capas es un estilo más que existe en la programación,

es importante en muchos aspectos principalmente porque nos permite en

6 Uml y los procesos de desarollo de software , Obtenida desde 14 de abril 2015

http://catarina.udlap.mx/u_dl_a/tales/documentos/lis/rea_c_ji/capitulo3.pdf 7 Arquitectura N-capas y LinqToSQL ( Obtenido 14 de abril 2015)

http://www.nicholls.co/blog/post/Arquitectura-N-Capas-y-LinqToSQL

Page 31: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

14

nuestros desarrollos separar la lógica de Acceso a Datos (Capa de Datos)

de la lógica del Negocio (Capa de Negocio) y a su vez de la lógica de Diseño

(Capa de Presentación). En definitiva estamos creando un sistema modular

(Cada capa solicita un servicio de la capa inferior) que es mucho más legible

y manejable, en donde cualquier capa puede ser modificada o reemplazada

y el sistema debe seguir funcionando normalmente.

Figura 4. Arquitectura N-Capas

Fuente: Internet

Este estilo de despliegue arquitectónico describe la separación de la

funcionalidad en segmentos separados de forma muy parecida al estilo de

capas, pero en el cual cada segmento está localizado en un computador

físicamente separado. Este estilo ha evolucionado desde la aproximación

basada en componentes generalmente usando métodos específicos de

comunicación asociados a una plataforma en vez de la aproximación basada

en mensajes.

Page 32: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

15

Figura 5. Arquitectura N-Capas/3-Capas8

Fuente: Internet

2.4 Arquitectura JEE9

Java Platform, Enterprise Edition o Java EE (anteriormente conocido como

Java 2 Platform, Enterprise Edition o J2EE hasta la versión 1.4), es una

plataforma de programación parte de la Plataforma Java para desarrollar y

ejecutar software de aplicaciones en Lenguaje de programación Java con

arquitectura de N niveles distribuida, basándose ampliamente en

componentes de software modulares ejecutándose sobre un servidor de

aplicaciones. La plataforma Java EE está definida por una especificación

similar a otras especificaciones del Java Community Process (JCP), Java EE

es también considerada informalmente como un estándar debido a que los

suministradores deben cumplir ciertos requisitos de conformidad para

declarar que sus productos son conformes a Java EE; estandarizado por

The Java Community Process / (JCP).

2.4.1 Plataforma de Desarrollo JEE10

Es una plataforma de programación parte de la Plataforma Java para

desarrollar y ejecutar software de aplicaciones en el lenguaje de

programación Java. Permite utilizar arquitecturas de N capas distribuidas y

8 Arquitectura N-Capas/3-Capas .Obtenida 14 de abril 2015 desde

http://www.juanpelaez.com/geek-stuff/arquitectura/arquitectura-basada-en-capas/

9 Java EE, es una plataforma de programación. Obtenido 6 de julio 2013 desde

http://es.wikipedia.org/wiki/Java_EE 10

Java EE. Obtenida 14 de abril 20145 desde http://es.wikipedia.org/wiki/Java_EE

Page 33: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

16

se apoya ampliamente en componentes de software modulares

ejecutándose sobre un servidor de aplicaciones.

Arquitectura JEE

Figura 6.Arquitectura JEE

Fuente: Internet

La arquitectura JEE implica un modelo de aplicaciones distribuidas en

diversas capas o niveles (tier).

La capa cliente admite diversas tipos de clientes (HTML, Applet,

aplicaciones Java, etc.).

La capa intermedia (middle tier) contiene subcapas (el contenedor

web y el contenedor EJB).

La tercera capa dentro de esta visión sintética es la de aplicaciones

'backend' como ERP, EIS, bases de datos, etc.

Un concepto clave de la arquitectura es el de contenedor, que en forma

genérica no es más que un entorno de ejecución estandarizado que

ofrece unos servicios por medio de componentes. Los componentes

Page 34: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

17

externos al contenedor tienen una forma estándar de acceder a los

servicios de dicho contenedor, con independencia del fabricante.

2.5 Herramientas

2.5.1 JAVA

Java es un lenguaje de programación con el que podemos realizar cualquier

tipo de programa. En la actualidad es un lenguaje muy extendido y cada vez

cobra más importancia tanto en el ámbito de Internet como en la informática

en general.

Una de las principales características por las que Java se ha hecho muy

famoso es que es un lenguaje independiente de la plataforma. Eso quiere

decir que si hacemos un programa en Java podrá funcionar en cualquier

ordenador del mercado.

Características 11

Java es un lenguaje de programación de alto nivel que se caracteriza por

ser:

1.- Simple: Java es un lenguaje de programación “simple” que puede ser

programa sin extenso entrenamiento, mientras siga siendo adaptado a

prácticas actuales de software.

2.-Orientado a objetos: La programación en Java está diseñada para ser

orientada a objetos desde la raíz.

11

Java. Obtenido 9 de mayo 2014 desde http://www.javagratis.net63.net/que-es-java.html

Page 35: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

18

3.- Multihilo: La capacidad multihilo de la tecnología Java proporciona el

significado de construir aplicaciones con muchos hilos (procesos)

concurrentes de actividad.

4.-Dinamico: El lenguaje y el sistema “run-time” son dinámicos en sus capas

de conexión. Las clases son conectadas solamente si sin necesarias.

5.- Arquitectura Neutral: Gracias a una máquina virtual se puede hacer

funcionar los programas en cualquier tipo de máquinas o hardware

(windows, mac,pdas,móviles…).

6.- Portable: Tus programas desarrollados en Java son los mismos en cada

plataforma, no hay incompatibilidades de tipo de datos entre arquitecturas de

hardware y software.

7.- Alto Rendimiento: Rendimiento es siempre una consideración. La

Plataforma Java logra un rendimiento superior adoptado un plan por el cual

el intérprete puede correr a toda velocidad sin necesidad de revisare el

entorno “run-time”. El recolector automático de basura corre como un

proceso o hilo de baja prioridad, asegurado una lata prioridad de que la

memoria esté disponible cuando sea requerida.

8.- Robusto: La programación en lenguaje de Java está diseñada para crear

software fiable. Provee un extenso chequeo en el tiempo de compilación,

seguido por un segundo nivel donde se verifica su funcionamiento (rum-

time).

9.- Seguro: La tecnología Java está diseñada para operar en entornos

distribuidos, lo cual significa que la seguridad es de extrema importancia.

Con características de seguridad diseñadas dentro del lenguaje y el “rum-

time system”, Java te permite contribuir aplicaciones que no pueden ser

invadidas desde afuera.

Page 36: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

19

2.5.2 Servidor de web Jboss12

JBoss es un servidor de aplicaciones J2EE de código abierto implementado

en Java puro. Al estar basado en Java, JBoss puede ser utilizado en

cualquier sistema operativo que lo soporte. Los principales desarrolladores

trabajan para una empresa de servicios, JBoss Inc., adquirida por Red Hat

en Abril de 2006, fundada por Marc Fleury, el creador de la primera versión

de JBoss. El proyecto está apoyado por una red mundial de colaboradores.

Los ingresos de la empresa están basados en un modelo de negocio de

servicios. JBoss implementa todo el paquete de servicios de JEE. JBoss AS

es el primer servidor de aplicaciones de código abierto, preparado para la

producción y certificado J2EE 1.4, disponible en el mercado, ofreciendo una

plataforma de alto rendimiento para aplicaciones de e-business.

Combinando una arquitectura orientada a servicios revolucionaria con una

licencia de código abierto, JBoss AS puede ser descargado, utilizado,

incrustado y distribuido sin restricciones por la licencia. Por este motivo es la

plataforma más popular de middleware para desarrolladores, vendedores

independientes de software y, también, para grandes empresas.

Las características destacadas de JBoss incluyen:

Producto de licencia de código abierto sin coste adicional.

Cumple los estándares.

Confiable a nivel de empresa.

Incrustable, orientado a arquitectura de servicio.

Flexibilidad consistente.

12

BOSS, es un servidor de aplicaciones de código abierto implementado en JAVA. Obtenida e5 de

julio 2013 desde http://es.wikipedikia.org/wiki/JBoss

Page 37: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

20

Servicios del middleware para cualquier objeto de Java.

2.5.3 Jboss Seam13

JBoss Seam fue un framework desarrollado por JBoss, una división de Red

Hat. El líder del proyecto era Gavin King, también autor del framework para

mapeo objeto relacional Hibernate. Combina a los 2 frameworks Enterprise

JavaBeans EJB3 y JavaServerFaces JSF. Se puede acceder a cualquier

componente EJB desde la capa de presentación refiriéndote a él mediante

su nombre de componente seam.

Seam introduce el concepto de contextos. Cada componente de Seam existe

dentro de un contexto. El contexto conversacional por ejemplo captura todas

las acciones del usuario hasta que éste sale del sistema o cierra el

navegador - inclusive puede llevar un control de múltiples pestañas y

mantiene un comportamiento consistente cuando se usa el botón de

regresar del navegador.

Es posible generar automáticamente una aplicación web de altas, bajas

cambio y modificaciones a partir de una base de datos existente utilizando

una herramienta de línea de comandos llamada seam-gen incluida con el

framework. El desarrollo WYSIWYG es facilitado a través del uso de las

JBoss Tools, que es un conjunto deplug-ins diseñados para el entorno

integrado de desarrollo Eclipse. Seam puede ser integrado con las

bibliotecas de componentes JSF JBoss RichFaces o con ICEsoft ICEFaces.

Ambas bibliotecas poseen soporte para AJAX.

2.5.4 Tecnología EJB

13

JBoss Seam, Obtenifo 9 de mayo desde http://es.wikipedia.org/wiki/JBoss_Seam

Page 38: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

21

Los EJB proporcionan un modelo de componentes distribuido estándar del

lado del servidor. El objetivo de los EJB es dotar al programador de un

modelo que le permita abstraerse de los problemas generales de una

aplicación empresarial (concurrencia, transacciones, persistencia, seguridad,

etc.) para centrarse en el desarrollo de la lógica de negocio en sí. El hecho

de estar basado en componentes permite que éstos sean flexibles y sobre

todo reutilizables.

No hay que confundir los Enterprise JavaBeans con los JavaBeans. Los

JavaBeans también son un modelo de componentes creado por Oracle - Sun

Microsystems para la construcción de aplicaciones, pero no pueden

utilizarse en entornos de objetos distribuidos al no soportar nativamente la

invocación remota (RMI).

Tipos de Enterprise JavaBeans

Existen tres tipos de EJBs:

EJB de Entidad (Entity EJBs): su objetivo es encapsular los objetos del lado

del servidor que almacena los datos. Los EJB de entidad presentan la

característica fundamental de la persistencia:

Persistencia gestionada por el contenedor (CMP): el contenedor

se encarga de almacenar y recuperar los datos del objeto de entidad

mediante el mapeo o vinculación de las columnas de una tabla de

la base de datos con los atributos del objeto.

Persistencia gestionada por el bean (BMP): el propio objeto

entidad se encarga, mediante una base de datos u otro mecanismo,

de almacenar y recuperar los datos a los que se refiere, por lo cual la

responsabilidad de implementar los mecanismos de persistencia es

del programador.

EJB de Sesión (Session EJBs): gestionan el flujo de la información en el

servidor. Generalmente sirven a los clientes como una fachada de los

servicios proporcionados por otros componentes disponibles en el servidor.

Puede haber dos tipos:

Page 39: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

22

Con estado (stateful). En un bean de sesión con estado, las

variables de instancia del bean almacenan datos específicos

obtenidos durante la conexión con el cliente. Cada bean de sesión

con estado, por tanto, almacena el estado conversacional de un

cliente que interactúa con el bean. Este estado conversacional se

modifica conforme el cliente va realizando llamadas a los métodos de

negocio del bean. El estado conversacional no se guarda cuando el

cliente termina la sesión.

Sin estado (stateless). Los beans de sesión sin estado son objetos

distribuidos que carecen de estado asociado permitiendo por tanto

que se los acceda concurrentemente. No se garantiza que los

contenidos de las variables de instancia se conserven entre llamadas

al método.

EJB dirigidos por mensajes (Message-driven EJBs): son los únicos beans

con funcionamiento asíncrono. Usando el Java Messaging System (JMS), se

suscriben a un tema (topic) o a una cola (queue) y se activan al recibir un

mensaje dirigido a dicho tema o cola. No requieren de su instanciación por

parte del cliente.

2.5.5 Eclipse IDE

Eclipse es una plataforma de desarrollo, diseñada para ser extendida de

forma indefinida a través deplug-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.

Page 40: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

23

Arquitectura de Eclipse

Figura 7. Arquitectura de Eclipse

Fuente: Internet

Características

Permite desarrollar aplicaciones sencillas

Permite utilizar módulos o plugings de manera que puedan aumentar

sus funcionalidades.

Tiene compilación en tiempo real

Pruebas unitarias.

2.5.6 PostgreSQL14

PostgreSQL es un servidor de base de datos objetos-relacional libre, ya que

incluye características orientadas a objetos, como puede ser la herencia,

tipos de datos, funciones, restricciones, disparadores, reglas e integridad

transaccional, liberado bajo la licencia BSB.

Características

14 PostgreSQL. Obtenido 5 de julio 2013 desde

https://iessanvicente.com/colaboraciones/postgreSQL.pdf

Page 41: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

24

Fácil de administrar

Multiplataforma

Soporte

Ahorro en costo de operación

Estabilidad y Confiabilidad

Herramientas Gráficas de diseño y volumen

Diseñado para ambientes de altos volúmenes de datos

Transacciones

Integridad referencial

Capacidad de replicación de datos

Extensible

Interfaz con diversos lenguajes de programación

Ventajas

Es un sistema de gestión de bases de datos relacionales Open

Source (de código abierto).

Puede operar sobre distintas plataformas incluyedo Linux, Unix,

MacOSX, Solaris y Windows.

Posee características de orientación de objetos, como la herencia

entre tablas.

La velocidad del motor de bases de datos ha sido incrementado

aproximadamente en un 20% a 40% y su tiempo de arranque ha

bajado al 80% desde la versión 6.0.

Page 42: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

25

2.5.7 Richfaces15

RichFaces es una librería de componentes visuales para JSF, escrita en su

origen por Exa del y adquirida por Jboss. Además, RichFaces posee un

framework avanzado para la integración de funcionalidades Ajax en dichos

componentes visuales, mediante el soporte de la librería Ajax4JSF.

Son características de RichFaces las siguientes:

Se integra perfectamente en el ciclo de vida de JSF,

Incluye funcionalidades Ajax, de modo que nunca vemos el JavaScript

y tiene un contenedor Ajax propio,

Contiene un set de componentes visuales, los más comunes para el

desarrollo de una aplicación web rica (Rich Internet Application), con

un número bastante amplio que cubren casi todas nuestras

necesidades,

Soporta facelets,

Soporta css themes o skins, es un proyecto open source, activo y con

una comunidad también activa.

15

Richfaces , Obtenida 9 de mayo 2013 desde

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

Page 43: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

26

2.5.8 iREPORT16

iReport es una herramienta opensource construida por Jaspersoft; escrita en

java y basada en Netbeans que permite generar reportes haciendo uso de la

librería JasperReports de forma visual, gracias a esta herramienta

tendremos una interface gráfica que permitirá construir reportes de manera

más fácil y cómoda.

Características

Las características a mi juicio más destacadas de esta herramienta son:

Editor WYSIWYG.

Vista previa integrada (permite visualizar el reporte en diferentes

formatos a través del Preview).

Soporte completo a las etiquetas de la librería JasperReports.

Administración de errores.

Gráficas en HTML5.

Soporte para construcción de tablas anidadas.

Soporte para todas las bases de datos accesibles por JDBC.

Soporte de templates.

Librería de estilos.

Drag-and-drop sobre los componentes.

16

iReport, generación de reportes. Obtenida 9 de mayo 2014 desde http://camilo-rodriguez.com/que-es-ireport-designer-y-para-que-sirve/

Page 44: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

27

CAPITULO 3

3 ESPECIFICACIÓN DE REQUERIMIENTOS

3.1 Propósito

Este capítulo tiene como objetivo presentar un documento en donde se van

a establecer los requerimientos funcionales y no funcionales que se tomaron

en cuenta para el desarrollo del aplicativo.

3.2 Descripción General

3.2.1 Perspectiva del Sistema

El aplicativo permitirá llevar un mejor control de los medicamentos e

historias clínicas de los pacientes del Departamento Médico, además dar al

acceso al sistema a los otros módulos que conforman el Sistema Integral de

la Casa de la Cultura.

El sistema debe permitir la generar los reportes que se consideren

necesarios.

3.2.2 Funcionalidades del Sistema

Ingreso de Información

El sistema permite ingresar datos (empleados, médicos, medicamentos,

pacientes) dependiendo de la tarea que se baja a realizar por el

administrador del sistema.

Salida de Información

El sistema almacena la información en la base de datos y lo procesa para

poder generar los reportes.

Page 45: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

28

Seguridad

Para ingresar al sistema el usuario (administrador, empleado, médico) debe

primero loguearse, estos usuarios tendrán acceso solo a ciertas funciones

del sistema de acuerdo al rol que tiene asignado. Estos usuarios pueden

acceder al sistema desde cualquier máquina que tenga internet

3.3 Requerimientos

3.3.1 Requerimientos Funcionales17

Un requisito funcional define una función del sistema de software o sus

componentes. Una función es descrita como un conjunto de entradas,

comportamientos y salidas. Los requerimientos funcionales pueden ser:

cálculos, detalles técnicos, manipulación de datos y otras funcionalidades

específicas que se supone, un sistema debe cumplir. Los requerimientos de

comportamiento para cada requerimiento funcional se muestran en los casos

de uso. Son complementados por los requisitos no funcionales, que se

enfocan en cambio en el diseño o la implementación.

El sistema tienen los siguientes requerimientos funcionales:

Permitir el acceso a los módulos que forman parte del Sistema

Integral de la Casa de la Cultura

Permitir la creación de fichas médicas.

Permitir el registro de control de los medicamentos.

Generar reportes de las ficha médicas de los pacientes

Generación de reportes de inventario (entrada, salida y kardex de

medicamentos).

Impresión de cada uno de los reportes.

17

Requerimientos funcionales ,Obtenido el 14 de abril desde

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

Page 46: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

29

3.3.2 Requerimientos No Funcionales18

Un requisito no funcional o atributo de calidad es un requisito que especifica

criterios que pueden usarse para juzgar la operación de un sistema en lugar

de sus comportamientos específicos, ya que éstos corresponden a

los requisitos funcionales.

El sistema tiene los siguientes requerimientos no funcionales:

Seguridad

El sistema debe contar con autentificación para el ingreso de los

usuarios los mismos que solo pueden acceder a ciertas

funcionalidades dependiendo del rol que tenga asignado.

Interfaz de Usuario

El sistema debe ser amigable e intuitivo y debe estar enfocando al

usuario final, debe funcionar en los navegadores más utilizados y

debe cumplir con los estándares para el diseño de las pantallas.

Disponibilidad

Se debe contemplar de confiabilidad y consistencia de los

componentes del sistema en caso de algún

Mantenibilidad

Todo el sistema debe estar completamente documentado con sus

respectivos manuales.

Validación de Información

El sistema debe validar automáticamente la información solicitada en

los formularios de ingreso para realizar este proceso de validación se

tener en cuenta el tipo de dato con los que se va a llenar los campos

solicitados.

18

Requerimiento no funcionales, Obtenido el 14 de abril desde

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

Page 47: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

30

3.4 Casos de Uso

El diagrama de casos de uso representa la forma en como un Cliente (Actor)

opera con el sistema en desarrollo, además de la forma, tipo y orden en

como los elementos interactúan (operaciones o casos de uso).

Un diagrama de casos de uso consta de los siguientes elementos:

Actor.

Casos de Uso.

Relaciones de Uso, Herencia y Comunicación.

Elementos

Actor:

Una definición previa, es que un Actor es un rol que un usuario juega con

respecto al sistema. Es importante destacar el uso de la palabra rol, pues

con esto se especifica que un Actor no necesariamente representa a una

persona en particular, sino más bien la labor que realiza frente al sistema.

Como ejemplo a la definición anterior, tenemos el caso de un sistema de

ventas en que el rol de Vendedor con respecto al sistema puede ser

realizado por un Vendedor o bien por el Jefe de Local

Caso de Uso:19

19

Caso de Uso, Obtenido el 18 de abril 2015 desde http://users.dcc.uchile.cl/~psalinas/uml/casosuso.html

Page 48: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

31

Es una operación/tarea específica que se realiza tras una orden de algún

agente externo, sea desde una petición de un actor o bien desde la

invocación desde otro caso de uso.

Relaciones:

Asociación

Es el tipo de relación más básica que indica la invocación desde un actor o

caso de uso a otra operación (caso de uso). Dicha relación se denota con

una flecha simple.

Dependencia o Instanciación

Es una forma muy particular de relación entre clases, en la cual una clase

depende de otra, es decir, se instancia (se crea). Dicha relación se denota

con una flecha punteada.

Generalización

Este tipo de relación es uno de los más utilizados, cumple una doble función

dependiendo de su estereotipo, que puede ser de Uso (<<uses>>) o

de Herencia (<<extends>>).

Este tipo de relación está orientado exclusivamente para casos de uso (y no

para actores).

extends: Se recomienda utilizar cuando un caso de uso es similar a otro

(características).

uses: Se recomienda utilizar cuando se tiene un conjunto de características

que son similares en más de un caso de uso y no se desea mantener

copiada la descripción de la característica.

De lo anterior cabe mencionar que tiene el mismo paradigma en diseño y

Page 49: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

32

3.4.1 OML (Open Modeling Languaje)20

OML defiende nuevos conceptos como invokes y del precedes. Estos

nuevos conceptos, toman la forma de estereotipo definido por el usuario en

los diagramas de caso de uso.

La idea de invoques está basada en que un caso de uso llama a otro caso

de uso, de la misma manera que una función principal llama a una

subfunción. Por otra parte, precedes es definido por OML para indicar que

caso de uso es precedido por otro dentro de una secuencia lógica en una

diagrama de caso de uso.

Figura 8. Diagrama OML

Fuente: Internet

3.5 Caso de Uso Generales.

3.5.1 Administración del Sistema Integral CCE

Definición:

20

Uses vs Extends, Obtenida 24 de abril 2015 desde

https://es.scribd.com/doc/216898810/power-point

Caso de Uso CU_001

Descripción Administración del Sistema

Actores Administrador

Page 50: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

33

Tabla 1. Administración del Sistema

Fuente: Tesista

Representación:

Figura 9. Caso de Uso. Administración de Sistema Fuente: Tesista

Pre – Condición 1. Para que inicie el correcto funcionamiento del sistema se

deben realizar las siguientes acciones en la base de datos:

a. Crear un usuario, con los datos de la persona designada por la

Casa de la Cultura para que cuente con el rol de Administrador.

b. Crear un rol, en la tabla de Roles.

2. En la Tabla Usuario Roles, asignar el código de usuario y rol.

3. Para ingresar los datos del Usuario es necesario tener un

registro en la tabla Departamento tomando en cuenta a donde

pertenece el usuario designado para ser el Administrador del

Sistema.

4. En la tabla Departamento se debe llenar un solo campo:

a. Nombre.

Page 51: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

34

3.5.2 Creación de la Historia Clínica

Definición:

Caso de Uso CU_002

Descripción Creación de Historias Clínica

Actores Enfermera

Pre – Condición El usuario a ingresar debe tener el permiso de acceso y el rol

respectivo, contrario se negará su ingreso.

Flujo Normal 1. El usuario (Enfermera) ingresa al sistema por medio de la

interfaz gráfica.

2. El sistema presenta la interfaz de login en donde se solicita

los siguientes datos:

Usuario

Contraseña

3. El usuario ingresa los datos solicitados.

4. Presiona el botón Acceder.

5. El sistema validará la información. ingresada

6. El sistema presenta las opciones que posee habilitadas para

su rol :

Crear fichas médicas

Generación de reportes de las fichas médicas

7. El usuario (Enfermera) debe verificar que el paciente es de

CCE o persona particular mediante en ingreso de la cédula.

8. Si el paciente es empleado CCE los datos solicitados en el

formulario se desplieguen en el mismo.

9. Si el paciente no se encuentra registrado en el

departamento médico se procede a llenar la información

requerida en el formulario.

10. Si los datos son correctos se oprime el botón de guardar

11. Los datos son guardados con éxito en la base de datos,

Flujo Alternativo Información ingresada no correcta:

1. Los datos de usuario y contraseña no coinciden con los datos

de la base de datos.

2. El usuario no tiene el permiso de acceso o rol necesario para

realizar la acción indicada.

3. La información ingresada de las personas en el formulario

de creación de fichas médicas deben ser correctos

(validación de valores).

4. Cancelación del proceso

Post- Condición Notificación que los datos han sido guardados en la base de

datos sin ningún problema

Tabla 2. Creación de Historias Clínicas

Fuente: Tesista

Page 52: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

35

Representación:

Figura 10.Caso de Uso: Creación de historias clínicas

Fuente: Tesista

Page 53: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

36

3.5.3 Inventario de Medicamentos

Definición:

Caso de Uso CU_003

Descripción Inventario de Medicamentos

Actores Enfermera

Pre – Condición El usuario a ingresar debe tener el permiso de acceso y el rol

respectivo, contrario se negará su ingreso.

Flujo Normal 1. El usuario (Enfermera) ingresa al sistema por medio de la

interfaz gráfica.

2.- El sistema presenta la interfaz de login en donde se solicita

los siguientes datos:

Usuario

Contraseña

1. El usuario ingresa los datos solicitados.

2. Presiona el botón Acceder.

3. El sistema validará la información. ingresada

4. El sistema presenta las opciones que posee habilitadas para

su rol :

Ingreso de Medicamentos

Salida de Medicamentos

Kardex Medicamentos

Generación de reportes

5. El usuario (enfermera) va a registrar el ingreso de los

medicamentos tomando en cuenta cantidad, precio, fecha

de vencimiento del producto.

6. El usuario(enfermera) va a registrar la salida de los

medicamentos sean estos por la entrega a los pacientes o

porque su fecha de vencimiento expiro

7. El usuario (enfermera) debe generar el kardex de

medicamentos que es un reporte para conocer la cantidad

de medicamentos con los que cuenta la unidad médica.

8. Debe generar los reportes de ingreso y egreso de

medicamentos que se consideren en el aplicativo

Flujo Alternativo Información ingresada no correcta:

1.- Los datos de usuario y contraseña no coinciden con los datos

de la base de datos-

2.- El usuario no tiene el permiso de acceso o rol necesario.

3.- La información ingresada de los medicamentos en el

formulario no son correctos (validación de valores).

4.- Cancelación del proceso

Post- Condición Notificación que los datos han sido guardados en la base de

datos sin ningún problema

Tabla 3. Inventario de Medicamentos

Fuente: Tesista

Page 54: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

37

Representación:

Figura 11. Caso de Uso: Inventario de Medicamentos

Fuente: Tesista

Page 55: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

38

3.5.4 Reportes Enfermera

Definición:

Caso de Uso CU_004

Descripción Reportes Enfermera

Actores Enfermera

Pre – Condición El usuario a ingresar debe tener el permiso de acceso y el rol

respectivo, contrario se negará su ingreso.

Flujo Normal 1. El usuario (Enfermera) ingresa al sistema por medio de la

interfaz gráfica.

2.- El sistema presenta la interfaz de login en donde se solicita

los siguientes datos:

Usuario

Contraseña

3.- El usuario ingresa los datos solicitados.

4.- Presiona el botón Acceder.

5.- El sistema validará la información. ingresada

6.-El sistema presenta las opciones que posee habilitadas para

su rol :

Generación de reportes

7.- El usuario (enfermera) puede imprimir los siguientes

reportes:

Listado de empleados CCE

Inventario de medicamentos ( ingreso, egreso, kardex)

Fichas médicas de los pacientes

Flujo Alternativo Información ingresada no correcta:

1.- Los datos de usuario y contraseña no coinciden con los datos

de la base de datos-

2.- El usuario no tiene el permiso de acceso o rol necesario.

Post- Condición El usuario debe tener acceso al módulo de reportes

Tabla 4. Reportes Enfermera

Fuente: Tesista

Page 56: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

39

Representación:

Figura 12. Caso de Uso: Reportes Enfermera Fuente: Tesista

Page 57: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

40

3.5.5 Gestión de Pacientes

Definición:

Caso de Uso CU_005

Descripción Gestión de Pacientes

Actores Médico

Pre – Condición El usuario a ingresar debe tener el permiso de acceso y el rol

respectivo, contrario se negará su ingreso.

Flujo Normal 1. El usuario (Enfermera) ingresa al sistema por medio de la

interfaz gráfica.

2.- El sistema presenta la interfaz de login en donde se solicita

los siguientes datos:

Usuario

Contraseña

3.- El usuario ingresa los datos solicitados.

4.- Presiona el botón Acceder.

5.- El sistema validará la información. ingresada

6.-El sistema presenta las opciones que posee habilitadas para

su rol :

Administrar historias clínicas (asignar diagnóstico y

tratamientos)

Generación de reportes

7.-El usuario ingresa al sistemas y busca la historia clínica de un

paciente sea es particular o empleado de CCE.

8.- El usuario ingresa a la historia clínica el diagnóstico y el

tratamiento que el paciente debe seguir

9.-El usuario debe continuar con la evolución de los pacientes

(diagnóstico y tratamiento)

9. -El usuario debe generar el reporte de la historia clínica si lo

considera necesaria.

Flujo Alternativo Información ingresada no correcta:

1.- Los datos de usuario y contraseña no coinciden con los datos

de la base de datos-

2.- El usuario no tiene el permiso de acceso o rol necesario.

3.- La información es buscada mediante el número de cedula

si no son correctos (validación de valores).

4.- Cancelación del proceso de búsqueda

Post- Condición Se busca la historia clínica mediante el número de cedula

Tabla 5. Gestión Pacientes

Fuente:Tesista

Page 58: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

41

Representación:

Figura 13. Caso de Uso: Gestión de pacientes Fuente: Tesista

Page 59: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

42

3.5.6 Reportes Médicos

Definición:

Caso de Uso CU_006

Descripción Reporte Médico

Actores Médico

Pre – Condición El usuario a ingresar debe tener el permiso de acceso y el rol

respectivo, contrario se negará su ingreso.

Flujo Normal 1. El usuario (médico) ingresa al sistema por medio de la

interfaz gráfica.

2.- El sistema presenta la interfaz de login en donde se solicita

los siguientes datos:

Usuario

Contraseña

3.-El usuario(médico) tiene busca al paciente por su número de

cedula .

4.- El usuario (médico) solo podrá imprimir:

Diagnostico paciente

Tratamiento paciente

Flujo Alternativo Información ingresada no correcta:

1.- Los datos de usuario y contraseña no coinciden con los datos

de la base de datos

2.-El usuario no tiene el permiso de acceso o rol necesario.

3.-La información del paciente debe ser buscada mediante el

número de cedula si no son correctos (validación de valores).

Post- Condición Se busca si el paciente existe o no existe

Tabla 6. Reportes Médicos

Fuente: Tesista

Figura 14. Cado de Uso: Reportes Médicos

Fuente: Tesista

Page 60: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

43

3.5.7 Interactivo de la enfermera

Definición:

Caso de Uso CU_006

Descripción Interactivo Enfermera

Actores Enfermera

Pre – Condición El usuario a ingresar debe tener el permiso de acceso y el rol

respectivo, contrario se negará su ingreso.

Flujo Normal 1. El usuario (enfermera) ingresa al sistema por medio de la

interfaz gráfica.

2.- El sistema presenta la interfaz de login en donde se solicita

los siguientes datos:

Usuario

Contraseña

3.- El usuario (enfermera) maneja la administración de

pacientes :

Empleado CCE

Persona particular

En donde tiene las acciones de :

Buscar paciente

Modificar paciente

Guardar paciente

Eliminar paciente

Para la creación de las historias clínicas

4.- El usuario (enfermera) maneja la administración de

inventarios que consisten en la entrada y salida de los

medicamentos que tienen las siguientes acciones:

Buscar medicamento

Modificar medicamento

Guardar medicamento

Eliminar medicamento

Para la creación del inventario

5.- El usuario (enfermera) puede visualizar y imprimir los

reportes de:

Entrada ,Salida y Kardex de Medicamento

Historias Clínicas

Flujo Alternativo Información ingresada no correcta:

1.- Los datos de usuario y contraseña no coinciden con los datos

de la base de datos

2.-El usuario no tiene el permiso de acceso o rol necesario.

3.-La información del paciente debe ser buscada mediante el

número de cedula si no son correctos (validación de valores).

4.-La información de los medicamentos deber ser buscada por

el nombre el fármaco.

Page 61: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

44

Post- Condición Se busca si el paciente existe o no existe

Tabla 7. Interactivo Enfermera

Fuente:Tesista

Representación:

Figura 15. Caso de Uso: Interactivo Enfermera

Fuente: Tesista

Page 62: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

45

3.5.8 Interactivo del Médico

Definición:

Caso de Uso CU_007

Descripción Interactivo Médico

Actores Enfermera

Pre – Condición El usuario a ingresar debe tener el permiso de acceso y el rol

respectivo, contrario se negará su ingreso.

Flujo Normal 1. El usuario (médico) ingresa al sistema por medio de la

interfaz gráfica.

2.- El sistema presenta la interfaz de login en donde se solicita

los siguientes datos:

Usuario

Contraseña

3.- El usuario (médico) maneja la administración de pacientes :

Buscar paciente

Modificar paciente

Administrar Diagnostico

Buscar diagnostico

Modificar diagnostico

Eliminar diagnostico

Administrar Tratamiento

Buscar tratamiento

Modificar tratamiento

Eliminar tratamiento

Flujo Alternativo Información ingresada no correcta:

1.- Los datos de usuario y contraseña no coinciden con los datos

de la base de datos

2.-El usuario no tiene el permiso de acceso o rol necesario.

3.-La información del paciente debe ser buscada mediante el

número de cedula si no son correctos (validación de valores).

Post- Condición Se busca si el paciente existe o no existe

Tabla 8. Interactivo Médico

Fuente: Tesista

Page 63: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

46

Representación:

Figura 16. Caso de Uso: Interactivo Médico Fuente: Tesista

Page 64: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

47

3.6 Diagrama de Secuencias

El diagrama de Secuencia21, muestra gráficamente los eventos que originan

los actores dentro de un sistema y cómo se comunican (interactúan) entre

sí a lo largo del tiempo. Esta descripción es importante porque puede dar

detalle a los casos de uso, aclarándolos al nivel de mensajes. El diagrama

de secuencia es más adecuado para observar la perspectiva cronológica de

las interacciones, muestra la secuencia explícita de mensajes y son mejores

para especificaciones de tiempo real y para escenarios complejos. La

creación de los diagramas de secuencia forma parte de la investigación para

conocer el sistema, por lo que es parte del análisis del mismo

Rol de la Clase

El rol de la clase describe la manera en que un objeto se va a comportar en

el contexto. No se listan los atributos del objeto.

Activación

Los cuadros de activación representan el tiempo que un objeto necesita para

completar una tarea.

Mensajes

Los mensajes son flechas que representan comunicaciones entre objetos.

Las medias flechas representan mensajes asincrónicos. Los mensajes

21

Diagrama de Secuencias , Obtenido el 24 de abril 2015 des de http://jams001.blogspot.com/2012/09/diagrama-de-secuencia-y-colaboracion.html

Page 65: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

48

asincrónicos son enviados desde un objeto que no va a esperar una

respuesta del receptor para continuar con sus tareas.

Líneas de Vida

Las líneas de vida son verticales y en línea de puntos, ellas indican la

presencia del objeto durante el tiempo.

Destrucción de Objetos

Los objetos pueden ser eliminados tempranamente usando una flecha

etiquetada "<>" que apunta a una X.

Page 66: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

49

Loops

Una repetición o loop en un diagrama de secuencias, es representado como un rectángulo.

La condición para abandonar el loop se coloca en la parte inferior entre corchetes [ ].

3.6.1 Diagrama Secuencia de Ingreso al Sistema

Figura 17. Diagrama de Secuencia: Ingreso al sistema

Fuente: Tesista

Page 67: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

50

3.6.2 Diagrama Secuencia Creación de Ficha

3.6.2.1 Paciente (Empleados CCE)

Figura 18. Diagrama de Secuencia: Paciente (CCE)

Fuente: Tesista

Page 68: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

51

3.6.2.2 Paciente (Particular)

Figura 19. Diagrama de Secuencia: Paciente particular

Fuente: Tesista

Page 69: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

52

3.6.3 Inventario de Medicamento

3.6.3.1 Entrada de Medicamento

Figura 20. Diagrama de Secuencia: Entrada Medicamento

Fuente: Tesista

3.6.3.2 Salida de Medicamento

Figura 21. Diagrama de Secuencia: Salida de Medicamento Fuente: Tesista

Page 70: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

53

3.6.3.3 Kardex de Inventario

Figura 22. Diagrama de Secuencia: Kardex Medicamento

Fuente: Tesista

3.6.3.4 Reportes Enfermera

Figura 23. Diagrama De Secuencia: Reportes Enfermera Fuente: Tesista

Page 71: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

54

3.7 Ficha Médica

3.7.1 Historial Médico

Figura 24. Diagrama de Secuencia: Historial Médico Fuente: Tesista

Page 72: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

55

3.7.2 Diagnóstico y Tratamiento

Figura 25. Diagrama de Secuencia: Diagnóstico y Tratamiento

Fuente: Tesista

Page 73: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

56

3.7.3 Reporte Médico

Figura 26. Diagrama de Secuencia: Reportes Médico

Fuente: Tesista

Page 74: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

57

CAPIULO 4

4 DISEÑO, IMPLEMENTACION Y PRUEBAS

4.1 Modelo Orientado a Objetos del Sistema

Figura 27. Modelo de Objetos

Fuente: Tesista

0..1

0..*

0..1

0..*

0..1

0..*

0..1

0..*

0..1

0..*

0..1

0..*

0..1

0..*

0..1

0..*

0..1

0..*

0..1

0..*

0..1

0..*

0..1

0..*

0..1

0..*

0..1

0..*

0..1

0..*

0..1

0..*

0..1

0..*

0..1 0..*

0..1

0..*

0..1

0..*

0..10.

.*

0..1

0..*

0..1

0..*

0..1

0..*

0..1

0..*

0..1

0..*

0..1

0..*

0..1

0..*

0..1

0..*

0..1

0..*

0..1

0..*

0..1

0..*

0..1

0..*

0..1

0..*

0..1

0..*

MED

ICO

+ + + + + + + + +

ID_M

EDIC

OS

ID_E

STAD

O_C

IVIL

CEDU

LA

NOM

BRES

APEL

LIDO

_PAT

ERNO

APEL

LIDO

_MAT

ERNO

ESPE

CIAL

IDAD

TELE

FONO

DIRE

CCIO

N

: lon

g

: int

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

EMPL

EADO

+ + + + + + + + + +

ID_E

MPL

EADO

CEDU

LA

NOM

BRES

APEL

LIDO

_PAT

ERNO

APEL

LIDO

_MAT

ERNO

EMAI

L

TELE

FONO

DIRE

CCIO

N

GEN

ERO

ESTA

DO

: lon

g

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

ACCE

SO

+ + +

USUA

RIO

ESTA

DO

CONT

RASE

NA

: Stri

ng

: Stri

ng

: Stri

ng

TIPO

_PER

SONA

+ +

ID_T

IPO

TIPO

: lon

g

: Stri

ng

ROL�E

S_AC

CESO

+ +

ID_R

OLE

S_AC

CESO

ESTA

DO

: lon

g

: Stri

ng

ROLE

S

+ + +

ID_R

OL

ROL

DESC

RIPC

ION

: lon

g

: Stri

ng

: Stri

ng

PERM

ISO

+ +

ID_P

ERM

ISO

ESTA

DO

: lon

g

: Stri

ng

FUNC

IONE

S

+ +

ID_F

UNCI

ON

DESC

RIPC

ION

: Stri

ng

: Stri

ng

TIPO

_MED

ICAM

ENTO

+ +

ID_T

IPO

MED

ICAM

ENTO

TIPO

_MED

ICAM

ENTO

: lon

g

: Stri

ng

MED

ICAM

ENTO

S

+ + + + +

ID_M

EDIC

AMEN

TOS

NOM

BRE

DESC

RIPC

ION

CANT

IDAD

_MIN

IMA

ESTA

DO

: lon

g

: Stri

ng

: Stri

ng

: int

: Stri

ng

CARG

O

+ +

ID_C

ARG

O

NOM

BRE

: lon

g

: Stri

ng

DEPA

RTAM

ENTO

+ + +

ID_D

EPAR

TAM

ENTO

NOM

BRE

DESC

RIPC

ION

: lon

g

: Stri

ng

: Stri

ng

ESTA

DO_C

IVIL

+ +

ID_E

STAD

O_C

IVIL

ESTA

DO_C

IVIL

: lon

g

: Stri

ng

ENTR

ADAS

+ + + + +

ID_E

NTRA

DA

FECH

A_VE

NCIM

IENT

O

DESC

RIPC

ION

CANT

IDAD

COST

O

: lon

g

: Dat

e

: Stri

ng

: int

: dou

ble

SALI

DAS

+ + +

ID_S

ALID

A

CANT

IDAD

DESC

RIPC

ION

: lon

g

: int

: Stri

ng

CABE

CERA

_ENT

RADA

S

+ +

ID_C

AB_E

NTRA

DA

FECH

A_IN

GRE

SO

: lon

g

: Dat

e

CABE

CERA

_SAL

IDAS

+ +

ID_C

AB_S

ALID

A

FECH

A_EG

RESO

: lon

g

: Dat

e

PACI

ENTE

+ + +

ID_P

ACIE

NTE

FECH

A_AD

MIS

ION

ESTA

DO

: lon

g

: Dat

e

: Stri

ng

TIPO

_PAC

IENT

E

+ +

ID_T

IPO

PACI

ENTE

DESC

RIPC

ION

: lon

g

: Stri

ng

PART

ICUL

ARES

+ + + + + + + + + +

ID_P

ARTI

CULA

R

CEDU

LA

NOM

BRES

APEL

LIDO

_PAT

ERNO

APEL

LIDO

_MAT

ERNO

EMAI

L

TELE

FONO

DIRE

CCIO

N

GEN

ERO

ESTA

DO

: lon

g

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

HIST

ORI

AL_L

ABO

RAL

+ + + + + + +

ID_H

ISTO

RIAL

ABO

RAL

EMPR

ESA

ACT_

ECO

NOM

ICA

CARG

O

SECC

ION

TIEM

PO_A

NIO

TIEM

PO_M

ES

: lon

g

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: int

: int

HIST

ORA

L_CL

INIC

O

+ + + + + + + + + + + + + + + + + + + + + + + + +

ID_H

ISTO

RIAL

ID_P

ACIE

NTE

HIST

_CLI

AFIL

_IES

S

REF_

CASO

EMER

G

REF_

RELA

CIO

N

REF_

DIRE

CC

REF_

TELE

F

ESPE

C_EM

ERG

ESPE

C_EM

ERG

_H

ESPE

C_EM

ERG

_D

ESPE

C_EM

ERG

_M

ESPE

C_EM

ERG

_A

DENU

N_IN

M

DENU

N_ES

TAB

DENU

N_H

DENU

N_M

DENU

N_D

DENU

N_A

TEM

PERA

TURA

PULS

O

RESP

IRAC

ION

TENS

_ART

ERIA

L

CONC

EPTO

CONC

EPTO

_RES

TRIC

C

: lon

g

: int

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

ENFE

RMED

ADES

+ + +

ID_E

NFER

M

TIPO

DESC

RIP_

ENFE

RM

: lon

g

: Stri

ng

: Stri

ng

ANTE

CED_

PERS

ONA

L

+ + +

ID_A

NTEP

TIPO

DESC

RIP_

ANTP

: lon

g

: Stri

ng

: Stri

ng

HABI

TOS

+ + + + + + + + + + +

ID_H

ABIT

O

FUM

A

FUM

A_FR

EC

LICO

R

LICO

R_FR

EC

SUBS

TANC

IA

SUBS

T_CU

AL

SUBS

T_FR

EC

DEPO

RTE

DEP_

CUAL

DEP_

FREC

: lon

g

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

TIPO

_HIS

TORI

AL

+ +

ID_T

IPO

HIS

DESC

RIP_

TIPO

: lon

g

: Stri

ng

ANTE

CED_

FAM

IL

+ +

ID_A

NTEF

DESC

RIP_

ANTF

: lon

g

: Stri

ng

RECO

MEN

DACI

ONE

S

+ +

ID_R

ECO

M

DESC

RIP_

RECO

M

: lon

g

: Stri

ng

CUAD

RO_C

LINI

CO

+ +

ID_C

UADR

O

DESC

RIP_

CUAD

RO

: lon

g

: Stri

ng

IMPR

ESIO

N_CL

INIC

A

+ +

ID_I

MPR

CLIN

DESC

RIP_

IMPR

E

: lon

g

: Stri

ng

TRAT

AMIE

NTO

S

+ +

ID_T

RAT

DESC

RIP_

TRAT

: lon

g

: Stri

ng

DIAG

NOST

ICO

S

+ +

ID_D

IAG

DESC

RIP_

DIAG

: lon

g

: Stri

ng

TRAN

SFER

ENCI

AS

+ + + + + + + + + + + +

ID_T

RANS

F

TR_T

IPO

TR_L

UGAR

TR_H

ORA

TR_D

IA

TR_M

ES

TR_A

NIO

ESTA

DO

EST_

HORA

EST_

DIA

EST_

MES

EST_

ANIO

: lon

g

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

EVO

LUCI

ON

+ + + + +

ID_E

VOLU

CIO

N

FECH

A

HORA

NOTA

S

PRES

CRIP

CIO

N

: lon

g

: Dat

e

: Stri

ng

: Stri

ng

: Stri

ng

EXAM

EN_R

ESUL

T

+ + + +

ID_E

XRE

POSI

CIO

N

ESTA

DO

RESU

LTAD

O

: lon

g

: int

: Stri

ng

: Stri

ng

EXAM

EN_F

ISIC

O

+ + + + + + + + + + +

ID_E

XAM

EN

TA FC FR PESO

TALL

A

IMC

TEM

P

DIST

RO

ZURD

O

AMBI

DIES

TRO

: lon

g

: Stri

ng

: Stri

ng

: Stri

ng

: dou

ble

: dou

ble

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

PARA

MET

ROS

+ + +

id_p

aram

etro

para

met

ro

valo

r

: lon

g

: Stri

ng

: Stri

ng

PARA

CLIN

ICO

+ + + + + + + +

ID_P

ARAC

LI

DESC

RIPC

ION

DESC

RIPD

DESC

RIPM

DESC

RIPA

1

DESC

RIPA

2

ESTA

DOSN

RESU

LTAD

O

: lon

g

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

: Stri

ng

Page 75: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

58

4.2 Modelo de Base de datos del sistema

Figura 28. Diagrama de Base de Datos del Sistema

Fuente: Tesista

FK_A

CCES

O_R

EFER

ENCE

_TIP

O_P

ER

FK_R

OLE

S_AC

_REF

EREN

CE_A

CCES

O

FK_P

ERM

ISO

_REF

EREN

CE_F

UNCI

ONE

FK_P

ERM

ISO

_REF

EREN

CE_R

OLE

SFK

_RO

LES_

AC_R

EFER

ENCE

_RO

LES

FK_A

CCES

O_R

EFER

ENCE

_EM

PLEA

DO

FK_A

CCES

O_R

EFER

ENCE

_MED

ICO

FK_E

MPL

EADO

_REF

EREN

CE_C

ARG

O

FK_E

MPL

EADO

_REF

EREN

CE_D

EPAR

TAM

FK_E

MPL

EADO

_REF

EREN

CE_E

STAD

O_C

FK_E

NTRA

DAS_

REFE

RENC

E_M

EDIC

AME

FK_S

ALID

AS_R

EFER

ENCE

_MED

ICAM

E

FK_M

EDIC

AME_

REFE

RENC

E_DE

PART

AM

FK_M

EDIC

AME_

REFE

RENC

E_TI

PO_M

ED

FK_E

NTRA

DAS_

REFE

RENC

E_CA

BECE

RA

FK_S

ALID

AS_R

EFER

ENCE

_CAB

ECER

A

FK_P

ACIE

NTE_

REFE

RENC

E_EM

PLEA

DO

FK_P

ACIE

NTE_

REFE

RENC

E_TI

PO_P

AC

FK_H

ISTO

RIA_

REFE

RENC

E_EM

PLEA

DOFK

_PAC

IENT

E_RE

FERE

NCE_

PART

ICUL

FK_E

NFER

MED

_REF

EREN

CE_H

ISTO

RAL

FK_A

NTEC

ED__

REFE

RENC

E_HI

STO

RAL

FK_H

ABIT

OS_

REFE

RENC

E_HI

STO

RAL

FK_A

NTEC

ED__

REFE

RENC

E_HI

STO

RAL

FK_R

ECO

MEN

D_RE

FERE

NCE_

HIST

ORA

L

FK_C

UADR

O_C

_REF

EREN

CE_H

ISTO

RAL

FK_I

MPR

ESIO

_REF

EREN

CE_H

ISTO

RAL

FK_T

RATA

MIE

_REF

EREN

CE_H

ISTO

RAL

FK_T

RANS

FER_

REFE

RENC

E_HI

STO

RAL

FK_D

IAG

NOST

_REF

EREN

CE_H

ISTO

RAL

FK_E

VOLU

CIO

_REF

EREN

CE_H

ISTO

RAL

FK_E

XAM

EN_F

_REF

EREN

CE_H

ISTO

RAL

FK_E

XAM

EN_R

_REF

EREN

CE_H

ISTO

RAL

FK_H

ISTO

RAL_

REFE

RENC

E_TI

PO_H

IS

FK_P

ARAC

LIN_

REFE

RENC

E_HI

STO

RAL

MED

ICO

ID_M

EDIC

OS

ID_E

STAD

O_C

IVIL

CEDU

LA

NOM

BRES

APEL

LIDO

_PAT

ERNO

APEL

LIDO

_MAT

ERNO

ESPE

CIAL

IDAD

TELE

FONO

DIRE

CCIO

N

...

SERI

AL

INT4

VARC

HAR(

14)

VARC

HAR(

30)

VARC

HAR(

30)

VARC

HAR(

30)

VARC

HAR(

30)

VARC

HAR(

30)

VARC

HAR(

30)

<pk>

EMPL

EADO

ID_E

MPL

EADO

ID_C

ARG

O

ID_D

EPAR

TAM

ENTO

ID_E

STAD

O_C

IVIL

CEDU

LA

NOM

BRES

APEL

LIDO

_PAT

ERNO

APEL

LIDO

_MAT

ERNO

EMAI

L

TELE

FONO

DIRE

CCIO

N

GEN

ERO

ESTA

DO

...

SERI

AL

INT4

INT4

INT4

VARC

HAR(

14)

VARC

HAR(

30)

VARC

HAR(

30)

VARC

HAR(

30)

VARC

HAR(

100)

VARC

HAR(

30)

VARC

HAR(

30)

VARC

HAR(

30)

VARC

HAR(

1)

<pk>

<fk1

>

<fk2

>

<fk3

>

ACCE

SO

USUA

RIO

ESTA

DO

ID_T

IPO

ID_E

MPL

EADO

ID_M

EDIC

OS

CONT

RASE

NA

...

VARC

HAR(

50)

VARC

HAR(

50)

INT4

INT4

INT4

VARC

HAR(

150)

<pk>

<fk1

>

<fk2

>

<fk3

>

TIPO

_PER

SONA

ID_T

IPO

TIPO

SERI

AL

VARC

HAR(

70)

<pk>

ROL�E

S_AC

CESO

ID_R

OLE

S_AC

CESO

ID_R

OL

USUA

RIO

ESTA

DO

...

SERI

AL

INT4

VARC

HAR(

50)

VARC

HAR(

1)

<pk>

<fk2

>

<fk1

>

ROLE

S

ID_R

OL

ROL

DESC

RIPC

ION

SERI

AL

VARC

HAR(

50)

VARC

HAR(

50)

<pk>

PERM

ISO

ID_P

ERM

ISO

ID_F

UNCI

ON

ID_R

OL

ESTA

DO

...

SERI

AL

VARC

HAR(

20)

INT4

VARC

HAR(

1)

<pk>

<fk1

>

<fk2

>

FUNC

IONE

S

ID_F

UNCI

ON

DESC

RIPC

ION

VARC

HAR(

20)

VARC

HAR(

200)

<pk>

TIPO

_MED

ICAM

ENTO

ID_T

IPO

MED

ICAM

ENTO

TIPO

_MED

ICAM

ENTO

SERI

AL

VARC

HAR(

30)

<pk>

MED

ICAM

ENTO

S

ID_M

EDIC

AMEN

TOS

ID_D

EPAR

TAM

ENTO

ID_T

IPO

MED

ICAM

ENTO

NOM

BRE

DESC

RIPC

ION

CANT

IDAD

_MIN

IMA

ESTA

DO

SERI

AL

INT4

INT4

VARC

HAR(

30)

VARC

HAR(

150)

INT4

VARC

HAR(

1)

<pk>

<fk1

>

<fk2

>

CARG

O

ID_C

ARG

O

NOM

BRE

SERI

AL

VARC

HAR(

30)

<pk>

DEPA

RTAM

ENTO

ID_D

EPAR

TAM

ENTO

NOM

BRE

DESC

RIPC

ION

...

SERI

AL

VARC

HAR(

30)

VARC

HAR(

30)

<pk>

ESTA

DO_C

IVIL

ID_E

STAD

O_C

IVIL

ESTA

DO_C

IVIL

SERI

AL

VARC

HAR(

50)

<pk>

ENTR

ADAS

ID_E

NTRA

DA

ID_M

EDIC

AMEN

TOS

ID_C

AB_E

NTRA

DA

FECH

A_VE

NCIM

IENT

O

DESC

RIPC

ION

CANT

IDAD

COST

O

...

SERI

AL

INT4

INT4

DATE

VARC

HAR(

150)

INT4

DECI

MAL

(15,

2)

<pk>

<fk1

>

<fk2

>

SALI

DAS

ID_S

ALID

A

ID_M

EDIC

AMEN

TOS

ID_C

AB_S

ALID

A

CANT

IDAD

DESC

RIPC

ION

...

SERI

AL

INT4

INT4

INT4

VARC

HAR(

150)

<pk>

<fk1

>

<fk2

>

CABE

CERA

_ENT

RADA

S

ID_C

AB_E

NTRA

DA

FECH

A_IN

GRE

SO

SERI

AL

DATE

<pk>

CABE

CERA

_SAL

IDAS

ID_C

AB_S

ALID

A

FECH

A_EG

RESO

SERI

AL

DATE

<pk>

PACI

ENTE

ID_P

ACIE

NTE

ID_E

MPL

EADO

ID_T

IPO

PACI

ENTE

ID_P

ARTI

CULA

R

FECH

A_AD

MIS

ION

ESTA

DO

SERI

AL

INT4

INT4

INT4

TIM

ESTA

MP

VARC

HAR(

1)

<pk>

<fk1

>

<fk2

>

<fk3

>

TIPO

_PAC

IENT

E

ID_T

IPO

PACI

ENTE

DESC

RIPC

ION

SERI

AL

VARC

HAR(

30)

<pk>

PART

ICUL

ARES

ID_P

ARTI

CULA

R

CEDU

LA

NOM

BRES

APEL

LIDO

_PAT

ERNO

APEL

LIDO

_MAT

ERNO

EMAI

L

TELE

FONO

DIRE

CCIO

N

GEN

ERO

ESTA

DO

SERI

AL

VARC

HAR(

30)

VARC

HAR(

30)

VARC

HAR(

30)

VARC

HAR(

30)

VARC

HAR(

100)

VARC

HAR(

30)

VARC

HAR(

30)

VARC

HAR(

30)

VARC

HAR(

1)

<pk>

HIST

ORI

AL_L

ABO

RAL

ID_H

ISTO

RIAL

ABO

RAL

ID_E

MPL

EADO

EMPR

ESA

ACT_

ECO

NOM

ICA

CARG

O

SECC

ION

TIEM

PO_A

NIO

TIEM

PO_M

ES

...

SERI

AL

INT4

VARC

HAR(

30)

VARC

HAR(

30)

VARC

HAR(

30)

VARC

HAR(

30)

INT4

INT4

<pk>

<fk>

HIST

ORA

L_CL

INIC

O

ID_H

ISTO

RIAL

ID_T

IPO

HIS

ID_P

ACIE

NTE

HIST

_CLI

AFIL

_IES

S

REF_

CASO

EMER

G

REF_

RELA

CIO

N

REF_

DIRE

CC

REF_

TELE

F

ESPE

C_EM

ERG

ESPE

C_EM

ERG

_H

ESPE

C_EM

ERG

_D

ESPE

C_EM

ERG

_M

ESPE

C_EM

ERG

_A

DENU

N_IN

M

DENU

N_ES

TAB

DENU

N_H

DENU

N_M

DENU

N_D

DENU

N_A

TEM

PERA

TURA

PULS

O

RESP

IRAC

ION

TENS

_ART

ERIA

L

CONC

EPTO

CONC

EPTO

_RES

TRIC

C

...

SERI

AL

INT4

INT4

VARC

HAR(

1)

VARC

HAR(

1)

VARC

HAR(

150)

VARC

HAR(

150)

VARC

HAR(

150)

VARC

HAR(

10)

VARC

HAR(

150)

VARC

HAR(

6)

VARC

HAR(

3)

VARC

HAR(

3)

VARC

HAR(

6)

VARC

HAR(

150)

VARC

HAR(

150)

VARC

HAR(

6)

VARC

HAR(

3)

VARC

HAR(

3)

VARC

HAR(

6)

VARC

HAR(

10)

VARC

HAR(

10)

VARC

HAR(

10)

VARC

HAR(

10)

VARC

HAR(

2)

VARC

HAR(

150)

<pk>

<fk>

ENFE

RMED

ADES

ID_E

NFER

M

ID_H

ISTO

RIAL

TIPO

DESC

RIP_

ENFE

RM

...

SERI

AL

INT4

VARC

HAR(

1)

VARC

HAR(

150)

<pk>

<fk>

ANTE

CED_

PERS

ONA

L

ID_A

NTEP

ID_H

ISTO

RIAL

TIPO

DESC

RIP_

ANTP

...

SERI

AL

INT4

VARC

HAR(

20)

VARC

HAR(

150)

<pk>

<fk>

HABI

TOS

ID_H

ABIT

O

ID_H

ISTO

RIAL

FUM

A

FUM

A_FR

EC

LICO

R

LICO

R_FR

EC

SUBS

TANC

IA

SUBS

T_CU

AL

SUBS

T_FR

EC

DEPO

RTE

DEP_

CUAL

DEP_

FREC

...

SERI

AL

INT4

VARC

HAR(

1)

VARC

HAR(

10)

VARC

HAR(

1)

VARC

HAR(

10)

VARC

HAR(

1)

VARC

HAR(

10)

VARC

HAR(

10)

VARC

HAR(

1)

VARC

HAR(

10)

VARC

HAR(

10)

<pk>

<fk>

TIPO

_HIS

TORI

AL

ID_T

IPO

HIS

DESC

RIP_

TIPO

SERI

AL

VARC

HAR(

150)

<pk>

ANTE

CED_

FAM

IL

ID_A

NTEF

ID_H

ISTO

RIAL

DESC

RIP_

ANTF

...

SERI

AL

INT4

VARC

HAR(

150)

<pk>

<fk>

RECO

MEN

DACI

ONE

S

ID_R

ECO

M

ID_H

ISTO

RIAL

DESC

RIP_

RECO

M

...

SERI

AL

INT4

VARC

HAR(

150)

<pk>

<fk>

CUAD

RO_C

LINI

CO

ID_C

UADR

O

ID_H

ISTO

RIAL

DESC

RIP_

CUAD

RO

...

SERI

AL

INT4

VARC

HAR(

150)

<pk>

<fk>

IMPR

ESIO

N_CL

INIC

A

ID_I

MPR

CLIN

ID_H

ISTO

RIAL

DESC

RIP_

IMPR

E

...

SERI

AL

INT4

VARC

HAR(

150)

<pk>

<fk>

TRAT

AMIE

NTO

S

ID_T

RAT

ID_H

ISTO

RIAL

DESC

RIP_

TRAT

...

SERI

AL

INT4

VARC

HAR(

150)

<pk>

<fk>

DIAG

NOST

ICO

S

ID_D

IAG

ID_H

ISTO

RIAL

DESC

RIP_

DIAG

...

SERI

AL

INT4

VARC

HAR(

150)

<pk>

<fk> TR

ANSF

EREN

CIAS

ID_T

RANS

F

ID_H

ISTO

RIAL

TR_T

IPO

TR_L

UGAR

TR_H

ORA

TR_D

IA

TR_M

ES

TR_A

NIO

ESTA

DO

EST_

HORA

EST_

DIA

EST_

MES

EST_

ANIO

...

SERI

AL

INT4

VARC

HAR(

15)

VARC

HAR(

150)

VARC

HAR(

6)

VARC

HAR(

3)

VARC

HAR(

3)

VARC

HAR(

6)

VARC

HAR(

6)

VARC

HAR(

6)

VARC

HAR(

3)

VARC

HAR(

3)

VARC

HAR(

6)

<pk>

<fk>

EVO

LUCI

ON

ID_E

VOLU

CIO

N

ID_H

ISTO

RIAL

FECH

A

HORA

NOTA

S

PRES

CRIP

CIO

N

...

SERI

AL

INT4

DATE

VARC

HAR(

6)

VARC

HAR(

200)

VARC

HAR(

200)

<pk>

<fk>

EXAM

EN_R

ESUL

T

ID_E

XRE

ID_H

ISTO

RIAL

POSI

CIO

N

ESTA

DO

RESU

LTAD

O

...

SERI

AL

INT4

INT4

VARC

HAR(

1)

VARC

HAR(

200)

<pk>

<fk>

EXAM

EN_F

ISIC

O

ID_E

XAM

EN

ID_H

ISTO

RIAL

TA FC FR PESO

TALL

A

IMC

TEM

P

DIST

RO

ZURD

O

AMBI

DIES

TRO

...

SERI

AL

INT4

VARC

HAR(

20)

VARC

HAR(

20)

VARC

HAR(

20)

DECI

MAL

(5,2

)

DECI

MAL

(5,2

)

VARC

HAR(

20)

VARC

HAR(

20)

VARC

HAR(

1)

VARC

HAR(

1)

VARC

HAR(

1)

<pk>

<fk>PA

RAM

ETRO

S

id_p

aram

etro

para

met

ro

valo

r

...

SERI

AL

VARC

HAR(

50)

VARC

HAR(

50)

<pk>

PARA

CLIN

ICO

ID_P

ARAC

LI

DESC

RIPC

ION

DESC

RIPD

DESC

RIPM

DESC

RIPA

1

DESC

RIPA

2

ESTA

DOSN

RESU

LTAD

O

ID_H

ISTO

RIAL

...

SERI

AL

VARC

HAR(

100)

VARC

HAR(

50)

VARC

HAR(

50)

VARC

HAR(

50)

VARC

HAR(

50)

VARC

HAR(

1)

VARC

HAR(

100)

INT4

<pk>

<fk>

Page 76: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

59

4.3 Diagrama de Clases22

Un diagrama de clases sirve para visualizar las relaciones entre las clases

que involucran el sistema, las cuales pueden ser asociadas, de herencias,

de uso y de generación, ya que comparten los mismos atributos,

operaciones, métodos, relaciones y semántica; mostrando un conjunto de

elementos que son estáticos, como las clases y tipos junto con sus

contenidos y relaciones.

En la tabla que se detalla a continuación los componentes que se utilizan

para el diseño de un diagrama de clases

SÍMBOLO NOMBRE DESCRIPCIÓN

Nombre Nombre de la clase

Atributos Identifican las características propias de cada clase.

Métodos Son la forma en cómo ésta interactúa con su entorno.

Tipos de Atributos y Métodos

(+) Public Indica que el atributo o método será visible tanto dentro como fuera de la clase.

(-) Private Indica que el atributo o método sólo

será accesible desde dentro de la clase.

(#) Protected Indica que el atributo o método no será accesible desde fuera de la clase.

Tipos de Relaciones

Uno a muchos

Cero a uno a muchos

Uno a uno

(m) Número fijo

Herencia Indica que una subclase hereda los métodos y atributos especificados por una Super Clase.

Agregación Es una relación que compone objetos que son instancias de clases.

22

Diagrama de clases, Obtenida 4 de mayo 2015 desde

http://www.ecured.cu/index.php/Diagrama_de_Clase

Page 77: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

60

Asociación Permite asociar objetos que colaboran entre sí.

Dependencia Es una relación, en la que una clase es instanciada (su instanciación es dependiente de otro objeto/clase).

Tabla 9. Elementos diagrama de clases23

4.3.1.1 Diagrama de Clases Módulo de Seguridad

Figura 29. Diagrama de Clases: Administración Usuarios

Fuente: Tesista

23

http://www.dspace.uce.edu.ec/handle/25000/74/browse?type=author&order=ASC&rpp=20&value=Saltos+Cevallos%2C+Jorge+Luis

<<EJBLocal>>

adminUsuario

(controlador)

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

begin ()

destroy ()

transmitir ()

cargar ()

nuevo ()

getListaTipo ()

setListaTipo (List<TipoPersona>

listaTipo)

getIdTipo ()

setIdTipo (int idTipo)

getListaMedicos ()

setListaMedicos (List<Medico>

listaMedicos)

getListaEmpleados ()

setListaEmpleados (List<Empleado>

listaEmpleados)

getIdTipoMedico ()

getIdTipoEmpleados ()

setIdTipoMedico (int idTipoMedico)

setIdTipoEmpleados (int idTipoEmpleados)

isEstadoEmp ()

isEstadoMed ()

setEstadoEmp (boolean estadoEmp)

setEstadoMed (boolean estadoMed)

getUsuario ()

getContrasenia ()

setUsuario (String usuario)

setContrasenia (String contrasenia)

getListaResultados ()

setListaResultados (List<Object[]>

listaResultados)

: void

: void

: void

: void

: void

: List<TipoPersona>

: void

: int

: void

: List<Medico>

: void

: List<Empleado>

: void

: int

: int

: void

: void

: boolean

: boolean

: void

: void

: String

: String

: void

: void

: List<Object[]>

: void

<<EJBSession>>

adminUsuariosBean

(controlador)

-

*

*

*

*

*

*

*

-

-

-

-

-

-

-

-

-

-

-

-

-

log

facesMessages

identity

admEmpresa

tipoSrv

medSrv

empSrv

accesoSrv

listaTipo

listaMedicos

listaEmpleados

listaResultados

listaUsuarioEmp

listaUsuarioMed

idTipo

idTipoMedico

idTipoEmpleados

estadoEmp

estadoMed

usuario

contrasenia

: Log

: FacesMessages

: Identity

: AdmEmpresa

: TipoPersonaServicio

: MedicoServicio

: EmpleadosServicio

: AccesoServicio

: List<TipoPersona>

: List<Medico>

: List<Empleado>

: List<Object[]>

: List<Object[]>

: List<Object[]>

: int

: int

: int

: boolean

: boolean

: String

: String

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

begin ()

destroy ()

nuevo ()

cargar ()

transmitir ()

getListaTipo ()

setListaTipo (List<TipoPersona>

listaTipo)

getIdTipo ()

setIdTipo (int idTipo)

getListaMedicos ()

setListaMedicos (List<Medico>

listaMedicos)

getListaEmpleados ()

setListaEmpleados (List<Empleado>

listaEmpleados)

getIdTipoMedico ()

getIdTipoEmpleados ()

setIdTipoMedico (int idTipoMedico)

setIdTipoEmpleados (int idTipoEmpleados)

isEstadoEmp ()

isEstadoMed ()

setEstadoEmp (boolean estadoEmp)

setEstadoMed (boolean estadoMed)

getUsuario ()

getContrasenia ()

setUsuario (String usuario)

setContrasenia (String contrasenia)

getListaResultados ()

setListaResultados (List<Object[]>

listaResultados)

: void

: void

: void

: void

: void

: List<TipoPersona>

: void

: int

: void

: List<Medico>

: void

: List<Empleado>

: void

: int

: int

: void

: void

: boolean

: boolean

: void

: void

: String

: String

: void

: void

: List<Object[]>

: void

Page 78: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

61

Figura 30. Diagrama de Clases: Administración Roles

Fuente: Tesista

Figura 31. Diagrama de Clases: Roles Acceso

Fuente: Tesista

<<EJBLocal>>

admRolesFunciones

(controlador)

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

end ()

guardarFuncionRol ()

nuevo ()

begin ()

destroy ()

buscarFuncionRol ()

cambiarEstado (Object obj[])

getListaTabla ()

setListaTabla (List<Object[]>

listaTabla)

getIdRol ()

setIdRol (int idRol)

getListaRoles ()

setListaRoles (List<SelectItemObj>

listaRoles)

getIdFuncion ()

setIdFuncion (String idFuncion)

getPermiso ()

setPermiso (Permiso permiso)

getListaFunciones ()

setListaFunciones (List<SelectItemObj>

listaFunciones)

: void

: void

: void

: void

: void

: void

: void

: List<Object[]>

: void

: int

: void

: List<SelectItemObj>

: void

: String

: void

: Permiso

: void

: List<SelectItemObj>

: void

<<EJBSession>>

admRolesFuncionesBean

(controlador)

-

*

*

*

*

*

*

*

-

-

-

-

-

-

log

facesMessages

identity

credentials

autSrv

permisoSrv

rolesSrv

funcionSrv

idFuncion

idRol

permisos

listaRoles

listaFunciones

listaTabla

: Log

: FacesMessages

: Identity

: Credentials

: AutenticadorServicio

: PermisosServicio

: RolesServicio

: FuncionesServicio

: String

: int

: Permiso

: List<SelectItemObj>

: List<SelectItemObj>

: List<Object[]>

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

begin ()

destroy ()

nuevo ()

end ()

guardarFuncionRol ()

buscarFuncionRol ()

cambiarEstado (Object obj[])

getListaTabla ()

setListaTabla (List<Object[]>

listaTabla)

getIdRol ()

setIdRol (int idRol)

getListaRoles ()

setListaRoles (List<SelectItemObj>

listaRoles)

getIdFuncion ()

setIdFuncion (String idFuncion)

getPermiso ()

setPermiso (Permiso permiso)

getListaFunciones ()

setListaFunciones (List<SelectItemObj>

listaFunciones)

: void

: void

: void

: void

: void

: void

: void

: List<Object[]>

: void

: int

: void

: List<SelectItemObj>

: void

: String

: void

: Permiso

: void

: List<SelectItemObj>

: void

<<EJBLocal>>

rolesAccesoUsuario

(controlador)

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

begin ()

destroy ()

transmitir ()

nuevo ()

cambiarEstado (int idRolesAcceso)

getListaResultados ()

setListaResultados (List<Object[]>

listaResultados)

getListaRoles ()

getListaAcceso ()

setListaRoles (List<Roles> listaRoles)

setListaAcceso (List<Acceso>

listaAcceso)

getIdAccesoSelecc ()

getIdRolesSelecc ()

setIdAccesoSelecc (

String idAccesoSelecc)

setIdRolesSelecc (int idRolesSelecc)

: void

: void

: void

: void

: void

: List<Object[]>

: void

: List<Roles>

: List<Acceso>

: void

: void

: String

: int

: void

: void

<<EJBSession>>

rolesAccesoUsuarioBean

(controlador)

-

*

*

*

*

*

*

-

-

-

-

-

log

facesMessages

identity

admEmpresa

accesoSrv

rolesSrv

rolesAccesoSrv

listaRoles

listaAcceso

idAccesoSelecc

idRolesSelecc

listaResultados

: Log

: FacesMessages

: Identity

: AdmEmpresa

: AccesoServicio

: RolesServicio

: RolesAccesoServicio

: List<Roles>

: List<Acceso>

: String

: int

: List<Object[]>

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

begin ()

destroy ()

nuevo ()

transmitir ()

cambiarEstado (int idRolesAcceso)

getListaResultados ()

setListaResultados (List<Object[]>

listaResultados)

getListaRoles ()

getListaAcceso ()

setListaRoles (List<Roles> listaRoles)

setListaAcceso (List<Acceso>

listaAcceso)

getIdAccesoSelecc ()

getIdRolesSelecc ()

setIdAccesoSelecc (

String idAccesoSelecc)

setIdRolesSelecc (int idRolesSelecc)

: void

: void

: void

: void

: void

: List<Object[]>

: void

: List<Roles>

: List<Acceso>

: void

: void

: String

: int

: void

: void

Page 79: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

62

4.3.1.2 Módulo de Inventario

Figura 32. Diagrama de Clases: Entrada Medicamento

Fuente: Tesista

<<EJBLocal>>

EntradaAdmin

(controlador)

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

begin ()

destroy ()

remove ()

agregar ()

guardar ()

nuevabuscar ()

init ()

buscar ()

obtenerNombreMedicamento (

int idMedicamento)

editarEntrada (Entradas e, int index)

eliminarEntrada (Entradas e)

getNumeroEntrada ()

getMedicamentos ()

getFechaIngreso ()

getFechaVencimiento ()

getDescripcion ()

getCantidad ()

setNumeroEntrada (int numeroEntrada)

setMedicamentos (int medicamentos)

setFechaIngreso (Date fechaIngreso)

setFechaVencimiento (

Date fechaVencimiento)

setDescripcion (String descripcion)

setCantidad (int cantidad)

getListarMedicamentos ()

setListarMedicamentos (List<

Medicamentos> listarMedicamentos)

getListaEntradas ()

setListaEntradas (List<Entradas>

listaEntradas)

getListaEntradasRemove ()

setListaEntradasRemove (List<Entradas>

listaEntradasRemove)

isPermiteBuscar ()

setPermiteBuscar (boolean permiteBuscar)

getCosto ()

setCosto (BigDecimal costo)

getIdEntrada ()

setIdEntrada (int idEntrada)

getIndex ()

setIndex (int index)

: void

: void

: void

: void

: void

: void

: void

: void

: String

: void

: void

: int

: int

: Date

: Date

: String

: int

: void

: void

: void

: void

: void

: void

: List<Medicamentos>

: void

: List<Entradas>

: void

: List<Entradas>

: void

: boolean

: void

: BigDecimal

: void

: int

: void

: int

: void

<<EJBSession>>

EntradaAdminBean

(controlador)

*

*

*

-

-

-

-

-

-

-

-

-

-

-

-

-

srvEntrada

entradaSrv

facesMessages

numeroEntrada

medicamentos

fechaIngreso

fechaVencimiento

descripcion

costo

cantidad

listarMedicamentos

listaEntradas

listaEntradasRemove

permiteBuscar

idEntrada

index

: ServicioEntrada

: EntradasServicio

: FacesMessages

: int

: int

: Date

: Date

: String

: BigDecimal

: int

: List<Medicamentos>

: List<Entradas>

: List<Entradas>

: boolean

: int

: int

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

begin ()

init ()

buscar ()

validador ()

agregar ()

guardar ()

editarEntrada (Entradas e, int index)

eliminarEntrada (Entradas e)

nuevabuscar ()

obtenerNombreMedicamento (

int idMedicamento)

destroy ()

remove ()

getNumeroEntrada ()

getMedicamentos ()

getFechaIngreso ()

getFechaVencimiento ()

getDescripcion ()

getCantidad ()

setNumeroEntrada (int numeroEntrada)

setMedicamentos (int medicamentos)

setFechaIngreso (Date fechaIngreso)

setFechaVencimiento (

Date fechaVencimiento)

setDescripcion (String descripcion)

setCantidad (int cantidad)

getListarMedicamentos ()

setListarMedicamentos (List<

Medicamentos> listarMedicamentos)

getListaEntradas ()

setListaEntradas (List<Entradas>

listaEntradas)

getListaEntradasRemove ()

setListaEntradasRemove (List<Entradas>

listaEntradasRemove)

isPermiteBuscar ()

setPermiteBuscar (boolean permiteBuscar)

getCosto ()

setCosto (BigDecimal costo)

getIdEntrada ()

setIdEntrada (int idEntrada)

getIndex ()

setIndex (int index)

: void

: void

: void

: void

: void

: void

: void

: void

: void

: String

: void

: void

: int

: int

: Date

: Date

: String

: int

: void

: void

: void

: void

: void

: void

: List<Medicamentos>

: void

: List<Entradas>

: void

: List<Entradas>

: void

: boolean

: void

: BigDecimal

: void

: int

: void

: int

: void

Page 80: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

63

Figura 33. Diagrama Clases: Inventario Medicamentos

Fuente: Tesista

Figura 34. Diagrama Clases: Salida Medicamento

Fuente: Tesista

<<EJBLocal>>

InventarioAdmin

(controlador)

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

generarReporteKardex ()

begin ()

buscar ()

destroy ()

remove ()

getIdProducto ()

getTotalEntrada ()

getTotalSalida ()

getTotalInventario ()

setIdProducto (Integer idProducto)

setTotalEntrada (Integer totalEntrada)

setTotalSalida (Integer totalSalida)

setTotalInventario (

Integer totalInventario)

getListaProductos ()

setListaProductos (List<Medicamentos>

listaProductos)

getListaInventario ()

setListaInventario (List<

DatosInventario> listaInventario)

: void

: void

: void

: void

: void

: Integer

: Integer

: Integer

: Integer

: void

: void

: void

: void

: List<Medicamentos>

: void

: List<DatosInventario>

: void

<<EJBSession>>

InventarioAdminBean

(controlador)

*

*

*

-

-

-

-

-

-

srvInventario

reportExporter

srvSalida

idProducto

totalEntrada

totalSalida

totalInventario

listaProductos

listaInventario

: ServicioInventario

: ReportExporter

: ServicioSalida

: Integer

: Integer

: Integer

: Integer

: List<Medicamentos>

: List<DatosInventario>

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

begin ()

destroy ()

remove ()

iniciar ()

buscar ()

generarReporteKardex ()

getIdProducto ()

getTotalEntrada ()

getTotalSalida ()

getTotalInventario ()

setIdProducto (Integer idProducto)

setTotalEntrada (Integer totalEntrada)

setTotalSalida (Integer totalSalida)

setTotalInventario (

Integer totalInventario)

getListaProductos ()

setListaProductos (List<Medicamentos>

listaProductos)

getListaInventario ()

setListaInventario (List<

DatosInventario> listaInventario)

: void

: void

: void

: void

: void

: void

: Integer

: Integer

: Integer

: Integer

: void

: void

: void

: void

: List<Medicamentos>

: void

: List<DatosInventario>

: void

<<EJBLocal>>

SalidaAdmin

(controlador)

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

begin ()

destroy ()

remove ()

agregar ()

guardar ()

nuevabuscar ()

init ()

buscar ()

obtenerNombreMedicamento (

int idMedicamento)

editarSalida (Salidas e, int index)

eliminarSalida (Salidas e)

getNumeroSalida ()

getMedicamentos ()

getFechaEgreso ()

getDescripcion ()

getCantidad ()

setNumeroSalida (int numeroSalida)

setMedicamentos (int medicamentos)

setFechaEgreso (Date fechaEgreso)

setDescripcion (String descripcion)

setCantidad (int cantidad)

getListarMedicamentos ()

setListarMedicamentos (List<

Medicamentos> listarMedicamentos)

getListaSalidas ()

setListaSalidas (List<Salidas>

listaSalidas)

getListaSalidasRemove ()

setListaSalidasRemove (List<Salidas>

listaSalidasRemove)

isPermiteBuscar ()

setPermiteBuscar (boolean permiteBuscar)

getIndex ()

setIndex (int index)

getIdSalida ()

setIdSalida (int idSalida)

: void

: void

: void

: void

: void

: void

: void

: void

: String

: void

: void

: int

: int

: Date

: String

: int

: void

: void

: void

: void

: void

: List<Medicamentos>

: void

: List<Salidas>

: void

: List<Salidas>

: void

: boolean

: void

: int

: void

: int

: void

<<EJBSession>>

SalidaAdminBean

(controlador)

*

*

*

*

*

-

-

-

-

-

-

-

-

-

-

-

srvSalida

srvEntrada

salidaSrv

entradaSrv

facesMessages

numeroSalida

medicamentos

fechaEgreso

descripcion

cantidad

listarMedicamentos

listaSalidas

listaSalidasRemove

permiteBuscar

idSalida

index

: ServicioSalida

: ServicioEntrada

: SalidasServicio

: EntradasServicio

: FacesMessages

: int

: int

: Date

: String

: int

: List<Medicamentos>

: List<Salidas>

: List<Salidas>

: boolean

: int

: int

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

begin ()

init ()

buscar ()

validador ()

agregar ()

guardar ()

editarSalida (Salidas s, int index)

eliminarSalida (Salidas s)

nuevabuscar ()

obtenerNombreMedicamento (

int idMedicamento)

destroy ()

remove ()

getNumeroSalida ()

getMedicamentos ()

getFechaEgreso ()

getDescripcion ()

getCantidad ()

setNumeroSalida (int numeroSalida)

setMedicamentos (int medicamentos)

setFechaEgreso (Date fechaEgreso)

setDescripcion (String descripcion)

setCantidad (int cantidad)

getListarMedicamentos ()

setListarMedicamentos (List<

Medicamentos> listarMedicamentos)

getListaSalidas ()

setListaSalidas (List<Salidas>

listaSalidas)

getListaSalidasRemove ()

setListaSalidasRemove (List<Salidas>

listaSalidasRemove)

isPermiteBuscar ()

setPermiteBuscar (boolean permiteBuscar)

getIndex ()

setIndex (int index)

getIdSalida ()

setIdSalida (int idSalida)

: void

: void

: void

: void

: void

: void

: void

: void

: void

: String

: void

: void

: int

: int

: Date

: String

: int

: void

: void

: void

: void

: void

: List<Medicamentos>

: void

: List<Salidas>

: void

: List<Salidas>

: void

: boolean

: void

: int

: void

: int

: void

Page 81: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

64

4.3.1.3 Módulo Ficha Médica

Figura 35. Diagrama Clases: Pacientes

Fuente: Tesista

PacienteAdm

(controlador)

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

destroy ()

remove ()

begin ()

transmitir ()

buscar ()

init ()

getTipoPersona ()

setTipoPersona (String tipoPersona)

getTipoCedula ()

setTipoCedula (String tipoCedula)

getCedula ()

setCedula (String cedula)

getNombre ()

setNombre (String nombre)

getApellidosP ()

setApellidosP (String apellidosP)

getApellidosM ()

setApellidosM (String apellidosM)

getFechaNacimiento ()

setFechaNacimiento (

Date fechaNacimiento)

getGenero ()

setGenero (String genero)

getDireccion ()

setDireccion (String direccion)

getTelefono ()

setTelefono (String telefono)

getIdEstadoCivil ()

setIdEstadoCivil (Integer idEstadoCivil)

getP ()

setP (DatosPaciente p)

getEmail ()

setEmail (String email)

: void

: void

: void

: void

: void

: void

: String

: void

: String

: void

: String

: void

: String

: void

: String

: void

: String

: void

: Date

: void

: String

: void

: String

: void

: String

: void

: Integer

: void

: DatosPaciente

: void

: String

: void

<<EJBSession>>

PacienteAdmBean

(controlador)

*

*

-

-

-

-

-

-

-

-

-

-

-

-

-

facesMessages

srvPaciente

tipoPersona

tipoCedula

cedula

nombre

apellidosP

apellidosM

fechaNacimiento

genero

direccion

telefono

idEstadoCivil

p

email

: FacesMessages

: ServicioPaciente

: String

: String

: String

: String

: String

: String

: Date

: String

: String

: String

: Integer

: DatosPaciente

: String

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

<<Implement>>

begin ()

init ()

destroy ()

remove ()

transmitir ()

reverso (DatosPaciente o)

buscar ()

getTipoPersona ()

setTipoPersona (String tipoPersona)

getTipoCedula ()

setTipoCedula (String tipoCedula)

getCedula ()

setCedula (String cedula)

getNombre ()

setNombre (String nombre)

getApellidosP ()

setApellidosP (String apellidosP)

getApellidosM ()

setApellidosM (String apellidosM)

getFechaNacimiento ()

setFechaNacimiento (

Date fechaNacimiento)

getGenero ()

setGenero (String genero)

getDireccion ()

setDireccion (String direccion)

getTelefono ()

setTelefono (String telefono)

getIdEstadoCivil ()

setIdEstadoCivil (Integer idEstadoCivil)

getP ()

setP (DatosPaciente p)

getEmail ()

setEmail (String email)

: void

: void

: void

: void

: void

: void

: void

: String

: void

: String

: void

: String

: void

: String

: void

: String

: void

: String

: void

: Date

: void

: String

: void

: String

: void

: String

: void

: Integer

: void

: DatosPaciente

: void

: String

: void

Page 82: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

65

4.4 Diagrama de Componentes24

Se utilizan para modelar la vista estática de un sistema. Muestra la

organización y las dependencias entre un conjunto de componentes. No es

necesario que un diagrama incluya todos los componentes del sistema,

normalmente se realizan por partes. Cada diagrama describe un apartado

del sistema.

Figura 36.Diagrama de Componentes

Fuente: Tesista

24

Diagrana de Componentes, Obtenida 08 de mayo 2015 http://programacion.net/articulo/introduccion_a_uml_181/6

Ing

reso

al

Sis

tem

a

Re

gis

tro

de

Ro

les

Re

gis

tro

Em

ple

ad

os

CC

E

Re

gis

tro

s

Usu

ari

os

Re

gis

tro

En

ferm

era

Re

gis

tra

r M

ed

ica

me

nto

En

tra

da

de

Me

dic

am

en

to

Sa

lid

a d

e

Me

dic

am

en

to

Re

gis

tro

de

dic

os

Re

gis

tra

r

Pa

cie

nte

Re

gis

tra

Fic

ha

dic

a

Re

gis

tar

Esp

ecia

lid

ad

Re

gis

tar

Dia

gn

ost

ico

y

Tra

tam

ien

to

Re

gis

tra

r E

vo

lucio

n P

acie

nte

Page 83: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

66

4.5 Implementación

4.5.1 Recursos requeridos

Software Base del Aplicativo

La tabla que se detalla a continuación nos muestra los requerimientos mínimos que

el sistema necesita para plan de pruebas.

Tipo Elementos de Software

Sistema Operativo Windows 7

Navegador Web Internet Explorer 8 o superior

Servidor de Aplicaciones

Jboss 5.1

Servidor de Base de datos

Postgres 9.3

Tabla 10. Requerimientos de software

Hardware Base del Sistema:

La tabla que se detalla a continuación nos muestra los recursos del

sistema para e l plan de pruebas.

Recurso Cantidad Tipo

Disco 10 GB espacio

Memoria 2 GB

Procesador Intel Core 2 DUO

Pc Usuarios

Internet Explorer 8 o superior

Tabla 11. Requerimientos de hardware

Page 84: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

67

4.6 Plan de Pruebas

El plan de pruebas del Sistema web para la gestión del Departamento

Médico, control de medicamentos y Seguridad para el Sistema Integral de la

Casa de la cultura (CCE) tiene como objetivo:

Identificar las pruebas que se realizara al aplicativo.

Conocer los posibles problemas en el funcionamiento del sistema

El desarrollo del plan de prueba va dirigido a las personas encargadas de

realizar la verificación funcional del sistema.

La siguiente tabla que se detalla a continuación, nos permite visualizar las

funcionalidades que van a ser probadas en cada uno de los módulos de la

aplicación desarrollada.

MÓDULO REQUISITOS FUNCIONALIDADES A PROBAR

SEGURIDAD

Roles

Crear rol

Buscar rol

Editar rol

Cancelar acción

Funciones

Crear funciones

Buscar funciones

Editar funciones

Cancelar acción

Gestión de Usuario

Seleccionar tipo de persona

Seleccionar nombre empleado

Crear usuario

Crear contraseña

Conceder roles a un

usuario

Seleccionar usuario

Seleccionar rol asignado

Cambiar de estado

Asignación de funciones a roles

Seleccionar rol

Seleccionar funciones

DATOS

PERSONAS

Estado Civil

Crear estado civil

Buscar estado civil

Editar estado civil

Cancelar acción

Crear departamento

Buscar departamento

Page 85: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

68

Departamento Editar departamento

Cancelar acción

Cargo

Crear cargo

Buscar cargo

Editar cargo

Cancelar acción

Empleado

Crear empleado

Buscar empleado

Editar empleado

Cancelar acción

Médico

Crear medico

Buscar medico

Editar medico

Cancelar acción

INVENTARIO

Tipo medicamento

Crear tipo medicamento

Buscar tipo de medicamento

Editar tipo de medicamento

Cancelar acción

Medicamento

Crear departamento

Buscar medicamento

Editar medicamento

Cancelar acción

Entrada

Medicamentó

Crear entrada medicamento

Buscar entrada de medicamento

Editar entrada medicamento

Cancelar acción

Salida

Medicamentó

Crear salida de medicamento

Buscar salida de medicamento

Editar empleado salida de medicamento

Cancelar acción

Kardex

Medicamentó

Buscar medicamento

Generar reporte

Salir

FICHAS MEDICAS

Gestión Pacientes

Ingresar número de cédula

Buscar paciente

Paciente CCE la información se visualiza

Paciente particular se llenan los datos

Crear historia clínicas

Seleccionar especialidad

Seleccionar paciente

Llenar datos paciente

Guardar Datos

Page 86: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

69

REPORTES

Generador de

Reportes

Reportes de Empleados

Reportes de Inventario

Reporte de la historias médicas

Tabla 12.Funcionalidades al Sistema

4.7 Entrega del Aplicativo

Manual de Instalación

EL manual de instalación de todos los programas que se utilizaron para el

desarrollo del aplicativo se encuentra en los Anexo.

Manual Técnico

El manual técnico donde se describe todas configuraciones para subir el

sistema se encuentra en la parte de Anexos.

Manual de Usuario

El manual de usuario donde se explica el funcionamiento correcto del

sistema se encuentra en los Anexos.

Page 87: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

70

CAPITULO 5

5 CONCLUSIONES Y RECOMENDACIONES

5.1 Conclusiones

El desarrollo de este proyecto de tesis permitió al departamento

médico (CCE) contar un sistema que le permita mejorar la búsqueda

de las historias clínicas de los pacientes, llevar el control del

inventario de medicamentos.

El sistema cuenta con un módulo de reportes el cual es de mucha

ayuda ya que les permite tener la información del inventario de

medicamentos e historias clínicas de manera rápida y segura.

El sistema desarrollado se encamino a implementar solamente lo que

usuario solicitó que se realizara en el aplicativo.

El uso de la metodología iteractivo e incremental nos ayudó ir

mejorando cado uno de los módulo entregados en el aplicativo a los

usuarios finales.

Finalmente podemos concluir que el sistema desarrollado cumple los

requisitos solicitados por el departamento médico (CCE) ya que se

trabajó en conjunto con las personas involucradas en todas las etapas

de desarrollo.

Page 88: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

71

5.2 Recomendaciones

Mayor participación de los usuarios en las diferentes etapas del

proceso de desarrollo del aplicativo para que se realice una adecuada

validación de los datos ingresados

Dado que el departamento médico (CCE) lleva a cabo más proceso

se sugiere la creación de un módulo de reservación de citas médicas

(medicina general y odontología) ya este módulo no se contempló en

tesis.

Para que los usuarios del sistema puedan adaptarse de manera

rápida se aconseja que se le facilite el manual de usuario, con lo cual

podrá hacer un mejor uso de la herramienta

Capacitar a los usuarios finales sobre el uso del sistema desarrollado

para que puedan manipularlo con facilidad y rapidez.

Se recomienda el uso de herramientas de software para evitar los

costos adicionales de licenciamiento.

Se recomienda la contratación de una persona para dar soporte y

mantenimiento del sistema desarrollado, esta persona tendrá el rol de

administración y debe tener conocimiento de informática.

Page 89: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

72

5.3 Glosario de Términos

A

Applet: Es un componente de una aplicación que se ejecuta en el contexto

de otro programa, por ejemplo en un navegador web. El applet debe

ejecutarse en un contenedor, que le proporciona un programa anfitrión,

mediante un plugin,1 o en aplicaciones como teléfonos móviles que soportan

el modelo de programación por "applets".

Ajax: Es una técnica de desarrollo web para crear aplicaciones interactivas o

RIA (Rich Internet Applications). Estas aplicaciones se ejecutan en el cliente,

es decir, en el navegador de los usuarios mientras se mantiene la

comunicación asíncrona con el servidor en segundo plano.

API: Es un conjunto de funciones que permite al programador acceder a

servicios de una aplicación a través del uso de un lenguaje de programación.

Una API ofrece al programador un cierto nivel de abstracción que enmascara

la complejidad de acceso a un sistema o aplicación, proponiéndole un

conjunto de funciones de las cuales sólo se conocen los parámetros y

los valores devueltos.

B

Base de Datos: Una base de datos es un “almacén” que nos permite

guardar grandes cantidades de información de forma organizada para que

luego podamos encontrar y utilizar fácilmente.

C

Casa de la Cultura Ecuatoriana(CCE): Es una institución autónoma, y se

puede decir que la de mayor antigüedad, a la cual se le ha encargado la

tarea de preservar, promover, fomentar, investigar, y difundir el arte, ciencia

y el patrimonio cultural del Ecuador.

Page 90: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

73

E

EJB: Son una de las API que forman parte del estándar de construcción de

aplicaciones empresariales J2EE (ahora JEE 6.0) de

Oracle Corporation (inicialmente desarrollado por Sun

Microsystems). Su especificación detalla cómo los servidores de

aplicaciones proveen objetos desde el lado del servidor

ERP: Los sistemas de planificación de recursos empresariales son sistemas

de información gerenciales que integran y manejan muchos de los negocios

asociados con las operaciones de producción y de los aspectos de

distribución de una compañía en la producción de bienes o servicios

EIS: Un Sistema de Información para Ejecutivos o Sistema de Información

Ejecutiva es una herramienta software, basada en un DSS, que provee a los

gerentes de un acceso sencillo a información interna y externa de su

compañía, y que es relevante para sus factores clave de éxito.

F

Framework: Es un conjunto estandarizado de conceptos, prácticas y

criterios para enfocar un tipo de problemática particular que sirve como

referencia, para enfrentar y resolver nuevos problemas de índole similar.

Facelets: Es un sistema de código abierto de plantillas web bajo la Licencia

Apache y la tecnología de controlador de JavaServer Faces (JSF)

H

HTML: Siglas de HyperText Markup Language («lenguaje de marcas de

hipertexto»), hace referencia al lenguaje de marcado para la elaboración de

páginas web. Es un estándar que sirve de referencia para la elaboración de

páginas web en sus diferentes versiones, define una estructura básica y un

código (denominado código HTML) para la definición de contenido de una

página web, como texto, imágenes, videos, entre otros.

Page 91: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

74

Hibernate: Es una herramienta de Mapeo objeto-relacional (ORM) para la

plataforma Java (y disponible también para .Net con el nombre de

NHibernate) que facilita el mapeo de atributos entre una base de datos

relacional tradicional y el modelo de objetos de una aplicación, mediante

archivos declarativos (XML) o anotaciones en los beans de las entidades

que permiten establecer estas relaciones.

I

Internet: Es un conjunto descentralizado de redes de comunicación

interconectadas que utilizan la familia de protocolos TCP/IP, lo cual garantiza

que las redes físicas heterogéneas que la componen funcionen como una

red lógica única, de alcance mundial.

J

Java Servlet: Los servlets son objetos que corren dentro y fuera del

contexto de un contenedor de servlets (ej: Tomcat) y extienden su

funcionalidad.

JavaServer Faces: Es una tecnología y framework para aplicaciones Java

basadas en web que simplifica el desarrollo de interfaces de usuario en

aplicaciones Java EE.

JEE: Es una plataforma de programación parte de la Plataforma Java para

desarrollar y ejecutar software de aplicaciones en el lenguaje de

programación Java, además de conectar servidores de aplicaciones y

sistemas de información empresarial (EIS) como parte de soluciones de

integración de aplicación de empresa (EAI).

JVM: Es una máquina virtual de proceso nativo, es decir, ejecutable en una

plataforma específica, capaz de interpretar y ejecutar instrucciones

expresadas en un código binario especial (el bytecode Java), el cual es

generado por el compilador del lenguaje Java.

K

Page 92: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

75

Kardex: Es más que un registro de manera organizada de la mercancía que

se tiene en un almacén. Para hacerlo, es necesario hacer un inventario de

todo el contenido, la cantidad, un valor de medida y el precio unitario.

También se pueden clasificar los productos por sus características comunes.

L

Loguearse: “Loguearse” o “identificarse” es la acción de introducir nuestras

claves de usuario (nombre de usuario y contraseña) en una página web para

acceder a nuestra zona personal. Esta acción se dice que “abre una sesión

de usuario”, de la cual podemos salir en todo momento pulsando en un

enlace “desconectar” o “cerrar sesión”.

O

Open Source: Es la expresión con la que se conoce al software distribuido y

desarrollado libremente. Se focaliza más en los beneficios prácticos (acceso

al código fuente) que en cuestiones éticas o de libertad que tanto se

destacan en el software libre.

OML (Open Modeling Languaje): Defiende nuevos conceptos como invokes

y del precedes. Estos nuevos conceptos, toman la forma de estereotipo

definido por el usuario en los diagramas de caso de uso.

P

PDF (portable document format, formato de documento portátil): Es un

formato de almacenamiento de documentos digitales independiente de

plataformas de software o hardware. Este formato es de tipo

compuesto (imagen vectorial, mapa de bits y texto).

Persistencia: Se entiende por persistencia (en programación) como la

acción de preservar la información de un objeto de forma permanente

(guardar), pero a su vez también se refiere a poder recuperar la información

del mismo (leer) para que pueda ser nuevamente utilizada. En el caso de

persistencia de objetos la información que persiste en la mayoría de los

Page 93: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

76

casos son los valores que contienen los atributos en ese momento, no

necesariamente la funcionalidad que proveen sus métodos.

Plug-ins: Es una aplicación que se relaciona con otra para aportarle

una función nueva y generalmente muy específica. Esta aplicación

adicional es ejecutada por la aplicación principal e interactúan por medio de

la API.

M

Modelo Orientado a Objetos: Una base de datos orientada a objetos es

una base de datos que incorpora todos los conceptos importantes del

modelo de objetos: Encapsulación, Herencia y Polimorfismo.

Modelo de base de datos: Es un conjunto que nos permite describir los

datos, las relaciones que existen entre ellos y las restricciones de

consistencia.

R

RMI (Java Remote Method Invocation): Es un mecanismo ofrecido

por Java para invocar un método de manera remota. Forma parte del

entorno estándar de ejecución de Java y proporciona un mecanismo simple

para la comunicación de servidores en aplicaciones distribuidas basadas

exclusivamente en Java.

RUP: El Proceso Racional Unificado (Rational Unified Process en inglés,

habitualmente resumido como RUP) es un proceso de desarrollo de software

desarrollado por la empresa Rational Software, actualmente propiedad

de IBM. Junto con el Lenguaje Unificado de Modelado UML, constituye la

metodología estándar más utilizada para el análisis, diseño, implementación

y documentación de sistemas orientados a objetos.

S

Servidor de aplicación: Un servidor de aplicaciones es un software que

proporciona aplicaciones a los equipos o dispositivos cliente, por lo general a

Page 94: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

77

través de Internet y utilizando el protocolo http. Los servidores de aplicación

se distinguen de los servidores web por el uso extensivo del contenido

dinámico y por su frecuente integración con bases de datos.

Sistema Operativo: Es el software básico de una computadora que provee

una interfaz entre el resto de programas del ordenador, los dispositivos

hardware y el usuario.

SQL (Lenguaje de consulta estructurado o structured query language):

Es un lenguaje declarativo de acceso a bases de datos relacionales que

permite especificar diversos tipos de operaciones en ellas. Una de sus

características es el manejo del álgebra y el cálculo

relacional que permiten efectuar consultas con el fin de recuperar de

forma sencilla información de interés de bases de datos, así como hacer

cambios en ella.

T

Template: Es un conjunto de archivos que determinan la estructura y el

aspecto visual de un sitio web, y tiene como ventaja principal disminuir

tiempos y costos de desarrollo.

U

UML (Unified Modeling Language): Es el lenguaje de modelado de

sistemas de software más conocido y utilizado en la actualidad; está

respaldado por el OMG (Object Management Group). Es un lenguaje gráfico

para visualizar, especificar, construir y documentar un sistema. UML ofrece

un estándar para describir un "plano" del sistema (modelo), incluyendo

aspectos conceptuales tales como procesos de negocio, funciones del

sistema, y aspectos concretos como expresiones de lenguajes de

programación, esquemas de bases de datos y compuestos reciclados.

W

Page 95: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

78

Workspace-eclipse: Es un directorio en el que se van abriendo todos los

proyectos en los que trabajamos.

Web: Es una colección de páginas de internet relacionadas y comunes a un

dominio de Internet o subdominio en la World Wide Web en Internet . Una

página web es un documento HTML/XHTML que es accesible generalmente

mediante el protocolo HTTP de Internet.

X

XHTML (eXtensible HyperText Markup Language): Es básicamente HTML

expresado como XML válido. Es más estricto a nivel técnico, pero esto

permite que posteriormente sea más fácil al hacer cambios o buscar errores

entre otros. En su versión 1.0, XHTML es solamente la versión XML de

HTML, por lo que tiene, básicamente, las mismas funcionalidades, pero

cumple las especificaciones, más estrictas, de XML.

XML (Extensible Markup Language): Es una especificación/lenguaje de

programación desarrollada por el W3C (World Wide Web Consortium). XML

es una versión de SGML (Standard Generalized Markup Language),

diseñado especialmente para los documentos de la web. Permite que los

diseñadores creen sus propias etiquetas, permitiendo la definición,

transmisión, validación e interpretación de datos entre aplicaciones y entre

organizaciones.

XP: La Programación Extrema es una metodología ligera de desarrolla de

software que se basa en la simplicidad, la comunicación y la realimentación

o reutilización del código desarrollado.

Page 96: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

79

Bibliografía

1. CASA DE LA CULTURA –QUITO, Obtenido desde

http://www.quitoadventure.com/espanol/relax-ecuador/lugares-turisticos-

quito/teatros-musica/casa-cultura-ecuatoriana-quito.html

2. KARDEX, Obtenido desde

http://criolloamanda95.blogspot.com/2012/11/kardex.html

3. POSTGRESQL , Obtenidos desde

https://iessanvicente.com/colaboraciones/postgreSQL.pdf

4. JBOSS, Obtenido desde http://es.wikipedikia.org/wiki/JBoss

5. METODOLOGÍA DE DESARROLLO DE SOFTWARE, Obtenida desde

http://es.scribd.com/doc/12983329/Metodologia-de-Desarrollo-de-Software

6. UML Y LOS PROCESOS DE DESAROLLO DE software , Obtenida

desde

http://catarina.udlap.mx/u_dl_a/tales/documentos/lis/rea_c_ji/capitulo3.pdf

7. GUIA DE INGENIERIA DE SOFTWARE, Obtenida desde

https://www.incibe.es/file/N85W1ZWFHifRgUc_oY8_Xg

8. JAVA, Obtenido desde http://www.javagratis.net63.net/que-es-

java.html

9. ENTERPRISE JAVABEANS Obtenida dese

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

10. RICHFACES, Obtenida desde

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

JsfIntro

11. REQUISITOS NO FUNICIONALES, Obtenida desde

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

12. REQUESITOS FUNCIONALES, Obtenida desde

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

13. DIAGRAMAS UML, Obtenida desde

http://www.teatroabadia.com/es/uploads/documentos/iagramas_del_uml.p

Page 97: UNIVERSIDAD CENTRAL DEL ECUADOR - … · Arquitectura N-Capas ... programación JAVA y motor de base de datos Postgres SQL. 1.2 Planteamiento del Problema La Casa de la Cultura Ecuatoriana

80

6 ANEXOS