以上的任一描述都正确,可酌情给分。
8.内聚性
答: 内聚性:是模块独立性的衡量标准之一,它是指模块的功能强度的度量,
即一个模块内部各个元素彼此结合的紧密程度的度量。
9.集成测试
答: 集成测试也称组装测试或联合测试。是指在单元测试的基础上,将所有模块
按照设计要求组装成一个完整的系统进行的测试。组装模块的方式有两种:渐增式测试和非渐增式测试。
10.重用 答:
重用也叫再用或复用,是指同一事务不做修改或稍加修改就多次重复使用。软件重用分为3个层次:1)知识重用,2)方法和标准重用,3)软件成分重用。
11.多态性
答: 多态性:指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结
果。或(不同的对象,收到同一消息可以产生不同的结果。)
12.信息隐蔽
答: 是指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不
需要这些信息的其他模块来说是不能访问的。
13.模块化 答:
①模块化是指解决一个复杂问题是自顶向下逐层把软件系统划分成若干模块的过程,每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。
或:
②模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的要求。
14. 单重继承
答: 在类层次中,子类只继承一个父类的数据结构和方法,则称为单重继承。
15. 多重继承
答: 在类层次中,子类继承了多个父类的数据结构和方法,则称为多重继承。
四、 叙述分析题:
1.什么是模型?开发软件时为什么要建立模型? 答:
第一问:所谓模型,就是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。 第二问:
① 为了开发复杂的软件系统,系统分析员应该从不同角度抽象出目标系统的特
性,使用精确的表示方法构造系统的模型,验证模型是否满足客户对目标系统的需求,并在设计过程中逐渐把和实现有关的细节加进模型中,直至最终用程序实现这个模型。对于那些因过分复杂而不能直接理解的系统,特别需要建立模型。 或:
② 建立模型的目的主要是为了降低复杂性。 或
③ 为了更好地理解复杂事务,人们常常采用建立事务模型的方法。
2.关联中的组合和聚合之间的区别是什么? 答:
聚合关系反映了一个对象是另一个对象的一部分,或者说表明了一个对象是由若干个其他对象组成的。
或:
由关联关系精化而来
表示整体和部分的含义,整体拥有部分
组合关系描述部分对象依赖于整体对象,这种依赖关系通过如下两种方式表现出来:首先,在任一给定时刻,一个部分对象只能属于一个组合对象;其次,当一个组合对象被撤销时,所有依赖于这个组合对象的部分对象都将同时被撤销。
或:
组合是聚合的一种形式,具有很强的归属关系和一致的生存期,部分不能脱离整体而存在
把整体和部分的关系的意思回答正确即可
3.请根据下列用过程设计语言(Procedure Design Language, PDL)描述的业务,画出判定树。
if 发货单金额超过$1000 then if 欠款超过了50天 then
在偿还欠款前不予批准 else (欠款未超期)
发批准书,发货单
else (发货单金额未超过$1000) if 欠款超过50天 then
发批准书,发货单及赊欠报告 else (欠款未超期)
发批准书,发货单 答:
欠款超过了50天欠款未超期欠款超过了50天欠款未超期在偿还欠款前不予批准发批准书,发货单发批准书,发货单及赊欠报告发批准书,发货单金额超过$1000发货单处理金额未超过$1000
4.什么是类?类与类之间有哪几种关系组成。 答:
第一问:
① 在面向对象的软件技术中,“类”就是对具有相同数据和相同操作的一组相似对象的定义。 或:
②又称对象类(Object Class),是一组具有相同属性和相同操作的对象的集合。
第二问:
类与类之间通常有关联、泛化(继承)、依赖和细化等4种关系。 关联:表示两个类的对象之间存在某种语义上的联系。 泛化(继承):指出在类与类之间存在“一般—特殊”关系。
依赖:描述两个模型元素之间的语义连接关系:其中一个模型元素是独立的,另一个模型元素不是独立的,它依赖于独立的模型元素。
细化:当对同一事物在不同抽象层次上描述时,这些描述之间具有细化关系。
5.阐述软件测试的目的,什么是软件成功的测试标准? 答:
①【测试目的】是发现程序中的错误,是为了证明程序有错,而不是证明程序无错。
②【成功的测试标准】:能够发现错误的测试是成功的测试,否则是失败的测试。
6.什么是软件危机?软件危机表现在哪几个方面? 答:
第一问:
①由于软件特点和长期以来一直没有发明一种高效的开发方法,导致软件生产效率非常低,交付期一拖再拖,最终交付的软件产品在质量上很难保障。这种现象早在20世纪60年代被定义为“软件危机”。
或回答:
②软件危机是指计算机软件的开发和维护过程中所遇到的一系列严重问题。
第二问:
它的具体表现如下:
(1) 对软件开发成本和进度的估计常常很不准确。
(2) 用户对“已完成的”软件系统不满意的现象经常发生。 (3) 软件产品的质量往往靠不住。 (4) 软件常常是不可维护的。
(5) 软件通常没有适当的文档资料。
(6) 软件成本在计算机系统总成本中所占的比例逐年上升。 (7) 软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。 (8) 开发者只专注于技术、风险意识薄弱。
7.说明软件测试在软件开发阶段的地位和作用。比较测试和调试的异同点。 答:
软件测试是保证软件质量的关键步骤,它是对软件规格说明、设计和编码的最后复审,对软件的可靠性有着非常重要的影响。
测试是为了发现程序中的错误而执行程序的过程。调试是在测试发现错误之后排除错误的过程。
测试的目标是发现软件中的错误,但发现错误并不是最终目的,通过测试发现的错误之后必须诊断并改正错误,这就是调试的目的,调试是测试阶段最困难的工作。
8.什么是软件配置?什么是测试配置?为什么要选用少量的“最有效的”测试数据,做到尽可能完备的测试? 答:
(1)软件配置,包括需求说明书、设计说明书和源程序清单等; (2)测试配置,包括测试计划和测试方案。
(3)不同的测试数据发现程序错误的能力差别很大,为了提高测试效率降低测试成本,应该选用高效的测试数据。因为不可能进行穷尽的测试,选用少量“最有效的”测试数据,做到尽可能完备的测试就更重要了。
9. 用例为什么不是功能分解? 答:
一个用例可能需要多个功能来实现,一个功能也可能被用于多个用例;
10.简述对软件测试的目的。 答:
软件测试的目的是:
(1)为了发现错误而执行程序的过程;
(2)一个好的用例能够发现至今尚未发现的错误的测试。 (3)一个成功的测试是发现至今尚未发现的错误的测试。
11.在下列用例图中,哪些是系统的行为者?
答:
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库2016软件工程复习综合题(4)在线全文阅读。
相关推荐: