- 1、本文档共64页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 软件设计42813.ppt
第4章 软件设计 4.1 软件设计的目标和基本任务 4.1.1 软件设计在开发阶段中的重要性 在软件需求分析阶段已经完全弄清楚了软件的各种需求,较好地了解所开发的软件需要“做什么”的问题,并已在软件需求规格说明书和数据要求说明书中详细和充分地阐明了这些需求。 在软件设计中根据需求分析的软件需求及功能、性能需求,采用某种设计方法进行数据设计,系统结构设计和过程设计。 数据设计侧重于数据结构的定义。 结构设计则定义软件系统各主要成分之间的关系。 过程设计则是把结构成分转换为软件的过程性描述。 软件设计在整个开发阶段占有非常重要的地位。在这个阶段做出的决策最终会影响软件实现的成败,从而使得软件设计成为开发阶段最重要的一个环节,因此,它是软件开发中质量得以保证的关键步骤。同时,软件设计又是将用户要求准确地转换成为最终软件产品的唯一途径。 4.1.2 软件设计的任务 软件设计的任务就是把分析阶段产生的软件需求转换成用适当手段表示的软件设计文档,即把软件的需求翻译成软件的描述性过程。 换句话说,软件设计就是在明确了系统必须“做什么”之后,下一步就是要明确系统“怎么做”的问题。 从工程管理的角度来看,软件设计分为两个阶段:概要设计(总体设计)和详细设计,他们是软件开发时期的一个十分重要的阶段。 4.1.2 软件设计的任务 1.概要设计 概要设计的基本任务就是将需求转换为数据结构和软件的体系结构。 其具体的工作有以下几个方面: ⑴ 制定规范 在进入软件开发阶段之初,应为软件开发组制定软件设计时应遵守的标准,以便协调组内成员的工作。 ① 阅读和理解软件需求说明书,在给定预算范围内和技术现状下,确认用户的要求能否实现,如不能实现,则需明确实现的条件,从而取得设计的目标。 ② 根据目标确定最合适的设计方法。 ③ 规定文档的编制标准,包括文档体系,用纸及样式,记述详细的程度,图形的画法等。 ④ 规定编码的信息(代码体系)与硬件、操作系统的接口规约,命令规则等。 4.1.2 软件设计的任务 ⑵ 软件系统结构的总体设计 总体设计过程通常由两个阶段组成:系统设计,确定系统实现的方案;结构设计,确定软件的结构。 其中结构设计是概要设计的重点,在这个阶段主要完成四个任务,这就是: ① 采用某种设计方法,将一个复杂的软件系统按功能划分成模块的层次结构; ② 决定每个模块的功能,建立与已确定软件需求的对应关系; ③ 决定每个模块的调用关系; ④ 决定模块间的接口,即模块之间的传递信息,设计接口的信息结构。 ⑤ 评估模块划分的质量及寻出模块结构的规则。 4.1.2 软件设计的任务 ⑶ 处理方式设计 ① 确定为实现软件系统的功能需求所必需的算法的性能; ② 确定为满足软件条件的性能需求所必需的算法和模块之间的控制方式,性能主要指标; ⅰ 周转时间 即一旦向计算机发出要求处理的请求之后,从输入开始,经过处理直到输出结果为止的整个时间。 ⅱ 响应时间 这是对实时联机系统的性能需求。 ⅲ 吞吐量 单位时间内能够处理的数据量。 ⅳ 精度 在进行科学计算或工程计算时,运算精确度的要求。 ③取得外部信号的接收发送形式。 4.1.2 软件设计的任务 ⑷ 数据结构设计 确定软件涉及的文件的结构及数据库的模式,子模式进行数据完整性和安全性的设计。 ① 确定输入:输出文件的详细的数据结构; ② 组合算法设计:确定算法所必须的逻辑结构及操作; ③ 确定对逻辑数据结构所必须的那些操作的程序模块(软件包),限制和确定各个数据设计决策等影响范围; ④ 若需要与操作系统或调度程序接口所必须的控制表等数据时,确定其详细的数据结构和使用规则。 4.1.2 软件设计的任务 ⑤ 数据保护性设计 ⅰ 防卫性设计 在软件设计中,插入能自动检错、报错和纠错的功能。 ⅱ 一致性 其一,是保证软件运行过程中所使用的数据类型和取值范围不变;其二,是在并发处理过程中使用封锁和解除封锁机制保持数据不被破坏。 ⅲ 冗余设计 针对同一问题,由两个开发者采用不同的程序设计风格,不同的算法设计软件,当两者运行结果之差不在允许范围之内时,利用检错系统予以纠正,或使用表决技术,决定一个正确的结果,以保证软件容错。 4.1.2 软件设计的任务 ⑸ 可靠性设计 可靠性设计也叫做质量设计,在计算机的
文档评论(0)