第5章详细设计题稿.ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程概论 * * 第六章 详细设计 详细设计 根本目标:确定应该怎样具体地实现所要求的目标,即对目标系统的精确描述。 根本任务:为软件结构中的每个模块选择算法和块内数据结构,并用选定的某种表达工具给出清晰的描述。 详细设计结果基本上决定了最终的程序代码的质量。 衡量程序的质量,不仅要看其逻辑上是否正确,性能是否满足要求,更主要的是看其是否容易阅读和测试。 详细设计的目标不仅仅是逻辑上正确地实现每个模块的功能,更重要的是设计出的处理过程应该尽可能简明易懂。 结构化程序设计 1965年最早由E.W.Dijkstra提出:“可以从高级语言中取消goto语句,程序的质量与程序中所包含的goto语句的数量成反比”。 1966年,Bohm和Jacopini证明了,只用“顺序”(Sequence)、“选择”(Condition Select)和“循环”(Repetition)三种基本的控制结构就能实现任何单入口单出口的程序。 1972年,IBM公司的Mills进一步提出,程序应该只有一个入口和一个出口。 结构化程序设计 如果一个程序的代码块仅仅通过顺序、选择和循环这三种基本控制结构连接,并且每个代码块只有一个入口和一个出口,则称这个程序是接口化的。 结构化程序设计 结构程序设计是按照一组能提高程序的可读性和易维护性的规则而进行的程序设计方法,目的是为了使程序具有一种合理的结构,以使程序易理解和维护,便于保证和验证程序的正确性。 结构化程序设计追求的目标 可理解性:程序正确性证明的关键是可理解性。程序正确性证明并非指从公理出发的形式推导,而是指任何一种有足够说服力的证明(形式的或非形式的),其实是一种理解。 易维护性:测试只能证明错误存在,而不能证明错误不存在。因此测试后投入运行的软件很可能还有错误。在运行阶段要不断发现并改正错误。此外,用户还会不断提出新的要求,系统的操作系统也可能发生变化。故投入运行的软件需要不断修改、扩充,即需要维护。软件的易维护性一般包括易阅读、易发现和改正错误、易修改扩充等含义。 国家软件开发工程规范的规定 国家软件开发工程规范规定“程序单元必须只有唯一的入口,唯一的出口”有两个不同的概念: 1、以模块为对象,每个模块只有唯一入口(通过模块名进行调用),唯一的出口指通过模块的返回语句返回到调用语句的下一个语句(对函数是返回到调用的位置)。 2、以五种语句的控制结构为对象,每种控制结构,以其语句标志的第一个语句为入口语句,以语句控制范围的下一个语句为出口到的语句。 经典的结构程序设计:使用顺序、IF_THEN_ELSE型分支结构、DO_WHILE型循环结构。 扩展的结构程序设计:还允许使用DO_CASE型多分支结构和DO_UNTIL型循环结构。 修正的结构程序设计:再允许使用BREAK(LEAVE)结构。 详细设计的工具 前一页 描述程序处理过程的工具称为详细设计的工具。 对详细设计工具的基本要求:能提供对设计的无歧义的描述,即能指明控制流程、处理功能、数据组织以及其它方面的处理细节。从而在编码阶段能把对设计的描述直接翻译成程序代码。 详细设计的工具 前一页 详细设计工具分为图形、表格和语言三类。主要工具有: ■程序流程图 ■盒图(N-S图) ■PAD图 ■判定表 ■判定树 ■过程设计语言(PDL) 前一页 PAD图 PAD是问题分析图(Problem Analysis Diagram)的英文缩写,自1973年由日本日立公司发明以后,已得到一定程度的推广。它用二维树结构的图来表示程序的控制流,将这种图翻译成程序代码比较容易。 PAD图基本符号 用PAD图逐步求精 求解一元二次方程的根的PAD描述 读a,b,c △=b*b+4ac 输出x1,x2 △=0 x1,x2=-b/2a X1=-b/2a+sqrt(△)/2a X2=-b/2a-sqrt(△)/2a X1=-b/2a+sqrt(-△)/2ai X2=-b/2a-sqrt(-△)/2ai △≧0 PAD图优点 (1)按PAD符号所设计出的程序必然是结构化程序。 (2)PAD图所描绘的程序结构十分清晰。 (3)用PAD图表现程序逻辑,易读、易懂、易记。 (4)容易将PAD图转换成高级语言源程序,这种转换可用软件工具自动完成 (5)PAD图的符号支持自顶向下,逐步求精方法的使用 。 程序复杂程度的定量度量 定量度量程序复杂程度的方法很有价值:把程序的复杂程度乘以适当常数即可估算出软件中故障的数量以及软件开发需要用的

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档