A system and method for use with an enterprise system or software
development system, for determining or checking for dependencies between
software components, or between other components of said system. The
system utilizes a module architecture specification language and toolkit
to check system code for compliance against a set of rules or requisites.
The module architecture specification can be structured into product-wide
groundrules applicable to all subsystems, subsystem-, layer-,
module-specific, and thin-client/server rules. In accordance with one
embodiment, the system can be used to allow, forbid, or constrain certain
dependencies between software modules, or between the building blocks,
organization components, or products that make up a large enterprise
system.