PRO: Designing and Developing Web-Based Applications by Using the Microsoft .NET FrameworkExam News Exam 70-547: PRO: Designing and Developing Web-Based Applications by Using the Microsoft .NET Framework is in development. This Professional Developer (PRO) exam is expected to be released in its final version toward the end of May 2006. Audience Profile Candidates for this exam work on a team in a medium or large development environment that uses Microsoft Visual Studio .NET 2003 Enterprise Developer or Visual Studio 2005. Candidates should have a working knowledge of Visual Studio 2005 and a sound knowledge of the new features of ASP.NET 2.0. Candidates should have at least two years of experience developing applications by using the Microsoft .NET Framework. Candidates should have at least three to four years of on-the-job experience dedicated to Web application development. In most cases, candidates will be full-time developers, who develop server-side ASP.NET code that creates the browser-based, client-side interface to an application. Candidates should have worked in the following phases of the application life cycle: Candidates should be able to design and develop the Web interface of common business applications, such as: Web-based client applications, both intranet and Internet, that may connect to data stores or middle-tier business logic Data-oriented applications that provide data entry, data analysis, and reporting capabilities Workflow and communication applications Inventory and resource planning applications Financial and accounting applications Applications for the insurance and pharmaceutical industries Business-to-business (B2B) applications Business-to-customer (B2C) applications Company Web sites Web-based shopping cart applications
Credit Toward Certification When you pass Exam 70-547: PRO: Designing and Developing Web-Based Applications by Using the Microsoft .NET Framework, you earn credit toward the following certifications: Code Languages When the exam begins, you can choose the programming language in which the code segments will appear. The available code languages for this exam are: Skills Being Measured This certification exam measures your ability to build interactive, data-driven Web-based applications that use Web forms, ASP.NET, and the .NET Framework for both intranets and the Internet. Before taking the exam, you should be proficient in the job skills listed below. Skills measured by Exam 70-547 Envisioning and Designing an Application Evaluate the technical feasibility of an application design concept. Evaluate the proof of concept. Recommend the best technologies for the features and goals of the application. Weigh implementation considerations. Investigate existing solutions for similar business problems.
Create a proof-of-concept prototype. Evaluate the risks associated with ASP.NET 2.0 technology or implementation. Validate that the proposed technology can be used in the application. Demonstrate to stakeholders that the proposed solution will address their needs.
Evaluate the technical specifications for an application to ensure that the business requirements are met. Translate the functional specification into developer terminology, such as pseudo code and UML diagrams. Suggest component type and layer.
Evaluate the design of a database. Evaluate the logical design of an application. Evaluate the logical design for performance. Evaluate the logical design for maintainability. Evaluate the logical design for extensibility. Evaluate the logical design for scalability. Evaluate the logical design for availability. Evaluate the logical design for security. Evaluate the logical design against use cases. Evaluate the logical design for recoverability. Evaluate the logical design for data integrity.
Evaluate the physical design of an application. Considerations include the design of the project structure, the number of files, the number of assemblies, and the location of these resources on the server. Evaluate the physical design for performance. Evaluate the physical design for maintainability. Evaluate how the physical location of files affects the extensibility of the application. Evaluate the physical design for scalability. Evaluate the physical design for availability. Evaluate the physical design for security. Evaluate the physical design for recoverability. Evaluate the physical design for data integrity.
Designing and Developing a User Interface Choose an appropriate layout for the visual interface. Decide the content flow across pages. Evaluate user navigation needs. Identify the goal of the page. Ensure the congruency and consistency of the user experience throughout the application
Evaluate a strategy for implementing a common layout throughout the UI. Suggest when to use style sheets, master pages, Web parts, custom controls, scripting, and user controls. Suggest an applicable UI standard based on the intended client environment. Considerations include chosen operating systems, technologies, and browser types.
Choose an appropriate control based on design specifications. Evaluate the type of data that must be captured or displayed. Evaluate available controls. Considerations include standard .NET Framework controls and custom, internally developed, and third-party controls. Evaluate how available controls are implemented in previous and ongoing projects or applications. Evaluate the user demographic. Considerations include localization concerns. Evaluate the user environment. Considerations include screen size and browser type and version.
Choose an appropriate data validation method at the UI layer. Choose a validation method based on the data type provided. Decide how to report the feedback. Considerations include callbacks, exceptions, and writing to an event log. Identify the source of invalid data. Identify the cause of an invalid entry. Evaluate whether invalid data can be prevented. Evaluate whether an exception must be thrown. Evaluate whether an exception must be logged. Evaluate whether visual feedback, such as a message box or color, is required.
Choose appropriate user assistance and application status feedback techniques. Design a user assistance mechanism. Choose an appropriate application status feedback technique based on available control types. Choose an appropriate application status feedback technique to support accessibility. Design an application status feedback mechanism.
Choose an appropriate mechanism to deliver multimedia data from an application. Evaluate available multimedia delivery mechanisms. Considerations include bandwidth problems, file formats, frames per second, and streaming types. Design a multimedia delivery mechanism.
Designing and Developing a Component Establish the required characteristics of a component. Decide when to create a single component or multiple components. Decide which tier of the application a component should be located. Decide which type of object to build.
Create the high-level design of a component. Establish the life cycle of a component. Decide whether to use established design patterns for the component. Decide whether to create a prototype for the component. Document the design of a component by using pseudo code, class diagrams, sequence diagrams, activity diagrams, and state diagrams. Evaluate tradeoff decisions. Considerations include security vs. performance, performance vs. maintainability, and so on.
Develop the public API of a component. Decide the types of clients that can consume a component. Establish the required component interfaces. Decide whether to require constructor input.
Develop the features of a component. Decide whether existing functionality can be implemented or inherited. Decide how to handle unmanaged and managed resources. Decide which extensibility features are required. Decide whether a component must be stateful or stateless. Decide whether a component must be multithreaded. Decide which functions to implement in the base class, abstract class, or sealed class.
Develop an exception handling mechanism. Decide when it is appropriate to raise an exception. Decide how a component will handle exceptions. Considerations include catching and throwing a new exception; catching, wrapping, and throwing the wrapped exception; catching and terminating, and so on.
Develop the data access and data handling features of a component. Develop a component to include profiling requirements. Identify potential issues, such as resource leaks and performance gaps, by profiling a component. Decide when to stop profiling on a component. Decide whether to redesign a component after analyzing the profiling results.
Designing and Developing an Application Framework Consume a reusable software component. Identify a reusable software component from available components to meet the requirements. Identify whether the reusable software component needs to be extended. Identify whether the reusable software component needs to be wrapped. Identify whether any existing functionality needs to be hidden. Test the identified component that is based on the requirements.
Choose an appropriate exception handling mechanism. Choose an appropriate implementation approach for the application design logic. Choose an appropriate data storage mechanism. Choose an appropriate data flow structure. Choose an appropriate decision flow structure.
Choose an appropriate event logging method for the application. Decide whether to log data. Considerations include policies, security, requirements, and debugging. Choose a storage mechanism for logged events. For example, database, flat file, event log, or XML file. Choose a systemwide event logging method. For example, centralized logging, distributed logging, and so on. Decide logging levels based on severity and priority.
Monitor specific characteristics or aspects of an application. Decide whether to monitor data. Considerations include administration, auditing, and application support. Decide which characteristics to monitor. For example, application performance, memory consumption, security auditing, usability metrics, and possible bugs. Choose event monitoring mechanisms, such as System Monitor and logs. Decide monitoring levels based on requirements. Choose a systemwide monitoring method from the available monitoring mechanisms.
Evaluate the application configuration architecture. Decide which configuration attributes to store. Choose the physical storage location for the configuration attributes. Decide in which format to store the configuration attributes. Choose when to use ASP.NET Administrative tools.
Testing and Stabilizing an Application Perform a code review. Evaluate the testing strategy. Create the unit testing strategy. Evaluate the integration testing strategy. Evaluate the stress testing strategy. Evaluate the performance testing strategy. Evaluate the test environment specification.
Design a unit test. Describe the testing scenarios. Decide coverage requirements. Evaluate when to use boundary condition testing. Decide the type of assertion tests to conduct.
Perform integration testing. Resolve a bug. Deploying and Supporting an Application Evaluate the performance of an application that is based on the performance analysis strategy. Identify performance spikes. Analyze performance trends. Track page response times. Track logon times.
Analyze the data received when monitoring an application. Monitor and analyze resource usage. Monitor and analyze security aspects. Track bugs that result from customer activity. Choose when to use ASP.NET 2.0 Health Monitoring APIs.
Evaluate the deployment plan. Create an application flow-logic diagram. Validate the production configuration environment. Considerations include load balancing, Web farms, and Web gardens.
|