- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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、抽象 我们在考虑问题时,集中考虑和当前问题有关的方面,而忽略和当前问题无关的方面,这就是抽象。或者说抽象就是抽出事物的本质特性而暂时不考虑它们的细节。 软件工程过程的每一步,都是对软件解法的抽象层次的一次细化。在可行性研究阶段,软件被看作是一个完整的系统部分;在需求分析期间,我们使用在问题环境中熟悉的术语来描述软件的解法;当我们由总体设计阶段转入详细设计阶段时,抽象的程度进一步减少;最后,当源程序
您可能关注的文档
最近下载
- 九年级数学秋季开学第一课(北师大版).pptx
- 部编人教版八年级上册道德与法治全册新质教学课件(配2025年秋改版教材).pptx
- 第1讲 我爱你中国(第一课时)美丽中国是我家(课件)-《新时代中国特色社会主义思想学生读本(小学低年级)》.pptx VIP
- 大学毕业论文_外文文献及中文翻译-财务风险的重要性how important is financial risk.doc VIP
- 人美版(2024)一年级美术上册第一单元《1.1介绍我自己》教学设计.docx VIP
- 民警进幼儿园安全讲课.pptx VIP
- 2024全国职业院校技能大赛ZZ055导游服务赛项规程+赛题 (2).docx VIP
- 计算机网络基础 龚娟 第2章 数据通信基础.ppt VIP
- 沙田柚种植技术最新完整版本.pptx VIP
- DBJ52_T103-2021:模块化箱式房屋安装及验收技术标准.pdf VIP
文档评论(0)