documento de arquitectura de software - sgo
TRANSCRIPT
-
7/28/2019 Documento de Arquitectura de Software - SGO
1/18
SGO - Sistema de Gestin de Operaciones
Administracin de ContratosDocumento de Arquitectura de Software
Versin 1.3
-
7/28/2019 Documento de Arquitectura de Software - SGO
2/18
SGO - Sistema de Gestin de Operaciones Administracin de Contr Versin: 1.3
Documento de Arquitectura de Software Fecha: 04/01/2007
Histrico RevisionesFecha Versin Descripcin Autor
16/Agosto/2006 1.0 Creacin del Documento Elmer Caras
11/Septiembre/2006 1.1 Se modific Vista de Deployment y Vistade Implementacin
Lissette Rivas
20/Octubre/2006 1.2 Se modific Caractersticas y Links de
Vista de Deployment e Implementacin.
Se agrego informacin en Secciones 1 a la
7.
Elmer Caras
04/Enero/2007 1.3 Elmer Caras
Confidencial FISDL, Pgina 2 de 18
-
7/28/2019 Documento de Arquitectura de Software - SGO
3/18
SGO - Sistema de Gestin de Operaciones Administracin de Contr Versin: 1.3
Documento de Arquitectura de Software Fecha: 04/01/2007
Tabla de Contenido
1. Introduccin 4
Propsito 4
Alcance 4
Definiciones, Acrnimos y Abreviaturas 4Referencias 4
2. Representacin de la Arquitectura 5
3. Restricciones y Metas de la Arquitectura 5
4. Vista de Casos de Uso 5
5. Vista Lgica 6
Descripcin General 6
Paquetes de Diseo 6
Realizaciones de Casos de Uso 6
6. Vista de Puesta en Marcha (Deployment) 6
7. Vista de Implementacin 8
Descripcin General 8
Capas Contempladas en la Arquitectura 10
Capa de Presentacin 11
Capa de Procesamiento de Presentacin 13
8.2.3 Capa de Fachada de Servicios 14
8.2.4 Capa de Lgica de Negocios 15
Capa de Acceso a Datos 16
Capa de Entidades Empresariales 17
Confidencial FISDL, Pgina 3 de 18
-
7/28/2019 Documento de Arquitectura de Software - SGO
4/18
SGO - Sistema de Gestin de Operaciones Administracin de Contr Versin: 1.3
Documento de Arquitectura de Software Fecha: 04/01/2007
Documento de Arquitectura de Software
1.Introduccin
Propsito
Este documento provee un panorama general y comprensible de la arquitectura del sistema, el cual fue
modelado con UML y pretende mostrar puntos importantes y/o relevantes para la toma de decisiones
importantes sobre cambios o adecuaciones de los componentes de la arquitectura.
Se pretende mostrar de una forma clara el porque de la Arquitectura elegida y su utilizacin en las distintas
etapas del Desarrollo de Software apegado a la metodologa RUP (Racional Unified Process).
Alcance
En este documento se propone la Arquitectura Base para el desarrollo del Proyecto, se provee tambin de
Clases Base para todas las capas involucradas, se proporciona el cdigo fuente de cada clase, esto quiere
decir que tambin se deja abierto a implementar mas funcionalidad genrica para cada Clase y7o mejorar la
lgica actual.
Definiciones, Acrnimos y Abreviaturas
Componente: Es un elemento con comportamiento, relaciones o dependencias; en el contexto que se utilice
tambien puede ser una pieza de software de alta complejidad, as como un servicio de comunicacin con
otro Sistema; a su vez se enfatiza que un componente no es la correspondiente tecnologa de Desarrollo
(COM, CORBA Component Model o EJB).
RUP: Rational Unified Process.
UML: Unified Modeling Language.
Referencias
Documento Descripcin
ArquitecturaDistribuida.htm En este documento encontrar diagramas de
Componentes representando la topologa del sistema,
para tener una idea mas clara sobre la Arquitectura y su
implementacin.
SGO - Guas de Diseo.doc Este documento provee los lineamientos bsicos para el
Anlisis y Diseo del sistema.
SGO - Guas de Programacin.doc Este documento provee los lineamientos y estndares de
para la Programacin de cada capa del sistema.
SGO.chm Documentacin Tcnica de las Clases Base de la
Confidencial FISDL, Pgina 4 de 18
-
7/28/2019 Documento de Arquitectura de Software - SGO
5/18
SGO - Sistema de Gestin de Operaciones Administracin de Contr Versin: 1.3
Documento de Arquitectura de Software Fecha: 04/01/2007
Arquitectura.
2.Representacin de la Arquitectura
[Esta seccin describe lo que es la arquitectura para el sistema, y cmo se representa. Por ejemplo, elmodelo sugerido con UML para arquitectura es el llamado 4+1 Vistas, que incluye vistas de Casos de
Uso, vista lgica, vista de componentes, vista de procesos y vista de puesta en marcha. En general, debe
describir las vistas que se incluyen, los tipos de modelos, diagramas y propsito de c/u.]
3.Restricciones y Metas de la Arquitectura
Piezas de Software de Terceros.
Se detalla a continuacin las piezas y/o software utilizados en la Arquitectura.
Microsoft Applications Blocks
Esta pieza de Software contiene las mejores prcticas propuestas por Microsoft en el rea deManejo de Excepciones, Acceso a Datos, Configuracin, Seguridad, etc.
En la arquitectura actual se utiliza
VBCommenter
Esta utilera se solicita tenerla instalada para la documentacin de la programacin. Mas detalles
de cmo realizar comentarios en Guas de Programacin - SGO.doc. Esta herramienta es de
licenciamiento gratuito y se encuentra disponible para utilizarlo en
http://www.gotdotnet.com/team/ide/helpfiles/VBCommenter.aspx
Restricciones
Es importante notar que para el Diseo y Programacin existen guas que son importantes tomar
en cuenta para las distintas etapas del desarrollo de software.
El contenido de este Documento puede modificar sus alcances dependiendo de la madurez que se
haya obtenido en las distintas iteraciones del desarrollo del sistema.
4.Vista de Casos de Uso
Listado de Casos de Uso.
Id de CU Nombre de CU
CU-001 Recibir Contrato
CU-002 Verificar Condiciones Previas
CU-003 Generar Orden de Inicio
CU-004 Procesar Solicitud de Pago de AnticipoCU-005 Ingresar Solicitud de Estimacin
CU-006 Aceptar Solicitud de Estimacin
CU-007 Ingresar Solicitud de Estimacin Final (Liquidar Contrato)
CU-008 Aceptar Solicitud de Prorroga o Reasignacin
CU-009 Recalcular Saldos de Contrato y Notificar
CU-010 Procesar Solicitud de Suspensin
CU-011 Mantener Programacin de Contrato
CU-012 Registrar Avance de Contrato
Confidencial FISDL, Pgina 5 de 18
http://www.gotdotnet.com/team/ide/helpfiles/VBCommenter.aspxhttp://www.gotdotnet.com/team/ide/helpfiles/VBCommenter.aspx -
7/28/2019 Documento de Arquitectura de Software - SGO
6/18
SGO - Sistema de Gestin de Operaciones Administracin de Contr Versin: 1.3
Documento de Arquitectura de Software Fecha: 04/01/2007
CU-013 Procesar Penalidades
CU-014 Calcular Multas
CU-015 Generar Notificaciones de Multas
CU-016 Generar Alertas
CU-017 Configurar Alertas
CU-018 Procesar Rescisin - Resciliacin
CU-019 Procesar Multas
CU-020 Intervencin de Afianzadora
CU-021 Verificar Seal de Pago contra Factura
CU-022 Mantener Garantas
CU-023 Generar Solicitud de Rescisin - Resciliacin
CU-024 Ingresar Solicitud de Prrroga - Reasignacin
CU-025 Generar Modelo de Convenio
5.Vista Lgica
[Esta seccin describe las partes significativas del modelo de diseo, descomponsicin en subsistemas y
paquetes, y sus respectivas clases y utileras. Se pueden incluir diagramas que muestren las relaciones,
operaciones y atributos importantes.]
Descripcin General
[Descripcin breve de paquetes, jerarquas y propsito.]
Paquetes de Diseo
[Para cada paquete, incluya una subseccin con el nombre respective, descripcin breve, diagrama y
todas las clases significativas del mismo.
Para cada clase, incluya el nombre, breve descripcin, y descripcin de algunas de las responsabilidades
importantes, operaciones y atributos.]
Realizaciones de Casos de Uso
[Esta seccin ilustra como trabaja el software al darle a los casos de uso algunos scenarios
(realizaciones) y explicar como algunos elementos de diseo contribuyen a la funcionalidad.]
6.Vista de Puesta en Marcha (Deployment)
[Esta seccion describe una o ms configuraciones de hardware o redes fsicas sobre las cuales se pondr
en produccin el sistema. Para cada configuracin se debe incluir por lo menos lo siguiente: nodos fsicos
(computadoras, CPUs) que ejecutan el software y sus interconexiones (bus, LAN, punto a punto, ...).
Tambin se incluye un mapeo de los procesos (Vista de Procesos) a los nodos fsicos.]
Confidencial FISDL, Pgina 6 de 18
-
7/28/2019 Documento de Arquitectura de Software - SGO
7/18
SGO - Sistema de Gestin de Operaciones Administracin de Contr Versin: 1.3
Documento de Arquitectura de Software Fecha: 04/01/2007
La configuracin de hardware y red, sobre la cual se pondr en produccin el sistema SGO es la siguiente:
Esquema con DMZ Interna de Aplicaciones Distribuidas:
Cliente
Cliente
Cliente
Firewall
Servidor de Aplicaciones
Capa de logica de negocios
Capa de Entidades Em presariales
Capa de Datos
Servidor de Datos
Base de datos
Capa de presentacion
Formularios
Confidencial FISDL, Pgina 7 de 18
-
7/28/2019 Documento de Arquitectura de Software - SGO
8/18
SGO - Sistema de Gestin de Operaciones Administracin de Contr Versin: 1.3
Documento de Arquitectura de Software Fecha: 04/01/2007
Esquema con DMZ Externa de Aplicaciones Distribuidas:
Cliente
Cliente
Cliente
Servidor Web Externo
Internet
Firewall
Servidor de Aplicaciones
Servidor de Datos
Fachada de Servicios
Capa de logica de negocios
Capa de Entidades Empresariales
Capa de Datos
Base de datos
Capa de presentacion
Formularios
7.Vista de Implementacin
En esta se describe la estructura general de la arquitectura, su distribucin en capas y componentes de
arquitectura de software.
Descripcin General
Las diferentes capas que se utilizaran para la vista de implementacin son: Capa de Presentacin, Fachada
de servicios, Capa de lgica de negocios, Capa de Datos, Capa de Entidades Empresariales.
Confidencial FISDL, Pgina 8 de 18
-
7/28/2019 Documento de Arquitectura de Software - SGO
9/18
SGO - Sistema de Gestin de Operaciones Administracin de Contr Versin: 1.3
Documento de Arquitectura de Software Fecha: 04/01/2007
Diagrama de Componentes SGO:
AccesoAplicacionesExternas
SGO_BL
SGOWin
SGO_DL
SGO_EL
SGO_WebUC
SGO_WinUC
SGOWeb
Confidencial FISDL, Pgina 9 de 18
-
7/28/2019 Documento de Arquitectura de Software - SGO
10/18
SGO - Sistema de Gestin de Operaciones Administracin de Contr Versin: 1.3
Documento de Arquitectura de Software Fecha: 04/01/2007
Capas Contempladas en la Arquitectura
Ver Diagramas Interactivos de la Arquitectura en: ArquitecturaDistribuidaWebGeneral.htm
Ver Detalle de Clases Base de la Arquitectura en: SGO.chm
La arquitectura en su estructura de las capas esta basada en la propuesta que Microsoft hace como mejores
practicas para el diseo de Aplicaciones Distribuidas de alto nivel, aplica a las aplicaciones transaccionales
u OTLP que se ajusten a un diseo en capas y se puedan distribuir en diversos niveles fsicos con las
siguientes tecnologas: ASP.NET, Servicios Web, Enterprise Services (COM+), Remoting, ADO.NET y
SQL Server.
Ya que las decisiones tomadas al respecto tendrn un impacto en las caracteristicas del sistema como lo son
seguridad, escalabilidad, disponibilidad y mantenimiento, entre otras; as como la implementacin que se
realiza de las distintas capas.
A continuacin puede observar como Microsoft propone que se distribuyan las capas.
Para el caso en la arquitectura propuesta solo se utilizan las siguientes capas: Componentes de IU : Capa de Presentacin
Componentes de proceso de IU : Capa de Procesamiento de Presentacin
Fachada de Servicios: Capa de Fachada de Servicios (si es necesario, esta capa aplica cuando el esquema
incluye una publicacin Web o Aplicacin Windows Distribuida fsicamente.)
Componentes Empresariales: Capa de Lgica de Negocios
Entidades Empresariales: Capa de Entidades Empresariales
Componentes lgicos de acceso a datos: Capa de Acceso a Datos
Confidencial FISDL, Pgina 10 de 18
-
7/28/2019 Documento de Arquitectura de Software - SGO
11/18
SGO - Sistema de Gestin de Operaciones Administracin de Contr Versin: 1.3
Documento de Arquitectura de Software Fecha: 04/01/2007
Capa de Presentacin
En esta capa se utilizaran dos clases base que son:
ucWBase: Que se debera de heredar de esta clase cuando se creen Controles de Usuario Web, ya que aqu
se dispone de funcionalidad genrica para la aplicacin.
wfBase: Esta clase se utiliza como ancestro de las pginas principales de una opcin a la que se le de
acceso aun usuario, ya que en la misma se valida que un usuario tenga acceso a una opcin segn el
esquema de seguridad.
Esta capa para el caso tiene que ser un Proyecto Web o Windows que har referencia al(los) Web
Service(s)(solo en el caso que sea necesario) necesario(s) que definan en la capa de Fachada de Servicios.
Nota: Esta capa se implementa con un Proyecto del tipo Web o Windows(segn aplique) en Visual Studio
.Net.No es imprescindible utilizar Web Service para la Lgica de Negocios, ya que eso depende de la
Implementacin fsica en los servidores.
ucWBase: Clase base para los Controles de Usuario, contiene funcionalidad genrica para Obtener el
nombre de Usuario, mostrar mensajes, ya sean alertas o no, etc.
wfBase: Clase base para las pginas de la aplicacin, contiene la funcionalidad para autorizar el acceso por
usuario, ya que verifica que si el usuario conectado tiene acceso a la pgina que se requiere.
Confidencial FISDL, Pgina 11 de 18
-
7/28/2019 Documento de Arquitectura de Software - SGO
12/18
SGO - Sistema de Gestin de Operaciones Administracin de Contr Versin: 1.3
Documento de Arquitectura de Software Fecha: 04/01/2007
Confidencial FISDL, Pgina 12 de 18
-
7/28/2019 Documento de Arquitectura de Software - SGO
13/18
SGO - Sistema de Gestin de Operaciones Administracin de Contr Versin: 1.3
Documento de Arquitectura de Software Fecha: 04/01/2007
Capa de Procesamiento de Presentacin
En esta capa se utilizar la clase base:
cpBase.vb: Del cual se deben de heredar todas las clases de Procesamiento de Presentacin. En esta clase se
define que tipo de implementacin se esta utilizando, si es una Publicacin Externa o si es en la Intranet.
Nota: Del tipo de Implementacin del Caso de Uso depende el acceso directamente a la Lgica de Negocios o la
utilizacin de la Fachada de Servicios. Esto variara para cada Caso de Uso, y se espera que aunque actualmente
un Caso de Uso solamente se utilice solo en la Intranet, ya se deje la posibilidad de poder utilizarlo desde
Internet.
Confidencial FISDL, Pgina 13 de 18
-
7/28/2019 Documento de Arquitectura de Software - SGO
14/18
SGO - Sistema de Gestin de Operaciones Administracin de Contr Versin: 1.3
Documento de Arquitectura de Software Fecha: 04/01/2007
8.2.3Capa de Fachada de Servicios
Esta capa solo sirve de intermediario con la capa de Lgica de negocios, ya que los mtodos y funciones
creadas en esta capa solamente sern llamados a mtodos y funciones de la Capa de Negocios.
Esta capa se crea con un Proyecto Web Service el cual incluir la referencia a la Capa de Lgica de
Negocios y a la Capa de Entidades Empresariales.
Nota: Esta capa se implementa con un Proyecto ws del tipo Web Service en Visual Studio .Net.
Confidencial FISDL, Pgina 14 de 18
-
7/28/2019 Documento de Arquitectura de Software - SGO
15/18
SGO - Sistema de Gestin de Operaciones Administracin de Contr Versin: 1.3
Documento de Arquitectura de Software Fecha: 04/01/2007
8.2.4Capa de Lgica de Negocios
Esta capa contiene la lgica de procesamiento, actualizacin y consistencia de los datos que maneja el
sistema, para esto es bueno manejar aqu transacciones atmicas, adems se pueden hacer funciones y/o
mtodos para hacer las validaciones de Negocio como por ejemplo Verificar la disponibilidad de fondos
para una transaccin, y para el caso sern las validaciones que los Casos de Uso ya tienen definido.
Para la interaccin con otros Sistemas no existir una referencia directa a los Assemblies de las mismas,
sino que se tendr referencia al Assembly de Interfaces Comunes, y a travs de cargado dinmico del
Assembly se instanciaran con Reflection las clases de Lgica de Negocios de otros sistemas.
Nota: Esta capa se implementa con un Proyecto _BL del tipo Librera de Clases en Visual Studio .Net.
Confidencial FISDL, Pgina 15 de 18
-
7/28/2019 Documento de Arquitectura de Software - SGO
16/18
SGO - Sistema de Gestin de Operaciones Administracin de Contr Versin: 1.3
Documento de Arquitectura de Software Fecha: 04/01/2007
Capa de Acceso a Datos
Esta capa es la que tiene las operaciones CRUD de cada entidad empresarial persistente y operaciones
(querys) a las entidades que lo ameriten, pero cada clase har referencia a una sola entidad, (si es el caso de
interactuar con mas de una tabla, se tiene que implementar la lgica en la Capa de Negocios y hacer las
llamadas respectivas puntuales a las clases de la capa de Datos en las transacciones atmicas).
Aqu se hace referencia a la Capa de Entidades Empresariales y al cliente de la base de datos respectiva con
el cual se conectarn, la conexin a la base de Datos debe de ser por el cliente nativo o en su caso por
ODBC, aunque lo mas recomendable es que no sea por ODBC para poder utilizar todas las bondades del
Cliente Nativo de la base de datos en uso y tambin as se evita la dependencia de la sintaxis que los
ODBCs manejan con las limitantes que se pueden investigar dependiendo la base de datos.
Las tablas que se almacenan en la base central cumplirn con el estndar de precedencia de conformacin
de las llaves primarias de cada tabla, para que el Generador de Aplicaciones funcione de la mejor forma.
Para esto la capa de datos debe de tomar en cuenta si es que existen campos de auditora como pueden ser
usuarioActualiza y fechaActualizacion, que guardan el usuario y fecha de actualizacin del registro.
Considerando el uso de estos dos campos al momento de insertar y actualizar un registro, para que con
fines de auditora se pueda utilizar dicho usuario.
Para poder saber cual es el usuario que actualiza se cre la propiedad global que esta en la clase
configuracin de la Capa de Entidades (_EL), esto se explica posteriormente en la capa de entidades.
Nota: Esta capa se implementa con un Proyecto _DL del tipo Librera de Clases en Visual Studio .Net.
Confidencial FISDL, Pgina 16 de 18
-
7/28/2019 Documento de Arquitectura de Software - SGO
17/18
SGO - Sistema de Gestin de Operaciones Administracin de Contr Versin: 1.3
Documento de Arquitectura de Software Fecha: 04/01/2007
Capa de Entidades Empresariales
Esta capa incluye clases que son representacin de una entidad persistente en la base de datos, y adems se
pueden agregar clases no persistentes que se componen de varias tablas. Aqu se deben de crear clases que
son colecciones de entidades, y al igual que las Clases de Entidades pueden ser de Tablas persistentes o no.
La funcionalidad de esta capa es para el traslado de datos entre capas, aunque tambin en casos por
facilidad del programador se puede hacer con DataSets o algn otro objeto nativo de .Net.
Nota: Esta capa se implementa con un Proyecto _EL del tipo Librera de Clases en Visual Studio .Net.
Confidencial FISDL, Pgina 17 de 18
-
7/28/2019 Documento de Arquitectura de Software - SGO
18/18
SGO - Sistema de Gestin de Operaciones Administracin de Contr Versin: 1.3
Documento de Arquitectura de Software Fecha: 04/01/2007
Confidencial FISDL, Pgina 18 de 18