Professional Documents
Culture Documents
Metodologa para el
diseo y desarrollo de
interfaces de usuario
Versin <1.1>
Historia de Revisin
Fecha
Versin
Descripcin
Responsable
20/06/2005
<0.1>
Creacin.
Alejandro Bez
Cristian Castaeda
Diego Castaeda
3/07/2005
<1.0>
25/07/2005
<1.1>
INVESTIGADORES:
ALEJANDRO BAEZ
CRISTIAN CASTAEDA
DIEGO CASTAEDA
DIRECTOR:
JAVIER SNCHEZ
TABLA DE CONTENIDO
TABLA DE CONTENIDO .......................................................................... 2
1. Introduccin......................................................................................................... 4
2. Anlisis, diseo, implementacin y pruebas de una aplicacin en J2EE ............ 5
2.1 Modelo de negocio ........................................................................................ 5
2.2 Anlisis de requerimientos............................................................................. 8
2.2.1 Documento de requerimientos ................................................................ 9
2.2.1.1 Definicin de los usuarios del Sistema ............................................. 9
2.2.1.2 Requerimientos Funcionales ............................................................ 9
2.2.1.3 Requerimientos No Funcionales..................................................... 10
2.2.1.3.1 Requerimientos de interfaz .......................................................... 10
2.2.2 Documento de casos de uso ................................................................. 10
2.2.2.1 Definicin de actores ...................................................................... 11
2.2.2.2 Definicin de casos de uso ............................................................. 11
2.2.2.3 Diagrama de casos de uso ............................................................. 12
2.3 Diseo del sistema ...................................................................................... 13
2.4 Diseo de la lgica del negocio ................................................................... 14
2.4.1 Modelo entidad relacin ........................................................................ 14
2.4.2 Modelo de clases persistentes: ............................................................. 15
2.4.3 Modelo de acceso a los datos (Patrn DAO) ........................................ 15
2.4.4 Definicin de servicios........................................................................... 15
2.5 Diseo de las interfaces de usuario ............................................................. 16
2.6 Implementacin ........................................................................................... 16
2.7 Pruebas ....................................................................................................... 16
3. Relacin con RUP ............................................................................................. 16
3.1 Qu es RUP? ............................................................................................ 17
3.1.1 Fase de Inicio........................................................................................ 17
3.1.2 Fase de Elaboracin ............................................................................. 18
3.1.3 Fase de Construccin ........................................................................... 18
3.1.4 Fase de Transicin................................................................................ 18
3.1.5 Artefactos .............................................................................................. 18
Artefacto .............................................................................................. 19
3.2 RUP en nuestra metodologa....................................................................... 19
4. Interfaz grfica J2EE ......................................................................................... 22
4.1 Elementos funcionales de una interfaz grafica ............................................ 23
4.1.1 Validaciones .......................................................................................... 23
4.1.2 Informacin a presentar y recolectar ..................................................... 24
4.1.3 Relacin entre datos ............................................................................. 24
4.1.4 Flujo de Pginas.................................................................................... 24
4.2 Elementos de diseo de una interfaz grafica ............................................... 25
4.2.1 Diseo estructural ................................................................................. 25
4.2.1.1 Encabezado.................................................................................... 26
4.2.1.2 Men............................................................................................... 26
1. Introduccin
Uno de los principales problemas en el desarrollo de aplicaciones J2EE es el poco
conocimiento que se tiene de cmo unir la lgica del negocio con la forma en que
se presentara esta a los usuarios finales del software. Es por eso de vital
importancia para el desarrollo de este proyecto, la definicin de una metodologa
que nos ayude a decir como se debe realizar este proceso, para reducir la
complejidad inherente de este tipo de desarrollos.
El objetivo de este documento es presentar una metodologa para el anlisis,
diseo, implementacin y pruebas en desarrollos de software en J2EE, adems de
esto definir como disear las interfaces graficas de usuario en este tipo de
aplicaciones y describir algunos problemas que se deben tener en cuenta en el
desarrollo de interfaces pero que van mas all del alcance de este proyecto.
Modelo de negocio
Anlisis de requerimientos
Diseo del sistema
Diseo de la lgica del negocio
Diseo de las interfaces de usuario
Implementacin
Pruebas
Objetivo
Luego de llenar este formato para todos los procesos que se quieren analizar, se
podr determinar que procesos van a ser automatizados por el sistema. Para
estos procesos se debern realizar las etapas posteriores de la metodologa. Con
el fin de tener ms criterios para determinar estos procesos que va a ser
La definicin de estos casos de uso es til para conocer los procesos del dominio
y el ambiente externo, dentro de los cuales se ejecutan los requerimientos
anteriormente descritos.
El documento de casos de uso deber contener al menos la siguiente informacin:
Definicin de actores
Definicin de casos de uso
Diagrama de casos de uso
6
7
Tomcat
Inter
net
JBOSS
ORACLE
HIBERNATE
El orden de realizacin de estos productos no es estricto. Se puede utilizar otros diagramas tiles para el diseo, para
mayor informacin remtase a la especificacin de UML.
9
Data Access Object, patrn que sirve para encapsular y administrar el acceso a los datos.
10
Modelo entidad relacin, http://alvherre.atentus.cl/modBasico/node3.html
11
Para mayor informacin: SILBERSCHATZ, A., et al. Fundamentos de Bases de Datos. Cuarta Edicin. McGraw Hill. 2002
Con la definicin de los servicios, se puede tener claro como van a ser
implementados los requerimientos funcionales del sistema; esta informacin ser
vital para el proceso de integracin de la aplicacin.
12
13
Persistent Old Java Object, objeto al cual solo se le definen los atributos, los set y get para accesarlos.
Create, Read, Update, Delete. Operaciones que bsicamente se hacen sobre los datos
2.6 Implementacin
En esta etapa se debe llevar a la realidad todo lo que se ha descrito en los
modelos de las fases anteriores. Para tener un buen proceso de implementacin
se recomienda tener en cuanta los siguientes aspectos:
Manejo de versiones
Definicin de iteraciones
Documentacin
Estos aspectos se van tratar con mas detalle en la seccin 3, donde se establece
la relacin entre nuestra metodologa y RUP.
2.7 Pruebas
La ultima etapa de nuestra metodologa, busca asegurar que las funcionalidades
implementadas en el sistema funcionen de acuerdo a las especificaciones, para
esto se deben definir un conjunto de pruebas que nos ayuden a verificar esto.
La definicin de las pruebas y la administracin podrn ser manejadas con RUP,
ver la seccin 3.
3.1 Qu es RUP?
RUP es un proceso de Ingeniera de Software en el cual se especifican una serie
de tareas que se deben realizar con el fin de asegurar un producto de Software de
alta calidad a sus usuarios finales.
Dentro de RUP se pueden identificar cuatro etapas que son:
Inicio
Elaboracin
Construccin
Transicin
Prueba para validar el nuevo sistema ante las expectativas del usuario final.
Capacitacin a usuario y administradores del sistema
Valorar si la lnea base del desarrollo cumple con la visin del proyecto y los
criterios de aceptacin de este.
Establecer un plan de soporte para el proyecto.
3.1.5 Artefactos
Debido a que el proceso de RUP es iterativo, no se puede definir claramente en
que etapa se deben desarrollar los diferentes artefactos que propone RUP, en
trminos generales consideramos que los siguientes artefactos son los mas
importantes que define este proceso:
Artefacto
Modelo de Casos de
Uso del negocio
Descripcin
Disciplina
Relaciona los casos de uso del
Modelo del Negocio
negocio con sus actores y
relaciones.
Modelo de Objetos
Relaciona en un modelo la
Modelo del Negocio
del Negocio
organizacin las entidades y
trabajadores del negocio.
Especificacin de
Identifica las necesidades que debe
Levantamiento de
requerimientos
satisfacer el sistema.
requerimientos
Casos de Uso
Identifica un escenario, los eventos y
Levantamiento de
actores para la realizacin de un
requerimientos
proceso del negocio.
Modelo de Casos de Relaciona grficamente los casos de
Levantamiento de
Uso
uso.
requerimientos
Especificacin de Define la arquitectura sobre la que se
Anlisis y Diseo
arquitectura
desarrollara el software
Modelo de datos
Define el modelo sobre el cual se
Anlisis y Diseo
creara la base de datos.
Diseo de clases
Define la forma en que se
Anlisis y Diseo
implementara la solucin.
Diseo de paquetes
Identifica los paquetes con los que
Anlisis y Diseo
se implementaran la solucin.
Pantallas
Define las interfaces de usuario.
Anlisis y Diseo
Mapa de Navegacin
Indica la navegacin entre las
Anlisis y Diseo
pantallas de usuario.
Plan de Pruebas
Define las pruebas que se le
Implementacin
realizara al software
Cdigo Fuente
Implementacin de la solucin.
Implementacin
Resultado de
Documenta los resultados de las
Pruebas
pruebas
pruebas.
Esta seccin es una breve introduccin al proceso de RUP, fue extrada de el
documento About the RUP Configuration for Java Developers14.
14
RUP Configuration for Java Developers, Version 2002.05.20, Rational Software Corporation
disciplinas, que aunque no son exactamente iguales a las que propone RUP,
buscan cumplir con ese criterio de calidad.
A continuacin, asociaremos nuestras disciplinas con las cuatro etapas que
propone RUP:
En el grafico nos podemos dar cuenta, que nuestras disciplinas estn pensadas
para realizarse mediante un proceso iterativo. Esto quiere decir que luego de
realizarse por completo cada una de estas disciplinas se va a realizar nuevamente
con base a la versin anterior, mejorndola hasta que cumpla con las necesidades
planteadas.
Por otra parte nuestros artefactos aunque no son iguales a los que RUP propone,
son capaces de alcanzar los objetivos que la metodologa da para cada caso. A
continuacin, vamos a relacionar nuestros artefactos con las diferentes disciplinas
que propone RUP:
Artefactos
Modelo del Negocio
Documento de Requerimientos
Documento de Casos de Uso
Modelo entidad relacin
Modelo de clases persistentes
Modelo de acceso a los Datos
Disciplinas RUP
Modelo del Negocio
Levantamiento de requerimientos
Levantamiento de requerimientos
Anlisis y Diseo
Anlisis y Diseo
Anlisis y Diseo
Anlisis y Diseo
Implementacin
Pruebas
Encabezado (Opcional)
Men (Opcional)
Zona de Contenido
Hojas de estilo (CSS)15
Zona de mensajes (error, xito)
Pagina 2
X
....
Pagina m
X
X
X
15
Las hojas de estilo en cascada permiten estandarizar la forma de presentacin de los componentes en una
pagina. Para mas informacin http://www.csszengarden.com/
4.1.1 Validaciones
Validacin: Una validacin se lleva a cabo cuando se compara un dato con un
valor esperado, buscando coherencia e integridad.
Las validaciones que se van tener en cuenta son:
Tipo: Se evala el dato respecto al tipo que se especifico que deba ser.
Los tipo que se tendrn en cuenta son:
o Nmeros (Enteros y decimales).
o Cadena de Caracteres
o Fechas.
Otra ventajas es que se le da uniformidad al sistema haciendo que este sea mas
agradable estticamente.
Entre los elementos que se deben tener en cuenta en el diseo encontramos:
4.2.1.1 Encabezado
El encabezado se ubica en la parte superior de la pagina, por lo general contiene
un logo o una imagen que identifique la aplicacin, es recomendable utilizar
frames para que esta imagen se cargue solo una vez.
4.2.1.2 Men
El men es necesario para una navegabilidad rpida, se puede ubicar en varios
lugares y debe ser accesible desde cualquier pgina. Es una buena practica de
programacin web el utilizar mens, para no tener que regresar a paginas y
causar mayor demora.
4.2.1.3 Zona de Contenido
La zona de contenido cambia constantemente, dependiendo de la operacin
requerida por el usuario, en esta zona se podrn visualizar el resto de paginas de
la aplicacin y a las que se pueda dirigir segn el tipo de rol de usuario que este
en interaccin.
4.2.1.3 Hojas de Estilo
Las hojas de estilo permiten que el diseo sea flexible, debido a que recogen un
conjunto de caractersticas comunes a una serie de pginas web; as cuando
convenga, cambiando una caracterstica de la hoja de estilo automticamente
cambiar en todas las pginas web.
4.2.2 Componentes
Un componente es un elemento que posee unas caractersticas definidas, las
cuales sirven para el cumplimiento de un objetivo para el que fue creado.
Los componentes a usarse deben ser definidos en el diseo estructural, algunos
son comunes pero la gran mayora son nicos para cada pagina. Al observar
cuales se necesitan, tambin se debe tener en cuenta como van a configurarse, es
decir como se van a manejar las validaciones y cuales se van a hacer.
Al definir los componentes desde el comienzo se tiene la ventaja de que se tendr
estipulado lo que se necesita para el desarrollo de las pantallas, as no se incluirn
componentes que no aporten, porque todos estarn cumpliendo con un objetivo.
En el documento de Descripcin de Pantallas y Navegabilidad se encuentra un
ejemplo de cmo se definen las validaciones y los componentes necesarios para
el caso de prueba.
Etiqueta
5. Otros problemas
A continuacin se presentaran algunos problemas que van mas all del alcance
del proyecto pero que son importantes en el desarrollo de aplicaciones en J2EE.
5.1 Seguridad
En todos los desarrollos de software es de gran importancia la seguridad que
deben tener estos frente a intrusos. La seguridad des software se puede asociar
con la seguridad de informacin que bsicamente se refiere a la proteccin de
sistema de informacin contra accesos sin autorizacin o la modificacin de
informacin.
Por ser los sistemas un desarrollo humano es muy probable que este quede con
errores que no se identifiquen porque no afectan el funcionamiento normal para el
que fueron creados, sin embargo siguen siendo errores y son estos los que se
buscan por un atacante para generar problemas informticos en los sistemas;
Debido esto es necesario determinar una seguridad al sistema tratando de mitigar
estos ataques.
Existen muchas maneras de realizar seguridad en Software, entre ellos
encontramos otro software probado y que se puede adquirir en el mercado que
haga esta tarea o mdulos creados por el programador del sistema que solucionen
dicho problema.
Es importante, e independiente de la manera como se valla a realizar la seguridad,
que antes que todo se debe conocer los riesgos de seguridad que tiene el sistema
en su contexto, una tarea del programador; Determinados estos riesgos, se debe
proceder a identificar medidas de seguridad apropiadas que busquen solucionar
de alguna manera los riesgos planteados, todo esto con el fin de buscar la mejor
estrategia de seguridad para el sistema.
5.2 Reportes
Por la filosofa y arquitectura de las aplicaciones J2EE los reportes se han
convertido de gran utilidad en este tipo de desarrollos; crear reportes de manera
fcil, rpida, y til, es de gran aceptacin para los clientes y usuarios finales y con
la ventaja que desde un browser se puede acceder a tan importante informacin.
En el mercado existen diferentes software que ayudan a el diseo y construccin
de reportes, entre ellos Jasper Report16que lo caracteriza por ser open source y
ofrecer soporte, servicios y entrenamiento de manera gratuita.
16
5.3 Performance
Software performance hace referencia a la capacidad de reducir el coste y
fiabilidad de los sistemas, evitar defectos en las aplicaciones, detectar cuellos de
botellas y mitigarlos, detectar y anticipar la cada de servicios entre otras acciones
que busca este deseable estado del software.
Hay muchas compaas que ofrecen servicios de aseguramiento de esta
necesaria caracterstica del software, claro a un costo, sin embargo si se realiza
un correcto proceso de Ingeniera de Software la probabilidad de que el sistema
tenga un buen rendimiento es mayor.
17