第6章 详细设计-判定表练习
- 格式:doc
- 大小:74.00 KB
- 文档页数:2
软件⼯程第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.类库这种机制是()级别的信息共享。
《软件工程》
配套教学教案第1章软件工程概述
第2章可行性研究与软件工程开发计划
圆圈中的字母代表各项子任务的开始或结束事件的编号,箭头上方的数字表示完成各项子任务所需的周数。
要求:
(1)标出每个事件的最早时刻、最迟时刻与机动时间。
估算完成该工程项目总共需要多
第3章需求分析
第4章概要设计
第5章详细设计
第6章软件实现
第7章软件维护
第8章面向对象方法、UML及应用
第9章 WebApp软件工程
第10章软件重用和再工程
第11章软件工程管理
第12章实例——网上商品竞拍系统。
数据库第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..软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。
(X)3.在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是生成类的模板。
(X)4.快速原型模型可以有效地适应用户需求的动态变化。
(√)5.类是关于对象性质的描述,由方法和数据组成。
(√)6.如果把软件开发所需的资源画成一个金字塔,人是最基本的资源。
(√)二、名字解释:1.软件:完成特定功能的程序+数据结构+文档。
2.软件危机:软件危机指在计算机软件的开发和维护过程中,所遇到的一系列严重问题。
3.软件工程:将系统化的、规范的、可度量的方法应用与软件的开发、运行和维护的过程。
(将工程化运用于软件中)。
4.软件生命周期:一个软件从定义、开发、使用和维护直至最终被废弃,要经历的漫长时期。
5.软件过程:为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
6.瀑布模型:是将软件生存各个活动规定为依线性顺序联接的若干阶段的模型。
它包括可行性分析、项目开发计划、需求分析、概要设计、详细设计、编码、测试盒维护。
它规定了由前至后,相互衔接的固定次序,如同瀑布流水,逐级下落。
7.快速原型模型:是快速建立起来的可以再计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集。
8.增量模型:是在项目的开发工程中以一系列的增量方式开发系统。
增量方式包括增量开发和增量提交。
增量开发是指在项目开发过程中以一定的时间间隔开发部分工作软件;增量提交是指在开发周期内,以一定的时间间隔增量方式向用户提交工作软件及相应文档。
增量开发和增量提交可以同时使用,也可以单独使用。
9.螺旋模型:是一种演化软件开发过程模型,它兼顾了快速原型的迭代的特征以及瀑布模型的系统化与严格监控。
软件工程判定表和判定树题目(原创实用版)目录1.软件工程判定表和判定树的概念2.软件工程判定表的特点3.软件工程判定树的特点4.判定表和判定树在软件工程中的应用5.判定表和判定树的优缺点正文一、软件工程判定表和判定树的概念软件工程判定表和判定树是软件测试和维护过程中常用的工具,用于确定软件组件是否满足特定的条件或标准。
判定表是一个二维表格,其中行表示条件,列表示结果。
而判定树则是一个分层结构,其中每个内部节点表示一个条件,每个叶子节点表示一个结果。
二、软件工程判定表的特点判定表具有以下特点:1.结构清晰:判定表以表格形式展示条件和结果,使得逻辑关系一目了然。
2.可扩展性:当需要添加新的条件或结果时,可以在表格中直接添加行或列。
3.容易维护:判定表便于修改和更新,以适应不断变化的需求。
三、软件工程判定树的特点判定树具有以下特点:1.层次结构:判定树采用树形结构,使得条件和结果之间的关系更加清晰。
2.严格递进:判定树中的每个条件都是严格递进的,即一个条件不满足时,不会执行下一个条件。
3.独立性:判定树中的每个叶子节点表示一个独立的结果,这有助于分析和解决问题。
四、判定表和判定树在软件工程中的应用判定表和判定树在软件工程中有广泛的应用,包括:1.软件测试:判定表和判定树可用于设计测试用例,以验证软件的功能是否符合预期。
2.代码审计:判定表和判定树可以帮助开发人员和审计人员识别代码中的潜在问题。
3.需求分析:判定表和判定树可用于分析用户需求,以确保软件满足用户需求。
4.故障诊断:判定表和判定树可以帮助诊断软件故障,定位问题根源。
五、判定表和判定树的优缺点判定表和判定树的优点包括:1.可视化:判定表和判定树以图形化方式展示条件和结果,提高了理解和沟通的效率。
2.逻辑严密:判定表和判定树可以帮助开发人员设计出更加严密、可靠的软件。
3.灵活性:判定表和判定树可以根据实际需求进行调整和优化。
然而,判定表和判定树也存在一些缺点,如:1.复杂度:当条件和结果较多时,判定表和判定树可能会变得复杂,增加理解和维护的难度。
软件工程(第五版)-习题及答案---第六章-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII一、选择题1、UML的主要特点不正确的是(C)。
A、面对对象,表达能力强B、可视化建模C、面对过程,表达能力强D、统一标准2、静态建模图不包括(B)。
A、用例图B、协作图C、类图D、对象图3、用例图的模型元素不包括(D)。
A、用例B、系统C、行为者D、软件开发者4、类图的要素不包括(D)。
A、类名称B、操作C、属性D、对象5、时序图中的要素不包括(A)。
A、执行者B、对象C、对象生命线D、消息6、对象模型的描述工具是(C)。
A、状态图B、数据流图C、对象图D、结构图7、协作图的要素不包括(A)。
A、用例B、对象C、链D、消息8、类图反映了系统中对象之间的抽象关系,不包括(D)。
A、关联B、聚合C、泛化D、内聚9、下面(D)不是状态图的图符。
A、圆角的矩形B、实心圆点C、实心圆环D、椭圆10、描述类中某个对象的行为,反映了状态与事件关系的是(A)。
A、状态图B、数据流图C、对象图D、结构图11、动态模型的描述工具(C)。
A、对象图B、设计图C、状态图D、结构图12、表示对象的相互行为的模型是(A)模型。
A、对象B、动态C、结构D、静态13、有关类和对象的描述中,错误的是(A)。
A、一个类只能有一个对象B、对象是类的具体实例C、类是某一类对象的抽象D、类和对象的关系是一种数据类型和变量的关系14、用例图中用例之间的关系通常有关联关系、依赖关系和(C)关系。
A、协作B、聚合C、泛化D、内聚15、动态模型图包括:时序图、协作图、状态图和(C)图。
A、对象图B、设计图C、活动图D、结构图二、简答题1.简要介绍用例图的三个要素。
答:用例图主要包括以下三个元素:①用例(Use Case):用例是系统的使用过程或要执行的动作序列,用来描述某个参与者使用系统所完成的功能。
在图中用椭圆来表示,用例名称可写在椭圆中或椭圆下面。
软件工程判定表和判定树题目摘要:1.软件工程判定表和判定树的概念2.判定表的构成和应用3.判定树的构成和应用4.判定表和判定树在软件工程中的重要性5.总结正文:软件工程是一门以计算机软件开发与维护为主要研究对象的学科。
在软件开发过程中,判定表和判定树是经常使用的工具,它们可以帮助开发人员更好地理解需求、设计方案以及测试软件。
下面,我们来详细了解一下这两个工具。
1.软件工程判定表和判定树的概念判定表是一种用于描述软件需求的表格,它由行和列组成,行表示各种条件,列表示各种结果。
判定树则是一种图形化的表示方法,它由若干个判定节点和结果节点组成,根据不同的条件进行分支,最终得到一个结果。
2.判定表的构成和应用判定表通常由四个要素构成,分别是:条件、动作、条件结果和动作结果。
条件是用于判断的依据,动作是在满足条件时需要执行的操作,条件结果和动作结果分别表示条件满足和不满足时的结果。
判定表的应用十分广泛,它可以用于需求分析、设计方案和测试用例的编写等。
3.判定树的构成和应用判定树是一种层次化的判定表,它由多个判定节点和结果节点组成。
判定节点表示一个条件,结果节点表示一个结果。
判定树通常采用“自上而下”的方式进行判定,即从根节点开始,根据条件选择不同的分支,最终得到一个结果。
判定树在软件工程中的应用主要包括:功能测试、性能测试和兼容性测试等。
4.判定表和判定树在软件工程中的重要性判定表和判定树是软件工程中非常重要的工具,它们可以帮助开发人员更好地理解需求、设计方案以及测试软件。
通过使用判定表和判定树,可以提高软件开发的效率和质量,降低维护成本。
5.总结判定表和判定树是软件工程中常用的工具,它们在需求分析、设计方案和测试用例编写等方面发挥着重要作用。
软件测试-判定表练习题需求1:电话欠费停机系统如果用户欠费或停机,则不允许主被叫测试用例:1、该用户欠费且停机,不允许主被叫;2、停机但没有欠费,不允许主被叫;3、欠费但没有停机,不允许主被叫;4、没有欠费也没有停机,允许主被叫;需求2:查询系统客户姓名、联系电话、通信地址(不输入0,输入1),需全部输入才能查询成功,查询(不查M,查F )3个条件,结果的状态有2种。
测试用例:1、客户姓名,联系电话,通讯地址均不输入,查询失败;2、客户姓名,联系电话不输入,只输入通讯地址,查询失败;3、客户姓名,通讯地址不输入,只输入联系电话,查询失败;4、客户姓名不输入,输入联系电话和通讯地址,查询失败;5、联系电话,通讯地址不输入,只输入客户姓名,查询失败;6、联系电话不输入,输入客户姓名和通讯地址,查询失败;7、通讯地址不输入,输入客户姓名和联系电话,查询失败;8、输入客户姓名,联系电话,通讯地址,查询成功;需求3:订购单的检查如果金额大于500,没有过期,则发出批准单和提货单;如果金额大于500,但过期了,则不发出批准单;如果金额小于等于500,则不论是否过期都发出批准单和提货单,在过期的情况下还需要发出通知单测试用例:1、金额小于500且没过期,发批准单和提货单;2、金额小于500且过期,发批准单、提货单和通知单;3、金额大于500且没过期,发批准单和提货单;4、金额大于500且过期,发提货单和通知单。
需求4:女生选租房一个女生要求租房时,必须要有冰箱、洗衣机、空调这3项中满足2项条件,才肯租房,如果没有达到就不租房测试用例:1、出租屋内没有冰箱,没洗衣机,没空调,则该女士不租这个房子;2、出租屋内没有冰箱,没洗衣机,有空调,则该女士不租这个房子;3、出租屋内没有冰箱,没空调,有洗衣机,则该女士不租这个房子;4、出租屋内没有冰箱,有洗衣机和空调,则该女士不租这个房子;5、出租屋内有冰箱,没洗衣机,没空调,则该女士不租这个房子;6、出租屋内有冰箱和空调,没洗衣机,则该女士不租这个房子;7、出租屋内有冰箱和洗衣机,没空调,则该女士不租这个房子;8、出租屋内有冰箱,有洗衣机,有空调,则该女士租这个房子;需求5:相亲去吗?结婚条件要求男方学历为博士,年薪为80万,身高1米8,体重180,长的帅,会做菜,会开车,必须全部达到才同意去相亲,否则不去。