4.2,2软件模块设计准则 5.设计功能可预测并能得到验证的模块。 ◆模块的功能应该能够预测,但也要防止模块功能过分局限。 ◆功能可预测:如果一个模块可以当作一个黑盒子,只要输 入的数据相同就产生同样的输出,这个模块的功能就是可以 预测的。 第4章软件总体设计
第4章 软件总体设计 4.2.2 软件模块设计准则 5.设计功能可预测并能得到验证的模块。 ◆ 模块的功能应该能够预测,但也要防止模块功能过分局限。 ◆ 功能可预测:如果一个模块可以当作一个黑盒子,只要输 入的数据相同就产生同样的输出,这个模块的功能就是可以 预测的
4.22软件模块设计准则 6.适当划分模块规模,以保持其独立性。 ◆经验表明,一个模块的规模不应过大,最好能写在一页纸 内。通常规定50-100行语句,最多不超过500行。 ◆过大的模块往往是由于分解不充分,但是进一步分解必须 符合问题结构,一般说来,分解后不应该降低模块独立性。 ◆过小的模块开销大于有效操作,而且模块数目过多将使系 统接口复杂。 第4章软件总体设计
第4章 软件总体设计 4.2.2 软件模块设计准则 6.适当划分模块规模,以保持其独立性。 ◆ 经验表明,一个模块的规模不应过大,最好能写在一页纸 内。通常规定50-100行语句,最多不超过500行。 ◆ 过大的模块往往是由于分解不充分,但是进一步分解必须 符合问题结构,一般说来,分解后不应该降低模块独立性。 ◆ 过小的模块开销大于有效操作,而且模块数目过多将使系 统接口复杂
4.3软件设计的概念和原理 4.31模块和模块化 4.32抽象 4.33信息隐蔽和局部化 434模块独立性及其度量 2021年2月3日 第4章软件总体设计 第23页
2021年2月3日 第4章 软件总体设计 第23页 4.3 软件设计的概念和原理 4.3.1 模块和模块化 4.3.2 抽象 4.3.3 信息隐蔽和局部化 4.3.4 模块独立性及其度量
431模块和模块化 模块是软件结构的基础,是软件元素,是能够单独命 名、独立完成一定功能的程序语句的集合。 模块化是指解决一个复杂问题时自顶向下逐层把软 件系统划分成若干模块的过程。 M 软件总成本 每个程序都对 应地有一个最 接口成本 适当的模块数M和 使得系统的开 发成本最小。 模块数目和成本的关系 成本/模块 模块数目 第4章软件总体设计
第4章 软件总体设计 4.3.1 模块和模块化 模块是软件结构的基础,是软件元素,是能够单独命 名、独立完成一定功能的程序语句的集合。 模块化是指解决一个复杂问题时自顶向下逐层把软 件系统划分成若干模块的过程。 成 本 ( 工 作 量 ) 模 块 数 目 软 件 总 成 本 接 口 成 本 成 本 /模 块 模 块 数 目 和 成 本 的 关 系 M 每个程序都对 应地有一个最 适当的模块数M, 使得系统的开 发成本最小
4.3.1模块和模块化 为什么要模块化? ◆模块化是为了使一个复杂的大型程序能被人的智力所 管理; ◆如果一个大型程序仅由一个模块组成,它将很难被人 所理解。 第4章软件总体设计
第4章 软件总体设计 4.3.1 模块和模块化 为什么要模块化? ◆ 模块化是为了使一个复杂的大型程序能被人的智力所 管理; ◆ 如果一个大型程序仅由一个模块组成,它将很难被人 所理解