DOCUMENTO DE ARQUITECTURA DE SOFTWARE (SAD

Anuncio
Pontificia Universidad Javeriana
DOCUMENTO
DE
ARQUITECTURA DE
SOFTWARE (SAD)
Presentado por K3
Oscar Montenegro, Eberto Burgos, Jair Andrés Moreno
Historial de Cambios
Versión
Fecha
Descripción
Autores
0.1
07-04-09
Línea base SAD
Oscar Montenegro
0.2
07-04-09
Numeral uno
Oscar Montenegro
Vista de Casos de Uso
Oscar Montenegro,
Eberto Burgos,
0.3
08-04-09
Jair Moreno
0.4
09-04-09
Trazabilidad requerimientos, casos de
uso
Eberto Burgos
0.5
13-04-09
Vista Lógica
Oscar Montenegro,
Jair Moreno
0.52
13-04-09
Vista Lógica
Jair Moreno
0.6
14–04-09
Vista de datos
Eberto Burgos
0.65
15-04-09
Vista Lógica
Jair Moreno
0.69
15-04-09
Vista de Despliegue
Oscar Montenegro
0.72
15-04-09
Vista de Proceso
Jair Moreno
0.8
15-04-09
Vista de Desarrollo
Eberto Burgos
Oscar Montenegro
0.9
1.0
15-04-09
16-04-09
Diagramas de Secuencia
Revisión total del documento y
finalización del mismo
Eberto Burgos
Oscar Montenegro,
Jair Moreno,
Eberto Burgos
Página de firmas
El presente documento es aprobado por las personas referenciadas a continuación:
X
Eberto Burgos
Socio
X
Oscar Montenegro
Socio
X
Jair Andres Moreno
Socio
Tabla de contenido
Historial de Cambios .......................................................................................... 2
Página de firmas ............................................................................................... 3
INTRODUCCIÓN .............................................................................................. 10
Propósito: ...................................................................................................................................... 10
Alcance: 10
Definiciones y acrónimos............................................................................................................... 10
Referencias: ................................................................................................................................... 13
Visión Global: ................................................................................................................................. 15
REPRESENTACIÓN ARQUITECTÓNICA .............................................................. 16
Descripción de la Arquitectura: ..................................................................................................... 16
Vista Lógica
16
Vista de Procesos 17
Vista de desarrollo (implementación) .................................................................... 17
Vista Física (Despliegue) ..................................................................................... 17
Vista de Escenarios (Casos de Uso) ...................................................................... 18
Relación entre las vistas ...................................................................................... 18
OBJETIVOS Y LIMITACIONES ARQUITECTÓNICAS ............................................ 19
ESTILO ARQUITECTÓNICO .............................................................................. 20
VISTA DE CASOS DE USO ................................................................................ 23
Ingreso al sistema: ..........................................................................Error! Bookmark not defined.
Otorgar Permisos: ...........................................................................Error! Bookmark not defined.
Realizar Transferencias .................................................................Error! Bookmark not defined.
Acceder a Servicios ........................................................................Error! Bookmark not defined.
Administrar servicios ......................................................................Error! Bookmark not defined.
Realizar Pago ..................................................................................Error! Bookmark not defined.
Generar Notificaciones...................................................................Error! Bookmark not defined.
Generación Reportes .....................................................................Error! Bookmark not defined.
Inscripción a Pagos de Servicios Automático ............................Error! Bookmark not defined.
Generación de Formularios ...........................................................Error! Bookmark not defined.
Realizar retiro ..................................................................................Error! Bookmark not defined.
Validar Formulario...........................................................................Error! Bookmark not defined.
Verificar Fondos ..............................................................................Error! Bookmark not defined.
Salir del Sistema .............................................................................Error! Bookmark not defined.
Administración de Cuenta de Usuario .........................................Error! Bookmark not defined.
Realizar consignación ....................................................................Error! Bookmark not defined.
VISTA LÓGICA ................................................................................................ 44
Descripción ......................................................................................Error! Bookmark not defined.
Paquetes de diseño importantes para la Arquitectura ..............Error! Bookmark not defined.
1.1.1.
PRESENTACIÓN ...........................................................Error! Bookmark not defined.
1.1.2.
LÓGICA DE NEGOCIO .................................................Error! Bookmark not defined.
1.1.3.
PERSISTENCIA..............................................................Error! Bookmark not defined.
1.1.4.
sistemas heterogéneos .....................................................Error! Bookmark not defined.
Relaciones con Casos de Uso ......................................................Error! Bookmark not defined.
INGRESO AL SISTEMA .............................................. Error! Bookmark not defined.
OTORGAR SERVICIOS .............................................. Error! Bookmark not defined.
REALIZAR TRANSFERENCIAS ..................................... Error! Bookmark not defined.
ACCEDER A SERVICIOS ............................................ Error! Bookmark not defined.
ADMINISTRAR SERVICIOS ......................................... Error! Bookmark not defined.
REALIZAR PAGOS Error! Bookmark not defined.
GENERAR NOTIFICACIONES ...................................... Error! Bookmark not defined.
GENERACIÓN DE REPORTES ..................................... Error! Bookmark not defined.
INSCRIPCIÓN A PAGOS DE SERVICIOS AUTOMÁTICOS .... Error! Bookmark not defined.
GENERACIÓN FORMULARIOS .................................... Error! Bookmark not defined.
REALIZAR RETIRO Error! Bookmark not defined.
VALIDAR FORMULARIO ............................................. Error! Bookmark not defined.
VERIFICAR FONDOS ................................................ Error! Bookmark not defined.
SALIR DEL SISTEMA ................................................. Error! Bookmark not defined.
ADMINISTRACIÓN DE CUENTA DE USUARIO.................. Error! Bookmark not defined.
REALIZAR CONSIGNACIÓN ........................................ Error! Bookmark not defined.
VISTA DE PROCESO ........................................................................................ 44
Browser 61
Presentación ................................................................................................................................ 61
Conexión Módulo Browser a Módulo Presentación .............................................................. 62
Módulo de Negocio ..................................................................................................................... 63
Conexión Módulo Presentación a Módulo Negocio .............................................................. 64
Conexión Módulo Negocio a Módulo j2ee .............................................................................. 65
Módulo de Persistencia.............................................................................................................. 66
Conexión Módulo de Negocio a Módulo de Persistencia ..................................................... 67
Módulo de Base de Datos ......................................................................................................... 67
Conexión Módulo de Persistencia a Módulo de Base de Datos ......................................... 68
VISTA DE DESPLIEGUE ................................................................................. 69
Dispositivos de Acceso .............................................................................................................. 70
Fachada 70
Comunicación Con Los Clientes .............................................................................................. 71
Intranet GUI ................................................................................................................................. 71
Manejador De Peticiones........................................................................................................... 72
Administrador De Servicios ....................................................................................................... 72
Servidor De Aplicación ............................................................................................................... 73
Administrador De Consultas ..................................................................................................... 73
Otros
74
VISTA DE IMPLEMENTACIÓN ........................................................................... 75
descripción general de la vista de implementación ...................................................................... 75
9.1.1
76
9.1.2 lógica del negocio ...................................................................................... 78
9.1.3 persistencia .............................................................................................. 78
VISTA DE DATOS ............................................................................................ 80
TAMAÑO Y RENDIMIENTO ............................................................................... 80
CALIDAD ........................................................................................................ 80
ÍNDICE DE TABLAS
Tabla 1: Definiciones, acrónimos y abrevaciones .................................Error! Bookmark not defined.
Tabla 2: Estilo arquitectónico ............................................................................................................ 21
Tabla 4: CU01 (Ingreso al sistema) .................................................................................................... 24
Tabla 5: CU02 (Otorgar permisos) ..................................................................................................... 26
Tabla 6: CU03 (Realizar transferencia) .............................................................................................. 27
Tabla 7: CU04 (Acceder a servicios) .................................................................................................. 28
Tabla 8: CU05 (Generar servicios) ..................................................................................................... 30
Tabla 9: CU06 (Realizar pago) ........................................................................................................... 31
Tabla 10: CU07 (Generar notificaciones) .......................................................................................... 32
Tabla 11: CU08 (Generación de reportes)......................................................................................... 33
Tabla 12: CU09 (Insrcipción a pago de servicios automático) .......................................................... 35
Tabla 13: CU10 (Generación de formularios) .................................................................................... 36
Tabla 14: CU11 (Eliminación de servicios)......................................................................................... 37
Tabla 15: CU12 (Validar formulario) ................................................................................................. 38
Tabla 16: CU13 (Verificar fondos) ..................................................................................................... 39
Tabla 17: CU14 (Salir del sistema) ..................................................................................................... 40
Tabla 18: CU15 (Creación de cuenta de usuario) ............................................................................. 42
Tabla 19: CU16 (Eliminación de cuenta de usuario) ......................................................................... 43
ÍNDICE DE ILUSTRACIONES
Ilustración 1: Arquitectura ................................................................................................................ 22
Ilustración 2: Diagrama de casos de uso ........................................................................................... 23
Ilustración 3: Vista lógica................................................................................................................... 45
Ilustración 4: Presentación (Vista lógica) .......................................................................................... 46
Ilustración 5: Lógica del negocio (Vista lógica).................................................................................. 47
Ilustración 6: Persistencia (Vista lógica) ............................................................................................ 48
Ilustración 7: Sistemas heterogéneos (Vista lógica).......................................................................... 49
Ilustración 8: Diagrama de secuencia de ingreso al sistema............................................................. 50
Ilustración 9: Diagrama de secuencia de otorgar servicios .............................................................. 50
Ilustración 10: Diagrama de secuencia de realizar transferencias ................................................... 51
Ilustración 11: Diagrama de secuencia de acceder a servicios ........................................................ 52
Ilustración 12: Diagrama de secuencia de generar servicios ............................................................ 53
Ilustración 13: Diagrama de secuencia de realizar pagos ................................................................ 53
Ilustración 14: Diagrama de secuencia de generar notificaciones ................................................... 54
Ilustración 15: Diagrama de secuencia de generación de reportes .................................................. 55
Ilustración 16: Diagrama de secuencia de inscripción a pagos de servicios automáticos ................ 56
Ilustración 17: Diagrama de secuencia de generación de formularios ............................................ 56
Ilustración 18: Diagrama de secuencia de eliminación de servicios ................................................ 56
Ilustración 19: Diagrama de secuencia de validar formulario........................................................... 57
Ilustración 20: Diagrama de secuencia ............................................................................................. 57
Ilustración 21: Diagrama de secuencia de salir del sistema.............................................................. 58
Ilustración 22: Diagrama de secuencia de creación de cuenta de usuario ....................................... 58
Ilustración 23: Diagrama de secuencia de eliminación de cuenta de usuario .................................. 59
Ilustración 24: Vista de proceso ........................................................................................................ 60
Ilustración 25: Browser (Vista de proceso) ....................................................................................... 61
Ilustración 26: Presentación (Vista de proceso)................................................................................ 61
Ilustración 27: Conexión módulo browser a módulo presentación (Vista de proceso) .................... 62
Ilustración 28: módulo de negocio (Vista de proceso)...................................................................... 63
Ilustración 29: Conexión módulo presentación a módulo negocio (Vista de proceso) .................... 64
Ilustración 30: Conexión módulo negocio a módulo J2EE ................................................................ 65
Ilustración 31: Módulo persistencia (Vista de proceso) .................................................................... 66
Ilustración 32: Conexión módulo de negocio a módulo de persistencia (Vista de proceso) ............ 67
Ilustración 33: Módulo de base de datos (Vista de proceso) ............................................................ 67
Ilustración 34: Conexión módulo de persistencia a módulo de base de datos (Vista de proceso) .. 68
Ilustración 35: Vista de despliegue ................................................................................................... 70
Ilustración 36: Dispositivos de acceso ............................................................................................... 70
Ilustración 37: Fachada ..................................................................................................................... 70
Ilustración 38: Comunicación con los clientes .................................................................................. 71
Ilustración 39: Intrantet GUI ............................................................................................................. 71
Ilustración 40: Manejador de peticiones .......................................................................................... 72
Ilustración 41: Administrador de servicios ........................................................................................ 72
Ilustración 42: Servidor de aplicación ............................................................................................... 73
Ilustración 43: Administrador de consultas ...................................................................................... 73
Ilustración 44: Sistemas heterogéneos ............................................................................................. 74
Ilustración 45: Vista de implementación........................................................................................... 75
Ilustración 46: Descripción general ................................................................................................... 76
Ilustración 47: Presentación ](Vista de implementación) ................................................................. 77
Ilustración 48: Lógica de negocio (Vista de implementación) .......................................................... 78
Ilustración 49: Persistencia (Vista de implementación) .................................................................... 79
Ilustración 50: Vista de datos ............................................................................................................ 80
INTRODUCCIÓN
El objetivo principal de este documento es el de analizar y enunciar los componentes,
interacciones, y limitaciones del sistema Banco. Así mismo se pretende describir la arquitectura
que represente el análisis realizado con anterioridad del modelo de 4+1 vistas repasados en las
sesiones de Arquitectura de Software.
PROPÓSITO:
Este documento proporciona una descripción de la arquitectura del sistema basado en los puntos
de vista arquitectónica (4+1), para representar diferentes aspectos del sistema. Esta descripción
sale como resultado de satisfacer todos los requerimientos pedidos por el cliente y de cumplir con
unos servicios típicos de un sistema bancario para diferentes tipos de clientes.
ALCANCE:
Este documento simplemente se dedica a representar, por medio de descripciones de diferentes
vistas, la arquitectura que se utilizará para implementar el sistema K^2M, es decir que no se
especificarán arquitecturas externas al sistema. Como se especificó anteriormente, el documento
utilizará el modelo de 4+1 vistas para hacer esta descripción cuyos ejes centrales son la las vistas
lógica, de procesos, física, desarrollo y escenario.
DEFINICIONES Y ACRÓNIMOS
Actividad: “Trabajo compuesto por un conjunto de tareas. Incluye una descripción, duración y una
secuencia de las tareas a ejecutar con sus entradas y productos a entregar” [1].
Administrador: Persona o entidad que se encarga de aceptar o eliminar nuevos clientes al sistema
con su respectiva información, asigna más espacio de almacenamiento y administra permisos. [9]
API: Aplication Programming Interface
Backup: Copia de Respaldo o Seguridad. Acción de copiar archivos o datos de forma que estén
disponibles en caso de que un fallo produzca la perdida de los originales. Esta sencilla acción evita
numerosos, y a veces irremediables, problemas si se realiza de forma habitual y periódica. [15]
Browser: Un programa utilizado para ver, descargar, cargar, navegar o acceder a otros
documentos (páginas) en la World Wide Web. Los navegadores pueden basarse en texto, lo que
significa que no mostraran gráficos o imágenes, pero la mayoría se basan en texto y gráficos. Los
navegadores leen "etiquetas" o páginas codificadas (utilizando html, aunque no siempre) que
residen en servidores e interpretar el código en los nosotros vemos cuando descargamos una
página web. Netscape Navigator y Microsoft Internet Explorer son ejemplo de Navegadores web.
Moziila Firefox es un ejemplo más reciente. [16]
Ciclo de vida de software: “Es una representación de todas las actividades, tareas y productos
necesarios para desarrollar un sistema software” [1]
Contraseña: Palabra secreta que junto al nombre de usuario le permiten al usuario iniciar una
nueva sesión en el sistema K2M.
EI: External Inputs o entradas externas. “Es un proceso elemental en cuyo dato cruza la frontera de
afuera hacia adentro. Puede venir de una entrada por pantalla o de otra aplicación y puede
mantener uno o más archivos lógicos o ILF’s”. [11]
EIF: External Interface Files o archivos de interfaces externas. “Un grupo de datos lógicamente
relacionados que es usado por motivos de referencia. Los datos residen fuera de la aplicación y
son mantenidos por otras aplicaciones” [11]
EO: External Outputs o salidas externas. “Un proceso elemental en cuyo dato derivado pasa
atreves de la frontera de adentro hacia fuera. Una salida externa puede actualizar un ILF. Los datos
involucrados en el proceso pueden crear reportes o archivos de salida para otras aplicaciones”
[11]
EQ: External Inquiry o consultas externas. Un proceso elemental con ambos componentes de
adentro y de afuera que resulta en la entrega de uno o más archivos de lógica interna o ILF’s y
archivos de interfaz externa o EIF’s. [5]
Evento: Son procedimientos (SUB) que se ejecutan normalmente cuando el sistema operativo
los provoca, por ejemplo, al hacer click en una ventana o en cualquier objeto de la ventana. [17]
Grupo: Conjunto de documentos almacenados dentro del K2M que guardan una relación entre sí.
[9]
Historial: Corresponde a las actividades dentro del sistema que ha tenido el archivo.
IEEE: Institute of Electrical and Electronic Engineers Inc. “Es una asociación internacional sin ánimo
de lucro” con sede principal en Piscataway, Estados Unidos y con subsedes en más de 150 países
del mundo, con alrededor de 360.000 miembros, entre profesionales, estudiantes de Ingeniería,
diseño, derecho, administración, biología y ciencias afines.” [13]
Integridad: “Estado de corrección y completitud de los datos ingresados en un sistema” [6].
Internet: Red de computadores a nivel mundial. Ofrece distintos servicios, como el envío y
recepción de correo electrónico (e-mail), la posibilidad de ver información en las páginas Web, de
participar en foros de discusión (News), de enviar y recibir ficheros mediante FTP, de charlar en
tiempo real mediante IRC.[18]
ILF: Internal Logical Files o archivos internos lógicos. “Un grupo de datos lógicamente relacionados
que reside dentro de los límites de la aplicación y es mantenido por los EI”. [11]
JDNI: Java Naming and Directory Interface. Servicio estándar de nombrado y directorio en Java.
[19]
JVM: Java Virtual Machine
LAN: Local Area Network
Log: Un archivo diario que informa sobre las conexiones a un servidor. [20]
Metadata: información que describe el contenido, calidad, condición, origen, y otras
características de los datos o de otros elementos de información. [21]
Nombre de usuario: Identificacion que junto a la contraseña permiten que este inicie una nueva
sesión en el sistema. [9]
Rol: Responsabilidades asignadas a un miembro del equipo. [1]
Proceso: Conjunto de actividades que se realizan con el fin de producir un software [6]
Puntos funcionales: “Técnica estructurada para analizar los componentes de un sistema
dividiéndolos en grupos de 5 clases y características generales del sistema”. [11]
RAD: Desarrollo rápido de aplicaciones. “Enfoque orientado a objetos para el desarrollo de
sistemas que incluye un método de desarrollo así como herramientas de software” [12]
Repositorio: Cualquier servidor o dispositivo en que se encuentren almacenados ficheros o
archivos de cualquier índole, los cuales se puedan descargar. [22]
Requerimiento: necesidad documentada sobre el contenido, forma o funcionalidad de un
producto o servicio.
Requerimiento funcional: define el comportamiento interno del software: cálculos, detalles
técnicos, manipulación de datos
Requerimiento no funcional: un requerimiento que especifica criterios que pueden usarse para
juzgar la operación de un sistema en lugar de sus comportamientos específicos
RET: “Record Element Type. Un subgrupo identificable de elementos de datos dentro de un ILF o
un EIF”. [5]
SDD: Software Design Document (Documento de diseño de software) “Documento que describe el
modelo de diseño del sistema” [8]
Software: Producto que se compone del programa más una documentación asociada. [2]
SRS: Software Requirements Specifications (Especificaciones de requerimientos de software)
“Documento que describe el sistema de requerimiento de software” [8]
Stakeholder: “Cualquier persona que se encuentre relacionada con el desarrollo del proyecto de
software y que puede ofrecer información para entender el negocio y tomar decisiones más
sensatas al respecto.” Por ejemplo: Cliente, desarrollador, usuario. [6]
Stokeholder: Persona que cuenta con los recursos económicos para el desarrollo del proyecto. [6]
Tarea: Unidad atómica de trabajo que puede es manejada por un miembro del equipo. Toda tarea
consume recursos, muestra como resultado un producto y depende de ostros productos
realizados por sus respectivas tareas [1]
UML: Unified Modelling Language o Lenguaje de modelado Unificado. “Lenguaje de modelado de
sistemas de software”. [5]
Usuario: Persona o entidad que puede gozar de los servicios del sistema K2M accediendo a éste
con la escritura del login y contraseña. Para tener estos servicios, el usuario debió haber sido
aceptado anteriormente por el administrador. [9]
VAF: Value Adjustment Factor. Es la medida de ajuste basada en 14 categorías, en donde cada una
es calificada cuantitativamente en un rango de 0 a 5 según la influencia en la aplicación: 0 significa
que no influye y 5 que es vital en el proyecto. [11]
WEB: World Wide Web. [12]
REFERENCIAS:
[1] – IEEE Std 1058 - 1998, Software Project Management Plans, IEEE, 1998.
[2] - IEEE, Computer Society Style Guide, References, IEEE, 2007.
[3] - Sommerville I. Ingeniería de Software. 7th ed., Pearson Educación S.A, 2005.
[4] - Larman C., UML Y PATRONES. Una introducción al análisis y diseño orientado a objetos y al
proceso unificado. 2nd ed., Pearson Educación S.A, 2003.
[5] – Crawford William, Kaplan Jonathan. J2EE Design Patterns. 1st ed., O'reilly & Associates, 2003.
[6] - Elliotte Harold, Elliotte Rusty Harold. Java Network Programming. 3rd ed., O'reilly &
Associates, 2004.
[9] – Goetz Brian, Peierls Tim, Bloch Joshua, Bowbeer Joseph, Holmes David, Lea Doug. Java
Concurrency in Practice. 1st ed, Addison Wesley Professional, 2006.
[10]Sun
MicroSystems,
"API
http://java.sun.com/reference/api/index.html
Specifications",
Ago
2008;
[11] - Borland, "Software Architecture Design, Visual UML & Businnes Process Modeling", Ago
2008; http://www.borland.com/us/products/together/index.html
[12] - Sun Microsystems, "Developer Resources
http://java.sun.com/
for Java Technology",
Ago 2008;
[13] - Sun Microsystems, "Javadoc Tool Home Page", Ago 2008; http://java.sun.com/j2se/javadoc/
[14] - JUnit, "Resources for Test Driven Development", Ago 2008; http://www.junit.org/about
[15] - A.S. Tanembaun, Redes de computadores 4ta edición, Pearson, 2003
[16] - Sun Microsystems, "Welcome to NetBeans", Ago 2008; http://www.netbeans.org/
[17]: http://www.masadelante.com/faq-ordenador.htm
[18]. http://www.mihogarcountrywide.com/enes/glossary/2.aspx
[19]- JGARZAS “LA ARQUITECTURA DE SOFTWARE: EL MODELO 4+1”,
http://jgarzas.googlepages.com/4mas1
[20]- Kruchten, Philippe (1995, November). Architectural Blueprints — The “4+1” View Model of
Software Architecture.
VISIÓN GLOBAL:
El presente documento está compuesto por diferentes secciones dirigidas a lectores, expertos, en
primera instancia se encuentra una visión general del documento dirigida a cualquier constructor
del sistema para orientarlo en su lectura. Posteriormente se encuentra una sección dedicada a la
descripción global del ambiente arquitectónico del producto dirigido a diseñadores, arquitectos y
desarrolladores. Hasta esta parte del documento, se ha introducido lo que va a contener en
términos generales, así como su propósito y alcance. En las siguientes secciones la descripción
arquitectónica se hará con más detalle y básicamente se pretende:

Dar a conocer cómo se va a realizar la representación arquitectónica en el sistema y de
qué forma se puede adaptar a las necesidades de los Stakeholders.

Mostrar los objetivos que se tienen en cuenta en el ambiente arquitectónico, así como las
limitaciones con las que hay que restringir el sistema.

Mostrar el estilo arquitectónico que se va a utilizar en el sistema.

Determinar cómo se va a adaptar el modelo de 4+1 vistas a la arquitectura planteada para
el sistema.

Características de tamaño y rendimiento de los programas del sistema.

Contribución del estilo arquitectónico escogido a los atributos de calidad del sistema.
REPRESENTACIÓN ARQUITECTÓNICA
El sistema K^2M Enterprise es una aplicación en la cual se pretende aplicar los conceptos
fundamentales de diseño e implementación de una arquitectura de software. Se desea mediante
ella mostrar a los Stakeholders una forma más eficiente, completa y confiable para realizar sus
operaciones bancarias y llevar un control de sus movimientos financieros en cualquier momento,
en el sitio que se desee y requiriendo solamente una conexión a internet y un programa de acceso
web.
La arquitectura está representada mediante vistas, basadas en el modelo 4+1 vistas que se
compone de diagramas UML que definen cada una de sus partes, diseño, implementación,
despliegue, procesos y casos de uso; simbolizados mediante diagramas de estado, interacción,
actividad, despliegue, componentes, clases, objetos, entre otros.
DESCRIPCIÓN DE LA ARQUITECTURA:
A continuación se encuentra una descripción de cada uno de los módulos que componen el
modelo 4+1 Vistas de representación de la arquitectura de software:
Vista Lógica
Según [19] y [20], esta vista tiene como objetivo modelar el diseño y dar soporte a los
requerimientos funcionales que debe proveer el sistema en términos de servicios de los
usuarios. Esta vista arquitectónica se enfoca a la funcionalidad del sistema, mostrar
abstracciones claves que permitan descomponer el sistema en subsistemas para manejar
su complejidad y detallar cada parte.
Esta vista tiene como stakeholders a los usuarios finales o clientes, cuyo principal interés
es la funcionalidad del sistema, pero también es de gran importancia para los arquitectos
de software que pueden abstraer objetos y clases para modelar mejor la arquitectura del
sistema a un alto nivel.
El estilo que se maneja en esta vista es orientado a objetos, por esta razón la herramienta
de modelado más relevante es el diagrama de clases, donde se pueden expresar
abstracciones claves del sistema y sus relaciones.
Vista de Procesos
Según [19] y [20], esta vista tiene como objetivo representar los requerimientos no
funcionales del sistema, por ejemplo, funcionalidad, usabilidad, mantenibilidad, eficiencia
y portabilidad. Además, especifica que hilo de control ejecuta cada operación identificada
en cada clase identificada en la vista lógica. La vista se centra por tanto en la concurrencia
y distribución de procesos.
La representación de la vista de procesos se puede hacer con diagramas de interacción o
diagramas de actividad que permiten modelar procesos concurrentes y distribuidos y
presentar atributos del sistema como rendimiento, escalabilidad y potencia.
Vista de desarrollo (implementación)
En esta vista, según lo expresan [19] y [20] se representan requerimientos internos del
sistema como facilidad de desarrollo, administración de software, reutilización de código y
las limitaciones técnicas que pueden presentar las tecnologías de desarrollo y sus
herramientas.
Su objetivo es presentar una representación modular del sistema, utilizando el estilo de
capas y con esto facilitar el proceso de desarrollo del software y la administración de sus
configuraciones. Para cumplir con este propósito, se definen subsistemas que pueden ser
desarrollados por uno o muchos desarrollador, sin embargo, cada uno de los subsistemas
es organizado en capas jerárquicas para que facilitar el proceso de integración de
sistemas.
Uno de los mayores beneficios que presta esta vista, es que permite planear cada uno de
los aspectos del proyecto de desarrollo como son: complejidad del sistema, planeación de
actividades de codificación, evaluación de costes, planificación, monitorización del
progreso del proyecto, reutilización, portabilidad, seguridad, entre otros.
El principal diagrama que se utiliza para representar esta vista es el diagrama de
componentes y el diagrama de paquetes, ambos estandarizados bajo UML 2.0.
Vista Física (Despliegue)
La vista física contempla la implantación del software sobre hardware. Se centra en
requerimientos no funcionales como disponibilidad, fiabilidad, escalabilidad y ejecución.
También presenta cómo los procesos, objetos, etc., corresponden a nodos de proceso:
[20][19]

Componentes: nodos de proceso.


Conectores: LAN, WAN, bus, etc.
Contenedores: subsistemas físico
Varias configuraciones físicas son válidas siempre y cuando no afecten la comunicación ni
despliegue entre nodos.
Vista de Escenarios (Casos de Uso)
Esta vista unifica las demás vistas, los escenarios que la componen son instancias de los
casos de uso que representan escenarios del sistema. Así, desde casos de uso se debe
poder realizar la trazabilidad a los componentes del sistema de software, determinando
por ejemplo, qué ordenadores, clases, componentes, jars o procesos son responsables que
el sistema cubra las funcionalidades requeridas. [20][19]
Relación entre las vistas
La manera lógica de abordar las vistas comienza en la vista de escenarios, de donde se
parte para desarrollar la vista lógica. Asimismo, a partir de la vista lógica se pasa a la vista
de desarrollo y de procesos. Finalmente, de la vista de procesos se refina la vista física.
Cabe aclarar que no son pasos estrictos ni rígidos, por lo cual cada una de las vistas puede
ser sometida a post-iteraciones para su refinamiento. [20][19]
OBJETIVOS Y LIMITACIONES ARQUITECTÓNICAS
Debido a la naturaleza del negocio y las necesidades del sistema planteadas por la organización
Keops Kefrén y Micerinos los requerimientos y restricciones generan un impacto directo en la
arquitectura, estos objetivos son:

El sistema debe establecer los parámetros que crea convenientes para poder mantener
seguros los datos de los clientes y del banco, especialmente ante fallos en los servidores.

El sistema debe conectarse vía web

Las búsquedas y solicitudes hechas por un usuario cuentan con un “tiempo de tolerancia”
que no sería superior a los 15 segundos.

El sistema debe conocer, validar y permitir el acceso a los diferentes tipos de usuarios del
sistema

Disponibilidad del sistema equivalente al 99,998% del tiempo y en cualquier dispositivo

El sistema debe garantizar la integridad, disponibilidad y confidencialidad de los datos de
los usuarios bajo todas las circunstancias, especialmente, en los fallos. Vale la pena aclarar
que la disponibilidad jugaría a favor del titular de la cuenta o también a las personas
autorizadas de manera que se eviten accesos por parte de personas sin permiso para
realizar algún tipo de operación sobre una cuenta.

En la calidad de banco que es una entidad que hace transacciones, se deben cumplir con
las condiciones ACID para garantizar que las transacciones van a modificar información
cuando se den las condiciones óptimas, es decir, que los datos estén preparados y que no
hayan fallos en la red.

El sistema debe generar reportes de los movimientos realizados del cliente en caso de que
éste los pida o bien luego de un tiempo determinado (3 meses).

El sistema debe manejar permisos para accesos a las cuentas de los clientes.

El sistema debe poder distinguir los tipos de usuarios existentes.


El sistema debe presentar un mecanismo de modificación y recuperación de claves.
El sistema tiene que aplicar las tasas regidas por el Gobierno Nacional.
ESTILO ARQUITECTÓNICO
Como realizar la selección del estilo arquitectónico más apropiado requiere de un método de
análisis con base en los atributos de calidad que se buscan satisfacer, a continuación se describen
los atributos de calidad más relevantes y con mayor impacto directo en la arquitectura del sistema
(Calificado de 1 a 5 siendo 1 el menor y 5 el mayor impacto).
REQUERIMIENTO
DEFINICIÓN
Seguridad datos guardados
El sistema debe establecer los parámetros que
crea convenientes para poder mantener seguros
5
los datos de los clientes y del banco,
especialmente ante fallos en los servidores.
Conexión
Tiempo de tolerancia
El sistema debe conectarse vía web
VALOR
5
Las búsquedas y solicitudes hechas por un
usuario cuentan con un “tiempo de tolerancia” 2
que no sería superior a los 15 segundos.
Tipos de usuarios
El sistema debe conocer, validar y permitir el
acceso a los diferentes tipos de usuarios del 1
sistema
Disponibilidad
Disponibilidad del sistema equivalente al
4
99,998% del tiempo y en cualquier dispositivo
El sistema debe garantizar la integridad,
disponibilidad y confidencialidad de los datos de
los usuarios bajo todas las circunstancias,
especialmente, en los fallos. Vale la pena aclarar
Integridad,
disponibilidad,
que la disponibilidad jugaría a favor del titular de 5
confidencialidad
la cuenta o también a las personas autorizadas de
manera que se eviten accesos por parte de
personas sin permiso para realizar algún tipo de
operación sobre una cuenta.
Transacciones
En la calidad de banco que es una entidad que
hace transacciones, se deben cumplir con las 5
condiciones ACID para garantizar que las
transacciones van a modificar información
cuando se den las condiciones óptimas, es decir,
que los datos estén preparados y que no hayan
fallos en la red.
Generación de reportes de El sistema debe generar reportes de los
movimientos realizados del cliente en caso de
usuario
2
que éste los pida o bien luego de un tiempo
determinado (3 meses).
Permisos
El sistema debe manejar permisos para accesos a
4
las cuentas de los clientes.
Ayuda en línea
El sistema debe proveer una ayuda en línea como
2
suplemento para la adaptación de los usuarios
El sistema debe brindar información acerca de la
Información de seguridad de la importancia de la protección de la clave de
3
clave de acceso
acceso y de qué hacer en caso de pérdida o
posible filtración a personas indebidas
Información de normas y leyes
El sistema tiene que aplicar las tasas regidas por
2
el Gobierno Nacional.
Recuperación de claves
El sistema debe presentar un mecanismo de
4
modificación y recuperación de claves.
El sistema debe permitir que los usuarios se
Adaptabilidad a dispositivos de puedan conectar al sistema mediante cualquier
5
acceso
dispositivo de acceso que tenga instalado un
navegador web.
Distinción de clientes
Tiempo de
solicitudes
respuesta
El sistema debe poder distinguir los tipos de
3
usuarios existentes.
a El sistema debe responder a las solicitudes con
3
un tiempo máximo de 15 segundos
TABLA 1: ESTILO ARQUITECTÓNICO
Al observar los requerimientos obtenidos, se puede deducir que el estilo por capas sería el más
correcto y efectivo, considerando que se busca eficiencia, además que cumple con los atributos de
calidad más importantes del sistema a desarrollar.
A continuación se puede ver la arquitectura planteada para el desarrollo del sistema, basada en el
estilo arquitectónico por capas:
cmp Component Model
Sistema K^2M-Enterprice.
«facade»
Presentación
«business boundary»
ComunicacionClientes
InternetGui
«business boundary»
ComunicacionPersonal
Mov ilesGui
«facade»
IntranetGui
«use»
TagLibraries
JSPs
«use»
Cabe anotar que el modelo contiene
en cada uno de los paquetes mas de
una capa
.
Servicios
Especiales
«https»
Canal
Interno
«https»
Tanto los servicios especiales como canal
interno utilizan VPN para proteger la
confidencialidad
Canal de
Servicio
«http»
Negocio
«case worker» WebServices
Usuario
«flow»
«case worker»
WebServ ices Usuario
«business control»
Administrador de Serv icios
Estos web services facilitan la
integración con otros sistemas
o otras entidades
Manej ador de Procesos
Herramientas
«stub»
Reglas con Externos
«business worker»
EJB de Trabaj o
SessionBeans
EntityBeans
MessageDriv enBeans
«delegate»
Persistencia
«business entity»
Adminitador de Consultas
Repositorio Cuentas Usuarios
«business entity»
Repositorio de Activ os
ILUSTRACIÓN 1: ARQUITECTURA
Para más información por favor remítase al archive arquitectura.rtf
VISTA DE CASOS DE USO
A continuación se muestra el diagrama de casos de uso y en los numerales siguientes se puede
encontrar la documentación correspondiente a cada uno de ellos:
uc Use Case Mo...
Casos de uso de contexto
Ingreso al sistema
Administración de
cuenta de usuario
Administración
de serv icios
Otorgar
Permisos
Usuario Administrador
Valiidar
formulario
Usuario Gerente
Acceder a
serv icios
Otras entidades
bancarias
Generar
Reportes
Usuario
Usuario Caj ero Jefe
Generación de
formularios
Realizar
consignación
Inscripción Pago
Serv icios
Automático
Usuario Caj ero
Realizar retiro
Entidades de serv icios
Realizar
Transferencias
VISA y Mastercard
Verificar fondos
Usuario Final
Generar
notificaciones
Salir del sistema
Realizar Pago
ILUSTRACIÓN 2: DIAGRAMA DE CASOS DE USO
Ingreso al sistema:
PROYECTO
K^2M
FECHA
8 de Abril del 2009
AUTOR
Eberto Burgos
VERSIÓN
1.0.0
ID CASO DE USO
CU01
IngresoSistema
NOMBRE
OBJETIVO EN CONTEXTO (RESUMEN)
Este caso de uso permite a los usuarios ingresar al
sistema por medio de un formulario que se le
presenta
ACTORES PARTICIPANTES
Usuario
ENTRADAS
Documento de ingreso, contraseña de acceso
SALIDAS
Ingreso del usuario al sistema
PRE-CONDICIONES
Existencia del usuario en el sistema, datos
correctamente diligenciados y contraseña
correcta
POST-CONDICIONES
CONDICIÓN FINAL DE ÉXITO
El usuario ha podido ingresar al sistema
CONDICIÓN FINAL DE FALLO
El usuario no ha podido ingresar al sistema
FLUJO BÁSICO DE ÉXITO
NUMERO
DESCRIPCIÓN
1
El sistema muestra un
formulario de ingreso al 2
sistema
El
usuario
diligencia
el
formulario de ingreso al sistema
3
El usuario envía el
4
formulario diligenciado
El sistema valida los datos
ingresados por el usuario
5
El sistema permite
ingreso al usuario
CAMINOS
EXCEPCIÓN
NUMERO
DESCRIPCIÓN
el
DE El sistema no pudo realizar la validación del usuario
EXTENSIONES
El usuario no existe en el sistema
CU10, CU12
TABLA 2: CU01 (INGRESO AL SISTEMA)
Otorgar Permisos:
PROYECTO
K^2M
FECHA
8 de Abril del 2009
AUTOR
Eberto Burgos
VERSIÓN
1.0.0
ID CASO DE USO
CU02
NOMBRE
Otorgar permisos
OBJETIVO EN CONTEXTO (RESUMEN)
Este caso de uso permite al sistema otorgarle al
usuario que está intentando ingresar al sistema
los permisos correspondientes a su perfil de
usuario
ACTORES PARTICIPANTES
Automático
ENTRADAS
Documento de ingreso, contraseña de acceso,
perfil de usuario
SALIDAS
Ingreso del usuario al sistema con los permisos
determinados por su perfil de usuario
PRE-CONDICIONES
Existencia del usuario en el sistema, datos
correctamente diligenciados, contraseña de
acceso correcta
CONDICIÓN FINAL DE ÉXITO
POST-CONDICIONES
El usuario ha podido ingresar al sistema con los
permisos determinados por su perfil de usuario
CONDICIÓN FINAL DE FALLO
El usuario ha ingresado al sistema pero con los
permisos que no pertenecen a su perfil de usuario
FLUJO BASICO DE ÉXITO
NÚMERO
DESCRIPCIÓN
1
El sistema verifica el perfil 2
de usuario de acuerdo a
los datos diligenciados
3
El sistema puede ingresar
al sistema con los permisos
de correspondientes a su
perfil
CAMINOS
EXCEPCION
NÚMERO
DESCRIPCIÓN
El sistema otorga los permisos
al usuario de acuerdo a su perfil
DE El sistema no pudo otorgarle los permisos al usuario
El usuario no existe en el sistema
EXTENSIONES
CU02
TABLA 3: CU02 (OTORGAR PERMISOS)
Realizar Transferencias
PROYECTO
K^2M
FECHA
8 de Abril del 2009
AUTOR
Eberto Burgos
VERSIÓN
1.0.0
ID CASO DE USO
CU03
RealizarTransferencias
NOMBRE
OBJETIVO EN CONTEXTO (RESUMEN)
Este caso de uso permite los usuarios realizar
diferentes tipos de transferencias
ACTORES PARTICIPANTES
Usuario
ENTRADAS
Monto de transferencia, cuenta origen, cuenta
destino, tipo de transferencia
SALIDAS
Mensaje de éxito o fallo de la transferencia
PRE-CONDICIONES
Existencia de cuenta origen, existencia de cuenta
destino, monto no mayor a fondos en la cuenta
origen
POST-CONDICIONES
CONDICIÓN FINAL DE ÉXITO
La transacción se realiza satisfactoriamente y se
actualizan los valores de las cuentas
CONDICIÓN FINAL DE FALLO
La transacción no se puede realizar
FLUJO BÁSICO DE ÉXITO
NÚMERO
DESCRIPCIÓN
NÚMERO
1
El sistema muestra un 2
formulario
para
la
DESCRIPCIÓN
El
usuario
diligencia
formulario de transferencia
el
correspondiente
transferencia
3
El sistema valida que los 4
datos sean correctos
5
El
sistema
muestra
mensaje de éxito o fracaso
CAMINOS
EXCEPCIÓN
El sistema verifica que el monto
a pagar no sea mayor a los
fondos de la cuenta origen
DE El sistema no pudo realizar la transferencia por problemas con cuentas
bancarias externas
El cuenta destino no existe en el sistema
EXTENSIONES
CU01, CU02, CU10, CU12
TABLA 4: CU03 (REALIZAR TRANSFERENCIA)
Acceder a Servicios
PROYECTO
K^2M
FECHA
8 de Abril del 2009
AUTOR
Eberto Burgos
VERSIÓN
1.0.0
ID CASO DE USO
CU04
AccederServicios
NOMBRE
OBJETIVO EN CONTEXTO (RESUMEN)
Este caso de uso permite el acceso de a los
servicios que provee el sistema a los usuarios
ACTORES PARTICIPANTES
Automático
ENTRADAS
Permisos otorgados y servicios que tiene el
usuario
SALIDAS
Acceso a los servicios propios del usuario
PRE-CONDICIONES
Existencia del usuario, el usuario ha ingresado al
sistema.
CONDICIÓN FINAL DE ÉXITO
POST-CONDICIONES
El usuario puede hacer uso de los servicios que
tiene en el sistema
CONDICION FINAL DE FALLO
El usuario no puede acceder a sus servicios en el
sistema
FLUJO BÁSICO DE ÉXITO
NÚMERO
DESCRIPCIÓN
1
El sistema verifica los 2
servicios a los que puede
acceder el usuario de
acuerdo a su perfil de
usuario
El usuario accede a uno de los
servicios que su perfil le
permite
3
El sistema muestra al 4
usuario los ambientes
correspondientes
al
servicio que escogió
El usuario hace uso del servicio
escogido
CAMINOS
EXCEPCIÓN
EXTENSIONES
NÚMERO
DESCRIPCIÓN
DE El cliente no ha ingresado al sistema
CU01, CU02
TABLA 5: CU04 (ACCEDER A SERVICIOS)
Administrar servicios
PROYECTO
K^2M
FECHA
8 de Abril del 2009
AUTOR
Eberto Burgos
VERSIÓN
1.0.0
ID CASO DE USO
CU05
AdministrarServicios
NOMBRE
OBJETIVO EN CONTEXTO (RESUMEN)
Este caso de uso permite que el usuario
administrador genere, elimine o modifique
determinado servicio a un usuario que ya ha
solicitado el nuevo ingreso del mismo
ACTORES PARTICIPANTES
Usuario administrador
ENTRADAS
Servicio a generar, eliminar o modificar, usuario a
quien se le va a generar, eliminar o modificar el
servicio, datos adicionales dependiendo del tipo
de servicio
SALIDAS
Generación, eliminación o modificación del
servicio de la cuenta de usuario correspondiente
PRE-CONDICIONES
Existencia del usuario, el usuario administrador ha
ingresado al sistema, validación del banco para
adquisición de nuevo servicio para el usuario o
existencia del servicio para la modificación o
eliminación del mismo.
POST-CONDICIONES
CONDICIÓN FINAL DE ÉXITO
El servicio ha sido creado, eliminado o modificado
CONDICIÓN FINAL DE FALLO
El servicio no se ha podido crear, eliminar o
modificar
FLUJO BÁSICO DE ÉXITO
NÚMERO
DESCRIPCIÓN
NÚMERO
DESCRIPCIÓN
1
El sistema muestra el 2
formulario
correspondiente,
dependiendo del que se
quiera ingresar
El
usuario
administrador
diligencia el formulario
3
El sistema valida los datos 4
ingresados por el usuario
administrador
El sistema realiza la creación,
eliminación o modificación del
servicio
5
Se le notifica al usuario de
lo que haya sucedido con
el servicio
CAMINOS
EXCEPCIÓN
DE El usuario no ha ingresado al sistema
EXTENSIONES
CU01, CU02, CU04, CU10, CU12
TABLA 6: CU05 (ADMINISTRAR
SERVICIOS)
Realizar Pago
PROYECTO
K^2M
FECHA
8 de Abril del 2009
AUTOR
Eberto Burgos
VERSION
1.0.0
ID CASO DE USO
CU06
RealizarPago
NOMBRE
OBJETIVO EN CONTEXTO (RESUMEN)
Este caso de uso permite que los usuarios puedan
realizar diferentes tipos de transacciones
ACTORES PARTICIPANTES
Usuario
ENTRADAS
Monto a pagar, cuenta origen, tipo de pago,
información correspondiente a la transacción a
realizar
SALIDAS
Mensaje de éxito o fracaso del pago
PRE-CONDICIONES
El usuario ha ingresado al sistema, existencia de la
cuenta origen, validación de cuenta de origen y
validación de la información correspondiente a la
transacción.
POST-CONDICIONES
CONDICIÓN FINAL DE ÉXITO
El pago se pudo realizar satisfactoriamente y se
actualiza el valor de la cuenta y se hace un
informe del pago a la entidad o persona a la que
se le hizo el pago
CONDICIÓN FINAL DE FALLO
El pago no se puede realizar
FLUJO BÁSICO DE ÉXITO
NÚMERO
DESCRIPCIÓN
1
El usuario escoge el tipo de 2
pago que quiere realizar
El
sistema
muestra
el
formulario
de
pagos
correspondiente al tipo de pago
que el usuario quiere realizar
3
El sistema muestra el 4
formulario
de
pagos
correspondiente
El
usuario
diligencia
formulario de pagos
5
El
sistema
hace
la 6
validación y verificación de
datos
El sistema muestra mensaje de
éxito o fracaso
CAMINOS
EXCEPCION
EXTENSIONES
NÚMERO
DESCRIPCIÓN
el
DE La cuenta especificada no cuenta con suficientes fondos para la realización
del pago
CU01, CU10, CU12
TABLA 7: CU06 (REALIZAR PAGO)
Generar Notificaciones
PROYECTO
K^2M
FECHA
8 de Abril del 2009
AUTOR
Eberto Burgos
VERSIÓN
1.0.0
ID CASO DE USO
CU07
GenerarNotificaciones
NOMBRE
OBJETIVO EN CONTEXTO (RESUMEN)
Este caso de uso permite que el sistema genere
notificaciones de las transferencias y pagos
realizados por los usuarios
ACTORES PARTICIPANTES
Automático
ENTRADAS
Estado de transferencia o pago, cuenta de usuario
SALIDAS
Notificación vía correo electrónico al usuario del
estado de su transferencia o pago o directamente
en pantalla
PRE-CONDICIONES
Existencia de usuario, el usuario ha intentado
realizar una transacción o pago, existencia de
cuenta de correo electrónico.
CONDICIÓN FINAL DE ÉXITO
POST-CONDICIONES
El usuario puede ver en su correo electrónico o en
pantalla el estado de su transacción o pago
CONDICIÓN FINAL DE FALLO
No se le puede notificar al usuario del estado de
su pago o transferencia
FLUJO BÁSICO DE ÉXITO
NÚMERO
DESCRIPCIÓN
1
El sistema valida
transacción o pago
3
El sistema envía al correo
electrónico o muestra en
pantalla al usuario el
estado de la transferencia
o pago
CAMINOS
EXCEPCIÓN
EXTENSIONES
NÚMERO
la 2
DESCRIPCIÓN
El sistema verifica el estado de
la transacción o pago
DE
CU03, CU06
TABLA 8: CU07 (GENERAR NOTIFICACIONES)
Generación Reportes
PROYECTO
K^2M
FECHA
8 de Abril del 2009
AUTOR
Eberto Burgos
VERSIÓN
1.0.0
ID CASO DE USO
CU08
GeneraciónReportes
NOMBRE
OBJETIVO EN CONTEXTO (RESUMEN)
Este caso de uso permite que el sistema genere
reportes automáticamente de cada uno de los
servicios o de todos los que un usuario necesite
acceder
ACTORES PARTICIPANTES
Usuario
ENTRADAS
Estado de servicio deseado, cuenta de usuario
SALIDAS
Reporte en pantalla del estado del servicio
solicitado
PRE-CONDICIONES
Existencia de usuario, permisos necesarios para
que el usuario acceda al servicio, el usuario debe
haber ingresado al sistema
POST-CONDICIONES
CONDICIÓN FINAL DE ÉXITO
El usuario puede ver en pantalla el reporte de
estado del servicio solicitado
CONDICION FINAL DE FALLO
El reporte del servicio deseado no se genera
FLUJO BÁSICO DE ÉXITO
NÚMERO
DESCRIPCIÓN
1
El usuario selecciona el 2
servicio del cual quiere ver
el reporte
El sistema genera el reporte de
acuerdo al servicio seleccionado
3
El sistema muestra en 4
pantalla
el
reporte
generado
El usuario ve el reporte que
solicitó
CAMINOS
EXCEPCIÓN
EXTENSIONES
DE
CU01
TABLA 9: CU08 (GENERACIÓN DE REPORTES)
Inscripción a Pagos de Servicios Automático
NÚMERO
DESCRIPCIÓN
PROYECTO
K^2M
FECHA
8 de Abril del 2009
AUTOR
Eberto Burgos
VERSION
1.0.0
ID CASO DE USO
CU09
InscripciónPagoServiciosAutomático
NOMBRE
OBJETIVO EN CONTEXTO (RESUMEN)
Este caso de uso permite que el usuario pueda
inscribirse al pago de servicios automático
ACTORES PARTICIPANTES
Usuario
ENTRADAS
Servicios que el usuario desea inscribir para el pago
de servicios automáticos, cuenta de usuario,
información necesaria para la inscripción de cada
uno de los servicios solicitados
SALIDAS
Mensaje de éxito o fracaso de la inscripción
PRE-CONDICIONES
El usuario debe haber ingresado al sistema, el
usuario debe tener acceso a los servicios solicitador
para pago automático, los servicios solicitados
deben existir en el sistema
CONDICIÓN FINAL DE ÉXITO
POST-CONDICIONES
El usuario ha sido inscrito satisfactoriamente al pago
automático de servicios
CONDICION FINAL DE FALLO
No se pudo inscribir al usuario al pago automático
de servicios
FLUJO BÁSICO DE ÉXITO
NÚMERO
DESCRIPCIÓN
NÚMERO
1
El sistema muestra el 2
formulario de inscripción
de pago de servicios
automático
DESCRIPCIÓN
El usuario selecciona los
servicios que quiere que se
realicen a través de pagos
automáticos e introduce el
resto de datos del formulario de
inscripción
3
CAMINOS
EXCEPCIÓN
El sistema valida los 4
servicios
y
datos
introducidos
por
el
usuario
El sistema realiza los pagos
automáticos de los servicios
escogidos por el usuario
DE Falta de fondos para pagos de servicios automáticos
EXTENSIONES
CU01, CU10, CU12
TABLA 10: CU09 (INSRCIPCIÓN A PAGO DE SERVICIOS AUTOMÁTICO)
Generación de Formularios
PROYECTO
K^2M
FECHA
8 de Abril del 2009
AUTOR
Eberto Burgos
VERSIÓN
1.0.0
ID CASO DE USO
CU10
GeneraciónFormularios
NOMBRE
OBJETIVO EN CONTEXTO (RESUMEN)
Este caso de uso permite que el sistema genere
los diferentes formularios que los usuarios
necesitan cuando quieren acceder a un
determinado servicio
ACTORES PARTICIPANTES
Usuario
ENTRADAS
Solicitud de tipo de formulario a generar
SALIDAS
Mostrar en pantalla al usuario el formulario
solicitado
PRE-CONDICIONES
El usuario debe haber ingresado al sistema, el
usuario debe tener acceso a los servicios
solicitador para pago automático, los servicios
solicitados deben existir en el sistema
CONDICIÓN FINAL DE ÉXITO
POST-CONDICIONES
El sistema muestra en pantalla el formulario que
el usuario solicitó
CONDICION FINAL DE FALLO
No se puede mostrar el formulario solicitado
FLUJO BÁSICO DE ÉXITO
NÚMERO
DESCRIPCIÓN
1
El usuario selecciona un 2
servicio que requiere el
diligenciamiento de un
formulario
3
El sistema muestra en
pantalla el formulario
solicitado
CAMINOS
EXCEPCIÓN
EXTENSIONES
NÚMERO
DESCRIPCIÓN
El sistema genera el formulario
dependiendo de lo que haya
seleccionado el usuario
DE Formulario no disponible
CU01, CU10, CU12
TABLA 11: CU10 (GENERACIÓN DE FORMULARIOS)
Realizar retiro
PROYECTO
K^2M
FECHA
8 de Abril del 2009
AUTOR
Eberto Burgos
VERSIÓN
1.0.0
ID CASO DE USO
CU11
RealizarRetiro
NOMBRE
OBJETIVO EN CONTEXTO (RESUMEN)
Este caso de uso permite que el usuario cajero o
cajero en jefe realice un retiro de una cuenta de
un usuario si este lo desea, y permite que los
usuarios finales a través de cajeros electrónicos
realicen retiros
ACTORES PARTICIPANTES
Usuario cajero, cajero en jefe, usuario final
ENTRADAS
Cuenta de usuario, información del de la cuenta,
monto del retiro
SALIDAS
Mensaje de éxito o fracaso de retiro
PRE-CONDICIONES
El usuario cajero o cajero en jefe debe haber
ingresado al sistema o el usuario final debe haber
ingresado al sistema mediante el cajero
electrónico, el monto a retirar no debe ser mayor
que el monto total de la cuenta a retirar.
POST-CONDICIONES
CONDICIÓN FINAL DE ÉXITO
Se realiza el retiro
CONDICIÓN FINAL DE FALLO
No se puede realizar el retiro
FLUJO BÁSICO DE ÉXITO
NÚMERO
DESCRIPCIÓN
1
Se muestra el formulario 2
de retiro
El usuario correspondiente llena
el formulario de retiro
3
Validación de formulario 4
de retiro
Se realiza retiro y se actualiza la
correspondiente cuenta
CAMINOS
EXCEPCIÓN
NÚMERO
DESCRIPCIÓN
DE La cuenta no tiene suficientes fondos para el retiro
EXTENSIONES
CU01
TABLA 12: CU11 (REALIZAR RETIRO)
Validar Formulario
PROYECTO
K^2M
FECHA
8 de Abril del 2009
AUTOR
Eberto Burgos
VERSIÓN
1.0.0
ID CASO DE USO
CU12
ValidarFormulario
NOMBRE
OBJETIVO EN CONTEXTO (RESUMEN)
Este caso de uso permite que el sistema haga la
validación de distintos formularios
ACTORES PARTICIPANTES
Automático
ENTRADAS
Formulario diligenciado
SALIDAS
Formularios validados
PRE-CONDICIONES
El usuario ha diligenciado el formulario
POST-CONDICIONES
CONDICIÓN FINAL DE ÉXITO
Se valida el formulario
CONDICIÓN FINAL DE FALLO
No se puede validar el formulario y se le presenta
un error en el sistema
FLUJO BÁSICO DE ÉXITO
NÚMERO
DESCRIPCIÓN
1
Validación de formulario
CAMINOS
EXCEPCIÓN
NÚMERO
DESCRIPCIÓN
DE
EXTENSIONES
CU10
TABLA 13: CU12 (VALIDAR FORMULARIO)
Verificar Fondos
PROYECTO
K^2M
FECHA
8 de Abril del 2009
AUTOR
Eberto Burgos
VERSIÓN
1.0.0
ID CASO DE USO
CU13
VerificarFondos
NOMBRE
OBJETIVO EN CONTEXTO (RESUMEN)
Este caso de uso permite que el sistema pueda
verificar los fondos de una cuenta para la
realización de transferencias y pagos
ACTORES PARTICIPANTES
Automático
ENTRADAS
Formulario diligenciado, cuenta origen, monto a
pagar
SALIDAS
Fondos verificados
PRE-CONDICIONES
El usuario ha diligenciado el formulario
CONDICIÓN FINAL DE ÉXITO
POST-CONDICIONES
Se verifican los fondos de la cuenta de origen y se
comparan con el monto a pagar
CONDICION FINAL DE FALLO
No se pueden verificar los fondos de la cuenta de
origen
FLUJO BÁSICO DE ÉXITO
NÚMERO
DESCRIPCIÓN
1
El sistema verifica que los
fondos de la cuenta son
mayores al monto a pagar
CAMINOS
EXCEPCIÓN
NÚMERO
DESCRIPCIÓN
DE
EXTENSIONES
CU03, CU6
TABLA 14: CU13 (VERIFICAR FONDOS)
Salir del Sistema
PROYECTO
K^2M
FECHA
8 de Abril del 2009
AUTOR
Eberto Burgos
VERSIÓN
1.0.0
ID CASO DE USO
CU14
SalirDelSistema
NOMBRE
OBJETIVO EN CONTEXTO (RESUMEN)
Este caso de uso permite que el usuario salga del
sistema
ACTORES PARTICIPANTES
Usuario
ENTRADAS
Solicitud de salida del sistema
SALIDAS
Salida satisfactoria del usuario del sistema
PRE-CONDICIONES
El usuario debe haber ingresado al sistema
POST-CONDICIONES
CONDICIÓN FINAL DE ÉXITO
El usuario puede salir del sistema
CONDICIÓN FINAL DE FALLO
El usuario no puede salir del sistema
FLUJO BÁSICO DE ÉXITO
NÚMERO
DESCRIPCIÓN
1
El usuario solicita salir del 2
sistema
CAMINOS
EXCEPCIÓN
EXTENSIONES
NÚMERO
DESCRIPCIÓN
El sistema permite que el
usuario salga del sistema y
guarda
los
datos
correspondientes
DE
CU01
TABLA 15: CU14 (SALIR DEL SISTEMA)
Administración de Cuenta de Usuario
PROYECTO
K^2M
FECHA
8 de Abril del 2009
AUTOR
Eberto Burgos
VERSIÓN
1.0.0
ID CASO DE USO
CU15
CreaciónCuentaUsuario
NOMBRE
OBJETIVO EN CONTEXTO (RESUMEN)
Este caso de uso permite que el usuario
administrador pueda crear, eliminar o modificar
una cuenta de usuario en el sistema
ACTORES PARTICIPANTES
Usuario administrador
ENTRADAS
Información del nuevo usuario, información
adicional para creación, eliminación o
modificación de cuenta de usuario
SALIDAS
Mensaje de éxito o fracaso de creación,
eliminación o modificación de cuenta de usuario
PRE-CONDICIONES
El usuario administrador debe haber ingresado al
sistema, si se va a crear una nueva cuenta de
usuario no debe existir en el sistema, si se va a
eliminar o modificar debe existir en el sistema
POST-CONDICIONES
CONDICIÓN FINAL DE ÉXITO
Se crea, elimina o modifica la cuenta de usuario
CONDICIÓN FINAL DE FALLO
No se puede crear, eliminar o modificar la cuenta
de usuario
FLUJO BÁSICO DE ÉXITO
NÚMERO
DESCRIPCIÓN
NÚMERO
DESCRIPCIÓN
1
El sistema muestra el 2
formulario
para
la
creación, eliminación o
modificación de cuenta,
dependiendo de lo que se
quiera hacer
El
usuario
administrador
diligencia el formulario
3
El sistema realiza la 4
validación del formulario
El sistema crea, elimina o
modifica la cuenta de usuario
en el sistema
5
CAMINOS
EXCEPCIÓN
El
sistema
muestra
mensaje de éxito
DE
EXTENSIONES
CU10, CU12
TABLA 16: CU15 (ADMINISTRACIÓN
DE
cuenta de usuario)
Realizar consignación
PROYECTO
K^2M
FECHA
8 de Abril del 2009
AUTOR
Eberto Burgos
VERSIÓN
1.0.0
ID CASO DE USO
CU16
RealizarConsignación
NOMBRE
OBJETIVO EN CONTEXTO (RESUMEN)
Este caso de uso permite que el usuario cajero o
cajero en jefe realice una consignación a una
cuenta de un usuario del banco cuando un cliente
lo desee
ACTORES PARTICIPANTES
Usuario cajero, cajero en jefe
ENTRADAS
Información de cuenta a la que se va a realizar la
consignación, monto de consignación
SALIDAS
Mensaje de éxito o fracaso de la consignación
PRE-CONDICIONES
El usuario cajero o cajero en jefe debe haber
ingresado al sistema, la cuenta de a la que se le va
a hacer la consignación debe existir en el sistema
POST-CONDICIONES
CONDICIÓN FINAL DE ÉXITO
Se realiza exitosamente la consignación
CONDICIÓN FINAL DE FALLO
No se puede realizar la consignación
FLUJO BASICO DE ÉXITO
NÚMERO
DESCRIPCIÓN
1
Se le muestra al usuario 2
cajero o cajero jefe el
formulario de consignación
El usuario cajero o cajero jefe
diligencia el formulario de
consignación
3
El sistema valida el 4
formulario de consignación
El
sistema
realiza
consignación y actualiza
monto total de la cuenta
CAMINOS
EXCEPCIÓN
EXTENSIONES
NÚMERO
DE La cuenta de usuario no existe en el sistema
CU10, CU12
TABLA 17: CU16 (REALIZAR CONSIGNACIÓN)
DESCRIPCIÓN
la
el
VISTA LÓGICA
En esta vista se puede observar los diferentes componentes principales y sus relaciones, además
se tienen en cuenta detalles técnicos y un principio para la implementación de la plataforma
basándose en la lógica del negocio. Su funcionalidad se centra en mostrar, como su nombre lo
dice, la lógica del sistema y el flujo de información dentro de él. A continuación se describen
diferentes capas las cuales se organizan en paquetes, subsistemas y componentes.
DESCRIPCIÓN
La vista lógica del sistema que se muestra a continuación representa un modelo de n-capas en la
que principalmente se observa la presentación, la lógica de negocio, y la persistencia; sin embargo
por lo genérico del modelo, dentro de estas capas existen otras capas más específicas que se
describen en las siguientes vistas de manera más concreta.
ILUSTRACIÓN 3: VISTA LÓGICA
PAQUETES DE DISEÑO IMPORTANTES PARA LA ARQUITECTURA
Dentro del diseño arquitectónico se tienen en cuenta los paquetes como se muestran a
continuación:
PRESENTACIÓN
ILUSTRACIÓN 4: PRESENTACIÓN (VISTA LÓGICA)
P R E S E N T A C IÓ N
Esta capa interactúa directamente con el usuario y se encarga de recibir los datos de ingreso del
usuario, solicitudes de servicio y validación.
U S U AR IO S IN TE R N O S
Este componente formaliza las peticiones de servicios y validaciones de usuario a nivel interno de
la entidad bancaria.
U S U AR IO S EX TE R N O S
Este componente formaliza las peticiones de servicios y validaciones con la diferencia que se
realiza a nivel de usuario final con restricciones y perfiles específicos (Para mayor información
remitirse al diagrama de casos de uso).
LÓGICA DE NEGOCIO
ILUSTRACIÓN 5: LÓGICA DEL NEGOCIO (VISTA LÓGICA)
P ET I C IO N E S
Este componente es el encargado de recibir todas las peticiones de usuario y redireccionarlas al
servicio solicitado.
TR AN S F ER EN C I A
Este componente se encarga de manejar la solicitud de transferencia del usuario.
M O D IF I C A C IÓ N
Este componente se encarga de manejar las solicitudes de modificación.
R EP O R TE
Este componente se encarga de manejar las solicitudes de reportes de los diferentes servicios,
estados bancarios, acceso y control de usuarios.
EL I M IN AC I Ó N
Este componente se encarga de manejar las solicitudes de eliminación de productos, usuarios,
transferencias, registros, entre otros.
CR E A C IÓ N
Este componente se encarga de manejar las solicitudes de creación del sistema.
EN LA C E S E X T ER N O S
Este componente se encarga de la comunicación y recepción de información respecto a entidades
heterogéneas externas al sistema.
PERSISTENCIA
ILUSTRACIÓN 6: PERSISTENCIA (VISTA LÓGICA)
M AN EJ AD O R CO N S U L TA S
Este componente se encarga de la comunicación y distribución de cargas a la persistencia y del
retorno de respuestas obtenidas de consultas y modificaciones a la persistencia.
P ER S IS TEN C I A
Cabe anotar que este es un componente externo, sin embargo interactúa directamente con el
paquete de persistencia para el almacenamiento de datos.
Sistemas heterogéneos
ILUSTRACIÓN 7: SISTEMAS HETEROGÉNEOS (VISTA LÓGICA)
S I S T EM A S B AN CA R IO S
Este componente corresponde a todas las entidades bancarias que tienen convenio con K^2M y
que contienen información relevante para los usuarios, como cuentas en bancos externos,
entidades reguladoras, entre otros.
RELACIONES CON CASOS DE USO
Ingreso al Sistema
ILUSTRACIÓN 8: DIAGRAMA DE SECUENCIA DE INGRESO AL SISTEMA
Otorgar Servicios
ILUSTRACIÓN 9: DIAGRAMA DE SECUENCIA
DE OTORGAR SERVICIOS
Realizar Transferencias
ILUSTRACIÓN 10: DIAGRAMA DE SECUENCIA
Acceder a Servicios
DE REALIZAR TRANSFERENCIAS
ILUSTRACIÓN 11: DIAGRAMA DE SECUENCIA
DE ACCEDER A SERVICIOS
Administrar Servicios
ILUSTRACIÓN 12: DIAGRAMA DE SECUENCIA DE ADMINISTRAR SERVICIOS
Realizar Pagos
ILUSTRACIÓN 13: DIAGRAMA DE SECUENCIA
DE REALIZAR PAGOS
Generar Notificaciones
ILUSTRACIÓN 14: DIAGRAMA DE SECUENCIA
DE GENERAR NOTIFICACIONES
Generación de Reportes
ILUSTRACIÓN 15: DIAGRAMA DE SECUENCIA DE GENERACIÓN DE REPORTES
Inscripción a Pagos de Servicios Automáticos
ILUSTRACIÓN 16: DIAGRAMA DE SECUENCIA DE INSCRIPCIÓN A PAGOS DE SERVICIOS AUTOMÁTICOS
Generación Formularios
ILUSTRACIÓN 17: DIAGRAMA DE SECUENCIA
DE GENERACIÓN DE FORMULARIOS
Realizar retiro
ILUSTRACIÓN 18: DIAGRAMA DE SECUENCIA
DE REALIZAR RETIRO
Validar Formulario
ILUSTRACIÓN 19: DIAGRAMA DE SECUENCIA DE VALIDAR FORMULARIO
Verificar Fondos
ILUSTRACIÓN 20: DIAGRAMA DE SECUENCIA
Salir del Sistema
ILUSTRACIÓN 21: DIAGRAMA DE SECUENCIA DE SALIR DEL SISTEMA
Administración de Cuenta de Usuario
ILUSTRACIÓN 22: DIAGRAMA DE SECUENCIA DE ADMINISTRACIÓN DE CUENTA DE USUARIO
Realizar consignación
ILUSTRACIÓN 23: DIAGRAMA DE SECUENCIA DE REALIZAR CONSIGNACIÓN
}
ILUSTRACIÓN
24: VISTA DE PROCESO
VISTA DE PROCESO
BROWSER
class Class Mo...
Browser
ILUSTRACIÓN 25: BROWSER (VISTA DE PROCESO)
Este componente es el medio por el cual los usuarios pueden acceder al sistema y de esta forma
realizar diferentes acciones sobre el mismo.
PRESENTACIÓN
ILUSTRACIÓN 26: PRESENTACIÓN (VISTA DE PROCESO)
Este componente se encarga de recibir todas las solicitudes del sistema sin llegar a procesarlas,
simplemente las distribuye dependiendo del tipo de solicitud. Contiene una sesión, que es a la que
entra cada usuario y donde obtiene los permisos dependiendo del tipo de usuario que es. Tiene un
modelo vista controlador, para separar las responsabilidades antes de acceder al módulo de lógica
del negocio. El controlador se encarga de recibir los datos y enviarlos al modelo para la conexión
con el módulo anteriormente mencionado. Cuando el modelo recibe respuesta de dicho módulo
accede a la vista y ésta se actualiza de tal forma que muestra los nuevos datos al usuario.
CONEXIÓN MÓDULO BROWSER A MÓDULO PRESENTACIÓN
ILUSTRACIÓN 27: CONEXIÓN MÓDULO BROWSER A MÓDULO PRESENTACIÓN (VISTA DE PROCESO)
Ésta conexión es de 1 módulo browser a 1 a muchos módulos de presentación, debido a que cada
usuario que entra al browser puede acceder a diferentes tipos de presentación dependiendo de
los permisos que le permite su perfil y a lo que quiera realizar con el sistema. Asimismo,
dependiendo del acceso al que necesite llegar el usuario la conexión es http, https o vpn, de tal
forma dependiendo del servicio al cual se esté accediendo se utiliza un diferente tipo, pues hay
unas más seguras que otras.
MÓDULO DE NEGOCIO
ILUSTRACIÓN 28: MÓDULO DE NEGOCIO (VISTA DE PROCESO)
Este módulo se encarga de realizar todo el procedimiento relacionado con la lógica del negocio,
acá llegan las solicitudes y el administrador de servicios delega los diferentes servicios
dependiendo de la solicitud. Los servicios por su parte se realizan con los datos recibidos.
CONEXIÓN MÓDULO PRESENTACIÓN A MÓDULO NEGOCIO
ILUSTRACIÓN 29: CONEXIÓN MÓDULO PRESENTACIÓN A MÓDULO NEGOCIO (VISTA DE PROCESO)
La conexión es de un módulo de presentación a muchos módulos de negocio, ya que se pueden
recibir múltiples tipos de solicitudes. La conexión es IIOP ya que es dentro del mismo sistema que
se realiza.
CONEXIÓN MÓDULO NEGOCIO A MÓDULO J2EE
ILUSTRACIÓN 30: CONEXIÓN MÓDULO NEGOCIO A MÓDULO J2EE
El módulo de negocio se conecta al módulo de J2EE, el cual ya tiene definida toda su conexión
interna y sus procedimientos.
MÓDULO DE PERSISTENCIA
class Class Mo...
Persistencia
«process»
Administrador de
datos
ILUSTRACIÓN 31: MÓDULO PERSISTENCIA (VISTA DE PROCESO)
El módulo de persistencia se encarga de administrar las solicitudes recibidas del módulo de
negocio, de tal forma que delega a los tipos de datos que se solicitan y los administra para poder
manejarlos dependiendo de su tipo.
Conexión Módulo de Negocio a Módulo de Persistencia
ILUSTRACIÓN 32: CONEXIÓN MÓDULO DE NEGOCIO A MÓDULO DE PERSISTENCIA (VISTA DE PROCESO)
La conexión es de un módulo de negocio a un módulo de persistencia, ya que todas las solicitudes
pasan por un solo módulo de negocio a un solo administrador de datos.
MÓDULO DE BASE DE DATOS
class Class Mo...
Base de datos
ILUSTRACIÓN 33: MÓDULO DE BASE DE DATOS (VISTA DE PROCESO)
Este módulo es el encargado de la conexión directa con la base de datos.
Conexión Módulo de Persistencia a Módulo de Base de Datos
ILUSTRACIÓN 34: CONEXIÓN MÓDULO DE PERSISTENCIA A MÓDULO DE BASE DE DATOS (VISTA DE PROCESO)
La conexión es de un módulo de administrador de base de datos a un módulo de base de datos,
debido a que un solo administrador se encarga de manejar los datos y enviar las solicitudes a la
base de datos para accederla y consultar los datos correspondientes
VISTA DE DESPLIEGUE
ILUSTRACIÓN 35: VISTA DE DESPLIEGUE
DISPOSITIVOS DE ACCESO
deployment Deployment Model
«device,Pc»
Computador Personal
«device,HandHeld»
Dispositiv o Móv il
«device,Pc»
Terminal del Sistema
ILUSTRACIÓN 36: DISPOSITIVOS DE ACCESO
Estos nodos representan la gran cantidad de dispositivos heterogéneos con conexión a la red que
el sistema está construido para soportar. Particularmente los computadores personales realizan la
conexión al sistema mediante el acceso a internet con un navegador web o browser tradicional, así
mismo los dispositivos de mano como celulares o pocketpc que posean conexión a internet y un
browser compatible podrán visualizar y utilizar los servicios del sistema. del mismo modo los
terminales del sistema además de poderse conectar al sistema de la misma forma a los
anteriormente mencionados poseen conexión a la intranet del sistema y funcionalidades extras
con aplicaciones pesadas para el uso por parte del personal de la corporación keops kefrén y
micerinos.
FACHADA
deployment Deployment Model
Presentacion
Contenedor UI
«business boundary»
ComunicaciónClientes
InternetGui
Móv ilesGui
JSPs
«business boundary»
ComunicacionPersonal
TagLibraries
IntranetGUI
ILUSTRACIÓN 37: FACHADA
Esta capa del sistema representa la apariencia externa del sistema, no corresponde a la totalidad
del sistema. Los paquetes en esta capa manejan la presentación para los múltiples usuarios desde
clientes esporádicos hasta personal con uso intensivo de consultas.
COMUNICACIÓN CON LOS CLIENTES
deployment Deployment Model
«business boundary»
ComunicaciónClientes
InternetGui
JSPs
Móv ilesGui
TagLibraries
ILUSTRACIÓN 38: COMUNICACIÓN CON LOS CLIENTES
Este componente contiene la presentación para aquellos usuarios que aceden al sistema mediante
la internet, así mismo contiene las diferentes configuraciones, manejadores y tecnologías para
representar los servicios web en los diferentes dispositivos móviles.
INTRANET GUI
deployment Deployment Model
«business boundary»
ComunicacionPersonal
IntranetGUI
ILUSTRACIÓN 39: INTRANTET GUI
Este componente contiene la presentación para aquellos usuarios que acceden al sistema
mediante la intranet de la corporación por lo que posee funcionales, permisos y accesos especiales
importantes para la administración del negocio, en consecuencia otorgando privilegios de acceso y
atención.
MANEJADOR DE PETICIONES
deployment Deployment Model
Manej ador de Peticiones
«business control»
Administrador de Serv icios
Manej ador de Procesos
Herramientas
ILUSTRACIÓN 40: MANEJADOR DE PETICIONES
Este nodo del sistema administra las peticiones de los usuarios del sistema mediante diferentes
métodos para proporcionar mejor disponibilidad de los servicios.
ADMINISTRADOR DE SERVICIOS
deployment Deployment Model
«business control»
Administrador de Serv icios
Manej ador de Procesos
Herramientas
ILUSTRACIÓN 41: ADMINISTRADOR DE SERVICIOS
Este componente contiene los métodos y las herramientas para administrar las peticiones del los
servicios, como el distribuidor de carga, encolador de peticiones, manejador de prioridades de
servicio etc.
SERVIDOR DE APLICACIÓN
deployment Deployment Model
Serv idor de Aplicación
«stub»
ReglasCon Externos
«business worker»
EJB de Trabaj o
SessionBeans
EntityBeans
MessageDriv enBeans
«case worker»
WebServ icesUsusarios
ILUSTRACIÓN 42: SERVIDOR DE APLICACIÓN
Este nodo contiene la lógica funcional desde los servicios web hasta funcionalidades específicas
del negocio y comunicación con otros sistemas diferentes. En esencia este nodo permite realizar
operaciones requeridas y es de vital importancia para Keops Kefrén y Micerinos.
ADMINISTRADOR DE CONSULTAS
deployment Deployment Model
Administrador de consultas
ILUSTRACIÓN 43: ADMINISTRADOR DE CONSULTAS
Este nodo contiene el administrador de acceso a las bases de datos del sistema y proporciona una
importante parte del diseño para asegurar la disponibilidad y confiabilidad y robustez del sistema.
EL administrador permite replicar la información a múltiples servidores, encolar accesos, y
administrar la carga de acceso entre variados servidores. Finalmente permite el uso de
manejadores de bases de datos heterogéneos para permitir la evolución y extensibilidad del
sistema.
OTROS
deployment Deployment Model
«system»
SistemasHeterogeneos
ILUSTRACIÓN 44: SISTEMAS HETEROGÉNEOS
Este componente representa todas los diferentes sistemas con el que la aplicación K^2M debe
comunicarse como VISA, MASTERCARD, DATACREDITO etc.
VISTA DE IMPLEMENTACIÓN
ILUSTRACIÓN 45: VISTA DE IMPLEMENTACIÓN
DESCRIPCIÓN GENERAL DE LA VISTA DE IMPLEMENTACIÓN
Con base en el patrón arquitectónico MVC, el sistema se compone de 3 capas principales sin
embargo debido a que es pensado con base en un modelo N-Tier, existen ciertos detalles que se
verán a continuación



Presentación: Es la encargada de tomar los dados que el usuario ingresa al sistema y
enviarlos a la lógica. También se encarga de mostrar al usuario los datos solicitados.
Debido a que se busca disponibilidad en el sistema, esta pensada como un MVC en
conjunto con el componente Administrador de Servicios incluido en la capa de
presentación.
Lógica de Negocio: Se encarga de recibir y atender las solicitudes de los usuarios.
Como fue mencionado antes, el componente Administrador de Servicios dentro de
ésta capa, pertenece al modelo MVC y es quien se encarga de controlar el flujo de
ejecución de las solicitudes de los usuarios hacia las diferentes funcionalidades del
sistema. Es la capa intermedia debido a que tiene interacción tanto con la capa de
presentación como con la persistencia.
Capa de persistencia: Se encarga de manejar los datos en memoria para
realizar las operaciones solicitadas por el usuario. Se encarga de acceder a la base de
datos y controla el flujo hacia ella mediante un Administrador de consultas.
ILUSTRACIÓN 46: DESCRIPCIÓN GENERAL
9.1.1 PRESENTACIÓN
ILUSTRACIÓN 47: PRESENTACIÓN ](VISTA DE IMPLEMENTACIÓN)
 Presentación: Este componente se encarga de la comunicación directa con el
cliente. Además se encarga de validar y direccionar a los usuarios dependiendo de su
perfil y permisos.
 Clientes: Se encarga de mostrar todos los servicios a los que tiene acceso el
usuario.
 Personal: Como clientes, se encarga de mostrar todas las funcionalidades a las que
tiene acceso.
Lógica del negocio
ILUSTRACIÓN 48: LÓGICA DE NEGOCIO (VISTA DE IMPLEMENTACIÓN)
 Administrador de Servicios: Componente encargado de recibir y direccionar las
solicitudes a los componentes capaces de atender la petición.
 Servicios Externos: Componente encargado de atender las solicitudes de servicios
externos (transacciones con entidades fuera del sistema).
 Servicios: Componente encargado de atender y realizar las operaciones solicitadas por
el usuario. Cabe anotar que en el diagrama solo se observa uno para una mejor
representación y entendimiento, sin embargo en el sistema existen diferentes
componentes de tipo servicios como generación, eliminación, creación y consulta.
9.1.3 persistencia
ILUSTRACIÓN 49: PERSISTENCIA (VISTA DE IMPLEMENTACIÓN)


Administrador de Consultas: Este componente se encarga de administrar todas
las consultas enviadas desde los componentes de servicios de la capa de Lógica. Es quien
dirige las peticiones al repositorio.
Repositorio: Este componente es la representación dentro del sistema de la base de
datos
VISTA DE DATOS
A continuación se muestra la vista de datos que se va a tomar para el módulo de persistencia
mencionado en las vistas 4+1:
ILUSTRACIÓN 50: VISTA DE DATOS
TAMAÑO Y RENDIMIENTO
Para información precisa sobre las características de mayor impacto y relevancia en la
arquitectura, así como limitaciones de desempeñó, revisar los incisos 3 y 4 del presente
documento y el inciso 5 del SRS.
CALIDAD
Para información sobre los requerimientos o atributos de calidad remítase al documento de Visión
en los incisos 7 y 8 en los cuales se explican, analizan y priorizan los requerimientos de calidad de
acuerdo a análisis realizados con los Stakeholders los cuales brindaron un acercamiento a los
objetivos principales de calidad en el desarrollo.
Descargar