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 [email protected] http://clariusconsulting.net
Blog http://clariusconsulting.net/kzu
Top Related