第6軟件设计.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文档。上传文档
查看更多
第6軟件设计

盒图(N-S图) N-S图有以下一些特点: (1)功能域(即某一个特定控制结构的作用域)有明确的规定,并且可以很直观地从N-S图上看出来; (2)它的控制转移不能任意规定,必须遵守结构化程序设计的要求; (3)很容易确定局部数据和全局数据的作用域; (4)很容易表现嵌套关系,也可以表示模块的层次结构。 A B (a) 顺序结构 A B C (b) 选择结构 WHILE P S (c) WHILE 型循环结构 UNTIL P S (d) UNTIL 型循环结构 A 1 A2 P= An … P1 P2 P n (e) 多分支结构 (f) 语句标号 (g) 定义 PAD图(problem analysis diagram) PAD图提供的定义功能和逐步求精功能 一、总体设计过程   总体设计过程一般包括九个步骤,实际上主要做以下几部分工作:   (1)需求分析得到了软件的逻辑模型,用数据流图来表示,将数据流图划分为不同的部分,可以得到不同的物理实现方案。   (2)从这些方案里选取合理的方案,除去经济、技术方面不合理的方案。   (3)从合理的方案里面选取最佳的方案。   (4)对数据流图中的处理进行功能分解,如果一个处理太复杂,则将它分解成多个处理。   (5)设计软件结构,由数据流图得出用层次图或结构图表示的软件结构。将整个系统用清晰的调用关系表示出来。   (6)如果涉及到数据库,则应设计数据库。   (7)制定测试计划,在早期制定测试计划,可以提高软件的可测试性。   (8)书写文档,包括用细化的数据流图,用层次图表示的软件结构,测试计划,详细实现计划,数据库设计结果等。   (9)对总体设计进行严格的技术审查。 面向数据流图的设计方法   所谓数据流图是指信息流和数据从输入到输出的过程所经历的变换。 数据流图的类型: 1、变换型数据流图 输入 变换 输出   变换型数据流是指外部信息输入到系统,信息经过变换中心,加工处理后再沿输出通路变换成外部形式离开软件系统。 * 第6章 软件设计 需求分析阶段:系统需要做什么 软件设计阶段的目标:系统需要怎么做 经过了需求分析,得出了用数据流图,数据字典,实体联系图描述的系统逻辑模型,已经知道了“做什么”,但是究竟“怎么做”,还必须进行总体设计和详细设计,在总体设计这一步需要做两件事,(1)根据在需求分析阶段得到的数据流图可以确定系统的具体实现方案,划分组成系统的物理元素,程序、文件、数据库、人工过程、文档等。(2)确定软件结构,即确定程序是由哪些模块组成的,以及模块之间的关系。 二、软件设计的基本原理   1、模块化   模块化是指将程序划分成多个模块,每个模块完成一个子功能。   模块:又称构件,是能够单独命名并独立地完成一定功能的程序语句的集合。例如高级语言中的过程、函数、子程序等都可作为模块。   模块化是软件的一个重要属性。模块化的特性提供了人们处理复杂的问题的一种方法,同时也使得软件能够被有效地管理。    模块的性质: (1)简明性,简单易懂,易于实现 (2)完整性,可以实现一个完整的功能,同时可以被单独地编程、测试等。 (3)独立性,理想的模块相互之间是独立的,有很少的联系,对外只保留接口,改变其内容结构不会地外部程序产生影响。   有两个函数:C(x)表示问题x的复杂程度;E(x)表示解决问题x所需要的工作量(时间)。   对于两个问题P1和P2,如果:C(P1)>C(P2)   则:E(P1)>E(P2) 另一个特性是:C(P1+P2)>C(P1)+C(P2) 根据前面的结论,我们可以得出下面的不等式: E(P1+P2)>E(P1)+E(P2) 这个不等式表明:单独解决问题P1和P2所需的工作量之和,比把P1和P2合起来作为一个问题来解决时所需的工作量要少。 这种“分而治之”的思想提供了模块化的根据:把复杂的问题分解成许多容易解决的小问题,原来的问题也就容易解决了。 模块化和软件成本的关系 各模块成本之和   应用模块化设计方法可以将程序分解为适当的模块数目,以使总的开发成本最小。还可以将难的模块分给熟练的程序员。 2、抽象   我们在考虑问题时,集中考虑和当前问题有关的方面,而忽略和当前问题无关的方面,这就是抽象。或者说抽象就是抽出事物的本质特性而暂时不考虑它们的细节。   软件工程过程的每一步,都是对软件解法的抽象层次的一次细化。在可行性研究阶段,软件被看作是一个完整的系统部分;在需求分析期间,我们使用在问题环境中熟悉的术语来描述软件的解法;当我们由总体设计阶段转入详细设计阶段时,抽象的程度进一步减少;最后,当源程序

文档评论(0)

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

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

1亿VIP精品文档

相关文档