软件工程new5(三).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文档。上传文档
查看更多
软件工程new5(三)

5.5 面向数据流的设计方法 面向数据流的设计方法的目标是给出设计软件结构的一个系统化的途径。 在软件工程的需求分析阶段,信息流是一个关键考虑因素,通常用数据流图描绘信息在系统中加工和流动的情况。面向数据流的设计方法定义了一些不同的“映射”,利用这些映射可以把数据流图变换成软件结构。因为任何软件系统都可以用数据流图表示,所以面向数据流的设计方法理论上可以设计任何软件的结构。通常所说的结构化设计方法,也就是基于数据流的设计方法。 5.6.1 概念 面向数据流的设计方法把信息流映射成软件结构,信息流的类型决定了映射的方法。信息流有下述两种类型。 1. 变换流 2. 事务流 5.6.2 变换分析 变换分析是一系列设计步骤的总称,经过这些步骤把具有变换流特点的数据流图按预先确定的模式映射成软件结构。  2. 设计步骤 (1) 复查基本系统模型。 (2) 复查并精化数据流图。 (3) 确定数据流图具有变换特性还是事务特性。 (4) 确定输入流和输出流的边界,从而孤立出变换中心。 (5) 完成“第一级分解”。 (6) 完成“第二级分解”。 (7) 使用设计度量和启发规则对第一次分割得到的软件结构进一步精化。 上述七个设计步骤的目的是,开发出软件的整体表示。也就是说,一旦确定了软件结构就可以把它作为一个整体来复查,从而能够评价和精化软件结构。在这个时期进行修改只需要很少的附加工作,但是却能够对软件的质量特别是软件的可维护性产生深远的影响。 5.6.3 事务分析 虽然在任何情况下都可以使用变换分析方法设计软件结构,但是在数据流具有明显的事务特点时,也就是有一个明显的“发射中心”(事务中心)时,还是以采用事务分析方法为宜。 事务分析的设计步骤和变换分析的设计步骤大部分相同或类似,主要差别仅在于由数据流图到软件结构的映射方法不同。 对于一个大系统,常常把变换分析和事务分析应用到同一个数据流图的不同部分,由此得到的子结构形成“构件”,可以利用它们构造完整的软件结构。  5.6.4 设计优化 考虑设计优化问题时应该记住,“一个不能工作的‘最佳设计’的价值是值得怀疑的”。软件设计人员应该致力于开发能够满足所有功能和性能要求,而且按照设计原理和启发式设计规则衡量是值得接收的软件。 应该在设计的早期阶段尽量对软件结构进行精化。可以导出不同的软件结构,然后对它们进行评价和比较,力求得到“最好”的结果。这种优化的可能,是把软件结构设计和过程设计分开的真正优点之一。 注意,结构简单通常既表示设计风格优雅,又表明效率高。设计优化应该力求做到在有效的模块化的前提下使用最少量的模块,以及在能够满足信息要求的前提下使用最简单的数据结构。 对于时间是决定性因素的应用场合,有必要在详细设计阶段,也可以在编写程序的过程中进行优化。软件开发人员应该认识到,程序中相对说比较小的部分(典型地,10%~20%),通常占用全部处理时间的大部分(50%~80%)。 用下述方法对时间起决定性作用的软件进行优化是合理的: 1、在不考虑时间因素的前提下开发并精化软件结构; 2、在详细设计阶段选出最耗费时间的那些模块,仔细地设计它们的处理过程,以求提高效率; 3、使用高级程序设计语言编写程序; 4、在软件中孤立出那些大量占用处理机资源的模块; 5、必要时重新设计或用依赖于机器的语言重写上述大量占用资源的模块的代码,以求提高效率。 上述优化方法遵守了一句格言:“先使它能工作,然后再使它快起来。” 5.6 小结 总体设计阶段的基本目的是用比较抽象概括的方式确定系统如何完成预定的任务,也就是说,应该确定系统的物理配置方案,并且进而确定组成系统的每个程序的结构。因此,总体设计阶段主要由两个小阶段组成。首先需要进行系统设计,从数据流图出发设想完成系统功能的若干种合理的物理方案,分析员应该仔细分析比较这些方案,并且和用户共同选定一个最佳方案。然后进行软件结构设计,确定软件由哪些模块组成以及这些模块之间的动态调用关系。层次图和结构图是描绘软件结构的常用工具。 在进行软件结构设计时应该遵循的最主要的原理是模块独立原理,也就是说,软件应该由一组完成相对独立的子功能的模块组成,这些模块彼此之间的接口关系应该尽量简单。 软件工程师在开发软件的长期实践中积累了丰富的经验,总结这些经验得出一些很有参考价值的启发式规则,它们往往能对如何改进软件

文档评论(0)

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

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

1亿VIP精品文档

相关文档