- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《3.第四章软件设计概述2014简化版
第四章 软件设计概述 4.1 软件设计的任务 4.2软件设计的基本原理概念 4.3模块化设计 4.3.1分解和模块化 4.3.2模块独立性内聚 耦合 需求分析:对目标系统的数据、功能和行为建模 设计:把分析阶段的需求说明转换成设计文档。 根据设计结果可进行下一步的编制代码工作了 将需求-软件的表现形式 输出文档:软件设计文档 两种主流设计方法: 结构化软件设计 面向对象的软件设计 4.1 软件设计的阶段和任务 两阶段四任务: 4.2软件设计的基本概念 模块(module)与构件(component) 模块:定义输入、输出和特性的程序实体 构件:可重复使用的软件组件 抽象(abstract)与细化(refinement) 抽象:分层次考虑和处理问题(数据和过程) 细化:从高到低的逐步分解过程 信息隐藏 对其它模块隐藏模块内部的数据和过程 一个模块内部(信息数据和过程)对于不需要了解这些信息的模块来说,是不能访问的 只有为了完成软件的总体功能而必须在模块间交换的信息,才容许在模块间交换 4)软件复用 充分利用已有的现成构件,不必一切从头开始 Design with reuse, design for reuse 4.3模块化设计(module design) 4.3.1模块化 4.3.2分解(decomposition) 4.3.3模块独立性(module independence) 4.3.4 自顶向下(top—down design) 自底向上(bottom—up design) 4.3.1模块module 模块化: 把大型软件划分成一个个小的,相对独立又互相关联的模块 每个模块完成一个子功能,这些模块集成起来就是构成一个整体 模块: 一个由编辑元素限定的,拥有明确定义的输入,输出特生的程序实体 分解 模块化 4.3.2分解Partitioning 启发: 将一个复杂问题分解为几个小问题,减少问题复杂度 问题的复杂度: C (P1+P2)C (P1)+C (P2) 解题需要的工作量:E (P1+P2)E (P1)+E (P2) 无限制的分解问题,工作量是否越来越小? 分解分为两个方向 水平分解(Horizontal partitioning) 垂直分解(Vertical partitioning) 4.3.2模块独立性module independence 模块独立性——模块分解所必须遵循的准则! 内涵: 设计软件结构时,使每个模块具有一个相对独立的子功能 且与其他模块没有过多联系 模块独立性的度量 内聚(cohesion)——模块内部各成分之间的联系 耦合(coupling)——模块与其它模块间的联系 模块的独立性高 高内聚,低耦合——块内联系强 块间联系弱 (一)内聚 (a)低级内聚度 偶然性内聚(Coincidental Cohesion)。 模块内各成分为完成一组功能而组合在一起,它们相互之间即使有关系,也很松散。例 逻辑性内聚(Logical Cohesion) 把几种相关的或功能相似的成分组成一个模块 每次调用时,由传送给模块的判定参数来确定模块应执行那种功能 例 时间性内聚(Temporal Cohesion) 模块包含的诸任务必须在同一时间段内执行,如一个初始化模块,终止模块 例:偶然性内聚模块 例: 逻辑性内聚模块 (b)中级内聚度 (4)过程性内聚(Procedural Cohesion) 模块具有过程性内聚度指,模块内成分彼此相关,并且必须按特定的次序执行; (5)通信性内聚(Communicational Cohesion) 模块中各成份都将对数据结构的同一区域进行操作,以达到通信的目的。 例 过程化内聚模块 例 通信内聚模块 (c)高级内聚度 (6)顺序性内聚(Sequential Cohesion) 模块内的各处理成份均与同一功能相关 且这些处理必须顺序执行,则称顺序内聚。 (7)功能性内聚(Functional Cohesion) 模块内所有成分形成一个整体,完成单个功能。 模块各成分紧密联系,不可分割! 如:求平方根 设计软件时,应识别内聚度的高低,并通过修改设计尽可能提高模块内聚度,从而获得较高的模块独立性 高内聚,低耦合,一个模块,一个功能! (二)耦合 coupling 耦合度:软件结构中模块间关联程度的一种度量。 耦合的强弱取决于模块间接口的复杂性、进入或调用模块的位置以及通过界面传送数据的多少等。 (a)弱耦合 (1)非直接耦合(Nodirect Coupling) 两模块中任一个都不依赖对方能独立工作, 这类耦合度最低。 (2)数据耦合(Data Coupling
您可能关注的文档
- 《2012-2013上学期期中考试六年级语文学科试卷分析.doc
- [使用教程.docx
- 《2011~2012学年九年级化学第一次月考试卷人教新课标版.doc
- [使用PowerDesigner设计ER图详细教程.doc
- 《3.第四章秦朝的法律制度.ppt
- 《2012--2013初三期中考试化学测试题及答案.doc
- 《2012-2013S版小学四年级上期期中调研试题.doc
- [使用必修三导学案.doc
- 《2012-2013中国近代史第一学期纲要复习题.doc
- 《2011~2012学年度第一学期九年级期末调研考试英语试题及答案.doc
- 2025年朔州市怀仁县小升初数学秋季入学摸底测试卷(含答案).doc
- 2025年朝阳市凌源市小升初数学秋季入学摸底测试卷(含答案).doc
- 2025年朝阳市凌源市小升初语文秋季入学摸底测试卷(含答案).doc
- 现代汽车技术课件PPT.pptx
- 2025年朝阳市北票市小升初数学秋季入学摸底测试卷(含答案).doc
- 2025年曲靖市麒麟区小升初数学秋季入学摸底测试卷(含答案).doc
- 2025年朔州市右玉县小升初数学秋季入学摸底测试卷(含答案).doc
- 阅读《说话的艺术》说话,就是在每个场合都得体(30页PPT).pptx
- 2025年朔州市山阴县小升初数学秋季入学摸底测试卷(含答案).doc
- 2025年朔州市平鲁区小升初数学秋季入学摸底测试卷(含答案).doc
最近下载
- 诸侯纷争与变法运动【课件】.pptx VIP
- 中国高血压防治指南(2024年修订版)_中国高血压防治指南修订委员会__.pdf VIP
- “扬子石化杯”2024年第38届中国化学奥林匹克(江苏赛区)初赛化学.pdf VIP
- 民事诉讼法中案外第三人对执行的异议之诉.pdf VIP
- 车险承保方案.pdf VIP
- “扬子石化杯”2024年第38届中国化学奥林匹克(江苏赛区)初赛化学试卷含答案.pdf VIP
- 临海市城市生活垃圾焚烧发电厂扩建工程环境影响报告.pdf
- 2025内蒙古鄂尔多斯市公安机关招聘留置看护警务辅助人员115人笔试参考题库附答案解析.docx VIP
- 模电教案-李国丽.doc
- 2023版中国结直肠癌及癌前病变内镜诊治共识PPT课件.pptx VIP
文档评论(0)