A computer program product for use on a computer system for managing design of a software system which is comprised of subsystems from a plurality of domains, the computer program product comprising a computer usable medium having computer readable program code thereon, which, when loaded into the computer system, establishes an apparatus, implemented in the computer system, the apparatus comprising:
- an input that receives the software system to be managed;
- a first dependency extractor, coupled to the input, that extracts atoms and dependencies among the atoms, of a first subsystem in a first domain;
- a second dependency extractor, coupled to the input, that extracts atoms and dependencies among the atoms, of a second subsystem in a second domain;
- a partitioner, coupled to the first and the second dependency extractors, that creates partitions for each of the first and the second domains based on the respectively extracted atoms and dependencies,
- a merge manager that merges the partitions for each of the first and second domains into merged partitions having atoms associated with both the first and the second domains,
- wherein the dependency extractors, the partitioner, and the merge manager collectively produce a representation of the database system including the subsystems and dependency relationships among the subsystems as well as the atoms and dependency relationships among the atom;
- a system representation storage arrangement, coupled to the dependency extractors, the partitioner, and the merge manager, the system representation storage arrangement storing the representation of the software system;
- and
- a display output coupled to the system representation storage arrangement, such output configured to provide a graphical display, based on the representation of the software system stored in the system representation storage arrangement, of the subsystems in a hierarchy within a dependency structure matrix, such matrix graphically indicating the dependency relationships among subsystems.