Diseño de arquitectura Top-Down con UML
Roberto González GómezTechnical LeadRenacimientowww.thinkingtogether.net
Sumario
• Herramientas de Modelado• Diagramas UML• Diagramas de Arquitectura
Nuevas herramientas de modelado en VSTS.2010
Soport
e U
ML
Diagramas UML 2.1• Diseño lógico
Arq
uit
ect
ura
N-C
apas
Diagrama LAYER• Arquitectura• Visualizació
n • Validación
Exp
lora
ción d
e c
ódig
o
exis
tente Architectur
e Explorer• Diversas
vistas y opciones
• Muy potente y extensible
Etapas de Arquitectura en proyecto
1. Diagramas de Diseño lógico− Diagramas UML
2. Diagramas de implementación de patrones de Arquitectura
− Diagrama ‘N-Layer Architecture’
3. Análisis de implementación actual (código)− Architect Explorer− Generación Diag. Secuencias
4. 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
Top-Down
Bottom-Up
All-Time
Diagramas UML
• Principales diagramas 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án basados en ‘DSL Toolkit’ Posibilidad Generación de código
• Interconexión entre algunos diagramas
• Objetivo principal en VSTS 2010 Guía inicial del diseño del proyecto ó
documentación de referencia Solo diag. clases y secuencia se pueden
generar a partir de código
Diagramas de Casos de Uso
• Alto nivel• Muestran la funcionalidad que se
expone a los usuarios de la aplicación• Deberían ser entendibles por
usuarios/analistas de negocio
Diagramas de Actividad
• Muestran el flujo y la lógica de negocio interna, de los casos de uso
Diagramas de Secuencia
• Muestran los objetos/clases y los métodos de una aplicación y cómo se comunican los objetos entre ellos según se realiza un caso de uso.
• Construcción: Manual ó generada a partir de código fuente
Diagramas de Componentes
• Muestra los ‘Building blocks’ de alto nivel• Motores de proceso• Servicios y Componentes• Apps y Fuentes externas relacionadas
Diagramas de Clases
• Representaciones gráficas (UML) de clases con sus métodos, propiedades, herencia, etc.
• 2 tipos: UML y .NET (VS.2008)
Proceso “TOP-DOWN”Diagramas UML para diseñar la lógica
DEMO
Diseño de Arquitecturas N-Capas (N-Layer)
Presentación
Componentes Servidor de Aplicación
Capas de Acceso a DatosComponentes Entidad
Capa de Acceso a Datos (DAL)
Capa Base Lógica de Negocio (BLL)
Workflows (BPM)
Capa Fachada Lógica de Negocio (BFLL)
Capas Lógica de NegocioInterfaces Servicios
(Web)ASMX 2.0 WCF
‘SmartClient’ / Ria-Web Cliente Web ‘ASP.NET’
Vistas IU
Presentadores
AgentesSvc
Vistas IU
Controladores
Seg
urid
ad
Gestió
n d
e O
pera
cio
nes y
Mon
itoriza
ció
n
Gestió
n d
e E
xcep
cio
nes
Fuentes de Datos
PCCliente
ServidorWeb
ADO.NET ENTITY FRAMEWORK (.NET 3.5 SP1 & 4.0))
GENEVA FRAMEWORK
Y SERVER
ASP.NET
ASP.NET MVC
ASP.NET.ASMX
WF2006 R2
Diagrama de N-Capas de la Arquitectura
• El diagrama de Arquitectura en N-Capas detalla el diseño lógico
• Se mapean los assemblies y namespaces a las capas del diagrama
• Las validaciones de Arquitectura aseguran que el código es continuista con la Arquitectura original
El Reto a superar
La solución
• La implementación del código no sigue la Arquitectura original
• Visualización de la Arquitectura y de sus dependencias
• Validación de las Capas de la Arquitectura como parte del flujo de trabajo de compilación global
Validar Código contra la Arquitectura
Políticas y ‘Gated Check-in’
− Los ‘Gated Check-in’, actúan como una red de protección para parar cambios erróneos/contradictorios.
− Se validan dichos Check-in también contra la Arquitectura LAYER
− Posibles razones de validaciones fallidas:− Errores de compilación− Tests unitarios con fallos− Errores de validación
de Arquitectura − Otros errores de workflow
Proceso “TOP-DOWN”2.- Diseño Arquitectura N-Capascon VSTS Architect Edition
Agrupación por ‹tipo de uso›
Proyecto
Colaboración de equipo
Team Foundation Server
Integración con Work-Items
Entender Apps. existentes
Diseño Explícito
Architecture Explorer
DSL Tools
Graficos «Estandar»
Diagrama Secuencias
Diagramas UML
Clases Logicas
Casos Uso Actividades
SecuenciaComponente
s
Visual Studio Professional
Validación de Arquitectura
Diagrama ‹LAYER›
Checkin PolicyGated
Checkin
Model Explorer
Codificación
Control de versiones
Muchas Gracias