欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    软件工程第6章详细设计.ppt

    • 资源ID:6610900       资源大小:265KB        全文页数:35页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    软件工程第6章详细设计.ppt

    第六章,6,软件设计,6.3 详细设计,6.3.1 详细设计概述,详细设计也叫“过程设计”详细设计的目标:确定应该怎样具体地实现所需要的系统,确定概要设计阶段划分的每个模块的具体执行过程,从而在编码阶段可以直接把这个描述翻译成某种程序语言书写的程序。,6.3.1 详细设计概述,详细/过程设计的基本任务:算法设计。用某种图形、表格、语言等工具将每个模块的处理过程的详细算法描述出来数据结构设计。对需求分析、概要设计确定的概念性的数据类型进行确切的定义。数据库物理设计。确定数据库的存储记录格式、存储记录安排和存储方法等物理结构。其他设计。输入输出格式设计,数据库中数据项的值的代码设计。编写详细设计说明书评审,6.3.1 详细设计概述,详细设计的原则(1)由于详细设计的蓝图是给人看的,所以模块的逻辑描述要清晰易读、正确可靠。这样别人才能读懂。这也是常说的清晰第一的设计风格。(2)采用结构化设计方法,改善控制结构,降低程序的复杂程度,从而提高程序的可读性、可测试性、可维护性,6.3.1 详细设计概述,结构化过程设计主要思想自顶向下、逐步求精的设计方法和单入口单出口的控制结构结构化设计的基本控制结构:顺序,选择,循环用三种基本结构可构造任何单入口单出口程序优点确保软件具有良好的结构,能构造高质量的程序,6.3.2 详细设计的表示工具,图形工具:程序流程图,N-S,PAD,HIPO表格工具:判定表、判定树语言工具:PDL、HIPO,1.程序流程图(PFC),程序流程图也称为程序框图,是描述程序逻辑结构的工具。程序流程图使用五种基本控制结构是:,顺序型,选择型,先判断重复型,后判断重复型,多分支选择型,6.3.2 详细设计的表示工具,程序流程图的优点:直观清晰、易于使用缺点:(1)易造成非结构化的程序结构,程序流程图使用箭头代表控制流,程序员不受任何约束,可以完全不顾结构程序设计的原则,随意转移控制(2)程序流程图本质上不是逐步求精的好工具,过早考虑程序的控制流程而忽略程序的全局结构(3)程序流程图不易表示数据结构和描述有关的数据,只能描述执行过程;(4)对于大型软件而言,流程图过于琐碎,不容易阅读和修改。,1.程序流程图,6.3.2 详细设计的表示工具,克服缺点:应由顺序、选择和循环3种基本控制结构顺序组合和完整嵌套而成,不能有相互交叉。,1.程序流程图,流程图示例,6.3.2 详细设计的表示工具,PAD是一种有左往右展开的二维树型结构 日本鲤鱼旗PAD图的控制流程为自上而下、从左到右地执行,2.问题分析图(PAD),2.问题分析图(Problem Analysis Diagram),PAD也设置了五种基本控制结构的图式,并允许递归使用。,PAD图举例:将数组A(1)到A(10)进行选择法排序(升序)的算法描述。,PAD图的控制流程为自上而下、从左到右。,2.问题分析图(PAD),PAD图举例:将数组A(1)到A(10)进行选择法排序的算法描述。,PAD图的控制流程为自上而下、从左到右。,2.问题分析图(PAD),PAD图的优点:1、清晰地反映了程序的层次结构。图中的竖线为程序的层次线,最左边的竖线是程序的主线,其后一层一层展开,层次关系一目了然。2、支持逐步求精的设计方法,左边层次中的内容可以抽象,然后由左到右逐步细化。3、易读易写,使用方便。4、支持结构化的程序设计原理。5、可以自动生成程序。PAD图有对照FORTRAN、Pascal、C等高级语言的标准图式,因此,在有PAD系统的计算机上(如日立公司的系列机),可以直接输入PAD图,由计算机自动通过走树的方法生成源程序代码,为软件的自动生成提供了有力的工具。,2.问题分析图(PAD),N-S图(盒图):是一种符合结构化程序设计原则的图形描述工具。在N-S图中,为了表示五种基本控制结构,规定了五种图形构件。,顺序,多分支选择,“当型”循环,注:其中P为循环条件,S为循环体。,选择,DO-UNTIL P,S,S,“直到型”循环,6.3.2 详细设计的表示工具,3.盒图(N-S图),N-S图有下述特点:功能域(一个特定控制结构的作用域)明确,图中每个矩形框(除CASE构造中表示条件取值的矩形框外),就是功能域。不可能任意转移控制,约束设计人员必须遵守结构化程序设计的要求。在盒图上很容易确定局部和全程数据的作用域。很容易表现嵌套关系,也可以表示模块的层次结构。,6.3.2 详细设计的表示工具,3.盒图(N-S图),4.判定表,判定表用于表示程序的静态逻辑在判定表中的条件部分给出所有的两分支判断的列表,动作部分给出相应的处理要求将程序流程图中的多分支判断都改成两分支判断,6.3.2 详细设计的表示工具,在伪代码的基础上,用于描述模块算法设计和处理细节的语言PDL与需求分析中采用的结构化语言统属于伪码。伪码的结构分为内外两层,外层语法应符合一般程序设计语言常用的语法规则,而内层语法则用表示实际操作和条件的自然语言,语法自由优点可作为注释插入到源程序中,简便,易于自动处理,6.3.2 详细设计的表示工具,5.过程设计语言(Process Design Language),PDL作为一种用于描述程序逻辑的语言,具有以下特点:有固定的关键字外语法,提供全部结构化控制结构、数据说明和模块特征内语法使用自然语言来描述处理特性,为开发者提供方便,提高可读性。具有数据说明机制,包括简单的(如标量和数组)与复杂的(如链表和层次结构)的数据结构。具有子程序定义与调用机制,用以表达各种方式的接口说明。由于与程序是同构的,可利用自动生成程序自动生成代码,提高软件生产率。,5.过程设计语言(Process Design Language),PDL中相关的关键词介绍:1、数据说明 TYPE IS 2、程序块 BEGIN END,5.过程设计语言(Process Design Language),3、控制结构1)顺序结构在这个结构中,程序按语句的先后顺序执行。2)选择结构IF THEN ELSE ENDIF,5.过程设计语言(Process Design Language),3)多路选择结构CASE OF:WHEN SELECT WHEN SELECT WHEN SELECT DEFAULT:ENDCASE,5.过程设计语言(Process Design Language),4)循环结构WHILE循环的形式如下:DO WHILE ENDDOUNTIL循环的形式如下:REPEAT UNTIL ENDREPFOR循环的形式如下:DO FOR ENDFOR,5.过程设计语言(Process Design Language),4、子程序子程序的形式如下:PROCEDURE INTERFACE END对子程序的调用可采用PERFORM。其形式如下:PERFORM 如果调用该子程序需要参数时,则其形式如下:PERFORM USING,5.过程设计语言(Process Design Language),5、输入输出用PDL描述输入输出一般有两种形式:READ/WRITE TO 或ASK ANSWER 其中,第一种形式的是指I/O设备,则是其要传送的变量名。而第二种形式则多用于人机交互的设计,5.过程设计语言(Process Design Language),PDL应用示例,以系统主控模块详细设计为例:PROCEDURE 模块名()清屏;显示系统用户界面;WRITE(“请输入用户口令:”);READ(password);IF password系统口令 THEN 提示警告信息;退出运行;ENDIF 显示本系统主菜单;END,定量度量程序复杂程度的方法很有价值:把程序的复杂程度乘以适当常数即可估算出软件中故障的数量以及软件开发需要用的工作量定量度量的结果可以用来比较两个不同的设计或两个不同算法的优劣;程序的定量的复杂程度可以作为模块规模的精确限度,6.3.3 程序复杂程度的定量度量,定量度量程序复杂度的常用方法:MaCabe方法Halstead方法,6.3.3 程序复杂程度的定量度量,McCabe方法,使用McCabe方法首先需要画出程序图,所谓程序图可以看成是“退化了的”程序流程图,也就是把程序流程图中每个处理符号都退化成一个点,原来连接不同处理符号的箭头变成连接不同点的有向弧,这样得到的有向图就称为程序图。,环形复杂度的计算方法,可以用下列任何一种方法计算环形复杂度1、流图中的区域数等于环形复杂度2、流图G的环形复杂度V(G)=E-N+2,其中,E是流图中边的条数,N是结点数。3、流图G的环形复杂度V(G)=P+1,其中,P是流图中判定结点的数目。上图中的的环形复杂度为4,环形复杂度的用途,程序的环形复杂度取决于程序控制流的复杂程度,也即是取决于程序结构的复杂程度。当程序内分支数或循环个数增加时,环形复杂度也随之增加,因此它是对测试难度的一种定量度量,也能对软件最终的可靠性给出某种预测。实践表明,模块规模以V(G)10为宜,也就是说,V(G)10是模块规模的一个更科学更精确的上限。,Halstead方法,Halstead方法根据程序中运算符和操作数的总数来度量程序的复杂程度。令N1为程序中运算符出现的总次数,N2为操作数出现的总次数,程序长度N定义为:N N1十N2详细设计完成之后,可以知道程序中使用的不同运算符(包括关键字)的个数n1,以及不同操作数(变量和常数)的个数n2。Halstead给出预测程序长度的公式如下:H n1log2n1十n2log2n2 多次验证都表明,预测的长度H与实际长度N非常接近。Halstead还给出了预测程序中包含错误的个数的公式如下:E N log2(n1+n2)3000,

    注意事项

    本文(软件工程第6章详细设计.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开