湖南大学-软件工程
根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。 "一个程序读入3个整数,它们分别代表一个三角形的3个边长。该程序判断所输入的整数是否构成一个三角形,以及该三角形是一般的、等腰的或等边的,并将结果打印出来。" 要求:
答案是:(1) 列出等价类表 输入条件 有效等价类 无效等价类 是否构成一个三角形 (1)A>0且B>0且C>0且A+B>C且B+C>A且A+C>B。 (2)A≤0或B≤0或C≤0 (3)A+B≤C或A+C≤B或B+C≤A 是否等腰三角形 (4)A=B或A=C或B=C (5)A≠B且A≠C且B≠C 是否等边三角形 (6)A=B且A=C且B=C (7)A≠B或A≠C或B≠C (2) 设计测试用例 用例1:输入【3,3,3】覆盖等价类(1,4, 6),输出结果为构成一般三角形,等腰三角形,等边三角形。(覆盖尽可能多的有效等价类) 用例2:三者取一(仅覆盖一个尚未被覆盖的无效等价类)   输入【0,1,2】覆盖等价类(2),输出结果为不构成三角形。   输入【1,0,2】覆盖等价类(2),输出结果为不构成三角形。   输入【1,2,0】覆盖等价类(2),输出结果为不构成三角形。 用例3:三者取一   输入【1,2,3】覆盖等价类(3),输出结果为不构成三角形。   输入【1,3,2】覆盖等价类(3),输出结果为不构成三角形。   输入【3,1,2】覆盖等价类(3),输出结果为不构成三角形。 用例4:输入【3,4,5】覆盖等价类(1)(5),输出结果为不是等腰三角形。 用例5:三者取一   输入【3,4,4】覆盖等价类(1)(4)(7),输出结果为不是等边三角形。   输入【4,4,3】覆盖等价类(1)(4)(7),输出结果为不是等边三角形。   输入【3,3,4】覆盖等价类(1)(4)(7),输出结果为不是等边三角形。
具有8个任务的PERT图如下所示,试找出该图中的关键路径。
答案是:关键路径为:->1->3->4->7->。
容错软件实现容错的一般方法有哪些?
答案是:(1)结构冗余 (2)信息冗余 (3)时间冗余 (4)冗余附加技术
UML的视图主要包括哪几种?
答案是:(1)用例视图 (2)逻辑视图 (3)并发视图 (4)组件视图 (5)部署视图
为什么软件需要维护?简为什么软件需要维护?简述软件维护的工作过程。 2、在软件开发完成交付用户使用后,为了保证软件在一个相当长的时期能够正常运行,就需要对软件进行维护。 软件维护的过程:述软件维护的工作过程。
答案是:(1) 确认维护要求。 (2) 对于改正性维护申请,评价错误的严重性。对于严重的错误,立即安排人员,分析问题原因,进行"救火"性的紧急维护;对于不严重的错误,根据任务情况和轻重缓急进行统一安排; 对于适应性和完善性维护申请,需要确定申请的优先级,然后安排维护工作。并不是所有的完善性维护申请都必须承担,需要考虑商业需要、现有资源、未来发展方向等进行决定。
什么是计算机软件?
答案是:软件是计算机系统中与硬件相互依存的另一个部分,它是由程序、数据及其相关文档组成的完整集合。可以理解为:软件=程序+数据+文档。
软件需求是指用户对目标软件系统在功能、性能、行为、设计约束等方面的期望。
答案是:(对)
通过软件测试,可以发现软件中所有潜伏的错误
答案是:错
测试计划、测试用例、出错统计和有关的分析报告一般不用长期保存。
答案是:错
当软件开发项目的进度有可能拖延时,可通过增加开发人员来加快进度。
答案是:错
好的测试用例应能证明软件是正确的。(
答案是:错)
模型是对现实的简化,建模是为了更好地理解所开发的系统。
答案是:对)
在需求分析中,分析员要从用户那里解决的最重要的问题是明确软件做什么
答案是:(对)
、在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低
答案是:(错)
缺乏处理大型软件项目的经验。是产生软件危机的唯一原因。
答案是:(错
、目前,软件项目的进度安排比较常用的方法包括程序评估与审查技术(PERT)和关键路径法(CPM)。
答案是:(对
在进行软件规模估算时,与代码行度量方式相比, 的估算结果更客观和合理。
答案是:功能点度量
、自行车类与自行车车轮类之间是 关系。
答案是:聚集
、UML的基本构造块包含:视图、图和 。
答案是:模型元素
2、在进行结构化分析时,对数据流图进行分层应注意父图和子图 。
答案是:平衡
、任何复杂的程序流程图都只应该由5种基本控制结构组合或嵌套而成,这5中基本结构分别是顺序型、选择型、先判定型循环、 、多情况型选择。
答案是:后判定型循环
UML的扩展机制不包括(C)。 A) 构造型 B) 标记值 C) 注解 D) 约束
答案是:注解
CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。除第1级外,每一级都包含了实现这一级目标的若干关键过程域,每一个关键过程域又包含若干(A)。 A 关键实践 B 软件过程性能 C 软件过程能力 D
答案是:关键实践
下列耦合中,模块独立性最好的是(A)。 A) 非直接耦合 B) 数据耦合 C) 外部耦合 D) 内容耦合
答案是:非直接耦合
一个模块的(B)是指能直接调用(控制)该模块的模块数。 A. 扇出数 B. C. 宽度 D. 深度
答案是:扇入数
下列不属于UML中的动态图的是(B)。 A) 状态图 B) 对象图 C) 协作图 D) 活动图
答案是:对象图
软件的发展经历了(D)个发展阶段。 A. 一 B. 二 C. 三 D. 四
答案是:四
下列不属于软件工程方法3要素的是(D)。 A) 方法 B) 工具 C) 过程 D) 人员
答案是:人员
为适应软件运行环境的变化而修改软件的活动称为(B)。 A. 纠错性维护 B. 适应性维护 C. 改善性维护 D. 预防性维护
答案是:适应性维护
当模块中包含复杂的条件组合,只有(A)能够清晰地表达出各种动作之间的对应关系。 A. 判定表和判定树 B. 盒图 C. 流程图 D. 关系图
答案是: 判定表和判定树
需求分析的任务不包括(B)。 A. 问题分析 B. 系统设计 C. 需求描述 D. 需求评审。
答案是:系统设计
下面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。 int GetMax(int n, int datalist[ ]) { int k=0
答案是:(2)测试路径:        Path1: ①→③        Path2: ①→②→④→⑥→…        Path3: ①→②→⑤→⑥→… (3)测试用例:        Path1: 取n=1,datalist[0] = 1,                预期结果:k=0        Path2: 取n=2,datalist[0] = 1,datalist[1] = 0,                预期结果:k=0        Path3: 取n=2,datalist[0] = 0,datalist[1] = 1,                预期结果:k=1
在集成测试阶段,子系统的组装方式通常采用一次性全部组装的方式,即整体拼装
答案是:(错)
软件配置管理是一种标识、组织和控制修改源程序的技术,目的是使错误达到最小并最有效地提高生产率
答案是:(错)
用穷举测试是较现实的测试方法。
答案是:错)
、文档是软件产品的一部分,没有文档的软件就不称其为软件。
答案是:(对)
结构化设计方法能将数据流图映射成软件结构。在映射过程中,针对数据流的不同,可分别采用变换型和 两种映射方法。
答案是:事务型
、以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并最终可运行的代码的过程叫 过程。
答案是:编码
动物与老虎之间是 关系。
答案是:继承
、在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是 关系。
答案是:关联
UML的通用机制不包括(D)。 A) 规格说明 B) 修饰 C) 注解 D) 约束
答案是:约束
维护的副作用可分三类,不包括(D)。 A) 修改代码的副作用 B) 修改数据的副作用 C) 修改文档的副作用 D) 人员副作用
答案是:人员副作用
软件概要设计阶段的主要任务不包括(D)。 A) 设计软件的模块结构 B) 定义接口并建立数据结构 C) 生成概要设计规格说明和组装测试计划 D) 模块设计
答案是: 模块设计
(A)是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。 A) 软件过程 B) 软件测试 C) 软件生存周期 D) 软件工程
答案是:软件过程
时序图反映对象之间发送消息的时间顺序,它与(D )是同构的。 A) 用例图 B) 类图 C) 活动图 D) 协作图
答案是:协作图
(A)意味着一个操作在不同的类中可以有不同的实现方式。 A) 多态性 B) 多继承 C) 类的可复用 D) 信息隐蔽
答案是:多态性
CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。除第1级外,每个等级都包含了实现该成熟度等级目标的若干(B) A) 关键实践 B) 关键过程域 C) 软件过程能力 D) 软件过程
答案是:关键过程域
为纠正软件系统中潜藏的错误而进行的维护活动称为(A) A)改正性维护 B)适应性维护 C)改善性维护 D)预防性维护
答案是:)改正性维护
以下不属于白盒测试技术的是(D) A)逻辑覆盖 B)基本路径测试 C)循环覆盖测试 D)等价类划分
答案是:等价类划分
盒图也称为(D)。这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。 A)流程图 B)框图 C)判定表 D)N-S图
答案是:)N-S图
什么是条件覆盖?并为以下程序流程图设计条件覆盖测试用例并标明程序执行路径。
答案是: 解:1)条件覆盖——条件覆盖是指设计足够的测试用例,使程序中每个判定表达式中的每个条件的每种可能值都至少执行一次。 设计如下两组测试用例,可以满足条件覆盖的标准: x=2,y=0,z=3 (覆盖x>1,y=0,x=2,z>1,(T1, T2, T3, T4),通过路径abcde); x=1,y=1,z=1 (覆盖x≤1,y≠0,x≠2,z≤1,(~T1, ~T2, ~T3, ~T4),通过路径ace)。
UML关系包括关联、聚合、泛化、实现、依赖等5种类型,请将合适的关系填写在下列描述的( )中。  (1) 在学校中,一个导师可以指导多个研究生,一个研究生可以由多个导师指导,那么导师和研究生之间是( )关系。  (2) 交通工具与卡车之
答案是:(1)关联 (2)泛化 (3) 聚合 (4) 泛化 (5) 实现
在软件测试时,常把黑盒法和白盒法结合起来进行,成为灰盒法。
答案是:(对)
系统规格说明是系统分析和定义阶段生成的一种文档
答案是:(对)
为了充分发挥开发人员的潜力、缩短工期,软件工程项目的任务分解与安排应尽力挖掘可并行开发的部分。
答案是:(对)
只有质量差的软件产品才需要维护
答案是:(错)
、一个成功的项目唯一提交的就是运行程序。
答案是:(错)
软件错误可能出现在开发过程的早期,越早修改越好
答案是:(对)
度量模块独立性的两个指标分别是:模块与模块之间的耦合性和模块内部的 。
答案是:内聚性
在面向对象技术中, 通常用来描述客观世界中某个具体的实体
答案是:对象
、一个模块的 是指该模块直接控制的其他模块数。
答案是:扇出数
下列模块不属于系统结构图中的基本模块的是(D)。 A) 传入模块 B) 传出模块 C) 变换模块 D) 事务模块
答案是:事务模块
下列符号不属于Warnier图的是(D)。 A) { B) () C) ⊕ D) +
答案是:+
将软件组装成系统的一种测试技术叫(A)。 A. 集成测试 B. 单元测试 C. 集合测试 D. 系统测试
答案是:集成测试
判定表由四部分组成:左上部列出(B)。 A. 条件组合与动作之间的对应关系 B. 所有条件 C. 所有可能的动作 D. 可能的条件组合
答案是:所有条件
在结构化分析方法中,(C)是表达系统内部数据运动的图形化技术。 A 数据字典 B 实体关系图 C 数据流图 D 状态转换图
答案是:数据流图
面向对象分析是对系统进行(A)的一种方法。 A 需求建模 B 程序设计 C 设计评审 D 测试验收
答案是:需求建模
、软件需求分析阶段的测试手段一般采用(C)。 A 总结 B 阶段性报告 C 需求分析评审 D 不测试
答案是:需求分析评审
2、ISO9000是由ISO/TC176制定的关于(B)和质量保证的国际标准。 A 质量控制 B 质量管理 C 质量策划 D 质量改进
答案是:质量管理
在软件生存周期的瀑布模型中一般包括计划、(C)、设计、编码、测试、维护等阶段。 A 可行性分析 B 需求采集 C 需求分析 D 问题定义
答案是:需求分析
(C)是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。 A 多态性 B 继承 C 封装 D 消息
答案是:封装
)是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。 A 多态性 B 继承 C 封装 D 消息
答案是:(C
、面向对象分析是对系统进行(A)的一种方法。 A 需求建模 B 程序设计 C 设计评审 D 测试验收
答案是:需求建模
)意味着一个操作在不同的类中可以有不同的实现方式。 A) 多态性 B) 多继承 C) 类的可复用 D) 信息隐蔽
答案是:多态性
软件工程的目标是什么?
答案是:软件工程的目标概括来说是:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并满足用户需求的软件产品。
什么叫软件生存周期?
答案是:软件产品从问题定义开始,经过开发、使用和维护,直到最终退役的全过程称为软件生存周期。概括来说,软件生产存周期由软件定义、软件开发和运行维护3个时期组成,每个时期又可进一步划分成若干个阶段。
IPO图是输入/过程/输出图的简称。
答案是:错)
在软件测试时,常把黑盒法和白盒法结合起来进行,成为灰盒法
答案是:对)
系统规格说明是系统分析和定义阶段生成的一种文档。
答案是:(对)
内聚度标志一个模块内部各成分彼此结合的紧密程度,按其高低程度可分为七级,内聚度越低越好。
答案是:(错)
如果测试过程没有发现任何错误,则说明软件没有错误。
答案是:错
类是对具有共同特征的对象的进一步抽象。
答案是:(对
为了充分发挥开发人员的潜力、缩短工期,软件工程项目的任务分解与安排应尽力挖掘可并行开发的部分。(
答案是:对
、只有质量差的软件产品才需要维护
答案是:错)
一个成功的项目唯一提交的就是运行程序。
答案是:错)
软件错误可能出现在开发过程的早期,越早修改越好。
答案是:对)
由于运用快速原型的目的和方式不同,可以将原型分为 和。
答案是:废弃型 ,演化型
度量模块独立性的两个指标分别是:模块与模块之间的耦合性和模块内部的 。
答案是:内聚性
在面向对象技术中, 通常用来描述客观世界中某个具体的实体。
答案是:对象
在结构化分析方法中,可以采用 来建立数据模型。
答案是:实体关系(ER)图
一个模块的 是指该模块直接控制的其他模块数。
答案是:扇出数
下列模块不属于系统结构图中的基本模块的是(。 A) 传入模块 B) 传出模块 C) 变换模块 D) 事务模块
答案是:D)
下列符号不属于Warnier图的是()。 A) { B) () C) ⊕ D) +
答案是:D
将软件组装成系统的一种测试技术叫()。 A. 集成测试 B. 单元测试 C. 集合测试 D. 系统测试
答案是:A
判定表由四部分组成:左上部列出()。 A. 条件组合与动作之间的对应关系 B. 所有条件 C. 所有可能的动作 D. 可能的条件组合
答案是:B
在结构化分析方法中,()是表达系统内部数据运动的图形化技术。 A 数据字典 B 实体关系图 C 数据流图 D 状态转换图
答案是:C
、面向对象分析是对系统进行()的一种方法。 A 需求建模 B 程序设计 C 设计评审 D 测试验收
答案是:A
()是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。 A 多态性 B 继承 C 封装 D 消息
答案是:C
软件需求分析阶段的测试手段一般采用()。 A 总结 B 阶段性报告 C 需求分析评审 D 不测试
答案是:C
、ISO9000是由ISO/TC176制定的关于()和质量保证的国际标准。 A 质量控制 B 质量管理 C 质量策划 D 质量改进
答案是:B
在软件生存周期的瀑布模型中一般包括计划、()、设计、编码、测试、维护等阶段。 A 可行性分析 B 需求采集 C 需求分析 D 问题定义
答案是:C
、下面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。 int GetMax(int n, int datalist[ ]) { int k=
答案是:(1) (2)测试路径:        Path1: ①→③        Path2: ①→②→④→⑥→…        Path3: ①→②→⑤→⑥→… (3)测试用例:        Path1: 取n=1,datalist[0] = 1,                预期结果:k=0        Path2: 取n=2,datalist[0] = 1,datalist[1] = 0,                预期结果:k=0        Path3: 取n=2,datalist[0] = 0,datalist[1] = 1,                预期结果:k=1
某学校需要开发一个学生成绩管理系统,教务人员可以通过该系统维护学生信息、课程信息和成绩信息,学生可以随时查询自己的请问图中是否应该增加"教务人员"?试说明理由。成绩单,该系统的实体关系图如下所示:
答案是:不应该增加"教务人员",因为教务人员只是该系统的一个使用者,系统不处理其属性信息。
常用的需求获取方法有哪些?
答案是:(1)访谈和会议 (2)市场调查 (3)访问用户和用户领域专家 (4)考察现场 (5)开发人员和用户共同组成联合小组。
传统“瀑布模型”的主要缺点。
答案是:“瀑布模型”最大的缺点是缺乏灵活性,特别是无法解决软件需求不明确或不准确的问题。这些问题的存在对软件开发带来严重影响。由于瀑布模型的特点,早期的错误直到开发晚期才能被发现,开发的风险较大。
软件测试过程一般可划分为哪几个主要阶段?
答案是:(1)单元测试 (2)集成测试 (3)确认(验收)测试 (4)系统测试
简述著名的软件工程专家B. W. Boehm提出了软件工程的7条基本原理。
答案是:(1)用分阶段的生命周期计划严格管理。 (2)坚持进行阶段评审。 (3)实行严格的产品控制。 (4)采用现代程序设计技术。 (5)软件工程结果应能清楚地审查。 (6)开发小组人员应该少而精。 (7)承认不断改进软件工程实践的必要性。
强行排错是进行程序调试时优先采用的方法。
答案是:错
在集成测试阶段,子系统的组装方式通常采用一次性全部组装的方式,即整体拼装。
答案是:错
开发一个软件项目总存在某些不确定性,即存在风险。有些风险如果控制得不好,可能导致灾难性的后果。
答案是:(对)
需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。
答案是:(错)
边界值分析方法是取输入/输出等价类的边界值作为测试用例。
答案是:对
好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误
答案是:对
软件配置管理是一种标识、组织和控制修改源程序的技术,目的是使错误达到最小并最有效地提高生产率。
答案是:(错)
数据输入的一般准则中包括尽量增加用户输入的动作。
答案是:(错)
用穷举测试是较现实的测试方法
答案是:(错)
文档是软件产品的一部分,没有文档的软件就不称其为软件。
答案是:对)
、结构化设计方法能将数据流图映射成软件结构。在映射过程中,针对数据流的不同,可分别采用变换型和 两种映射方法。
答案是:事务型
是软件定义的第一阶段,该阶段主要明确“该软件开发项目要解决什么问题”。
答案是:问题定义
、以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并最终可运行的代码的过程叫 过程。
答案是:编码
目前为: 1/2 页  首页   上页  下页 尾页