软件设计的概念和原理 ■模块化的概念 软件系统的模块化是指整个软件被划分成若干单独 名和可编址的部分,称之为模块。这些模块可以 被组装起来以满足整个问题的需求 ■把问题/子问题的分解与软件开发中的系统/子系 统或系统/模块对应起来,就能够把一个大而复杂 的软件系统划分成易于理解的比较单纯的模块结构。 式 ■E(P1+P2)>E(P1)+E(P2)
软件设计的概念和原理 ◼ 模块化的概念 ◼ 软件系统的模块化是指整个软件被划分成若干单独 命名和可编址的部分,称之为模块。这些模块可以 被组装起来以满足整个问题的需求。 ◼ 把问题/子问题的分解与软件开发中的系统/子系 统或系统/模块对应起来,就能够把一个大而复杂 的软件系统划分成易于理解的比较单纯的模块结构。 ◼ 公式 ◼E(P1+P2 )>E(P1 )+E(P2 )
软件设计的概念和原理 软件总成本 最小成本区 接口成本 成本 成本/模块 模块数目 模块化和软件成本
软件设计的概念和原理 成 本 成本 / 模块 最小成本区 接口成本 软件总成本 模块数目 模块化和软件成本
软件设计的概念和原理 ■抽象 软件系统进行模块设计时,可有不同的抽象层次 在最高的抽象层次上,可以使用问题所处环境的语 言概括地描述问题的解法 在较低的抽象层次上,则采用过程化的方法。 过程的抽象 ■数据的抽象
软件设计的概念和原理 ◼ 抽象 ◼ 软件系统进行模块设计时,可有不同的抽象层次。 ◼ 在最高的抽象层次上,可以使用问题所处环境的语 言概括地描述问题的解法。 ◼ 在较低的抽象层次上,则采用过程化的方法。 ◼ 过程的抽象 ◼ 数据的抽象
软件设计的概念和原理 ■过程的抽象(在软件工程中,从系统定义到实现,每 进展一步都可以看做是对软件解决方法的抽象化过程的 次细化) ■在软件需求分析阶段,用“问题所处环境的为大 家所熟悉的术语”来描述软件的解决方法 在从概要设计到详细设计的过程中,抽象化的层 次逐次降低。当产生源程序时到达最低抽象层次 数据抽象(在不同层次上描述数据对象的细节,定义 与该数据对象相关的操作)
软件设计的概念和原理 ◼ 过程的抽象(在软件工程中,从系统定义到实现,每 进展一步都可以看做是对软件解决方法的抽象化过程的一 次细化) ◼ 在软件需求分析阶段,用“问题所处环境的为大 家所熟悉的术语”来描述软件的解决方法。 ◼ 在从概要设计到详细设计的过程中,抽象化的层 次逐次降低。当产生源程序时到达最低抽象层次。 ◼ 数据抽象(在不同层次上描述数据对象的细节,定义 与该数据对象相关的操作)