Presentation is loading. Please wait.

Presentation is loading. Please wait.

Tools to support the Software Development Process Simon Davies Microsoft Ltd

Similar presentations


Presentation on theme: "Tools to support the Software Development Process Simon Davies Microsoft Ltd"— Presentation transcript:

1 Tools to support the Software Development Process Simon Davies Microsoft Ltd sdavies@microsoft.com

2 2 Agenda Where are we today? Where are we today? What are we doing moving forwards? What are we doing moving forwards? Q and A Q and A

3 3 Where are we today? Visual Studio 2003 Enterprise Edition Visual Studio 2003 Enterprise Edition  Visio for Architects – “UML sketch functionality”  Application Center Test  Web Load Test tool - can also be used with Web Services  Enterprise Templates  Policies, constraints, guidance

4 4 Where are we today? Partners Partners  over 130 VSIP partners covering all aspects of SDLC Community Community  NUnit,NAnt,NDoc,NMock,CruiseControl, Reflector,CodeSmith Microsoft Microsoft  FxCop, SDC Build process and tools Architectural guidance Architectural guidance  http://msdn.microsoft.com/patterns http://msdn.microsoft.com/patterns What about process,methodology etc? What about process,methodology etc?

5 5 The Microsoft Solutions Framework – MSF 3.0 A collection of principles, processes and best practices that work very well together A collection of principles, processes and best practices that work very well together Guidance to help organizations be more successful delivering IT Solutions: Guidance to help organizations be more successful delivering IT Solutions:  Faster,  With fewer people,  With less risk,  Enabling higher quality results MSF is Completely Technology Agnostic MSF is Completely Technology Agnostic http://www.microsoft.com/technet/itsolu tions/techguide/msf/default.mspx http://www.microsoft.com/technet/itsolu tions/techguide/msf/default.mspx

6 6 Core Tenets to Success Tools need to… Tools need to…  …reduce the complexity of delivering modern service-oriented solutions  …be tightly integrated and facilitate better team collaboration  …enable customization and extensibility by organizations and ISVs

7 Where Are We Going?

8 8 Expanding Visual Studio Increased Reliability Quality Early & Often Predictability & Visibility Design for Operations Project Manager Solution Architect Developer Tester Infrastructure Architect

9 9 Dynamic Code Analyzer Visual Studio 2005 Team System Visual Studio Team Architect Visual Studio Team Developer Visual Studio Team Test Static Code AnalyzerCode ProfilerUnit TestingCode CoverageVisio and UML ModelingTeam Foundation ClientVS ProClass ModelingLoad TestingManual TestingTest Case ManagementApplication ModelingLogical Infra. ModelingDeployment ModelingChange ManagementWork Item TrackingReportingProject Portal Visual Studio Team Foundation Integration ServicesProject Management Proven Process Guidance

10 10 Dynamic Code Analyzer Team Foundation Visual Studio Team Architect Visual Studio Team Developer Visual Studio Team Test Static Code AnalyzerCode ProfilerUnit TestingCode CoverageVisio and UML ModelingTeam Foundation ClientVS ProClass ModelingLoad TestingManual TestingTest Case ManagementApplication ModelingLogical Infra. ModelingDeployment ModelingChange ManagementWork Item TrackingReportingProject Portal Visual Studio Team Foundation Integration ServicesProject Management Proven Process Guidance

11 11 Team Foundation Problem Space Fragmented information Fragmented information  Can’t relate and query work items, work, processes and artifacts  Tools sets are incomplete or poorly integrated  Difficulty integrating tools with existing infrastructure Communication is manual Communication is manual  People use the phone or face-to-face  Information is not captured  Distributed development aggravates the problem Life cycle tools are expensive and complex Life cycle tools are expensive and complex  Tools are difficult to learn and use  Developers view tools as “overhead”  Administration costs are high

12 12 Team Foundation Capabilities Work item tracking Work item tracking  Integrated into development process  Design your own process – Fields, Forms, States, Rules  Extensive linking – bugs, tasks, requirements reports, artifacts  Notifications Source Code Control Source Code Control  Policy based check in  Scalable and robust  Parallel development  Notifications Build automation Build automation  Scripted “nightly” build  Reporting  Integrates many of the Team System tools Reporting Reporting  Automatic data collection  50 Predefined reports Project portal Project portal  Single place to go for high-level project information – specs, builds etc.  Web access work items  Windows Sharepoint Services based

13 13 Remote Development Remote development is a reality Remote development is a reality  Distributed teams, at-home, offshore A system built for the Internet A system built for the Internet  Web service protocols  Browser-based clients  Compatible with proxies and firewalls  Optimized for high-latency networks

14 14 Extensibility End user extensibility – process customization and creation End user extensibility – process customization and creation  Work Item Types  Checkin Notes & Policies Third party extensibility Third party extensibility  Tool integration platform – eventing, linking, security  Managed object models  Web service APIs

15 15 Demo Visual Studio 2005 Team Foundation Visual Studio 2005 Team Foundation

16 16 Dynamic Code Analyzer Team Architect Visual Studio Team Architect Visual Studio Team Developer Visual Studio Team Test Static Code AnalyzerCode ProfilerUnit TestingCode CoverageVisio and UML ModelingTeam Foundation ClientVS ProClass ModelingLoad TestingManual TestingTest Case ManagementApplication ModelingLogical Infra. ModelingDeployment ModelingChange ManagementWork Item TrackingReportingProject Portal Visual Studio Team Foundation Integration ServicesProject Management Proven Process Guidance

17 17 Team Architect Problem Space Communication problems exist between Communication problems exist between  Architects and Developers  Developers do not work within architectural guidelines  Development and Operations  Deployment problems caught too late Modeling tools are seen as valuable Modeling tools are seen as valuable  Visualization of designs  Higher level abstractions simply design and development  Generation of code and other artifacts can improve productivity But … have mixed history of success But … have mixed history of success  Positive: good for documentation  Negative: CASE baggage, round-tripping complexities, not used for software development

18 18 Team Architect Key Scenarios Key Scenarios  Design connected systems - “Design for Operations”  Code visualization  Documentation and conceptual drawings UML and More UML and More  UML tools for software documentation  DSLs tools for precise software development DSL tools DSL tools  Distributed Systems Designers  Application connection Designer  System Definition Designer  Logical Datacenter Designer  Class Designer  Understand existing code  Initial class design  Review and refactor code  Diagrams for documentation

19 19 Demo Application and System Modelling and Validation Application and System Modelling and Validation Class Modelling Class Modelling

20 20 Dynamic Code Analyzer Team Developer Visual Studio Team Architect Visual Studio Team Developer Visual Studio Team Test Static Code AnalyzerCode ProfilerUnit TestingCode CoverageVisio and UML ModelingTeam Foundation ClientVS ProClass ModelingLoad TestingManual TestingTest Case ManagementApplication ModelingLogical Infra. ModelingDeployment ModelingChange ManagementWork Item TrackingReportingProject Portal Visual Studio Team Foundation Integration ServicesProject Management Proven Process Guidance

21 21 Team Developer The Tools the Microsoft Uses The Tools the Microsoft Uses Features Features  Static code analysis  Support for managed and native code  PREfast used in Trustworthy Computing Code Reviews  FxCop used to develop.NET framework  Code profiling  Based on two internal profilers:  Instrumented – IceCAP, used by Windows Base and SQL Server  Sampling – LOP, used throughout MX, including Xbox  Includes ETW events  Sequence view examines running threads  GC view of object allocation and lifetime  Caller-callee, callstack, and function views  Code coverage  Basic Block Coverage  Based on the BBCover technology that Windows & Visual Studio use

22 22 Static Code Analysis Static Code Analyzer

23 23 Code Coverage

24 24 Unit Testing Integrated Unit Testing

25 25 Dynamic Code Analyzer Team Test Visual Studio Team Architect Visual Studio Team Developer Visual Studio Team Test Static Code AnalyzerCode ProfilerUnit TestingCode CoverageVisio and UML ModelingTeam Foundation ClientVS ProClass ModelingLoad TestingManual TestingTest Case ManagementApplication ModelingLogical Infra. ModelingDeployment ModelingChange ManagementWork Item TrackingReportingProject Portal Visual Studio Team Foundation Integration ServicesProject Management Proven Process Guidance

26 26 Team Test Tests are Source Code Tests are Source Code Test Authoring & Execution Environment Test Authoring & Execution Environment  Test View  Test Explorer (Test Case Management UI) Load testing Load testing  Web services load testing via protocol-based script  Load patterns: constant, step, custom  Perf counter collection and threshold monitoring Unit Testing Unit Testing  Similar to NUnit

27 27 Load Testing Creation Load Testing Web recorder Load Testing Web recorder

28 28 Load Testing Perf Counter integration and monitoring Load Testing

29 29 Broad Industry Support

30 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.


Download ppt "Tools to support the Software Development Process Simon Davies Microsoft Ltd"

Similar presentations


Ads by Google