19
Diseño de arquitectura Top-Down con UML Roberto González Gómez Technical Lead Renacimiento www.thinkingtogether.ne t

Roberto González Gómez Technical Lead Renacimiento

Embed Size (px)

Citation preview

Page 1: Roberto González Gómez Technical Lead Renacimiento

Diseño de arquitectura Top-Down con UML

Roberto González GómezTechnical LeadRenacimientowww.thinkingtogether.net

Page 2: Roberto González Gómez Technical Lead Renacimiento

Sumario

• Herramientas de Modelado• Diagramas UML• Diagramas de Arquitectura

Page 3: Roberto González Gómez Technical Lead Renacimiento

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

Page 4: Roberto González Gómez Technical Lead Renacimiento

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

Page 5: Roberto González Gómez Technical Lead Renacimiento

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

Page 6: Roberto González Gómez Technical Lead Renacimiento

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

Page 7: Roberto González Gómez Technical Lead Renacimiento

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

Page 8: Roberto González Gómez Technical Lead Renacimiento

Diagramas de Actividad

• Muestran el flujo y la lógica de negocio interna, de los casos de uso

Page 9: Roberto González Gómez Technical Lead Renacimiento

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

Page 10: Roberto González Gómez Technical Lead Renacimiento

Diagramas de Componentes

• Muestra los ‘Building blocks’ de alto nivel• Motores de proceso• Servicios y Componentes• Apps y Fuentes externas relacionadas

Page 11: Roberto González Gómez Technical Lead Renacimiento

Diagramas de Clases

• Representaciones gráficas (UML) de clases con sus métodos, propiedades, herencia, etc.

• 2 tipos: UML y .NET (VS.2008)

Page 12: Roberto González Gómez Technical Lead Renacimiento

Proceso “TOP-DOWN”Diagramas UML para diseñar la lógica

DEMO

Page 13: Roberto González Gómez Technical Lead Renacimiento

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

Page 14: Roberto González Gómez Technical Lead Renacimiento

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

Page 15: Roberto González Gómez Technical Lead Renacimiento

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

Page 16: Roberto González Gómez Technical Lead Renacimiento

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

Page 17: Roberto González Gómez Technical Lead Renacimiento

Proceso “TOP-DOWN”2.- Diseño Arquitectura N-Capascon VSTS Architect Edition

Page 18: Roberto González Gómez Technical Lead Renacimiento

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

Page 19: Roberto González Gómez Technical Lead Renacimiento

Muchas Gracias