- 1、本文档共87页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章软件设计1
第一部分传统的软件工程方法;第四章 软件设计;4·1 软件设计的目标和任务;数据
字典;将分析模型转换为软件设计;2. 软件设计的目标;3. 软件设计的两个阶段;4. 概要设计的任务与步骤;4·2 软件设计基础;4·2·1 结构和过程;4·2·1 结构和过程——基本概念;4·2·1 结构和过程——基本概念;4·2·1 结构和过程——基本概念;4·2·1 结构和过程——基本概念;模块化是好软件设计的一个基本准则
高层模块 从整体上把握
问题,隐蔽细节
复杂问题 较小问题
分解
可减小解题所需的总的工作; 令C(x)是确定问题x的复杂度函数,E(x)是决定解决问题x所需要的工作量(按时间计算)的函数。对于问题P1和P2满足;4·2·2 模块化(Modularity);4·2·2 模块化(Modularity); 抽象:解决问题时只考虑与问题有关的方面,不考虑与问题无关的方面。即抽出事物的本质特性而不考虑细节。
原则应用举例
Windows NT一体化的I/O系统设计;文件管理
网络管理
设备管理
高速缓冲存储器;信息隐蔽的含义:
有效的模块化可以通过定义一组独立模块来实现,这些模块相互之间只交流软件功能必需的信息。
换句话说:
模块所包含的信息,不允许其它不需要这些信息的模块访问,独立的模块间仅仅交换为完成系统功能而必须交换的信息。; 可维护性
可靠性
可理解性
效率
信息隐蔽的目的:
提高模块的独立性,减少修改或维护时的影响面。; 把关系密切的软件元素物理地放得彼此靠近。
优点:可维护性好
可靠性好
可理解性好;4.3 模块的独立性; 耦合性是模块间相互依赖程度的度量,耦合的强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数据。
耦合性越高,模块独立性越弱;无耦合-没有依赖关系;一模块对另一模块的引用
一模块向另一模块传递的数据量
一模块施加到另一模块的控制的数量
模块间接口的复杂程度; 低 非直接耦合
耦 数据耦合
合 标志耦合
性 控制耦合
外部耦合
公共耦合
高 内容耦合; 两个模块没有直接关系(模快1和模快2),模块独立性最强。; 一模块调用另一模块时,被调用模块的输入、输出都是简单的数据。
属松散耦合。;开发票;计算水电费; 如两个模块通过传递数据结构(不是简单数据,而是记录、数组等)加以联系,或都与一个数据结构有关系, 则称这两个模块间存在标记偶合。;计算水电费;计算水电费; 一模块通过开关量、标志、名字等控制信息,明显地控制另一模块的功能。;A;读入分数; 控制耦合增加了理解和编程的复杂性,调用模块必须知道被调模块的内部逻辑,增加了相互依赖。
去除模块间控制耦合的方法:
(1)将被调用模块内的判定上移到调
用模块中进行
(2)被调用模块分解成若干单一功
能模块;A;A;A;A; 一组模块均与同一外部环境关联(例如,I/O模块与特定的设备、格式和通信协议相关联),它们之间便存在外部耦合.
外部偶合必不可少,但这种模块数目应尽量少.; 一组模块引用同一个公用数据区(也称全局数据区、公共数据环境)。
公共数据区指:
全局数据结构
共享通讯区
内存公共覆盖区等;A;A;所有的公共
耦合关系;(1)软件可理解性降低
(模块间存在错综复杂的连系)
(2)软件可维护性差
(修改变量名或属性困难)
(3)软件可靠性差
(公共数据区及全程变量无保护措施)
慎用公共数据区和全程变量!!!; 一模块直接访问另一模块的内部信息(程序代码或数据)
最不好内容耦合形式 !!!;(1)一模块直接访问另一模块的内部数据
(2)一模块不通过正常入口转到另一模块内
(3)两模块有一部分代码重叠
(4)一模块有多个入口; 耦合是影响软件复杂程度和设计质量的重要因素
目标:建立模块间耦合度尽可能
松散的系统;(1) 如模块必须存在耦合,选择适当的耦合类型
原则:尽量使用数据耦合
少用控制耦合
限制公共耦合的范围
坚决避免使用内容耦合;接
口
复
杂
性; 一个模块内部各成分之间相互关联的强度
设计目标:高内聚(一模块的所有
成分都直接参与并且
对于完成同一功能来
说都是最基本的)
; 低 巧合内聚
内 逻辑内聚
聚 时间内聚
性
您可能关注的文档
最近下载
- 译林牛津版初中英语九年级上册《Unit 2 Colours》单元作业设计.docx
- 降A 正谱 一杯美酒声乐歌谱正谱子五线谱钢琴伴奏谱乐谱曲 谱弹唱谱歌曲乐曲.pdf
- 2024年汽车检测维修工技能及理论知识考试题库(附含答案) .pdf
- 农业畜牧行业金华石门农场农业生态旅游开发探讨.pdf
- HMI最完整Wincc-flexible培训教程(书签版).pdf
- 金华石门农场农业生态旅游开发探讨文档.doc
- 薄壁零件的数控加工工艺规划.docx
- 学前儿童发展心理学(第3版-张永红)课件51754.pptx
- 全国交管12123学法免分测试题附答案(通用版)605.doc
- 抖音陪跑合同(20230527定稿).docx VIP
文档评论(0)