国家软件工程考试试题经典试题集合
- 格式:doc
- 大小:44.00 KB
- 文档页数:7
软件工程考试题及答案一、单项选择题(每题2分,共20分)1. 软件工程的三要素不包括以下哪一项?A. 工具B. 方法C. 过程D. 环境答案:D2. 软件需求分析阶段的主要任务是确定软件的()。
A. 功能需求B. 性能需求C. 界面需求D. 所有选项答案:D3. 软件测试的目的是()。
A. 发现软件中的错误B. 证明软件是正确的C. 验证软件是否满足需求D. 所有选项答案:D4. 以下哪一项不是软件维护的类型?A. 纠错性维护B. 适应性维护C. 完善性维护D. 开发性维护答案:D5. 软件项目管理的主要目标是()。
A. 提高软件质量B. 控制成本C. 缩短开发周期D. 所有选项答案:D6. 瀑布模型的主要缺点是()。
A. 缺乏灵活性B. 难以适应需求变化C. 无法并行开发D. 所有选项答案:D7. 敏捷开发方法的核心理念是()。
A. 以文档为中心B. 以人为中心C. 以过程为中心D. 以工具为中心答案:B8. 软件配置管理的主要目的是()。
A. 确保软件的一致性B. 跟踪软件的变更C. 控制软件的版本D. 所有选项答案:D9. 以下哪一项不是软件工程的原则?A. 抽象B. 模块化C. 复用D. 随机性答案:D10. 软件工程的目标是()。
A. 开发高质量的软件B. 提高软件生产率C. 降低软件成本D. 所有选项答案:D二、多项选择题(每题3分,共15分)1. 软件需求分析阶段可能包括以下哪些活动?A. 需求收集B. 需求分析C. 需求规格说明D. 需求验证答案:ABCD2. 软件测试的类型包括以下哪些?A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:ABCD3. 软件维护的常见原因包括以下哪些?A. 适应环境变化B. 修正软件缺陷C. 提高软件性能D. 增加新功能答案:ABCD4. 软件项目管理的关键活动包括以下哪些?A. 项目规划B. 项目监控C. 项目沟通D. 风险管理答案:ABCD5. 软件工程中的常见开发模型包括以下哪些?A. 瀑布模型B. 螺旋模型C. 敏捷模型D. 增量模型答案:ABCD三、判断题(每题2分,共10分)1. 软件工程的目标是开发出零缺陷的软件。
软件⼯程考试试题(含答案)⼀、填空题(每空1分,共25分)1.软件⽣存周期⼀般可以划分为,问题定义、____________、____________、设计、编码、测试和____________。
2.基于软件的功能划分,软件可以划分成__________、__________、__________三种。
3.可⾏性研究,应从、技术可⾏性、运⾏可⾏性、和开放⽅案可⾏性等⽅⾯研究。
4.系统流程图是描绘的传统⼯具。
它的基本思想是⽤图形符号以描绘系统⾥⾯的每个部件。
5.数据流图的基本四种成分:数据输⼊的源点和数据输出汇点、、和。
6.结构化分析⽅法是⾯向________________进⾏需求分析的⽅法。
结构化分析⽅法使⽤________________与________________来描述。
7.是⾃动地共享类、⼦类和对象中的⽅法和数据的机制。
8.软件详细设计⼯具可分为3类,即________________、________________和________________。
9.为了在软件开发过程中保证软件的质量,主要采取下述措施:________________、复查和管理复审、________________。
10.⼤型软件测试包括、、确认测试和四个步骤。
1、可⾏性研究需求分析运⾏与维护2、系统软件⽀撑软件应⽤软件3、经济可⾏性法律可⾏性4、物理系统⿊盒⼦形式5、加⼯数据流数据存储⽂件6、数据流数据流图DFD 数据字典DD7、继承性8、图⽰⼯具、设计语⾔表格⼯具9、审查测试10、单元测试集成测试系统测试⼆、单项选择题(每⼩题2分,共20分)1 2 3 4 5C C C A C6 7 8 9 10D D A C B1.软件设计中划分模块的⼀个准则是()。
A、低内聚低耦合B、低内聚⾼耦合C、⾼内聚低耦合D、⾼内聚⾼耦合2.Jackson设计⽅法是由英国的M. Jackson提出的,它是⼀种⾯向()的软件设计⽅法。
2024年软件工程开发等专业技能知识考试题库(附含答案)一、单选题1.数据流图是进行软件需求分析的常用图形工具,其基本图形符号是( )。
A.输入、输出、外部实体和加工B.变换、加工、数据流和存储C.加工、数据流、数据存储和外部实体D.变换、数据存储、加工和数据流参考答案:C2.集成测试的主要方法有两个,一个是()一个是()。
A.白盒测试方法、黑盒测试方法B.等价类划分方法、边缘值分析方法C.渐增式测试方法、非渐增式测试方法D.因果图方法、错误推测方法参考答案:C3.软件文档是软件工程实施的重要成分,它不仅是软件开发各阶段的重要依据,而且也影响软件的( )。
A.可用性B.可维护性C.可扩展性D.可移植性参考答案:B4.面向对象设计阶段的主要任务是系统设计和( )。
A.结构化设计B.数据设计C.面向对象程序设计D.对象设计参考答案:D5.包含风险分析的软件工程模型是( )。
A.喷泉模型B.瀑布模型C.增量模型D.螺旋模型参考答案:D6.Jackson方法根据()来导出程序结构。
A.数据流图B.数据间的控制结构C.数据结构D.IPO图参考答案:C7.需求工程的主要目的是( )。
A.系统开发的具体方案B.进一步确定用户的需求C.解决系统是“做什么的问题”D.解决系统是“如何做的问题”参考答案:C8.只有类的共有界面的成员才能成为使用类的操作,这是软件设计的( )原则。
A.过程抽象B.信息隐藏C.功能抽象D.共享性参考答案:B9.下列哪项不是风险管理的过程?( )。
A.风险规划B.风险识别C.风险评估D.风险收集参考答案:D10.在分层体系结构中,( )实现与实体对象相关的业务逻辑。
A.表示层B.持久层C.实体层D.控制层参考答案:D11.下列选项中不属于CI管道的是()。
A.构建B.模拟C.单元测试D.集成测试参考答案:B12.应该在( ),确定对象类中应有的服务。
A.建立对象模型之时B.建立动态模型和功能模型之后C.建立功能模型之后D.建立动态模型之后参考答案:B13.需求分析的主要方法有( )。
一、选择题:(每题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.面向数据流的设计方法把()映射成软件结构。
软件工程考试题带答案软件工程考试题一、单项选择题(每题5分,共30分)1.软件需求分析的主要目标是:A. 发现并修正软件中的错误B. 确定软件系统的功能和性能需求C. 编写软件代码D. 打印和发布软件答案:B2. 下列哪个是软件生命周期模型?A. 瀑布模型B. 微服务架构C. 敏捷开发D. 协同开发答案:A3. 软件设计阶段的主要目标是:A. 开发详细的测试计划B. 创建软件的体系结构和模块设计C. 编写和调试软件代码D. 验收和发布软件答案:B4. 软件测试的主要目的是:A. 发现并修复软件错误B. 确保软件系统符合质量标准C. 完成软件系统的开发D. 验收和发布软件答案:B5. 下列哪个是软件项目管理过程中的常用工具?A. 甘特图B. 数据流图C. 类图D. 鱼骨图答案:A6. 下列哪个是软件配置管理的主要目标?A. 确保软件开发过程的质量B. 管理软件中不同部分的变更C. 编写和调试软件代码D. 验收和发布软件答案:B二、简答题(每题10分,共20分)1. 简要解释软件工程的概念。
答:软件工程是一门研究和应用工程原理、方法和工具来开发和维护高质量软件的学科。
它注重应用系统性的、规范化的方法来开发和维护软件,以提高软件的质量、效率和可维护性。
2. 请简述瀑布模型的基本原理。
答:瀑布模型是软件开发过程中最早也是最广泛使用的模型之一。
它基于线性顺序的开发过程,将软件开发划分为需求分析、设计、开发、测试和运行维护等不同阶段,每个阶段按照顺序进行。
三、案例分析题(40分)某公司正在开发一个电商网站,你作为软件工程师参与其中。
请回答以下问题:1. 在需求分析阶段,你应该做些什么?答:在需求分析阶段,我应该与客户沟通,了解他们的需求和期望。
我将分析和记录客户的功能和性能需求,制定需求规格说明书,并与团队成员一起进行需求评审,确保需求的准确性和完整性。
2. 在设计阶段,你应该做些什么?答:在设计阶段,我将设计软件系统的体系结构和模块设计。
作业1:1. 软件是计算机系统中与硬件相互依存的另一部分,它是包括( A )、( B )及( C )的完整集合。
其中,( A )是按事先设计的功能和性能要求执行的指令序列。
( B )是使程序能够正确操纵信息的数据结构。
( C )是与程序开发、维护和使用有关的图文材料。
供选择的答案:A C. ①软件②程序③代码④硬件⑤文档⑥外设⑦数据⑧图表2. 开发软件时对提高软件开发人员工作效率至关重要的是( A )。
软件工程中描述生存周期的瀑布模型一般包括计划、( B )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成( C )和( D )两步。
供选择的答案:A.①程序开发环境②操作系统的资源管理功能③程序人员数量④计算机的并行处理能力B.①需求分析②需求调查③可行性分析④问题定义C、D.①方案设计②代码设计③概要设计④数据设计⑤运行设计⑥详细设计⑦故障处理设计⑧软件体系结构设计3. 从供选择的答案中选出适当字句填入下列关于软件发展过程的叙述中的( )内。
有人将软件的发展过程划分为4个阶段:第一阶段(1950~1950年代末)称为“程序设计的原始时期”,这时既没有( A ),也没有( B ),程序员只能用机器指令编写程序。
第二阶段(1950年代末~1960年代末)称为“基本软件期”。
出现了( A ),并逐渐普及。
随着( B )的发展,编译技术也有较大的发展。
第三阶段(1960年代末~1970年代中期)称为“程序设计方法时代”。
这一时期,与硬件费用下降相反,软件开发费急剧上升。
人们提出了( C )和( D )等程序设计方法,设法降低软件的开发费用。
第四阶段(1970年代中期~现在)称为“软件工程时期”。
软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如( E )、( F )、编码、单元测试、综合测试、( G )及其整体有关的各种管理技术。
供选择的答案:A ~ D:①汇编语言②操作系统③虚拟存储器概念④高级语言⑤结构式程序设计⑥数据库概念⑦固件⑧模块化程序设计E ~ G:①使用和维护②兼容性的确认③完整性的确认④设计⑤需求定义⑥图象处理4. 软件工程过程有哪几个基本过程活动?试说明之。
软件工程考试试题含答案一、题目类型为单选题1.软件需求分析的目的是什么?A、确定系统需求B、建立软件架构C、编写用户手册D、进行系统集成答案:A2.在软件项目开发中,以下哪个阶段是与需求分析同时进行的?A、需求规格说明B、软件设计C、程序编写D、系统维护答案:B3.软件项目管理中,以下哪个是关键路径?A、最长时间路径B、最短时间路径C、资源紧张路径D、资源充足路径答案:A4.软件系统测试是为了检查什么?A、代码质量B、功能实现是否符合需求C、项目进度D、硬件设备是否正常答案:B5.以下哪个是软件配置管理的主要目标?A、保证软件的质量B、控制软件的开发成本C、跟踪软件的版本D、优化软件的性能答案:C二、题目类型为多选题1.软件开发过程中,以下哪些是敏捷开发的原则?(多选)A、个人和交互胜过过程和工具B、软件和协商合约胜过合同文档C、持续交付胜过完整的计划D、需求协商胜过客户合作答案:A、B、C2.以下哪些是软件工程中的软件生命周期模型?(多选)A、瀑布模型B、原型模型C、敏捷模型D、螺旋模型答案:A、B、C、D3.在软件项目中,以下哪些因素可能导致项目失败?(多选)A、需求不明确B、软件工程师技术水平不高C、项目计划不合理D、项目成本过高答案:A、B、C、D4.以下哪些是软件维护的类型?(多选)A、适应性维护B、完善性维护C、阻碍性维护D、紧急性维护答案:A、B、D5.在软件项目管理过程中,以下哪些风险可以考虑采取风险规避策略?(多选)A、需求变更频繁B、开发团队沟通效率低C、软件质量无法满足需求D、开发进度超过预期答案:A、C三、题目类型为填空题1.软件需求分析的主要输出是______。
答案:需求规格说明2.软件开发过程中,以下步骤是软件测试的基本流程:需求分析、______、测试执行、缺陷跟踪。
答案:测试设计3.软件配置管理的主要任务是进行软件______。
答案:版本控制四、题目类型为分析题请根据以下情景描述,回答相关问题:某公司正在开发一个新的电商平台,主要业务包括商品展示、用户注册、购物车管理、订单处理等。
软考试题及答案近年来,软考成为越来越多从事信息技术行业的人士追逐的目标。
软考的全称是软件设计师资格考试,它是一项国家级的职业资格认证考试,对于求职、升职以及个人技术能力的提升都具有重要意义。
在备考软考的过程中,熟悉和掌握历年的软考试题及答案是非常必要的,本文将为大家提供一些软考试题及答案,希望能对大家的备考有所帮助。
1. 单选题题目:在软件开发过程中,以下哪个不属于问题域分析的内容?A. 业务需求分析B. 数据流程分析C. 系统接口分析D. 数据库设计答案:D解析:问题域分析主要集中在业务需求的分析上,包括了数据流程分析和系统接口分析。
而数据库设计属于技术层面的内容,不属于问题域分析的范畴。
2. 多选题题目:以下哪些是软件开发过程中常用的软件项目管理方法?(多选)A. 瀑布模型B. 敏捷开发C. 增量模型D. 螺旋模型答案:A、B、C、D解析:常用的软件项目管理方法有瀑布模型、敏捷开发、增量模型和螺旋模型。
这些方法都是根据软件开发的实际情况和需求来设计和实施的。
3. 判断题题目:软件测试只能在软件开发的最后阶段进行。
A. 正确B. 错误答案:B解析:软件测试应该在软件开发的每个阶段都进行,例如单元测试可以在编码阶段进行,集成测试可以在模块开发完成后进行,系统测试可以在整个软件功能完成后进行。
测试的目的是为了发现潜在的问题和错误,并及时修复。
4. 填空题题目:软件工程的基本原理是“__________”。
答案:因人而异解析:软件工程是一门涉及技术、管理和组织的学科,不同的项目和企业都可能有不同的需求和方法,因此软件工程的具体实践方法因人而异。
5. 应用题题目:请编写一个简单的Java程序,实现计算两个整数的和并输出结果。
```javapublic class SumCalculator {public static void main(String[] args) {int num1 = 10;int num2 = 20;int sum = num1 + num2;System.out.println("两个整数的和为:" + sum);}}```以上是一段简单的Java程序,它定义了一个名为`SumCalculator`的类,其中的`main`方法用于计算两个整数的和并输出结果。
软件工程考试试题含答案软件工程考试试题含答案一. 选择题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类图用于展示软件系统中的类、对象及其之间的关系。
全国软件工程师认证考试题与答案1. 考试题1请问软件工程师的主要职责是什么?答案:软件工程师的主要职责包括软件开发、测试、维护和优化等工作,以确保软件系统的高质量和稳定性。
2. 考试题2在软件开发过程中,什么是软件需求分析?答案:软件需求分析是指对用户需求进行详细的调研、分析和规划,以确定软件系统的功能、性能和约束条件等方面的要求。
3. 考试题3请问软件工程中的软件测试是什么?答案:软件测试是一种评估软件质量的过程,通过运行软件系统,并比较实际结果和预期结果,以发现潜在的问题和错误。
4. 考试题4在软件项目管理中,什么是敏捷开发方法?答案:敏捷开发方法是一种以迭代和增量方式进行软件开发的方法,强调团队合作、快速响应变化和持续交付高质量软件。
5. 考试题5请问软件工程师在项目开发过程中如何保证代码质量?答案:软件工程师可以通过编写清晰、可维护的代码,进行代码审查和测试,使用代码重构和设计模式等方法来保证代码质量。
6. 考试题6在软件工程中,什么是软件配置管理?答案:软件配置管理是一种管理和控制软件开发过程中各种配置项的方法,包括版本控制、变更管理和发布管理等。
7. 考试题7请问软件工程师在项目中如何进行团队协作?答案:软件工程师可以通过有效的沟通、合作和任务分配等方式来进行团队协作,同时使用项目管理工具和版本控制系统来协调工作。
8. 考试题8在软件开发中,什么是软件架构?答案:软件架构是指对软件系统整体结构的设计和组织,包括系统的组件、模块、接口和它们之间的关系。
以上是全国软件工程师认证考试题与答案的简要介绍,希望对您的学习和备考有所帮助。
软件工程基础考试题目和答案一、选择题(每题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. 软件维护答案: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. 简述软件生命周期模型中的瀑布模型。
答案:瀑布模型是软件生命周期模型中最早的模型之一。
它将软件开发过程分为需求分析、系统设计、详细设计、编码、测试和维护等阶段,并按照顺序执行。
软件工程题库(含答案)一、单选题(共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、下列说法中,不正确的是( )。
软件工程考试题及答案一、单项选择题(每题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. 软件测试的类型包括()。
2024年10月高等教育自考试全国统一命题考试软件工程试题一、单项选择题1、有效性测试的目标是发现软件实现的功能与下列哪个选项不一致,正确的是______。
A.需求规格说明书B.概要设计说明书C.详细设计说明书D.测试计划2、RUP设计阶段的主要活动不包含______。
A.程序设计B.体系结构设计C.用况设计D.类设计3、《ISO/IEC软件生存周期过程12207-1995》标准按过程主体把软件生存周期过程分为基本过程、组织过程和______。
A.供应过程B.开发过程C.测试过程D.支持过程4、在教师科研方案中规定对教授、副教授和讲师分别计算分数,做相应的处理,则根据黑盒测试中的等价类划分技术,下列划分正确的是______。
A.3个有效等价类,3个无效等价类B.3个有效等价类,1个无效等价类C.1个有效等价类,1个无效等价类D.1个有效等价类,3个无效等价类5、“与所规约的系统执行之间的偏差”是指______。
A.错误B.失效C.故障D.误差6、在常见的软件开发模型中,主要用于支持面向对象技术软件开发的是______。
A.喷泉模型B.螺旋模型C.增量模型D.瀑布模型7、面向对象方法源于面向对象______。
A.分析B.设计C.建模语言D.编程语言8、RUP中,用于捕获系统语境中的一些重要领域对象,其中领域对象表达系统工作环境中存在的事物或发生的事件,领域模型一般采用______。
A.PAD图B.流程图C.类图D.N-S图9、结构化分析方法给出了一种能表达功能模型的工具是______。
A.HIPO图B.PAD图C.N-S图D.DFD图10、需求规约的基本性质包括重要性和稳定性程度、一致的、完整的和______。
A.可修改的B.可复用的C.可测试的D.无歧义的11、下列可用于概念模型和软件模型的动态结构的是______。
A.类图B.对象图C.部署图D.用况图12、下列不属于需求规约的基本性质是______。
软件工程试题库及答案选择题软件(2) 1.在软件开发的各种资源中,(D )是最重要的资源。
A 开发工具B 方法C 硬件环境D人员2.软件的复杂性是(A ),它引起人员通信困难、开发费用超支、开发时间超时等问题。
A 固有的B 人为的C 可消除的 D不可降低的3. 3:软件是计算机系统中与硬件相互依存的另一部分,它的组成部分是(D )。
A. 程序、数据B.程序、文档C.程序D.程序、数据、文档4.软件是一种(B )产品。
A 、有形B 、逻辑C 、物质D 、消耗软件危机(1) 5.1:开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C )A.软件工程B.软件周期C.软件危机D.软件产生6. 2:在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了( A )A.软件危机B.软件工程C程序设计革命D.结构化程序设计7.3:以下哪一项不是软件危机的表现形式(C )(A )成本高(B )生产率低(C )技术发展快(D )质量得不到保证8. 4: “软件危机”产生的主要原因是(A )软件工程(2)10. 1:为了解决软件危机人们提出了用基础。
11. 2.在软件工程时期,决定软件质量的主要因素是(A )A.软件日益庞大B. 开发方法不当C.开发人员编写程序能力差D.没有维护好软件9.5:软件危机是指在软件开发和( C)过程中遇到的一系列严重问题。
A 开发B 使用C 维护D 更新B )的原理来设计软件,这就是软件工程诞生的(C )软件学(D )数学(A )运筹学(B )工程学A.管理水平B. 个人程序技术 C ?小组技术水平 D.硬件的发展12. 3.软件管理工作涉及到的直接对象不包括(B )A ?软件开发人员B ?硬件设备C ?项目经费13. 4.软件工程方法学有三个要素,它们是( A )16. 3:下列哪个模型没有采用迭代的思想( A )17. 4:下列关于瀑布模型的描述正确的是(D )。
软件工程考试试题和答案一、单项选择题1. 软件工程的三要素是()。
A. 工具、方法、过程B. 方法、工具、环境C. 方法、过程、工具D. 过程、工具、环境答案:C2. 软件需求分析阶段的工作不包括()。
A. 需求获取B. 需求分析C. 需求规格说明D. 软件设计答案:D3. 软件测试的目的是()。
A. 证明软件是正确的B. 发现软件中的错误C. 证明软件是无错误的D. 证明软件存在错误答案:B4. 在软件维护中,最频繁的活动是()。
A. 校正性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:A5. 软件项目管理的主要任务不包括()。
A. 进度管理B. 质量管理C. 配置管理D. 软件设计答案:D二、多项选择题1. 软件工程的基本原理包括()。
A. 抽象B. 模块化C. 信息隐蔽D. 逐步求精答案:ABCD2. 软件需求分析的任务包括()。
A. 需求获取B. 需求分析C. 需求规格说明D. 需求验证答案:ABCD3. 软件测试的方法包括()。
A. 黑盒测试B. 白盒测试C. 灰盒测试D. 静态测试答案:ABCD4. 软件维护的类型包括()。
A. 校正性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:ABCD5. 软件项目管理的内容主要包括()。
A. 进度管理B. 质量管理C. 成本管理D. 人员管理答案:ABCD三、判断题1. 软件工程的目标是提高软件的生产率和质量。
()答案:正确2. 软件需求分析阶段不需要进行需求验证。
()答案:错误3. 软件测试可以证明软件是无错误的。
()答案:错误4. 软件维护只包括校正性维护。
()答案:错误5. 软件项目管理不需要进行质量管理。
()答案:错误四、简答题1. 简述软件工程的特点。
答:软件工程的特点包括:(1)软件工程强调系统的、规范的、可度量的方法学;(2)软件工程是面向过程的;(3)软件工程是面向质量的;(4)软件工程是面向经济的;(5)软件工程是面向人的。
一、单项选择题(每题1分,共20分)1、TURBO PASCAL是()软件。
AA、系统软件B、人工智能C、事务软件D、应用软件2、计算机辅助软件工程,简称()。
DA、SAB、SDC、SCD、CASeComputer Aided Software Engineering(CASE——计算机辅助软件工程)帮助进行应用程序开发的软件,包括分析、设计和代码生成。
CASE工具为设计和文件编制传统结构编程技术,提供了自动的方法。
3、选择结构的复杂性比顺序结构的复杂性要()。
BA、小B、大C、相等D、无法比较4、在数据流图中,○(椭圆)代表()。
CA、源点B、终点C、加工D、模块5、模块内聚度越高,说明模块内各成分彼此结合的程度越()。
BA、松散B、紧密C、无法判断D、相等6、软件设计阶段的输出主要是()。
BA、程序B、模块C、伪代码D、设计规格说明书7、SD方法设计的结果是()。
DA、源代码B、伪代码C、模块D、模块结构图8、软件维护是软件生命周期中的固有阶段,一般认为,各种不同的软件维护中以()维护所占的维护量最小()。
CA、纠错性维护B、代码维护C、预防性维护D、文档维护9、软件需求分析是保证软件质量的重要步骤,它的实施应该是在()。
CA、编码阶段B、软件开发全过程C、软件定义阶段D、软件设计阶段10、软件测试方法中,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试()。
AA、结构合理性B、软件外部功能C、程序正确性D、程序内部逻辑11、软件的结构化设计(SD)方法中,一般分为概要设计和详细设计两阶段,其中详细设计主要是要建立()。
DA、软件结构B、软件过程C、软件模型D、软件模块12、在下述哪一种测试中,测试人员必须接触到源程序()。
Ⅰ功能测试Ⅱ结构测试A、均不需B、只有ⅠC、只有ⅡD、Ⅰ和Ⅱ13、检查软件产品是否符合需求定义的过程称为()。
AA、确认测试B、集成测试C、验收测试D、验证测试确认测试又称有效性测试。
一、单项选择题(每题1分,共20分)1、TURBO PASCAL是()软件。
AA、系统软件B、人工智能C、事务软件D、应用软件2、计算机辅助软件工程,简称()。
DA、SAB、SDC、SCD、CASeComputer Aided Software Engineering(CASE——计算机辅助软件工程)帮助进行应用程序开发的软件,包括分析、设计和代码生成。
CASE工具为设计和文件编制传统结构编程技术,提供了自动的方法。
3、选择结构的复杂性比顺序结构的复杂性要()。
BA、小B、大C、相等D、无法比较4、在数据流图中,○(椭圆)代表()。
CA、源点B、终点C、加工D、模块5、模块内聚度越高,说明模块内各成分彼此结合的程度越()。
BA、松散B、紧密C、无法判断D、相等6、软件设计阶段的输出主要是()。
BA、程序B、模块C、伪代码D、设计规格说明书7、SD方法设计的结果是()。
DA、源代码B、伪代码C、模块D、模块结构图8、软件维护是软件生命周期中的固有阶段,一般认为,各种不同的软件维护中以()维护所占的维护量最小()。
CA、纠错性维护B、代码维护C、预防性维护D、文档维护9、软件需求分析是保证软件质量的重要步骤,它的实施应该是在()。
CA、编码阶段B、软件开发全过程C、软件定义阶段D、软件设计阶段10、软件测试方法中,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试()。
AA、结构合理性B、软件外部功能C、程序正确性D、程序内部逻辑11、软件的结构化设计(SD)方法中,一般分为概要设计和详细设计两阶段,其中详细设计主要是要建立()。
DA、软件结构B、软件过程C、软件模型D、软件模块12、在下述哪一种测试中,测试人员必须接触到源程序()。
Ⅰ功能测试Ⅱ结构测试A、均不需B、只有ⅠC、只有ⅡD、Ⅰ和Ⅱ13、检查软件产品是否符合需求定义的过程称为()。
AA、确认测试B、集成测试C、验收测试D、验证测试确认测试又称有效性测试。
它的任务是验证软件的有效性,即验证软件的功能和性能及其它特性是否与用户的要求一致。
在软件需求规格说明书描述了全部用户可见的软件属性,其中有一节叫做有效性准则,它包含的信息就是软件确认测试的基础。
14、软件文档是软件工程实施中的重要万分它不仅是软件开发各阶段的重要依据,而且与影响软件的()。
BA、可理解性B、可维护性C、可扩展性D、可移植性15、在瀑布模型中,将软件划分为若干个时期,软件项目的可行性研究一般归属于()。
BA、维护时期B、计划时期C、运行时期D、开发时期16、在七种偶合中,最低偶合是()。
CA、内容偶合B、公共偶合C、数据偶合D、非直接偶合17、结构化分析方法SA、结构化设计方法SD,和JACKSON方法,是在软件开发过程中常用的方法,人们使用SA 方法时可以得到(A ),使用SD方法时可以得到(C )。
A、程序流程图B、具体的语言程序C、模块结构图及模块的功能说明书D、分层数据流图18、JACKSON方法是在软件开发过程中常用的方法,使用JACKSON方法时可以得到()。
A、程序流程图B、具体的语言程序C、模块结构图及模块的功能说明书D、分层数据流图19、JACKSON方法是在软件开发过程中常用的方法,使用JACKSON方法时可以实现(A )。
A、从数据结构导出程序结构B、从数据流图导出初始结构图C、从模块结构导出数据结构D、从模块结构导出程序结构二、多项选择题(每题2分,共10分)1、下面哪几个阶段是软件的设计阶段()。
ACA、编码B、可行性研究C、测试D、维护E、需求分析2、在软件的开发过程中,必须遵循的原则是()。
A、抽象B、模块化C、可重用性D、可维护性E、可适应性3、在设计人机界面时,应主要考虑的因素有()。
A、系统响应时间B、程序的质量C、用户求助机制D、错误处理4、属于第一代程序设计语言的()。
A、汇编B、PASCALC、FOXD、C++E、机器语言5、下面哪些测试属于黑盒测试()。
BCA、路径测试B、等价类划分C、边界值分析D、条件判断E、循环测试具体的黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法等。
三、填空(每空一分,共11分)。
1、组成计算机软件的两部分是()。
2、计算机系统工程包括计算机()工程、()工程、()工程和()工程。
3、在人机界面设计过程中,先后涉及到()个模型,它们分别是()、()、()和()。
4、综合测试是对()的测试。
四、名词解释(每个2分,共6分)1、软件工程2、模块3、确认测试五、简答(每个5分,共15分)1、何为白盒测试?它适应哪些测试?2、如何理解模块独立性?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. 数据流程图向实体关系(ER)图的B. 向软件模块的C. 数据流程图向功能模型的_______D. 概要设计向详细设计的结构化分析方法(Structured Method,结构化方法)是强调开发方法的结构合理性以及所开发软件的结构合理性的软件开发方法。
结构是指系统内各个组成要素之间的相互联系、相互作用的框架。
结构化开发方法提出了一组提高软件结构合理性的准则,如分解与抽象、模块独立性、信息隐蔽等。
针对软件生存周期各个不同的阶段,它有结构化分析(SA)、结构化设计(SD)和结构化程序设计(SP)等方法。
结构化分析方法给出一组帮助系统分析人员产生功能规约的原理与技术。
它一般利用图形表达用户需求,使用的手段主要有数据流图、数据字典、结构化语言、判定表以及判定树等。
结构化分析的步骤如下:①分析当前的情况,做出反映当前物理模型的DFD;②推导出等价的逻辑模型的DFD;③设计新的逻辑系统,生成数据字典和基元描述;④建立人机接口,提出可供选择的目标系统物理模型的DFD;⑤确定各种方案的成本和风险等级,据此对各种方案进行分析;⑥选择一种方案;⑦建立完整的需求规约。
结构化设计方法给出一组帮助设计人员在模块层次上区分设计质量的原理与技术。
它通常与结构化分析方法衔接起来使用,以数据流图为基础得到软件的模块结构。
SD方法尤其适用于变换型结构和事务型结构的目标系统。
在设计过程中,它从整个程序的结构出发,利用模块结构图表述程序模块之间的关系。
结构化设计的步骤如下:①评审和细化数据流图;②确定数据流图的类型;③把数据流图映射到软件模块结构,设计出模块结构的上层;④基于数据流图逐步分解高层模块,设计中下层模块;⑤对模块结构进行优化,得到更为合理的软件结构;⑥描述模块接口。
结构化设计方法的设计原则使每个模块执行一个功能(坚持功能性内聚)每个模块用过程语句(或函数方式等)调用其他模块模块间传送的参数作数据用模块间共用的信息(如参数等)尽量少(10)面向对象方法的出发点是()。
A. 把自然界的事物按对象这一基本元素来处理B. 尽可能按照人类认识客观世界的方法和思维方式来解决问题C. 使用面向对象的语言来进行软件开发_______D. 数据应该和操作它的程序封装在一起二、填空题(1)_______ 与_______ 一起构成完整的计算机系统。
(2)软件工程是一门学科,像其他工程学科一样需要结合工程学科的理论和思想。
(3)瀑布模型和增量模型的主要不同是_____________________ 。
(4)结构化的方法包括______________,______________。
(5)软件危机之所以会发生主要是由于___________________________________ 。
(6)软件生存周期概念的引入,对于_____________________ 有着重大意义。
(7)软件生存周期各阶段的划分随软件的_____________________ 不同而不同。
(8)软件工具是的_____________________ 软件。
(9)Jackson 方法是从_______ 入手的分析设计方法,而面向对象的方法是从入手的分析设计方法。
(10)为了有一个共同讨论的框架,软件工程规定了自己的过程、活动和任务。
软件工程的活动是_______ 。
三、简答题(1)软件产品的特点是什么?答:软件产品是一种逻辑产品,是无形的、脑力劳动的结晶。
只能以程序、数据和文档的形式出现。
其存储介质是磁盘、磁带或光盘。
通过计算机的执行才能体现出来。
与硬件产品的制造不同,软件产品的成本主要花在研制上,而产品的制造(即复制)是不需要花费很多成本的。
软件产品不会磨损,但仍然需要维护,而且维护的成本很高。
总之,软件产品开发完全靠脑力劳动,所以产品研制成本很高,软件产品难于像硬件那样工业化生产。
(2)软件工程的目标、性质、内容是什么?答:软件工程的目标是在预先给定的成本约束下生产可用的、满足用户需求的产品。