1、详细设计的任务(主要工作)有哪些?
详细设计的工作:确定应该怎样具体地实现所有要求的系统,也就是说经过这个阶段的设计工作,应该得出目标系统的精确描述。
设计得到的结果是确定每个模块内部的算法和数据结构,产生描述各模块处理过程的详细文档。
2、软件详细设计描述工具的概念和使用:程序流程图、N-S图、PAD图、PDL语言:什么是,基本符号和表示的意义,画法;各种工具描述结果间的转换。
程序流程图:
又称为程序框图,对控制流程的描绘很直观,便于初学者掌握。
盒图(N-S图):
出于要有一种不允许违背结构程序设计精神的图形工具的考虑,Nassi和Shneiderman提出了盒图。
它有下述特点:
(1) 功能域(即,一个特定控制结构的作用域)明确,可以从盒图上一眼就看出来。 (2) 没有箭头,不可能任意转移控制。 (3) 很容易确定局部和全程数据的作用域。 (4) 很容易表现嵌套关系,也可以表示模块的层次结构。
PAD:问题分析图(problem analysis diagram)
问题分析图(problem analysis diagram), 1973年由日本日立公司发明。它用二维树形结构的图来表示程序的控制流,将这种图翻译成程序代码比较容易。下图给出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
题目6、图中给出的程序流程图代表一个非结构化的程序,问:
(1)为什么说它是非结构化的? (2)设计一个等价的结构化程序 (3)在(2)题的设计中使用附加的标志变量flag了吗?若没用,再设计一个使用flag的程序;若用了,再设计一个不用flag的程序。
(1)通常所说的结构化程序,是按照狭义的结构程序的定义衡量,符合定义规定的程序。本题图6-18所示的程序的循环控制结构有两个出口,显然不符合狭义的结构程序的定义,因此是非结构化的程序。
(2)使用附加的标志变量flag,至少有两种方法可以把该程序改造为等价的结构化程序,下图所示盒图描绘了两个等价的结构化程序。
(3)不使用flag把该程序改造为等价的结构化程序的方法如下图所示。
题目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)用判定树表示手续费的计算方法