Exam 70-100
Analyzing Requirements and Defining Solution Architectures
This certification exam measures your ability to analyze business requirements
in a given scenario and then define technical solution architectures that will
optimize business results by using Microsoft development tools. Before taking the
exam, you should be proficient in the job skills listed in the matrix below.
Analyzing Business Requirements
- Analyze the scope of a project
- Considerations include existing applications; anticipated changes in environment;
expected lifetime of solution; and time, cost, budget, and benefit trade offs.
- Analyze the extent of a business requirement
- Establish business requirements.
- Establish type of problem, such as messaging problem or communication problem.
- Establish and define customer quality requirements.
- Minimize Total Cost of Ownership (TCO).
- Increase Return on Investment (ROI) of solution.
- Analyze current platform and infrastructure.
- Incorporate planned platform and infrastructure into solution.
- Analyze impact of technology migration.
- Plan physical requirements, such as infrastructure.
- Establish application environment, such as hardware platform, support, and operating system.
- Identify organizational constraints, such as financial situation, company politics, technical acceptance level, and training needs.
- Establish schedule for implementation of solution.
- Identify audience.
- Analyze security requirements
- Identify roles of administrator, groups, guests, and clients.
- Identify impact on existing environment.
- Establish fault tolerance.
- Plan for maintainability.
- Plan distribution of security database.
- Establish security context.
- Plan for auditing.
- Identify level of security needed.
- Analyze existing mechanisms for security policies.
- Analyze performance requirements.
- Considerations include transactions per time slice, bandwidth, capacity, interoperability with existing standards, peak versus average requirements, response-time expectations, existing response-time characteristics, and barriers to performance.
- Analyze maintainability requirements.
- Considerations include breadth of application distribution, method of distribution,
maintenance expectations, location and knowledge level of maintenance staff, and
impact of third-party maintenance agreements.
- Analyze extensibility requirements. Solution must be able to handle the growth of functionality.
- Analyze availability requirements.
- Considerations include hours of operation, level of availability, geographic scope, and
impact of downtime.
- Analyze human factors requirements.
- Considerations include target users, localization, accessibility, roaming users, Help,
training requirements, physical environment constraints, and special needs.
- Analyze the requirements for integrating a solution with existing applications.
- Considerations include legacy applications, format and location of existing data,
connectivity to existing applications, data conversion, and data enhancement requirements.
- Analyze existing methodologies and limitations of a business.
- Considerations include legal issues, current business practices, organization
structure, process engineering, budget, implementation and training methodologies,
quality control requirements, and customer's needs.
- Analyze scalability requirements.
- Considerations include growth of audience, growth of organization, growth of data, and cycle of use.
Defining the Technical Architecture for a Solution
- Given a business scenario, identify which solution type is appropriate.
- Solution types are single-tier, two-tier, and n-tier.
- Identify which technologies are appropriate for implementation of a given business solution.
- Considerations include technology standards such as EDI, Internet, OSI, COMTI and POSIX;
proprietary technologies; technology environment of the company, both current and planned;
selection of development tools; and type of solution, such as enterprise, distributed,
centralized, and collaborative.
- Choose a data storage architecture.
- Considerations include volume, number of transactions per time increment, number of
connections or sessions, scope of business requirements, extensibility requirements,
reporting requirements, number of users, and type of database.
- Test the feasibility of a proposed technical architecture.
- Demonstrate that business requirements are met.
- Demonstrate that use case scenarios are met.
- Demonstrate that existing technology constraints are met.
- Assess impact of shortfalls in meeting requirements.
- Develop appropriate deployment strategy.
Developing the Conceptual and Logical Design for an Application
- Construct a conceptual design that is based on a variety of scenarios and that
includes context, workflow process, task sequence, and physical environment models.
- Types of applications include SDI, MDI, console, and dialog desktop applications;
two-tier, client/server, and Web applications; n-tier applications; and collaborative applications.
- Given a conceptual design, apply the principles of modular design to derive the components and services of the logical design.
- Incorporate business rules into object design.
- Assess the potential impact of the logical design on performance, maintainability, extensibility, scalability, availability, and security.
Developing Data Models
- Group data into entities by applying normalization rules.
- Specify the relationships between entities.
- Choose the foreign key that will enforce a relationship between entities and will
ensure referential integrity.
- Identify the business rules that relate to data integrity.
- Incorporate business rules and constraints into the data model.
- Identify appropriate level of denormalization.
- Develop a database that uses general database development standards and guidelines.
Designing a User Interface and User Services
- Given a solution, identify the navigation for the user interface.
- Identify input validation procedures that should be integrated into the user interface.
- Evaluate methods of providing online user assistance, such as status bars, ToolTips, and Help files.
- Construct a prototype user interface that is based on business requirements,
user interface guidelines, and the organization's standards.
- Establish appropriate and consistent use of menu-based controls.
- Establish appropriate shortcut keys (accelerated keys).
- Establish appropriate type of output.
Deriving the Physical Design
- Assess the potential impact of the physical design on performance, maintainability, extensibility, scalability, availability, and security.
- Evaluate whether access to a database should be encapsulated in an object.
- Design the properties, methods, and events of components.
February 4th 2000, Hannes Reisinger