01a
填空题(每空1分,共20分)
1.面向过程方法学强调_自顶向下__顺序地完成软件开发的各阶段任务;面向对象方法学的出发点和基本原则是__模拟人类习惯的思维方式__,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程。
2.总体设计阶段必须回答的关键问题是___概括地说,系统应该如何实现___。 3.__数据流图___和____数据字典__共同构成系统的逻辑模型,
4.需求分析过程应该建立___数据模型____、____功能模型______、____行为模型____3种模型。 5.模块的独立程度可以由__内聚___、___藕合____两个定性标准度量。
6.进行边界条件测试时,使用__刚好等于____、___刚好小于____和刚好大于最大值或最小值的数据结构、控制量和数据值的测试方案,非常可能发现软件中的错误。 7.对象的两个基本要素是:__属性_____和___服务____。
8. 发现和定义系统中的对象类是在用例模型的基础上,识别___实体类_____、___边界类____和___控制类___。
9.面向对象程序设计风格强调提高__可重用性___、__可扩充性__、__健壮性___。 一、 选择题(每小题2分,共20分)
1.在软件开发的各种资源中,( D )是最重要的资源。 A. 开发工具 B. 方法 C. 硬件环境 D. 人员
2.原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于( A )系统。 A. 需求不确定的 B. 需求确定的 C. 管理信息 D. 决策支持 3.单元测试的测试用例主要根据( D )的结果来设计。 A. 需求分析 B. 源程序 C. 概要设计 D. 详细设计 4.测试工作量通常占软件开发全部工作量的( C )。 A.20%~30% B.30%~40% C.40%~50% D. 50%~60%
5.Pareto原理指出测试发现的错误中的80%很可能是由程序中( B )的模块造成的。
第 1 页 共 27 页
A.10% B.20% C.30% D. 40% 6.下列偶合中偶合程度最高的是( D )。
A.数据偶合 B.控制偶合 C.特征偶合 D.内容偶合
7.下列程序流程图的标准符号中,表示数据输入输出的是( A )。 A. B. C. D. 8.右边所示的流图的环形复杂度为( A )。 A. 4 B. 5 C. 6 D. 7 环形复杂度=边数-节点数+2
9.在软件维护中,维护工作量比例最大的是( C )。 A. 改正性维护 B. 适应性维护 C. 完善性维护 D. 预防性维护
10.使用条件路径选择进行白盒测试时,对于连锁型分支结构结构,若有n个判定语句,则需要( C )个测试用例。 A. n B. 2n-1 C. 2n D. 2n+1
二、 判断题(对的画“√”,错的画“×”,每小题1分,共10分)
1. 文档是软件产品的一部分,没有文档的软件就不称其为软件。 ( √ )
2. 在需求分析过程中,分析员要从用户那里解决的最重要的问题是给该软件提供哪些信息。
( × )
3. 建立用例模型的步骤包括确定角色、确定用例和绘制用例图。 ( × ) 4. 软件错误可能出现在开发过程的早期,越早修改越好。 ( √ ) 5. 只有质量差的软件产品才需要维护。 ( × ) 6. 一个好的测试用例在于能发现至今未发现的错误。 ( √ ) 7. 不完善的系统定义往往是导致软件项目失败的主要原因。 ( √ ) 8. 瀑布模型是一种文档驱动的模型。 ( √ ) 9. UML是一种方法。 ( × ) 10. 在时间允许的情况下,适当减少人员会提高工作效率,降低软件开发成本。( √ ) 三、 名词解释(每小题4分,共20分)
第 2 页 共 27 页
1. 软件生命周期
答:软件产品从考虑其概念开始到该软件产品交付使用,直至最终退役为止的整个过程,一般包括计划、分析、设计、实现、测试、集成、交付、维护等阶段。 2. 结构程序设计
答:如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。 3. α测试
答:指软件开发公司组织内部人员模拟各类用户行对即将面市软件产品(称为α版本)进行测试,试图发现错误并修正。 4. UML
答:一种直观化、明确化、构建和文档化软件系统产物的通用可视化建模语言,从企业信息系统到基于Web的分布式应用,甚至严格的实时嵌入式系统都适合于用UML来建模。 5. 软件再工程
答:对现存的大量软件系统进行挖掘、整理以得到有用的软件构件,或对已有软件构件进行维护以延长其生存期。
四、 问答题(每小题6分,共30分) 1. 产生软件危机的原因是什么?
答:“软件作坊”基本上仍然沿用早期形成的个体化软件开发方法,导致在计算机软件的开发和维护过程中遇到一系列严重问题。如:软件开发的进度难以控制,经常出现经费超预算等。 2. 按照模块化的理论,模块的数目是否越多越好?为什么?
答:否,根据模块化和软件成本的关系,随着模块数目的增加,模块成本减小,但接口成本增加,开始时总的成本逐渐减小,模块数超过一定数目之后,总的成本增加。所以模块数应取最小成本区数目。
3. 一个程序计算任何一个在1~1000内整数的平方数,那么其输入项的等价类应如何划分? 答:
4. 为什么说面向对象方法对需求变化有较好的适应性?
第 3 页 共 27 页
答:面向对象的封装机制使开发人员可以把最稳定的部分(即对象)作为构筑系统的基本单位,而把容易发生变化的部分(即属性与操作)封装在对象之内;对象之间通过接口联系,使得需求变化的影响尽可能地限制在对象内部。
5. 在下列用例图中,哪些是系统角色?哪些是系统用例?
答:角色:Bank network, Manager, Clerk, Customer
用例:Authorize purchase, Open store, Log onto redister, Sell goods, Restock
inventory
完
01b
五、 填空题(每空1分,共20分)
1.面向过程方法学强调__自顶向下___顺序地完成软件开发的各阶段任务;面向对象方法学的出发点和基本原则是__尽量模拟人类习惯的思维方式___,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程。
2.需求分析阶段必须回答的关键问题是___系统必须做什么___。 3.系统流程图是概括地描绘___物理系统___的传统工具。
4.数据对象彼此之间的联系可分为__一对一联系___、___一对多联系___、___多对多联系____3种类型。
第 4 页 共 27 页
5.信息流有___变换流____、___事务流____两种类型。
6.软件可靠性指程序在给定的__时间间隔内___,按照规格说明书的规定成功地运行的概率;而软件的可用性指程序在给定的___时间点____,按照规格说明书的规定,成功地运行的概率。 7. 封装使对象形成两个部分:___接口___和___实现____。
8.对象之间的外部联系有___泛化___、___聚合____、___关联___、___依赖___。
9.甘特图用水平线段表示__任务的工作阶段___,线段的起点和终点分别对应着任务的__开工时间___和__完成时间___,线段的长度表示完成任务所需的时间。 六、 选择题(每小题2分,共20分)
1.在软件开发的各种资源中,( D )是最重要的资源。 A. 开发工具 B. 方法 C. 硬件环境 D. 人员
2.软件的复杂性是( A ),它引起人员通信困难、开发费用超支、开发时间超时等问题。 A. 固有的 B. 人为的 C. 可消除的 D. 不可降低的 3.软件测试是为了( B )而执行程序的过程。
A. 纠正错误 B. 发现错误 C. 避免错误 D. 证明正确 4.用于软件维护的费用占软件总费用的( C )。 A.35%~50% B.45%~60% C.55%~70% D. 65%~80% 5.下列内聚中内聚程度最高的是( D )。
A.逻辑内聚 B.过程内聚 C.顺序内聚 D.功能内聚 6.按照Miller法则,一个人在任何时候都只能把注意力集中在( C )个知识块上。
A. 3±2 B. 5±2 C. 7±2 D. 9±2
7.下列程序流程图的标准符号中,表示数据输入输出的是( A )。 A. B. C. D. 8.右边所示的流图的环形复杂度为( A )。 A. 4 B. 5 C. 6 D. 7
第 5 页 共 27 页
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库广东海洋大学软件工程历年考题-答案在线全文阅读。
相关推荐: