软件工程考试试题与答案
软件工程考试试题及参考答案

软件工程考试试题第一部分选择题一、单项选择题每小题1分,共20分。
(在每小题的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内)1.在下列工具与环境中()属于较早期的CASE。
A.基于信息工程CASEB.人工智能CASEC.结构的基于图形CASED.集成的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。
软件工程试题及答案

1. 软件生命期各阶段的任务是什么?答:软件生命期分为7个阶段:1、问题定义:要解决的问题是什么2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性3、需求分析:系统必须做什么4、总体设计:系统如何实现,包括系统设计和结构设计5、详细设计:具体实现设计的系统6、实现:编码和测试7、运行维护:保证软件正常运行。
2、软件重用的效益是什么?答:1、软件重用可以显著地改善软件的质量和可靠性。
2、软件重用可以极大地提高软件开发的效率。
3、节省软件开发的成本,避免不必要的重复劳动和人力、财力的浪费.3、自顶而下渐增测试与自底而上渐增测试各有何优、缺点?答:①自顶而下渐增测试优点:不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且能够尽早发现上层模块的接口错误。
缺点:需要存根程序,底层错误发现较晚.②自底而上渐增测试优点与缺点和自顶而下渐增测试相反.4 、提高可维护性的方法有哪些?答:在软件工程的每一阶段都应该努力提高系统的可维护性,在每个阶段结束前的审查和复审中,应着重对可维护性进行复审。
在需求分析阶段的复审中,应对将来要扩充和修改的部分加以注明.在讨论软件可移植性问题时,要考虑可能要影响软件维护的系统界面。
在软件设计的复审中,因从便于修改、模块化和功能独立的目标出发,评价软件的结构和过程,还应对将来可能修改的部分预先做准备。
在软件代码复审中,应强调编码风格和内部说明这两个影响可维护性的因素。
在软件系统交付使用前的每一测试步骤中都应给出需要进行预防性维护部分的提示。
在完成每项维护工作后,都应对软件维护本身进行仔细认真的复审.为了从根本上提高软件系统的可维护性,人们正试图通过直接维护软件规格说明来维护软件,同时也在大力发展软件重用技术。
简述软件测试要经过哪几个步骤,每个步骤与什么文档有关.【解答】测试过程按4 个步骤进行,即单元测试(模块测试)、集成测试(子系统测试和系统测试)、确认测试(验收测试)和平行运行。
软件工程试卷与参考题答案

试卷(一)一、单项选择题1、在结构化设计(SD)方法中全面指导模块划分的最重要的原则是( )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、PascalB、CC、FortranD、 Prolog10、研究开发所需要的成本和资源是属于可行性研究中的( )研究的一方面。
A. 技术可行性B. 经济可行性C. 社会可行性D. 法律可行性11、中级结构性成本模型COCOMO是一个( )A、静态单变量模型B、动态单变量模型C、静态多变量模型D、动态多变量模型12、PAD图为()提供了有力的工具。
A、系统分析B、软件的自动化生成C、自动分析数据D、测试软件13、下列关于JSP方法不正确的说法是( )A、JSP方法主要用于规模不大的数据处理系统B、JSP方法不明确的划分软件概要设计和详细设计的两个阶段C、JSP方法适用于输入数据和输出数据之间有对应关系的问题求解D、JSP方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。
因此它只适用于详细设计阶段14、在详细设计阶段,经常采用的工具有()A、PADB、SAC、SCD、DFD15、确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于()A、集成测试B、恢复测试C、验收测试D、单元测试16、盒图(N-S图)为()提供了有力的工具。
软件工程试题及答案

软件工程一、填空题(每题2分,共20分)1、系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的( )情况。
2、成本效益分析的目的是从( )角度评价开发一个项目是否可行。
3、自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和( ) 。
4、在JSP方法中解决结构冲突的具体办法是( )。
5、详细设计的任务是确定每个模块的内部特性,即模块的算法、( )。
6、所有软件维护申请报告要按规定方式提出,该报告也称( )报告。
7、独立路径是指包括一组以前没有处理的语句或条件的一条路径。
从程序图来看,一条独立路径是至少包含有一条( )的边的路径。
8、设计任何一个人机界面,一般必须考虑()四个方面。
9、在软件测试中,已知产品内部工作过程,通过测试检验产品内部动作是否按照产品规格说明的规定正常进行的方法称为()测试法。
10、()是对软件结构中模快间关联程度的一种度量。
三、判断题(每题2分,共20分)1. 缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之一。
()2. 一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。
()3. 在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第一手资料,并从中提取出有价值的需求。
()4. 快速原型技术的适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计一些复杂的算法等场合。
()5. 流程图也称为程序框图是最常用的一种表示法。
6. 面向数据设计方法一般都包括下列任务:确定数据结构特征;用顺序、选择和重复三种基本形式表示数据等步骤。
()7. 理想的人机界面应针对具有典型个性的特定的一类用户设计。
()8. 数据输入的一般准则中包括尽量增加用户输入的动作。
()9. 用穷举测试是较现实的测试方法。
()10、在软件维护过程中改善性维护是为适应环境的变化而修改软件的活动。
软件工程考试题及答案

软件工程考试题及答案一、选择题1. 下列哪个不是软件工程的基本原则?A. 持续集成B. 形式化表示C. 高内聚低耦合D. 可重用性答案:B. 形式化表示2. 软件的可靠性是指什么?A. 软件的正确性B. 软件的可维护性C. 软件的效率D. 软件的稳定性答案:D. 软件的稳定性3. 下列哪个不是软件测试的目标?A. 发现软件中的错误和缺陷B. 验证软件是否满足用户需求C. 评估软件的质量D. 在短时间内完成软件开发答案:D. 在短时间内完成软件开发二、判断题1. 软件工程是一门工程学科,其目标是通过系统化的、规范化的方法对软件进行开发、运行和维护。
答案:正确2. “高内聚低耦合”是软件工程中的重要原则,指的是模块之间的独立性和模块之间的依赖程度。
答案:正确3. 软件需求分析是软件开发过程中的最后一步,最终确定软件系统的功能和性能。
答案:错误三、简答题1. 什么是软件工程?答:软件工程是一门工程学科,通过系统化的、规范化的方法对软件进行开发、运行和维护。
它涉及软件开发的各个阶段,包括需求分析、设计、编码、测试和维护等,并注重管理和团队合作,以提高软件质量、降低开发成本和加快开发进度。
2. 软件测试的目的是什么?答:软件测试的目的是发现软件中的错误和缺陷,验证软件是否满足用户需求,并评估软件的质量。
通过测试,可以提高软件的可靠性和稳定性,减少软件在使用过程中的风险。
3. 请简述软件开发生命周期中的各个阶段。
答:软件开发生命周期包括需求分析、设计、编码、测试和维护等阶段。
- 需求分析阶段:确定软件系统的功能、性能和约束条件,明确用户需求。
- 设计阶段:根据需求分析结果设计软件系统的结构和模块,确定软件的整体框架。
- 编码阶段:根据设计阶段的文档编写程序代码,实现软件系统的各个功能。
- 测试阶段:对软件进行各种测试,包括单元测试、集成测试和系统测试,以发现错误和缺陷。
- 维护阶段:根据用户反馈和需求变化,对软件进行修复和更新,确保其持续稳定运行。
软件工程试题及答案(较详细)

一.判断题:1.如果决定将软件全部包给第三方公司开发。
(×)2.有了对系统的目标有了大致的了解,就可以开始开发项目,以后的在开发中继续了解。
(×)3.对于一个成功的软件项目,可执行程序是唯一交付的东西。
(×)4.直到程序运行,才评估软件系统的质量。
(×)5.如果未能按时完成任务,我们可以通过增加程序员来加快完成任务.(×)6.虽然软件需求不断变更,但因软件比硬件有弹性,所以我们经常可以变更它.(×)7.软件工程将导致我们产生大量的无用文档,降低工作效率。
(×)8.在面向对象建模中,主题划分提供了在更高一层上描述。
(主题划分是指UML中将一组关联比较强的类的集合。
则上百个类可划分为几个主题)(√)9.面向对象的开发,对象分解取代功能分解. (√)10.软件中80%的错误存在20%的模块中。
(√)11.结构化分析方法在建立系统模型时,使用一般――特殊结构(实际上没有这种关系)来处理信息。
(×)12.开发软件就是编程。
(×)13.需求规格说明书说明了(√)14.结构化方法,建立系统模型时使用一般连接组织信息. (×)15.敏捷过程模型选用小而高激励的团队使用而不适用于大团队。
(√)二.简答题1.软件工程是层次化的,其四个层次是?答:方法,工具,过程,质量保证软件工程是一种层次化的技术(如图2-1所示)。
任何工程方法(包括软件工程)必须以有组织的质量保证为基础。
全面的质量管理和类似的理念刺激了不断的过程改进,正是这种改进导致了更加成熟的软件工程方法的不断出现。
支持软件工程的根基就在于对质量的关注。
软件工程的基层是过程层。
软件工程过程是将技术层结合在一起的凝聚力,使得计算机软件能够被合理地和及时地开发出来.过程定义了一组关键过程区域的框架(KPAs)[PAY93],这对于软件工程技术的有效应用是必须的。
关键过程区域构成了软件项目的管理控制的基础,并且确立了上下各区域之间的关系,其中规定了技术方法的采用、工程产品(模型、文档、数据、报告、表格等)的产生、里程碑的建立、质量的保证及变化的适当管理。
软件工程试卷(附答案)

一、单项选择题(每题2分,共40分)1。
软件生存周期模型有多钟,下列选项中,(C)不是软件生存周期模型。
A.螺旋模型B.增量模型C。
功能模型D。
瀑布模型2.以下说法错误的是(C)。
A.增量模型是在瀑布模型的基础上加以修改而形成的B。
增量模型推迟某些阶段或所有阶段中的细节,从而较早地产生工作软件C。
瀑布模型和增量模型都属于整体开发模型D。
瀑布模型规定在开始下一个阶段的工作之前,必须完成前一阶段的所有细节3.可行性分析中,系统流程图用于描述(A)。
A。
当前运行系统B。
当前逻辑模型C。
目标系统D。
新系统4.研究软硬件资源的有效性是进行(A)研究的一方面.A。
技术可行性B.经济可行性C。
社会可行性D.操作可行性5、数据字典中,一般不包括下列选项中的(D)条目.A。
数据流B.数据存储C。
加工D。
源点与终点6、SA方法的分析步骤是首先调查了解当前系统的工作流程,然后(A)。
A。
获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型B.获得当前系统的物理模型,抽象出目标系统的逻辑模型,建立目标系统的物理模型C。
获得当前系统的逻辑模型,抽象出目标系统的物理模型,建立目标系统的逻辑模型D.获得当前系统的逻辑模型,抽象出目标系统的物理模型,建立目标系统的物理模型7、通过(B)可以完成数据流图的细化.A。
结构分析B。
功能分解C.数据分析D。
系统分解8、对软件进行分解,是为了(C)。
A。
降低模块的复杂程度B.降低模块间接口的复杂程度C.降低模块的复杂程度,并降低模块间接口的复杂程度D。
降低模块的复杂程度,并提高模块间接口的复杂程度9、为了提高模块的独立性,模块内部最好是(C)。
A。
逻辑内聚B.时间内聚C.功能内聚D。
通信内聚10、在软件结构设计完成后,对于下列说法,正确的是(C).A。
非单一功能模块的扇入数大比较好,说明本模块重用率高B.单一功能的模块扇入高时应重新分解,以消除控制耦合的情况C.一个模块的扇出太多,说明该模块过分复杂,缺少中间层D。
软件工程学试题及答案

软件工程学试题及答案一、单项选择题(每题2分,共10分)1. 软件工程的目的是()。
A. 提高软件的生产率B. 提高软件的运行效率C. 降低软件的生产成本D. 提高软件的可维护性答案:A2. 下列哪项不是软件需求分析的任务?()。
A. 确定软件的功能需求B. 确定软件的性能需求C. 确定软件的界面需求D. 确定软件的测试需求答案:D3. 软件生命周期中,()阶段是确定软件需求的阶段。
A. 需求分析B. 系统设计C. 编码D. 测试答案:A4. 软件测试的目的是()。
A. 证明软件是正确的B. 证明软件存在错误C. 发现软件中的错误D. 证明软件不存在错误答案:C5. 软件危机主要表现在()。
A. 软件成本B. 软件质量C. 软件进度D. 所有选项答案:D二、多项选择题(每题3分,共15分)1. 软件工程的基本原理包括()。
A. 用分阶段的生命周期计划严格管理B. 强调开发过程的迭代性质C. 采用合适的编程规范D. 强调软件工具的使用答案:ABD2. 软件需求分析的常用方法包括()。
A. 数据流图B. 用例图C. 状态转换图D. 流程图答案:ABC3. 软件测试的类型包括()。
A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:ABCD4. 软件维护的类型包括()。
A. 校正性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:ABCD5. 软件工程中常用的设计模式包括()。
A. 单例模式B. 工厂模式C. 观察者模式D. 策略模式答案:ABCD三、简答题(每题5分,共20分)1. 简述软件工程中的模块化设计原则。
答案:模块化设计原则要求将系统分解成若干个模块,每个模块具有高内聚、低耦合的特点,以便于系统的开发、测试、维护和理解。
2. 描述软件需求分析的重要性。
答案:软件需求分析是软件开发过程中的关键步骤,它确保了开发团队对用户需求有清晰的理解,有助于避免开发出不符合用户需求的软件,减少返工和成本。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程考试试题与答案
软件工程是一个综合性较强的学科,涉及到软件开发的各个方面。
为了帮助考生更好地备考软件工程考试,下面为大家整理了一些常见的软件工程考试试题与答案。
一、选择题
1. 软件工程是指()。
A. 设计、开发和维护软件的工程学科
B. 使用计算机辅助设计软件的学科
C. 算法和数据结构的学科
D. 编程语言和工具的学科
答案:A
2. 软件生命周期包括以下几个阶段:()。
A. 需求分析、系统设计、编码和测试
B. 可行性研究、需求分析、系统设计、编码、测试和维护
C. 需求分析、系统设计、编码、测试和维护
D. 可行性研究、编码和测试
答案:B
3. 软件需求分析的目的是()。
A. 确定软件系统的功能和性能要求
B. 设计软件系统的架构
C. 编写软件源代码
D. 测试软件系统的正确性
答案:A
4. 软件测试的目的是()。
A. 检查软件系统是否满足需求
B. 修复软件系统中的错误
C. 优化软件系统的性能
D. 审查软件系统的代码质量
答案:A
5. 软件工程的核心原则是()。
A. 按计划进行工作
B. 管理好项目进度
C. 不断改进开发过程
D. 保证代码质量
答案:C
二、简答题
1. 请简要说明软件需求分析的过程。
答:软件需求分析的过程包括以下几个步骤:需求获取、需求分析、需求规格说明、需求验证。
需求获取阶段主要是通过与用户沟通、文
档分析等方式了解用户的需求。
需求分析阶段是将获取到的需求进行
分析和整理,确定软件系统的功能和性能需求。
需求规格说明阶段是
编写详细的需求规格文档,明确系统功能、非功能性需求、界面设计
等内容。
需求验证阶段是通过测试等方式验证需求规格是否满足用户
需求。
2. 请简要介绍软件设计的常见方法。
答:软件设计的常见方法包括结构化设计、面向对象设计和面向服
务的设计。
结构化设计是按照自顶向下的步骤将系统划分为模块,并
确定模块之间的接口和数据流动。
面向对象设计是通过定义对象及其
相互关系来描述软件系统。
面向服务的设计是将软件系统划分为服务,每个服务提供一组特定的功能,并通过服务间的通信实现系统功能。
三、综合题
某软件公司计划开发一个在线购物平台,请根据以下需求分析,完
成该项目的软件设计。
需求分析:
1. 用户可以浏览商品信息、加入购物车和提交订单;
2. 用户可以使用账号登录、注册新账号,并进行密码找回;
3. 管理员可以管理商品信息、用户信息和订单信息;
4. 系统需要提供对商品的分类、搜索和排序功能;
5. 用户在提交订单后需要收到订单确认短信。
请按照结构化设计的方法,提供相应的系统架构和模块划分,并描
述模块之间的接口和数据流动。
答:根据以上需求,系统可以划分为以下几个模块:用户模块、商
品模块、购物车模块、订单模块、管理员模块和短信模块。
用户模块
负责处理用户登录、注册和密码找回的操作,与用户进行交互并将数
据传递给其他模块。
商品模块负责管理商品信息,包括分类、搜索和
排序等功能。
购物车模块负责处理用户加入购物车的操作,将商品信
息传递给订单模块。
订单模块负责生成订单、处理订单支付和发送订
单确认短信。
管理员模块负责管理商品信息、用户信息和订单信息。
模块之间的接口和数据流动如下:
1. 用户模块与商品模块的接口:用户可以浏览商品信息,通过用户
模块的搜索功能获取相应的商品信息,并将结果传递给用户进行展示。
2. 用户模块与购物车模块的接口:用户可以将商品加入购物车,用
户模块将用户选择的商品信息传递给购物车模块,购物车模块将商品
信息保存在购物车中。
3. 用户模块与订单模块的接口:用户提交订单后,用户模块将订单
信息传递给订单模块,订单模块根据订单信息生成订单,并发送订单
确认短信给用户。
4. 管理员模块与商品模块的接口:管理员可以修改和管理商品信息,管理员模块将修改的商品信息传递给商品模块进行更新。
5. 管理员模块与用户模块的接口:管理员可以管理用户信息,管理
员模块将用户管理操作传递给用户模块进行处理。
通过以上的软件设计,可以满足所提出的需求,并提供一个功能完
善的在线购物平台。
请注意,以上为简要的答案示例,实际的软件设计还需要考虑更多
细节和具体需求。