软件工程复习.docx
- 文档编号:27460702
- 上传时间:2023-07-01
- 格式:DOCX
- 页数:29
- 大小:466.35KB
软件工程复习.docx
《软件工程复习.docx》由会员分享,可在线阅读,更多相关《软件工程复习.docx(29页珍藏版)》请在冰豆网上搜索。
软件工程复习
1.可行性研究要进行一次需求分析。
A.详细的 B.全面的 C.简化的、压缩的 D.彻底的
2.工具在软件详细设计过程中不采用。
A.判定表 B.IPO图C.PDL D.DFD图
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.从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大____________。
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.逻辑系统 B.程序系统 C.体系结构 D.物理系统
18.程序的三种基本控制结构的共同特点是
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.IDEF图反映系统____________。
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.UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法____________。
A.基于瀑布模型的结构化方法B.基于需求动态定义的原型化方法
C.基于对象的面向对象的方法D.基于数据的数据流开发方法
29.结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的____________。
A.控制流B.数据流C.程序流D.指令流
30.软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为____________。
A.瀑布模型B.对象模型C.螺旋模型D.层次模型
题号
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
答案
C
D
B
C
B
A
D
D
B
D
C
B
B
A
C
题号
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
答案
C
C
D
C
B
A
A
D
C
C
A
C
C
B
A
1.软件的开发与运行经常受到硬件的限制和制约。
√
2.模块内的高内聚往往意味着模块间的松耦合。
√
3.软件的质量好坏主要由验收人员负责,其他开发人员不必关心。
X
4.判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。
√
5.如果A、B是两个测试等价类,M是A、B中的一个实例,取M做测试用例,测试效率一定是高的。
√
6.按结构图的组装测试策略自顶向下与自底向上结合起来比增势组装测试速度快。
√
7.目前,软件项目的进度安排的两种比较常用的方法是程序评估与审查技术(PERT)和关键路径法(CPM)。
√
8.目前的绝大多数软件都不适合于快速原型技术。
X
9.面向数据的设计方法适用场合是具有明显的层次信息结构的应用如:
企事业的信息管理系统;系统软件(如操作系统)等。
√
10.通常紧致性好的语言一致性就好。
X
11.测试计划、测试用例、出错统计和有关的分析报告一般不用长期保存。
X
12.软件项目定义部分由制定软件项目开发计划、需求分析2个阶段组成。
√
13.数据流图中各构成元素的名称不一定必须具有明确的含义以代表对应元素的内容或功能。
X
14.预防性维护是修改软件,以适应软硬件环境的变化。
X
15.适应性维护是改进软件未来的可维护性和可靠性。
X
16.应该尽量使用机器语言编写代码,提高程序运行效率,而减少高级语言的使用。
X
17.UML只能应用于软件系统模型的建立。
X
18.容错就是每个程序采用两种不同的算法编写。
X
19.软件测试的目的是为了无一遗漏的找出所有的错误。
X
20.由于软件是逻辑产品,软件质量较容易直接度量。
X
21.目前我国还没有颁布软件开发标准。
X
22.如果某子功能可以用一段简洁、精确的文字描述清楚,就无需进一步分解,是创建用户需求的数据流模型应遵循的规则。
√
23.在进行同等测试后,若发现A部分由错误并改正了十个问题错误,B部分发现并改正了五个错误,则重新再进行测试A、B两部分时,A部分发现错误的可能性比B部分中的要大。
√
24.按照功能,软部件可划分为系统软件和应用软件两类。
√
25.耦合度是对软件结构中模块间关联程度的一种度量。
在设计软件时应追求尽可能紧密的耦合的系统。
√
26.随着软件复杂性的不断提高,软件的维护难度越来越大。
√
27.软件的可维护性差是软件维护工作量和费用激增的直接原因。
√
28.用户对软件需求的描述不精确,往往是产生软件危机的原因之一。
√
29.一个好的开发人员应具备的素质和能力包括善于与周围人员团结协作,建立良好的人际关系,善于听取别人的意见。
√
30.缺乏处理大型软件项目的经验。
是产生软件危机的唯一原因。
X
题号
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
答案
√
√
X
√
√
√
√
X
√
X
X
√
X
X
X
题号
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
答案
X
X
X
X
X
X
√
√
√
√
√
√
√
√
X
1、数据流图、软件结构图
假设一家工厂的采购部每天需要一张订货报表,报表按零件编号排序,表中列出所有需要再次订货的零件。
对于每个需要再次订货的零件应该列出下述数据:
零件编号,零件名称,订货数量,目前价格,主要供应者,次要供应者。
零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给订货系统。
当某零件的库存数量少于库存量临界值时就应该再次订货。
试根据要求画出该系统的功能级数据流图,并设计出软件结构图。
解答:
(1)数据流图如下:
或者
(2)软件结构图如下:
2、数据字典
北京某高校可用的电话号码有以下几类:
校内电话号码由4位数字组成,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,若是本市电话则再接着拨8位数字(第1位不是0),若是外地电话则拨3位区码再拨8位电话号码(第1位不是0)。
请用数据字典中定义数据的方法,定义上述的电话号码。
解答:
电话号码=[校内号码|校外号码]
校内号码=非0数字+3{数字}3
校外号码=0+[本市号码|外地号码]
本市号码=非0数字+7{数字}7
外地号码=3{数字}3+非0数字+7{数字}7
非0数字=[1|2|3|4|5|6|7|8|9]
数字=[0|1|2|3|4|5|6|7|8|9]
3、状态转化图
复印机的工作过程大致如下:
未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员来排除故障,故障排除后回到闲置状态。
请用状态转换图描绘复印机的行为。
解答:
4、程序流程图、盒图、PAD图
画出下列伪码程序的程序流程图,盒图(N-S图)。
START
IFp
THEN
WHILEq
DOF
ENDDO
ELSE
BLOCK
g
n
ENDBLOCK
ENDIF
STOP
解答:
5、判定表、判定树
某航空行李托运费的算法规定:
重量不超过30公斤的行李可免费托运。
重量超过30公斤时,对超运部分,头等舱国内乘客收4元/公斤;其它舱位国内乘客收6元/公斤;外国乘客收费为国内乘客的2倍;残疾乘客的收费为正常乘客的1/2。
(1)用判定表表示该行李托运算法。
(2)用判定树表示该行李托运算法。
6、白盒测试技术(逻辑覆盖)
Procedure(VARA,B,X:
REAL);
BEGIN
IF(A>1)AND(B=0)
THENX:
=X/A;
IF(A=2)OR(X>1)
THENX:
=X+1
END;
(1)根据伪码程序画出程序流程图。
(2)设计上述伪码程序的条件组合覆盖测试用例。
解答:
(1)程序流程图如下:
(2)程序可能的条件组合如下:
A>1,B=0记:
T1T2属第一个判断的取真分支
A>1,B≠0记:
T1F2属第一个判断的取假分支
A≯1,B=0记:
F1T2属第一个判断的取假分支
A≯1,B≠0记:
F1F2属第一个判断的取假分支
A=2,X>1记:
T3T4属第二个判断的取真分支
A=2,X≯1记:
T3F4属第二个判断的取真分支
A≠2,X>1记:
F3T4属第二个判断的取真分支
A≠2,X≯1记:
F3F4属第二个判断的取假分支
满足条件组合覆盖的测试用例如下:
7、黑盒测试技术(等价类划分法)
某城市电话号码由三部分组成。
它们的名称和内容分别是:
地区码:
空白或三位数字;
前缀:
非‘0’或‘1’的三位数字;
后缀:
4位数字。
假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。
根据该程序的规格说明,作等价类的划分,并设计测试方案。
解答:
(1)划分等价类
输入条件
有效等价类
无效等价类
地区码
1.空白;
2.三位数;
5. 有非数字字符;6.少于三位数字;
7.多于三位数字。
前缀
3.从200到999之间的三位
8.有非数字字符;9.起始位为‘0’;
10.起始位为‘1’;11.少于三位数字;
12.多于三位数字。
后缀
4.四位数字。
13.有非数字字符;14.少于四位数字;
15.多于四位数字。
(2)设计测试用例
方案
内容
输入
预期
输出
地区码
前缀
后缀
1
空白
200~999之间的三位数字
四位数字
()276-2345
有效
2
三位数字
四位数字
(635)805-9321
有效
3
有非数字字符
(20A)723-4567
无效
4
少于三位数字
(33)234-5678
无效
5
多于三位数字
(5555)345-6789
无效
6
有非数字字符
(345)5A2-3456
无效
7
起始位为‘0’
(345)012-3456
无效
8
起始位为‘1’
(345)132-3456
无效
9
少于三位数字
(345)92-3456
无效
10
多于三位数字
(345)4562-3456
无效
11
有非数字字符
(345)342-3A56
无效
12
少于四位数字
(345)342-356
无效
13
多于四位数字
(345)562-34567
无效
8、面向对象程序设计(类图、用例图)
各组项目类图和用例图必须会画
9、工程网络图
某任务的工程网络如下图所示,请为每个事件计算最早时刻,最迟时刻,并找到该任务的关键路径。
解答:
10.银行计算机储蓄系统的工作过程大致如下:
储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并打印出存款单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并打印出利息清单给储户。
请用数据流图描绘本系统的功能,并用实体一关系图描绘系统中的数据对象。
答:
(1)数据流图
(2)实体-关系图
11.我校图书管理系统有以下功能:
(1)借书:
先为读者办理借书证,借书证上记录读者姓名、学号、所属系和班级留言信息,借书时根据读者的借书证查阅读者档案,若借书数目未超过规定数量,则办理借阅手续,修改库存记录及读者档案:
若超过规定数量则不给予借阅。
(2)还书:
根据读书者中的条形码,修改库存记录及读者档案,若借阅超过规定期限则罚款。
(3)图书管理员还可要定期生成订书清单,包括书名,图书代码,单价,数量等,根据需要向供应商订购图书。
建立对象模型。
12.自动售货机系统是一种无人售货系统。
售货时,顾客把硬币投入机器的投币口中,机器检查硬币的大小、重量、厚度及边缘类型。
有效地硬币是一元币、五角币、一角币、五分币和一分币。
其他货币都被认为是假币。
机器拒绝接收假币,并将其从退币孔退出。
当机器接收了有效地硬币之后,就把硬币送入硬币储藏器中。
顾客支付的货币根据硬币的面值进行累加。
自动售货机装有货物分配器。
每个货物分配器中包含零个或多个价格相同的货物。
顾客通过选择货物分配器来选择货物。
如果货物分配器中有货物,而且顾客支付的货币值不小于该货物的价格,货物将被分配到货物传送孔送给顾客,并将适当的零钱返回到退币孔。
如果分配器是空的,则和顾客支付的货币值相等的硬币被送回退币孔。
如果顾客支付的货币值少于所选择的分配器中货物的价格,机器将等待顾客投进更多的硬币。
如果顾客决定不买所选择的货物,他所放进的硬币将从退币孔中退出。
请建立自动售货机系统的对象模型和功能模型.
答:
对象模型:
功能模型:
13.某市进行招考公务员工作,分行政、法律、财经三个专业。
市人事局公布所有用人单位招收各专业的人数,考生报名,招考办公室发放准考证。
考试结束后,招考办公室发放考试成绩单,公布录取分数线,针对每个专业,分别将考生按总分从高到低进行排序。
用人单位根据排序名单进行录用,发放录用通知书给学生,并将招考办公室留存备查。
请根据以上情况进行分析,确定本题应建立哪几个对象类,画出公务员招聘考试管理系统的顺序图。
14.假设一家工厂的采购部每天需要一张订货报表,报表按零件编号排序,表中列出所有需要再次订货的零件。
对于每个需要再次订货的零件应该列出下述数据:
零件编号,零件名称,订货数量,目前价格,主要供应者,次要供应者。
零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给订货系统。
当某零件的库存数量少于库存量临界值时就应该再次订货。
下图是订货系统的最主要业务处理数据流图,请你画出第一层数据流图和第二层数据流图。
15.某装配厂有一座存放零件的仓库,仓库中现有的各种零件的数量以及每种零件的库存量临界值等数据记录在库存清单主文件中。
当仓库中零件数量有变化时,应该及时修改库存清单文件,如果哪种零件的库存量少于它的库存量临界值,则应该报告给采购部门以便定货,规定每天向采购部门送一次定货报告。
请你画出库存管理系统的系统流程图。
16.银行是与生活紧密相关的一个机构,银行提供了存款、取款、转账等业务。
在银行 立账户的人或机构通常被称为银行的客户。
一个客户可以在银行开多个账户,客户可 以存钱到账户中,也可以从自己的账户中取钱,还可以将存款从一个账户转到另一个 账户。
客户还可以随时查询自己账户的情况,并查询以前所进行的存款、取款等交易 记录。
客户也有权利要求关闭账户。
在对上述银行系统的基本需求进行分析后, 可知这个简化的银行系统至少应该具有如下功能:
1)一个银行可以有多个账户
2) 一个银行可以有多个客户
3) 一个客户可以持有多个账户
4)一个账户可以有多个持有者
5)可以开户
6)可以注销账户
7)可以取钱
8)可以存钱
9)
可以在银行内的账户之间转账
10)可以在不同银行的账户之间转账
问题:
1)、请你画出银行系统用例图。
银行职员(Clerk)活动图。
系统类图
17.简述软件维护中的完善性维护和预防性维护。
(1)完善性维护
在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。
为了满足这些要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性。
这种情况下进行的维护活动叫做完善性维护。
完善性维护不一定是救火式的紧急维修,而可以是有计划的一种再开发活动。
(2)预防性维护
这类维护是为了提高软件的可维护性,可靠性等,为以后进一步改进软件打下良好的基础的维护活动。
具体来讲,就是采用先进的软件工程方法对需要维护的软件或软件中的某一部分重新进行设计、编码和测试的活动。
请画出软件生存周期模型中的瀑布模型,并阐述其基本活动。
答:
1需求分析和定义,通过与系统用户会商建立系统功能、限制、和目标,然后详细地定义他们,编制系统规格说明。
2系统与软件设计,系统设计奖需求分配给系统的硬件部分和软件部分,从而建立整个系统的体系结构。
3实现和单元测试,实现是使用某种编程工具将软件设计转化为一组程序或程序单元,单元测试检查每个程序单元是否满足设计要求。
4集成和系统测试,将每一个经过单元测试的程序或程序单元按一定的顺序集成起来,并当做一个完全的系统进行测试以确保软件需求得到满足,测试后可将软件交付给客户。
5运行和维护,在这一阶段,安装并将系统实际投入使用,维护的任务是改正在较早阶段没有发现的错误,根据性的系统的需求改进系统单元的实现或加强系统的功能。
1)应该尽量使用机器语言编写代码,提高程序运行效率,而减少高级语言的使用。
X
2)容错就是每个程序采用两种不同的算法编写。
X
3)由于软件是逻辑产品,软件质量较容易直接度量。
X
4)如果某子功能可以用一段简洁、精确的文字描述清楚,就无需进一步分解,是创建用户需求的数据流模型应遵循的规则。
√
5)在进行同等测试后,若发现A部分由错误并改正了十个问题错误,B部分发现并改正了五个错误,则重新再进行测试A、B两部分时,A部分发现错误的可能性比B部分中的要大。
√
6)按结构图的组装测试策略自顶向下与自底向上结合起来比增势组装测试速度快。
√
7)目前的绝大多数软件都不适合于快速原型技术。
X
8)通常紧致性好的语言一致性就好。
X
9)软件项目定义部分由制定软件项目开发计划、需求分析2个阶段组成。
√
10)预防性维护是修改软件,以适应软硬件环境的变化。
X
11)按照功能,软部件可划分为系统软件和应用软件两类。
√
12)随着软件复杂性的不断提高,软件的维护难度越来越大。
√
13)验收测试依据系统详细报告书。
X
14)一个好的开发人员应具备的素质和能力包括善于与周围人员团结协作,建立良好的人际关系,善于听取别人的意见。
√
15)数据输入的一般准则中包括保证信息显示方式与数据输入方式的协调一致;允许用户定做输入格式等内容。
√
题号
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
答案
X
X
X
√
√
√
X
X
√
X
√
√
X
√
√
请画出软件实现的过程,并阐述之。
答:
首先,开发人员需要正确理解用户需求和软件设计模型,补充一些遗漏的详细设计,进一步设计
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 复习
