软件体系结构期末复习总结(一)

一、软件架构

1、定义:

什么是软件架构:在一定的设计原则基础上,从不同角度对组成系统的各部分进行搭配和安排,形成系统的多个结构而组成架构,它包括该系统的各个组件、组件的外部可见属性及组件之间的相互关系。 组件的外部可见属性是指其它组件可对该组件所做的假设,如该组件提供的服务、具备的质量特征、错误处理、共享资源的使用。

2、相关概念

架构商业周期—架构是软件开发的必经之路和必要手段,它受到来自客户和开发组织的影响,也受到设计师的素质和经验以及技术环境的影响;反过来,构架也影响着被开发的系统,对客户、开发组织、构架和技术环境也都有影响,还影响着客户及其开发组织的未来目标。围绕着构架的这些影响和反馈循环构成构架商业周期。

涉众—也叫风险承担者,利益相关者,他们是对构建软件系统感兴趣的人或组织,包括合同中的客户、系统最终用户、开发人员、开发组织、系统维护人员等,他们所关注的问题各不相同,但都要求系统在他们所关注的方面提供保证或优化。

二、软件架构的样式(风格)与框架

1、软件架构样式的概念

构架样式(风格)—是对各组件类型运行控制/数据传送模式描述。可以把构架样式看作是对构架的一组制约条件,即对各组件类型及其交互模式的限制条件,而这些制约条件就确定了一组或一系列能满足它们的构架。

  •  一组在系统运行时执行一定功能的组件类型。  
  •  能够表明在系统运行时组件的相互关系的拓扑结构。    
  •  一组语义约束条件的集合。    
  •  一组连接件的集合,这些连接件为组件之间的通信提供中介

2、种类

1)以数据为中心的样式

主动仓库式(黑板式)

2) 数据流样式

批处理:传统的数据处理、程序编译/CASE(computer aided software engineering)工具

管道过滤器风格:DOS

Batch Sequential

Pipe-and-Filter

整体传递数据

组件粒度较大

延迟高,实时性差

无并发

增量

组件粒度较小

实时性好

可并发

3) 虚拟机样式

虚拟机构架的目标是实现可移植性。虚拟机是模拟硬件功能或抽象软件环境的构架样式。         虚拟机构架常见的示例有解释程序、基于规则的系统、句法shell程序、命令语言处理器等。

4)调用--返回风格

主程序-子过程风格

远过程调用风格        

面向对象风格        

分层风格

5)独立组件样式

通过解除各运算部分之间的耦合实现可更改性

事件系统样式      

通讯进程样式

6)C/S样式

浏览器/服务器(B/S)是三层C/S风格的一种实现方式

三层C/S结构是将应用功能分成表示层、业务层和数据层三个部分:

优点:1、合理地划分三层结构的功能 2、灵活有效地选用相应的软硬件平台 3、各层可以并行开发 4、允许充分利用业务层有效地隔离开表示层与数据层

7)C2样式

基于组件和消息的体系结构模式,用于构建灵活的、可伸缩的软件系统。它的结构是一个层次型的网络,网络中的交互由一组相互协作的组件和负责将它们链接在一起的连接件按照一套风格规则来实现 。

 

8)正交样式

正交样式由层和线索的组件构成。层是由一组具有相同抽象级别的组件构成。线索是子系统的特例,它是由完成不同层次功能的组件组成(通过相互调用来关联),每一条线索完成整个系统中相对独立的一部分功能。

 

9) MVC样式

3、构架的异质性      

 实际系统的构架是异质的,既是多种样式的综合,这种异质可以分为3类:        

1 局部异质         2 层次异质         3 并行异质

3、参考模型

1)概念

参考模型—是一种考虑数据流的功能划分,是对已知问题的标准分解,分解所得的各个部分相互协作,构成问题的解决方案。

参考构架—是映射到软件组件及组件之间数据流上的参考模型

2)相互关系

参考模型、构架样式、参考构架和 软件构架之间的相互关系:

4、软件架构、框架和设计模式

1)概念

框架:框架就是一组相互协作的类,对于特定的一类软件,框架构成了一种可重用的设计。

软件设计模式(Design pattern):又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。举例:代理模式、工厂模式、单例模式……

2)关系

框架和架构的关系: 框架不是构架。构架确定了系统整体结构、层次划分、不同部分之间的协作等设计考虑。框架比架构更具体,更偏重于技术。确定框架后,其所对应的架构也随之确定,但在一个系统架构中可以集成多种框架,例如J2EE的SSH、SSM。

框架和设计模式的关系: 设计模式和框架在软件设计中是两个不同的研究领域。设计模式研究的是一个设计问题的解决方法,一个模式可应用于不同的框架和被不同的语言所实现;而框架则是一个应用的体系结构,是一种或多种设计模式和代码的混合体虽然它们有所不同,但却共同致力于使人们的设计可以被重用,在思想上存在着统一性的特点,因而设计模式的思想可以在框架设计中进行应用。

三、质量属性

1、概念

系统在其生命周期过程中所表现出的各种特征。

2、 关系

架构和质量属性:

架构是获取许多质量属性的基础;质量属性既和架构有关,也和具体实现有关。

质量属性之间:

 一个质量属性的获取对其他质量属性可能产生正面或负面的影响。         

任何质量属性都不可能在不考虑其他属性情况下单独获取。

3、有哪些质量属性

可用性(Availability)

是指系统正常运行时间的比例。

可修改性

可修改性是进行快速修改并使修改代价尽可能低的能力,这种能力直接受到构架的限制。

可修改性有时也称做可维护性。

可重用性

可重用性是指要合理地设计系统,使系统的结构或其某些组件能够在以后的应用开发中重复使用。

性能

性能是指系统的响应能力—即对外部刺激(事件)做出反应时所需要的时间或在某段时间内所处理的事件个数。

安全性

安全性是衡量系统在向合法用户正常提供服务的情况下,阻止非授权使用和抗拒拒绝服务攻击的能力。

易用性

可移植性

可移植性是系统能够在不同计算环境下运行的能力。

可集成性

可集成性是使独立开发的系统组件能够协同运行的能力

4、限制条件

限制条件包括商业限制、技术限制、法律限制、社会限制等。限制条件会对系统架构产生直接影响,也会对系统功能和质量产生影响。从而间接影响架构。

5、构架本身的质量属性

  • 一致性
  • 正确性和完整性
  • 可构建性

 

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 构件:是指语义完整,语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述通信接口和实现代码的复合体。2. 构件模型:是对构件本质特征的抽象描述。3. 构件组装:是指将库中的构件经适当修改后相互连接,或者将它们与当前开发项目中的软件元素相连接,最终构成新的目标软件。4. 软件体系结构:Hayes Roth认为软件体系结构是一个抽象的系统规范,主要包括用其行为来描述的功能构件和构件之间的相互连接、接口和关系。5. 面向服务体系结构(SOA):本质上是服务的集合,服务间彼此通信,这种通信可能是简单地数据传送,也可能是两个或更多的服务协调进行某些活动。6. 可靠性:是软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统特性的基本能力。7. 可修改性:是指能够快速地以较高的性能价格比对系统进行变更的能力。通常以某些具体的变更为基准,通过考察这些变更的代价衡量可修改性。可修改性包括:可维护性、可扩展性、结构重组、可移植性。8. 敏感点:是一个或多个构件(和/或构件之间的关系)的特性。9. 权衡点:是影响多个质量属性的特性,是多个质量属性的敏感点。10. 软件产品线:就是在一个公共的软件资源集合基础上建立起来的共享同一个特性集合的系统集合。11. 框架:是封装了特定应用族抽象设计的抽象类的集合,框架又是一个模板,关键的方法和其他细节在框架实例中实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值