Share via


Exam 70-563 - Pro: Designing and Developing Windows Applications Using the Microsoft .NET Framework 3.5


Language(s): English
Audience(s): Developers
Technology: Microsoft Visual Studio 2008
Type: Proctored Exam

Exam Topics Covered

Questions that contain code will be presented in either VB or C#. Candidates can select one of these languages when they start the exam.

Audience Profile

Candidates for this exam work on a team in a development environment that uses Microsoft Visual Studio .NET 2008 and the Microsoft .NET Framework 3.5 to build 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 and a thorough understanding of the Windows Forms technologies in the .NET Framework 3.5.
Additionally, candidates should be able to demonstrate the following by using the .NET Framework 3.5:

  • A solid understanding of the Windows applications event model
  • Experience creating Windows applications that access data
  • Experience planning and designing user interaction solutions
  • Experience in the full cycle of Windows applications

Credit Toward Certification

Exam 70-563: Pro: Designing and Developing Windows Applications Using the Microsoft .NET Framework 3.5 counts as credit toward the following certification(s):

Note 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.

Skills Measured


Validating an application design against specifications (12%)

  • Analyze the technical feasibility of application design.

    This objective may include but is not limited to: architecture (Windows vs. ASP), resourcing (staffing, skill sets, hardware, OS), network capacity and distribution, application extensibility, existing applications, exposing APIs, timeframe, integration of third-party controls, applications, external data sources

  • Validate proof of concept.

    This objective may include but is not limited to: evaluating the technical specification and comparing against the proof of concept

  • Evaluate design against available resources.

    This objective may include but is not limited to: cost, timeframe, resources (local vs. distributed teams), hardware resources, network resources, customer infrastructure (required hardware such as servers, routers, and RAM and required software such as OS)

  • Evaluate testing requirements.

    This objective may include but is not limited to: stress testing, testing against high activity and frequency of operations, testing with a true representative sample, building test cases

Planning data management (17%)

  • Plan data access strategy.

    This objective may include but is not limited to: retrieve data from disparate data sources (XML data, flat files, and relational databases, manage class-generated data, LINQ), manage bulk imports and exports (ETL, data transformation), choose appropriate data access layer, manage data purity (re-validate data across trust boundaries), manage data asynchronously, leverage synchronization services, connection management

  • Plan data caching and persistence strategy.

    This objective may include but is not limited to: managing data cache, managing data persistence (storing disconnected scenarios, managing offline data), mapping database to local cache (loading all customers locally), managing data state

  • Select a data storage mechanism.

    This objective may include but is not limited to: security, target data engine, target environment (workstation capabilities, OS, bandwidth, domain vs. workgroup, connectivity, reliability)

  • Plan application data sharing.

    This objective may include but is not limited to: managing data shared between forms and processes, managing data synchronization (ADO.NET synchronization services), drag and drop files or objects from outside sources

  • Design a schema evolution management strategy.

    This objective may include but is not limited to: synchronizing an application with a schema

  • Design a concurrency management strategy.

    This objective may include but is not limited to: database segmentation, planning for concurrency and collision avoidance, optimistic vs. pessimistic

Planning user interaction and presentation strategy (17%)

  • Design application content flow.

    This objective may include but is not limited to: user navigation, user interface goals, layout techniques (dynamic layout techniques), components not part of control data class (ToolTipProvider, ErrprProvider, HelpProvider)

  • Plan data capture.

    This objective may include but is not limited to: validating input (type converters, regular expressions, apply business rules), responding to mouse and keyboard input, pick list (combo boxes, list boxes, auto-fill text boxes) Design a reporting strategy.

    This objective may include but is not limited to: MicrosoftReportViewer, CrystalReportViewer, print classes, embedded vs. external server-generated reports

  • Design user interface components.

    This objective may include but is not limited to: common dialog boxes, designing navigation by using menus, SDI and MDI (multiple monitor configuration, implementing master and detail), single vs. multiple instances of the application, implementing data binding, abstracting with custom controls (abstract base classes), using and creating user controls (extend a custom control to add functionality, creating a custom DataGridView column), integrating with non-Forms UI elements

  • Design a data-binding strategy.

    This objective may include but is not limited to: populating from XML, populating from SQL, populating from object data source and entity, lazy loads, updating bound data (concurrency management, late commits, lazy commits), data context

  • Design forms inheritance.

    This objective may include but is not limited to: visual inheritance, functionality common across forms

Designing security implementation (15%)

  • Design role-based security.

    This objective may include but is not limited to: implementing security by using IPrincipal and IIdentity, custom vs. platform security, managing user functionality, limit or gate access, data decoupling, designing security profiles

  • Design data transmission and storage.

    This objective may include but is not limited to: SSL, encryption (offline data, password management)

  • Design authentication and authorization.

    This objective may include but is not limited to: login mechanism (domain user accounts, SQL Server user accounts), role-based application configuration, security auditing and logging, file system rights and authorization, Web service rights and authentication

  • Plan Windows Vista compliance.

    This objective may include but is not limited to: user application data directory (registry settings, isolated storage)

  • Plan least-privileged execution.

    This objective may include but is not limited to: User Access Control (UAC), assembly authentication, certificate management

Planning application deployment and maintenance (11%)

  • Select an installer.

    This objective may include but is not limited to: ClickOnce, MSI, XCOPY, third party (InstallShield)

  • Plan for multiple-component application deployment.

    This objective may include but is not limited to: bootstrap installation, legacy applications, application suite, COM-visible assemblies

  • Plan application re-deployment.

    This objective may include but is not limited to: deploying Windows-based applications and updating, deploying a patch (dependencies on service packs), database synchronization (re-deployment of data in place [merge]), preserving configuration, unattended installation

  • Plan database deployment.

    This objective may include but is not limited to: existing or shared instance; remote server; DLL deployment; shared GAC deployment; embedded database

  • Plan application removal.

    This objective may include but is not limited to: clean uninstall, uninstalling shared components, uninstalling remaining components, restoring client state, clean or restore registry

  • Plan a performance-monitoring strategy.

    This objective may include but is not limited to: profiling, tracing, performance counters, audit trails

  • Plan an exception-management strategy.

    This objective may include but is not limited to: implementing a framework for logging and exception handling, error handling and reporting, user feedback

Designing the application architecture (17%)

  • Plan a globalization and localization strategy.

    This objective may include but is not limited to: embedding resources into the application for localization

  • Design for accessibility.

    This objective may include but is not limited to: screen reader, tool tips

  • Plan an application migration strategy.

    This objective may include but is not limited to: interoperability with legacy applications, integrating with non-Forms applications

  • Design n-layer architecture.

    This objective may include but is not limited to: logically separating concerns (business objects layer or tier, data tier), design project structure (effective use of sub projects)

  • Plan a component re-use strategy.

    This objective may include but is not limited to: sharing common resources, coupling of generic elements to specific elements, Object-Oriented modeling techniques, dealing with COM interoperability issues associated with existing legacy components

  • Plan system resource management.

    This objective may include but is not limited to: understand JIT or GAC caching

  • Plan multi-threaded implementation and UI responsiveness.

    This objective may include but is not limited to: implementing multi-threading and reporting progress, updating the UI from a background thread

Designing for optimized performance (11%)

  • Plan optimized data retrieval.

    This objective may include but is not limited to: type data sets vs. un-typed data sets, entity models, ORM performance, performance monitoring of tiers for latency and chunkiness (batch retrieval, multiple small calls), roundtrip optimization, caching of frequently used data (pick List data, drop down data, list boxes)

  • Design state management.

    This objective may include but is not limited to: storing application state, storing user state, managing server-side state

  • Plan resource management.

    This objective may include but is not limited to: memory, GDI handles, unmanaged resources, resource disposition memory management, resource planning (skill set to project tasks), order of application component development

Preparation Materials


Learning Plans and Classroom Training

  • LP5631: Learning Plan for Designing and Developing Windows Applications Using the Microsoft .NET Framework 3.5 (1 Forms)

Practice Tests

Community