上海大学软件工程试卷试题(附答案)

合集下载

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

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

软件工程期末考试参考题及答案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);}}}```答案:该代码使用了工厂模式。

软件工程考试题(含答案)

软件工程考试题(含答案)

软件工程考试题简答题1、什么叫软件?软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合2、什么叫软件危机?软件危机包含哪两点?软件危机产生的原因是什么?软件危机是指在计算机软件开发与维护过程中所遇到的一系列严重问题。

包括两点:(1)如何开发软件,以满足对软件日益增长的需求;(2)如何维护数量不断膨胀的已有软件。

软件开发和维护过程中存在的许多严重问题,一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。

具体表现如下:(1)软件是逻辑部件而不是物理部件。

(2)软件的规模越来越大,复杂性越来越大。

(3)轻视需求分析的重要性,轻视软件维护的错误观点和方法。

3、什么叫软件工程?1968年在第一届NATO会议上的早期定义:“建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法”。

1993年IEEE的定义:“①软件工程是:把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②进而研究①实现的途径”。

我们国家最近定义:软件工程是指导计算机软件开发和维护的工程学科。

它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。

4、两种软件工程方法学开发软件时要建立哪些模型?软件工程方法学包括:传统方法学和面向对象方法学。

常用的开发模型有:瀑布模型(需求稳定,而且可以预先指定)原型模型(需求模糊或者随时间变化)增量模型(分析员先作出需求分析和概要设计,用户参与逐步完善)螺旋模型(将瀑布模型与原型化模型结合起来,并加入了风险分析)喷泉模型(使开发过程具有迭代性和无间隙性)5、软件过程模型有哪些?简述它们的特点。

过程模型分为五大类:1.管理过程模型。

2.瀑布模型(又称为生命周期模型)。

3.增量过程模型:包括增量模型,,RAD模型。

4.烟花过程模型:包括原型开发模型,螺旋模型,协同开发模型。

上海大学软件工程试卷试题(附答案)

上海大学软件工程试卷试题(附答案)

、单项选择题(本大题共20小题,每小题 1 分,共20分)在每小题列出的备选项中只有一个是符合题目要求的,多选或未选均无分。

请将其代码填写在题后的括号内。

错选、1. 在软件生命周期的各个阶段中,工作量最大的阶段是A .需求分析B.总体设计C.综合测试 D .软件维护2. 瀑布模型的特点不包括A.前一阶段的任务没有完成,不能进入下一阶段工作B.进入某个阶段工作后,不再回复到之前的阶段工作C.只有完成并评审了规定的文档,才标志着一个阶段的工作结束D.在软件产生之前,需求无法得到充分的测试3. 螺旋模型强调的开发手段是A.分阶段开发C.风险驱动开发4. 需求分析阶段的工作不包括A.获得当前系统的物理模型C.建立目标系统的逻辑模型5. 总体设计阶段的工作不包括A.确定程序的模块组成C.确定实现各个模块功能的处理逻辑6. 描绘系统物理模型的传统工具是A .系统流程图C.实体-联系图7. 符合信息隐藏原理的是A .将信息隐藏起来不被发现C.将可能要修改的设计决策隐藏起来B.废弃式原型开发D.增量式开发B.抽象出当前系统的逻辑模型建立目标系统的物理模型D.B.确定模块间的相互关系D.制定测试计划B.数据流图D.状态转换图B.将信息隐藏起来确保安全D.将不要修改的设计决策隐藏起来8. 模块的独立性原则是指软件设计时要尽量使模块具有A .低内聚、低耦合B.低内聚、高耦合C.高内聚、低耦合D.高内聚、高耦合[ 9. 有利于提高模块独立性的做法是A.尽量使模块具有逻辑型内聚B.尽量使模块间具有内容型耦合C.使判定作用范围内的模块尽量成为该判定所在模块的直属下级模块D.尽量提高模块的扇入数和扇出数[ 10. 有关结构化设计(SD )方法的正确叙述是]A.只使用顺序、选择和循环 3 种控制结构B.由数据结构映射出软件的结构C.是一种面向对象的设计方法D.是一种面向数据流的设计方法[ 11. 有关总体设计阶段所使用的结构图的不正确叙述是]A.能够描述软件系统的模块组成B.结构图中的模块是按照自上而下、自左向右的顺序执行的C.能够描述模块间的调用关系以及模块间调用时所传递的信息D.将模块间调用时所传递的信息分成两种:数据信息和控制信息[ 12. 要求使用顺序、选择和循环控制结构的组合或嵌套来表达程序的过程设计工具是A .程序流程图B.盒图C .判定表D.PDL13.关于好的编码风格的正确叙述是A.把多个语句写在同一行以节省空间B.要求用户指定输入数据的数目C .检查输入项重要组合的合法性D.表达式中不使用多余的括号,以简化表达式14.能发现软件需求规格说明书中的错误的测试步骤是A.模块测试B.子系统测试C .系统测试D.验收测试15.自顶向下集成测试和自底向上集成测试都具有的优点是A.较早发现主要设计错误B.可采用深度优先策略和宽度优先策略C .支持故障隔离D.可复用模块得到充分测试19.不符合面向对象设计准则的是A.用对象的封装性来实现信息隐藏B.尽可能松散对象之间的交互耦合C .尽可能减小继承耦合度D.尽可能设计小而简单的类20. 上海大学校内电话号码由 5 位数字组成,但第 1 位数字只能是 5 或6。

软件工程试卷(附答案)

软件工程试卷(附答案)

软件工程试卷(附答案)1.软件生命周期模型有多种,其中不属于软件生命周期模型的是(C)功能模型。

2.下列说法错误的是(C)瀑布模型和增量模型都属于整体开发模型。

3.可行性分析中,系统流程图用于描述(A)当前运行系统。

4.研究软硬件资源的有效性是进行(A)技术可行性研究的一方面。

5.数据字典中,一般不包括下列选项中的(D)源点与终点条目。

6.SA方法的分析步骤是首先调查了解当前系统的工作流程,然后(A)获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型。

7.通过(B)功能分解可以完成数据流图的细化。

8.对软件进行分解,是为了(C)降低模块的复杂程度,并降低模块间接口的复杂程度。

9.为了提高模块的独立性,模块内部最好是(C)功能内聚。

10.在软件结构设计完成后,对于下列说法,正确的是(C)一个模块的扇出太多,说明该模块过分复杂,缺少中间层。

11.在软件开发过程中,以下说法正确的是(B)N-S图不可能任意转移控制,符合结构化原则。

A.软件开发过程是线性的B.软件开发过程是迭代的C.软件开发过程是风险驱动的D.软件开发过程是需求驱动的3、软件需求分析的主要任务是(ABC)。

A.确定用户需求B.建立系统模型C.规定系统功能D.编写程序代码4、以下属于软件设计阶段的活动是(BCD)。

A.编写用户手册B.确定模块划分C.设计系统结构D.选择数据结构和算法5、软件测试的主要目的是(ABD)。

A.发现软件缺陷B.提高软件质量C.证明软件正确性D.评估软件可靠性6、软件维护的主要种类有(ABC)。

A.纠错性维护B.适应性维护C.完善性维护D.重构性维护7、以下属于软件过程改进的方法是(ACD)。

A.引入新的开发方法B.增加人员数量C.培训人员D.引入新的工具和技术8、以下属于软件质量特性的是(ABCD)。

A.可靠性B.可维护性C.可用性D.可重用性9、软件工程的基本原则包括(ABCD)。

A.逐步求精B.分阶段进行C.严格控制D.重视质量10、以下属于软件开发生命周期模型的是(ABCD)。

《软件工程》试卷参考答案

《软件工程》试卷参考答案

考试试卷课程名称:软件工程一、选择题1、软件是一种实体。

A.有形的C.虚拟的答案:D 2、在一个用面向对象编程语言实现的软件系统中,当一个对象内的一个方法被激活,则称之为向该对象发送-A.命令B.代码C.消息D.数据答案:C 3、在整个软件过程中,哪个阶段花费最长的时间和最多的成本?A.分析B.设计C.实现D.维护答案:D 4、是语义上相连的、由边界符号界定的、由一个聚合标识符标识的一系列程序语句。

A.for 循环B.模块C.if 语句D.文件答案:B 5、好的软件设计,模块应该是。

A.低内聚、高耦合B.低内聚、低耦合C.r¾内聚、低耦合D.高内聚、高耦合答案:C6、针对下面这个用例图,哪个说法是错误的?B.物理 D.逻辑A.学生能够与系统中的用例A交互。

B.用例A的成功执行必须包括用例B的成功执行。

C.如果用例A执行,用例C也必须执行。

D,用例C可能不被激活。

答案:C7、顺序图与协作图都是图。

A.交互B.状态C.协作D.顺序答案:C8、以下关于软件系统中的实体的说法,哪个是正确的?A.实体类必须有属性。

B.实体类必须是实实在在的物理实体。

C.实体类不与逻辑类和边界类打交道。

D,用例图中的参与者是系统的外部,所以参与者肯定不能成为软件系统内部的实体类。

答案:A9、以下哪个是自顶向下实现与集成的缺点?A.逻辑模块得不到充分的测试。

B.操作模块得不到充分的测试。

C.主要设计错误发现的晚。

D.故障隔离。

答案:B10、软件测试oA.谁都能做,不需要计划和技术B.对于高水平的软件开发团队来说是不需要的,或可有可无的C.是紧接在实现阶段后面的一个阶段D.包括可执行测试和非执行测试答案:D11、使软件系统适应新的操作系统而做的维护是维护。

A.纠错性维护B.完善性维护C.适应性维护D.哪个也不是答案:C128、以下哪个软件生命周期模型是最好的?A.瀑布模型B.快速原型模型C,增量模型D.不能简单地比较优劣,要具体情况具体分析答案:D13、多态与动态绑定是所特有的。

软件工程试卷(附答案)

软件工程试卷(附答案)

一、单项选择题(每题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。

软件工程考试题(带答案)..

软件工程考试题(带答案)..

一、选择题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)是其突出的缺点。

(word版)软件工程考试题(含答案)

(word版)软件工程考试题(含答案)

软件工程考试题简答题1、什么叫软件?软件是计算机系统中与硬件相互依存的另一局部,它是包括程序,数据及其相关文档的完整集合2、什么叫软件危机?软件危机包含哪两点?软件危机产生的原因是什么?软件危机是指在计算机软件开发与维护过程中所遇到的一系列严重问题。

包括两点:1〕如何开发软件,以满足对软件日益增长的需求;2〕如何维护数量不断膨胀的已有软件。

软件开发和维护过程中存在的许多严重问题,一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。

具体表现如下:1〕软件是逻辑部件而不是物理部件。

2〕软件的规模越来越大,复杂性越来越大。

3〕轻视需求分析的重要性,轻视软件维护的错误观点和方法。

3、什么叫软件工程?1968年在第一届NATO会议上的早期定义:“建立并使用完善的工程化原那么,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法〞。

1993年IEEE的定义:“①软件工程是:把系统的、标准的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②进而研究①实现的途径〞。

我们国家最近定义:软件工程是指导计算机软件开发和维护的工程学科。

它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。

4、两种软件工程方法学开发软件时要建立哪些模型?软件工程方法学包括:传统方法学和面向对象方法学。

常用的开发模型有:瀑布模型〔需求稳定,而且可以预先指定〕原型模型〔需求模糊或者随时间变化〕增量模型〔分析员先作出需求分析和概要设计,用户参与逐步完善〕螺旋模型〔将瀑布模型与原型化模型结合起来,并参加了风险分析〕喷泉模型〔使开发过程具有迭代性和无间隙性〕5、软件过程模型有哪些?简述它们的特点。

过程模型分为五大类: 1.管理过程模型。

2.瀑布模型〔又称为生命周期模型〕。

3.增量过程模型:包括增量模型,,RAD模型。

4.烟花过程模型:包括原型开发模型,螺旋模型,协同开发模型。

上海大学软件工程试卷.doc

上海大学软件工程试卷.doc

一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的备选项屮只有一个是符合题目要求的,请将K 代码填写在题P 的括号内。

错选、 多选或未选均无分。

1. 在软件生命周期的各个阶段屮,丁.作景最人的阶段是 A. 需求分析 B.总体设计C.综合测试D.软件维护2. 瀑介模型的特点不妲括A. 前一阶段的任务没有完成,不能进入K 一阶段工作B. 进入某个阶段工作后,不再M 复到之前的阶段工作C. 只奋完成并评审了规定的文档,才标志着一个阶段的工作结束D. 在软件产生之前,需求无法得到充分的测试 3. 螺旋模型强凋的开发手段是A. 分阶段开发 C.风险驱动开发4. 需求分析阶段的工作不包括A. 获得当前系统的物理模型 C.建立目标系统的逻辑模型5. 总体设计阶段的工作不包拈 A.确定程序的模块组成C.确定实现各个模块功能的处理逻辑6. 描绘系统物理模型的传统工具是 A.系统流程图 C.实体-联系图7. 符合信息隐藏原理的是 A.将信息隐藏起来不被发现 C.将可能耍修改的没计决策隐藏起来8. 模块的独立性原则是指软件设计吋要尽鲎使模块貝-有 A.低内聚、低禍合 B.低内聚、髙概合 C.高内聚、低耦合 D.高内聚、高耦合B.废弃式原型开发 D.增景式开发B.抽象fli 当前系统的逻辑模沏 D.建立目标系统的物理模型B.确定模块叫的相互关系 D.制定测试计划B.数据流图 D.状态转换图B.将信息隐藏起來确保安全 D.将不耍修改的设计决策隐藏起来9. 行利于提高模块独立性的做法是 A. 尽M 使模块具有逻辑型内聚 B. 尽fi 使模块间具冇A 容型耦合c.使判定作用范ra 内的模块尽景成为该判定所在模块的直属下级模块 D.尽量提高模块的扇入数和扇出数 10. 冇关结构化设计(SD)方法的正确叙述是 A. 只使用顺序、选择和循环3种控制结构 B. 由数据结构映射出软件的结构 C. 是一种凼句对象的设计方法 D. 是一种向数据流的设计方法11. 有欠总体设计阶段所使用的结构阁的不•:确叙述是 A. 能够描述软件系统的模块组成B. 结构图中的模块是按照£1上而下、B 左叫右的顺序执行的C. 能够描述模块间的调用关系以及模块间调用吋所传递的倌息D. 将模块间调用时所传递的信息分成W 种:数据信息和控制信息12. 要求使用顺序、选择和循环控制结构的组合或嵌套来表达程序的过程设汁工具是 A.程序流程图 B.盒图C.判定表 D. PDL13. 关于好的编码风格的正确叙述是A.把多个语句写在同一行以节省空间B.要求川户指定输入数据的数0C.检查输入项重要组合的合法性D.表达式中不使用多余的括号,以简化表达式14. 能发现软件需求规格说明15中的错误的测试步骤是 A.模块测试 B.子系统测试 C.系统测试D.验收测试 15. 自顶14下集成测试和&底句上集成测试都具杏的优点是 A.较早发现主耍设计错误 C.支持故障隔离19. 不符合面向对象设计准则的足 A.用对象的封装性來实现信息隐藏 B.尽可能松散对象之间的交互耦合 C.尽讨能减小继承耦合度D.尽可能设计小而简单的类20. 上海人学校A 电话号码由5位数字组成,但第1位数字只能是5或6。

软件工程考试试题及答案

软件工程考试试题及答案

一、单选题(第1-20题每题5分)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) 详细设计(B) 可行性分析和项目开发计划(C) 概要设计(D) 软件测试10. 以文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是()。

(A) 喷泉模型(B) 增量模型(C) 瀑布模型(D) 螺旋模型11. 以下哪一项不是软件危机的表现形式()。

软件工程试卷(附答案)

软件工程试卷(附答案)

软件工程试卷(附答案)软件工程试卷(附答案)一、选择题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. 软件应该按时交付,而不考虑质量问题二、简答题1. 请简要介绍软件需求分析的主要任务和方法。

需求分析是软件开发过程中的重要环节,主要任务有以下几点:- 确定软件的功能需求:通过与用户、项目管理人员和领域专家的沟通,了解用户对软件的需求和期望,并将其转化为明确的功能需求。

- 确定软件的非功能需求:包括性能、安全性、可靠性等方面的要求,以确保软件具备所需的质量属性。

- 对需求进行分析和建模:通过使用UML等工具,将需求转化为可视化的模型,以便更好地理解和沟通需求。

- 验证和确认需求:与用户和其他相关利益相关者一起,验证和确认所定义的需求,以确保其准确和完整。

需求分析的方法主要包括:- 采访和观察:与用户和利益相关者进行面对面的交流,收集需求信息。

软件工程测试题+参考答案

软件工程测试题+参考答案

软件工程测试题+参考答案一、单选题(共40题,每题1分,共40分)1、窃听是一种()攻击,攻击者()将自己的系统插入到发送站和接收站之间。

截获是一种()攻击,攻击者()将自己的系统插入到发送站和接受站之间。

A、被动,无须,主动,必须B、被动,必须,主动,无须C、主动,无须,被动,必须D、主动,必须,被动,无须正确答案:A2、如果一名攻击者截获了一个公钥,然后他将这个公钥替换为自己的公钥并发送给接收者,这种情况属于哪一种攻击?A、重放攻击B、Smurf 攻击C、中间人攻击D、字典攻击正确答案:C3、黑客攻击服务器以后,习惯建立隐藏用户,下列哪一个用户在DOS命令net user下是不会显示的。

A、fg#B、fg%C、fg_D、fg$正确答案:D4、下列哪一种方法在支持向量机中有应用A、拉格朗日乘子法B、二分法C、最小二乘法D、极大似然估计正确答案:A5、设顺序线性表的长度为30,分成5块,每块6个元素,如果采用分块查找,则其平均查找长度为A、6B、6.5C、11D、5正确答案:B6、对N个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为A、NB、N/2C、(N+1)/2D、[(1+N)*N ]/2正确答案:C7、信息安全中PDR模型的关键因素是()。

A、人B、客体C、技术D、模型正确答案:A8、某业务系统具有上传功能,页面上传的文件只能上传到UPLOAD目录,由于上传页面没有过滤特殊文件后缀,存在上传漏洞,而短时间厂家无法修改上传页面源码,现采取如下措施,哪种措施可以暂时防止上传漏洞危害又不影响业务系统正常功能。

A、禁止UPLOAD目录访问权限B、删除上传页面C、禁止UPLOAD目录执行脚本文件D、以上措施都不正确正确答案:C9、在各种作业调度算法中 , 若所有作业同时到达 , 则平均周转时间最短的算法是()。

A、多级反馈队列调度算法B、先来先服务调度算法C、高优先级优先调度算法D、短作业优先调度算法正确答案:D10、下面()不是数据字典的内容。

软件工程考试试题(含答案)

软件工程考试试题(含答案)

软件工程考试试题(含答案)一、填空题(每空1分,共25分)1.软件生存周期一般可以划分为,问题定义、____________、____________、设计、编码、测试和____________。

2.基于软件的功能划分,软件可以划分成__________、__________、__________三种。

3.可行性研究,应从、技术可行性、运行可行性、和开放方案可行性等方面研究。

4.系统流程图是描绘的传统工具。

它的基本思想是用图形符号以描绘系统里面的每个部件。

5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、、和。

6.结构化分析方法是面向________________进行需求分析的方法。

结构化分析方法使用________________与________________来描述。

7.是自动地共享类、子类和对8.9.低内聚低耦合A、低内聚高耦合B、高内聚低耦合C、高内聚高耦合1.Jackson设计方法是由英国的M. Jackson提出的,它是一种面向()的软件设计方法。

A、对象B、数据流C、数据结构D、控制结构2.试判断下列叙述中,哪个(些)是正确的( )。

a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、aB、bC、cD、b和c3.()是用户和设计交换最频繁的方法。

A、原型化方法B、瀑布模型方法C、螺旋模型方法D、构件组装模型4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( )。

A、硬件环境B、软件开发的环境C、软件开发工具和软件开发的环境 D、开发人员的素质5.20世纪50年代以来,出现了许多不同的程序设计语言,下列语言中哪个语言是低级语言( )。

A、PASCALB、VISUAL BASICC、C++D、汇编语言6.软件测试的目的是?( )A、证明软件的正确性B、找出软件系统中存在的所有错误C、证明软件系统中存在错误D、尽可能多的发现软件系统中的错误7.使用白盒测试方法时,确定测试数据应根据()和指定的覆盖标准。

软件工程考试题及答案

软件工程考试题及答案

软件工程考试题及答案一、单项选择题(每题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. 软件测试的类型包括()。

软件工程试卷(附答案)

软件工程试卷(附答案)

软件工程试卷(附答案)一、单项选择题(每题2分,共40分)1.软件生存周期模型有多钟,下列选项中,(C)不是软件生存周期模型。

A.螺旋模型B.增量模型C.功能模型D.瀑布模型2.以下说法错误的是(C)。

A.增量模型是在瀑布模型的基础上加以修改而形成的B.增量模型推迟某些阶段或所有阶段中的细节,从而较早地产生工作软件C.瀑布模型和增量模型都属于整体开发模型D.瀑布模型规定在开始下一个阶段的工作之前,必须完成前一阶段的所有细节 3.可行性分析中,系统流程图用于描述(A)。

A.当前运行系统C.目标系统B.当前逻辑模型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.一个模块的扇入太多,申明该模块过分复杂,缺少中央层11、在软件开发过程中,以下说法正确的是(B)。

软件工程 期末考试题(含答案)

软件工程 期末考试题(含答案)

软件工程期末考试题(含答案)软件工程期末考试题(含答案)一、选择题1. 在软件项目管理中,以下哪个阶段不属于软件开发的基本阶段?A. 需求分析阶段B. 设计阶段C. 开发阶段D. 测试阶段答案:D2. “面向对象”是一种软件系统开发的基本方法论,以下哪个不属于面向对象的特点?A. 封装性B. 继承性C. 多态性D. 并发性答案:D3. 软件开发过程中,以下哪个模型不属于常见的软件开发模型?A. 瀑布模型B. 敏捷模型C. 增量模型D. 螺旋模型答案:D4. 在软件测试中,以下哪个不属于黑箱测试方法?A. 等价类划分测试B. 边界值测试C. 功能性测试D. 白盒测试答案:D二、简答题1. 请简述软件工程的定义和目标。

软件工程是研究和应用工程原理、方法和工具,以开发、维护和管理软件系统的工程学科。

其目标是提高软件开发效率、软件质量和软件项目管理能力,以满足用户的需求。

2. 什么是软件需求工程?请简要阐述软件需求工程的过程。

软件需求工程是指在软件开发过程中,通过系统化的方法和工具,对用户需求进行获取、分析、定义和规格化的过程。

软件需求工程的过程包括以下几个步骤:1) 需求获取:通过与用户沟通、分析用户需求文档等方式,获取用户对软件系统的需求。

2) 需求分析:对获取的需求进行验证、整理和分类,识别出关键需求和优先级,并进行需求的可行性评估。

3) 需求定义:将需求进行详细而准确的描述,包括功能需求、性能需求、界面需求等。

4) 需求规格化:将需求转化为形式化的规格说明,包括用例图、状态图、数据流图等工具。

5) 需求验证:通过与用户或相关人员的确认,验证需求规格是否准确、完整和一致。

三、综合题某公司决定开发一个在线购物系统,你作为软件工程团队的负责人,请围绕该系统的需求分析、设计和测试等方面,给出相应的工作计划。

1. 需求分析阶段:(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.软件设计中划分模块的一个准则是()。

A、低内聚低耦合B、低内聚高耦合C、高内聚低耦合D、高内聚高耦合2.Jackson设计方法是由英国的M. Jackson提出的,它是一种面向()的软件设计方法。

A、对象B、数据流C、数据结构D、控制结构3.试判断下列叙述中,哪个(些)是正确的( )。

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