- 1、本文档共63页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
99-5-5 Software Engineering 第一章 软件和软件工程 软件设计是后续开发步骤及软件维护工作的基础。如果没有设计,只能建立一个不稳定的系统结构 系统设计的好坏根本上决定了软件系 统的优劣。“差的系统设计必定产生差的软 件系统”,但不能保证“好的系统设计必定 产生好的软件系统”。 软件设计任务 概要设计,将软件需求转化为数据结构和软件的系统结构。 详细设计,即过程设计。通过对结构表示进行细化,得到软件详细的数据结构和算法。 软 件 工 程 第五章 总体设计 经过需求分析阶段,知道必须“做什么”, 现在决定“怎样做”。 目的:回答“概括地说,系统该如何实现?” 概要设计,初步设计 划分出组成系统的物理元素:程序、文件、数据 库和文档等,但每个物理元素仍处于“黑盒子” 级,具体内容在详细设计阶段设计。 §1. 概要设计的过程 1、确定最佳方案: ? 从DFD出发进行任务分解,不同的划分方法即对应不同的方案。每个合理的方案应配备下列4份资料: ⑴系统流程图 ⑵组成系统的物理元素清单 ⑶成本/效益分析 ⑷进度计划 ? 选择最佳方案并制定详细的实现计划(13章) §1. 概要设计的过程 2、结构设计 —— 模块化思想: 将DFD细化,至每个子功能都明白易懂;每个模块完成一个子功能; 把模块组织成良好的层次关系,顶层模块调用下层模块…每层模块合成一个高一级的功能。(用层次图或结构图描绘) 主要工具有 System Design Hierarchy及HIPO图等。 §2. 软件设计原则(应该遵循的基本原理和概念) 1、模块化原理: 经验1:E(P1+P2)E(P1)+E(P2) 经验2: §2. 软件设计原则 2、抽象和逐步求精: 概括和集中相似处、忽略差异; 忽略细节,分层理解问题,自顶向下层层加细。 §2. 软件设计原则 3、信息隐蔽和局部化 信息隐藏:每一个模块的实现细节对于其他模块来说是隐蔽的,模块中所包括的信息不允许其他不需要这些信息的模块调用。 局部化:把一些密切相关的软件元素物理地放得彼此靠近。 如:模块中使用的局部变量 §2. 软件设计原则 4、模块独立性(Module independence) * 模块独立性是模块化、抽象和信息隐蔽概念的直接结果。 ⑴ 耦合(Coupling) 例1:A访问C的内部数据或不通过正常入口而转入C的内部。 例2:部分代码重叠(常出现在汇编程序中) ②公共耦合 (Common coupling):几个模块共享一个数据区域 ③ 外部耦合: 是指与计算机外部设备有关的模块,例如输入、输出及数据交换的模块,只有当需要的设备正常联机时,这些模块才能正常工作。 ④控制耦合(Control coupling):一个模块通过传递控制信息来控制另一个模块 ⑤标记耦合: 是指一个模块调用另一个模块时,不是传送数据A本身,而是存放数据A的变量名或文件名(是数据的标记,故称标记耦合)等。这种耦合比数据耦合具有更多的出错可能性,因为数据本身和标记(变量名和文件名等)两者都可能出错。 ⑥数据耦合: 是指一个模块带参数A调用另一个模块,而被调用模块执行后返回调用模块为参数B,并且参数A和B为单个数据项。或者说被调用模块的输入和输出都是数据项参数。 例如:某进程A调用“分配主存”模块,A传送一个参数给分配主存模块是数据项参数—要求的主存大小,返回A的参数是分给的主存的起始地址。 ⑦非直接耦合: 是指两个模块能彼此独立地工作,没有直接的关系。它们的关系是非直接的,仅通过主程序的控制和调用来实现。所以两者之间也不传递任何信息。这样的模块间的关系,称为非直接耦合或称为独立耦合。 内聚:是指一个模块内部的各成分之间(如语句之间或语句段之间)的联系。内聚性越高,模块的性能越好。 内聚分为: 低内聚包括:偶然内聚、逻辑内聚、时间内聚 中等程度内聚包括:过程内聚、通讯内聚; 高内聚包括:顺序内聚、功能内聚。 ? 低内聚: ?偶然内聚(Coincidental cohesion): 偶然内聚是指模块内各成分之间并不存在有意义的联系。 逻辑内聚: 逻辑内聚是指把几个在逻辑上具有相似功能的模块合并,而形成一个新的模块,包含有若干个在逻辑上具有相似功能段的模块,由传送给模块的参数来确定该模块完成那一种功能。 ? 时间内聚(Temporal cohesion):模块内的功能在同一时间段内完成 例如:系统的初始化,文件的打开 问题:不同功能混在一个模块中,有时共用部分编码,使局部功能的修改牵动全局。 通信内聚(Communicational cohesion): 通信内聚是指模块内各成分有公用的数据区,或者说模
您可能关注的文档
- 第四章 十七世纪欧洲文学.ppt
- 第四章 食品中毒性微生物的检验.ppt
- 第四章 体育管理的基本职能.ppt
- 第四章 小学数学学习过程.ppt
- 第四章 信息化战争.ppt
- 第四章 幼儿园教育活动的模式.doc
- 第四章 资本主义的形成及其本质..ppt
- 第四章:认知发展1 当代儿童发展心理学 教学课件.ppt
- 第四章_ 歌剧(二) 西方音乐欣赏与评析.ppt
- 第四章-苯与苯同系物2.ppt
- DB32∕T 1587-2010 无土草毯生产技术规程.docx
- DB32∕T 2038-2012 雕版印刷技艺.docx
- DB32∕T 1617-2010 低咖啡因绿茶加工技术规程.docx
- DB32∕T 2066-2012 茶园间种果树生产技术规程.docx
- DB32∕T 669-2004 棉田玉米螟综合控制技术规程.docx
- DB32∕T 853-2005 黑莓生产技术规程.docx
- DB32∕T 1939-2011 杨梅生产技术规程.docx
- DB32∕T 2001-2012 中稻1号高产栽培技术规程.docx
- DB32∕T 753-2004 蛋种红水泡金鱼养殖技术规程.docx
- DB4415T 50-2025 黑芝麻种植技术规程.docx
文档评论(0)