Visual Studio, productividad concentrada N Daniel Cazzulino Microsoft MVP | XML Clarius Consulting...

Preview:

Citation preview

Visual Studio, Visual Studio, productividad productividad concentradaconcentrada

NN

Daniel CazzulinoDaniel CazzulinoMicrosoft MVP | XMLMicrosoft MVP | XML

Clarius Consulting S.A.Clarius Consulting S.A.

CC

AgendaAgenda

Problemas de códigoProblemas de código

Problemas de recursos y costoProblemas de recursos y costo

Problemas de arquitecturaProblemas de arquitectura

Problemas de integraciónProblemas de integración

Problemas de acceso a información Problemas de acceso a información del proyectodel proyecto

Problema: el códigoProblema: el código

RepetitivoRepetitivoAcceso a datosAcceso a datos

Infraestructura: Infraestructura: Recursos: gráficos, hojas de estilo, script, etc.Recursos: gráficos, hojas de estilo, script, etc.

ConfiguraciónConfiguración

Mejores practicas:Mejores practicas:ExcepcionesExcepciones

LoggingLogging

Afecta la productividadAfecta la productividad

Solución: add-ins y Solución: add-ins y wizardswizards

Menús (contextuales y principal) y Menús (contextuales y principal) y diálogos Add Newdiálogos Add New

Acceso irrestricto al modelo de Acceso irrestricto al modelo de objetos del IDE:objetos del IDE:

Generación o modificación de códigoGeneración o modificación de código

Manipulación del proyecto y su Manipulación del proyecto y su estructuraestructura

Lista de tareasLista de tareas

Wizards: también manejados!Wizards: también manejados!

EjemploEjemplo

Add-in para controles ASP.NET:Add-in para controles ASP.NET:Proveer soporte de infraestructuraProveer soporte de infraestructura

Templates acorde a arquitecturaTemplates acorde a arquitectura

Add-in para refactoring: Add-in para refactoring: Mejorar el código existenteMejorar el código existente

Problema: recursos y Problema: recursos y costocosto

Escasez de personal especializadoEscasez de personal especializado

Separación funcional: reducción de Separación funcional: reducción de costo por especializacióncosto por especialización

Arquitectos vs. DevelopersArquitectos vs. Developers

Senior developers para lógica de Senior developers para lógica de negocios vs. junior/semi-senior para negocios vs. junior/semi-senior para presentación (UI)presentación (UI)

Abstracción de capas de aplicaciónAbstracción de capas de aplicación

Reusabilidad de funcionalidad Reusabilidad de funcionalidad complejacompleja

RADRAD

Solución: Solución: componentes .NETcomponentes .NET

Visuales: controles Win y WebVisuales: controles Win y Web

No visuales:No visuales:Soporte en VS: toolbox, property Soporte en VS: toolbox, property browser, designersbrowser, designers

Lógica compleja encapsuladaLógica compleja encapsulada

Separación con el código de UISeparación con el código de UI

Reusabilidad en libreríasReusabilidad en librerías

EjemploEjemplo

Model-View-Controller como Model-View-Controller como componentescomponentes

Separación de capas lógicasSeparación de capas lógicas

Separación de responsabilidades de Separación de responsabilidades de los programadoreslos programadores

Integración con el IDEIntegración con el IDE

Asegurando una arquitectura sólidaAsegurando una arquitectura sólida

Problema: la arquitecturaProblema: la arquitectura

Que le falta a los Que le falta a los componentes/controles?componentes/controles?

Demasiadas opciones para el Demasiadas opciones para el programadorprogramador

Poner decisiones de arquitectura al Poner decisiones de arquitectura al nivel adecuadonivel adecuado

Guías de arquitectura de PAGGuías de arquitectura de PAGTesteadasTesteadas

Basadas en la experienciaBasadas en la experiencia

Resultados garantizadosResultados garantizados

Como asegurarse en Visual Studio?Como asegurarse en Visual Studio?

Solución: Enterprise Solución: Enterprise TemplatesTemplates Extendiendo y restringiendo el Visual StudioExtendiendo y restringiendo el Visual Studio®® .NET IDE .NET IDE

Restricciones de Toolbox y MenuRestricciones de Toolbox y Menu

Estructura de proyecto InicialEstructura de proyecto Inicial

Restricciones de propiedadesRestricciones de propiedades

Restricciones de uso Restricciones de uso de objetos / métodosde objetos / métodos

Recordatorios de políticas implementadasRecordatorios de políticas implementadas

Help CutomizadoHelp Cutomizado

Enterprise TemplateEnterprise Template

Enterprise TemplateEnterprise Template

Estructura Estructura (proyectos, (proyectos, código, etc.)código, etc.)

Policy (TDL)Policy (TDL)

Guía y Guía y AyudaAyuda

Cosas a incluirCosas a incluir

Cosas a excluirCosas a excluir

EjemploEjemplo

PAG Enterprise Template GeneratorPAG Enterprise Template Generator

Problema: integraciónProblema: integración

Productos de terceras partes: add-ins Productos de terceras partes: add-ins no es suficienteno es suficiente

EditoresEditores

Integración con:Integración con:Sistema de proyectosSistema de proyectos

Sistema de buildSistema de build

Sistema de debuggingSistema de debugging

Solución: VSIPSolución: VSIP

Extensibilidad manejada / no Extensibilidad manejada / no manejadamanejada

Alta performance en Visual StudioAlta performance en Visual Studio

Mayor control del ciclo de vidaMayor control del ciclo de vida

Ejemplos:Ejemplos:Herramientas de cobertura de código: Herramientas de cobertura de código: testing, profiling, code coverage testing, profiling, code coverage (Compuware DevPartner)(Compuware DevPartner)

Editores especializados: BiztalkEditores especializados: Biztalk

Herramientas de ciclo de vida: Borland Herramientas de ciclo de vida: Borland TogetherTogether

Problema: informaciónProblema: información

Múltiples herramientas en un Múltiples herramientas en un proyecto:proyecto:

Microsoft Project: managementMicrosoft Project: management

Microsoft Visio: arquitecturaMicrosoft Visio: arquitectura

Microsoft Visual Studio: programaciónMicrosoft Visual Studio: programación

Microsoft Excel: reportes / tareasMicrosoft Excel: reportes / tareas

Bug tracking (?)Bug tracking (?)

Como sincronizar la información?Como sincronizar la información?

Como cubrir todo el espectro de Como cubrir todo el espectro de manera uniforme y centralizada?manera uniforme y centralizada?

Visual Studio Team Visual Studio Team SystemSystem

Load Testing Authoring

VS Team Architect VS Team Developer VS Team Test

Static Code Analyzer

Code Profiler

Unit Testing

Code Coverage

Visio and UML Modeling

Team Foundation Client

VS Pro

Class Modeling

Load Testing

Manual Testing

Test Case Management

Application Modeling

Logical Infra. Modeling

Deployment Modeling

Change Management

Work Item Tracking

Reporting

Project Portal

Visual StudioTeam Foundation

Integration Services

Project Management

Pro

ven

Pro

cess

Pro

ven

Pro

cess

G

uid

an

ceG

uid

an

ce

Vista de fases y estado del Vista de fases y estado del proyecto en Excelproyecto en Excel

Manejo de ítems de Manejo de ítems de trabajo y su asignación en trabajo y su asignación en ProjectProject

Vista de tareas por Vista de tareas por iteracióniteración

Portal integrado de Portal integrado de información del proyectoinformación del proyecto

Validación de arquitectura Validación de arquitectura físicafísica

Vista de tareas nuevas Vista de tareas nuevas asignadas al programadorasignadas al programador

Ejecutar tests y cargar Ejecutar tests y cargar bugs en el mismo lugarbugs en el mismo lugar

Revisión de performance Revisión de performance del proyectodel proyecto

Reportes de bugs y Reportes de bugs y actividades de testeoactividades de testeo

Gracias por su atención!Gracias por su atención!

RecursosRecursos

VS Enterprise Home: VS Enterprise Home: msdn.microsoft.com/vstudio/enterprismsdn.microsoft.com/vstudio/enterprise/e/

VS Extensibility / VSIP: VS Extensibility / VSIP: msdn.microsoft.com/vmsdn.microsoft.com/vstudiostudio/extend//extend/

VS Enterprise Templates: VS Enterprise Templates: msdn.microsoft.com/vstudio/msdn.microsoft.com/vstudio/enterprenterpriseise//templatestemplates//

VS TeamSystem: VS TeamSystem: msdn.microsoft.com/teamsystemmsdn.microsoft.com/teamsystem

Contact Info

2 Daniel Cazzulino | Microsoft MVP in XML Technologies

Software Architect & Cofounder Clarius ™ Consulting SA

Email kzu@clariusconsulting.netWeb http://clariusconsulting.net

Blog http://clariusconsulting.net/kzu