软件工程期末复习资料(2)

合集下载

软件工程期末考试参考题及答案

软件工程期末考试参考题及答案

软件工程期末考试参考题及答案1. 考试题目:软件需求工程考试要求:根据给定的需求文档,完成以下题目。

题目一:根据给定的需求文档,设计一个在线购物系统。

请根据以下要求完成系统设计:(1)使用UML类图绘制系统的类结构;(2)使用UML时序图描述用户登录和浏览商品的流程;(3)使用UML活动图描述用户下订单的流程。

答案:(1)类图如下所示:[在这里插入UML类图图片](2)时序图如下所示:[在这里插入UML时序图图片](3)活动图如下所示:[在这里插入UML活动图图片]题目二:根据给定的需求文档,设计一个在线学习系统。

请根据以下要求完成系统设计:(1)使用UML用例图描述系统的功能需求;(2)使用UML活动图描述学生完成在线学习的流程;(3)使用UML状态图描述学生的学习状态变化。

答案:(1)用例图如下所示:[在这里插入UML用例图图片](2)活动图如下所示:[在这里插入UML活动图图片](3)状态图如下所示:[在这里插入UML状态图图片]2. 考试题目:软件设计模式考试要求:根据给定的题目,选择并解答以下问题。

题目一:分析以下代码,判断其使用了哪种设计模式,并阐述该设计模式的作用和优势。

```javapublic interface Car {void drive();}public class Sedan implements Car {@Overridepublic void drive() {System.out.println("Driving a sedan car."); }}public class SUV implements Car {@Overridepublic void drive() {System.out.println("Driving an SUV car."); }}public class CarFactory {public Car createCar(String type) {if (type.equals("sedan")) {return new Sedan();} else if (type.equals("suv")) {return new SUV();} else {throw new IllegalArgumentException("Invalid car type: " + type);}}}```答案:该代码使用了工厂模式。

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

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

可编辑修改精选全文完整版一、单选题(共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、耦合是模块之间的相对独立性的度量。

《软件工程》期末考试题及答案

《软件工程》期末考试题及答案

《软件工程》期末考试题及答案一、选择题(每题2分,共20分)1. 以下哪个不属于软件工程的三个基本活动?A. 软件规格B. 软件设计C. 软件编码D. 软件测试答案:D2. 以下哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程答案:A3. 以下哪个不属于软件工程的基本原则?A. 分而治之B. 信息隐藏C. 模块化D. 编码规范答案:D4. 以下哪个不是软件工程的四大支柱?A. 软件需求B. 软件设计C. 软件验证D. 软件项目管理答案:C5. 以下哪种软件过程模型是迭代和增量的?A. 瀑布模型B. 快速应用开发C. 敏捷开发D. 原型模型答案:C6. 以下哪个不是软件测试的级别?A. 单元测试B. 集成测试C. 系统测试D. 需求测试答案:D7. 以下哪种软件维护类型是最常见的?A. 更正性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:A8. 以下哪个不属于软件项目的风险管理策略?A. 风险避免B. 风险转移C. 风险减轻D. 风险接受答案:B9. 以下哪个不属于软件需求分类?A. 功能需求B. 性能需求C. 可用性需求D. 测试需求答案:D10. 以下哪个不属于软件设计的准则?A. 模块化B. 信息隐藏C. 功能耦合D. 数据抽象答案:C二、填空题(每题2分,共20分)11. 软件工程的主要目标是提高软件的__________和降低软件的__________。

答案:可维护性、成本12. 软件开发的三个基本阶段是:__________、__________、__________。

答案:需求分析、设计、实现13. 软件过程模型分为__________模型和__________模型。

答案:预测性、适应性14. 软件测试的四个基本级别是:__________、__________、__________、__________。

答案:单元测试、集成测试、系统测试、验收测试15. 软件维护的四种类型是:__________、__________、__________、__________。

2023软件工程导论期末考试题库及参考答案

2023软件工程导论期末考试题库及参考答案

2023软件工程导论期末考试题库及参考答案一、选择题(每题2分,共20分)1. 以下哪个不是软件工程的三个基本目标?A. 可维护性B. 可用性C. 可靠性D. 高效性参考答案:D2. 软件生命周期中,以下哪个阶段是软件开发过程的核心阶段?A. 需求分析B. 设计C. 编码D. 测试参考答案:C3. 以下哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程参考答案:A4. 在软件工程中,以下哪个方法用于估算软件项目的成本和进度?A. COCOMOB. WBSC. SDLCD. CASE参考答案:A5. 以下哪个是软件工程中的一个重要原则?A. 分而治之B. 一次性编写C. 重用D. 模块化参考答案:D6. 以下哪个不是软件工程的基本活动?A. 软件规格B. 软件开发C. 软件验证D. 软件测试参考答案:C7. 以下哪个是软件工程中用于提高软件质量的技术?A. 设计模式B. 重构C. 代码审查D. 单元测试参考答案:C8. 以下哪个不是软件工程的五大基本过程?A. 软件规格B. 软件开发C. 软件维护D. 软件项目管理参考答案:D9. 以下哪个是软件工程中的一个重要概念,用于描述软件系统中的各个组件之间的关系?A. 耦合B. 内聚C. 模块化D. 重用参考答案:A10. 以下哪个是软件工程中的一个重要原则,用于指导软件开发过程?A. 迭代B. 增量C.螺旋D. 模型驱动参考答案:A二、填空题(每题2分,共20分)11. 软件工程的三要素是:方法、工具和______。

参考答案:过程12. 软件生命周期包括:需求分析、设计、编码、______和软件维护。

参考答案:测试13. 软件工程中的面向对象方法包括:封装、继承和______。

参考答案:多态14. 软件工程中的 CASE 工具主要用于支持______。

参考答案:软件设计和开发15. 软件工程中的敏捷开发方法强调______、可维护性和可扩展性。

软件工程期末复习重点

软件工程期末复习重点

1.软件危机的介绍在计算机软件的开发和维护过程中所遇到的一系列严重问题。

2.产生软件危机的原因与软件本身特点有关:软件开发与维护的方法不正确有关:3.消除软件危机的途径4.软件生命周期由软件定义、软件开发和运行维护3个时期组成,每个时期又进一步划分成若干个阶段。

5.软件定义时期的任务是:确定软件开发工程必须完成的总目标;确定工程的可行性;导出实现工程目标应该采用的策略及系统必须完成的功能;估计完成该项工程需要的资源和成本,并且制定工程进度表。

这个时期的工作通常又称为系统分析,由系统分析员负责完成。

软件定义时期通常进一步划分成3个阶段,即问题定义、可行性研究和需求分析。

6.开发时期具体设计和实现在前一个时期定义的软件,它通常由下述4个阶段组成:总体设计,详细设计,编码和单元测试,综合测试。

其中前两个阶段又称为系统设计,后两个阶段又称为系统实现。

7.维护时期的主要任务是使软件持久地满足用户的需要。

8.软件生命周期每个阶段的基本任务:问题定义、可行性研究,需求分析,总体设计,详细设计,编码和单元测试,综合测试。

9.常用软件模型区别原理:(1)瀑布模型:按照传统的瀑布模型开发软件,有下述的几个特点。

a)阶段间具有顺序性和依赖性:两重含义:段的输出文档正确,后一阶段的工作才能获得正确的结果。

①必须等前一阶段的工作完成之后,才能开始后一阶段的工作;②前一阶段的输出文档就是后一阶段的输入文档,因此,只有前一阶b) 推迟实现的观点瀑布模型在编码之前设置了系统分析与系统设计的各个阶段,分析与设计阶段的基本任务规定,在这两个阶段主要考虑目标系统的逻辑模型,不涉及软件的物理实现。

c)质量保证的观点:软件工程的基本目标是优质、高产。

为了保证所开发的软件的质量,在瀑布模型的每个阶段都应坚持两个重要做法。

每个阶段都必须完成规定的文档,没有交出合格的文档就是没有完成该阶段的任务。

每个阶段结束前都要对所完成的文档进行评审,以便尽早发现问题,改正错误。

软件工程期末试题及答案

软件工程期末试题及答案

软件工程期末试题及答案一、选择题(每题2分,共20分)1. 以下哪项不是软件工程的基本目标?A. 提高软件的生产效率B. 提高软件的质量C. 减少软件的开发成本D. 增加软件的复杂性答案:D2. 下面哪个不属于软件工程的三个主要过程?A. 软件规格B. 软件开发C. 软件测试D. 软件维护答案:A3. 下列哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程答案:A4. 以下哪个不属于软件项目的管理活动?A. 项目计划B. 风险管理C. 质量保证D. 软件开发答案:D5. 以下哪个不是软件需求分析的工具?A. 数据流图(DFD)B. 实体关系图(ERD)C. 状态转换图(STD)D. 类图答案:B6. 以下哪个不属于软件设计的原则?A. 模块化B. 抽象C. 封装D. 继承7. 以下哪种测试方法主要用于检测软件的功能是否满足需求?A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:C8. 以下哪个不属于软件维护的类型?A. 适应性维护B. 完善性维护C. 纠错性维护D. 预防性维护答案:D9. 以下哪个不属于软件项目管理工具?A. Microsoft ProjectB. JiraC. TrelloD. Visual Studio10. 以下哪个不属于敏捷软件开发的特点?A. 短周期迭代B. 客户参与C. 重构D. 线性开发流程答案:D二、填空题(每题2分,共20分)1. 软件工程的基本目标包括提高软件的生产效率、提高软件的质量和______。

答案:减少软件的开发成本2. 软件工程的三个主要过程分别是软件规格、软件开发和______。

答案:软件维护3. 软件需求分析的主要工具包括数据流图(DFD)、实体关系图(ERD)和______。

答案:状态转换图(STD)4. 软件设计的原则包括模块化、抽象、封装和______。

答案:继承5. 软件测试的四个层次分别是单元测试、集成测试、系统测试和______。

软件工程期末考试重点

软件工程期末考试重点

《软件工程》期末复习重点第一章软件工程1.什么是软件工程。

A.把系统化的、规范的、可度量的途径应用于软件开发、运行和维护的过程,也就是把工程化应用于软件中;b.研究a中提到的途径。

2. 软件工程的三要素:方法、工具和过程。

第二章软件过程1.软件生命周期分为哪几个阶段?每个阶段的基本任务是什么?a.软件定义:确定软件开发工程必须完成的总目标问题定义:要解决的问题是什么可行性研究:上阶段所确定的问题是否有可行的解决办法?需求分析:目标系统必须做什么b.软件开发:具体设计和实现在前一个时期定义的软件。

概要设计:怎样宏观地解决问题详细设计:应如何具体地实现这个系统编码和单元测试:写出正确的、易理解、易维护的程序综合测试:通过各类型测试使达到预定要求。

c.运行维护:修正错误,使软件持久地满足用户需要。

改正性维护:诊断和改正使用中的错误适应性维护:修改以适应环境变化完善性维护:根据用户的要求改进和扩充以完善预防性维护:修改以为将来的维护作准备2.常用的过程模型有哪些?各自的特点及不足。

如:瀑布模型的不足是不能适应需求的动态变更。

A.瀑布模型特点:可强迫开发人员采用规范化的方法。

严格地规定了每个阶段必须提交的文档。

要求每个阶段交出的所有产品都必须是经过验证(评审)的。

缺点:太理想化,由于瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。

如果需求规格与用户需求之间有差异,就会发生这种情况。

只适用于项目开始时需求已确定的情况。

B.快速原型模型特点:快速软件产品开发基本上是线性顺序进行。

降低了规格说明文档变化的可能性。

减少了后续阶段错误的可能性。

c.增量模型优点:人员分配灵活,刚开始不用投入大量人力资源。

当配备的人员不能在设定的期限内完成产品时,它提供了一种先推出核心产品的途径。

增量能够有计划地管理技术风险。

缺点:要求构件具备开放式的体系结构。

易退化为边做边改模型,从而使软件过程的控制失去整体性。

软件工程基础期末复习资料完整版

软件工程基础期末复习资料完整版

2.文档有何作用?程序代码属不属于文档?答:文档指的是在软件开发和维护过程中形成的文字记录。

从软件计划、分析、设计、实现(编码和测试)、维护等开发活动中形成的各种文件。

文档属于软件的一部分,是软件维护和升级的重要依据,并且文档内容要与代码同步更新。

没有文档的软件维护不但不能延长反而会缩短软件寿命。

文档包括需求规格说明书、设计说明书、用户使用说明书、在线帮助等,当然程序代码是必不可少的一种软件文档。

3.什么是软件危机?什么原因产生了软件危机?答:软件危机指的是在计算机软件的开发和维护过程中所遇到的一系列严重问题。

产生的原因是主客观不相适应。

见书图1-2。

●客观上:软件规模增大、功能要求越来越复杂,需求不断变化等;●主观上:传统的个体化开发观念和方法,无开发过程指导,无开发过程管理;由于主客观矛盾,必然产生软件质量差、开发超期、超预算、维护困难等现象。

5.软件工程三要素是什么?答:软件工程三要素是从计算机科学观点看软件工程,即从软件开发的技术层面应该有过程、方法和工具。

见图1-4。

(2)“过程”是软件产品加工所经历的一系列有组织的活动,保证能够合理、高质量和及时地开发出软件。

过程定义的活动集合及其序列见第2章。

(3)“方法”为软件开发提供“如何做”的技术,它涵盖了项目计划、需求分析、系统设计、程序实现、测试与维护等一系列活动的做法。

如经常说的面向结构、面向对象、面向组件等开发方法,项目管理中估算、度量、计划等管理方法。

软件工程以介绍方法为主,本书从第3章开始逐步介绍开发过程所用到的方法。

(4)“工具”为过程和方法提供自动的或半自动的支持。

这些工具既包括软件也有硬件。

软件工具包括编程、建模、管理等开发工具。

通过网络环境把这些软件工具集成起来搭建一个支持团队开发的平台,称之为计算机辅助软件工程 (Computer Aided Software Engineering,CASE)。

CASE集成了软件、硬件和一个存放开发过程信息的软件工程数据库,形成了一个软件工程环境。

软件工程复习资料整理

软件工程复习资料整理

《软件工程》试题参考答案(1)卷一、单向选择题(四选一、每小题3分,共18分)1、需求分析的任务不包括(B)。

A.问题分析B.系统设计C.需求描述D.需求评审。

2、当模块中包含复杂的条件组合,只有( A)能够清晰地表达出各种动作之间的对应关系。

0802A.判定表和判定树C.流程图3、以下不属于逻辑覆盖的是(D)。

1402A.语句覆盖C.条件覆盖B.盒图D 关系图B.判定覆盖D.基本路径4、为适应软件运行环境的变化而修改软件的活动称为( B)。

1501A.纠错性维护B.适应性维护C.改善性维护 D 预防性维护二、填空题(每空2分,共18分)1. 软件可靠性是指在给定的时间间隔内,程序成功运行的(概率)。

01012. 高级语言:独立于机器,面向过程或面向(对象)01013. 软件项目管理的范围主要集中于 3 个P 上,即:People 人员、Problem 问题和(过程)。

02014. 由于维护或在维护过程中其他一些不期望的行为引入的错误称为维护的(副作用)。

15045. 在公式V(G) = E – N + 2 中: E 为程序图G 中边的总数;N 为程序图中结点的总数。

V(G)又称为图 G 的环形(复杂度)0204。

6. 任何一个基于计算机系统都可以用输入-处理-输出(IPO)图来描述,它将该系统转换成一个信息变换模型。

03037. 为提高可交互性一般对所有可能造成损害的用户操作动作,应坚持要求用户(确认),例如,提问“你确实要删除…?”。

12048. 文档是一种数据媒体和其上所记录的(数据)。

0101三、判断题(每小题2分,共24分,错误打X、正确打√)1. 用户对软件需求的描述不准确,往往是产生软件危机的原因之一。

(√)01022. 一个好的开发人员应具备的素质和能力包括善于与周围人员团结协作,建立良好的人际关系,善于听取别人的意见。

(√)02063. 目前的绝大多数软件都不适合于快速原型技术。

软件工程期末复习资料

软件工程期末复习资料

软件工程期末复习资料一、软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

二、软件危机包括两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。

三、软件危机具体表现:1、对软件开发成本和进度的估计常常很不准确;2、用户对“已完成的”软件系统不满意的现象经常发生;3、软件产品的质量往往靠不住;4、软件通常没有适当的文档资料;5、软件成本在计算机系统总成本中所占比例逐年上升;6软件开发生产率提高的速度,跟不上计算机应用迅速普及深入的趋势。

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

五、软件工程的7条基本原理:1、用分阶段的生命周期计划严格管理;2、坚持进行阶段评审;3、实行严格的产品控制;4、采用现代程序设计技术;5、结果应能清楚地审查;6、开发小组的人员应该少而精;7、承认不断改进软件工程实践的必要性。

六、软件工程方法学包含3个要素:方法、工具和过程。

七、软件定义时期的3个阶段:问题定义、可行性研究和需求分析。

八、软件生命周期的每个阶段的基本任务和成果:1、问题定义:确定要解决的问题是什么;2、可行性研究:研究问题的范围,探索这个问题是否值得去解,是否有可行的解决办法,其结果是客户作出是否继续进行这项工程的决定的重要依据;3、需求分析:确定目标系统必须具备哪些功能,其成果是需求分析报告;4、总体设计:应该设计出实现目标系统的几种可能的方案,设计程序的体系结构;5、详细设计:设计出程序的详细规格说明;6、编码和单元测试:写出正确的容易理解、容易维护的程序模块;7、综合测试:关键任务是通过各种类型的测试使软件达到预定的要求;8、软件维护:改正性维护、即诊断和改正正在使用过程中发现的软件错误,适应性维护、修改软件以适应环境的变化,完善性维护、根据用户的要求改进或扩充软件使它更完善,预防性维护、修改软件为将来的维护活动预先做准备。

九、软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。

《软件工程》期末考试复习题及参考答案

《软件工程》期末考试复习题及参考答案

软件工程复习题(课程代码252258)一、填空题(本大题共60小题)1.数据项是指__不可再分解的___数据单元。

2.软件概要设计的主要任务就是___软件结构的设计___。

3.软件维护的内容包括校正性维持,适应性维护、____完善性维护_____和预防性维护。

4.在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和___数据存储对象___。

5.规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有容错功能的软件。

6.软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。

7.为了便于对照检查,测试用例应由输入数据和预期的输出结果两部分组成。

8.软件结构是以模块为基础而组成的一种控制层次结构。

9.在结构化分析中,用于描述加工逻辑的主要工具有结构化语言、判定表和判定表三种。

10.软件工程是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。

11.PDL是一种介于___自然语言___和形式化语言之间的半形式化语言。

12.从软件的功能角度划分,协助用户开发软件的工具性软件称为_支撑__软件13.消除软件结构中高扇入扇出的做法是______增加中间层次的控制模块_____。

14.如果一个软件系统的全部实际加工都由原子模块来完成,而其他所有非原子模块仅仅执行控制或协调功能,这样的系统就是____完全因子分解_____的系统。

15.软件的可移植性是指当把软件移植到不同的运行环境时,不需改变其__规格___就能照原样工作的特性。

16.为满足用户对软件提出的新的要求而对软件进行扩充、改进的维护称为____完善性__维护。

17.将整个软件划分成若干单独命名和可编址的部分,称之为___模块___。

18.软件需求的____物理视图_____给出处理功能和数据结构的实际表示形式。

19.在面向对象的开发技术中,__类___是一组具有相同数据结构和相同操作的对象的集合。

软件工程期末复习资料二

软件工程期末复习资料二

软件工程期末复习资料二模拟试题心之所向,所向披靡一、填空题1.软件开发模型有()、()、第四代技术模型、()、构件组装模型、混合模型。

2.可行性研究一般可以从()可行性、()可行性、运行可行性、法律可行性和开发可行性等方面来研究。

3.现在向银行存款,年利率为i,若希望在n年后从银行得到F元,现在应该存入的钱数为()。

4.数据流图从数据传输和()角度,以()方式描述数据流从输入到输出的传输变换过程。

5.Jackson图除了可以表达程序结构外,还可以表达(),它首先要分析(),并用适当的工具来描述。

6.HIPO图是由一组()图加上一张()图组成。

7.把程序从一个硬件或软件环境中转移到另一种配置环境称为软件的()。

8.如果一个模块完成一组任务,这些任务彼此之间的关系是很松散的,这种內聚称为()。

9.白盒法的具体设计程序测试方法有语句覆盖、()、()、和路径覆盖。

10.组成UML的三种基本建筑块是()、关系和()。

11.面向对象的软件工程方法包括面向对象的分析、()、()、()和面向对象的软件维护等主要内容。

12.保证软件质量的措施主要有()、复查和管理复审、()。

13.提高软件质量和可靠性的技术大致分为两类,即()和()。

二、单项选择题1.下列()属于系统软件。

A.WINDOWS 2000B.WordC.FlashD.3D MAX2.下列哪个图是N-S图的构件()。

A.B.C. D.3.对于螺旋模型,下列()不是利用笛卡尔坐标表达的活动。

A. 制定计划B. 实施工程C. 风险分析D. 程序编码4.某次程序调试没有出现预计的结果,下列()不可能是导致出错的原因。

A.变量没有初始化B.编写的语句书写格式不规范C.循环控制出错D.代码输入有误5.下列关于程序效率的描述错误的是()。

A.提高程序的执行速度可以提高程序的效率B.降低程序占用的存储空间可以提高程序的效率C.源程序的效率与详细设计阶段确定的算法的效率无关D.好的程序设计可以提高效率三、多项选择题1.软件危机可以表现为()。

软件工程 期末考试复习总结知识点 必考题型

软件工程 期末考试复习总结知识点 必考题型

软件工程复习资料1.软件危机产生的原因(1) 软件不同于硬件,它是计算机系统的逻辑部件而不是物理部件。

在写出程序代码并在计算机上试运行之前软件开发过程的进展情况较难衡量。

很难检验开发的正确性且软件开发的质量也较难评价。

因此控制软件开发过程相当困难。

此外在软件运行过程中发现错误很可能是遇到了一个在开发期间引入的但在测试阶段没有能够检测出来的错误,所以软件维护常常意味着修改原来的设计。

这样维护的费用十分惊人,客观上使得软件较难维护。

(2) 软件开发的过程是多人分工合作分阶段完成的过程,参与人员之间的沟通和配合十分重要。

但是,相当多的软件开发人员对软件的开发和维护存在不少错误的观念。

在实践的过程中没有采用工程化的方法,或多或少采用了一些错误的方法和技术。

这是造成软件危机的主要原因。

(3) 开发和管理人员只重视开发而轻视问题的定义,使软件产品无法满足用户的要求。

对用户的要求没有完整准确的认识就急于编写程序。

这是许多软件开发失败的另一主要原因。

事实上,许多用户在开始时并不能准确具体地叙述他们的需要。

软件人员需要做大量深入细致的调查研究工作,反复多次与用户交流信息,才能真正全面、准确、具体地了解用户的要求。

(4) 软件管理技术不能满足现代软件开发的需要,没有统一的软件质量管理规范。

首先是文档缺乏一致性和完整性,从而失去管理的依据。

因为程序只是完整软件产品的一个组成部分。

一个软件产品必须由一组的配置组成,不能只重视程序而应当特别重视软件配置。

其次,由于成本估计不准确,资金分配混乱,人员组织不合理,进度安排无序,导致软件技术无法实施。

(5) 在软件的开发和维护关系问题上存在错误的观念。

软件维护工作通常是在软件完成之后进行的,因此是极端艰巨复杂的工作,需要花费很大的代价。

所以做好软件的定义工作是降低软件成本,提高软件质量的关键。

如果软件人员在定义阶段没有正确、全面地理解用户要求,直到测试阶段才发现软件产品不完全符合用户的需要,这时再修改就为时已晚了。

软件工程期末考试重点

软件工程期末考试重点

软件工程期末考试重点1软件生命周期由软件定义、软件开发和运行维护(也称软件维护)3个时期组成,每个时期又分为若干阶段。

1)软件定义时期划分为三个阶段:问题定义、可行性研究和需求分析。

2)开发时期:总体设计、详细设计、编码和单元测试、综合测试。

3)维护时期:主要任务是使软件持久地满足用户的需要。

2快速原型模型:原型的用途是获知用户的需求,一旦需求确定了,原型将被抛弃。

3喷泉模型:“喷泉”这个词体现了面向对象软件开发过程迭代和无缝的特性。

图中代表不同阶段的圆圈相互重叠,这明确表示两个活动之间存在交迭;面向对象方法在概念和表示方法上的一致性,保证了在各项开发活动之间的无缝过度。

事实上,用面向对象开发软件时,在分析、设计、编码等项开发活动之间并不存在明显的边界。

需求阶段》面向对象分析阶段》面向对象设计阶段》编码阶段》集成和测试阶段》运行阶段》进一步开发|维护期4 研究目标系统的可行性分为以下三方面:(1)技术可行性:使用现有的技术能实现这个系统吗?(2)经济可行性:这个性同的经济效益能超过他的开发成本吗?(3)操作可行性:系统的操作方式在这个拥护住址内性的通吗?5系统流程图是概括地描绘物理系统的传统工具。

它的基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件(程序、文档、数据库、人工过程等)。

系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程6数据流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程所经受的变换。

没有具体物理部件,描绘数据在软件中流动和被处理的逻辑过程。

数据流图四种成分:矩形:源点或终点、圆角矩形:处理、双横线:数据存储、→:数据流。

画数据流图:确定源点和终点、数据从输入到输出的变化过程、名称提取。

大题7一般说从下述四个方面验证需求正确性:1)一致性所有需求必须是一致的,任何一条需求不能和其他需求相互矛盾。

2)完整性需求必须是完整的,规格说明书应该包含用户需要的每一个功能和性能。

软件工程期末考试重点整理

软件工程期末考试重点整理

软件工程的基本概念:研究软件生产和软件管理的工程学科。

主要内容:软件工程的基本概念。

软件开发模型。

软件开发各阶段的任务、技术、方法。

传统方法、面向对象方法。

软件工程管理。

软件质量保证。

软件工程环境。

软件工程三要素:方法、工具和过程什么是软件生命周期?定义一个软件从开始计划起,到废弃不用为止,称为软件的生存周期。

软件生存周期包括:计划(主要任务:调查和分析,调查用户需求,分析新系统的主要目标,分析开发该系统的可行性)、开发(主要任务:系统分析、设计和实现)与运行(主要任务:做好软件维护,使软件在整个生存周期内保证满足用户的需求和延长使用寿命)3个时期,每一时期又可细分为若干更小的阶段。

将软件开发过程划分生存周期的目的:把整个生存周期划分为较小的阶段,给每个阶段赋予确定而有限的任务,就能够简化每一步的工作内容,使因为软件规模增长而大大增加了的软件复杂性变得较易控制和管理需求分析的主要任务是1通过对问题及其环境的理解、分析和综合,建立分析模型;2在完全弄清用户对软件系统的确切要求的基础上,用“软件需求规格说明书”把用户的需求不大出来。

需求分析的步骤通过对现实环境的调查研究,获得当前系统的具体模型;去掉具体模型中的非本质因素,抽象出当前系统的逻辑模型;分析当前系统与目标系统的差别,建立目标系统的逻辑模型;对目标系统进行完善和补充,并写出完整的需求说明;对需求说明进行复审简述衡量模块独立性的两个准则。

选择程序设计语言的原则有哪些?简述你对程序设计风格的理解。

程序设计阶段的特点:生产方式:个体手工劳动。

生产工具:机器语言、汇编语言。

开发方法:追求编程技巧,追求程序运行效率。

程序难读、难懂、难修改。

硬件特征:价格贵、存储容量小、运行可靠性差。

软件特征:只有程序、程序设计概念,不重视程序设计方法。

“软件测试不能证明程序的正确性”,谈谈你对这句话的理解。

“软件维护是软件运行时期的工作,与软件开发各阶段联系较少,该阶段工作是简单的,难度也要小得多。

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

软件工程复习资料一、选择题,请从四个可选项中选择正确答案。

1.软件工程学科出现的主要原因是()。

A.计算机的发展B.其他工程科学的影响C.软件危机的出现D.程序设计方法学的影响2、()是职业软件工程师的必要条件。

A.自律、善于沟通、具有一定的软件技能B.编程速度快C.熟悉众多的软件环境D.语言天赋3.在E-R模型中,包含以下基本成分()。

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.类有3种类型,即()。

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.开发满足用户需求的软件B.研究算法C.及时交付软件D.生产无故障软件15、针对需求不确定的软件开发,比较好的模型是()。

A.快速原型化模型B.瀑布模型C.软件成熟度模型D.系统化模型16、软件结构图中没有()元素。

A.模块B.调用参数C.返回结果D.判断17、结构化设计方法划分模块的原则是()。

A.模块扇出小于5B.模块扇入小于5C.低耦合,高内聚D.模块深度小于718、配置视图体现了系统的实现环境,反映系统的()。

A.逻辑架构B.物理架构C.组成结构D.体系结构19、角色可以有四种类型:系统的使用者,硬件设备,外部系统和()。

A.数据库B.接口C.对象D.时间20、功能模型用于表达系统的需求,为软件的进一步分析和设计打下基础。

在面向对象方法中,由()实现。

A.场景描述B.活动图和场景描述C.用例图和场景描述D.交互图和场景描述21.结构化程序设计主要强调的是()。

A.程序的规模B.程序效率C.程序语言的先进性D.程序易读性22、对用例进行设计,发现实现用例功能的(),确定类之间的关系。

A.算法B.业务流程C.数据结构D.关键类23、框架是一组可用于不同应用的()的集合。

A.类B.数据结构C.函数D.过程24、从狭义上讲,软件测试是()的过程。

A.为发现错误而执行程序B.为了验证程序正确C.用不同的数据验证程序正确性D.区分程序员水平25、在设计黑盒测试用例时,主要研究()。

A.概要设计说明书B.详细设计说明C.项目开发计划D.需求规格说明26、()时,测试人员必须接触到程序源代码。

A、黑盒测试B、白盒测试C、压力测试D、外观测试27、一般维护程序代码的策略()。

A.从需求开始重新开发B.根据维护申请读源程序,并修改C.找一个新的模块替换D.不用读源程序,从新编写代码28、Gantt图直观简明、易学易用,但它不能()。

A.直接反应任务间的依赖关系和关键路径B.反应任务的分解情况C.直接反应任务的起止日期D.反应具体任务的时间段29、()针对开发过程中的程序、数据、文档提出使用和管理策略。

A.组织管理B.过程管理C.风险管理D.软件配置管理30、程序的三种基本控制结构,包括顺序结构、()和循环结构。

A.判断结构B.说明结构C.输入结构D.输出结构31、在分析模型内表示协调、顺序、事务处理以及控制其他对象的类是()。

A.控制类B.组件类C.主函数D.事务类32、信息隐藏的核心内容是()。

A.把数据都放在公共的区域B.数据不能被其他模块访问C.一个模块的内部信息不允许其他模块直接访问D.把信息加密,只能让有密钥的模块访问33、面向过程的方法最关心的是过程,而过程实施的对象是作为过程()传递的。

A.参数B.主体C.过程D.数据结构34、测试用例是一组()。

A.测试用的输入数据以及对应的预期结果B.测试驱动程序C.测试数据D.测试程序及数据35、由于面向对象中的继承和消息机制,使得软件测试()。

A.更加简单B.更加复杂C.没变D.不确定36、软件维护过程中产生的副作用,一般是由()引起的。

A.算法说明B.修改程序C.优先级D.环境要求37、项目计划活动的主要任务是()。

A.估算项目的进度B.分配工作量C.计划资源使用D.以上全部38、如果程序代码的()好,则调试的成本就可以大幅度降低。

A.性能比B.可扩充性C.可读性D.可移植性39、两个浮点数X0和X1比较相等时,应该用()比较。

A.X0==X1B.X1-X0<εC.|X0-X1|<εD.X0=X140、瀑布模型存在的问题是()。

A.用户容易参与开发B.适用可变需求C.用户与开发者易沟通D.缺乏灵活性41.可行性研究的主要任务是()。

A.确定系统做什么B.确定性能C.确定功能D.进行一次简要的需求分析42、用户需求描述的是()。

A.用户使用该软件要完成的任务B.业务需求C.功能需求D.软件目标、规模和范围43、数据流程图的主要作用是()。

A.描述模块组成B.说明用户数据结构C.描述软件功能D.建造系统的逻辑模型44、业务需求描述的是()。

A.功能需求B.用户需求C.用户的具体业务流程D.软件的目标、规模和范围45、一个数据流程图中的图形符号有且仅有()种。

A.3B.5C.4D.746、非直接耦合的模块独立性最强,()的模块独立性最弱。

A.内容耦合B.数据耦合C.控制耦合D.外部耦合47、信息隐藏的核心内容是()。

A.把数据都放在公共的区域B.数据不能被其他模块访问C.一个模块的内部信息不允许其他模块直接访问D.把信息加密,只能让有密钥的模块访问48、面向过程的方法最关心的是过程,而过程实施的对象是作为过程()传递的。

A.参数B.主体C.过程D.数据结构49、()用于描述系统的功能集。

A.组件视图B.逻辑视图C.用例视图D.对象视图50、用()模型描述系统组织结构。

A.组织B.CMMC.数据D.静态51、下面的哪个选项不是软件工程的宗旨()。

A.开发满足用户需求的软件B.研究算法C.及时交付软件D.生产无故障软件52、软件开发活动的顺序应该是()。

A.问题定义、可行性研究、需求分析、设计、编码和测试。

B.问题定义、设计、可行性研究、编码和测试。

C.需求分析、设计、编码和测试。

D.需求分析、编码和测试、试运行。

53、假定银行的存款年利率是2%,请问现在存5000元,两年后价值应为()元。

A.5202B.4500C.5100D.471254、系统物理模型用()表示。

A.系统流程图B.数据流程图C.程序流程图D.E-R图55.需求规格说明书的作用不包括()A.软件验收的依据B.用户与开发人员对软件要做什么的共同理解C.软件可行性研究的依据D.软件设计的依据56.进行需求分析有的多种描述工具,但不包括()。

A.数据流图B.判定表C.PAD图D.数据词典57.反映模块独立性的指标是()。

A.模块的复杂性B.模块的大小C.模块的参数D.内聚和耦合58.两个模块都访问一个全局简单变量而不是同一全局数据结构,则这两个模块属于()。

A.数据耦合B.外部耦合C.公共耦合D.内容耦合59.下列哪个不是UML的视图()A.逻辑视图B.行为视图C.组件视图D.并发视图60、用()模型分析和定义用户的功能需求。

A.数据B.静态C.动态D.用例61、对象模型描述现实世界中实体的对象以及它们之间的关系,表示目标系统的静态数据结构。

在面向对象方法中,由()实现。

A.顺序图B.类图C.状态图D.组件图62、如果对象之间的耦合是通过()来实现的,则这种耦合就是交互耦合。

A.消息机制B.参数C.方法D.公共数据区63.动态模型描述系统的动态结构和对象之间的交互,表示瞬时的、行为化的系统“控制”特性。

面向对象方法中,常用()实现。

A.状态图B.交互图C.活动图D.以上全部64.不适合作为数据处理与数据库应用的语言是()A.SQLB.CobolC.4GLD.Lisp65.软件工程中,只根据程序的功能说明而不关心程序内部逻辑的测试方法,称为()测试。

A.白盒法B.灰盒法C.黑盒法D.综合法66.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。

设计这组测试用例的方法是()。

A.条件覆盖法B.等价分类法C.边界值分析法D.错误推测法67.即使软件能顺利运行,但用户往往会提出增加新功能或改进已有功能的建议,为满足这一类要求而进行的活动称为()。

A.完善性维护B.预防性维护C.适应性维护D.代码重构68.可维护性的特性中,相互矛盾的是()。

A.可理解性与可测试性B.效率与可修改性C.可修改性与可理解性D.可理解性与可读性69.不属于软件项目管理的是()。

A.软件销售利润B.项目风险评估C.质量监控D.开发机构能力评估70.()针对开发过程中的程序、数据、文档提出使用和管理策略。

A.组织管理B.过程管理C.软件配置管理D.风险管理71、动态模型描述系统的动态结构和对象之间的交互,表示瞬时的、行为化的系统“控制”特性。

面向对象方法中,常用()实现。

A.状态图B.交互图C.活动图D.以上全部72、面向对象分析和设计的界限是(),从分析到设计是一个逐渐扩充模型的过程。

A.清晰的B.模糊的C.非线性的D.确定的73、每个子系统的接口定义了若干(),体现了子系统的功能,而功能的具体实现方法应该是隐藏的。

A.操作B.参数C.算法D.控制74、测试最早的开始时间是()。

A.从详细设计阶段开始B.从编码阶段开始C.从需求分析阶段开始D.以上都对75、从测试对象的粒度上划分测试为()。

相关文档
最新文档