软件体系结构期末复习六十题

1、数据流体系结构风格的特点时无数据不工作

2、批处理体系结构风格不支持并发

3、管道-过滤器软件风格不属于调用/返回风格

管道-过滤器模型的优点:

(1)设计人员将整个系统的输入输出行为理解为单个过滤器行为的叠加与组合。这样可以将问题分解,化繁为简。

(2)任何两个过滤器,只要它们之间传送的数据遵守共同的规约就可以相连接。每个过滤器都有自己独立的输入输出接口,如果过滤器间传输的数据遵守其规约,只要用管道将它们连接就可以正常工作。


(3)整个系统易于维护和升级:旧的过滤器可以被替代,新的过滤器可以添加到已有的系统上。软件的易于维护和升级是衡量软件系统质量的重要指标之一,在管道-过滤器模型中,只 要遵守输入输出数据规约,任何一个过滤器都可以被另一个新的过滤器代替,同时为增强程序功能,可以添加新的过滤器。这样,系统的可维护性和可升级性得到了保证。

(4)支持并发执行:每个过滤器作为一个单独的执行任务, 可以与其它过滤器并发执行。过滤器的执行是独立的,不依赖于其它过滤器的。
 

4、过程特性不是面向对象风格所特有的

5、黑板体系结构中,负责存储数据的构件是黑板,具有子问题求解能力的构件是知识源

黑板模式的3个组成部分:

黑板——全局数据库,是知识源互相作用的唯一媒介

知识源——专门的模块和它们自己的表示,提供解决问题的知识,响应黑板上的变化,只修改黑板

控制组件——选择、配置和执行模块

6、规则进化库不是一个典型的规则系统风格中所包含的

7、关于点对点事件调度机制的说法错误的是(D)。

A、事件只能被一个事件处理器处理

B、可基于消息队列实现

C、事件被某个事件处理器处理之后,须立刻从消息队列中删除

D、事件被某个事件处理器处理之后,不会立即删除,而是等事件过期之后从消息队列中删除

8、“4+1”试图中的“1”是指用例视图

逻辑视图(Logical View),设计的对象模型(使用面向对象的设计方法时)。

过程视图(Process View),捕捉设计的并发和同步特征。

物理视图(Physical View),描述了软件到硬件的映射,反映了分布式特性。

开发视图(Development View),描述了在开发环境中软件的静态组织结构。

9、用例图定义了系统功能需求,并不描述功能的具体实现

用例图是用户与系统交互的最简表示形式,展现了用户和与他相关的用例之间的关系

10、序列图与协作图可以互相转换

序列图是一种UML行为图,通过描写叙述对象之间发送消息的时间顺序显示多个对象之间的动态协作

协作图(Collaboration Diagram )是一种交互图(interaction diagram),强调的是发送和接收消息的对象之间的组织结构

协作图和序列图都表示出了对象间的交互作用,可相互转化

11、控制不属于“质量属性场景”的组成部分

12、可用性关注的是故障及故障造成的影响

13、属于提升可用性的策略有Ping/echo、心跳、异常

14、可修改性关注的是软件修改的成本

15、属于提升可修改性的策略有模块高内聚、低耦合、让模块通用、隐藏信息、考虑到可能会发生的修改

16、性能属性关注的是软件运行的速度

17、属于提升性能的策略有提高计算效率、减少要处理的数据总量、限制执行时间、限制待处理事件队列长度

18、安全性关注的是让非法用户无法使用软件

19、属于提升安全性的策略有维持数据的完整性、减少暴露、限制访问、攻击者的识别

20、可测试性关注的是尽可能让软件bug在测试中暴露出来

21、属于提升可测试性的策略的有记录/回放、把接口和实现分离开、提供专用的测试路径、内部监控

22、易用性关注的是终端用户使用软件难度降低

23、提升易用性的策略有系统猜测用户要完成的任务、系统给用户适当的反馈、系统给用户提供一致的体验、支持撤销操作

24、硬件设备不属于软件体系结构的影响因素

25、采用“4+1”视图模型来描述软件系统的体系结构。在该模型中,最终用户侧重于逻辑视图;系统工程师侧重于部署视图

26、用例图定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体体现

27、物理视图(Physical view )物理视图通常也叫做部署视图

28、开发试图和逻辑视图之间可能存在一定的映射关系

开发视图是逻辑视图的实现

29、下列不属于不良设计的是(D)

A、优先使用全局变量

B、使用全局变量替代传参

C、多个变量相互依赖

D、利用继承管理类间关系

30、管道过滤器风格的优点不包括(A)

A、多个过滤器合并为一个任务执行

B、整个系统的输入输出行为理解为单个过滤器行为的叠加与组合

C、每个过滤器都有自己独立的输入输出接口

D、整个系统易于维护和升级

31、管道过滤器可以实现的功能不包括(A)

A、数据流过滤器

B、日志记录和审核过滤器

C、身份验证和授权过滤器

D、加密解密过滤器

32、C/S结构即客户机/服务器体系结构

C/S结构体系是一种软件系统。网络上软件系统大致可以分为B/S和C/S结构的。

 ​33、有关C/S、B/S结构下列说法错误的是(B)

A、在C/S结构,即客户端/服务器结构中,有专门的数据库服务器,但客户端还要运行客户端应用程序,这也叫做胖客户端

B、Web应用是基于C/S结构的,也就是客户端/服务器结构

C、在B/S结构中,客户端在浏览器中只负责表示层逻辑的实现,业务逻辑和数据库都在服务器端运行。也就是说,应用程序部署在服务器端,客户端通过浏览器访问应用程序

D、通常B/S结构中,客户端发送HTTP请求消息传给服务器,服务器将请求传递给Web应用程序,Web应用程序处理请求,并把相应的HTML页面传给客户端

B/S模式是指基于浏览器(Browser)服务器(Server)形式的应用,也就是Web开发。C/S模式是指基于客户端(Client)服务端(Server)形式的应用开发,比如我们常用的电脑桌面应用。基于Web的开发都是B/S模式的。

34、事件驱动架构——实现组件或服务之间最大松耦合的架构

35、软件架构风格——描述某一特定应用领域中系统组织方式的惯用模式

36、软件架构风格不包括数据库风格

常见的架构风格:

(1)管道和过滤器风格

(2)数据抽象与面向对象风格

(3)基于事件的隐式调用风格

(4)层次系统风格

(5)仓库风格

(6)C2风格

(7)基于层次消息总线的架构风格

37、常见的体系结构视图类型有分解视图、进程视图

38、创建体系结构文档应遵循的原则:避免歧义、避免不必要的重复、记录舍弃的方案

39、管道过滤器体系结构风格中,过滤器相互独立,过滤器是数据处理的计算单元。

40、层次风格主要解决对象管理问题和系统性能问题,因此引入层次风格会有效提高系统性能  X

41、模块分解的主要动机是信息隐藏、限定修改和拥抱变化

42、两层客户端/服务器风格和三层客户端/服务器体系结构风格区别在于将数据处理放置在客户端还是服务器

43、黑板体系结构风格中,知识源可相互调用    X

44、基于符号表和语法树的现代编译器系统更适合数据流体系结构风格。 X

45、黑板体系结构风格中,知识源相互独立

46、命令行处理器不属于虚拟机风格   X

虚拟机风格

(1)解释器——模拟硬件系统没有的功能,然后对其进行模拟或仿真

(2)规则系统——解释器的策划系统

(3)脚本语言

(4)命令行处理器

47、黑板系统和规则系统属于不同的体系结构风格,两者之间没有相似性  X

48、解释器风格的一个主要劣势在于其性能低下

49、软件系统引入解释器风格后,会增大软件的验证难度

50、事件系统体系结构的风格中,事件源可以产生事件。

51、事件派遣机制中,有独立模块的派遣机制可以划分为全广播模式和选择式广播。

52、事件处理器对事件进行处理的同时可以产生新的事件,即形成事件链。

53、敏感点一定会导致有风险决策     X

54、效用树中的场景不需要定义优先级。   X

55、软件体系结构评估是在软件测试阶段进行的     X

56、ATAM中,项目干系人(Stakeholders)就是项目的用户。    X

项目干系人包括项目当事人、其行为能影响项目的计划与实施,以及其利益受该项目影响(受益或受损)的个人和组织;也可以把他们称作项目的利害关系者。除了上述的项目当事人外,项目干系人还可能包括政府的有关部门、社区公众、项目用户、新闻媒体、市场中潜在的竞争对手和合作伙伴等;甚至项目班子成员的家属也应视为项目干系人。

57、在D Garlan, M Shaw提出的软件体系结构定义中,软件体系结构的三个主要元素是Component、Connector 和 Constraint。

58、基于事件系统实现的外卖派送系统中,订单事件的事件处理机制更适合采用P2P模式。

59、在ATAM的软件体系结构评估方法中,第二个缩写字母T指的是Trade-off

架构权衡评估方法(ATAM)的英文全称是:Architecture Tradeoff Analysis Method

60、剪贴板(Clipboard):一个用来进行短时间的数据存储并在文档/应用之间进行数据传递和交换的软件程序。

用来存储带传递和交换信息的公共区域(形成共享仓库);

不同的应用程序通过该区域交换格式化的信息;

访问剪贴板的方式:copy&paste 

  • 21
    点赞
  • 171
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
软件体系结构是指软件系统的整体结构和组织方式,它描述了软件系统中各个组件之间的关系、功能和行为。在软件体系结构的设计过程中,可以使用多种复用技术来提高开发效率和软件质量。 一种常见的软件体系结构复用技术是使用框架。框架是一个可重用的软件结构,它提供了一个通用的解决方案,可以用于开发特定类型的应用程序。框架通常包含了一些基本的组件和模块,开发人员可以在此基础上进行扩展和定制,以满足具体的需求。 另一种常见的软件体系结构复用技术是使用设计模式。设计模式是一种被广泛接受的解决特定问的方法。它提供了一套经过验证的解决方案,可以在不同的软件系统中重复使用。常见的设计模式包括单例模式、工厂模式、观察者模式等。 此外,还有其他一些软件体系结构复用技术,如组件化和面向服务架构(SOA)。组件化将软件系统划分为独立的组件,每个组件都具有特定的功能和接口,可以在不同的系统中重复使用。而SOA则是一种基于服务的架构,将软件系统划分为一系列相互独立的服务,这些服务可以通过网络进行通信和交互。 总结起来,软件体系结构复用可以通过使用框架、设计模式、组件化和面向服务架构等技术来实现。这些技术可以提高软件开发的效率和质量,同时也可以促进软件系统的可维护性和可扩展性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

椅糖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值