五、问答题
1、纵观软件体系结构技术的发展过程,从最初的“无结构”设计到现行的基于体系结构的软件开发,可以认为经历了哪四个阶段?
(1)“无体系结构”设计阶段。以汇编语言进行小规模应用程序开发为特征
(2)萌芽阶段。出现了程序结构设计主题,以控制流图和数据流图构成软件结构为特
征
(3)初期阶段。出现了从不同侧面描述系统的结构模型,以UML为典型代表
(4)高级阶段。以描述系统的高层抽象结构为中心,不关心集体的建模细节,划分了体系结构模型与软件结构的界限,该阶段以Kruchten,提出了“4+1”模型为标志,由于概念尚不统一,描述规范也不能达成一致认识,因此在软件开发实践中软件体系结构上布恩那个发挥重要作用。
2、试述下可重用技术对构件库组织方法的几点要求:
(1)支持构件库的各种维护动作,如增加、删除以及修改构件,尽量不要影响构件库的结构。
(2)不仅要支持精确匹配,还要支持相似构件的查找。
(3)不仅能进行简单的语法匹配,而且还能够查找在功能或行为方面等价或相似的构件。
(4)对应用领域具有较强的描述能力和较好的描述精度。
(5)库管理员和用户容易使用。
3、简要概产生软件危机的原因
1.用户需求不明确 2.缺乏正确的理论指导 3.软件规模越来越大 4.软件复杂度越来越高。
4、软件体系结构的定义众多,你是如何理解软件体系结构的?软件体系结构在软件系统中有何作用?
(1)软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素继承的模式以及这些模式的约束组成。软件体系结构不仅指定了系统的组织结构和拓扑结构,还显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。
(2)体系结构是风险承担者进行交流的手段。它明确了对系统实现的约束条件,决定了开发和维护组织的组织结构,制约着系统的质量属性,可以预测软件的质量,是推理和控制更改更简单,有助于循序渐进的原型设计。同时,软件体系结构是可传递和可重用的模型。
6、体系结构的生命周期模型分为哪几个阶段?
1、需求分析阶段 2、建立软件体系结构阶段 3、设计阶段 4、实现阶段
7、软件体系结构是必需,软件体系结构的生命周期分为哪几个阶段?
软件体系结构的生命周期可以分为需求分析阶段、建立软件体系结构阶段、设计阶段、实现阶段四个阶段。
8、请简述软件体系结构的生命周期。
以自然语言进行软件结构的非形式化描述,接着运用合适的形式化数学理论模型对上一阶段的非形式化描述进行规范定义,从而得到软件形式结构的形式化规范描述。对设计好的软件体系结构进行验证和求精,直到不需要进行求精验证时,转入软件体系结构的实施。在此阶段将软件结构实施于系统设计中,并将其结构的构件和连接件有机组织在一起。判断软件体系结构是否需要扩展,演化。需要从则重复以上步骤,否则对该体系结构进行评价、度量,转入终结阶段。
10、DSSA与体系结构之间有何关联?
1、DSSA是以问题域为出发点,而软件体系结构是以解决域为出发点的;
2、DSSA只对某一个领域进行设计专家知识的提取、存储和组织,但可以同时使用多种体系结构风格;而在某个体系结构风格中进行体系结构专家知识的组织时可以扩展到多个应用领域;
3、DSSA的特定领域参考体系结构通常选一个或多个体系结构风格,并设计一个专用的体系结构分析设计工具;
4、体系结构风格的定义和应用领域是直交的,提取的设计知识比用DSSA提取的设计专家知识的应用要广泛。
11、试阐述与C/S体系结构相比,B/S体系结构的不足之处。
1、B/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能;
2、B/S体系结构的系统扩展能力差,安全性难以控制;
3、采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远的地低于C/S体系结构;
4、B/S体系结构的数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理应用。
12、C/S系统中客户端应用程序有哪些主要任务?
1、提供用户与数据库的交互界面
2、向数据库服务器提交用户请求并接受来自数据库服务器的信息 3、利用客户端应用程序对存在于客户端的数据执行应用逻辑要求。
13、请简述隐式调用系统的优缺点。
优点:(1)为软件重用提供了强大的支持。(2)为改进系统带来了方便。 缺点:(1)构件放弃了对系统计算的控制。(2)数据交换的问题。(3)既然过程的语义必须依赖于被触发事件的上下文约束,关于正确性的推理就存在问题。
14、请简述三层C/S结构的优点
1、允许合理的划分三层结构的功能,使之在逻辑上保持相对独立性,从而使整个系统的逻辑结构更为合理清晰,能提高系统和软件的可维护性和可扩展性。
2、允许更灵活的选用相应的平台和硬件系统使之在处理负荷能力上与处理特性上分别适应于结构清晰的三层,并且具有可升级性和开放性
3、可并行开发,各层可选择各自最适合语言使之高效开发,从而达到较高的性价比
4、允许利用功能层有效的隔离开表示层 和数据层,未授权的用户难以通过如黑客手段访问数据层,同时也更加合理和有效的控制 参考页码:P65
15、OOA模型划分为5个层次或视图,分别为哪些?
1、 对象一类层 2、属性层 3、服务层 4、结构层 5、主题层
16、应用体系结构描述的推荐标准应该遵循哪些要求?
(1)体系结构的存档要求
(2)能识别人员及其关系
(3)体系结构视点的选择
(4)体系结构的视点
(5)系统结构视点之间的一致性
(6)体系结构原理
17、Unicon及其支持的工具的主要目的有哪些方面?
(1)提供对大量构件和连接件的统一的访问。
(2)区分不同类型的构件和连接件,以便对体系结构配置进行检查。 (3)支持不同的表示方式和不同开发人员的分析工具。
(4)支持对现有构件的使用。
18、在C2中,连接件和构件是如何工作的?
连接件负责构建之间消息的传递,而构件维持状态,执行操作并通过两个名字分别为top和buttom的端口和其他的构件交换信息。每个接口包含一种可发送的消息和一组可接受的消息,构件之间的消息要么是请求其他构件执行某个操作的请求消息,要么是通知其他构件自身执行某个操作或状态发生改变的通知消息。构件之间的消息交换不能之间进行,而只能通过连接件来完成。
19、Rapide由哪几种子语言构成?
(1)类型语言。定义接口类型和函数类型,支持通过继承已有接口来构造新的接口类型。
(2)模式语言。定义具有因果、独立、时序等关系的事件所构成的事件模式。
(3)可执行语言。包含描述构件行为的控制结构。
(4)体系结构语言。通过定义同步和通信连接来描述构件之间的事件流。
(5)约束语言。定义构件行为和体系结构所满足的形式化约束,其中约束为需要的或禁止的偏序集模式。
20、Stereotypes是UML中最重要的扩充机制,在定义Stereotypes时必须满足哪些规则?
(1)Stereotype名不能与其基类重名。
(2)Stereotype名不能与它所继承的Stereotype名重名。 (3)Stereotype名不能与雷渊命名空间冲突。
(4)Stereotype所定义的Tag名不能语气基类元素的元属性命名空间冲突,也不能与它所继承的Stereotype的Tag名冲突。
21、按照CBDSAM的结构,对系统进行更新,一般分为哪四个步骤?
1、检测更新的范围。
2、更新准备工作。
3、执行更新。
4、存储更新。
22、动态体系结构特征有哪些?
1、可构造性动态特征 2、适应性动态特征 3、智能型动态特征
23、请简述基于构件的动态体系结构模型是如何支持运行系统更新的?
1、检测更新的范围 2、更新准备工作 3、执行更新 4、存储更新
24、请回答动态体系结构有哪些特征?
1.可构造性动态特征 2. 适应性动态特征 3. 智能性动态特征
25、什么是Web服务?Web服务具有哪些特点?
Web服务是使用标准技术在Internet上运行的商务流程,它可以使用标准的Internet协议,将功能 纲领性的体现在Internet和Intranet上。
特征:1、使用标准协议规范
2、使用协议的规范性
3、高度集成能力
4、完好的封装性
5、松散耦合
26、SOAP包含了哪几个部分?请简要描述各个部分?
SOAP包含4个部分,分别为SOAP信封、SOAP编码规则、SOAP RPC表示、SOAP绑定 SOAP信封是SOAP消息在句法上的最外层,它构造和定义了一个整体的表示框架;
SOAP编码规则是一个定义传输数据类型的通用数据类型系统,这个简单类型系统包括了程序语言、
数据库、和半结构数据中不同类型系统的公共特性; SOAP RPC表示定义了远程过程调用和应答的协议;
SOAP绑定定义了一个使用底层传输协议来完成结点间交换SOAP信封的约定。
27、什么是服务集成器?它包括哪五部分功能?
服务集成器是整个系统的核心部分,它支持企业内部及跨越整个价值链的业务过程模型的建立、执行和
监控,并能够实时的与其他相关信息系统进行集成。 包括:
①.过程定义 ②.执行分析引擎 ③.业务过程监控 ④运行交互 ⑤服务单元搜索
28、UDDI注册中心提供的信息可以分为哪几组?它们具体指什么?
可以分为3组,分别是白页、黄页和绿叶。
①白页。包括地址、联系方式和已知的企业标识。
②黄页。包括基于标准分类法的行业类别。
③绿叶。包括关于商业实体所提供的服务技术信息,以及Web服务规范的引用,也支持指向基于发现机制的不同文件和URL的指针。
29、设计模式的基本成分有哪4条?
1、模式名称 2、问题 3、解决方案 4、效果
31、软件工程的研究主要有哪三个方向?
1、软件过程分析和建模;2、软件过程支持;3、软件过程评估和改进。 依据页码:P227
32、简述一下演化开发阶段的八个步骤?
需求变动归类。
制订体系结构演化计划 修改、增加或删除构件。 更新构件的相互作用。 产生演化后的体系结构 迭代。
对以上步骤进行确认,进行阶段性技术评审。 对所做的标记进行处理。
33、设计模式可以分为几类?
创建型、结构型、行为型。
34、试说明软件体系结构的风险分析方法主要步骤?
1.采用体系结构描述语言对体系结构进行建模
2.通过模拟方法进行复杂性分析
3.通过FMEA 和模拟运行进行严重性分析
4.为构建和连接件开发其启发式风险因子
5.建立用于风险评估的CDG
6.通过图论中的算法进行风险评估和分析
35、体系结构的分析与测试主要考虑的是?
构件端口行为与连接件约束是否一致,兼容,单元间的消息是否一致,可达,相关端口是否可连接,体系结构风格是否可满足。
36、如何理解基于体系结构的软件测试的?
软件体系结构测试与程序测试不同,它是检查软件设计的适用性,这种测试不考虑软件的实现代码。与传统的软件测试一样,基于体系的软件测试也需要研究测试内容、测试准则、测试用例、测试充分性及测试方法。在传统测试方法中,测试准则是基于实现和规约得到的,基于实现的测试准则是结构化的,它是利用软件的内部结构来定义测试数据以覆盖系统。实现完整测试的典型方法是利用测试准则定义测试需求,进而生成测试用例。
37、系统的可靠性可以通过哪些步骤来模型化?
①通过系统的详细说明书,确定系统所采用的体系结构风格。
②把每一个体系结构风格转换成状态图,并计算状态视图中每一个状态的可靠性及其相应的迁移概率。
③通过整个系统的体系结构视图,把所有的状态视图集成为一个整体状态视图。
④通过整体状态视图构造系统的迁移矩阵,并计算系统的可靠性。
39、所有评估方法关注的质量属性有哪几个?
1. 性能 2. 可靠性(容错,健壮性)3. 可用性 4. 安全性 5. 可修改性 6. 功能性 7. 可变性 8. 集成性 9. 互操作性
40、ATAM评估方法的基本步骤是什么?
(1)描述ATAM方法 (2)描述业务动机 (3)描述体系结构 (4)确定体系结构方法 (5)生成质量属性效用树 (6)分析体系结构方法 (7)讨论和分级场景 (8)分析体系结构方法 (9)描述评估结果
41、软件体系结构评估对主要方式有哪些?
1.基于调查问卷或检查表的评估方式
调查问卷是一系列可以应用到各种体系结构评估对相关问题,这些问题可能涉及体系结构对设计决策,文档,描述本身对细节问题等质量属性。这一评估方法比较灵活自由,可评估多种质量属性,也可以在软件体系结构设计的多个阶段进行。尽管此方式相对比较主观,但他仍然是进行软件体系结构评估对重要途径之一。
2.基于场景的评估方式
场景是一系列有序使用或修改系统的步骤。这种软件体系评估方式分析软件体系结构对场景也就是对系统对使用或修改活动的支持程度,从而判断该体系结构对这一场景所代表对质量需求对满足程度。
3.基于度量的评估方式
度量是指为软件产品对某一属性所赋予对数值。此评估技术涉及3个基本活动:首先需要建立属性和质量之间的映射关系,然后从软件体系结构文档中获取度量信息,最后根据映射原则分析推导出系统对某些质量属性。
4.比较
从通用性,评估者对体系结构对了解程度,评估实施阶段,评估方式的客观程度等方面对三类方式进行简单的比较。