Escolar Documentos
Profissional Documentos
Cultura Documentos
Curso 2012-2013
AUTORIZACIN I
RESUMEN II
PALABRAS CLAVE II
ABSTRACT III
KEYWORDS III
1 INTRODUCCIN 4
2 PLANTEAMIENTO 6
5 OBJETIVOS 11
6 ESPECIFICACIN DE REQUISITOS 12
6.1 SISTEMA DE MARCADO 13
6.2 CONTROL DEL SISTEMA DE MARCADO 13
6.3 BASE DE DATOS 13
6.4 AUTENTICACIN DE USUARIOS 14
9 DISEO 26
9.1 PATRN MODELO VISTA CONTROLADOR 26
9.2 PATRN DAO 29
9.3 PATRN FACTORA ABSTRACTA 29
9.4 PATRN SINGLETON 30
9.5 PATRN OBSERVER 31
9.6 VARIOS SISTEMAS OPERATIVOS 32
9.7 BASE DE DATOS 33
9.7.1 CONSIDERACIONES PREVIAS 33
9.7.2 ELECCIN DE LA BASE DE DATOS 33
9.7.3 DISEO DE LA BASE DE DATOS 34
9.7.4 HOSPEDAR LA BASE DE DATOS 35
10 DIAGRAMAS DE SECUENCIA 36
10.1 DIAGRAMA AADIR MARCA 36
10.2 DIAGRAMA EDITAR PACIENTE 36
11 DIAGRAMA DE CLASES 39
12 TECNOLOGAS UTILIZADAS 40
12.1 JAVA 40
12.2 JAVA SWING 40
12.3 JCALENDAR 40
12.4 HIBERNATE 41
12.5 ASSEMBLA 42
12.6 IDES 42
12.7 SUBCLIPSE 42
12.8 ITEXT 43
13 IMPLEMENTACIN 43
13.1 INTERNACIONALIZACIN (I18N) 43
13.2 CONFIGURACIN DE LA APLICACIN 45
13.3 IMPRESIN DE MARCAS PDF 46
13.4 INTERFACES 46
13.4.1 APPLICATIONVIEW 46
13.4.2 USERVIEW 47
13.4.3 PATIENTVIEW 47
14 CONCLUSIONES Y FUTURO 50
14.1 CONCLUSIONES 50
14.2 FUTURO DE LA APLICACIN 50
15 GLOSARIO 52
16 BIBLIOGRAFA 53
APNDICE 54
A1. ACCESO A LA APLICACIN 54
A2. CAMBIO DE IDIOMA 54
A3. INFORMACIN Y AYUDA 55
A4. MI CUENTA 55
A5. EDITAR MI CUENTA 55
A6. MANUAL DE USUARIO: GESTIN DE USUARIOS 56
1) GESTOR DE USUARIOS 56
2) BSQUEDA DE USUARIOS 57
3) AADIR UN NUEVO USUARIO 57
4) EDITAR UN USUARIO 58
5) ELIMINAR UN USUARIO 58
A7. MANUAL DE USUARIO: GESTIN DE PACIENTES 60
1) GESTOR DE PACIENTES 60
2) BSQUEDA DE PACIENTES 61
3) EDITAR UN PACIENTE 61
4) ELIMINAR UN PACIENTE 62
A8. MANUAL DE USUARIO: MARCAS 63
1) SELECCIONAR UN REA 63
2) REGISTRAR UNA MARCA 64
3) BORRAR MARCAS 68
4) IMPRIMIR EL REA DE UN PACIENTE 70
ndice de figuras de la memoria
Figura 6: Esquema general del patrn DAO dentro del modelo .................................... 29
Firmado:
No slo eso, sino que permiti desarrollar una aplicacin informtica para un cliente
real, lo que confiere al trabajo una componente de utilidad. En concreto, el trabajo
surgi gracias a la iniciativa de la Doctora en medicina D Isabel Longo Imedio,
especialista en Dermatologa Mdico-Quirrgica y Venereologa en el Hospital Gregorio
Maran de Madrid quien plante la necesidad de desarrollar una herramienta
informtica en el rea de dermatologa facilitar el seguimiento de pacientes con
mltiples tumores cutneos.
Pese a que el principal objetivo fue cubrir el mayor nmero posible de necesidades y
requisitos para tal aplicacin, como fue un sistema de marcado de imgenes, este
proyecto persigui adems otras metas, que se sintetizan en lo siguiente, lograr que
DermaSystem fuese escalable para conseguir que en el futuro otros tcnicos en el rea
informtica pudiesen continuar su desarrollo aportndole nuevas funcionalidades.
Palabras clave
Aplicacin informtica, sistema de marcado, dermatologa, Java, Modelo Vista
Controlador, programacin orientada por eventos, i18n, Hibernate.
II
Abstract
DermaSystem has been a final degree project, which allowed the authors the authors
to reflect the knowledge that they acquired during their years of study at the School of
Computer Science in the University Complutense of Madrid.
Additionally, the authors were able to develop an application for a real client, giving
the work a practical use. Specifically, the work came about through the initiative of the
medical doctor Imedio Ms. Isabel Longo, Specialist Medical-Surgical Dermatology and
Venereology at the Hospital Gregorio Maraon de Madrid who raised the need to
develop a software tool in the area of Dermatology to monitor the follow-up of
patients with multiple cutaneous tumors.
Although the main objective was to cover the widest possible range of needs and
requirements for such an application, as a marking system of images, this project also
pursued other goals: that basically comprise the design of DermaSystem as a scalable
tool to ensure that other engineers in computer science could continue its
development by incorporating new features.
The outcome, as a result of the confluence of interests and goals, has been the
development of the DermaSystem application.
Keywords
Computer-based application, marking system, dermatology, Java, Model View
Controller, event-driven programming, i18n, Hibernate.
III
1 Introduccin
El proyecto que se presenta surge como una iniciativa de la Doctora en medicina D
Isabel Longo Imedio, especialista en Dermatologa Mdico-Quirrgica y Venereologa
en el Hospital Gregorio Maran de Madrid quien plantea la necesidad de desarrollar
una herramienta informtica en el rea de dermatologa como ayuda al seguimiento y
diagnstico de pacientes en dicha rea.
En esta primera fase del proyecto se pretende desarrollar la base para una aplicacin
de futuro en la que se puedan incluir los avances tecnolgicos a los que hubiere lugar,
incluyendo el procesamiento de imgenes con fines de tratamientos selectivos y
automticos como ayuda al diagnstico de pacientes.
4
Sabemos que un dermatlogo pasa consulta da a da, lleva un registro de las
afecciones de sus pacientes y sus diagnsticos mediante un historial clnico. Es decir,
realiza un seguimiento de sus pacientes, estas tareas, absolutamente rutinarias,
implican un consumo de tiempo, que puede utilizarse en otros menesteres ms
productivos y eficientes desde el punto de vista de las actividades de los especialistas
en dermatologa.
Si bien es cierto que gran parte de este proceso est actualmente siendo informatizado
y gracias a ello el personal mdico tiene acceso a todos estos datos, no cabe la menor
duda de que siguen necesitandose herramientas informticas especficas para poder
realizar los trabajos cotidianos de una manera ms eficaz durante sus consultas. Tal es
el caso que nos ocupa, que origina el planteamiento de la aplicacin que se presenta
5
La posibilidad de disponer de las aplicaciones informticas en los cada vez ms
difundidos dispositivos electrnicos con conexiones fiables de red (debido
fundamentalmente al avance de las tecnologas asociadas) hace que los desarrollos
informticos en el mbito de la medicina encuentren un caldo de cultivo apropiado
para favorecer su difusin y uso.
2 Planteamiento
La principal ventaja de un proyecto de esta ndole es su naturaleza real, dentro de un
marco especfico, el cual es la dermatologa en el mbito de un Hospital.
6
especialidad dermatolgica, a la vez que en otras especialidades mdicas a las que
puede servir de inspiracin.
Se pretende como algo primordial que su funcionalidad pueda ser ampliada para
adaptarse a las necesidades y preferencias de todos los usuarios que la han de utilizar
en el futuro.
Este trabajo se organiza en cinco partes bien diferenciadas, cada una de las cuales
aborda una parte esencial de lo que se considera el ciclo de vida de un proyecto de
desarrollo software:
7
Tecnologas utilizadas: al tratarse de un proyecto de cierta envergadura,
mxime teniendo en cuenta las ampliaciones de futuro previstas, se han
utilizado distintas tcnicas y tecnologas para hacer que DermaSystem
cumpliese todos los requisitos que se propusieron como parte esencial del
proyecto. Aqu se detallan por tanto las tecnologas usadas y qu funcin
cumplen dentro del proyecto.
Todas estas cuestiones se detallan en los diferentes apartados que constituyen los
bloques esenciales y las secciones correspondientes del trabajo que se presenta como
sntesis del proyecto desarrollado.
Con tal propsito se han considerado de forma especial las dificultades con las que se
enfrenta un dermatlogo a la hora de pasar consulta, las necesidades que surgen a la
hora de revisar los datos del paciente al que trata, as como los problemas que detecta
a la hora de documentar tanto su historial como las afecciones actuales y pasadas del
paciente.
Tal y como queda patente desde el inicio de las primeras entrevistas, es prctica
habitual que el sistema de tratamiento de la informacin mdica de un paciente se
lleve a cabo manualmente, es decir, el doctor toma notas en papel sobre la
informacin que le proporciona el paciente, posteriormente lo evala e incorpora su
diagnstico al historial. Es cierto que las aplicaciones ofimticas e informticas estn
8
sustituyendo paulatinamente estas tareas, si bien no desde el punto de vista que se
plantea en la presente aplicacin informtica. Queda pues patente, que se necesita un
desarrollo que supere las meras tecnologas informticas a la vez que facilite la labor
del dermatlogo.
En ocasiones, en el historial clnico del paciente el propio mdico guarda bocetos del
cuerpo humano, dibujando y sealando sobre el dibujo las lesiones observadas en la
piel. A veces estas seales desaparecen del paciente, bien como consecuencia del
tratamiento o por otras razones. Este es el momento en el que se les hace desaparecer
del expediente de forma manual, a veces incluso sin anotacin de fecha, ello conlleva
posteriormente una cierta dificultad en el seguimiento de tales lesiones en el paciente.
9
En la Figura 1, se muestra el diagrama de bloques de alto nivel relativo al diseo inicial,
surgido como consecuencia de la sntesis de los procesos de extraccin de la
informacin segn los pasos especificados previamente.
En dicho diagrama se muestran cuatro bloques bsicos que constituyen el conjunto del
diseo:
Interfaz de usuario
Gestin de la Aplicacin
Base de Datos
Sensores
Trasvase de Transferencia
informacin de
e datos
instrucciones
Interfaz Gestin
de de la BD
usuario Aplicacin
Gestin Datos de
de pacientes
usuarios informes
10
correspondiente identificacin e informes asociados. En el segundo caso, se hace
referencia a la gestin de usuarios por parte del administrador del sistema y el acceso
de estos mismos usuarios, tal y como se describe posteriormente.
5 Objetivos
En vista de los problemas que le surgen a un especialista en dermatologa durante su
consulta habitual a la hora de tratar el historial de enfermedades o afecciones de los
pacientes que atiende, as como su correcto seguimiento se pretende:
11
Este sistema de marcado debe estar dotado de un cierto control, en concreto, debe
registrar el tipo de marca, su nombre, descripcin, la fecha en la que se introdujo y las
anotaciones o diagnstico del mdico, de nuevo, a partir de esta consideracin surge
un nuevo objetivo:
Una Base de Datos robusta. Dicha base de datos debe ser sobre todo
segura, ya que, entre otras cosas, se est tratando con informacin
confidencial. Debe permitir el acceso a los datos a travs de la aplicacin
de una manera fcil y rpida, si bien garantizando la integridad de la
informacin.
De una manera rpida, gil y fcil podr registrar estas seales, comprobar las que el
propio paciente sufra anteriormente, como resultado de visitas anteriores a la
consulta, as como documentarlas con comentarios especficos de utilidad para su
posterior seguimiento y utilizacin en los informes que a tal fin puedan generarse.
6 Especificacin de requisitos
Como se ha mencionado previamente, DermaSystem debe ser una aplicacin diseada
con el objetivo de ayudar a los especialistas en dermatologa en su quehacer diario. De
forma especial, en el manejo de los historiales mdicos, pero ms concretamente en la
identificacin y anotacin de las lesiones, seales y marcas de la piel que presentan sus
12
pacientes. Todo ello debe disearse respetando la confidencialidad de los datos
gestionados, as como preservando su integridad. Tal y como se ha mencionado
previamente, a esto hay que aadir su carcter abierto para la incorporacin de otras
funcionalidades ms avanzadas e incluso a plataformas multiusuario.
Los dermatlogos, usuarios del sistema, deben poder aadir y eliminar marcas as
como crear comentarios especficos para cada una de ellas. Para anotar estas marcas
dispondrn de imgenes prediseadas o plantillas que representan total o
parcialmente el cuerpo humano. Cabe distinguir los dos tipos de plantillas genricas
que se mencionan a continuacin:
El usuario pulsar con los botones del ratn asociado al computador, sobre la zona
afectada, se le mostrar un panel con todas las marcas disponibles, seleccionar la
deseada y se incorporar a la imagen en la zona sealada por el mdico. Asimismo, el
doctor tambin podr aadir una descripcin detallada propia si lo desea sin limitacin
especfica.
El historial clnico del paciente se guardar en una Base de Datos que almacenar sus
datos personales, todas las marcas y anotaciones que haya realizado el doctor as como
su diagnstico.
13
Se ha hecho especial hincapi en el diseo de esta Base de Datos para poder en un
futuro exportar los datos a un sistema de mayor capacidad y prestaciones desde el
punto de vista informtico, como pueda ser la base de datos del Hospital Gregorio
Maran de Madrid.
14
7 Diagrama de casos de uso
En la Figura 2 y Figura 3 se muestran sendos esquemas de casos de uso desde el punto
de vista de los roles de administrador y usuario que debe identificarse para el acceso a
la aplicacin.
Sus funciones, tal y como se especifica ms adelante estn relacionadas con la gestin
de usuarios en el primer caso y con el acceso a la aplicacin en el segundo.
15
Figura 3: Diagrama del mdulo usuarios en relacin a pacientes
El usuario que ejerce su rol principal en la aplicacin una vez identificado, tiene la
posibilidad de ejercer diversas funciones y operaciones en la aplicacin orientadas a la
gestin de pacientes. Dichas operaciones estn relacionadas con la creacin de un
espacio para la insercin de un nuevo paciente o la bsqueda de uno ya existente, as
como su modificacin e incluso eliminacin. En esta lnea tambin realiza operaciones
de visualizacin del paciente creado o existente. El usuario igualmente tiene la
capacidad de realizar operaciones sobre el marcado de los pacientes (aadir, modificar
o imprimir).
16
8 Especificacin de casos de uso
Como podemos observar en los diagramas mostrados en la Figura 2 y en la Figura 3, se
identifican dos roles:
Usuarios
Pacientes
Los casos de usos mostrados en los diagramas anteriores se pueden agrupar y resumir
brevemente:
17
LogIn: Permite el inicio de sesin en la aplicacin introduciendo el nombre de
usuario y la contrasea. En funcin del rol que tenga el usuario, podr acceder a
unas funciones u otras.
AddMark: aade una nueva marca a la imagen del paciente. El doctor como
usuario normal puede seleccionar la que desee y aadir un comentario
especfico para esa marca.
1. CreateUser
Precondiciones:
El usuario que ejecuta la accin debe ser administrador del sistema y adems estar
registrado e identificado correctamente (logueado).
Flujo Normal:
18
Alternativas:
2. ModifyUser
Precondiciones:
El usuario que ejecuta la accin debe ser administrador del sistema y adems estar
registrado e identificado correctamente (logueado).
Flujo Normal:
Alternativas:
3. DeleteUser
Precondiciones:
El usuario que ejecuta la accin debe ser administrador del sistema y adems estar
registrado e identificado correctamente (logueado).
Flujo Normal:
19
3. Al seleccionar el usuario que se desea eliminar se mostrar un formulario con
todos sus datos.
4. Pulsar el botn Eliminar.
5. Aparece una ventana de aviso sobre la eliminacin de usuarios. Para la
eliminacin definitiva se pulsar el botn Aceptar y el usuario quedar
eliminado del sistema.
Alternativas:
4. SearchUser
Precondiciones:
El usuario que ejecuta la accin debe ser administrador del sistema y adems estar
registrado e identificado correctamente (logueado).
Flujo Normal:
Alternativas:
5. ViewUser
Precondiciones:
El usuario que ejecuta la accin debe ser administrador del sistema y adems estar
registrado e identificado correctamente (logueado).
20
Flujo Normal:
Alternativas:
6. LogIn
Precondiciones:
No existen.
Flujo Normal:
Alternativas:
NewPatient
Precondiciones:
El usuario que ejecuta la accin debe ser doctor y adems estar registrado en el
dominio correctamente (logueado).
Flujo Normal:
21
3. Pulsar el botn Aceptar para guardar el nuevo paciente.
4. Aparece una ventana de confirmacin de guardado. Presionar el botn
Aceptar para cerrarla.
Alternativas:
ModifyPatient
Precondiciones:
El usuario que ejecuta la accin debe ser doctor y adems estar registrado en el
dominio (logueado).
Flujo Normal:
Alternativas:
22
En el paso cinco, durante el guardado, si los datos introducidos son incorrectos
se mostrar una ventana advirtindolo. Pulsar el botn Aceptar para cerrarla
y corregir los errores.
DeletePatient:
Precondiciones:
El usuario que ejecuta la accin debe ser doctor y adems estar registrado
correctamente en el dominio (logueado).
Flujo Normal:
Alternativas:
SearchPatient
Precondiciones:
El usuario que ejecuta la accin debe ser doctor y adems estar correctamente
registrado en el dominio (logueado).
Flujo Normal:
23
Alternativas:
ViewPatient:
Precondiciones:
El usuario que ejecuta la accin debe ser doctor y adems estar registrado
correctamente en el dominio (logueado).
Flujo Normal:
Alternativas:
AddMark:
Precondiciones:
El usuario que ejecuta la accin debe ser doctor y adems estar registrado
correctamente en el dominio (logueado).
Flujo Normal:
24
5. Pulsar el botn Guardar marcas para guardar los cambios en la imagen.
Alternativas:
DeleteMark:
Precondiciones:
El usuario que ejecuta la accin debe ser doctor y adems estar registrado
correctamente en el dominio (logueado).
Flujo Normal:
Alternativas:
PrintMarks
Precondiciones:
El usuario que ejecuta la accin debe ser doctor y adems estar registrado
correctamente en el dominio (logueado).
Flujo Normal:
25
3. Se abrir el visualizador de documentos PDF instalado en el sistema operativo
que le permitir guardarlo en la ubicacin que desee.
Alternativas: no existen.
9 Diseo
El diseo realizado se basa en el modelado de patrones, que varan dependiendo de la
funcionalidad o sistema segn se describe a continuacin.
Como un elemento relevante que resulta ser la Base de Datos, se incluye igualmente el
diseo de la misma.
Se ha elegido este patrn de arquitectura software por las ventajas que presenta a la
hora de hacer escalable la aplicacin, que tal y como se ha mencionado previamente
supone uno de los fundamentos del sistema de cara a su ampliacin de futuro. Puesto
que la lgica de negocio est separada de la vista, ello permite hacer cambios en la
capa de presentacin sin tener que modificar ningn aspecto funcional de la
aplicacin.
Esta estructura resulta muy til, ya que aunque a priori la aplicacin propuesta va a ser
utilizada en un primer momento por una nica usuaria, cuando en un futuro se decida
utilizar DermaSystem en modo multiusuario la interfaz se podr adaptar a los gustos de
26
cada usuario en particular, lo que confiere a la aplicacin un carcter amigable de suma
importancia.
Vista
observador
excepciones invoca
Modelo Controlador
invoca
accede retorna
DAO
consulta
27
5. Al terminar, notifica a la vista mediante el patrn Observer que se han
producido cambios en el Modelo.
6. La Vista recibe la notificacin de cambios en el Modelo procediendo a su
actualizacin.
28
9.2 Patrn Dao
Para separar la funcionalidad core del aplicativo respecto al acceso a la Base de Datos
se ha utilizado el patrn DAO (Data Access Object), Figura 6. Gracias a l podemos
abstraer y encapsular los accesos a la Base de Datos, gestionar sus conexiones y
obtener los datos necesarios cuando stos se requieran y a peticin del usuario.
Este patrn proporciona una interfaz para crear familias de objetos que dependen
entre s, sin especificar sus clases concretas.
29
2. public Object get(Object object) throws Exception: devuelve un objeto de la
base de datos.
3. public boolean delete(Object object) throws Exception: borra un objeto de la
base de datos.
4. public boolean update(Object object) throws Exception: actualiza un objeto de
la base de datos.
5. public ArrayList<Object> getAll() throws Exception: devuelve una lista de todos
los objetos almacenados en la base de datos del tipo deseado.
Es bien conocido en el mbito del diseo de Bases de Datos, que stas se estructuran
normalmente en tablas. Pues bien, por cada tabla existente en la base de datos se ha
creado un DAO propio que implementa los mtodos de la interface. As de esta forma
se identifican los siguientes:
DaoAffectedArea
DaoArea
DaoMark
DaoPatient
DaoRole
DaoUser
Gracias a esto, el Modelo interacta con la Base de Datos sin necesidad de conocer el
destino final de la informacin que procesa.
El patrn Singleton garantiza que una clase slo tenga una instancia, proporcionando
un punto de acceso global a dicha instancia.
30
3. Dotar a la clase Singleton de una funcin mediante la que se pueda acceder a la
nica instancia gestionada por el Singleton.
Este patrn es muy til en el presente proyecto al utilizar un MVC, cuyo diseo tiene
prevista la incorporacin de diversas interfaces.
Para aclarar esta idea mejor, en los puntos siguientes se explica su funcionamiento:
31
2. Las vistas, por el contrario, extienden de la clase Observador (propia del patrn).
Permanecen a la espera, escuchando eventos que les puedan llegar de otras
partes de la aplicacin. Gestionan estos distintos tipos de eventos o los descartan.
Su esquema bsico se detalla en la Figura 9.
3. Cada vez que una vista se suscribe como Observadora se aade una referencia
de sta en un array, dentro del patrn Observer, de esta forma el modelo
informa a todas las vistas suscritas a l. El esquema bsico de implementacin es el
que se muestra en la Figura 10.
Windows
MacOs
Linux
32
El requisito indispensable para su correcto funcionamiento es que en el computador
donde se vaya a instalar la aplicacin se tenga instalada la versin 1.6 o superiores de la
Mquina Virtual de Java.
Adems, al haber sido DermaSystem desarrollado con Java Swing, la vista de la interfaz
de usuario se adaptar al sistema operativo en el que se ejecute lo que le permitir
fusionarse mejor con el estilo grfico que utilice el usuario.
Se ha llevado a cabo un anlisis sobre varios Sistemas Gestores de Bases de Datos (de
aqu en adelante SGBD) existentes junto con las posibilidades ms relevantes que
ofrecen. Asimismo se han establecido una serie de requisitos que deben cumplirse
teniendo en cuenta las necesidades de la aplicacin actual y su ampliacin prevista de
futuro:
33
Llegados a este punto se plantean dos opciones:
1. La versin gratuita de Oracle (Oracle Express Edition) que cumpla con todos los
requisitos mencionados anteriormente. Sin embargo, a este SGBD vienen unidas
una serie de limitaciones en el uso (slo puede utilizar un procesador del
servidor donde est instalada y un mximo de 1 Gb de memoria RAM) y sobre
todo en el almacenamiento (un mximo de 4 GB de datos). Esto ltimo
representaba un serio problema ya que a la hora de importar datos se podra
llegar a una falta de espacio fsico, lo que obligara a migrar a la versin de pago
de Oracle.
2. Area: esta tabla almacena las reas en las que est dividida la imagen
prediseada que se muestra al usuario. Por ejemplo: lateral izquierdo de la cara,
lateral derecho de la cara, cuerpo delantero, cuerpo trasero, etc.
3. Mark: esta tabla almacena las afecciones que se marcarn en las imgenes. Su
contenido ha sido diseado por la doctora, inspiradora de este sistema y de
acuerdo con las necesidades en dermatologa.
4. Patient: esta tabla almacena todos los datos relacionados con los datos
personales de los pacientes.
5. Role: esta tabla almacena los tipos de usuarios que existen en la aplicacin, a
saber:
o Administrador
o Doctor.
34
6. User: esta tabla almacena los usuarios (y datos personales) que estn
registrados en la aplicacin y por tanto dichos usuarios podrn usarla en
funcin del rol que tengan.
35
10 Diagramas de secuencia
Para entender mejor cmo se desarrolla la ejecucin de los casos de uso se pueden
observar los diagramas de secuencia de la Figura 12 y la Figura 13 mostradas a
continuacin.
1. El usuario solicita a la aplicacin aadir una nueva marca. La vista, devuelve una
ventana que muestra las marcas disponibles para seleccionar.
2. El controlador pasa al modelo los datos que el usuario ha seleccionado en la
ventana.
3. El modelo llama al DAO. ste accede a la base de datos y realiza la consulta Insert
que guarda la informacin, creando as la nueva marca.
36
Figura 12: Diagrama de secuencia aadir marca
37
Figura 13: Diagrama de secuencia editar paciente
38
11 Diagrama de clases
39
12 Tecnologas utilizadas
A continuacin se describen los aspectos bsicos relacionados con la implementacin
del diseo realizado previamente.
12.1 Java
Por tanto, este tipo de programacin ha permitido controlar de una manera eficiente
todas las actividades que llevan a cabo el usuario por un aparte y la aplicacin por otra.
Java Swing es la principal herramienta de Java para crear interfaces grficas de usuario,
ms conocidas por sus siglas GUI, del ingls graphical user interface. Adems es un
framework basado en el Modelo-Vista-Controlador, patrn que, como se ha indicado
previamente, sigue la arquitectura de DermaSystem. Su popularidad y gran nmero de
componentes lo han hecho perfecto para desarrollar una interfaz grfica fcil e
intuitiva para el usuario.
12.3 JCalendar
40
12.4 Hibernate
Gracias a la ayuda de Hibernate se soluciona el problema que existe entre los datos con
los que trabaja la aplicacin, que, en el caso de DermaSystem, seran los objetos y los
datos que posteriormente se guardarn en la base de datos.
Su funcionamiento es sencillo:
Hibernate asocia a cada tabla de la base de datos un Plain Old Java Object, ms
conocido como POJO. Un POJO es similar a una clase, con propiedades
accesibles mediante mtodos setter y getter.
El uso de HQL nos permite usar un lenguaje intermedio que, segn la base de datos
que usemos y el dialecto que especifiquemos ser traducido al SQL propio de cada
base de datos de forma automtica y transparente.
41
12.5 Assembla
Subversion
Es un sistema de control de versiones. Es software libre bajo una licencia de tipo
Apache/BSD y se le conoce tambin como svn por ser el nombre de la
herramienta utilizada en la lnea de comando.
12.6 IDEs
Las versiones utilizadas fueron Indigo y Juno, esto ha sido debido a que para el sistema
operativo Mac la ltima versin de Eclipse (Juno) presentaba algunos errores (bugs)
que dificultaban su uso.
12.7 Subclipse
Subclipse (Tigris.org Open Source Software. (s.f.). Subclipse) es una extensin, conocida
en terminologa inglesa como plug-in, que proporciona soporte para trabajar con
Subversion en Eclipse. Lo que ha permitido trabajar a cada miembro del equipo de
desarrollo del proyecto individualmente y actualizar su trabajo pudindolo subir a
Subversion.
42
12.8 iText
Se trata de una librera para Java que permite crear un archivo PDF imprimiendo en
dicho archivo los datos que se deseen.
iText es de cdigo abierto, con una licencia Open-Source AGPL y est ampliamente
documentada. Tambin distribuyen licencias de pago con mltiples beneficios, sin
embargo, esta opcin no ha sido considerada debido a que DermaSystem es un
proyecto de fin de carrera. No obstante, en un futuro se podra considerar la
adquisicin de otras licencias si el manejo de datos lo requiere
Se ha elegido el formato PDF porque es un estndar que todos los sistemas operativos
actuales son capaces de leer. Igualmente permite ser guardado, imprimido, firmado de
forma digital as como personalizado con comentarios.
13 Implementacin
43
archivos, cosa que con las clases esta accin se hace absolutamente necesaria. El
mtodo que se ha seguido para la internacionalizacin (i18n) ha sido el siguiente:
Para entender mejor este proceso se muestra una captura del cdigo de la clase
AppLanguage, que se muestra en la Figura 15.
44
Archivos .properties
El nombre de estos archivos resulta ser muy importante para identificar el idioma de la
aplicacin, por ello seguimos el siguiente procedimiento.
45
13.3 Impresin de marcas PDF
En concreto, se han utilizado unos datos mnimos del paciente, el rea actualmente
seleccionada con sus marcas y una lista de todas las marcas que aparecen en dicha
rea.
13.4 Interfaces
Para comprender mejor la estructura de las vistas, podemos imaginar las interfaces
como un patrn en rbol cuyas ramas son los mdulos (JInternalFrame).
13.4.1ApplicationView
46
En funcin de los permisos que tenga asignados el usuario cuando se ha registrado e
identificado en el dominio (logueado), esta vista oculta o desactiva algunas opciones;
aunque, incluso sin realizar el log-in, permite cambiar el idioma de la aplicacin o
visualizar el JDialog AboutTo que funciona como ventana de informacin.
Cabe destacar que UserLogin es el nico JInternalFrame que se cierra realmente ya que
la aplicacin no se ha concebido como un uso similar al de una web, y no permite
volver a realizar un nuevo log-in sin cerrar y volver a abrir la aplicacin.
13.4.2UserView
Una vez que el usuario con permisos de administrador ha completado una accin de
log-in, se puede acceder al mdulo de usuarios, gestionado por la interfaz UserView,
que en esencia lista y edita usuarios ya existentes o nuevos.
13.4.3PatientView
Esta vista permite buscar (vista PatientViewSearch), listar y seleccionar los pacientes, o
incluso realizar la bsqueda de pacientes. Una vez se seleccione el paciente es cuando
se desciende un nivel ms, creando tres JInternalFrames:
PatientViewInfo
AllImagesPatientView
ImagePatientView.
47
Por decirlo de alguna manera, las marcas del paciente actan como un sub-mdulo,
casi independiente, cuya nica relacin es el identificador del paciente.
48
Figura 17: Diagrama de vistas
49
14 Conclusiones y futuro
14.1 Conclusiones
En este momento se dispone de una aplicacin que permitir manejar los historiales
clnicos de los pacientes dermatolgicos y, lo ms importante, se posee un sistema de
marcado de las afecciones dermatolgicas que ser estndar para todos los diversos
pacientes, en principio segn las necesidades previstas por la mencionada doctora.
Pese a que DermaSystem ha sido un proyecto de fin de grado podemos aadir que ha
establecido las bases para su posterior evolucin. En efecto, ha sido diseado para que
se contine en un futuro, de forma que los ingenieros informticos que participen en
ese nuevo desarrollo puedan entender fcilmente hasta dnde ha llegado el alcance de
este proyecto, pudiendo as aadirle funcionalidad sin el esfuerzo de estudiar la
implementacin anterior o iniciar el proceso desde cero.
50
A continuacin se indican una serie de ideas sobre las funcionalidades y aspectos que
en un futuro podran aadirse a DermaSystem como continuacin y mejora del mismo.
Destacan las siguientes.
51
15 Glosario
SO: Sistema Operativo.
52
16 Bibliografa
[1] Tigris.org Open Source Software. (2013). Subclipse. Obtenido de Tigris.org Open
Source Software Engineering Tools: http://subclipse.tigris.org
[11] iText Software Corporation (California, USA) and 1T3XT BVBA (Ghent, Belgium).
(2013). iTextPDF. Obtenido de http://itextpdf.com
53
APNDICE
54
La aplicacin est disponible en el idioma espaol e ingls. Para un cambio de idioma,
ser necesario reiniciar la aplicacin.
A4. Mi cuenta
Requerimientos iniciales
Una vez accedido a la aplicacin con un usuario vlido, indistintamente con permisos
de administrador o mdico, puede acceder a la informacin de su usuario, incluso
editar su informacin
Para acceder a su cuenta, desde el men superior haga clic en Usuarios -> Mi Cuenta.
Requerimientos iniciales
Una vez en el modo edicin la operacin de editar puede ser cancelada con el botn
Cancelar
55
A6. Manual de usuario: Gestin de usuarios
Requerimientos iniciales
1) Gestor de usuarios
Est vista le mostrar todos los usuarios registrados en el sistema, puede acceder por
defecto o desde el men superior Usuarios -> Gestor de usuarios.
56
2) Bsqueda de usuarios
Requerimientos iniciales
Requerimientos iniciales
Puede aadir un nuevo usuario desde el men superior Usuarios -> Aadir usuarios
Se mostrar la vista con los campos necesarios para aadir un nuevo usuario, adems
del selector que establecer los permisos del nuevo usuario: Administrador o Mdico.
57
4) Editar un usuario
Requerimientos iniciales
Al hacer clic en el botn Editar, se activarn los campos para modificar los datos del
usuario seleccionado, puede editar y guardar o cancelar la operacin.
5) Eliminar un usuario
Requerimientos iniciales
58
Al hacer clic en el botn Editar, se activar el botn Eliminar, al hacer clic en este
ltimo botn, puede eliminar el usuario tras un mensaje de confirmacin.
59
A7. Manual de usuario: Gestin de pacientes
Requerimientos iniciales
1) Gestor de pacientes
Est vista mostrar todos los pacientes registrados en el sistema, se accede por defecto
o desde el men superior Pacientes -> Gestor de pacientes.
Las reas marcadas en rojo indican que existe una marca en esa zona del cuerpo.
60
Figura A7: Informacin del paciente
2) Bsqueda de pacientes
Requerimientos iniciales
3) Editar un paciente
Requerimientos iniciales
61
Desde la ventana de Gestor de Pacientes en el men superior Pacientes -> Gestor de
usuarios, una vez seleccionado un paciente con doble clic o aceptar, puede acceder a la
vista de informacin.
Al hacer clic en el botn Editar, se activarn los campos para modificar los datos del
paciente seleccionado, pudiendo guardar o cancelar la operacin.
4) Eliminar un paciente
Requerimientos iniciales
Al hacer clic en el botn Editar, se activar el botn de Eliminar, al hacer clic en este
ltimo botn, se podr eliminar el paciente tras un mensaje de confirmacin.
62
A8. Manual de usuario: Marcas
1) Seleccionar un rea
Requerimientos iniciales
Paso 1: Debe hacer doble clic en el rea del cuerpo que desee:
Nota: Las reas con sombreado rojo indican que el paciente tiene guardas marcas en esa zona.
Paso 2: Tras entrar en una zona le aparecer la siguiente ventana, Figura A11.
63
Nota: Preste atencin a las indicaciones en azul y en rojo .
Requerimientos iniciales
64
Tras pulsar en l, aparecer el siguiente selector de marcas:
Paso 2: Seleccionar la marca que desea. Para ello marque con el ratn la deseada en
su respectivo checkbox y pulsar el botn Aceptar para confirmar.
65
Figura A15: Ventana de marcas
Paso 3: Registrar la marca en la zona deseada. Para ello slo tiene que hacer clic en la
zona que desee dentro de los lmites (marcados por la lnea roja representada en la
Figura A7).
66
Tras hacer clic le aparecer un cuadro de dialogo como el mostrado en la Figura A17.
Nota: En comentarios puede guardar un comentario en relacin a la marca que va a guardar.
67
Figura A19: Resultado de registro de marca
3) Borrar marcas
Requerimientos iniciales
Al pulsar una sola vez la marca en el rea de la derecha aparecer con un crculo rojo
indicndole que la marca seleccionada es esa en la representacin:
68
Figura A21: Seleccin de marca en el historial
Paso 2: Una vez localizada su marca, hacer doble clic sobre ella en la lista. De esta
forma puede ver los comentarios que se guardaron al registrar la marca.
69
Paso 3: Pulsar en el botn. Si desea cancelar el proceso de
eliminacin pulsar en el botn para cerrar esta ventana.
Requerimientos iniciales
Aparecen los datos del paciente, sus marcas en el rea y una lista con dichas marcas
como se muestra en la Figura A24 (pgina siguiente).
70
Figura A24: Impresin de marcas
71