Visual Studio 2010 and .NET Framework 4

37
Visual Studio 2010 and .NET Framework 4 Bernard Fedotoff [email protected]

description

Visual Studio 2010 and .NET Framework 4. Bernard Fedotoff [email protected]. Agenda. What’s new in .Net 4 VS 2010 Overview What  ’s new with C# 4.0 What’s new With TFS 2010 What’s new for the Architects What’s new for the Developpers. Agenda. What’s new in .Net 4 - PowerPoint PPT Presentation

Transcript of Visual Studio 2010 and .NET Framework 4

Page 1: Visual Studio 2010 and .NET Framework 4

Visual Studio 2010and

.NET Framework 4

Bernard [email protected]

Page 2: Visual Studio 2010 and .NET Framework 4

AgendaWhat’s new in .Net 4VS 2010 OverviewWhat ’s new with C# 4.0What’s new With TFS 2010What’s new for the ArchitectsWhat’s new for the Developpers

Page 3: Visual Studio 2010 and .NET Framework 4

AgendaWhat’s new in .Net 4VS 2010 OverviewWhat ’s new with C# 4.0What’s new With TFS 2010What’s new for the ArchitectsWhat’s new for the Developpers

Page 4: Visual Studio 2010 and .NET Framework 4

A Look Back…

.NET 1.0 .NET 1.1 .NET 2.03.03.5

.NET 42002 2003 2008 CTP!2005-08

CLR 1.0 CLR 1.1 CLR 2.0 CLR 4

SP1

Page 5: Visual Studio 2010 and .NET Framework 4

What Is The .NET Framework?

Base Class Libraries

The CLRJIT & NGEN

Garbage Collector

Security Model

Exception Handling

Loader & Binder

WPF Win Forms DLR ASP.NE

T WCF And more!LINQ

Page 6: Visual Studio 2010 and .NET Framework 4

The goal of CLR 4Working Better Together…

Faster…

With Fewer Bugs…

In-Proc SxS

Native/Managed InteropDLR Integration

Managed Extensibility Framework

Threading Parallel Extensions

Garbage Collection Profiling

Code Contracts DebuggingCorrupted State Exceptions

Page 7: Visual Studio 2010 and .NET Framework 4

AgendaWhat’s new in .Net 4VS 2010 OverviewWhat ’s new with C# 4.0What’s new With TFS 2010What’s new for the ArchitectsWhat’s new for the Developpers

Page 8: Visual Studio 2010 and .NET Framework 4

Visual Studio Targets Many…

Audience

Feat

ure

Set

Minimal

Complete

Hobbyist Enterprise

Professional

Team System

Express

Page 9: Visual Studio 2010 and .NET Framework 4

New Look & Feel

Web Deploy

web.config Transformation

Call Hierarchy

Inline Call Tree

Highlight References

Document Map Margin

Extensible Test Runner

WPF-based Editor

Sharepoint Tooling

JQueryIntellisense

HTML Snippets

Historical Debugging

Concurrency Profiler

Parallel Tasks Window

Parallel Stacks Window

Quick Search

Generate From Usage

Improved Multi-Monitor

MVC Tooling

Dynamic Data Tooling

Click-Once Enhancements for Office

64-bit Mixed-Mode

Minidump Debugging

Breakpoint Grouping

Breakpoint Labeling

Breakpoint Import/Export

New Visual Studio 2010 Features…

Improved WPF Tooling

Page 10: Visual Studio 2010 and .NET Framework 4

The Two Faces of Visual Studio 2010

Visual Studio As An Editor

Visual Studio As A Platform

Page 11: Visual Studio 2010 and .NET Framework 4

… As An Editor

An improved focus on…

Writing code,

Understanding code,

Navigating code,

Publishing code

Page 12: Visual Studio 2010 and .NET Framework 4

… As A Platform

New Extensible Editor allows editor to be easily extended to provide a rich and robust editing experience

Online Visual Studio Gallery integrated directly into Visual Studio

Page 13: Visual Studio 2010 and .NET Framework 4

AgendaWhat’s new in .Net 4VS 2010 OverviewWhat ’s new with C# 4.0What’s new With TFS 2010What’s new for the ArchitectsWhat’s new for the Developpers

Page 14: Visual Studio 2010 and .NET Framework 4

Magic value via temp variables

GenerateChart(20, true);

var processCount = 20; var copyToWord = true; GenerateChart(processCount, copyToWord);

GenerateChart(20 /* processCount */, true /* copyToWord */);

GenerateChart( processCount:20, copyToWord: true);

Page 15: Visual Studio 2010 and .NET Framework 4

Optional Parameters void GenerateChart(int processCount) { GenerateChart(processCount, false); }

void GenerateChart(int processCount, bool copyToWord) { // Do Something } void GenerateChart( int processCount,

bool copyToWord = false) { // Do Something }

Page 16: Visual Studio 2010 and .NET Framework 4

Dynamic Language

dynamic calc = GetCalculator(); int sum = calc.Add(10, 20);

Statically typed to be

dynamic

Dynamic method

invocationDynamic

conversion

Page 17: Visual Studio 2010 and .NET Framework 4

New Features in C# 4.0 & VB 10

Feature VB10 C#4Auto-implemented PropertiesCollection InitializersStatement LambdasImplicit Line Continuation N/ANamed/Optional ParametersLatebinding support (dynamic)Omit ref on COM calls

New in Dev10Already exists in VB9/C#3

Page 18: Visual Studio 2010 and .NET Framework 4

New Features in C# 4.0 & VB 10

Feature VB10 C#4Auto-implemented PropertiesCollection InitializersStatement LambdasImplicit Line Continuation N/ANamed/Optional ParametersLatebinding support (dynamic)Omit ref on COM callsInterop with Dynamic LanguagesCo/contravariancePIA deployment not needed

New in Dev10Already exists in VB9/C#3

Page 19: Visual Studio 2010 and .NET Framework 4

New Features in C# 4.0 & VB 10

Feature VB10 C#4Auto-implemented PropertiesCollection InitializersStatement LambdasImplicit Line Continuation N/ANamed/Optional ParametersLatebinding support (dynamic)Omit ref on COM callsInterop with Dynamic LanguagesCo/contravariancePIA deployment not neededIteratorsXML Literals

New in Dev10Already exists in VB9/C#3

Page 20: Visual Studio 2010 and .NET Framework 4

AgendaWhat’s new in .Net 4VS 2010 OverviewWhat ’s new with C# 4.0What’s new With TFS 2010What’s new for the ArchitectsWhat’s new for the Developpers

Page 21: Visual Studio 2010 and .NET Framework 4

Visual Studio Team System 2008

Page 22: Visual Studio 2010 and .NET Framework 4

Visual Studio Team System 2010

Page 23: Visual Studio 2010 and .NET Framework 4

Where are the metadatas ?

Conceptual Level

Logical Level

Physical Level

What

How

Using

Traditional Approach

AGILE

Page 24: Visual Studio 2010 and .NET Framework 4

Identifying and Creating Personas

Personification of user groups Represented as an individual

Good personas are memorable and three dimensional

Personas consider personality, work environment and

characteristics

Persona should be useful for decision making

Personas should have a memorable name

Persona BenefitsThey separate “you” from your application’s customersBy making them “real” they are easier to discussThey are more specific than RUP actors e.g. several personas for different demographicsThey help with role play activities

Page 25: Visual Studio 2010 and .NET Framework 4

Techniques for Capturing User Stories

Persona

Practices for Capturing User StoriesStart with the goalBreak the goal into a list of steps

Start with “Persona does step”Then “Solution shows result”

Use action verbs to enumerate stepsWrite scenarios in the user’s languageDon’t detail alternate and exception paths initially

Steps for persona to accomplish goal

User stories

Goal

Page 26: Visual Studio 2010 and .NET Framework 4

TFS 2010No More Planning Black BoxNo More Late SurprisesNo More Stakeholder SurprisesNo More Bewildering Admin

Page 27: Visual Studio 2010 and .NET Framework 4

No More Planning Black Box

Top-to-Bottom TraceabilityRequirements TraceabilityParent/Child RelationshipsRollup and Drilldown

Agile PlanningBuilt-in product backlog mgmtBuilt-in iteration planningEasily customizable

Great Project IntegrationFull dependency linking Full round-tripping w/ TFS

Page 28: Visual Studio 2010 and .NET Framework 4

No More Late Surprises

Reporting for mere mortals

Generate reports from queriesManipulate data with ExcelFriendlier OLAP cube

Share the knowledgeEmbed reports via MOSS

Page 29: Visual Studio 2010 and .NET Framework 4

No More Stakeholder Surprises

Information-rich dashboardsRoll-up reports show KPI’sDrill-down for further analysisQuickly customizable

Easy interaction with developers

Web-based bug filingWeb-based feature requestsTrack status of bugs / features

Page 30: Visual Studio 2010 and .NET Framework 4

No More Parallel Development Pain

First class branchesServer-side branch creationVisualize branch relationshipsTrack change across branches

HistoryTimelineRicher Annotate

Conflict resolution

Page 31: Visual Studio 2010 and .NET Framework 4

No More Bewildering Admin

MMC-based adminUI for common tasks

Change service accountsConfigure data tierConfigure SSLAdd /change SharePointConfigure reporting/analysis servicesConfigure Team System Web AccessManage project collections

Access log files

Page 32: Visual Studio 2010 and .NET Framework 4

AgendaWhat’s new in .Net 4VS 2010 OverviewWhat ’s new with C# 4.0What’s new With TFS 2010What’s new for the ArchitectsWhat’s new for the Developpers

Page 33: Visual Studio 2010 and .NET Framework 4

Generate Graph DocumentsTo explore the relationships and organization :

Graphs are generated By Assembly, by Namespace or By ClassCan be navigated to visualize dependenciesPartial graphs can be created by using Architecture ExplorerLayer Diagrams show organization and constraints

Page 34: Visual Studio 2010 and .NET Framework 4

UML DiagramsHelps you to modelize User RequirementsUse case diagram

Who uses the system and what they do with itConceptual class diagram

Glossary of types that are used to describe the requirements; the types visible at the system's interface.

Activity diagramFlow of work and information between activities performed by users and system or its parts.

Sequence diagramSequence of interactions between users and system or its parts. An alternative view to the activity diagram.

Component Diagramshow the major parts of the system

Page 35: Visual Studio 2010 and .NET Framework 4

AgendaWhat’s new in .Net 4VS 2010 OverviewWhat ’s new with C# 4.0What’s new With TFS 2010What’s new for the ArchitectsWhat’s new for the Developpers

Page 36: Visual Studio 2010 and .NET Framework 4

Focus on code QualityIntelliTrace : «  rewind  » the debugging trace to examine the state of your application Enabled IntelliTrace in Visual Studio options

Identifying code change impacts on testVerifying code by using units tests

Enhance code quality with ckeck-in policiesTrack coding defects with Code AnalysisIdentify bottleneck with performance session

Prototype with SketchFlow

Page 37: Visual Studio 2010 and .NET Framework 4

Q&A