Тест №70-521: Upgrade: Transition your MCPD .NET Framework 3.5 Windows Developer Skills to MCPD .NET 4 Windows Applications Developer
Продолжительность: Языки теста: English Online тест: Кол-во вопросов: Мин.проходной балл:
Темы:
Exam Topics Covered
This exam is designed for candidates who current hold an MCPD
certification as a Windows Developer on .NET 3.5 to upgrade to
the MCPD Windows Applications Developer 4.
Audience Profile
Candidates for this exam should have experience with developing
applications for the Windows desktop using Visual Studio 2010 or
earlier. Candidates should also have experience with Windows
Presentation Foundation (WPF), Windows Forms, ADO.NET, and
Windows Communication Foundation (WCF).
Credit
Toward CertificationWhen you pass Exam
70-521: Upgrade: Transition your MCPD .NET Framework 3.5 Windows
Developer Skills to MCPD .NET 4 Windows Applications Developer, you
complete the requirements for the following certification(s):
MCTS: .NET Framework 4, Windows Applications
MCTS: .NET Framework 4, Service Communication Applications
MCTS: .NET Framework 4, Data Access
MCPD: Windows Developer 4
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.
Building a User Interface by Using BasicTechniques
Choose the most appropriate control class.
This objective may include but is not limited to: evaluating
design requirements and then selecting the most appropriate
control based on those requirements; recognizing when none
of the standard controls meet requirements; item controls,
menu controls, content controls
This objective does not include: designing a custom control
Implement screen layout by using nested control hierarchies.
This objective may include but is not limited to: using
panel-derived controls, attaching properties
This objective does not include: items controls, control
customization
Enhancing a User Interface by Using Advanced Techniques
Manage routed events in WPF.
This objective may include but is not limited to: tunneling
vs. bubbling events, handling and cancelling events
This objective does not include: simple event handling;
creating custom events
Configure WPF commanding.
This objective may include but is not limited to: defining
WPF commands based on RoutedCommand; associating commands to
controls; handling commands; command bindings; input
gestures
This objective does not include: creating custom commands by
implementing ICommand
Implement user-defined controls.
This objective may include but is not limited to: deciding
whether to use a user/composite, extended, or custom control
; creating a user/composite control; extending from an
existing control
This objective does not include: creating a custom control
by inheriting directly from the Control class and writing
code
Managing Data at the User Interface Layer
Implement data binding.
This objective may include but is not limited to: binding
options, static and dynamic resources, element bindings,
setting the correct binding mode and update mode; binding to
nullable values
This objective does not include: binding to a specific data
source
Implement data validation.
This objective may include but is not limited to: handling
validation and providing user feedback via the error
provider (WinForms) or data templates (WPF), IDataErrorInfo,
validation control, form validation and control validation
Prepare collections of data for display.
This objective may include but is not limited to: filtering,
sorting, and grouping data; LINQ; CollectionView (WPF),
BindingSource object (WinForms)
Implement data-bound controls.
This objective may include but is not limited to: using the
DataGridView (WinForms) or DataGrid (WPF) control to display
and update the data contained in a data source, implementing
complex data binding to integrate data from multiple
sources; ItemsControl-derived controls (WPF)
Enhancing the Functionality and Usability of a Solution
Implement asynchronous processes and threading.
This objective may include but is not limited to:
implementing asynchronous programming patterns; marshalling
between threads; freezing UI elements; using timers; Task
Parallel Library; parallel LINQ; using the dispatcher;
BackgroundWorker component
Implement security features of an application.
This objective may include but is not limited to:
configuring Software Restriction Policy (SRP); full trust
and partially trusted security; interoperability with legacy
CAS policy; User Account Control (UAC)
Manage user and application settings.
This objective may include but is not limited to: creating
application settings; creating user settings; loading and
saving settings
This objective does not include: persisting to database
Implement dependency properties.
This objective may include but is not limited to: enabling
data binding and animation, property metadata, property
change callbacks
Stabilizing and Releasing a Solution
Implement a WPF test strategy.
This objective may include but is not limited to: automation
peer, UI automation, IntelliTrace
Debug XAML by using the WPF Visualizer.
This objective may include but is not limited to: accessing
the Visualizer, drilling down into the visual tree, viewing
and changing properties
This objective does not include: setting a breakpoint and
stepping through code
Create and configure a Windows Installer project.
This objective may include but is not limited to:
configuring a setup project to add icons during setup,
setting deployment project properties, configuring
conditional installation based on operating system versions,
setting appropriate Launch Conditions based on the .NET
Framework version, adding custom actions to a setup project,
adding error-handling code to a setup project
Configure deployment security settings.
This objective may include but is not limited to:
configuring and integrating UAC by using ClickOnce
deployments; setting appropriate security permissions to
deploy the application
Creating Services
Create service and operation contracts.
This objective may include but is not limited to:
one-way, duplex, and request reply; creating and specifying
fault contracts; configuration-based contracts; exposing
service metadata; selecting serialization (e.g., data
contract serializer vs. XML serializer)
This objective does not include: designing service and
operation contracts; transactions, instantiation,
security-related attributes
Create data contracts.
This objective may include but is not limited to:
managing Known Types; controlling data serialization; using
required and order attributes on data members; implementing
versioning using IExtensibleDataObject; POCOs
This objective does not include: using custom serializer
(ISerializationSurrogate)
Implement RESTful services.
This objective may include but is not limited to:
accessing HTTP context; WebGet/WebInvoke, UriTemplates;
JSON/POX
Hosting and Configuring Services
Create and configure endpoints.
This objective may include but is not limited to:
default and standard bindings; custom bindings created from
standard binding elements; standard endpoints; transports
including HTTP, TCP, named pipes, UDP, MSMQ code-based
service configuration; message encoding
This objective does not include: creating a custom
binding element; creating new standard endpoints, loading
configuration from a location other than the default
application configuration file, security, transaction,
reliable sessions
Configure Behaviors.
This objective may include but is not limited to:
applying service, endpoint, and operation behaviors in
configuration and code
This objective does not include: creating a custom
behavior; creating and using dispatch behaviors, loading
configuration from a location other than the default
application configuration file
Consuming Services
Create a service proxy.
This objective may include but is not limited to: using
a proxy class or channel factory to create a proxy; creating
a proxy for an asynchronous communication; creating a proxy
for a duplex communication
This objective does not include: SvcUtil command-line
switches
Consume RESTful services
This objective may include but is not limited to: access
HTTP context; JSON/POX
Securing Services
Configure secure Bindings.
This objective may include but is not limited to:
transport, message, mixed mode
Configure message security.
This objective may include but is not limited to:
specifying protection levels on different message parts
Managing the Service Instance Life Cycle
Manage sessions.
This objective may include but is not limited to: code
and configuration; session management attributes;
throttling; reliable sessions; transport-level and
application-level sessions; invoking a callback contract
Manage concurrency.
This objective may include but is not limited to:
single, multiple, and reentrant concurrency modes;
SynchronizationContext and CallbackBehavior
This objective does not include: deadlocks and other
multithreading issues
Monitoring and Troubleshooting Distributed Systems
Configure message logging.
This objective may include but is not limited to:
configuring message listeners; logging level; message
filters; configuring logging known PII
This objective does not include: secure message logs
Configure diagnostics.
This objective may include but is not limited to: WMI;
performance counters; event logging
Modeling Data
Map entities and relationships by using the Entity Data
Model.
This objective may include but is not limited to: using
the Visual Designer, building an entity data model from an
existing database, managing complex entity mappings in EDMX,
editing EDM XML, mapping to stored procedures, creating
user-defined associations between entities, generating
classes with inheritance and mapping them to tables
This objective does not include: using MetadataWorkspace
Create and customize entity objects.
This objective may include but is not limited to:
configuring changes to an Entity Framework entity, using the
ADO.NET EntityObject Generator (T4), extending,
self-tracking entities, snapshot change tracking,
ObjectStateManager, partial classes, partial methods in the
Entity Framework
Managing Connections and Context
Create and manage a data connection.
This objective may include but is not limited to:
connecting to a data source, closing connections,
maintaining the life cycle of a connection
Configure ADO.NET Data Services.
This objective may include but is not limited to:
creating access rules for entities, configuring
authorization and authentication, configuring HTTP verbs
Querying Data
Execute a SQL query.
This objective may include but is not limited to:
DBCommand, DataReader, DataAdapters, DataSets, managing data
retrieval by using stored procedures, using parameters,
System.Data.Common namespace classes
Create a LINQ query.
This objective may include but is not limited to:
syntax-based and method-based queries, joining, filtering,
sorting, grouping, aggregation, lambda expressions, paging,
projection
This objective does not include: compiling queries
Query data by using ADO.NET Data Services.
This objective may include but is not limited to:
implementing filtering and entitlement in ADO.NET Data
Services, addressing resources, creating a query expression,
accessing payload formats, Data Services interceptors
Manipulating Data
Create, update, or delete data by using SQL statements.
This objective may include but is not limited to:
Create/Update/Delete (CUD), using DataSets, calling stored
procedures, using parameters
Create, update, or delete data by using DataContext.
This objective may include but is not limited to: CUD,
calling stored procedures, using parameters
This objective does not include: ObjectTrackingEnabled
Create, update, or delete data by using ObjectContext.
This objective may include but is not limited to: CUD,
calling stored procedures, using parameters, setting
SaveOptions
Developing and Deploying Reliable Applications
Monitor and collect performance data.
This objective may include but is not limited to:
logging generated SQL (ToTraceString), collecting response
times, implementing performance counters, implementing
logging, implementing instrumentation
Handle exceptions.
This objective may include but is not limited to:
resolving data concurrency issues (handling
OptimisticConcurrency exception, Refresh method), handling
errors, transaction exceptions, connection exceptions,
timeout exceptions, handling an exception from the Entity
Framework disconnected object, security exceptions
Protect data.
This objective may include but is not limited to:
encryption, digital signature, hashing, salting, least
privilege
Synchronize data.
This objective may include but is not limited to:
online/offline Entity Framework, synchronization services,
saving locally
Designing the Layers of a Solution
Design a loosely coupled layered architecture.
This objective may include but is not limited to:
separation of concerns including presentation, business
logic, and data; minimizing logical dependencies; deciding
how layers connect (e.g., content-based vs. context-based
filtered routing)
Design service interaction.
This objective may include but is not limited to:
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; managing data
integrity (re-validating data across trust boundaries);
evaluating use of RESTful interface (URI/resource
structure); choosing a message exchange pattern; choosing
synchronous vs. asynchronous operation invocation; deciding
whether to use custom SOAP headers
This objective does not include: interacting with
existing/external systems
Design the security implementation.
This objective may include but is not limited to:
protecting data during transmission (encryption/hashing
algorithm), authentication (client/proxy credential) and
authorization (groups, built-in or custom role provider,
claims, federated security), designing for least privilege
(impersonation and/or delegation), planning for User Access
Control (UAC) environments; auditing
Design for globalization and localization.
This objective may include but is not limited to:
multi-locale services; designing for time zone, sorting, UI
considerations; database design considerations
Designing the Presentation Layer
Choose the appropriate Windows Client technology.
This objective may include but is not limited to: choosing
between Windows Forms, WPF, or a combination; choosing an
appropriate presentation pattern (Model View Presenter
[MVP], Model View/View Model [MV-VM]); identifying areas for
possible migration/interoperability from Windows Forms to
WPF
Design application workflow.
This objective may include but is not limited to: user
navigation, designing wizards, modal vs. non-modal;
dependencies among UI elements; designing for input types
based on environment and audience (kiosk, very large
display, small display, indoors and outdoors)
Design data presentation and input.
This objective may include but is not limited to:
designing data validation; designing a data-binding
strategy; designing a reporting strategy; choosing media
services (audio, video, images, animation); managing data
shared between forms
Designing the Data Access Layer
Choose the appropriate data access strategy.
This objective may include but is not limited to:
choosing the appropriate data access technology (Entity
Framework, LINQ to SQL, Microsoft ADO.NET); supporting data
sources such as XML data, flat files, and relational
databases
Design data caching.
This objective may include but is not limited to:
managing data cache (lifetime, targets, size, scope),
managing data state (change notification, cache
invalidation/synchronization)
Design for a concurrent multi-user environment.
This objective may include but is not limited to:
planning for concurrency and collision avoidance, optimistic
vs. pessimistic locking, cross-tier distributed transactions
Planning a Solution Deployment
Define a client deployment strategy.
This objective may include but is not limited to:
recommending an installation method (Xcopy, ClickOnce, MSI,
third party); identifying prerequisites (target framework
and bootstrap requirements), deploying COM components
Plan a database deployment.
This objective may include but is not limited to: existing
or shared instance; remote server; embedded database;
deploying new objects (such as tables, stored procedures,
and views) to a new or existing database; recognizing
database security concerns (such as shared instances and
access); remote vs. local database
This objective does not include: DLL deployment; shared GAC
deployment
Design a solution update strategy.
This objective may include but is not limited to:
preserving shared components, data integrity, and user
customizations; designing an update delivery method (e.g.,
automated update detection from the client), version
mismatch (both local binaries and service interfaces)
Plan for n-tier deployment.
This objective may include but is not limited to:
mapping the solution to the topology (required hardware such
as servers, routers, and RAM and required software such as
OS); determining component installation order; reviewing
security requirements
Designing for Stability and Maintenance
Design for error handling.
This objective may include but is not limited to: collecting
user feedback when errors occur, handling exceptions across
tiers
This objective does not include: try/catch blocks
Evaluate and recommend a test strategy.
This objective may include but is not limited to:
recommending functional testing, recommending reliability
testing (performance testing, stress testing, scalability
testing, duration testing)
This objective does not include: unit testing
Design a diagnostics and monitoring strategy.
This objective may include but is not limited to:
profiling, tracing, performance counters, audit trails
(events and information); usage reporting; deciding where to
log events (local vs.centralized reporting)