欢迎来到天天文库
浏览记录
ID:27147604
大小:2.51 MB
页数:114页
时间:2018-12-01
《《结构化软件设计》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章结构化软件设计软件设计的概念结构化设计方法过程设计Jackson方法4.1软件设计的概念模块和模块化工程上,许多大的系统都是由一些较小的单元组成。例如,建筑工程中的砖瓦和构件,机械工程中的各种零部件等。这样做的优点是便于加工制造,便于维修,而且有些零部件可以标准化,为多个系统所用。同样,软件系统也可以根据其功能分解成许多较小的程序单元,它们就是模块。一般把用一个名字就可调用的一段程序称为“模块”模块具有如下3个基本属性。·功能:指该模块要完成的任务。·逻辑:描述模块为了完成任务,模块内部怎么做。·状
2、态:使用该模块时的环境和条件。对于一个模块,还应该按模块的外部特性与内部特性分别进行描述。模块的外部特性是指模块的模块名、模块的输入/输出参数,以及它给程序乃至整个系统造成的影响。而模块的内部特性则是指完成其功能的程序代码和仅供该模块内部使用的数据。对于其他模块来说,只需了解被调用模块的外部特性就足够了,不必了解它的内部特性。在软件设计时,通常是先确定模块的外部特性,然后再确定它的内部特性。前者是软件总体设计的任务,后者是详细设计的任务。模块化是把整个系统划分成若干个模块,每个模块完成一个子功能,将多个模
3、块组织起来实现整个系统的功能。模块化设计方法强调清楚地定义每个模块的功能和它的输入/输出参数,而模块的实现细节隐藏在各自的模块之中,与其他模块之间的关系可以是调用关系,因此模块化程序易于调试和修改。随着模块规模的减小,模块的开发成本减少,但是模块之间的接口变得复杂起来,使得模块的集成成本增加。那么模块的规模多大才合适呢?模块之间的关系可能密切到什么程度呢?软件工程用模块独立性来衡量。耦合的概念主程序子程序1子程序2模块之间无连接,则无耦合主程序子程序1子程序2模块之间存在连接,则存在耦合耦合是模块之间的互
4、连程度度量模块之间的连接有:调用,返回,进入,跳出数据耦合AB调用,返回,参数传递数据耦合开发货单计算金额单价数量金额特征耦合如果两个模块都与同一个数据结构有关,则称为特征联结。计算水费和电费计算水费计算电费住户详情水费住户详情电费模块之间的特征联结控制耦合PROCA(){……….B(x,y,1)//调用B,使用其功能1………..B(x,y,2)//调用B,使用其功能2}PROCB(a,b,flag){docasecaseflag=1功能1caseflag=2功能2…………..endcase}控制耦合公共
5、环境耦合图3.3公共环境耦合例图公共环境耦合内容耦合内容耦合一个模块直接访问另一个模块的内部数据;一个模块不通过正常入口转到另一个模块内部;两个模块有一部分程序代码重叠;一个模块有多个入口;耦合与模块独立性图3.2耦合性与模块独立性建议:尽量使用数据耦合,少用控制耦合,限制公共耦合的范围,不用内容耦合内聚的概念内聚标志一个模块内部各元素彼此结合的紧密程度。理想内聚的模块只做一件事。在进程概要设计时,要尽量采取高内聚,避免使用低内聚。内聚与耦合呈反比关系,模块内的内聚度越高,模块间的耦合度越低。内聚与模块独
6、立性的关系图3.5内聚性图3.6偶然内聚例子偶然内聚偶然内聚逻辑内聚如果一个模块内部的各组成部分的处理动作在逻辑上相似,但功能都彼此不同或无关,则称为逻辑聚合。一个逻辑聚合模块往往包括若干个逻辑相似的动作,使用时可以选用一个或几个功能。例如:把编辑各种输入数据的功能放在一个模块中。图示:逻辑内聚图3.7逻辑内聚例子逻辑内聚时间内聚如果将需要同时执行的部分放在同一模块中,如初始化或结束模块等,则称为时间内聚。例如:程序设计中的初始化模块。顺序内聚如果模块内的处理是相关的,必须以特定顺序执行,前一个处理动作所
7、产生的输出数据是后一个处理动作的输入数据,则称为过程内聚。过程聚合维护起来不如功能聚合方便,要修改模块中的一个功能,会影响到同一个模块中的其他功能。图示:顺序内聚ABC功能1功能2模块过程内聚如果一个模块内部的各个组成部分的处理动作各不相同,彼此也没有联系,但他们都受同一个控制流支配,决定他们的执行次序,称为过程聚合。在使用流程图进程程序设计,并通过对流程图的划分组成模块时,就会得到过程内聚模块。循环体计算累积事务记录累积销售额累积订货量通过循环体,计算两种累积数。通信内聚如果一个模块内各组成部分的处理动
8、作都使用相同的输入数据或相同的输出数据,称为通讯聚合。案例:通信内聚获得配件单价和库存量配件编号库存量单价两个工作:1.按配件编号查询“数据存储”,获得单价。2.按配件编号查询“数据存储”,获得库存量。这两个处理动作都使用相同的输入数据,称为通讯聚合。功能内聚功能内聚如果一个模块的各个成分都是完成某个具体任务必不可少的成分,这些成分协同工作,紧密联系,不可分割,则称为功能内聚。功能内聚的内聚度最高,概要设计中要追求的目标。满足
此文档下载收益归作者所有