Welcome to Analyzing Requirements and Defining Solution Architectures: MCSD Training Kit for Exam 70-100. By completing the chapters and associated case studies in this course, you will acquire the knowledge and skills necessary to prepare for the Microsoft Certified Solution Developer Exam 70-100. This self-paced course provides content that supports the skills measured by this exam. Review questions at the end of each chapter recap what you have learned and help you prepare more thoroughly.
NOTE
For more information on becoming a Microsoft Certified Solution Developer, see "The Microsoft Certified Professional Program" later in this section.
This course is designed for students interested in developing their skills in analyzing requirements and defining solution architectures while developing applications. These skills include developing distributed applications using the the Microsoft Solutions Framework (MSF), building multi-layer and client/server solutions, and creating Microsoft Transaction Server (MTS) components and custom Component Object Model (COM) interfaces.
Before beginning this self-paced course, you should be able to:
This self-paced training course is intended to help you prepare for the Analyzing Requirements and Defining Solution Architectures (70100) exam. You will not need a computer or any hardware or software to complete this course. However, to use and examine the Resource Management System (RMS) Sample Application discussed in the "Case Studies" section, your computer must meet the following hardware and software requirements.
Although the specific system documentation should be consulted for the minimum requirements to run Microsoft Windows NT Server, Microsoft Internet Information Server, Microsoft Transaction Server, and Microsoft SQL Server, the following server and client minimum configurations are recommended.
The minimum recommendations to run the client and server portions of the RMS Sample Application are:
The RMS Sample Application on the supplemental CD-ROM requires the following server and client software.
Server Software
Client Software
This self-paced course combines text, graphics, and review questions to teach you about analyzing requirements and defining solutions architecture. The course assumes that you will work through the book from beginning to end, but you can choose a customized track and complete only the sections that interest you.
The book is divided into the following chapters:
The following features are designed to enhance the usefulness of this course:
Before you start reading any of the chapters, it is important that you understand the following notational conventions used in this book:
The supplemental CD-ROM contains an electronic version of the entire text of this book, as well as the Analyzing Requirements and Defining Solution Architectures 70-100 Sample Exam. You can install this sample exam from Self-Test Software (STS) to practice taking a sample certification exam. Designed to reflect the kinds of skills tested by the actual Microsoft certification exam, this sample exam includes questions to help you assess your understanding of the materials presented in this book. Each question includes feedback and an associated course reference so that you can review the material presented. You can visit the STS Web site at www.selftestsoftware.com for a complete list of available practice exams.
Also included on the supplemental CD-ROM is the RMS Sample Application and its documentation (see the next section).
The concepts taught in each chapter of this book are demonstrated in a series of case studies. These case studies present fictitious scenarios of a company that is using the development process, concepts, and application design strategies outlined in the book to analyze application requirements, define a solution architecture, and create a product. These case studies are designed to help you understand the concepts and goals presented in the chapters, and to offer a clear picture of how this book's development methodology could work in real life for your own company's projects. The "Case Study Background" section below provides the information necessary to understand the structure and context of the case study's fictional organization. Read through this section thoroughly before you begin this book.
The Resource Management System (RMS) Sample Application, which is referred to in the case studies and included on the supplemental CD-ROM, is a complete multi-layer application that uses key Microsoft technologies, such as Microsoft Visual Basic 6.0, Active Server Pages, Dynamic HTML, Microsoft Outlook 98, Microsoft Transaction Server 2.0, Microsoft Exchange Server 5.5, and Microsoft SQL Server 7.0 to manage company resources. The application presents a real-world example of a multi-client, distributed application that accesses two different data stores. Along with the compiled executables and full source code, sample documentation is provided as a simple example of the documentation created by the project team throughout the case studies. The RMS Sample Application provides a basic resource management system for scheduling and tracking individuals and their proficiencies. In reality, two developers coded this application over a two-month period, which speaks to their skill levels and the benefits of the development tools, technologies, and platforms chosen for the application.
The "Getting Started" section earlier in this introduction provides important setup instructions that describe the hardware and software requirements necessary to run the RMS Sample Application.
To make the case studies both more interesting and more useful, we decided to present them as a story—imaginary, but nonetheless true to life and based on the real experiences of the authors. Our goal is that as you read this story, you will get a clear picture of how the development methodology could work for your own organization and your own projects.
To better understand the issues presented in the case studies, here is some background information about the fictitious company.
The Company
Ferguson and Bardell Incorporated is a Chicago-based engineering, architecture, and project management firm. Founded in 1948 by two WWII veterans, it has grown to over 800 employees with revenues in 1998 approaching $230 million. Corporate headquarters occupy seven floors of a prominent office high-rise in downtown Chicago, with satellite offices in Detroit, Milwaukee, Cincinnati, Indianapolis, and Louisville.
Ferguson and Bardell embraced technology early and often. Unfortunately, consistency and coherence did not always accompany that early adoption. For example, the company stored project data in proprietary formats in a multitude of locations that were connected either by modems or by overnight messenger services. Additionally, until recently the company used three different word processors, including a terminal-based one.
In 1998, the board of directors and senior management came to the conclusion that the firm's IT efforts were inadequate. One board member, who was familiar with studies of effective business uses of technology, contacted the consulting firm responsible for the studies. After examining Ferguson and Bardell's IT practices and accomplishments for two months, the consultants brought a set of recommendations to the board.
The most controversial recommendation was to remove the position of IT Director, which at that time reported directly to the CFO, and to create instead a CIO position within senior management. Several board members, as well as the CFO, wanted to keep the org chart as it was, but the consultants were insistent. "As long as IT is seen only as a cost center," they argued, "you will never get the business value out of technology that you should expect. And, if you keep IT out of the boardroom, you can't possibly learn enough about technology to make informed business decisions about it. You have to include the IT function in your management team and in your management decision-making if you want to see Ferguson and Bardell crawl out of the technology abyss it's in."
The new CIO came aboard in October, highly recommended by his former employer, a regional law firm where he had risen in five years from Network Manager to CIO. The former IT Director, who had decided to leave rather than take on the redesigned position, had spent the previous year putting a new network infrastructure in place and enabling Internet connectivity across the enterprise. As a result, the new CIO had some time to get oriented before starting a major project. He spent the first three months getting to know his staff, learning the ropes of the business, and putting certain processes and procedures in place.
In January, he brought in a Microsoft trainer to introduce Microsoft Solutions Framework (MSF) to his leadership staff, whose response was mixed. Some were enthusiastic, some were skeptical, and a few hinted that they figured this was another management fad that would soon pass. Nevertheless, he pushed ahead, confident in his belief that only a consistent project framework, informed and driven by business-IT interaction, would accomplish what Ferguson and Bardell needed to accomplish.
The Teams
Ferguson and Bardell's new CIO understood that to build an enterprise architecture, he would have to bring together a team that represented several of Ferguson and Bardell's departments. To develop applications within the context of the company's enterprise architecture, he would have to create project teams. He needed people who would take initiative, who were accomplished in their respective fields, and whom he could count on to see a task through to completion. He knew that building any team could be a challenge, as each person would bring his or her own perspective, approach, and personality to the team.
To develop the company's enterprise architecture, the CIO assembled the following team:
Even before the company's enterprise architecture was in place, Dan had decided to use the RMS project to test the new development framework. To see this project through, the following team members would need to learn how to work together:
The following tables provide a list of skills measured on the Analyzing Requirements and Defining Solution Architectures 70-100 certification exam. These tables list each skill with this book's location in which you will find material relating to that skill.
Analyzing Business Requirements
Skill being measured | Chapter | Section |
---|---|---|
Analyze the scope of a project. Considerations include: existing applications; anticipated changes in environment; expected lifetime of solution; and time, cost, budget, and benefits tradeoffs. | 1 | What is Architecture? |
2 | Enterprise Application Architecture; Guiding Software Principles | |
4 | MSF Development Process Model Principles | |
5 | Overview of Project Envisioning; Envisioning Process | |
Analyze the extent of a business requirement. | ||
Establish business requirements | 5 | Envisioning Process |
Establish type of problem, such as messaging problem or communication problem. | 5 | Envisioning Process |
Establish and define customer quality requirements | 5 | Envisioning Process |
Minimize Total Cost of Ownership (TCO). | 3 | The MSF Development Team Model |
5 | Vision Approved Milestone and Its Deliverables | |
6 | MSF Design Process | |
13 | Deployment Methods | |
Increase Return on Investment (RDI) of solution. | 3 | The MSF Development Team Model |
5 | Vision Approved Milestone and Its Deliverables | |
6 | MSF Design Process | |
13 | Deployment Methods | |
Analyze current platform and infrastructure. | 1 | MSF Enterprise Architecture Model; Creating an Enterprise Architecture |
Incorporate planned platform and infrastructure into solution. | 6 | MSF Design Process |
Analyze impact of technology migration. | 1 | MSF Enterprise Architecture Model; Creating an Enterprise Architecture |
Plan physical requirements, such as infrastructure. | 6 | MSF Design Process |
7 | Entire chapter | |
8 | Entire chapter | |
9 | Entire chapter | |
11 | Entire chapter | |
Establish application environment, such as hardware platform, support, and operating system. | 6 | MSF Design Process |
7 | Entire chapter | |
8 | Entire chapter | |
9 | Entire chapter | |
11 | Entire chapter | |
Identify organizational constraints, such as financial situation, company politics, technical acceptance level, and training needs. | 1 | What is Architecture?; MSF Enterprise Architecture Model |
3 | The MSF Development Team Model | |
5 | Envisioning Process | |
Establish schedule for implementation of solution | 6 | MSF Design Process; Project Plan Approved Milestone and Its Deliverables |
Identify audience | 5 | Envisioning Process |
Analyze security requirements. | ||
Identify roles of administrator, groups, guests, and clients. | 11 | Access Security |
Identify impact on existing environment. | 11 | Entire chapter |
Establish fault tolerance | 10 | Scaling the Production Environment |
Plan for maintainability. | 11 | Authentication Security |
Plan distribution of security database. | 11 | Authentication Security |
Establish security context. | 11 | Authentication Security |
Plan for auditing. | 11 | Auditing |
Identify level of security needed. | 5 | Envisioning Process |
11 | Entire chapter | |
Analyze existing mechanisms for security polices | 11 | Entire chapter |
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. | 2 | Enterprise Application Architecture |
10 | Performance Validation; Scaling the Production Environment | |
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. | 3 | The MSF Development Team Model |
10 | Managing the Development Environment | |
13 | Product Deployment | |
Analyze extensibility requirements. Solution must be able to handle the growth of functionality. | 10 | Performance Validation; Scaling the Production Environment |
Analyze availability requirements. Considerations include: hours of operation; level of availability; geographic scope; and impact of downtime. | 10 | Performance Validation; Scaling the Production Environment |
Analyze human factors requirements. Considerations include: target users; localization; accessibility; roaming users; Help; training requirements; physical environment constraints; and special needs. | 3 | The MSF Development Team Model |
7 | Determining the User Interface; Basics of Interface Design; Creating the UI | |
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. | 9 | What is the Data Service Layer?; Microsoft Data Access Components (MDAC); Choosing the Right Data Access Technology; Accessing Host-Based Data; DCOM Connector for SAP |
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. | 1 | MSF Enterprise Architecture Model; Creating an Enterprise Architecture |
3 | The MSF Development Team Model | |
4 | Models for Application Development; Unified Process; MSF Development Process Model | |
Analyze scalability requirements. Considerations include: growth of audience; growth of organization; growth of data; and cycle of use. | 1 | MSF Enterprise Architecture Model; Creating an Enterprise Architecture |
3 | The MSF Development Team Model | |
4 | Models for Application Development; Unified Process; MSF Development Process Model | |
5 | Envisioning Process; Risk Management Process |
Skill being measured | Chapter | Section |
---|---|---|
Given a business scenario, identify which solution type is appropriate. Solution types are single-tier, two-tier, and N-tier. | 1 | What is Architecture?; MSF Enterprise Architecture Model |
2 | Enterprise Application Model | |
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. | 1 | What is Architecture?; MSF Enterprise Architecture Model |
2 | Enterprise Application Model | |
7 | Entire chapter | |
8 | Entire chapter | |
9 | Entire chapter | |
11 | Entire chapter | |
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. | 1 | What is Architecture?; MSF Enterprise Architecture Model |
2 | Enterprise Application Model | |
5 | Envisioning Process | |
6 | MSF Design Process | |
9 | What is the Data Service Layer? | |
Test the feasibility of a proposed technical architecture. | 5 | Vision Approved Milestone and Its Deliverables |
Demonstrate that business requirements are met. | 6 | MSF Design Process; Project Plan Approved Milestone and Its Deliverables |
Demonstrate that use case scenarios are met. | ||
Demonstrate that existing technology constraints are met. | 10 | Managing the Development Environment; Testing Enterprise Applications; Performance Validation; Scaling the Production Environment |
Assess impact of shortfalls in meeting requirements. | ||
Develop appropriate deployment strategy. | 3 | The MSF Development Team Model |
6 | MSF Design Process | |
13 | Product Deployment |
Developing the Conceptual and Logical Design for an Application
Skill being measured | Chapter | Section |
---|---|---|
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. | 5 | Vision Approved Milestone and Its Deliverables |
6 | MSF Design Process | |
Given a conceptual design, apply the principles of modular design to derive the components and services of the logical design. | 5 | Vision Approved Milestone and Its Deliverables |
6 | MSF Design Process | |
Incorporate business rules into object design. | 5 | Vision Approved Milestone and Its Deliverables |
6 | MSF Design Process | |
Assess the potential impact of the logical design on performance, maintainability, extensibility, scalability, availability, and security. | 10 | Entire chapter |
11 | Entire chapter |
Skill being measured | Chapter | Section |
---|---|---|
Group data into entities by applying normalization rules. | 9 | Data Modeling |
Specify the relationships between entities. | 9 | Data Modeling |
Choose the foreign key that will enforce a relationship between entities and will ensure referential integrity. | 9 | Data Modeling |
Identify the business rules that relate to data integrity. | 8 | Designing MTS Packages |
Incorporate business rules and constraints into the data model. | 9 | Data Modeling |
Identify appropriate level of denormalization. | 9 | Data Modeling |
Develop a database that uses general database development standards and guidelines. | 9 | Data Modeling |
Skill being measured | Chapter | Section |
---|---|---|
Given a solution, identify the navigation for the user interface. | 6 | MSF Design Process |
7 | Determining the User Interface; Basics of Interface Design; Creating the UI | |
Identify input validation procedures that should be integrated into the user interface. | 9 | Data Modeling |
Evaluate methods of providing online user assistance, such as status bars, ToolTips, and Help files. | 7 | Determining the User Interface; Basics of Interface Design; Creating the UI |
Construct a prototype user interface that is based on business requirements, user interface guidelines, and the organization s standards. | 4 | The Four MSF Phases and their Major Milestones |
5 | Vision Approved Milestone and Its Deliverables | |
Establish appropriate and consistent use of menu-based controls. Establish appropriate shortcut keys (accelerated keys). | 7 | Determining the User Interface; Basics of Interface Design; Creating the UI |
Establish appropriate type of output. | 7 | Determining the User Interface; Basics of Interface Design; Creating the UI |
Skill being measured | Chapter | Section |
---|---|---|
Assess the potential impact of the physical design on performance, maintainability, extensibility, scalability, availability, and security. | 6 | MSF Design Process |
9 | Microsoft Data Access Components (MDAC) | |
10 | Entire chapter | |
11 | Entire chapter | |
12 | Development Process | |
Evaluate whether access to a database should be encapsulated in an object. | 8 | Designing MTS Packages |
9 | What is the Data Service Layer; Microsoft Data Access Components (MDAC); Choosing the Right Data Access Technology | |
Design the properties, methods, and events of components. | 6 | MSF Design Process |
8 | Designing MTS Packages |
The Microsoft Certified Professional (MCP) program provides the best method to prove your command of current Microsoft products and technologies. Microsoft, an industry leader in certification, is on the forefront of testing methodology. Its exams and corresponding certifications are developed to validate your mastery of critical competencies as you design and develop, or implement and support, solutions with Microsoft products and technologies. Computer professionals who become Microsoft certified are recognized as experts and are sought after industry-wide.
The MCP program offers five certifications, based on specific areas of technical expertise:
Microsoft certification, one of the most comprehensive certification programs available for assessing and maintaining software-related skills, is a valuable measure of an individual's knowledge and expertise. Microsoft certification is awarded to individuals who have successfully demonstrated their ability to perform specific tasks and implement solutions with Microsoft products. Not only does certification provide an objective measure for employers to consider, but it also provides guidance for what an individual should know to be proficient. And as with any skills assessment and benchmarking measure, certification brings a variety of benefits: to the individual, and to employers and organizations.
Every effort has been made to ensure the accuracy of this book and the con- tents of the supplemental CD-ROM. If you have comments, questions, or ideas regarding this book or the supplemental CD-ROM, please send them to Microsoft Press using either of the following methods:
E-mail:
tkinput@microsoft.com
Postal Mail:
Microsoft Press
Attn: Analyzing Requirements and Defining Solution
Architectures Editor
One Microsoft Way
Redmond, WA 98052-6399
Microsoft Press provides corrections for books through the World Wide Web at the following address:
http://mspress.microsoft.com/support/
Please note that product support is not offered through these mail addresses. For further information regarding Microsoft software support options, please connect to www.microsoft.com/support/ or call Microsoft Support Network Sales at (800) 936-3500.
Tim Landgrave
Tim Landgrave founded KiZAN Corporation in 1991 as a software development company specializing in client/server development using Microsoft technology. Since then Tim has architected, developed, and deployed systems using key Microsoft technologies. In addition to his role as CEO of KiZAN, Tim has also been active as a Microsoft Regional Director, hosting events such as Developer Days and evangelizing the Microsoft development platform message to companies looking to build robust, multi-layer applications on Microsoft platforms. Before starting KiZAN, Tim was Director of Technology for The Cobb Group, where he started their developer journal group, and served as editor-in-chief of major technical newsletters, including Inside Visual Basic, Inside Visual C++, and the Microsoft Networking Journal.
Bruce Maples
Bruce Maples' involvement with computers began in 1984 when he got his first Apple II, on which he quickly learned how to write code and hack the operating system. Since that time, he has written applications in languages from dBase to Visual Basic, has taught a wide range of computer classes, and has been active as a consultant and writer. He currently writes for a number of publications and conducts training across the country. He lives in Louisville, Kentucky with his wife, Nina, and his sons, Griffin and Benjamin, where, in addition to his computer work, he is active in church life and community affairs.
Scott F. Wilson
Scott Wilson helped build KiZAN Corporation into a successful systems architecture company specializing in multi-layer development and network services using Microsoft technology. Since then, Scott has designed enterprise architectures, network systems infrastructures, and enterprise applications for KiZAN's clients. For the last three years, he has helped large organizations architect and deploy Web-based applications using Microsoft's MCIS and Site Server Commerce products. In addition to his role as CTO of KiZAN, Scott has been active as a Microsoft Certified Trainer and Microsoft Certified Systems Engineer since 1995. He can be reached at scottw@kizan.com.
KiZAN Corporation
This course was developed for Microsoft Press by KiZAN Corporation. KiZAN was the first Microsoft Solution Provider Partner of the Year in 1995. As a Microsoft Solution Provider Partner and Microsoft Certified Technical Education Center (CTEC), KiZAN works closely with customers to provide the most comprehensive solutions on the market today. KiZAN offers all the Microsoft products and services from desktop applications and packaged applications to advanced enterprise solutions using Microsoft's BackOffice products. These products and solutions are complemented by a full array of services, including system engineering consulting, multi-layer and client/server architectural design, multi-layer application development, project planning, implementation services, and technical and desktop training in public or private classes.
KiZAN has created a number of developer training courses for Microsoft. These include traditional instructor-led courses, self-paced kits, and computer-based (CDROM) multimedia titles. In association with their partner company, CustomCourseware.com, KiZAN offers complete conversion and customization services for existing courseware for use in an online or instructor-led training environment.
Contact KiZAN Corporation at:
KiZAN staff members who developed this course include:
Project Editor: | Scott F. Wilson |
Authors: | Tim Landgrave Bruce Maples Scott F. Wilson |
Application Development: | Kevin Benton Chris Marrow |
Technical Contributions: | Damien Kalvar Whitney Roberts John Ross Mark Solomon Steve Staten Craig Stein |
Editing Contributions: | Allan McGuffey |
Editing, production, and graphic support services were provided by Online Training Solutions, Inc. (OTSI).