软件工程导论期末题库完整版Word下载.docx
《软件工程导论期末题库完整版Word下载.docx》由会员分享,可在线阅读,更多相关《软件工程导论期末题库完整版Word下载.docx(15页珍藏版)》请在冰豆网上搜索。
16.能力成熟度模型分为5个等级:
初始级、____可重复____级、__已定义___级、____已管理__级和__优化____级。
2.判断题
1.向滞后的项目中增加人手会使得项目更加滞后。
(T)
2.过程描述语言可以用于描述软件的系统结构。
(F)
3.按照瀑布模型开发软件的一条指导思想是清楚地区分逻辑设计与物理设计,以便尽早开始程序的物理实现。
(F)
5.只有质量差的软件产品才需要维护。
(F)
6.层次图用来描述软件的层次结构。
层次图中的一个矩形框代表一个模块,方框间的连线表示模块的组成关系。
在层次图中除最顶层的方框之外,给每个方框都加编号,即成为带有编号的层次图。
(F)
7.建立动态模型的第一步,是编写典型交互行为的脚本。
(T)
8.软件错误可能出现在开发过程的早期,越早修改越好。
(T)
9.软件模块的耦合是越低越好。
(T)
10.一个好的测试用例在于能发现至今未发现的错误。
(T)
11.面向对象设计的结果只能采用面向对象语言来实现(F)
12.一个成功的项目唯一提交的就是运行程序。
13.用例之间的关系有3种。
(T)
14.面向对象设计准则也要遵循弱耦合的原则,但是继承耦合则应该提高,紧密地继承耦合与高度的一般-特殊内聚是一致的。
(T)
15.软件工作的考虑范围主要是程序设计和实现。
(F)
16.环形复杂度定量度量程序的逻辑复杂度,可以用这个公式来计算环形复杂度:
流图G的环形复杂度V(G)=N–E+2。
(改成E-N+2)(F)
17.等价类划分方法将所有可能的输入数据划分成若干部分,然后从每一部分中选取少数有代表性的数据作为测试用例。
18.在进行总体(改成概要)设计时应加强模块间的联系。
(F)
19.系统结构图是精确表达程序结构的图形表示法。
因此,有时也可以将系统结构图当作系统流程图使用。
20.建立动态模型的第一步,是编写典型交互行为的脚本。
(T)
21.在程序调试时,找出错误的位置和性质比改正该错误更难。
(F)
22.如果通过软件测试没有发现错误,则说明软件是正确的。
(F)
23.快速原型模型可以有效地适应用户需求的动态变化。
(T)
24.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。
(T)
25.集成测试主要由用户来完成。
(F)
26.面向对象=对象+类+继承+消息传递。
27.面向对象的分析是面向计算机系统建立软件系统的对象模型。
3.选择题
1.具有风险分析的软件生命周期模型是()。
A.瀑布模型B.喷泉模型
C.螺旋模型D.增量模型
2.软件工程的基本要素包括方法、工具和()。
A.过程B.软件系统
C.硬件环境D.人员
3.软件的复杂性是(),它引起人员通信困难、开发费用超支、开发时间超时等问题。
A.固有的B.人为的
C.可消除的D.不可降低的
4.在结构化分析方法中,()表达系统内部数据运动的图形化技术。
A.数据字典B.实体关系图
C.数据流图D.状态转换图
5.“软件危机”是指()。
A.计算机病毒的出现B.利用计算机进行经济犯罪活动
C.软件开发和维护中出现的一系列问题D.人们过分迷恋计算机系统
6.随着软硬件环境变化而修改软件的过程是()。
A.校正性维护B.适应性维护
C.完善性维护D.预防性维护
7.需求分析中开发人员要从用户那里了解()。
A.软件做什么B.用户使用界面
C.输入的信息D.软件的规模
8.软件详细设计的主要任务是确定每个模块的()。
A.算法和使用的数据结构B.外部接口
C.功能D.编程
9.为了提高模块的独立性,模块内部最好是()。
//外部耦合,功能内聚
A.逻辑内聚B.时间内聚
C.功能内聚D.通信内聚
10.一个模块的()太大一般是因为缺乏中间层次,应当适当增加中间层次的控制模块。
A.深度B.宽度
C.扇出D.扇入
11.模块的内聚性最高的是()。
A.逻辑内聚B.时间内聚
C.偶然内聚D.功能内聚
12.需求分析是()。
A.软件开发工作的基础
B.软件生存周期的开始
C.由系统分析员单独完成的
D.由用户自己单独完成的
13.在白盒测试技术测试用例的设计中,()是最强的覆盖标准。
A.语句覆盖B.路径覆盖
C.条件组合覆盖D.判定覆盖
14.软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程称为()。
A.改正性维护
B.适应性维护
C.完善性维护
D.预防性维护
15.()是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。
A.多态性B.继承
C.封装D.消息
16.对象实现了数据和操作的结合,使数据和操作()于对象的统一体中。
A.结合B.隐藏C.封装D.抽象
17.面向对象的开发方法中,()将是面向对象技术领域内占主导地位的标准建模语言。
A.Booch方法B.Coad方法C.UML语言D.OMT方法
18.()意味着一个操作在不同的类中可以有不同的实现方式。
A.多态性B.多继承C.类的可复用D.信息隐藏
19.单元测试的测试用例主要根据()的结果来设计。
A.需求分析B.源程序C.概要设计D.详细设计
20.软件测试是为了()而执行程序的过程。
A.纠正错误B.发现错误
C.避免错误D.证明正确
21.类构件的重用方式有多态重用、继承重用和()
A.实例重用B.重载重用
C.代码重用D.方法重用
22.支持面向对象技术的软件生存周期模型是()。
A.喷泉模型
B.螺旋模型
C.增量模型
D.瀑布模型
23.在白盒测试技术测试用例的设计中,()是最弱的覆盖标准。
C.条件组合覆盖D.判定覆盖
1.下面哪些测试方法属于白盒测试()。
//BCD是黑盒测试
A、基本路径测试 B、等价类划分 C、边界值分析
D、错误推测 E、逻辑覆盖测试
2.下列哪些选项是属于内容耦合()。
A、一个模块直接访问另一个模块的内部数据
B、一个模块有多个入口
C、一个模块不通过正常入口转到另一模块内部
D、一个模块只有一个入口
3.下列属于度量效益方法的是()。
A、货币的时间价值B、投资回收期
C、收入D、投资回报率
4.数据流图是用于表示软件模型的一种图示方法,在下列可采用的绘制方法中,哪些是常采用的()。
A、自顶向下B、自底向上C、分层绘制D、逐步求精
5.软件设计中一般将用到图形工具,下列哪种些可用作设计的图形工具()。
A、结构图
B、
实体联系图
C、IPO图
D、层次图
4.简答题:
1.简述增量模型的优点和缺点。
答:
优点:
采用增量模型的优点是人员分配灵活,刚开始不用投入大量人力资源。
如果核心产品很受欢迎,则可增加人力实现下一个增量。
当配备的人员不能在设定的期限内完成产品时,它提供了一种先推出核心产品的途径。
这样即可先发布部分功能给客户,对客户起到镇静剂的作用。
此外,增量能够有计划地管理技术风险。
缺点:
1)由于各个构件是逐渐并入已有的软件体系结构中的,所以加入构件必须不破坏已构造好的系统部分,这需要软件具备开放式的体系结构。
2)在开发过程中,需求的变化是不可避免的。
增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。
3)如果增量包之间存在相交的情况且未很好处理,则必须做全盘系统分析,这种模型将功能细化后分别开发的方法较适应于需求经常改变的软件开发过程。
2.简述软件设计的过程。
软件设计是把许多事物和问题抽象起来,并且抽象它们不同层次和角度,是将需求转变为软件陈述的过程,是迭代的过程。
软件设计,要根据需求规格说明
书,对整个设计过程进行计划,然后实施具体的设计过程,即
“先整体,再局部”,也是不断迭代和精化的过程。
然后需要对生成的设计规格说明书进行评审,启动
质量评价的标准,若未通过评审,需重新修改设计,直至评审通过,确定最后定型的过程本身。
进入后续阶段,完成软件设计过程。
3.原型化方法主要用于解决什么问题?
试说明这种方法的主要优缺点。
建立原型的主要原因是为了解决在产品开发的早期阶段需求不确定的问题,用户、经理和其他非技术项目风险承担