Designing And Developing Windows Applications Using Microsoft .NET Framework 4

Code: 70-518
Price:

Exam 70-518 - Designing and Developing Windows Applications Using Microsoft .NET Framework 4

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.

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

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

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

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

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

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)

Course Reviews

No reviews found for this course.

Be the first to write a review