逐步求精的作用: 它能帮助软件工程师把精力集中在与当前开发 阶段最相关的那些方面上,而忽略那些对整体 解决方案来说虽然是必要的,然而目前还不需 要考虑的细节。 逐步求精方法确保每个问题都将被解决,而且 每个问题都将在适当的时候被解决,但是,在 任何时候一个人都不需要同时处理7个以上知 识块。(根据优先级)
逐步求精的作用: ◼ 它能帮助软件工程师把精力集中在与当前开发 阶段最相关的那些方面上,而忽略那些对整体 解决方案来说虽然是必要的,然而目前还不需 要考虑的细节。 ◼ 逐步求精方法确保每个问题都将被解决,而且 每个问题都将在适当的时候被解决,但是,在 任何时候一个人都不需要同时处理7个以上知 识块。(根据优先级)
Wirth本人对逐步求精策略的概括说明: 我们对付复杂问题的最重要的办法是抽象,因此,对 个复杂的问题不应该立刻用计算机指令、数字和逻 辑符号来表示,而应该用较自然的抽象语句来表示, 从而得出抽象程序。 ■抽象程序对抽象的数据进行某些特定的运算并用某些 合适的记号(可能是自然语言)来表示。对抽象程序 做进一步的分解,并进入下一个抽象层次,这样的精 细化过程一直进行下去,直到程序能被计算机接受为 止。这时的程序可能是用某种高级语言或机器指令书 写的
Wirth本人对逐步求精策略的概括说明: ◼ 我们对付复杂问题的最重要的办法是抽象,因此,对 一个复杂的问题不应该立刻用计算机指令、数字和逻 辑符号来表示,而应该用较自然的抽象语句来表示, 从而得出抽象程序。 ◼ 抽象程序对抽象的数据进行某些特定的运算并用某些 合适的记号(可能是自然语言)来表示。对抽象程序 做进一步的分解,并进入下一个抽象层次,这样的精 细化过程一直进行下去,直到程序能被计算机接受为 止。这时的程序可能是用某种高级语言或机器指令书 写的
524信息隐藏和局部化 信息隐藏:应该这样设计和确定模块,使得一 个模块内包含的信息过程和数据)对于不需要 这些信息的模块来说,是不能访问的。 ■局部化:局部化的概念和信息隐藏概念是密切 相关的。所谓局部化是指把一些关系密切的软 件元素物理地放得彼此靠近。显然,局部化有 助于实现信息隐藏
5.2.4 信息隐藏和局部化 ◼ 信息隐藏:应该这样设计和确定模块,使得一 个模块内包含的信息(过程和数据)对于不需要 这些信息的模块来说,是不能访问的。 ◼ 局部化:局部化的概念和信息隐藏概念是密切 相关的。所谓局部化是指把一些关系密切的软 件元素物理地放得彼此靠近。显然,局部化有 助于实现信息隐藏
信息隐藏和局部化的作用: “隐藏”意味着有效的模块化可以通过定义 组独立的模块而实现,这些独立的模块彼此间 仅仅交换那些为了完成系统功能而必须交换的 信息。 使用信息隐藏原理作为模块化系统设计的标准 就会带来极大好处。因为绝大多数数据和过程 对于软件的其他部分而言是隐藏的,在修改期 间由于疏忽而引入的错误就很少可能传播到软 件的其他部分
信息隐藏和局部化的作用: ◼ “隐藏”意味着有效的模块化可以通过定义一 组独立的模块而实现,这些独立的模块彼此间 仅仅交换那些为了完成系统功能而必须交换的 信息。 ◼ 使用信息隐藏原理作为模块化系统设计的标准 就会带来极大好处。因为绝大多数数据和过程 对于软件的其他部分而言是隐藏的,在修改期 间由于疏忽而引入的错误就很少可能传播到软 件的其他部分
525模块独立 模块独立: 模块独立的概念是模块化、抽象、信息隐藏和 局部化概念的直接结果。 希望这样设计软件结构,使得每个模块完成 个相对独立的特定子功能,并且和其他模块之 间的关系很简单
5.2.5 模块独立 模块独立: ◼ 模块独立的概念是模块化、抽象、信息隐藏和 局部化概念的直接结果。 ◼ 希望这样设计软件结构,使得每个模块完成一 个相对独立的特定子功能,并且和其他模块之 间的关系很简单