- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第一页,共二十页,2022年,8月28日 软件设计的任务 分析模型 设计模型 设计文档 回答How to do? 可以分为概要设计、详细设计 软件设计包括 数据设计 体系结构设计 接口设计 过程设计 第二页,共二十页,2022年,8月28日 软件设计的任务 数据设计 信息模型 软件数据结构 体系结构设计 定义软件部件间的关系 接口设计 软件内部、外部及与人之间的通信 过程设计 软件组件的过程性描述 第三页,共二十页,2022年,8月28日 软件设计的基本概念 模块(module)与构件(component) 模块:定义输入、输出和特性的程序实体 构件:可重复使用的软件组件 抽象(abstract)与细化(refinement) 抽象:分层次考虑和处理问题(数据和过程) 细化:从高到低的逐步分解过程 信息隐藏 对其它模块隐藏模块内部的数据和过程 软件复用 第四页,共二十页,2022年,8月28日 模块化设计(modular design) 分解(decomposition) 模块独立性(module independence) 自顶向下(top—down design) 自底向上(bottom—up design) 第五页,共二十页,2022年,8月28日 分解(decomposition) C (P1+P2)C (P1)+C (P2) E (P1+P2)E (P1)+E (P2) C为问题的复杂度,E为解题需要的工作量 模块数 接口成本 最小成本区 M 软件开发工 作 量 总成本 模块成本 第六页,共二十页,2022年,8月28日 模块独立性(module independence) 内聚(cohesion) 模块内部各成分之间 耦合(coupling) 一个模块与其它模块之间 模块的独立性高 块内联系强 块间联系弱 第七页,共二十页,2022年,8月28日 内聚 1 2 3 4 5 6 7 弱 强 低内聚 中内聚 高内聚 第八页,共二十页,2022年,8月28日 内聚 cohesion 1.偶然性内聚 coincidental cohesion 2.逻辑性内聚 logical cohesion 3.时间性内聚 temporal cohesion 4.过程性内聚 procedural cohesion 5.通讯性内聚 communicational cohesion 6.顺序性内聚 sequential cohesion 7.功能性内聚 functional cohesion 第九页,共二十页,2022年,8月28日 逻辑性模块 读入分数 平均/最高? 计算平均分 计算最高分 输出结果 第十页,共二十页,2022年,8月28日 耦合 coupling 1.非直接耦合 no direct coupling 2.数据耦合 data coupling 3.特征耦合 stamp coupling 4.控制耦合 control coupling 5.外部耦合 external coupling 6.公共耦合 common coupling 7.内容耦合 content coupling 第十一页,共二十页,2022年,8月28日 弱耦合 数据耦合 非直接 耦合 模块2 模块1 模块4 模块3 特征耦合(参数表 传递数据结构) 第十二页,共二十页,2022年,8月28日 公共耦合 D C B A N L 第十三页,共二十页,2022年,8月28日 自定向下和自底向上设计 自顶向下 顶层开始 逐步分解 由底向上 选择关键部分先设计 扩展到整个系统 第十四页,共二十页,2022年,8月28日
文档评论(0)