Software architecture is "the ---------- of the components of a program/system, their interrelationships,
and principles and guidelines governing their design and evolution over time."
By collecting software metrics and making use of existing software reliability models it is possible to
develop meaningful guidelines for determining when software testing is done.