中南大学现代远程教育课程考试(专科)复习题及参考答案
一、单项选择题
1.编程阶段主要要完成的三个任务不包括 [ ]
A.明确程序的控制结构 B.确定使用的类和对象
C.确定程序所使用的算法 D.制定程序所需的数据结构 2. 从影响系统设计的系统环境得出人和组织的因素不包括 [ ] A.过程变更 B.工作变化
C.需求变更 D.机构的变化
3. 实体联系图简称E-R图,它描绘了系统的数据关系。E-R图包括三种互相关联的信息,下列哪个不是其相关信息 [ ]
国际市场占有率
A.数据对象 B.描述对象的属性
C.描述对象的操作 D.描述对象间相互连接的关系
4. OOA采用下列哪种思想进行软件需求分析建模的过程。 [ ]
A.面向结构 B.面向思维
C.面向行为 D.面向对象
5.UML定义的静态图描述系统的静态结构,不包括 [ ]
A.类图 B.对象图
C.包图 D.状态图
6.详细设计常用的工具包括三种,下列哪种不是 [ ]
A.对象工具 B.图形工具
C.表格工具 D.语言工具
7.按照Rumbaugh等人提出的对象建模技术OMT,面向对象设计过程不包括下列哪个步骤 [ ]
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. 从用例出发,进一步抽取和定义OOA模型的三种模型不包括下列哪个 [ ]
A.类-对象模型 B.对象-关系模型
C.对象-行为模型 D.对象-属性模型
15.界面设计主要包括三个方面的内容,下列哪个不是界面设计的内容 [ ]
A.设计构件和人之间的接口 B.设计软件构件之间的接口
C.设计人和计算机间的界面 D.设计模块和其他非人的信息生产者和消费者的界面
二、名词解释
1.计算机系统金童玉女的传说
2.软件工程过程
3.数据字典
4.快速原型方法
诸病源候论5.类
6.多态性
7.模块的聚合性
8.模块的信息隐蔽
9.模块的扇出数
10.序言性注释
11.黑盒测试
12.单元测试
13.适应性维护
14.设计结果重用
15.重构
三、简答题
1.软件工程专家B.W.Boehm认为在软件开发过程中为确保软件产品质量和开发效率应坚持软件工程的哪些基本原理?
2.软件工程有哪三要素?分别表示什么含义?
3.软件开发这一部分通常划分为哪四个阶段?各阶段主要完成哪些工作?
4.需求开发主要分为哪些部分?简要说明之。
5.UML 图的构成成分中定义了哪五类十种模型图?pce
6.软件设计有哪些基本原则?
7.结构图和程序流程图的主要区别表现在哪些方面?
8.根据Rumbaugh对OMT方法的定义,系统设计主要由哪些步骤组成?
9.领域对象设计是领域分析的继续,它一般要完成哪些工作?
10.为方便用户的使用,设计输入和输出应注意哪些原则问题?
11.为使数据说明易于理解和维护,在编写程序时应注意哪些问题?
12.按照Grenford J.Myers的观点,软件测试目的有哪些?
四、计算及应用题
1.试举例说明,白盒测试时不可能把所有可能的输入数据都拿来进行穷举测试。
2.分别举例说明C++中的两种对象创建方式。
3.根据下列描述,画出教材征订系统的第一层数据流图。学生入学后到教材科订书,教材科根据教材库存情况分析是否需要买书,如需购买,则向书店购买。各种资金往来通过学校的会计科办理。
4.一本书的组成有一个封面,一个目录,一个前言,若干章,每章有若干节,每节有若干段,每段有若干句子,0个或多个插图, 0个或多个表格,书最后有一个附录。试建立该书的对象模型。
免疫组化定量分析5.给出下面程序的运行结果。
# include "iostream.h"
int main( )
{
int i=1;
while (i<=35)
if (++i%9!=4) continue;
else cout <<"i="<<i<<endl;
}
6.比较下列两段语句,从编码风格的角度分析哪一段好些,并说明好在哪些方面。
程序段一:
if a>b
then
if x>y
then
b=y
else
a=x
end if
else
a=b
end if
程序段二:
/ position_x is the position x of object; position_y is the position y of object; /
if a>b then
a=b
else
if position_x>position_y then
b=position_y
else
a=position_x
end if
end if
7.某公司为本科以上学历的人重新分配工作,分配原则如下:
(1)如果年龄不满18岁,学历是本科,男性要求报考研究生,女性则担任行政工作;
(2)如果年龄满18岁不满50岁,学历本科,不分男女,任中层领导职务,学历是硕士不分男女,任课题组组长;
(3)如果年龄满50岁,学历本科,男性任科研人员,女性则担任资料员,学历是硕士不分男女,任课题组组长。
要求:画出分析过程,得出判定表,并进行化简。
8.用判定树描述下例:在铁路货运票价系统中,如果里程数大于1千km(含),且货运量超过500吨(含),则货运价为0.05元/公里.吨;500吨以下,货运价为0.06元/公里.吨。如果里程数小于1千km,且货运量超过500吨(含),则货运价为0.07元/公里.吨;500吨以下,货运价为0.08元/公里.吨。
9.某单位的电话服务规则为:可以拨内部的分机号和外线号码。分机号是从6001至6099。外线号码先拨9,然后是市话号码或长话号码。长话号码是以区号和市话号码组成。区号是从100到200中任意的数字串。市话号码是以局号和分局号组成。局号可以是46
6,488,566,588中任意一个号码。分局号是任意长度为3的数字串。要求:写出在数据字典中,电话号码的数据条目的定义(即组成)。
软件工程》(专科)复习题参考答案
一、单项选择题
1~5:BCCDD; 6~10:AACCD; 11~15:DBDDA
二、名词解释
1.计算机系统:计算机系统是指某些元素的一个集合或排列,这些元素被组织起来以实现某种方法,过程或借助处理信息进行控制。
2.软件工程过程:软件工程过程是指为获得软件产品,在软件工具支持下由软件工程师完成的一系列软件工程活动。
3.数据字典:数据字典是一个定义应用程序中使用的所有数据元素和结构的含义、类型、数据大小、格式、度量单位、精度以及允许取值范围的共享仓库。数据字典的维护独立于
软件需求规格说明,并且在产品的开发和维护的任何阶段,各个风险承担者都可以访问数据字典。
4.快速原型方法:在软件开发的早期快速建立目标软件系统的原型,让用户对原型进行评估并提出修改意见。当原型几经改进并最终确定后,它将由软件设计和编码阶段进化成软件产品;或者设计和编码人员遵循原型所确立的外部特征实现软件产品。
5.类:类是一组具有相同数据结构和相同操作的对象的集合。类的定义应该包括一组数据属性和对这些数据的一组操作。
6.多态性:多态性是指同一个消息发送到不同类的对象时产生不同的行为,不同类的对象接受到同一消息导致不同的动作(响应)。
7.模块的聚合性:是模块功能强度(一个模块内部各个元素彼此结合的紧密程度)的度量。作为度量模块相对功能强度的指标。
8.模块的信息隐蔽:模块的信息隐蔽是指每个模块的实现细节对于其它模块来说是隐蔽的。就是说,模块中所包含的信息(包括数据和过程)不允许其它不需要这些信息的模块
使用。
9.模块的扇出数:一个模块直接控制的下属模块的个数称为该模块的扇出数。
10.序言性注释:序言性注释通常置于每个程序模块的开头部分,它应当给出程序的整体说明,对于理解程序本身具有引导作用。
11.黑盒测试:根据软件产品的功能设计规格,在计算机上进行测试,以证实每个实现了的功能是否符合要求,这种测试方法就是黑盒测试,黑盒测试又称为功能测试。
货款回收