IT533 - SOFTWARE ARCHITECTURES - CLASS 1
There are a number of metrics that can be used to estimate the
quality of a design:
The extent to which the function of a component is focused on
a single concept.
Some possible points of focus are a system, an event, a stimulus,
a response, access to the state of an object and so on.
Cohesion is a property of the component.
The goal is high cohesion.
High cohesion means that each element in a component is essential
for the component to obtains its purpose.
The degree of interdependence between interacting components.
Coupling is a property of the associations between components.
The goal is low coupling.
Low coupling means that the interface between two components is
relatively simple and that ability of one component to use
another component does not require detailed knowledge about
the internal structure or operation of the component.
The number of components that act as servers to a single client.
A high number of servers increases the probablity that the
client may need to be modified.
The goal is low fan-out.
The number of components that act as clients to a single server.
A high number of clients increases the possible impact of a change to
The goal will depend on the cohesion of the server component.
High fan-in is permissible with a highly cohesive server.
Prepared by David L. March -- Last Revised on March 27, 2003
COPYRIGHT © 2003 BY DAVID L. MARCH