单选题 某软件公司欲开发一个Windows平台上的公告板系统。在明确用户需求后,该公司的架构师决定采用Command模式实现该系统的界面显示部分,并设计UML类图,如图所示。图中与Command模式中的“Invoker”角色相对应的类是______,与“Concrete Command”角色相对应的类是______。
单选题
  • A.Command
  • B.MenuItem
  • C.Open
  • D.ButktinBoardScreen
【正确答案】 B
【答案解析】
单选题
  • A.Command
  • B.MenuItem
  • C.Open
  • D.BulktinBoardScreen
【正确答案】 C
【答案解析】[解析] Command(命令)模式是设计模式中行为模式的一种,它将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。Command模式也支持可撤销的操作。Command模式的类图如图所示。
[*]

对于题目所给出的图,与“Invoker”角色相对应的类是MenuItem,与“Concrete Command”角色相对应的类是Open。
单选题 系统应用架构设计中,网络架构数据流图的主要作用是将处理器和设备分配到网络中。______不属于网络架构数据流图的内容。
  • A.服务器、客户端及其物理位置
  • B.处理器说明信息
  • C.单位时间的数据流大小
  • D.传输协议
【正确答案】 C
【答案解析】[解析] 应用架构建模中要绘制的第一个物理数据流图(PDFD)是网络架构DFD,它们不显示单位时间的数据流量,需要显示的信息包括服务器及其物理位置、客户端及其物理位置、处理器说明、传输协议。
单选题 软件架构贯穿于软件的整个生命周期,但在不同阶段对软件架构的关注力度并不相同,在______阶段,对软件架构的关注最多。
  • A.需求分析与设计
  • B.设计与实现
  • C.实现与测试
  • D.部署与变更
【正确答案】 B
【答案解析】[解析] 本题主要考查软件架构对软件开发的影响和在生命周期中的关注力度。 软件架构贯穿于软件的整个生命周期,但在不同的阶段对软件架构的关注力度并不相同。其中需求分析阶段主要关注问题域;设计阶段主要将需求转换为软件架构模型;软件实现阶段主要关注将架构设计转换为实际的代码;软件部署阶段主要通过组装软件组件提高系统的实现效率。其中,设计与实现阶段在软件架构上的工作最多,也最重要,因此关注力度最大。
单选题 软件架构设计是降低成本、改进质量、按时和按需交付产品的关键活动。以下关于软件架构重要性的叙述中,错误的是______。
  • A.架构设计能够满足系统的性能、可维护性等品质
  • B.良好的架构设计能够更好地捕获并了解用户需求
  • C.架构设计能够使得不同的利益相关人(Stakeholders)达成一致的目标
  • D.架构设计能够支持项目计划和项目管理等活动
【正确答案】 B
【答案解析】[解析] 软件架构设计是降低成本、改进质量、按时和按需交付产品的关键因素。架构设计能够满足系统的性能、可维护性等品质;能够使得不同的利益相关人(Stakeholders)达成一致的目标;能够支持项目计划和项目管理等活动;能够有效地管理复杂性,等等。然而系统架构的给出必须建立在需求明确的基础上。
单选题 软件架构需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。以下活动中,不属于软件架构需求过程范畴的是______。
  • A.设计构件
  • B.需求获取
  • C.标识构件
  • D.架构需求评审
【正确答案】 A
【答案解析】[解析] 软件架构需求是指用户对目标软件系统在功能、行为、性能和设计约束等方面的期望。需求过程主要是获取用户需求,标识系统中所要用到的构件,并进行架构需求评审。其中标识构件又详细分为生成类图、对类图进行分组和将类打包成构件3步。软件架构需求并不应该包括设计构件的过程。
单选题 基于架构的软件设计(ABSD)强调由商业、质量和功能需求的组合驱动软件架构设计。以下关于ABSD的叙述中,错误的是______。
  • A.使用ABSD方法,设计活动可以从项目总体功能框架明确就开始
  • B.ABSD方法是一个自顶向下,递归细化的过程
  • C.ABSD方法有3个基础:功能分解、选择架构风格实现质量和商业需求及软件模板的使用
  • D.使用ABSD方法,设计活动的开始意味着需求抽取和分析活动可以终止
【正确答案】 D
【答案解析】[解析] 基于架构的软件设计(ABSD)强调由商业、质量和功能需求的组合驱动软件架构设计。使用ABSD方法,设计活动可以从项目总体功能框架明确就开始,并且设计活动的开始并不意味着需求抽取和分析活动可以终止,而是应该与设计活动并行。ABSD方法有3个基础:第一个基础是功能分解,在功能分解中使用已有的基于模块的内聚和耦合技术;第二个基础是通过选择体系结构风格来实现质量和商业需求;第三个基础是软件模板的使用。ABSD方法是一个自项向下,递归细化的过程,软件系统的架构通过该方法得到细化,直到能产生软件构件的类。
单选题 软件架构文档是对软件架构的正式描述,能够帮助与系统有关的开发人员更好地理解软件架构。软件架构文档的写作应该遵循一定的原则。以下关于软件架构文档写作原则的叙述中,错误的是______。
  • A.架构文档应该从架构设计者的角度进行编写
  • B.应该保持架构文档的即时更新,但更新不要过于频繁
  • C.架构文档中的描述应该尽量避免不必要的重复
  • D.每次架构文档修改,都应该记录修改的原则
【正确答案】 A
【答案解析】[解析] 软件架构文档是对软件架构的一种描述,帮助程序员使用特定的程序设计语言实现软件架构。软件架构文档的写作应该遵循一定的原则,这些原则包括:文档要从使用者的角度进行编写;必须分发给所有与系统有关的开发人员;应该保持架构文档的即时更新,但更新不要过于频繁;架构文档中描述应该尽量避免不必要的重复:每次架构文档修改都应该记录进行修改的原则。
单选题 架构复审是基于架构开发中一个重要的环节。以下关于架构复审的叙述中,错误的是______。
  • A.架构复审的目标是标识潜在的风险,及早发现架构设计的缺陷和错误
  • B.架构复审过程中,通常会对一个可运行的最小化系统进行架构评估和测试
  • C.架构复审人员由系统设计与开发人员组成
  • D.架构设计、文档化和复审是一个迭代的过程
【正确答案】 C
【答案解析】[解析] 架构复审是基于架构开发中一个重要的环节。架构设计、文档化和复审是一个迭代的过程。从这个方面来说,在一个主版本的软件架构分析之后,要安排一次由外部人员(用户代表和领域专家)参加的复审。架构复审过程中,通常会对一个可运行的最小化系统进行架构评估和测试。架构复审的目标是标识潜在的风险,及早发现架构设计的缺陷和错误。