软件工程 软件详细设计

上传人:d****1 文档编号:134595367 上传时间:2022-08-13 格式:DOCX 页数:17 大小:194.06KB
收藏 版权申诉 举报 下载
软件工程 软件详细设计_第1页
第1页 / 共17页
软件工程 软件详细设计_第2页
第2页 / 共17页
软件工程 软件详细设计_第3页
第3页 / 共17页
资源描述:

《软件工程 软件详细设计》由会员分享,可在线阅读,更多相关《软件工程 软件详细设计(17页珍藏版)》请在装配图网上搜索。

1、教案首页周次 日期 课时序.课 题软件详细设计教学目的 !理解软件详细设计概念、目标;掌握详细设计的方法;要 求重 点详细设计的任务、目标难 点 !详细设计分析方法教学过程第五章 软件详细设计(2*45 )设 计第一节详细设计的任务与原则(30 )及第一节详细设计的方法(45 )时间分配第三节 详细设计规格说明与复审(15 )教学场所使用或教学方法教具作 业课后记I!授课教师第五章软件详细设计详细设计又称过程设计,在总体设计阶段,已经确定了软件系统的总体结构, 给出系统中各个组成模块的功能和模块间的联系。这一步的工作,就是要在 上述结果的基础上,考虑“怎样实现”这个软件系统,直到对系统中的每个

2、 模块给出足够详细的过程性描述。需要指出,这些描述应该用详细设计的表 达工具来表示,但它们还不是程序,一般不能够在计算机上运行。详细设计是编码的先导。这个阶段所产生的设计文档的质量,将直接影响下 一阶段程序的质量。为了提高文档的质量和可读性,本章除要说明详细设计 的目的、任务与表达工具外,还将扼要介绍结构程序设计的基本原理,以及 如何用这些原理来指导模块内部的逻辑设计,提高模块控制结构的清晰度。5.1详细设计的任务与原则详细设计的目的是为软件结构图(SC图或HC图)中的每一个模块确定使用 的算法和块内数据结构,并用某种选定的表达工具给出清晰的描述。表达工 具可以由开发单位或设计人员选择,但表达

3、工具必须具有描述过程细节的能 力,进而可在编码阶段能够直接将它翻译为用程序设计语言书写的源程序。详细设计阶段的主要任务如下。1. 为每个模块确定采用的算法,选择某种适当的工具表达算法的过程,写出 模块的详细过程性描述;2. 确定每一模块使用的数据结构;3. 确定模块接口的细节,包括对系统外部的接口和用户界面,对系统内部其 它模块的接口,以及模块输入数据、输出数据及局部数据的全部细节。在详细设计结束时,应该把上述结果写入详细设计说明书,并且通过复审形 成正式文档。交付给下一阶段(编码阶段)的工作依据。4. 要为每一个模块设计出一组测试用例,以便在编码阶段对模块代码(即程 序)进行预定的测试,模块

4、的测试用例是软件测试计划的重要组成部分,通 常应包括输入数据,期望输出等内容,其要求和设计方法将在第八章详细介 绍,这里需要说明的一点是,由于负责详细设计的软件人员对模块的功能、 逻辑和接口最清楚,所以可由他们在完成详细设计后接着提出对各个模块的 测试要求。5.1.2详细设计的原则1. 模块的逻辑描述要清晰易读、正确可靠。2. 采用结构化设计方法,改善控制结构,降低程序的复杂程度,从而提高程 序的可读性、可测试性、可维护性。其基本内容归纳为如下几点。 程序语言中应尽量少用GOTO语句,以确保程序结构的独立性。 使用单入口单出口的控制结构,确保程序的静态结构与动态执行情况相一 致。保证程序易理解

5、。 程序的控制结构一般采用顺序、选择、循环三种结构来构成,确保结构简 单。 用自顶向下逐步求精方法完成程序设计。结构化程序设计的缺点是存储容 量和运行时间增加10 20%,但可读性和可维护性好。3. 选择恰当描述工具来描述各模块算法。5.2详细设计的方法采用自然语言来表达算法过程的优点是:能使不懂软件的人较易理解这些规 格说明,但是,自然语言在语法和语义上有时具有多义性,且与上下文才相 关,因此,必须采用更严密的描述工具来表达过程细节。主要的详细设计工 具有图形工具、表格工具语言工具、简述如下。- 图形工具利用图形工具可以把过程的细节用图形描述出来。- 表格工具可以用一张表来描述过程的细节,在

6、这张表中列出了各种可能的操作和相应 的条件。 语言工具用某种高级语言(称之为伪码)来描述过程的细节。5.2.1程序流程图程序流程图又称之为程序框图,它是软件开发者最熟悉的一种算法表达工具。 它独立于任何一种程序设计语言,能比较直观和清晰地描述过程的控制流程, 易于学习掌握。因此,程序流程图是软件开发者最普遍采用的一种工具。流程图也存在一些严重的不足,主要表现在:利用流程图使用的符号不够规 范,使用的灵活性极大,程序员可以不受任何约束,随意转移控制。这些问 题常常很大的影响了程序质量。为了消除这些不足,应严格的定义流程图所 使用的符号,不允许随心所欲地画出各种不规范的流程图。为使用流程图描述结构

7、化程序,必须限制在流程图中只能使用下述的五种基 本控制结构。 顺序型顺序型由几个连续的处理步骤依次排列构成,如图5-1所示。图5-1顺序型图5-2选择型图5-3 while型循环- 选择型选择型是指由某个逻辑判断式的取值决定选择两个处理中的一个,如图5-2 所示。 while型循环while型循环是先判定型循环,在循环控制条件成立时,重复执行特定的处 理,如图5-3所示。 until型循环until型循环是后判定型循环,重复执行某些特定的处理,直到控制条件成 立为止,如图5-4所示。图5-4 until型循环- 多情况型选择图5-5多情况型选择多情况型选择列举多种处理情况,根据控制变量的取值,

8、选择执行其一,如 图5-5所示。图5-6结构化程序流程图任何复杂的程序流程图都应由上述五种基本控制结构组合而成。图5-6所示 的是一个结构化程序的流程图。号。为了能够准确的使用流程图,要对流程图所使用的符号作出确切的规定。除 去按规定使用定义了的符号之外,流程图中不允许出现其他任何符号。图5-7 给出国际标准化组织提出,并已为我国国家技术监督局批准的一些程序流程 图标准符号,其中多数所规定的使用方法与普通的使用习惯用法相一致。号,图5-7标准程序流程图的规定符号5.2.2 N-S 图Nassi和Shneiderman提出了一种符合结构化程序设计原则的图形描述工具, 称之为盒图,又称之为N-S图

9、。在N-S图中,为了表示五种基本控制结构, 规定了五种图形构件。- 顺序型如图5-8所示,在顺序型中,先执行A,后执行B。图5-8顺序型结构- 选择型如图5-9所示,在选择型结构中,如果条件P成立,则可执行T下面的A的 内容,当条件P不成立时,则执行F下的内容。图5-9选择型结构 WHILE重复型如图5-10所示,在WHILE重复型循环结构中,先判断P的值,再执行S。其 中P是循环条件,S是循环体TOILE P图5-10 WHILE重复型循环结构 UNTIL重复型如图5-11所示,在UNTIL重复型循环结构中,先执行S,后判断P的值。图5-11 UNTIL重复型循环结构-多分支选择型如图5-1

10、2所示,给出了多出口的判断图形表示,P为控制条件,根据P的取 值,相应地执行其值下面的各框内容。图5-12多分支选择型例:将图5-6所示的程序流程图转化为N-S图的结果如图5-13所示。图5-13 N-S图举例N-S图的特点- 图形清晰、准确;- 控制转移不能任意规定,必须遵守结构化程序设计原则;- 很容易确定局部数据和全局数据的作用域;- 容易表现嵌套关系和模块的层次结构。5.2.3 PAD 图PAD是Problem analysis diagram的英文缩写,它是日本日立公司提出的。 它是用结构化程序设计思想表现程序逻辑结构的图形工具。PAD也设置了五种基本控制结构的图示,并允许递归使用。

11、1. 顺序型如图5-14所示,按顺序先执行A,再执行B。图5-14顺序型结构2. 选择型 如图5-15所示,给出了判断条件为P的选择型结构。当P为真值时执行上面 的A框,P取假值时执行下面的B框中的内容。如果这种选择型结构只有A框, 没有B框,表示该选择结构中只有THEN后面有可执行语句A,没有ELSE部 分。S1PS2图5-15选择型结构3. WHILE重复型和UNTIL重复型如图5-16所示,P是循环判断条件,S是循环体。循环判断条件框的右端为 双纵线,表示该矩形域是循环条件,以区别于一般的矩形功能域。IWILE PCUMTIL P)图5-16 WHILE重复型和UNTIL重复型结构4.

12、多分支选择型如图5-17所示,多分支选择型是CASE型结构。当判定条件P等于1时执行 A1框的内容,P等于2时执行A2框的内容,P等于N时执行An框的内容。图5-17多分支选择型结构5. PAD图应用举例图5-18给出了图5-6所示的程序流程图的PAD图。图5-18 PAD图举例6. PAD图特点-PAD图的结构化程度高;-PAD图中的是程序的主干线,即程序的第一层结构。其后,每增加一个 层次,则向右扩展一条纵线。程序中的层数就是PAD图中的纵线数。因此, PAD图的可读性强。- 利用PAD图设计出的程序必定是结构化的程序。- 利用软件工具可以将PAD图转换成高级语言程序,进而提高了软件的可

13、靠性和生产率。-PAD图支持自顶向下的逐步求精的方法。7. PAD图的扩充结构为了反映增量型循环结构,在PAD图中增加了对应于FOR i := n1 to n2 step n3 do的循环控制结构,如图5-19(A)所示。其中,n1是循环初值,n2是循环终值, n3是循环增量。图5-19 PAD的扩充控制结构另外,PAD所描述程序的层次关系表现在纵线上。每条纵线表示一个层次。 把PAD图从左到右展开,随着程序层次的增加,PAD逐渐向右展开,有可能 会超过一页纸,这时,对PAD增加了一种如图5-20(B)所示的扩充形式。当 一个模块A在一页纸上画不下时,可在图中该模块相应位置矩形框中简记一 个“

14、NAME A”,再在另一页纸上详细画出A的内容,用def及双下划线来定 义作A的PAD。这种方式可使在一张纸上画不下的图,分在几张纸上画出, 也可以用它定义子程序。5.2.4 PDLPDL (Procedure Design Language)为过程设计语言的英文缩写,于1975年 由Caine与Gordon首先提出PDL是所有非正文形式的过程设计工具的统称, 到目前为止已出现多种PDL语言。-PDL语言的特点- 关键字采用固定语法并支持结构化构件、数据说明机制和模块化;- 处理部分采用自然语言描述;- 可以说明简单和复杂的数据结构;- 子程序的定义与调用规则不受具体接口方式的影响。-PDL描

15、述选择结构利用PDL描述的IF结构如下:IF条件一条或数条语句ELSEIF条件一条或数条语句ELSEIF条件一条或数条语句ELSE一条或数条语句ENDIF-PDL描述循环结构对于三种循环结构,利用PDL描述如下。 WHILE循环结构DO WHILE条件描述一条或数条语句ENDWHILE UNTIL循环结构REPEAT UNTIL条件描述一条或数条语句ENDREP FOR循环结构FOR循环变量二循环变量取值范围,表达式或序列ENDFOR 子程序PROCEDURE 子程序名 属性表INTERFACE 参数表一条或数条语句END属性表指明了子程序的引用特性和利用的程序语言的特性。 输入/输出READ

16、/WRITE TO设备I/O 表综上可见,PDL具有很强的描述功能,是一种十分灵活和有用的详细设计表 达工具。5.2.5 HIPO 图HIPO图是由一组IPO图和一张HC图组成。用HC图描述软件结构,用IPO图 描述程序过程,它是美国IBM公司在软件设计中使用的主要表达工具。HC图是层次图(Hierarchy chart)的英文缩写,用于表示软件的分层结构。 HC图中的每一个模块,均可用一张IPO图来描述IPO图由输入、处理和输 出三个框组成,需要时还可以增加一个数据文件框,如图5-20所示。图中处 理框内的加工逻辑是用N-S图表达的。当然也可由其他详细设计的表达工具 来表示。这种图形的优点是

17、能够直观地显示输入、处理、输出三者之间的联 系。后来将这种传统的IPO图改成如图5-22所示的式样,使它在设计阶段和 分析阶段都可使用。显然,图中有一部分内容在分析阶段还无法填写,填在 处理框中的加工策略,到了设计阶段也要进一步细化。但无论如何,它总是 为设计阶段所需的IPO图提供了基础。在任何良好的开发方法中,希望前一 阶段产生的文档能够方便地转化成后继阶段的文档,这正是这种改进了的。 图的一个优点。图5-20传统的IPO图IPGS系统名编号加工名模块名 调用被调帛输入;输出5ES 注释局部教据元素M图5-21改进的IPO图HIPO图已成为一套自成体系的设计表达工具。不仅如此,在需求分析阶段

18、还 可以用IPO图来描述加工策略。所以虽然用HIPO图制成的设计文档篇幅较大。5.2.6详细设计工具的选择在详细设计中,对一个工程设计选择的原则是:过程描述是否易于理解、复 审和维护,进而过程描述能够自然地转换成代码,并保证详细设计与代码完 全一致。为了达到这一原则,要求设计工具具有下述属性。- 模块化支持模块化软件的开发,并提供描述接口的机制。例如,能够直接表示子程 序和块结构。 简洁设计描述易学、易用和易读。 便于编辑支持后续设计和维护以及在维护阶段对设计进行的修改。 机器可读性设计描述能够直接输入,并且很容易被计算机辅助设计工具识别。 可维护性详细设计应能够支持各种软件配置项的维护。 自

19、动生成报告设计者通过分析详细设计的结果来改进设计。通过自动处理器产生有关分析 报告,进而增强设计者在这方面的能力。- 强制结构化详细设计工具能够强制设计者采用结构化构件,有助于采用优秀的设计。- 数据表示详细设计具备表示局部数据和全局数据的能力。- 逻辑验证软件测试最高目标是能够自动检验设计逻辑的正确性,所以设计描述应易于 进行逻辑验证,进而增强可测试性。(10)编码能力可编码能力是一种设计描述,研究代码自动转换技术可以提高软件效率和减 少出错率。5.3详细设计规格说明与复审建立设计文档的目的是为了把设计师的思想告诉其他有关人员。程序是由计 算机执行的,但可读性提高便于维护。在详细设计阶段的文

20、档是详细设计说 明书。它是程序工作过程的描述。详细设计说明书的内容主要包括:表示软件结构的图表;对逐个模块的描述,包括算法和逻辑流程,输入/输出项,与外部接口等。一个典型的详细设计说明书的框架如图5-22所示。详细设计说明书-引言-1编写目的说明编写详细说明书的目的,并指明读者的对象。-2项目背景包括项目的来源和主管部门等。-3定义列出文档中所用的专门术语的定义和缩写词的原意。-4参考资料列出有关资料的作者、标题、编号、发表日期、出版单位或资料来源。可包 括:项目计划任务书、合同或批文、项目开发计划、需求规格说明书、总体 设计说明书、测试计划、用户操作手册、文档中所引用的其它资料、软件开 发标

21、准或规范。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测试要点给出测试模块的主要测试要求。5.3.2设计复审设计复审是非常重要的工作,设计复审主要是指对设计文档的复审。- 复审的指导原则详细设计复审一般不邀请用户和其他领域的代表。复审是为了提早揭露错误,参加复审的设计人员应该欢迎别人提出批评和 建议,但复审的对

22、象是设计文档,不是设计者本身,其他参加者也应为复审 创造和谐的气氛。复审中提出的问题应详细记录,但不一定当场解决。复审结束前作出本次复审能否通过的结论。2.复审的主要内容 详细设计复审的重点应该放在各个模块的具体设计上。例如模块的设计能否 满足其功能与性能要求、选择的算法与数据结构是否合理、符不符合编码语 言的特点、设计描述是否简单、清晰等等。3. 复审的方式复审分正式与非正式两种方式,非正式复审的特点是参加人数少,且均为软 件人员,带有同行讨论的性质。因而方便灵活,十分适合于详细设计复审。常采用的非正式复审的过程是:由一名设计人员逐行宣读设计资料,由到会 的同行跟随他指出的次序一行行的往下审

23、查。发现有问题或错误就做好记录, 然后根据多数参加者的意见,决定通过该设计资料或退回原设计人进行纠正。 正式复审除软件开发人员外,还邀请用户代表和领域专家参加,通常采用答 辩方式,与会者要提前审阅文档资料,设计人员对设计方案详细说明之后, 回答与会者的问题并记录各种重要的评审意见。小结详细设计的关键任务是确定怎样具体地实现所要求的目标系统,也就是要设 计出程序的蓝图。除了应该保证程序的可靠性之外,使将来编写出的程序的 可读性好,容易理解,容易测试和容易修改、维护是详细设计的最重要的目 标。程序流程图、盒图、PAD图、HIPO图和PDL语言等等都是完成详细设计的工 具,选择合适的工具并且正确的使用它们是十分重要的。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!