欢迎来到天天文库
浏览记录
ID:48151032
大小:425.00 KB
页数:42页
时间:2020-01-16
《软件详细设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《软件工程》软件的系统设计—详细设计陈巧丽3.2详细设计详细设计(又称过程设计)是对概要设计阶段建立的模型(即每个组成模块)再进行详细定义和说明。包括定义每一模块的详细功能、输入数据、使用文件及使用方式,确定输出内容及格式,模块实现的详细算法,每一模块的程序构成等。详细设计的任务具体主要有如下五点。(1)确定每个模块的具体算法。(2)确定每个模块的内部数据结构及数据库的物理结构。(3)确定模块接口的具体细节。(即确定模块接口的详细信息,包括模块之间的接口信息、模块与系统外部的接口信息及用户界面等。)(4)为
2、每个模块设计一组测试用例。(5)编写文档,参加复审。详细设计阶段给出了程序的框架,它基本上决定了最终的程序代码的质量。结构化程序设计就是保证程序的简明易懂的重要技术。1.结构化程序设计结构化程序设计的基本思路,是把一个复杂的问题分阶段进行,每个阶段处理的问题都在人们容易理解和处理的范围内,这也正是前面介绍的结构化方法的主体思想。结构程序设计是釆用“自顶向下,逐步细化”的设计方法和单入口单出口的控制结构。结构程序设计使用三种基本控制结构:顺序、选择、循环。流程图如3.2.9。这三种基本结构就可以实现任何单入口
3、单出口的程序。但为了使用方便,还允许有DO_UNTIL和DO_CASE两种控制结构。有时为了提前从循环中跳出,还允许有BREAK结构。我们称只允许使用三种基本结构的为经典的结构化程序设计;除三种基本结构外,还可用DO_UNTIL和DO_CASE的为扩展的结构程序设计;若再加上BREAK则称为修正的结构程序设计。2.详细设计可采用的工具1).(传统的)程序流程图程序流程图是最早出现且使用较为广泛的算法表达工具之一,能够有效地描述问题求解过程中的程序逻辑结构。程序流程图中经常使用的基本符号如图5.17所示。图3
4、.2.10‘程序流程图中的基本符号(a)一般处理框;(b)输入/输出框;(c)判断框;(d)流程线;(e)起止框程序流程图的主要优点在于对程序的控制流程描述直观、清晰,使用灵活,便于阅读和掌握,因此在20世纪40年代末到70年代初被普遍采用。但随着程序设计方法的发展,程序流程图的许多缺点逐渐暴露出来,这些缺点主要体现在以下方面:(1)程序流程图中可以随心所欲地使用流程线,容易造成程序控制结构的混乱,与结构化程序设计的思想相违背。(2)程序流程图难以描述逐步求精的过程,容易导致程序员过早考虑程序的控制流程,而
5、忽略程序全局结构的设计。(3)程序流程图难以表示系统中的数据结构。为此,人们宁可选择其他一些更有利于结构化设计的表达工具,N-S图和PAD图就是其中的两种图形工具。2).N-S图N-S图又称为盒图,它是为了保证结构化程序设计而由Nassi和Shneiderman共同提出的一种图形工具。在N-S图中,所有的程序结构均使用矩形框表示,它可以清晰地表达结构中的嵌套及模块的层次关系。N-S图中,基本控制结构的表示符号如图3.2.11所示。由于N-S图中没有流程线,不可能随意转移控制,因而表达出的程序结构必然符合结构
6、化程序设计的思想,有利于培养软件设计人员的良好设计风格。但当所描述的程序嵌套层次较多时,不仅影响可读性而且不易修改。图3.2.11N-S图中基本控制结构的表示符号顺序结构;(b)分支结构;(c)多分支CASE结构;(d)while-do结构;(e)do-until结构;(f)调用模块A3).PAD图PAD(ProblemAnalysisDiagram,问题分析图)是继程序流程图和N-S图后,由日立公司在20世纪70年代提出的又一种用于详细设计的图形表达工具。它只能用于结构化程序的描述。PAD图采用了易于使用
7、的树型结构图形符号,既利于清晰地表达程序结构,又利于修改。PAD图中所经常使用的基本符号如图5.19所示。图5.19PAD中基本符号顺序结构;(b)分支结构;(c)多分支CASE结构;(d)当型循环;(e);直到型循环;(f)对s的细化PAD图具有的主要优点如下:(1)使用PAD图描述的程序结构层次清晰,逻辑结构关系直观、易读、易记、易修改。(2)PAD图为多种常用高级语言提供了相应的图形符号,每种控制语句都与一个专门的图形符号相对应,易于PAD图向高级语言源程序转换。(3)支持自顶向下、逐步求精的设计过程
8、。(4)既能够描述程序的逻辑结构,又能够描述系统中的数据结构。图5.20三种详细设计中使用的图形工具示例采用程序流程图描述计算应发工资模块;(b)采用N-S图描述计算应发工资模块;(c)采用PAD图描述计算应发工资模块4).PDL语言PDL(ProcessDesignLanguage)语言即过程设计语言,是一种用于描述程序算法和定义数据结构的伪代码。PDL语言的构成与用于描述加工的结构化语言相似,是一种兼有自然语
此文档下载收益归作者所有