- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大连理工大学出版社《 软件工程》(第3版) 第4章 软件设计 《 C语言程序设计》 第5章 循环结构程序设计 第4章 软件设计 本章主要内容 软件设计的概念和原则 软件设计的基本过程 总体设计的主要内容 面向数据流的设计方法 详细设计的任务与原则 详细设计的表达工具 软件设计说明书的编制与评审 * 第4章 软件设计 本章结构: 4.1 软件设计的基础知识 4.2 软件设计的基本过程 4.3 总体设计 4.4 详细设计 4.5 实例分析 * 4.1 软件设计的基础知识 4.1.1 软件设计概述 软件设计是一个将软件需求变换成软件表示的过程。软件设计的基本目标是用比较抽象概括的方式确定目标系统如何完成预定的任务,即确定系统的物理模型,解决软件“怎么做”的问题。 从技术的角度来看,软件设计可分为软件结构设计、数据设计、接口设计和过程设计。 从工程管理的角度来看,软件设计可分为总体设计和详细设计两个步骤。 * 4.1 软件设计的基础知识 4.1.2 软件设计的任务和原则 在设计阶段,系统设计人员和程序设计人员应该在反复理解软件需求的基础上,提出多个设计方案,分析每个设计方案能实现的功能并进行相互比较,最后确定一个设计方案,包括该软件的结构、模块的划分、功能的分配以及处理流程。 在一般情况下,应完成的文档包括:总体设计说明书、详细设计说明书和测试计划初稿。 软件设计中一般应遵循以下原则:模块化、抽象、信息隐蔽与局部化、一致性、完整性和可验证性。 * 4.1 软件设计的基础知识 1.模块化 (1)模块的含义 (2)模块化的依据 (3)模块化与软件成本 (4)定义模块大小的标准 2.抽象 3.信息隐蔽和局部化 4.一致性、完整性和可验证性 * 4.2 软件设计的基本过程 4.2.1 软件设计的基本过程 1.在总体设计过程中需要完成以下工作: (1)确定最佳方案 (2)功能分解 (3)体系结构设计 (4)模块设计 (5)数据结构和数据库设计 (6)用户界面设计 (7)编写总体设计文档 (8)评审 2.在详细设计过程中需要完成以下工作: (1)设计软件各组成部分的内部算法和数据组织; (2)选择某种表达方式来描述各种算法; (3)进行详细设计评审。 * 4.2 软件设计的基本过程 4.2.2 数据设计和文件设计 进行数据设计时一般应遵循以下原则: (1)用于功能和行为的系统分析原则也可以应用于数据设计; (2)应该标识所有数据结构以及在每个数据结构上所施加的操作; (3)应建立数据词典,并应用于数据设计和程序设计; (4)采用自顶向下、逐步求精的方法完成数据设计,低层的设计决策应该推迟到设计过程的后期; (5)应该开发一个由有用的数据结构和应用于其上的操作组成的库; (6)数据结构的表示应做到:只有那些需要直接使用数据结构、内部数据的模块才能看到该数据的表示; (7)软件设计和程序设计语言应该支持抽象数据类型的规格说明和实现。 * 4.3 总体设计 4.3.1 数据设计和文件设计 常见的体系结构有两大类:层次结构和客户机/服务器结构。 1.层次结构图 层次结构是在系统功能分解的基础上提出的,即将一个大的任务分解成若干小的任务分层次来完成。常见的层次结构有树状层次结构和相邻关系的层次结构。 (1)树状层次结构 (2)相邻关系的层次结构 2.客户机/服务器结构 3. 浏览器/服务器结构 * 4.3 总体设计 4.3.2 模块设计 评价模块独立性的两个度量准则是耦合和内聚(或称聚合),耦合是模块之间相互依赖的紧密程度的度量,内聚是一个模块内部各个元素之间彼此结合的紧密程度的度量。一个模块内部各个元素之间的联系越紧密,则模块的内聚度就越高(强),相对地,它与其他模块之间的耦合就越低(弱),模块的独立性就越强。一个优秀的软件设计,应尽量做到高内聚、低耦合,从而提高模块的独立性。 1.耦合(coupling) (1)非直接耦合 (2)数据耦合 (3)标记耦合 (4)控制耦合 (5)外部耦合 (6)公共耦合 (7)内容耦合 * 4.3 总体设计 2.内聚(cohesion) (1)偶然内聚 (2)逻辑内聚 (3)时间内聚 (4)过程内聚 (5)通信内聚 (6)顺序内聚 (7)功能内聚 * 4.3 总体设计 3.启发式设计规则 (1)消除重复功能,改进软件结构,提高模块独立性降低耦合,提高内聚。 (2)模块规模应该适中,一般不超过60行语句。 (3)深度、宽度、扇出和扇入都应适当。 (4)模块的作用范围应该在控制范围之内。 (5)力争降低模块接口的复杂程度
您可能关注的文档
- 轨道交通供电3 微机保护.ppt
- 轨道交通供电5 牵引变电所的电气接线.ppt
- 轨道交通供电8 城轨供电系统的安全要求.ppt
- 轨道交通牵引供变电技术第0章 绪论.ppt
- 轨道交通牵引供变电技术第1章第2节 城市轨道交通直流电力牵引供变电装置及其功能.ppt
- 轨道交通牵引供变电技术第1章第3节 电力牵引供变电系统一次电气设备和.ppt
- 轨道交通牵引供变电技术第2章第1节 高压电器的作用及分类.ppt
- 轨道交通牵引供变电技术第2章第2节 交、直流电弧的形成及熄弧原理与方法.ppt
- 轨道交通牵引供变电技术第2章第3节 断路器开断短路电流的工作状态及暂态分析.ppt
- 轨道交通牵引供变电技术第2章第4节 高压断路器的技术要求及基本参数.ppt
原创力文档


文档评论(0)