软件体系结构期末简答题

1.软件体系结构的概念和研究内容?

软件体系结构的概念

·软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。·软件体系结构不仅指定了系统的组织(organ i zation)结构和拓扑(topology)结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策。

软件体系结构的研究内容:

·软件体系结构理论模型的研究:如何表示体系结构的问题

软件体系结构描述的研究:规范化的体系结构描述语言(ADL)

体系结构设计研究:体系结构设计方法、体系结构风格以及计算机辅助实现等方面的研究体系结构分析与验证基于体系结构的软件开发过程的研究研究特定领域的体系结构框架.

2.软件体系结构的发展历程?

基础研究阶段:1985-1994年,一些重要的基本思想和基础概念开始浮出水面

概念确立阶段:1992-1996年,软件体系结构基本概念和模型确立,架构视图

探索发展阶段:1995-2000年,ACME体系结构交互语言,为不同体系结构描述语言之间的交互提供一个统一平台,体系结构评估方法SAAM->ATAM

普及应用阶段:2000年至今,出现新架构风格,web service,进入本科教育

3.组成派和决策派各自的思路?

组成派角度

体系结构=构件(组件)+连接件+约束

强调软件架构是“组件及组件之间的交互”。

“组件”体现在:

1)“业务层”和“展现层”就是组件,粒度很粗,完全是黑盒:

2)设计中PrgMgtModel,GanttChart和GanttChartImpl等关键类。“业务层”和“展现层”两个组件在某种程度上从黑盒变成了灰盒,提供更具体的开发指导。

“交互”体现在:

1)“业务层”和“展现层”两个粗粒度的组件之间的交互:展现层从业务层“读取数据”

2)“读取数据”这一交互已经“具体落实”成了“CanttChartImpl从PrgMgtModel读取数据”。

理解架构:决策派角度

体系结构=重要决策集合

强调架构不仅包括关于软件系统的组织,元素、子系统、架构风格等几类决策还包括关于众多非功能需求的决策。

体现在:

1)“业务层”和“展现层”分离,体现了软件架构概念中的“软件系统的组织”决策:

2)为了防止 PMSuite“绑死”在特定甘特图绘制包上,设计中引入自主定义GanntChart接口,让实现该接口的GanntChartImpl转而调用第三方SDK,使架构具有弹性(如果有更强大的甘特图程序包时,可以方便仅更改GanttChartImpl,而其他组件不用更改)。

4.构件、连接件、约束的概念?

构件是具有某种功能的可重用的软件模板单元,表示了系统中主要的计算元素和数据存 储.

连接件表示了构件之间的交互,

约束是指按照什么标准或要求将构件连接起来。

5.设计模型与软件架构的关系?

软件架构设计模式虽然相似,但却有着根本的不同。设计模式是对在某种环境中反复出现的问题及解决该问题的方案的描述,它比软件架构更抽象;软件架构可以用代码表示,也能直接执行或复用,而对设计模式而言,只有实例才能用代码表示。设计模式是比软件架构更小的元素,一个软件架构中往往含有一个或多个设计模式,软件架构总是针对某一特定应用领域,但同一设计模式却可适用于各种应用。可以说,软件架构是应用程序,而设计模式是开发应用程序的具体方法

6.软件架构与软件框架的区别与联系?

呈现形式不同。架构的呈现形式是一个设计规约,而框架则是程序代码。

目的不同。架构的目的是指导一个软件系统的实施与开发;而框架的目的是设计复用。因此,一个框架可有其架构,用于指导该框架的开发,反之不然。

有种特殊的架构,DSSA(领域特定体系结构)其目的也是为了复用。

架构风格在其用程序代码实现后就成了Corba、COM架构框架,也叫中间件集成框架,或对象中间件。

7.软件体系结构研究意义?

1.软件体系结构是风险承担者进行交流的手段

2.软件体系结构是早期设计决策的体现

3.软件体系结构是可传递和可重用的模型

8.软件系统质量属性中,高可用、高性能、高扩展性的思路?

软件的高可用性是指软件的不间断运行能力,它一方面要求软件所依赖的设备本身具有高可靠性,另一方面必须从软件的设计入手,实现一个高可用性的软件产品。

软件的可扩展性表现为基础设置不需要经常变更,应用之间较少依赖或耦合,可以对需求变更快速响应。

软件的高性能是指软件响应及时度满足用户要求的程度很高。

  • 4
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 构件:是指语义完整,语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述通信接口和实现代码的复合体。2. 构件模型:是对构件本质特征的抽象描述。3. 构件组装:是指将库中的构件经适当修改后相互连接,或者将它们与当前开发项目中的软件元素相连接,最终构成新的目标软件。4. 软件体系结构:Hayes Roth认为软件体系结构是一个抽象的系统规范,主要包括用其行为来描述的功能构件和构件之间的相互连接、接口和关系。5. 面向服务体系结构(SOA):本质上是服务的集合,服务间彼此通信,这种通信可能是简单地数据传送,也可能是两个或更多的服务协调进行某些活动。6. 可靠性:是软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统特性的基本能力。7. 可修改性:是指能够快速地以较高的性能价格比对系统进行变更的能力。通常以某些具体的变更为基准,通过考察这些变更的代价衡量可修改性。可修改性包括:可维护性、可扩展性、结构重组、可移植性。8. 敏感点:是一个或多个构件(和/或构件之间的关系)的特性。9. 权衡点:是影响多个质量属性的特性,是多个质量属性的敏感点。10. 软件产品线:就是在一个公共的软件资源集合基础上建立起来的共享同一个特性集合的系统集合。11. 框架:是封装了特定应用族抽象设计的抽象类的集合,框架又是一个模板,关键的方法和其他细节在框架实例中实现。
软件设计与体系结构是计算机科学与技术领域的重要课程之一,旨在培养学生在软件开发方面的能力。下面是对于"软件设计与体系结构期末试题"的回答。 软件设计与体系结构期末试题是老师为了考察学生对软件设计与体系结构的理解和应用能力而进行的考核。在这个试题中,通常会包括一系列的问题与案例分析。学生需要根据所学的相关知识,进行分析和推导,给出自己的解决方案。 在回答这样的试题时,学生首先需要理解所给问题的要求,并确定解题步骤。其次,根据自己所学的知识,找出相关的理论模型或设计原则,并加以运用。例如,软件设计的基本原则包括高内聚、低耦合、模块化设计等,学生可以根据具体问题选取适合的原则来解决问题。此外,还需要注意设计的可扩展性、可维护性、安全性等方面的考虑。 在进行案例分析时,学生需要对案例进行细致的分析,了解到其中的问题和需求。然后,根据所学的知识和技术,进行合理的设计与规划。例如,对于一个系统的体系结构设计,学生可以选择合适的体系结构模式,如MVC(Model-View-Controller),来实现系统的分层与解耦。此外,对于复杂的业务逻辑,可以采用设计模式来提高系统的可扩展性和灵活性。 最后,在回答试题时,学生需要进行充分的论证与解释,给出合理的理由和依据,展示自己的思考和分析能力。 综上所述,软件设计与体系结构期末试题是对学生综合应用所学知识的一种考核方式。学生需要掌握相关的理论知识和实践技巧,在回答试题时进行合理的分析、设计和论证,展现自己的专业素养和能力。这样的试题可以提高学生的思维能力和解决问题的能力,培养他们在软件开发领域的实际操作能力。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值