documento de arquitectura de software - sgo

Upload: isaias-alapont

Post on 03-Apr-2018

224 views

Category:

Documents


0 download

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