软件工程期末试卷(十套含答案).pdf
《软件工程期末试卷(十套含答案).pdf》由会员分享,可在线阅读,更多相关《软件工程期末试卷(十套含答案).pdf(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件工程期末试题(一)单项选择题 1.瀑布模型的存在问题是(B )A用户容易参与开发 B缺乏灵活性 C用户与开发者易沟通 D适用可变需求 2.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C )A.软件工程 B.软件周期 C.软件危机 D.软件产生 3.数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是(B )A.数据、公共、标记、控制 B.数据、标记、控制、公共 C.控制、数据、标记、公共 D.控制、数据、公共、标记 4.在 SD 方法中全面指导模块划分的最重要的原则是(D )A.程序模块化 B.模块高内聚 C.模块低耦合 D.模块独立性 5软件测试的目的是(
2、B )。A 评价软件的质量 B.发现软件的错误 C 找出软件的所有错误 D.证明软件是正确的 6在设计测试用例时,(A )是用得最多的一种黑盒测试方法。A 等价类划分 B.边界值分析 C.因果图 D.判定表 7.需求分析最终结果是产生(B )。A.项目开发计划 B.需求规格说明书 C.设计说明书 D.可行性分析报告 8.Jackson 图中,模块框之间若有直线连接,表示它们之间存在(B )。A.调用关系 B.组成关系 C.链接关系 D.顺序执行关系 9.软件详细设计的主要任务是确定每个模块的(C)。A.功能 B.外部接口 C.算法和使用的数据结构 D.编程 10为了提高软件的可维护性,在编码阶
3、段应注意(D )A.保存测试用例和数据 B.提高模块的独立性 C.文档的副作用 D.养成好的程序设计风格 11设年利率为 i,现存入 p 元,若计复利,n 年后可得钱数为(B)Ap(1+in)Bp(i+1)n Cp(1+i)n Dp(i+n)12在考察系统的一些涉及时序和改变的状态时,要用动态模型来表示。动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是(A )。A 状态图 B.数据流图 C.系统结构图 D.时序图 13.对象实现了数据和操作的结合,使数据和操作(C )于对象的统一体中。A.结合 B.隐藏 C.封装 D.抽象 14.软件详细设计的主要任务是确定每个模块的(A
4、 )。A.算法和使用的数据结构 B.外部接口 C.功能 D.编程 15.软件结构图中,模块框之间若有直线连接,表示它们之间存在(A )。A.调用关系 B.组成关系 C.链接关系 D.顺序执行关系 16.需求分析最终结果是产生(B)。A.项目开发计划 B.需求规格说明书 C.设计说明书 D.可行性分析报告 17.在详细设计阶段,经常采用的工具有(A )。A.PAD B.SA C.SC D.DFD 18.因计算机硬件和软件环境的变化而作出的修改软件的过程称为(C )A.教正性维护 B.适应性维护 C.完善性维护 D.预防性维护 20为了提高软件的可维护性,在编码阶段应注意(D )A.保存测试用例和
5、数据 B.提高模块的独立性 C.文档的副作用 D.养成好的程序设计风格 1面向对象开发方法包括 OOA、OOD 和 OOP 三部分。2效益分有形效益和无形效益两种。有形效益可用纯收入、货币时间的价值、投资回收期等指标进行度量;无形效益主要从性质上、心理上进行衡量,很难直接进行量的比较。3.从应用特点的角度来看,我们可以把高级语言分为基础语言、结构语言和专用语言三类。设计题 已知有如下的伪代码程序:START I:=1;WHILE i:=n-1 DO min:=Ai;j:=i+1;WHILEjAj THEN BLOCK temp:=min;min:=Aj;Aj:=temp;ENDBLOCK EN
6、DIF;j:=j+1;ENDDO i:=i+1;ENDDO STOP 要求:请用盒图描述。i:=1 i=n-1 min:=Ai j:=i+1 jAj t temp:=min min:=Ai Aj:=temp j:=j+1 i:=i+1 软件工程期末试题(二)一,判断题(正确的在括号内打上,错误的打上.每题 1.5 分,共 15 分)Warnier方法也是一种面向数据结构的设计方法,其逻辑更严格.()PAD图在设置了五种基本控制结构后,还允许递归调用.()你 为了加快软件维护作业的进度,应尽可能增加维护人员的数目.()当验收测试通过,软件开发就完成了.()完成测试作业后,为了缩短源程序的长度应删
7、除程序中的注解.()系统结构图是精确表达程序结构的图形表示法.因此,有时也可以将系统结构图当作系统流程图使用.()在程序调试时,找出错误的位置和性质比改正该错误更难.()以对象,类,继承和通信为基础的面向对象设计方法(OOD)也是常见的软件概要设计方法之一.()二,单项选择题(每小题 2 分,共 10 分)试判断下列叙述中,哪 个(些)是正确的(D)a,软件系统中所有的信息流都可以认为是事务流 b,软件系统中所有的信息流都可以认为是变换流 c,事务分析和变换分析的设计步骤是基本相似的 A,a B,b C,c D,b和 c 进行需求分析可使用多种工具,但(B)是不适用的.A,数据流图 B,PAD
8、图 C,判定表 D,数据词典 在详细设计阶段,经常采用的工具有(A).A,PAD B,SA C,SC D,DFD 详细设计的结果基本决定了最终程序的(C)A,代码的规模 B,运行速度 C,质量 D,可维护性 使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准.A,程序的内部逻辑 B,程序的复杂程度 C,该软件的编辑人员 D,程序的功能 三,多项选择题(每题2 分,共10分.注:正确得2 分,漏选得1 分,多选,错选不得分.)(ABCD)可以作为模块.A,子程序 B,函数 C,过程 D,编译文件 下面哪些测试属于黑盒测试(BCD).A,路径测试 B,等价类划分 C,边界值分析 D,错误
9、推测 E,循环测试 下列属于度量效益方法的是(ABCD).A,货币的时间价值 B,投资回收期 C,收入 D,投资回报率 软件维护的策略包括(BCD).A,定期检测维护 B,改正性维护 C,适应性维护 D,完善性维护 下列属于软件测试过程的是(ABE).A,单元测试 B,组装测试 C,内核测试 D,法律验证 E,确认测试 四,简答题(每题 6 分,共 24 分)1、耦合性和内聚性有几种类型 其耦合度,内聚强度的顺序如何 答案:低:非直接耦合,数据耦合,标记耦合,控制耦合,外部耦合,公共耦合,内容耦合:高 强:功能内聚,信息内聚,通信内聚,过程内聚,时间内聚,逻辑内聚,偶然内聚:弱 2、请举例说明
10、什么是多态,什么是重载 答案:多态性是指子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对象.也就是说,在类等级的不同层次中可以共享(公用)一个行为(方法)的名字,然而不同层次中的每个类却各自按自己的需要来实现这个行为.当对象接收到发送给它的消息时,根据该对象所属于的类动态选用在该类中定义的实现算法.3、重载是指一个类中有多个同名的方法,但在操作数个数或类型上有区别.例:public class A int age;String name;public void setValue(int i)age=i;public void setValue(String s)
11、name=s;4、什么是数据字典 简述数据字典与数据流图的关系.答案:数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义与说明,是数据流程图的补充工具.(2分)数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用.数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明.(3分)5、简述编码风格的重要性.答案:阅读程序是软件开发和维护过程中的一个重要组成部分,程序实际上也是一种供人阅读的文章.应当在编写程序时讲求程序的风格,这将大量地减少人们读程序的时间.良好的编码风格有助于编写出可靠而又容易维护的
12、程序,编码的风格在很大程度上决定着程序的质量.面向对象的测试和传统开发方法的测试有什么不同 答案:(1)二者都可以分成四个阶段进行.但传统测试最小单元是模块,而在面向对象环境下,最小的可测试的单元是封装了的类或对象,而不是程序模块.(2)因为面向对象软件没有一个层次的控制结构,所以传统的自顶向下和自底向上的组装策略意义不大.每次将一个操作组装到类中(像传统的增殖式组装那样)常常行不通,因为在构成类的各个部件之间存在各种直接的和非直接的交互.对于面向对象系统的组装测试,存在两种不同的测试策略.软件工程期末试卷(三)20XX 年下半年期末考试(开放教育本科)计算机科学与技术专业 软件工程试题B 2
13、0XX年 1 月 题 号 一 二 三 四 五 六 总 分 分 数 一、填空题(每空 1 分,共 20 分)1 软件生存周期一般可分为_、可行性研究、_、设计编码、_、运行与维护阶段。2 IPO 图由_、_和_三个框组成。3 软件_。4 软件测试的方法有_和_(即黑盒法)。5 Jackson 图除了可以表达程序结构外,还可以表达_。6 详细设计的工具有图形工具、_和_。7 _和_共同构成系统的逻辑模型。8 成本估计方法主要有_、_和算法模型估计三种类型。9 在需求分析阶段常用的图形工具有_、_、_三种。答案:填空题(每空 1 分,共 20 分)1、问题定义 需求分析 测试 2、输入 处理 输出
14、3、程序 文档 4、分析方法 非分析方法 5、数据结构 6、表格工具 语言工具 7、数据流图 数据字典 8、自顶向下估计 自底向上估计 9、层次方框图 Warnier 图 IPO 图 二、单项选择题(每小题 2 分,共 10 分)1.系统流程图是描绘()的传统工具。A、逻辑系统 B、数据结构 C、状态变迁 D、物理系统 2.下列模块独立性最强的是()A、非直接耦合 B、数据耦合 C、公共耦合 D、内容耦合 3.下列哪个阶段不属于软件生存周期的三大阶段()。A、计划阶段 B、开发阶段 C、编码阶段 D、维护阶段 4.常见的软件概要设计方法有 3 大类,其中以数据流图为基础构造模块结构的是()。A
15、、Jackson 方法和 LCP(Wanier)逻辑构造方法 B、结构化设计方法(SD)C、面向对象设计方法(OOD)D、快速原型法 5.使用白盒测试方法时,确定测试数据应根据()和指定的覆盖标准。A、程序的内部逻辑 B、程序的复杂程度 C、该软件的编辑人员 D、程序的功能 答:1、D 2、A 3、C 4、A 5、A 三、多项选择题(每题 2 分,共 10 分)1.()可以作为模块。A、子程序 B、函数 C、过程 D、编译文件 2.关于内容耦合的描述正确的是()。A、内容耦合是最高程度的耦合 B、高级语言一般设计成允许内容耦合的形成 C、应该尽量使用内容耦合 D、如果一个模块可以直接调用另一模
16、块,则可以称为内容耦合 3.下列属于度量效益方法的是()。A、货币的时间价值 B、投资回收期 B、收入 D、投资回报率 4.软件维护的策略包括()。A、定期检测维护 B、改正性维护 C、适应性维护 D、完善性维护 5.下列不属于软件测试过程的是()。A、单元测试 B、组装测试 C、内核测试 D、法律验证 答:1、ABCD 2、AD 3、ABC 4、BCD 5、CD 四、判断题(正确的在括号内打上“”,错误的打上“”。每题 2 分,共 20 分)1.Warnier方法也是一种面向数据结构的设计方法,其逻辑更严格。()2.PAD图在设置了五种基本控制结构后,还允许递归调用。()3.为了加快软件维护
17、作业的进度,应尽可能增加维护人员的数目。()4.当验收测试通过,软件开发就完成了。()5.完成测试作业后,为了缩短源程序的长度应删除程序中的注解。()6.在进行总体设计时应加强模块间的联系。()7.系统结构图是精确表达程序结构的图形表示法。因此,有时也可以将系统结构图当作系统流程图使用。()8.用黑盒法测试时,测试用例是根据程序内部逻辑设计的。()9.在程序调试时,找出错误的位置和性质比改正该错误更难。()10.以对象、类、继承和通信为基础的面向对象设计方法(OOD)也是常见的软件概要设计方法之一。()答:15:610:五、简答题(每题 5 分,共 20 分)1 什么是软件危机?为什么会产生软
18、件危机?答:软件危机是指软件在开发和维护过程 遇到的一系统严重问题,主要包含二方面的问题,一是如何开发利用软件,三是如何维护数量不断膨胀的已有软件.产生软件危机的原因,一方面与软件本身的特点有关,另一方面和软件开发与维护的方法不正确有关。2 什么是软件的生存周期?包括哪几个部分?答:个软件从定义到开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期。软件生存周期就是从提出软件产品开始,直到该软件产品被淘汰的全过程。它包括制定计划、需求分析、软件设计、程序编写、软件测试、运行维护等。3 什么是黑盒测试法?答:黑盒测试法把程序看成一个黑盒子,完全不考虑
19、程序的内部结构和处理过程,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据,产生正确地输出信息。4 耦合性和内聚性有几种类型?其耦合度、内聚强度的顺序如何?答:低:非直接耦合 数据耦合标记耦合 控制耦合外部耦合 公共耦合内容耦合:高 强:功能内聚 信息内聚 通信内聚 过程内聚 时间内聚 逻辑内聚 巧合内聚:弱 六、分析设计题(共 20 分)1.(8分)假设开发某个计算机应用系统的投资额为 3000元,该计算机应用系统投入使用后,每年可以节约 1000元,5 年内可能节约 5000元。3000元是现在投资的钱,5000元是 5 年内节省的钱,假定年利率为 12%,
20、请计算该系统的纯收入,投资回收期,投资回收率。答:年 节省 利率 现在价值 累计现在价值 1 1000 112 892.86 892.86 2 1000 1.25 800.00 1692.86 3 1000 1.40 714.29 2407.15 4 1000 1.57 636.94 3044.09 5 1000 1.76 568.18 3612.27 计算该系统的纯收:3612.27-3000=612.27 投资回收期:3+(3000-2407.15)/(3044.09-2407.15)=3.93 投资回收率为 r 3000=1000/(1+r)+1000/(1+r)2+1000/(1+r)
21、3+1000/(1+r)4+1000/(1+r)5 解得 r=20%2.求一组数组中的最大数,数组表示为 A(n),n 1,2 n 的自然数。(12分)1)请画出程序流程图(4 分)2)请画出该算法的 N-S图(4 分)3)请用 PAD图来表示该算法(4 分)答:(1)(2)1.(4 分)(3)软件工程期末试卷(四)一、简答题(25%,每小题 5 分):1 请简要说明需求分析的三个层次包括那些主要内容。软件需求包括三个不同的层次业务需求、用户需求和功能需求也包括非功能需求。业务需求反映了组织机构或客户对系统、产品高层次的目标要求。用户需求文档描述了用户使用产品必须要完成的任务。功能需求定义了开
22、发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。2 为什么要设计独立性强的模块以及如何判断模块的独立性?第一3 分,耦合1 分,内聚1 分 模块独立性强,则:(1)系统容易开发(2)系统可靠性高(3)系统容易维护 判断模块独立性的基本原则:“耦合小,内聚大”3 若现有类已经进行了彻底的测试,为什么必须对从现有类中实例化的子类进行重新测试?使用的场景:3 分 2分 因为父类和子类的运行环境是不同的。另外,如果是多重继承会显著地增加派生类的复杂程度,导致一些难以发现的隐含错误。4 要开发质量“非常好”的软件,请从软件工程的角度分析其利与弊。利:3分;弊:2分 利:容易维护,
23、用户比较满意 弊:成本高,周期长 5、采用面向对象方法设计软件系统时,子系统的划分常采用水平划分或垂直划分的方式,请说明这两种划分所得子系统的特点。c/s:3分,p2p:2 分 水平划分系统的p2p:每个字系统可以调用任意其他子系统,比c/s复杂,可能死锁。垂直划分c/s:客户端调用服务器端,服务器提供服务,并返回结果。客户端需要知道服务器的接口,而服务器不必知道客户端接口。二、应用题(45%,1-3 每小题 10 分,4 小题 15 分)1公司计划采用新技术开发一款新的手机软件产品,希望尽快占领市场,假设你是项目经理,你会选择哪种软件过程模型?为什么?选模型:5 分;原因:5 分 选用模型:
24、可采用增量模型/增量+原形/螺旋模型等等。但如果采用快速开发则不太适宜。分析原因:技术相对比较新,而且需要快速占领市场,所以应短期内出现产品的原形或者是可用的子系统。2 请根据下面的任务安排表,画出任务网络图、甘特图、标识关键路径和阶段里程碑位置。任务名称 起始日期 结束日期 需求分析 20083 1 20083 13 测试计划 20083 13 20083 15 概要设计 20083 13 20083 16 详细设计 20083 16 20083 20 编码 20083 20 20083 26 测试方案设计 20083 16 20083 19 产品测试 20083 26 20083 30 文
25、档整理 20083 28 20083 30 任务网络图:需求分析 测试计划 概要设计 详细设计 测试方案设计 编码 产品测试 文档整理 甘特图 任务网络图 3 分 甘特图 3 分 标识关键路径 2 分 阶段里程碑位置 2 分。3 设有一个程序,读入三个整数,代表三角形的三条边。输出表明三角形是不规则的、等腰的或等边的。请采用黑盒的等价类划分方法,设计一组测试用例。不规则:3 4 5 等腰:3 3 4 等边:3 3 3 其他:1 9 2 不规则的 3 分 时间 3.1 3.6 3.11 3.16 3.21 3.26 3.30 活动 需求分析 测试计划 概要设计 测试方案设计 详细设计 编码 产品
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 期末试卷 十套含 答案
限制150内