Creating a UI for a Windows Forms Application by Using Standard ControlsAdd and configure a Windows Forms control This objective may include but is not limited to: Use the integrated development environment (IDE) to add a control to a Windows Form or other container control of a project at design time, add controls to a Windows Form at run time, configure controls on a Windows Form at design time to optimize the UI, modify control properties. Create and configure menus This objective may include but is not limited to: Create and configure a MenuStrip component on a Windows Form, change the displayed menu structure programmatically, create and configure the ContextMenuStrip component on a Windows Form. Create event handlers for Windows Forms and controls. This objective may include but is not limited to: Manage mouse and keyboard events within Windows Forms applications, create event handlers at run time to respond to system or user events dynamically, connect multiple events to a single event handler Integrating Data in a Windows Forms ApplicationImplement data-bound controls This objective may include but is not limited to: Use the DataGridView control to display and update the tabular data contained in a data source, use a simple data-bound control to display a single data element on a Windows Form, implement complex data binding to integrate data from multiple sources, navigate forward and backward through records in a DataSet in Windows Forms, define a data source by using a DataConnector component, create data forms by using the Data Form Wizard Manage connections and transactions This objective may include but is not limited to: Configure a connection to a database by using the Connection Wizard, configure a connection to a database by using Server Explorer, configure a connection to a database by using the Connection class, connect to a database by using specific database Connection objects, handle exceptions when connecting to a database, perform transactions by using the Transaction object. Create, add, delete, and edit data in a disconnected environment This objective may include but is not limited to: Create a DataSet graphically, create a DataSet programmatically, add a DataTable to a DataSet, add a relationship between tables within a DataSet, navigate a relationship between tables, merge DataSet contents, copy DataSet contents, create a typed DataSet, create DataTables, manage data within a DataTable, create and use DataViews, represent data in a DataSet by using XML, use the OleDbDataAdapter object to access an ADO Recordset or Record, generate DataAdapter commands automatically by using the CommandBuilder object, generate DataAdapter commands programmatically, populate a DataSet by using a DataAdapter, update a database by using a DataAdapter, resolve conflicts between a DataSet and a database by using a DataAdapter, respond to changes made to data at the data source by using DataAdapter events, perform batch operations by using DataAdapters Implementing Printing and Reporting Functionality in a Windows Forms ApplicationManage the print process by using print dialogs This objective may include but is not limited to: Configure print options at run time, change printers attached to a user’s computer, configure the PrintPreviewDialog control, set page details for printing by using the PageSetupDialog Construct print documents This objective may include but is not limited to: Configure the PrintDocument component, print a text document in a Windows form, print graphics in a Windows form, print a document by using the PrintDialog component, alert users to the completion of a print job Enhancing UsabilityImplement globalization and localization for a Windows Forms application This objective may include but is not limited to: work with resource files for localization, determine installed locales Create and configure multiple-document interface (MDI) forms This objective may include but is not limited to: create parent and child forms, identify active child form, send data to an active child form, arrange child forms, create menus for an MDI application Create, configure, and customize user assistance controls and components This objective may include but is not limited to: Configure the PropertyGrid component, configure the ProgressBar control, configure StatusStrip, configure ToolTip, configure ErrorProvider, configure HelpProvider controls, configure timer components Implementing Asynchronous Programming Techniques to Improve the User ExperienceManage a background process by using the BackgroundWorker component This objective may include but is not limited to: Run a background process, announce completion of a background process, cancel a background process, report on the progress of a background component, request status of a background component Implement an asynchronous method This objective may include but is not limited to: Create an asynchronous method, create a new process thread, implement advanced asynchronous techniques Deploying Windows Forms ControlsCreate a composite Windows Forms control This objective may include but is not limited to: create properties, methods and events, expose properties of constituent controls, create custom dialog boxes, customize a control’s paint and render, set visibility at run time, provide a toolbox bitmap Configuring and Deploying ApplicationsConfigure the installation of a Windows Forms application by using ClickOnce technology This objective may include but is not limited to: install a Windows Forms application on a client computer, install a Windows Forms application from a server, configure the required permissions of an application - Configure and work with Windows Vista User Account Control (UAC) by using ClickOnce deployments
Create a Windows Forms setup application This objective may include but is not limited to: configure setup project to add icons during setup, set deployment project properties, configure conditional installation based on operating system versions, set appropriate Launch Conditions based on the .NET Framework version, add custom actions to a setup project, add error-handling code to a setup project Configure security features in an application Configure security features in an application This objective may include but is not limited to: Configure code access security, configure the application to work with UAC, configure Windows manipulation permissions, configure appropriate file access permissions for the application, control printing security for the application Validating an application design against specificationsAnalyze 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, and external data sources 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 Evaluate design against available resources This objective may include but is not limited to: cost, timeframe, resources (local versus distributed teams), hardware resources, network resources, customer infrastructure (required hardware like servers, routers, RAM and required software like OS) Planning Data ManagementPlan 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 (revalidate data across trust boundaries), manage data asynchronously, leverage synchronization services, connection management 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 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 Planning user interaction and presentation strategyPlan data capture
This objective may include but is not limited to: validating input (type converters, regular expressions, apply business rules), responding to mouse & keyboard input, pick list (combo boxes, list boxes, auto-fill text boxes) Design user interface components
This objective may include but is not limited to: common dialog boxes, designing navigation 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 & entity, lazy loads, updating bound data (concurrency management, late commits , lazy commits), data context Designing security implementationDesign role-based security
This objective may include but is not limited to: implementing security 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 & logging, file system rights & authorization, web service rights & authentication Planning application deployment and maintenancePlan for multiple component application deployment
This objective may include but is not limited to: bootstrap installation, legacy applications, application suite, COM-visible assemblies Plan performance monitoring strategy This objective may include but is not limited to: profiling, tracing, performance counters, audit trails Plan exception management strategy
This objective may include but is not limited to: implementing a framework for logging & exception handling, error handling and reporting, user feedback Designing the application architectureDesign 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 component reuse 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 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 performancePlan 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
|