The most effective way to prepare to take an exam.
The relationship between Microsoft training
materials and exam content.
Microsoft policy concerning the incorporation of
service pack and revision updates into exam content.
Exam question types and formats.
Exam time limits and number of questions asked.
We recommend that you review this preparation
guide in its entirety and familiarize yourself with the FAQs
and resources on the Microsoft Certification website before
you schedule your 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 throrough
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 CertificationExam
70-563: Pro: Designing and Developing Windows Applications Using the
Microsoft .NET Framework 3.5: counts as credit toward the following
certification(s):
Microsoft Certified Professional Developer (MCPD): Windows
Developer 3.5
Skills
Being MeasuredThis 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.
The information after “This
objective may include but is not limited to” is intended to further
define or scope the objective by describing the types of skills and
topics that may be tested for the objective. However, it is not an
exhaustive list of skills and topics that could be included on the exam
for a given skill area. You may be tested on other skills and topics
related to the objective that are not explicitly listed here.
Validating an application
design against specifications (12 percent)
Analyze the technical feasibility of application design.
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.
May include but is not
limited to: evaluating the technical specification and
comparing against the proof of concept
Evaluate design against available resources.
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.
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 percent)
Plan data access strategy.
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.
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.
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.
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.
May
include but is not limited to: synchronizing an application
with a schema
Design a concurrency management strategy.
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 percent)
Design application content flow.
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.
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.
May include but is not
limited to: MicrosoftReportViewer, CrystalReportViewer,
print classes, embedded vs. external server-generated
reports
Design user interface components.
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.
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.
May include but is not
limited to: visual inheritance, functionality common across
forms
Designing security
implementation (15 percent)
Design role-based security.
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.
May include but
is not limited to: SSL, encryption (offline data, password
management)
Design authentication and authorization.
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.
May include but is not
limited to: user application data directory (registry
settings, isolated storage)
Plan least-privileged execution.
May include but is
not limited to: User Access Control (UAC), assembly
authentication, certificate management
Planning application
deployment and maintenance (11 percent)
Select an installer.
May include but is not limited
to: ClickOnce, MSI, XCOPY, third party (InstallShield)
Plan for multiple-component application deployment.
May include but is not limited to: bootstrap installation,
legacy applications, application suite, COM-visible
assemblies
Plan application re-deployment.
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.
May include but is not
limited to: existing or shared instance; remote server; DLL
deployment; shared GAC deployment; embedded database
Plan application removal.
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.
May include
but is not limited to: profiling, tracing, performance
counters, audit trails
Plan an exception-management strategy.
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 percent)
Plan a globalization and localization strategy.
May
include but is not limited to: embedding resources into the
application for localization
Design for accessibility.
May include but is not
limited to: screen reader, tool tips
Plan an application migration strategy.
May include
but is not limited to: interoperability with legacy
applications, integrating with non-Forms applications
Design n-layer architecture.
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.
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.
May include but is
not limited to: understand JIT or GAC caching
Plan multi-threaded implementation and UI responsiveness.
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 percent)
Plan optimized data retrieval.
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.
May include but is not
limited to: storing application state, storing user state,
managing server-side state
Plan resource management.
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