《软件工程》期中试题解答
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《软件⼯程》期中试题解答
《软件⼯程》期中试题(2002计科⼀、⼆、三班)
班级__________________ 姓名__________________ 学号____________________⼀、选择题
1、下述表现那些是软件危机的主要表现?(D)
Ⅰ、软件的可维护性差Ⅱ、软件开发的成本和进度不能准确估计
Ⅲ、开发过程缺乏完整的⽂档资料Ⅳ、软件需求增长难以满⾜
A、ⅡⅢⅣ
B、Ⅱ和Ⅳ
C、ⅠⅡⅢ
D、全部
2、下图所⽰的软件过程模型是(A)。
A、瀑布模型
B、原型模型
C、螺旋模型
D、喷泉模型
3、数据字典⼀般由下列(D)元素的定义组成。
Ⅰ、数据的源点和终点Ⅱ、数据流Ⅲ、数据项Ⅳ、数据存储Ⅴ处理
A、全部
B、ⅠⅡⅣⅤ
C、ⅠⅢⅣⅤ
D、ⅡⅢⅣⅤ
E、ⅢⅣⅤ
4、优化软件设计,要求建⽴(C)的模块集合,以提⾼模块的独⽴性。
A、低内聚、低耦合
B、低内聚、⾼耦合
C、⾼内聚、低耦合
D、⾼内聚、⾼耦合
5、下图所⽰的软件模块结构图,该软件的宽度为(F),模块A的扇出数为(C)。
A、1
B、2
C、3
D、4
E、5
F、6
6、对软件进⾏适当的修改,使运⾏的软件能与处理环境或数据环境的变化相符合的维护活动是(B)。
A、改正性维护
B、适应性维护
C、完善性维护
D、预防性维护
7、测试的⽤例由(B)组成。
A、合理的输⼊数据
B、测试输⼊数据和预期输出结果
C、测试输⼊数据和实际输出结果
D、合理的输⼊数据和不合理的输⼊数据
8、考察模块间的接⼝和各模块之间的联系的测试是(B)。
A、单元测试
B、组装测试
C、确认测试
D、系统测试
9、不属于⿊盒测试的测试⽤例设计的⽅法是(D)。
A、等价分类法
B、边界值分析法
C、错误猜测法
D、逻辑覆盖法
10、软件系统模块结构如图所⽰,下述说法中(C)属于深度优先的测试⽅法。
A、M1-M2-M3-M4-M5-M7-M6-M8
B、M1-M2-M4-M8-M3-M5-M6-M7
C、M1-M4-M5-M7-M6-M2-M3-M8
D、M7-M5-M4-M1-M6-M3-M2-M8
M1-M4-M5-M7为主控路径
11、软件⼯程的⽬标是(C)。
A、⽣产满⾜⽤户需要的产品
B、以合适的成本⽣产满⾜⽤户需要的产品
C、以合适的成本⽣产满⾜⽤户需要的、可⽤性好的产品
D、⽣产正确的、可⽤性好的产品
12、需求分析的产品是(A)。
A、需求规格说明
B、数据流图
C、判断表
D、数据字典
13、从下列有关系统结构图的叙述中选出正确的叙述。
( D)
A、系统结构图中反映的是程序中数据流的情况。
B、系统结构图是精确表达程序结构的图形表⽰法。
因此,有时也可将系统结构当作程序流程图使⽤。
C、⼀个模块的多个下属模块在系统结构图中所处的左右位置是⽆关紧要的。
D、在系统结构图中,上级模块与其下属模块之间的调⽤关系⽤有向线段表⽰。
这时,使⽤斜的线段和⽔平、垂直的线段具有相同的含义。
14、软件结构图的形态特征能反映程序重⽤率的是(C)。
A、深度
B、宽度
C、扇⼊
D、扇出
15、⾯向对象的软件⼯程中,识别主类主要靠(B)。
A、技巧
B、经验
C、启发式规则
D、⾯向对象分析理论
⼆、简答
1、怎样克服软件危机?
解答:课本5页
(1)吸收其它⼯程项⽬中积累的丰富经验、科学原理、技术与⽅法,在开发软件的过程中应有良好的组织,
严格的管理,相互的友好协作;
(2)不断总结经验,探索软件开发中应遵循的原理、过程、技术和⽅法;
(3)根据不同的应⽤领域,使⽤⽤户常⽤的⾃然语⾔,描述问题,由计算机⾃动完成推理和运算,从⽽解
决⽤户提出的问题,即软件开发⼯程化的⽅法。
2、试简述著名的软件⼯程专家B.W.Boehm提出的软件⼯程的7条基本原理。
解答:课本7页
3、什么是软件⽣存周期?需求阶段和设计阶段的任务分别是什么?
解答:软件⽣存周期是指⼀个软件系统从⽬标提出到最终被淘汰的整个存在期。
概括地说,软件⽣存周
期由软件定义、软件开发和运⾏维护三个时期组成,每个时期⼜可进⼀步划分成若⼲个阶段。
通常可划分为问题定义、可⾏性研究、需求分析、概要设计、详细设计、编码和单元测试、综合测试、软件维护8个阶段。
需求阶段的任务是对⽬标系统实现的功能等提出完整、准确、清晰、具体的要求。
设计阶段的任务是设计程序的体系结构和设计出程序的详细规格说明。
4、系统流程图与数据流图有什么区别?
解答:课本33页
5、什么是模块?模块具有哪⼏个特征?总体设计主要考虑什么特性?
解答:课本84页~91页
模块是数据说明、可执⾏语句等程序对象的集合,模块可以单独被命名的⽽且可通过名字来访问,例如,过程、函数、⼦程序、宏等等都可作为模块。
模块具有输⼊和输出(参数传递)、功能、内部数据结构(局部变量)和程序代码四个特性。
(模块化设计的基本原理:把⼤型软件按规定的原则划分为⼀个个较⼩的相对独⽴⼜相关的模块,每个模块完成⼀个⼦功能,把这些模块集合起来组成⼀个整体,以完成指定的功能。
)
概要设计主要考虑输⼊、输出(参数传递)和功能两个特性。
(总体设计考虑(模块设计的)准则课本63~65页启发规则:
(1)改进软件结构, 提⾼模块独⽴性:在对初步模块进⾏合并、分解和移动的分析、精化过程中⼒求提⾼模
块的内聚,降低藕合;
(2)模块⼤⼩要适中:⼤约50⾏语句的代码,过⼤的模块应分解以提⾼理解性和可维护性;过⼩的模块,合
并到上级模块中;
(3)软件结构图的深度、宽度、扇⼊和扇出要适当。
⼀般模块的调⽤个数不要超过5个;
(4)尽量降低模块接⼝的复杂程度;
(5)设计单⼊⼝、单出⼝的模块。
(6)模块的作⽤域应在控制域之内。
)
6、选择程序设计语⾔需要考虑的因素?
解答:课本99页
(1)选择⽤户熟悉、便于⽤户维护的语⾔;
(2)选择⽬标系统的环境中可以提供的编译程序所能选⽤的语⾔;
(3)选择可以得到的软件⼯具,能⽀持程序开发中可以利⽤的语⾔;
(4)根据⼯程规模的⼤⼩、⽬标系统应⽤范围;
(5)选择程序员熟悉的语⾔;
(6)选择标准化程度⾼、程序可移植性好的语⾔;
(7)根据算法与计算的复杂性、数据结构的复杂性选择;
(8)根据实时要求系统需要的响应速度和效率选择相应的语⾔。
7、⽩盒测试法和⿊盒测试法有什么区别?
解答:⽩盒测试法完全了解程序的结构和处理过程,这种⽅法按照程序内部的逻辑结构及有关信息设计或选择测试⽤例,检查程序中的每条通路是否都能按预定要求正确⼯作。
⿊盒测试着眼于软件的外部特性,不考虑软件内部的逻辑结构和内部特性,只依据程序的需求规格说明书检查程序是否满⾜功能要求,测试要在软件的接⼝处进⾏。
8、软件的维护⼀般分为哪⼏类?
解答:
改正性维护:满⾜⽤户对已开发产品的性能与运⾏环境不断提⾼的要求,进⽽达到延长软件寿命的⽬的。
适应性维护:对程序使⽤期间发现的程序错误进⾏诊断和改正的过程,配合变化了的环境进⾏修改软件的活动;
完善性维护:满⾜⽤户在使⽤过程中提出增加新的功能或修改已有功能的建议⽽进⾏的⼯作;
预防性维护:为了改善未来的可维护性或可靠性⽽修改软件的⼯作。
三.综合题
1、请为某仓库的管理设计⼀个ER模型。
该仓库主要管理零件的订购和供应等事项。
仓库向⼯程项⽬供应零件,并且根据需要向供应商订购零件。
(辅导书21页)
2、如图显⽰某程序的逻辑结构。
试为它设计⾜够的测试⽤例,分别实现对程序的判定覆概、条件覆概和条件组合覆概。
3、欲开发⼀个银⾏的活期存取款业务的处理系统:储户将填好的存/取款单和存折(含现⾦)交给银⾏⼯作⼈员,然后由系统作以下处理
A.业务分类处理:系统⾸先根据储户所填的存/取款单,确定本次业务的性质,并将存/取款单和存折(含现⾦)交下⼀步处理;
B.存款处理:系统将存款单上的存款⾦额分别记录在存折和帐⽬⽂件中,并将现⾦存⼊现⾦库;最后将存折还给储户;
C.取款处理:系统将取款单上的取款⾦额分别记录在存折和帐⽬⽂件中,并从现⾦库提取现⾦;最后将现⾦和存折还给储户。
要求完成下列⼯作:
(1)⽤数据流图描绘该系统的功能需求;
(2)⽤⾯向数据流的⽅法导出系统结构图;
(3)⽤你熟悉的⼀种⽅法写出模块“获得合理单据”及“分类处理”的算法。
存折、存款单
存取单
存折 D1 帐⽬ D2 现⾦帐
存折、取款单
存折(现⾦)
⼆层
1 3 57
模块“获得合理单据”的IPO 图
模块“分类处理”的IPO 图
4、将如下的基本⽂件:考⽣基本情况⽂件(简称考⽣情况⽂件)和考⽣⾼考成绩⽂件(简称考分⽂件)合并成考⽣新⽂件。
考⽣情况⽂件考分⽂件
(1)画出输⼊和输出的数据结构图; (2)画出程序结构图;
(3)写出程序的过程性表⽰,列出所有操作和条件.
(4)⽤Jackson 伪代码写出与程序结构图对应的过程性表⽰解答:
(1)输⼊数据结构图
输出数据结构图
(2) 程序结构图如下
(3)程序的过程性表⽰,所有操作和条件:
①停⽌⑤⽣成⼀条新记录
②打开两个输⼊⽂件⑥将新记录写⼊输出⽂件
③建⽴输出⽂件⑦关闭全部⽂件
④从输⼊⽂件中各读⼀条记录 I(1)⽂件结束
把它们分配到程序结构图的适当位置,如图:
产⽣新⽂件seq
打开两个输⼊⽂件
建⽴输出⽂件
从输⼊⽂件中各读⼀条记录
分析考⽣记录iter until⽂件结束
处理考⽣记录seq
产⽣准靠证号
产⽣姓名
产⽣通讯地址
产⽣考分
⽣成⼀条新记录
将新记录写⼊输出⽂件
从输⼊⽂件中各读⼀条记录
处理考⽣记录end
关闭全部⽂件
停⽌
产⽣新⽂件end
5、公司的折扣政策为:
(1)只对⼀次交易额在四万元(含四万元)的客户实施折扣;
(2)如果客户的⽀付信⽤好,折扣率为10%;否则要根据客户与公司的业务史定折扣率;
(3)如果客户与本公司的交易史在五年以上(含五年),折扣率为5%,否则,折扣率为2%.绘制上述问题的判定树和判定表. (S:交易额,单位:万元)
解答:
决策树
交易额⽀付信⽤交易年限折扣额
好 - - - - - - - - - - - - - - -S*10%
S=4 ≥5年 - - - - - -S*5%
不好
<5年 - - - - - -S*2%
<4 - - - - - - - - - - - - - - - - - - - - - - S*0%
决策表
6、给出⼀组数从⼩到⼤的排序算法,分别⽤下列⼯具描述其详细过程:
(1)流程图;(2)N—S图;(3)PAD图;(4)PDL语⾔。
9.请建⽴下述的图书馆馆藏出版物的对象模型。
⼀家图书馆藏有书籍、杂志、⼩册⼦、电影录影带、⾳乐CD、录⾳磁带和报纸等出版物,供读者借
阅。
这些出版物有出版物名、出版者、获得⽇期、⽬录编号、书架位置、借出状态和借出限制等属性,并有借出、收回等服务。