4.信息隐藏与信息局部化原则 与模块独立性相关的另外两个软件工程学的基本原则是信 息隐藏原则与信息局部化原则,下面介绍一下它们的基本内容 1)信息隐藏原则 信息隐藏原则是指在设计和确定模块时,使得模块内包含 的信息对于不需要这些信息的模块来说是不能访问的。这个定 义听起来有点费解,下面通过一个例子来解释
4. 信息隐藏与信息局部化原则 与模块独立性相关的另外两个软件工程学的基本原则是信 息隐藏原则与信息局部化原则,下面介绍一下它们的基本内容。 1) 信息隐藏原则 信息隐藏原则是指在设计和确定模块时,使得模块内包含 的信息对于不需要这些信息的模块来说是不能访问的。这个定 义听起来有点费解,下面通过一个例子来解释
消息队列 输入 消 处理 处理 模块 模块 图4.3图形用户界面模块示意图
消息队列 输 入 处 理 模 块 消 息 处 理 模 块 图4.3 图形用户界面模块示意图
消息处理模块可以直接访问消息队列,从消息队列中读取数据。 此时这两个模块之间的关联程度密切,模块独立性很差。如果输入处 理模块改变消息队列的管理方法,则第二个模块必须进行相应的改变。 如果消息处理模块对消息队列操作有误,将影响输入处理模块,在程 序调试时难以确定错误发生在哪一个模块中。实际上,消息处理模块 并不需要消息队列的管理信息,它只需知道消息队列中有没有消息及 有什么样的消息。上面的处理方法违反了软件工程中的信息隐藏原则, 消息处理模块访问了它不需要的信息
消息处理模块可以直接访问消息队列,从消息队列中读取数据。 此时这两个模块之间的关联程度密切,模块独立性很差。如果输入处 理模块改变消息队列的管理方法,则第二个模块必须进行相应的改变。 如果消息处理模块对消息队列操作有误,将影响输入处理模块,在程 序调试时难以确定错误发生在哪一个模块中。实际上,消息处理模块 并不需要消息队列的管理信息,它只需知道消息队列中有没有消息及 有什么样的消息。上面的处理方法违反了软件工程中的信息隐藏原则, 消息处理模块访问了它不需要的信息
输|消 入息 处|队 理列 模块 消息处理模块 获取消息的外部接口 图44信息隐藏示意图
输 入 处 理 模 块 消 息 队 列 消 息 处 理 模 获取消息的外部接口 块 图4.4 信息隐藏示意图
信息隐藏使得模块易于修改,并使程序的可靠性、可理解性更 好。程序员只需将精力集中在自己的工作上,编写消息处理模块程 序的程序员不再需要了解消息队列的管理方法。 2)信息局部化 信息局部化是指将关系密切的软件元素物理地放得彼此靠近。 所谓“关系密切”是指这些软件元素是共同解决某问题或实现某功 能所需的。我们可以看到,功能内聚实际上就是将关系密切的软件 元素放在同一个模块中。 信息局部化的优点是系统易于维护、易于理解、可靠性好
信息隐藏使得模块易于修改,并使程序的可靠性、可理解性更 好。程序员只需将精力集中在自己的工作上,编写消息处理模块程 序的程序员不再需要了解消息队列的管理方法。 2) 信息局部化 信息局部化是指将关系密切的软件元素物理地放得彼此靠近。 所谓“关系密切”是指这些软件元素是共同解决某问题或实现某功 能所需的。我们可以看到,功能内聚实际上就是将关系密切的软件 元素放在同一个模块中。 信息局部化的优点是系统易于维护、易于理解、可靠性好