软件工程基础知识考试资料

合集下载

软件工程复习资料精选全文完整版

软件工程复习资料精选全文完整版

可编辑修改精选全文完整版一、单选题(共20题,40分)1、使用数据流图,并不断细化的需求获取方法是()。

(2.0)A、简易的应用规格说明B、面向数据流自顶向下逐步求精C、访谈D、快速原型法正确答案: B2、Z语言是以()为基础的形式化规格说明语言。

(2.0)A、微积分B、概率C、图形D、一阶谓词演算正确答案: D3、HIPO是指(2.0)A、层次输入处理输出图或表B、层次功能结构图C、功能结构图D、输入处理输出图或表正确答案: A4、高铁调用系统最适宜采用()方法。

(2.0)A、有穷状态机B、 Petri网C、 Z语言D、一阶线性时态逻辑正确答案: B5、假设学生年龄的成绩输入范围为18-25,则根据等价类划分技术,下列划分正确的是()。

(2.0)A、可划分为2个有效等价类,2个无效等价类B、可划分为1个有效等价类,2个无效等价类C、可划分为2个有效等价类,1个无效等价类D、可划分为1个有效等价类,1个无效等价类正确答案: B6、用于并发系统,解决定时问题的形式化方法是()。

(2.0)A、 VDMB、 Z语言C、 Petri网D、一阶线性时态逻辑正确答案: C7、软件生命周期中所花费费用最多的阶段是(2.0)A、需求分析B、软件总体设计C、软件维护D、软件实现正确答案: C8、软件质量保证措施SQA不包括:(2.0)A、复审或评审B、软件测试C、程序正确性证明D、软件代码编写正确答案: D9、希望确定软件实现的功能是否与需求规格说明书一致,需进行()。

(2.0)A、单元测试B、有效性测试C、确认测试D、集成测试正确答案: C10、总体设计不包括:(2.0)A、体系结构设计B、数据库设计C、模块内算法设计D、逻辑数据结构设计正确答案: C11、关于类和对象的说法,正确的是(2.0)A、一个类只能有一个角色B、类的命名必须用动词C、类的所有对象都具有相同的属性和操作D、类是对象的实例,对象是类的抽象正确答案: C12、数据字典的基本功能是(2.0)A、数据库设计B、数据通信C、数据定义D、数据维护正确答案: C13、软件需求规格说明的内容不应该包括(2.0)A、主要功能B、算法的描述C、用户界面及其运行环境D、软件性能正确答案: B14、增量模型在添加新的模块时,有一个要求是()(2.0)A、需要更多的测试B、有足够的开发人员C、软件体系结构开放D、各个模块都要进行评审正确答案: C15、在软件详细设计过程中不采用的工具是(2.0)A、判定表B、PDLC、程序流程图D、DFD正确答案: D16、软件测试方法中,黑盒测试方法和白盒测试方法是常用的方法,其中黑盒测试方法主要用于测试(2.0)A、结构合理性B、软件外部功能C、程序正确性D、程序内部逻辑正确答案: B17、耦合是模块之间的相对独立性的度量。

计算机二级【公共基础知识】软件工程基础

计算机二级【公共基础知识】软件工程基础
5)软件复杂性高,成本昂贵; 6)软件开发涉及诸多的社会因素。
3.软件的分类
根据应用目标的不同,软件可分应用软件、系 统软件和支撑软件(或工具软件)。
(1)应用软件。它是在特定领域内开发,为特定目 的服务的一类软件。
(2)系统软件。它能与计算机硬件紧密配合在一起, 使计算机系统各个部分、相关的软件和数据协调、 高效的工作的软件。例如:操作系统、数据库管理 系统。
3.4软件测试
软件测试的指用人工或自动手段来运行或测定
某个系统的过程,其目的在于检验它是否满足 规定的需求或是弄清预期结果与实际结果之间
的差别。简单地说,软件测试的目的是尽可能 多地发现程序中的错误。
考点2:软件测试方法
按是否要执行被测试软件的角度分为:静态测 试和动态测试。
静态测试包括代码检查、静态结构分析、代码 质量度量。不实际运行软件,主要通过人工进 行。
1. 详细设计为软件结构图中的每一个模块确定
实现算法和局部数据结构,用某种选定的表 达工具表示算法和数据结构的细节。
详细设计常用工具:
1. 图形工具(程序流程图、 PAD图 、N-S图、 HIPO图)
2. 表格工具(判定表)
3. 语言工具(PDL )
开始 输入R S=3.14 * R*R
输出S
结束
答案:D
例题:
软件工程的出现是由于 A)程序设计方法学的影响 B)软件产业化的需要 C)软件危机的出现 D)计算机的发展
答案:C
例题:
软件设计中,有利于提高模块独立性的一个准 则是
A)低内聚低耦合 B)低内聚高耦合 C)高内聚低耦合 D)高内聚高耦合
答案:C
例题:
下列不属于结构化分析的常用工具的是 A)数据流图 B)数据字典 C)判定树 D)PAD图

软件工程考试题及答案

软件工程考试题及答案

软件工程考试题及答案一、选择题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. 软件工程的基础是什么?A. 程序设计B. 数据结构C. 计算机科学D. 需求分析2. 软件开发过程中,需求分析和系统设计的关系是什么?A. 需求分析是系统设计的依据B. 需求分析和系统设计同时进行C. 需求分析在系统设计之后进行D. 需求分析和系统设计没有必然联系3. 软件工程的三个层次及其在软件开发过程中的作用是什么?A. 应用层、系统层、理论层B. 物理层、数据层、逻辑层C. 需求层、设计层、实施层D. 开发层、测试层、维护层4. 软件开发生命周期(SDLC)的概念是什么?它包括哪几个阶段?A. 软件开发生命周期是指软件的开发过程B. SDLC包括需求分析、设计、编码、测试和维护C. SDLC是一个线性的过程D. SDLC各阶段按顺序进行,不具备迭代性5. 什么是敏捷开发方法?它与其他开发方法的区别是什么?A. 敏捷开发是一种快速开发的软件开发方法B. 敏捷开发强调团队合作和客户参与C. 敏捷开发适合大规模软件项目D. 敏捷开发与其他开发方法的区别在于流程管理6. 什么是面向对象编程(OOP)?请列举OOP的三个基本特征。

A. 封装、继承、多态B. 封装、继承、抽象C. 封装、多态、接口D. 继承、多态、接口7. 数据库管理系统(DBMS)在软件开发中的作用是什么?A. 存储和管理数据B. 提供数据查询和修改功能C. 数据库管理员(DBA)负责DBMS的管理和维护D. 所有选项都正确8. 什么是版本控制?请简述版本控制的两种主要策略。

A. 版本控制是一种软件配置管理技术B. 版本控制可以跟踪软件项目的变更C. 版本控制的主要策略有Git和SVND. 版本控制确保软件代码的安全性9. 什么是软件测试?它的目的和基本原则是什么?A. 软件测试是在软件投入运行后进行的活动B. 软件测试是为了发现软件中的错误和缺陷C. 软件测试的原则包括早期测试、缺陷倾向分布等D. 软件测试的目的是提高软件的质量和可靠性10. 什么是配置管理?它在软件开发中的作用是什么?A. 配置管理是指对软件配置项进行管理和控制的过程B. 配置管理可以确保软件配置的一致性和可追溯性C. 配置管理的主要活动包括配置标识、配置控制、配置审核等D. 配置管理有助于解决软件生命周期中的版本冲突问题11. 软件开发过程中,需求分析的主要任务是?A. 确定软件开发的功能B. 编写需求规格说明书C. 进行系统设计D. 进行程序设计12. 在软件开发中,迭代过程是为了更好地适应变化,它主要包括哪几个阶段?A. 需求分析B. 设计C. 编码D. 测试13. 软件工程中的“软件”指的是什么?A. 程序和数据B. 程序、数据和文档C. 程序和数据,可运行D. 程序、数据和用户手册14. 软件工程的发展历程中,第一个正式发布的软件开发标准是?A. ISO 9000B. CMMIC. PMBOKD.软件开发生命周期(SDLC)15. 在软件工程中,测试的目的是什么?A. 证明软件的正确性B. 找出软件中的错误C. 提高软件的质量D. 规范软件的开发过程16. 软件工程中的“软件生命周期”通常包括哪几个阶段?A. 开发B. 运行C. 维护17. 软件工程中,版本控制的主要作用是什么?A. 监控软件的修改历史B. 管理软件的版本C. 确保软件的一致性D. 保证软件的可靠性18. 软件工程中,敏捷开发方法是一种以人为核心、迭代、循序渐进的开发方法,它的核心价值包括:A. 个体和互动跨功能团队B. 可用的软件客户合作C. 响应变化随时间进化D. 面向结果19. 在软件工程中,UML(统一建模语言)是一种用于描述、构造和编写软件系统的图形化语言,它通常用于以下哪个阶段?A. 需求分析B. 设计C. 编码D. 测试20. 软件工程的定义是什么?A. 软件工程是一门研究用工程化方法构建和维护有效、实用和高质量的软件的学科。

软件工程题库 多选

软件工程题库 多选

软件工程题库多选软件工程题库
一、软件工程概述
1.1 软件工程的定义
1.2 软件工程的历史和发展
1.3 软件工程的重要性和作用
1.4 软件工程的基本原则和方法
二、需求分析
2.1 需求分析的目的和任务
2.2 需求获取的方法
2.3 需求分析的基本步骤
2.4 需求规格说明的编写方法
2.5 需求变更管理
三、软件设计
3.1 软件设计的基本概念
3.2 结构化设计方法
3.3 面向对象设计方法
3.4 软件设计的工具和技术
四、软件开发
4.1 软件开发模型
4.2 需求开发
4.3 概要设计和详细设计
4.4 编码和单元测试
4.5 软件集成测试和系统测试
4.6 软件发布和部署
五、软件质量保证
5.1 软件质量的定义和标准5.2 质量保证的方法和技术5.3 质量控制的方法和技术5.4 测试的方法和技术
5.5 缺陷管理和缺陷修复
5.6 配置管理
六、软件项目管理
6.1 项目管理的基本概念
6.2 项目计划和进度管理
6.3 项目资源管理
6.4 项目风险管理
6.5 项目沟通和协作
附件:
附件1:需求规格说明书范例
法律名词及注释:
1:版权:对作品(包括软件)的著作权进行保护的权利。

2:商标:标识企业、商品或服务来源的标记,用于区分同类商品和服务。

3:专利:针对技术发明或创新的独占权。

4:许可证:授予他人使用特定软件的权利的文件。

5:合同:双方或多方达成的法律文件,规定了各方之间的权利和义务。

软件工程复习资料-完整版

软件工程复习资料-完整版

一、选择题:1、用例图中,用来表示用例的符号为( B ) 。

2、协作图中包含的元素包括(A ) 。

A. 对象 B. 链 C. 激活 D. 消息3、在类图中,哪种关系表达整体与部分的关系( D ) 。

A .泛化 B. 实现 C. 依赖 D. 聚合4、下列各种图形符号中,用来表示组成关系的符号为 (B )。

A. B. C. D.5 、(A )工具在软件的详细设计中不能使用。

A . DFD B. N-S 图 C. 流程图 D. PDL6 、 “软件危机”是指 (C )。

A. 计算机病毒的出现B. 利用计算机进行经济犯罪活动C. 软件开发和维护中出现的一系列问题D. 人们过分迷恋计算机系统7 、 快速原型是利用原型辅助软件开发的一种新思想,它是在研究 (A )的方法和技术中产生 的。

A. 需求阶段B. 设计阶段C. 测试阶段D. 软件开发的各个阶段8、从严格意义上讲,下列 4 个选项中属于顺序图的元素是(ABCD ) 。

A.对象B. 参与者C. 消息D. 激活9、下列 UML 图形中, (ABCD )属于 UML 的动态视图。

A. 协作图B. 状态图C. 活动图D. 顺序图10、数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功能是( D ) 。

A. 数据库设计B. 数据通信C. 数据关系描述D. 数据定义11、详细设计与概要设计衔接的图形工具是 (D )。

A. DFD 图B. 程序图C. PAD 图D. SC 图12 、UML 中,大多数建模者把节点分为(AC )A . 设备 B. 构件 C. 处理器 D. 显示器13 、(C)是一种特殊形式的状态机,用于对计算流程和工作流程建模。

A .时间图 B. 流程图 C. 活动图 D. 状态图14 、(A )描述从状态到状态的控制流程,常用来对系统的动态特征进行建模。

A. 状态图B. 序列图C. 协作图D. 活动图15、下列特点属于描述用例的特点的是( D ) 。

软件工程基础考试试题

软件工程基础考试试题

软件工程基础考试试题一、单选题(每题2分,共20分)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. PERT/CPMC. UMLD. 敏捷开发8. 在软件测试中,下列哪种测试方法是通过测试人员的随机操作来检验软件系统的可靠性:A. 黑盒测试B. 白盒测试C. 灰盒测试D. 增量测试9. 软件工程的核心原则包括:A. 模块化B. 重用C. 抽象D. 以上答案都正确10. 软件工程的关键技术包括:A. 需求分析和规格说明B. 概要设计和详细设计C. 编码和调试D. 以上答案都正确二、填空题(每题2分,共20分)1. 软件开发生命周期包括需求分析、设计、编码、测试、____和维护。

2. 软件需求分析的目标是明确软件的功能、性能和____。

3. 软件测试的基本原则之一是:测试应该完全独立于____。

4. 软件工程中常用的项目管理方法之一是____,用于确定最短的完成项目所需时间。

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

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

软件工程基础考试题目和答案一、选择题(每题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 :软件工程和项目管理基础★★★考点点拨:本考点考查软件工程和软件生成周期的概念,常用的软件开发模型,以及软件开发项目管理基础知识。

【试题1】软件工程三要素是______。

A)技术、方法和工具B)方法、工具和过程C)方法、对象和类D)过程、模型、方法答案:B分析:软件工程三要素:方法、工具和过程。

软件工程方法为软件开发提供了“如何做”的技术。

软件工具为软件工程方法提供了自动的或半自动的软件支撑环境。

软件工程过程定义了:方法使用的顺序、要求交付的文档资料、为保证质量和适应变化所需要的管理以及软件开发各个阶段完成的工作。

理论链接:软件工程概述1.软件危机软件危机是指计算机软件开发和维护过程中所遇到的一系列严重问题。

概括的说即为:能否满足对软件日益增长的需求?能否维护数量日益增长的现有软件?2.软件工程软件工程是一类求解软件的工程,它应用计算机科学、数学及管理科学等原理,借鉴传统工程的原则、方法,创建软件以达到提高质量、降低成本的目的。

其中,计算机科学、数学用于构造模型与算法,工程科学用于制定规范、设计范型、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。

软件工程是一门指导计算机软件开发和维护的工程学科。

软件工程准则可以概括为六条基本原理:(1)用分阶段的生存周期计划严格管理;(2)坚持进行阶段评审;(3)实行严格的产品控制;(4)采用现代程序设计技术;(5)应能清楚地审查结果;(6)合理安排软件开发小组的人员。

【试题2】软件开发的结构化生命周期方法将软件生命周期划分成______。

A)计划阶段、开发阶段、运行阶段B)计划阶段、编程阶段、测试阶段C)总体设计、详细设计、编程调试D)需求分析、功能定义、系统设计答案:A【试题3】软件生命周期的最后的一个阶段是______。

A)书写软件文档B)软件维护C)稳定性测试D)书写详细用户说明答案:B理论链接:软件生存(生命)周期软件生存周期:软件的产生直到报废的生命周期。

软件工程基础知识(事业单位计算机考试常考知识点总结)

软件工程基础知识(事业单位计算机考试常考知识点总结)

软件工程基础知识(事业单位计算机考试
常考知识点总结)
1. 软件工程概述
- 软件工程的定义
- 软件工程的发展历程
- 软件工程的目的和特点
2. 软件生命周期
- 软件生命周期的定义和阶段划分
- 软件开发过程中的需求分析、设计、编码、测试和维护等阶段
3. 软件需求工程
- 软件需求的定义和分类
- 软件需求获取的方法和技术
- 软件需求规格说明的编写方法
4. 软件设计
- 软件设计的目标和原则
- 软件设计模块化和结构化的方法- 软件设计中常用的各类图形工具
5. 软件测试与调试
- 软件测试的定义和目标
- 软件测试的原则和分类
- 软件测试用例的设计和执行方法- 软件调试的方法和技巧
6. 软件维护与演化
- 软件维护的定义和类型
- 软件维护的过程和策略
- 软件演化的原因和方法
7. 软件质量管理
- 软件质量的定义和评估
- 软件质量保证的方法和技术
- 软件缺陷管理和修复方法
8. 软件项目管理
- 软件项目管理的目标和原则
- 软件项目计划和进度管理
- 软件项目团队建设和沟通管理
9. 软件工程风险管理
- 软件工程风险的定义和分类
- 软件工程风险的识别和评估
- 软件工程风险的控制和应对
以上是关于软件工程基础知识的一些常考知识点总结,希望能帮助到您的事业单位计算机考试。

请按照考试大纲进行进一步的学习和复习。

公共基础——软件工程基础

公共基础——软件工程基础

公共基础——软件工程基础软件工程基础知识1、构成计算机软件的是()。

A、源代码B、程序和数据C、程序和文档D、程序、数据及相关文档参考答案:D【解析】软件指的是计算机系统中与硬件相互依赖的另一部分,包括程序、数据和有关的文档,选D。

2、软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。

下面属于应用软件的是()。

A、编译程序B、操作系统C、教务管理系统D、汇编程序参考答案:C【解析】编译软件、操作系统、汇编程序都属于系统软件,只有C教务管理系统才是应用软件。

3、. 软件生命周期中的活动不包括()。

A、市场调研B、需求分析C、软件测试D、软件维护参考答案:A【解析】软件生命周期可以分为软件定义、软件开发与软件运行维护三个阶段。

主要活动阶段是:可行性研究与计划阶段,需求分析,软件设计,软件实现,软件测试,运行和维护,所以选择A。

4、负责数据库中查询操作的数据库语言是()。

A、数据定义语言B、数据管理语言C、数据操纵语言D、数据控制语言参考答案:C【解析】数据定义语言:负责数据的模式定义与数据的物理存取构建;数据操纵语言:负责数据的操纵,包括查询及增、删、改等操作;数据控制语言:负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能。

5、软件生命周期是指()。

A、软件产品从提出、实现、使用维护到停止使用退役的过程B、软件从需求分析、设计、实现到测试完成的过程C、软件的开发过程D、软件的运行维护过程参考答案:A【解析】通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。

也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。

6、在下列模式中,能够给出数据库物理存储结构与物理存取方法的是()。

A、外模式B、内模式C、概念模式D、逻辑模式参考答案:B【解析】数据库系统的三级模式是概念模式、外模式和内模式。

概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图。

软件工程基础知识试题及

软件工程基础知识试题及

软件工程基础知识试题及答案解析软件工程基础知识试题及答案解析第一节:单项选择题1. 以下哪个不是软件工程的关键活动?A. 需求分析与规格说明B. 设计与实现C. 维护与更新D. 市场分析与调研答案:D解析:软件工程的关键活动包括需求分析与规格说明、设计与实现、维护与更新等,市场分析与调研是软件工程的前期准备活动,不属于关键活动。

2. 下列哪个不是软件测试的基本原则?A. 测试应该尽可能早地开始B. 测试应该尽可能晚地结束C. 测试应该覆盖尽可能多的场景D. 测试应该定期进行答案:B解析:软件测试的基本原则包括测试应该尽可能早地开始、测试应该覆盖尽可能多的场景、测试应该定期进行等,测试应该尽可能晚地结束不符合软件测试的基本原则。

3. 下面哪个不是软件需求的特点?A. 可变性B. 不精确性C. 差异性D. 一致性答案:D解析:软件需求的特点包括可变性、不精确性、差异性等,一致性不属于软件需求的特点。

4. 下列哪个不是软件开发生命周期模型?A. 瀑布模型B. 增量模型C. 敏捷模型D. 螺旋模型答案:C解析:软件开发生命周期模型包括瀑布模型、增量模型、螺旋模型等,敏捷模型不属于软件开发生命周期模型。

5. 下列哪个不是软件缺陷的分类?A. 语法错误B. 逻辑错误C. 界面错误D. 运行时错误答案:C解析:软件缺陷的分类包括语法错误、逻辑错误、运行时错误等,界面错误不属于软件缺陷的分类。

第二节:简答题1. 简要说明软件工程的定义和特点。

答:软件工程是研究和应用一种用工程化的方法开发和维护软件的学科。

软件工程的特点包括:复杂性、可变性、不可见性、不可测性等。

复杂性指的是软件系统往往由多个模块组成、包含大量的代码和数据,并且相互之间存在复杂的关系;可变性指的是软件系统的需求和规格常常会发生变化;不可见性指的是软件系统是不存在于物理空间中的,只能通过人机交互的方式来感知;不可测性指的是软件系统的行为和性能往往难以预测和估计。

软件工程基础知识考试资料

软件工程基础知识考试资料

软件工程基础知识考试资料软件工程基础知识考试资料包含许多关键的概念和理论,这些知识对于软件工程师来说是至关重要的。

本文将介绍一些常见的考试资料,以帮助读者更好地了解软件工程基础知识。

一、软件开发过程软件开发过程是软件工程基础中最重要的一部分。

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

在这些阶段中,软件工程师需要掌握如何正确地制定项目计划、如何有效地管理时间和资源、如何保证软件质量等知识。

软件开发过程中,还需要考虑如何设计合适的软件体系结构、如何选择合适的软件开发方法以及如何评估和控制软件开发过程中的各种风险。

二、软件需求分析与规格说明软件需求分析是软件工程中的重要环节之一。

在软件开发过程中,需求分析是关键步骤,其目的是确保软件开发过程满足用户需求和期望。

同时,需求分析还需要确定软件功能需求、非功能需求和对软件系统环境的要求等。

需要考虑的软件需求分析的技术包括数据流图(DFD)、统一建模语言(UML)和规格说明语言等。

重点是要确保需求分析和规格说明的一致性和完整性。

三、软件架构软件架构是软件系统的主要骨干部分,包含了软件系统的组成部分以及它们之间的关系。

在软件设计过程中,软件架构是一个关键的决策因素。

一个优秀的软件架构需要具备很多要求,如高可用性、高性能、可扩展性、安全性等等。

在软件架构的设计中,需要掌握相应的设计方法和技术。

包括面向对象设计(OOD)、面向服务的架构(SOA)、分层架构等。

同时,还需了解常见的软件架构模式,如模型-视图-控制器(MVC)、门户样式等。

四、设计模式和编程原则设计模式是软件设计中的重要部分,它们是解决相似问题的最佳实践的集合。

设计模式可以节省时间和资源,并提高系统的可维护性和可扩展性。

学习设计模式和实践将有助于提高您的软件设计能力和代码质量。

此外,编程原则也是软件开发中的重要内容之一。

编程原则是一组指导原则,旨在提高代码的可读性、可维护性和可扩展性。

常见的编程原则包括单一职责原则、开放/封闭原则、里氏替换原则、接口隔离原则和依赖反转原则等。

软件工程基础知识考试资料

软件工程基础知识考试资料

专题七:软件工程专题1、软件工程知识1.1概述软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程。

其目的是提高软件生产率、提高软件质量、减低软件成本。

软件工程是1968年在德国的NATO会议上提出的,希望用工程化的原则和方法来克服软件危机;而软件危机就是软件开发和维护过程中的各种问题,由于软件开发阶段缺乏好的方法的指导和好的工具的辅助,而且缺少有关的文档,使得大量的软件难以维护。

软件生命周期是指由软件定义、软件开发和软件维护等阶段组成的全过程,反映软件生存期内各种工作得组织以及各个阶段如何衔接。

下表归纳了软件生存周期各个阶段的任务、参与人员和产生文档。

现功能的扩充和质量的改善而修改软件软件由计算机程序、数据及文档组成,同时与硬件、数据库人、过程等共同构成计算机系统。

软件工程包括三个要素:方法、工具和过程。

主要的软件开发方法有以下几种方法:生命周期法:命周期法认为:每一个软件系统都有一定的生命周期。

软件的生命周期是指一个软件系统从其提出、调查到分析、设计和有效使用,直至被淘汰或取代的整个期间。

软件生命周期法就是按软件生命周期的各个阶段划分任务,按一定的规则和步骤,有效地进行软件开发的方法。

通常一个软件系统的生命周期可分为五个阶段:准备阶段、分析阶段、设计阶段、实施阶段、运行与维护阶段原型法:原型法是先根据用户的最主要要求,开发出能实现系统最基本功能的一个原型,再根据用户对原型使用与评价的意见,反复修改完善原型,直到等到用户满意的最终系统为止。

原型法分4个阶段:确定用户需求;设计原型;使用、评价原型;修改、完善原型。

1.2软件分析软件开发模型:瀑布模型;演化模型(原型法);螺旋模型;喷泉模型(迭代和无间隙);软件成本模型;可行性分析的任务是从技术上、经济上、使用上、法律上分析需解决的问题是否存在可行的解。

需求分析是软件生存周期中相当重要的一个阶段。

需求分析主要是确定待开发软件的功能、性能、数据、界面等要求。

软件工程基础知识考试

软件工程基础知识考试

软件工程基础知识考试(答案见尾页)一、选择题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. 1周B. 2周C. 3周D. 4周9. 在软件工程中,什么是配置管理?A. 管理软件配置项的过程B. 软件开发过程中的一个活动C. 与软件开发和维护相关的所有活动的集合D. 软件开发完成后进行的活动10. 软件工程的定义是什么?A. 软件工程是一门研究用工程化方法构建和维护有效、实用和高质量的软件的学科。

B. 软件工程关注软件的开发、测试、维护和项目管理。

C. 软件工程的目标是实现软件的自动化开发。

D. 软件工程是一种实践性知识,不依赖于特定的工具或技术。

11. 软件开发过程中通常使用的模型有哪些?A. 瀑布模型B. 迭代模型C. 螺旋模型D. 面向服务的模型12. 什么是需求分析?它在软件开发过程中的作用是什么?A. 需求分析是识别和分析软件系统需要满足的条件或功能的过程。

B. 需求分析在软件开发过程中确保最终产品满足用户需求。

软件工程复习资料选择题简化版

软件工程复习资料选择题简化版

一、单项选择题1.软件开发旳瀑布模型最经典地刻画了软件生命周期旳阶段划分, 而与其最相适应旳软件开发措施是( C )A 构件化措施B 面向对象措施C 构造化措施D 原型化措施2.与软件开发措施亲密有关旳应是支持该措施实行旳软件工具, 将它们有机地集成起来则构成一种( A )A 软件工程环境B 软件开发规范C 软件生产线D 软件开发工具3.软件生命周期一般可以分为两个大旳阶段, 它们分别是( B )A 分析和设计B 开发和运行C 编码和测试D 规划和设计4.软件构造图能描述软件系统旳总体构造, 它应在软件开发旳哪一种阶段提出?( B )A 需求分析B 总体(概要)设计C 详细设计D 代码编写5.软件需求阐明书中应包括多方面旳内容, 下述哪个不是软件需求阐明书中应包括旳内容?( D )A 数据描述B 功能描述C 性能描述D 构造描述6.软件测试措施一般有黑盒测试和白盒测试, 而黑盒测试重要是根据程序旳( C )旳测试。

A 构造B 流程C 功能D 逻辑7、在面向对象中, 为了实现信息隐蔽而把对象旳所有属性内容和服务旳实现过程结合成为一种独立旳实体。

这种数据组织旳构造方式属于( B )。

A 继承B 封装C 构造与连接D 消息8、在软件旳使用过程中, 根据顾客提出旳新增系统功能和改善性能旳规定而对软件进行修改或再开发, 以扩充软件功能、增强软件性能、改善加工效率、提高软件质量旳工作属于( D )。

A 适应性维护B 防止性维护C 改正性维护D 完善性维护9、耦合性用来度量模块之间联络旳次数和强度, 模块之间旳耦合性越低越好, 内聚性越高越好。

下面哪个属于中度耦合( A )。

P191A 数据耦合B 控制耦合C 外部耦合D 内容耦合10、程序测试是一项复杂旳工作, 一般测试者在进行测试中都需要设计( B )。

A 数据构造B 测试实例C 测试阶段D 测试措施1.软件是一种( B )产品。

A 有形B 逻辑C 物质D 消耗2.软件危机旳重要原因有( C )。

软件工程基础知识考试

软件工程基础知识考试

软件工程基础知识考试(答案见尾页)一、选择题1. 软件工程的基本原理是什么?A. 线性顺序开发B.迭代和增量开发C. 自顶向下,逐步求精D. 需求驱动和变更管理2. 软件开发过程中,需求分析的目的是什么?A. 确定软件开发的具体功能需求B. 编写需求规格说明书C. 评估项目可行性D. 规划如何构建和维护软件3. 软件设计的主要阶段有哪些?A. 概念设计B. 详细设计C. 结构设计D. 过程设计4. 在敏捷开发方法中,迭代周期通常有多长?A. 1-2周B. 4-6周C. 3-4个月D. 2-4周5. 软件测试的目的是什么?A. 保证软件质量B. 提高软件效率C. 降低维护成本D. 提高用户满意度6. 数据库设计通常遵循哪些基本原则?A. 数据完整性B. 数据安全性C. 数据一致性D. 数据及时性7. 在软件开发中,版本控制工具的主要作用是什么?A. 整理源代码文件B. 跟踪代码变更历史C. 版本控制项目管理D. 提供协作开发环境8. 软件维护主要包括哪些活动?A. 修复缺陷B. 更新文档C. 性能优化D. 安全性增强9. 面向对象编程(OOP)的四个基本特性是什么?A. 封装B. 多态C. 继承D. 抽象10. 什么是敏捷开发,它与其他开发方法的区别是什么?A. 敏捷开发是一种软件开发方法,它强调团队合作和快速响应变化。

B. 敏捷开发与其他开发方法的区别在于它采用了迭代和增量的开发方式,而不是瀑布模型。

C. 敏捷开发强调的是文档的重要性。

D. 敏捷开发是一种运动,而不是一种软件开发方法。

11. 软件工程的基本概念是什么?A. 软件工程是一门技术学科,它涉及到软件的开发、维护和管理。

B. 软件工程是应用计算机科学、数学及管理科学等原理来开发软件的学科。

C. 软件工程注重软件的可靠性、可用性和可维护性。

D. 软件工程的目标是生产高质量的软件产品。

12. 软件开发过程中通常遇到的三种风险是什么?A. 技术风险B. 经济风险C. 过程风险D. 人员风险13. 软件生命周期通常包括哪几个阶段?A. 需求分析B. 设计C. 编码D. 测试E. 部署和维护14. 在软件开发中,需求分析的目的是什么?A. 确定软件系统的功能和性能要求。

软件工程基础知识考试资料

软件工程基础知识考试资料

软件工程基础知识考试资料1. 软件工程概述软件工程是指应用科学原理和方法,以及工程管理原则,系统地进行软件开发、维护和演化的一种工程学科。

软件工程的目标是提高软件的质量、可靠性、可维护性和可复用性,降低软件开发和维护的成本和时间。

2. 软件生命周期软件生命周期是指软件从概念到退役的全过程,包括需求分析、系统设计、编码、测试、部署、维护等阶段。

常见的软件开发生命周期模型有瀑布模型、迭代模型、敏捷模型等。

2.1 瀑布模型瀑布模型是最早提出的软件开发生命周期模型,它按照线性顺序依次完成需求分析、系统设计、编码、测试和维护等阶段。

瀑布模型的优点是结构清晰,适用于开发稳定的需求;缺点是适应性差,无法应对需求变化。

2.2 迭代模型迭代模型是按照循环迭代的方式完成软件开发的模型,每个迭代周期内包括需求分析、系统设计、编码、测试和维护等阶段。

迭代模型的优点是适应性强,能够应对需求变化;缺点是进度不确定,需求可能会不断变化。

2.3 敏捷模型敏捷模型是一种强调灵活性和迭代开发的软件开发方法。

敏捷开发通过快速迭代、持续交付和团队协作来应对需求的变化。

常见的敏捷开发方法有Scrum、XP、DevOps等。

3. 软件需求工程软件需求工程是软件工程的重要组成部分,主要包括需求获取、需求分析、需求规格说明和需求验证等阶段。

3.1 需求获取需求获取是指从项目相关方获取对软件功能和性能的需求。

常用的需求获取方法有访谈、问卷调查、案例分析等。

3.2 需求分析需求分析是对需求进行细化、整理和优化的过程。

需求分析的目标是明确需求背后的业务逻辑,识别需求的优先级和约束条件。

3.3 需求规格说明需求规格说明是将需求以文档形式记录下来,包括用户需求、功能需求、非功能需求等。

常用的需求规格说明方法有用例图、活动图、状态图等。

3.4 需求验证需求验证是确保软件产品满足用户需求的过程。

常用的需求验证方法有测试、验收和用户反馈等。

4. 软件设计与架构软件设计是指在需求分析的基础上,将系统分解为不同的模块,并定义各模块之间的接口和关系。

软件工程基础考试

软件工程基础考试

软件工程基础考试(答案见尾页)一、选择题1. 软件工程的基础是什么?A. 程序设计B. 数据结构C. 硬件D. 需求分析2. 软件开发过程中,需求分析的目的是什么?A. 确定软件开发的功能需求B. 规划软件的架构设计C. 编写代码D. 进行系统测试3. 在敏捷开发中,迭代周期通常是什么?A. 一周B. 一个月C. 一个季度D. 六个月4. 软件工程的五大基本质量特性包括:功能性、可靠性、易用性、效率、可维护性。

其中,易用性是指软件易于理解和使用的能力。

这一特性是由哪个因素决定的?A. 用户的经验B. 开发者的技术水平C. 用户的技能水平D. 软件的设计和实现5. 在软件开发中,版本控制是一种有效的管理手段,它可以跟踪文件的变更历史并协助开发者协作。

以下关于版本控制的描述,不正确的是:A. Git是一种广泛使用的版本控制系统B. 版本控制可以防止软件被非法复制C. 版本控制可以帮助开发者回滚到以前的版本D. 版本控制可以确保不同开发者的工作同步6. 在软件工程中,测试是为了发现错误而执行程序的过程。

以下关于软件测试的描述,不正确的是:A. 测试应该尽早开始,贯穿整个软件开发过程B. 回归测试是在软件修改后进行的,目的是验证之前的错误已经修复C. 集成测试是在软件的各个模块组装在一起后进行的测试D. 功能测试和性能测试是软件测试的两种类型7. 软件工程师在编写代码时需要遵循一些命名约定,以便其他开发者能够更容易地理解和维护代码。

以下关于软件工程师命名约定的描述,不正确的是:A. 变量名应该使用小写字母和下划线(例如:user_name)B. 常量名应该使用全大写字母和下划线(例如:MAX_VALUE)C. 函数名应该使用动词开头的小写字母(例如:get_data)D. 类名应该使用大驼峰命名法(例如:UserInformation)8. 在软件开发中,配置管理是一种用于控制软件开发和维护过程中的变更的过程。

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

专题七:软件工程专题
1、软件工程知识
1.1概述
软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程。

其目的是提高软件生产率、提高软件质量、减低软件成本。

软件工程是1968年在德国的NATO会议上提出的,希望用工程化的原则和方法来克服软件危机;而软件危机就是软件开发和维护过程中的各种问题,由于软件开发阶段缺乏好的方法的指导和好的工具的辅助,而且缺少有关的文档,使得大量的软件难以维护。

软件生命周期是指由软件定义、软件开发和软件维护等阶段组成的全过程,反映软件生存期内各种工作得组织以及各个阶段如何衔接。

下表归纳了软件生存周期各个阶段的任务、参与人员和产生文档。

现功能的扩充和质量的改善而
修改软件
软件由计算机程序、数据及文档组成,同时与硬件、数据库人、过程等共同构成计算机系统。

软件工程包括三个要素:方法、工具和过程。

主要的软件开发方法有以下几种方法:
生命周期法:命周期法认为:每一个软件系统都有一定的生命周期。

软件的生命周期是指一个软件系统从其提出、调查到分析、设计和有效使用,直至被淘汰或取代的整个期间。

软件生命周期法就
是按软件生命周期的各个阶段划分任务,按一定的规则和步骤,有效地进行软件开发的方法。

通常一个软件系统的生命周期可分为五个阶段:准备阶段、分析阶段、设计阶段、实施阶段、运行与维护阶段
原型法:原型法是先根据用户的最主要要求,开发出能实现系统最基本功能的一个原型,再根据用户对原型使用与评价的意见,反复修改完善原型,直到等到用户满意的最终系统为止。

原型法分4个阶段:确定用户需求;设计原型;使用、评价原型;修改、完善原型。

1.2软件分析
软件开发模型:瀑布模型;演化模型(原型法);螺旋模型;喷泉模型(迭代和无间隙);软件成本模型;可行性分析的任务是从技术上、经济上、使用上、法律上分析需解决的问题是否存在可行的解。

需求分析是软件生存周期中相当重要的一个阶段。

需求分析主要是确定待开发软件的功能、性能、数据、界面等要求。

具体有以下几点:
➢确定软件系统的综合要求
➢分析软件系统的数据要求
➢导出系统的逻辑模型
➢修正项目开发计划
➢如有必要,可开发一个原型系统
需求分析的基本原则是能够表达和理解问题的信息域和功能域;以层次化的方式进行分解和不断细化;要给出系统的逻辑视图和物理视图;
描述软件需求的方法:
功能层次模型:一般来讲就是系统的功能图,模块分布图等描述整个系统的功能的分布和功能的
层次结构;
数据流模型:就是以数据流为着眼点的分析方法得到的模型,主要通过数据在整个系统的流动情况来确定系统的主要功能主线和流程;
控制流模型:通过了解和界定系统中控制线,通过控制流的走向和控制的对象来确定系统的功能分布和控制与被控制的关系;
结构化分析(SA)方法是一种面向数据流的需求分析方法,它适用于分析大型数据处理系统。

结构化分析方法的基本思想是自顶向下逐层分解,这样做可以把一个大问题分解成若干个小问题,经过多次逐层分解,每个最底层的问题都是足够简单、容易解决的,这个过程就是分解的过程。

结构化方法的分析结果由数据流图DFD、数据词典和加工逻辑说明几个部分组成。

其中,DFD的基本成分有数据流(data flow)、加工(process)、文件(file)和源/宿(source/sink)。

⏹画数据流图的基本步骤:自外向内、自顶向下、逐层细化、完善求精;
⏹数据流图的父图与子图要平衡, 即输入和输出的数据流一致;
⏹数据流图中的每个加工至少有一个输入数据流和一个输出数据流;
⏹局部的数据存储不画出来,只有当局部数据存储作为某些数据加工之间的数据接口才画出,这
有利于信息隐蔽;
⏹画数据流的时候不画控制流,两者的区别就是控制流中没有数据;
⏹一个加工的数据流与输出流不应该同名;
⏹允许一个加工有多条数据流流向另一个加工,也允许一个加工有两个相同的输出流向两个不同
的加工;
⏹保持数据守恒:一个加工的所有输出数据必须能从该加工的所有的输入流中获得;
⏹在整套数据流图中,每个文件都必须既有读文件的数据流也有写文件的数据流;
软件开发过程中的软件工程原则(8个):
➢抽象;
➢自顶向下、逐层细化;
➢信息隐蔽和数据封装;
➢模块化;。

相关文档
最新文档