320 likes | 513 Views
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.
E N D
MSF Design Example • Conceptual Design • Logical Design • Physical Design
Conceptual Design • Identify Usage Scenarios • Identify Relationships • Show Cumulative Design
Logical Design • Identify Objects • Identify Behaviors • Identify Attributes • Identify Relationships
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.
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.
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. • Categorymanager – 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.
Physical Model • Authentication Models • Presentation • Clustering • Network Load Balancing