an examination of their strengths and weaknesses Practical advice given by some
of the worlds leading forecasting experts Case studies and illustrations of
actual verification and its interpretation Comprehensive glossary and consistent
statistical and mathematical definition of commonly used terms.
Microsoft Corporation, "Analyzing Requirements and Defining Solutions
Architecture: MCSD Training Kit (exam 70-100)"
Microsoft Press | ISBN 0735608547 | 1999 Year | CHM | 5,42 Mb | 700 Pages
This Microsoft(r) Official Curriculum training kit delivers comprehensive
preparation for MCP Exam 70-100-a core exam on the Microsoft Certified Solution
Developer (MCSD) track and the only exam every MCSD candidate must pass, no
matter which track (Visual Basic(r) or Visual C++(r)) they choose. Through a
self-paced system of scenario-based lessons and hands-on labs, students learn
how to analyze business requirements for a software development project and
select the appropriate development tools and platforms. Featuring authoritative
coverage of the Microsoft Solutions Foundation strategy, this course helps build
competency in six critical skill areas defined by the MCSD program analyzing
requirements for performance, security, maintainability, and extensibility;
defining technical architecture; developing the conceptual and logical design;
creating data models; designing a user interface and user services; and deriving
the physical design.
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:
Chapter 1, "Enterprise Architecture" This chapter examines the need for
application and infrastructure guidance at an enterprise level. It begins by
suggesting that systems be implemented with an architecture-first process. Next,
the chapter introduces the Microsoft Solutions Framework (MSF). Chapter 1 also
examines the MSF Enterprise Architecture Model and its Business, Application,
Information, and Technology Perspectives. This chapter additionally points out
that the four primary goals of an enterprise architecture are that it be
integrated, iterative, actionable, and prioritized. Finally, this chapter
discusses how to begin the enterprise architecture process and continue to
deliver systems and applications while the architecture process is underway.
Chapter 2, "Enterprise Applications" This chapter examines the features of
modern enterprise applications, and issues that should be considered. It
discusses designing large-scale, distributed, enterprise applications and the
need to reduce their complexity. It also recommends managing this enterprise
application complexity through abstraction, which involves grouping similar
requirements together into a small number of abstract categories. Various
architecture descriptions are discussed, such as the Unified Modeling Language
(UML), Design Patterns, and AntiPatterns. Additionally, this chapter out-lines
ten principles for delivering successful applications. Chapter 2 finally
suggests that organizations use the several perspectives represented by
Microsoft's Enterprise Application Model and discusses the application
architecture framework provided by the separate MSF Application Model for
Development.
Chapter 3, "Project Teams" This chapter discusses who is responsible for doing
what so that all the different parts of an application project are managed
properly. The chapter also discusses building a project team within the context
of the MSF Team Model for Application Development (MSF Development Team Model).
The discussion progresses from understanding the six equally vital team roles to
finding and enlisting leaders from different parts of the organization. Chapter
3 also pinpoints specific responsibilities that must be fulfilled for a project
to be successful, and assigns these responsibilities to specific team members.
It looks at ways to analyze project requirements from the perspectives of
different team members and also explores ways to scale the project team to fit
the needs and size of the project. Finally, this chapter examines team and
leadership characteristics that will help make an organization's use of its
project resources more effective.
Chapter 4, "Development Process" This chapter is primarily devoted to the MSF
Process Model for Application Development, otherwise known as the MSF
Development Process Model. Rather than a step-by-step methodology, MSF is a
structural framework that an organization can adapt to suit its particular
needs. The MSF Development Process Model is the part of this framework that
describes the life cycle of a successful software development project. Using a
development framework has been successfully proven in the software industry to
improve project control, minimize risk, improve product quality, and increase
development speed. Also in this chapter, we discuss the Unified Process
development framework along with its workflows, stages, and milestones.
Chapter 5, "Project Vision" This chapter describes the dynamics of the MSF
Development Process Model's Envisioning Phase. This chapter also discusses what
information to gather from the project stakeholders, how to create a product
vision, how the MSF Development Team Model's various roles participate in the
envisioning process, and what their responsibilities are. In addition, Chapter 5
examines how the envisioning process develops over a period of time. Finally,
this chapter presents a detailed discussion of risk management, based on the MSF
Risk Management Model.
Chapter 6, "Project Plan" This chapter outlines the process of mapping concepts
to actions and explains team roles in the Planning Phase of the MSF Development
Process Model. It takes an in-depth look at the MSF Design Process Model and the
conceptual, logical, and physical architectures of an application. This chapter
also discusses how the MSF Application Model's user, business, and data service
layers can be incorporated into the application's physical architecture. The MSF
Development Process Model's Functional Specification, Master Project Plan, and
Master Project Schedule are all emphasized as key deliverables of the Planning
Phase. Finally, Chapter 6 discusses principles of scheduling, as well as the
ongoing task of risk management.
Chapter 7, "User Service Layer Technologies" This chapter examines how to create
effective and efficient user interface (UI) designs. It also explores legacy,
current, and future technologies that affect the user service layer design of
the MSF Application Model. Additionally, this chapter discusses the impact of
Web technologies on current application design techniques. We complete Chapter 7
with an in-depth look at implementing a Web-based application.
Chapter 8, "Business Service Layer Technologies" This chapter focuses on such
issues as using an object context to manage state, using explicitly defined
interfaces when possible, composing functionality, maintaining state across
transaction boundaries, propagating errors, and programmatically controlling
security. In addition, this chapter takes a detailed examination using COM and
COM+ within the business service of an application's physical design. This
chapter concludes with a detailed look at using COM components with Microsoft
Transaction Server.
Chapter 9, "Data Service Layer Technologies" This chapter examines design issues
related to data requirements and explores characteristics of different data
access technologies. This chapter also discusses best uses for each access
technology, and normalization of data and data integrity. In addition, this
chapter identifies how business rules can affect application data and where
these rules are implemented. Furthermore, Chapter 9 examines technologies that
provide data access to legacy data system stores and Enterprise Resource
Planning (ERP) applications. Finally, this chapter reviews COM+ In-Memory
Database (IMDB) features that can improve data access performance.
Chapter 10, "Testing and the Production Channel" This chapter explains how to
build a working environment that supports development, testing, certification,
and production. Using real-life examples, this chapter describes the production
channel and its goals. Chapter 10 thoroughly examines testing, and recommends
several ways to execute and monitor tests. It also discusses ways to scale out
an application's production environment by adding servers to the physical
implementation. Finally, this chapter examines ways to classify program faults
and failures, discuss the larger issue of product bugs, and describe methods of
tracking, classifying, and resolving known bug problems.
Chapter 11, "Application Security" This chapter looks at different security-
related protocols and the basic security concepts of authentication. It also
examines encryption, which stores and passes information from one place to
another so that it can't be read by anyone who intercepts it. Additionally, this
chapter discusses access control, which determines what users are allowed to
accomplish, and auditing, which records what goes on inside the operating system
as users request and work with the resources the system makes available to them.
Chapter 12, "Development Deliverables" This chapter examines the creation
process, including how the various team roles function during development. This
chapter further explores testing, bug tracking, and the "zero-defect mindset,"
and also shows how the project management team makes effective trade-offs. In
addition, this chapter discusses how multi-layer applications are implemented as
monolithic or client/server, or distributed in physical form. Finally, Chapter
12 explores the end of the MSF Development Process Model's Developing Phase,
when code-complete is reached, and all product features and original code are
incorporated into the application.
Chapter 13, "Product Stabilization" This chapter emphasizes the evolutionary
cycle the team will progress through to move from the Developing Phase's Scope
Complete Milestone to the Stabilizing Phase's Release Milestone. We summarize
this phase's effort as four primary steps: Fix the bugs, synchronize all product
deliverables, ship the release, and extensively test the release. Leading up to
the Release Milestone, the chapter identifies several key interim milestones
that are reached by the continual iteration of the phase's steps. This chapter