逻辑设计和物理设计最为典型的失配是对质量特征的设计。
作为介质载体,程序设计语言能够很好地组织功能,但完全表达不了质量:
● 在定义模块和类时,可以通过接口说明它们的功能,却无法说明它们的质量标准,例如性能、可靠性、安全性、可测试性等。
● 基于导入/导出、函数调用等方法能够建立不同模块及不同类之间的联系,却无法限定这些联系要满足灵活性和可修改性。
● 使用代码可以组合出一个数据的处理过程,却无法组合出处理的性能和可靠性。
● 使用类型可以组合出复杂的数据结构,却无法界定其中的数据安全性和完整性。
● 使用程序代码可以构建可视的用户界面,却无法明确它的易用性。
因为不具备介质载体,所以质量设计总是要比功能设计复杂一些,复杂系统尤甚。