Explain why it is difficult to validate the relationships between internal product attributes, such as cyclomatic complexity and external attributes, such as maintainability.
product internal attributes are the attributes that are not directly related to the product itself, but are used to determine the product’s quality. these attributes defines the attributes of the actual code that runs the program.
product external attributes affects the look and feel of the product, such as maintainability, design, and so on. these attributes usually got affected by the validation environment, and the poor quality of these attributes can be notices by the end users.
the internal attributes can be validated using methods or tools, and since these measures don’t rely on anything but the product itself, they can be validated even before the product is released and the developers can respond to these measures and improve the quality of the product.
the problem with the external attributes is that measuring them requires input from the environment surrounding the product, and the environment details are not always available or clear or it changes from user to user, so measuring these attributes is harder.
In summary, the effect of the external factors (broadly called environment) makes the validation between the internal and external attributes harder.
Marsic, I. (2012). Software engineering. Rutgers Unversity. https://www.ece.rutgers.edu/~marsic/books/SE/book-SE_marsic.pdf
Watson, A. H., & McCabe, T. J. (1996, September). Structured testing: A testing methodology using the cyclomatic complexity metric. In D. Wallace (Ed.), NIST Special Publication 500-235. McCabe Software. www.mccabe.com/pdf/mccabe-nist235r.pdf