190 likes | 505 Views
Diseño de arquitectura Top-Down con UML. Roberto González Gómez Technical Lead Renacimiento www.thinkingtogether.net. Sumario. Herramientas de Modelado Diagramas UML Diagramas de Arquitectura. Nuevas herramientas de modelado en VSTS.2010. Etapas de Arquitectura en proyecto. Top-Down.
E N D
Diseño de arquitectura Top-Down con UML Roberto González Gómez Technical Lead Renacimiento www.thinkingtogether.net
Sumario • Herramientas de Modelado • Diagramas UML • Diagramas de Arquitectura
Etapas de Arquitectura en proyecto Top-Down • Diagramas de Diseño lógico • Diagramas UML • Diagramas de implementación de patrones de Arquitectura • Diagrama ‘N-LayerArchitecture’ • Análisis de implementación actual (código) • Architect Explorer • Generación Diag. Secuencias • Desarrollo y Testing • Las otras versiones VSTS pueden ver los diagramas de Arquitectura (Solo Lectura). • Bueno para que el resto del equipo entiendan los objetivos de diseño y arquitectura Bottom-Up All-Time
Diagramas UML • Principalesdiagramas UML (2.1) • “5 de 13” (Resto de diagramas, post RTM) • Diagrama de Casos de Uso • Diagrama de Actividad • Diagrama de Componentes • Diagrama de Clases (Logicas) • Diagrama de Secuencia • Diagrama de Clases .NET
Diagramas UML • Estánbasados en ‘DSL Toolkit’ • Posibilidad Generación de código • Interconexión entre algunosdiagramas • Objetivo principal en VSTS 2010 • Guíainicial del diseño del proyecto ó documentación de referencia • Solo diag. clases y secuencia se puedengenerar a partir de código
Diagramas de Casos de Uso • Alto nivel • Muestran la funcionalidadque se expone a los usuarios de la aplicación • Deberían ser entendiblesporusuarios/analistas de negocio
Diagramas de Actividad • Muestran el flujo y la lógica de negociointerna, de los casos de uso
Diagramas de Secuencia • Muestran los objetos/clases y los métodos de unaaplicación y cómo se comunican los objetos entre ellossegún se realiza un caso de uso. • Construcción: Manual ó generada a partir de códigofuente
Diagramas de Componentes • Muestra los ‘Building blocks’ de alto nivel • Motores de proceso • Servicios y Componentes • Apps y Fuentes externasrelacionadas
Diagramas de Clases • Representacionesgráficas (UML) de clases con susmétodos, propiedades, herencia, etc. • 2 tipos: UML y .NET (VS.2008)
Diseño de Arquitecturas N-Capas (N-Layer) ‘SmartClient’ / Ria-Web PC Cliente Cliente Web ‘ASP.NET’ Servidor Web Gestión de Excepciones Gestión de Operaciones y Monitorización Seguridad ASP.NET Vistas IU Vistas IU ASP.NET MVC Presentadores Agentes Svc Controladores Presentación Capas Lógica de Negocio Interfaces Servicios (Web) ASP.NET .asmx ASMX 2.0 WCF Capa Fachada Lógica de Negocio (BFLL) WF Workflows (BPM) 2006 R2 Capa Base Lógica de Negocio(BLL) Capas de Acceso a Datos Componentes Entidad ADO.NET Entity Framework (.NET 3.5 SP1 & 4.0)) Capa de Acceso a Datos (DAL) Componentes Servidor de Aplicación Geneva framework y Server Fuentes de Datos
El diagrama de Arquitectura en N-Capasdetalla el diseñológico Se mapean los assemblies y namespaces a lascapas del diagrama Las validaciones de Arquitecturaaseguranque el códigoescontinuista con la Arquitectura original Diagrama de N-Capas de la Arquitectura
ValidarCódigo contra la Arquitectura El Reto a superar • La implementación del código no sigue la Arquitectura original La solución • Visualización de la Arquitectura y de susdependencias • Validación de lasCapas de la Arquitecturacomo parte del flujo de trabajo de compilación global
Políticas y ‘Gated Check-in’ • Los ‘Gated Check-in’, actúancomouna red de protecciónparapararcambioserróneos/contradictorios. • Se validandichosCheck-in tambiéncontra la Arquitectura LAYER • Posiblesrazones de validacionesfallidas: • Errores de compilación • Tests unitarios con fallos • Errores de validación de Arquitectura • Otroserrores de workflow
Proceso “TOP-DOWN”2.- DiseñoArquitectura N-Capascon VSTS Architect Edition
Agrupación por ‹tipo de uso› Diseño Explícito Entender Apps. existentes Diagramas UML Architecture Explorer Clases Logicas Graficos «Estandar» Casos Uso Actividades Secuencia Componentes Diagrama Secuencias DSL Tools Colaboración de equipo TeamFoundation Server Visual Studio Professional Validación de Arquitectura Proyecto Diagrama ‹LAYER› Model Explorer CheckinPolicy GatedCheckin Codificación Integración con Work-Items Control de versiones