Tải bản đầy đủ (.pdf) (22 trang)

Tài liệu Module 2: Solution Design Processes ppt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (413.09 KB, 22 trang )


Module 2: Solution Design Processes





Module 1: Course
Overview
Module 4: Deriving a
Logical Data Design
Module 5: Normalizing the
Logical Data Design
Module 6: Deriving a
Physical Data Design
Module 7:
Implementing Data
Integrity
Module 2: Solution
Design Processes
Module 3: Using a
Conceptual Design for Data
Requirements
Module 8: Designing
Data Services
Module 9: Data Storage
Considerations
Designing Data
Services and
Data Models
Design


Processes
Services-Based
Design
Activity 2.1: Identifying
Services
Module 2: Solution Design
Processes



Module 2: Solution Design Processes 25





!
!!
! Overview
"
Design Processes
"
Services-Based Design
"
Review
In this module
In this module


At the end of this module, you will be able to:

"
Explain design processes as they pertain to business solutions and data-
centric solutions.
"
Explain the concepts and benefits of services-based design.
"
Identify phases in the project life cycle.


This module provides a high-level overview of the MSF Process Model,
the MSF Design Process Model, and the MSF Application Model. The courses
in the MSF curriculum cover these topics in greater detail. For more
information about the MSF curriculum, see

Slide Objective
To provide an overview of
the module topics and
objectives.
Lead-in
In this module, you will learn
about the MSF Process
Model, the MSF Design
Process Model, and the
MSF Application Model, as
well as Windows DNA.
Note
26 Module 2: Solution Design Processes





!
!!
! Design Processes
"
The MSF Process Model
"
Requirements Gathering
"
The MSF Design Process Model
"
Data and the MSF Design Process Model
"
Benefits of the Design Process
In this section
In this section


In this section, you will learn about design processes and the MSF Process
Model. You will see how these processes form an application model for
solution design and how the design processes interact with each other.
Slide Objective
To explain the purpose of
this section and what
students will learn in this
section.
Lead-in
In this section, you will learn
about design processes for
business and data-centric

solutions.
Module 2: Solution Design Processes 27





The MSF Process Model
"
Course 1608 also covers the Planning Phase, but it
focuses on application design
Release
Release
Course 1609
Scope
Complete
Scope
Complete
Vision
Approved
Vision
Approved
Project Plan
Approved
Project Plan
Approved


Microsoft
®

advocates the MSF Process Model for Application Development as
the recommended project life cycle model for business-solution software
development projects.
The MSF Process Model is phase-based, meaning that each project is broken
into distinct phases so that the team and key stakeholders understand where the
project is in the life cycle and what key tasks are being accomplished.
The MSF Process Model is milestone driven, meaning that each phase
culminates with a deliverable-based milestone that marks the team’s progress.
This milestone creates a point of transition, synchronizes the project team and
customer, and allows for review and possible corrective action.
The phases of the MSF Process Model are as follows:
"
The Envisioning Phase is the period during which the team and customer
define the business requirements and overall goals of the project. The
Envisioning Phase culminates in the Vision Approved Milestone, indicating
that the team and customer agree on project direction.
"
The Planning Phase is the period during which the team and customer
define what will be built, as well as how and when it will be built. The
Planning Phase culminates in the Project Plan Approved Milestone,
indicating that the team, customer, and key stakeholders agree on what will
be delivered and when.
"
The Developing Phase is the period during which the team implements the
design and builds the application. The Developing Phase culminates in the
Scope Complete Milestone, indicating that code for all features is complete
and that the product is ready for external testing and stabilization.
Slide Objective
To describe the four phases
and the four major

milestones of the MSF
Process Model and to
explain which phase of the
MSF Process Model will be
covered in this course.
Lead-in
This course focuses on the
beginning stages of the
Envisioning Phase of the
MSF Process Model.
Delivery Tip
Point out that these are
standard, major milestones,
but that each project will
also have its own unique
interim milestones.
The model is conceptual, so
it does not represent ratios
of duration.
Each phase and major
milestone will be examined
in more detail in later
modules.
28 Module 2: Solution Design Processes




"
The Stabilizing Phase is the period during which team efforts are directed at

addressing all known issues (from code defects to mismanaged
expectations). No new development occurs during this phase; rather, the
application code is stabilized and optimized. The Stabilizing Phase
culminates in the Release Milestone, at which point responsibility for the
product shifts to the operations team.

This course focuses on the Planning Phase of the MSF Process Model. You will
learn how to take the requirements gathered in the Envisioning Phase and turn
them into a data design and data services.
This course leads into the Project Plan Approved Milestone, which signals that
the functional specification of the application is complete to a point that it can
begin to be implemented.
Module 2: Solution Design Processes 29





Requirements Gathering
"
When you gather information, you identify:
$
Business needs
$
Business processes
$
Existing systems
$
System actors
"

This process results in:
$
Business justification for the project
$
Description of the current system
$
Description of the application needed


Before any business and data solution can be built, both the problem and the
desired solution must be understood. This understanding is not always easy to
achieve, and complete, reliable information is critical for good decision-
making. When gathering information, you need to consider business needs,
business processes, existing systems, and the people involved.
The process of gathering information and requirements leads to a business
justification for the project. It also generates descriptions of what actions and
processes (if any) the current system performs and what the future application
needs to do to satisfy the requirements.
Slide Objective
To introduce topics related
to the gathering of data.
Lead-in
Data gathering forms the
basis for all future design
processes.
30 Module 2: Solution Design Processes





The MSF Design Process Model
Conceptual Design
Scenarios
Services and Objects,
User Interface, and
Logical Database
Logical Design
Components,
User Interface, and
Physical Database
Physical Design


The MSF Design Process Model consists of three design phases—conceptual,
logical, and physical—which are described as follows:
"
Conceptual design
The goal in conceptual design is to identify business needs and to
understand what users do and what they require. The design team views the
problem from the perspectives of the user and the business and defines the
problem and solution in terms of scenarios that reflect complete and
accurate requirements.
Conceptual design does not take into account the approach or the
technologies needed to build the solution. Rather, conceptual design is
equivalent to rough sketches for building a house. These are easily
understood models jointly created by the customer and the architect.
"
Logical design
The goal in logical design is to define the solution’s organization and
communication among its different parts. The design team views the

solution from the perspective of the project team and defines it as a set of
cooperating services. The design team does not, however, define these
services in terms of a specific technology.
Logical design takes the business problem identified in the scenarios of
conceptual design and formulates an abstract model of the solution that
includes objects and services, user interface prototypes, and a logical
database design. The logical design details a plan and set of specifications
for building a solution, much like a detailed blueprint for building a house.
"
Physical design
The goal in physical design is to apply real-world technology constraints,
including implementation and performance considerations, to the logical
design. The design team views the solution from the perspective of the
developers and defines the solution’s services and technologies. At this
point, the project team can begin to consider the best way to implement the
solution and the appropriate tools to use.
Slide Objective
To briefly describe the
conceptual, logical, and
physical design phases of
the MSF Design Process
Model.
Lead-in
You need to understand the
three distinct stages of
design.
Delivery Tip
Make sure you stress the
importance of conceptual
design. Also emphasize that

conceptual design for data-
centric solutions will have to
consider data requirements
as they relate to the rest of
the design.
Delivery Tip
The boundary between
conceptual and logical
design can sometimes be
vague. Try to help students
understand that these two
design processes are
distinct, and that logical
design begins after the
conceptual idea is in place.
Module 2: Solution Design Processes 31





In physical design, the outputs of logical design are used to produce
components, user interface specifications, and physical database design. To
use the house metaphor once more, physical design is where the plans of
various contractors for the physical elements of the structure—such as
wiring, plumbing, heating, and ventilation—are reviewed and selected. The
contractors’ plans add detail to the architects’ plans and reflect real-world
construction constraints.

32 Module 2: Solution Design Processes





Data and the MSF Design Process Model
"
Conceptual data model
$
Data requirements
"
Logical data model
$
Broad data entities
$
Relationships
"
Physical data model
$
Map to tables, records, fields


The MSF Design Process Model represents the design of a solution as a flow
from conceptual design to logical design to physical design. Determining when
one design stage ends and the next one begins is sometimes difficult. Part of the
challenge in understanding and producing conceptual, logical, and physical
designs is knowing what real-world outputs should be produced by each design
stage.
In conceptual design, the data requirements for a solution are researched,
documented, and analyzed. These requirements help determine what actually
needs to be stored and processed by the business solution.

In logical design, a preliminary set of data entities derived from the data
requirements are produced. These entities are documented and mapped out, and
the relationships between entities are identified. The logical design helps ensure
that the data design for the solution will represent and map to the conceptual
requirements.
In physical design, the entity models produced in logical design are mapped to
tables, fields, and relationships in a database. This database physically
represents the logical model.
Slide Objective
To introduce how the stages
of the MSF Design Process
Model relate to data-centric
solutions.
Lead-in
The conceptual, logical, and
physical design stages of
the MSF Design Process
Model can be used to
design a data-centric
solution.
Delivery Tip
Help students understand
that MSF is a framework
that encompasses much
more than the models briefly
discussed in this course.
Although this course cannot
delve into the details,
encourage students to
research on their own, or

discuss MSF after class.
Module 2: Solution Design Processes 33





Benefits of the Design Process
"
Ensures that the business problem is solved
"
Assists in building a consensus
"
Brings discipline to the application development
process


The main benefit of the design process is that it helps ensure that the final
application solves the original business problem.
In addition, the design process aids in building a consensus among groups in an
organization. A consensus is necessary between the business and user, and
between the business environment and developer, to ensure that everyone
supports the project. This consensus also helps to determine whether the
application solves the business problem in the best way.
The design process brings discipline to the application development process. By
following the required phases, stages, and steps, the project team ensures that
the development project is complete and well designed. First, the team gathers
and analyzes data; they then undertake the conceptual, logical, and physical
design of the application; finally, they implement the application based upon
those designs.

Slide Objective
To explain some of the key
benefits of the design
process.
Lead-in
Using this design process
has several benefits.
34 Module 2: Solution Design Processes




!
!!
! Services-Based Design
"
The MSF Application Model
"
Logical Network of Cooperating Services
"
Data Services
"
Examples of Services
"
Benefits of Services-Based Design
"
Activity 2.1: Identifying Services
In this section
In this section



In this section, you will learn what a service is and what types of services make
up an application.
Slide Objective
To explain the purpose of
this section and what
students will learn.
Lead-in
In this section you will learn
about the services that
make up an application.
Module 2: Solution Design Processes 35





The MSF Application Model
A logical network of cooperative, distributed,
and reusable services that support a business
solution
User Services Business Services Data Services


The MSF Application Model provides a logical, three-tier, services-based
approach for designing and developing software applications and business
solutions. According to this model, an application is a logical (not physical)
network of cooperating services that together achieve a common goal.
The services can be distributed across both physical and functional boundaries
to support the needs of the business solution. The possible breadth of use of

each service allows for parallel development, better use of technology, easier
maintenance, and increased flexibility in the distribution and deployment of
each logical service in the solution.
Each logical division of the solution falls into one of three categories:
"
User services are components and services that exist to help the user work
with the solution.
"
Business services are components and services that encapsulate business
logic for one or more solutions. General business drivers (decision-making
logic) can be employed at this level to ensure that a business process is
carried out in an exact manner, no matter which application requests the
service.
"
Data services are components and services that encapsulate data-
manipulation logic for a given set of user and business services. Data
services provide an isolation layer between the business logic and the actual
data.

Slide Objective
To define an application in
the context of the MSF
Application Model.
Lead-in
The MSF Application Model
views an application as
containing three types of
services: user services,
business services, and data
services.

36 Module 2: Solution Design Processes




Logical Network of Cooperating Services
Business
Services
User
Services
Data
Services
Application 1 Application 2


The MSF Application Model does not consider business solutions to be
monolithic implementations, but instead views them as a logical network of
reusable services. This overlapping of services creates a network of applications
that allows the efficient reuse of logic and components. The network exists as a
collection of cooperative and distributed services that support a business
solution.
The services should always focus value and actions toward the customer, not
the provider. In this way, each service stays true to its initial design and maps
directly to actions desired by the user.
Slide Objective
To explain how applications
can integrate and use
services from other
applications.
Lead-in

Services can cooperate with
services at other layers or in
other applications.
Module 2: Solution Design Processes 37





Data Services
"
Abstract implementation of data storage
$
Abstract tables, rows
$
Abstract database software and vendor hardware
"
Encapsulate any changes to database
"
Encapsulate data access technologies


Data services are responsible for ensuring that requests for data are performed
properly, regardless of the underlying data structure. They primarily abstract the
various data-storage engines to the business services so that the business
services can employ similar logic across multiple data services.
If the underlying database changes, the data services can hide those changes
from other services and make sure that requests for data are fulfilled in the
appropriate manner. In this way, only the data services need to be aware of the
change.

Data technologies are also encapsulated so that the user and business services
never have to be concerned with how the data is being accessed.
Slide Objective
To introduce the
responsibilities of a data
service.
Lead-in
Data services are the
fundamental interface
between data stores and the
other services that use data.
38 Module 2: Solution Design Processes




Examples of Services
User Service
Display hrs. worked
Display commission
Display schedule
Display receivables
Change schedule
Print reports
Business Service
Retrieve hours
Retrieve

commission
Retrieve calendar

Retrieve receivables
Modify calendar
Process reports
Data Service
Select hours
Select commission
Select calendar
Select receivables
Update calendar
Select reports


The case study for this curriculum features an application called the Resource
Management System (RMS), developed by Ferguson and Bardell, Inc. The
sample services listed in the slide are abstractions of services identified for this
application.
The services focus on actions and map to processes that users actually perform.
Implementation is a result of a well-crafted design that employs different
technologies. Physical design, discussed later in this course, is an embodiment
of the intended implementation.
For example, suppose an accountant wants to display the time worked by a
specific consultant, regardless of the type of consultant (full-time, part-time, or
contract). Some of the consultant summary information may be stored on a
database at the client computer, but regardless of its location, the database is
still viewed as a data service. The data-service classification depends on what
the service does and not on where it is implemented.
Slide Objective
To explain services by using
examples.
Lead-in

To help you understand how
user, business, and data
services are separated, but
still related, let’s look at an
example.
Module 2: Solution Design Processes 39





Benefits of Services-Based Design
"
Added flexibility
"
Distributed services
"
Parallelism in the design process
"
Shared assets, resources, and skills


Services-based design is a new way of looking at applications as a logical
network of services that work in unison to construct a solution.
Services-based design describes service tiers constructed from a logical network
of service components rather than from two or three monolithic tiers of
application logic. Each service can live on a variety of platforms and in varying
locations.
One of the major advantages of services-based design is the ability to do more
than one development task at a time. Because logic and actions are separated

into services, a development team can be assigned to each service layer of the
solution and can capitalize on the team’s experience with and preferences for
different development tools and technologies.
Resource sharing is a vital aspect of solution design. Generally, an organization
designs and creates each solution with its own development team. The end
result is usually that no two solutions from the same company are alike.
Business logic and user interface (UI) logic are recreated by each development
team’s UI and services group. The varying skill levels of these groups produces
unpredictable results, and solutions do not necessarily complement each other.
Services-based design provides the ability to share an organization’s assets and
skills so that disparate applications are brought together into a cohesive
application development strategy.
Slide Objective
To introduce some of the
key benefits of services-
based design.
Lead-in
Some of the key benefits of
the services-based design
principles of the MSF
Application Model are as
follows.
40 Module 2: Solution Design Processes




Activity 2.1: Identifying Services



In this activity, you will identify service classes for the Ferguson and Bardell,
Inc. case study. After these service classes have been identified and classified,
you will answer a series of questions relating to services-based design and
discuss your answers with the instructor and the rest of the class.
After completing this activity, you will be able to:
"
Categorize services as user, business, or data services.

Slide Objective
To explain the purpose and
tasks of this activity.
Lead-in
In this activity, you will have
a chance to explore the
concept of services-based
design.
Delivery Tip
After the students complete
this activity, lead them into
the discussion questions
listed at the end of the
activity in the Activity
Manual. This discussion will
help reinforce their
understanding of the topics
introduced in this section.
Module 2: Solution Design Processes 41






!
!!
! Review
"
Guidelines
"
Review Questions
"
Looking Forward
In this section
In this section


Slide Objective
To explain the purpose of
this section and what
students will learn.
Lead-in
In the next section, you will
review what you have
learned and prepare for the
next modules.
42 Module 2: Solution Design Processes




Guidelines

"
Do not skip any design stages
"
Design iteratively; the best design comes from
continuous review
"
Design with multiple service layers to allow the
project team to package the application as
needed
"
Choose separate implementation technologies
for user, business, and data services


Although you may sometimes be tempted to skip design stages, all you will
gain is the inevitable right to go back and redo the design. Designs are best
when they are well thought out (conceptual design), modular (logical design),
and implementable (physical design).
The iterative nature of design necessitates that all members of the design team
constantly reevaluate the progress and scope of the design. Keep in mind that,
although this is a painstaking process, it is almost always worth the time and
effort invested.
Although user, business, and data services can be located on different machines,
multiple computers are not necessary for every implementation of a solution.
These services are logical divisions of application services that are implemented
physically. They can all live within a monolithic application that runs on a
single computer, or they can reside on distributed servers across a wide area
network (WAN).
Separating services into layers allows the design and project teams to pick the
appropriate tools for implementing each layer. One tool is rarely the answer to

every problem, and it is best to employ best-of-breed technology for each
service layer.
Slide Objective
To present some general
guidelines related to the
information in this module.
Lead-in
Following are some general
guidelines to consider.
Module 2: Solution Design Processes 43





Review Questions
"
Explain solution design processes as they pertain to a
business solution and a data-centric solution
"
Explain the concepts and benefits of services-based
design
"
Identify the phases in a project life cycle


1. What are the three phases of design?
Conceptual design, logical design, and physical design



2. What are the three types of services in the MSF Application Model?
User services, business services, and data services


3. Which of the MSF Application Model services should be implemented on
the same computer in an application?
It depends on the application. Each service could be implemented on
one or more computers, or every service could be implemented on the
same computer.



Slide Objective
To reinforce module
objectives by reviewing key
points.
Lead-in
The review questions cover
some of the key concepts
taught in this module.
44 Module 2: Solution Design Processes




Looking Forward
Module 1: Course
Overview
Module 4: Deriving a Logical
Data Design

Module 5: Normalizing the
Logical Data Design
Module 6: Deriving a
Physical Data Design
Module 7: Implementing
Data Integrity
Module 2: Solution
Design Processes
Module 3: Using a Conceptual
Design for Data Requirements
Module 8: Designing Data
Services
Module 9: Data Storage
Considerations
Designing Data
Services and
Data Models


"
The upcoming modules will cover the following topics:
"
Using a conceptual design to help obtain data requirements
"
Logical database design
"
Physical database design

Slide Objective
To explain what students

will learn next.
Lead-in
The upcoming modules will
cover how to use a
conceptual design to create
data requirements.

×