Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 22 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
22
Dung lượng
413,09 KB
Nội dung
Module 2: Solution Design Processes Module 9: Data Storage Considerations Module 1: Course Overview Module 8: Designing Data Services Module 7: Implementing Data Integrity Module 2: Solution Design Processes Designing Data Services and Data Models Module 3: Using a Conceptual Design for Data Requirements Module 4: Deriving a Logical Data Design Module 6: Deriving a Physical Data Design Module 5: Normalizing the Logical Data Design Design Processes Module 2: Solution Design Processes Services-Based Design Activity 2.1: Identifying Services Module 2: Solution Design Processes 25 ! Overview 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 " Design Processes " Services-Based Design " Review In In this this module module At the end of this module, you will be able to: " Explain design processes as they pertain to business solutions and datacentric solutions " Explain the concepts and benefits of services-based design " Identify phases in the project life cycle Note 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 http://www.microsoft.com/msf/ 26 Module 2: Solution Design Processes ! Design Processes 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 " The MSF Process Model " Requirements Gathering " The MSF Design Process Model " Data and the MSF Design Process Model " Benefits of the Design Process In In this this section 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 Module 2: Solution Design Processes 27 The MSF Process Model Slide Objective Release 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 Scope Complete Vision Approved Lead-in This course focuses on the beginning stages of the Envisioning Phase of the MSF Process Model Project Plan Approved " Course 1609 Course 1608 also covers the Planning Phase, but it focuses on application design 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 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 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 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 Requirements Gathering Slide Objective To introduce topics related to the gathering of data " Lead-in Data gathering forms the basis for all future design processes " 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 decisionmaking 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 to satisfy the requirements 29 30 Module 2: Solution Design Processes The MSF Design Process Model Slide Objective To briefly describe the conceptual, logical, and physical design phases of the MSF Design Process Model Conceptual Design Logical Design Scenarios Lead-in You need to understand the three distinct stages of design Physical Design Services and Objects, User Interface, and Logical Database Components, User Interface, and Physical Database The MSF Design Process Model consists of three design phases—conceptual, logical, and physical—which are described as follows: " The goal in conceptual design is to identify business needs and to understand what users 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 Delivery Tip Make sure you stress the importance of conceptual design Also emphasize that conceptual design for datacentric solutions will have to consider data requirements as they relate to the rest of the design Delivery Tip Conceptual design 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 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 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 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 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 " 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 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 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 Module 2: Solution Design Processes 33 Benefits of the Design Process Slide Objective To explain some of the key benefits of the design process Lead-in Using this design process has several benefits " 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 34 Module 2: Solution Design Processes ! Services-Based Design 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 " 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 In this this section section In this section, you will learn what a service is and what types of services make up an application Module 2: Solution Design Processes 35 The MSF Application Model Slide Objective To define an application in the context of the MSF Application Model A logical network of cooperative, distributed, and reusable services that support a business solution Lead-in The MSF Application Model views an application as containing three types of services: user services, business services, and data services 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 datamanipulation logic for a given set of user and business services Data services provide an isolation layer between the business logic and the actual data 36 Module 2: Solution Design Processes Logical Network of Cooperating Services 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 Application Application User Services Business Services Data Services 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 Module 2: Solution Design Processes 37 Data Services 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 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 38 Module 2: Solution Design Processes Examples of Services 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 User Service Business Service Data Service Display hrs worked Retrieve hours Select hours Display commission Retrieve commission Select commission Display schedule Retrieve calendar Display receivables Retrieve receivables Select calendar Select receivables Change schedule Modify calendar Update calendar Print reports Process reports 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 Module 2: Solution Design Processes 39 Benefits of Services-Based Design Slide Objective To introduce some of the key benefits of servicesbased design Lead-in Some of the key benefits of the services-based design principles of the MSF Application Model are as follows " 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 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 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 40 Module 2: Solution Design Processes Activity 2.1: Identifying 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 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 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 After completing this activity, you will be able to: " Categorize services as user, business, or data services Module 2: Solution Design Processes ! Review 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 " Guidelines " Review Questions " Looking Forward In In this this section section 41 42 Module 2: Solution Design Processes Guidelines Slide Objective To present some general guidelines related to the information in this module Lead-in Following are some general guidelines to consider " 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 ... the Logical Data Design Design Processes Module 2: Solution Design Processes Services-Based Design Activity 2.1: Identifying Services Module 2: Solution Design Processes 25 ! Overview Slide Objective.. .Module 9: Data Storage Considerations Module 1: Course Overview Module 8: Designing Data Services Module 7: Implementing Data Integrity Module 2: Solution Design Processes Designing... Models Module 3: Using a Conceptual Design for Data Requirements Module 4: Deriving a Logical Data Design Module 6: Deriving a Physical Data Design Module 5: Normalizing the Logical Data Design Design