欢迎来到天天文库
浏览记录
ID:40008754
大小:2.99 MB
页数:17页
时间:2019-07-17
《软件体系结构总结【强烈推荐】》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第一章:1、软件体系结构的定义国内普遍看法:体系结构=构件+连接件+约束2、软件体系结构涉及哪几种结构:1、模块结构(Module)系统如何被构造为一组代码或数据单元的决策2、构件和连接件结构(Component-And-Connector,C&C)系统如何被设计为一组具有运行时行为(构件)和交互(连接件)的元素3、分配结构(Allocation)展示如何将来自于模块结构或C&C结构的单元映射到非软件结构(硬件、开发组和文件系统)3、视图视点模型视点(View point)ISO/IEC 42010:2007 (IEEE-Std-14
2、71-2000)中规定:视点是一个有关单个视图的规格说明。视图是基于某一视点对整个系统的一种表达。一个视图可由一个或多个架构模型组成架构模型架构意义上的图及其文字描述(如软件架构结构图)视图模型一个视图是关于整个系统某一方面的表达,一个视图模型则是指一组用来构建4、软件体系结构核心原模型1、构件是具有某种功能的可复用的软件结构单元,表示了系统中主要的计算元素和数据存储。2.连接件(Connector):表示构件之间的交互并实现构件之间的连接特性:1)方向性2)角色3)激发性4)响应特征第二章1、软件功能需求、质量属性需求、约束分别对软
3、件架构产生的影响功能性需求:系统必须实现的功能,以及系统在运行时接收外部激励时所做出的行为或响应。质量属性需求:这些需求对功能或整个产品的质量描述。约束:一种零度自由的设计决策,如使用特定的编程语言。质量原意是指好的程度,与目标吻合的程度,在软件工程领域,目标自然就是需求。对任何系统而言,能按照功能需求正确执行应是对其最基本的要求。正确性是指软件按照需求正确执行任务的能力,这无疑是第一重要的软件质量属性。 质量属性的优劣程度反映了设计是否成功以及软件系统的整体质量。系统或软件架构的相关视图的集合,这样一组从不同视角表达系统的视图组合在
4、一起构成对系统比较完整的表达2、质量属性3、系统非功能性需求?包括哪些质量属性非功能性需求:用户对软件质量属性、运行环境、资源约束、外部接口等方面的要求或期望,包括:(1) 性能需求:用户在软件响应速度、结果精度、运行时资源消耗量等方面的要求。(2) 可靠性需求:用户在软件失效的频率、严重程度、易恢复性,以及故障可预测性等方面的要求。(3) 易用性需求:用户在界面的易用性、美观性,以及对面向用户的文档和培训资料等方面的要求。(4) 安全性需求:用户在身份认证、授权控制、私密性等方面的要求(5) 外部接口:用户对待开发软件系统与其他软件
5、系统或硬件设备之间的接口的要求。(6) 可保障性(supportable)需求:用户在软件可配置性、可扩展性、可维护性、可移植性等方面的要求。4.可靠性可用性区别可靠性通常低于可用性,因为可靠性要求系统在[0,t]的整个时间段内需正常(注意是“连续”!)运行;可用性大于或等于可靠性,对于可用性,要求就没有那么高,系统可以发生故障,然后在时间段[0,t]内修复。修复以后,只要系统能够正常运行,它仍然计入系统的可用性。计算:第三章1、软件架构风格(是一个面向一类给定环境的架构设计决策的集合,这些通用的设计决策形成了一种特定的模式,为一族系
6、统提供粗粒度的抽象框架。每一个软件系统都有其占主导地位的软件架构风格。“从软件中来,到软件中去”架构风格通过为常见的问题提供解决方案,增强了对问题的分解能力、提升了设计重用的水平。)1)独立构建风格:( 这种风格的主要特点是:事件的触发者并不知道哪些构件会被这些事件影响,相互保持独立。这样不能假定构件的处理顺序,甚至不知道哪些过程会被调用;各个构件之间彼此无直接的连接关系,各自独立存在,通过对事件的发布和注册实现关联。)进程通信体系结构风格:构件是独立的进程,连接件是消息传递。消息传递通常用来实现进程之间的同步和对共享资源的互斥操作典
7、型例子:客户-服务器架构,其中服务器通常用来为一个或多个客户端提供数据服务,客户端则用来向服务器发出请求,针对这些请求服务器通过同步或异步方式进行请求响应。 基于事件的隐式调用风格: 构件不直接调用一个过程,而是触发或广播一个或多个 事件。• 系统中的其它构件中的过程在一个或多个事件中注册。• 当一个事件被触发/发布,系统自动调用在这个事件中注 册的所有过程。• 这样,一个事件的触发就导致了另一模块中的过程的调 用。• 这种系统,称为基于事件的系统(Event-based system),
8、 采用隐式调用(Implicit invocation)的方式。2)层次风格优点:通过把逻辑层分布到多个物理层中,可以提高可伸缩性、容错性(fault tolerance)和性能。可重用性。每一层提供的功能都是独立的和定
此文档下载收益归作者所有