A metrics based tool for software design

Decision making is an essential part of the design process. Unfortunately, software engineers are frequently forced to make important, and for safety critical systems, vital decisions in the absence of feedback. A software tool is presented which addresses this need for input at the design stage by building a model of the system architecture over which a number of metrics may be defined. At a system level these design metrics enable the characterisation and comparison of differing architectures for the same specification. At an intra-system level the metrics can help pinpoint weaknesses and thus facilitate the generation of new architectures. Empirical work suggests that such measures can be very effective at identifying potentially problematic designs and design components. In addition the tool allows the user to tailor the metrics to his or her specific needs and environment.