软件架构需求是指用户对目标软件系统在功能、行为、性能、设计约束等

题目

软件架构需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。以下活动中,不属于软件架构需求过程范畴的是()

  • A、设计构件
  • B、需求获取
  • C、标识构件
  • D、架构需求评审
参考答案和解析
正确答案:A
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

阅读以下关于软件架构的叙述,回答问题1至问题3。

软件架构是指大型、复杂软件的系统结构的设计、规格说明和实施。它以规范的形式装配若干结构元素,从而描述出系统的主要功能和性能需求,同时表述其他非功能性需求(如可靠性、可扩展性、可移植性和可用性等)。软件架构为软件系统提供了一个结构、行为和属性的高级抽象模式,可以使用一个公式来表达:

软件架构={构成系统的元素,指导元素集成的形式,关系和约束}

“4+1”视图模型用五个视图组成的模型来描述软件架构。该模型包含五个主要的视图。

.逻辑视图(Logical View),描述了设计的对象模型,支持系统的功能需求。

.进程视图(Process View),描述了设计的并发和同步特征,支持系统的运行特性。

.物理视图(Physical View),描述了软件到硬件的映射,反映了分布式特性,支持系统的拓扑、安装和通信需求。

.开发视图(Development View),描述了在开发环境中软件的静态组织结构,支持软件开发的内部需求。

.场景(Scenario),用来说明重要的系统活动,是其他四个视图在用例(Use Case)驱动下的综合。

软件架构在软件需求与设计之间架起一座桥梁,也是风险承担者进行交流的手段,允许不同的风险承担者找出他们所关心的软件架构问题。假设采用面向对象的设计方法,各个视图涉及的组件(元素)包括:任务、类、模块、节点、步骤等,风险承担者包括最终用户、系统设计师、程序员、经理、项目管理师等。请在下表中的(1)到(7)处填入恰当的内容(空白处不用填)。


正确答案:[答案要点] 本题相当于选择题但要获得好的成绩仍需要仔细构思。 1)逻辑视图表述系统的功能需求。系统分解为一系列的关键抽象这些抽象(大多数)来自于需求分析中所提出功能要求以对象或类的形式来表示(采用抽象、封装和继承)。分解并不仅仅是为了功能分析而且用来识别遍布系统各个部分的通用机制和设计元素。系统的功能需求来自于最终用户最终用户是逻辑视图对应的风险承担者。 2)进程视图表述系统的运行特性。利用进程视图可解决系统的并发性、分布性、系统完整性、容错性等问题。另外它还可以表达逻辑视图的主要抽象在哪个控制线程上被实际执行。风险承担者主要是系统集成人员组件元素是任务。 3)物理视图表述系统的拓扑、安装和通信需求。用来表达软件系统中的各种元素 (元素可以理解为组件或过程)被映射或部署至不同的网络计算机节点上。风险承担者主要是系统实施工程师。 4)开发视图表述软件开发的内部需求。开发视图关注软件开发环境下实际模块的组织(程序库或子系统)它们可以由一位或几位开发人员来开发。子系统可以组织成分层结构每个层为上一层提供良好定义的接口。风险承担者主要是编程人员和软件项目管理人员。 5)场景用来说明重要的系统活动是其他四个视图在用例(Use Case)驱动下的综合。在某种意义上场景是最重要的需求抽象。该视图是其他视图的冗余(因此“+1”)但它起到了两个作用:首先场景可用来发现架构设计过程中的架构元素其次场景可作为架构设计结束后的功能验证。它可作为架构原型测试的出发点。风险承担者是最终用户和开发人员组件元素是步骤。
[答案要点] 本题相当于选择题,但要获得好的成绩,仍需要仔细构思。 1)逻辑视图表述系统的功能需求。系统分解为一系列的关键抽象,这些抽象(大多数)来自于需求分析中所提出功能要求,以对象或类的形式来表示(采用抽象、封装和继承)。分解并不仅仅是为了功能分析,而且用来识别遍布系统各个部分的通用机制和设计元素。系统的功能需求来自于最终用户,最终用户是逻辑视图对应的风险承担者。 2)进程视图表述系统的运行特性。利用进程视图可解决系统的并发性、分布性、系统完整性、容错性等问题。另外,它还可以表达逻辑视图的主要抽象在哪个控制线程上被实际执行。风险承担者主要是系统集成人员,组件元素是任务。 3)物理视图表述系统的拓扑、安装和通信需求。用来表达软件系统中的各种元素 (元素可以理解为组件或过程)被映射或部署至不同的网络计算机节点上。风险承担者主要是系统实施工程师。 4)开发视图表述软件开发的内部需求。开发视图关注软件开发环境下实际模块的组织(程序库或子系统),它们可以由一位或几位开发人员来开发。子系统可以组织成分层结构,每个层为上一层提供良好定义的接口。风险承担者主要是编程人员和软件项目管理人员。 5)场景用来说明重要的系统活动,是其他四个视图在用例(Use Case)驱动下的综合。在某种意义上场景是最重要的需求抽象。该视图是其他视图的冗余(因此“+1”),但它起到了两个作用:首先场景可用来发现架构设计过程中的架构元素,其次场景可作为架构设计结束后的功能验证。它可作为架构原型测试的出发点。风险承担者是最终用户和开发人员,组件元素是步骤。 解析:本题主要考查软件架构“4+1”视图的有关知识和实施方法,熟悉以下关于软件架构的知识是回答本题的前提。
首先要准确把握软件架构的定义。架构(Architecture)原意为建筑学设计和建筑物建造的艺术与科学。软件架构(Software Architecture,或称为软件架构)是软件系统的高层描述,它给出了关于软件系统组织结构的一系列高级的、重要的抽象,包括:系统组成的结构性构件;组成构件之间的接口:构件相对系统其他部分的可视行为:构件之间所采取的交互和协作关系。软件架构在RUP 中的定义是指系统核心构件的组织或结构,这些核心构件通过接口与不断减小的构件与接口所组成的构件进行交互。
人们在软件开发过程中积累了丰富的架构知识,形成了的特定的架构风格,这些架构风格为高层次的软件复用技术建立了坚实的基础:例如,C/S架构、管道/过滤器架构、分层架构、解释器架构、黑板架构等等,而各种分布式组件技术如DCOM,EJB, Web-Services 也都和软件架构密切相关。
长期以来,人们一直在努力软件架构更加精确的形式化描述,力图用一种类似于某种编程语言的形式来描述软件架构,如Rapide,Wright,Aesop,UniCon,ACME 等。XML描述与软件建模UML 技术的发展为软件架构描述语言注入了新的发展思路,新一代的架构描述语言(如xArch,xADL 等)充分应用了这些新的描述手段的特点。同时,伴随着架构描述技术的进步,架构评估等研究也在不断的深入。
其次,要正确理解软件架构的重要作用。
.软件架构能够指导整个系统的设计和演进,它是软件需求分析的结果,同时是下一步进行软件设计的规格和蓝图。对于复杂软件系统而言,在架构阶段,系统的结构和规格说明非常重要,而在软件设计阶段,算法和数据结构更重要。
.软件架构对系统的描述,借鉴了建筑工程设计的思想,通过各种视图从不同角度以规范、一致、易理解的“语言”来表达系统的各种规格和行为。以某一特定角度看到的系统架构之规格、行为,主要是结构、核心构件和主要控制流等。
.软件架构是风险承担者进行交流的手段。所谓风险承担者是指对软件系统某个方面(或层次)负责或(关注)的人员。也可以这样来理解风险承担者:软件系统的某个方面(或层次)如果存在缺陷或问题,对此负责任或受影响的人员。风险承担者包括最终用户、系统设计师、程序员、经理、项目管理师等。
.软件架构是可传递、可重用的模型。
.软件架构是软件工程早期设计决策的体现,而且在整个开发周期中不断演进,软件架构对于软件质量(功能属性、非功能属性)都有重要影响。
“4+1”视图模型是最重要软件架构模式,由Philippe Kruchten 在1995年提出。如下图所示。

需要指出的是,并不是所有的软件架构都需要“4+1”视图。无用的视图可以从架构描述中省略,例如,单机软件,可以省略物理视图;而如果仅有一个进程或程序,则可以省略过程视图。对于非常小型的系统,甚至可能逻辑视图与开发视图非常相似,而不需要分开的描述。
第一步:总结出问题的要点。
[问题1]
考查采用面向对象的架构设计方法,“4+1”视图各个视图涉及的组件要素与风险承担者。

第2题:

软件需求规格说明(SRS)用来指明用户对其目标软件系统的功能需求、性能需求、()以及开发标准和验收原则等。

A.交互界面、业务逻辑、角色权限

B.接口需求、设计需求、基本结构

C.业务需求、安全需求、基本结构


答案:B

第3题:

试题(44)

软件架构是降低成本、改进质量、按时和按需交付产品的关键因素。以下关于软件架构的描述,错误的是 (44) 。

(44)

A. 根据用户需求,能够确定一个最佳的软件架构,指导整个软件的开发过程

B. 软件架构设计需要满足系统的质量属性,如性能、安全性和可修改性等

C. 软件架构设计需要确定组件之间的依赖关系,支持项目计划和管理活动

D. 软件架构能够指导设计人员和实现人员的工作


正确答案:A
试题(44)分析
软件架构是降低成本、改进质量、按时和按需交付产品的关键因素,软件架构设计需要满足系统的质量属性,如性能、安全性和可修改性等,软件架构设计需要确定组件之间的依赖关系,支持项目计划和管理活动,软件架构能够指导设计人员和实现人员的工作。一般在设计软件架构之初,会根据用户需求,确定多个候选架构,并从中选择一个较优的架构,并随着软件的开发,对这个架构进行微调,以达到最佳效果。
参考答案
(44)A

第4题:

在对一个软件系统的架构进行设计与确认之后,需要进行架构复审。架构复审的目的是为了标识潜在的风险,及早发现架构设计中的缺陷和错误。在架构复审过程电,主要由( )决定架构是否满足需求、质量需求是否在设计中得到体现。

A.系统分析师与架构师 B.用户代表与领域专家 C.系统拥有者与项目经理 D.系统开发与测试人员


正确答案:B

第5题:

以下关于软件需求的叙述中,_____是正确的。

A.软件需求阶段研究的对象是软件项目的设计约束

B.软件需求包括业务需求、用户需求、功能需求和非功能需求等

C.功能需求反映了组织机构或客户对系统、产品高层次的目标要求

D.需求分析需要描述软件功能和性能的技术实现方法


正确答案:B

第6题:

●某软件系统的原始需求包括,“当某个查询请求是不适当或非法的,应提示用户”,该需求属于(36)。

A.功能需求

B.质量需求

C.设计约束

D.过程约束


正确答案:C

第7题:

软件架构是降低成本、改进质量、按时和按需交付产品的关键因素。软件架构设计需满足系统的( ),如性能、安全性和可修改性等,并能够指导设计人员和实现人员的工作。

A.功能需求 B.性能需求 C.质量属性 D.业务属性


正确答案:C

第8题:

● 软件架构需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。以下活动中,不属于软件架构需求过程范畴的是 (47) 。

(47)

A. 设计构件

B. 需求获取

C. 标识构件

D. 架构需求评审


正确答案:A


试题(47)分析
    软件架构需求是指用户对目标软件系统在功能、行为、性能和设计约束等方面的期望。需求过程主要是获取用户需求,标识系统中所要用到的构件,并进行架构需求评审。其中标识构件又详细分为生成类图、对类图进行分组和将类打包成构件三步。软件架构需求并不应该包括设计构件的过程。
参考答案
 (47)A

第9题:

以下关于软件架构设计重要性的描述,( )是错误的。

A.软件架构设计能够满足系统的性能、安全性、可维护性等品质 B.软件架构设计能够帮助项目干系入(Stakeholder)更好地理解软件结构 C.软件架构设计能够帮助架构师更好地捕获和细化系统需求 D.软件架构设计能够有效地管理系统的复杂性,并降低系统维护费用


正确答案:C

第10题:

软件架构需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。以下活动中,不属于软件架构需求过程范畴的是______。

A.设计构件

B.需求获取

C.标识构件

D.架构需求评审


正确答案:A
解析:软件架构需求是指用户对目标软件系统在功能、行为、性能和设计约束等方面的期望。需求过程主要是获取用户需求,标识系统中所要用到的构件,并进行架构需求评审。其中标识构件又详细分为生成类图、对类图进行分组和将类打包成构件三步。软件架构需求并不应该包括设计构件的过程。

更多相关问题