Metodología para el diseño y desarrollo de interfaces de...

29
Framework unificado para desarrollo de interfaces J2EE Metodología para el diseño y desarrollo de Interfaces de Usuario Versión 1.1 Metodología para el diseño y desarrollo de interfaces de usuario Versión <1.1> Historia de Revisión Fecha Versión Descripción Responsable 20/06/2005 <0.1> Creación. Alejandro Báez Cristian Castañeda Diego Castañeda 3/07/2005 <1.0> Se especifican con mayor detalle las etapas de la metodología y se analizan nuevos aspectos de las interfaces gráficas Alejandro Báez Cristian Castañeda Diego Castañeda 25/07/2005 <1.1> Se añadió el diagrama para modelamiento de procesos. Alejandro Báez Cristian Castañeda Diego Castañeda INVESTIGADORES: ALEJANDRO BAEZ CRISTIAN CASTAÑEDA DIEGO CASTAÑEDA DIRECTOR: JAVIER SÁNCHEZ

Transcript of Metodología para el diseño y desarrollo de interfaces de...

Page 1: Metodología para el diseño y desarrollo de interfaces de …pegasus.javeriana.edu.co/~fwj2ee/descargas/metodologia(v1.1).pdf · 2.4 Diseño de la lógica del negocio.....14 2.4.1

Framework unificado para desarrollo de interfaces J2EE

Metodología para el diseño y desarrollo de Interfaces de Usuario

Versión 1.1

Metodología para el

diseño y desarrollo de interfaces de usuario

Versión <1.1>

Historia de Revisión Fecha Versión Descripción Responsable

20/06/2005 <0.1> Creación. Alejandro Báez

Cristian Castañeda

Diego Castañeda

3/07/2005 <1.0> Se especifican con mayor detalle las etapas de la metodología y se analizan nuevos aspectos de las interfaces gráficas

Alejandro Báez

Cristian Castañeda

Diego Castañeda

25/07/2005 <1.1> Se añadió el diagrama para modelamiento de procesos.

Alejandro Báez

Cristian Castañeda

Diego Castañeda

INVESTIGADORES:

ALEJANDRO BAEZ CRISTIAN CASTAÑEDA

DIEGO CASTAÑEDA

DIRECTOR:

JAVIER SÁNCHEZ

Page 2: Metodología para el diseño y desarrollo de interfaces de …pegasus.javeriana.edu.co/~fwj2ee/descargas/metodologia(v1.1).pdf · 2.4 Diseño de la lógica del negocio.....14 2.4.1

Framework unificado para desarrollo de interfaces J2EE

Metodología para el diseño y desarrollo de Interfaces de Usuario

Versión 1.1

TABLA DE CONTENIDO

TABLA DE CONTENIDO .......................................................................... 2 1. Introducción......................................................................................................... 4 2. Análisis, diseño, implementación y pruebas de una aplicación en J2EE ............ 5 2.1 Modelo de negocio ........................................................................................ 5 2.2 Análisis de requerimientos............................................................................. 8 2.2.1 Documento de requerimientos ................................................................ 9 2.2.1.1 Definición 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 Definición de actores ...................................................................... 11 2.2.2.2 Definición de casos de uso............................................................. 11 2.2.2.3 Diagrama de casos de uso ............................................................. 12

2.3 Diseño del sistema ...................................................................................... 13 2.4 Diseño de la lógica del negocio ................................................................... 14 2.4.1 Modelo entidad relación ........................................................................ 14 2.4.2 Modelo de clases persistentes: ............................................................. 15 2.4.3 Modelo de acceso a los datos (Patrón DAO) ........................................ 15 2.4.4 Definición de servicios........................................................................... 15

2.5 Diseño de las interfaces de usuario............................................................. 16 2.6 Implementación ........................................................................................... 16 2.7 Pruebas ....................................................................................................... 16

3. Relación con RUP ............................................................................................. 16 3.1 ¿Qué es RUP? ............................................................................................ 17 3.1.1 Fase de Inicio........................................................................................ 17 3.1.2 Fase de Elaboración ............................................................................. 18 3.1.3 Fase de Construcción ........................................................................... 18 3.1.4 Fase de Transición................................................................................ 18 3.1.5 Artefactos .............................................................................................. 18

Artefacto .............................................................................................. 19 3.2 RUP en nuestra metodología....................................................................... 19

4. Interfaz gráfica J2EE ......................................................................................... 22 4.1 Elementos funcionales de una interfaz grafica ............................................ 23 4.1.1 Validaciones.......................................................................................... 23 4.1.2 Información a presentar y recolectar ..................................................... 24 4.1.3 Relación entre datos ............................................................................. 24 4.1.4 Flujo de Páginas.................................................................................... 24

4.2 Elementos de diseño de una interfaz grafica ............................................... 25 4.2.1 Diseño estructural ................................................................................. 25 4.2.1.1 Encabezado.................................................................................... 26 4.2.1.2 Menú............................................................................................... 26

Page 3: Metodología para el diseño y desarrollo de interfaces de …pegasus.javeriana.edu.co/~fwj2ee/descargas/metodologia(v1.1).pdf · 2.4 Diseño de la lógica del negocio.....14 2.4.1

Framework unificado para desarrollo de interfaces J2EE

Metodología para el diseño y desarrollo de Interfaces de Usuario

Versión 1.1

4.2.1.3 Zona de Contenido ......................................................................... 26 4.2.1.3 Hojas de Estilo................................................................................ 26

4.2.2 Componentes........................................................................................ 26 4.2.3 Zona de Mensajes................................................................................. 27 4.2.4 Diagrama de navegabilidad................................................................... 27

5. Otros problemas................................................................................................ 28 5.1 Seguridad................................................................................................. 28 5.2 Reportes................................................................................................... 28 5.3 Performance............................................................................................. 29 5.4 Integración con otro Software .................................................................. 29

Page 4: Metodología para el diseño y desarrollo de interfaces de …pegasus.javeriana.edu.co/~fwj2ee/descargas/metodologia(v1.1).pdf · 2.4 Diseño de la lógica del negocio.....14 2.4.1

Framework unificado para desarrollo de interfaces J2EE

Metodología para el diseño y desarrollo de Interfaces de Usuario

Versión 1.1

1. Introducción

Uno de los principales problemas en el desarrollo de aplicaciones J2EE es el poco conocimiento que se tiene de cómo unir la lógica 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 definición de una metodología 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 metodología para el análisis, diseño, implementación y pruebas en desarrollos de software en J2EE, además de esto definir como diseñar 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.

Page 5: Metodología para el diseño y desarrollo de interfaces de …pegasus.javeriana.edu.co/~fwj2ee/descargas/metodologia(v1.1).pdf · 2.4 Diseño de la lógica del negocio.....14 2.4.1

Framework unificado para desarrollo de interfaces J2EE

Metodología para el diseño y desarrollo de Interfaces de Usuario

Versión 1.1

2. Análisis, diseño, implementación y pruebas de una aplicación en J2EE Desarrollando el caso de prueba de nuestro proyecto1, se han podido identificar una serie de etapas que se deben realizar para la construcción de aplicaciones J2EE. Estas etapas son un modelo general que hemos desarrollado a partir de nuestra experiencia, pero el orden y cumplimiento de las fases no es obligatorio, depende de las características especificas de la aplicación. A continuación se muestran las etapas que consideramos se deben realizar en la construcción de una aplicación J2EE:

• Modelo de negocio • Análisis de requerimientos • Diseño del sistema • Diseño de la lógica del negocio • Diseño de las interfaces de usuario • Implementación • Pruebas

2.1 Modelo de negocio En esta etapa, se deben definir cuales son los procesos y procedimientos que se tienen en el escenario para el cual se va a desarrollar la aplicación. Esto permite identificar los casos concretos que debe automatizar el sistema, la relación que debe existir entre la ingeniería de software y el negocio, con el fin de aclarar el enfoque que quiere tener el cliente con el software. Un procedimiento se puede entender como un método estructurado para ejecutar una tarea. Un proceso es un conjunto de procedimientos que se deben realizar para alcanzar un objetivo, el cual representa una función que debe cumplir para el escenario que se estudiando. Típicamente de un procedimiento se debe conocer:

• ID: identifica de manera única un procedimiento. • Nombre: identificador único del procedimiento. • Objetivo: Indica la finalidad que se busca alcanzar con el desarrollo del

procedimiento. • Predecesor: Indica un procedimiento que se debe realizar antes de

realizar el procedimiento. • Personas implicadas: Indica las personas encargadas en desarrollar el

procedimiento. 1 Remitirse a los documentos de requerimientos, casos de uso y arquitectura de la videotienda en la pagina http://pegasus.javeriana.edu.co/~fwj2ee/

Page 6: Metodología para el diseño y desarrollo de interfaces de …pegasus.javeriana.edu.co/~fwj2ee/descargas/metodologia(v1.1).pdf · 2.4 Diseño de la lógica del negocio.....14 2.4.1

Framework unificado para desarrollo de interfaces J2EE

Metodología para el diseño y desarrollo de Interfaces de Usuario

Versión 1.1

• Impacto: Indica los efectos producidos por la ejecución del procedimiento.

• Tiempo de realización: Indica el tiempo promedio de duración del procedimiento.

• Descripción: Indica de manera detallada todos los pasos que se deben cumplir para la realización del procedimiento.

• Resultados esperados: Indica los resultados que se deben obtener luego de la realización del procedimiento.

Para un proceso se deben conocer:

• Nombre: identificador único del proceso • Objetivo: Indica la finalidad que se busca alcanzar con el desarrollo del

proceso. • Alcance: Define de manera específica las áreas, departamentos,

procesos, etc. que van a ser afectadas por el proceso y sus resultados. • Importancia: Indica el nivel de prioridad del proceso respecto a otros. • Tiempo de realización: Indica el tiempo promedio de duración del

proceso. • Procesos con los que se relaciona: Indica los procesos que intervienen o

se ven afectados con el desarrollo del proceso. • Resultados esperados: Indica los resultados que se deben obtener luego

de la realización del proceso. • Procedimientos implicados: Indica el conjunto de procedimientos que

incluye el desarrollo de este proceso. Para la recolección de la información de procesos y procedimientos hemos definido el siguiente formato:

Numero del proceso:

Nombre del Proceso:

Objetivo:

Alcance:

Importancia:

Tiempo:

Procesos relacionados:

Resultados esperados:

Procedimientos

ID Nombre Objetivo Predecesor Personas Implicadas Impacto Tiempo Descripción Resultados

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 deberán realizar las etapas posteriores de la metodología. Con el fin de tener más criterios para determinar estos procesos que va a ser

Page 7: Metodología para el diseño y desarrollo de interfaces de …pegasus.javeriana.edu.co/~fwj2ee/descargas/metodologia(v1.1).pdf · 2.4 Diseño de la lógica del negocio.....14 2.4.1

Framework unificado para desarrollo de interfaces J2EE

Metodología para el diseño y desarrollo de Interfaces de Usuario

Versión 1.1

automatizados, es útil realizar un gráfico propuesto por JBOSS2 que represente el flujo de un proceso. Para construir este gráfico es importante tener en cuenta los siguientes conceptos:

• Nodo de Inicio: Representa el comienzo del flujo de un proceso y se identifica de la siguiente forma:

• Nodo de Fin: Es el nodo que indica el final de un proceso y se representa de la siguiente manera:

End

• Nodo de Decisión: Es el nodo que indica una o varias opciones para

continuar el flujo del proceso, basado en un criterio de decisión; se representa de la siguiente manera.

• Nodo de Procedimiento: Este nodo representa una o varias actividades a ser realizadas, en este punto del flujo del proceso.

• Nodo de División de tareas concurrentes: Este nodo divide el proceso en varios flujos, que se llevaran a cabo en paralelo; al final de los mismos se deben unificar usando este mismo nodo. Gráficamente se representa de la siguiente manera:

• Transiciones: Acción que implica al flujo un cambio de estado, se representa con una flecha y la acción a tomar.

Facturación

Un ejemplo que presenta JBOSS para la explicación es el manejo de una subasta en un sitio de Internet:

2 Process Modelling, JBOSS, http://www.jbpm.org/3/processmodelling.html

Tarea 1

Criterio 1

Page 8: Metodología para el diseño y desarrollo de interfaces de …pegasus.javeriana.edu.co/~fwj2ee/descargas/metodologia(v1.1).pdf · 2.4 Diseño de la lógica del negocio.....14 2.4.1

Framework unificado para desarrollo de interfaces J2EE

Metodología para el diseño y desarrollo de Interfaces de Usuario

Versión 1.1

2.2 Análisis de requerimientos El análisis de requerimientos es la etapa mas importante del desarrollo de software, para poder hablar de ella primero tenemos que definirla; Para esto utilizaremos la siguiente definición que hace Microsoft: “El análisis de requerimientos es la primera etapa de un proyecto software, en ella se tratan de definir las condiciones o capacidades necesarias para uno o varios usuarios con el fin de solucionar un problema o conseguir un objetivo.”3 Como se indica en esta definición, el objetivo de el análisis de requerimientos es determinar las condiciones o capacidades que debe cumplir el sistema que se quiere diseñar para satisfacer las necesidades de un grupo de usuarios. Para lograr esto utilizaremos la definición de requerimientos. Un requerimiento se puede entender como una descripción informal de las necesidades y deseos que tiene el usuario final respecto a un producto de software. Para lograr el levantamiento de estos requerimientos consideramos que se deben construir los siguientes artefactos: documento de requerimientos y el documento de casos de uso.

3 Para Mayor Información diríjase a: Http://www.microsoft.com/spanish/MSDN/estudiantes/ingsoft/ingenieria/analisis.asp

Page 9: Metodología para el diseño y desarrollo de interfaces de …pegasus.javeriana.edu.co/~fwj2ee/descargas/metodologia(v1.1).pdf · 2.4 Diseño de la lógica del negocio.....14 2.4.1

Framework unificado para desarrollo de interfaces J2EE

Metodología para el diseño y desarrollo de Interfaces de Usuario

Versión 1.1

2.2.1 Documento de requerimientos

En el documento de requerimientos se especifican las características y funcionalidades que debería cumplir el sistema, para satisfacer los procesos y procedimientos que se han determinado para ser automatizados. Este documento debe contener al menos la siguiente información4:

• Definición de los usuarios del sistema • Requerimientos Funcionales • Requerimientos no funcionales • Requerimientos de Interfaz • Glosario

Este análisis servirá como base para el diseño de la aplicación. 2.2.1.1 Definición de los usuarios del Sistema En esta sección del documento de requerimientos se busca identificar las características de los usuarios que interactuaran con el sistema. Para esto se utilizara la definición de roles. Un rol es un conjunto de funciones que debe cumplir el papel de una persona que interactúa con el sistema. Para la definición de un rol, se deben especificar los siguientes elementos:

• Nombre: identificador único de un grupo de usuarios que interactúan con el sistema.

• Funciones: Conjunto de tareas que cumplen este tipo de usuarios. • Privilegios: Conjunto de derechos que deben tener este tipo de usuarios

dentro del sistema. 2.2.1.2 Requerimientos Funcionales Los requerimientos funcionales son todas las funcionalidades que debe satisfacer el sistema para cumplir con las necesidades de los usuarios, a partir del análisis del negocio que se halla hecho. Para la definición de los requerimientos funcionales se deben especificar los siguientes elementos.

• Id: Identifica de manera única un requerimiento. • Nombre: identificador de un requerimiento. • Descripción: Indica una funcionalidad que debe cumplir el sistema. • Prioridad: indica la importancia de un requerimiento(Baja, Media, Alta).

4 Para mas información remitirse al estándar IEEE 830-1998 (SRS)

Page 10: Metodología para el diseño y desarrollo de interfaces de …pegasus.javeriana.edu.co/~fwj2ee/descargas/metodologia(v1.1).pdf · 2.4 Diseño de la lógica del negocio.....14 2.4.1

Framework unificado para desarrollo de interfaces J2EE

Metodología para el diseño y desarrollo de Interfaces de Usuario

Versión 1.1

2.2.1.3 Requerimientos No Funcionales Los requerimientos no funcionales son todos aquellas características que debe cumplir el sistema para responder de manera adecuada a todos los requerimientos Funcionales y a las características de funcionamiento que requiera el usuario. Para la definición de los requerimientos no funcionales se deben identificar lo siguientes elementos:

• Id: Identifica de manera única un requerimiento. • Nombre: identificador de un requerimiento. • Descripción: Indica una característica del sistema que ayudara a satisfacer

los requerimientos funcionales • Prioridad: indica la importancia de un requerimiento(Baja, Media, Alta).

2.2.1.3.1 Requerimientos de interfaz

Los requerimientos de interfaz son todos aquellos elementos que debe proveer el sistema para permitir la interacción entre el usuario y las funcionalidades que este tiene, con el fin de que en el proceso de diseño se tenga claridad de las interfaces que se deben crear y la relación que debe existir entre ellas. Para la definición de los requerimientos de interfaz se deben identificar lo siguientes elementos:

• Id: Identifica de manera única una interfaz gráfica • Descripción: Indica los elementos que debe tener la interfaz. • Requerimientos asociados: Indican las funcionalidades asociadas a la

interfaz gráfica. En este nivel, no se va definir de manera detallada la interfaz, solo se pretende tener una primera aproximación a los elementos que deben ser tenidos en cuenta en el desarrollo de estas.

2.2.2 Documento de casos de uso

Luego de desarrollar el documento de requerimientos, se debe construir el documento de casos de uso. Este documento consiste básicamente en la definición de un conjunto de casos de uso. Un caso de uso es:” narración que describe la secuencia de eventos de un actor (agente externo) que utiliza un sistema para completar un proceso”5.

5 UML y Patrones, Larman, 1999.

Page 11: Metodología para el diseño y desarrollo de interfaces de …pegasus.javeriana.edu.co/~fwj2ee/descargas/metodologia(v1.1).pdf · 2.4 Diseño de la lógica del negocio.....14 2.4.1

Framework unificado para desarrollo de interfaces J2EE

Metodología para el diseño y desarrollo de Interfaces de Usuario

Versión 1.1

La definición 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 información:

• Definición de actores • Definición de casos de uso • Diagrama de casos de uso

2.2.2.1 Definición de actores En esta sección del documento de casos de uso, se especificaran el tipo de personas que de alguna manera interactúan en alguno de los procesos del sistema, estos actores estimulan al sistema con eventos de entrada o la recepción de algún resultado que este produzca. Para la definición de los actores se deben identificar los siguientes elementos:

• Nombre: Identifica de manera única un tipo de actor. • Papel: Indica el tipo de estimulación que ejerce el actor sobre el sistema.

2.2.2.2 Definición de casos de uso En esta sección del documento de casos de uso, se definen de manera formal todos los casos de uso en los cuales se ejecutan cada uno de los requerimientos funcionales que se especificaron en el documento de requerimientos (véase 2.2.1) Para la definición de cada caso de uso se deben tener en cuenta al menos los siguiente elementos:

• Nombre: Identifica de manera única un caso de uso. • Actores involucrados: Indica los actores que de alguna manera participan

en el desarrollo del caso de uso. • Propósito: Indica la finalidad que se busca con el caso de uso. • Resumen: Breve descripción de los eventos que se realizan en el caso de

uso. • Tipo: Indica si la implementación del caso de uso es opcional u obligatoria. • Importancia: Indica el nivel de prioridad del caso de uso(Baja, Media, Alta). • Curso normal y alterno de los eventos: Indica la secuencia de eventos que

suceden en la realización del caso de uso, especificando un curso normal y alterno, dependiendo si se presenta o no algún evento inesperado que afecte el desarrollo del caso de uso.

• Requerimientos que satisface: Hace una referencia a los identificadores de los requerimientos que satisface el caso uso.

Page 12: Metodología para el diseño y desarrollo de interfaces de …pegasus.javeriana.edu.co/~fwj2ee/descargas/metodologia(v1.1).pdf · 2.4 Diseño de la lógica del negocio.....14 2.4.1

Framework unificado para desarrollo de interfaces J2EE

Metodología para el diseño y desarrollo de Interfaces de Usuario

Versión 1.1

2.2.2.3 Diagrama de casos de uso En esta sección del documento de casos de uso, se presenta el diagrama de casos de uso. Un diagrama de casos de uso “Explica gráficamente un conjunto de casos de uso de un sistema, los actores y la relación entre estos y los casos de uso”.6 Para mayor información para la realización de estos diagramas a la especificación de UML7.

6 UML y Patrones, Larman, 1999. 7 UML (Unified Model Language), http://www.uml.org/

Page 13: Metodología para el diseño y desarrollo de interfaces de …pegasus.javeriana.edu.co/~fwj2ee/descargas/metodologia(v1.1).pdf · 2.4 Diseño de la lógica del negocio.....14 2.4.1

Framework unificado para desarrollo de interfaces J2EE

Metodología para el diseño y desarrollo de Interfaces de Usuario

Versión 1.1

2.3 Diseño del sistema En el diseño del sistema se pretende definir la arquitectura que utilizara la aplicación, con el desarrollo del caso de prueba, hemos creído que es conveniente utilizar una arquitectura multicapas, donde se tendrán al menos las siguientes capas:

• Interfaz (Web): Se encarga de la presentación de la aplicación al usuario. • Servicios (negocio y Web): Se encarga de definir un conjunto de

funcionalidades para que la capa de interfaz se las presente al usuario. • Manejador de persistencia: Se encarga de establecer un puente para que la

capa de servicios acceda a la información que reside en la base de datos. • Base de datos: Se encarga de mantener de manera persistente la

información del sistema. Este tipo de arquitectura se puede considerar genérico para el desarrollo de aplicaciones J2EE; en nuestro caso hemos decidido utilizar los siguientes frameworks:

• Interfaz: Java Server Faces (JSF), Tapestry • Servicios: JBoss y Tomcat • Manejador de persistencia: Hibernate • Base de datos: Oracle

Gráficamente la arquitectura es: La herramienta que se desarrollara, servirá para la creación de aplicaciones con la arquitectura anteriormente descrita.

Inter

net

Tomcat

JBOSS

HIBERNATE

ORACLE

Page 14: Metodología para el diseño y desarrollo de interfaces de …pegasus.javeriana.edu.co/~fwj2ee/descargas/metodologia(v1.1).pdf · 2.4 Diseño de la lógica del negocio.....14 2.4.1

Framework unificado para desarrollo de interfaces J2EE

Metodología para el diseño y desarrollo de Interfaces de Usuario

Versión 1.1

2.4 Diseño de la lógica del negocio En esta etapa se deberá diseñar un modelo apropiado para satisfacer los requerimientos y casos de uso que se especificaron en etapas anteriores utilizando la arquitectura que se ha definido. Realizando nuestro caso de prueba, hemos podido identificar los siguientes items que al menos se deben realizar8:

• Modelo entidad relación • Modelo de clases persistentes • Modelo de acceso a los datos (Patrón DAO9) • Definición de servicios

2.4.1 Modelo entidad relación

El modelo entidad relación es uno de los modelos conceptuales mas utilizados para el diseño de bases de datos, el propósito de este modelo es simplificar el diseño de bases de datos a partir de descripciones textuales de los requerimientos10. Para la construcción de este modelo se utilizan fundamentalmente los siguientes elementos:

• Entidad: Abstracción que representa un objeto de la vida real. • Atributo: Característica que representa un aspecto común de la entidad • Relación: Representa una interacción entre entidades.

Luego del proceso de análisis del sistema, se deben establecer un conjunto de entidades, con sus atributos, que permitan representar todos los objetos que están involucrados en el problema a solucionar. Con este conjunto de entidades y con el documento de casos de uso, se deberán establecer las relaciones entre estas. El objetivo del modelo de entidad relación es representar gráficamente estas entidades y las relaciones que existen entre ellas, así como definir la estructura que debe existir en la base de datos11.

8 El orden de realización de estos productos no es estricto. Se puede utilizar otros diagramas útiles para el diseño, para mayor información remítase a la especificación de UML. 9 Data Access Object, patrón que sirve para encapsular y administrar el acceso a los datos. 10 Modelo entidad relación, http://alvherre.atentus.cl/modBasico/node3.html

11 Para mayor información: SILBERSCHATZ, A., et al. Fundamentos de Bases de Datos. Cuarta Edición. McGraw Hill. 2002

Page 15: Metodología para el diseño y desarrollo de interfaces de …pegasus.javeriana.edu.co/~fwj2ee/descargas/metodologia(v1.1).pdf · 2.4 Diseño de la lógica del negocio.....14 2.4.1

Framework unificado para desarrollo de interfaces J2EE

Metodología para el diseño y desarrollo de Interfaces de Usuario

Versión 1.1

2.4.2 Modelo de clases persistentes:

Este modelo sirve para hacer un mapeo entre la información que se encuentra almacenada en la base de datos y los objetos que se tendrán dentro de la aplicación. Es importante aclarar que en este modelo no representara directamente todas las funcionalidades que debe tener el sistema, sino que servirá como soporte al patrón DAO. En términos de nuestro contexto, cada una de estas clases es un POJO12.

2.4.3 Modelo de acceso a los datos (Patrón DAO)

Este modelo sirve para separar el acceso a los datos con la lógica del negocio, esto permite que se defina un nivel mas que permita la protección a la integridad y consistencia de los datos. Consiste en definir un conjunto de clases que tendrán un grupo de métodos que se encargan de todas las operaciones sobre los POJO´s que se definieron en el modelo de clases persistentes. Típicamente se tendrán que ofrecer operaciones CRUD13 y búsquedas.

2.4.4 Definición de servicios

En esta fase se deberán definir un conjunto de servicios que se deben proveer para satisfacer a los requerimientos y funcionalidades que fueron definidos anteriormente para la aplicación, es decir, se encargaran de implementar la lógica del negocio. Estos servicios serán utilizados por el servidor Web para establecer un puente entre la lógica del negocio y la presentación. Para nuestro contexto, consideramos que para un servicio se deben definir:

• Precondición: Es una condición que ha de satisfacerse justo antes del comienzo de la ejecución de un servicio.

• Poscondición: Indica cual debe ser el estado de los datos después de haber realizado el servicio.

• Definición: Da una descripción de lo que debe hacer el servicio • Prototipo del método: Muestra el prototipo de cómo se implementara el

servicio. Con la definición de los servicios, se puede tener claro como van a ser implementados los requerimientos funcionales del sistema; esta información será vital para el proceso de integración de la aplicación.

12 Persistent Old Java Object, objeto al cual solo se le definen los atributos, los set y get para accesarlos. 13 Create, Read, Update, Delete. Operaciones que básicamente se hacen sobre los datos

Page 16: Metodología para el diseño y desarrollo de interfaces de …pegasus.javeriana.edu.co/~fwj2ee/descargas/metodologia(v1.1).pdf · 2.4 Diseño de la lógica del negocio.....14 2.4.1

Framework unificado para desarrollo de interfaces J2EE

Metodología para el diseño y desarrollo de Interfaces de Usuario

Versión 1.1

2.5 Diseño de las interfaces de usuario Una de las etapas a las que menos tiempo se les invierte es al diseño de las interfaces graficas, por tal razón en el momento de implementarlas no se tiene claro que es lo que se debe hacer, generando errores e inconsistencias lo que hace que su desarrollo sea lento y complejo. Por eso es una buena práctica, establecer en los cronogramas un tiempo para el diseño de estas, para evitar que estos problemas se presenten. El problema del diseño de las interfaces gráficas se analizara al detalle en la sección 4 de este documento. 2.6 Implementación

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 implementación se recomienda tener en cuanta los siguientes aspectos:

• Manejo de versiones • Definición de iteraciones • Documentación

Estos aspectos se van tratar con mas detalle en la sección 3, donde se establece la relación entre nuestra metodología y RUP. 2.7 Pruebas La ultima etapa de nuestra metodología, 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 definición de las pruebas y la administración podrán ser manejadas con RUP, ver la sección 3.

3. Relación con RUP En la actualidad una de las metodologías mas utilizadas para desarrollos de software es RUP (Rational Unified Process), por eso es de vital importancia para la especificación de nuestra metodología, establecer como podemos entender nuestras etapas según el ciclo de vida que se define en RUP. Para poder establecer esta relación, primero debemos definir que es RUP.

Page 17: Metodología para el diseño y desarrollo de interfaces de …pegasus.javeriana.edu.co/~fwj2ee/descargas/metodologia(v1.1).pdf · 2.4 Diseño de la lógica del negocio.....14 2.4.1

Framework unificado para desarrollo de interfaces J2EE

Metodología para el diseño y desarrollo de Interfaces de Usuario

Versión 1.1

3.1 ¿Qué es RUP? RUP es un proceso de Ingeniería 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 • Elaboración • Construcción • Transición

En cada una de estas etapas se propone la ejecución de una serie de disciplinas, que se deben ejecutar de forma iterativa para cada una de las fases. Estas disciplinas son:

• Modelamiento del negocio: Busca identificar el negocio, para el cual se realizara el proyecto.

• Levantamiento de requerimientos: Identifica los procesos que deben ser automatizados, la manera como se deben proveer estos y los objetivos del proyecto.

• Análisis y Diseño: Se busca determinar una solución para alcanzar los objetivos del proyecto.

• Implementación: Disciplina donde se busca llevar a la realidad la solución que se definió en el análisis y diseño.

• Pruebas: Busca comprobar la correcta implementación de la solución dada.

Cada una de estas disciplinas se debe realizar en mayor o menor medida dependiendo de la fase del proyecto en que se encuentre; A continuación especificaremos cuales son los objetivos de estas fases.

3.1.1 Fase de Inicio

La fase de Inicio tiene los siguientes objetivos:

• Establecer el objetivo y el alcance del proyecto de Software. • Determinar requerimientos y casos de uso. • Dar una primera aproximación de la arquitectura en la cual se desarrollará el

proyecto de Software. • Estimar los costos y el cronograma del proyecto de Software • Estimar los riesgos potenciales del proyecto de Software. • Preparar un ambiente de soporte para el proyecto.

Page 18: Metodología para el diseño y desarrollo de interfaces de …pegasus.javeriana.edu.co/~fwj2ee/descargas/metodologia(v1.1).pdf · 2.4 Diseño de la lógica del negocio.....14 2.4.1

Framework unificado para desarrollo de interfaces J2EE

Metodología para el diseño y desarrollo de Interfaces de Usuario

Versión 1.1

3.1.2 Fase de Elaboración

La fase de Elaboración tiene los siguientes objetivos:

• Asegurar que la arquitectura escogida cumpla los requerimientos y planes previamente establecidos.

• Definir los riesgos que la arquitectura escogida pueda traer al proyecto. • Establecer una línea de base de la arquitectura para mitigar los riesgos en los

distintos escenarios y que soporte los requerimientos especificadas a un costo y tiempo razonable .

• Construir un prototipo que permita visualizar al usuario final una posible solución del problema con el fin de mitigar riesgos en el futuro y además levantar nuevos requerimientos del sistema.

3.1.3 Fase de Construcción

La fase de construcción tiene los siguientes objetivos:

• Minimizar los costos y optimizar los recursos del proyecto. • Alcanzar los niveles de calidad adecuados. • Utilizar un control de versiones que sean practicas y rápidas. • Completar el análisis, diseño y desarrollo y probar todos los requerimientos

funcionales. • Iterativamente e incrementalmente desarrollar la totalidad del producto. • Permitir la modularidad del producto con el fin de tener equipos de software

que desarrolle en paralelo.

3.1.4 Fase de Transición

La fase de transición tiene los siguientes objetivos:

• Prueba para validar el nuevo sistema ante las expectativas del usuario final. • Capacitación a usuario y administradores del sistema • Valorar si la línea base del desarrollo cumple con la visión del proyecto y los

criterios de aceptación 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 términos generales consideramos que los siguientes artefactos son los mas importantes que define este proceso:

Page 19: Metodología para el diseño y desarrollo de interfaces de …pegasus.javeriana.edu.co/~fwj2ee/descargas/metodologia(v1.1).pdf · 2.4 Diseño de la lógica del negocio.....14 2.4.1

Framework unificado para desarrollo de interfaces J2EE

Metodología para el diseño y desarrollo de Interfaces de Usuario

Versión 1.1

Artefacto Descripción Disciplina

Modelo de Casos de Uso del negocio

Relaciona los casos de uso del negocio con sus actores y

relaciones.

Modelo del Negocio

Modelo de Objetos del Negocio

Relaciona en un modelo la organización las entidades y trabajadores del negocio.

Modelo del Negocio

Especificación de requerimientos

Identifica las necesidades que debe satisfacer el sistema.

Levantamiento de requerimientos

Casos de Uso Identifica un escenario, los eventos y actores para la realización de un

proceso del negocio.

Levantamiento de requerimientos

Modelo de Casos de Uso

Relaciona gráficamente los casos de uso.

Levantamiento de requerimientos

Especificación de arquitectura

Define la arquitectura sobre la que se desarrollara el software

Análisis y Diseño

Modelo de datos Define el modelo sobre el cual se creara la base de datos.

Análisis y Diseño

Diseño de clases Define la forma en que se implementara la solución.

Análisis y Diseño

Diseño de paquetes Identifica los paquetes con los que se implementaran la solución.

Análisis y Diseño

Pantallas Define las interfaces de usuario. Análisis y Diseño Mapa de Navegación Indica la navegación entre las

pantallas de usuario. Análisis y Diseño

Plan de Pruebas Define las pruebas que se le realizara al software

Implementación

Código Fuente Implementación de la solución. Implementación Resultado de

pruebas Documenta los resultados de las

pruebas. Pruebas

Esta sección es una breve introducción al proceso de RUP, fue extraída de el documento About the RUP® Configuration for Java™ Developers14.

3.2 RUP en nuestra metodología

Como pudimos darnos cuenta en la anterior sección RUP ofrece una metodología de desarrollo, donde se pueden identificar una serie de etapas, que aunque independientes se relacionan de manera muy fuerte por su proceso iterativo, esta relación es muy importante para que se pueda asegurar la calidad en el desarrollo del software. En nuestra metodología hemos podido identificar una serie de

14 RUP® Configuration for Java™ Developers, Version 2002.05.20, Rational Software Corporation

Page 20: Metodología para el diseño y desarrollo de interfaces de …pegasus.javeriana.edu.co/~fwj2ee/descargas/metodologia(v1.1).pdf · 2.4 Diseño de la lógica del negocio.....14 2.4.1

Framework unificado para desarrollo de interfaces J2EE

Metodología para el diseño y desarrollo de Interfaces de Usuario

Versión 1.1

disciplinas, que aunque no son exactamente iguales a las que propone RUP, buscan cumplir con ese criterio de calidad.

A continuación, asociaremos nuestras disciplinas con las cuatro etapas que propone RUP:

En el grafico nos podemos dar cuenta, que nuestras disciplinas están 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 versión anterior, mejorándola 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 metodología da para cada caso. A continuación, vamos a relacionar nuestros artefactos con las diferentes disciplinas que propone RUP:

Artefactos Disciplinas RUP

Modelo del Negocio Modelo del Negocio Documento de Requerimientos Levantamiento de requerimientos Documento de Casos de Uso Levantamiento de requerimientos

Modelo entidad relación Análisis y Diseño Modelo de clases persistentes Análisis y Diseño Modelo de acceso a los Datos Análisis y Diseño

Page 21: Metodología para el diseño y desarrollo de interfaces de …pegasus.javeriana.edu.co/~fwj2ee/descargas/metodologia(v1.1).pdf · 2.4 Diseño de la lógica del negocio.....14 2.4.1

Framework unificado para desarrollo de interfaces J2EE

Metodología para el diseño y desarrollo de Interfaces de Usuario

Versión 1.1

Documento de Interfaces de usuario Análisis y Diseño Implementación(Código Fuente) Implementación

Pruebas Pruebas

De esta manera podemos ver como asociar la metodología propuesta con el proceso que realiza RUP, logrando seguir este pero con los pasos que en la metodología se proponen.

Page 22: Metodología para el diseño y desarrollo de interfaces de …pegasus.javeriana.edu.co/~fwj2ee/descargas/metodologia(v1.1).pdf · 2.4 Diseño de la lógica del negocio.....14 2.4.1

Framework unificado para desarrollo de interfaces J2EE

Metodología para el diseño y desarrollo de Interfaces de Usuario

Versión 1.1

4. Interfaz gráfica J2EE

En nuestra metodología encontramos la definición detallada de las interfaces gráficas, una nueva etapa en los desarrollos comunes de software. En esta sección se encuentran los pasos a seguir en el diseño y construcción de las mismas. Las pantallas deben permitir una forma de interacción entre el usuario y todas las funcionalidades que ofrece el sistema, cada una de ellas debe al menos presentar una funcionalidad para que su creación este justificada. Los elementos que se deben definir para cada pantalla son:

• Información a presentar o recolectar • Validaciones • Relación entre datos • Flujo de paginas

Los elementos comunes entre pantallas que se podrían definir son:

• Encabezado (Opcional) • Menú (Opcional) • Zona de Contenido • Hojas de estilo (CSS)15 • Zona de mensajes (error, éxito)

Una practica recomendable para verificar la completitud entre las paginas definidas y las funcionalidades del sistema es llenar una matriz como la que se muestra a continuación:

Pagina 1 Pagina 2 .... Pagina m

Funcionalidad 1 X Funcionalidad 2 X

.... X Funcionalidad n X

El marcar la intersección entre una pagina y una funcionalidad, indica que la pagina implementa esa funcionalidad.

15 Las hojas de estilo en cascada permiten estandarizar la forma de presentación de los componentes en una

pagina. Para mas información http://www.csszengarden.com/

Page 23: Metodología para el diseño y desarrollo de interfaces de …pegasus.javeriana.edu.co/~fwj2ee/descargas/metodologia(v1.1).pdf · 2.4 Diseño de la lógica del negocio.....14 2.4.1

Framework unificado para desarrollo de interfaces J2EE

Metodología para el diseño y desarrollo de Interfaces de Usuario

Versión 1.1

En esta sección se describe en detalle componentes y características de las interfaces gráficas en desarrollos J2EE. Para llevar esto acabo dividimos los elementos de una interfaz gráfica en dos: los que hacen referencia a su funcionalidad y los que corresponden al diseño de la interfaz. 4.1 Elementos funcionales de una interfaz grafica

Los elementos funcionales de una interfaz gráfica son los que definen el comportamiento de la misma, es decir aquellos cuyo objetivo es asegurar el funcionamiento adecuado y coherente de las pantallas del sistema, teniendo en cuenta los requerimientos que fueron planteados y que se necesita sean satisfechos. Para un correcto desempeño por parte de los mismos es necesario que trabajen conjuntamente, debido a que todos formarán el sistema y todos hacen que sea mas claro el funcionamiento del mismo. Entre los elementos a tener en cuenta encontramos:

4.1.1 Validaciones

Validación: Una validación 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 evalúa el dato respecto al tipo que se especifico que debía ser. Los tipo que se tendrán en cuenta son:

o Números (Enteros y decimales). o Cadena de Caracteres o Fechas.

• Longitud: Dependiendo de la longitud mínima o máxima que se requiera se evaluará si el dato cumple con esta característica.

• Obligatoriedad: Se valida si en algunos casos el usuario tiene que llenar

un campo para realizar una operación.

• Caracteres Especiales: Dependiendo si el usuario necesita que algún tipo de dato tenga o no caracteres especiales se debe verificar si cumple con el requisito.

• Valores máximos(mínimos): En algunas aplicaciones los datos deben

estar entre unos limites establecido según los requerimientos del sistema. Esto también debe ser evaluado

Page 24: Metodología para el diseño y desarrollo de interfaces de …pegasus.javeriana.edu.co/~fwj2ee/descargas/metodologia(v1.1).pdf · 2.4 Diseño de la lógica del negocio.....14 2.4.1

Framework unificado para desarrollo de interfaces J2EE

Metodología para el diseño y desarrollo de Interfaces de Usuario

Versión 1.1

Las validaciones que se generen pueden ser agrupadas en código reutilizable(clase), que funcione para todas las pantallas que requieran las mismas.

4.1.2 Información a presentar y recolectar

La información a presentar dependerá del rol del usuario del sistema ya que cada uno tiene un nivel de acceso limitado, lo anterior para proteger la confidencialidad de los datos. Así mismo los datos que se obtienen tienen que estar acordes con la petición y ser consistentes en íntegros respecto a los almacenados en la base de datos. Los datos a recolectar deben tener coherencia respecto a lo que se necesita, usando las validaciones para asegurar que sean correctos. Se debe definir previamente que se va a mostrar y recolectar, donde y de que forma para cada una de las pantallas que se van desarrollar. Si desea ver un ejemplo dirigirse a el documento de descripción de pantallas: Caso de prueba videotienda.

4.1.3 Relación entre datos

Es importante que el contenido de las interfaces a generar este previamente representado, ya que son las bases de la construcción y sin estas podrían presentarse información no valida, incompleta, desordenada o fuera de las expectativas del cliente.

Hemos definido entonces un lenguaje para modelar la relación existente entre los datos, con el fin de especificar la descripción de cada una de las interfaces dependiendo de los datos que se necesitan y se quieren mostrara ante los usuario finales. Para mayor información dirigirse al documento “Patrones para la descripción formal de interfaces de usuario”

4.1.4 Flujo de Páginas

El flujo de paginas Para el flujo que se lleva a cabo en cada acción vamos a utilizar los diagramas de secuencia propuestos por UML, con la siguiente modificación: Los diagramas de secuencias comunes muestran el curso normal de un caso de uso, y su transito por cada una de las clases. En nuestro caso, en vez de clases las cajas representarán pantallas, por donde transitará el sistema para responder a un evento. Diagrama de Secuencia Modificado:

Page 25: Metodología para el diseño y desarrollo de interfaces de …pegasus.javeriana.edu.co/~fwj2ee/descargas/metodologia(v1.1).pdf · 2.4 Diseño de la lógica del negocio.....14 2.4.1

Framework unificado para desarrollo de interfaces J2EE

Metodología para el diseño y desarrollo de Interfaces de Usuario

Versión 1.1

El diagrama de secuencia describirá el curso particular de eventos para cada uno de los casos de uso, mostrando la navegación a través de las pantallas definidas, incluyendo los autores y los eventos generados en dichas operaciones En el diagrama de secuencia se tiene los elementos: Pantallas: Dice a que pantalla se hace referencia. Actor: Persona que interactúa con la pantalla. Acción: Describe un evento. Si desea ver un ejemplo diríjase al documento de descripción de pantallas. 4.2 Elementos de diseño de una interfaz grafica

Los elementos de diseño de una interfaz grafica, son aquellos que hacen referencia a la presentación estética(distribución, colores, fuentes, etc) de cada una de las pantallas. Este diseño es necesario para enfocar a la persona encargada de la construcción de las paginas en el resultado que se desea alcanzar dejándole poca libertad, esto evitará contratiempos y mal entendidos.

4.2.1 Diseño estructural

Una buena practica para el desarrollo de interfaces de gráficas en J2EE, es hacer un diseño estructural que consiste en realizar un esquema previo de cómo se van a visualizar cada una de las pantallas determinando componentes comunes y singulares en cada de ellas. Una de las ventajas de realizar este diseño es la identificación de elementos comunes que pueden ser utilizados en todas las pantallas, lo cual que mejora el tiempo de desarrollo.

Pantalla X

Operador

Page 26: Metodología para el diseño y desarrollo de interfaces de …pegasus.javeriana.edu.co/~fwj2ee/descargas/metodologia(v1.1).pdf · 2.4 Diseño de la lógica del negocio.....14 2.4.1

Framework unificado para desarrollo de interfaces J2EE

Metodología para el diseño y desarrollo de Interfaces de Usuario

Versión 1.1

Otra ventajas es que se le da uniformidad al sistema haciendo que este sea mas agradable estéticamente. Entre los elementos que se deben tener en cuenta en el diseño 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 aplicación, 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 rápida, se puede ubicar en varios lugares y debe ser accesible desde cualquier página. Es una buena practica de programación web el utilizar menús, 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 operación requerida por el usuario, en esta zona se podrán visualizar el resto de paginas de la aplicación y a las que se pueda dirigir según el tipo de rol de usuario que este en interacción. 4.2.1.3 Hojas de Estilo Las hojas de estilo permiten que el diseño sea flexible, debido a que recogen un conjunto de características comunes a una serie de páginas web; así cuando convenga, cambiando una característica de la hoja de estilo automáticamente cambiará en todas las páginas web.

4.2.2 Componentes

Un componente es un elemento que posee unas características definidas, las cuales sirven para el cumplimiento de un objetivo para el que fue creado. Los componentes a usarse deben ser definidos en el diseño estructural, algunos son comunes pero la gran mayoría son únicos para cada pagina. Al observar cuales se necesitan, también 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 incluirán componentes que no aporten, porque todos estarán cumpliendo con un objetivo. En el documento de Descripción de Pantallas y Navegabilidad se encuentra un ejemplo de cómo se definen las validaciones y los componentes necesarios para el caso de prueba.

Page 27: Metodología para el diseño y desarrollo de interfaces de …pegasus.javeriana.edu.co/~fwj2ee/descargas/metodologia(v1.1).pdf · 2.4 Diseño de la lógica del negocio.....14 2.4.1

Framework unificado para desarrollo de interfaces J2EE

Metodología para el diseño y desarrollo de Interfaces de Usuario

Versión 1.1

4.2.3 Zona de Mensajes

Esta zona se encarga de mostrar diferentes mensajes los cuales pueden se tipo: informativos, de error o éxito. La implementación de esta zona puede ser de varios maneras descritas a continuación:

• Panel de Mensajes: Consisten en un panel que aparece en consecuencia a un evento, mostrando el mensaje asociado que explica la razón de este; Este panel es independiente de la pagina involucrada y tiene un botón para continuar en la aplicación en el siguiente paso del flujo.

• Estilo de campos: Consisten en resaltar el campo don de hubo errores con el fin que usuario lo identifique para su posterior corrección , adicionalmente se usa un comentario en frente de este campo en colores llamativos que especifica la razón del error.

• Mensajes en la parte superior o inferior: Consiste en ubicar el mensaje en la parte superior o inferior de la pagina, donde se especifique que lo genero, ya sea la razón de un error o la confirmación exitoso de una operación.

Vale aclarar que cualquiera de los diseños anteriores es valido y adicionalmente que se pueden hacer mezclas entre estos utilizando dos o los tres al mismo tiempo.

4.2.4 Diagrama de navegabilidad

Este diagrama es una herramienta útil para identificar la navegabilidad que existe entre las pantallas especificadas para la aplicación. Se construye a partir del direccionamiento que se describe para cada una de las pantallas que se definieron en la etapa anterior. Para nuestro caso particular, este diagrama consta de 3 componentes fundamentales que son:

Representación de una pantalla Indica direccionamiento de una pantalla a otra

Indica el evento que genero el direccionamiento Luego de la construcción de este diagrama se habrá terminado el uso de la metodología y se deberá comenzar el proceso de implementación de la aplicación.

P1

Etiqueta

Page 28: Metodología para el diseño y desarrollo de interfaces de …pegasus.javeriana.edu.co/~fwj2ee/descargas/metodologia(v1.1).pdf · 2.4 Diseño de la lógica del negocio.....14 2.4.1

Framework unificado para desarrollo de interfaces J2EE

Metodología para el diseño y desarrollo de Interfaces de Usuario

Versión 1.1

5. Otros problemas

A continuación 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 información que básicamente se refiere a la protección de sistema de información contra accesos sin autorización o la modificación de información. 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 informáticos 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 módulos 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 filosofía y arquitectura de las aplicaciones J2EE los reportes se han convertido de gran utilidad en este tipo de desarrollos; crear reportes de manera fácil, rápida, y útil, es de gran aceptación para los clientes y usuarios finales y con la ventaja que desde un browser se puede acceder a tan importante información. En el mercado existen diferentes software que ayudan a el diseño y construcción de reportes, entre ellos Jasper Report16que lo caracteriza por ser open source y ofrecer soporte, servicios y entrenamiento de manera gratuita.

16 Jasper Reports open source: http://jasperreports.sourceforge.net/

Page 29: Metodología para el diseño y desarrollo de interfaces de …pegasus.javeriana.edu.co/~fwj2ee/descargas/metodologia(v1.1).pdf · 2.4 Diseño de la lógica del negocio.....14 2.4.1

Framework unificado para desarrollo de interfaces J2EE

Metodología para el diseño y desarrollo de Interfaces de Usuario

Versión 1.1

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 caída de servicios entre otras acciones que busca este deseable estado del software. Hay muchas compañías que ofrecen servicios de aseguramiento de esta necesaria característica del software, claro a un costo, sin embargo si se realiza un correcto proceso de Ingeniería de Software la probabilidad de que el sistema tenga un buen rendimiento es mayor.

5.4 Integración con otro Software

Las aplicaciones J2EE permiten integración con Software externo y diferente al generado con Java; el ejemplo mas común de esto es la utilización de Flash17 en las interfaces gráficas, que cada día atrae a mas programadores, por su capacidad única en diseño estético de la interfaz y la no muy compleja unión con Java. Esta claro que hay otros Software que se construyeron con propósitos específicos y que podemos utilizar estas ventajas en nuestros desarrollos de Software gracias a la flexibilidad de este tipo de arquitecturas.

17 Flash: Software desarrollado por la compañia Macromedia: http://www.macromedia.com/