详细设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第五章详细设计详细设计又称过程设计,在总体设计阶段已经确定了软件系统的总体结构,给出系统中各个组成模块的功能和模块间的联系。详细设计就是在总体设计的基础之上考虑“怎样实现”软件系统,直到系统中的每个模块给出足够详细的过程性描述。详细设计不是编码,详细设计是编码的先导。这个阶段所产生的设计文档的质量,将直接影响下一阶段程序的质量第一节详细设计的任务与原则一、详细设计的任务详细设计的目的是为软件结构图(SC图或HC图)中的每一个模块确定使用的算法和块内数据结构,用某种选定的表达工具给出清晰的描述。表达工具可以由开发单位或设计人员自由选择,但是它必须具有描述过程细节的能力,进而可以在编码阶段能够直接将它翻译为程序设计语言书写的源程序。详细设计阶段的主要任务如下:1、每个模块确定采用的算法,选择某种适当的工具表达算法的过程,写出模块的详细过程描述。2、确定每个模块使用的数据结构。3、确定模块接口的细节,包括对系统外部接口和用户界面,对系统内部其他模块的接口,以及模块输入数据、输出数据及局部数据的全部细节。详细设计结束时把上述结果写入详细设计说明书,并通过复审形成正式文档,并交付给下一阶段(编码阶段)作为工作的依据。4、为每一个模块设计出一组测试用例,以便在编码阶段对模块代码进行预定的测试,模块的测试用例是软件测试计划的重要组成部分,通常应包括输入数据、期望输出等内容,负责详细设计的人员对于自己设计模块的情况(包括功能、逻辑和接口)了解得最清楚,由他们在完成详细设计后提出对各个模块的测试要求。二、详细设计的原则1、模块的逻辑描述要清晰易读、正确可靠。2、采用结构化设计方法,改善控制结构,较低程序的复杂程度,从而提高程序的可读性、可测试性和可维护性。结构程序设计的基本方法与原则归纳如下:1)程序语言少用GOTO语句,确保程序的独立性。2)使用单入口、单出口的控制结构确保程序的静态结构和动态结构执行情况的优质。使程序易理解。3)程序的控制结构采用顺序、选择、循环三种结构构成,确保结构简单。4)用自顶向下逐步求精方法完成程序设计。3、选择恰当描述工具来模式各模块算法。第二节详细设计的方法理想情况下,算法描述应该采用自然语言来表达,但是自然语言在语法和语意上存在多义性,因此为了把问题描述的准确清楚,就必须用严密的描述工具来表达过程细节。详细设计的工具主要有以下几种:1、图形工具:利用图形工具可以把过程的细节用图形描述出来。2、表格工具:可以利用来描述过程的细节,这张表中列出了各种可能的操作和相应的条件。3、语言工具:用某种高级语言(伪码)来描述过程的细节。一、程序流程图程序流程图又称程序框图,它独立于任何一种程序设计语言,能够比较直观和清晰地描述整个过程的控制流程,易于学习掌握。流程图也存在严重的不足,主要表现在:流程图使用的符号不够规范,特别是表示程序控制流程的箭头,使用的灵活性极大。为了消除不足,应该严格定义流程图所使用的符合。使用流程图描述结构化程序,在流程图中限制只能使用下述五种基本控制结构:1、顺序型2、选择型3、while型循环4、until循环型5、多情况型选择二.N-S图Nassi和Shneiderman提出了一种符合结构化程序设计原则的图形描述工具,称为盒图,又称N-S图中,为了表示五种基本控制结构,规定了五种图形结构。1.顺序型2.选择型3.WHILE重复型4.UNTIL重复型5.多分支选择型N-S图的特点:•图形清晰、准确;•控制转移不能任意规定,必须遵守结构化程序设计原则;•很容易确定局部数据和全局数据的作用域;•容易表现嵌套关系和模块的层次结构。三.PAD图PAD是ProblemAnalysisDiagram的英文缩写,是日本日立公司提出的。它是用结构化程序设计思想表现程序逻辑结构的图形工具。PAD也设置了五种基本控制结构的图示,并允许递归调用。1.顺序型2.选择型3.WHILE重复型和UNTIL重复型4.多分支选择型5.PAD图应用举例PAD图的特点是:PAD图的清晰度和结构化程度高。PAD图是程序的主干线,即程序的第一层结构。其后,每增加一个层次,则向右扩展一条纵线。程序中的层数就是PAD图中的纵线数。因此PAD图的可读性强。利用PAD图设计出的程序必定是结构化的程序。利用软件工具可以将PAD图转换成高级语言程序进而提高了软件的可靠性和生产率。PAD图支持自顶向下的逐步求精的方法。四.PDLPDL为过程设计语言的英文缩写,于1975年由Caine与Gordon首先提出。PDL是所有非正文形式的过程设计工具的统称,到目前为止已推出多种PDL语言。PDL具有“非纯粹”的编程语言的特点。PDL语言的特点是:关键字采用固定语法并支持结构化构件、数据说明机制和模块化;处理部分采用自然语言描述;可以说明简单和复杂的数据结构;子程序的定义与调用规则不受具体接口方式的影响。1、PDL描述的选择结构利用PDL描述的IF结构如下:IF条件一条或数条语句ELSEIF条件一条或数条语句∶ELSEIF条件一条或数条语句ELSE一条或数条语句ENDIF2、PDL描述循环结构对于三种循环结构,利用PDL描述如下:1)WHILE循环结构DOWHILE条件描述一条或数条语句ENDWHILE2)UNTIL循环结构:REPEATUNTIL条件描述一条或数条语句ENDREP3)FOR循环结构:DOFOR循环变量=循环变量取值范围,表达式或序列ENDFOR3、子程序PROCEDURE子程序名属性表INTERFACE参数表一条或数条语句END属性表指明了子程序的引用特性和利用的程序语言特性4、输入输出:READ/WRITETO设备I/O表综述,PDL具有很强的描述功能,是一种十分灵活和有用的详细设计表达方法。五.HIPO图HIPO图是由一组IPO图加一张HC图组成。它是美国IBM公司在软件设计中使用的主要表达工具。HC图是层次图(HierarchyChart)的英文缩写,用于表示软件的分层结构。HC图中的每一个模块,均可用一张IPO图来描述。IPO图由输入、处理和输出三个框组成,需要时还可以增加一个数据文件框,也可由其他详细设计的表达工具来表示。这种图形的优点,是能够直观地显示输入-处理-输出三者之间的联系。(参考P47)用HC图描述软件结构,用IPO图描述程序过程,使HIPO图成为一套自成体系的设计表达工具。不仅如此,在需求分析阶段还可以用IPO图来描述加工策略。缺点:用HIPO图制成的设计文档有篇幅太大的弊病。六.详细设计工具的选择在详细设计中,对一个工程设计选择的原则是:过程描述是否易于理解、复审和维护,进而过程描述能够自然地转换成代码,并保证详细设计与代码完全一致。为了达到这一原则,要求设计工具具有下述属性。1.模块化支持模块化软件的开发,并提供描述接口的机制。例如,能够直接表示子程序和块结构2.简洁设计描述易学、易用和易读。3.便于编辑支持后续设计和维护以及在维护阶段对设计进行的修改。4.机器可读性设计描述能够直接输入,并且很容易被计算机辅助设计工具识别。5.可维护性详细设计应能够支持各种软件配置项的维护。6.自动生成报告设计者通过分析详细设计的结果来改进设计。通过自动处理器产生有关的分析报告,进而增强设计者在这方面的能力。7.强制结构化详细设计工具能够强制设计者采用结构化构件,有助于采用优秀的设计。8.数据表示详细设计具备表示局部数据和全局数据的能力。9.逻辑验证软件测试的最高目标是能够自动检验设计逻辑的正确性,所以设计描述应易于进行逻辑验证,进而增强可测试性。10.编码能力可编码能力是一种设计描述,研究代码自动转换技术可以提高软件效率和减少出错率。第三节详细设计规格说明与复审一.详细设计说明书建立设计文档的目的,是为了把设计师的思想告诉其他的有关人员。程序是由计算机执行的,但可读性提高便于维护。在详细设计阶段的文档是详细设计说明书。它是程序运行过程的描述。详细设计说明书的内容主要包括:表示软件结构的图表;对逐个模块的程序描述,包括算法和逻辑流程,输入/输出项,与外部接口等一个典型的详细设计说明书的框架如下:1、引言1.1编写的目的说明编写详细说明书的目的,并指明读者的对象。1.2项目背景包括项目的来源和主管部门等。1.3定义列出文档中所用的专门术语的定义和缩写词的原意。1.4参考资料列出有关资料的作者、标题、编号、发表日期、出版单位或资料来源。可包括:项目计划任务书、合同或批文、项目开发计划、需求规格说明书、概要设计说明书、测试计划、用户操作手册、文档中所引用的其它资料、软件开发标准或规范。2、总体设计2.1需求概述2.2软件结构给出软件系统的结构图。3、程序描述对每个模块给出以下说明:3.1功能3.2性能3.3输入项目3.4输出项目3.5算法模块所选用的算法3.6程序逻辑详细描述模块实现的算法,可以采用流程图、PDL语言、N-S图、PAD图等描述算法的图表。3.7接口3.8存储分配3.9限制条件3.10测试要点给出测试模块的主要测试要求。二、设计复审设计复审是指对设计文档的复审。1、复审的指导原则详细设计复审一般不邀请用户和其他领域代表。既然复审是为了提早揭露错误,参加复审的设计人员应该欢迎别人提出批评和建议,不要为设计的缺陷“护短”。但复审的对象是设计文档,不是设计者本身,其他参加者也应为复审创造和谐的气氛,防止把复审变成质询或辩论。复审中提出的问题应详细记录,但不谋求当场解决。复审结束前作出本次复审能否通过的结论。2、复审的主要内容详细设计复审的重点应该放在各个模块的具体设计上。如:模块的设计能否满足其功能与性能要求,选择的算法和数据结构是否合理,是否符合编码语言特点,设计描述是否简单清晰等。3、复审方式复审方式分为正式与非正式两种方式,非正式复审的特点是参加人数少,且均为软件人员,带有讨论性质。常用“走查”式的非正式复审。正式复审除软件人员外,还邀请用户代表和领域专家参加,通常采用答辩方式。

1 / 23
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功