软件工程期末复习题.docx

上传人:b****5 文档编号:11980498 上传时间:2023-04-16 格式:DOCX 页数:32 大小:285.09KB
下载 相关 举报
软件工程期末复习题.docx_第1页
第1页 / 共32页
软件工程期末复习题.docx_第2页
第2页 / 共32页
软件工程期末复习题.docx_第3页
第3页 / 共32页
软件工程期末复习题.docx_第4页
第4页 / 共32页
软件工程期末复习题.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

软件工程期末复习题.docx

《软件工程期末复习题.docx》由会员分享,可在线阅读,更多相关《软件工程期末复习题.docx(32页珍藏版)》请在冰豆网上搜索。

软件工程期末复习题.docx

软件工程期末复习题

软件工程期末试卷(A)

说明:

本试卷为04级计算机专业(专升本)软件工程期末试卷,总计100分,时间100分钟

一、选择题:

(每题1分,共20分)(将答案写在题号前的()中)

(C)1.    软件是()。

A.处理对象和处理规则的描述B.程序

C.程序及其文档D.计算机系统

(B)2.软件需求规格说明的内容不应包括()。

A.主要功能B.算法的详细描述

C.用户界面及运行环境D.软件的性能

(B)3.程序的三种基本控制结构是()。

A.过程、子程序和分程序B.顺序、选择和重复

C.递归、迭代和回溯D.调用、返回和转移

(D)4.面向对象的分析方法主要是建立三类模型,即()。

    A)系统模型、ER模型、应用模型

    B)对象模型、动态模型、应用模型

    C)E-R模型、对象模型、功能模型

    D)对象模型、动态模型、功能模型

 (C) 5.在E-R模型中,包含以下基本成分()。

    A)数据、对象、实体

    B)控制、联系、对象

    C)实体、联系、属性

    D)实体、属性、操作

 (A) 6.各种软件维护的类型中最重要的是()。

    A)完善性维护B)纠错性维护C)适应性维护D)预防性维护

(B)7.软件测试的目标是()。

A.证明软件是正确的B.发现错误、降低错误带来的风险

C.排除软件中所有的错误D.与软件调试相同

(D)8.软件生命周期中所花费用最多的阶段是()

A.详细设计B.软件编码C.软件测试D.软件维护

(C)9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:

-1.001,-1.0,1.0,1.001.设计这组测试用例的方法是()

A.条件覆盖法B.等价分类法C.边界值分析法D.错误推测法

(D)10、详细设计的基本任务是确定每个模块的()设计

A.功能B.调用关系C.输入输出数据D.算法

(A)11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。

对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:

()

A.模块化的根据B.逐步求精的根据C.抽象的根据D.信息隐藏和局部化的根据

(D)12.下面几种白箱测试技术,哪种是最强的覆盖准则()

A.语句覆盖B.条件覆盖C.判定覆盖D.条件组合覆盖

(A)13.面向数据流的设计方法把()映射成软件结构。

A.数据流B.系统结构C.控制结构D.信息流

(A)14.内聚程度最低的是()内聚

A.偶然B.过程C.顺序D.时间

(A)15.确定测试计划是在()阶段制定的.

A.总体设计B.详细设计C.编码D.测试

(D)16.需求分析的产品是()

A.数据流程图案B.数据字典C.判定表D.需求规格说明书

(C)17.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是()

A.数据库设计B.数据通信C.数据定义D.数据维护

(D)18.()引入了“风险驱动”的思想,适用于大规模的内部开发项目。

A.增量模型B.喷泉模型C.原型模型D.螺旋模型

(D)19.模块的内聚性最高的是()

A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚

(D)20.提高测试的有效性非常重要,成功的测试是指()

A.证明了被测试程序正确无误B.说明了被测试程序符合相应的要求

C.未发现被测程序的错误D.发现了至今为止尚未发现的错误

二.判断题(每题1分,共10分)将答案写在题号前的()中,正确用√,错误用χ。

(×)1、开发软件就是编写程序。

(× )2、系统测试的主要方法是白盒法,主要进行功能测试、性能测试、安全性测试及可靠性等测试。

(×)3、编程序时应尽可能利用硬件特点以提高程序效率.

(×)4、软件需求分析的任务是建立软件模块结构图。

(√)5、尽可能使用高级语言编写程序

(×)6、以结构化分析方法建立的系统模型就是数据流图。

(×)7、进行总体设计时加强模块间的联系。

(×)8、编码时尽量多用全局变量.

(√)9、用CASE环境或程序自动生成工具来自动生成一部分程序.

(×)10、软件测试是要发现软件中的所有错误。

三、填空题(每题1分,共5分):

将结果填在()

1、将下面的关系按继承关系、聚集关系或普通关联进行分类。

小汽车---------红旗轿车(继承)

小汽车---------驾驶员(普通关联)

班级------------学生(聚集)

2、将下列各项分为类或类的实例

我的汽车(实例)

交通工具(类)

三、简答题:

(每题5分,共25分)

1.软件生命期各阶段的任务是什么?

    答:

软件生命期分为7个阶段:

    1、问题定义:

要解决的问题是什么

2、可行性研究:

确定问题是否值得解,技术可行性、经济可行性、操作可行性

3、需求分析:

系统必须做什么

4、总体设计:

系统如何实现,包括系统设计和结构设计

5、详细设计:

具体实现设计的系统

6、实现:

编码和测试

7、运行维护:

保证软件正常运行。

    2、软件重用的效益是什么?

    答:

1、软件重用可以显著地改善软件的质量和可靠性。

2、软件重用可以极大地提高软件开发的效率。

3、节省软件开发的成本,避免不必要的重复劳动和人力、财力的浪费。

    3、自顶而下渐增测试与自底而上渐增测试各有何优、缺点?

    答:

    ① 自顶而下渐增测试

    优点:

不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且能够尽早发现上层模块的接口错误。

    缺点:

需要存根程序,底层错误发现较晚。

    ② 自底而上渐增测试

    优点与缺点和自顶而下渐增测试相反。

    4、提高可维护性的方法有哪些?

    答:

在软件工程的每一阶段都应该努力提高系统的可维护性,在每个阶段结束前的审查和复审中,应着重对可维护性进行复审。

    在需求分析阶段的复审中,应对将来要扩充和修改的部分加以注明。

在讨论软件可移植性问题时,要考虑可能要影响软件维护的系统界面。

    在软件设计的复审中,因从便于修改、模块化和功能独立的目标出发,评价软件的结构和过程,还应对将来可能修改的部分预先做准备。

    在软件代码复审中,应强调编码风格和内部说明这两个影响可维护性的因素。

    在软件系统交付使用前的每一测试步骤中都应给出需要进行预防性维护部分的提示。

    在完成每项维护工作后,都应对软件维护本身进行仔细认真的复审。

    为了从根本上提高软件系统的可维护性,人们正试图通过直接维护软件规格说明来维护软件,同时也在大力发展软件重用技术。

简述软件测试要经过哪几个步骤,每个步骤与什么文档有关。

【解答】

测试过程按4个步骤进行,即单元测试(模块测试)、集成测试(子系统测试和系统测试)、确认测试(验收测试)和平行运行。

单元测试集中对用源代码实现的每一个程序单元进行测试,与其相关的文档是单元测试计划和详细设计说明书。

集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。

与其相关的文档是集成测试计划和软件需求说明书。

确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。

与其相关的文档是确认测试计划和软件需求说明书。

平行运行把已经经过确认的软件纳入实际运行环境中,与其他系统成份组合在一起进行测试。

与其相关的文档:

用户指南、使用手册等。

四、应用题(每题8分,共40分)

1、假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。

对于每个需要再次定货的零件应该列出下述数据:

零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。

零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。

当某种零件的库存数量少于库存量临界值时就应该再次定货。

要求:

画出系统的数据流图。

答:

2、将下面给出的伪码转换为N-S图和PAD图。

voidroot(floatroot1,floatroot2){

i=1;j=0;

while(i<=10){

输入一元二次方程的系数a,b,c;

p=b*b–4*a*c;

if(p<0)输出“方程i无实数根”;

elseif(p>0)求出根并输出;

if(p==0){

求出重根并输出;

j=j+1;

}

i=i+1;

}

输出重根的方程的个数j;

}

【解答】

(1)N-S图

(2)PAD图

3、:

输入三整数,判断是否构成三角形,如构成三角形,则输出三条边的值,否则输出”不能构成三角形”.要求:

1.用程序流程图表示该问题的算法;2.计算程序复杂度;3.设计路径覆盖的测试用例。

答:

 

路径:

1.①—②—③—④—⑥—⑦

2.①—②—⑤—⑥—⑦

3.①—⑤—⑥—⑦

4.①—②—③—⑤—⑥—⑦

 

路径

测试用例(A,B,C)

结果

1

A=3,B=4,C=5

A=3,B=4,C=5

2

A=5,B=8,C=2

不能构成三角形

3

A=2,B=2,C=5

不能构成三角形

4

A=5,B=2,C=2

不能构成三角形

 

程序复杂度=3+1=4测试用例

5、一个软件公司有许多部门,分为开发部门和管理部门两种,每个开发部门开发多个软件产品,每个部门由部门名字唯一确定。

该公司有许多员工,员工分为经理,工作人员和开发人员。

开发部门有经理和开发人员,管理部门有经理和工作人员。

每个开发人员可参加多个开发项目,每个开发项目需要多个开发人员,每位经理可主持多个开发项目,建立该公司的对象模型。

答案:

A

:

一、判断题:

每小题1分,共15分,在正确的打上√,错误的打上×

1.软件工程学只有理论意义,没有实际用途。

()

2.软件工程的方法只适用于大型软件的开发,对小型软件的开发没有帮助。

()

3.可行性研究进一步研究问题分析阶段所确定的问题是否有可行的解。

()

4.代码审查方法没有计算机测试方法好。

()

5.验证软件需求的方法主要靠人工审查的方法。

()

6.并发系统中遇到的一个主要问题是定时问题。

()

7.编码风格由个人喜好决定,没有固定格式。

()

8.面向对象建模得到的模型包含系统的3个要素,即静态结构、交互次序和数据变换。

()

9.软件重用是提高软件开发生产率和目标系统质量的重要途径。

()

10.判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。

()

11.PowerDesigner是一个CASE工具。

()

12.软件是指用程序设计语言(如Pascal,C,VisualBasic等)编写的程序,软件开发实际上就是编写程序代码。

()

13.在进行需求分析时需同时考虑维护问题。

()

14.UML是一种面向对象的分析设计方法,即OOA/OOD方法。

()

15.在面向对象的软件开发方法中,每个类都存在其相应的对象,对象是类的实例,类是生成对象的模板。

()

二、单选题:

每题1分,共15分

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、有完整的故障处理E、算法的合理性

6、软件可行性研究一般不考虑()

A、是否有足够的人员和相关的技术来支持系统开发B、是否有足够的工具和相关的技术来支持系统开发

C、待开发软件是否有市场、经济上是否合算D、待开发的软件是否会有质量问题

7、SA法中,有一个处理过程逻辑不易用语言表达清楚,最好是用()来描述

A、流程图B、判定表C、NS图D、问题分析图PAD

8、下列需求陈述中有效需求是()

A、目标软件应有C++实现B、软件系统必须在5秒内响应并处理外部事件

C、目标软件必须有系统设置模块D、当软件和用户交互时,必须能使用满足MS风格的界面

9、在面向对象软件开发方法中,类与类之间主要有以下结构关系()

A、继承和聚集B、继承和一般C、聚集和消息传递D、继承和方法调用

10、面向对象模型主要由以下哪些模型组成()

A、对象模型、动态模型、功能模型B、对象模型、数据模型、功能模型

C、数据模型、动态模型、功能模型D、对象模型、动态模型、数据模型

11、OOA中应首先识别()

A、对象B、类C、对象的属性D、对象所属的类

12、概要设计的结果是提供一份()

A、模块说明书B、框图C、程序D、系统结构图

13、以下语言中属于4GL是()

A、PBB、VBC、UMLD、SQLServer2000中的SQL语言

14、与设计测试数据无关的文档是()

A、需求分析说明书B、概要设计说明书C、源程序D、项目开发计划

15、软件测试中的测试实例主要由输入数据和()组成

A、测试规则B、测试计划C、预期输出结果D、以往测试记录分析

三、简答题(共20分)

1.项目A是为银行开发ATM(自动取款机)软件,项目B是为网络公司开发网络数据流分析软件,请问按照面向数据流设计方法(SD法),两个项目应分别采用何种方法将需求分析的功能模型转换成软件结构,为什么?

(6分)

2.某保险公司对投保人的汽车保费计算方法如下:

单身男,年龄30岁以下(含30岁),计保费标准A,30岁以上计保费标准B;已婚男30岁以下(含30岁),计保费标准C,30岁以上计保费标准D,单身女,年龄25岁以下(含25岁),计保费标准E,25岁以上计保费标准F;已婚女25岁以下(含25岁),计保费标准G,25岁以上计保费标准H,请画出对应的判定树。

(8分)

3.目前国内软件开发在实现(编码)环节普遍采用面向对象的开发工具或语言,简述几种(至少三种)目前常用的软件实现(编码)工具或语言,说明这些工具的主要应用领域。

(6分)

四、综合题(共25分)

1.对使用以下数据存储的学生成绩表输入模块,采用等价划分类,划分其等价类,使用黑盒测试技术设计某条分录(记录)的覆盖所有等价类的测试用例(尽量考虑边值分析)。

(15分)

学生成绩表数据结构:

学号:

字符类型,0-9数字,总共11位,班级号+编号(以我校实际情况设计)

姓名:

字符类型,考虑汉语及英语姓名

课程:

字符类型,16位,按我院实际课程名称情况设计

课程类别:

字符类型,4位,内容是“考查”或“考试”

成绩:

数字类型,整数部分3位,最多2位小数,考试课程直接录入数值(最高100分),存放数值,如果是考查课程允许录入字符优、良、中、及格、不及格或合格、不合格,存放原则是优(95分)、良(85分)、中(75分)、及格(65分)、不及格(55分)存放,或按合格(85分)、不合格(55分)

2.面向对象分析题(10分)

根据以下描述,使用面向对象的分析方法,分析有那些主要对象和这些对象的主要属性、方法,画出对象图。

一个饮料自动售货机可以放置五种不同或部分相同的饮料,可由厂商根据销售状况自动调配,并可随时重新设置售价,但售货机最多仅能放置50罐饮料,其按钮设计在各种饮料样本的下方,若经金额计算器累计金额足够,则选择键灯会亮;若某一种饮料已销售完毕,则售完灯会亮。

顾客将硬币投入售货机,经累加金额足额的饮料选择键灯亮,等顾客按键选择。

顾客按键后饮料由出物口掉出,并自动结算及找钱。

顾客可在按下选择键前任何一个时刻,可以拉动退币杆取消交易收回硬币。

五、分析设计题(共25分)

1.小李新接了一个项目:

设计一个简单的学生选课系统,系统能注册符合要求的同学,同学注册以后就能进行选课,选课过程如下:

先选课名,然后根据课程的上课老师、时间、地点和人数限制来决定是否成功选课;老师也可以根据情况提供新的课程说明或修改过去课程的说明;教务处的老师统一管理注册的情况,可以有删除、修改学生、老师和课程的权限。

请用面向对象方法设计出对象模型(对象类图,标出多重性、角色、限定词和关系:

泛化、聚集、关联)、动态模型(学生成功注册后选课的顺序图)、功能模型(用例图)三大模型。

B

一、判断题:

每小题1分,共15分,在正确的打上√,错误的打上X

1.快速原型模型可以有效地适应用户需求的动态变化。

()

2.数据字典是对数据流图中的数据流,处理过程、数据存储、数据的源和终点进行详细定义。

()

3.统一的建模语言,是一种软件工程设计语言。

()

4.模块化使程序设计比较方便,但比较难以维护。

()

5.一个模块实际上就是一个进程。

()

6.过程描述语言可以用于描述软件的系统结构。

()

7.编程语言应该在软件概要设计时选择。

()

8.如果通过软件测试没有发现错误,则说明软件是正确的。

()

9.在进行概要设计时应加强模块间联系。

()

10.一般人为,软件开发阶段是由设计、编码和测试三个基本活动组成。

()

11.软件概要设计包括软件系统结构设计以及数据结构和数据库设计。

()

12.为了提高程序的易读性,尽可能使用高级语言或4GL编写程序。

()

13.为了加强软件维护作业的进度,应尽可能增加维护人员的数目。

()

14.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。

()

15.确认测试计划应该在可行性研究阶段制定。

()

二、单选题:

每题1分,共15分

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、CASED、开发方法

7、SA法中,DFD图的某个处理过程分解后,一般不超过()处理过程

A、10B、7C、5D、12

8、下列需求陈述中一致的是()

A、所有命令响应时间应小于0.1s;BUILD命令的响应时间应小于5s

B、所有命令响应时间应小于5s;BUILD命令的响应时间应小于1s

C、BUILD命令的响应时间应小于5s;BUILD命令的响应时间应小于1s

D、所有命令响应时间必须等于2s;BUILD命令的响应时间应小于3s

9、以下哪一项不是面向对象的特征()

A、多态性B、继承性C、封装性D、过程调用

10、以下哪一项不属于面向对象的软件开发方法()

A、coad方法B、Booch方法C、jackson方法D、OMT方法

11、OOA中,事件追踪图是反映()对象所表现出来的集体行为

A、2个B、1个C、多个D、3个

12、结构化程序设计主要强调程序的()

A、效率B、速度C、可读性D、大小

13、注释是提高程序可读性的有效手段,好的程序注释占到程序总量的()

A、1/6B、1/5C、1/4D、1/3

14、在发现错误后,排错应由()完成

A、测试者B、高级程序员C、用户D、软件的开发者

15、进行单元测试时,需要一个()被测模块的程序

A、传递B、管理C、调用D、驱动

三、简答题(共20分)

12.CASE工具和环境的开发是目前软件开发领域的热点之一,请列举几种(至少2种)你熟悉的CASE工具或环境软件,写出它们的应用领域或属于那类工具。

(6分)

13.下图为网络计划图(14分)

请根据各项活动的活动时间计算各个事件的最早时间与最迟时间,并填入图中事件2~8相应的位置(14分,每填对一个事件的数字1分)

四、综合题(共25分)

1.请写出测试用例(可以不用写测试结果)来完成语句、条件覆盖和条件组合覆盖,并以字符列出相应执行路径。

(15分)

语句覆盖:

条件覆盖:

条件组合覆盖:

2.请画出一个用户使用银行ATM的状态转换图。

从用户将卡插入卡槽开始,到用户取卡结束(如果用户忘记,ATM应报警),用户可以完成以下几个步骤:

登录(卡片进入ATM机后,如果不是可读卡,退卡;如是,等待用户输入密码,三次错,吞卡,正确后进入主菜单),取钱(进入取钱菜单,输入金额,如果帐户余额不足,提示余额,并要求用户重新输入,如果帐上钱够,吐钱币,并询问是否打印凭证,最后返回主菜单),主菜单提供退出取卡选择。

(10分)

五、分析设计题(共25分)

1.某超市连锁收货操作流程如下:

厂家持“定货单”及“厂家送货单”送货,库管科检查来货。

如果来货相符,库管科做收货确认,(包括:

在“定货单”之“点核数量”栏手工填写收货数量;在电脑中提出“定货单”,在“点核数量”栏输入收货数量;在“收货日报表”上记录该收货;在“定货单”、“厂家送货单”上加盖库管科公章),然后库管科打印商品条码,收送货组与卖场办理移交手续,卖场收货人在“定货单”上签名盖章,日末,库管科将单据汇总,连同“收货日报表”分别送卖场、财会,并自留一份,第二天电脑科打印“验收进货单”,分送卖场、采购、财会。

如果来货不符,通知负责该次定货之采购主任,采购主任填写“定货修正单”,报采购部主管签名同意,“定货修正单”交库管科,库管科从电脑中提出原“定货单”,按“定货修正单”内容进行修改,将修改后之新“定货单”打印(一式三份),和原“定货单”连在一起,最后进行上述来货相符后的工作。

1.设计出该系统的业务处理流程图(9分)

2.画出该系统的第一层的数据流程图(至少3个处理)(10分)

3.画出该系统主要处理、数据存储或外部实体的数据字典(至少三个处理或数据存储或外部实体)(6分)

软件工程A卷参考答案及评分标准

一、断题:

每小题1分,共10分,在正确的打上√,错误的打上×

1、×2、×3、√4、×5、

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 兵器核科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1