抽象化
- 定义:从概要设计到详细设计的抽象化层次逐次降低。在最高的抽象层次上,可以使用问题所处环境的语言描述问题的解法;在较低的抽象层次上,则采用过程化的方法,产生源程序时到达最低的抽象层次。分为3种:
过程的抽象:在从概要设计到详细设计的过程中,抽象化的层次逐次降低,当产生源程序时达到最低的抽象层次。
数据抽象:与过程抽象一样,允许设计人员在不同层次上描述数据对象的细节。
控制抽象:可以包含一个程序控制机制而无须规定其内部细节。
- 自顶向下,逐步细化:对各个层次的过程细节和数据细节逐层细化,直到用程序设计语言的语句能够实现为止。
- 信息隐蔽:是开发整体程序结构时使用的法则,将每个程序的成分隐蔽或封装在一个单一的设计模块中,并且尽可能少地暴露其内部的处理。通常将难的决策、可能修改的决策、数据结构的内部连接,以及对它所做的操作细节、内部特征码、与计算机硬件有关的细节等隐蔽起来。优点:提高软件的可修改性、可测试性和可移植性。
- 模块独立:指每个模块完成一个相对独立的特定子功能,并且与其他模块之间的联系最简单。目标:高内聚,低耦合