Upload
eduardomartincaldas
View
185
Download
0
Embed Size (px)
DESCRIPTION
proyecto final programación orientada a objetos
Citation preview
1
UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS UPC
CARRERA DE INGENIERIA DE SISTEMAS
PROYECTO
PERÚ BANK
INTEGRANTES
Caldas Peña, Eduardo
Zevallos Andrade, Manuel
ZumaetaMori, Mario
PROFESOR
José Díaz
2011 – II
Diciembre 2011
2
Índice
1. INTRODUCCIÓN .................................................................................................................3
2. CASO PROPUESTO .............................................................................................................4
3. HISTORIAS DE USUARIOS- CRITERIOS DE ACEPTACIÓN Y PROCEDIMIENTO .........................5
4. DIAGRAMA DE CLASES ..................................................................................................... 34
5. TASKBOARD ..................................................................................................................... 35
6. CONCLUSIONES .....................................................................................................................................35
3
1. INTRODUCCIÓN
El presente documento detalla la implementación de una aplicación que permite controlar las
operaciones bancarias de cada uno de los requerimientos del cliente.
El software se desarrollará bajo las mejores prácticas, se utilizaráel lenguaje de programación de
Java con la herramienta Spring Source y la metodología ágil, se aplicará la metodologíaTDD (Test
DrivenDevelopment), de tal manera que podamos generar métodos de prueba.
En primer lugar se ha analizado cada uno de los requerimientos para comprender las
necesidadesdel negocio y así poder implementar un software que cumpla dichas necesidades.
Este proyecto se presenta por medio de diferentes historias de usuario, las cuales serán
desarrolladas por el grupo de trabajo, para cumplir con los requerimientos del usuario.
Registrar clientes
Inscribir representantes
Agregar poderes
Bastantear poderes
Verificar poderes
Consultar poderes
Controlar usuarios
Después se desarrollara el código fuente del programa y las pruebas que validan dicho código.
Finalmente, se harán distintas pruebas de funcionamiento que ayudarán al equipo de desarrollo a
identificar posibles errores en el código del programa para su posterior solución en una nueva
versión del mismo.
4
2. CASO PROPUESTO
La empresa PeruBankdebe asegurar que sólo los representantes que cada cliente
jurídico designe legalmente puedan efectuar las operaciones bancarias especificadas.
Para este efecto, ha contratado una notaría que se encargará de realizar el proceso
de bastanteo y poner a disposición de la red de agencias los resultados para la
verificación operativa.
Se presentan 7 historias de usuario, que serán desarrolladas en el punto 3 del
presente documento.
Para desarrollar cada una de las historias, consideramos la siguiente estructura de
paquetes, clases, excepciones, clases test y 2 librerias (JRE System Library JavaSE-
1.6 y JUnit 4)
5
3. HISTORIAS DE USUARIOS- CRITERIOS DE ACEPTACIÓN Historia de Usuario 1: Registrar clientes.
Como supervisor deseo registrar clientes de modo que los abogados puedan
bastantear sus poderes bancarios.
Cuando: Espero:
Registro un cliente debo indicar su RUC, su código de cliente interno (8 dígitos), razón social, fecha de inicio de operaciones, tipo de empresa (SAA, SAC, SRL, etc.) y cantidad de empleados.
- Confirmación del registro OK.
- Mensaje de error si no se ingresan los datos requeridos.
- Mensaje de error si el cliente ya existe (RUC o código de cliente repetido).
Clase cliente
6
7
Clase AdmClientes
8
Clase ClienteException
Clase AdmClientesTest
9
10
Historia de Usuario 2: Inscribir representantes.
Como abogado deseo inscribir los representantes de cada cliente de modo que
luego puedan tener los poderes bastanteados.
Cuando: Espero:
Inscribo un representante debo indicar su tipo y número de documento, sus nombres y apellidos, cargo en la empresa y un grupo de bastanteo (A, B, C, etc.).
- Confirmación de la inscripción Ok.
- Mensaje de error si no se ingresan los datos requeridos.
- Mensaje de error si ya es representante de la empresa (según tipo y número de documento).
Clase Representante
11
Clase AdmRepresentates
12
Clase RepresentanteException
13
Clase AdmRepresentantesTest
14
15
Historia de Usuario 3: Agregar poderes.
Como supervisor deseo agregar el listado de poderes para que los abogados
puedan asignarlos a los representantes según bastanteo.
Cuando: Espero:
Agrego un poder debo indicar su código corto de consulta (ej.: CHCO, EFRE), el nombre (ej.: Cobro de Cheques, Retiro en Efectivo) y el tipo producto/servicio (ej: Activo, Pasivo).
- Confirmación de la agregación Ok.
- Mensaje de error si no se ingresan los datos requeridos.
- Mensaje de error si ya se agregó el poder
(código corto).
Clase Poder
Clase Poder Exception
16
Clase AdmPoderes
17
18
19
Clase AdmPoderesTest
20
Historia de Usuario 4: Bastantear poderes. Como abogado deseo poder anotar el resultado del bastanteo de modo que el personal de
agencia pueda consultarlo antes de cada operación.
Cuando: Espero:
Bastanteo debo indicar qué poderes puede realizar cada grupo de bastanteo de cada cliente. Además, para esta asignación debo indicar el tipo de intervención (ej.: A Sola Firma, En Conjunto Con) y con qué otro(s) grupo(s) de bastanteo si corresponde (combinación), así como el importe y la fecha de vencimiento (normalmente 6 meses).
- Mensaje de confirmación Ok.
- Mensaje de error si ya se anotó el mismo poder para el mismo grupo de bastanteo, en el mismo cliente, considerando el mismo tipo de intervención y combinación.
21
Clase Bastanteo
22
Clase AdmBastanteo
23
Clase BastanteoException
24
Clase AdmBastanteoTest
25
Historia de Usuario 5: Verificar poderes. Como personal de agencia deseo poder consultar si un representante tiene poder para una
operación o no de manera que pueda realizarla.
Cuando: Espero:
Consulto debo indicar el RUC del cliente, la identificación del representante, el código de poder (o elegirlo de una lista), y el importe.
Mensaje indicando que el representante tiene poder y cómo.
- Mensaje indicando que el poder está dado pero ya venció.
- Mensaje indicando que el representante no tiene poder para realizar la operación indicada o el importe es superior.
Clase ConsultaTest
26
27
Historia de Usuario 6: Consultar poderes Como cliente deseo poder elegir y reservar una sala de ensayo de manera que pueda ir con
mi banda y hacer uso de las facilidades seleccionadas.
Cuando: Espero:
Consulto debo indicar el RUC del cliente, la identificación del representante, el grupo de bastanteo o tipo de intervención
- Lista de registros de bastanteo que se tienen según los criterios de búsqueda ingresados.
- Mensaje indicando que no hay resultados según criterios
28
29
Historia de Usuario BONUS: Controlar usuarios Como administrador deseo poder controlar a los usuarios de modo que al ingresar puedan
acceder a sus funcionalidades ya sea como supervisor, como abogado o empleado.
Cuando: Espero:
Doy de alta un usuario debo indicar qué rol tiene asignado. Cada usuario debe identificarse por una clave al ingresar.
- Mensaje de bienvenida indicando el rol que tiene así como las opciones que le corresponde.
- Mensaje de error si no se autentica correctamente.
30
Clase AdmGrupo
Clase GrupoException
31
Clase Opcion
Clase Perfil
publicStringgetDescripcionPerfil() { returndescripcionPerfil; } publicvoidsetDescripcionPerfil(StringdescripcionPerfil) { this.descripcionPerfil = descripcionPerfil; } public List<Opcion>getOpciones() { returnopciones; } publicvoidsetOpciones(List<Opcion> opciones) { this.opciones = opciones; }
32
Clase Seguridad
33
Clase Usuario
Clase SeguridadTest
34
4. DIAGRAMA DE CLASES
35
5. TASKBOARD
6. Conclusiones
La implementación del proyecto permitió la interactividad con diferentes
herramientas, en el caso de la generación del diagrama de clases por medio de la ingeniería reversa con el SW Visual Paradigmfor UML, la programación TDD con el IDE Spring Source.
El uso de un repositorio via internet, el GitHub.
DIRECTIVAS
RESPONSABLE
SEMANA 1
SEMANA 2
SEMANA 3 SEMANA 4 SEMANA 5
SEMANA 6
1.- ESTRUTURA DE PROYECTO
L
OS
INTE
GR
AN
TES
DEL
GR
UP
O
Crear repositorio Manuel Zevallos
Crear proyecto con estructura de paquetes Mario Zumaeta
Identificar y crear clases a utilizar en el proyecto - Diagrama de Clases
Eduardo Caldas
2.- HISTORIAS DE USUARIO
Registrar cliente
Inscribir representantes Mario Zumaeta
Agregar poderes Eduardo Caldas
Bastantear poderes Mario Zumaeta
Verificar poderes Manuel Zevallos
Consultar poderes Manuel Zevallos
3.- Historia Bonus
Controlar usuarios Mario Zumaeta