ch03软件设计.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ch03软件设计

软件设计 第3章 软件设计 3.1 软件概要设计概述 数据库技术是一项专门的技术,本书不作详细的讨论。 但开发人员应注意到,在大型数据处理系统的功能分析与设计中, 同时要进行数据分析与数据设计。 3. 编写概要设计文档 编写概要设计文档的内容如下: 概要设计说明书。 数据库设计说明书:主要给出所使用的DBMS简介,数据库的概念模型、逻辑设计和结果。 用户手册: 对需求分析阶段编写的用户手册进行补充。 修订测试计划: 对测试策略、 方法和步骤提出明确要求。 4. 评审 在该阶段,对设计部分是否完整地实现了需求中规定的功能、性能等要求,设计方案的可行性、关键的处理及内外部接口定义正确性、 有效性以及各部分之间的一致性等,都一一进行评审。 3.1.2软件概要设计文档 概要设计说明书的主要内容如下: (1) 引言: 编写目的,背景, 定义,参考资料。 (2) 总体设计:需求规定,运行环境,基本设计概念和处理流程,结构。 (3) 接口设计: 用户接口, 外部接口, 内部接口。 (4) 运行设计: 运行模块组合, 运行控制, 运行时间。 (5) 系统数据结构设计: 逻辑结构设计, 物理结构设计, 数据结构与程序的关系。 (6) 系统出错处理设计: 出错信息, 补救措施, 系统恢复设计。 3.2 软件设计的基本原理 模块化降低软件复杂度的简单证明 3.2.2 抽象 抽象是认识复杂现象过程中使用的思维工具,即抽出事物本质的共同特性而暂不考虑它的细节,不考虑其他因素。 软件工程实施中的每一步都可以看作是对软件抽象层次的一次细化。 在系统定义阶段,软件可作为整个计算机系统的一个元素来对待; 在软件需求分析阶段,软件的解决方案是使用问题环境中的术语来描述; 从概要设计到详细设计阶段,抽象的层次逐步降低,将面向问题的术语与面向实现的术语结合起来描述解决方法,直到产生源程序时到达最低的抽象层次。 3.2.3 信息隐蔽 所谓信息隐蔽,是指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说, 是不能访问的; 一个软件系统在整个生存期中要经过多次修改,信息隐蔽为软件系统的修改、测试及以后的维护都带来好处。因此,在划分模块时要采取措施,如采用局部数据结构, 使得大多数过程(即实现细节)和数据对软件的其他部分是隐藏的,这样,修改软件时偶然引入的错误所造成的影响只局限在一个或少量几个模块内部,不波及其他部分。 3.2.4 模块独立性 所谓模块的独立性,是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其他模块的接口是简单的。即功能专一,模块之间无过多的相互作用的模块。 这种类型的模块可以并行开发,模块独立性越强,开发越容易。独立性强的模块,还能减少错误的影响,使模块容易组合、修改及测试。 3.2.4 模块独立性 模块独立性的度量标准是两个定性准则: 耦合性 用于描述模块之间联系的紧密程度。 内聚性 用于描述模块内部联系的紧密程度。 模块独立性比较强的模块应该是具有高内聚性和的低耦合度。 1. 耦合性(Coupling) 耦合性的几种类型 2. 内聚性(cohesion) 耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到“高内聚低耦合”,提高模块的独立性, 为设计高质量的软件结构奠定基础。但也有内聚性与耦合性发生矛盾的时候,为了提高内聚性而可能使耦合性变差,在这种情况下,建议给予耦合性以更高的重视。 3.3 软件结构准则 3.3.1 软件结构图(SC图) 软件的层次结构 软件的树状结构和网状结构 网状结构 图3.31、图3.32 图3.33控制范围与作用范围 3. 软件结构的形态特征准则 软件结构的深度、 宽度、 扇入及扇出应适当。 宽度与模块的扇出有关,一个模块的扇出太多, 说明本模块过分复杂,缺少中间层。单一功能模块的扇入数大比较好, 说明本模块为上层几个模块共享的公用模块,重用率高。但是不能把彼此无关的功能凑在一起形成一个通用的超级模块,虽然它扇入高,但低内聚。因此非单一功能的模块扇入高时应重新分解,以消除控制耦合的情况。 一个好的软件结构的形态准则是:顶部宽度小,中部宽度大,底部宽度次之;在结构顶部有较高的扇出数,在底部有较高的扇入数。 4. 模块的大小准则 经验表明,一个模块的规模不应过大,最好能写在一页纸内(通常不超过60行语句)。有人从心理学角度研究得知,当一个模块包含的语句数超过30以后,模块的可理解程度迅速下降。 在考虑模块的独立性同时,为了增加可理解性,模块的大小最好在50~150条语句左右,可以用1~2页打印纸打印,便于人们阅读与研究。 5. 模块的接口准则 模块接口复杂是软

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档