Defining Application Logic

   

The logical model is the design phase that identifies how the business policies, rules, and services your application requires are broken out into logical "business objects."  These abstract business objects combine to define a three-tier logical model of the application. This logical model is the precursor of the physical component model you will design later.

For more information   For more information about three-tier logical application design, search online for "the services model" in MSDN Library Visual Studio 6.0 or at the Microsoft Web site at http://www.microsoft.com.

Logical Model Tasks

The process of logical design includes five specific activities, as shown below. While these activities are presented in a generally sequential order, it is important to remember that they are iterative; that is, earlier stages will continue to be refined as later stages are accomplished.

Identifying Business Objects and Services

Abstract "business objects," and the services they must provide, are derived from the usage scenarios you developed in the user model design phase.

Defining Interfaces

A service delivers its functionality through its interface. The interface is defined as a contract between a supplier service and a consumer service. Once you define and publish an object's interfaces, they should not be changed, to avoid breaking external dependencies.

Identifying Business Object Dependencies

Business object dependencies arise when a service in one business object calls another service in another business object. Although dependencies naturally occur in logical design, it is important to understand them clearly before translating the logical design to physical components that may need to interact across process and computer boundaries.

Validating Logical Design

You need to validate the logical design against the usage scenarios to assure that the requirements captured in the user model are completely and correctly expressed in the logical model. As with all the design models, you will not produce a complete logical design in a single pass. It is an iterative process, with each pass adding detail.

Logical Model Tools

Visual Studio, Enterprise Edition provides two unique enterprise tools that are especially useful in the logical model design phase: Visual Modeler and Visual Component Manager.

Visual Modeler

Microsoft Visual Modeler is a tool for designing three-tier distributed applications, using class and component diagrams. Visual Modeler actually spans the logical model, technology model, and physical models: you can visually design models of the classes and components your application needs, and then convert these models to Microsoft® Visual Basic® or Visual C++® code. With Visual Basic, you can also import your application's code, and convert it to Visual Modeler diagrams. This makes it possible to switch back and forth between a model and working code, for optimum flexibility and efficiency. You can also publish the visual models you create in Visual Component Manager, described in the following section, so they can be shared and reused by other developers in your organization. Visual Modeler is based on a subset of the Unified Modeling Language (UML).

For more information   For more information about using Visual Modeler for component-based enterprise application design, see https://msdn.microsoft.com/en-us/library/aa267797(v=vs.60) online in MSDN Library Visual Studio 6.0.

Visual Component Manager

Visual Component Manager is a tool for publishing, sharing, and reusing software components, including wizards, COM components, Database Connection objects, and many others. It is especially useful for large development teams building component-based enterprise applications, because it offers a location for common components that can be shared by the entire team. Component interfaces and usage guidelines can be included to assist in the logical design process.

Visual Component Manager publishes your source code or compiled components to a repository-based catalog, where they can easily be located, inspected, retrieved, and reused.

For more information   For more information about using Visual Component Manager, see https://msdn.microsoft.com/en-us/library/aa234580(v=vs.60) online in MSDN Library Visual Studio 6.0.