书签 分享 收藏 举报 版权申诉 / 41
上传文档赚钱

类型第六讲 软件工程详细设计方法课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4253615
  • 上传时间:2022-11-23
  • 格式:PPT
  • 页数:41
  • 大小:578.50KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《第六讲 软件工程详细设计方法课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    第六讲 软件工程详细设计方法课件 第六 软件工程 详细 设计 方法 课件
    资源描述:

    1、n采用自顶向下、逐步求精的程序设计方法采用自顶向下、逐步求精的程序设计方法n使用三种基本控制结构构造程序使用三种基本控制结构构造程序 (顺序、选择、重复)(顺序、选择、重复)n主程序员的组织形式主程序员的组织形式 结构化程序设计技术是一种设计程序的技结构化程序设计技术是一种设计程序的技术,它采用自顶向下逐步求精的设计方法术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制结构,并且只包含和单入口单出口的控制结构,并且只包含顺序、选择和循环三种控制结构。顺序、选择和循环三种控制结构。n使用结构程序设计技术的好处:使用结构程序设计技术的好处:n1)提高软件开发工程的成功率和生产率;)提高软件开

    2、发工程的成功率和生产率;n2)系统有清晰的层次结构,容易阅读理解;)系统有清晰的层次结构,容易阅读理解;n3)单入口单出口的控制结构,容易诊断纠正;)单入口单出口的控制结构,容易诊断纠正;n4)模块化可以使得软件可以重用;)模块化可以使得软件可以重用;n5)程序逻辑结构清晰,有利于程序正确性)程序逻辑结构清晰,有利于程序正确性证明证明 n经典的结构程序设计经典的结构程序设计:只允许使用顺序、:只允许使用顺序、IF_THEN_ELSE选择和选择和DO_WHILE循环;循环;扩展的结构程序设计扩展的结构程序设计:除了三种基本控制结构,:除了三种基本控制结构,还使用还使用DO_CASE和和DO_UN

    3、TIL循环;循环;修正的结构程序设计:修正的结构程序设计:除了三种基本控制结构除了三种基本控制结构和两种扩充结构,还使用和两种扩充结构,还使用BREAK等结构。等结构。n是最为熟悉、应用最为广泛的算法表是最为熟悉、应用最为广泛的算法表示工具、可以比较好的描绘出算法思示工具、可以比较好的描绘出算法思路。路。A B(a)顺序结构(b)选择结构 B exp A F T exp A T F exp A F T(c)循环结构 或 DO CASE I(a)DO_UNTIL型循环结构 exp A F T CASE 1 CASE 2 CASE n (b)DO_CASE型多分支结构 起止端点 数据 处理 准备或

    4、预处理 预先定义的处理 条件判断 循环上界限 循环下界限 文档 流线 虚线 省略符 并行方式 注释 书上实例书上实例p187n程序流程图虽然比较直观,灵活,并且比程序流程图虽然比较直观,灵活,并且比较容易掌握,但是它的随意性和灵活性却较容易掌握,但是它的随意性和灵活性却使它不可避免地存在着一些缺点:使它不可避免地存在着一些缺点:(1)由于程序流程图的特点,它本身并不)由于程序流程图的特点,它本身并不是逐步求精的好工具。因为它使程序员容是逐步求精的好工具。因为它使程序员容易过早地考虑程序的具体控制流程,而忽易过早地考虑程序的具体控制流程,而忽略了程序的全局结构;略了程序的全局结构;(2)程序流程

    5、图中用箭头代表控制流,这)程序流程图中用箭头代表控制流,这样使得程序员不受任何约束,可以完全不样使得程序员不受任何约束,可以完全不顾结构程序设计的精神,随意转移控制;顾结构程序设计的精神,随意转移控制;(3)程序流程图在表示数据结构方面存在)程序流程图在表示数据结构方面存在不足。不足。nN-S图是由图是由Nassi和和Shneiderman提出提出的一种符合结构化程序设计原则的图的一种符合结构化程序设计原则的图形描述工具。也叫盒图。形描述工具。也叫盒图。值 1 Case1 部分 Case条件 第一个任务 第二个任务 第三个任务(a)顺序结构 F 条件 T ELSE 部分 THEN 部分(b)选

    6、择结构(c)多分支结构 循环条件 DO_WHILE 部分 循环条件 DO_UNTIL 部分(d)循环结构 A(e)调用子程序 A 值 2 Case2 部分 值 n Casen 部分(1)功能域(即某一个特定控制结构的作用域)功能域(即某一个特定控制结构的作用域)有明确的规定,并且可以很直观地从有明确的规定,并且可以很直观地从N-S图上看图上看出来;出来;(2)它的控制转移不能任意规定,必须遵守结构)它的控制转移不能任意规定,必须遵守结构化程序设计的要求;化程序设计的要求;(3)很容易确定局部数据和全局数据的作用域;)很容易确定局部数据和全局数据的作用域;(4)很容易表现嵌套关系,也可以表示模块

    7、的层)很容易表现嵌套关系,也可以表示模块的层次结构。次结构。N-S图与流程图的相互转换?图与流程图的相互转换?书上实例书上实例p190nPAD图是日本日立公司提出,由程序图是日本日立公司提出,由程序流程图演化来的,用结构化程序设计流程图演化来的,用结构化程序设计思想表现程序逻辑结构的图形工具。思想表现程序逻辑结构的图形工具。为为ISO认可。认可。A B(a)顺序结构 A B P(b)选择结构 WHILE P S(c)WHILE型循环结构 UNTIL P S(d)UNTIL型循环结构 A1 A2 P=An P1 P2 Pn(e)多分支结构(f)语句标号(g)定义 A C B1 B2 P1 WHI

    8、LE P3 C4 C def C1 C2 C3 P2 PAD图的例子 nPAD图的实例见图的实例见p191页页n特点特点:结构清晰结构清晰,支持结构化的程序设支持结构化的程序设计方法计方法,有利于自动生成程序。有利于自动生成程序。n 输入三个正整数作为边长,判断该三条边输入三个正整数作为边长,判断该三条边构成的三角形是等边、等腰还是一般三角构成的三角形是等边、等腰还是一般三角形。请画出该程序的流程图、形。请画出该程序的流程图、N-S图、图、PAD图。图。n n n n在数据A(1)A(n)中求最大数和次大数.。n在数据A(1)A(n)中求前m个最大的数。n当算法中包含多重条件选择时,用程当算法

    9、中包含多重条件选择时,用程序流程图、序流程图、N-S图或图或PAD都不能清晰都不能清晰地描述。用判定表确可以清晰表达复地描述。用判定表确可以清晰表达复杂条件与应做动作之间的关系。杂条件与应做动作之间的关系。12345教授 TFFF副教授 FTFF讲师 FFTF助教 FFFT讲座TFFFF50 30 25 20 15 例:某校制定了教师的讲课课时津贴标准。对于各种性质的讲座,无论教师是什么职称,每课时津贴费一律是50元;而对于一般的授课,则根据教师的职称来决定每课时津贴费:教授30元,副教授25元,讲师20元,助教15元。n一张判定表由四部分组成,左上部列出所一张判定表由四部分组成,左上部列出所

    10、有条件,左下部是所有可能的动作,右上有条件,左下部是所有可能的动作,右上部是表示各种条件组合的一个矩阵,右下部是表示各种条件组合的一个矩阵,右下部是和每种条件组合相对应的动作部是和每种条件组合相对应的动作.n某航空公司规定,某航空公司规定,重量不超过重量不超过30公斤的行公斤的行李可免费托运。重量超过李可免费托运。重量超过30公斤时,对超公斤时,对超运部分,头等舱国内乘客收运部分,头等舱国内乘客收4元元/公斤;其它公斤;其它舱位国内乘客收舱位国内乘客收6元元/公斤;外国乘客收费为公斤;外国乘客收费为国内乘客的国内乘客的2倍;残疾乘客的收费为正常乘倍;残疾乘客的收费为正常乘客的客的1/2。123

    11、456789国内乘客国内乘客T T T T FFFF头等舱头等舱T F T F T F T F残疾乘客残疾乘客FF T T FF T T行李重量行李重量 W 30T FFFFFFFF免费免费(W-30)2(W-30)3(W-30)4 (W-30)6 (W-30)8(W-30)12 用判定表表示计算行李费的算法用判定表表示计算行李费的算法nPDL是一种用于描述功能模块的算法设计是一种用于描述功能模块的算法设计和加工细则的语言。它是一种伪码。和加工细则的语言。它是一种伪码。nPDL不同于一般的不同于一般的“结构化语言结构化语言”。PDL更接近于自然语言,容易看懂。更接近于自然语言,容易看懂。nPD

    12、L语言具有下述特点:语言具有下述特点:(1)PDL虽然不是程序设计语言,但是它与高级程序设计虽然不是程序设计语言,但是它与高级程序设计语言非常类似,只要对语言非常类似,只要对PDL描述稍加变换就可变成源程序描述稍加变换就可变成源程序代码。因此,它是详细设计阶段很受欢迎的表达工具。代码。因此,它是详细设计阶段很受欢迎的表达工具。(2)用)用PDL写出的程序,既可以很抽象,又可以很具体。写出的程序,既可以很抽象,又可以很具体。因此,容易实现自顶向下逐步求精的设计原则。因此,容易实现自顶向下逐步求精的设计原则。(3)PDL描述同自然语言很接近,易于理解。描述同自然语言很接近,易于理解。(4)PDL描

    13、述可以直接作为注释插在源程序中,成为程序描述可以直接作为注释插在源程序中,成为程序的内部文档。这对提高程序的可读性是非常有益的。的内部文档。这对提高程序的可读性是非常有益的。(5)PDL描述与程序结构相似,因此自动产生程序比较容描述与程序结构相似,因此自动产生程序比较容易。易。nPDL的缺点是不如图形描述形象直观的缺点是不如图形描述形象直观n定量度量程序复杂度的作用:定量度量程序复杂度的作用:n (1)可估算软件中错误的数量及软件开发工作量;)可估算软件中错误的数量及软件开发工作量;n (2)度量的结果可用来比较不同设计或不同算法的优劣;)度量的结果可用来比较不同设计或不同算法的优劣;n (3

    14、)程序的复杂度可作为模块规模的限度。)程序的复杂度可作为模块规模的限度。n 流图流图n“退化退化”的程序流程图,仅描绘程的程序流程图,仅描绘程序的控制流程,不表现对数据的具体序的控制流程,不表现对数据的具体操作及循环、选择的条件。操作及循环、选择的条件。1.McCabe方法方法一个圆代表一条或多条语句;一个圆代表一条或多条语句;一个顺序结构可以合并成一个结点;一个顺序结构可以合并成一个结点;汇点也是结点;汇点也是结点;一个顺序处理框序列和一个判断框可一个顺序处理框序列和一个判断框可映射成一个结点。映射成一个结点。复合条件:复合条件:包含了一个或包含了一个或多个布尔运算符多个布尔运算符(OR、A

    15、ND、NOR等)。等)。应把复合条件应把复合条件分解为简单条件,分解为简单条件,每个条件对应一每个条件对应一个结点。个结点。计算环形复杂度的方法计算环形复杂度的方法:1)环形复杂度)环形复杂度 V(G)等于流图中的区域数;)等于流图中的区域数;2)环形复杂度)环形复杂度 V(G)EN+2,其中,其中E是流图中边的条是流图中边的条数,数,N是结点数;是结点数;3)环形复杂度)环形复杂度 V(G)P1,其中,其中P为流图中判定结点为流图中判定结点的数目。的数目。n例:计算下列程序图的程序复杂度例:计算下列程序图的程序复杂度n解:解:n 方法一:程序图把平面分为方法一:程序图把平面分为4个区域,程序

    16、复杂度个区域,程序复杂度V(G)4;n 方法二:边的条数方法二:边的条数E11,结点数,结点数N9,程序复杂度,程序复杂度V(G)EN24;n 方法三:判定结点为方法三:判定结点为1、2、4点,数目为点,数目为P3个,所以个,所以V(G)P14。n环形复杂度的用途环形复杂度的用途 对测试难度的一种定量度量,也能对软件最终的可靠性给对测试难度的一种定量度量,也能对软件最终的可靠性给出某种预测。出某种预测。实践表明,模块规模以实践表明,模块规模以V(G)10为宜。为宜。根据程序中运算符和操作数的总数来度量程序根据程序中运算符和操作数的总数来度量程序复杂度。复杂度。N=N1+N2其中:其中:N定义为

    17、定义为程序长度程序长度;N1为程序中运算符出现的总次数;为程序中运算符出现的总次数;N2为操作数出现的总次数。为操作数出现的总次数。2.Halstead方法方法nHalstead给出预测程序长度的公式为:给出预测程序长度的公式为:n H=n1log2n1+n2log2n2n其中:其中:H定义为程序预测长度;定义为程序预测长度;n n1为程序中使用的为程序中使用的不同运算符不同运算符(包括关键字)的个数;(包括关键字)的个数;n n2为程序中使用的为程序中使用的不同操作数不同操作数(变量和常量)的个数。(变量和常量)的个数。n验证表明,程序的预测长度验证表明,程序的预测长度H和实际程序长度和实际程序长度N非常接近。非常接近。n Halstead给出了预测程序中包含错误的个给出了预测程序中包含错误的个数的公式:数的公式:n E=N log2(n1+n2)/3000

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:第六讲 软件工程详细设计方法课件.ppt
    链接地址:https://www.163wenku.com/p-4253615.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库