Exam 70-300

Analyzing Requirements and Defining Microsoft .NET Solution Architectures

These notes began with the "Skills Being Measured" on Microsoft's page for this exam as of October 1, 2002. All hierarchically lettered and numbered items are directly from this MS list.

If you're preparing for this exam, I also recommend looking at my page about MS case study format exams.

I took the beta version of this exam on Saturday November 9, 2002. I was pretty disappointed, as I'd heard some very positive feedback from earlier beta testers. I suppose the exam wasn't awful, but the Prometric case study test engine is (ridiculously slow, can't navigate with keyboard only, requires scrolling a few pixels to see the whole question for the majority of non-multiple choice questions, hides questions during comments entry, useless item review screen, counts case studies and intros along with questions in total item count). But I liked 70-100 better. 70-300 seemed a little lighter on general 3rd normal form database design and a lot heavier on MS specific tools and implementation details. Sure, 70-100 had no mention of some of the sexier technologies, and it did have some specifics about Win32 controls, but for the most part I think it'll be a more relevant exam to real development in 5 years than 70-300 will. Anyway, the beta ended on schedule so we should have results and a live exam around the beginning of January 2003.

Here is a recap of the uninteresting evolution of the links included. All now refer to http://msdn.microsoft.com... pages (or other public web sites) instead of locally installed ms-help:// pages.


I found out (finally) on February 13, 2003 that I passed this exam in beta. The exam went live on February 10, 2003 and Microsoft is offering free vouchers for the exam to existing MCSDs, starting on March 1, 2003 (and valid through September 30, 2003). Log in to the MCP secure site for details.


Skills Being Measured

This certification exam measures your ability to analyze requirements and define Microsoft .NET solution architectures. Before taking the exam, you should be proficient in the job skills listed below.

  1. Envisioning the Solution
    1. Develop a solution concept.
      Defining the Vision
       
    2. Analyze the feasibility of the solution.
      1. Analyze the business feasibility of the solution.
         
      2. Analyze the technical feasibility of the solution.
        Secret CIO: Technical Feasibility Isn't Business Viability [informationweek.com]
         
      3. Analyze available organizational skills and resources.
         
    3. Analyze and refine the scope of the solution project.
       
    4. Identify key project risks.
       
  2. Gathering and Analyzing Business Requirements
    1. Gather and analyze business requirements.
       
      1. Analyze the current business state.
        1. Analyze business processes.
           
        2. Analyze the organizational structure, both current and projected.
           
        3. Analyze vertical market position and industry position.
           
        4. Analyze personnel and training needs.
           
        5. Analyze the organizational political climate.
           
        6. Analyze business reach or scope.
           
        7. Analyze current and future regulatory requirements.
           
      2. Analyze business requirements for the solution.
        1. Identify business requirements.
           
        2. Identify dependencies, both inside and outside the company.
           
        3. Identify features of the solution.
           
        4. Define design goals, such as extensibility requirements.
           
        5. Define data requirements, types, and flows.
           
        6. Create data flow diagrams.
           
    2. Gather and analyze user requirements.
      1. Identify use cases.
        1. Identify usage scenarios for each use case.
          The Use Case Model
          Relationships Between Use Cases
           
      2. Identify globalization requirements.
        Best Practices for Globalization and Localization
         
      3. Identify localization requirements.
        Best Practices for Globalization and Localization
        Localization
         
      4. Identify accessibility requirements.
        The Rehabilitation Act and Software Development Come of Age [previously broken msdn link changed back to local ms-help link to default VS.NET help file on April 20, 2003. See my page describing security and version compatibility issues if you have trouble using this.]
        Designing Accessible Applications [many links]
        Making Web Pages More Accessible
         
    3. Gather and analyze operational requirements.
      Overview of Design Goals
      1. Identify maintainability requirements.
        Writing Solid Code [many links]
         
      2. Identify scalability requirements.
        Scalability [many links]
         
      3. Identify availability requirements.
        Availability [many links]
         
      4. Identify reliability requirements.
        Reliability [many links]
         
      5. Identify deployment requirements.
        Manageability [many links]
         
      6. Identify security requirements.
        Securability [many links]
         
    4. Gather and analyze requirements for hardware, software, and network infrastructure.
      1. Identify integration requirements.
         
      2. Analyze the IT environment, including current and projected applications and current and projected hardware, software, and network infrastructure.
         
      3. Analyze the impact of the solution on the IT environment.
         
  3. Developing Specifications
    1. Transform requirements into functional specifications. Considerations include performance, maintainability, extensibility, scalability, availability, deployability, security, and accessibility.
       
    2. Transform functional specifications into technical specifications. Considerations include performance, maintainability, extensibility, scalability, availability, deployability, security, and accessibility.
      1. Select a development strategy.
        1. Select strategies for auditing and logging.
           
        2. Select strategies for error handling.
           
        3. Select strategies for integration.
           
        4. Select strategies for globalization.
           
        5. Select strategies for localization.
           
        6. Select strategies for data storage.
           
        7. Select strategies for state management.
           
        8. Include constraints in the development plan to support business rules. Constraints include data validation.
           
      2. Select a deployment strategy.
        1. Select strategies for deployment, such as coexistence strategies.
           
        2. Select strategies for licensing.
           
        3. Select strategies for data migration.
           
      3. Select a security strategy.
        Best Practices for Securability
         
        1. Select strategies to ensure data privacy, such as encryption, signing, and sealing.
           
        2. Select strategies to ensure secure access.
           
      4. Select an operations strategy.
        1. Select strategies for data archiving and data purging.
           
        2. Select strategies for upgrades.
           
        3. Create a support plan.
           
      5. Create a test plan.
         
      6. Create a user education plan.
         
  4. Creating the Conceptual Design
    1. Create a conceptual model of business requirements or data requirements. Methods include Object Role Modeling (ORM).
      Object Role Modeling (ORM) [1 hour, 47 minute show]
      Object Role Modeling: An Overview
      JCM [Journal of Conceptual Modeling - inconcept.com. Added March 18, 2003]
      Object Role Modeling [orm.net. Added March 18, 2003]
       

      1. Transform external information into elementary facts.
         

      2. Apply a population check to fact types.
         

      3. Identify primitive entity types in the conceptual model.
         

      4. Apply uniqueness constraints to the conceptual model.
         

      5. Apply mandatory role constraints to the conceptual model.
         

      6. Add value constraints, set-comparison constraints, and subtype constraints to the conceptual model.
         

      7. Add ring constraints to the conceptual model.
         

    2. Validate the conceptual design.
       

  5. Creating the Logical Design
    1. Create the logical design for the solution.
      1. Create the logical design for auditing and logging.
         
      2. Create the logical design for error handling.
        1. Create the logical design for exception handling.
           
      3. Create the logical design for integration.
         
      4. Create the logical design for globalization.
         

      5. Create the logical design for localization.
         

      6. Create the logical design for security.

        1. Create the logical design for data privacy. Options include encryption, signing, and sealing.
           
      7. Include constraints in the logical design to support business rules.
         
      8. Create the logical design for the presentation layer, including the user interface (UI).
         

      9. Create the logical design for services and components.
         

      10. Create the logical design for state management.
         

      11. Create the logical design for synchronous or asynchronous architecture.
         

    2. Create the logical data model.
      Logical Database Design
      Fitch & Mather Stocks: Database
      When All You Want is an ER Diagram
       

      1. Define tables and columns.
         

      2. Normalize tables.
        Normalization
        Data Normalization
         

      3. Define relationships.
        Table Relationships
         

      4. Define primary and foreign keys.
        Primary Key Constraints
        PRIMARY KEY Constraints
        Foreign Key Constraints
        FOREIGN KEY Constraints
         

      5. Define the XML schema.
        Relational Data in XML Schemas [many links]
         

    3. Validate the proposed logical design.

      1. Review the effectiveness of the proposed logical design in meeting business requirements. Business requirements include performance, maintainability, extensibility, scalability, availability, deployability, security, and accessibility.
         

      2. Validate the proposed logical design against usage scenarios.
         

      3. Create a proof of concept for the proposed logical design.
         

  6. Creating the Physical Design
    1. Select the appropriate technologies for the physical design of the solution.
       

    2. Create the physical design for the solution.
      1. Create specifications for auditing and logging.
         

      2. Create specifications for error handling.
        Microsoft Application Blocks for .NET
         

      3. Create specifications for physical integration.
         

      4. Create specifications for security.

        1. Specifications can apply to strategies for physical data privacy, such as encryption, signing, and sealing.
           
      5. Include constraints in the physical design to support business rules.
         
      6. Design the presentation layer, including the UI and online user assistance.
        Windows Forms and Web Forms Recommendations
         

      7. Design services and components.

        1. Design the data flow between services
           
      8. Design state management.
        1. Define the look-up data and the configuration data used by the application.
           
    3. Create the physical design for deployment.
      1. Create deployment specifications, which can include coexistence and distribution.
         

      2. Create licensing specifications.
         

      3. Create data migration specifications.
         

      4. Design the upgrade path.
         

    4. Create the physical design for maintenance.

      1. Design application monitoring.
         

    5. Create the physical design for the data model.
      Web Data Access Strategy Recommendations
       

      1. Create an indexing specification.
        Indexes
        Designing an Index
        Index Tuning Recommendations
        Index Tuning Wizard for Microsoft SQL Server 7.0
         

      2. Partition data.
        Using Partitions in a Microsoft SQL Server 2000 Data Warehouse
        Partitioning Data
         

      3. Denormalize tables.
        Responsible Denormalization
        Data Normalization
         

    6. Validate the physical design.

      1. Review the effectiveness of the proposed physical design in meeting the business requirements. Business requirements include performance, maintainability, extensibility, scalability, availability, deployability, security, and accessibility.
        Best Practices for Performance
        Best Practices for Scalability
        Best Practices for Availability
        Best Practices for Manageability
         

      2. Validate use cases, scenario walk-throughs, and sequence diagrams.
         

      3. Create a proof of concept for the proposed physical design.
         

  7. Creating Standards and Processes
    1. Establish standards. Standards can apply to development documentation, coding, code review, UI, and testing.
      Coding Standards and Code Reviews
      Coding Techniques
      Coding Techniques and Programming Practices
      Usability in the Development Process
      UI Guidelines vs. Usability Testing
       

    2. Establish processes. Processes include reviewing development documentation, reviewing code, creating builds, tracking issues, managing source code, managing change, managing release, and establishing maintenance tasks. Methods include Microsoft Visual Studio .NET Enterprise Templates.
       
    3. Establish quality and performance metrics to evaluate project control, organizational performance, and return on investment.
       


Home    Back to Certification Stuff

about this page

Last Update: October 10, 2004

Hit Counter