软件系统开发技术试题(一) 答案
一、单项选择题(本大题共10小题,每小题1分,共10分) 1. 设计软件结构一般不.
确定( D ) A.模块之间的接口 B.模块间的调用关系
C.模块的功能 D.模块内的局部数据
2. 软件结构化设计中,好的软件结构应该力求做到( B )
A.顶层扇出较少,中间扇出较高,底层模块低扇入 B.顶层扇出较高,中间扇出较少,底层模块高扇入 C.顶层扇入较少,中间扇出较高,底层模块高扇入 D.顶层扇入较少,中间扇入较高,底层模块低扇入
3. 两个模块都使用同一张数据表,模块间的这种耦合称为( A )
A.公共耦合 B.内容耦合 C.数据耦合 D.控制耦合
4. 划分模块时,下列说法正确的是( A )
A.作用范围应在其控制范围之内 B.控制范围应在其作用范围之内 C.作用范围与控制范围互不包含 D.作用范围与控制范围不受限制
5. 重用率高的模块在软件结构图中的特征是( B )
A.扇出数大 B.扇入数大 C.扇出数小 D.内聚性高
6. 面向对象建模得到的三个模型,其中核心的模型是( A )
A.对象模型 B.功能模型 C.逻辑模型 D.动态模型
7. 从结构化的瀑布模型看,在软件生存周期的几个阶段中,对软件的影响最大是( C )
A.详细设计阶段 B.概要设计阶段 C.需求分析阶段 D.测试和运行阶段
8.对UML的叙述不正确...的是( D ) A.UML统一了Booch方法、OMT方法、OOSE方法的表示方法。
B.UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言。 C.UML融入了软件工程领域的新思想、新方法和新技术。
D.UML仅限于支持面向对象的分析与设计,不支持其它的软件开发过程。 9.以下哪个软件生存周期模型是一种风险驱动的模型( C )
A.瀑布模型 B.增量模型 C.螺旋模型 D.喷泉模型 10.以下哪一项对模块耦合性没有..
影响( D ) A.模块间接口的复杂程度
B.调用模块的方式 C.通过接口的信息
D.模块内部各个元素彼此之间的紧密结合程度
1
二、填空题(本大题共10小题,每空2分,共20分)
1.数据流图描绘数据在系统中___流动和处理_______的过程。P40
2.为了便于对照检查,测试用例应由输入数据和预期的__输出结果(输出数据)____两部分组成。P162 3.面向对象分析的目的是对_____目标系统______进行建模。 4. 结构化方法总的指导思想是__自顶向下_____逐层分解。
5. 在一段程序中,将多次出现的一组语句设计为一个子程序,供多个部分调用,这种情况出现的内聚称为___偶然内聚_____。
6. 用来模拟被测模块的上级调用模块的模块称为__驱动模块_____
7.一个模块的作用域指受该模块内一个__判定____影响的所有模块的集合。 8. 在用况图中,关联是参与者和用况(USE CASE)之间的唯一关系。
9. RUP的突出特点是一种以用况(Use Case)为驱动的、以体系结构为中心的、迭代增量式开发。 10. 在RUP中,规定了四个开发阶段:初始阶段、精化阶段、构造阶段和移交阶段。 三、名词解释题(本大题共6小题,每小题3分,共18分) 1.软件生存周期模型
答:从概念上来讲,软件生存周期模型是一个包括软件产品开发、运行和维护中有关过程、活动和任务的框架,覆盖了从该系统的需求定义到系统的使用终止。
从应用的角度来说,软件生存周期模型为组织软件开发活动提供了有意义的指导。 2.系统模型
答:简单地说,模型是任一抽象,其中包括所有的基本能力、特性或一些方面,而没有任何冗余的细节。进一步地说,模型是在特定意图下所确定的角度和抽象层次上对物理系统的描述,通常包含对该系统边界的描述,给出系统内个模型元素以及它们之间的语义关系。 3.白盒测试法
答:该方法把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检查内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。白盒法也不可能进行穷举测试。 4.信息隐蔽
答:信息隐蔽是指在每个模块中所包含的信息(包括具有特定语义的数据和处理过程)不允许其他不需要这些信息的模块访问。 5. 测试用例
答:为了发现程序中的故障而专门设计的一组或多组测试数据。 6. 类
答:类是一组具有相同属性、操作、关系和语义的对象的描述。 四、简答题(本大题共5小题,每小题6分,共30分) 1. 简述演化模型以及可适应的情况,为什么? 答:简述演化模型如图所示:
2
演化模型主要是针对事先不能完整定义需求的软件开发。在用户提出待开发系统的核心需求的基础上,软
件开发人员按照这一需求,首先开发一个核心系统,并投入运行,以便用户能够有效地提出反馈,接着,软件开发人员根据用户的反馈,实施开发的迭代过程。
2. 结构化分析方法为了表达系统模型,给出了几个基本概念?它们是如何表示的? 答:结构化分析方法给出了5个术语:数据流:加工,数据存储、数据源、数据潭, 数据流是数据的流动,数据流表示为
加工是对数据进行变换的单元,即它接受输入的数据,对其进行处理,并产生输出。 数据存储是数据的静态结构。
数据源是数据流的起点; 数据潭是数据流的归宿地。数据源和数据潭是系统之外的实体,可以是人、物
或其他软件系统。
表示。
3. 简述衡量模块独立性的两个标准及其含义。
答:衡量模块的独立性的标准是两个定性的度量标准:耦合性和内聚性。
(1)耦合性。也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越
紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。
(2)内聚性。又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的
度量。若一个模块内各元素(语句之间、程序段之间)的联系越紧密,则它的内聚性就越高。
耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚低耦合,提高
模块的独立性,为设计高质量的软件结构奠定基础。 4.说明用况之间有哪几种关系,说明每种关系的含义。 答:用况之间可以具有三种关系,即泛化、扩展和包含。
泛化: 泛化是用况之间的一般/特殊关系。USE CASE A到USE CASE B的泛化,指出A是B的特殊情况。 扩展:记为《extend》,USE CASE A到USE CASE B的一个扩展关系,指出了USE CASE B的一个实例可以
由A说明的行为予以扩展(根据该扩展所说明的特定条件),并依据该扩展点定义的位置,A说明的行为被插入到B中。 包含:记为《include》,USE CASE A到USE CASE B的一个包含,指出A的一个实例将包含B说明的行为,
即这一行为将包含在A定义的那部分中。
5. 结构化设计中总体设计和详细设计的目标和任务是什么? 答:结构化设计分为总体设计和详细设计。
总体设计的目标是:建立系统的模块结构,即系统实现所需要的软件模块—系统中可标识的软件成分,以
及这些模块之间的调用关系。 总体设计的具体任务是:将DFD转化为MSD
详细设计的目标是将总体设计阶段所产生的系统高层结构,映射为以这些术语所表达的低层结构,也是系
统的最终结构。详细设计的主要任务是: 给出软件模块结构中各个模块的内部过程描述,也就是模块内部的算法设计。
五、应用题(本大题共2小题,第1小题10分,第2小题12分,共22分) 1.根据下列变换型的数据流图,设计出初始软件结构图。
3