第6章 详细设计-判定表练习
软件开发——详细设计

程序结构图的最终形态
程序复杂程度的度量
用途 —把程序的复杂程度乘以适当常数可估算出软件中错 把程序的复杂程度乘以适当常数可估算出软件中错 误的数量 —估算软件开发需要用的工作量 估算软件开发需要用的工作量 —比较两个不同的设计或两个不同算法的优劣 比较两个不同的设计或两个不同算法的优劣 度量方法 —McCabe方法 McCabe方法 McCabe —Halstead方法 Halstead方法 Halstead
w=x[i] 交换x[i]和x[j] x[i]=x[j] x[j]=w
等价带入:
j=i+1
i=0 While j<n i<nWhile i<n-1
X[j] X[i]
W=X[i] X[i]=X[j]
>
T F
X[j]=w
i++
j++
面向数据结构的设计方法
出现原因 —数据结构对于程序的结构和运行过程 存在影响 —层次的数据结构和层次模块结构存在 相似性 面向数据结构的设计方法 —Jackson方法 —Warnier方法
答案:选择排序的PAD图
i=0 i<nWHILE i<n-1 寻找剩余数组元素的最大值放在X[i] 寻找剩余数组元素的最大值放在 i++ j=i+1 交换
寻找剩余数组元素的最大值放在X[i] 寻找剩余数组元素的最大值放在
While j<n
X[j] > X[i] j++
T F
细化“交换x[i]和x[j]”
Jackson图描述数据结构
顺序结构 —由一个或多个数据元素组成,每个元 素按确定次序出现一次。
选择结构
软件工程第6章-课后作业参考(附答案)

软件⼯程第6章-课后作业参考(附答案)第六章作业题参考答案3.画出下列伪码程序的程序流程图和盒图: STARTIF p THENWHILE q DO f END DO ELSEBLOCK g nEND BLOCK END IF STOP 答:(1)流程图如图6-1所⽰:图6-1从伪码变成的程序流程图(2)该程序的盒图如图6-2所⽰:图6-2 从伪码变成的程序盒图4.下图给出的程序流程图代表⼀个⾮结构化的程序,请问:(1)为什么说它是⾮结构化的?(2)设计⼀个等价的结构化程序。
(3)在(2)题的设计中你使⽤附加的标志变量flag吗?若没⽤,请再设计⼀个使⽤flag 的程序;若⽤了,再设计⼀个不⽤flag 的程序。
答:(1)通常所说的结构化程序,是按照狭义的结构程序的定义衡量,符合定义规定的程序。
图⽰的程序的循环控制结构有两个出⼝,显然不符合狭义的结构程序的定义,因此是⾮结构化的程序。
(2)使⽤附加的标志变量flag,⾄少有两种⽅法可以把该程序改造为等价的结构化程序,图6-3描绘了等价的结构化程序的盒图。
(a)解法1(b)解法2图6-3 与该图等价的结构化程序(⽤flag)(3)不使⽤flag把该程序改造为等价的结构化程序的⽅法如图6-4所⽰。
图6-4 与该图等价的结构化程序(不⽤flag)8.画出下列伪码程序的流图,计算它的环形复杂度。
你觉得这个程序的逻辑有什么问题吗?C EXAMPLELOOP:DO WHILE X>0A=B+1IF A>10THEN X=AELSE Y=ZEND IFIF Y<5THEN PRINT X,YELSE IF Y=2THEN GOTO LOOPELSE C=3END IFEND IFG=H+REND DOIF F>0THEN PRINT GELSE PRINT KEND IFSTOP答:(1)该伪码的流程图如图6-8所⽰:图6-8 程序流程图根据该程序流程图,可得该程序流图如图6-9所⽰:图6-9 程序流图环形复杂度V(G)=流图中的区域数=流图中判定结点数⽬+1=6+1=7 (判定结点为:1、3、6、8、10、11)(2)该算法问题在于控制最外层循环的变量Z不仅没有经过初始化,并且在该循环内部没有任何有可能该变Z的语句。
判定树判定表例题

选择题
在判定树中,每一个非叶节点代表:
A. 一个属性测试的结果(正确答案)
B. 一个最终的分类结果
C. 一个数据集的样本
D. 一个判定表的条目
判定表与判定树相比,哪个更适合处理复杂的逻辑条件?
A. 判定树
B. 判定表(正确答案)
C. 两者相同
D. 都不适合
判定树的根节点通常表示:
A. 数据集的最优属性
B. 数据集的第一个属性(正确答案,若未优化则通常如此)
C. 数据集的最后一个属性
D. 数据集的类别标签
在构建判定树时,信息增益用于:
A. 选择最优的划分属性(正确答案)
B. 计算节点的纯度
C. 确定树的深度
D. 评估模型的准确率
判定表中,每一行代表:
A. 一个数据样本
B. 一个条件组合及其对应的动作(正确答案)
C. 一个判定树的节点
D. 一个属性的取值范围
判定树中,叶节点通常表示:
A. 数据集的划分结果
B. 一个属性的测试条件
C. 最终的分类或回归结果(正确答案)
D. 数据集的一个子集
当判定树的深度过大时,可能导致的问题是:
A. 过拟合(正确答案)
B. 欠拟合
C. 计算速度加快
D. 模型稳定性增强
在将判定表转换为判定树时,判定表中的每一个条件列对应:
A. 判定树的一个叶节点
B. 判定树的一个非叶节点(正确答案)
C. 判定树的一个根节点
D. 判定树的一条路径
判定树剪枝的目的是:
A. 提高模型的泛化能力(正确答案)
B. 增加模型的复杂度
C. 减少模型的训练时间
D. 提高模型在训练集上的准确率。
《软件工程》题库参考答案

《软件工程》练习测试题库一、单项选择题1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做()A.软件工程B.软件周期C.软件危机D.软件产生2.研究开发所需要的成本和资源是属于可行性研究中的()研究的一方面。
A.技术可行性B.经济可行性C.社会可行性D.法律可行性3.IDEF0图不反映出系统()A.系统做什么B.系统功能如何实现C.系统由谁来做D.系统实现的约束条件4.模块的内聚性最高的是()A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚5.在SD方法中全面指导模块划分的最重要的原则是()A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性6.软件详细设计主要采用的方法是()A.模块设计B.结构化设计C.PDL语言D.结构化程序设计7.下列关于JSP方法不正确的说法是()A.JSP方法主要用于规模不大的数据处理系统B.JSP方法不明确的划分软件概要设计和详细设计的两个阶段C.JSP方法适用于输入数据和输出数据之间有对应关系的问题求解D.JSP方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。
因此它只适用于详细设计阶段8.不适合作为科学工程计算的语言是()A. PascalB. CC. FortranD. Prolog9.黑盒测试在设计测试用例时,主要需要研究()A.需求规格说明与概要设计说明B.详细设计说明C.项目开发计划D.概要设计说明与详细设计说明10.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。
设计这组测试用例的方法是()A.条件覆盖法B.等价分类法C.边界值分析法D.错误推测法11.下列属于维护阶段的文档是()A.软件规格说明B.用户操作手册C.软件问题报告D.软件测试分析报告12.快速原型模型的主要特点之一是()A.开发完毕才见到产品B.及早提供全部完整的软件产品C.开发完毕后才见到工作软件D.及早提供工作软件13.因计算机硬件和软件环境的变化而做出的修改软件的过程称为()A.较正性维护B.适应性维护C.完善性维护D.预防性维护14.类库这种机制是()级别的信息共享。
详细设计

PAD
3、PAD(Problem Analysis Diagram):日立公司,1973
A B
Sequentia
l 1
A1
2 A2 P=
…
n An
Case
A P
B
Selective
THEN ELSE
Statement Index
While P S
Until P
S
Loops
def Definition
TYPE number IS STRING LENGTH (12)
④有子程序定义与调用机制
PROCEDURE 模块名( ) 清屏; 显示xx系统用户界面; PUT(“请输入用户口令:”); GET(password); IF password< >系统口令 提示警告信息; 退出运行
ENDIF 显示本系统主菜单;
设计工具
图形工具 1、程序流程图 2、盒图(Box Diagram) 3、PAD图
程序流程图
开始与结束框 输入/输出图框 处理框图 分支图框
程序流程图
(3) 先判定型循环结构
(while-loop
(2) 选择结构(selective structure)
(1) 顺序结构(sequential structure)
注:判定表与判定树并不 适用于作为一种通用的设 计工具,通常将之用于辅 助测试
判定表
Rules
Condition rows
Action rows
Rule numbers 1 2 3 4 5 6 7 8 9
国内乘客
TTTTFFFF
头等舱
TFTFTFTF
残疾乘客
FFTTFFTT
详细设计ppt课件

WHILE P
S
(c) WHILE型循环结构
P1 A1 P2
A2 P=
… Pn
An
(e) 多分支结构
UNTIL P
S
(d) UNTIL型循环结构
(f)语句标号
(g)定义
39
举 例
begin s[17]~s[22]=0
while num(1-1000)
while i(17-22)
输入 age
=17 s[17]++ =18 s[18]++ age =19 s[19]++ =20 s[20]++ =21 s[21]++ =22 s[22]++
15
3. 出错信息处理
出错或警告信息应该具有下述属性: (1) 用用户可以理解的术语描述问题。 (2) 提供有助于从错误中恢复的建设性意见。 (3) 指出错误可能导致哪些负面后果(例如,破 坏数据文件) 。 (4) 信息应伴随着听觉或视觉上的提示:如发出 警告铃声、用闪烁方式或出错的颜色显示。 (5) 信息不能带有指责色彩,即不能责怪用户。
(3)程序流程图在表示数据结构方面存在 不足。
32
6.3.2 盒图(N-S图)
第一个任务 第二个任务 第三个任务
(a) 顺序结构
F
条件 T
ELSE THEN 部分 部分
(b) 选择结构
Case 条件 值1 值2 …
Case1 Case2 部分 部分
值n
Casen 部分
(c) 多分支结构
循环条件
DO_UNT IL
1
传入部分
变换中心
旧工资信息
《软件工程》教学教案

《软件工程》
配套教学教案第1章软件工程概述
第2章可行性研究与软件工程开发计划
圆圈中的字母代表各项子任务的开始或结束事件的编号,箭头上方的数字表示完成各项子任务所需的周数。
要求:
(1)标出每个事件的最早时刻、最迟时刻与机动时间。
估算完成该工程项目总共需要多
第3章需求分析
第4章概要设计
第5章详细设计
第6章软件实现
第7章软件维护
第8章面向对象方法、UML及应用
第9章 WebApp软件工程
第10章软件重用和再工程
第11章软件工程管理
第12章实例——网上商品竞拍系统。
数据库 第6章 数据库设计客观题及答案

数据库第6章数据库设计客观题及答案一、选择题1、在数据库设计中,用 ER 图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的()。
A 需求分析阶段B 概念设计阶段C 逻辑设计阶段D 物理设计阶段答案:B解释:概念设计阶段通常使用 ER 图来描述信息结构,主要是对现实世界中的事物及其关系进行抽象和建模,不考虑具体的计算机实现。
2、数据库物理设计完成后,进入数据库实施阶段,下列各项中不属于实施阶段的工作是()。
A 建立库结构B 扩充功能C 加载数据D 系统调试解释:扩充功能一般不属于数据库实施阶段的工作,实施阶段主要是按照物理设计的结果建立数据库的实际结构、加载数据并进行调试。
3、在数据库设计中,将 ER 图转换成关系数据模型的过程属于()。
A 需求分析阶段B 概念设计阶段C 逻辑设计阶段D 物理设计阶段答案:C解释:逻辑设计阶段的主要任务就是将概念模型(如 ER 图)转换为具体的关系数据模型。
4、规范化理论是关系数据库进行逻辑设计的理论依据。
根据这个理论,关系数据库中的关系必须满足:其每一属性都是()。
A 互不相关的B 不可分解的C 长度可变的D 互相关联的解释:规范化理论要求关系数据库中的关系每一属性都是不可分解的,以避免数据冗余和操作异常。
5、从 ER 模型关系向关系模型转换时,一个 M:N 联系转换为关系模式时,该关系模式的关键字是()。
A M 端实体的关键字B N 端实体的关键字C M 端实体关键字与 N 端实体关键字组合D 重新选取其他属性答案:C解释:在 M:N 的联系中,转换后的关系模式关键字应为两端实体关键字的组合,这样才能唯一标识一个联系。
6、设有关系模式 R(A,B,C,D),其函数依赖集 F ={A→B,B→C,C→D,D→A},则 R 的候选关键字为()。
A ABB BCC CDD 不存在答案:D解释:由于该函数依赖集中存在循环依赖,所以不存在候选关键字。
7、关系数据库规范化是为解决关系数据库中()问题而引入的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
F
文化程度
G
G
G
U
U
U
G
G
G
U
U
U
年龄
L
Y
C
L
Y
C
L
Y
C
L
Y
C
组长
√
√
√
√
√
√
领导
√
√
科研
√
行政
√
资料员
√
考研
√
(4)简化后的判定表
1,2,3
7,8,9
4
5,11
6
10
12
性别
--
M
--
M
F
F
文化程度
G
U
U
U
U
U
年龄
--
L
Y
C
L
C
组长
√
领导
√
科研
√
行政
√
资料员
√
考研
√
某公司为本科以上学历的人重新分配工生,女性担任行政工作;
2.如果年龄满18岁不满50岁,学历本科,不分男女,任中层领导职务,学历是硕士不分男女,任课题组组长;
3.如果年龄满50岁,学历本科,男性任科研人员,女性则担任资料员,学历是硕士不分男女,任课题组组长。
要求:写出分析过程,得出判定表,并进行化简。
(1)判定条件可能取值表:
条件名称
取值
符号
取值数
性别
男
M
M1=2
女
F
年龄
不满25岁
C
M2=3
满25岁小于50岁
Y
超过50岁
L
文化程度
硕士
G
本科
U
M3=2
(2)计算组合数2*3*2=12;
(3)初步判定表
1
2
3
4
5
6
7
8
9
10
11
12
性别
M
M
M
M
M
M
F
F
F
F