江西理工大学软件工程复习题.docx
- 文档编号:28682488
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:16
- 大小:72.09KB
江西理工大学软件工程复习题.docx
《江西理工大学软件工程复习题.docx》由会员分享,可在线阅读,更多相关《江西理工大学软件工程复习题.docx(16页珍藏版)》请在冰豆网上搜索。
江西理工大学软件工程复习题
选择题
1、白盒测试法是通过分析程序的(C)来设计测试用例的。
A、应用范围B、功能C、内部逻辑D、输入数据
2、风险预测从两个方面评估风险,即风险发生的可能性以及(D)。
A、风险产生的原因B、风险监控技术
C、风险能否消除D、风险发生所产生的后果
3、下列不属于黑盒测试的技术是(A)。
A、程序段或语句的功能B、模块的接口
C、数据的名称和用途D、模块的功能
4、为了提高模块的独立性,模块之间最好是(D)。
A、控制耦合B、公共耦合C、内容耦合D、数据耦合
5、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用(A)来表述“谁做”。
A、角色B、活动C、制品D、工作流
6、功能性注释嵌入在源程序内部,它是用来说明(A)。
A、程序段或语句的功能B、模块的接口
C、数据的名称和用途D、模块的功能
7、在结构化分析方法中,数据字典是重要的文档。
对加工的描述是数据字典的组成内容之一,常用的加工描述方法(C)。
A、只有结构化语言B、有结构化语言和判定树
C、有结构化语言、判定树和判定表D、有判定树和判定表
8、软件危机的主要原因是(A)。
A、软件本身特点与开发方法B、对软件的认识不够
C、软件生产能力不足D、软件工具落后
9、DFD是常用的进行软件需求分析的图形工具,其基本符号是(C)。
A、输入、输出、外部实体和加工B、变换、加工、数据流和存储
C、加工、数据流、数据存储和外部实体D、变换、数据存储、加工和数据流
10、软件工程管理是对软件项目的开发管理,或者说是对整个软件(A)的一切活动进行管理。
A、生存期B、开发C、制定计划D、项目
11、在面向数据流的软件设计方法中,一般将信息流分为(A)。
A、变换流和事务流B、变换流和控制流
C、事务流和控制流D、数据流和控制流
12、在软件工程项目中,不随参与人数的增加而使软件的生产率增加的主要问题是(D)。
A、工作阶段间的等待时间B、生产原型的复杂性
C、参与人员所需的工作站数D、参与人员之间的通信困难
13、下面(B)不是软件的特征。
A、系统性与复制性B、有形性与可控性
C、抽象性与智能性D、依附性与泛域性
14、下列关于面向对象分析与设计说法错误的是(C)。
A、面向对象的设计以面向对象分析为基础归纳出类
B、建立类结构或进一步构造成类库,实现分析结果对问题空间的抽象
C、面向对象的设计是面向对象分析的另一种思维方式
D、面向对象的设计是面向对象分析进一步的细化和更高的抽象
15、在软件的可行性分析中,可以从不同的角度对软件进行研究,其中是从软件的功能可行性角度考虑的是(B)。
A、经济可行性B、技术可行性C、操作可行性D、法律可行性
16、下述任务中,不属于软件工程需求分析阶段的是(D)。
A、分析软件系统的数据要求B、确定软件系统的功能需求
C、确定软件系统的性能要求D、确定软件系统的运行平台
17、在面向对象方法中,信息隐蔽是通过对象的(C)来实现的。
A、分类性B、继承性C、封装性D、共享性
18、面向对象方法中,抽取和整理用户需求并建立问题域精确模型的过程叫(D)。
A、面向对象测试B、面向对象实现
C、面向对象设计D、面向对象分析
19、在遵循软件工程原则开发软件过程中,计划阶段应该依次完成(B)。
A、软件计划、需求分析、系统定义B、系统定义、软件计划、需求分析
C、需求分析、概要设计、软件计划D、软件计划、需求分析、概要设计
20、某处代码错误被修正后,却引起以前可以正确运行的代码出错(C)最可能发现这个问题。
A、单元测试B、接受测试C、回归测试D、安装测试
21、从工程管理的角度来看,软件设计分两步完成(A)。
A、概要设计与详细设计B、数据设计与接口设计
C、软件结构设计与数据设计D、过程设计与数据设计
22、某系统重用了第三方组件(但无法获得其源代码),则应采用(D)对组件进行测试。
A、基本路径覆盖B、分支覆盖C、环路覆盖D、黑盒测试
23、在软件设计与编码过程中,采取(C)的做法将使软件更容易理解和维护。
A、良好的程序结构,有无文档均可B、使用标准或规定之外的语句
C、编写详细正确的文档,采用良好的程序结构D、尽量减少程序中的注释
24、为了降低软件维护的成本和难度,可采取的措施有(D)。
A、设计并实现没有错误的软件
B、限制可修改的范围
C、增加维护人员数量
D、在开发过程中就采取有利于维护的措施并加强维护管理
25、(A)是一种面向数据流的开发方法,其基本思想是软件功能的分解和抽象。
A、结构化开发方法B、Jackson系统开发方法
C、Booch方法D、UML(统一建模语言)
26、在人机界面的设计过程中应该需要考虑下列问题(1系统响应时间2用户帮助设施3出错信息处理4命令交互)。
27、等价分类法的关键是(C)。
A、确定等价类的边界条B、按照用例来确定等价类
C、划分等价类D、确定系统中相同和不同的部分
28、为了使网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对原有系统的数据类型进行修改,这样的修改属于(B)维护。
A、正确性B、适应性C、完善性D、预防性
29、测试用例是用于对软件某项功能或功能组合进行测试的文档化细则,测试用例应对(B)进行详细描述。
①测试目标和被测功能②测试环境和其他条件
③测试数据和测试步骤④测试记录和测试结果。
A、①③B、①②③C、①③④D、①②③④
30、(螺旋模型)适合于大型软件的开发,它吸收了软件工程“演化”的概念,使得开发人员和用户对每个周期出现的风险有所了解,从而做出相应的反应。
31、可行性分析要作的需求分析和设计应是(C)。
A、详细的B、全面的C、简化、压缩的D、彻底的
32、面向对象分析与面向对象设计的说法,不正确的是(D)。
A、面向对象分析侧重于理解问题
B、面向对象设计侧重于理解解决方案
C、面向对象分析描述软件要做什么
D、面向对象设计一般不关注技术和实现层而的细节
33、软件设计时需要遵循抽象、模块化、信息隐蔽和模块独立原则。
在划分软件系统模块时,应尽量做到(B)。
A、高内聚高耦合B、高内聚低耦合
C、低内聚高耦合D、低内聚低耦合
34、软件工程要求在每一个关键阶段结束前进行可维护性复审。
系统设计阶段复审时主要应针对(B)进行复审,评价软件的结构和过程。
A、指出可移植性问题以及可能影响软件维护的系统界面
B、容易修改、模块化和功能独立的目的
C、强调编码风格和内部说明文档
D、可测试性
35、软件的集成测试工作最好由(D)承担,以提高集成测试的效果。
A、该软件的设计人员B、该软件开发组的负责人
C、该软件的编程人员D、不属于该软件开发组的软件设计人员
36、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性、(C)。
A、好的计划B、不断的发布C、反馈和勇气D、持续集成
37、程序的三种基本控制结构是( B )。
A、过程,子程序,分程序B、顺序,条件,循环
C、递归,堆栈,队列D、调用,返回,转移
38、(C)是决定软件维护成败和质量好坏的关键。
A、修改程序B、建立目标程序C、分析和理解程序D、重新验证程序
39、数据库设计时的概念数据模型一般用(B )图表示。
A、PADB、E-RC、E-PD、HIPO
40、若有一个计算类型的程序,它的输入量只有一个,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:
-1.001,-1.0,1.0,1.001。
设计这组测试用例的方法是(C)。
A、逻辑覆盖B、等价类划分C、边界值分析D、错误推测
41、在结构化分析方法(SA)中,(A)与数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分。
A、模块图B、E-R图C、数据字典D、程序流程图
42、面向对象的分析方法主要是建立三类模型,即(D)。
A、系统模型、ER模型、应用模型B、对象模型、动态模型、应用模型
C、E-R模型、对象模型、功能模型D、对象模型、动态模型、功能模型
43、成功的测试是指运行测试用例后(B)。
A、未发现程序错误B、发现了程序错误
C、证明程序正确D、改正了程序错误
44、面向数据流的设计方法把(A)映身成软件结构。
A、数据流图B、系统结构图C、控制结构图D、变换流图
45、软件危机是指(软件开发和维护过程中遇到的一系列严重问题)。
46、检查软件产品是否符合需求定义的过程称为(A)。
A、确认测试B、集成测试C、验证测试D、验收测试
47、汽车有一个发动机,汽车和发动机之间的关系是(B)关系。
A、一般与具体B、整体与部分C、分类D、isa
48、详细设计的基本任务是确定每个模块的(A)设计
A、算法和使用的数据结构B、外部接口C、功能D、编程
49、软件产品的生产主要是脑力劳动,软件产品的成本主要体现在软件的(C)上。
A、复制B、开发方式C、开发和研制D、磨损和消耗
50、以下(D)不属于系统设计。
A、总体设计B、详细设计C、过程设计D、需求设计
51、需求规格说明书的作用不应该包括(D)。
A、软件设计的依据B、用户与开发人员对软件要做什么的共同理解
C、软件验收的依据D、软件可行性研究的依据
52、软件质量必须从需求分析开始,在(D)加以保证。
A、开发之前B、开发之后C、可行性研究过程D、整个开发过程
53、软件是(一系列按照特定顺序组织的计算机数据和指令的集合)。
54、SA方法的基本思想是(C)
A、自底向上逐步抽象B、自底向上逐步分解
C、自顶向下逐步分解D、自顶向下逐步抽象
55、软件工程是一门(指导计算机软件开发和维护的工程(交叉性))学科。
名词解释
1、模块独立性:
指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。
2、软件复用:
将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费。
3、模块耦合性:
块间联系,软件系统结构中各模块间相互联系紧密程度的一种度量。
4、模块内聚性:
一个模块内部各成分之间相关联程度的度量。
5、测试用例:
为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。
6、软件生存期模型:
描述软件开发过程中各种活动如何执行的模型。
7、瀑布模型:
将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作。
8、信息隐蔽原则:
将每个程序的成分隐蔽或封装在一个单一的设计模块中,定义每一个模块时尽可能少地显露其内部的处理。
9、动态模型:
用于描述系统的过程和行为。
10、软件维护:
在软件运行或维护阶段对软件产品所进行的修改。
11、CMM:
软件过程能力成熟度模型。
12、软件调试:
软件测试成功后,根据错误迹象确定错误的原因和准确位置,并加以改正。
13、E-RD:
描述数据对象间的关系,用来进行数据建模活动的记号。
14、DFD:
数据流图,描绘系统的逻辑模型。
15、数据字典:
描述数据流图的数据存储、数据加工(最底层加工)和数据流。
16、状态转换图:
通过描绘系统的状态及引起的系统状态转换事件,来表示是系统的行为。
17、SA:
结构化分析,是一种适用于大型数据处理系统的、面向数据流的需求分析方法。
18、UML:
统一建模语言。
填空题
1、软件能力成熟度模型(CMM)将软件能力自低到高依次划分为哪几级?
初始级、可重复级、定义级、管理级和优化级
2、软件工程的两大主要范型是什么?
传统的结构化范型和面向对象范型
3、软件需求分析必不可少的、关键参与者是哪些人?
需求分析员、开发人员、客户需求工程师
4、除数据流模型外,结构化分析建模还可使用什么模型?
状态转换模型、实体关系模型
5、数据字典是对哪四类元素的详细定义或描述?
数据流、数据流分量、数据存储、数据处理
6、在UML中,特殊/一般关系怎么表示?
整体/部分关系又怎么表示?
泛化、聚集
7、面向对象程序中实现重用的主要机制是什么?
继承、多态
8、在设计阶段,要充分体现软件工程的哪些基本原则?
模块化、抽象、信息隐蔽
9、结构化需求分析(SA)的关键模型为哪个?
其核心是什么?
结构化分析模型;数据字典
10、数据流图的4种基本元素是什么?
(开口矩形、矩形、箭头、圆角矩形)
数据存储、数据源点或终点、数据流、变换数据的处理
11、E-R模型是用来描述什么的数据建模技术?
数据库
12、瀑布模型是一种靠什么驱动的过程模型?
螺旋模型又是什么驱动?
文档驱动;风险驱动
13、软件生存周期可划分为哪三个大的阶段?
定义、开发、运行
14、统一过程模型是靠什么驱动的、以什么为中心的、迭代、增量过程模型?
风险驱动;基于用例技术的、以架构为中心的、迭代的、增量过程模型
15、软件需求分析回答的是什么问题?
软件设计又是要回答什么关键问题?
软件要做什么;怎么做
16、按照产生和使用的范围不同,软件文档主要可分为哪几种?
开发文档、管理文档和用户文档;可行性研究报告属于开发文档
简答题
1、软件工程的两大范型分别是什么?
它们有什么不同?
分别是传统的结构化范型和面向对象范型。
结构化范型要么面向行为要么面向数据,但没有既面向数据又面向行为的;而面向对象范型把数据和行为看成同等重要,即将对象视作一个融合了数据及在其上操作的行为的统一的软件组件。
面向对象相对于结构化技术,无论对象的内部细节如何变化,只要对象提供的方法即接口保持不变,则整个软件产品的其他部分就不会受到影响,不需要了解对象内部的变化。
2、如何画分层数据流图?
(1)画子系统的输入输出:
把整个系统视为一个大的加工,然后根据数据系统从哪些外部实体接收数据流,以及系统发送数据流到那些外部实体,就可以画出输入输出图。
这张图称为顶层图。
(2)画子系统的内部:
把顶层图的加工分解成若干个加工,并用数据流将这些加工连接起来,使得顶层图的输入数据经过若干加工处理后,变成顶层图的输出数据流。
这张图称为0层图。
3、面向对象程序设计有哪些优点?
(1)易维护采用面向对象思想设计的结构可读性高,由于继承的存在,即使改变需求,那么维护也只是在局部模块,所以维护起来是非常方便和较低成本的。
(2)质量高在设计时可重用现有的,在以前的项目领域中已被测试过的类使系统满足业务需求并具有较高的质量。
(3)效率高在软件开发时,根据设计的需要对现实世界的事物进行抽象,产生类。
使用这样的方法解决问题,接近于日常生活和自然的思考方式,势必提高软件开发的效率和质量。
(4)易扩展由于继承、封装、多态的特性,自然设计出高内聚、低耦合的系统结构,使得系统更灵活、更容易扩展,而且成本较低。
4、在软件测试中,应注意哪些原则?
(1)认真执行测试计划
(2)尽早和不断地进行软件测试/评审
(3)优选测试工具、技术和方法(4)精心设计测试用例
(5)交叉进行软件检测(6)重点测试群集现象
(7)全面检查并分析测试结果(8)妥善保管测试文档
5、良好的程序设计风格强调编程时应遵循哪些基本规范?
应从源程序文档化、数据说明、语句构造、输入输出和追求效率几个方面加以注意。
6、面向对象分析与面向对象设计的关系?
面向对象分析与面向对象设计的任务相同,面向对象分析的结果可以作为开始面向对象设计的模型,面向对象设计的结果可以作为蓝图,利用面向对象编程方法最终实现一个系统。
7、统一建模语言UML包括哪些视图及图?
视图:
用例视图、逻辑视图、交互视图、实施视图、部署视图
图:
用例图、类图、对象图、构件图、部署图、状态图、时序图、协作图、活动图
8、用户需求和系统需求各有什么特点?
用户需求是从用户角度来描述系统功能和非功能需求,以便让不具备专业技术方面知识的用户能看懂。
用户需求是描述系统的外部行为,用自然语言、图表和直观的图形来叙述。
系统需求是比用户需求更详细的需求描述,是系统实现的基本依据,是一个完全的、一致的系统描述,是软件工程人员系统设计的起点。
系统需求描述可能包括许多不同的模型,如对象模型和数据流模型。
9、简述面向对象设计的基本准则。
模块化、抽象、信息隐藏、弱耦合、强内聚、可重用
10、简述软件需求分析的任务及过程。
任务:
需求分析主要是理解客户需要什么、分析要求、评价可行性、协商合理的方案、无歧义地详细说明方案、确认规格说明、管理需求以至将这些需求转化为可行系统。
过程:
沟通、导出需求、精化需求、可行性研究、与客户和用户协商、编写需求规格说明、验证需求、管理需求。
11、软件设计分哪两个阶段?
它们的主要任务各是什么?
软件设计过程主要包括概要设计和详细设计。
概要设计主要是仔细地分析需求规格说明,研究开发产品的模块划分,形成具有预定功能的模块组成结构,表示出模块间的控制关系,并给出模块之间的接口。
详细设计为结构设计中的各个模块设计过程细节,确定模块所需的算法和数据结构等。
12、何谓软件结构图?
它包括哪些符号元素?
软件结构是软件系统的模块层次结构,反映了整个系统的功能实现。
软件结构以层次表示程序的系统结构,即一种控制的层次体系,并不表示软件的具体过程。
软件结构表示了软件元素之间的关系,如调用关系、包含关系、从属关系和嵌套关系等。
软件结构图的主要元素如下:
模块:
用带有名称的方框表示,名称应体现模块的功能。
控制关系:
用单向箭头或直线表示表示模块间的调用关系。
信息传递:
用带注释的短箭头表示模型调用过程中传递的信息。
循环调用和选择调用:
在上部模块底部加一个菱形符号,表示选择调用;在上部模块的下方加一个弧形箭头,表示循环调用。
13、何谓面向对象方法?
它有什么特点和优势?
面向对象方法是以认识论为基础,用对象来理解和分析问题空间,并设计和开发出由对象构成的软件系统的方法。
特点:
封装性、多态性、继承性,具有很强的类的概念,因此能很自然直观地模拟人类认识客观世界的方式,亦即模拟人类在认知进程中的由一般到特殊的演绎功能或由特殊到一般的归纳功能,类的概念既反映出对象的本质属性,又提供了实现对象共享机制的理论根据。
优点:
符合人们习惯的思维方式、稳定性好、可重用性好、可维护性好、容易开发大型的软件产品。
14、何谓编码风格?
良好的编码风格主要体现在哪些方面?
编码风格是指一个人编制程序时所表现出来的特点、习惯和逻辑思路等。
良好的编码风格体现在源程序文档化、数据说明、输入/输出风格及效率等几个方面。
源程序文档化:
包括选择标识符名称,对源程序进行适当注释,使源程序具有良好的视觉组织等。
数据说明:
在编写程序时,要注意数据说明的风格。
输入/输出风格:
输入/输出的方式和格式应当尽量做到对用户友好,尽可能方便用户的使用。
效率:
指处理机时间和存储空间的使用。
15、简述面向对象分析与设计的过程。
面向对象分析与设计是一个动态迭代的过程,首先通过用例模型抽取系统的功能,然后根据业务功能和领域概念得到系统所涉及的概念,进而得到类和对象,以及构建对象模型和类模型,最后基于系统的行为分析系统类或对象的交互行为,得到类或对象的行为和事件,并构建系统的交互模型。
应用题
1、请画出ATM机系统的状态图。
2、某“调整工资”处理模块接受一个“职称”的变量,根据职称的不同(助教、讲师、副教授、教授)作不同的处理,其中若是讲师和助教还必须输入工龄,讲师只有工龄超过5年,助教只有工龄超过2年才能调整工资。
请用等价类划分法设计测试用例。
划分等价类
输入条件
有效等价类
无效等价类
职称
①教授
②副教授
⑤四种职称之外任意一种
职称兼工龄
③讲师兼工龄大于5年
④助教兼工龄大于2年
⑥讲师兼工龄等于5年
⑦讲师兼工龄小于5年
⑧助教兼工龄等于2年
⑨助教兼工龄小于2年
设计测试用例
输入数据
覆盖范围
预期结果
教授
①
输入有效,进行调整工资处理
副教授
②
输入有效,进行调整工资处理
讲师1
③
输入有效,进行调整工资处理
讲师2
⑥
输入有效,不进行调整工资处理
讲师3
⑦
输入有效,不进行调整工资处理
助教1
④
输入有效,进行调整工资处理
助教2
⑧
输入有效,不进行调整工资处理
助教3
⑨
输入有效,不进行调整工资处理
工程师
⑤
输入无效
3、已知一个公司有多个部门,每个部门可生产多种产品,每种产品仅由一个部门生产。
公司员工分为经理和工人两类,工人可参与多个项目,每个项目需要多名工人参加;每个项目仅由一个经理负责,但一个经理可以负责多个项目,他(她)至少要管理一个部门。
各事物的结构如下:
①公司(公司名称,主要产品,公司地址),②部门(部门名称),③员工(姓名,地址,身份证号码),④项目(项目名称),⑤产品(产品名称)。
请画出表示该公司信息结构的对象模型。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 江西 理工大学 软件工程 复习题