出自:国家开放大学软件设计与体系结构

软件体系结构的设计原则主要包括( )。
【A.】合适性
【B.】结构稳定性
【C.】可扩展性
【D.】可复用性
软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式,其关键要素包括( )。
【A.】提供一个词汇表
【B.】定义一套配置规则
【C.】定义一套语义解释原则
【D.】定义对基于这种风格的系统所进行的分析
以下关于软件设计可能对最终软件产品质量产生的影响,正确的是( )。
【A.】正确性:软件设计中如果存在错误,会导致软件实现的错误,影响最终软件的正确性
【B.】可靠性:如果软件设计中错误、缺陷较多,那么会导致最终软件的可靠性降低
【C.】运行效率:软件运行的效率可能会受到设计中选择的算法、数据结构的影响
【D.】可移植性:良好的设计使得与运行平台和环境相关的代码最小化,并进行良好的封装和接口定义,这使得软件移植更加容易
以下关于软件设计可能对最终软件产品质量产生的影响,正确的是( )。
【A.】可靠性:如果软件设计中错误、缺陷较多,那么会导致最终软件的可靠性降低
【B.】可维护性:软件可能会因为发生错误或环境变化而进行维护,具有良好结构的软件设计会使得维护人员更容易理解软件结构
【C.】可移植性:良好的设计使得与运行平台和环境相关的代码最小化,并进行良好的封装和接口定义,这使得软件移植更加容易
【D.】可复用性:由于软件设计描述了软件如何分解,子系统和模块之间的接口如何定义,因此对于软件模块的复用具有重要影响
用户界面设计基本原则包括( )。
【A.】用户熟悉程度
【B.】一致性
【C.】使惊讶最小化
【D.】用户帮助
【E.】可恢复性
【F.】用户多样性
用户交互实质上就是用户向计算机系统发出命令和相应的数据来完成相应的任务。用户交互方式主要包括( )。
【A.】直接操作
【B.】菜单选择
【C.】表格填写
【D.】命令语言
常用的用户界面原型的构建方式包括( )。
【A.】脚本驱动方式
【B.】可视化的程序语言
【C.】手工勾画
【D.】基于因特网的原型
统一建模语言UML的目标是定义一种通用建模语言并对这些建模语言做出简单的说明,供系统建模者理解与使用。其主要特点包括( )。
【A.】UML统一了各种方法对不同类型的系统、不同开发阶段以及不同内部概念的各种观点,有效地消除了各种建模语言之间不必要的差异
【B.】UML建模能力比其它面向对象建模方法更加强大,不仅适合于一般系统的开发,还特别适用于对并行和分布式系统进行建模
【C.】UML是一个开发过程
【D.】UML是一种建模语言
统一建模语言UML在表达能力、对新技术的包容能力和扩展性等方面具备的优势包括( )。
【A.】提供了一种通用、表达能力强的可视化建模语言,用于描述应用问题的需求模型、设计模型和实现模型
【B.】提供了对核心概念的扩展机制,用户可自行加入核心概念中没有提供的概念和符号,可为特定应用领域提出具体的概念、符号表示以及约束
【C.】增强面向对象工具之间的相互可操作性,便于对不同系统进行集成
【D.】支持较高抽象层次开发所需的各种概念,便于系统的重用
在面向对象软件设计过程中,持久数据模型设计主要包括以下几个步骤( )。
【A.】确定设计模型中需要持久保存的类的对象及其属性,其中实体类是主要关注对象
【B.】确定持久存储的数据之间的组织方式
【C.】确定数据模型中的操作行为
【D.】进一步优化持久数据操作的性能
在面向对象软件设计过程中,部署模型设计需要考虑以下几个要素( )。
【A.】最终开发完成的软件包括哪些制品形式
【B.】软件运行环境存在哪些类型的物理节点
【C.】不同节点之间的连接和通信形式是什么
【D.】软件制品应该如何在物理节点上进行部署,即它们的部署映射关系
在面向数据流的软件设计过程中,数据对象的属性包括( )。
【A.】物理属性
【B.】命名性属性
【C.】描述性属性
【D.】引用性属性
在实体关系图进行复杂数据建模过程中,为确保模型的一致性并消除数据冗余,分析人员要掌握 ( )。
【A.】数据对象的任何实例对每个属性必须有且仅有一个属性值
【B.】属性是原子数据项,不能包含内部数据结构
【C.】如果数据对象的关键属性多于一个,那么其他的非关键属性必须表示整个数据对象而不是部分关键属性的特征
【D.】所有的非关键属性既可以表示整个对象,也可以表示部分属性的特征
数据流图必须与描述并组织数据条目的数据字典配套使用。通常,数据字典中的每一条数据条目包含( )。
【A.】在数据流图中标识数据流、数据源或外部实体的名称与别名
【B.】数据类型
【C.】所有以它作为输入流或输出流的转换列表
【D.】如何使用该数据条目的简要说明
在面向对象的数据模型设计中,持久数据模型设计主要包括以下几个步骤( )。
【A.】确定设计模型中需要持久保存的类的对象及其属性,其中实体类是主要关注对象
【B.】确定持久存储的数据之间的组织方式
【C.】确定数据模型中的操作行为,例如数据完整性验证、数据读取、存储与更新、数据求和、求数据平均值
【D.】进一步优化持久数据操作的性能,例如使用数据索引、存储过程、触发器等方式
在进行部署模型设计时,一般需要考虑( )。
【A.】最终开发完成的软件包括哪些制品形式
【B.】软件运行环境存在哪些类型的物理节点
【C.】不同的节点之间的连接和通信形式是什么
【D.】软件制品应该如何在物理节点上进行部署
在进行部署模型设计时,一般需要考虑( )。
【A.】最终开发完成的软件包括哪些制品形式
【B.】软件运行环境存在哪些类型的物理节点
【C.】物理节点应采用本地部署,还是考虑采用云计算环境上进行部署
【D.】软件制品应该如何在物理节点上进行部署
以下哪项不属于属性和操作的作用范围有哪几种( )。
【A.】public
【B.】protected
【C.】static
【D.】private
四位著名的软件工程学者(Erich Gamma, Richard Helm, Ralph Johnson和John Vlissides)在《设计模式:可复用面向对象软件基础》一书中总结出软件工程设计模式的基本要素包括( )。
【A.】模式名称
【B.】问题
【C.】解决方案
【D.】效果
软件设计模式的应用对软件开发所起的重大作用包括( )。
【A.】代码重用性
【B.】节约设计实践,提高设计效率
【C.】可读性
【D.】可扩展性
依照软件设计的目的和范围准则,软件设计模式包括( )。
【A.】创建型设计模式
【B.】结构型设计模式
【C.】行为型设计模式
【D.】创新型设计模式
对于遗留软件,可以选择的进化策略包括( )。
【A.】完全放弃该软件
【B.】继续维护系统
【C.】通过软件工程技术转换系统以提高系统的可维护性
【D.】开发一个新系统来代替遗留系统
在软件进化策略选择方面,遗留系统的评价结果根据业务价值和系统质量可分为( )。
【A.】低业务价值,低系统质量
【B.】高业务价值,低系统质量
【C.】低业务价值,高系统质量
【D.】高业务价值,高系统质量
为了评价软件系统的业务价值,需要从以下哪几个主要方面对系统进行考察( )。
【A.】系统的使用
【B.】系统支持的业务过程
【C.】系统的可靠性
【D.】系统的输出
软件再工程是指通过对目标系统的检查和改造,将逆向工程、重构和正向工程组合起来,将现存系统重新构造为新的形式,以开发出质量更高、维护性更好的软件。其具体目标包括( )。
【A.】为追加、增强功能做准备
【B.】提高可维护性
【C.】软件的移植
【D.】提高可靠性
完整软件体系结构的迭代过程包括以下几种活动( )。
【A.】提取:即从文档、代码、专家等方面获取所有可能得到的软件信息或设计要素
【B.】分类:把提取出的信息按照不同视点进行分类
【C.】合并:对分类后每个视点中的信息进行分析和合并,形成一种系统、一致的方式来描述软件关于该视点的特征
【D.】融合:把分别合并后的各个视点进行融合,检查各个视点之间的一致性,并把这些视点统一称为一个整体的软件体系结构描述
对软件实施代码和数据重构的优点主要包括( )。
【A.】改进软件的设计
【B.】提高代码质量,更容易被理解
【C.】帮助尽早发现错误
【D.】可以提高开发速度
软件设计的发展趋势主要包括( )。
【A.】服务性:以人为本的服务是计算机软件开发最基本的目的,是未来发展的趋势
【B.】开放化:只有保持信息以及软件的开放化,企业才能拥有更加全面的视野,取各行业之间的优势,弥补自身的不足
【C.】智能化和网络化:大多数的计算机软件已经朝智能化发展,这代表着计算机软件开发技术在未来向智能化方向转化;在软件开发技术研究中,物联网就是主要的研究内容
【D.】复杂化:计算机软件设计因功能的完备性趋于复杂
软件再工程通过改造遗留系统,使系统变得容易理解,进而提高系统的可维护性。具体包括( )。
【A.】系统文档的再建、修改
【B.】更新系统的结构
【C.】用先进的程序设计语言转换源代码
【D.】数据再工程
软件设计包括软件的结构设计、数据设计、接口设计和过程设计。作为一个完整的软件设计方案,请简要阐述软件设计包含的组成要素。
简要阐述软件体系结构描述语言(ADL)的三个基本元素及其作用。
软件体系结构设计方法是指通过一系列的设计活动,获得满足系统功能性需求,并且符合一定非功能性需求约束的软件体系结构模型。简述不同类型的软件体系结构设计方法及其特点。
请阐述软件开发过程中的抽象原则和信息隐藏原则
请阐述软件开发过程中模块化设计原则的要点。
请阐述软件界面设计的基本原则。
简要描述基于UML的分析与设计过程。
在创建用户需求的数据流模型的过程中,简要描述分析人员应遵循的原则。
在面向对象的软件设计中,类设计的目的是对各种设计模型中出现的类进行细化设计,以使它们精细至能够直接提交给软件构造阶段进行编码实现。请简述类设计的主要任务。
简述启发式设计策略的主要经验。
简述软件设计模式的应用对软件开发的重要作用。
软件设计模式能够帮助软件设计者更快地完成面向对象的软件设计。请简述软件设计模式选择的具体步骤。
软件设计模式能够帮助软件设计者更快地完成面向对象的软件设计。请简述软件设计模式使用的方法与原则。
简述软件再工程的定义及突出特征。
简述软件再工程的具体目标。
简述软件设计的发展与趋势。
开发者需要对遗留软件系统的实际情况进行评价,然后选择最合适的进化策略。简述对于不同的遗留软件,可选择的进化策略有哪些。