诚信应考 考出水平 考出风格 浙江大学城市学院 2013 — 2014 学年第 一 学期期末考试试卷 《 软件工程 》 开课单位: 计算分院 ;考试形式:闭、开卷;考试时间:__2014_年__1__月__10_日; 所需时间: 120 分钟一._单项选择题_____(本大题共__15__题,每题___1___分,共___15___分。
) 1. 软件开发的各种资源中,( )是最重要的资源。
A 开发工具 B 方法 C 硬件环境 D 人员 2. ( )是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。
A 多态性 B 继承 C 封装 D 消息 3. CMM 提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。
除第1级外,每一级都包含了实现这一级目标的若干关键过程域,每一个关键过程域又包含若干( )。
A 关键实践 B 软件过程性能 C 软件过程能力 D 软件过程 4.对于分层的DFD,父图与子图的平衡指子图的输入、输出数据流同父图相应加工的输入、输出数据流 ( ) 。
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. 在面向对象的高层设计体系结构中,( ) 是OOD导出的体系结构的核心部分。
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. 可理解性和可读性请从供选择的答案中选出正确或合适的答案填入( ) 中。
1. 软件需求分析的任务不应包括( A ) ,进行需求分析可使用多种工具,但( B )是不适用的。
在需求分析中,开发人员要从用户那里解决的最重要问题是( C ) 。
需求规格说明书的内容不应包括( D ) 。
该文档在软件开发中具有重要作用,但其作用不应包括( E ) 。
供选择的答案:A:①问题分析②信息域分析③结构化程序设计④确定逻辑模型B:①数据流程图②判定表③PAD图④数据词典C:①要让软件做什么②要给该软件提供哪些信息③要求软件工作效率怎样④要让该软件具有何种结构D:①对重要功能的描述②对算法的详细过程描述③软件确认准则④软件的性能E: ①软件设计的依据②用户和开发人员对软件“要做什么”的共同理解③软件验收的依据④软件可行性分析的依据2. 结构化分析方法(SA)、结构化设计方法(SD) 和Jackson方法是在软件开发过程中常用的方法。
人们使用SA方法可以得到( A ) ,这方法采用的基本手段是( B ) ;使用SD方法时可以得到( C ) ,并可以实现( D ) ,而使用Jackson方法可以实现( E ) 。
供选择的答案:A,C:①程序流程图②具体的语言程序③模块结构图及模块功能说明书④分层数据流程图和数据字典B:①分解与抽象②分解与综合③归纳与推导④试探与回溯D,E:①从数据结构导出程序结构②从数据流程图导出初始结构图③从模块结构导出数据结构④从模块结构导出程序结构3. 软件测试的目的是(A )。
为了提高测试的效率,应该(B )。
使用白盒测试方法时,确定测试数据应根据(C )和指定的覆盖标准。
与设计测试数据无关的文档是(D )。
软件的集成测试工作最好由(E )承担,以提高集成测试的效果。
供选择的答案:A. ①评价软件的质量②发现软件的错误③找出软件中的所有错误④证明软件是正确的B. ①随机地选取测试数据②取一切可能的输入数据作为测试数据③在完成编码以后制定软件的测试计划④选择发现错误的可能性大的数据作为测试数据C. ①程序的内部逻辑②程序的复杂程度③使用说明书④程序的功能D. ①该软件的设计人员②程序的复杂程度③源程序④项目开发计划E. ①该软件的设计人员②该软件开发组的负责人③不属于该软件开发组的软件设计人员④该软件的编程人员4. UML是一种面向对象的统一建模语言,它包含(A)种图。
其中用例图中的外部actor指(B),用例可以用(C)图来描述。
协作图描述了协作的(D)之间的交互和联结。
A ①7 ②8 ③9 ④10B ①人员②单位③人员或单位④人员或外部系统C ①类②状态③效果④协作D ①对象②类③用例④状态5. 在面向对象软件开发过程中特别重视复用。
软件构件应独立于当初开发它们的应用而存在。
在以后的应用开发中,可以调整这些独立构件以适应新问题的需要。
因此,应使得类成为一个( A )的单元。
这样就有一个( B )生存期问题。
( B )生存期有自己的步骤,与任何特定应用的开发( C )。
按照这些步骤,可以完整地描述一个基本( D ),而不仅仅考虑当前正在开发的系统。
系统开发的各个阶段都可能会标识新的类。
随着各个新类的标识,( B )生存期引导开发工作逐个阶段循序渐进。
在设计与实现类时,应尽可能利用既存类提供为当前应用所需要的功能,利用既存类的3个可能途径是:( E )复用既存类,对既存类进行( F )以得到满足要求的类,重新开始进行开发。
供选择的答案:A:①可复用②可测试③可适用④可靠B:①应用②寿命③类④软件C:①相关②密切相关③负相关④无关D:①概念②实体③事件④事情E,F:①修改②更新③照原样④演化6. 下列关于软件质量因素的定义中,关于诊断和改正运行现场发现的错误所需要的工作量大小称为( A )。
对未经授权的人使用软件或数据的企图,系统能够控制的程度称为( B )。
在硬件发生故障、输入无效的情况下,系统能够做出适当的响应称为( C )。
软件容易测试的程度称为( D ) 。
软件在其他应用中可以被再次使用的程序称为( E )供选择的答案:A ,B,C D, E: ①正确性②健壮性③完整性④可用性⑤可理解性⑥可维修性⑦可测试性⑧可移植性⑨可再用性___15_____分。
)(1) 文档是软件产品的一部分,没有文档的软件就不称其为软件。
(2) 把常见的局部优化工作留给编译程序去做。
(3) 需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。
(4) 一组测试用例是判定覆盖,则一定是语句覆盖。
(5) 一组测试用例是条件覆盖,则一定是语句覆盖。
(6) 面向对象的分析是面向计算机系统建立软件系统的对象模型。
(7) 在有虚拟存储器的计算机系统上开发软件。
(8) 只有质量差的软件产品才需要维护。
(9) 软件错误可能出现在开发过程的早期,越早修改越好。
(10) 模型是对现实的简化,建模是为了更好地理解所开发的系统。
(11) 一般单元测试不可以并行进行。
(12)在项目计划发生延迟的情况下,增加更多的程序员一定会加快进度。
(13) 好的测试用例应能证明软件是正确的。
(14) 目前绝大多数软件不适合于快速原型开发。
(15) 完善性维护是提高或完善软件的性能。
四.简答题(本大题共__2__题,每题___5___分,共___10_____分。
) 1. 传统"瀑布模型"的主要缺陷是什么?试说明造成缺陷的原因。
2.简述UML 图形中的5种关系类型。
五.综合题(本大题共__3__题,每题___10___分,共___30_____分。
)1. 问题陈述:在一简化的百货商店系统中,营业员负责录入、修改或删除每一销售商品的有关信息(商品号,单价,数量);收款员根据用户的优惠级别(由部门经理确定),负责录入交付的商品款(当录入出现操作失误时,可以进行修改),部门经理随时查询某种商品的销售情况(商品号,销售量,销售金额),并在每日结算时,计算本部门销售总额。
(10 分)(1) 以结构化方法建立该问题的DFD(至少2层,即顶层和0层) (6分)(2) 定义一个交互,并以顺序图该处该交互的描述(4分)2. 把下面的伪码转换为控制流程图,并将其转化为PAD 图,在此基础上,设计最少测试用例,实现条件覆盖。
(10分,流程图3分,PAD 图3分,测试用例4分)(s1,s2,s3不影响x 和y 的值) Begins1;s2;if (x>1) and (y=2) thens3;else y=y+1;if (x < 3) or (y>1) theny = 2*y;elsex = 2*x;end.3. 请建立下述肉食店问题的对象模型(10分)一家肉食店想使其库存管理自动化,这家肉食店拥有能记录顾客购买的所有种类肉食的名称和数量的销售终端。
顾客服务台也有类似的终端,以处理顾客的退货。
它在码头有另一个终端用户处理供应商发货。
各种肉食都有终端用于输入由于损耗导致的损失和折扣。
根据上述需求建立肉食店问题相应的对象模型。
(用例图 3分 类图 4分一个顺序图3分)。