6.5 Additional Considerations


The views we have described provide the basis for generating an architecture representation. However, there are additional considerations, described in this section.

System Context

Systems do not operate in a vacuum ; they exist in an environment and interact with the elements in that environment. These interactions may consist of responding to inputs from users, other systems, or sensors; providing outputs to users, other systems, or actuators; or both, that is, interoperating with other systems.

Representing the software architecture of a system should also depict its interactions with its environment. Any of the views we have discussed can be used to represent these interactions. A context diagram represents the system and its environment within one of the base views.

A context diagram within a module view can represent what is inside and outside the system. For example, if the system is being constructed on top of commercial middleware, the context diagram would include the commercial middleware and indicate the services being used.

A context diagram within a component-and-connector view could represent the protocols that the system assumes for communicating with its environment. The diagram could also provide the performance-analysis information that depends on elements of the environment. For example, if the response time of a system depends on the load on a router in the network that is outside the system, this router would occur in a communicating-process context diagram.

Similarly, a context diagram for the allocation view could show hardware elements that are outside the system. Databases, for example, that are outside the system being constructed and that reside on distinct hardware could be shown on an allocation-view context diagram.

Hybrid Views

A hybrid view is a combination of several existing views. Hybrids are a means of expressing relationships that can be very powerful or very confusing.

The power of hybrids comes from their ability to display different concepts in the same representation. Understanding the operation of a system, for example, may require knowing that multiple objects are instantiated from a single class. This can be represented through a hybrid. Understanding the performance of a system, for example, may require knowing both the protocol that is used to communicate between a client and its server and the load on a network connection from message traffic. All these can be represented using a hybrid view. The confusion comes from combining two views that do not belong together or for which the mapping from one view to another is not made explicit. When understanding the performance of a system, the sources of traffic on a network connection must be shown to draw inferences. If a source is not connected to the message traffic, the hybrid view does not convey the necessary information.



Modernizing Legacy Systems
Modernizing Legacy Systems: Software Technologies, Engineering Processes, and Business Practices
ISBN: 0321118847
EAN: 2147483647
Year: 2003
Pages: 142

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net