软件工程复习.docx
- 文档编号:29513603
- 上传时间:2023-07-24
- 格式:DOCX
- 页数:22
- 大小:27.19KB
软件工程复习.docx
《软件工程复习.docx》由会员分享,可在线阅读,更多相关《软件工程复习.docx(22页珍藏版)》请在冰豆网上搜索。
软件工程复习
软件工程复习题
一、选择题,请从四个可选项中选择正确答案。
1、下面哪个选项不是软件工程研究的内容()。
A.生产无故障的软件B.精通一门编程语言
C.生产满足用户需求的软件D.生产及时交付的软件
2、软件工程的出现是由于()
A.软件危机B.计算机硬件技术的发展
C.软件社会化的需要D.计算机软件技术的发展
3、软件工程的研究内容具有层次化结构,最底层是质量保证层,中间层是(),最上层是工具层。
A.过程层B.方法层C.过程层和方法层D.系统层
A.7B.5C.3D.12
5、结构化分析方法(SA法)使用的主要描述工具有()。
A.数据库B.模块结构图C.PAD图D.分层的DFD图
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、假定银行的存款年利率是2%,请问现在存5000元,两年后价值应为()元。
A.5202B.4500C.5100D.4712
14、系统物理模型用()表示。
A.系统流程图B.数据流程图C.程序流程图D.E-R图
15、关于软件需求特性不正确的描述是“软件需求具有()”。
A.多变性B.模糊性C.准确性D.主观性
16、DFD中的每个加工至少需要()
A.一个输入流B.一个输出流
C.一个输入或输出流D.一个输入流和一个输出流
17、PDL是描述处理过程()。
A.做什么B.为什么做C.怎么做D.对谁做
18、当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为()
A.数据耦合B.公共耦合C.标记耦合D.内容耦合
19、按照模块独立性,耦合程度由强至弱正确的顺序是()。
A.数据耦合、控制耦合、外部耦合、内容耦合
B.控制耦合、数据耦合、内容耦合、外部耦合
C.内容耦合、外部耦合、控制耦合、数据耦合
D.外部耦合、内容耦合、数据耦合、控制耦合
20、UML中,包图是一种()。
A.集合B.数据结构C.分组机制D.对系统的动态描述
21、反映收发消息的对象的组织结构,用于描述系统的行为是如何有系统的成分协作实现的是()。
A.顺序图B.类图C.合作图D.组件图
22、面向对象分析和设计的界限是(),从分析到设计是一个逐渐扩充模型的过程。
A.清晰的B.模糊的C.非线性的D.确定的
23、动态模型描述系统的动态结构和对象之间的交互,表示瞬时的、行为化的系统“控制”特性。
面向对象方法中,常用()实现。
A.状态图B.交互图C.活动图D.以上全部
24、不适合作为数据处理与数据库应用的语言是()
A.SQLB.CobolC.4GLD.Lisp
25.软件工程中,只根据程序的功能说明而不关心程序内部逻辑的测试方法,称为()测试。
A.白盒法B.灰盒法C.黑盒法D.综合法
26、程序设计语言的技术特性不应包括()。
A.数据结构的描述性B.抽象类型的描述性
C.数据库的易操作性D.软件的可移植性
27、以下哪种测试方法不属于白盒测试技术()。
?
A.语句覆盖测试B.边界值分析测试C.条件覆盖测试D.判断覆盖测试
28、软件测试的主要特点是()。
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.E-R模型D.接口
35、软件测试的目标是设计优秀的测试用例()。
A.最快速地找出程序中的问题
B.以最小的代价、在最短的时间内尽可能多地发现软件中的错误
C.保障程序的正确性
D.区分出程序员的编程水平
36、()不符合软件测试原则。
A.对每个测试结果进行检查,不漏掉已经出现的错误迹象
B.程序员应该仔细测试自己编写的程序代码
C.程序员要避免测试自己编写的程序代码
D.测试工作越早开始越好
37、引起软件改变的原因主要有()。
A.运行环境变化B.需求变化C.系统有错D.以上全部
38、()针对开发过程中的程序、数据、文档提出使用和管理策略。
A.组织管理B.过程管理C.软件配置管理D.风险管理
39、现在人们更强调程序代码的()。
A.可维护性B.可移植性C.可扩充性D.高效性
40、程序的三种基本控制结构,包括顺序结构、()和循环结构。
A.判断结构B.说明结构C.输入结构D.输出结构
41、软件、程序和代码是()。
A.相同的软件概念B.程序语言写的代码
C.计算机代码和数据D.三个不同的概念
42、下面哪个选项不是软件工程研究的内容()。
A.生产无故障的软件B.精通一门编程语言
C.生产满足用户需求的软件D.生产及时交付的软件
43、SW-CMM是一种()规范。
A.编程规范B.软件工作通用模型
C.软件设计模型D.软件成熟度模型
44、可行性研究实质上是在较高层次上、以较抽象的方式进行()的过程。
A.详细软件设计B.需求分析过程
C.深入的需求分析D.测试设计
45、与传统行业的生产相比较,软件的需求具有()。
A.主观性B.稳定性C.明确性D.客观性
46、源程序的效率与()阶段确定的算法的效率直接有关。
A.概要设计B.总体设计C.单元设计D.详细设计
47、画DFD图的主要目的是()。
A.作为需求分析阶段用户与开发者之间交流信息的工具
B.对系统的数据结构进行描述
C.对目标系统的层次结构进行描述
D.作为编码和测试的工具
48、耦合度最高的是()。
A.外部耦合B.内容耦合C.控制耦合D.数据耦合
49、为了提高模块的独立性,模块之间最好是()。
A.控制耦合B.公共耦合C.内容耦合D.数据耦合
50、UML是一种()。
A.建模工具B.可视化的程序设计语言C.可视化的建模语言D.过程
51、美国卡内基﹒梅隆大学制定的SW-CMM是()。
A.软件工作规范B.软件工作流描述C.软件成熟度模型D.软件描述的一般方法
52、螺旋模型是一种考虑了()的软件开发模型。
A.效率B.风险判断
C.可移植性D.安全性
53、可行性研究的四大要素是()。
A.经济、技术、法律和社会环境
B.经济、技术、开发组织能力和领导者水平
C.经济、技术、计算机硬件环境和网络带宽
D.经济、技术、软件开发工具和人员的稳定性
54、软件调研报告是在()提交的。
A.可行性分析之前B.需求分析之前C.签合同之前D.设计的时候
55、描述软件需求通常不用哪个工具()。
A.数据流程图B.数据字典C.模块结构图D.E-R图
56、软件结构图中没有()元素。
A.模块B.调用参数C.返回结果D.判断
57、程序流程图与数据流程图的关系()。
A.不确定B.数据流程图可以转换成程序流程图
C.数据调用关系D.程序流程图可以转换成数据流程图
58、包含关系用于构造多个用例()。
A.关系B.共性的部分C.角色D.特殊活动
59、如果说用例F被用例T扩展,意思是()。
A.F是一个一般用例,T是一个特殊用例
B.F是一个特殊用户,T是一个一般用例
C.都是一般用例
D.都是特殊用例
60、用()对需要长久保存的信息进行建模。
A.实体类B.数据库表C.E-R图D.对象类
61、面向对象程序设计的基本机制()。
A.继承B.消息C.方法D.结构
62.表示对象相互行为的模型是()模型。
A.动态模型B.功能模型C.对象模型D.状态模型
63、对象模型描述现实世界中实体的对象以及它们之间的关系,表示目标系统的静态数据结构。
在面向对象方法中,由()实现。
A.顺序图B.类图C.状态图D.组件图
64、对象实现了数据和操作的结合,使数据和操作()于对象的统一体中。
A.结合B.隐藏C.封装D.抽象
65、面向对象设计的步骤中,正确的顺序是()。
A.系统构架设计、用例设计、类设计B.系统构架设计、数据库设计和用户界面设计
C.类设计、用例设计、构架设计D.用例设计、构架设计、类设计
66、软件维护过程中产生的副作用,一般是由()引起的。
A.算法说明B.修改程序C.优先级D.环境要求
67、项目计划活动的主要任务是()。
A.估算项目的进度B.分配工作量C.计划资源使用D.以上全部
68、如果程序代码的()好,则调试的成本就可以大幅度降低。
A.性能比B.可扩充性C.可读性D.可移植性
69、两个浮点数X0和X1比较相等时,应该用()比较。
A.X0==X1B.X1-X0<εC.|X0-X1|<εD.X0=X1
70、瀑布模型存在的问题是()。
A.用户容易参与开发B.适用可变需求C.用户与开发者易沟通D.缺乏灵活性
71、面向对象设计首先要确定系统的总体结构和风格,构造系统的()。
A.逻辑模型B.物理模型C.数据模型D.用例模型
72、面向对象设计的步骤中,正确的顺序是()。
A.系统构架设计、用例设计、类设计B.系统构架设计、数据库设计和用户界面设计
C.类设计、用例设计、构架设计D.用例设计、构架设计、类设计
73、类有3种类型,即()。
A.边界类、实体类、控制类B.实体类、控制类、界面类
C.控制类、实体类、虚类D.界面类、控制类、公共类
74、()是一般化类与特殊化类之间的一种关联形式,设计时应该适当使用这种耦合。
A.消息连接B.参数传递C.方法重写D.继承
75、结构化程序设计主要强调的是()。
A.程序的规模B.程序效率C.程序语言的先进性D.程序易读性
76、程序的三种基本控制结构,包括顺序结构、()和循环结构。
A.条件/判断结构B.说明结构C.输入结构D.输出结构
77、一般性的软件其测试工作量大约占整个开发工作量的()。
A.小于10%B.40%C.90%D.大于100
78、下面哪些测试方法属于黑盒测试()。
A.路径测试B.等价类划分C.条件判断D.循环测试
79、软件特性中,相互矛盾的是()。
A.可理解性与可测试性B.效率与可修改性C.可修改性和可理解性D.可理解性与可读性
80、()针对开发过程中的程序、数据、文档提出使用和管理策略。
A.组织管理B.过程管理C.风险管理D.软件配置管理
二、简答题
1、请说明快速原型化模型的基本思想。
2.软件工程为什么要强调规范化和文档化?
3、请举例说明用例之间的包含关系和扩展关系的区别?
4.简述在项目开发时选择程序设计语言的主要考虑的因素。
5.设计下列伪程序的条件组合覆盖测试用例。
BEGIN
INPUT(x,y,z)
IF(y>1)AND(z=0)THEN
x=x/y
ENDIF
IF(y=2)OR(x=l)THEN
x=x+l
ENDIF
PRINT(x)
END
6、请给出软件工程七条基本原理中的任意6条基本原理。
7、结构化程序设计的特征是什么?
8、软件需求可以分为业务需求、用户需求、功能需求和非功能需求,请分析业务需求与功能需求的区别?
9、简述模块独立性,内聚与耦合。
10、请为下面的程序设计符合判定覆盖的测试用例。
intmain()
{
inta,b,c,x,y,z,t;
scanf(“d%,d%,d%),&a,&b,&c,&t);
ifa>5&&t<1x=10elsex=1;
ifb>10y=20elsey=2;
ifc>15z=30elsez=3;
printf(“d%,d%,d%\n”,x,y,z)
}
11、什么是软件危机?
试简述至少3种软件危机的典型表现。
12、试分析结构化方法存在的主要问题是什么?
13、面向对象的分析通常要建立三个模型,请问三个模型的作用?
14、为了提高软件的可维护性,在软件开发过程的各个阶段要充分考虑软件的可维护性因素。
15、设计下列伪程序的语句覆盖测试用例。
BEGIN
INPUT(A,B,C)
IFA>5THEN
X=10
ELSE
X=1
ENDIF
IFB>10THEN
Y=20
ELSE
Y=2
ENDIF
IFC>15
THENZ=30
ELSEZ=3
ENDIF
PRINT(X,Y,Z)
END
16、简述软件过程模型
17.简述结构化分析的主要步骤
18.衡量模块独立性的两个标准是什么?
它们各表示什么含义?
19.活动图与状态图的区别?
20、一个程序片段如下,请设计符合判定覆盖的测试用例。
if(a>=5)&&(b<0){
c=a+b;
else
c=a-b;
if(c>5)||(c<1)
printf(“c不在计算区域\n”)
else
printf(“%d\n”,c);
三、应用题
1、学校教师工资管理系统的需求描述如下:
教师每月末将本月的工作量输入到系统中,学院负责人对教师输入的工作量进行审核,财务部门对审核后的工作量计算本月工资,本月工资=基本工资+各种补贴+工作量奖金-税收-保险一公积金金。
基本工资、各种补贴、保险、公积金信息由人事处负责输入和维护,教师可以查询月工资明细。
银行系统每月从本系统读入每位教师的实发工资,并向每位教师的银行卡帐户打入月工资。
教师可以查询自己银行卡的金额。
请针对上面描述的需求画出数据流程图。
2、用用例图描述图书管理。
该系统主要包括三类用户:
读者、图书管理员、系统管理员。
其中,读者是多个,图书管理员是一个,系统管理员是一个。
对于系统,读者可以查询自己的借阅情况、分门别类的查询图书和在规定期限内续借不能超过一次操作的情况下进行自行登录续借书等。
图书管理员主要是日常操作以下几个工作环节:
图书订购、新书验证、书目录入、图书登记、读者信息管理、借阅书登记、图书信息注销和读者信息注销等,而系统管理员统筹管理图书的系统相关事宜,比如权限维护、日志维护、增删用户和管理系统后台数据等。
3、某企业的设备维修委托给专业的技术公司完成,现在要开发软件对设备维修信息进行管理,具体描述如下:
车间主任填写维修申请单,内容有设备名称、型号、故障描述、维护时间要求、预计费用;填好后交给审计人员,审计人员根据企业的审计规定对维修申请单进行审计,填写审计意见和审计结果,审计意见可以修改费用,审计结果是同意或不同意;车间主任可以随时查询审计意见和结果;审计通过的维修申请单送给总经理进行审核,并填写审核意见和结果,审核也是以修改费用,审核结果是同意或不同意。
审核通过后,车间把设备送去维修。
维修后由车间主任组织对设备维修结果进行验收,企业对每台有设备验收标准。
验收通过后,由财务人员进行结算,填写支付单并支付维修费。
最后收取发票后,财务人员填写发票记录。
请画出设备维修信息管理软件的数据流程图。
4、现在有一个医院病房监护系统,请根据用户需求建立系统的UseCase模型。
用户提出的系统功能要求如下:
在医院病房监护系统中,病症监视器安置在每个病房,将病人的病症信号实时传送到中央监视系统进行分析处理。
在中心值班室里,值班护士使用中央监视系统对病员的情况进行监控,根
据医生的要求随时打印病人的病情报告,系统会定期自动更新病历。
当病症出现异常时,系统会立即自动报警,通知值班医生及时处理,同时立即打印病人的病情报告,立即更新病历。
请按上述描述,画出系统的用例图。
软件工程考试题一答案
一、选择题,请从四个可选项中选择正确答案。
答案
1.B2.A3.C4.A5.D
6.D7.A8.B9.C10.B
11.D12.A13.A14.A15.C
16.D17.C18.D19.A20.C
21.C22.C23.D24.D25.C
26.D27.B28.C29.D30.D
31.D32.B33.C34.A35.B
36.B37.D38.C39.A40.A
41.D42.B43.D44.B45.A
46.D47.A48.B49.D50.A
51.C52.D53.A54.B55.C
56.D57.A58.B59.A60.C
61.A62.A63.B64.C65.A
66.B67.D68.C69.C70.D
71.B72.A73.B74.D75.D
76.A77.B78.B79.B80.D
二、简答题
1、答案
在需求分析的同时,以比较小的代价快速建立一个能够反映用户主要需求的原型系统。
用户在原型系统上可以进行基本操作,并且提出改进意见,分析人员根据用户的意见完善原型,然后再由用户评价,提出建议,如此往复,直到开发的原型系统满足了用户的需求为止。
基于快速原型化模型的开发过程基本上是线性的,从创建系统原型到系统运行,期间没有反馈环。
这是由于开发人员是在原型的基础上进行系统分析和设计,而原型已经通过了用户和开发组的审查,在设计阶段由于有原型作设计参考,所以设计的结果正确率比较高。
评分标准:
原型描述基本正确6分。
2、答案
(1)软件工程强调规范化和文档化。
规范化的目的是使众多的开发者遵守相同的规范,使软件生产摆脱个人生产方式,进入标准化、工程化的生产方式。
(2)文档化是将软件的设计思想、设计过程和实现过程完整地记录下来,以便于后人的使用和维护,在开发过程中各类相关人员借助于文档进行交流和沟通。
另外,在开发过程中产生的各类文档使得软件的生产过程由不可见变为可见,便于管理者对软件生产进度和开发过程进行管理。
在用户最终验收时可以通过对提交的文档进行技术审查和管理审查,保证软件的质量。
评分标准:
每条3分
3、答案
包含关系用于构造多个用例共同的活动。
例如,在ATM系统中,取钱、查询、更改密码等功能都需要验证用户密码。
这种情况下应该将密码验证功能独立出来,便于复用、减少冗余。
一个用例扩展另一个用例的功能,例如,在图书馆信息管理系统中,读者还书时,系统检查所还图书是否有预订记录,如果有则执行“通知”用例。
评分标准:
包含关系3分;扩展关系3分。
4.答案
●编程人员的水平和编程经历;
●待开发的软件类型;
●算法和计算复杂性;
●数据结构的复杂性;
●软件的开发成本和时间要求;
●软件可移植性要求;
●可用的软件工具。
评分标准:
答对其中任意六项,每项1分。
5、答案
条件组合覆盖标准为,使得每个判定表达式中条件的各种可能组合都至少出现一次。
本程序中共有两个判定表达式,每个判定表达式中有两个简单条件,因此,总共有8种可能的条件组合,它们是:
y>1,z=0
y>1,z<>0
y<=1,z=0
y<=1,z<>0
y=2,x=1
y=2,x<>1
y<>2,x=1
y<>2,x<>1
条件组合覆盖设计测试用例:
实现1,6两种条件组合
输入:
x=4,y=2,z=0;
实现2,5两种条件组合
输入:
x=1,y=2,z=1;
实现3,8两种条件组合
输入:
x=2,y=1,z=0;
实现4,7两种条件组合
输入:
x=1,y=1,z=1.
评分标准:
分析2分,每测试用例各1分。
6.答案
原理1.用分阶段的生命周期计划严格管理
原理2.坚持进行阶段评审
原理3.实行严格的产品控制
原理4.采用现代程序设计技术
原理5.结果应能清楚地审查
原理6.开发小组的人员应该少而精
原理7.承认不断改进软件工程实践的必要性
评分标准:
每个原理1分
7、答案
结构化程序设计的特征如下:
程序模块只有一个入口和一个出口、程序中只包含顺序、条件和循环三种控制结构。
评分标准:
6分。
8、答案
业务需求是用户高层领导机构决定的,它确定软件的目标、规模和范围。
业务需求一般在进行需求分析之前就应该确定,需求分析阶段要以此为参照制定需求调研计划、确定用户核心需求和软件功能需求。
业务需求通常比较简洁,大约三~五页纸就可以描述清楚,也可以将它直接作为需求规格说明书中的一部分。
功能需求定义了软件开发人员必须实现的软件功能。
用户从他们完成任务的角度对软件提出了用户需求,这些需求通常是凌乱的、非系统化的、有冗余的,开发人员不能据此编写程序。
软件分析人员要充分理解用户需求,将用户需求整理成软件功能需求。
开发人员根据功能需求进行软件设计和编码。
评分标准:
业务需求和功能需求各占3分。
9、答案
模块独立性,是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其它的模块的接口是简单的。
一般采用两个准则度量模块独立性。
即模块间耦合和模块内聚。
耦合是模块之间的互相连接的紧密程度的度量。
内聚是模块功能强度(一个模块内部各个元素彼此结合的紧密程度)的度量。
模块独立性比较强的模块应是高内聚低耦合的模块。
评分标准:
正确模块独立性(2分);正确说明内聚概念(2分);正确说明耦合概念(2分)
10、答案
a>5,t=0
a<=5,t=0
b>10
b<=10
c>15
c<=15
测试用例(不唯一):
a=6t=0b=11c=16;a=5t=0b=10c=15
评分标准:
只要写出条件,不管测试用例是否给
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 复习