软件工程开发学考题(带答案)
《软件工程》11套考试复习练习试题、作业题[含答案解析]
作业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. 软件工程过程有哪几个基本过程活动?试说明之。
软件工程考试题及答案
软件工程考试题及答案一、单项选择题(每题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. 简答题1.1 请简述软件生命周期模型,包括传统瀑布模型和敏捷开发模型。
传统瀑布模型:软件生命周期模型的一种经典模型,包含需求分析、系统设计、编码、测试和运维等阶段,每个阶段完成后才能进入下一个阶段。
优点:- 易于理解和使用;- 需求固定,有利于计划和控制;缺点:- 需求变更困难;- 风险高,需求出错难以弥补;- 开发周期长,无法满足紧迫的需求。
敏捷开发模型:一种适应快速变化需求的软件开发模型,主要包括用户故事编写、迭代开发、持续集成和自动化测试等实践。
优点:- 高度适应变化;- 可以提供早期可用软件;- 强调团队合作和沟通;缺点:- 需要高度的客户参与度;- 需要经验丰富的开发团队;- 不适用于大型项目。
1.2 什么是需求工程?请简述需求工程的过程和方法。
需求工程:需求工程是软件开发过程中用来获取、分析、定义和验证系统需求的过程。
它的目标是建立对用户需求的准确和完整的理解。
需求工程的过程:1. 需求获取:通过与用户、利益相关者沟通和交流获取用户需求。
2. 需求分析:对需求进行分析、整理,形成需求的详细描述。
3. 需求定义:将需求进行文档化,包括功能需求、非功能需求等。
4. 需求验证:通过原型、模型或评审等方式验证需求的正确性和完整性。
需求工程的方法:- 面谈法:与用户、利益相关者进行面对面的交谈,获取需求信息。
- 观察法:观察用户的工作环境和行为,了解其需要的功能和约束条件。
- 文献研究法:通过研究现有的相关文档来获取需求信息。
- 原型法:通过创建原型,让用户提供反馈并进一步明确需求。
2. 算法设计题有一组整数,编写一个算法将这组整数按照从小到大的顺序进行排序。
算法设计:1. 将整数数组按照从小到大的顺序进行排序。
2. 使用冒泡排序算法:- 比较相邻的两个数,如果前一个数大于后一个数,则交换它们的位置。
- 重复上述操作,直到没有任何交换发生,即数组已经按照从小到大的顺序排列好。
软件工程开发学考题(带答案)
一.选择题:1.软件危机出现于___,为了解决软件危机,人们提出了用____的原理来设计软件,这是软件工程诞生的基础。
〔C、B 〕A.50年代末B.60年代初C.60年代末D.70年代初A.运筹学B.工程学C.软件学D.软件学E.数字2.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作__B_。
A.软件投机B.软件危机C.软件工程D.软件产生3.产生软件危机的原因有如下几点,除了___D__。
A、软件开发过程未经审查B、软件开发不分阶段,开发人员没有明确的分工C、所开发的软件,除了程序清单外,没有其他文档D、采用工程设计的方法开发软件,不符合软件本身的特点4.软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是__B_。
A.引入新技术提高空间利用率B.用较少的投资获得高质量的软件C.缩短研制周期扩大软件功能D.硬软件结合使系统面向应用5.一个软件项目是否进行开发的结论是在___B__文档中作出的。
A、软件开发计划B、可行性报告C、需求分析说明书D、测试报告6 .变换型和事务型是程序结构的标准形式。
从某处获得数据,再对这些数据作处理,然后将结果送出是属于_A__。
A.变换型 B 事务型7 .需求分析说明书不能作为___A__。
A、可行性研究的依据B、用户和开发人员之间的合同C、系统概要设计的依据D、软件验收测试的依据8 .结构化分析方法以数据流图、_D__和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型。
A.DFD图B.PAD图C.IPO图D.数据字典9 .系统开发人员使用系统流程图或其他工具描述系统,估计每种方案的成本和效益的工作是在____B_阶段进行的。
A、需求分析B、总体设计C、详细设计D、编码阶段10.以下___D不是模块化设计的目的。
A、可采用结构化设计方法B、降低复杂度C、有利于信息隐蔽D、描述系统的功能与性能11.某个模块的作用域是指___D__。
软件工程考试题及答案
软件工程考试题及答案一、选择题1. 下列哪个不是软件工程的基本原则?A. 持续集成B. 形式化表示C. 高内聚低耦合D. 可重用性答案:B. 形式化表示2. 软件的可靠性是指什么?A. 软件的正确性B. 软件的可维护性C. 软件的效率D. 软件的稳定性答案:D. 软件的稳定性3. 下列哪个不是软件测试的目标?A. 发现软件中的错误和缺陷B. 验证软件是否满足用户需求C. 评估软件的质量D. 在短时间内完成软件开发答案:D. 在短时间内完成软件开发二、判断题1. 软件工程是一门工程学科,其目标是通过系统化的、规范化的方法对软件进行开发、运行和维护。
答案:正确2. “高内聚低耦合”是软件工程中的重要原则,指的是模块之间的独立性和模块之间的依赖程度。
答案:正确3. 软件需求分析是软件开发过程中的最后一步,最终确定软件系统的功能和性能。
答案:错误三、简答题1. 什么是软件工程?答:软件工程是一门工程学科,通过系统化的、规范化的方法对软件进行开发、运行和维护。
它涉及软件开发的各个阶段,包括需求分析、设计、编码、测试和维护等,并注重管理和团队合作,以提高软件质量、降低开发成本和加快开发进度。
2. 软件测试的目的是什么?答:软件测试的目的是发现软件中的错误和缺陷,验证软件是否满足用户需求,并评估软件的质量。
通过测试,可以提高软件的可靠性和稳定性,减少软件在使用过程中的风险。
3. 请简述软件开发生命周期中的各个阶段。
答:软件开发生命周期包括需求分析、设计、编码、测试和维护等阶段。
- 需求分析阶段:确定软件系统的功能、性能和约束条件,明确用户需求。
- 设计阶段:根据需求分析结果设计软件系统的结构和模块,确定软件的整体框架。
- 编码阶段:根据设计阶段的文档编写程序代码,实现软件系统的各个功能。
- 测试阶段:对软件进行各种测试,包括单元测试、集成测试和系统测试,以发现错误和缺陷。
- 维护阶段:根据用户反馈和需求变化,对软件进行修复和更新,确保其持续稳定运行。
软件工程学试题及答案
软件工程学试题及答案一、单项选择题(每题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.软件开发瀑布模型中的软件定义时期各个阶段依次是:(B)A)可行性研究,问题定义,需求分析。
B)问题定义,可行性研究,需求分析。
C)可行性研究,需求分析,问题定义。
D)以上顺序都不对。
2.可行性研究主要从以下几个方面进行研究:(A)A)技术可行性,经济可行性,操作可行性。
B)技术可行性,经济可行性,系统可行性。
C)经济可行性,系统可行性,操作可行性。
D)经济可行性,系统可行性,时间可行性。
3 耦合是对软件不同模块之间互连程度的度量。
各种耦合按从强到弱排列如下:(C)A)内容耦合,控制耦合,数据耦合,公共环境耦合。
B)内容耦合,控制耦合,公共环境耦合,数据耦合。
C)内容耦合,公共环境耦合,控制耦合,数据耦合。
D)控制耦合,内容耦合,数据耦合,公共环境耦合。
4.在详细设计阶段所使用到的设计工具是:(A)A)程序流程图,PAD图,N-S图,HIPO图,判定表,判定树.B)数据流程图,Yourdon 图,程序流程图,PAD图,N-S图,HIPO图。
C)判定表,判定树,PDL,程序流程图,PAD图,N-S图。
D)判定表,判定树,数据流程图,系统流程图,程序流程图,层次图。
5 按照软件工程的原则,模块的作用域和模块的控制域之间的关系是:(A)A)模块的作用域应在模块的控制域之内。
B)模块的控制域应在模块的作用域之内。
C)模块的控制域与模块的作用域互相独立。
D)以上说法都不对。
6在软件生命周期中,能准确确定软件系统的体系结构的功能阶段是(C)A.概要设计B.详细设计C.需求分析D.可行性分析7下面不是软件工程的3个要素的是(C)A过程 B.方法 C.环境 D.工具8.下面不属于软件的组成的是(B)A程序 B.记录 C.文档 D.数据9在瀑布模型中,将软件分为若干个时期,软件项目的可行性研究一般归属于(C)A.维护时期B.运行时期C.定义时期D.开发时期10.在瀑布模型中,下面(C)是其突出的缺点。
最新软件工程考试题库(含答案和解析)
最新软件工程考试题库(含答案和解析)一、选择题1. 以下哪个不是软件工程的三个基本目标之一?A. 可维护性B. 可靠性C. 可用性D. 低成本答案:D解析:软件工程的三个基本目标是可维护性、可靠性和可用性。
低成本虽然也是一个重要的考虑因素,但并不是软件工程的基本目标。
2. 以下哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程答案:A解析:面向对象编程(OOP)通过将数据和操作数据的方法封装在一起,降低了软件复杂性,提高了代码的可重用性和可维护性。
3. 软件开发过程中,以下哪个阶段需要进行需求分析?A. 设计阶段B. 编码阶段C. 测试阶段D. 需求分析阶段答案:D解析:需求分析是软件开发过程中的第一个阶段,其主要任务是明确软件系统的功能、性能等需求。
4. 以下哪个软件工程方法主要关注软件项目的管理?A. 敏捷开发B. ScrumC. UMLD. 设计模式答案:B解析:Scrum 是一种敏捷开发方法,主要关注软件项目的管理和团队协作。
UML(统一建模语言)主要用于软件设计,设计模式主要用于解决软件设计中的常见问题。
5. 以下哪个软件工具主要用于版本控制?A. GitB. EclipseC. JiraD. Visual Studio答案:A解析:Git 是一款分布式版本控制系统,主要用于跟踪和管理软件开发过程中的代码变更。
二、填空题1. 软件工程的基本活动包括______、______、______和______。
答案:需求分析、设计、编码、测试2. 敏捷开发的核心价值观包括______、______、______、______和______。
答案:个体和互动、工作软件、客户协作、响应变化、持续交付3. 软件开发过程中,常用的设计模式包括______、______、______、______和______。
答案:工厂模式、单例模式、策略模式、装饰模式、观察者模式4. 软件测试的目的是______、______和______。
软件开发试题及答案
软件开发试题及答案一、选择题(每题2分,共10分)1. 下列关于软件开发生命周期的描述中,错误的是:A. 需求分析阶段是软件开发的第一步B. 设计阶段需要确定软件的内部结构C. 编码阶段是将设计转换为代码D. 测试阶段是软件开发的最后阶段答案:D2. 在软件开发过程中,需求分析阶段的主要任务是什么?A. 编写代码B. 确定软件的功能和性能C. 进行软件测试D. 部署软件答案:B3. 敏捷开发方法的核心理念是:A. 过程和工具B. 文档和规范C. 个人和交互D. 客户合作答案:C4. 在面向对象编程中,封装的目的是:A. 提高代码的可读性B. 隐藏对象的实现细节C. 提高代码的执行效率D. 增加代码的复杂性答案:B5. 下列关于软件测试的描述中,正确的是:A. 测试是为了证明软件无错误B. 测试是为了发现软件的错误C. 测试可以提高软件的性能D. 测试是软件开发的可选步骤答案:B二、填空题(每题2分,共10分)1. 在软件开发过程中,需求分析阶段的主要任务是确定软件的________和________。
答案:功能;性能2. 敏捷开发方法强调的是________和________。
答案:迭代;增量3. 在面向对象编程中,继承的目的是________。
答案:代码重用4. 软件测试的主要目的是________。
答案:发现错误5. 在软件开发中,维护阶段包括________和________。
答案:纠错;改进三、简答题(每题5分,共20分)1. 请简述软件开发生命周期的主要阶段。
答案:需求分析、系统设计、实现、测试、部署、维护。
2. 敏捷开发方法与传统开发方法相比有哪些优势?答案:敏捷开发方法具有更高的灵活性和适应性,能够更快地响应变化,强调团队合作和客户参与,以及持续交付价值。
3. 面向对象编程的三大特性是什么?答案:封装、继承、多态。
4. 软件测试的目的是什么?答案:软件测试的目的是确保软件的质量,通过发现和修复错误来提高软件的可靠性和性能。
软件开发技术考试复习题及参考答案
软件开发技术一、填空题1、软件工程学的内容可包括()、结构、()、()、环境、管理、规范等。
2、软件生存周期一般可分为问题定义、()、()、设计、()、测试、运行与维护阶段。
3、系统流程图是()的传统工具。
4、结构化语言是介于自然语言和()之间的一种半形式语言。
5、数据字典的内容包括六项:()、()、()、数据存储、处理逻辑、外部实体。
6、UML的定义包括()和()两个部分。
7、按数据流的类型,结构化设计方法有两种设计策略,它们是变换分析设计和()。
8、瀑布模型是以文档为驱动、适合于()的软件项目的模型。
9、对象具有标识唯一性、分类性、多态性、( ) 和( )等基本特性。
10、消息关联指的是对象()的一种依赖关系。
11、对象的规格说明包括对对象()的说明及对对象()的说明。
12、在需求分析阶段常用的图形工具有()、()、()。
13、模块独立的概念是()、()、()和局部化概念的直接结果。
14、基于计算机系统的系统元素包括:软件、硬件、人、()、()和过程等几个部分。
15、软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、()、可使用性和效率。
16、为了便于对照检查,测试用例应由输入数据和预期的()两部分组成。
17、在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、()。
18、需求分析的基本任务是准确的回答()。
19、常用的系统分析方法有四类,包括:()、数据流方法、信息造型方法以及()。
20、面向对象设计中,主要存在两种耦合,交互耦合和()。
21、UML是一种标准的图形化(即可视化)建模语言,它由()和()组成。
其中,前者是UML的表示法(语法),而后者给出前者的含义,是UML的语义。
二、选择题1、下列关于瀑布模型的描述正确的是()。
A. 瀑布模型的核心是按照软件开发的时间顺序将问题简化。
B. 瀑布模型具有良好的灵活性。
C. 瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开。
软件工程考试题一-(3)
软件工程考试题一一、选择题,请从四个可选项中选择正确答案。
(60分,每题3分)1.软件、程序和代码是()。
A. 相同的软件概念B.程序语言写的代码C.计算机代码和数据D. 三个不同的概念2.下面哪个选项不是软件工程研究的内容()。
A. 生产无故障的软件B. 精通一门编程语言C.生产满足用户需求的软件D.生产及时交付的软件3.SW-CMM是一种()规范。
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.数据结构/主体B.主体/数据结构C.动作/主体D.主体/动作10.UML是一种()语言。
A.程序设计B.面向对象C.交互式建模D.过程描述11.面向对象分析过程中建立的模型有()。
A. 数据模型、功能模型、活动模型B. 对象模型、功能模型、测试模型C. 属性模型、功能模型、对象模型D. 对象模型、功能模型、动态模型12.下面建立功能模型的步骤哪个顺序是正确的()。
A.确定角色/确定用例模型/确定用例B.确定用例/确定用例模型/确定角色C.确定角色/确定用例/确定用例模型D.确定用例模型/确定角色/确定用例13.在图书馆信息管理系统中,已经构造了一个读者类,后来发现图书馆的学生和教师在借书中有不同要求。
软件工程试题和答案
软件工程试题和答案软件工程试题和答案章节一、软件开发过程1.1 瀑布模型1.1.1 瀑布模型的定义和特点1.1.2 瀑布模型的优点和缺点1.2 敏捷开发1.2.1 敏捷开发的定义和原则1.2.2 敏捷开发的优点和适用场景1.3 迭代与增量模型1.3.1 迭代与增量模型的定义和区别1.3.2 迭代与增量开发的优点和缺点章节二、需求分析2.1 需求获取2.1.1 需求获取的方法和技术2.1.2 需求获取过程中的常见问题及解决方法2.2 需求分析2.2.1 需求分析的目标和原则2.2.2 需求分析过程中的常用工具和技术2.3 需求规格说明2.3.1 需求规格说明的内容和格式2.3.2 需求规格说明的重要性和编写要求章节三、系统设计3.1 概要设计3.1.1 概要设计的目标和原则3.1.2 概要设计的常用工具和技术3.2 详细设计3.2.1 详细设计的目标和原则3.2.2 详细设计的常用工具和技术3.3 接口设计3.3.1 接口设计的原则和要点3.3.2 接口设计的常见问题和解决方法章节四、编码和测试4.1 编码规范4.1.1 编码规范的目的和重要性4.1.2 编码规范的内容和要求4.2 单元测试4.2.1 单元测试的定义和目标4.2.2 单元测试的常见技术和工具4.3 集成测试4.3.1 集成测试的定义和目标4.3.2 集成测试的常见技术和方法4.4 系统测试4.4.1 系统测试的定义和目标4.4.2 系统测试的常见技术和方法章节五、项目管理5.1 项目计划5.1.1 项目计划的内容和要点5.1.2 项目计划的编制和控制5.2 风险管理5.2.1 风险管理的步骤和方法5.2.2 风险管理的工具和技术5.3 质量管理5.3.1 质量管理的原则和方法5.3.2 质量管理的常见问题和解决方法5.4 项目评估和总结5.4.1 项目评估的指标和方法5.4.2 项目总结的内容和要点附件:附件一、软件开发过程模型比较表附件五、编码规范示例法律名词及注释:1:版权:指对作品享有的独占性使用权,包括复制、发行、展示等。
软件工程考试试题及答案
软件工程考试试题及答案一、单选题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. 简述软件生命周期模型中的瀑布模型。
答案:瀑布模型是软件生命周期模型中最早的模型之一。
它将软件开发过程分为需求分析、系统设计、详细设计、编码、测试和维护等阶段,并按照顺序执行。
软件工程考试题及答案
软件工程考试题及答案一、单项选择题(每题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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一.选择题:1.软件危机出现于___,为了解决软件危机,人们提出了用____的原理来设计软件,这是软件工程诞生的基础。
(C、B )A.50年代末B.60年代初C.60年代末D.70年代初A.运筹学B.工程学C.软件学D.软件学E.数字2.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作__B_。
A.软件投机B.软件危机C.软件工程D.软件产生3.产生软件危机的原因有如下几点,除了___D__。
A、软件开发过程未经审查B、软件开发不分阶段,开发人员没有明确的分工C、所开发的软件,除了程序清单外,没有其他文档D、采用工程设计的方法开发软件,不符合软件本身的特点4.软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是__B_。
A.引入新技术提高空间利用率B.用较少的投资获得高质量的软件C.缩短研制周期扩大软件功能D.硬软件结合使系统面向应用5.一个软件项目是否进行开发的结论是在___B__文档中作出的。
A、软件开发计划B、可行性报告C、需求分析说明书D、测试报告6 .变换型和事务型是程序结构的标准形式。
从某处获得数据,再对这些数据作处理,然后将结果送出是属于_A__。
A.变换型 B 事务型7 .需求分析说明书不能作为___A__。
A、可行性研究的依据B、用户和开发人员之间的合同C、系统概要设计的依据D、软件验收测试的依据8 .结构化分析方法以数据流图、_D__和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型。
A.DFD图B.PAD图C.IPO图D.数据字典9 .系统开发人员使用系统流程图或其他工具描述系统,估计每种方案的成本和效益的工作是在____B_阶段进行的。
A、需求分析B、总体设计C、详细设计D、编码阶段10.下列___D不是模块化设计的目的。
A、可采用结构化设计方法B、降低复杂度C、有利于信息隐蔽D、描述系统的功能与性能11.某个模块的作用域是指___D__。
A、被该模块调用的所用模块B、调用该模块的所有模块C、与该模块相关联的所有模块D、受该模块内的判定影响的所有模块12.下列耦合度表示中,最弱的耦合形式是__C___。
A、特征耦合B、公共耦合C、数据耦合D、数据结构13.一个模块传送给另一模块的参数是由单个数据项组成的数组,它属于__A___耦合。
A、数据型B、复合型C、内容型D、公共型14.下列系统设计工具中,___B__不属于详细设计工具。
A、N—S图B、数据流图C、程序流程图D、PAD15.程序流程图、N-S图和PAD图是__B_使用的表达工具。
A.设计阶段的概要设计B.设计阶段的详细设计C.编码阶段D.测试阶段16.模块内部的算法设计在结构化方法的___C__阶段进行。
A、系统分析B、概要设计C、详细设计 D 编码(实现)17.源程序的版面文档要求应有变量说明、适当注释和__B_。
A.框图B.统一书写格式C.修改记录D.编程日期18.一般来说,在管理软件中,软件生存周期各个阶段的工作量以__D___所占的比例最大。
A、需求分析与设计阶段B、编码实现阶段C、测试阶段D、维护阶段19.软件的____一般由两次故障平均间隔时间和故障平均恢复时间来度量;A.可维护性B可靠性C效率D可理解性20. 瀑布模型把软件生存周期划分为软件定义、软件开发和_C__三个阶段,而每一阶段又可细分为若干个更小的阶段。
A.详细设计B.可行性分析C.运行及维护D.测试与排错二、填空题:1、在结构化分析中,__数据字典__用于详细地定义数据流图中的成分。
2、耦合性和内聚性是衡量___模块独立性_的两个定性的标准。
3、结构化程序设计是一种程序设计技术,它采用__自顶向下、逐步求精__的设计方法和顺序、选择、循环三种基本控制结构构造常态程序。
4、结构化分析方法中,数据流图的四种基本成分为:处理、源点或终点__数据存储和数据流_。
5、从模块内外的联系来看,结构化设计的要求是___高内聚低耦合_。
6、在需求分析中,可从有关问题的简述中提取组成数据流图的基本成分。
通常问题简述中的动词短语将成为数据流图中的___处理__成分。
7、如果两模块间的通信信息是若干个参数,而每个参数是单一的数据项,则称这种耦合性为__数据_耦合。
8、模块内部的算法设计在结构化方法的___详细设计__阶段进行。
9、定性度量模块独立性的两个标准是内聚性和___耦合性___。
10、在模块结构图中,直接调用某一模块的其他模块数称为该模块的__扇入数____。
1.什么叫软件危机?解决软件危机的主要途径是什么?计算机软件在它的开发和维护过程中所遇到的一系列严重问题。
概括地说,主要包含两方面的问题:如何开发软件,怎样满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。
解决途径:①研制新一代体系结构的智能计算机,改变软件实现的方式,以此降低软件的复杂度;②软件工程的解决途径;③采用面向对象的软件设计方法,使解决问题的方法空间同客观世界的问题空间完全一致,降低或化解软件设计的复杂性。
2.何谓信息孤岛?其产生原因是什么?所谓信息孤岛是指,在一个单位的各个部门之间由于种种原因造成部门与部门之间完全孤立,各种信息(如财务信息、各种计划信息等)无法或者无法顺畅地在部门与部门之间流动。
这样就会形成信息孤岛。
产生的原因:①信息化发展的阶段性;②认识误区;③需求不到位;④标准不统一;⑤管理体制问题。
举一个简单的例子,比如一个生产型企业,销售部门应该有自己的销售计划,车间则应该依据这个销售计划并结合库房的存货制订自己的生产计划,采购部门则应根据车间的生产计划和库房原材料的库存制定自己的采购计划。
而在很多企业里面这个流程是不顺畅甚至是不通的,销售部门制订销售计划不考虑车间的生产能力,车间生产不考虑市场的消化能力,采购部门也不依据车间的计划而自做主张盲目采购。
最后造成库房库存大量积压或者造成严重的断货事故。
在这种情况下,这种企业里面的各个部门就是一个个孤立的信息孤岛。
3.软件工程常用的模型瀑布模型原型模型增量模型螺旋模型RAD模型基于构建的开发模型4.什么是CMM1CMM 是英文Capability Maturity Model for Software -- “ 软件能力成熟度模型” 缩写SW-CMM 的简称。
CMM 的定义是:有关软件企业/ 组织的软件过程进程中各个发展阶段的定义、实现、质量控制和改善的模型化描述。
这个模型用于确定软件企业/ 组织的软件过程能力和找出软件质量及过程改进方面的最关键问题,为企业/ 组织的过程改进提供指南。
CMM 的核心思想是:将软件开发视为一组过程,并根据统计质量管理的理论对软件开发进行过程管理,以使其满足工程化、标准化的要求,使企业能够更好地实现商业目标。
它侧重于软件开发的管理及软件工程能力的提高,因此 CMM 可以作为企业软件过程改进的指南,帮助软件开发机构建立严格的、规范的软件开发过程,最有效地提高软件工程能力。
5.协同管理的概念定义是:将具有共同商业利益的合作伙伴整合起来,他主要是通过对与整个商业周期中的的信息进行共享,实现和满足不断增长的客户的需求,同时也满足企业本省的活力能力。
通过对各个合作伙伴的竞争优势的整合,共同创造和获取最大的商业价值以及提供获利能力。
就协同商务概念而言,企业信息化建设目的不仅是管理企业内部的资源,还需要建立一个统一的平台,将客户、供应商、代理分销商和其他合作伙伴也纳入企业信息化管理系统中,实行信息的高效共享和业务的一系列链接。
“协同”有两层含义:一层含义是企业内部资源的协同,有各部门之间的业务协同、不同的业务指标和目标之间的协同以及各种资源约束的协同。
如库存、生产、销售、财务间的协同,这些都需要一些工具来进行协调和统一;另一层含义是指企业内外资源的协同,也即整个供应链的协同,如客户的需求、供应、生产、采购、交易间的协同。
6.什么是RUP?它有哪些特点RUP(Rational Unified Process,统一软件开发过程,统一软件过程)是一个面向对象且基于网络的程序开发方法论。
根据Rational(Rational Rose和统一建模语言的开发者)的说法,好像一个在线的指导者,它可以为所有方面和层次的程序开发提供指导方针,模版以及事例支持。
RUP和类似的产品--例如面向对象的软件过程(OOSP),以及OPEN Process都是理解性的软件工程工具--把开发中面向过程的方面(例如定义的阶段,技术和实践)和其他开发的组件(例如文档,模型,手册以及代码等等)整合在一个统一的框架内。
7.谈谈对知识的理解(计算机方面)计算机基础知识介绍计算机用户用户是计算机系统的使用者,现在计算机系统用户范围很广,以不同的标准有很多分类方法,这里按其在开发、维护、使用计算机系统中的作用,大致分为三个层次,即系统开发用户,应用开发用户和最终用户。
RUP中的软件生命周期在时间上被分解为四个顺序的阶段,每个阶段的目标是什么?1、初始阶段的目标是为系统建立商业案例并确定项目的边界。
2、细化阶段的目标是分析问题领域,建立健全的体系结构基础,编制项目计划,淘汰项目中最高风险的元素。
3、在构建阶段,所有剩余的构件和应用程序功能被开发并集成为产品,所有的功能被详细测试。
4、交付阶段的重点是确保软件对最终用户是可用的。
8.软件开发方向要学什么,谈谈你对其的认识?1 外包开发行业快速发展,对“人才”在代码和文档方面的规范性、技能和工具的熟练程度要求越来越高;2 Java和.NET技术在市场上平分秋色,都有大量的岗位需求,同时值得庆幸的是二者在应用层面上的技术差异越来越少;3 软件开发企业对开发人员的基本技术素养强调得越来越多,例如:面向对象的程序设计思想和代码组织方法、HTML/CSS/JavaScript客户端技术;4 为了保证质量和工期,企业中大量使用各种框架技术,要求开发人员至少熟悉一种框架技术;5 MIS、OA、ERP、CRM、系统集成、物流、进销存、电子政务、网站建设这一类B/S系统,成为软件工程师需求最大的业务领域。
7 从软件开发的角度谈谈你对知识的认识?条理清晰,言之成理即可8 谈谈自己对软件开发方向的想法?易用简约方便插件化独立封装系统内外结合的信息发布等略。
9 什么是数据挖掘?数据挖掘又称数据库中的知识发现,是目前人工智能和数据库领域研究的热点问题,所谓数据挖掘是指从数据库的大量数据中揭示出隐含的、先前未知的并有潜在价值的信息的非平凡过程。
数据挖掘是一种决策支持过程,它主要基于人工智能、机器学习、模式识别、统计学、数据库、可视化技术等,高度自动化地分析企业的数据,做出归纳性的推理,从中挖掘出潜在的模式,帮助决策者调整市场策略,减少风险,做出正确的决策。