最新软件工程试题和答案

合集下载

软件工程考试题及答案

软件工程考试题及答案

软件工程考试题及答案一、选择题1. 下列哪个不是软件工程的基本原则?A. 持续集成B. 形式化表示C. 高内聚低耦合D. 可重用性答案:B. 形式化表示2. 软件的可靠性是指什么?A. 软件的正确性B. 软件的可维护性C. 软件的效率D. 软件的稳定性答案:D. 软件的稳定性3. 下列哪个不是软件测试的目标?A. 发现软件中的错误和缺陷B. 验证软件是否满足用户需求C. 评估软件的质量D. 在短时间内完成软件开发答案:D. 在短时间内完成软件开发二、判断题1. 软件工程是一门工程学科,其目标是通过系统化的、规范化的方法对软件进行开发、运行和维护。

答案:正确2. “高内聚低耦合”是软件工程中的重要原则,指的是模块之间的独立性和模块之间的依赖程度。

答案:正确3. 软件需求分析是软件开发过程中的最后一步,最终确定软件系统的功能和性能。

答案:错误三、简答题1. 什么是软件工程?答:软件工程是一门工程学科,通过系统化的、规范化的方法对软件进行开发、运行和维护。

它涉及软件开发的各个阶段,包括需求分析、设计、编码、测试和维护等,并注重管理和团队合作,以提高软件质量、降低开发成本和加快开发进度。

2. 软件测试的目的是什么?答:软件测试的目的是发现软件中的错误和缺陷,验证软件是否满足用户需求,并评估软件的质量。

通过测试,可以提高软件的可靠性和稳定性,减少软件在使用过程中的风险。

3. 请简述软件开发生命周期中的各个阶段。

答:软件开发生命周期包括需求分析、设计、编码、测试和维护等阶段。

- 需求分析阶段:确定软件系统的功能、性能和约束条件,明确用户需求。

- 设计阶段:根据需求分析结果设计软件系统的结构和模块,确定软件的整体框架。

- 编码阶段:根据设计阶段的文档编写程序代码,实现软件系统的各个功能。

- 测试阶段:对软件进行各种测试,包括单元测试、集成测试和系统测试,以发现错误和缺陷。

- 维护阶段:根据用户反馈和需求变化,对软件进行修复和更新,确保其持续稳定运行。

《软件工程练习题及参考答案》

《软件工程练习题及参考答案》

《软件工程练习题及参考答案》一、单向选择题(四选一、每小题3分,共18分)1、面向对象(Object Oriented)方法是将现实世界的事物以对象的方式(B )到计算机世界的方法。

对应映射反映反射2、盒图也称为(D)或Chapin图。

这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。

流程图框图判定表N-S图3、面向数据的设计方法就是根据问题的数据结构定义一组映射,把问题的数据结构转换为问题解的(A)结构。

程序数据逻辑物理4、人机界面的风格大致经过了(B)代的演变。

三四五六5、以下不属于白盒测试技术的是(D)逻辑覆盖基本路径测试循环覆盖测试等价类划分6、为改正软件系统中潜藏的错误而进行的维护活动称为(A)。

纠错性维护适应性维护改善性维护预防性维护二、填空题(每空2分,共18分)1.文档—一种数据媒体和其上所记录的(数据)。

2.机器语言、汇编语言:依赖于机器,面向(机器)3.软件有效性,指软件系统的时间和(空间)效率。

4.软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成。

5.软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清“做什么”。

6.为了使用户需求逐步精细化、完全化、一致化,通常采用(需求建模技术)。

04027.一个软件的深度是指其控制的(层数)。

8.以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并最终可运行的代码的过程叫(编码)过程。

9.软件维护是软件生命周期的(最后)一个阶段。

三、判断题(每小题2分,共24分,错误打X、正确打√)1.缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之一。

(√)2.一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。

(X)3.在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第一手资料,并从中提取出有价值的需求。

(√)4.快速原型技术的适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计一些复杂的算法等场合。

全国2024年上半年高等教育自考试软件工程试题含解析

全国2024年上半年高等教育自考试软件工程试题含解析

全国2024年上半年高等教育自考试软件工程试题一、单项选择题1、结构化分析方法给出了一种能表达功能模型的工具是______。

A.HIPO图B.PAD图C.N-S图D.DFD图2、类的状态机一般有几种不同的运行状态,其中处于等待接收事件,接收处理完事件后又进入等待状态,通常采用______。

A.IdleB.InitializingC.CommandD.Active3、结构精细化设计过程中,为了提高模块的独立性,应遵循的原则是______。

A.低内聚高耦合B.低内聚低耦合C.高内聚低耦合D.高内聚高耦合4、软件工程在20世纪60年代末到80年代初获得的主要成果有______。

A.CASE产品B.面向对象语言C.瀑布模型D.软件生存周期过程5、“与所规约的系统执行之间的偏差”是指______。

A.错误B.失效C.故障D.误差6、集成化能力成熟度模型(CMMI)中有22个过程域,分为4类:项目管理类、工程类、过程管理类和______。

A.需求管理类B.支持类C.项目包类D.目标类7、RUP的迭代、增量式开发过程中,需要估算成本、进度,并能够减少次要的错误风险,至少需要完成______。

A.初始阶段B.精化阶段C.构造阶段D.移交阶段8、下列不属于软件危机的主要表现是______。

A.软件生产效率低B.软件开发没有工具支持C.软件生产质量低D.软件开发缺乏可遵循的原理、原则、方法体系以及有效的管理9、在销售管理系统需求文档中出现下列描述,属于设计约束范畴的是______。

A.系统应能产生月销售报表B.系统应在5分钟内计算出给定季度的总销售税C.对要构建的账户接收系统,必须为月财务状况系统提供更新信息D.任取1秒钟,一个特定应用所消耗的可用计算能力平均不超过50%10、需求规约的基本性质包括重要性和稳定性程度、一致的、完整的和______。

A.可修改的B.可复用的C.可测试的D.无歧义的11、软件测试中,白盒测试技术依据的是程序的______。

软件工程试卷及答案软件工程试题和答案

软件工程试卷及答案软件工程试题和答案

软件工程试卷及答案软件工程试题和答案软件工程试卷及答案第一部分:选择题(共40小题,每题2分,共80分)1. 软件工程的定义是:A. 软件设计和开发B. 软件项目管理C. 软件测试和维护D. 软件工程师的工作答案:A2. 下面哪个不是软件生命周期的阶段?A. 需求分析B. 设计C. 开发D. 运营答案:D3. 软件开发过程中的需求分析阶段的主要作用是:A. 编写代码B. 确定软件的功能和性能需求C. 进行软件测试D. 用户培训答案:B4. 下面哪项不是软件开发中常用的软件开发模型?A. 瀑布模型B. 敏捷开发模型C. 增量模型D. 平衡模型答案:D5. 软件项目管理中的关键路径是指:A. 工期最短的路径B. 工期最长的路径C. 工期变动最多的路径D. 工期变动最少的路径答案:B6. 软件测试的目标是:A. 发现尽可能多的缺陷B. 验证软件满足需求C. 确保软件质量D. 所有选项都是目标答案:D7. 下面哪项不是软件测试的类型?A. 单元测试B. 集成测试C. 系统测试D. 接口测试答案:D8. 软件维护的类型包括:A. 预防性维护B. 改正性维护C. 完善性维护D. 所有选项都是维护类型答案:D9. 下面哪个不是软件开发中常用的编程语言?A. JavaB. C++C. PythonD. HTML答案:D10. 软件配置管理包括以下哪些方面?A. 版本控制B. 缺陷管理C. 变更管理D. 所有选项都是配置管理的方面答案:D...第二部分:简答题(共4题,每题10分,共40分)1. 请简要介绍一下软件工程的基本原则。

答案:软件工程的基本原则包括:尽早发现和修复缺陷、适应需求变化、迭代开发、团队合作、持续改进。

这些原则旨在提高软件开发的效率和质量。

2. 什么是软件需求工程?请列举一些软件需求工程的主要活动。

答案:软件需求工程是确定和记录软件系统应当具备的功能、性能和接口要求等方面的活动。

软件需求工程的主要活动包括需求获取、需求分析、需求规格和需求验证等。

软件工程考试试题(含答案)

软件工程考试试题(含答案)

一、填空题(每空1分,共25分)1.软件生存周期一般可以划分为,问题定义、____________、____________、设计、编码、测试和____________。

2.基于软件的功能划分,软件可以划分成__________、__________、__________三种。

3.可行性研究,应从、技术可行性、运行可行性、和开放方案可行性等方面研究。

4.系统流程图是描绘的传统工具。

它的基本思想是用图形符号以描绘系统里面的每个部件。

5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、、和。

6.结构化分析方法是面向________________进行需求分析的方法。

结构化分析方法使用________________与________________来描述。

7.是自动地共享类、子类和对象中的方法和数据的机制。

8.软件详细设计工具可分为3类,即________________、________________和________________。

9.为了在软件开发过程中保证软件的质量,主要采取下述措施:________________、复查和管理复审、________________。

10.大型软件测试包括、、确认测试和四个步骤。

1、可行性研究需求分析运行与维护2、系统软件支撑软件应用软件3、经济可行性法律可行性4、物理系统黑盒子形式5、加工数据流数据存储文件6、数据流数据流图DFD 数据字典DD7、继承性8、图示工具、设计语言表格工具9、审查测试10、单元测试集成测试系统测试1.软件设计中划分模块的一个准则是()。

A、低内聚低耦合B、低内聚高耦合C、高内聚低耦合D、高内聚高耦合2.Jackson设计方法是由英国的M. Jackson提出的,它是一种面向()的软件设计方法。

A、对象B、数据流C、数据结构D、控制结构3.试判断下列叙述中,哪个(些)是正确的( )。

a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、aB、bC、cD、b和c4.()是用户和设计交换最频繁的方法。

《软件工程》试题及参考答案(第1套)

《软件工程》试题及参考答案(第1套)

《软件工程》试题及参考答案(第1套)《软件工程》试题及参考答案(第1套)一、单项选择题1. 软件工程的最终目标是:A. 提高软件开发效率B. 提高软件质量C. 提高软件维护效率D. 以上都是答案:D2. 下列哪项不属于软件需求分析的主要活动?A. 软件设计B. 需求获取和建模C. 需求验证和确认D. 需求管理答案:A3. 以下哪项不是构建阶段的主要活动?A. 编码B. 软件测试C. 软件集成D. 软件配置管理答案:D4. 下列哪个过程不属于软件项目管理过程?A. 需求管理B. 配置管理C. 软件测试D. 质量管理答案:C5. 下列哪个模型强调在系统开发的初期确定并冻结需求?A. 瀑布模型B. 快速原型模型C. V模型D. 增量模型答案:A二、多项选择题1. 软件过程模型的主要作用是:A. 规范软件开发的过程B. 定义软件开发的阶段C. 明确软件开发的任务分工D. 以上都是答案:D2. 软件生命周期是指:A. 软件的设计阶段B. 软件的测试阶段C. 软件的开发到维护的整个过程D. 软件的发布与用户反馈过程答案:C3. 软件测试的主要目标是:A. 寻找并修复软件中的错误B. 确保软件满足用户需求C. 提高软件的可靠性和质量D. 以上都是答案:D4. 下列哪个工具不属于软件配置管理工具?A. 版本控制工具B. 缺陷跟踪工具C. 自动化构建工具D. 可行性分析工具答案:D5. 下列哪个项目风险类型是与技术因素相关的?A. 市场竞争风险B. 技术风险C. 经济风险D. 法律风险答案:B三、简答题1. 请简要描述瀑布模型的开发流程。

瀑布模型的开发流程包括以下几个阶段:1) 需求分析阶段:收集用户需求,并进行详细的需求分析和建模。

2) 系统设计阶段:根据需求分析得到的系统需求,进行整体设计和详细设计。

3) 编码和单元测试阶段:将设计好的系统转化为可执行代码,并进行单元测试,验证代码的正确性。

4) 集成测试阶段:将各个模块进行集成,测试整个系统的功能和性能。

软件工程考试试题 含答案

软件工程考试试题 含答案

软件工程考试试题含答案软件工程考试试题含答案一. 选择题1. 下列不属于软件工程方法论的是:A. 瀑布模型B. 敏捷开发C. 融合开发D. 增量开发答案:C. 融合开发2. 哪个不是软件需求工程的阶段?A. 需求收集和分析B. 需求规格说明书编写C. 需求确认和验证D. 需求修复和更新答案:D. 需求修复和更新3. 软件开发生命周期中不包含以下哪个阶段?A. 需求分析B. 软件设计C. 软件测试D. 软件维护答案:C. 软件测试4. 下列哪个是软件开发项目管理的基本约束?A. 时间B. 人员C. 质量D. 成本答案:D. 成本5. 使用UML建模时,哪个图标不属于结构图?A. 类图B. 对象图C. 时序图D. 包图答案:C. 时序图二. 填空题1. 软件工程的目标是提高软件的质量和________。

答案:生产效率2. 软件需求可以分为________和________两类。

答案:功能需求,非功能需求3. 软件设计的核心目标是________。

答案:满足需求4. 软件测试的目的是发现________。

答案:缺陷和错误5. 软件维护分为________和________两个主要类别。

答案:正确性维护,适应性维护三. 简答题1. 请简要介绍敏捷开发方法。

答案:敏捷开发方法强调迭代与循序渐进的开发方式,注重团队合作和快速响应需求变化。

其核心原则包括迭代开发、自组织团队、人与沟通优先、持续集成和及时反馈等。

敏捷开发方法通过不断反馈和迭代,提高软件开发的灵活性和适应性。

2. 什么是软件需求工程?为什么软件需求工程是软件开发的关键环节?答案:软件需求工程是研究软件需求获取、分析、规格化和验证等过程的学科。

软件需求工程是软件开发的关键环节,因为它直接关系到软件最终能否满足用户的期望和需求。

缺乏有效的需求工程将导致软件质量下降、进度延误、成本增加等问题。

3. 请简述UML类图的作用和主要元素。

答案:UML类图用于展示软件系统中的类、对象及其之间的关系。

(完整版)软件工程习题+答案(可编辑修改word版)

(完整版)软件工程习题+答案(可编辑修改word版)

一、选择题1.软件开发瀑布模型中的软件定义时期各个阶段依次是:(B)A)可行性研究,问题定义,需求分析。

B)问题定义,可行性研究,需求分析。

C)可行性研究,需求分析,问题定义。

D)以上顺序都不对。

(软件开发时期:概要设计、详细设计、软件实现、软件测试)2.可行性研究主要从以下几个方面进行研究:(A)A)技术可行性,经济可行性,操作可行性。

B)技术可行性,经济可行性,系统可行性。

C)经济可行性,系统可行性,操作可行性。

D)经济可行性,系统可行性,时间可行性。

3.耦合是对软件不同模块之间互连程度的度量。

各种耦合按从强到弱排列如下:(C)A)内容耦合,控制耦合,数据耦合,公共环境耦合。

B)内容耦合,控制耦合,公共环境耦合,数据耦合。

C)内容耦合,公共环境耦合,控制耦合,数据耦合。

(内容耦合、公共耦合、外部耦合、控制耦合、特征耦合、数据耦合)D)控制耦合,内容耦合,数据耦合,公共环境耦合。

4.在详细设计阶段所使用到的设计工具是:(C )A)程序流程图,PAD 图,N-S 图,HIPO 图,判定表,判定树.B)数据流程图,Yourdon 图,程序流程图,PAD 图,N-S 图,HIPO 图。

C)判定表,判定树,PDL,程序流程图,PAD 图,N-S 图。

D)判定表,判定树,数据流程图,系统流程图,程序流程图,层次图。

详细设计阶段工具:判定表、判定树、数据流程图、系统流程图、程序流程图、PAD 图、N-S 图、PDL在软件详细设计阶段,常用的图形描述工具有程序流程图,盒图(NS 图)和问题分析图(PAD) .常用的语言描述工具为 PDL(程序设计语言) ,常用的表格描述工具有判定表和判定树.DFD 数据流图:总体设计阶段5.按照软件工程的原则,模块的作用域和模块的控制域之间的关系是:(A)A)模块的作用域应在模块的控制域之内。

B)模块的控制域应在模块的作用域之内。

C)模块的控制域与模块的作用域互相独立。

D)以上说法都不对。

(完整版)软件工程试卷及答案(多套精品试卷)

(完整版)软件工程试卷及答案(多套精品试卷)

软件工程试题及答案第一部分选择题一、单项选择题每小题1分,共20分。

(在每小题的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内)1.在下列工具与环境中()属于较早期的CASE。

A.基于信息工程CASE B.人工智能CASEC.结构的基于图形CASE D.集成的CASE环境2.Putnam成本估算模型是一个()模型。

A.静态单变量 B.动态单变量 C.静态多变量 D.动态多变量3.在McCall软件质量度量模型中,()属于面向软件产品修改。

A.可靠性 B.可重用性C.适应性 D.可移植性4.ISO的软件质量评价模型由3层组成,其中用于评价设计质量的准则是()A.SQIC B.SQMC C.SQRC D.SQDC5.软件复杂性度量的参数包括()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.FORTRAN语言B.Pascal语言 C.C语言D.PL/1语言12.程序的三种基本控制结构是()A.过程、子程序和分程序B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移13.在详细设计阶段,经常采用的工具有()A.PAD B.SA C.SC D.DFD14.详细设计的结果基本决定了最终程序的()A.代码的规模 B.运行速度 C.质量 D.可维护性15.需求分析中开发人员要从用户那里了解()A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模16.结构化程序设计主要强调的是()A.程序的规模 B.程序的效率C.程序设计语言的先进性D.程序易读性17.IDEF。

软件工程基础考试题目和答案

软件工程基础考试题目和答案

软件工程基础考试题目和答案一、选择题(每题5分,共25分)1. 软件工程的主要目标是什么?A. 提高软件开发效率B. 确保软件质量C. 降低软件开发成本D. 提高软件的可维护性答案:B2. 下列哪个阶段不属于软件开发生命周期?A. 需求分析B. 设计C. 测试D. 需求变更答案:D3. 下列哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 面向过程编程答案:A4. 下列哪个工具主要用于软件项目进度监控?A. Gantt图B. 思维导图C. 帕累托图D. 直方图答案:A5. 下列哪种方法主要用于风险管理?A. 风险识别B. 风险评估C. 风险应对D. 风险监控答案:A二、填空题(每题5分,共25分)1. 软件工程的核心思想是______,通过规范的开发过程和严格的质量控制,提高软件的质量和可靠性。

答案:工程化2. 软件需求分析的主要目的是______,明确软件的功能和性能要求。

答案:理解用户需求3. 结构化分析方法主要包括______、数据流图、实体关系图等。

答案:数据字典4. 软件测试的主要目的是______,发现并修复软件中的缺陷。

答案:保证软件质量5. 敏捷开发方法的核心价值观是______,强调快速响应变化和客户合作。

答案:个体和互动三、简答题(每题10分,共30分)1. 请简要描述软件开发生命周期的主要阶段及其作用。

答案:软件开发生命周期主要包括需求分析、设计、编码、测试和维护等阶段。

需求分析阶段用于理解用户需求,设计阶段用于制定软件架构和详细设计,编码阶段用于实现软件功能,测试阶段用于发现并修复软件缺陷,维护阶段用于提供软件支持和更新。

2. 请简要介绍敏捷开发方法的主要特点和实践原则。

答案:敏捷开发方法主要包括个体和互动、工作软件、客户合作、响应变化等价值观。

实践原则包括短迭代周期、持续反馈、自我组织和协作等。

敏捷开发方法强调快速响应变化,提高软件质量和开发效率。

《软件工程》题库及参考答案

《软件工程》题库及参考答案

《软件工程》练习测试题库一、单项选择题1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做()A.软件工程B.软件周期C.软件危机D.软件产生2.研究开发所需要的成本和资源是属于可行性研究中的()研究的一方面。

A.技术可行性B.经济可行性C.社会可行性D.法律可行性3.IDEF0图不反映出系统()A.系统做什么B.系统功能如何实现C.系统由谁来做D.系统实现的约束条件4.模块的内聚性最高的是()A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚5.在SD方法中全面指导模块划分的最重要的原则是()A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性6.软件详细设计主要采用的方法是()A.模块设计B.结构化设计C.PDL语言D.结构化程序设计7.下列关于JSP方法不正确的说法是()A.JSP方法主要用于规模不大的数据处理系统B.JSP方法不明确的划分软件概要设计和详细设计的两个阶段C.JSP方法适用于输入数据和输出数据之间有对应关系的问题求解D.JSP方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。

因此它只适用于详细设计阶段8.不适合作为科学工程计算的语言是()A. PascalB. CC. FortranD. Prolog9.黑盒测试在设计测试用例时,主要需要研究()A.需求规格说明与概要设计说明B.详细设计说明C.项目开发计划D.概要设计说明与详细设计说明10.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。

设计这组测试用例的方法是()A.条件覆盖法B.等价分类法C.边界值分析法D.错误推测法11.下列属于维护阶段的文档是()A.软件规格说明B.用户操作手册C.软件问题报告D.软件测试分析报告12.快速原型模型的主要特点之一是()A.开发完毕才见到产品B.及早提供全部完整的软件产品C.开发完毕后才见到工作软件D.及早提供工作软件13.因计算机硬件和软件环境的变化而做出的修改软件的过程称为()A.较正性维护B.适应性维护C.完善性维护D.预防性维护14.类库这种机制是()级别的信息共享。

软件工程试题及答案(较详细)

软件工程试题及答案(较详细)

软件工程试题及答案(较详细)软件工程试题及答案 (较详细)一、简答题1. 什么是软件工程?软件工程是一门综合应用计算机科学与工程学、管理学等知识的学科,它致力于开发和维护高质量的软件系统。

它包括需求分析、设计、编码、测试和维护等各个阶段,以确保软件项目能够按时交付、高效运行,并满足用户需求。

2. 请解释什么是软件生命周期?软件生命周期是指软件从构思、开发、使用到废弃的整个过程。

它包括需求分析、设计、编码、测试、部署和维护等多个阶段。

软件生命周期管理的目标是确保软件产品按时、按质量要求交付,并提供后续的支持与维护。

3. 请解释什么是需求工程?需求工程是软件工程中的一个重要阶段,它主要涉及对用户需求的调研、分析、规划和文档化。

通过需求工程,开发人员能够更好地理解用户需求,并将其转化为具体的软件需求规格说明书,为后续的设计和开发提供基础。

4. 什么是软件设计模式?软件设计模式是一套在软件设计过程中重复出现的解决方案。

它们被广泛接受,并被认为是开发高质量、可维护和可扩展软件的有效方法。

常见的软件设计模式包括单例模式、工厂模式、观察者模式等。

二、分析题1. 请说明面向对象和面向过程的编程范式的区别。

面向对象编程(OOP)和面向过程编程(POP)是两种不同的编程范式。

面向过程编程更侧重于任务的步骤和流程,它将问题分解为多个步骤,通过一系列函数或过程的调用来完成任务。

面向过程编程更加注重解决问题的步骤和执行过程。

面向对象编程更注重数据和对象的定义和封装,它将问题看作是一组对象的交互。

面向对象编程通过定义类、创建对象以及对象之间的协作来解决问题。

2. 什么是软件架构?软件架构是指软件系统的基本结构和组织方式。

它定义了软件系统中各个组件的职责、交互方式和部署方式。

常见的软件架构模式包括分层架构、客户端-服务器架构、微服务架构等。

3. 解释软件测试中的黑盒测试和白盒测试。

黑盒测试是一种测试方法,它基于对软件系统的功能需求进行测试,而不考虑内部的实现细节。

软件工程考试试题(含答案)

软件工程考试试题(含答案)

一、选择题:(每题1分,共20分)(将答案写在题号前的()中)( C )1. 软件是()。

A. 处理对象和处理规则的描述B. 程序C. 程序及其文档D. 计算机系统( B )2. 软件需求规格说明的内容不应包括()。

A. 主要功能B. 算法的详细描述C. 用户界面及运行环境D. 软件的性能( B )3. 程序的三种基本控制结构是()。

A. 过程、子程序和分程序B. 顺序、选择和重复C. 递归、迭代和回溯D. 调用、返回和转移( D) 4. 面向对象的分析方法主要是建立三类模型,即( )。

A) 系统模型、ER模型、应用模型B) 对象模型、动态模型、应用模型C) E-R模型、对象模型、功能模型D) 对象模型、动态模型、功能模型( C ) 5. 在E-R模型中,包含以下基本成分( )。

A) 数据、对象、实体B) 控制、了解、对象C) 实体、了解、属性D) 实体、属性、操作( A ) 6. 各种软件维护的类型中最重要的是( )。

A) 完善性维护B) 纠错性维护C) 适应性维护D) 预防性维护( B ) 7.软件测试的目标是()。

A. 证明软件是正确的B. 发现错误、降低错误带来的风险C. 排除软件中所有的错误D. 与软件调试相同( D )8.软件生命周期中所花费用最多的阶段是()A.详细设计 B.软件编码 C.软件测试 D.软件维护( C )9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是()A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法( D )10、详细设计的基本任务是确定每个模块的( )设计A.功能 B.调用关系 C.输入输出数据 D.算法( A )11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。

对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:()A.模块化的根据B.逐步求精的根据C.抽象的根据D.信息隐藏和局部化的根据( D )12.下面几种白箱测试技术,哪种是最强的覆盖准则()A.语句覆盖B.条件覆盖C.判定覆盖D.条件组合覆盖( A )13.面向数据流的设计方法把()映射成软件结构。

(2023版)软件工程试卷及答案(新版)

(2023版)软件工程试卷及答案(新版)

软件工程试卷及答案篇一:《软件工程》复习题及答案软件工程复习题第一部份(第 1~6 章)一、选择题:1.开辟软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)。

A.软件工程B.软件周期C.软件危机D.软件产生2.瀑布模型本质上是一种(A)模型。

A.线性顺序B.顺序迭代C.线性迭代D.早期产品3.瀑布模型存在的问题是(B)。

A.用户容易参预开辟 B.缺乏灵便性 C.用户与开辟者易沟通 D.适用可变需求4.螺旋模型是一种将瀑布模型和(A)结合起来的软件开辟模型。

A.增量模型 B.专家系统 C.喷泉模型 D.变换模型5.原型化方法是用户和设计者之间执行的一种交互构成,合用于( A) 系统。

A.需求不确定性高的 B.需求确定的 C.管理信息 D.实时 6.下列有关软件工程的标准,属于国际标准的是(C)A.GBB.ANSIC.ISOD.IEEE7.结构化方法是一种基于(D)的方法。

A.数据结构B.程序结构C.算法D.数据流 8.软件可行性研究实质上是要进行一次(A)需求分析、设计过程。

A、简化、压缩的 B、详细的 C、彻底的 D、深入的 9.可行性研究的目的是(D)A、分析开辟系统的必要性B、确定系统建设的方案C、分析系统风险D、确定是否值得开辟系统 10.设年利率为 i,现存入 p 元, n 年后可得钱数为(C)。

A、P×(1+i*n)B、P×(i+1)*nC、p×(1+i)nD、p×(i+n) 11.可行性研究是在(A)之前A、系统开辟B、测试C、试运行D、集成测试12.可行性研究需要的时间长短取决于系统的规模,普通来说,可行性研究的成本只是预期总成本的(C)。

A、1%B、20%C、8%D、50%13.我国正式颁布实施的(B)对计算机病毒的定义具有法律性、权威性。

A.《计算机软件保护条例》B.《中华人民共和国计算机信息系统安全保护条例》C.《中华人民共和国著作权法》D.《计算机病毒防治管理办法》 14.效率是一个性能要求,因此应当在以下哪个阶段规定? B A、可行性分析 B、需求分析 C、概要设计 D、详细设计 15.需求规格说明书的作用不包括(D)A、软件验收的依据B、用户与开辟人员对软件要做什么的共同理解C、软件可行性研究的依据D、软件设计的依据 16.数据字典是用来定义(D)中的各个成份的具体含义的。

软件工程题库(含答案)

软件工程题库(含答案)

软件工程题库(含答案)一、单选题(共60题,每题1分,共60分)1、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( )A、可用性B、正确性C、完整性D、可靠性正确答案:D2、软件特性中,软件从一个计算机系统或环境移植到另一个上去的难易程度指的是( ).A、可移植性B、可理解性C、可重用性D、可修改性正确答案:A3、在软件质量要素的评价准则中,操作该软件的难易程度指的是( )。

A、容错性B、检测性C、可操作性D、安全性正确答案:C4、下列属于维护阶段的文档是( )A、软件问题报告B、用户操作手册C、软件测试分析报告D、软件规格说明正确答案:B5、快速原型模型的主要特点之一是( )A、及早提供工作软件B、开发完毕才见到产品C、及早提供全部完整的软件产品D、开发完毕后才见到工作软件正确答案:C6、可维护性通常包括( )。

A、可用性和可理解性B、可修改性、数据独立性和数据一致性C、可理解性、可修改性和可测试性D、可测试性和稳定性正确答案:C7、软件的可修改性支持软件的( )。

A、可互操作性B、可维护性C、可追踪性D、有效性正确答案:B8、数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( )A、数据通信B、数据定义C、数据维护D、数据库设计正确答案:B9、软件特性中,多个软件元素相互通讯并协同完成任务的能力指的是( )。

A、可追踪性B、可理解性C、可互操作性D、可维护性正确答案:C10、可维护性的特性中相互促进的是( )A、效率和可移植性B、可理解性和可测试性C、效率和结构好D、效率和可修改性正确答案:B11、在软件质量特性中,( )是指在规定的一段时间和条件下,与软件维持其性能水平的能力有关的一组属性。

A、可靠性B、易使用性C、正确性D、准确性正确答案:A12、设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X 需要的工作量(时间)。

对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:( )A、信息隐藏和局部化的根据B、逐步求精的根据C、抽象的根据D、模块化的根据正确答案:D13、下列说法中,不正确的是( )。

软件工程考试试题及答案

软件工程考试试题及答案

软件工程考试试题及答案一、单选题1. 软件需求分析是软件工程的哪个阶段?a. 需求分析与定义b. 软件设计c. 软件测试d. 软件维护答案:a. 需求分析与定义2. 下列哪项不是软件工程的基本原则?a. 可复用性b. 高效性c. 可维护性d. 可理解性答案:b. 高效性3. 下列哪项不是软件质量保证的措施?a. 程序员的自我质量保证b. 审计c. 代码复用d. 测试答案:c. 代码复用4. 下列哪个是软件生命周期模型?a. 瀑布模型b. 程序开发模型c. 螺旋模型d. 增量模型答案:a. 瀑布模型5. 在软件工程中,什么是软件配置管理?a. 设计和开发软件的过程b. 管理软件的版本和更改c. 测试软件的过程d. 分配和调度任务的过程答案:b. 管理软件的版本和更改二、多选题1. 下列哪些是软件需求规格说明的内容?(多选)a. 需求的功能描述b. 系统性能要求c. 用户界面设计d. 软件的安装要求答案:a. 需求的功能描述、b. 系统性能要求、d. 软件的安装要求2. 软件测试的目的是什么?(多选)a. 发现软件中的错误b. 确保软件满足需求c. 评估软件的质量d. 提高软件的可维护性答案:a. 发现软件中的错误、b. 确保软件满足需求、c. 评估软件的质量3. 下列哪些是软件维护的类型?(多选)a. 纠错性维护b. 适应性维护c. 完善性维护d. 增量性维护答案:a. 纠错性维护、b. 适应性维护、c. 完善性维护、d. 增量性维护三、判断题1. 软件工程是一门工程学科,它包括对软件进行开发、测试、维护和管理等方面的知识。

(正确/错误)答案:正确2. 软件需求分析是软件开发的最后一步。

(正确/错误)答案:错误3. 软件测试的目的是为了证明软件是没有错误的。

(正确/错误)答案:错误四、简答题1. 简述软件生命周期模型中的瀑布模型。

答案:瀑布模型是软件生命周期模型中最早的模型之一。

它将软件开发过程分为需求分析、系统设计、详细设计、编码、测试和维护等阶段,并按照顺序执行。

软件工程测试题+参考答案

软件工程测试题+参考答案

软件工程测试题+参考答案一、单选题(共40题,每题1分,共40分)1、窃听是一种()攻击,攻击者()将自己的系统插入到发送站和接收站之间。

截获是一种()攻击,攻击者()将自己的系统插入到发送站和接受站之间。

A、被动,无须,主动,必须B、被动,必须,主动,无须C、主动,无须,被动,必须D、主动,必须,被动,无须正确答案:A2、如果一名攻击者截获了一个公钥,然后他将这个公钥替换为自己的公钥并发送给接收者,这种情况属于哪一种攻击?A、重放攻击B、Smurf 攻击C、中间人攻击D、字典攻击正确答案:C3、黑客攻击服务器以后,习惯建立隐藏用户,下列哪一个用户在DOS命令net user下是不会显示的。

A、fg#B、fg%C、fg_D、fg$正确答案:D4、下列哪一种方法在支持向量机中有应用A、拉格朗日乘子法B、二分法C、最小二乘法D、极大似然估计正确答案:A5、设顺序线性表的长度为30,分成5块,每块6个元素,如果采用分块查找,则其平均查找长度为A、6B、6.5C、11D、5正确答案:B6、对N个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为A、NB、N/2C、(N+1)/2D、[(1+N)*N ]/2正确答案:C7、信息安全中PDR模型的关键因素是()。

A、人B、客体C、技术D、模型正确答案:A8、某业务系统具有上传功能,页面上传的文件只能上传到UPLOAD目录,由于上传页面没有过滤特殊文件后缀,存在上传漏洞,而短时间厂家无法修改上传页面源码,现采取如下措施,哪种措施可以暂时防止上传漏洞危害又不影响业务系统正常功能。

A、禁止UPLOAD目录访问权限B、删除上传页面C、禁止UPLOAD目录执行脚本文件D、以上措施都不正确正确答案:C9、在各种作业调度算法中 , 若所有作业同时到达 , 则平均周转时间最短的算法是()。

A、多级反馈队列调度算法B、先来先服务调度算法C、高优先级优先调度算法D、短作业优先调度算法正确答案:D10、下面()不是数据字典的内容。

软件工程考试题及答案

软件工程考试题及答案

软件工程考试题及答案一、单项选择题(每题2分,共20分)1. 软件工程的主要目标是()。

A. 提高软件的生产率B. 提高软件的运行效率C. 降低软件的生产成本D. 提高软件的可维护性答案:A2. 软件工程的三要素包括()。

A. 方法、工具和过程B. 方法、工具和人员C. 方法、过程和人员D. 工具、过程和人员答案:C3. 软件需求分析阶段的主要任务是()。

A. 确定软件的功能需求B. 确定软件的非功能需求C. 确定软件的界面需求D. 确定软件的测试需求答案:A4. 软件设计阶段的主要任务是()。

A. 制定软件开发计划B. 确定软件的体系结构C. 编写软件详细设计文档D. 进行软件测试答案:B5. 软件测试的目的是()。

A. 证明软件是正确的B. 发现软件中的错误C. 证明软件是无错误的D. 证明软件是可维护的答案:B6. 软件维护不包括以下哪项活动()。

A. 改正性维护B. 适应性维护C. 完善性维护D. 软件设计答案:D7. 软件项目管理的主要任务不包括()。

A. 进度管理B. 质量管理C. 风险管理D. 软件编码答案:D8. 面向对象方法中,对象的基本特性不包括()。

A. 抽象B. 封装C. 继承D. 多态答案:D9. UML(统一建模语言)是一种()。

A. 程序设计语言B. 数据库查询语言C. 建模语言D. 脚本语言答案:C10. 在软件开发过程中,需求变更是不可避免的,以下哪项不是需求变更的原因()。

A. 客户的需求不明确B. 项目范围的扩大C. 技术实现的困难D. 软件已经完成答案:D二、多项选择题(每题3分,共15分)11. 软件工程的基本原理包括()。

A. 抽象B. 模块化C. 逐步求精D. 迭代开发答案:ABC12. 软件需求分析阶段的输出包括()。

A. 需求规格说明书B. 用户手册C. 系统架构图D. 测试计划答案:A13. 软件设计阶段的主要文档包括()。

A. 架构设计文档B. 详细设计文档C. 用户手册D. 测试计划答案:AB14. 软件测试的类型包括()。

软件工程习题含答案

软件工程习题含答案

软件工程习题含答案一、单选题(共56题,每题1分,共56分)1.会话侦听与劫持技术属于()技术A、密码分析还原B、协议漏洞渗透C、应用漏洞分析与渗透D、DOS攻击正确答案:B2.若一棵二叉树具有8个度为2的结点,5个度为1的结点,则度为0的结点个数是?A、不确定B、6C、11D、9正确答案:D3.A、B、C、D、E、F依次入栈,其出栈顺序为B、D、C、F、E、A,则该栈最小容量为A、6B、5C、4D、3正确答案:D4.进程由执行状态到阻塞状态的原因可能是()。

A、请求某种资源B、处于执行状态的进程的时间片结束C、释放某种资源正确答案:A5.下列哪一项不是激活函数A、batch normalizationB、reluC、tanhD、sigmoid正确答案:A6.网络安全法规定,网络运营者应当制定(),及时处置系统漏洞、计算机病毒、网络攻击、网络侵入等安全风险。

A、网络安全事件应急演练方案B、网络安全事件应急预案C、网络安全事件补救措施D、网络安全规章制度正确答案:B7.下列哪种算法更适合做时间序列建模A、CNNB、决策树C、LSTMD、贝叶斯算法正确答案:C8.下面()不是数据字典的内容。

A、外部实体B、程序C、数据结构D、处理逻辑正确答案:B9.通过网页上的钓鱼攻击来获取密码的方式,实质上是一种()。

A、旁路攻击B、社会工程学攻击C、暴力破解攻击D、密码分析学正确答案:B10.已知 10*12的二维数组 A ,以行序为主序进行存储,每个元素占1个存储单元,已知A[1][1]的存储地址为 420 ,则 A[5][5] 的存储地址为A、470B、471C、472D、473正确答案:C11.不属于进程关键要素的是________。

A、进程控制块B、数据和栈C、原语D、程序正确答案:C12.下列哪一项不是卷积神经网络的典型代表A、ALEXNETB、LSTMC、VGGD、RCNN正确答案:B13.关闭系统多余的服务有什么安全方面的好处?A、使黑客选择攻击的余地更小B、没有任何好处C、使系统进程信息简单,易于管理D、关闭多余的服务以节省系统资源正确答案:A14.为了简化管理,通常对访问者(),以避免访问控制表过于庞大。

软件工程考试题及答案

软件工程考试题及答案

软件工程考试题及答案一、选择题(每题2分,共20分)1. 软件工程中的需求分析阶段的主要任务是什么?A. 确定软件的功能需求B. 设计软件的架构C. 编写软件的详细设计文档D. 进行软件的编码实现答案:A2. 在软件开发过程中,哪个阶段是进行风险评估的?A. 需求分析B. 设计C. 编码D. 测试答案:B3. 软件测试中的黑盒测试通常是基于什么进行的?A. 程序源代码B. 程序的内部逻辑C. 程序的功能需求D. 程序的运行环境答案:C4. 敏捷开发方法论中,哪个活动是迭代的核心?A. 需求收集B. 编码实现C. 测试D. 回顾会议答案:B5. 在软件维护中,哪种类型的维护是最常见的?A. 纠错性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:A二、填空题(每空1分,共10分)6. 软件工程的生命周期包括需求分析、________、编码、测试和维护等阶段。

答案:设计7. 软件工程中的_______原则指的是高内聚低耦合。

答案:模块化8. 在软件开发中,_______ 是指软件在特定条件下使用时,能够达到预期功能、性能要求的能力。

答案:可靠性9. 软件项目管理中的_______ 是指在项目开发过程中,对项目进行监控和控制,确保项目按计划进行。

答案:监控10. 在软件测试中,_______ 是指测试用例设计得尽可能覆盖所有可能的执行路径。

答案:穷尽测试三、简答题(每题10分,共30分)11. 简述软件工程中的模块化设计原则及其优点。

答案:模块化设计原则是指将软件系统划分为多个模块,每个模块具有特定的功能,并且模块之间通过定义良好的接口进行交互。

其优点包括:- 易于管理:模块化使得软件更容易理解和维护。

- 可重用性:模块可以在不同的项目中重复使用。

- 并行开发:模块化允许多个团队并行开发不同的模块。

- 灵活性:模块化提高了软件的灵活性,便于扩展和修改。

12. 解释什么是软件的可维护性,并说明其重要性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、选择1、在软件开发的各种资源中,(B)是最重要的资源。

A开发工具B方法C硬件环境D人员2、软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。

A固有的B人为的C可消除的D不可降低的3、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A )系统。

A需求不确定的B需求确定的C管理信息D决策支持4、单元测试的测试用例主要根据( D )的结果来设计。

A需求分析B源程序C概要设计D详细设计5、(A )是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。

A软件过程B软件工具C软件生存周质量保证D软件工程6、(A )意味着一个操作在不同的类中可以有不同的实现方式。

A多态性B类的复用C封装7、软件测试计划开始于需求分析阶段,完成于(D )阶段。

A需求分析B软件设计C软件实现D软件测试8、在软件生存周期的瀑布模型中一般包括计划、(C )、设计、编码、测试、维护等阶段。

A可行性分析B需求采集C需求分析D问题定义9. 软件需求分析阶段的测试手段一般采用( C )。

A总结B阶段性报告C需求分析评审D不测试10. (C )是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。

A多态性B继承C封装D消息11. 软件测试是为了(B )而执行程序的过程。

A纠正错误B发现错误C避免错误D证明正确12. 在结构化分析方法中,(C )表达系统内部数据运动的图形化技术。

A数据字典B实体关系图C数据流图D状态转换图13. 软件工程的基本要素包括方法、工具和( A )。

A过程B软件系统C硬件环境D人员14. TURBO PASCAL是(A)软件。

A、系统软件B、人工智能C、事务软件D、应用软件15、选择结构的复杂性比顺序结构的复杂性要(B)。

A、小B、大C、相等D、无法比较16、模块内聚度越高,说明模块内各成分彼此结合的程度越(B)。

A、松散B、紧密C、无法判断D、相等17、软件维护是软件生命周期中的固有阶段,一般认为,各种不同的软件维护中以()维护所占的维护量最小(C)。

A、纠错性维护B、代码维护C、预防性维护D、文档维护18、在下述哪一种测试中,测试人员必须接触到源程序(C)。

Ⅰ功能测试Ⅱ结构测试A、均不需B、只有ⅠC、只有ⅡD、Ⅰ和Ⅱ19、软件设计阶段的输出主要是(D)。

A、程序B、模块C、伪代码D、设计规格说明书20、软件测试方法中,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试(D)。

A、结构合理性B、软件外部功能C、程序正确性D、程序内部逻辑21、下面哪几个阶段是软件的设计阶段(D)。

A、编码B、可行性研究C、测试D、维护E、需求分析22、数据字典是用来定义(D )中的各个成分的具体含义的。

A.流程图B.功能结构图C.系统结构图D.数据流图23、在面向对象设计中,(A )意味着在同一作用域内的若干个参数不同的函数可以使用相同的函数名字。

A.重载B.类的复用C.封装D.继承二,判断(正确则打√, 错误则打×)1、文档是软件产品的一部分,没有文档的软件就不称其为软件。

( R )2、在需求分析过程中,分析员要从用户那里解决的最重要的问题是给该软件提供哪些信息。

( R )3、需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。

( R )4、数据流图建立系统的功能模型,它由数据流、加工和数据存贮组成。

( W )5、好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。

( R )6、面向对象的分析是面向计算机系统建立软件系统的对象模型。

( W )7、不完善的系统定义往往是导致软件项目失败的主要原因。

( R )8、一个成功的项目唯一提交的就是运行程序。

( W )9、只有质量差的软件产品才需要维护。

( W )10、一个好的测试用例在于能发现至今未发现的错误。

( R )11、软件工作的考虑范围主要是程序设计和实现。

( W )12、在项目计划发生延迟的情况下,增加更多的程序员一定会加快进度。

( W )13、软件错误可能出现在开发过程的早期,越早修改越好。

( R )14, 在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低。

( W )15, 模型是对现实的简化,建模是为了更好地理解所开发的系统。

( R )16, 好的测试用例应能证明软件是正确的。

( W )17, 白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。

( W )三三三三三三,填空题1、在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是多对多关系。

2、动物与老虎之间是继承关系,森林和树木之间是组合关系。

3、衡量模块独立的两个标准是内聚和耦合。

4、结构化分析实质是就是一种建模活动,通常建立数据模型、功能模型、行为模型。

5、在面向对象设计过程中,先后要建立3个模型,它们分别是对象模型_、_动态模型_、_功能模型_6、组成数据流图的四种成分是(源点或终点)、(数据流)、(处理)、(数据存储)7、程序的逻辑结构分为顺序结构、分支结构、和循环结构等三大类8、面向对象的方法有四个要点:对象、类、继承、通信9、将正确答案的编号填入题目空白处:在白盒测试用例设计中,有语句覆盖、条件覆盖、判定覆盖、路径覆盖等,其中,__2__是最强的覆盖准则。

为了对下图所示的程序进行覆盖测试,必须适当地选取测试数据。

若X、Y是两个变量,可供选择的数据组共有Ⅰ、Ⅱ、Ⅲ、Ⅳ四组(如表中给出),则实现语句覆盖至少应采用的测试数据组是____1__;实现条件覆盖至少应采用的测试数据组是___5___;实现路径覆盖至少应采用的测试数据组是____5__或____8__。

[供选择的答案]:A:①语句覆盖②条件覆盖③判定覆盖④路径覆盖B—E:①Ⅰ和Ⅱ组②Ⅱ和Ⅲ组③Ⅲ和Ⅳ组④Ⅰ和Ⅳ组⑤Ⅰ、Ⅱ和Ⅲ组⑥Ⅱ、Ⅲ和Ⅳ组⑦Ⅰ、Ⅲ和Ⅳ⑧Ⅰ、Ⅱ和Ⅳ组10、快速原型应该具备的基本特性是:___快速___、___容易修改____四,问答题1、什么是需求分析?需求分析阶段的基本任务是什么?答:需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。

需求分析阶段的基本任务是:要准确的定义新系统的目标,为了满足用户需要,回答系统必须“做什么”的问题。

2、为什么说面向对象方法学比传统方法学在稳定性方面要好?答:传统的软件开发以算法为核心,开发过程基于功能分析和功能分解.用传统方法所建立起来的软件系统的结构紧密依赖于系统所要完成的功能,当功能需求发生变化时将引起软件结构的整体修改.事实上,用户需求变化大部分是针对功能的,因此这样的软件系统是不稳定的。

面向对象方法基于构造问题领域的对象模型,以对象为中心构造软件系统。

它的基本作法是用对象模拟问题领域中的实体,以对象间的联系刻画实体间的联系。

当对系统的功能需求变化时并不会引起软件结构的整体变化,仅仅只需要作一些局部性的修改。

总之,由于现实世界中的实体是相对稳定的,因此,对象为中心构造的软件系统也是比较稳定的。

为什么说面向对象方法学比传统方法学在可重用性方面要好?答:传统的软件重用技术是利用标准函数库来构造新的软件系统,但是标准函数少必要的“柔性”,不能适应不同应用场合的不同需求,并不是理想的可重用的软件成分。

在面向对象方法所使用的对象中,数据和操作正是作为平等伙伴出现的,因此,对象具有很强的自合性。

此外,对象所固有的封装性和信息,隐藏机理,使得对象内部实现与外界隔离,具有较强的独立性。

由此可见,对象是比较理想的模块和可重用的软件成分。

3、你认为一个好的软件开发人员应具备哪些基本素质?答:1.最重要的,学习和总结的能力2.设计能力3.软件工程能力4、为什么软件需要维护?简述软件维护的过程。

答:1.软件维护就是要针对用户使用软件产品过程提出的问题而对软件产品进行相应的修改或演化,从而修正错误,改善性能或其它特征,以及使软件适应变化的环境。

2.软件维护的过程:提出维护要求,分析维护要求,提出维护方案,审批维护方案,确定维护计划,修改软件设计,修改程序,测试程序,复查验收。

5、传统"瀑布模型"的主要缺陷是什么?试说明造成缺陷的原因。

答:“瀑布模型是文档驱动的”。

在项目的早期,用户常常很难清楚地给出所有需求,瀑布模型却要求如此。

由于瀑布模型的特点,早期的错误直到开发晚期才能被发现,开发的风险较大。

6、某学校需要开发一个学生成绩管理系统,教务人员可以通过该系统维护学生信息、课程信息和成绩信息,学生可以随时查询自己的成绩单,该系统的实体关系图如下所示:请问图中是否应该增加"教务人员"?试说明理由。

答:不应该增加"教务人员",因为教务人员只是该系统的一个使用者,系统不处理其属性信息。

7、下面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。

int GetMax(int n, int datalist[ ]){int k=0;for ( int j=1; j<n; j++ )if ( datalist[j] > datalist[k] ) k=j;return k;}(1)画出该程序的控制流图,并计算其复杂度。

(2)列出独立路径(3)为各测试路径设计测试用例。

答:1.控制流图如下,McCabe环路复杂性为3。

2. 测试路径:Path1:①→③Path2:①→②→④→⑥→…Path3:①→②→⑤→⑥→…3. 测试用例:Path1:取n=1,datalist[0] = 1,预期结果:k=0Path2:取n=2,datalist[0] = 1,datalist[1] = 0,预期结果:k=0Path3:取n=2,datalist[0] = 0,datalist[1] = 1,预期结果:k=18, 以下是销售管理所需要的信息:生产厂家编号、厂家名称、联系电话、联系人、联系地址、产品编号、产品名称、产品说明、销售商场名称、销售商场编号、商场联系电话、商场联系人、商场联系地址分析这些信息,把它们设计成几个表,并将这些表之间建立起关系,要求反映出:一个工厂生产多种产品,一个商店经营多种产品E-R图数据流图:9, 写出求最小公倍数的程序(或框图),画出其控制流图,计算其复杂度,列出独立路径,为各独立路径设计测试用例。

#include "stdio.h"void main(){int a,b,m,n,c,t;printf("请输入两个整数:");scanf("%d%d",&a,&b);m=a;n=b;if(a<b){t=a;a=b;b=t;}c=a%b;while(c!=0){a=b;b=c;c=a%b;}printf("最小公倍数为%d",m*n/b);}控制流程图10,写出求最大公约数的程序(或框图),画出其控制流图,计算其复杂度,列出独立路径,为各独立路径设计测试用例。

相关文档
最新文档