Preparation Guide for
Exam 70-100
Analyzing Requirements and Defining Solution Architectures

Exam 70-100 is in development. It is expected to be released in its beta version fourth quarter 1998. When it is in its beta version, this exam is numbered 71-100.

 

Skills measured by exam 70-100

Course
491

Course
493

Course
1298

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 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.
Plan for logging.
Identify physical scope of application.
Identify level of security needed.
Identify level of risk.
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, life cycle of application, 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, including target audience, 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, organization, 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. Scenarios include multi-user with a single data source, and multi-user with multiple data sources.

 

Identify which technologies are appropriate for implementation of a given business solution. Considerations include such technology standards as EDI, Internet, OSI, and POSIX; proprietary technologies; the technology environment of the company, both current and planned; the selection of development tools; and the 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 Dialogue desktop applications; 2-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.

 

 

Define the attributes of a data entity.

 

 

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. Types of input include keyboard, mouse, voice, PIN, bar code, graphics tablets, query-based input, and imported files.

 

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. Types of output include paper-based report, HTML, screen, disk, and export of data to other applications.

 

 

Deriving the Physical Design
Assess the potential impact of the logical 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.