软件系统开发技术答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件系统开发技术试题(一)
一、单项选择题(本大题共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.测试和运行阶段
&对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. 模块内部各个元素彼此之间的紧密结合程度
二、填空题(本大题共10小题,每空2分,共20分)
1数据流图描绘数据在系统中 —流动和处理__ 的过程。P40 2•为了便于对照检查,测试用例应由输入数据和预期的 —输出结果(输出数据)__ 两部分组成。
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. 简述演化模型以及可适应的情况,为什么? 答:简述演化模型如图所示:
'集成一
演化模型主要是针对事先不能完整定义需求的软件开发。在用户提出待开发系统的核心需求的基础上,软 件开发人员
按照这一需求,首先开发一个核心系统,并投入运行,以便用户能够有效地提出反馈,接
P162
核心系统开发
第二次迭代
着,软件开发人员根据用户的反馈,实施开发的迭代过程。
2. 结构化分析方法为了表达系统模型,给出了几个基本概念?它们是如何表示的?
答:结构化分析方法给出了5个术语:数据流:加工,数据存储、数据源、数据潭,
数据流是数据的流动,数据流表示为--------
加工是对数据进行变换的单元,即它接受输入的数据,对其进行处理,并产生输出。数据存储是数据的静态结构。数据源是数据流的起点;数据潭是数据流的归宿地。数据源和数据潭是系统之外的实体,可以是人、物
或其他软件系统。■表示。
3. 简述衡量模块独立性的两个标准及其含义。
答:衡量模块的独立性的标准是两个定性的度量标准:耦合性和内聚性。
(1)耦合性。也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。
⑵内聚性。又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一
个模块内各元素(语句之间、程序段之间)的联系越紧密,则它的内聚性就越高。
耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。
4. 说明用况之间有哪几种关系,说明每种关系的含义。答:用况之间可以具有三种关系,即泛化、扩展和包含。
泛化:泛化是用况之间的一般/特殊关系。USE CASE A到USE CASE B的泛化,指出A是B的特殊情况。
扩展:记为《extend》,USE CASE A到USE CASE B勺一个扩展关系,指出了USE CASE B的一个实例可以由A 说明的行为予以扩展(根据该扩展所说明的特定条件),并依据该扩展点定义的位置,A说明的行为被插入到B中。
包含:记为《in elude》,USE CASE A到USE CASE B勺一个包含,指出A的一个实例将包含B说明的行为,即这一行为将包含在A定义的那部分中。
5. 结构化设计中总体设计和详细设计的目标和任务是什么?
答:结构化设计分为总体设计和详细设计。
总体设计的目标是:建立系统的模块结构,即系统实现所需要的软件模块一系统中可标识的软件成分,以及这些模块之间的调用关系。总体设计的具体任务是:将DFD转化为MSD
详细设计的目标是将总体设计阶段所产生的系统高层结构,映射为以这些术语所表达的低层结构,也是系统的最终结构。详细设计的主要任务是:给出软件模块结构中各个模块的内部过程描述,也就是模
块内部的算法设计。
五、应用题(本大题共2小题,第1小题10分,第2小题12分,共22分)
1 •根据下列变换型的数据流图,设计出初始软件结构图。