软件工程期末考试参考试题.docx
- 文档编号:28707991
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:19
- 大小:114.87KB
软件工程期末考试参考试题.docx
《软件工程期末考试参考试题.docx》由会员分享,可在线阅读,更多相关《软件工程期末考试参考试题.docx(19页珍藏版)》请在冰豆网上搜索。
软件工程期末考试参考试题
软件工程期末考试参考试题
一、填空题
1、软件生存周期一般可分为问题定义、可行性研究、需求分析、设计编码、测试、运行与维护阶段。
2、按软件的功能进行划分,软件可以划分为系统软件、支撑软件和应用软件。
3、可行性研究主要集中在以下四个方面经济可行性、技术可行性、法律可行性和抉择。
4、用户界面的可使用性是用户界面设计最重要的也是最基本的目标。
5、常见的软件概要设计方法有3大类:
以数据流图为基础构造模块结构的结构化设计方(SD),以数据结构为基础构造模块的Jackson方法,以对象、类、继承和通信为基础的面向对象设计方法(OOD)。
6、数据流图和数据字典共同构成系统的逻辑模型。
7、软件测试的方法有分析方法和非分析方法(即黑盒法)。
8、单元测试一般以白盒测试为主,黑盒测试为辅。
?
9、成本估计方法主要有自底向上估计、自顶向下估计和算法模型估计三种类型。
10.文档(document)—一种数据媒体和其上所记录的(数据)。
11机器语言、汇编语言:
依赖于机器,面向(机器)
12.软件有效性(efficiency),指软件系统的时间和(空间)效率。
13.软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成。
14.软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清“做什么”。
15.为了使用户需求逐步精细化、完全化、一致化,通常采用(需求建模技术)。
16.一个软件的深度是指其控制的(层数)。
17.以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并最终可运行的代码的过程叫(编码)过程。
18.软件维护是软件生命周期的(最后)一个阶段
@
19.软件工程由(方法)、工具和过程三部分组成,称软件工程的三要素。
20.基于计算机系统的软件要素中的软部件由程序、数据和(文档)组成。
21.数据流图就是用来刻画数据流和转换的信息系统建模技术。
它用简单的图形记号分
别表示数据流、转换、(数据源)以及外部实体。
22.被继承的类我们称之为基类(父类),在基类的基础上新建立的类我们称之为派生
类子类。
23.流程图也称为程序框图是最常用的一种表示法,它有顺序、分支和(循环)三个基
本控制构件。
24.机器语言和汇编语言,也称为(低级)语言。
25.软件测试是执行程序发现并排除程序中潜伏的(错误)的过程。
>
26.软件可维护性,是指软件产品交付使用后,在实现改正潜伏的错误、改进性能等属
性、适应环境变化等方面工作的(难易)程度。
27.软件可理解性,指系统具有清晰的结构,能直接反映问题的(需求)。
28在实体-关系图简称E-R图中,数据对象实体用长方形、关系用(菱形)、属性用椭圆表示。
29.建立数据流模型要遵循的原则包括:
每个加工至少应有一个输入数据流以反映被处理数据的来源和一个(输出)数据流来反映加工的结果
30.从工程管理的角度软件设计可分为概要设计和(详细)设计两大步骤。
31.通过向用户提供视觉和听觉上的反馈,保持用户与界面间的双向通信,是提高界面可(交互)性的措施之一。
32.程序设计语言的可靠性是指程序设计语言本身不出错或对错误的(纠正)能力。
33.对发现错误较多的程序模块,应进行(重点)测试。
34.测试用例中,不仅要选择合理的输入数据,还要选择(不合理)的输入数据。
]
二、单项选择题
1.下列哪个阶段不属于软件生存周期的三大阶段(C)。
A、计划阶段B、开发阶段
C、编码阶段D、维护阶段
2.需求分析是(A)。
3. A、软件开发工作的基础 B、软件生存周期的开始
4. C、由系统分析员单独完成的 D、由用户自己单独完成的
5.原型化方法是软件开发中一类常用的方法,它与结构化方法相比较,更需要(B)。
6. A、明确的需求定义 B、完整的生命周期
7. C、较长的开发时间 D、熟练的开发人员
8.软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程称为(A)。
9. A、改正性维护 B、适应性维护
10. C、完善性维护 D、预防性维护
11.一般说来,投入运行的软件系统中有错误(A)。
A、不是不可以理解的
B、是不能容忍的
、
C、是要求退货的理由
D、是必然的
6、对在数据流图中每一个命令的图形元素均给以定义是(B)
A、条目定义B、数据字典C、数据定义D、数据说明
7、软件的可行性研究中不包括(D)
A、法律可行性B、技术可行性C、经济可行性D、政治可行性
8、根据用户在软件使用过程中提出的建设性意见而进行的维护活动称为(C)。
A.纠错性维护B.适应性维护C.改善性维护D.预防性维护
9、人机界面的风格大致经过了(B)代的演变。
A.三B.四C.五D.六
{
10、以下不属于白盒测试技术的是(D)
A.逻辑覆盖B.基本路径测试C.循环覆盖测试D.等价类划分
11、为改正软件系统中潜藏的错误而进行的维护活动称为(A)。
A.纠错性维护B.适应性维护C.改善性维护D.预防性维护
12、从事物的组成部件及每个部件的属性、功能来认识事物。
这种方法被称为(A)的方法。
A、面向对象B、面向数据C、面向过程D、面向属性
13、判定表由四部分组成:
左上部列出(B)。
A.条件组合与动作之间的对应关系B.所有条件
C.所有可能的动作D.可能的条件组合
14、面向对象的分析和设计(OOA&OOD)方法出现在20世纪(C)年代中期。
-
A.50B.60C.70D.80
15、耦合度也可以分为七级:
其中最松散的耦合是(A)。
A.非直接耦合B.数据耦合C.特征耦合D.控制耦合
16、面向对象方法是将现实世界的事物以对象的方式(B)到计算机世界的方法。
A.对应B.映射C.反映D.反射
17、盒图也称为(D)或Chapin图。
这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。
A.流程图B.框图C.判定表D.N-S图
18、描述静态数据结构的概念模式是(A)。
A、E-R图B、DFDC、结构图D、框图
19、结构化程序设计理论认为,实现良好的程序结构要应用(A)的分析方法。
!
A、自顶向下B、自底向上C、面向对象D、基于组件
20、在结构化程序设计当中,不建议使用(D)。
A、分支语句B、循环语句C、子程序调用语句D、转向语句
21、软件生产过程中,需求信息由(D)给出。
A、程序员B、项目管理者C、软件分析设计人员D、软件用户
22、在下列的基本成分中,哪个不是数据流程图的基本成分(D)
A、信息处理B、信息存储C、外部实体D、系统状态
23、与设计测试数据无关的文档是(D)。
A、需求说明书B、设计说明书C、源程序D、项目开发设计
三、多项选择题(每小题2分,共10分)
1.>
2.下面哪些测试属于白盒测试(AE)。
A、基本路径测试B、等价类划分C、边界值分析D、错误推测E、逻辑覆盖测试
3.下列哪些选项是属于内容耦合(ABC)。
A、一个模块直接访问另一个模块的内部数据
B、一个模块有多个入口
C、一个模块不通过正常入口转到另一模块内部
D、一个模块只有一个入口
4.下列属于度量效益方法的是(ABC)。
A、货币的时间价值B、投资回收期
C、收入D、投资回报率
5.:
6.数据流图是用于表示软件模型的一种图示方法,在下列可采用的绘制方法中,哪些是常采用的(ACD)。
A、自顶向下B、自底向上C、分层绘制D、逐步求精
7.软件设计中一般将用到图形工具,下列哪种些可用作设计的图形工具(ACD)。
A、结构图B、实体联系图C、IPO图 D、层次图
四、判断题。
1、在进行总体设计时应加强模块间的联系。
(×)
2、系统结构图是精确表达程序结构的图形表示法。
因此,有时也可以将系统结构图当作系统流程图使用。
(×)
3、用黑盒法测试时,测试用例是根据程序内部逻辑设计的。
(×)
4、在程序调试时,找出错误的位置和性质比改正该错误更难。
(√)
5、以对象、类、继承和通信为基础的面向对象设计方法(OOD)也是常见的软件概要设计方法之一。
(√)
6、如果通过软件测试没有发现错误,则说明软件是正确的。
(×)
7、快速原型模型可以有效地适应用户需求的动态变化。
(√)
8、模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。
(√)
9、集成测试主要由用户来完成。
(×)
10、软件危机完全是由于硬件问题引起的。
(×)
11.缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之一。
(√)
12.一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。
(×)
13.在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第一手资料,并从中提取出有价值的需求。
(√)
14.快速原型技术适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计一些复杂的算法等场合。
(√)
15.流程图也称为程序(框图)是最常用的一种表示法。
(√)
(
16.面向数据设计方法一般都包括下列任务:
确定数据结构特征;用顺序、选择和重复三种基本形式表示数据等步骤。
(√)
17.理想的人机界面应针对具有典型个性的特定的一类用户设计。
(√)
18.数据输入的一般准则中包括尽量(增加)用户输入的动作。
(×)
19.用穷举测试是较现实的测试方法。
(×)
20、编码时应尽可能使用全局变量(×)
21、重视程序结构的设计,能使程序具有较好的层次结构(√)
22、程序中的注解越少越好(×)
23.纠错性维护是改正运行期间发现的潜伏错误。
(√)
24.软件可移植性(portability),是指软件从一个计算机系统或(环境)移植到另一个上去的难易程度。
(√)
25.软件复杂性不能反映出软件的可理解性、模块化、简单性等属性。
(×)
26.当程序内的分支数和循环数增加时,V(G)值将随之增加,即程序的复杂性增大。
(√)
27.一般来说,设计软件时应尽量使用数据耦合,减少控制耦合,限制外部环境耦合和公共数据耦合,杜绝内容耦合。
(√)
28.设计用户界面只需要计算机科学的理论和知识,而不一定需要认知心理学以及人-机工程学、语言学等学科的知识。
(×)
29.第四代语言(4GL)还局限在某些领域内,如数据库查询语言。
(√)
30.不同程序设计语言在程序的效率上的差异不大。
(×)
31.编码的依据是详细设计说明书。
(√)
32.程序文档应该包括代码的功能、代码的完成者等内容。
(√)
33.软件项目定义部分由制定软件项目开发计划、需求分析2个阶段组成。
(√)
34.预防性维护是修改软件,以适应软硬件环境的变化。
(×)
35.开发大型软件易产生疏漏和错误,往往是产生软件危机的原因之一。
(√)
'
36.据统计,软件维护人员为了分析和理解原软件系统所花费的工作量约占整个维护工作量的60%以下。
(×)
37.数据流图中各构成元素的名称不一定必须具有明确的含义以代表对应元素的内容或功能。
(×)
38.软件设计也可看作将需求规格说明逐步转换为软件源代码的过程。
(√)
39.最高耦合度是数据耦合。
(×)
40.人机界面(Human-ComputerInterface,简称HCI)又称人-机接口或用户界面。
(√)
41.在同一用户界面中,所有的菜单选择、命令输入、数据显示和其他功能应采用不同的形式和风格。
(×)
42.判定覆盖必然满足语句覆盖。
(√)
43.为提高可交互性一般对大多数操作动作应允许用户恢复。
同时应尽量减少用户记忆的信息量。
(√)
44.编程中应采用统一的标准和约定,降低程序的复杂性。
(√)
45.软件在使用过程中维护不十分复杂。
(×)
(
46.软件可重用性(reusability),是指软部件可以在多种场合使用的程度。
(√)
47.缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之一。
(√)
48.快速原型技术的适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计一些复杂的算法等场合。
(√)
49.流程图也称为程序框图是最常用的一种表示法。
(√)
50.面向数据设计方法一般都包括下列任务:
确定数据结构特征;用顺序、选择和重复三种基本形式表示数据等步骤。
(√)
51、在软件维护过程中改善性维护是为适应环境的变化而修改软件的活动。
(×)
52.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。
(√)
53.数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。
(×)
语言编译器是一个CASE工具。
(√)
55.软件是指用程序设计语言(如PASCAL,C,VISUALBASIC等)编写的程序,软件开发实际上就是编写程序代码。
(×)
【
56.软件模块之间的耦合性越弱越好。
(√)
57.数据库设计说明书是一个软件配置项(√)
58.在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是生成类的模板。
(×)
59.过程描述语言可以用于描述软件的系统结构。
(×)
60.快速原型模型可以有效地适应用户需求的动态变化。
(√)
61.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。
(√)
62.可行性研究进一步研究问题分析阶段所确定的问题是否有可行的解。
(√)
63.并发系统中遇到的一个主要问题是定时问题。
(√)
64.面向对象建模得到的模型包含系统的3个要素,即静态结构、交互次序和数据变换。
(√)
65.软件重用是提高软件开发生产率和目标系统质量的重要途径。
(√)
&
66.判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。
(√)
67.PowerDesigner是一个CASE工具。
(√)
68.在进行需求分析时需同时考虑维护问题。
(×)
69.UML是一种面向对象的分析设计方法,即OOA/OOD方法。
(×)
70.在面向对象的软件开发方法中,每个类都存在其相应的对象,对象是类的实例,类是生成对象的模板。
(√)
五、简答题
1、什么是软件危机为什么会产生软件危机
答:
软件危机是指软件在开发和维护过程时所遇到的一系列问题。
主要包含二方面的问题:
一是如何开发软件以满足社会对软件日益增长的需求,二是如何维护数量不断增长的已有软件。
产生软件危机的原因:
一方面与软件本身的特点有关,另一方面和软件开发与维护的方法不正确有关。
2、耦合性有哪几种类型其耦合度的顺序如何
非直接
耦合
数据
耦合
特征
耦合
控制
耦合
外部
耦合
公共
耦合
内容
耦合
其中,1、2、3属于弱耦合,4属于中度耦合,5、6属于较强耦合、7属于强耦合。
非直接耦合数据耦合特征耦合控制耦合外部耦合公共耦合内容耦合
偶然
!
内聚
逻辑
内聚
时间
内聚
通信
内聚
顺序
内聚
功能
…
内聚
偶然
内聚
其中,1、2、3属于低内聚,4属于中内聚,5、6属于高内聚。
"
3、简述需求分析工作可以分成哪四个方面软件需求分析的有哪三个基本原则
答:
需求分析阶段分成四个方面:
对问题的识别、分析与综合、制定规格说明和评审。
三个基本原则:
①必须能够表达和理解问题的数据域和功能域;②必须按自顶向下、逐步分解的方式对问题进行分解和不断细化;③要给出系统的逻辑视图和物理视图。
4、什么是黑盒测试法
答:
黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据,产生正确地输出信息。
5、什么是软件生存周期
答:
一个软件从定义到开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期。
软件生存周期就是从提出软件产品开始,直到软件产品被淘汰的全过程。
6、在需求分析阶段,建立目标系统的逻辑模型的具体做法是什么
答:
系统流程图是描述物理系统的传统工具。
它的基本思想是用图形符号以黑盒子形式描绘系统里的每个部件(程序、文件、数据库、表格、人工过程等)。
系统流程图表达的是部件的信息流程,而不表示信息进行加工处理的控制过程。
7、为什么数据流图要分层
~
答:
为了表达数据处理过程的数据加工情况,用一个数据流图是不够的。
为表达稍微复杂的实际问题,需要按照问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。
8、软件的质量反应为哪些方面的问题
答:
软件需求是度量软件质量的基础,不符合需求的软件就不具备质量。
在各种标准中定义了一些开发准则,用来指导软件人员用工程化的方法来开发软件。
如果不遵这些开发准则,软件质量就得不到保证。
往往会有一些隐含的需求没有明确地提出来。
如果软件只满足那些精确定义了的需求而没有满足这些隐含的需求,软件质量也不能保证。
软件质量是各种特性的复杂组合。
它随着应用的不同为不同,随着用户提出的质量要求不同而不同。
9、软件工程的基本原则有抽象、信息隐藏、模块化和其他哪些内容(软件工程必须遵循那些基本原则)
答:
1)抽象2)信息隐藏(2分)3)模块化(2分)4)局部化5)一致性6)完全性7)可验证性(2分)
10、常用的软件项目的估算方法主要有哪4种
)
1)自顶向下的估算方法2)自底向上的估算方法3)差别估算法
4)根据经验估算公式
11、原型法模型一般适应哪些场合
它适合于那些不能预先确切定义需求的软件系统的开发,更适合于那些项目组成员(包括分析员、设计员、程序员和用户)不能很好交流或通信有困难的情况。
12、简答结构化程序设计的内容及基本要点。
内容:
是程序设计技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制构件。
基本要点:
(1)采用自顶向下,逐步求精的程序设计方法。
(2)使用三种基本控制结构构造程序,分别是顺序,选择和循环
(3)采用主程序员组的组织形式。
(4)采用单入口单出口的模块形式。
【
13、瀑布模型一般适应哪些场合
瀑布模型一般适用于功能、性能明确、完整、无重大变化的软件系统的开发。
例如操作系统、编译系统、数据库管理系统等系统软件的开发。
应用有一定的局限性。
14、软件工程的目标是什么
答:
在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并满足用户需求的软件产品。
15、螺旋模型的适应场合有哪些
答:
适应场合:
支持需求不明确、特别是大型软件系统的开发,并支持面向规格说明、面向过程、面向对象等多种软件开发方法,是一种具有广阔前景的模型。
16、软件开发风险分析实际上就是贯穿于软件工程过程中的一系列风险管理步骤,它包括哪些主要内容
答:
1)风险标识2)风险估算3)风险评价4)风险驾驭和监控。
17、软件生存周期中的软件开发过程由概要设计和其它哪几个阶段组成
答:
1)详细设计2)实现3)组装设计4)验收测试
[
18、实体—关系(Entity-Relation)图简称E-R图,是表示数据对象及其之间关系的图形语言机制。
19、需求评审标准(按照重要性的次序)包括哪些内容
答:
1)正确性2)无歧义性3)完全性4)可验证性5)一致性
6)可理解性7)可修改性8)可追踪性。
20、计算机软件——与计算机系统操作有关的程序、规程、规则及任何与之有关的文档和数据。
21、需求分析的任务是什么
答:
需求分析的任务是确定待开发的软件系统“做什么”。
具体任务包括确定软件系统的功能需求、性能需求和运行环境约束,编制软件需求规格说明书、软件系统的验收测试准则和初步的用户手册。
22、软件项目的成本管理——估算软件项目的成本,作为立项和签合同的依据之一,并在软件开发过程中按计划管理经费的使用。
23、快速原型技术的基本思想是什么
答:
在软件开发的早期,快速开发一个目标软件系统的原型,让用户对其进行评价并提出修改意见,然后开发人员根据用户的意见对原型进行改进。
(
24、程序设计语言有哪些特点
答:
1)一致性2)二义性3)紧致性4)局部性
25、可将软件生存周期划分为哪3个过程和哪9个阶段
答:
(1)3个过程是:
软件定义过程、软件开发过程、软件使用与维护过程。
(2)9个阶段有:
可行性研究、需求分析、概要设计、详细设计、实现、组装测试、验收测试、使用与维护、退役。
六、分析设计题
1.某“调整工资”处理模块接受一个“职称”的变量,根据职称的不同(助教,讲师,副教授,教授)作不同的处理,其中若是助教还必须输入工龄,只有工龄超过两年才能调整工资。
请用等价类划分法设计测试用例。
答:
划分等价类:
输入条件
合理等价类
不合理等价类
|
职称
①教授
②副教授
③讲师
⑤四种职称之外任意一种
职称兼工龄
④助教兼工龄大于2年
⑥助教兼工龄等于两年
⑦助教兼工龄小于两年
设计测试用例:
【
输入数据
预期结果
覆盖范围
教授
输入有效,进行调整工资处理
①
副教授
输入有效,进行调整工资处理
②
讲师
输入有效,进行调整工资处理
③
助教3
输入有效,进行调整工资处理
④
助教2
输入有效,不调整工资处理
⑥
助教1
输入有效,不调整工资处理
⑦
工程师
输入无效
⑤
2.假定某航空公司规定,乘客可以免费托运重量不超过30公斤的行李。
当行李重量超过30公斤时,对头等舱的国内乘客超重部分每公斤收费4元,对其它舱的国内乘客超重部分每公斤收费6元,对国外乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。
用判定树表示计算行李费的算法。
3、画出与图1所示的程序流程图对应的流图,并试计算其环形复杂度V(G)。
解:
1)流图如(图2)所示:
(2)计算其环形复杂度:
V(G)=E–N+2=13–10+2=5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 期末考试 参考 试题