informe de practicas-sistema de banca móvil para cooperativas

116
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE INGENIERIA DE MINAS GEOLOGIA Y CIVIL ESCUELA DE FORMACIÓN PROFESIONAL DE INGENIERIA DE SISTEMAS INFORME DE PRACTICA PRE PROFESIONAL Sistema de Banca Móvil para Cooperativas; para los casos de uso Registro de Parámetros, login, selección de socio, selección de cuenta, depósito, retiro ENTIDAD AUSPICIADORA : Red Peruana de Servicios Compartidos Kuskanet S.R.L. NOMBRE DEL EJECUTOR : CUBA ALARCON, Juan Mariano LUGAR Y FECHA : Ayacucho, junio del 2011 1

Upload: udjavier

Post on 12-Aug-2015

49 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Informe de practicas-Sistema de Banca Móvil para Cooperativas

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA

FACULTAD DE INGENIERIA DE MINAS GEOLOGIA Y CIVIL

ESCUELA DE FORMACIÓN PROFESIONAL DE INGENIERIA DE

SISTEMAS

INFORME DE PRACTICA PRE PROFESIONAL

Sistema de Banca Móvil para Cooperativas; para los casos de uso

Registro de Parámetros, login, selección de socio, selección de

cuenta, depósito, retiro

ENTIDAD AUSPICIADORA : Red Peruana de Servicios

Compartidos

Kuskanet S.R.L.

NOMBRE DEL EJECUTOR : CUBA ALARCON, Juan Mariano

LUGAR Y FECHA : Ayacucho, junio del 2011

AYACUCHO – PERU

1

Page 2: Informe de practicas-Sistema de Banca Móvil para Cooperativas

2011

2

Page 3: Informe de practicas-Sistema de Banca Móvil para Cooperativas

DEDICATORIA:

A todas las personas que día a día se aferran a la Ciencia con el fin de ayudar a los demás

i

Page 4: Informe de practicas-Sistema de Banca Móvil para Cooperativas

Agradecimientos:

Agradezco el presente trabajo a mis padres, hermano

por brindarme el apoyo incondicional en esta travesía

de la vida y a los profesores de

esta prestigiosa casa de estudios.

ii

Page 5: Informe de practicas-Sistema de Banca Móvil para Cooperativas

CONTENIDO

DEDICATORIA:.......................................................................................................................... i

Agradecimientos:...................................................................................................................ii

CONTENIDO................................................................................................... iii

RESUMEN.......................................................................................................vi

INTRODUCCION.............................................................................................vii

CAPITULO I

OBJETIVOS

1.1 OBJETIVO GENERAL...............................................................................................8

1.2 OBJETIVOS ESPECIFICOS......................................................................................8

CAPITULO II

MARCO TEORICO

2.1 METODOLOGIA ICONIX.........................................................................................9

2.1.1 MODELO DE DOMINIO.........................................................................................10

2.1.2 MODELO DE CASOS DE USO.............................................................................11

2.1.3 REVISION DE REQUISITOS.................................................................................13

2.1.4 ANALISIS DE ROBUSTEZ.....................................................................................15

2.1.5 REVISION PRELIMINAR DE DISEÑO.................................................................17

2.1.6 ARQUITECTURA TECNICA...................................................................................17

2.1.7 DIAGRAMA DE SECUENCIA................................................................................18

2.1.8 REVISION CRITICA DEL DISEÑO.......................................................................20

2.1.9 IMPLEMENTACION.................................................................................................21

2.1.10 REVISION DEL CODIGO Y ACTUALIZACION DEL MODELO......................21

2.1.11 PRUEBAS BASADAS EN DISEÑO.......................................................................21

iii

Page 6: Informe de practicas-Sistema de Banca Móvil para Cooperativas

2.2 TEORIA DE OBJETOS............................................................................................21

2.2.1 CLASE Y OBJETO....................................................................................................21

2.2.2 ENCAPSULAMIENTO, HERENCIA Y POLIMORFISMO...................................22

2.3 UML............................................................................................................................22

2.4 MODELO VISTA CONTROLADOR......................................................................23

2.5 JAVA 2 MICRO EDITION.......................................................................................24

2.5.1 CONFIGURACIONES..............................................................................................25

2.5.2 PERFILES..................................................................................................................26

2.5.3 KVM...........................................................................................................................26

2.6 SERVICIOS WEB.....................................................................................................27

2.6.1 XML............................................................................................................................27

2.6.2 SOAP.........................................................................................................................28

2.6.3 WSDL........................................................................................................................28

2.6.4 UDDI..........................................................................................................................29

2.7 BLUETOOTH............................................................................................................29

2.7.1 API JSR 82...............................................................................................................30

2.8 TECNOLOGIA..........................................................................................................30

2.8.1 ENTERPRISE ARCHITECT....................................................................................30

2.8.2 JAVA 2 MICRO DB..................................................................................................30

2.8.2.1 J2MLIB.......................................................................................................................31

2.8.2.2 KXML.........................................................................................................................31

2.9 SISTEMA OPERATIVO SYMBIAN........................................................................31

2.10 COOPERATIVA DE AHORRO Y CREDITO........................................................32

2.11 BANCA MOVIL........................................................................................................32

2.12 RED PERUANA DE SERVICIOS COMPARTIDOS KUSKANET......................33

2.13 RECOMENDACIONES PARA DISEÑAR Y PROGRAMAR CON J2ME..........33

CAPITULO III

RESSULTADOS

iv

Page 7: Informe de practicas-Sistema de Banca Móvil para Cooperativas

3.1 MODELO DE DOMINIO.........................................................................................35

3.2 MODELO DE CASOS DE USO.............................................................................40

3.3 DESCRIPCIÓN DE CASOS DE USO...................................................................44

3.4 REVISION DE REQUISITOS.................................................................................46

3.5 ANALISIS DE ROBUSTEZ.....................................................................................48

3.6 REVISION PRELIMINAR DE DISEÑO.................................................................50

3.7 ARQUITECTURA TECNICA...................................................................................53

3.8 DIAGRAMAS DE SECUENCIA.............................................................................56

3.9 REVISION CRITICA DEL DISEÑO.......................................................................60

RECOMENDACIONES....................................................................................66

BIBLIOGRAFIA...............................................................................................67

ANEXO 1.......................................................................................................69

v

Page 8: Informe de practicas-Sistema de Banca Móvil para Cooperativas

RESUMEN

Las actividades de prácticas pre profesionales de la Escuela de Formación

Profesional de Ingeniería de Sistemas de la Universidad Nacional de San

Cristóbal de Huamanga, se realizó en la Empresa Red Peruana de Servicios

Compartidos Kuskanet S.R.L., cuyo fin principal fue realizar, el desarrollo

para la construcción del sistema de banca móvil, llamado KNETMOVIL, que

permite realizar las operaciones de una banca móvil, como son retiros y

depósitos por parte de los socios de una Cooperativa y el Core de esta.

El sistema a desarrollar en las prácticas se abocó al análisis y desarrollo del

paquete de operaciones financieras en cuenta de ahorros de un socio, estos

casos de uso comprenden las respectivas búsquedas de socio como de sus

respectivas cuentas, depósito y retiro en cuenta de ahorro.

El Sistema de Banca Móvil permite que algunas de las actividades

financieras de la Cooperativa se realicen a través del dispositivo móvil, que

generarán mayores movimientos financieros y la facilidad de que el agente

de banca móvil se encuentre en distintas partes del mundo.

vi

Page 9: Informe de practicas-Sistema de Banca Móvil para Cooperativas

INTRODUCCION

El Sistema de Banca Móvil para las Cooperativas es un servicio que emplea

como único canal de atención el celular, permitiendo al cliente realizar las

transacciones financieras en lugares donde se encuentro nuestro agente

móvil.

El Sistema de Banca Móvil permite realizar operaciones financieras como,

depósito, retiro, abono a cuentas de crédito, transferencia entre cuentas y

otros más por ende facilitará al socio en realizar sus operaciones sin

necesidad de acudir a la agencia de la Cooperativa.

La metodología de software empleada fue ICONIX; con el apoyo del

paradigma orientado a objetos, el lenguaje de modelado (UML) y diversos

consejos para diseñar sistemas en móviles.

Las tecnologías que se emplearon para el desarrollo del sistema son: para la

programación el lenguaje java 2 micro edition, la administración de base de

datos local se realizará con java 2 Data Base Micro Edition, para el

modelado el case Enterprise Architect 7.1.

vii

Page 10: Informe de practicas-Sistema de Banca Móvil para Cooperativas

CAPITULO I OBJETIVOS

I.1 OBJETIVO GENERAL

Desarrollar una aplicación de Banca Móvil para cooperativas, con

el empleo de la metodología ICONIX, CASE Enterprise Architect, lenguaje de

programación java 2 micro edition, base de datos Java micro DB, con la

finalidad de brindar a las cooperativas del Perú el servicio de Banca Móvil

para facilitar sus operaciones financieras, 2010.

I.2 OBJETIVOS ESPECIFICOS

a) Diseñar un sistema para móviles empleando la metodología ICONIX

b) Diseñar e implementar un sistema para móviles

8

Page 11: Informe de practicas-Sistema de Banca Móvil para Cooperativas

CAPITULO IIMARCO TEORICO

II.1 METODOLOGIA ICONIX

(ROSENBERG y STEPHENS, 2007) definen a ICONIX como un

“proceso de software práctico”. Un proceso pequeño y ligero, como XP, que

no descarta el análisis ni el diseño como lo hace este, y es orientado a los

casos de uso como lo hace RUP.

Este proceso también hace uso aerodinámico del UML mientras guarda un

enfoque afilado en la trazabilidad de requisitos. El proceso se guía igual a la

visión original de Jacobson del manejo de casos de uso, esto produce un

resultado concreto, específico y casos de uso fácilmente entendible, que un

equipo de un proyecto puede usar para conducir el esfuerzo hacia un

desarrollo real. El enfoque es flexible y abierto; siempre se puede

seleccionar de los otros aspectos del UML para complementar los materiales

básicos.

Este proceso de desarrollo de software presenta 3 características:

Primero, es reiterativo e incremental. Las iteraciones múltiples ocurren

entre el desarrollo del modelo del dominio e identificar y analizar los casos

de uso. Otras iteraciones existen también, como los procesos del equipo a

través del ciclo de vida. El modelo estático se refina incrementalmente

durante las iteraciones sucesivas a través del modelo dinámico (compuesto

de los casos de uso, análisis de robustez y el diagrama de secuencia.

Segundo, el enfoque ofrece un alto grado de seguimiento. Por el camino, a

cada paso usted consultara de alguna manera los requisitos anteriores.

Nunca hay un punto en que el proceso le permita desviarse lejos de las

necesidades del usuario. Seguimiento se refiere también al hecho que usted

puede seguir los objetos paso a paso como el análisis dentro del diseño.

Tercero, el enfoque ofrece uso aerodinámico del UML.

9

Page 12: Informe de practicas-Sistema de Banca Móvil para Cooperativas

Figura 2. 1 Metodología ICONIX

Fuente: (ROSENBERG y STEPHENS, 2007)

II.1.1 MODELO DE DOMINIO

El modelo de dominio es una parte esencial del Proceso de ICONIX,

construye la porción estática inicial de un modelo que es esencial al

manejar su plan de la aplicación, antes de los casos del uso. El Modelo de

Dominio trata de Identificar en el “mundo real” los objetos y todas las

relaciones de agregación y generalización entre ellos

Figura 2. 2 Modelo de dominio en el proceso ICONIX Fuente:

Fuente: (ROSENBERG y STEPHENS, 2007)

10

Page 13: Informe de practicas-Sistema de Banca Móvil para Cooperativas

Para poder realizar un modelo de dominio adecuado, (ROSENBERG y

STEPHENS, 2007) mencionan en su libro una serie de pasos, que en el

cuadro siguiente se detalla con más exactitud.

Actividad Tarea Artefactos Técnicas Actores

A.1. Identificar objetos del mundo real.

T.1. Identificar requisitos del alto nivel.

T.2. De cada requisito de alto nivel identificar los objetos del mundo real.

T.3. Depurar la lista de objetos.

A.1. Lista de requisitos de alto nivel.

A.2. Listado de objetos identificados del mundo real.

A.3. Lista depurada

T.1. Entrevistas.

T.2. Realzar nombres y frases convirtiendo todos los plurales en singulares.

T.3. Identificar la duplicación de términos.

Analista Cliente Usuario

A.2. Dibuje el modelo de dominio.

T.1. Relacionar los objetos identificados.

T.2. Refinar el modelo de dominio

A.1. Objetos relacionados.

A.2. Modelo de dominio refinado.

T.1. Agrupamiento con las preguntas ¿es un? , ¿es parte de ?.

T.2. Lluvia de ideas

Analista

Cuadro 2. 1 Actividades de análisis de requisitos

II.1.2 MODELO DE CASOS DE USO

Dentro del proceso de ICONIX, uno de los primeros pasos involucra

la construcción del modelo de casos de uso. Este modelo se usa para

capturar los requisitos del usuario de un nuevo sistema (si está

desarrollándose desde el principio o basado en un sistema existente)

detallando todos los guiones que los usuarios realizarán. Los casos del uso

manejan al modelo dinámico y, por la extensión, el esfuerzo del desarrollo

entero.

11

Page 14: Informe de practicas-Sistema de Banca Móvil para Cooperativas

(ROSENBERG y STEPHENS, 2007) escriben que “Los casos de uso le dan

algo a partir del cual se puede diseñar, y desde el cual se puede estimar el

tiempo y el esfuerzo.”

Figura 2. 3Modelo de dominio en el proceso ICONIX

Fuente: (ROSENBERG y STEPHENS, 2007)

Actividad Tarea Artefactos Técnicas Actores

1. Identifique los Casos de Uso y ubíquelos en el diagrama de los casos de uso.

T.1. Entrevista con los expertos del negocio. T.2. Obtener los casos de uso a partir de la información recopilada.

A.1. Información recopilada.

A.2. Casos de uso identificado.

T.1. Entrevistas.

T.2. Análisis de requisitos.

Analista. Cliente. Usuario

2. Organice los casos de uso lógicamente en grupos capture esta información en diagrama de paquetes

T.3. Agrupar los casos de uso en paquetes afines.

A.3. Diagrama de Paquete de casos de uso.

T.1. Cuadro sinóptico.

Analista

3. Asigne los requisitos

T.4. Asignar los requisitos

A.4. Casos de uso con sus

T.1. Lluvia de ideas.

Analista

12

Page 15: Informe de practicas-Sistema de Banca Móvil para Cooperativas

funcionales a los casos de uso y objetos de dominio.

funcionales. respectivos requisitos funcionales.

4. Escriba el primer borrador de casos de uso.

T.5. Escribir el borrador del caso de uso.

A.5. Primer borrador del caso de uso.

T.1. Resumen Analista

Cuadro 2. 2 actividades del modelo de casos de uso

II.1.3 REVISION DE REQUISITOS

La etapa de revisión de requisitos nos garantiza que el sistema tal

y como se describe coincide con los requisitos. Se trata de un período de

sesiones de colaboración que impliquen al representante(s) del cliente, los

usuarios finales (es decir, las personas que realmente van a utilizar el

sistema, o quien está usando el sistema actual que se sustituirá). El cliente

estuvo involucrado en los requisitos iníciales y es de esperar que también

participe en su taller de modelado de casos de uso. Pero, ahora que el

primer-borrador de casos de uso está totalmente escrito, necesita tener al

cliente de nuevo y asegurarse de que el sistema tal y como se describe

realmente coincide con sus requisitos. En algún momento, tendrás que

enlazar las necesidades funcionales a los Casos de Uso, de modo que

puedas demostrar que todos los requisitos del cliente se han implementado

exitosamente. Es una buena práctica hacer esto justo después de que se ha

escrito la descripción de los Casos de Uso, como la asignación de requisitos

para el Casos de Uso a menudo se manifiesta en algunas zonas en que los

requisitos podrían haber sido dejados de lado. Pero si no realizas esta

actividad en esa etapa, entonces deberás tratar de hacer esto durante la

revisión de requisitos. Si ha utilizado los requisitos funcionales como la

principal fuente de Casos de Uso, entonces ya debería haber una correlación

directa entre los requisitos y los Casos de Uso.

13

Page 16: Informe de practicas-Sistema de Banca Móvil para Cooperativas

Figura 2. 4Revisión de requisitos Fuente:

Fuente: (ROSENBERG y STEPHENS, 2007)

Actividad Tarea Artefacto Técnica Actores

1. Revisar el modelo de dominio.

T.1. Cerciorar de que el modelo de dominio muestra relaciones de generalización y agregación dentro de las abstracciones más importantes del dominio del problema.

A.1. Modelo de dominio revisado.

T.1. Lectura y corrección.

Analista

2. Revisar los casos de uso y prototipos GUI.

T.1. Verificar que los requisitos funcionales están en voz pasiva y no en activa.

A.1. Casos de usos revisados.

A.2. Paquetes de caso de uso revisado.

T.1. Lectura y corrección.

Analista

14

Page 17: Informe de practicas-Sistema de Banca Móvil para Cooperativas

T.2. Asegurar que los casos de uso están organizados en paquetes.

T.3. Cerciorarse que la descripción de los casos de uso esté complementada con los prototipos GUI.

A.3. Prototipos GUI Revisados

Cuadro 2. 3 Actividades para revisión de requisitos

II.1.4 ANALISIS DE ROBUSTEZ

Es la etapa del proceso ICONIX, la cual describe (ROSENBERG,

2007) como una técnica que es simple y útil, se une el análisis al diseño

asegurando que su texto de caso de uso esté correcto. Se dirige caminos

necesarios de acción y le permite continuar descubriendo los objetos. Este

tema enfoca el análisis de robustez que involucra análisis del texto de

descripción de los casos del uso e identificando un conjunto de primeras

suposiciones de los objetos que participarán en cada caso de uso,

clasificando estos objetos en tres tipos:

o El objeto Límite, son aquellos objetos que los actores usan para

comunicarse con el sistema, mayormente son las interfaces o

pantallas.

o El objeto Entidad que se obtienen del modelo del dominio.

o El objeto Control, qué sirve como la " unión " entre el objeto Limite

y el objeto entidad.

Esta técnica es simple pero muy útil porque sirve como un eslabón crucial

entre el Análisis y modelo. El diagrama retrata la esencia del enfoque

aerodinámico al desarrollo del software, que incluye un juego mínimo de

diagramas de UML y algunas valiosas técnicas que se toman de los casos

del uso para codificar rápida y eficazmente.

En esta fase se refinará el texto del caso de uso y el modelo será solido

como resultado del análisis de robustez. Dentro del proceso de ICONIX, esta

15

Page 18: Informe de practicas-Sistema de Banca Móvil para Cooperativas

técnica simple pero muy útil sirve como un eslabón crucial entre el modelo

y el análisis.

Se realiza el análisis de robustez para cada caso de uso, utilizando en el

texto del caso de uso, una frase a la vez, y dibujando a los actores, el límite

apropiado, el objeto entidad y el controlador, y las conexiones entre los

varios elementos del diagrama. Se debe encajar el camino básico y todos

los caminos alternados en un diagrama. Cuatro reglas básicas:

o Los Actores sólo pueden interactuar con los objetos límite.

o Los objetos límite sólo pueden interactuar con controladores y

actores.

o Los objetos entidad sólo pueden interactuar con controladores.

o Los controladores pueden interactuar con objetos limite y objetos

entidad, y con otros controladores, pero no con actores

o Los Objetos Límite y objetos Entidad son los sustantivos, y los

controladores son los verbos. Los sustantivos no pueden

interactuar con otros sustantivos, pero los verbos pueden

interactuar con sustantivos o verbos.

Actividad Tarea Artefacto Técnica Actores

A1. Desambiguar el primer borrador de la descripción de los casos de uso.

T.1. Reescribir los casos de uso mientras se dibuja el diagraman de robustez.

A.1. Descripción de casos de uso desambiguado.

Análisis Analista

A2. Identificar un primer corte de los objetos que cumpla con cada escenario.

T.1. Hacer un objeto interfaz para cada pantalla.

T.2. Identificar los controles y entidades dentro del diagrama de robustez de los casos de uso y relacionarla.

A.1. Objeto de interfaz de casos de uso.

A.2. Diagrama de robustez.

Análisis Analista

A3. Actualizar el modelo de dominio a medida que se

T.1. Identificar nuevos objetos de dominio

A.1. Modelo de dominio actualizado.

Diagramación Analista

16

Page 19: Informe de practicas-Sistema de Banca Móvil para Cooperativas

descubra nuevos objetos y atributos.

dentro del diagrama de robustez.

Cuadro 2. 4 Actividades de análisis de robustez

II.1.5 REVISION PRELIMINAR DE DISEÑO

(ROSENGER Y STEPHENS, 2007), mencionan que las sesiones de

Revisión de diseño preliminar ayudan a asegurarse que los diagramas de

robustez, el modelo de dominio y la descripción de los casos de uso

coincidan entre sí. Esta revisión es el puente entre el diseño preliminar e las

etapas de diseño detallado, para cada paquete de casos de uso.

Figura 2. 5 Revisión preliminar de diseño

Fuente: (ROSENBERG y STEPHENS, 2007)

II.1.6 ARQUITECTURA TECNICA

Según (ROSENBERG y STEPHENS, 2007) “la arquitectura técnica

(también conocida como arquitectura del sistema y arquitectura del

software) generalmente describe el sistema que se intenta construir en

términos de estructura.”

17

Page 20: Informe de practicas-Sistema de Banca Móvil para Cooperativas

Para realizar una buena arquitectura técnica hay que basarse en los niveles

de servicios que se van a ofrecer, la topología a usar, todo basado en un

análisis exhaustivo en el número de personas que van a utilizar el sistema,

las horas pico en que se usarán y entre otros.

En resumen la arquitectura técnica tiene que estar acorde a los requisitos

del sistema, tiene que tener factores tales como escalabilidad, seguridad y

disponibilidad; internacionalización y localización.

II.1.7 DIAGRAMA DE SECUENCIA

La interacción diseñada le permite detallar la conducta de sus

objetos y encuentre las clases apropiadas para los atributos y

funcionamientos. Cuando se termina con planeamiento de dominio y

análisis de robustez, se habrá encontrado la mayoría de los objetos en el

problema y se asignara algunos atributos a ellos. Se habrá definido las

relaciones estáticas entre los objetos en su diagrama de la clase de alto

nivel y unas relaciones dinámicas en sus diagramas de robustez. Ahora es

tiempo para diseñar como su software realmente trabajará (en otros

términos, para definir la solución a su problema).

El diseño de Interacción es la fase dónde usted construye a los hilos que

unen sus objetos. Aquí, se empezará a ver cómo el nuevo sistema realiza

una conducta útil.

Dentro del enfoque de ICONIX, los diagramas de secuencia representan el

producto de trabajo de un mayor modelo. Se dibuja un diagrama de

secuencia que abarque el camino básico y todos los caminos alternativos

dentro de cada uno de casos de uso. Los resultados forman el centro de su

modelo dinámico (que es la conducta del tiempo de ejecución del sistema,

incluyendo cómo se logrará esa conducta) que se define en gran detalle.

Hay cuatro tipos de elementos en un diagrama de secuencia: el texto para

el camino de acción de los casos de uso, objetos, mensajes y métodos

(funcionamientos).

o El texto para el camino de acción de los casos de uso aparece abajo

en el lado izquierdo. Es una buena idea separar el texto con el

18

Page 21: Informe de practicas-Sistema de Banca Móvil para Cooperativas

espacio en blanco para que sea fácil ver qué frase(s) corresponde

con cada uno de los elementos a la derecha.

o Los Objetos que usted trae directamente de sus diagramas de

robustez, se representa con dos componentes: el nombre del objeto

y la clase a que ese objeto pertenece. Éstos aparecen en una caja

arriba de la página, de la forma object: class. Una línea punteada

corre de esa caja hacia abajo en toda la longitud de la página. Usted

puede mostrar los iconos de diagrama de robustez sobre las cajas

del objeto.

o Los mensajes son las flechas entre los objetos. Una flecha del

mensaje puede ir directamente entre dos líneas punteadas, entre

una línea y un rectángulo del método, o entre dos rectángulos del

método.

o Los métodos (funcionamientos) se muestran como rectángulos que

quedan encima de las líneas punteadas que pertenecen a los

objetos a que ellos se asignan. Usted puede usar las longitudes de

estos rectángulos para reflejar el enfoque de mando dentro de la

secuencia. Un método en particular parte del extremo del

rectángulo.

Figura 2. 6 Diagrama de secuencia en el proceso ICONIX

Fuente: (ROSENBERG y STEPHENS, 2007)

Actividad Tarea Artefacto Técnica Actores

A1. Generar un Diagrama Esqueleto de

T.1. Seleccionar todos los

A.1. Objetos seleccionados.

Análisis Analista

19

Page 22: Informe de practicas-Sistema de Banca Móvil para Cooperativas

los Objetos Entidad e Interfaz.

objetos entidad e Interfaces en el mismo caso de uso.

A2. Dibujar flechas de mensajes entre objetos.

T.2. Hacer que los objetos de control estén bien detallados.

A.2. Mensajes entre objetos bien definidos.

Análisis Analista

A3. Actualizar el Diagrama de clases con los nuevos atributos y operaciones.

T.3. Quitar y/o agregar en el diagrama de clases algunos atributos y operaciones.

A.3. Diagrama

de secuencia

Modelo de

clases

actualizado

Análisis Analista

Cuadro 2. 5 Actividades para realizar diagrama de secuencia

II.1.8 REVISION CRITICA DEL DISEÑO

La revisión crítica de diseño ayuda a alcanzar tres objetivos

importantes, antes de comenzar la codificación:

o Asegurarse de que el "cómo" del diseño detallado coincida con el

"qué" especificado en los requisitos. En otras palabras, para cada

caso de uso, es necesario que coincida el caso de uso con el

diagrama de secuencia.

o Revisar la calidad del diseño.

o Comprobar la continuidad de los mensajes. Necesita comprobar la

dirección de las flechas de mensaje en los diagramas de secuencia,

y asegurarse de que se pueda reconocer cual objeto esta en

control.

El cliente no debe participar en el CDR-sólo los diseñadores y

desarrolladores. Es una sesión de Revisión Técnica, por lo que debe estar

conformado por gente técnica. El cliente (además de los usuarios

principales, etc.) tiene mucho que contribuir a los requisitos funcionales,

casos de uso y así sucesivamente, pero a menos que el cliente sea un

diseñador técnico experto que pudiese contribuir a la revisión del diseño, es

preferible que no esté en una CDR.

20

Page 23: Informe de practicas-Sistema de Banca Móvil para Cooperativas

II.1.9 IMPLEMENTACION

Es la codificación del sistema, es decir llevarlo al lenguaje elegido en

la arquitectura técnica, en la implementación debe estar guiado por el

diseño del modelo en este caso el diagrama de secuencia, adicional el

diagrama de clases final obtenido del diseño, esto ayudará al programador o

programadores a enfocarse en la secuencia del sistema y obtener un

sistema final que esté acorde a los requisitos.

II.1.10 REVISION DEL CODIGO Y ACTUALIZACION DEL MODELO

La revisión de código es la exanimación sistemática del código

fuente del software, se propone encontrar y fijar errores pasados por alto en

fase inicial del desarrollo, mejorando el software.

Las revisiones de código pueden encontrar y quitar a menudo un campo

común vulnerabilidades por ejemplo problemas de seguridad, optimización

de hardware y desbordamientos del almacenador intermediario, de tal

modo mejorando seguridad del software.

II.1.11 PRUEBAS BASADAS EN DISEÑO

Las pruebas de software, en inglés testing son los procesos que

permiten verificar y revelar el software. Son utilizadas para identificar

posibles fallos de implementación de un programa de ordenador. La Prueba

basada en el diseño provee un método para producir casos de prueba y

verificar que todos los escenarios específicos están completos. Puedes

además usar este proceso para escribir pruebas unitarias ejecutables de

estos casos de prueba.

II.2 TEORIA DE OBJETOS

II.2.1 CLASE Y OBJETO

(PRESSMAN, 2002) menciona que una clase es un concepto del

paradigma orientado a objetos, la clase es la capacidad con que se

encapsula abstracciones de los diversos datos que son requeridos para

describir el contenido y el comportamiento de alguna entidad del mundo

real, en otras palabras la clase es una descripción generalizada de una

colección de objetos, mientras que un objeto es una instanciación de la

clase.

21

Page 24: Informe de practicas-Sistema de Banca Móvil para Cooperativas

Las clases están formadas por diversos elementos, entre los cuales se

encuentras los atributos, que son las propiedades que tienen los objetos, y

las operaciones, métodos y servicios, que son los diferentes

comportamientos que son encapsulados de la colección de objetos, y los

mensajes, que son los medios por los cuales interactúan los diferentes

objetos.

II.2.2 ENCAPSULAMIENTO, HERENCIA Y POLIMORFISMO

Estas son las características del paradigma OO, (PRESSMAN, 2002)

hace referencia que el encapsulamiento es el empaquetado de métodos y

atributos de un o colección de objetos; la herencia es la obtención de

atributos y métodos de una superclase X a una sub clase Y; y el

Polimorfismo es la característica que reduce en gran medida el esfuerzo

necesario para extender el paradigma orientado a objetos.

II.3 UML

(WIKIPEDIA, 2011) define “Lenguaje Unificado de Modelado (LUM o

UML, por sus siglas en inglés, Unified Modeling Language) es el lenguaje de

modelado de sistemas de software más conocido y utilizado en la

actualidad; está respaldado por el OMG (Object Management Group). Es un

lenguaje gráfico para visualizar, especificar, construir y documentar un

sistema. UML ofrece un estándar para describir un "plano" del sistema

(modelo), incluyendo aspectos conceptuales tales como procesos de

negocio y funciones del sistema, y aspectos concretos como expresiones de

lenguajes de programación, esquemas de bases de datos y componentes

reutilizables.”

En UML 2.0 hay 13 tipos diferentes de diagramas. Para comprenderlos de

manera concreta, a veces es útil categorizarlos jerárquicamente, como se

muestra en la figura de la derecha.

Los Diagramas de Estructura enfatizan en los elementos que deben existir

en el sistema modelado:

Diagrama de clases

Diagrama de componentes

22

Page 25: Informe de practicas-Sistema de Banca Móvil para Cooperativas

Diagrama de objetos

Diagrama de estructura compuesta (UML 2.0)

Diagrama de despliegue

Diagrama de paquetes

Los Diagramas de Comportamiento enfatizan en lo que debe suceder en el

sistema modelado:

Diagrama de actividades

Diagrama de casos de uso

Diagrama de estados

Los Diagramas de Interacción son un subtipo de diagramas de

comportamiento, que enfatiza sobre el flujo de control y de datos entre los

elementos del sistema modelado:

Diagrama de secuencia

Diagrama de comunicación, que es una versión simplificada del

Diagrama de colaboración (UML 1.x)

Diagrama de tiempos (UML 2.0)

Diagrama global de interacciones o Diagrama de vista de interacción

(UML 2.0)

En específico para la metodología ICONIX, no se usarán los 13 diagramas,

solo se emplearán el diagrama de clases, el diagrama de casos de uso, el

diagrama de colaboración y el diagrama de secuencia; en algunos casos el

diagrama de componentes para ver la interacción de los componentes del

sistema. Adicionalmente estos diagramas se utilizan de una forma un poco

más libre, siguiendo a la metodología ICONIX.

II.4 MODELO VISTA CONTROLADOR

El patrón MVC puede fácilmente articularse en la arquitectura

J2ME; (FROUFE y CARDENES, 2004) mencionan que en la arquitectura MVC

para J2ME:

Modelo; son las preferencias, constantes y modelo de datos.

Vista; lógica de presentación en pantalla

Controlador; comunicaciones, lógica de la aplicación

23

Page 26: Informe de practicas-Sistema de Banca Móvil para Cooperativas

En especial para J2ME el controlador debe estar preparado para conexiones

a un servidor de datos, para soportar petición de datos mientras esté

moviéndose en un entorno pull o push.

La vista debe estar preparada para la presentación e diversos tipos de

configuraciones y resoluciones.

El modelo incluye preferencias del usuario guardadas en el sistema de

almacenamiento permanente del dispositivo, las constantes que utilice de

partida la aplicación y todos los datos que se presenten al usuario.

Este tipo de arquitectura es ampliamente usada en aplicativos móviles,

pues casi siempre estos se conectan a un servidor de base de datos o con

aplicativos que se encuentran alojados en otros sitios, como son los web

services.

Figura 2. 7 Modelo Vista Controlador

Fuente: (SUN, 2011)

II.5 JAVA 2 MICRO EDITION

Java 2 Micro Edition es un conjunto de especificaciones, cada uno

aplicable a cierto número de requisitos, J2ME no define un nuevo lenguaje,

sino que mantiene la compatibilidad con J2SE, adaptando esta tecnología al

os dispositivos móviles, J2ME elimina partes de la edición J2SE que no son

compatibles con este tipo de dispositivos con capacidades limitadas .

24

Page 27: Informe de practicas-Sistema de Banca Móvil para Cooperativas

Figura 2. 8 Arquitectura J2ME

Fuente: Caraballo, 2009

II.5.1 CONFIGURACIONES

Se entiende por configuraciones al entorno de ejecución java

completo que define al entorno de ejecución básico de J2ME, cuyo objetivo

es adecuarse a las necesidades de una familia de dispositivos con

capacidades similares. (FROUFE, 2004) menciona que las configuraciones

están constituidas por 3 elementos, los cuales son:

1. Una máquina virtual para ejecutar el bytecode de la aplicación.

2. Código nativo para realizar la interface entre java y el sistema

operativo del dispositivo.

3. Un conjunto de clases Java que constituyen un entorno de

ejecución

Para poder elegir una configuración adecuada, es importante definir a qué

tipo de familia corresponde el dispositivo en el cual se va ejecutar nuestra

aplicación.

En la actualidad están definidas dos tipos de configuraciones: Connected

Device Configuration(CDC) y Connected Limited Configuration(CLDC).

25

Page 28: Informe de practicas-Sistema de Banca Móvil para Cooperativas

CDC

La configuración para dispositivos conectados JSR-36 está orientado a

dispositivos dotados con microprocesadores de 32 bits y que disponen de

2mb o mas de memoria virtual, incluyendo memoria RAM y flash ROM. Los

dispositivos tienen que tener capacidad de conexión a red.

CLDC

Configuración para dispositivos con configuración limitada está definida

para las características de dispositivos cuyos procesadores estén entre 16 y

32 bits, de entre 8 a 32 MHz y con una cantidad de memoria total

disponible para java de 160 a 192 Kb.

II.5.2 PERFILES

Un perfil define el tipo de dispositivo soportado, por ejemplo el

Perfil para Dispositivos de Información Móvil (Móvil Information Device

Profile, MIDP) define el perfil para las aplicaciones s que se ejecutarán en

teléfonos celulares y buscapersonas.

El MIDP es el perfil basado para celulares, el cual no permite a los midlets

acceder al sistema operativo, porque si accediera, la aplicación no sería

portable.

II.5.3 KVM

Más conocido por el nombre de Kilobyte Virtual Machine, la KVM es

la implementación completa de una máquina virtual java optimizada para

ejecutarse en dispositivos con recursos restringidos, Esta máquina virtual es

una parte de la JVM que es la java virtual machine comúnmente conocida,

con la diferencia que solo implementa algunas clases que suelen ser útiles

para el desarrollo de aplicaciones móviles.

Cabe señalar que para la ejecución de un aplicativo con la configuración

CLD o CLDC con un perfil MIDP u otro, no siempre es preciso que estuviera

la KVM, si no otra máquina virtual que contenga las clases requeridas y los

mecanismos que cumple la máquina virtual, es por ello que en la actualidad

existen diversas máquinas virtuales pre compiladas, entre ellas la CVM o

26

Page 29: Informe de practicas-Sistema de Banca Móvil para Cooperativas

como la máquina virtual Total Cross para programadores de superwaba que

no es otra cosa que la máquina virtual java con otro tipo de compilación.

II.6 SERVICIOS WEB

(SINAY, 2007) menciona que los web services es un estándar de

comunicación entre procesos y/componentes, diseñado para ser

multiplataforma y multilenguaje. Mientras que (WIKIPEDIA, 2011) define web

service como “un conjunto de protocolos y estándares que sirven para

intercambiar datos entre aplicaciones. Distintas aplicaciones de software

desarrolladas en lenguajes de programación diferentes, y ejecutadas sobre

cualquier plataforma, pueden utilizar los servicios web para intercambiar

datos en redes de ordenadores como Internet.”

Lo que proporciona los web service es la interoperabilidad, que se consigue

empleando estándares abiertos, entre los estándares empleados tenemos:

XML, SOAP, WSDL, UDDI entre otros.

II.6.1 XML

(W3C, 2011) define “Lenguaje de marcado extensible (XML) es un

formato simple, texto muy flexible derivado de SGML (ISO 8879).

Originalmente diseñado para afrontar los retos de la publicación electrónica

a gran escala, XML también está desempeñando un papel cada vez más

importante en el intercambio de una amplia variedad de datos en la Web y

en otros lugares.”

II.6.2 SOAP

SOAP es un protocolo para el intercambio de mensajes sobre redes

de computadoras, generalmente usando HTTP. Está basado en XML, a

diferencia de DCOM y CORBA que son binarios; esto facilita la lectura por

parte de los humanos, pero también los mensajes resultan más largos y, por

lo tanto, considerablemente más lentos de transferir.

Existen múltiples tipos de modelos de mensajes en SOAP pero, por lejos, el

más común es el RPC, en donde un nodo de red (el cliente) envía un

27

Page 30: Informe de practicas-Sistema de Banca Móvil para Cooperativas

mensaje de solicitud a otro nodo (el servidor) y el servidor inmediatamente

responde el mensaje al cliente.

Los mensajes SOAP, son independientes del sistema operativo, y pueden

transportarse en varios protocolos de internet como SMTP, MIME y HTTP.

II.6.3 WSDL

WSDL son las siglas de Web Services Description Language, un

formato XML que se utiliza para describir servicios Web (algunas personas lo

leen como wisdel). La versión 1.0 fue la primera recomendación por parte

del W3C y la versión 1.1 no alcanzó nunca tal estatus. La versión 2.0 se

convirtió en la recomendación actual por parte de dicha entidad.

WSDL describe la interfaz pública a los servicios Web. Está basado en XML y

describe la forma de comunicación, es decir, los requisitos del protocolo y

los formatos de los mensajes necesarios para interactuar con los servicios

listados en su catálogo. Las operaciones y mensajes que soporta se

describen en abstracto y se ligan después al protocolo concreto de red y al

formato del mensaje.

Así, WSDL se usa a menudo en combinación con SOAP y XML Schema. Un

programa cliente que se conecta a un servicio web puede leer el WSDL para

determinar qué funciones están disponibles en el servidor. Los tipos de

datos especiales se incluyen en el archivo WSDL en forma de XML Schema.

El cliente puede usar SOAP para hacer la llamada a una de las funciones

listadas en el WSDL.

El WSDL nos permite tener una descripción de un servicio web. Especifica la

interfaz abstracta a través de la cual un cliente puede acceder al servicio y

los detalles de cómo se debe utilizar.

II.6.4 UDDI

UDDI son las siglas del catálogo de negocios de Internet

denominado Universal Description, Discovery and Integration. El registro en

el catálogo se hace en XML. UDDI es una iniciativa industrial abierta

28

Page 31: Informe de practicas-Sistema de Banca Móvil para Cooperativas

(sufragada por la OASIS) entroncada en el contexto de los servicios Web. El

registro de un negocio en UDDI tiene tres partes:

Páginas blancas - dirección, contacto y otros identificadores conocidos.

Páginas amarillas - categorización industrial basada en taxonomías.

Páginas verdes - información técnica sobre los servicios que aportan las

propias empresas.

UDDI es uno de los estándares básicos de los servicios Web cuyo objetivo es

ser accedido por los mensajes SOAP y dar paso a documentos WSDL, en los

que se describen los requisitos del protocolo y los formatos del mensaje

solicitado para interactuar con los servicios Web del catálogo de registros.

II.7 BLUETOOTH

(GIMENO, 2004) define Bluetooth como “una tecnología de

comunicación inalámbrica omnidireccional”. Se ideó pensando en

dispositivos de bajo consumo y comunicaciones a corta distancia (10

metros).

Se trata de una tecnología barata con un ancho de banda reducido: hasta

11 Mbit/s. Es ideal para periféricos de ordenador (ratón, teclado, manos

libres,...) y dispositivos móviles (teléfonos móviles, PDAs, Pocket PCs, etc).

Mediante Bluetooth es posible formar pequeñas redes de dispositivos

conectados denominadas piconets. Se pueden conectar varias piconets

formando lo que se denomina una scatternet.

Las principales aplicaciones de Bluetooth son: transferencia de archivos,

sincronización de dispositivos y conectividad de periféricos.

II.7.1 API JSR 82

Este API está dividida en dos partes: el paquete javax.bluetooth y

el paquete javax.obex. Los dos paquetes son totalmente independientes. El

primero de ellos define clases e interfaces básicas para el descubrimiento

de dispositivos, descubrimiento de servicios, conexión y comunicación. La

comunicación a través de javax.bluetooth es a bajo nivel: mediante flujos de

datos o mediante la transmisión de arrays de bytes.

Por el contrario el paquete javax.obex permite manejar el protocolo de alto

nivel OBEX (OBject EXchange). Este protocolo es muy similar a HTTP y es

utilizado sobre todo para el intercambio de archivos. El protocolo OBEX es

un estándar desarrollado por IrDA y es utilizado también sobre otras

tecnologías inalámbricas distintas de Bluetooth.

29

Page 32: Informe de practicas-Sistema de Banca Móvil para Cooperativas

La plataforma principal de desarrollo del API JSR-82 es J2ME. El API ha sido

diseñado para depender de la configuración CLDC. Sin embargo existen

implementaciones para poder hacer uso de este API en J2SE. Al final del

tutorial se listan la mayoría de las implementaciones del JSR 82 existentes.

II.8 TECNOLOGIA

II.8.1 ENTERPRISE ARCHITECT

Es una herramienta para flexible, completa y potente de modelado

en UML. Provee lo más nuevo en desarrollo de sistemas, administración de

proyectos y análisis de negocio.

EA es una herramienta que abarca integralmente el ciclo de vida, cubriendo

el desarrollo de software en caso particular para la metodología ICONIX.

Enterprise Architect fue construido en base al excepcional éxito de las

versiones previas con un completo soporte para el estándar UML 2.0 y a

partir de la versión 7.8 para UML 2.2.

II.8.2 JAVA 2 MICRO DB

Es un proyecto open source desarrollado en la Universidad

Politécnica de Catalunya, que tiene como principal objetivo proporcionar a

los programadores de J2ME APIs para gestionar una base de datos relacional

(limitada) en un dispositivo móvil.

(FROUFE, 2004) menciona que es una familia de especificaciones que

definen varias versiones minimizadas de la plataforma Java 2; estas

versiones minimizadas pueden ser usadas para programar en dispositivos

electrónicos; desde teléfonos celulares, en PDAs, hasta en tarjetas

inteligentes, etc. Basada en familias y categorías, donde una categoría

define un tipo de dispositivo particular: celulares, buscapersonas,

organizadores personales y entre otras; y la familia de dispositivos a

aquellos que están agrupados de acuerdo a las capacidades de memoria,

capacidad de procesamiento.

II.8.2.1 J2MLIB

Es una librería del proyecto J2MEMicroDB desarrollada en la

Universitat Politècnica de Catalunya por los profesores Maria José Casany,

Marc Alier (Ludo) y Pablo Casado, junto con los estudiantes de proyecto de

30

Page 33: Informe de practicas-Sistema de Banca Móvil para Cooperativas

fin de carrera de la Facultad de informática de Barcelona.

J2MESDLIB permite trabajar con tablas relacionales en dispositivos móviles.

Esta API proporciona los métodos necesarios para poder crear, modificar y

borrar, en definitiva, gestionar tablas en una base de datos relacional.

II.8.2.2 KXML

KXML es un analizador sintáctico de XML ligero basado en Java

diseñado para ser ejecutado en sistemas integrados limitados como

dispositivos móviles personales.

Es un analizador de tipo pull, lo que significa que lee una pequeña porción

del documento cada vez. Así la aplicación conduce al analizador a través del

documento XML pidiendo repetidamente la siguiente porción del mismo.

II.9 SISTEMA OPERATIVO SYMBIAN

(Wikipedia, 2011) hace mención que Symbian es un sistema

operativo que fue producto de la alianza de varias empresas de telefonía

móvil, entre las que se encuentran Nokia, Sony Ericsson, Psion, Samsung,

Siemens, Arima, Benq, Fujitsu, Lenovo, LG, Motorola, Mitsubishi Electric,

Panasonic, Sharp, etc. Sus orígenes provienen de su antepasado EPOC32,

utilizado en PDA's y Handhelds de PSION.

La mayoría de los móviles con Symbian son de la compañía NOKIA; todos los

modelos de la serie 60 (5700.) y superiores, incluyéndose toda la Serie N y

los nuevos táctiles N97, 5530, 5230, 5800, X6 y los más recientes N8 y C7

(con la versión 3 de Symbian, son los móviles más importantes actualmente

para NOKIA), los cuatro con la nueva versión v5, a excepción de los de tipo

handheld (los cuales funcionan con Maemo corriendo sobre Linux) y los

denominados "Internet Tablet" (N800,N810 y N900).

II.10 COOPERATIVA DE AHORRO Y CREDITO

Las cooperativas de ahorro y crédito son empresas de propiedad

conjunta, autónomas frente al Estado democráticamente administradas. Se

constituyen en forma libre y voluntaria, por medio de la asociación de

personas, con la finalidad de atender las necesidades financieras, sociales y

culturales de sus miembros.

31

Page 34: Informe de practicas-Sistema de Banca Móvil para Cooperativas

Las cooperativas fomentan el ahorro en sus diversas modalidades, además

de brindar otros servicios financieros a sus socios. Son una verdadera

opción de apoyo mutuo y solidario frente a la crisis, porque agrupan a

personas comunes que están al margen del sistema financiero tradicional.

Los socios forman un fondo común destinado a otorgar créditos que alivien

sus necesidades urgentes o de inversión.

El carácter solidario de las cooperativas de ahorro y crédito, contrapuesto al

fin lucrativo de las entidades bancarias, determina que gran cantidad de

personas opten por sus servicios.

II.11 BANCA MOVIL

La banca móvil es un servicio que usa como único canal de

comunicación y atención la red celular, permitiendo a las personas realizar

las transacciones financieras desde un celular.

Con el creciente desarrollo de dispositivitos móviles y tecnologías  de redes

inalámbricas como Wireless LAN, GSM, GPRS, Bluetooth, ha sido

perfeccionada la movilidad de los usuarios, de manera que ya no están

obligados a realizar su trabajo en un lugar fijo es por ello que surgen las

bancas móviles, para que los socios a través de de un dispositivo móvil

autorizado puedan realizar sus transacciones sin la necesidad de acudir a la

agencia de la entidad financiera.

II.12 RED PERUANA DE SERVICIOS COMPARTIDOS KUSKANET

La red peruana de servicios Compartidos Kuskanet, es una

empresa que brinda servicios Financieros a las cooperativas del país, esta

empresa ha sido subvencionada por la FENACREP (Federación Nacional de

Cooperativas de Ahorro y Crédito), WOCCU(Consejo Mundial de

Cooperativas de Ahorro y Crédito) y cooperativas que se integraron como

nuestros socios estratégicos.

Entre los principales servicios que presta Kuskanet son:

- Agencias compartidas.

- Cajeros automáticos

- POS

32

Page 35: Informe de practicas-Sistema de Banca Móvil para Cooperativas

La misión de Kuskanet es "Proveer a cada uno de nuestros socios una mejor

calidad de servicio y una mayor diversidad de productos, que contribuyan a

su desarrollo económico y al logro de un mayor nivel de vida."

Y su visión: "Contribuir al desarrollo y crecimiento de las Cooperativas de

Ahorro y Crédito en el Perú."

II.13 RECOMENDACIONES PARA DISEÑAR Y PROGRAMAR CON

J2ME

Para realizar un buen diseño siempre hay que tener

consideraciones de que cosa se está haciendo y sobre que, en este caso la

arquitectura del sistema, y es por ello que para desarrollar un sistema para

dispositivos móviles hay que tener diversas consideraciones, es por ello que

(FROUFE y JORGE, 2004) mencionan una serie de recomendaciones:

- Mantener la aplicación simple, es decir no mantener características

que no sean necesarias para el sistema, las características de

adorno y complementos deben ser añadidas en un programa

aparte.

- Cuánto más pequeño sea el sistema o la descripción de los casos

de uso es mejor, es por ello que es recomendable realizar diversos

casos de uso para una secuencia de procedimientos del sistema

- Minimizar el uso de memoria en tiempo de ejecución, para ello

utilizar solo clases necesarias, y de preferencia usar tipos básicos

de datos y si se emplean clases complejas usar un recolector o

simplemente al finalizar su trabajo colocarlos a null.

- En aplicaciones con conexiones a un servidor, hacer que el servidor

realice la mayor parte de la lógica.

- No abusar del uso de clases interface, o en su mejor empleo evitar

emplearlas, pues esta hará incrementar el tamaño del jar y así

empleará más recurso de memoria.

- Si el sistema utiliza una base de datos local, es necesario realizar

un análisis para especificar que datos son necesarios para que

persistan, ya que el espacio de almacenamiento de un dispositivo

móvil es limitado.

- Evitar concatenación de cadenas

- Reducir el número de métodos de una clase. Una consecuencia del

uso de orientación a objetos es tener diversas clases con diversos

métodos que pueden ser reutilizables, y esta aplicación sea más

33

Page 36: Informe de practicas-Sistema de Banca Móvil para Cooperativas

fácil de entender. Sin embargo tener muchos métodos pequeños

incrementa el tamaño de las clases y reduce su rendimiento, esto

se muestra al incrementar líneas para llamar a métodos de una

clase a otra, y en consecuencia se incrementa el uso de memoria

en tiempo de ejecución. Por ello hay que tener en cuenta la

relación Coste/ beneficio del uso de métodos pequeños y

numerosos, o tener pocos métodos y de regular tamaño.

- Reducir los métodos de conveniencia o los sobrecargados.

- Utilizar tareas e hilos y evitar la sincronización.

- Evitar el uso de procesos recursivos.

- De preferencia utilizar el patrón de diseño MVC, ya que podremos

distinguir las diferentes capas de de diseño, pero en algunos casos

va ser casi imposible separar la vista del controlador, ya que los

dos se necesitan y están ligados, es por ello que analizar el uso del

método MVC reducido, que en este caso sería el modelo de

delegado, es ampliamente utilizado ya que la interface presenta un

poco de lógica de la que contiene el controlador.

- Reducir al mínimo el uso de clases.

CAPITULO III

RESULTADOS

III.1 MODELO DE DOMINIO

a. Requisitos funcionales

N° Requisito funcional

1 El usuario podrá registrar un nuevo socio

2El sistema debe efectuar la transacción de retiro de cuenta de

ahorros de una cooperativa

El usuario podrá efectuar depósitos a cuenta de ahorros del socio

a través de los web service

34

Page 37: Informe de practicas-Sistema de Banca Móvil para Cooperativas

3El usuario podrá efectuar abono de sus cuentas crédito que tenga

el socio

4 El usuario debe ser capaz de aperturar una cuenta de ahorro

5El sistema debe permitir realizar búsqueda de cuentas del socio a

través de web services

6El usuario podrá realizar transferencia de ahorros de una cuenta

del socio a otra.

7 El usuario podrá efectuar la actualización de datos de socio

8 El usuario podrá permitir realizar una pre aprobación de crédito

9 El usuario podrá permitir búsqueda de socios

10 El usuario podrá emitir reportes de su colecta del día

11El usuario podrá realizar búsqueda de cuentas del socio a través de

web services

12 El usuario podrá registrar los datos financieros de los socios

13El usuario administrador podrá registrar los parámetros de

conexión del sistema móvil

14El sistema debe ser capaz de almacenar las operaciones

financieras que se realizan

15

El usuario debe ser capaz de actualizar el catálogo de datos como

país, departamento, provincia, distrito, para el registro de

nuevos usuarios,

16El usuario debe actualizar el catálogo de empresas, tipos de

documento

17El usuario debe ser capaz de actualizar el catálogo de

profesiones

18El sistema debe sincronizar el tipo de los tipos de cuenta crédito

y ahorro

b. Requisitos no funcionales

N° Requisitos no funcionales

1El sistema móvil se conectará a un web services para realizar las

operaciones

2 El sistema utilizará un lenguaje libre

3 El sistema utilizará una base de datos libre y que sea multi plataforma

4 El sistema para seguridad tendrá que manejar datos encriptados

5 El sistema debe ejecutarse en equipos con sistema operativo Symbian

35

Page 38: Informe de practicas-Sistema de Banca Móvil para Cooperativas

LISTA DE OBJETOS CANDIDATOS

- Socio

- Operaciones financieras

- Administrador

- Usuario

- Parámetros

- Cuenta de ahorro

- Cuenta crédito

- Base de datos

- Web service

- Reportes

- Colecta

- Datos financieros de socio

- Datos personales de socio

- País

- Departamento

- Provincia

- Distrito

- Catálogo

- Tipo de cuenta crédito

- Tipo de documento de identidad

- Catálogo de empresas

- Catálogo de profesiones

Desambiguación con aspecto gramatical

- El administrador y el usuario son actores del sistema, por tanto

deberán ir en el modelo de dominio.

- Socio no es un actor del sistema, en este caso particular seria un

objeto donde se almacene sus datos financieros y datos personales.

Lista de objetos de modelo de dominio

- Empresas

- Profesiones

- País

36

Page 39: Informe de practicas-Sistema de Banca Móvil para Cooperativas

- Departamento

- Provincia

- Distrito

- Socio

- Operaciones

- Dispositivo

- Web service

- Cooperativa

- Cuentas socio

- Cuenta crédito

- Cuenta ahorro

- Socio

- Información financiera

- Datos personales

- Operaciones

- Empresa

- Midlet

- Base de datos

37

Page 40: Informe de practicas-Sistema de Banca Móvil para Cooperativas

Primer modelo de dominio

class ModeloOminio

Operaciones

Cooperativ a

Dispositiv o

CuentaSocioSocio

DatosPersonales

WebServ ice

Pais Departamento

Distrito

Prov incia

InformacionFinanciera

Empresa

CuentaCredito

CuentaAhorro

usuario

Administrador

Transaferencia

Baso de datos

Midlet

haceuso

efectua

realiza

labora

pertenece

Figura 3. 1: Primer modelo de dominio

38

Page 41: Informe de practicas-Sistema de Banca Móvil para Cooperativas

III.2 MODELO DE CASOS DE USO

Extracción de casos de uso de los requisitos

Requisitos Casos de uso

El usuario podrá registrar un nuevo

socio

Registrar socio

El sistema debe efectuar la transacción

de retiro de cuenta de ahorros de una

cooperativa

Retiro en cuanta de ahorros

El usuario podrá efectuar depósitos a

cuenta de ahorros del socio a través

de los web service

Depósito en cuenta de ahorros

El usuario podrá efectuar abono de sus

cuentas crédito que tenga el socio

Abono de crédito

El usuario debe ser capaz de apertura

una cuenta de ahorro

Apertura de cuenta de ahorro

El sistema debe permitir realizar

búsqueda de cuentas del socio a través

de web services

Búsqueda de cuentas de socio

El usuario podrá realizar transferencia

de ahorros de una cuenta del socio a

otra.

Transferencia de ahorros

El usuario podrá efectuar la actualización

de datos de socio

Actualización de datos de socio

El usuario podrá permitir realizar una pre

aprobación de crédito

Pre aprobación de crédito

El usuario podrá realizar búsqueda de

socios por DNI o nombres y apellidos

- Búsqueda de socio por DNI

- Búsqueda de socio por

Nombre y apellidos

El usuario podrá emitir reportes de su

colecta del día

- Reporte de colecta local total

- Reporte de colecta local

detallada

El usuario podrá registrar los datos

financieros de los socios

- Registrar datos financieros

de socio

El usuario administrador podrá registrar

los parámetros de conexión del sistema

Registrar parámetros de

conexión

39

Page 42: Informe de practicas-Sistema de Banca Móvil para Cooperativas

móvil

El usuario debe ser capaz de actualizar

el catálogo de datos como país,

departamento, provincia, distrito,

para el registro de nuevos usuarios,

Actualizar catálogos

El usuario debe actualizar el catálogo

de empresas, tipos de documento

Actualizar catálogos

El usuario debe ser capaz de actualizar

el catálogo de profesiones

Actualizar catálogos

El usuario podrá buscar las cuentas de

ahorro que posee el socio, y las cuentas

de crédito

- Búsqueda de cuentas de

ahorros

- Búsqueda de cuentas de

socio

El usuario para poder realizar cualquiera

de las funciones debe registrarse en el

sistema

- Login

Listado de casos de uso

- Registrar socio

- Registrar datos financieros de socio

- Retiro en cuenta de ahorros

- Depósito en cuenta de ahorros

- Abono de crédito

- Apertura de cuenta de ahorro

- Búsqueda de cuenta de ahorro

- Transferencia de ahorros

- Actualización de datos de socio

- Pre aprobación de crédito

- Búsqueda de socio por DNI

- Búsqueda de socio por nombre y apellido

- Búsqueda de cuentas de ahorros

- Búsqueda de cuentas de socio

- Reporte de colecta total

- Reporte de colecta detallada

- Actualizar catálogos

- Registro de parámetros de conexión

40

Page 43: Informe de practicas-Sistema de Banca Móvil para Cooperativas

- Login

Paquetes de casos de uso

a. Empaquetado de casos de uso

uc Use Case Model

Administraciòn

+ Registrar parámetros

+ login

+ Reimprimir recibo

+ Traer catálogo ciiu, división, segmento

+ Traer catálogo ciudades

+ traer catálogo de Departamentos, provincias distritos

+ Traer catálogo de profesiones y empresas de trabajo

+ Verificar conexión

Operaciones

+ Cuenta ahorros

+ Cuenta crédito

+ Selección de cuenta ahorro

+ Selección de cuenta crédito

+ Seleccion de socio

+ Transferencia de Ahorros

Reportes

+ Reporte detallado de transacciones

+ Reporte total de transacciones

Cuenta ahorros

+ Apertura de cuenta de ahorros

+ Busqueda Cuenta de ahorros

+ Depósito cuenta de ahorros

+ Impresión de vouchers

+ Retiro cuenta de ahorros

Cuenta crédito

+ Abono a préstamo

+ Consulta de crédito

+ Pre aprobación de crédito

Figura 3. 2: Diagrama de paquees de caso de uso

41

Page 44: Informe de practicas-Sistema de Banca Móvil para Cooperativas

b. Paquete operaciones

uc Operaciones

Selección de cuenta crédito

Selección de cuenta ahorro

Transferencia de Ahorros

Usuario

(from Actors)

Cuenta ahorros

+ Apertura de cuenta de ahorros

+ Busqueda Cuenta de ahorros

+ Depósito cuenta de ahorros

+ Impresión de vouchers

+ Retiro cuenta de ahorros

Cuenta crédito

+ Abono a préstamo

+ Consulta de crédito

+ Pre aprobación de crédito

Seleccion de socio

«precedes»

«precedes»

«precedes»

«precedes»

«precedes»

Figura 3. 3: Diagrama de casos de uso del paquete operaciones

c. Paquete cuentas de ahorro

uc Cuenta ahorros

Apertura de cuenta de ahorros

Depósito cuenta de ahorros

Retiro cuenta de ahorros

Impresión de vouchers

Busqueda Cuenta de ahorros

Usuario

(from Actors) «precedes»

«precedes»«invokes»

«invokes»

Figura 3. 4: Diagrama de casos de uso del paquete de cuenta de ahorro

42

Page 45: Informe de practicas-Sistema de Banca Móvil para Cooperativas

III.3 DESCRIPCIÓN DE CASOS DE USO

CU6: depósito en cuenta de ahorros

Descripción:

El socio realiza un depósito en su cuenta de ahorros

Curso básico:

En la lista de menú ahorro, el usuario pulsa sobre la opción de depósito, el

sistema recupera los datos de Socio que está en sesión y la Cuenta Socio

que está activa, a continuación el sistema muestra el formulario de

depósito en el midlet con los datos de nombre de usuario, cuenta de socio,

respectivamente llenados, el usuario ingresa la cantidad a depositar y hace

clic sobre procesar, el sistema muestra un alerta de verificación si está

conforme con la transacción o no, el usuario pulsa sobre procesar, el

sistema muestra al usuario la pantalla de espera, el sistema verifica la

cantidad de depósito, recupera los parámetros de conexión desde

parámetros, el sistema cifra los datos de número de cuenta y numero de

documento del socio, luego se conecta con el web service y envía los

datos del depósito, el valor de la operación, como son el valor del depósito,

la cuenta del socio, el número de identificación del socio, el nombre de

usuario que está en sesión, el numero de bluetooth para la seguridad, y

envía al web services estos datos; el sistema recibe la respuesta del web

service, parsea el mensaje recibido y obtiene el error y los datos del

depósito, verifica el error devuelto por el web service y si el error es

considerado como correcto, el sistema guarda los datos cuanta socio,

numero documento del socio, el valor de la transacción, el usuario en

sesión, el numero de referencia, el numero de secuencia de impresión , la

fecha y hora de depósito en Operaciones Ahorro, y el sistema muestra

una alerta de transacción realizada correctamente, y si desea imprimir la

transacción.

Curso alterno:

No hay respuesta del web service: después de un tiempo de15 segundos

el web service no responde, el sistema cierra la conexión y crea un Error

el cual es devuelto a la interface, la interface valida el error y muestra

una alerta con el código y descripción del error.

43

Page 46: Informe de practicas-Sistema de Banca Móvil para Cooperativas

El web service devuelve los datos incompletos, el sistema crea un Error y

lo devuelve a interface, en aquí muestra un alerta con el código y

descripción del error.

La transacción se realizó de forma correcta pero no se almacenó en la

base de datos local: el sistema al almacenar los datos en la base de

datos local, surge un error, el sistema muestra un alerta con el código

de error respectivo y el mensaje de error, transacción realizada

correctamente, error al almacenar en dispositivo local, consulte con su

proveedor de servicios.

El web service devuelve un error diferente de estado correcto, el sistema

muestra la alerta con el código de error devuelto y el mensaje devuelto.

Error al recuperar parámetros, el sistema no puede recuperar los

parámetros de conexión, el sistema muestra un alerta con el código de

error 120000 y el mensaje error al recuperar parámetros de conexión.

Figura 3. 2: prototipo de pantalla de depósito

44

Page 47: Informe de practicas-Sistema de Banca Móvil para Cooperativas

III.4 REVISION DE REQUISITOS

class ModeloOminio

Operaciones

Cooperativ a

Dispositiv o

CuentaSocio

SocioDatosPersonales

WebServ ice

Pais Departamento

Distrito

Prov incia

InformacionFinanciera

Empresa

CuentaCredito

CuentaSocio

usuario

Administrador

labora

haceuso

pertenece

realiza

efectua

Figura 3. 5 modelo de dominio actualizado

CU6: depósito en cuenta de ahorros

Descripción:

El socio realiza un depósito en su cuenta de ahorros

Curso básico:

En la lista de menú ahorro, el usuario pulsa sobre la opción de depósito, el

sistema recupera los datos de Socio que está en sesión y la Cuenta Socio

que está activa, a continuación el sistema muestra el formulario de

depósito en el midlet con los datos de nombre de usuario, cuenta de socio,

respectivamente llenados, el usuario ingresa la cantidad a depositar y hace

clic sobre procesar, el sistema muestra un alerta de verificación si está

conforme con la transacción o no, el usuario pulsa sobre procesar, el

sistema muestra al usuario la pantalla de espera, el sistema verifica la

cantidad de depósito, recupera los parámetros de conexión desde

parámetros, el sistema cifra los datos de número de cuenta y numero de

documento del socio, luego se conecta con el web service y envía los

45

Page 48: Informe de practicas-Sistema de Banca Móvil para Cooperativas

datos del depósito, el valor de la operación, como son el valor del depósito,

la cuenta del socio, el número de identificación del socio, el nombre de

usuario que está en sesión, el numero de bluetooth para la seguridad, y

envía al web services estos datos; el sistema recibe la respuesta del web

service, parsea el mensaje recibido y obtiene el error y los datos del

depósito, verifica el error devuelto por el web service y si el error es

considerado como correcto, el sistema guarda los datos cuanta socio,

numero documento del socio, el valor de la transacción, el usuario en

sesión, el numero de referencia, el numero de secuencia de impresión , la

fecha y hora de depósito en Operaciones Ahorro, y el sistema muestra

una alerta de transacción realizada correctamente, y si desea imprimir la

transacción.

Curso alterno:

No hay respuesta del web service: después de un tiempo de15 segundos

el web service no responde, el sistema cierra la conexión y crea un Error

el cual es devuelto a la interface, la interface valida el error y muestra

una alerta con el código y descripción del error.

El web service devuelve los datos incompletos, el sistema crea un Error y

lo devuelve a interface, en aquí muestra un alerta con el código y

descripción del error.

La transacción se realizó de forma correcta pero no se almacenó en la

base de datos local: el sistema al almacenar los datos en la base de

datos local, surge un error, el sistema muestra un alerta con el código

de error respectivo y el mensaje de error, transacción realizada

correctamente, error al almacenar en dispositivo local, consulte con su

proveedor de servicios.

El web service devuelve un error diferente de estado correcto, el sistema

muestra la alerta con el código de error devuelto y el mensaje devuelto.

Error al recuperar parámetros, el sistema no puede recuperar los

parámetros de conexión, el sistema muestra un alerta con el código de

error 120000 y el mensaje error al recuperar parámetros de conexión.

46

Page 49: Informe de practicas-Sistema de Banca Móvil para Cooperativas

III.5 ANALISIS DE ROBUSTEZ

CU6: Deposito

sd Depósito cuenta de ahorros

CU6: depósito en cuenta de ahorrosDescripción:El socio realiza un depósito en su cuenta de ahorrosCurso básico:En la lista de menú ahorro, el usuario pulsasobre la opción de depósito, el sistema recupera los datos de Socio que está en sesión y la Cuenta Socio que está activa, a continuación el sistema muestra el formulario de depósito en el midlet con los datos de nombre de usuario, cuenta de socio, respectivamente llenados, el usuario ingresa la cantidad a depositar y hace clic sobre procesar, el sistema muestra un alertade verificación si está conforme con la transacción o no, el usuario pulsa sobre procesar, el sistema muestra al usuario la pantalla de espera, el sistema verifica la cantidad de depósito, recupera los parámetros de conexión desde parámetros, el sistema cifra los datos de número de cuenta y numero de documento del socio, luego se conecta con el web serv ice y envía los datos del depósito, el valor de la operación, como son el valor del depósito, la cuenta del socio, el número de identificación del socio, el nombre de usuario que está en sesión, el numero de bluetooth para la seguridad, y envía al web services estos datos; el sistema recibe la respuesta del web serv ice, parsea el mensaje recibido y obtiene el error y los datos del depósito, verifica el error devuelto por el web service y si el error es considerado como correcto, el sistema guarda los datos cuanta socio, numero documento del socio, el valor de latransacción, el usuario en sesión, el numero de referencia, el numero de secuencia de impresión , la fecha y hora dedepósito en Operaciones Ahorro, y el sistema muestra una alerta de transacción realizada correctamente, y si desea imprimir la transacción.Curso alterno: No hay respuesta del web service:

después de un tiempo de15 segundos el web service no responde, el sistema cierra la conexión y crea un Error el cual es devuelto a la interface, la interface valida el error y muestra una alerta con el código y descripción del error.

El web service devuelve los datos incompletos, el sistema crea un Error ylo devuelve a interface, en aquí muestra un alerta con el código y descripción del error.

La transacción se realizó de forma correcta pero no se almacenó en la base de datos local: el sistema al almacenar los datos en la base de datos local, surge un error, el sistema muestra un alerta con el código de error respectivo y el mensaje de error, transacción realizada correctamente, error al almacenar en dispositivo local, consulte con su proveedor de servicios.

El web service devuelve un error diferente de estado correcto, el sistema muestra la alerta con el código de error devuelto y el mensaje devuelto.

Error al recuperar parámetros, el sistema no puede recuperar los parámetros de conexión, el sistema muestra un alerta con el código de error 120000 y el mensaje error al recuperar parámetros de conexión.

Usuario

(from Actors)midlet Knet

muestra lista deopciones de menu de

ahorros

muestra formulario dedepósito en midlet

recupera los datos deusuario como el

nombre de usuario

usuario

recupera los datos desocio, nombre y

apellidosocio

recupera datos decuenta de ahorro como

el numero de cuentatipo moneda

cuentaAhorro

muestra alerta deverificacion de

transacción en midlet,con mensaje desea

realizar la trnasacción?recupera parámetros

de conexión

conecta con webservice

envia los datos deldepósito como

identificación delsocio, identificaciondel usuario, numero

cuenta, valor dedepósito, numero

bluetooth

muestra la pantalla deespera de transacción

de depósito

espera respuesta delweb service

la respuesta fueexitosa?

parsea respuesta yobtiene el error

Errores

surgió algun error en latransacción?

guarda datos dedepósito

Operacion AH

guardado correcto'

muestra mensaje deeror en la transacci{on

muestra alerta de errorcon mensaje de error

al guardado

muestra alerta detransacción realizada

correctamente

muestra alerta de errorcon mensaje error en

comunicación

muestra alerta de errorcon mensaje tiempode espera agotado

recuperado losparámetros

correctamente?

muestra alaerta deerror conmensaje de

error al recuperarparámetros

Parametros

WebServiceespera agotada

opcion seleccionada es si

ingresa el valor dedepósito y pulsa enprocesar

clic en depósito

sino

no

no

sino

si

si

Figura 3. 6: Diagrama de robustez de caso de uso depósito

47

Page 50: Informe de practicas-Sistema de Banca Móvil para Cooperativas

class bean

CuentaAhorro

+ moneda: String+ numDoc: String+ numeroCuenta: String+ producto: String+ saldo: String

CuentaCredito

+ cuotasAtraso: String+ diasAtraso: String+ moneda: String+ montoCUota: String+ nombreProducto: String+ numCuotasCred: String+ numDoc: String+ numeroCuenta: String+ numeroCuota: String+ saldoDeuda: String+ totalCred: String

DatosFinancierosSocio

- alimentacion: String- comisiones: String- deudas: int

Departamento

+ idDepartamento: String+ nombreDepartamento: String

Distrito

+ codDepartamento: String+ codDistrito: String+ codProvincia: String+ nombreDistrito: String

Empresa

+ codEmpresa: String+ nombreEmpresa: String

Errores

+ descError: String+ idError: String

OperacionAh

+ cuentaSocio: String+ error: String+ fechaMov: String+ moneda: String+ monto: String+ nombreSocio: String+ noSocio: String+ numMov: String+ operador: String+ saldo: String+ secImpresion: String+ tipoProceso: String

Parametro

+ direc: String+ ipCoope: String+ nomCoop: String+ telef: String

Prov incia

+ codDepartamento: String+ codProvincia: String+ nombreProvincia: String

Socio

+ apelidoMat: String+ apell idoPat: String+ ciuced: String+ codCiiu: String+ codDiv: String+ codSegmento: String+ correoElec: String+ departamento: String+ depNace: String+ direccionResidencia: String+ distNace: String+ distrito: String+ dniFecha: String+ empresaLabora: String+ envioCorrespondencia: String+ estadoCivil: String+ estrato: String+ fechaIngreso: String+ fechaModif: String+ fecNacimiento: String+ isRegistro: String+ nacionalidad: String+ nivelEducacion: String+ noCelular: String+ nombre: String+ noTelefono: String+ numDoc: String+ pais: String+ paisNace: String+ perCargoAdu: String+ perCargoMen: String+ perDeduccion: String+ profesion: String+ propiedadVivienda: String+ provincia: String+ provNace: String+ salario: String+ sexo: String+ tipoContrato: String+ tipoDoc: String+ tipoVivienda: String

Transferencias

Usuario

+ nombreUsuario: String+ numBlue: String+ pasUsuario: String

cuenta

- numeroCuenta: String

OperacionesCredito

- Fecha: String- moneda: String- montoPagado: string- numCuota: String- numRef: String

realiza

1

se_realiza_con

0..*

1

posee

1

1

realiza

0..*

0..*

tiene

1

0

tiene

0..1

0..1

pertenece

0..*

1

ubica

0..*

1

ubica

0..*

1

ubica

0

realiza

1

realiza0..*

1 recibe0..*

realiza

realiza

Figura 3. 7: Modelo de dominio actualizado

48

Page 51: Informe de practicas-Sistema de Banca Móvil para Cooperativas

III.6 REVISION PRELIMINAR DE DISEÑO

Caso de uso rectificado:

CU6: depósito en cuenta de ahorros

Descripción:

El socio realiza un depósito en su cuenta de ahorros

Curso básico:

En la pantalla de menú de Ahorro, el usuario pulsa sobre la opción de

depósito; el sistema recupera los datos de Socio que está en sesión y la

Cuenta Socio que está activa, y muestra la pantalla de depósito con los

datos: nombre de usuario, cuenta de socio, número de identificación de

socio, respectivamente llenados.

El usuario ingresa la cantidad a retirar y hace clic sobre procesar; el sistema

muestra un alerta de verificación si está conforme con la transacción o no,

el usuario pulsa sobre si, el sistema muestra al usuario la pantalla de

espera; el sistema verifica la cantidad de retiro, recupera los parámetros de

conexión de parámetros, el sistema cifra los datos de número de cuenta y

número de documento del socio, luego se conecta con el web service y

envía los datos de depósito: cuenta de socio, número de identificación de

socio, nombre de usuario, valor de retiro, el numero de bluetooth, y los

envía al web services.

El sistema espera la respuesta del web service por un tiempo prudencial.

El sistema recibe la respuesta del web service, parsea el mensaje recibido y

obtiene el error y los datos del retiro, verifica el error devuelto por el web

service y si el error es considerado como correcto, el sistema guarda los

datos cuenta socio, numero documento del socio, el valor de la transacción,

el usuario en sesión, el numero de referencia, el numero de secuencia de

impresión , la fecha y hora de depósito en Operaciones Ahorro, y el sistema

muestra una alerta de transacción realizada correctamente, y si desea

imprimir la transacción.

Curso alterno:

Error al recuperar parámetros, el sistema no puede recuperar los

parámetros de conexión, el sistema muestra un alerta de error con el

mensaje error al recuperar parámetros.

No hay respuesta del web service: después de un tiempo de15 segundos

el web service no responde, el sistema cierra la conexión y crea un Error

49

Page 52: Informe de practicas-Sistema de Banca Móvil para Cooperativas

el cual es devuelto a la interface, la interface valida el error y muestra

una alerta con el mensaje tiempo de espera agotado.

El web service devuelve los datos incompletos, el sistema muestra un

alerta de error con mensaje de datos incompletos.

La transacción se realizó de forma correcta pero no se almacenó en la

base de datos local: el sistema al almacenar los datos en la base de

datos local, surge un error, el sistema muestra un alerta con el código

de error respectivo y el mensaje de error, transacción realizada

correctamente, error al almacenar en dispositivo local, consulte con su

proveedor de servicios.

50

Page 53: Informe de practicas-Sistema de Banca Móvil para Cooperativas

Diagrama de robustez revisado

sd Depósito cuenta de ahorros

Descripción:El socio realiza un depósito en su cuenta de ahorrosCurso básico:En la pantalla de menú de Ahorro, el usuario pulsa sobre la opción de depósito; el sistema recupera los datos de Socio que está en sesión y la Cuenta Socio que está activa, y muestra la pantalla de depósito con los datos: nombre de usuario, cuenta de socio, número de identificación de socio, respectivamente llenados.El usuario ingresa la cantidad a retirar y hace clic sobre procesar; el sistema muestra un alerta de verificación si está conforme con la transacción o no, el usuario pulsa sobre si, el sistema muestra al usuario la pantalla de espera; el sistema verifica la cantidad de retiro, recupera los parámetros de conexión de parámetros, el sistema cifra los datos de número de cuenta y número de documento del socio, luego se conecta con el web service y envía los datos de depósito: cuenta de socio, número de identificación de socio, nombre de usuario, valor de retiro, el numero de bluetooth, y los envía al web services.El sistema espera la respuesta del web service por un tiempo prudencial.El sistema recibe la respuesta del web service, parsea el mensaje recibido y obtiene el error y los datos del retiro, verifica el error devuelto por el web service y si el error es considerado como correcto, el sistema guarda los datos cuenta socio, numero documento del socio, el valor de la transacción, el usuario en sesión, el numerode referencia, el numero de secuencia de impresión , la fecha y hora de depósito en Operaciones Ahorro, y el sistema muestra una alerta de transacción realizada correctamente, y si desea imprimir la transacción.Curso alterno:

Error al recuperar parámetros, el sistema no puede recuperar los parámetros de conexión, el sistemamuestra un alerta de error con el mensaje error al recuperar parámetros.

No hay respuesta del web service: después de un tiempo de15 segundos el web service no responde, el sistema cierra la conexión y crea un Error el cual es devuelto a la interface, la interface valida el error y muestra una alerta con el mensaje tiempo de espera agotado.

El web service devuelve los datos incompletos, el sistema muestra un alerta de error con mensaje de datos incompletos.

La transacción se realizó de forma correcta pero no se almacenó en labase de datos local: el sistema al almacenar los datos en la base de datos local, surge un error, el sistema muestra un alerta con el código de error respectivo y el mensaje de error, transacción realizada correctamente, error al almacenar en dispositivo local, consulte con su proveedor de servicios.

Usuario

(from Actors)

pantalla de depósito

muestra lista deopciones de menu de

ahorros

muestra pantalla dedepósito

recupera los datos deusuario como el

nombre de usuario

usuario

recupera los datos desocio, nombre y

apellido

socio

recupera datos decuenta de ahorro como

el numero de cuentatipo moneda

cuentaAhorro

muestra alerta deverificacion de

transacción en midlet,con mensaje desea

realizar la trnasacción? recupera parámetrosde conexión

envia los datos deldepósito como

identificación delsocio, identificaciondel usuario, numero

cuenta, valor dedepósito, numero

bluetooth

muestra la pantalla deespera de transacción

de depósito

espera respuesta delweb service

la respuesta fueexitosa?

parsea respuesta yobtiene el error

Errores

surgió algun error en latransacción?

guarda datos dedepósito

Operacion AH

guardado correcto'

muestra mensaje deeror en la transacci{on

muestra alerta de errorcon mensaje de error

al guardado

muestra alerta detransacción realizada

correctamente

muestra alerta de errorcon mensaje error en

comunicación

muestra alerta de errorcon mensaje tiempode espera agotado

recuperado losparámetros

correctamente?muestra alaerta de

error conmensaje deerror al recuperar

parámetros

Parametros

WebService

Pantalla de menúahorro

Pantalla de espera dedepósito

cifra datos

si

no

sino

no

esperaagotada

clic en no

opcion seleccionada essi

si

ingresa el valor dedepósito y pulsa enprocesar

clic en depósito

sino

Figura 3. 8: Diagrama de robustez revisado de caso de uso depósito

51

Page 54: Informe de practicas-Sistema de Banca Móvil para Cooperativas

III.7 ARQUITECTURA TECNICA

Topología de sistema

Figura 3. 9: Topología de sistema móvil

52

Page 55: Informe de practicas-Sistema de Banca Móvil para Cooperativas

Diagrama de componentes

cmp Diagrma de componentes

Vistas

Midlet

Controladores

Controladores de operaciones

Modelo

DAO Beans

WebServ ice

Figura 3. 10; Diagrama de componentes de sistema movil

53

Page 56: Informe de practicas-Sistema de Banca Móvil para Cooperativas

Diagrama de despliegue

deployment Diagrama de despliegue

Capa de presentación

Midlet

Logica

Controladores

Componentes de acceso a datos

Base de datos

Base de datos

Figura 3. 11:Diagrama de despliegue de sistema móvil

54

Page 57: Informe de practicas-Sistema de Banca Móvil para Cooperativas

III.8 DIAGRAMAS DE SECUENCIA

CU6: depósito

sd Depósito cuenta de ahorros

Usuario

(from Actors)

pantalla dedepósito

Operacion AH Parametros cuentaAhorro socio usuarioPantalla de menúahorro

Pantalla deespera dedepósito

WebServ ice

Descripción:El socio realiza un depósito en su cuenta de ahorrosCurso básico:En la pantalla de menú de Ahorro, el usuario pulsa sobre la opción de depósito; el sistema recupera los datos de Socio que está en sesión y la Cuenta Socio que está activa, y muestra la pantalla de depósito con los datos: nombre de usuario, cuenta de socio, número de identificación de socio, respectivamente llenados.El usuario ingresa la cantidad a retirar y hace clic sobre procesar; el sistema muestra un alerta de verificación si está conforme con la transacción o no, el usuario pulsa sobre si, el sistema muestra al usuario la pantalla de espera; el sistema verifica la cantidad de retiro, recupera los parámetros de conexión de parámetros, el sistema cifra los datos de número de cuenta y número de documento del socio, luego se conecta con el web service y envía los datos de depósito: cuenta de socio, número de identificación de socio, nombre de usuario, valor de retiro, el numero de bluetooth, y los envía al web services.El sistema espera la respuesta del web service por un tiempoprudencial.El sistema recibe la respuesta del web service, parsea el mensaje recibido y obtiene el error y los datos del retiro, verifica el error devuelto por el web service y si el error es considerado como correcto, el sistema guarda los datos cuenta socio, numero documento del socio, el valor de la transacción, el usuario en sesión, el numero de referencia, el numero de secuencia de impresión , la fecha y hora de depósito en Operaciones Ahorro, y el sistema muestra una alerta de transacción realizada correctamente, y si desea imprimir la transacción.Curso alterno:

Error al recuperar parámetros, el sistema no puede recuperar los parámetros de conexión, el sistema muestra un alerta de error con el mensaje error al recuperar parámetros.

No hay respuesta del web service: después de un tiempo de15 segundos el web service no responde, el sistema cierra la conexión y crea un Error el cual es devuelto a la interface, la interface valida el error y muestra una alerta con el mensaje tiempo de espera agotado.

El web service devuelve los datos incompletos, el sistema muestra un alerta de error con mensaje de datos incompletos.

La transacción se realizó de forma correcta pero no se almacenó en la base de datos local: el sistema al almacenar los datos en la base de datos local, surge un error, el sistema muestra un alerta con el código de error respectivo y el mensaje de error, transacción realizada correctamente, error al almacenar en dispositivo local, consulte con su proveedor de servicios.

clic endepósito()

getPantallaDeposito()

get NombreUsuario():String

getNumDOc()

getNombre()

getNumCuenta():String

display()

ingresa monto deposito clic enprocesar()

getWaitScreenProcesandoDeposit()

display()movimiento(String usua, String bluetooth, String noIdentificacion, String cuenta, Stringmoneda, String producto, String montoEfectivo, String nombreSocio, String tipoProceso) :Errores

recuperaParametro()

operaciones( String bluetooth, String tipoProceso, String noIdentificacion, cuenta,String montoEfectivo, String usua, String moneda):String

parseaRetorno(String retorno):Void

traverseOperacion(Stringretorno)

newOperacion(String numMov, String tipoProceso, String noSocio,):boolean

comprobarTransaccion()

getAlertOk()

getAlertErrores()

display()

Figura 3. 12: diagrama de secuencia de caso de uso depósito

55

Page 58: Informe de practicas-Sistema de Banca Móvil para Cooperativas

sd Depósito cuenta de ahorros

Usuario

(from Actors)

pantalla dedepósito

Errores Operacion AH Parametros cuentaAhorro socio usuarioPantalla de menúahorro

Pantalla deespera dedepósito

COperacionesParametrosDAOWebServ ice

OperacionesDAO Encripta

Descripción:El socio realiza un depósito en su cuenta de ahorrosCurso básico:En la pantalla de menú de Ahorro, el usuario pulsa sobre la opción de depósito;el sistema recupera los datos de Socio que está en sesión y la Cuenta Socio que está activa, y muestra la pantalla de depósito con los datos: nombre de usuario, cuenta de socio, número de identificación de socio, respectivamente llenados.El usuario ingresa la cantidad a retirar y hace clic sobre procesar; el sistema muestra un alerta de verificación si está conforme con la transacción o no, el usuario pulsa sobre si, el sistema muestra al usuario la pantalla de espera; el sistema verifica la cantidad de retiro, recupera los parámetros de conexión de parámetros, el sistema cifra los datos de número de cuenta y número de documento del socio, luego se conecta con el web service y envía los datos de depósito: cuenta de socio, número de identificación de socio, nombre de usuario, valor de retiro, el numero de bluetooth, y los envía al web services.El sistema espera la respuesta del web service por un tiempo prudencial.El sistema recibe la respuesta del web service, parsea el mensaje recibido y obtiene el error y los datos del retiro, verifica el error devuelto por el web service y si el error es considerado como correcto, el sistema guarda los datos cuenta socio, numero documento del socio, el valor de la transacción, el usuario en sesión, el numero de referencia, el numero de secuencia de impresión , la fecha y hora de depósito enOperaciones Ahorro, y el sistema muestra una alerta de transacción realizada correctamente, y si desea imprimir la transacción.Curso alterno:

Error al recuperar parámetros, el sistema no puede recuperar los parámetros de conexión, el sistema muestra un alerta de error con el mensaje error al recuperar parámetros.

No hay respuesta del web service:después de un tiempo de15 segundos el web service no responde, el sistema cierra la conexión y crea un Error el cual es devuelto a la interface, la interface valida el error y muestra una alerta con el mensaje tiempo de espera agotado.

El web service devuelve los datos incompletos, el sistema muestra un alerta de error con mensaje de datos incompletos.

La transacción se realizó de forma correcta pero no se almacenó en la base de datos local: el sistema al almacenar los datos en la base de datos local, surge un error, el sistema muestra un alerta con el código de error respectivo y el mensaje de error, transacción realizada correctamente, error al almacenar en dispositivo local, consulte con su proveedor de servicios.

clic endepósito()

getPantallaDeposito()

get NombreUsuario():String

getNumDOc()

getNombre()

getNumCuenta():String

display()

ingresa monto deposito clic enprocesar()

getWaitScreenProcesandoDeposit()

display()

movimiento(String usua, String bluetooth, StringnoIdentificacion, String cuenta, String moneda,String producto, String montoEfectivo, StringnombreSocio, String tipoProceso) :Errores new

ParametrosDao()

getParametro(String codParametro):Parametro

encriptaDatos():String

operaciones( String bluetooth, String tipoProceso, String noIdentificacion, cuenta,String montoEfectivo, String usua, String moneda):String

parseaRetorno(String retorno):Void

traverseOperacion(Stringretorno)new OperacionesDAO()

newOperacion(String numMov, String tipoProceso, String noSocio,):boolean

comprobarTransaccion()

getAlertOk()

Error al recuperar parametros de conexion():Errores

Error no hay respuesta del wweb Service():Errores

error al obtener parametrosde conexion():Errores

No se guardó la transaccion():Errores

Error devuelto por el web service():Errores

getAlertErrores()

display()

56

Page 59: Informe de practicas-Sistema de Banca Móvil para Cooperativas

class bean

Socio

+ apelidoMat: String+ apellidoPat: String+ correoElec: String+ depNace: String+ direccionResidencia: String+ distNace: String+ dniFecha: String+ envioCorrespondencia: String+ estadoCivil: String+ estrato: String+ fechaIngreso: String+ fechaModif: String+ fecNacimiento: String+ nacionalidad: String+ nivelEducacion: String+ noCelular: String+ nombre: String+ noTelefono: String+ numDoc: String+ perCargoAdu: String+ perCargoMen: String+ perDeduccion: String+ profesion: String+ propiedadVivienda: String+ provNace: String+ salario: String+ sexo: String+ tipoContrato: String+ tipoDoc: String+ tipoVivienda: String

+ buscarSocio() : Socio+ newSocio(String, String, String, String, String, String) : void

CuentaAhorro

+ moneda: String+ numDoc: String+ numeroCuenta: String+ producto: String+ saldo: String

+ newCuentaAhorro(String, String, String, String, String) : void

Cuenta

- nombreCuenta: String- numerpoCuenta: String

Controladores::COperacion

~ erro: Error = new Errores()~ opera: OperacionesDAO = new OperacionesDAO()~ operaAH: OperacionAh = new OperacionAh()

+ movimiento(String, String, String, String, String, String, String, String, String) : Error+ parseaOperacion(String) : void+ traverseOperacion(XmlParser, String) : void

serv iceknetserv ice::serv iceknetServ ice_Stub

+ buscaCuentDest(String, String, String, String, int) : String+ buscarClientes(String, String, String) : String+ busquedaCuentas(String, String, String, int) : String+ login(String, String, String) : String+ operaciones(String, String, String, String, String, String, String) : String+ preAprobacionCred(String, String, String, String, String, String, String, String, String, String, String, String) : String+ transferencia(String, String, String, String, String, String, String, String) : String+ verificarComunicacion(String) : String

DAO::OperacionesDAO

+ CreateTblMovimientos() : J2METable+ getOperacion(String) : OperacionAh+ getOpers() : Vector+ newOperacion(String, String, String, String, String, String, String, String, String, String) : boolean+ OperacionesDAO()

DAO::ParametrosDAO

+ createTblParametro() : J2METable+ dropParametro() : void+ getContact(String) : String+ getParametros() : Vector+ newParametro(String, String, String) : boolean

DAO::SocioDAO

+ CreateTableSocio() : J2METable+ deleteSocio(String) : boolean+ getSocios() : Vector+ NewSocio(String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String) : boolean+ SocioDAO()+ uptadeSocio(String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String) : boolean

v ista::Midlet

+ getFormDeposito() : void

0..*

tiene

1~opera

Figura 3. 13: Modelo de clases de bajo nivel para caso de uso retiro

57

Page 60: Informe de practicas-Sistema de Banca Móvil para Cooperativas

class modelo

CuentaAhorro

+ moneda: String+ numDoc: String+ numeroCuenta: String+ producto: String+ saldo: String

+ newCuentaAhorro(String, String, String, String, String) : void

CuentaCredito

+ cuotasAtraso: String+ diasAtraso: String+ moneda: String+ montoCUota: String+ nombreProducto: String+ numCuotasCred: String+ numDoc: String+ numeroCuenta: String+ numeroCuota: String+ saldoDeuda: String+ totalCred: String

+ newCuentaCredito(String, String, String, String, String) : void

DatoFinancieroSocio

+ alimentacion: String+ comisiones: String+ deudas: String+ gastoArriendo: String+ honorarios: String+ ingArriendo: String+ otrosGastos: String+ otrosIngresos: String+ pensiones: String+ salud: String+ servicios: String+ util idadNegocio: String

+ newDatoFinanciero(String, Stirng, String, String, String) : void

Departamento

+ idDepartamento: String+ nombreDepartamento: String

+ getCodigoDepartamendo() : String

Distrito

+ codDepartamento: String+ codDistrito: String+ codProvincia: String+ nombreDistrito: String

+ getCodDistrito() : String

Empresa

+ codEmpresa: String- codigoDivision: String- codigoSegmento: String+ nombreEmpresa: String

+ getCodEmpresa() : String

OperacionAh

+ cuentaSocio: String+ error: String+ fechaMov: String+ moneda: String+ monto: String+ nombreSocio: String+ noSocio: String+ numMov: String+ operador: String+ saldo: String+ secImpresion: String+ tipoProceso: String

+ movimiento(String, String, String, String, String, String, String, String, String) : Error+ newOperacion(String, String, String) : boolean+ parseaRetorno(String) : void+ traverseOperacion(String) : void

Error

+ descError: String+ idError: String

+ getidError() : String

Prov incia

+ codDepartamento: String+ codProvincia: String+ nombreProvincia: String

+ getCodDepartamento() : String

Transferencia

+ cueDest: String+ cueOrig: String+ descErroe: String+ erroe: String+ fecha: String+ idDest: String+ idOrg: String+ moneda: String+ monto: String+ nomDes: String+ nomOri: String+ numRef: String+ operador: String+ secImpre: String

+ newTransferencia(String, String, String, String, String, String, String, String) : void

Socio

+ apelidoMat: String+ apellidoPat: String+ correoElec: String+ depNace: String+ direccionResidencia: String+ distNace: String+ dniFecha: String+ envioCorrespondencia: String+ estadoCivil: String+ estrato: String+ fechaIngreso: String+ fechaModif: String+ fecNacimiento: String+ nacionalidad: String+ nivelEducacion: String+ noCelular: String+ nombre: String+ noTelefono: String+ numDoc: String+ perCargoAdu: String+ perCargoMen: String+ perDeduccion: String+ profesion: String+ propiedadVivienda: String+ provNace: String+ salario: String+ sexo: String+ tipoContrato: String+ tipoDoc: String+ tipoVivienda: String

+ buscarSocio() : Socio+ newSocio(String, String, String, String, String, String) : void

Usuario

+ nombreUsuario: String+ numBlue: String+ pasUsuario: String

+ get NombreUsuario() : String+ getNombre() : String+ getNumCuenta() : String+ getNumDOc() : void

Cuenta

- nombreCuenta: String- numerpoCuenta: String

Ubigeo

- CodigoDepartamento: String- CodigoDistrito: String- CodigoProvincia: String- codigoUbigeo: String

+ getCodigoUbigeo() : String

0

tiene

0..1

2

se realiza encuenta

0..*

1

posee

11

ubica

0..*

1

ubica

0..*

1

se_realiza_con

0..*

0..1

pertenece

0..*naceen

1

ubica

0

1

realiza0..*

2

transfiere

0..*

1realiza

0..*

1realiza

0..*

0..*

tiene

1

Figura 3. 14: Diagrama de clases actualizado

58

Page 61: Informe de practicas-Sistema de Banca Móvil para Cooperativas

III.9 REVISION CRITICA DEL DISEÑO

Caso de uso rectificado:

CU6: depósito en cuenta de ahorros

Descripción:

El socio realiza un depósito en su cuenta de ahorros

Curso básico:

En la pantalla de menú de Ahorro, el usuario pulsa sobre la opción de

depósito, el sistema recupera los datos de Socio que está en sesión y la

Cuenta Socio que está activa, a continuación el sistema muestra la pantalla

de depósito con los datos: nombre de usuario, cuenta de socio, número de

identificación de socio, respectivamente llenados, el usuario ingresa la

cantidad a retirar y hace clic sobre procesar, el sistema muestra un alerta

de verificación si está conforme con la transacción o no, el usuario pulsa

sobre si, el sistema muestra al usuario la pantalla de espera, el sistema

verifica la cantidad de retiro, recupera los parámetros de conexión de

parámetros, el sistema cifra los datos de número de cuenta y número de

documento del socio, luego se conecta con el web service y envía los datos

de depósito: cuenta de socio, número de identificación de socio, nombre de

usuario, valor de retiro, el numero de bluetooth, y los envía al web services;

el sistema espera la respuesta; el sistema recibe la respuesta del web

service, parsea el mensaje recibido y obtiene el error y los datos del retiro,

verifica el error devuelto por el web service y si el error es considerado

como correcto, el sistema guarda los datos cuenta socio, numero

documento del socio, el valor de la transacción, el usuario en sesión, el

numero de referencia, el numero de secuencia de impresión , la fecha y

hora de depósito en Operaciones Ahorro, y el sistema muestra una alerta de

transacción realizada correctamente, y si desea imprimir la transacción.

Curso alterno:

Error al recuperar parámetros, el sistema no puede recuperar los

parámetros de conexión, el sistema muestra un alerta de error con el

mensaje error al recuperar parámetros.

No hay respuesta del web service: después de un tiempo de15 segundos

el web service no responde, el sistema cierra la conexión y crea un Error

el cual es devuelto a la interface, la interface valida el error y muestra

una alerta con el mensaje tiempo de espera agotado.

59

Page 62: Informe de practicas-Sistema de Banca Móvil para Cooperativas

El web service devuelve los datos incompletos, el sistema muestra un

alerta de error con mensaje de datos incompletos.

La transacción se realizó de forma correcta pero no se almacenó en la

base de datos local: el sistema al almacenar los datos en la base de

datos local, surge un error, el sistema muestra un alerta con el código

de error respectivo y el mensaje de error, transacción realizada

correctamente, error al almacenar en dispositivo local, consulte con su

proveedor de servicios.

60

Page 63: Informe de practicas-Sistema de Banca Móvil para Cooperativas

sd Depósito cuenta de ahorros

CU6: depósito en cuenta de ahorrosDescripción:El socio realiza un depósito en su cuenta de ahorrosCurso básico:En la pantalla de menú de Ahorro, el usuario pulsa sobre la opción de depósito, el sistema recupera los datos de Socio que esta en sesión y la Cuenta Socio que está activa, a continuación el sistema muestra lapantalla de depósito con los datos: nombre de usuario, cuenta de socio, número de identificación de socio, respectivamente l lenados, el usuario ingresa la cantidad a retirar y hace clic sobre procesar, el sistema muestra un alerta de verificación si está conforme con la transacción o no, el usuario pulsa sobre si, el sistema muestra al usuario la pantalla de espera, el sistema verifica la cantidad de retiro, recupera los parámetros de conexión de parámetros, el sistema cifra los datos de número de cuentay número de documento del socio, luego seconecta con el web service y envía los datos de depósito: cuenta de socio, numero de identificación de socio, nombre de usuario, valor de retiro, el numero de bluetooth, y los envía al web services; el sistema espera la respuesta; el sistema recibe la respuesta del web service, parsea el mensaje recibido y obtiene el error y los datos del retiro, verifica el error devuelto por el web service y si el error es considerado como correcto, el sistema guarda los datos cuenta socio, numero documento del socio, el valor de la transacción, el usuario en sesión, el numerode referencia, el numero de secuencia de impresión , la fecha y hora de depósito en Operaciones Ahorro, y el sistema muestra una alerta de transacción realizada correctamente, y si desea imprimir la transacción.Curso alterno: Error al recuperar parámetros, el

sistema no puede recuperar los parámetros de conexión, el sistema muestra un alerta de error con el mensaje error al recuperar parámetros.

No hay respuesta del web service: después de un tiempo de15 segundos el web service no responde, el sistema cierra la conexión y crea un Error el cual es devuelto a la interface, la interface valida el error y muestra una alerta con el mensaje tiempo de espera agotado.

El web service devuelve los datos incompletos, el sistema muestra un alerta de error con mensaje de datos incompletos.

La transacción se realizó de forma correcta pero no se almacenó en la base de datos local: el sistema al almacenar los datos en la base de datos local, surge un error, el sistema muestra un alerta con el código de error respectivo y el mensaje de error, transacción realizada correctamente, error al almacenar en dispositivo local,consulte con su proveedor de servicios.

Usuario

(from Actors)

pantalla de depósito

muestra lista deopciones de menu de

ahorros

muestra pantalla dedepósito

recupera los datos deusuario como el

nombre de usuario

usuario

recupera los datos desocio, nombre y

apell ido

socio

recupera datos decuenta de ahorro como

el numero de cuentatipo moneda

cuentaAhorro

muestra alerta deverificacion de

transacción en midlet,con mensaje desea

realizar la trnasacción? recupera parámetrosde conexión

envia los datos deldepósito como

identificación delsocio, identificaciondel usuario, numero

cuenta, valor dedepósito, numero

bluetooth

muestra la pantalla deespera de transacción

de depósito

espera respuesta delweb service

la respuesta fueexitosa?

parsea respuesta yobtiene el error

Errores

surgió algun error en latransacción?

guarda datos dedepósito

Operacion AH

guardado correcto'

muestra mensaje deeror en la transacci{on

muestra alerta de errorcon mensaje de error

al guardado

muestra alerta detransacción realizada

correctamente

muestra alerta de errorcon mensaje error en

comunicación

muestra alerta de errorcon mensaje tiempode espera agotado

recuperado losparámetros

correctamente?muestra alaerta de

error conmensaje deerror al recuperar

parámetros

Parametros

WebService

Pantalla de menúahorro

Pantalla de espera dedepósito

cifra datos

espera agotada

opcion seleccionada es si

ingresa el valor dedepósito y pulsa enprocesar

clic en depósito

clic en no

si

sino

no

no

sino

si

Figura 3. 15; Diagrama de robustez de caso de uso depósito revisado

61

Page 64: Informe de practicas-Sistema de Banca Móvil para Cooperativas

sd Depósito cuenta de ahorros

Usuario

(from Actors)

pantalla dedepósito

Errores Operacion AH Parametros cuentaAhorro socio usuarioPantalla de menúahorro

Pantalla deespera dedepósito

COperacionesParametrosDAOWebServ ice

OperacionesDAO Encripta

Descripción:El socio realiza un depósito en su cuenta de ahorrosCurso básico:En la pantalla de menú de Ahorro, el usuario pulsa sobre la opción de depósito;el sistema recupera los datos de Socio que está en sesión y la Cuenta Socio que está activa, y muestra la pantalla de depósito con los datos: nombre de usuario, cuenta de socio, número de identificación de socio, respectivamente llenados.El usuario ingresa la cantidad a retirar y hace clic sobre procesar; el sistema muestra un alerta de verificación si está conforme con la transacción o no, el usuario pulsa sobre si, el sistema muestra al usuario la pantalla de espera; el sistema verifica la cantidad de retiro, recupera los parámetros de conexión de parámetros, el sistema cifra los datos de número de cuenta y número de documento del socio, luego se conecta con el web service y envía los datos de depósito: cuenta de socio, número de identificación de socio, nombre de usuario, valor de retiro, el numero de bluetooth, y los envía al web services.El sistema espera la respuesta del web service por un tiempo prudencial.El sistema recibe la respuesta del web service, parsea el mensaje recibido y obtiene el error y los datos del retiro, verifica el error devuelto por el web service y si el error es considerado como correcto, el sistema guarda los datos cuenta socio, numero documento del socio, el valor de la transacción, el usuario en sesión, el numero de referencia, el numero de secuencia de impresión , la fecha y hora de depósito enOperaciones Ahorro, y el sistema muestra una alerta de transacción realizada correctamente, y si desea imprimir la transacción.Curso alterno:

Error al recuperar parámetros, el sistema no puede recuperar los parámetros de conexión, el sistema muestra un alerta de error con el mensaje error al recuperar parámetros.

No hay respuesta del web service:después de un tiempo de15 segundos el web service no responde, el sistema cierra la conexión y crea un Error el cual es devuelto a la interface, la interface valida el error y muestra una alerta con el mensaje tiempo de espera agotado.

El web service devuelve los datos incompletos, el sistema muestra un alerta de error con mensaje de datos incompletos.

La transacción se realizó de forma correcta pero no se almacenó en la base de datos local: el sistema al almacenar los datos en la base de datos local, surge un error, el sistema muestra un alerta con el código de error respectivo y el mensaje de error, transacción realizada correctamente, error al almacenar en dispositivo local, consulte con su proveedor de servicios.

clic endepósito()

getPantallaDeposito()

get NombreUsuario():String

getNumDOc()

getNombre()

getNumCuenta():String

display()

ingresa monto deposito clic enprocesar()

getWaitScreenProcesandoDeposit()

display()

movimiento(String usua, String bluetooth, StringnoIdentificacion, String cuenta, String moneda,String producto, String montoEfectivo, StringnombreSocio, String tipoProceso) :Errores new

ParametrosDao()

getParametro(String codParametro):Parametro

encriptaDatos():String

operaciones( String bluetooth, String tipoProceso, String noIdentificacion, cuenta,String montoEfectivo, String usua, String moneda):String

parseaRetorno(String retorno):Void

traverseOperacion(Stringretorno)new OperacionesDAO()

newOperacion(String numMov, String tipoProceso, String noSocio,):boolean

comprobarTransaccion()

getAlertOk()

Error al recuperar parametros de conexion():Errores

Error no hay respuesta del wweb Service():Errores

error al obtener parametrosde conexion():Errores

No se guardó la transaccion():Errores

Error devuelto por el web service():Errores

getAlertErrores()

display()

Figura 3. 16: Diagrama de secuencia de caso de uso depósito revisado

62

Page 65: Informe de practicas-Sistema de Banca Móvil para Cooperativas

class bean

Socio

+ apelidoMat: String+ apellidoPat: String+ correoElec: String+ depNace: String+ direccionResidencia: String+ distNace: String+ dniFecha: String+ envioCorrespondencia: String+ estadoCivil: String+ estrato: String+ fechaIngreso: String+ fechaModif: String+ fecNacimiento: String+ nacionalidad: String+ nivelEducacion: String+ noCelular: String+ nombre: String+ noTelefono: String+ numDoc: String+ perCargoAdu: String+ perCargoMen: String+ perDeduccion: String+ profesion: String+ propiedadVivienda: String+ provNace: String+ salario: String+ sexo: String+ tipoContrato: String+ tipoDoc: String+ tipoVivienda: String

+ buscarSocio() : Socio+ newSocio(String, String, String, String, String, String) : void

CuentaAhorro

+ moneda: String+ numDoc: String+ numeroCuenta: String+ producto: String+ saldo: String

+ newCuentaAhorro(String, String, String, String, String) : void

Cuenta

- nombreCuenta: String- numerpoCuenta: String

Controladores::COperacion

~ erro: Error = new Errores()~ opera: OperacionesDAO = new OperacionesDAO()~ operaAH: OperacionAh = new OperacionAh()

+ movimiento(String, String, String, String, String, String, String, String, String) : Error+ parseaOperacion(String) : void+ traverseOperacion(XmlParser, String) : void

serv iceknetserv ice::serv iceknetServ ice_Stub

+ buscaCuentDest(String, String, String, String, int) : String+ buscarClientes(String, String, String) : String+ busquedaCuentas(String, String, String, int) : String+ login(String, String, String) : String+ operaciones(String, String, String, String, String, String, String) : String+ preAprobacionCred(String, String, String, String, String, String, String, String, String, String, String, String) : String+ transferencia(String, String, String, String, String, String, String, String) : String+ verificarComunicacion(String) : String

DAO::OperacionesDAO

+ CreateTblMovimientos() : J2METable+ getOperacion(String) : OperacionAh+ getOpers() : Vector+ newOperacion(String, String, String, String, String, String, String, String, String, String) : boolean+ OperacionesDAO()

DAO::ParametrosDAO

+ createTblParametro() : J2METable+ dropParametro() : void+ getContact(String) : String+ getParametros() : Vector+ newParametro(String, String, String) : boolean

DAO::SocioDAO

+ CreateTableSocio() : J2METable+ deleteSocio(String) : boolean+ getSocios() : Vector+ NewSocio(String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String) : boolean+ SocioDAO()+ uptadeSocio(String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String) : boolean

v ista::Midlet

+ getFormDeposito() : void

0..*

tiene

1~opera

Figura 3. 17: Diagrama de clases de bajo nivel para caso de uso depósito

63

Page 66: Informe de practicas-Sistema de Banca Móvil para Cooperativas

class modelo

CuentaAhorro

+ moneda: String+ numDoc: String+ numeroCuenta: String+ producto: String+ saldo: String

+ newCuentaAhorro(String, String, String, String, String) : void

CuentaCredito

+ cuotasAtraso: String+ diasAtraso: String+ moneda: String+ montoCUota: String+ nombreProducto: String+ numCuotasCred: String+ numDoc: String+ numeroCuenta: String+ numeroCuota: String+ saldoDeuda: String+ totalCred: String

+ newCuentaCredito(String, String, String, String, String) : void

DatoFinancieroSocio

+ alimentacion: String+ comisiones: String+ deudas: String+ gastoArriendo: String+ honorarios: String+ ingArriendo: String+ otrosGastos: String+ otrosIngresos: String+ pensiones: String+ salud: String+ servicios: String+ uti l idadNegocio: String

+ newDatoFinanciero(String, Stirng, String, String, String) : void

Departamento

+ idDepartamento: String+ nombreDepartamento: String

+ getCodigoDepartamendo() : String

Distrito

+ codDepartamento: String+ codDistrito: String+ codProvincia: String+ nombreDistrito: String

+ getCodDistrito() : String

Empresa

+ codEmpresa: String- codigoDivision: String- codigoSegmento: String+ nombreEmpresa: String

+ getCodEmpresa() : String

OperacionAh

+ cuentaSocio: String+ error: String+ fechaMov: String+ moneda: String+ monto: String+ nombreSocio: String+ noSocio: String+ numMov: String+ operador: String+ saldo: String+ secImpresion: String+ tipoProceso: String

+ movimiento(String, String, String, String, String, String, String, String, String) : Error+ newOperacion(String, String, String) : boolean+ parseaRetorno(String) : void+ traverseOperacion(String) : void

Error

+ descError: String+ idError: String

+ getidError() : String

Prov incia

+ codDepartamento: String+ codProvincia: String+ nombreProvincia: String

+ getCodDepartamento() : String

Transferencia

+ cueDest: String+ cueOrig: String+ descErroe: String+ erroe: String+ fecha: String+ idDest: String+ idOrg: String+ moneda: String+ monto: String+ nomDes: String+ nomOri: String+ numRef: String+ operador: String+ secImpre: String

+ newTransferencia(String, String, String, String, String, String, String, String) : void

Socio

+ apelidoMat: String+ apell idoPat: String+ correoElec: String+ depNace: String+ direccionResidencia: String+ distNace: String+ dniFecha: String+ envioCorrespondencia: String+ estadoCivil: String+ estrato: String+ fechaIngreso: String+ fechaModif: String+ fecNacimiento: String+ nacionalidad: String+ nivelEducacion: String+ noCelular: String+ nombre: String+ noTelefono: String+ numDoc: String+ perCargoAdu: String+ perCargoMen: String+ perDeduccion: String+ profesion: String+ propiedadVivienda: String+ provNace: String+ salario: String+ sexo: String+ tipoContrato: String+ tipoDoc: String+ tipoVivienda: String

+ buscarSocio() : Socio+ newSocio(String, String, String, String, String, String) : void

Usuario

+ nombreUsuario: String+ numBlue: String+ pasUsuario: String

+ get NombreUsuario() : String+ getNombre() : String+ getNumCuenta() : String+ getNumDOc() : void

Cuenta

- nombreCuenta: String- numerpoCuenta: String

Ubigeo

- CodigoDepartamento: String- CodigoDistrito: String- CodigoProvincia: String- codigoUbigeo: String

+ getCodigoUbigeo() : String

0

tiene

0..1

2

se realiza encuenta

0..*

1

posee

11

ubica

0..*

1

ubica

0..*

1

se_realiza_con

0..*

0..1

pertenece

0..*naceen

1

ubica

0

1

realiza0..*

2

transfiere

0..*

1realiza

0..*

1realiza

0..*

0..*

tiene

1

Figura 3. 18; Diagrama de clases

64

Page 67: Informe de practicas-Sistema de Banca Móvil para Cooperativas

RECOMENDACIONES

a. Se recomienda emplear la metodología ICONIX para el desarrollo de

sistemas móviles.

b. Se recomienda hacer uso de lenguaje orientado a objetos en la

programación para la fácil reutilización de los componentes del

mismo.

c. Se recomienda a las cooperativas que adquieran el sistema de banca

móvil realizar un análisis de costo para la adquisición de equipos y

planes de datos para estos; de acuerdo a la cantidad de

transacciones proyectadas.

65

Page 68: Informe de practicas-Sistema de Banca Móvil para Cooperativas

BIBLIOGRAFIA

1. ALVARADO RIVAS, Mauricio; ALVARADO RIVERA, René y VARELA

PERLA, Haydé (2005). Sistema de inventario a través de internet y

dispositivo móvil. Proyecto de graduación para optar el grado de

ingeniero en ciencias de la computación. Universidad don Bosco. El

Salvador.

2. CARABALLO MAESTRA, Rodrigo. “Ingeniería de software, Introducción

a J2ME”. Disponible en

http://caraballomaestre.blogspot.com/2009/05/introduccion-

j2me.html, visitado el 24 de setiembre del 2011.

3. DAMIAN MARROQUIN, Félix (2006). Programación de dispositivos

móviles. Trabajo de graduación de Ingeniero de ciencias y sistemas.

Universidad De San Carlos de Guatemala. Guatemala

4. FROUTE QUINTAS, Agustín y JOREG CARDENES, Patricia. (2004) J2ME

Manual de usuario y tutorial. Alfa omega grupo editor. México.

5. GIMENO BRIEVA, Alberto (2004). JSR-82 Bluetooth desde java.

California - Estados Unidos de América.

6. MENDEZ CARVAJAL, Alejandro (2008). Prototipo de aplicación móvil

para consulta de información de novedades de un portafolio

financiero a través de un teléfono celular. Trabajo de grado para

optar el título de ingeniero de sistemas. Universidad del Bosque.

Bogotá – Colombia.

7. PRESSMAN, Roger (2002). Ingeniería de software, un enfoque

práctico.Editorial Mc Graw Hill. Quinta edición, Traducido de la

quinta edición en inglés de SOFTWARE ENGINEERING. A Practitioner’s

Approach. European Adaptation. Madrid – España.

8. ROSENBERG, Doud., STEPHENS, Matt. (2007). Use Case Driven Object

Modeling with UML: Theory and Practice. Editorial Springer. Estados

Unidos de América.

9. Wikipedia, 2011. Lenguaje de Modelado Unificado. Disponible en

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

Revisado el 24 de setiembre del 2011.

66

Page 69: Informe de practicas-Sistema de Banca Móvil para Cooperativas

ANEXO 1PROCESO ICONIX

MODELO DE DOMINIO INICIAL

class ModeloOminio

Operaciones

Cooperativa

Dispositiv o

CuentaSocio

SocioDatosPersonales

WebServ ice

Pais Departamento

Distrito

Prov incia

InformacionFinanciera

Empresa

CuentaCredito

CuentaSocio

usuario

Administrador

labora

haceuso

pertenece

realiza

efectua

Figura 1: Modelo de dominio inicial

67

Page 70: Informe de practicas-Sistema de Banca Móvil para Cooperativas

DIAGRAMAS DE CASOS DE USO POR PAQUETES

Paquetes de casos de uso

d. Empaquetado de casos de uso

uc Use Case Model

Administraciòn

+ Registrar parámetros

+ login

+ Reimprimir recibo

+ Traer catálogo ciiu, división, segmento

+ Traer catálogo ciudades

+ traer catálogo de Departamentos, provincias distritos

+ Traer catálogo de profesiones y empresas de trabajo

+ Verificar conexión

Operaciones

+ Cuenta ahorros

+ Cuenta crédito

+ Selección de cuenta ahorro

+ Selección de cuenta crédito

+ Seleccion de socio

+ Transferencia de Ahorros

Reportes

+ Reporte detallado de transacciones

+ Reporte total de transacciones

Cuenta ahorros

+ Apertura de cuenta de ahorros

+ Busqueda Cuenta de ahorros

+ Depósito cuenta de ahorros

+ Impresión de vouchers

+ Retiro cuenta de ahorros

Cuenta crédito

+ Abono a préstamo

+ Consulta de crédito

+ Pre aprobación de crédito

Figura 2: Diagrama de paquees de caso de uso

e. Paquete administración

uc Administracion

Reimprimir recibo Traer catálogo ciiu, div isión, segmento

Verificar conexión

login

traer catálogo de Departamentos,

prov incias distritos

Traer catálogo de profesiones y

empresas de trabajo

Usuario

(from Actors)

Operaciones

+ Cuenta ahorros

+ Cuenta crédito

+ Selección de cuenta ahorro

+ Selección de cuenta crédito

+ Seleccion de socio

+ Transferencia de Ahorros

(from Use Case Model)

Registrar parámetros

«precedes»

«precedes»

«invokes»

Figura 3: Diagrama de caso de uso del paquete administración

f. Paquete operaciones

68

Page 71: Informe de practicas-Sistema de Banca Móvil para Cooperativas

uc Operaciones

Selección de cuenta crédito

Selección de cuenta ahorro

Transferencia de Ahorros

Usuario

(from Actors)

Cuenta ahorros

+ Apertura de cuenta de ahorros

+ Busqueda Cuenta de ahorros

+ Depósito cuenta de ahorros

+ Impresión de vouchers

+ Retiro cuenta de ahorros

Cuenta crédito

+ Abono a préstamo

+ Consulta de crédito

+ Pre aprobación de crédito

Seleccion de socio

«precedes»

«precedes»

«precedes»

«precedes»

«precedes»

Figura 4: Diagrama de casos de uso del paquete operaciones

g. Paquete cuentas de ahorro

uc Cuenta ahorros

Apertura de cuenta de ahorros

Depósito cuenta de ahorros

Retiro cuenta de ahorros

Impresión de v ouchers

Busqueda Cuenta de ahorros

Usuario

(from Actors) «precedes»

«precedes»«invokes»

«invokes»

Figura 5: Diagrama de casos de uso del paquete de cuenta de ahorro

h. Paquete cuentas crédito

69

Page 72: Informe de practicas-Sistema de Banca Móvil para Cooperativas

uc Cuenta crédito

Consulta de crédito

Abono a préstamo

Pre aprobación de crédito

(from Cuenta ahorros)

Impresión de vouchers

Usuario

(from Actors)

«invokes»

«invokes»

Figura 6: Diagrama de casos de uso del paquete de cuentas de crédito

70

Page 73: Informe de practicas-Sistema de Banca Móvil para Cooperativas

DESCRIPCION DE CASOS DE USO

Figura 7: Prototipo de interface, pantalla login

CU1: Login

Descripción:

El usuario inicia sesión para el uso del sistema

Curso básico:

El sistema muestra al usuario la pantalla de login.

El usuario ingresa su nombre de usuario y contraseña y pulsa en la opción

iniciar sesión, el sistema muestra la pantalla de espera de login.

El sistema valida si es correcto el ingreso de datos, luego valida si los datos

ingresados pertenecen al administrador, el sistema recupera los parámetros

de conexión como son la ip de conexión del web service, recupera la

dirección bluetooth, y se conecta con web services y envía el nombre de

usuario y la contraseña al web service.

El web service responde con un mensaje, el sistema parsea el mensaje y

obtiene el error; el sistema compara si el error es de operación correcta el

sistema parsea los datos del usuario como son el nombre de usuario,

apellidos, nombre de usuario, y los almacena en usuario; y el sistema

muestra la pantalla de búsqueda socio.

71

Page 74: Informe de practicas-Sistema de Banca Móvil para Cooperativas

Curso Alterno:

No existen parámetros, el sistema recuperar los parámetros de conexión,

no encuentra ningún parámetro almacenado, el sistema muestra un

alerta con el mensaje de no existen parámetros.

El tiempo de espera agotado: el sistema al enviar los datos respectivos al

web service, demora en la obtener respuesta, el sistema muestra un

alerta con el mensaje tiempo de espera agotado.

El error obtenido del web service es operación incorrecta, el sistema

muestra el mensaje con el mensaje obtenido del error.

El nombre de usuario y contraseña pertenecen al administrador de

equipo, el sistema muestra la pantalla de registro de parámetros.

CU2: Registrar parámetros

Descripción:

El Usuario registra los parámetros para el funcionamiento del sistema móvil

Curso básico:

El sistema muestra la pantalla de registro de parámetros, y el usuario

ingresa la ip del web service, el nombre de la cooperativa, el código de la

cooperativa, dirección de la cooperativa, teléfono de la cooperativa, y

presiona en registrar parámetros.

El sistema verifica los datos ingresados, el sistema limpia la tabla de

parámetros de la base de datos y los almacena en la base de datos del

equipo.

El sistema devuelve un código de error el sistema verifica el código de error

y muestra la alerta con el mensaje de parámetros ingresados

correctamente, el usuario presiona sobre ok y el sistema muestra la pantalla

de login del sistema.

Curso alterno:

72

Page 75: Informe de practicas-Sistema de Banca Móvil para Cooperativas

Parámetros incorrectos: el usuario no ingresó los 5 parámetros o ingresó

incorrectamente los parámetros, el sistema muestra una alerta de error

con el mensaje “datos ingresados incorrectos”.

Error al guardar los parámetros en la base de datos: el sistema el

intentar guardar los parámetros no obtiene respuesta o surge un error al

guardar en base de datos, el sistema muestra un alerta con el mensaje

"error al registrar parámetros"

CU3: Selección de socio

Descripción:

El Usuario realiza una búsqueda del socio, y selecciona de la lista

encontrada a uno para realizar operaciones con el socio.

Curso Básico:

En la pantalla búsqueda de socio, el usuario ingresa el DNI del socio y

selecciona la opción búsqueda por DNI, y pulsa en la opción buscar, el

sistema muestra la pantalla de espera de búsqueda socio.

El sistema verifica los datos, recupera los parámetros de conexión como son

ip del web service de parámetros, inicializa el web service con los

parámetros y envía los datos de numero bluetooth, el DNI del cliente, el id

del usuario y los envía al web service.

El sistema espera la respuesta del web service.

El web service responde la petición con un mensaje, el sistema parsea la

cadena devuelta y almacena los datos llegados en Socio y Errores, el

sistema verifica el error devuelto por el web service, si está correcto la

devolución el sistema guarda los datos en socio en la base de datos local

del sistema, verifica el error al guardar en base de datos y muestra en la

pantalla la lista de socios, con el DNI del socio, nombres y apellidos del

socio.

El usuario hace clic sobre uno de los socios encontrados, el sistema guarda

en sesión los datos del socio como el número documento, nombre y

apellidos y muestra la pantalla de menú operaciones.

Curso alterno:

73

Page 76: Informe de practicas-Sistema de Banca Móvil para Cooperativas

Tiempo de espera agotado: después de un tiempo de 10 segundos el

web service no responde, el muestra un alerta de error con el mensaje,

tiempo de espera agotado.

El web service devuelve error: el sistema muestra un alerta con el

mensaje de error devuelto por el web service.

Error al guardar datos de socio en base de datos: el sistema muestra un

alerta de error con el mensaje error al guardar datos de socio en

dispositivo local.

Figura 8: Pantalla de búsqueda socio

Figura 9: Pantalla de selección socio

Figura 10: Pantalla de menú operaciones

74

Page 77: Informe de practicas-Sistema de Banca Móvil para Cooperativas

CU4: Selección de cuenta de ahorros

Descripción:

El usuario realiza una búsqueda de cuentas de ahorro del socio antes

seleccionado, y elige una cuenta para realizar las operaciones financieras en

la cuenta

Curso básico:

El usuario en la pantalla de menú operaciones, hace clic sobre la opción de

ahorro, el sistema muestra la pantalla de espera de búsqueda cuenta.

El sistema recupera la ip de conexión de parámetros, recupera los datos del

socio como el número de identificación, recupera los datos del usuario en

sesión, recupera la dirección bluetooth del dispositivo, y a continuación se

conecta con el web service y envía el código de usuario, la dirección

bluetooth, el número y tipo de identificación del socio al web service.

El sistema espera la respuesta del web service.

El web service responde con un mensaje, el sistema parsea el mensaje y

obtiene el código error de operación y el mensaje de error, si el error de

operación es de operación correcta, el sistema parsea el mensaje y obtiene

los datos de las cuentas ahorro del socio, como son el número de cuenta, la

moneda de la cuenta, nombre producto de la cuenta y retorna el error y la

lista de cuentas; el sistema comprueba que la lista de cuentas sea como

mínimo uno, el sistema muestra en la pantalla de cuentas de socio.

El usuario hace clic sobre una de las cuentas visualizadas, el sistema guarda

los datos de la cuenta seleccionada en sesión y muestra la lista de menú de

opciones de cuenta de ahorro.

Curso alterno:

Error al obtener los parámetros de conexión: el sistema no puede

obtener los parámetros de conexión, muestra un alerta con el mensaje

de “error al recuperar parámetros de conexión”.

No hay respuesta del web service: después de un tiempo de 10

segundos el web service no responde, el sistema cierra la conexión y

muestra un alerta con el mensaje de error de tiempo de espera agotado.

75

Page 78: Informe de practicas-Sistema de Banca Móvil para Cooperativas

El web service devuelve los datos incompletos, el sistema crea un Error y

lo devuelve a interface, en aquí muestra un alerta con el código y

descripción del error.

El socio no posee cuentas: el sistema muestra un alerta de error con el

mensaje de socio no posee cuentas de ahorro.

Figura 11: Pantalla de selección de cuenta ahorro

Figura 12; Pantalla de menú operaciones cuenta ahorro

CU5: Retiro

Descripción:

El socio realiza un retiro de su cuenta de ahorros

Curso básico:

En la pantalla de menú de Ahorro, el usuario pulsa sobre la opción de retiro,

el sistema recupera los datos de Socio que está en sesión y la Cuenta Socio

que está activa, y muestra la pantalla de retiro con los datos: nombre de

usuario, cuenta de socio, número de identificación de socio,

respectivamente llenados.

El usuario ingresa la cantidad a retirar y hace clic sobre procesar; el sistema

muestra un alerta de verificación si está conforme con la transacción o no,

76

Page 79: Informe de practicas-Sistema de Banca Móvil para Cooperativas

el usuario pulsa en la opción si, el sistema muestra al usuario la pantalla de

espera, el sistema verifica la cantidad de retiro, recupera los parámetros de

conexión de parámetros, el sistema cifra los datos de número de cuenta y

número de documento del socio.

El sistema se conecta con el web service y envía los datos de retiro: cuenta

de socio, número de identificación de socio, nombre de usuario, valor de

retiro, el número de bluetooth; el sistema espera la respuesta.

El sistema recibe la respuesta del web service, parsea el mensaje recibido y

obtiene el error y los datos del retiro, verifica el error devuelto por el web

service y si el error es considerado como correcto, el sistema guarda los

datos cuenta socio, numero documento del socio, el valor de la transacción,

el usuario en sesión, el numero de referencia, el numero de secuencia de

impresión , la fecha y hora de depósito en Operaciones Ahorro, y el sistema

muestra una alerta de transacción realizada correctamente, y si desea

imprimir la transacción.

Curso alterno:

Error al recuperar parámetros, el sistema no puede recuperar los

parámetros de conexión, el sistema muestra un alerta de error con el

mensaje error al recuperar parámetros.

No hay respuesta del web service: después de un tiempo de15 segundos

el web service no responde, el sistema cierra la conexión y crea un Error

el cual es devuelto a la interface, la interface valida el error y muestra

una alerta con el mensaje tiempo de espera agotado.

El web service devuelve los datos incompletos, el sistema muestra un

alerta de error con mensaje de datos incompletos.

La transacción se realizó de forma correcta pero no se almacenó en la

base de datos local: el sistema al almacenar los datos en la base de

datos local, surge un error, el sistema muestra un alerta con el código

de error respectivo y el mensaje de error, transacción realizada

correctamente, error al almacenar en dispositivo local, consulte con su

proveedor de servicios.

El web service devuelve un error diferente de estado correcto, el sistema

muestra la alerta de error con el código de error devuelto y el mensaje

devuelto.

77

Page 80: Informe de practicas-Sistema de Banca Móvil para Cooperativas

Figura 13: Pantalla de retiro

CU6: depósito en cuenta de ahorros

Descripción:

El socio realiza un depósito en su cuenta de ahorros

Curso básico:

En la pantalla de menú de Ahorro, el usuario pulsa sobre la opción de

depósito; el sistema recupera los datos de Socio que está en sesión y la

Cuenta Socio que está activa, y muestra la pantalla de depósito con los

datos: nombre de usuario, cuenta de socio, número de identificación de

socio, respectivamente llenados.

El usuario ingresa la cantidad a retirar y hace clic sobre procesar; el sistema

muestra un alerta de verificación si está conforme con la transacción o no,

el usuario pulsa sobre si, el sistema muestra al usuario la pantalla de

espera; el sistema verifica la cantidad de retiro, recupera los parámetros de

conexión de parámetros, el sistema cifra los datos de número de cuenta y

número de documento del socio, luego se conecta con el web service y

envía los datos de depósito: cuenta de socio, número de identificación de

socio, nombre de usuario, valor de retiro, el numero de bluetooth, y los

envía al web services.

El sistema espera la respuesta del web service por un tiempo prudencial.

El sistema recibe la respuesta del web service, parsea el mensaje recibido y

obtiene el error y los datos del retiro, verifica el error devuelto por el web

service y si el error es considerado como correcto, el sistema guarda los

datos cuenta socio, numero documento del socio, el valor de la transacción,

78

Page 81: Informe de practicas-Sistema de Banca Móvil para Cooperativas

el usuario en sesión, el numero de referencia, el numero de secuencia de

impresión , la fecha y hora de depósito en Operaciones Ahorro, y el sistema

muestra una alerta de transacción realizada correctamente, y si desea

imprimir la transacción.

Curso alterno:

Error al recuperar parámetros, el sistema no puede recuperar los

parámetros de conexión, el sistema muestra un alerta de error con el

mensaje error al recuperar parámetros.

No hay respuesta del web service: después de un tiempo de15 segundos

el web service no responde, el sistema cierra la conexión y crea un Error

el cual es devuelto a la interface, la interface valida el error y muestra

una alerta con el mensaje tiempo de espera agotado.

El web service devuelve los datos incompletos, el sistema muestra un

alerta de error con mensaje de datos incompletos.

La transacción se realizó de forma correcta pero no se almacenó en la

base de datos local: el sistema al almacenar los datos en la base de

datos local, surge un error, el sistema muestra un alerta con el código

de error respectivo y el mensaje de error, transacción realizada

correctamente, error al almacenar en dispositivo local, consulte con su

proveedor de servicios.

79

Page 82: Informe de practicas-Sistema de Banca Móvil para Cooperativas

Figura 14: Pantalla de depósito

80

Page 83: Informe de practicas-Sistema de Banca Móvil para Cooperativas

DIAGRAMAS DE ROBUSTEZ

CU1: Caso de uso login sd login

Descripción:El usuario inicia sesión para el uso del sistema

Curso básico:El sistema muestra al usuario la pantalla de login.El usuario ingresa su nombre de usuario y contraseña y pulsa en la opción iniciar sesión, el sistema muestra la pantalla de espera de login.El sistema valida si es correcto el ingreso de datos, luego valida si los datos ingresados pertenecen al administrador, el sistema recupera los parámetros de conexión como son la ip de conexión del web service, recupera la dirección bluetooth, y se conecta con web services y envía el nombre de usuario y la contraseña al web service.El web service responde con un mensaje, el sistema parsea el mensaje y obtiene el error; el sistema compara si el error es de operación correcta el sistema parsea los datos del usuario como son el nombre de usuario, apellidos, nombre de usuario, y los almacena en usuario; y el sistema muestra la pantalla de búsqueda socio.

Curso Alterno:

No existen parámetros, el sistema recuperar los parámetros de conexión, no encuentra ningún parámetro almacenado, el sistema muestra un alerta con el mensaje de no existen parámetros.

El tiempo de espera agotado: el sistema al enviar los datos respectivos al web service, demora en la obtener respuesta, el sistema muestra un alerta con el mensaje tiempo de espera agotado.

El error obtenido del web service es operación incorrecta, el sistema muestra el mensaje con el mensaje obtenido del error.

El nombre de usuario y contraseña pertenecen al administrador de equipo, el sistema muestra la pantalla de registro de parámetros.

visualiza pantalla deinicio sesion

datos ingresadoscorrectamente?

almacena datos enusuario

Usuario

Datos ingresadospertenecen aadministrador?

Registrar parámetros

Usuario

muestra alerta conmensaje de Ingrese

nuevamente sus datos

recupera parametrosde conexion

muestra pantalla deespera

Parametros

pantalla de espera deinicio sesion

encripta id ycontraseña

obtiene direccionbluetooth

Web service

conecta y envianombre de usuario,

contraseña encriptadosy direccion bluetooth

Parsea el mensaje yobtiene el error

Error

Error de operacioncorrecta?

muestra alerta conmensajede error

obtenido del webservice

parsea datos deusuario como el

nombre, apellido,nombre de usuario yalmacena en usuario

Usuario

visializa pantalla debusqueda socio

tiempo de esperaagotado?

muestra alerta conmensaje de tiempo de

espera agotado

pantalla busquedasocio

Pantalla de iniciosesion

no

ingresa usuario y contraseña

si

no

si

no

si

si

no

Figura 15: Diagrama de robustez de caso de uso login

81

Page 84: Informe de practicas-Sistema de Banca Móvil para Cooperativas

CU2: Registro de parámetros

sd Registrar parámetros

Descripción:El Usuario registra los parámetros para el funcionamiento del sistemamóvil

Curso básico:El sistema muestra la pantalla de registro de parámetros, y el usuario ingresa la ip del web service, el nombre de la cooperativa, el código de la cooperativa, direcciónde la cooperativa, teléfono de la cooperativa, y presiona en registrar parámetros.El sistema verifica los datos ingresados, el sistema limpia la tabla de parámetros de la base de datos y los almacena en la base dedatos del equipo.El sistema devuelve un código de error el sistema verifica el código de error y muestra la alerta con el mensaje de parámetros ingresados correctamente, el usuario presiona sobre ok y el sistema muestra la pantalla de login del sistema.

Curso alterno: Parámetros incorrectos: el

usuario no ingresó los 5 parámetros o ingresó incorrectamente los parámetros, el sistema muestra una alerta de error con el mensaje "datos ingresados incorrectos".

Error al guardar los parámetros en la base de datos: el sistema el intentar guardar los parámetros no obtiene respuesta o surge un error al guardar en base de datos, el sistema muestra un alerta con el mensaje "error al registrar parámetros"

pantalla registro deparámetros

Usuario

(from Actors)

visualiza pantalla deregistro de parámetros

Parametros

Guarda paràmetros

los datos fueroningresados

correctamente?

Muestra alerta de datosincorrectos limpia la tabla en base

de datos

Guardado correcto?muestra alerta de

guardado incorecto

Muestra alerta de datosregistrados

correctamente

el sistema muestra lapantalla de inicio delsistema en el midlet

pantalla de inicio desistema

pantalla de espera deregistro de parámetros

visualiza pantalla deesera de registro de

parámetros

no

el usuairo presiona en ok

Ingresa losparámetros ip,cadena deconexion,nombre decooeprativa,dirección ypresiona enregistrar

si

no

si

Figura 16: Diagrama de robustez de caso de uso registro parámetros

82

Page 85: Informe de practicas-Sistema de Banca Móvil para Cooperativas

CU3: Selección de socio sd Seleccion de socio

CU3: Selección de socioDescripción:El Usuario realiza una búsqueda del socio, y selecciona de la l ista encontrada a uno para realizar operaciones con el socio.

Curso Básico:En la pantalla búsqueda de socio, el usuario ingresa el DNI del socio y selecciona la opción búsqueda por DNI, y pulsa en la opción buscar, el sistema muestra la pantalla de espera de búsqueda socio.El sistema verifica los datos, recupera los parámetros de conexión como son ip del web service de parámetros, inicializa el web service con los parámetros y envía los datos de numero bluetooth, el DNI delcliente, el id del usuario y los envía al web service.El sistema espera la respuesta del web service.El web service responde la petición con un mensaje, el sistema parsea la cadena devuelta y almacena los datos l legados en Socio y Errores, el sistema verifica el error devuelto por el web service, si está correcto la devolución el sistema guarda los datos en socio en la base de datos local del sistema, verifica el error al guardar en base de datos y muestra en la pantalla la l ista de socios, con el DNI del socio, nombres y apellidos del socio.El usuario hace clic sobre uno de los socios encontrados, el sistema guarda en sesión los datos del socio como el numero documento, nombre y apell idos ymuestra la pantalla de menú operaciones.Curso alterno:

Tiempo de espera agotado: después de un tiempo de 10 segundos el web service no responde, el muestra un alerta de error con el mensaje, tiempo de espera agotado.

El web service devuelve error: el sistema muestra un alerta con el mensaje de error devuelto por el web service.

Error al guardar datos de socio en base de datos: el sistema muestra un alerta de error con el mensaje error al guardar datos de socio en dispositivo local.

pantalla de busquedasocio

Usuario

(from Actors)

Mostrar pantalla debusqueda socio

verifica si se ingresódatos correctos

Devuelve un error conel mensaje de datos

ingresados incorrectos

Recupera losparámetros de

conexión de webservice

Datos recuperadoscorrectamente?

muestra error ocnmensaje de erro al

recuperar parámetros

Almacena datos desocio como nombre,

tipo documento ynumero documento de

identidad

Socio

Envia datos al webservice busqueda socio

Tiempo de esperaagotado?

Parsea los datosobtenidos del web

service

Datos correctosdevueltos por web

service?

Devuelve error conmensaje de tiempo de

espera agotado

muestra pantalla deespera de selección

socio

muestra alerta de errorcon mensaje de error

devuelto por webservice

guarda datos del socio

muestra l ista de socio,con el dni del socio,nombre y apell ido

Web service

Coloca en sesión elusuario seleccionado

muestra la l ista demenú operaciones

pantalla de espera debusqueda socio

Pantalla de l ista desocios

pantalla de menu deoperaciones

Parametro

incorrectos

si

no

si

no

si

correctos

no

clic en uno de los usuarios

ingresa el DNI de socio yselecicona Busqueda porDNI, y pulsa en buscar

Figura 17: Diagrama de robustez de caso de uso Selección socio

83

Page 86: Informe de practicas-Sistema de Banca Móvil para Cooperativas

CU4: Selección de cuenta de ahorro sd Selección de cuenta ahorro

Descripción:El usuario realiza una búsqueda de cuentas de ahorro del socio antes seleccionado, y elige una cuenta para realizar las operaciones financieras en la cuentaCurso básico:El usuario en la pantalla de menú operaciones, hace clic sobre la opción de ahorro, el sistema muestra la pantalla de espera de búsqueda cuenta.El sistema recupera la ip de conexión de parámetros, recupera los datos del socio como el número de identificación, recupera los datos del usuario en sesión, recupera la dirección bluetooth del dispositivo, y acontinuación se conecta con el web service y envía el código de usuario, la dirección bluetooth, el número y tipo de identificación del socio al web service.El sistema espera la respuesta del webservice.El web service responde con un mensaje, el sistema parsea el mensaje y obtiene el código error de operación y el mensaje de error, si el error de operación es de operación correcta, el sistema parsea el mensaje y obtiene los datos de las cuentas ahorro del socio, como son el número de cuenta, la moneda de la cuenta, nombre producto de la cuenta y retorna el error y la l ista de cuentas; el sistema comprueba que la l ista de cuentas sea como mínimo uno, el sistema muestra en la pantalla de cuentas de socio.El usuario hace clic sobre una de las cuentas visualizadas, el sistema guarda los datos de la cuenta seleccionada en sesión y muestra la l ista de menú de opciones de cuenta de ahorro.

Curso alterno:

Error al obtener los parámetros de conexión: el sistema no puede obtener los parámetros de conexión, muestra un alerta con el mensaje de "error al recuperar parámetros de conexión".

No hay respuesta del web service: después de un tiempo de 10 segundos el web service no responde, el sistema cierra la conexión y muestra un alerta con el mensaje de error de tiempo de espera agotado.

El web service devuelve los datos incompletos, el sistema crea un Error y lo devuelve a interface, en aquí muestra un alerta con el código y descripción del error.

El socio no posee cuentas: el sistema muestra un alerta de error con el mensaje de socio no posee cuentas de ahorro.

usuario

Pantalla de menúopciones

muestra la pantalla deespera

recupera parámetrosde conexión como la

ip

Parámetros

Dstos recuperadoscorrectamente?

Muestra alerta conmensaje de error de no

error al recuperarparámetros de

conexión

recupera datos delusuario como el codigo

de usuario

Usuario

recupera datos delsocio como numero de

identificación

Socioconecta y envía losdatos de codigo deusuario, numero de

identificacion del socioy la direccionbluetooth del

dispositivo

Tiempod e esperaagotado?

Muestra alerta conmensaje de tiempo de

espera agotado

parsea el error yalmacena en error

Error

error de operacióncorrecta?

muestra alerta conmensaje obtenido delerror del web service

parsea los datos decuenta de socio y

guarda en cuenta socioy pone ensesion la

cuenta

pantalla de espera

Cuenta ahorro

muestra pantalla conlista de cuentas de

ahorro del socio

pantalla de lista decuentas de ahorro

el socio tiene cuentasde ahorro?

mostrar mensaje de noposee cuentas de

ahorro

webService

visualizaPantalla deoperaciones

Pantalla deoperaciones de cuenta

ahorro

si

clic en opcion deahorros

si

clic en una cuenta

no

no

si

no

si

no

Figura 18: Diagrama de robustez de caso de uso selección cuenta ahorro

84

Page 87: Informe de practicas-Sistema de Banca Móvil para Cooperativas

CU5: Retiro

sd Retiro cuenta de ahorros

Descripción:El socio realiza un retiro de su cuenta de ahorros

Curso básico:En la pantalla de menú de Ahorro, el usuario pulsa sobre la opción de retiro, el sistema recupera los datos de Socio que está en sesión y la Cuenta Socio que está activa, y muestra la pantalla de retiro con los datos: nombre de usuario, cuenta de socio, número de identificaciónde socio, respectivamente l lenados.El usuario ingresa la cantidad a retirar y hace clic sobre procesar; el sistema muestra un alerta de verificación si está conforme con la transacción o no, el usuario pulsa en la opción si, el sistema muestra al usuario la pantalla de espera, el sistema verifica la cantidad de retiro, recupera los parámetros de conexión de parámetros, el sistema cifra los datos de número de cuenta y número de documento del socio.El sistema se conecta con el web service y envía los datos de retiro: cuenta de socio, número de identificación de socio, nombre de usuario, valor de retiro, el número de bluetooth; el sistema espera la respuesta.El sistema recibe la respuesta del web service, parsea el mensaje recibido y obtiene el error y los datos del retiro, verifica el error devuelto por el web service y si el error es considerado como correcto, el sistema guarda los datos cuenta socio, numero documento del socio, el valor de la transacción, el usuario en sesión, el numero de referencia, el numero de secuencia de impresión , la fecha y hora de depósito en Operaciones Ahorro, y el sistema muestra una alerta de transacción realizada correctamente, y si desea imprimir la transacción.Curso alterno:

Error al recuperar parámetros, el sistema no puede recuperar los parámetros de conexión, el sistema muestra un alerta de error con el mensaje error al recuperar parámetros.

No hay respuesta del web service: después de un tiempo de15 segundos el web service no responde, el sistema cierra la conexión y crea un Error el cual es devuelto a la interface, la interface valida el error y muestra una alerta con el mensaje tiempo de espera agotado.

El web service devuelve los datos incompletos, el sistema muestra un alerta de error con mensaje de datos incompletos.

La transacción se realizó de forma correcta pero no se almacenó en la base de datos local: el sistema al almacenar los datos en la base de datos local, surge un error, el sistema muestra un alerta con el código de error respectivo y el mensaje de error, transacción realizada correctamente, error al almacenar en dispositivo local, consulte con su proveedor de servicios.

El web service devuelve un error diferente de estado correcto, el sistema muestra la alerta de error con el código de error devuelto y el mensaje devuelto.

Usuario

(from Actors)

pantalla de menúahorro

pantalla de retiro

Visualiza pantalla demenú de ahorros

Recupera los datos deusuario

Usuario

Socio

Recupera datos desocio

Recupera los datos decuenta de ahorro

Cuenta ahorro

Visualiza pantalla deretiro

Muestra alerta deverificación

Pantalla de espera detransacción de retiro

muestra pantalla deespera transacción de

depósitoRecupera parametros

de conexión

Parámetros

Parámetrosrecuperados

correctamente?

muestra alerta de errorcon mensaje error alrecuperar parámetros

conecta con webservice

envia los datos delretiro como

identificación delsocio, identificaciondel usuario, numero

cuenta, valor dedepósito, numero

bluetooth

espera respuesta delweb service

muestra alerta de rrorcon mensaje de

tiempo de esperaagotado

respeusta fué exitosa?

muestra alerta de errorcon mensaje error en

comunicación

Parsea respuesta yobtiene el error

surgió algún error en latransacción?

muestra alerta de errorcon mensaje de error

devuelto

obtiene datos de latransacción

guarda datos detransacción

operacion AH

guardado correcto?alerta de error con

mensaje detransacción realiada

correctamente, error alguardar en base dedatos local, consulte

con proveedor

muestra mensaje detransacción correcta, y

opción si deseaimprimir

Error

Web Service

clic en retiro

clic ensi

clic enno

ingresa monto y pulsaen procesar

no

sino

no

no

tiempo de espera agotado

sino

Figura 19: Diagrama de robustez de caso de uso retiro

85

Page 88: Informe de practicas-Sistema de Banca Móvil para Cooperativas

CU6: Deposito

sd Depósito cuenta de ahorros

Descripción:El socio realiza un depósito en su cuenta de ahorrosCurso básico:En la pantalla de menú de Ahorro, el usuario pulsa sobre la opción de depósito; el sistema recupera los datos de Socio que está en sesión y la Cuenta Socio que está activa, y muestra la pantalla de depósito con los datos: nombre de usuario, cuenta de socio, número de identificación de socio, respectivamente llenados.El usuario ingresa la cantidad a retirar y hace clic sobre procesar; el sistema muestra un alerta de verificación si está conforme con la transacción o no, el usuario pulsa sobre si, el sistema muestra al usuario la pantalla de espera; el sistema verifica la cantidad de retiro, recupera los parámetros de conexión de parámetros, el sistema cifra los datos de número de cuenta y número de documento del socio, luego se conecta con el web service y envía los datos de depósito: cuenta de socio, número de identificación de socio, nombre de usuario, valor de retiro, el numero de bluetooth, y los envía al web services.El sistema espera la respuesta del web service por un tiempo prudencial.El sistema recibe la respuesta del web service, parsea el mensaje recibido y obtiene el error y los datos del retiro, verifica el error devuelto por el web service y si el error es considerado como correcto, el sistema guarda los datos cuenta socio, numero documento del socio, el valor de la transacción, el usuario en sesión, el numerode referencia, el numero de secuencia de impresión , la fecha y hora de depósito en Operaciones Ahorro, y el sistema muestra una alerta de transacción realizada correctamente, y si desea imprimir la transacción.Curso alterno:

Error al recuperar parámetros, el sistema no puede recuperar los parámetros de conexión, el sistemamuestra un alerta de error con el mensaje error al recuperar parámetros.

No hay respuesta del web service: después de un tiempo de15 segundos el web service no responde, el sistema cierra la conexión y crea un Error el cual es devuelto a la interface, la interface valida el error y muestra una alerta con el mensaje tiempo de espera agotado.

El web service devuelve los datos incompletos, el sistema muestra un alerta de error con mensaje de datos incompletos.

La transacción se realizó de forma correcta pero no se almacenó en labase de datos local: el sistema al almacenar los datos en la base de datos local, surge un error, el sistema muestra un alerta con el código de error respectivo y el mensaje de error, transacción realizada correctamente, error al almacenar en dispositivo local, consulte con su proveedor de servicios.

Usuario

(from Actors)

pantalla de depósito

muestra lista deopciones de menu de

ahorros

muestra pantalla dedepósito

recupera los datos deusuario como el

nombre de usuario

usuario

recupera los datos desocio, nombre y

apellido

socio

recupera datos decuenta de ahorro como

el numero de cuentatipo moneda

cuentaAhorro

muestra alerta deverificacion de

transacción en midlet,con mensaje desea

realizar la trnasacción? recupera parámetrosde conexión

envia los datos deldepósito como

identificación del socio,identificacion delusuario, numerocuenta, valor de

depósito, numerobluetooth

muestra la pantalla deespera de transacción

de depósito

espera respuesta delweb service

la respuesta fueexitosa?

parsea respuesta yobtiene el error

Errores

surgió algun error en latransacción?

guarda datos dedepósito

Operacion AH

guardado correcto'

muestra mensaje deeror en la transacci{on

muestra alerta de errorcon mensaje de error al

guardado

muestra alerta detransacción realizada

correctamente

muestra alerta de errorcon mensaje error en

comunicación

muestra alerta de errorcon mensaje tiempo de

espera agotado

recuperado losparámetros

correctamente?muestra alaerta de

error conmensaje deerror al recuperar

parámetros

Parametros

WebService

Pantalla de menúahorro

Pantalla de espera dedepósito

cifra datos

si

no

sino

no

esperaagotada

clic en no

opcion seleccionada essi

si

ingresa el valor dedepósito y pulsa enprocesar

clic en depósito

sino

Figura 20: Diagrama de robustez de caso de uso depósito

86

Page 89: Informe de practicas-Sistema de Banca Móvil para Cooperativas

ARQUITECTURA TECNICA

a. Topología de sistema

Figura 21: Topología de sistema

87

Page 90: Informe de practicas-Sistema de Banca Móvil para Cooperativas

b. Diagrama de componentes

cmp Diagrma de componentes

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

Vistas

Midlet

Controladores

Controladores de operaciones

Modelo

DAO Beans

WebServ ice

Figura 22: Diagrama de componentes de sistema móvil

88

Page 91: Informe de practicas-Sistema de Banca Móvil para Cooperativas

c. Diagrama de despliegue

deployment Diagrama de despliegue

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version

Capa de presentación

Midlet

Logica

Controladores

Componentes de acceso a datos

Base de datos

Base de datos

Figura 23: Diagrama de despliegue de sistema móvil

89

Page 92: Informe de practicas-Sistema de Banca Móvil para Cooperativas

DIAGRAMAS DE SECUENCIA sd login

Usuario

(from Actors)

Usuario ErrorPantalla de iniciosesion

Parametros Web serv icepantalla deespera de inicio

sesion

pantalla busquedasocio

CLogin

Registrarparámetros

EncriptaDescripción:El usuario inicia sesión para el uso del sistema

Curso básico:El sistema muestra al usuario la pantalla de login.El usuario ingresa su nombre de usuario ycontraseña y pulsa en la opción iniciar sesión, el sistema muestra la pantalla de espera de login.El sistema valida si es correcto el ingreso de datos, luego valida si los datos ingresados pertenecen al administrador, el sistema recupera los parámetros de conexión como son la ip de conexión del web service, recupera la dirección bluetooth, y se conecta con web services y envía el nombre de usuario y la contraseña al web service.El web service responde con un mensaje, el sistema parsea el mensaje y obtiene el error; el sistema compara si el error es de operación correcta el sistema parsea los datos del usuario como son el nombre de usuario, apell idos, nombre de usuario, y los almacena en usuario; y el sistema muestra la pantalla de búsqueda socio.

Curso Alterno:

No existen parámetros, el sistema recuperar los parámetros de conexión, no encuentra ningún parámetro almacenado, el sistema muestra un alerta con el mensaje de no existen parámetros.

El tiempo de espera agotado: el sistema al enviar los datos respectivos al web service, demora en la obtener respuesta, el sistema muestra un alerta con el mensaje tiempo de espera agotado.

El error obtenido del web service es operación incorrecta, el sistema muestra el mensaje con el mensaje obtenido del error.

El nombre de usuario y contraseña pertenecen al administrador de equipo, el sistema muestra la pantalla de registro de parámetros.

ingresanombre deusuario ycontraseña()

displayWaitScreenInicioSesion()

new()

verificaDatos():Errores

validaDatosAdministrador():Usuario

inicioSesion(String contraseña, String usuario):Errores

new Usuario(contraseña, nombreUsuario)

recuperaParametros():Parametro

getDireccionBluetooth():String direccion

EncriptaDatos(claveUsuario)inicioSesion(nombreUsuario, claveUsuario,direccionBluetooth):String cadena

parseaXML(String cadena):Errores

display()

Tiempo de espera agotado()muestra alerta

No existen parámetros de conexiongetAlert()

Error obtenido del web service es operacion incorrecta(): Errores

getAlertaError()

El nombre y contrasena pertenecen a administrador , goTo()

Figura 24: Diagrama de secuencia de caso de uso login

90

Page 93: Informe de practicas-Sistema de Banca Móvil para Cooperativas

sd Registrar parámetros

Usuario

(from Actors)

pantalla registrode parámetros

ParametrosCParametro ParametroDAO

pantalla de iniciode sistema

pantalla deespera de registro

de parámetros

Descripción:El Usuario registra los parámetros para el funcionamiento del sistema móvil

Curso básico:El sistema muestra la pantalla de registro de parámetros, y el usuario ingresa la ip del web service, el nombre de la cooperativa, el código de la cooperativa, dirección de la cooperativa, teléfono de la cooperativa, y presiona en registrar parámetros.El sistema verifica los datos ingresados, el sistema limpia la tabla de parámetros de la base de datos y los almacena en la base de datos del equipo.El sistema devuelve un código de error el sistema verifica el código de error y muestra la alerta con el mensaje de parámetros ingresados correctamente, el usuario presiona sobre ok y el sistema muestra la pantalla de login del sistema.

Curso alterno: Parámetros incorrectos:

el usuario no ingresó los 5 parámetros o ingresó incorrectamente los parámetros, el sistema muestra una alerta de error con el mensaje "datos ingresados incorrectos".

Error al guardar los parámetros en la base de datos: el sistema el intentar guardar los parámetros no obtiene respuesta o surge un erroral guardar en base de datos, el sistema muestra un alerta con el mensaje "error al registrar parámetros"

getFrmRegistroParametro()

displayFrmParametro()

ingresa parametros clic en registrar()

display waitScreenRegistroParam()

registrarParametros(Parametro a):Errores

new()

dropParametro()

newParametro(Parametro):Errores

getAlerta(Errores)

clic en ok()

display()

Error al registrar parametro();Errores muestraalerta

Error datos ingresadosIncorrectos();Errores muestraalerta

getAlertaError()

Figura 25: Diagrama de secuencia de caso de uso registro de parámetros

91

Page 94: Informe de practicas-Sistema de Banca Móvil para Cooperativas

sd Selección de cuenta ahorro

usuarioCuenta ahorro Error ParámetrosSocio Usuariopantalla de

esperapantalla de listade cuentas de

ahorro

Pantalla de menúopciones

CCuentas ParametrosDAOWeb serv icepantalla de menu

de operaciones

Descripción:El usuario realiza una búsqueda de cuentas de ahorro del socio antes seleccionado, y elige una cuenta para realizar las operaciones financieras en la cuentaCurso básico:El usuario en la pantalla de menú operaciones, hace clic sobre la opción de ahorro, el sistema muestra la pantalla de espera de búsqueda cuenta.El sistema recupera la ip de conexión de parámetros, recupera los datos del socio como el número de identificación, recupera los datos del usuario en sesión, recupera la dirección bluetooth del dispositivo, y a continuación se conecta con el web service y envía el código de usuario, la dirección bluetooth, el número y tipo de identificación del socio al web service.El sistema espera la respuesta del web service.El web service responde con un mensaje, el sistema parsea el mensaje y obtiene el código error de operación y el mensaje de error, si el error de operación es de operación correcta, el sistema parsea el mensaje y obtiene los datos de las cuentas ahorro del socio, como son el número de cuenta, la moneda de la cuenta, nombre producto de la cuenta y retorna el error y la lista de cuentas; el sistema comprueba que la lista de cuentas sea como mínimo uno, el sistema muestra en la pantalla de cuentas de socio.El usuario hace clic sobre una de las cuentas visualizadas, el sistema guarda los datos de la cuenta seleccionada en sesión y muestra la lista de menú de opciones de cuenta de ahorro.

Curso alterno:

Error al obtener los parámetros de conexión: el sistema no puede obtener los parámetros de conexión, muestra un alerta con el mensaje de "error al recuperar parámetros de conexión".

No hay respuesta del web service:después de un tiempo de 10 segundos el web service no responde, el sistema cierra la conexión y muestra un alerta con el mensaje de error de tiempo de espera agotado.

El web service devuelve los datos incompletos, el sistema crea un Error y lo devuelve a interface, en aquí muestra un alerta con el código y descripción del error.

El socio no posee cuentas: el sistema muestra un alerta de error con el mensaje de socio no posee cuentas de ahorro.

clic en ahorro()

display()

newCCuentas()

buscarCuenta(String, Usuario , int ):Vector getParametro():

Parametro

getDocSocio()

busquedaCuentas(String nombreusuario, String direcBlue,String numDoc, int tipo):String

parseaBusquedaCuentas(String respWs):Vector

taskComproCantCuenta()

display()

clic en una cuenta()

new CCuentas(String numCuen, String nombre Cuenta)

display()

error al obtener parametros de conexion():Errores

timpo de espera agotado por web service():Errores

datos incompletos recibidos():Errores

getAlertErroes()

no posee cuentas el socio():Errores

verifica cuenta():Vector

displayList() no posee cuentas elsocio

Figura 26: Diagrama de secuencia de caso de uso Selección cuenta ahorro

92

Page 95: Informe de practicas-Sistema de Banca Móvil para Cooperativas

sd Depósito cuenta de ahorros

Usuario

(from Actors)

pantalla dedepósito

Errores Operacion AH Parametros cuentaAhorro socio usuarioPantalla de menúahorro

Pantalla deespera dedepósito

COperacionesParametrosDAOWebServ ice

OperacionesDAO Encripta

Descripción:El socio realiza un depósito en su cuenta de ahorrosCurso básico:En la pantalla de menú de Ahorro, el usuario pulsa sobre la opción de depósito;el sistema recupera los datos de Socio que está en sesión y la Cuenta Socio que está activa, y muestra la pantalla de depósito con los datos: nombre de usuario, cuenta de socio, número de identificación de socio, respectivamente llenados.El usuario ingresa la cantidad a retirar y hace clic sobre procesar; el sistema muestra un alerta de verificación si está conforme con la transacción o no, el usuario pulsa sobre si, el sistema muestra al usuario la pantalla de espera; el sistema verifica la cantidad de retiro, recupera los parámetros de conexión de parámetros, el sistema cifra los datos de número de cuenta y número de documento del socio, luego se conecta con el web service y envía los datos de depósito: cuenta de socio, número de identificación de socio, nombre de usuario, valor de retiro, el numero de bluetooth, y los envía al web services.El sistema espera la respuesta del web service por un tiempo prudencial.El sistema recibe la respuesta del web service, parsea el mensaje recibido y obtiene el error y los datos del retiro, verifica el error devuelto por el web service y si el error es considerado como correcto, el sistema guarda los datos cuenta socio, numero documento del socio, el valor de la transacción, el usuario en sesión, el numero de referencia, el numero de secuencia de impresión , la fecha y hora de depósito enOperaciones Ahorro, y el sistema muestra una alerta de transacción realizada correctamente, y si desea imprimir la transacción.Curso alterno:

Error al recuperar parámetros, el sistema no puede recuperar los parámetros de conexión, el sistema muestra un alerta de error con el mensaje error al recuperar parámetros.

No hay respuesta del web service:después de un tiempo de15 segundos el web service no responde, el sistema cierra la conexión y crea un Error el cual es devuelto a la interface, la interface valida el error y muestra una alerta con el mensaje tiempo de espera agotado.

El web service devuelve los datos incompletos, el sistema muestra un alerta de error con mensaje de datos incompletos.

La transacción se realizó de forma correcta pero no se almacenó en la base de datos local: el sistema al almacenar los datos en la base de datos local, surge un error, el sistema muestra un alerta con el código de error respectivo y el mensaje de error, transacción realizada correctamente, error al almacenar en dispositivo local, consulte con su proveedor de servicios.

clic endepósito()

getPantallaDeposito()

get NombreUsuario():String

getNumDOc()

getNombre()

getNumCuenta():String

display()

ingresa monto deposito clic enprocesar()

getWaitScreenProcesandoDeposit()

display()

movimiento(String usua, String bluetooth, StringnoIdentificacion, String cuenta, String moneda,String producto, String montoEfectivo, StringnombreSocio, String tipoProceso) :Errores new

ParametrosDao()

getParametro(String codParametro):Parametro

encriptaDatos():String

operaciones( String bluetooth, String tipoProceso, String noIdentificacion, cuenta,String montoEfectivo, String usua, String moneda):String

parseaRetorno(String retorno):Void

traverseOperacion(Stringretorno)new OperacionesDAO()

newOperacion(String numMov, String tipoProceso, String noSocio,):boolean

comprobarTransaccion()

getAlertOk()

Error al recuperar parametros de conexion():Errores

Error no hay respuesta del wweb Service():Errores

error al obtener parametrosde conexion():Errores

No se guardó la transaccion():Errores

Error devuelto por el web service():Errores

getAlertErrores()

display()

Figura 27: Diagrama de secuencia de caso de uso deposito

93

Page 96: Informe de practicas-Sistema de Banca Móvil para Cooperativas

sd Retiro cuenta de ahorros

Usuario

(from Actors)

Cuenta ahorroPantalla deespera de

transacción deretiro

Parámetros Socio Usuario operacion AHpantalla de menúahorro

pantalla de retiro ErroresCOPeracion ParametrosDAO ServiceOperacionesDAO()

Descripción:El socio realiza un retiro de su cuenta de ahorros

Curso básico:En la pantalla de menú de Ahorro, el usuario pulsa sobre la opción de retiro, el sistema recupera los datos de Socio que está en sesión y la Cuenta Socio que está activa, y muestra la pantalla de retiro con los datos: nombre de usuario, cuenta de socio, número de identificación de socio, respectivamente l lenados.El usuario ingresa la cantidad a retirar y hace clic sobre procesar; el sistema muestra un alerta de verificación si está conforme con la transacción o no, el usuario pulsa en la opción si, el sistema muestra al usuario la pantalla de espera, el sistema verifica la cantidad de retiro, recupera los parámetros deconexión de parámetros, el sistema cifra los datos de número de cuenta y número de documento del socio.El sistema se conecta con el web service y envía los datos de retiro: cuenta de socio, número de identificación de socio, nombre de usuario, valor de retiro, el número de bluetooth; el sistema espera la respuesta.El sistema recibe la respuesta del web service, parsea el mensaje recibido y obtiene el error y los datos del retiro, verifica el error devuelto por el web service y si el error es considerado como correcto, el sistema guarda los datos cuenta socio, numero documento del socio, el valor de la transacción, el usuario en sesión, el numero de referencia, el numero de secuencia de impresión , la fecha y hora de depósito en Operaciones Ahorro, y el sistema muestra una alerta de transacción realizada correctamente, y si desea imprimir la transacción.Curso alterno:

Error al recuperar parámetros, el sistema no puede recuperar los parámetros de conexión, el sistema muestra un alerta de error con el mensaje error al recuperar parámetros.

No hay respuesta del web service: después de un tiempo de15 segundos el web service no responde, el sistema cierra la conexión y crea un Error el cual es devuelto a la interface, la interface valida el error y muestra una alerta con el mensaje tiempo de espera agotado.

El web service devuelve los datos incompletos, el sistema muestra un alerta de error con mensaje de datos incompletos.

La transacción se realizó de forma correcta pero no se almacenó en la base de datos local: el sistema al almacenar los datos en la base de datos local, surge un error, el sistema muestra un alerta con el código de error respectivo y el mensaje de error,transacción realizada correctamente, error al almacenar en dispositivo local, consulte con su proveedor de servicios.

El web service devuelve un error diferente de estado correcto, el sistema muestra la alerta de error conel código de error devuelto y el mensaje devuelto.

clic ejn depósito()

getPantallaRetiro()

getNombreUsuairo()

getNumCuenta()

getNUmDoc()

getNombre()

display()

ingresa monto de retiro clicen procesar()

getWaitScreenProcesandoRetiro()

display()

movimiento(String usua, String bluetooth, StringnoIdentificacion, String cuenta, String moneda,String producto, String montoEfectivo, StringnombreSocio, String tipoProceso) :Errores

new ParametrosDAO()

getParametro(String codigoParam):parametro

operaciones( String bluetooth, String tipoProceso, String noIdentificacion, cuenta,String montoEfectivo, String usua, String moneda):String

parseaOperacion(StringxmlStri)

traverseOperacion(String retorno)

new OperacionesDAO()

newOperacion(String numMov, String tipoProceso, String noSocio,):boolean

comprobarTransaccion()

getAlertOK()

Error al recuperar parametros de conexion():Errores

Error no hay respuesta del wweb Service():Errores

error al obtener parametros de conexion():Errores

No se guardó la transaccion():Errores

Error devuelto por el web service():Errores

getAlertErrores()

display()

Figura 28: Diagrama de secuencia de caso de uso retiro

94

Page 97: Informe de practicas-Sistema de Banca Móvil para Cooperativas

DIAGRAMA DE CLASES class modelo

CuentaAhorro

+ moneda: String+ numDoc: String+ numeroCuenta: String+ producto: String+ saldo: String

+ newCuentaAhorro(String, String, String, String, String) : void

CuentaCredito

+ cuotasAtraso: String+ diasAtraso: String+ moneda: String+ montoCUota: String+ nombreProducto: String+ numCuotasCred: String+ numDoc: String+ numeroCuenta: String+ numeroCuota: String+ saldoDeuda: String+ totalCred: String

+ newCuentaCredito(String, String, String, String, String) : void

DatoFinancieroSocio

+ alimentacion: String+ comisiones: String+ deudas: String+ gastoArriendo: String+ honorarios: String+ ingArriendo: String+ otrosGastos: String+ otrosIngresos: String+ pensiones: String+ salud: String+ servicios: String+ util idadNegocio: String

+ newDatoFinanciero(String, Stirng, String, String, String) : void

Departamento

+ idDepartamento: String+ nombreDepartamento: String

+ getCodigoDepartamendo() : String

Distrito

+ codDepartamento: String+ codDistrito: String+ codProvincia: String+ nombreDistrito: String

+ getCodDistrito() : String

Empresa

+ codEmpresa: String- codigoDivision: String- codigoSegmento: String+ nombreEmpresa: String

+ getCodEmpresa() : String

OperacionAh

+ cuentaSocio: String+ error: String+ fechaMov: String+ moneda: String+ monto: String+ nombreSocio: String+ noSocio: String+ numMov: String+ operador: String+ saldo: String+ secImpresion: String+ tipoProceso: String

+ movimiento(String, String, String, String, String, String, String, String, String) : Error+ newOperacion(String, String, String) : boolean+ parseaRetorno(String) : void+ traverseOperacion(String) : void

Error

+ descError: String+ idError: String

+ getidError() : String

Prov incia

+ codDepartamento: String+ codProvincia: String+ nombreProvincia: String

+ getCodDepartamento() : String

Transferencia

+ cueDest: String+ cueOrig: String+ descErroe: String+ erroe: String+ fecha: String+ idDest: String+ idOrg: String+ moneda: String+ monto: String+ nomDes: String+ nomOri: String+ numRef: String+ operador: String+ secImpre: String

+ newTransferencia(String, String, String, String, String, String, String, String) : void

Socio

+ apelidoMat: String+ apellidoPat: String+ correoElec: String+ depNace: String+ direccionResidencia: String+ distNace: String+ dniFecha: String+ envioCorrespondencia: String+ estadoCivil: String+ estrato: String+ fechaIngreso: String+ fechaModif: String+ fecNacimiento: String+ nacionalidad: String+ nivelEducacion: String+ noCelular: String+ nombre: String+ noTelefono: String+ numDoc: String+ perCargoAdu: String+ perCargoMen: String+ perDeduccion: String+ profesion: String+ propiedadVivienda: String+ provNace: String+ salario: String+ sexo: String+ tipoContrato: String+ tipoDoc: String+ tipoVivienda: String

+ buscarSocio() : Socio+ newSocio(String, String, String, String, String, String) : void

Usuario

+ nombreUsuario: String+ numBlue: String+ pasUsuario: String

+ get NombreUsuario() : String+ getNombre() : String+ getNumCuenta() : String+ getNumDOc() : void

Cuenta

- nombreCuenta: String- numerpoCuenta: String

Ubigeo

- CodigoDepartamento: String- CodigoDistrito: String- CodigoProvincia: String- codigoUbigeo: String

+ getCodigoUbigeo() : String

0

tiene

0..1

2

se realiza encuenta

0..*

1

posee

11

ubica

0..*

1

ubica

0..*

1

se_realiza_con

0..*

0..1

pertenece

0..*naceen

1

ubica

0

1

realiza0..*

2

transfiere

0..*

1realiza

0..*

1realiza

0..*

0..*

tiene

1

Figura 3. 19: Diagrama de clases de sistema de banca móvil

95

Page 98: Informe de practicas-Sistema de Banca Móvil para Cooperativas

class bean

Cuenta

CuentaAhorro

+ moneda: String+ numDoc: String+ numeroCuenta: String+ producto: String+ saldo: String

+ newCuentaAhorro(String, String, String, String, String) : void

Cuenta

CuentaCredito

+ cuotasAtraso: String+ diasAtraso: String+ moneda: String+ montoCUota: String+ nombreProducto: String+ numCuotasCred: String+ numDoc: String+ numeroCuenta: String+ numeroCuota: String+ saldoDeuda: String+ totalCred: String

+ newCuentaCredito(String, String, String, String, String) : void

DatoFinancieroSocio

+ alimentacion: String+ comisiones: String+ deudas: String+ gastoArriendo: String+ honorarios: String+ ingArriendo: String+ otrosGastos: String+ otrosIngresos: String+ pensiones: String+ salud: String+ servicios: String+ util idadNegocio: String

+ newDatoFinanciero(String, Stirng, String, String, String) : void

Departamento

+ idDepartamento: String+ nombreDepartamento: String

+ getCodigoDepartamendo() : String

Distrito

+ codDepartamento: String+ codDistrito: String+ codProvincia: String+ nombreDistrito: String

+ getCodDistrito() : String

Empresa

+ codEmpresa: String- codigoDivision: String- codigoSegmento: String+ nombreEmpresa: String

+ getCodEmpresa() : String

Error

+ descError: String+ idError: String

+ getidError() : String

OperacionAh

+ cuentaSocio: String+ error: String+ fechaMov: String+ moneda: String+ monto: String+ nombreSocio: String+ noSocio: String+ numMov: String+ operador: String+ saldo: String+ secImpresion: String+ tipoProceso: String

+ movimiento(String, String, String, String, String, String, String, String, String) : Error+ newOperacion(String, String, String) : boolean+ parseaRetorno(String) : void+ traverseOperacion(String) : void

Parametro

+ direc: String+ ipCoope: String+ nomCoop: String+ telef: String

Prov incia

+ codDepartamento: String+ codProvincia: String+ nombreProvincia: String

+ getCodDepartamento() : String

Socio

+ apelidoMat: String+ apellidoPat: String+ correoElec: String+ depNace: String+ direccionResidencia: String+ distNace: String+ dniFecha: String+ envioCorrespondencia: String+ estadoCivil: String+ estrato: String+ fechaIngreso: String+ fechaModif: String+ fecNacimiento: String+ nacionalidad: String+ nivelEducacion: String+ noCelular: String+ nombre: String+ noTelefono: String+ numDoc: String+ perCargoAdu: String+ perCargoMen: String+ perDeduccion: String+ profesion: String+ propiedadVivienda: String+ provNace: String+ salario: String+ sexo: String+ tipoContrato: String+ tipoDoc: String+ tipoVivienda: String

+ buscarSocio() : Socio+ newSocio(String, String, String, String, String, String) : void

Transferencia

+ cueDest: String+ cueOrig: String+ descErroe: String+ erroe: String+ fecha: String+ idDest: String+ idOrg: String+ moneda: String+ monto: String+ nomDes: String+ nomOri: String+ numRef: String+ operador: String+ secImpre: String

+ newTransferencia(String, String, String, String, String, String, String, String) : void

Usuario

+ nombreUsuario: String+ numBlue: String+ pasUsuario: String

+ get NombreUsuario() : String+ getNombre() : String+ getNumCuenta() : String+ getNumDOc() : void

DAO::OperacionesDAO

+ CreateTblMovimientos() : J2METable+ getOperacion(String) : OperacionAh+ getOpers() : Vector+ newOperacion(String, String, String, String, String, String, String, String, String, String) : boolean+ OperacionesDAO()

DAO::CuentaCreditoDAO

+ CreateTblCuentaCR() : J2METable+ CuentaCreditoDAO()+ NewCuentaCred(String, String, String, String, String, String, String, String, String, String) : void

DAO::CuentaAhorroDAO

+ createTblCuentaAH() : J2METable+ CuentaAhorroDAO()+ getCuenta(String) : J2MERow+ newCuentaAH(String, String, String, String, String) : void

DAO::SocioDAO

+ CreateTableSocio() : J2METable+ deleteSocio(String) : boolean+ getSocios() : Vector+ NewSocio(String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String) : boolean+ SocioDAO()+ uptadeSocio(String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String) : boolean

Controladores::CLogin

+ dispositivoLocal: LocalDevice~ errorc: Error = new Errores()~ URL: String~ usuario: Usuario

+ iniciarSesion(Usuario) : Error+ inicioSesion(String, String) : Error+ obtenerDatosUsuario(String, String) : Usuario+ obtenerDirecBluetooth() : String+ parseaXML(String) : Error+ traverse(XmlParser) : Error+ verificarComunicacion(Error, String) : Error

Controladores::CCuentas

+ buscarCuenta(String, Usuario, int) : Vector+ buscarCuentaDest(String, Usuario, String, int) : Vector+ parseaBusquedaCuentas(String) : Vector+ traverseCuenta(XmlParser, String) : Vector+ traverseCuentaCred(XmlParser, String) : Vector

serv iceknetserv ice::serv iceknetServ ice_Stub

+ buscaCuentDest(String, String, String, String, int) : String+ buscarClientes(String, String, String) : String+ busquedaCuentas(String, String, String, int) : String+ login(String, String, String) : String+ operaciones(String, String, String, String, String, String, String) : String+ preAprobacionCred(String, String, String, String, String, String, String, String, String, String, String, String) : String+ transferencia(String, String, String, String, String, String, String, String) : String+ verificarComunicacion(String) : String

Encripta

+ encriptaDatos(String) : String

v ista::Midlet

+ getFormDeposito() : void

Controladores::COperacion

~ erro: Error = new Errores()~ opera: OperacionesDAO = new OperacionesDAO()~ operaAH: OperacionAh = new OperacionAh()

+ movimiento(String, String, String, String, String, String, String, String, String) : Error+ parseaOperacion(String) : void+ traverseOperacion(XmlParser, String) : void

Controladores::CParametro

+ registrarParametros(String, String, String, String, String) : Error

Controladores::CClientes

+ buscarSocio1(String, Usuario) : Vector+ guardarSocio(String, int, Usuario) : Vector+ parseaBusquedaSocios(String) : Vector+ traverseSocio(XmlParser, String) : Vector

DAO::ParametrosDAO

+ createTblParametro() : J2METable+ dropParametro() : void+ getContact(String) : String+ getParametros() : Vector+ newParametro(String, String, String) : boolean

Ubigeo

- CodigoDepartamento: String- CodigoDistrito: String- CodigoProvincia: String- codigoUbigeo: String

+ getCodigoUbigeo() : String

~errorc

1

se_realiza_con

0..*

~usuario

1

realiza

0..*

1realiza

0..*

2

transfiere

0..*

1

realiza0..*

1

ubica

0

0

tiene

0..1

0..1

pertenece

0..*

1ubica

0..*

1

ubica

0..*

1

posee

1

2

se realiza encuenta

0..*

~operaAH

~opera

~erro

nace en

Figura 3. 20: Diagrama de clases de bajo nivel de sistema de banca móvil

96