第四章总体设计

it2023-08-22  63

模块化:

模块是由边界元素限定的相邻程序元素的序列、而且有一个总体标识符代表它

模块是构成程序的基本构件

一个软件系统可以根据其功能,分解成许多小的程序单元(模块)

模块是具有独立功能单独命名的一段程序   方便其他模块对其进行调用

模块的名称必须表达这个模块的功能

模块: 过程  、  函数  、  子程序  、  宏      面向对象方法学中的对象 和对象内的方法

模块的基本属性:

功能:指该模块要完成的任务

逻辑:描述模块为了完成任务模块内部需要怎么做

状态:表明使用该模块时的环境和条件

模块化的概念:

把程序划分成若干个模块、每个模块完成一个子功能

把这些模块集成起来构成一个整体、完成指定的功能、满足用户的需求

模块化的依据:把复杂的问题分解成容易解决的小问题、原来的问题就比较容易解决

模块化是好的软件设计的基本准则、高层模块是从整体上把握问题、其细节是隐蔽的

在使用模块时需注意:(控制模块的总数)

模块数目增加时、开发单个模块的成本减少

随着模块的增加、设计模块间接口的工作量也将增加、模块多、其接口也多

模块化的优点:

使软件结构清晰

提高软件的可靠性

提高软件的可修改性

有助于工程的组织管理

抽象与信息隐藏:

抽象就是抽出事物的本质特征

处理复杂系统:用层次的方式构造和分析它

软件工程过程中的每一个阶段、都是对软件解法的抽象层次的一次精化

软件工程过程阶段:

——可行性分析阶段:

把需要解决问题抽象为一个解、探索是否有可行的解决方法

——需求分析阶段:

把需要解决的解抽象成功能

——总体设计阶段:

把系统抽象为结构

——详细设计阶段:

把结构抽象为每个模块的处理过程

——编码阶段:

把处理过程抽象为机器能执行的程序、当源程序写出来以后、也就达到了抽象的最底层

 

对软件系统进行模块化设计时、可以有不同的抽象层次

逐步求精和模块化的概念、与抽象是密切相关的

在总体设计阶段采用自顶向下、逐步求精的方法、也就是从抽象到具体的过程

软件结构顶层:

控制了系统的主要功能并且影响全局

软件结构底层:

完成对数据的一个具体处理

用自顶向下或者由抽象到具体的方式分配控制、简化了软件的设计和实现、提高了软件的可理解性和可测试性、并且使软件更容易维护

逐步求精:(推迟细节的考虑)解决复杂问题采用的基本方法、规格说明技术、设计和实现技术等的基础

抽象——(互补)——求精

求精:细化过程  ————下层

抽象:抽出事物的本质特征,暂不考虑细节——————上层

逐步求精和模块化的概念,与抽象并不是紧密相关的。

信息隐藏原理:

模块包含的信息(过程、数据)对于不需要这些信息的模块来说是不能访问的

局部化的概念和信息隐藏的概念是密切相关的            

局部化:关系密切的软件元素、物理地址放的靠近、例子:在模块中使用局部数据元素、局部变量

局部化有助于信息隐藏

信息隐藏:一个模块内、对于不需要这些信息的模块来说是不能访问的         提高模块的独立性

 

最新回复(0)