(转载)详细设计-盒图 PAD图 过程设计语言

(转载)详细设计-盒图 PAD图 过程设计语言(转载)详细设计-盒图PAD图过程设计语言1、详细设计的任务(主要工作)有哪些?详细设计的工作:确定应该怎样具体地实现所有要求的系统,也就是说经过这个阶段的设计工作,应该得出目标系统的精确描述。设计得到的结果是确定每个模块内部的算法和数据结构,产生描述各模块处理过程的详细文档。2、软件详细设计描述工具的概念和使用:程序流程图、N-S图、PAD图、PDL语言:什么是,基本符号和表…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

(转载)详细设计-盒图 PAD图 过程设计语言
1、详细设计的任务(主要工作)有哪些?

详细设计的工作:确定应该怎样具体地实现所有要求的系统,也就是说经过这个阶段的设计工作,应该得出目标系统的精确描述。

设计得到的结果是确定每个模块内部的算法和数据结构,产生描述各模块处理过程的详细文档。

2、软件详细设计描述工具的概念和使用:程序流程图、N-S图、PAD图、PDL语言:什么是,基本符号和表示的意义,画法;各种工具描述结果间的转换。
程序流程图:

又称为程序框图,对控制流程的描绘很直观,便于初学者掌握。

盒图(N-S图):

出于要有一种不允许违背结构程序设计精神的图形工具的考虑,Nassi和Shneiderman提出了盒图。


它有下述特点:

(1) 功能域(即,一个特定控制结构的作用域)明确,可以从盒图上一眼就看出来。

(2) 没有箭头,不可能任意转移控制。

(3) 很容易确定局部和全程数据的作用域。

(4) 很容易表现嵌套关系,也可以表示模块的层次结构。
PAD:问题分析图(problem analysis diagram)

问题分析图(problem analysis diagram), 1973年由日本日立公司发明。它用二维树形结构的图来表示程序的控制流,将这种图翻译成程序代码比较容易。下图给出PAD图的基本符号。

(转载)详细设计-盒图 PAD图 过程设计语言

过程设计语言(PDL):

也称为伪码,这是一个笼统的名称,现在有许多种不同的过程设计语言在使用。它是用正文形式表示数据和处理过程的设计工具。

3、什么是模块的环形复杂度,如何计算?

环形复杂度定量度量程序的逻辑复杂度
计算:
方法一:流图中的区域数等于环形复杂度;
方法二:流图G的环形复杂度V(G)=E-N+2,其中,E是流图中边的条数,N是结点数;
方法三:流图G的环形复杂度V(G)=P+1,其中,P是流图中判定结点的数目

题目1、耦合和内聚的具体分类及使用原则。

耦合是对一个软件结构内不同模块之间互连程度的度量。耦合强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数据。包括数据耦合、控制耦合、特征耦合、公共环境耦合、内容耦合。

内聚标志着一个模块内各个元素彼此结合的紧密程度,它是信息隐藏和局部化概念的自然扩展。简单地说,理想内聚的模块只做一件事情。包括:功能内聚、顺序内聚、通信内聚、过程内聚、时间内聚、逻辑内聚、偶然内聚。

题目2、如何看待模块划分的合理性,模块划分的质量依据是什么?

根据每个模块的成本和接口成本确定的软件总成本最低。

题目3、环形复杂度的计算,结果说明了什么?掌握三种方法中的一种就行。

方法一:流图中的区域数等于环形复杂度;
方法二:流图G的环形复杂度V(G)=E-N+2,其中,E是流图中边的条数,N是结点数;
方法三:流图G的环形复杂度V(G)=P+1,其中,P是流图中判定结点的数目。它是对软件测试难度的一种定量试题,也能对软件最终的可靠性给出某种预测。

题目4、程序流程图和盒图(N-S)如何实现互转?

程图由一些特定意义的图形、流程线及简要的文字说明构成,它能清晰明确地表示程序的运行过程。在使用过程中,人们发现流程线不一定是必需的,为此,人们设计了一种新的流程图,它把整个程序写在一个大框图内,这个大框图由若干个小的基本框图构成,这种流程图简称N-S图。

题目5、画出下列伪码程序的程序流程图和盒图:
START
IF p THEN
    WHILE q DO
        f
    END DO
ELSE
    BLOCK
        g
        n
    END BLOCK
END IF
STOP

从伪码转换成的数据流程图如下:

(转载)详细设计-盒图 PAD图 过程设计语言

从伪码转换成的盒图如下:

(转载)详细设计-盒图 PAD图 过程设计语言

题目6、图中给出的程序流程图代表一个非结构化的程序,问:
(转载)详细设计-盒图 PAD图 过程设计语言

(1)为什么说它是非结构化的?

(2)设计一个等价的结构化程序

(3)在(2)题的设计中使用附加的标志变量flag了吗?若没用,再设计一个使用flag的程序;若用了,再设计一个不用flag的程序。

(1)通常所说的结构化程序,是按照狭义的结构程序的定义衡量,符合定义规定的程序。本题图6-18所示的程序的循环控制结构有两个出口,显然不符合狭义的结构程序的定义,因此是非结构化的程序。

(2)使用附加的标志变量flag,至少有两种方法可以把该程序改造为等价的结构化程序,下图所示盒图描绘了两个等价的结构化程序。

(转载)详细设计-盒图 PAD图 过程设计语言

(3)不使用flag把该程序改造为等价的结构化程序的方法如下图所示。

(转载)详细设计-盒图 PAD图 过程设计语言

题目7、某交易所规定给经纪人的手续费计算方法如下:总手续费等于基本手续费加上与交易中的每股价格和股数有关的附加手续费。如果交易总金额少于1000元,则基本手续费为交易金额的8.4%;如果交易总金额在1000元到10000元之间,则基本手续费为交易金额的5%,再加34元;如果交易总金额超过10000元,则基本手续费为交易金额的4%加上134元。当每股售价低于14元时,附加手续费为基本手续费的5%,除非买进、卖出的股数不是100的倍数,在这种情况下附加手续费为基本手续费的9%。当每股售价在14元到25元之间时,附加手续费为基本手续费的2%,除非交易的股数不是100的倍数,在这种情况下附加手续费为基本手续费的6%。当每股售价超过25元时,如果交易的股数零散(即,不是100的倍数),则附加手续费为基本手续费的4%,否则附加手续费为基本手续费的1%。
要求:

(1)用判定表表示手续费的计算方法

(2)用判定树表示手续费的计算方法

(转载)详细设计-盒图 PAD图 过程设计语言(转载)详细设计-盒图 PAD图 过程设计语言

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170292.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • AMD CPU电脑安装Android Studio详细步骤以及无法成功install HAXM的解决办法「建议收藏」

    AMD CPU电脑安装Android Studio详细步骤以及无法成功install HAXM的解决办法「建议收藏」想做个手机APP,安装Androidstudio遇到了各种各样的问题,这一切都源于电脑CPU是AMD的,经过各种各样方法的探索,终于找到了解决办法,成功安装了Andriodstudio及模拟器并成功运行了第一个程序Helloworld!下载Androidstudio国外网站下载比较慢,这里推荐一个下载网站,里面的资源很全,包括Android开发的AndroidSDK,开发中遇到的工…

    2022年6月28日
  • android 的hook技术,Android Native Hook技术(一)

    android 的hook技术,Android Native Hook技术(一)原理分析ADBI是一个著名的安卓平台hook框架,基于动态库注入与inlinehook技术实现。该框架主要由2个模块构成:1)hijack负责将so注入到目标进程空间,2)libbase是注入的so本身,提供了inlinehook能力。源码目录中的example则是一个使用ADBI进行hookepoll_wait的示例。hijackhijack实现动态库注入功能,通过在目标进程插入d…

    2022年5月25日
  • mybatis返回结果为map_mybatis是如何分页的

    mybatis返回结果为map_mybatis是如何分页的表:members中的gender列是这样:FemaleFemaleMaleFemaleMaleMaleMaleMaleMale现在我们想统计members中男女人数分别是多少,很显然返回的结果应该是这样的:Femal:3Male:6对应的xml文件中的查询语句:<selectid=”genderCount”resultMap=”genderCount”>selectgender,count(gende

    2022年10月4日
  • 用python画爱心-怎么用python实现画爱心

    用python画爱心-怎么用python实现画爱心Python中可以使用turtle库来画图,通过控制画笔运动来实现在画布上画图案。使用Python画爱心代码如下:#!/usr/bin/envpython#-*-coding:utf-8-*-importturtleimporttime#画心形圆弧defhart_arc():foriinrange(200):turtle.right(1)turtle.forward(2)de…

    2022年9月7日
  • windows文件服务器双机热备_服务器双机热备解决方案「建议收藏」

    两台主机各安装一套数据库软件(Oracle/SQL/Sysbase/)和应用程序,建立主机系统结构的镜像模式。将数据库的系统库、数据库及日志建立在磁盘阵列提供的硬盘裸设备上,保证了其中任一台主机出现故障时,令外一台的数据库能继续访问数据库,通过主机切换进程的脚本文件实现应用程序的切换。保证应用业务的服务不停顿,和资料的安全。使用两台服务器分别与磁盘阵列相连接,采用standby方式。一台主机(…

    2022年4月17日
  • 借助栈来实现单链表的逆置运算_中缀后缀表达式互相转换

    借助栈来实现单链表的逆置运算_中缀后缀表达式互相转换原题链接算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。日常使用的算术表达式是采用中缀表示法,即二元运算符位于两个运算数中间。请设计程序将中缀表达式转换为后缀表达式。输入格式:输入在一行中给出不含空格的中缀表达式,可包含+、-、*、\以及左右括号(),表达式不超过20个字符。输出格式:在一行中输出转换后的后缀表达式,要求不同对象(运算数、运算符号)之间以空格分隔,但结尾不得有多余空格。输入样例:2+3*(7-4)+8/4输出样例:2 3 7 4 – * + 8 4 / +注意

    2022年8月8日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号