Visual Studio 2010 and .NET Framework 4
description
Transcript of 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
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
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
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
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
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
Visual Studio Targets Many…
Audience
Feat
ure
Set
Minimal
Complete
Hobbyist Enterprise
Professional
Team System
Express
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
The Two Faces of Visual Studio 2010
Visual Studio As An Editor
Visual Studio As A Platform
… As An Editor
An improved focus on…
Writing code,
Understanding code,
Navigating code,
Publishing code
… 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
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
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);
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 }
Dynamic Language
dynamic calc = GetCalculator(); int sum = calc.Add(10, 20);
Statically typed to be
dynamic
Dynamic method
invocationDynamic
conversion
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
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
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
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
Visual Studio Team System 2008
Visual Studio Team System 2010
Where are the metadatas ?
Conceptual Level
Logical Level
Physical Level
What
How
Using
Traditional Approach
AGILE
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
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
TFS 2010No More Planning Black BoxNo More Late SurprisesNo More Stakeholder SurprisesNo More Bewildering Admin
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
No More Late Surprises
Reporting for mere mortals
Generate reports from queriesManipulate data with ExcelFriendlier OLAP cube
Share the knowledgeEmbed reports via MOSS
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
No More Parallel Development Pain
First class branchesServer-side branch creationVisualize branch relationshipsTrack change across branches
HistoryTimelineRicher Annotate
Conflict resolution
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
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
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
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
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
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
Q&A