软件工程-第8章修改.pptVIP

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

软件工程 第8章 面向过程的结构化设计 软件设计是后续开发步骤及软件维护工作的 基础。如果没有设计,只能建立一个不稳定的 系统结构。 ① 模块:模块用矩形框表示,并用模块的名字标记它。 ③ 模块间的信息传递:当一个模块调用另一个模块时,调用模块把数据或控制信息传送给被调用模块,以使被调用模块能够运行。而被调用模块在执行过程中又把它产生的数据或控制信息回送给调用模块 耦合是模块之间的互相连接的紧密程度的度量。 内聚是模块功能强度(一个模块内部各个元素彼此结合的紧密程度)的度量。 模块独立性比较强的模块应是高内聚、低耦合的模块。 8.2 软件总体设计的任务和目标 在总体设计阶段中应从系统开发的角度出发,将系统逐次分割成层次结构,系统被表达为一个结构清晰层次分明的模块组合,每个模块完成各自相对简单的功能,并且他们之间都保持一定的联系,另外还定义这个系统与外部系统的接口。 这一阶段要从需求分析转化到设计模型 8.2 软件总体设计的任务和目标 8.3 软件体系结构设计 根据数据变换的性质,我们可以把数据流图分为变换型和事务型两类,所以,结构化设计也被分为变换设计、事务设计以及两者相结合的综合设计。 8.3.1 基本概念 面向数据流的设计方法,把信息流映射成软件体系结构,不同的信息流选用不同的映射方法,总体来说,有以下两种类型的数据流: 变换流 事务流 8.3.1 基本概念 变换流 变换流体现的是数据从输入到加工,再到输出的一般步骤,数据首先需要输入过程,由外部形式变换成内部形式,这种内部形式适合进行加工处理;然后经过变换中心,将输入的数据加工成一种新的数据形态;接着再通过输出通道变换成外部形式。当数据流图具备这些特性时,这种信息流我们就称为变换流。 8.3.1 基本概念 变换流 8.3.1 基本概念 事务流 当输入的信息流可以引发多个不同的事务活动流程,并且数据流图中有一个事务调度中心,那么我们称这种信息流为事务流。 8.3.1 基本概念 事务流 8.3.1 基本概念 不同的信息流对应的分析方法是不同的,我们需要根据数据流图中的流的类型分别进行变换分析或事务分析,从数据流图到最终的软件体系结构的分析设计过程如图所示 8.4 过程设计 在计算机技术发展的初期,由于计算机硬件条件的限制,导致对运算速度与存储空间都有要求,这样开发人员追求高效率,把程序的可理解性、可扩充性等因素被放到第二位。 随着计算机应用规模也越来越大,应用和开发越来越普及,计算机硬件与通信技术得到了高速发展,程序设计不再是一两个程序员可以完成的任务。编写程序不能再以片面追求高效率为第一要求,而要综合考虑程序的可靠性、可扩充性、可重用性和可理解性等因素。正是这种发展刺激了程序设计方法与程序设计语言的发展。 8.4 过程设计 过程设计的目标除了要使开发出来的程序满足功能、性能上的要求,同时也要满足代码简洁明了易懂的要求。 过程设计的好坏决定了最终代码的质量。随着程序规模与复杂性的不断增长,人们探索出新的程序设计方法。 专家证明了只用顺序、选择、循环这三种基本控制结构,即可实现任何单入口/单出口的程序。 以下介绍几种结构设计的工具: 8.4.1 程序流程图 程序流程图是人们对解决问题的方法、思路或算法的一种描述。它的优点在于:采用简单规范的符号,画法简单;结构清晰,逻辑性强;便于描述,容易理解。 8.4.1 程序流程图 流程图采用以下的一些基本符号: 8.4.1 程序流程图 例如:使用程序流程图判断某个整数x是否为质数的算法 8.4.1 程序流程图 传统的程序流程图是一种非结构化的程序算法设计工具,它有以下一些缺点:它无法对嵌套进行清晰地表达,尤其当嵌套比较复杂的时候;程序流程图无法制止GOTO语句;程序流程图会使程序员过早地考虑程序的控制流程,它不是逐步求精的好工具。 8.4.2 盒式图N-S 传统的程序流程图是一种非结构化的程序算法设计工具,它有以下一些缺点:它无法对嵌套进行清晰地表达,尤其当嵌套比较复杂的时候;程序流程图无法制止GOTO语句;程序流程图会使程序员过早地考虑程序的控制流程,它不是逐步求精的好工具。 8.4.2 盒式图N-S Nassi和Shneiderman提出的盒式图N-S,它把整个程序写在一个大框图内,这个大框图由若干个小的基本框图构成,在盒式图N-S中,有三种基本控制结构的N-S图 8.4.2 盒式图N-S 下图为判断某个整数x是否为质数的算法设计图: 8.4.2 盒式图N-S N-S盒式图实际上是程序流程图去掉控制流线的变种,它有以下特点:①功能表达明确;②容易确定局部数据和全局数据的作用域;③容易表达模块的层次与嵌套关系;④容易培养程序员养

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档