- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SE研第3章2
* * 3.4.3 软件设计原理 SD方法采用模块化原理进行软件结构的设计。 模块:单独命名的可以通过名字访问的数据说明、可执行语句等程序对象的集合。 例如,过程、函数、子程序、宏等等都可作为模块。 第三章 软件开发的结构化方法 3.3 结构化分析 3.4 结构化设计 3.4.1 结构化设计方法概述 3.4.2 软件结构图 3.4.3 软件设计原理 3.4.4 软件设计原则 3.4.5 结构化软件设计策略 3.4.6 数据库的逻辑设计 高级软件工程 南京邮电大学软件学院陈春玲 第三章 软件开发的结构化方法 模块有两个方面的特征:外部特征和内部特征。 模块的输入、输出和功能构成模块的外部特征; 内部数据和程序代码构成模块的内部特征。 模块化:把一个复杂的大型程序划分成若干个模块,每个模块完成一个子功能,把这些模块汇总起来组成一个整体,可以完成指定的功能而满足问题的要求。 采用模块化原理可以使软件结构清晰,便于设计、阅读和理解,从而便于维护。 一个好的模块应该符合信息隐蔽和模块独立性原则。 信息隐蔽:是指一个模块内所包含的信息(数据和代码)对于不需要这些信息的模块来说是不能访问的。 由于信息隐蔽,就减少了错误在模块间传递的可能性。 模块独立性: 是指软件系统中的每个模块只完成一个相对独立的子功能,且与其它模块间的接口简单。 内聚:衡量一个模块内各组成部分之间彼此联系的紧密程度。 模块内联系越紧密内聚性越好; 耦合:衡量不同模块间相互联系的紧密程度。 模块间联系越松散耦合性越好。 结构化设计追求的目标是模块内的高内聚和模块间的低耦合。 模块独立性用两个定性标准度量:内聚和耦合。 影响模块间耦合性的因素: 模块间的联系方式、模块间接口的性质和接口上通过的数据量。 模块间的联系方式是指一个模块调用另一模块的方式。 比如,是通过过程调用语句正常调用另一模块,还是不通过正常入口而直接转入另一模块内部,或者直接访问另一模块的内部数据等。 模块间接口的性质由接口上传递的信息的性质决定。 通过模块接口的信息有三种类型:数据型、控制型和描述性标志。 数据型信息记录某些事实,常用名词表示; 描述性标志表示某些数据的状态和性质,如无效帐号,文件结束等; 控制型信息传递到被调用模块用于控制模块内部的语句执行次序和方式。 描述性标志也是一种控制信息。 还有一种混合型(也称控制/数据型),它传递的是指令,一个模块修改另一模块的指令。这种情况只出现于汇编语言程序中。 模块间的耦合程度按从低到高分类如下: ⑴无耦合。如果两模块之间没有任何联系,每一个都能独立地工作而不需要另一模块的存在,是彼此完全独立的,则这两个模块间属于无耦合的情况。 ⑵数据耦合。如果两个模块是通过参数表仅传递数据型信息,则这种耦合称为数据耦合。 数据耦合是松散的耦合,模块间的独立性较强。软件结构中至少有这种耦合。 ⑶特征耦合。若两个模块通过参数表传递的是某一数据结构的子结构,而不是简单变量,这就是特征耦合。 是数据耦合的一种变种。增加出错的机会,不易改动(数据结构变化时)。将该数据结构上的操作全部集中在一个模块中,就可消除这种耦合。 ⑷控制耦合。如果传递控制型信息,这就是控制耦合。 对被控制的模块做任何修改,都会影响到控制模块,降低模块的独立性。 模块1 模块2 标志 标志 C D E F L M N O P 公共数据区 ⑸公共耦合。若一组模块使用了公共数据,则它们之间的耦合称为公共耦合。 公共数据包括全程变量、共享的通信区、内存的公共覆盖区等。公共数据的使用,必然降低软件的可读性、可修改性和可靠性。 如FOTRAN中的COMMON语句。 ⑹内容耦合。如果发生下列情况之一,两个模块间就是内容耦合: ? 一个模块直接访问另一个模块的内部数据; ? 一个模块通过不正常入口直接转入另一模块内部; ? 一个模块有多个入口; ? 两模块有一部分代码重叠(只在汇编语言中出现); 内容耦合是耦合性最高的耦合,即是模块间最坏的联系方式,现在大多数高级程序设计语言中已经不会出现这种耦合。 在进行设计时应该采取以下原则:以数据耦合为主,特征耦合为辅,少用控制耦合,限制公共耦合,杜绝内容耦合。 模块的内聚性按从低到高分类如下: ⑴偶然内聚。如果模块中各组成成分间彼此没有实质联系,即使有联系也是很松散的,模块功能模糊,则称为偶然内聚。 有时写完一段程序后,发现一组语句在程序中多处出现,便将其组织在一个模块内以节省内存,就出现了偶然内聚的模块。在模块设计时,如果发觉一个模块难以命名,就应考虑是否出现偶然内聚
您可能关注的文档
- ppt课件_鲁教版_初中语文_八年级下_《公输》.ppt
- PPT配色精析.ppt
- ppt规则.ppt
- PPT行业大赛--科技,电子,信息模板.pptx
- PPT:品社日行千里不是梦.ppt
- PPT裂隙灯.ppt
- PPT英语环境污染.ppt
- PQ-6完整说明书.doc
- PR100说明书.doc
- PRHR技术方案分析.doc
- 2023年连江县公务员考试行测试卷历年真题及答案详解参考.docx
- 2023年连江县公务员考试行测试卷历年真题及答案详解一套.docx
- 2023年连江县公务员考试行测试卷历年真题及完整答案详解1套.docx
- 《庖丁解牛》课件-统编版高中语文必修下册.pptx
- 2023年连江县公务员考试行测试卷历年真题及完整答案详解一套.docx
- 2023年连江县公务员考试行测试卷历年真题及参考答案详解.docx
- 2023年连江县公务员考试行测试卷历年真题及参考答案详解一套.docx
- 2023年连江县公务员考试行测试卷历年真题及参考答案详解.docx
- 2023年连江县公务员考试行测试卷历年真题及一套参考答案详解.docx
- 2023年连江县公务员考试行测试卷历年真题及1套完整答案详解.docx
文档评论(0)