Visual Studio logo

  • Published:
    July 2, 2010
  • Languages:
  • Audiences:
      Partners, Developers
  • Technology:
    Microsoft Visual Studio 2010
  • Credit toward certification:

Pro: Designing and Developing Windows Applications Using Microsoft .NET Framework 4

This exam has been retired

For currently available options, please see the Microsoft Certification exam list.

Skills measured

This exam measures your ability to accomplish the technical tasks listed below. The percentages indicate the relative weight of each major topic area on the exam. The higher the percentage, the more questions you are likely to see on that content area on the exam. View video tutorials about the variety of question types on Microsoft exams.

Please note that the questions may test on, but will not be limited to, the topics described in the bulleted text.

Do you have feedback about the relevance of the skills measured on this exam? Please send Microsoft your comments. All feedback will be reviewed and incorporated as appropriate while still maintaining the validity and reliability of the certification process. Note that Microsoft will not respond directly to your feedback. We appreciate your input in ensuring the quality of the Microsoft Certification program.

If you have concerns about specific questions on this exam, please submit an exam challenge.

If you have other questions or feedback about Microsoft Certification exams or about the certification program, registration, or promotions, please contact your Regional Service Center.

Design the layers of a solution (22%)
  • Design a loosely coupled layered architecture
    • Separation of concerns, including presentation, business logic, and data; minimize logical dependencies; decide how layers connect (for example, content-based versus context-based filtered routing)
  • Design service interaction
    • Service granularity (cohesiveness); interface granularity (responsibilities of an operation), versioning, data and service contracts (using a message contract rather than a data contract); hosting and protocol; manage data integrity (re-validate data across trust boundaries); evaluate use of RESTful interface (URI/resource structure); choose a message exchange pattern; choose synchronous versus asynchronous operation invocation; decide whether to use custom Simple Object Access Protocol (SOAP) headers
    • Interact with existing/external systems
  • Design the security implementation
    • Protect data during transmission (encryption/hashing algorithm), authentication (client/proxy credential) and authorization (groups, built-in or custom role provider, claims, federated security), design for least privilege (impersonation and/or delegation), plan for User Access Control (UAC) environments; audit
  • Design for interoperability with external systems
    • Choose an appropriate strategy for communicating with COM components, mainframe services, and web services
  • Design for optimal processing
    • Parallel processing; asynchronous processing; service bus; gateway processes; scalability (scale out versus scale up); design tiers to minimize latency (batch retrieval, multiple small calls)
  • Design for globalization and localization
    • Multi-locale services; design for time zone, sort, UI considerations; database design considerations

Preparation resources

Design the presentation layer (21%)
  • Choose the appropriate Windows client technology
    • Choose between Windows Forms, WPF, or a combination; choose an appropriate presentation pattern (Model View Presenter [MVP], Model View/View Model [MV-VM]); identify areas for possible migration/interoperability from Windows Forms to WPF
  • Design the UI layout and structure
    • Evaluate the conceptual design, decide how the UI will be composed (for example, static versus dynamic screen); design for the inheritance and reuse of visual elements (for example, styles and resources); accessibility considerations; decide when custom controls are needed
  • Design application workflow
    • User navigation, design wizards, modal versus non-modal; dependencies among UI elements; design for input types, based on environment and audience (kiosk, very large display, small display, indoors, and outdoors)
  • Design data presentation and input
    • Design data validation; design a data-binding strategy; design a reporting strategy; choose media services (audio, video, images, or animation); manage data shared between forms
  • Design presentation behavior
    • Determine which behaviors will be implemented and how; drag and drop functionality
  • Design for UI responsiveness
    • Offload operations from UI thread and reporting of progress, avoid unnecessary screen refresh; media buffering; client versus server side sorting and filtering of data; address UI memory issues

Preparation resources

Design the data access layer (21%)
  • Choose the appropriate data access strategy
    • Choose the appropriate data access technology (Entity Framework, LINQ to SQL, Microsoft ADO.NET); support data sources, such as XML data, flat files, and relational databases
  • Design the data object model
    • Map to persistent storage (map to tables, XML files), abstract from the service layer (encapsulate underlying schema details); design a schema change management strategy
  • Design data caching
    • Manage data cache (lifetime, targets, size, scope); manage data state (change notification, cache invalidation/synchronization)
  • Design offline storage and data synchronization
    • Manage offline data, map a data store to local cache, design synchronization; analyze target data environment (for example, Microsoft SQL Server, SQL Express, workstation capabilities, OS, bandwidth, reliability)
  • Design for a concurrent multi-user environment
    • Plan for concurrency and collision avoidance, optimistic versus pessimistic locking, cross-tier distributed transactions
  • Analyze data services for optimization
    • Object relational mapping (ORM) performance, optimizing roundtrips, lazy versus eager loading, caching of frequently used data

Preparation resources

Plan a solution deployment (17%)
  • Define a client deployment strategy
    • Recommend an installation method (Xcopy, ClickOnce, MSI, third party); identify prerequisites (target framework and bootstrap requirements), deploy COM components
  • Plan a database deployment
    • Existing or shared instance; remote server; embedded database; deploy new objects (such as tables, stored procedures, and views) to a new or existing database; recognize database security concerns (such as shared instances and access); remote versus local database
    • This objective does not include: DLL deployment; shared GAC deployment
  • Design a solution update strategy
    • Preserve shared components, data integrity, and user customizations; design an update delivery method (for example, automated update detection from the client), version mismatch (both local binaries and service interfaces)
  • Plan for n-tier deployment
    • Map the solution to the topology (required hardware, such as servers, routers, and RAM; and required software, such as OS); determine component installation order; review security requirements

Preparation resources

Design for stability and maintenance (19%)
  • Design for error handling
    • Collect user feedback when errors occur, handle exceptions across tiers
    • This objective does not include: try/catch blocks
  • Evaluate and recommend a test strategy
    • Recommend functional testing, recommend reliability testing (performance testing, stress testing, scalability testing, duration testing)
    • This objective does not include: unit testing
  • Design a diagnostics and monitoring strategy
    • Profile, trace, performance counters, audit trails (events and information); usage reporting; decide where to log events (local versus centralized reporting)

Preparation resources

Who should take this exam?

Candidates for this exam work on a team in a development environment that uses Microsoft Visual Studio .NET 2010 and the Microsoft .NET Framework 4 to develop desktop applications. Candidates should have a minimum of three years of experience developing applications, including one to two years of experience developing Windows-based applications. Candidates should have a thorough understanding of Windows Presentation Foundation and Windows Forms technologies in the .NET Framework 3.5 and 4.

More information about exams

Preparing for an exam

We recommend that you review this exam preparation guide in its entirety and familiarize yourself with the resources on this website before you schedule your exam. See the Microsoft Certification exam overview for information about registration, videos of typical exam question formats, and other preparation resources. For information on exam policies and scoring, see the Microsoft Certification exam policies and FAQs.


This preparation guide is subject to change at any time without prior notice and at the sole discretion of Microsoft. Microsoft exams might include adaptive testing technology and simulation items. Microsoft does not identify the format in which exams are presented. Please use this preparation guide to prepare for the exam, regardless of its format. To help you prepare for this exam, Microsoft recommends that you have hands-on experience with the product and that you use the specified training resources. These training resources do not necessarily cover all topics listed in the "Skills measured" section.