目录
软件工程第1、2章小测
一 单项选择题(12分)
1、下列关于软件开发的描述不正确的是()。(1分)
软件是独立于计算机硬件的一部分,但它又依赖于计算机硬件。
软件既是一种复杂的逻辑实体,又是一种工具。
软件的核心是程序,另外还包括文档、数据和模型。
软件发展的趋势是规模越来越大、功能越来越复杂。
正确答案:软件的核心是程序,另外还包括文档、数据和模型。
试题解析:软件=程序+数据+文档
2、下列不是软件危机的表现的是()。(1分)
软件开发成本超支。
软件在使用一段时间后会被淘汰。
软件质量不可靠。
软件开发生产率无法满足人们对软件生成的要求。
正确答案:软件在使用一段时间后会被淘汰。
试题解析:软件应用一段时间后被淘汰是必然规律。
3、下列关于软件工程的描述不正确的是()。(1分)
软件开发是一个严谨有序的工程活动,需要遵守一定的过程、采用一定的方法、遵循相应的标准和规范。
软件开发是以开发团队为单位的工程活动,其成败不依赖于个人的技能。
软件工程的目的从最初的应对和解决软件危机,发展为服务人类。
为了更好的满足人类对软件的需求,软件工程的宗旨是追求最好的软件产品。
正确答案:为了更好的满足人类对软件的需求,软件工程的宗旨是追求最好的软件产品。
试题解析:软件工程追求高的成本效益比,追求足够好,而不是最好。
4、软件开发的目的是交付满足用户需求的软件产品,为了达到这个目的,需要完成如下活动()。(1分)
需求工程、软件构造、软件测试。
需求工程、软件设计、软件构造、软件测试、软件交付。
需求工程、软件设计、软件构造、软件测试、软件交付、软件维护。
需求工程、软件设计、软件构造、软件测试、软件交付、软件维护、软件淘汰。
正确答案:需求工程、软件设计、软件构造、软件测试、软件交付、软件维护。
试题解析:软件开发活动课本P11
5、软件工程是一个包含多领域知识的复杂学科,要成为一个软件工程师也需要掌握()。(1分)
软件技术知识、良好的交流沟通能力和职业素养。
全方位的软件技术知识。
软件技术知识和软件管理知识。
至少3门程序设计语言。
正确答案:软件技术知识、良好的交流沟通能力和职业素养。
试题解析:课本P11
6、在()年的NATO会议上,软件工程的术语被首次提出。(1分)
1966
1968
1970
1972
正确答案:1968
7、软件产品与物质产品有很大的区别,软件产品是一种()产品。(1分)
有形
消耗
逻辑
文档
正确答案:逻辑
8、按过程能力成熟度由低到高排序的结果是()。(1分)
初始级、已定义级、已管理级、可重复级、持续优化级
初始级、可重复级、已定义级、已管理级、持续优化级
初始级、已定义级、持续优化级、可重复级、已管理级
初始级、已管理级、已定义级、可重复级、持续优化
正确答案:初始级、可重复级、已定义级、已管理级、持续优化级
9、下列软件开发模型中,以面向对象的软件开发方法为基础,以用户的需求为动力,以对象来驱动的模型是()。(1分)
演化模型
瀑布模型
喷泉模型
增量模型
正确答案:喷泉模型
10、下列关于敏捷软件开发说法错误的是()。(1分)
敏捷软件开发是一种应对快速变化的需求的一种开发方法。
敏捷软件开发强调文档的重要性。
敏捷软件开发注重程序员团队与业务专家的密切协作。
敏捷软件开发希望频繁的交付新的软件版本。
正确答案:敏捷软件开发强调文档的重要性。
11、下列关于敏捷联盟宣言的理解错误的是()。(1分)
个体和交互胜过过程和工具,表明团队的构建比开发环境的构建重要得多。
可以工作的软件胜过面面俱到的文档,表明过多的文档比过少的文档更糟糕。
客户合作胜过合同谈判,表明成功的项目需要客户配合开发团队详细明确地制定合同,避免开发时关于工作内容的过多交互。
响应变化胜过遵循计划,表明项目计划不能考虑过远,只需要为下两周做详细计划即可,再远的时间可制定简略的规划。
正确答案:客户合作胜过合同谈判,表明成功的项目需要客户配合开发团队详细明确地制定合同,避免开发时关于工作内容的过多交互。
12、下列关于敏捷原则说法错误的是()。(1分)
在整个项目开发期间,业务人员和开发人员必须天天在一起工作。
即使到了开发后期,也可以改变需求。
最有效果的、最有效率的传递信息的方法,是面对面的交谈。
首要的进度度量标准是代码量。
正确答案:首要的进度度量标准是代码量。
二 不定项选择题(5分)
1、软件工程活动是一种复杂的活动,要通过团队完成,常见分工包括()。(1分)
客户与需求分析师
体系结构师与软件设计师
开发与测试人员
项目管理及配置管理人员
质量保障与文档编写人员
正确答案:体系结构师与软件设计师
开发与测试人员
项目管理及配置管理人员
质量保障与文档编写人员
2、软件工程是一门交叉性学科,下列哪些学科是软件工程涉及的?(1分)
数学
计算机科学
管理科学
工程科学
正确答案:数学
计算机科学
管理科学
工程科学
3、下列关于瀑布模型的说法正确的是()(1分)
瀑布模型仅能依次经过需求、设计、编码、测试、集成和维护这一路径进行项目开发,不能从后一阶段返回到前面的阶段。
瀑布模型在每一阶段都会生成相应的文档。
瀑布模型只有在需求阶段和运行阶段才能有获取方和用户参与,其余阶段只能开发团队参加。
瀑布模型要求需求在最初阶段就要完整和明确。
正确答案:瀑布模型在每一阶段都会生成相应的文档。
瀑布模型要求需求在最初阶段就要完整和明确。
4、下列关于增量模型的说法正确的是()。(1分)
增量模型要求需求在最初阶段就要完整和明确。
相比于瀑布模型,采用增量模型开发的项目所需的成本和时间要少。
采用增量模型时,每一增量必须按照既定顺序依次开发,不能更改。
增量模型能够更早的向用户交付第一个版本的系统。
正确答案:增量模型要求需求在最初阶段就要完整和明确。
增量模型能够更早的向用户交付第一个版本的系统。
5、下列关于演化模型的说法正确的是()(1分)
演化模型要求需求在最初阶段就要完整和明确。
演化模型可以弱化需求和设计文档的编写,以提高开发效率。
演化模型在每一次迭代过程中可以采用瀑布模型。
相比瀑布模型,演化模型需要获取方和用户更多的参与。
正确答案:演化模型在每一次迭代过程中可以采用瀑布模型。
相比瀑布模型,演化模型需要获取方和用户更多的参与。
三 判断题(7分)
1、软件生命周期模型决定了软件系统的开发过程都必须按6个典型阶段顺序组织。(1分)
正确答案:错误
2、当软件的一个版本被淘汰时,则该软件的生存周期就结束了。(1分)
正确答案:错误
3、软件生存周期模型是对软件生存周期中过程、活动和任务的组织。(1分)
正确答案:正确
4、CMM指的是软件过程能力成熟度等级,共划分了五个等级,1级成熟度最高,5级成熟度最低。(1分)
正确答案:错误
5、软件生存周期的含义是表明软件的演化和发展具有周期性,每过一段时间就需要更新。(1分)
正确答案:错误
6、软件生存周期过程表示软件生存周期内的一个过程。(1分)
正确答案:错误
7、软件生存周期模型必须要将所有类型的过程、活动和任务考虑在内,形成满足每个软件项目需要的模型。(1分)
正确答案:错误
四 填空题(1分)
1、软件工程是应用()、()、()方法来开发、运行和维护软件;也包括对这些方法的研究。(1分)
我的答案:
系统的
规范的
可量化的
正确答案:系统的
规范的
可量化的(或可度量的)
需求工程第5-7章小测
一 单项选择题(6分)
1、数据流图将软件系统建模为输入、处理、存储与输出的协同工作,其侧重描述系统的()。(1分)
数据规格
处理规格
控制规格
术语词条
正确答案:处理规格
2、ER图是数据库设计的基础,因此又称为()。(1分)
数据模型
数据库概念模型
数据库逻辑结构设计模型
数据里物理模型
正确答案:数据库概念模型
3、下面关于数据流图建模规则的描述正确的是()。(1分)
数据流图中的过程用于存储数据。
数据流表示软件系统中运动的数据,其名称必须是名词性描述。
外部实体指的是与软件系统交互的人或组织。
外部实体可以直接向数据存储输入数据,也可以直接从中读取数据。
正确答案:数据流表示软件系统中运动的数据,其名称必须是名词性描述。
4、下面关于数据流图建模规则的描述正确的是()。(1分)
环境图建模的目标是分析清楚系统的外部实体。
0层图是对系统的第一次功能分解,只需定义出分解得到的“过程”即可。
软件系统在分层建模时,分解的层数越多越好。
数据流图分层建模必须遵循过程分解平衡原则,也就是要求下层图与上层图的流入流出同一个过程的数据流名称和数量完全相同。
正确答案:数据流图分层建模必须遵循过程分解平衡原则,也就是要求下层图与上层图的流入流出同一个过程的数据流名称和数量完全相同。
5、实体关系图侧重于对软件系统的()建模。(1分)
功能
行为
质量
数据
正确答案:数据
6、测试用例设计时,主要工作是()。(1分)
设计测试场景的输入数据
设计测试场景的输入与输出数据
设计测试场景的输出数据
以上都不是
正确答案:设计测试场景的输入与输出数据
二 不定项选择题(19分)
1、需求分析活动()。(1分)
主要工作是通过建模来整合各种信息,以使得人们更好的理解问题。
需要定义系统的边界,边界之外的元素与系统无任何关系。
通常使用模型来展现和解释信息,模型仅仅帮助需求工程师对要解决的问题形成更深刻的认识,在后续开发中不再使用。(
需求建模有多种模型,需采用不同的建模技术和方法,且服务于不同的应用目的。
正确答案:主要工作是通过建模来整合各种信息,以使得人们更好的理解问题。
需求建模有多种模型,需采用不同的建模技术和方法,且服务于不同的应用目的。
试题解析:B、需要定义系统的边界,边界之外的元素与系统无任何关系。(边界外元素会使用边界内的系统提供的功能)C、通常使用模型来展现和解释信息,模型仅仅帮助需求工程师对要解决的问题形成更深刻的认识,在后续开发中不再使用。(需求模型在设计构建测试维护阶段都会用到)
2、需求规格说明活动()。(1分)
通常以文档形式来体现,称为需求规格说明文档。
文档的主要目的是记录需求工程各活动的成果物。
文档编写要求简洁、精确、一致和易于理解。
文档要使用表达准确的文本描述替代模型。
正确答案:通常以文档形式来体现,称为需求规格说明文档。
文档编写要求简洁、精确、一致和易于理解。
试题解析:B、文档的主要目的是记录需求工程各活动的成果物。(主要目的是在系统用户之间交流需求信息)D、文档要使用表达准确的文本描述替代模型。(既要用模型语言来保证信息传递的准确性,又用模型后附加的文本描述保证文档的可读性)
3、需求验证活动()。(1分)
为了验证需求规格说明是否能够正确、准确的反映用户的意图。
要保证文档记录的需求集在整体上具有完整性和一致性。
以保证文档的可读性和可修改性。
通常会采用同级评审的方法来进行,评审通过后形成需求基线。
正确答案:为了验证需求规格说明是否能够正确、准确的反映用户的意图。
要保证文档记录的需求集在整体上具有完整性和一致性。
以保证文档的可读性和可修改性。
通常会采用同级评审的方法来进行,评审通过后形成需求基线。
试题解析:无
4、需求管理活动()。(1分)
是与需求开发活动同时开始的。
用以保证需求开发的成果物在设计、实现、测试等后续开发活动中被良好的遵循。
通过一定的管理手段进行需求变更控制。
要接收一切需求变更以保证满足用户的需求。
正确答案:用以保证需求开发的成果物在设计、实现、测试等后续开发活动中被良好的遵循。
通过一定的管理手段进行需求变更控制。
试题解析:A、是与需求开发活动同时开始的。(需求开发活动结束后开始的)D、要接收一切需求变更以保证满足用户的需求。(接收合理的变更请求、拒绝不合理的变更请求,还要控制变更的成本和影响范围)
5、需求指的是用户的期望,关于对需求的理解正确的是()。(1分)
根据抽象层次及程度,将需求分为业务需求、用户需求和系统级需求。
需求分析的过程就是将描述目标的业务需求,以及描述用户期望的用户需求最终转为为描述系统行为的系统级需求。
可以将软件需求分为功能需求和性能需求。
功能需求是软件系统需求中最常见、最主要和最重要的需求,也是最为复杂的需求。
正确答案:根据抽象层次及程度,将需求分为业务需求、用户需求和系统级需求。
需求分析的过程就是将描述目标的业务需求,以及描述用户期望的用户需求最终转为为描述系统行为的系统级需求。
功能需求是软件系统需求中最常见、最主要和最重要的需求,也是最为复杂的需求。
试题解析:C、可以将软件需求分为功能需求和性能需求。(功能、性能、质量属性、对外接口、约束、数据需求)
6、需求工程的主要任务包括()。(1分)
说明软件系统将被应用的环境及其目标,说明用来达到这些目标的软件功能,即“需要做什么”和“为什么需要做”。
将目标和功能反映到软件系统当中,映射为可行的软件行为,并对软件行为进行准确的规格说明。
选择适当的技术和环境,实现软件功能,达到软件目标。
妥善处理目标和功能随着时间演化的变动情况。
正确答案:说明软件系统将被应用的环境及其目标,说明用来达到这些目标的软件功能,即“需要做什么”和“为什么需要做”。
将目标和功能反映到软件系统当中,映射为可行的软件行为,并对软件行为进行准确的规格说明。
妥善处理目标和功能随着时间演化的变动情况。
试题解析:C、选择适当的技术和环境,实现软件功能,达到软件目标。(这是设计阶段的任务)
7、需求获取活动()。(1分)
目的是从空白开始建立最初的原始需求。
是从人、文档或者环境中获取需求的过程。
获取到的活动并非是定义良好的需求。
只需要获取和分析用户的功能需求即可。
正确答案:目的是从空白开始建立最初的原始需求。
是从人、文档或者环境中获取需求的过程。
获取到的活动并非是定义良好的需求。
试题解析:D、只需要获取和分析用户的功能需求即可。(目标、功能、性能需求等)
8、需求分析的任务是()。(1分)
建立分析模型,达成开发者和用户对需求信息的共同理解。
依据共同的理解,发挥创造性,创建软件系统解决方案。
获取并解释用户对软件系统的期待。
建立需求分析文档,对软件系统解决方案建立简洁、精确、一致和易于理解的描述。
正确答案:建立分析模型,达成开发者和用户对需求信息的共同理解。
依据共同的理解,发挥创造性,创建软件系统解决方案。
试题解析:C、获取并解释用户对软件系统的期待。(需求获取)D、建立需求分析文档,对软件系统解决方案建立简洁、精确、一致和易于理解的描述。(需求规格描述)
9、结构化需求分析模型包括()。(1分)
数据流图
实体关系图
状态转图
数据字典
正确答案:数据流图
实体关系图
状态转图
数据字典
10、面向对象分析模型包括()。(1分)
用例图和用例描述
类图
状态图
包图
正确答案:用例图和用例描述
类图
状态图
试题解析:D、包图(体系结构设计模型)
11、概念类图的基本元素不包括()。(1分)
对象和类
链接和关联
继承
消息
正确答案:消息
试题解析:D、消息(顺序图的符号)
12、下面关于用例建模的描述错误的是()。(1分)
用例模型包括用例图和用例描述。
用例图的基本元素包括参与者和用例
用例是不同条件下系统对某一用户的请求的响应,由一组交互的行为序列组成,帮助实现用户的一个完整目的。
用例描述又称用例规格,是用文本形式描述出用例的参与者、目标及交互场景。
正确答案:用例图的基本元素包括参与者和用例
试题解析:B、用例图的基本元素包括参与者和用例(参与者、用例、关联、边界)
13、实体关系图中的实体表示(),实体之间的相互交互相互影响称为(),实体的属性指的是(),可以使用实体的一个属性或者多个属性唯一确定和标识实体的一个实例,称为()。(1分)
实体的特征
关系
键
需要在系统中收集和存储的现实世界事物的类别描述。
正确答案:实体的特征
关系
键
需要在系统中收集和存储的现实世界事物的类别描述。
14、下面关于概念类图的描述错误的是()。(1分)
概念类图起始于用例描述文本,以UML类图的形式表现出来。
概念类图主要描述的是系统的概念类(实体类)与类之间的关系。
每个用例识别出来的概念类都必须是独一无二的。
在识别概念类时,可以应用词性法,即分析出用例描述中的名词作为候选类,再根据筛选规格进行筛选。
正确答案:每个用例识别出来的概念类都必须是独一无二的。
试题解析:C、每个用例识别出来的概念类都必须是独一无二的。(将所有用例中识别出的局部概念类进行合并以建立软件系统的整体概念类图)。
15、交互图的一种形式称为顺序图,关于顺序图的描述正确的是()。(1分)
顺序图用于描述软件系统的数据处理过程。
顺序图是一个类似二维表的结构,纵轴为时间轴,横轴表示了参与协作的对象。
顺序图中将对象的交互(协作)表示为消息,消息按照时间顺序,在顺序图中从左向右排列。(
顺序图中的消息的实质是发送者对象的方法。
正确答案:顺序图是一个类似二维表的结构,纵轴为时间轴,横轴表示了参与协作的对象。
试题解析:A、顺序图用于描述软件系统的数据处理过程。(描述数据处理过程的是DFD;顺序图描述的是特定上下文环境中一组对象的交互行为)C、顺序图中将对象的交互(协作)表示为消息,消息按照时间顺序,在顺序图中从左向右排列。(消息从上到下排列)D、顺序图中的消息的实质是发送者对象的方法。(接收者对象的方法)
16、以需求为基础开发系统测试用例需要()。(1分)
将开发需求转换为测试需求
从测试需求中提取测试要点
为测试要点设计测试用例
将测试用例整理形成测试用例文档
正确答案:将开发需求转换为测试需求
从测试需求中提取测试要点
为测试要点设计测试用例
将测试用例整理形成测试用例文档
17、需要将需求制品()纳入配置管理。(1分)
用户原始需求
需求分析模型
需求文档
系统测试文档
正确答案:需求分析模型
需求文档
系统测试文档
试题解析:A、用户原始需求(不属于需求阶段的制品)
18、需求文档的常见读者包括()。(1分)
用户
项目管理者
设计人员和程序员
测试人员和维护人员
正确答案:用户
项目管理者
设计人员和程序员
测试人员和维护人员
19、在写作技术文档时,要注意做到()。(1分)
简洁、平铺直叙
精确,不使用模糊和歧义的词汇
易读可查询
完成后尽量少修改
正确答案:简洁、平铺直叙
精确,不使用模糊和歧义的词汇
易读可查询
试题解析:D、完成后尽量少修改(技术文档会随着开发工作的持续而不断修改,因此要易修改)
三 判断题(4分)
1、环境图也称顶层数据流图,它仅包括一个数据处理过程,即目标系统。(1分)
正确答案:正确
2、对于复杂程度高的软件系统,应该分层建模数据流图。(1分)
正确答案:正确
3、数据存储与数据流都是对系统中数据的描述,区别是描述静止还是运动的数据。(1分)
正确答案:正确
4、实体与属性的区别在于,实体是复合信息,而属性是原子(不可再分)信息。(1分)
正确答案:正确
四 填空题(1分)
1、需求工程活动包括________、________、________、________及________活动。(1分)
正确答案:需求获取
需求分析
需求规格说明
需求验证
需求管理
试题解析:课本P67