模央化降低软件复杂度的简草证明: 令:C(X)表示问题X的复杂度函数; E(Ⅹ)解决问题X所需工作量的复杂度函数; 第4章软件总体设计
第4章 软件总体设计 模块化降低软件复杂度的简单证明: 令:C(X)表示问题 X 的复杂度函数; E(X)解决问题 X 所需工作量的复杂度函数;
4.3.1模块和模块化 模块化的根据: ◆如果c(P1)>C(P2),显然E(P1)>E(P2); ◆根据人类解决一般问题的经验, C(P1+P2)>c(P1)+c(P2) ◆综上所述,得到下面的不等式 E(P1+P2)>E(P1)+E(P2) 第4章软件总体设计
第4章 软件总体设计 4.3.1 模块和模块化 模块化的根据: ◆ 如果C(P1)>C(P2),显然E(P1)>E(P2); ◆ 根据人类解决一般问题的经验, C(P1+P2)>C(P1)+C(P2) ◆ 综上所述,得到下面的不等式 E(P1+P2)>E(P1)+E(P2)
4.3.1模块和模块化 模块化的作用: ◆采用模块化原理可以使软件结构清晰,不仅容易设计 也容易阅读和理解; ◆模块化使软件容易测试和调试,因而有助于提高软件 的可靠性; ◆模块化能够提髙软件的可修改性; ◆模块化也有助于软件开发工程的组织管理。 第4章软件总体设计
第4章 软件总体设计 4.3.1 模块和模块化 模块化的作用: ◆ 采用模块化原理可以使软件结构清晰,不仅容易设计 也容易阅读和理解; ◆ 模块化使软件容易测试和调试,因而有助于提高软件 的可靠性; ◆ 模块化能够提高软件的可修改性; ◆ 模块化也有助于软件开发工程的组织管理
4.3.2抽象 ◆抽象是人类认识自然界中的复杂事物和复杂现象过程 中使用的一种思维工具 ◆抽象:现实世界中一定事物、状态或过程之间总存在 某些相似的或者共性的方面,把这些相似的方面集中或 概括起来,暂时忽略它们之间的次要因素,这就是抽象。 ◆在模块化问题求解时,可以在不同层次上进行抽象。 第4章软件总体设计
第4章 软件总体设计 4.3.2 抽象 ◆ 抽象是人类认识自然界中的复杂事物和复杂现象过程 中使用的一种思维工具。 ◆ 抽象:现实世界中一定事物、状态或过程之间总存在 某些相似的或者共性的方面,把这些相似的方面集中或 概括起来,暂时忽略它们之间的次要因素,这就是抽象。 ◆ 在模块化问题求解时,可以在不同层次上进行抽象
4.3.2抽象 般抽象过程: ◆处理复杂系统的唯一有效的方法是用层次的方式构 造和分析它。 ◆一个复杂的动态系统首先可以用一些高级的抽象概 念构造和理解,这些高级概念又可以用一些较低级的 概念构造和理解,如此进行下去,指导最低层次的具 体元素。 ◆例如:过程抽象、数据抽象和控制抽象。 第4章软件总体设计
第4章 软件总体设计 4.3.2 抽象 一般抽象过程: ◆ 处理复杂系统的唯一有效的方法是用层次的方式构 造和分析它。 ◆ 一个复杂的动态系统首先可以用一些高级的抽象概 念构造和理解,这些高级概念又可以用一些较低级的 概念构造和理解,如此进行下去,指导最低层次的具 体元素。 ◆ 例如:过程抽象、数据抽象和控制抽象