In 2005, I chanced to find that my functional architecture diagrams could be used for more than just explaining functionality to developers. I noticed that I could draw paths across the diagram, sometimes converge multiple paths, and these paths could effectively become a set of system test cases. Drawing these paths across also showed me if I was touching everything and if I was touching everything enough in my system testing.
I think this testing coverage method need not be just for software. Even cars, gadgets, plumbing , everything has a functional architecture. May be we should use that to see if we are testing sufficiently.