From c244b718f3c8f76f75994555a7d64c9ebe5a629b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Nicol=C3=A1s=20Dimov?= Date: Thu, 30 Jun 2005 15:34:32 +0000 Subject: [PATCH 1/1] meto un grafico chorizo para que el modelo ocume mas --- .../Modelo09/arquitectura_general.dia | 1305 +++++++++++++++++ .../Modelo09/arquitectura_general2.dia | 863 +++++++++++ .../Modelo09/arquitectura_general2.png | Bin 0 -> 28147 bytes .../Modelo09/arquitectura_procesamiento.rtf | 83 +- 4 files changed, 2218 insertions(+), 33 deletions(-) create mode 100644 carpeta/Documentacion/Modelo09/arquitectura_general.dia create mode 100644 carpeta/Documentacion/Modelo09/arquitectura_general2.dia create mode 100644 carpeta/Documentacion/Modelo09/arquitectura_general2.png diff --git a/carpeta/Documentacion/Modelo09/arquitectura_general.dia b/carpeta/Documentacion/Modelo09/arquitectura_general.dia new file mode 100644 index 0000000..e8fea9c --- /dev/null +++ b/carpeta/Documentacion/Modelo09/arquitectura_general.dia @@ -0,0 +1,1305 @@ + + + + + + + + + + + + + #A4# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## + + + + + #Presentacion# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## + + + + + #Controlador# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Controladores: +Clases Controller. +Cada instancia mantiene el +estado de una sesion de un CU# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## + + + ## + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## + + + + + #Dominio# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Clases de dominio. +Modelo del dominio del problema, +con todas las entidades de +negocio# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Interfaces graficas: +Formularios, ventanas, +paginas web# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## + + + ## + + + + + + + + + + + + + + + + + + + + #Arquitectura general del Sistema# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Arquitectura basada en capas# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Base de Datos# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## + + + + + #Persistencia# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## + + + ## + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## + + + ## + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Clases DataService. +Abstraen el metodo con el cual +se accedera al almacenamiento +persistente# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## + + + + + #Framework de desarrollo Base# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## + + + + + #Servicios tecnicos +de Persistencia# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Servicios tecnicos BASE sobre los +que residira el Sistema. +TODAS las capas de la aplicacion +conocen esta capa base. +Ej: Librerias Java, fwk .NET, etc.# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## + + + ## + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## + + + ## + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Ej: Hibernate, JDBC, +ADO.NET, etc.# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## + + + + + #Seguridad# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Ofrece la funcionalidad +para poder validar usuarios (login) y +evaluar si un usuario/rol tiene los +permisos suficientes para poder realizar +cierta operacion# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## + + + ## + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## + + + + + #Reportes# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Fucionalidad necesaria para el parseo, +validacion de informes entrantes y +generacion de Reportes y envio. # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## + + + ## + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## + + + ## + + + + + + + + + + + diff --git a/carpeta/Documentacion/Modelo09/arquitectura_general2.dia b/carpeta/Documentacion/Modelo09/arquitectura_general2.dia new file mode 100644 index 0000000..debb9ac --- /dev/null +++ b/carpeta/Documentacion/Modelo09/arquitectura_general2.dia @@ -0,0 +1,863 @@ + + + + + + + + + + + + + #A4# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## + + + + + #Presentacion# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## + + + + + #Controlador# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## + + + ## + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## + + + + + #Dominio# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## + + + ## + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Base de Datos# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## + + + + + #Persistencia# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## + + + ## + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## + + + ## + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## + + + + + #Framework de desarrollo Base# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## + + + + + #Servicios tecnicos +de Persistencia# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## + + + ## + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## + + + ## + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## + + + + + #Seguridad# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## + + + ## + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## + + + + + #Reportes# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## + + + ## + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## + + + ## + + + + + + + + + + + diff --git a/carpeta/Documentacion/Modelo09/arquitectura_general2.png b/carpeta/Documentacion/Modelo09/arquitectura_general2.png new file mode 100644 index 0000000000000000000000000000000000000000..6c79112b2ccff95d3512164f066bd2803e1cd594 GIT binary patch literal 28147 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