Novedades en VSTS 2010
Imposible mostrar todo …Ya no está en pañales …
Bruno CapuanoMVP Team Systemhttp://www.avanade.esBlog: http://elbruno.comEmail: [email protected]
Historia de Visual Studio
Windows Cliente
Servidor
AplicacionesDistribuidas
Servicios Web
Software+
ServiciosALM
Visual Studio Team System 2008
Visual Studio Team System 2010
Novedades en el IDE
Mejoras en el IDE de Visual Studio
• Editor e IDE basados en WPF• Soporte Multi-Monitor (al fin!)
Visual Studio
• Búsqueda inteligente• Resaltar referencias
Navegación
• 100% compatible con el código existente
• Multi-Targeting
Gestión de Proyectos
Visual Studio 2010 basado en WPF
Orientación al desarrollo
Consumir luego declarar
• Generar a partir de la implementación
Dentro del código
• Jerarquía de llamadas• Árbol de llamadas
UI Editor - Capas
• Formateo de código• Información contextual sobre el
Document Map Margin
Code Analysis
Más reglas
Gestión de las reglas con RuleSets
Depurador Histórico (Historical Debugger)
Captura la pila completa de la ejecución de una aplicación y sus eventos.
Cuando se dispara una excepción, podemos ir “paso a paso” para conocer la causa.
Permite capturar excepciones, valores del registro, archivos, bases de datos, etc.
La depuración se puede adjuntar a un WorkItem (Bug)
Demo – Novedades en el IDE
Novedades en los lenguajes y en el .Net Framework
.NET Framework – Arquitectura Actual
.NET Framework 2.0 + SP1
Windows Presentation Foundation
Windows Communication
Foundation
Windows Workflow
Foundation Windows
CardSpace
.NET Framework 3.0 + SP1
.NET Framework 3.5
LINQ WF & WCF Enhancements
Add-in Framework
Additional Enhancements
.NET Framework 3.5 + SP1MVC Dynamic Data Entity
Framework Data Services
Core
Services
.NET Framework 4.0
Base Class Library
Common Language Runtime
Windows Workflow
Foundation
Managed Extensibility Framework
Data ServicesWindows
Communication
Foundation
“Velocity”
User Interface
Windows Presentation Foundation
ASP.NET(WebForms,
MVC, Dynamic
Data)
Data Access
Entity Framework
LINQ
ADO.NET
Parallel Extensions
WinForms LINQ to SQL
LanguagesDynamic Language Runtime
Nuevo modelo de proceso: Side by Side
.NET 2.0
2.0 add-in
3.0
3.5
Host Process (i.e. Outlook)
3.0 add-in
3.5 add-in
1.1 add-in
.NET 1.1
Nuevo modelo de proceso: Side by Side
.NET 2.0.NET 4.0
2.0 add-in
3.0
3.5
Host Process (i.e. Outlook)
3.0 add-in
3.5 add-in
4.0 add-in
Mejoras en Base Class Library
Managed Extensibility Framework
• Declaración y consumo de artefactos de extensibilidad de una forma simple• Monitorización de las nuevas extensiones
Nuevas estructuras
• Numerics (BigInteger & ComplexNumber)• Tuple, SortedSet
Mejoras en I/O
• Memory-Mapped Files• Unified Cancellation model
La evolución de C#
C# 1.0
Código Manejado
C# 2.0
Genéricos
C# 3.0
LINQ
C# 4.0
Dynamic
La evolución de Visual Basic
VB1 – VB3
VB4-VB6
VB7-VB9
Se simplificó la programación para Windows
Se simplificó la programación de Componentes
Se agregó la potencia de .NET
VB10
Más … más …
C# y Visual BasicC# 4.0 Visual Basic 10
Named/Optional Parameters Named/Optional Parameters
Dynamic Scoping Late Binding
Statement Lambdas Statement Lambdas
Multiline Lambdas Multiline Lambdas
Auto-Implemented Properties Auto-Implemented Properties
Collection Initializers Collection Initializers
Generic Variance Generic Variance
Extension Properties Extension Properties
Better support for Native/COM/Managed Interop (no PIA)
Demo – Novedades en C# y Visual Basic.Net
¿Porqué “Dynamic Language Runtime”?
Common Language Runtime
Statically-Typed
C#VB
RubyPython
Dynamically-Typed
¿Porqué “Dynamic Language Runtime”?
Common Language Runtime
Statically-Typed
C#VB
RubyPython
Dynamically-Typed
Dynamic Language Runtime
PythonBinder
RubyBinder
COMBinder
JScriptBinder
ObjectBinder
Programación con .NET DLR
Dynamic Language Runtime
Expression Trees Dynamic Dispatch Call Site Caching
IronPython IronRuby C# VB.NET Others…
Dynamically Typed Objects
Calculator calc = GetCalculator();int sum = calc.Add(10, 20);
object calc = GetCalculator();Type calcType = calc.GetType();object res = calcType.InvokeMember("Add", BindingFlags.InvokeMethod, null, new object[] { 10, 20 });int sum = Convert.ToInt32(res); ScriptObject calc = GetCalculator();
object res = calc.Invoke("Add", 10, 20);int sum = Convert.ToInt32(res);
dynamic calc = GetCalculator();int sum = calc.Add(10, 20);
Statically typed to be dynamic
Dynamic method invocation
Dynamic conversion
Herramientas de Modelado
Nuevas herramientas de modeladoArchitecture Explorer
• Explorar todos los artefactos de código y desarrollo visualmente
Layer Diagram
• Diseñar y visualizar la arquitectura completa de una aplicación
• Validar el código frente al diagrama
UML support
• Casos de Uso, Diagramas de Actividad y Diagramas de Secuencia
Top Down Design
• Crear nuevas aplicaciones a partir de modelos existentes
Bottom Up
• Comprender aplicaciones existentes a partir de los modelos de las mismas
UML: Diagrama de Clases
UML: Diagrama de Secuencia
UML: Diagramas de Casos de uso
UML: Diagramas de Actividad
UML: Diagramas de Componentes
Layer Diagram
• Descubrir relaciones entres Namespaces, clases y ensamblados
• Comprender el codigo existente.• Detectar problemas.
Diagrama de Dependencias
Demo – Herramientas de Modelado
Pruebas
Microsoft Test & Lab Manager
Herramienta de pruebas profesionalOrientada a personal de Q&A no técnicoOrientada a Work Items Work para gestión de casos de
pruebas, planificación y gestión de estadosEnfocado a requisitosIdentificación de pruebas de alta prioridadFuncionalidad de pruebas manuales extendida
◦Definición de pruebas◦Test Runner manual amigable◦Herramientas de captura de defectos
Pruebas de Interfaz automatizadas◦Web, Windows Forms y WPF
Microsoft Test & Lab Manager
Colaboración Desarrollador / Tester
Automáticamente recoge los detalles de los defectos y su ejecución Pasos para reproducirlo Información del sistema Capturas de pantalla Video a pantalla completa indexado Traza para el historical debugging Entorno de pruebas
Elimina el efecto ping-pong o “no repro”
Detalles de los Defectos
Test Lab Management
Objetivos◦Virtualizar los recursos de los laboratorios de test◦Menores requisitos técnicos para la creación de entornos de
prueba◦Permite la creación de entornos para la resolución de defectos
Beneficios◦Simplifica el setup de los entornos◦Simplifica las pruebas en múltiples configuraciones◦Permite la vuelta a las configuraciones “limpias”◦Habilita checkpoints para ayudar en la resolución de defectos◦Optimiza la utilización de recursos hardware
Test Lab Management
Y por supuesto: TFS 2010
Team Foundation Server 2010
Provee infraestructura para el desarrollo: gestión de versiones, seguimiento de WorkItems, gestión de compilaciones, gestión de proyectos, colaboración, etc.
Algunas mejoras
• Despliegue, Administración, Gestión• Control de Versiones• Gestión de Proyectos• Performance & Escalabilidad
TFS 2010: Despliegue y Administración
Enterprise TFS
• Balanceo en la capa de aplicación• Particiones de la base de datos
TFS más liviano• SharePoint & Reporting Services son opcionales• Especial para equipos que solo requieran control de versiones o
seguimiento de bugs, por ejemplo
Proyectos en TFS
• Se simplifica el proceso de mover entre servers• Archive/Restore
Más …
• Herramienta de administración integrada en MMS• Incluye Team System Web Access out of the box
Despliegues Complejos
TFS AT HR Applications
Finance Applications
Company Web site
TFS AT
TFS AT
NLB
SharePoint Farm
DataWarehouse
Project Server
TFS Build Farm
Virtual Machine Manager
TFS Proxies
Test Rig
Seguimiento de Work Items
• ¿Dónde y cuándo han sucedido las modificaciones de código que desencadenan un error o un nuevo requerimiento?
Visualización de Branches
• Es posible ver visualmente la estructura de árbol de nuestro código
• Se aplica a branches y merges• Se soporta el Drag & drop para las acciones de Merge
TFS 2010: Control de Versiones
Organizando/Coordinando proyectos
Work Items Jerárquicos
Mejor integración con Excel-based en las herramientas de planning de Agile
Mejoras en la integración con Microsoft Project Server (¿?)
Nuevos tableros de control de proyectos en Excel
40 40
20 20
80 8040 40
Nuevos informes
Nuevos Informes
Demo – Novedades en TFS
Más … (I)
TFS Build
Compilaciones distribuidas
• 1:Many or Many:Many builds:agents
Pool del Build Agents
• El mejor agente disponible será el seleccionado• Agentes “especiales” pueden ser seleccionados
• Por ejemplo para proyectos de Biztalk
Más
• Validación con el diagrama: Layer Diagram• Gated check-in• Compilación a partir de Shelvesets
TFS Build: Gestión
Editor basado en Workflow Foundation
La creación y mantenimiento se simplifica
Los detalles del proceso de compilación se pueden asociar a errores y warnings
Build Workflow: Ejemplo
Edit Code Submit gated check-in
Automated Build
Edit Code Y / NReady for Test
Demo – Novedades en Build
Análisis de Impacto en Tests
Sobre la colección total de tests (+1000), ¿qué tests debo ejecutar para probar solo el código que he modificado?
Ejecutar todos los tests puede ser un proceso pesado
Demo – More …
Lo que no vimos…
Test Labs Managment Camano Windows Test
AutomationNo more daily build breaks
Intelligent Bug
Team Foundation Server
Administration
Parallel Computing
Entity Framework 4.0
ADO.Net Data Services 1.5
Windows Presentation
Foundation 4.0
WorkFlow Foundation 4.0
Web Deployment
with VSTS 2010
Dynamic Languages Runtime F# WPF IDE
EditorMinidump Debugging
Concurrency Profiler
Sharepoint Tooling
Web.config transformation …
Novedades en VSTS 2010
Bruno CapuanoMVP Team Systemhttp://www.avanade.esBlog: http://elbruno.comEmail: [email protected]
Preguntas ¿?
ReferenciasMy Blog: El Brunohttp://www.elbruno.com
Novedades en Visual Studio Team System (V)http://geeks.ms/blogs/elbruno/archive/2009/01/02/vsts2010-listado-de-novedades-v.aspx
Channel 9 10-4http://channel9.msdn.com/shows/10-4/
Visual Studio Team System 2010 Beta 1http://tinyurl.com/ol7wgw
Visual Studio Feedbackhttp://tinyurl.com/VSFeedback
Top Related