软件工程自考历年真题+答案
全国2010年1月自学考试软件工程试题(含答案)
课程代码:02333
一、 单项选择题(本大题共20小题,每小题1分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.软件生存周期中,准确地确定软件系统必须做什么的阶段是( B )
A .可行性分析和项目开发计划
C .概要设计 B .需求分析 D .详细设计
2.把瀑布模型和专家系统结合在一起的软件生存周期模型是( B )
A .增量模型
C .螺旋模型 B .基于知识的模型 D .喷泉模型
3.以下不属于项目开发计划主要内容的是( C ) .
A .实施计划
C .测试用例 B .交付期限 D .人员组织及分工
4.使用数据流图来表示系统逻辑模型的是( D )
A .Jackson
C .OOA B .VDM D .SA
5.用于描述结构化分析中数据流加工逻辑的是( A )
A .判定树
C .状态图 B .ER 图 D .用例图
6.若一个模块中各个处理元素都密切相关于同一功能且必须顺序执行,前一功能元素的输出就是下一功
能元素的输入,则该模块的内聚性类型是( C )
A .时间内聚
C .顺序内聚 B .偶然内聚 D .功能内聚
7.下列几种耦合类型,耦合性最高的是( A )
A .公共耦合
C .标记耦合
8.程序流程图的优点不包括( B ) ...
A .历史最悠久,使用最广泛
C .支持程序的三种基本控制结构 B .容易表示逐步求精的过程 D .直观清晰,易于使用 B .控制耦合 D .数据耦合
9.第一个体现结构化编程思想的程序设计语言是( C )
A .Cobol 语言
C .Pascal 语言
10.确认测试也称为( A ) B .C 语言 D .FORTRAN 语言
A .有效性测试
C .静态测试
11.黑盒测试技术不包括( B ) ...
A .等价类划分
C .边界值分析 B .无效性测试 D .动态测试 B .路径覆盖 D .错误推测
?12.为了增加软件功能和性能、提高软件运行效率而进行的维护活动称为( C )
A .校正性维护
C .完善性维护 B .适应性维护 D .预防性维护
13.瀑布模型与增量模型之间的本质区别是( B )
A .瀑布模型属于非整体开发模型,增量模型属于整体开发模型
B .瀑布模型属于整体开发模型,增量模型属于非整体开发模型
C .瀑布模型容易适应需求变化,增量模型不容易适应需求变化
D .瀑布模型减少技术、应用风险,增量模型增大技术、应用风险
?14.面向对象分析中,对象模型描述了系统的( A )
A .静态结构
C .控制结构 B .动态结构 D .顺序结构
15.面向对象设计中存在三种内聚,分别是( D )
A .属性内聚、操作内聚、类内聚
C .属性内聚、操作内聚、对象内聚 B .操作内聚、类内聚、整体-部分内聚 D .操作内聚、类内聚、一般-具体内聚
16.McCall 质量度量模型中,与“软件系统对非授权人访问软件或数据行为的控制程度”所对应的软件质
量特性是( B )
A .正确性
C .可维护性
17.软件工程标准中,JIS 属于( B )
A .国际标准
C .行业标准 B .国家标准 D .企业规范
B .完整性 D .可用性 18.与“程序维护手册”文档有关的人员是( B )
A .管理人员和开发人员
C .维护人员和用户 B .管理人员和维护人员 D .管理人员和用户
19.软件工具“代码生成程序”属于( C )
A .需求追踪工具
C .设计工具 B .质量保证工具 D .文档工具
20.软件复杂性度量的参数中,能反映“软件总共的指令数,或源程序行数”的是( A )
A .规模
C .结构 B .难度 D .智能度
二、填空题(本大题共10小题,每小题2分,共20分)
请在每小题的空格中填上正确答案。错填、不填均无分。
21.软件工具一般是指为了支持软件人员___开发和维护_____活动而使用的软件。
22.CASE 技术是____软件工具______和软件开发方法的结合。
23.数据字典有四类条目,分别是数据流、___数据项_____、数据存储和基本加工。
24.各种软件系统的数据流图一般可分为___变换型_____和事务型两类。
25.过程设计语言是用于描述模块___算法设计_____和处理细节的语言。
26.效率是与编程风格有关的一个因素,效率是指处理机时间和___存储空间______的使用。
27.调试技术有简单的调试方法、归纳法调试、___演绎法______和回溯法调试。
28.软件可维护性可用七种质量特性来衡量,分别是____可理解性_____、可测试性、可修改性、可靠性、
可移植性、可使用性和效率。
29.UML 将Booch 方法、OMT 方法和___ OOSE ______的表示方法统一,并进一步发展为大众所接受的
标准建模语言。
30.面向对象分析中,动态模型使用___状态图______作为描述工具,该图反映了状态与事件的关系。
三、名词解释(本大题共5小题,每小题3分,共15分)
31.软件工程过程 即软件生命周期的方法、工具和概念
32.模块化 模块化是指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程,有多种属性,分别反映其内部特性. 每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能
33.集成测试 (如根据结构图)组装成为子系统或系统,进行集成测试。
34.软件可靠性 (1)在规定的条件下,在规定的时间内,软件不引起系统失效的概率;
(2)在规定的时间周期内,在所述条件下程序执行所要求的功能的能力;
35.模块的控制范围
四、简答题(本大题共4小题,每小题5分,共20分)
36.简述软件工程面临的问题。
答:内容:①软件开发技术②软件开发管理
面临的主要问题:①软件费用②软件可靠性③软件维护④软件生产率⑤软件重用
37.简述可行性研究报告包含的主要内容。
技术可行性:对要开发项目的功能、性能、限制条件进行分析,确定在现有的资源条件下,技术风险有多大,项目是否能实现。包括:开发的风险;资源的有效性;技术;开发人员在评估技术可行性时,一旦估计错误,将会出现灾难性后果。 经济可行性:包括成本――效果分析、公司经营长期策略、开发所需的成本和资源、潜在的市场前景。
社会可行性包括:合同、责任、侵权、用户组织的管理模式及规范,其他一些技术人员常常不了解的陷阱等。
38.简述软件结构设计的优化准则。
39.简述快速原型的开发步骤。
答:快速原型开发步骤可划分下列阶段:
(1)快速分析:迅速确定基本需求、集中力量确定需求说明。
(2)快速构造原型:在快速分析基础上,在强有力的软件工具支持下,快速构造所需原型。
(3)运行原型:在开发者指导下,用户参与原型的运行,各类人员在共同运行原型中进一步加深对系统的了解及相互间的
理解,以发现各种问题。
(4)评价原型;在运行基础上,根据原型目标,考核原型的特性,分析原型效果是否满足用户需求,提出修改意见。
(5)修改原型:在评价基础上进行修改。若不满足需求说明,则根据明确的需求修改原型。若不满足用户需求,则先修改并明确用户需求,再重新构造原型。
五、应用题(本大题共2小题,第40小题13分,第41小题12分,共25分)
40.根据下列事务型的数据流图,设计出初始软件结构图。
41.根据下列程序流程图,设计3组的测试用例,使之满足语句覆盖,对每组测试数据给出执行路径、两
个判定(1)和(3)的判定结果。
语句覆盖在测试时应该执行到程序中的每一个语句
3组测试用例: x=10 ,y=8 执行路径: 1 2 5 (1)的判定结果为假,(3)的判定结果不执行 X=7 y=4 执行路径: 1 3 5 (1)的判定结果为真,(3)的判定结果为真
X=7 y=1执行路径: 1 34 5 (1)的判定结果为真,(3)的判定结果为假
题目要求:语句覆盖是把所有的语句都执行一遍,而图中只有两条语句,其实用二组测试用例即可。因此对题目还是有疑问。答案是自己做的如果有错语请同学们指正,谢谢