第七章结构化软件设计精选文档.ppt

上传人:石*** 文档编号:89977324 上传时间:2023-05-13 格式:PPT 页数:68 大小:3.71MB
返回 下载 相关 举报
第七章结构化软件设计精选文档.ppt_第1页
第1页 / 共68页
第七章结构化软件设计精选文档.ppt_第2页
第2页 / 共68页
点击查看更多>>
资源描述

《第七章结构化软件设计精选文档.ppt》由会员分享,可在线阅读,更多相关《第七章结构化软件设计精选文档.ppt(68页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第七章结构化软件设计第七章结构化软件设计 2008 BUPT TSEG本讲稿第一页,共六十八页本章内容本章内容u7.1 系统功能结构图u7.2 变换映射u7.3 事务映射u7.4 优化系统功能结构图u7.5 设计后处理u7.6 详细设计u7.7 界面设计u7.8 HIPO简介u7.9 Jackson简介 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软通信软件工程中心北京邮电大学件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮通信软件工程中心北京邮电大学电大学 通信软

2、件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心通信软件工程中心本讲稿第二页,共六十八页引言引言u结构化设计方法依据需求分析的结果“数据流图”推导出软件的系统功能结构图。其要点是:建立数据流的类型。指明数据流的边界。将数据流图映射到程序结构。用“因子化”方法定义控制的层次结构。用设计测量和一些启发式规则对结构进行细化。2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软通信软件工程中心北京邮电大学件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮通信软件

3、工程中心北京邮电大学电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心通信软件工程中心本讲稿第三页,共六十八页7.1 结构图的基本概念结构图的基本概念 u四种基本类型的模块传入模块传入模块:从下属模块取得数据,经过某些处理,再将其传送给上级模块。传出模块传出模块:从上级模块获得数据,进行某些处理,再将其传送给下属模块。变换模块变换模块:即加工模块。它从上级模块取得数据,进行处理,转换成其它形式,再传送回上级模块。协调模块协调模块:对所有下属模块进行协调和管理的模块。2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中

4、心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件通信软件工程中心北京邮电大学工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心通信软件工程中心本讲稿第四页,共六十八页7.1.1 结构图的分解和类型结构图的分解和类型u原子模块:结构图中不能再分解的底层模块;u因子分解系统:所有系统的加工处理都由原子模块完成;其它非原子模块仅仅进行控制和协调的功能。u通常,系统功能结构图根据数据流图中加工特性分为以下两种结构:变换处理型事务处理型 2008 BUPT TSEG

5、北京邮电大学北京邮电大学 通信软件工程中心北京邮通信软件工程中心北京邮电大学电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大通信软件工程中心北京邮电大学学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心通信软件工程中心本讲稿第五页,共六十八页7.1.2 变换型结构变换型结构u变换型数据处理问题的工作过程大致分为三步,取得数据变换数据给出数据 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程

6、中通信软件工程中心北京邮电大学心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工通信软件工程中心北京邮电大学程中心北京邮电大学 通信软件工程中心通信软件工程中心本讲稿第六页,共六十八页7.1.3 事务型结构事务型结构u存在某一个作业数据流,它可以引发一个或多个处理,这种数据流就叫做事务。事务处理中心事务处理加工u事务是最小的工作单元,不论成功与否都作为一个整体进行工作。原子性一致性隔离性持久性 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大

7、学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件通信软件工程中心北京邮电大学工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心通信软件工程中心本讲稿第七页,共六十八页7.2 变换映射变换映射u变换映射是一组设计步骤,将具有变换流特征的数据流图映射为一个预定义的程序结构模版。u运用变换映射方法建立初始的系统结构图,然后进行多次改进,得到系统的最终结构图。复审并评估分析模型;复审并重画数据流图;确定数据流图中的变换和事务特征;区分输入流、输出流和中心变换部分,即标明数据流的

8、边界;进行一级“因子化”分解,设计顶层和第一层模块;进行二级“因子化”分解,设计中、下层模块;利用一些启发式原则来改进系统的初始结构图,直到得到符合要求的结构图为止。2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中通信软件工程中心北京邮电大学心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工通信软件工程中心北京邮电大学程中心北京邮电大学 通信软件工程中心通信软件工程中心本讲稿第八页,共六十八页7.2.1 重画数据流图重画数据

9、流图u其出发点是描述系统中的数据是如何流动的;并根据需要将局部层次的数据流图合并为一层,便于理解和设计;以需求分析阶段的数据流图为基础,可以从物理输入到物理输出,或者相反;也可以从顶层加工开始,逐层向下;一般情况下,在图上不要出现控制逻辑(例如判定和循环等),箭头只表示数据流而非控制流;不用考虑系统的开始和结束;省略每一个加工的异常处理,只考虑主要加工处理逻辑;当数据流进入和离开一个加工时,要仔细地标记它们,不要重名。如有必要,可以使用逻辑运算符“与”和“或”。2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中通信软

10、件工程中心北京邮电大学心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工通信软件工程中心北京邮电大学程中心北京邮电大学 通信软件工程中心通信软件工程中心本讲稿第九页,共六十八页7.2.2 确定系统边界确定系统边界u中心变换:多股数据流汇集的地方往往是系统的中心变换部分。u逻辑输入:可以从数据流图上的物理输入开始,一步一步向系统中间移动,一直到数据流不再被看作是系统的输入为止,则其前一个数据流就是系统的逻辑输入。可以认为逻辑输入就是离物理输入端最远的,且仍被看作是系统输入的数据流。u逻辑输出:从物理输出端

11、开始,一步一步地向系统中间移动,就可以找到离物理输出端最远,且仍被看作是系统输出的数据流。2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京邮通信软件工程中心北京邮电大学电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大通信软件工程中心北京邮电大学学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心通信软件工程中心本讲稿第十页,共六十八页7.2.3 一级因子化分解一级因子化分解u其主要任务就是设计顶层和第一层模块。顶层模块:主要起到控制和协调的

12、作用;用程序名字命名,将它画在与中心变换相对应的位置上;它调用下层模块,完成系统所要做的各项工作。中层模块(第一层):既完成一部分控制,又完成适当的变换工作;为每一个逻辑输入设计一个输入模块,为主模块提供数据;为每一个逻辑输出设计一个输出模块,它将主模块提供的数据输出;为中心变换设计一个变换模块,它将逻辑输入转换成逻辑输出;第一层模块与主模块之间传送的数据应与数据流图相对应。2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软通信软件工程中心北京邮电大学件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮

13、电大学 通信软件工程中心北京邮通信软件工程中心北京邮电大学电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心通信软件工程中心本讲稿第十一页,共六十八页7.2.4 二级因子化分解二级因子化分解u其主要任务是设计中下层模块将数据流图中的每一个变换型加工映射为程序结构中的模块输入模块输出模块变换模块从变换中心的边界开始,沿输入路径和输出路径向外,将变换依次映射到低层的软件结构中去。最终给出初步的系统功能结构图 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北

14、京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件通信软件工程中心北京邮电大学工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心通信软件工程中心本讲稿第十二页,共六十八页7.2.4.1 输入输出模块输入输出模块u输入模块:要向调用它的上级模块提供数据,由以下模块组成:接收数据模块;变换模块:把这些数据变换成它的上级模块所需的数据。u输出模块:从调用它的上级模块接收数据,用以输出,由以下模块组成:一个是将上级模块提供的数据变换成输出的形式;另一个是将它们输出。2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件

15、工程中心北京邮通信软件工程中心北京邮电大学电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大通信软件工程中心北京邮电大学学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心通信软件工程中心本讲稿第十三页,共六十八页7.2.4.2数据流图推导出的数据流图推导出的系统初始结构图系统初始结构图 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程

16、中心北京邮电大学通信软件工程中心北京邮电大学 通信软件通信软件工程中心北京邮电大学工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心通信软件工程中心本讲稿第十四页,共六十八页7.2.4.3 模块的处理说明模块的处理说明u模块输入和输出的信息,即接口描述。u模块需要处理的信息,局部数据结构中存储的数据。u过程描述,指明该功能模块主要的逻辑规则和任务。u功能模块的有关限制条件和特殊性的要求I/O、与硬件相关的特征、时间要求等 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京邮通信软件工程中心北京邮电大学电大学 通信软件工程中

17、心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大通信软件工程中心北京邮电大学学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心通信软件工程中心本讲稿第十五页,共六十八页7.3 事务映射事务映射u事务映射也从分析数据流图开始,自顶向下,逐步分解,建立事务型系统结构图。1.复审系统分析模型复审系统分析模型2.重画数据流图重画数据流图3.确定是否具有事务流特征确定是否具有事务流特征4.确定事务中心及流特征确定事务中心及流特征5.进行事务映射进行事务映射6.因子化分解和细化因子化分解和细化7.优

18、化系统结构优化系统结构 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软通信软件工程中心北京邮电大学件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮通信软件工程中心北京邮电大学电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心通信软件工程中心本讲稿第十六页,共六十八页7.3.1 识别事务中心识别事务中心u事务中心通常位于几条操作路径的起始点上,可以从数据流图上直接找出来。事务源:一个带有请求性质的数据流;事务中心:处理事务源的加工,且后

19、继的多个加工必须是并列的并在事务中心的控制下完成不同功能处理。2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京邮通信软件工程中心北京邮电大学电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大通信软件工程中心北京邮电大学学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心通信软件工程中心本讲稿第十七页,共六十八页7.3.2 事务映射事务映射u事务流应映射到包含一个输入分支和一个分类事务处理分支的程序结构上。输入分支结构的开发与变换流的方法类似

20、分类事务处理分支结构包含一个调度模块,它调度和控制下属的事务处理模块。建立一个主模块用以代表整个加工,P层然后考虑被称为事务层的第二层模块,T层第二层模块只能是三类:取得事务、处理事务和给出结果。处理事务模块的下层为操作模块,A层操作模块之下为细节模块,D层 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京邮通信软件工程中心北京邮电大学电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大通信软件工程中心北京邮电大学学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电

21、大学 通信软件工程中心通信软件工程中心本讲稿第十八页,共六十八页变换变换-事务混和型结构事务混和型结构u一般来讲,一个大型的软件系统不可能是单一的数据变换型,也不可能是单一的事务型,通常是变换型结构和事务型结构的混合体。u在具体的应用中一般以变换型为主,事务型为辅的方式进行软件结构设计。2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软通信软件工程中心北京邮电大学件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮通信软件工程中心北京邮电大学电大学 通信软件工程中心北京邮电

22、大学通信软件工程中心北京邮电大学 通信软件工程中心通信软件工程中心本讲稿第十九页,共六十八页变换变换-事务混和型结构事务混和型结构 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京邮通信软件工程中心北京邮电大学电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大通信软件工程中心北京邮电大学学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心通信软件工程中心本讲稿第二十页,共六十八页7.4 软件模块的优化原则软件模块的优化原则u模块功能的完善化

23、u消除重复功能,改善软件结构 u模块的作用范围应在控制范围之内u尽可能减少高扇出结构 u避免或减少使用病态联接 u模块的大小要适中 u设计功能可预测的模块,避免过分受限制的模块 u软件包应满足设计约束和可移植性 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软通信软件工程中心北京邮电大学件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮通信软件工程中心北京邮电大学电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心通信软件工程中心本讲稿第二

24、十一页,共六十八页7.4.1 模块功能的完善化模块功能的完善化 u一个完整的功能模块,不仅应能完成指定的功能,而且还应当能够告诉使用者完成任务的状态,以及不能完成的原因。规定的功能部分;出错处理部分。当模块不能完成规定的功能时,必须返回出错信息和标志,向它的调用者报告出现这种例外情况的原因如果需要返回一系列数据给它的调用者,当完成数据加工时应给它的调用者返回一个该模块执行是否正确结束的“标志”。2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软通信软件工程中心北京邮电大学件工程中心北京邮电大学 通信软件工程中心北京邮电大学通

25、信软件工程中心北京邮电大学 通信软件工程中心北京邮通信软件工程中心北京邮电大学电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心通信软件工程中心本讲稿第二十二页,共六十八页7.4.2 消除重复功能,改善软件结构消除重复功能,改善软件结构u在得到初始的功能结构图之后,如果发现有几个模块有相似之处,可加以改进完全相似:在结构上完全相似,可能只是在数据类型上不一致。局部相似:需要考虑功能之间的耦合及内聚性 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京邮通信软件工程中心北京邮电大学电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮

26、电大学 通信软件工程中心北京邮电大通信软件工程中心北京邮电大学学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心通信软件工程中心本讲稿第二十三页,共六十八页7.4.3 模块的作用范围应在控制范围之内模块的作用范围应在控制范围之内 u模块的控制范围包括它本身及其所有的从属模块;u模块的作用范围是指模块内一个判定的作用范围,凡是受这个判定影响的所有模块都属于这个判定的作用范围。u如果一个判定的作用范围包含在这个判定所在模块的控制范围之内,则这种结构是简单的,否则,它的结构是复杂的。模块模块A的控制范围为:的控制范

27、围为:ABCDEFG。模块模块C的控制范围为:的控制范围为:CFG。2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中通信软件工程中心北京邮电大学心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工通信软件工程中心北京邮电大学程中心北京邮电大学 通信软件工程中心通信软件工程中心本讲稿第二十四页,共六十八页模块的作用范围与控制范围模块的作用范围与控制范围 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京

28、邮电大学通信软件工程中心北京邮电大学 通信软件工程中通信软件工程中心北京邮电大学心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工通信软件工程中心北京邮电大学程中心北京邮电大学 通信软件工程中心通信软件工程中心本讲稿第二十五页,共六十八页模块的作用范围与控制范围模块的作用范围与控制范围u建议,所有受一个判定影响的模块应该都从属于该判定所在的模块,最好局限于做出判定的那个模块及其直接下属模块。u在设计过程中,当遇到作用范围不在控制范围之内,可应用如下办法把作用范围移到控制范围之内:将判定所在模块合并到父模

29、块中,使判定处于较高的层次;将受到判定影响的模块下移到控制范围内;将判定上移到层次中较高的位置 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中通信软件工程中心北京邮电大学心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工通信软件工程中心北京邮电大学程中心北京邮电大学 通信软件工程中心通信软件工程中心本讲稿第二十六页,共六十八页7.4.4 尽可能减少高扇出结构尽可能减少高扇出结构 u经验证明,一个设计得很好的软件模块结构,通

30、常上层扇出比较高,中层扇出较少,底层扇入到有高扇入的公用模块中。模块的扇出过大,将使得系统的模块结构图的宽度变大,宽度越大结构图越复杂。比较适当的模块扇出数目为25,最多不要超过9。模块的扇出过小也不好,这样将使得系统的功能结构图的深度大大增加,不但增加了模块接口的复杂度,而且增加了调用和返回的时间开销,降低系统的工作效率。2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中通信软件工程中心北京邮电大学心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心

31、北京邮电大学 通信软件工通信软件工程中心北京邮电大学程中心北京邮电大学 通信软件工程中心通信软件工程中心本讲稿第二十七页,共六十八页扇入扇出结构的调整扇入扇出结构的调整u模块的扇出指模块调用子模块的个数。如果模块的扇出过大,就表明模块过分复杂,需要协调和控制过多的下属模块。u一个模块的扇入数目很大,说明共享该模块的上级模块数目增多。但如果一个模块的扇入太大,比如超过7或8,而且它又不是公用模块,说明该模块可能具有多个功能。为此应当对其进一步分析并将其功能分解。2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中通信软件

32、工程中心北京邮电大学心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工通信软件工程中心北京邮电大学程中心北京邮电大学 通信软件工程中心通信软件工程中心本讲稿第二十八页,共六十八页7.4.5 避免或减少使用病态联接避免或减少使用病态联接 u直接病态联接:即模块A直接从模块B内部取出某些数据,或者把某些数据直接送到模块B内部 u公共数据域病态联接:模块A和模块B通过公共数据域,直接传送或接受数据,而不是通过它们的上级模块。u通信模块联接:即模块A和模块B通过通信模块TABLEIT传送数据。2008 BUPT

33、 TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软通信软件工程中心北京邮电大学件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮通信软件工程中心北京邮电大学电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心通信软件工程中心本讲稿第二十九页,共六十八页7.4.6 模块的大小要适中模块的大小要适中u模块的大小是指模块内部结构的多少。u限制模块的大小是减少复杂性的手段之一,因而要求把模块的大小限制在一定的范围之内。通常规定其语句行数在50100左右,最多不超过50

34、0行。体积过大的模块往往是由于分解不充分,且具有多个功能,因此需要对功能进一步分解,生成一些下级模块或同层模块。反之,模块体积较小时也可以考虑是否可能与调用它的上级模块合并。2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件通信软件工程中心北京邮电大学工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心通信软件工程中心本讲稿第三十页,共六十八页7.4.7 设计功能可

35、预测的模块设计功能可预测的模块 u一个功能可预测的模块不论内部处理细节如何,但对相同的输入数据,总能产生同样的结果。u如果模块内部有一些特殊的鲜为人知的功能时,这个模块就可能是不可预测的。2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件通信软件工程中心北京邮电大学工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心通信软件工程中心本讲稿第三十一页,共六十八页避免过

36、分受限制的模块避免过分受限制的模块 u一个仅处理单一功能的模块,由于具有高度的内聚性,而受到了设计人员的重视。u如果限制死了模块的局部数据结构的大小、控制流的选择或者接口模式,则很难适应用户新的要求或环境的变更,给将来的软件维护造成了很大的困难 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京邮通信软件工程中心北京邮电大学电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大通信软件工程中心北京邮电大学学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件

37、工程中心通信软件工程中心本讲稿第三十二页,共六十八页7.4.8 应满足设计约束和可移植性应满足设计约束和可移植性 u运用变换分析方法建立系统的结构图时应当注意以运用变换分析方法建立系统的结构图时应当注意以下几点:下几点:在选择模块设计的次序时,必须对一个模块的全部直接下属模块都设计完成之后能转向另一个模块的下层模块的设计。在设计下层模块时,应考虑模块的低耦合和高内聚问题,提高初始结构图的质量。注意黑盒技术的使用。如果出现了以下情况,就停止模块的功能分解当模块不能再细分为明显的子任务时;当分解成用户提供的模块或程序库的子程序时;当模块的界面是输入输出设备传送的信息时;当模块不宜再分解得过小时。2

38、008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京邮通信软件工程中心北京邮电大学电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大通信软件工程中心北京邮电大学学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心通信软件工程中心本讲稿第三十三页,共六十八页7.5 设计后处理设计后处理u在经过变换映射和事务映射之后,还需要为所获得的系统功能结构图进行说明,形成概要设计说明书,包括以下内容:必须为每一个模块写一份处理说明;为每一个模块提供一份接口说明;

39、确定全局数据结构和局部数据结构;2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软通信软件工程中心北京邮电大学件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮通信软件工程中心北京邮电大学电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心通信软件工程中心本讲稿第三十四页,共六十八页7.5.1 处理说明处理说明u处理说明是一个关于模块内部处理的清晰且无歧义的正确描述,包含了模块的主要处理任务、条件抉择和输入输出。“给出结果2”模块调用“格式化

40、2”模块,将内部编码形式的计算结果2转换成以ASCII码表示的文本形式的预格式化数据,再调用“给出结果”模块,进一步转换成按预定的图表安排的形式输出。2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京邮通信软件工程中心北京邮电大学电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大通信软件工程中心北京邮电大学学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心通信软件工程中心本讲稿第三十五页,共六十八页7.5.2 接口说明接口说明u接口说明要给出

41、一张表格,列出所有进入模块和从模块输出的数据。应包括通过参数表传递的信息对外界的输入输出信息访问全局数据区的信息指出其下属的模块和上级模块。PROCEDURE format-2;/过程format-2(格式化2)INTERFACE ACCEPTS;/入口 TYPE calc-value-2 IS BINARY CODE;/类型 calc-value-2是二进制码 INTERFACE RETURNS;/出口 TYPE preformatted-data IS NUMERIC /类型preformatted-data是数值型 *no external IO or global data Used

42、/无外部IO或全局数据 *called by put-result-2 /所调用:模块put-result-2 *calls no subordinate modules /调用:无下属模块 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京邮通信软件工程中心北京邮电大学电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大通信软件工程中心北京邮电大学学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心通信软件工程中心本讲稿第三十六页,共六十八页7

43、.5.3 数据结构说明数据结构说明u数据结构的描述可以用伪码(如PDL语言、类PASCAL语言)或Warnier图等形式表达。2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京邮通信软件工程中心北京邮电大学电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大通信软件工程中心北京邮电大学学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心通信软件工程中心本讲稿第三十七页,共六十八页7.5.4 概要设计评审概要设计评审u在评审中应着重评审软件需求是否

44、得到满足,软件结构的质量、接口说明、数据结构说明、实现和测试的可行性和可维护性等。u评审阶段还需要考虑和解决设计中存在的错误,以防错误在后期的软件过程中产生放大,即错误的扩大效应。2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京邮通信软件工程中心北京邮电大学电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大通信软件工程中心北京邮电大学学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心通信软件工程中心本讲稿第三十八页,共六十八页设计评审的效果

45、设计评审的效果 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京邮通信软件工程中心北京邮电大学电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大通信软件工程中心北京邮电大学学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心通信软件工程中心本讲稿第三十九页,共六十八页7.5.5 设计的优化设计的优化u简明的结构往往是精巧的和高效的。因此,优化要力争使模块的个数最少;同时,还应当寻求尽量简单的满足信息需求的数据结构。u对于有时间运行要求的应用问

46、题,在详细设计阶段和编码阶段必须进行优化 在不考虑时间运行要求的条件下构造并改进软件的结构。在细节设计的过程中,挑出那些有可能占用过多时间的模块,并为这些模块精心设计出时间效率更高的过程(算法)。用高级程序设计语言编写代码程序。检测软件,分离出占用大量处理机资源的模块。如果有必要,用依赖机器的语言(机器指令、汇编语言)重新设计或重新编码,以提高软件的效率。2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京邮通信软件工程中心北京邮电大学电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大通信软件工程中心北京邮电大学学 通信软件工程

47、中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心通信软件工程中心本讲稿第四十页,共六十八页7.6 详细设计详细设计u从软件开发的工程化观点来看,在编制程序以前,需要对所采用算法的逻辑关系进行分析,设计出全部必要的过程细节,并给予清晰的表达,使之成为编码的依据,这就是详细设计的任务。u表达详细设计规格说明的工具叫做详细设计工具,它可以分为三类:图形工具表格工具语言工具 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心

48、北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件通信软件工程中心北京邮电大学工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心通信软件工程中心本讲稿第四十一页,共六十八页7.6.1 程序流程图程序流程图u程序流程图独立于任何一种程序设计语言,比较直观、清晰,易于学习掌握。u为使用流程图描述结构化程序,必须限制流程图只能使用下面给出的五种基本控制结构。2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中通信软件工程中心北京邮电大学心北京邮电大学

49、 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工通信软件工程中心北京邮电大学程中心北京邮电大学 通信软件工程中心通信软件工程中心本讲稿第四十二页,共六十八页 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中通信软件工程中心北京邮电大学心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工程中心北京邮电大学通信软件工程中心北京邮电大学 通信软件工通信软件工程中心北京邮电大学程中心北京邮电大学 通信软件工程中心

50、通信软件工程中心本讲稿第四十三页,共六十八页7.6.2 N-S图图uNassi和Shneiderman 提出了一种符合结构化程序设计原则的图形描述工具,叫做盒图,也叫做N-S图。1.1.图中每个矩形框(除图中每个矩形框(除CASECASE构造中表示条件取值的矩形框外)都是构造中表示条件取值的矩形框外)都是明确定义了的功能域,以图形表示,清晰可见。明确定义了的功能域,以图形表示,清晰可见。2.2.它的控制转移不能任意规定,必须遵守结构化程序设计的要求。它的控制转移不能任意规定,必须遵守结构化程序设计的要求。3.3.很容易确定局部数据和(或)全局数据的作用域。很容易确定局部数据和(或)全局数据的作

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com