- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
software work-4th
软件工程导论 第四章?总体设计 数据流图→ 接口设计,体系结构设计 数据字典→ 数据设计 加工 → 过程设计 数据设计: 数据结构 体系结构设计: 软件的主要结构性元素 接口设计: 软件内部,软件和协作系统之间 以及软件同人之间如何通信。 设计不是编码,编码也不是设计。 4.1 总体设计的过程 实施总体设计的过程 1.设想供选择的方案 2.选取合理的方案 3.推荐最佳方案 4.功能分解 5.设计软件结构 6.数据库设计 7.制定测试计划 8.书写文档 9.审查和复审 4.2 概要设计的基本概念 将系统划分成模块 决定每个模块的功能 决定模块的调用关系 决定模块的界面,即模块间传递的数据 4.2.1 模块化 模块化论据: C(x)定义为问题x的感知复杂性 E(x)定义为解决问题x所需要的工作量 对p1和p2两个问题, 若 C(p1) C(p2),则 E(p1) E(p2) C(p1 + p2) C(p1) + C(p2) E(p1 + p2) E(p1) + E(p2) 不要过度模块化!每个模块的简单性将被集成的复杂性所掩盖。 模块 用一个名字可以调用的一段可执行程序语句。 具有输入和输出,功能,内部数据,程序代码等四个特性。 完成一个独立功能的程序单元。 模块 把大型软件按照规定的原则划分为一个个较小的、相对独立但又相关的模块的设计方法,叫做模块化设计(modular design)。 实现模块化设计的重要指导思想是分解、信息隐藏和模块独立性。 模块化和软件成本 如何确定模块的大小: 模块可分解性 模块可组装性 模块可理解性 模块连续性 模块保护 信息隐藏 模块内部的数据与过程,应该对不需要了解这些数据与过程的模块隐藏起来。只有那些为了完成软件的总体功能而必需在模块间交换的信息,才允许在模块间进行传递。 “隐蔽”意味着有效的模块化可以通过定义一组独立的模块而实现,这些独立的模块彼此间仅仅交换那些为了完成系统功能而必须交换的信息。 这一指导思想的目的是为了提高模块的独立性,即当修改或维护模块时减少把一个模块的错误扩散到其他模块中去的机会。 模块独立性 模块独立性(module independence)概括了把软件划分为模块时要遵守的准则,也是判断模块构造是否合理的标准。一般地,坚持模块的独立性是获得良好设计的关键。 模块的独立性可以由两个定性标准度量,这两个标准分别称为内聚和耦合。耦合用于衡量不同模块彼此间互相依赖(连接)的紧密程度;内聚用于衡量一个模块内部各个元素间彼此结合的紧密程度。 自顶向下逐步细化 自顶向下设计的特点: a.易于修改和扩展 b.整体测试较易通过 c.需要进行详细的可行性论证 由底向上设计的特点: a.可能导致较大的重新设计 b.整体测试中可能在模块接口间发现不一致 等问题 c.如果在可行性上出现问题,可以较早发现 耦合的七种类型 数据耦合 标记耦合 控制耦合 外部耦合 公共耦合 内容耦合 内容耦合 content coupling 如果两个模块中的一个直接引用了另一个模块的内容,则它们之间是内容耦合。 内容耦合 content coupling 例2:部分代码重叠 公共耦合 common coupling 如果两个模块都可以存取相同的全局数据,则它们之间是公共耦合。 公共耦合 common coupling 公共耦合存在的问题: 公共部分的改动将影响所有调用它的模块; 公共部分的数据存取无法控制; 复杂程度随耦合模块的个数增加而增加。 解决方法: 通过使用信息隐藏来避免公共耦合。 外部耦合 external coupling 当模块与软件的外部环境联结在一起,并受到约束时就出现较高程度的耦合,则它们之间为外部耦合。 控制耦合 control coupling 如果两个模块中的一个模块给另一个模块传递控制信息,则它们具有控制耦合。 标记耦合 stamp coupling 如果两个模块都要使用同一数据结构的一部分,不是采用全局公共数据区共享,而是通过模块结构传递数据结构的一部分,则它们之间为标记耦合。 数据耦合 data coupling 被调用模块的输入与输出是简单的参数或者是数据结构(该数据结构中的所有元素为被调用的模块使用),则它们之间为数据耦合。 非直接耦合 no direct coupling 两个模块之间没有联系,则它们之间为非直接耦合。 块间联系的原则 实现低耦合,采取下列措施: 耦合方式 采用非直接耦合。 传递信息类型 尽量使用数据耦合,少采用控制耦合,外部耦合和公共耦合限制使用。 耦合数量
您可能关注的文档
- M1 U1 It smells delicious.ppt
- M10U2_this_morning_we_took_a_walk_.ppt
- M1U42012-grammar.ppt
- M3-U8-L3 做课课件 薛春燕.ppt
- M9 Unit4 behind beliefs-project.ppt
- management accounting exam review.ppt
- Managing People for Service Advantage.ppt
- Mankiw Economics Chap_03 中山大学吴柏林教授“曼昆·经济学原理”绝密资料.ppt
- Mankiw经济学原理课件英文Chap03.ppt
- Marco Polo and the silk road.ppt
最近下载
- 中医治疗带状疱疹后遗神经痛的研究.doc VIP
- 江铃-江铃E400-产品使用说明书-E400豪华型-JX70021BEV-江铃E400使用说明书.pdf VIP
- ISO IEC 27017-2015 信息技术--安全技术--基于ISO IEC 27002的云服务信息安全控制实践准则.pdf
- 脑疝病人的护理课件(完整版).pptx VIP
- 4-6岁 《游来游去的水母》-美术课件.ppt VIP
- 100个超级有趣的冷知识.pdf VIP
- 指挥调度系统项目可行性研究报告.docx VIP
- 公司节能减排方案.pptx VIP
- RBANS记录表(精分,重度抑郁,焦虑障碍,正常对照).docx VIP
- 重症医学科绩效考核.ppt VIP
文档评论(0)