欢迎来到天天文库
浏览记录
ID:40151042
大小:539.55 KB
页数:51页
时间:2019-07-23
《《软件工程详细设计》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章详细设计5.1结构程序设计5.2人机界面设计5.3过程设计的工具5.4面向数据结构的设计方法5.5程序复杂程度的定量度量5.6小结习题详细设计的任务(1)确定每个模块的具体算法;(2)确定每个模块的内部数据结构及数据库的物理结构;(3)确定模块接口的具体细节;(4)为每个模块设计一组测试用例;(5)编写文档,参加复审。程序流程图又称为程序框图,它是历史最悠久、使用最广泛的描述过程设计的方法,然而它也是用得最混乱的一种方法。5.3过程设计的工具5.3.1程序流程图图5.1程序流程图中的基本符号(a)一般处理框;(
2、b)输入/输出框;(c)判断框;(d)流程线;(e)起止框开始输入10个整数到a结束j=i+1i<9YN输出:aj++i=0j<10a[i]a[j]a[i]>a[j]YYNNi++N开始输入m,na=m;b=nab?Ya=a-bN输出:a“辗转相截(减)法”原理:XX=YGCD(X,Y)=GCD(X–Y,Y)X>YGCD(X,Y–X)X3、found==1?输出:是输出:不是NYY入口A>15ANDB=3返回X=X/ATA=30ORX>5FX=X+1TF开始输入mfound=1i=2i<=(m+1)/2结束found=0Yi=i+1m能被i整除?NNfound==1?输出:是输出:不是NYY开始输入mfound=1i=2i<=sqrt(m+1)结束found=0Yi=i+1m能被i整除?NNfound==1?输出:是输出:不是NYY按钮指示灯电梯按钮楼层按钮电梯控制器m2m-211通信通信电梯门n1控制开始输入mfound=1i=2(i<=sqrt(m4、+1))and(found==1)结束found=0Yi=i+1m能被i整除?NNfound==1?输出:是输出:不是NYY开始输入mi=2i<=sqrt(m+1)结束Yi=i+1m能被i整除?NNi>sqrt(m+1)输出:是输出:不是NYY程序流程图的主要缺点如下:(1)程序流程图本质上不是逐步求精的好工具,它诱使程序员过早地考虑程序的控制流程,而不去考虑程序的全局结构;(2)程序流程图中用箭头代表控制流,因此程序员不受任何约束,可以完全不顾结构程序设计的精神,随意转移控制;(3)程序流程图不易表示数据结构。盒图5、是一种不允许违背结构程序设计精神的图形工具,又称为N-S图,它有下述特点:(1)功能域(即,一个特定控制结构的作用域)明确,可以从盒图上一眼就看出来;(2)不可能任意转移控制;(3)很容易确定局部和全程数据的作用域;(4)很容易表现嵌套关系,也可以表示模块的层次结构。5.3.2盒图(N-S图)图5.2盒图的基本符号优点:表达出的程序结构必然符合结构化程序设计的思想,有利于培养软件设计人员的良好设计风格。缺点:程序嵌套层次较多时,N-S图的内层方框会越画越小,不仅影响可读性而且不易修改。PAD是问题分析图(probl6、emanalysisdiagram)的英文缩写,它用二维树形结构的图来表示程序的控制流,将这种图翻译成程序代码比较容易。PAD图的主要优点如下:(1)使用表示结构化控制结构的PAD符号所设计出来的程序必然是结构化程序。5.3.3PAD图图5.3PAD图的基本符号主要优点如下:(1)使用表示结构化控制结构的PAD符号所设计出来的程序必然是结构化程序。(2)PAD图所描绘的程序结构十分清晰。图中最左面的竖线是程序的主线,即第一层结构。随着程序层次的增加,PAD图逐渐向右延伸,每增加一个层次,图形向右扩展一条竖线。PAD图7、中竖线的总条数就是程序的层次数。(3)用PAD图表现程序逻辑,易读、易懂、易记。PAD图是二维树形结构的图形,程序从图中最左竖线上端的结点开始执行,自上而下,从左向右顺序执行,遍历所有结点。(4)容易将PAD图转换成高级语言源程序,这种转换可用软件工具自动完成,从而可省去人工编码的工作,有利于提高软件可靠性和软件生产率。(5)即可用于表示程序逻辑,也可用于描绘数据结构。(6)PAD图的符号支持自顶向下、逐步求精方法的使用。开始时设计者可以定义一个抽象的程序,随着设计工作的深入而使用def符号逐步增加细节,直至完成详细8、设计。图5.4使用PAD图提供的定义功能来逐步求精的例子本节先介绍Jackson方法的工具——Jackson图,然后介绍Jackson程序设计方法的基本步骤。5.4面向数据结构的设计方法(1)顺序结构顺序结构的数据由一个或多个数据元素组成,每个元素按确定次序出现一次。图5.5是表示顺序结构的Jackson图的一个例子。5.4.1Jackson图
3、found==1?输出:是输出:不是NYY入口A>15ANDB=3返回X=X/ATA=30ORX>5FX=X+1TF开始输入mfound=1i=2i<=(m+1)/2结束found=0Yi=i+1m能被i整除?NNfound==1?输出:是输出:不是NYY开始输入mfound=1i=2i<=sqrt(m+1)结束found=0Yi=i+1m能被i整除?NNfound==1?输出:是输出:不是NYY按钮指示灯电梯按钮楼层按钮电梯控制器m2m-211通信通信电梯门n1控制开始输入mfound=1i=2(i<=sqrt(m
4、+1))and(found==1)结束found=0Yi=i+1m能被i整除?NNfound==1?输出:是输出:不是NYY开始输入mi=2i<=sqrt(m+1)结束Yi=i+1m能被i整除?NNi>sqrt(m+1)输出:是输出:不是NYY程序流程图的主要缺点如下:(1)程序流程图本质上不是逐步求精的好工具,它诱使程序员过早地考虑程序的控制流程,而不去考虑程序的全局结构;(2)程序流程图中用箭头代表控制流,因此程序员不受任何约束,可以完全不顾结构程序设计的精神,随意转移控制;(3)程序流程图不易表示数据结构。盒图
5、是一种不允许违背结构程序设计精神的图形工具,又称为N-S图,它有下述特点:(1)功能域(即,一个特定控制结构的作用域)明确,可以从盒图上一眼就看出来;(2)不可能任意转移控制;(3)很容易确定局部和全程数据的作用域;(4)很容易表现嵌套关系,也可以表示模块的层次结构。5.3.2盒图(N-S图)图5.2盒图的基本符号优点:表达出的程序结构必然符合结构化程序设计的思想,有利于培养软件设计人员的良好设计风格。缺点:程序嵌套层次较多时,N-S图的内层方框会越画越小,不仅影响可读性而且不易修改。PAD是问题分析图(probl
6、emanalysisdiagram)的英文缩写,它用二维树形结构的图来表示程序的控制流,将这种图翻译成程序代码比较容易。PAD图的主要优点如下:(1)使用表示结构化控制结构的PAD符号所设计出来的程序必然是结构化程序。5.3.3PAD图图5.3PAD图的基本符号主要优点如下:(1)使用表示结构化控制结构的PAD符号所设计出来的程序必然是结构化程序。(2)PAD图所描绘的程序结构十分清晰。图中最左面的竖线是程序的主线,即第一层结构。随着程序层次的增加,PAD图逐渐向右延伸,每增加一个层次,图形向右扩展一条竖线。PAD图
7、中竖线的总条数就是程序的层次数。(3)用PAD图表现程序逻辑,易读、易懂、易记。PAD图是二维树形结构的图形,程序从图中最左竖线上端的结点开始执行,自上而下,从左向右顺序执行,遍历所有结点。(4)容易将PAD图转换成高级语言源程序,这种转换可用软件工具自动完成,从而可省去人工编码的工作,有利于提高软件可靠性和软件生产率。(5)即可用于表示程序逻辑,也可用于描绘数据结构。(6)PAD图的符号支持自顶向下、逐步求精方法的使用。开始时设计者可以定义一个抽象的程序,随着设计工作的深入而使用def符号逐步增加细节,直至完成详细
8、设计。图5.4使用PAD图提供的定义功能来逐步求精的例子本节先介绍Jackson方法的工具——Jackson图,然后介绍Jackson程序设计方法的基本步骤。5.4面向数据结构的设计方法(1)顺序结构顺序结构的数据由一个或多个数据元素组成,每个元素按确定次序出现一次。图5.5是表示顺序结构的Jackson图的一个例子。5.4.1Jackson图
此文档下载收益归作者所有