MSF Design Example Conceptual Design Logical Design Physical Design

Preview:

Citation preview

MSF Design Example

• Conceptual Design

• Logical Design

• Physical Design

Conceptual Design

• Identify Usage Scenarios

• Identify Relationships

• Show Cumulative Design

Customer Logs on to Site

Customer Initiates Search

Customer Browses Catalog

Customer Manages Shopping Cart

Customer Creates Shopping List

Customer Shops Using List

Customer Checks Out

Customer Provides Shipping and Payment Information

Cumulative Usage Design Diagram

Logical Design

• Identify Objects

• Identify Behaviors

• Identify Attributes

• Identify Relationships

Identify Objects

Identifying Behaviors

• The user selects a catalog to browse. • The categories and products in the root

of the selected catalog are displayed. • The user can then select a product to

view its details or select a category and view the products and sub-categories in the selected category.

User Object Behavior

Catalogs Object Added

• Behaviors that have no apparent objects associated with them must be derived from the scenario.

• It follows that because the user selects a catalog, there must be some sort of mechanism that allows a catalog to be selected from a list of catalogs.

• You could then logically assume that a Catalogs object, which manages the collection of Catalog objects, is present.

• You should add this new object to the list of objects that were defined.

Identify Attributes• Attributes are elements that the solution

needs to keep track of. • They are placeholders in which data is

retained, or persisted.• You can identify attributes by analyzing the

behaviors in the scenario and extracting what elements have to be persisted, or tracked.

• For example, when a product is viewed, those elements that are shown to the user are attributes of the product.

User Object Attribute

Identify Class Relationships

• Relationships are logical associations between objects.• To identify relationships, it is necessary to analyze how

the objects interact with each other. • For example, the Categories object has a relationship

with the Category object because the Categories object, which manages the collection, contains Category objects.

• Another type of relationship known as inheritance• For example, if the solution being designed was going to

sell food and books but the designers wanted to logically differentiate between them, then a relationship might be defined where both Book and Food objects are a type of Product object. That is, they both inherit from the Product object.

Completed Design Objects

• Authentication – The authentication object handles user registration and authentication.

• Catalog – The catalog object persists information about a specific catalog and manages the collection of products within that catalog.

• Catalog manager – The catalog manager object manages the collection of catalogs.

• Category – The category object persists information about specific categories.

• Category manager – The category manager object manages the collection of categories.

• Configuration – The configuration object persists application configuration information and handles configuration-related tasks.

• Data functions – The data functions object performs data-

specific functions, such as opening a connection to a database.

Design Objects (continued)

• E-mail – The e-mail object is used to send electronic mail messages, such as order confirmation messages, to the users.

• Error handler – The error handler object is called when an error occurs. It handles the user-friendly error translation and log errors.

• Order – The order object persists information about specific orders.

• Product – The product object persists information about specific products.

• Search – The search object is used to search the catalogs and return the results of product searches.

• User – The user object provides a means by which information is persisted about specific users. In addition, it manages the collection of user orders.

• User manager – The user manager object manages the collection of users.

Object Relationship Scenario

Physical Model

• Authentication Models

• Presentation

• Clustering

• Network Load Balancing

Impersonation/Delegation Model

Trusted Server Model

Abstracting Presentation Format From Content

XSL ISAPI Filter Functionality

Clustering

NetworkLoad

Balancing

Questions?

Recommended