关键字分类法:一种最简单的构件库组织方法,其基本思想是:根据领域分析的结果将应用领域的概念按照从抽象到具体的顺序主次分解为树状或有向无回路图结构。每个概念用一个描述性的关键字表示。不可分解的原子级关键字包含隶属于他的某些构件
刻面分类法:定义若干用于刻画构件特征的”面“(facet),每个面包含若干概念,这些概念表述构件在面上的特征。刻画可以描述构件执行的功能、被操作的数据、构件应用的语境或任意其他特征。
超文本组织方法:基于全文检索技术。所有构件必须辅以详尽的功能或行为说明文档;说明中出现的重要概念或构件以网状链接方式相互连接;检索者在阅读文档的过程中可按照人类的联系思维方式任意跳转到包含相关概念或构件的文档;全文检索系统将用户给出的关键字与说明文档中的文字进行匹配,实现构件的浏览式检索。
一个构建可以包含多个类元素,但是一个类元素只能属于一个构件
构件的特性 | 对象的特性 |
---|---|
独立部署单元 | 一个实例单元,具有唯一的标志 |
作为第三方的组装单元 | 封装了自己的状态和行为 |
没有可见状态 | 可能具有状态,此状态外部可见 |
面向构件编程关注于如何支持建立面向构件的解决方案。面向构件的编程所需要的基本支持是:多态性、模块封装性、后期绑定和装载、安全性。
POA是对象实现与ORB其他组件之间的中介,将客户请求传送到伺服对象,按需创建子POA,提供管理伺服对象的策略。作用是:在底层传输平台与接受调用并返回结果的对象之间进行协调。
构件是一组需要同时部署的原子构件。构件和原子构件的区别在于:大多数原子构件不会被单独部署;大多数原子构件都属于一个构件家族,一次部署往往涉及整个家族。
一个原子构件是一个模块和一组资源。
原子构件是部署、版本控制和替换的基本单位。
ADL的基本构成要素包括:组件、组件接口、连接件、架构配置。
构建组装是指将构件库 中的构件经过适当修改后相互连接,或者将它们与当前开发项目中的构件元素相连接,形成新的目标软件。
分为:基于功能的组装技术、基于数据的组装技术和面向对象的组装技术。
DSSA(特定领域软件体系结构)的基本活动包括:领域分析、领域设计、领域实现。
参与DSSA的基本人员可划分为4种:领域专家、领域设计人员、领域实现人员、领域分析师。
可修改性包括四个方面:可维护性、可扩展性、结构重组、可移植性。
性能代表参数:响应时间、吞吐量。设计策略:优先级队列、资源调度
可用性代表参数:故障间隔时间。设计策略:
软件质量属性 | 代表参数 | 设计策略 |
---|---|---|
性能 | 吞吐量,响应时间 | 优先级队列,资源调度 |
可用性 | 故障间隔时间 | 冗余,心跳线 |
安全性 | 追踪审计 | |
可修改性 | 信息隐藏 | |
可靠性 | MTTF,MTBF | 冗余,心跳线 |
每个构件都有一组输入和输出。典型例子是UNIX shell编写的程序。
优点:
缺点:
有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护–已被证明是成功的设计方法,可以被用于较大程序
主程序-子程序架构风格中,所有计算构件作为子程序协作工作,并由一个主程序顺序地调用这些子程序,构件通过共享存储区交换数据。
面向对象的风格建立在数据抽象和面向对象的基础上,数据的表示方法和他们相应的操作封装在一个抽象数据类型或对象中。
优点:
缺点:
层次结构风格允许将复杂问题分解成一个增量步骤序列的实现。典型例子是分层通信协议。
优点
缺点
通过连接件绑定在一起的按照一组规则运作的并行构建网络。
基于构件的隐式调用不直接调用构件,而是触发或广播一个事件。典型例子是windows系统。
优点
缺点
仓库风格有两种构件:
若输入流中某类事件触发进程执行的选择,则仓库是一传统型数据库;典型的数据仓库有:编译器。若中央数据结构的当前状态触发进程执行的选择,则仓库是一黑板系统。典型的黑板系统包括:问题规划、语音识别、编译器优化。
黑板系统由三部分组成:
特点:设定参数,并不断测量现有的实际数据,将实际值与设定值进行比较,以确定接下来的操作。(刹车,定速巡航,空调)
用视角和视图描述软件架构。
采用用例和质量场景来描述需求。用例描述的是功能需求,质量属性描述的是质量需求。
ABSDM(基于体系结构的软件开发模型):把整个软件过程划分为:体系结构需求、体系结构设计、体系结构文档化、体系结构复审、体系结构实现、体系结构演化。
ATAM被分为4个主要的活动领域,分别为场景和需求收集、体系结构视图和场景实现、属性模型构造和分析、折中。体系结构权衡分析方法中(ATAM)是在SAAM的基础上发展起来的,主要针对性能、可用性、安全性和可修改性,在系统开发之前,对这些质量属性进行评价和折中。
(1)特定目标:ATAM的目标是在考虑多个相互影响的质量属性的情况下,从原则上提供一种理解软件体系结构的能力的方法。对于特定的软件体系结构,在系统开发之前,可以使用ATAM方法确定在多个质量属性之间折中的必要性。
(2)质量属性:ATAM方法分析多个相互竞争的质量属性。开始时考虑的是系统的可修改性、安全性、性能和可用性。
(3)风险承担者:在场景、需求收集有关的活动中,ATAM方法需要所有系统相关人员的参与。
(4)体系结构描述:体系结构空间受到历史遗留系统、互操作性和以前失败的项目约束。在五个基本结构的基础上进行体系结构描述,这五个结构是从Kruchten的4+1视图派生而来的。其中逻辑视图被分为功能结构和代码结构。这些结构加上它们之间适当的映射可以完整地描述一个体系结构。
用一组消息顺序图显示运行时的交互和场景,对体系结构描述加以注解。ATAM方法被用于体系结构设计中,或被另一组分析人员用于检查最终版本的体系结构。
(5)评估技术:可以把ATAM方法视为一个框架,该框架依赖于质量属性,可以使用不同的分析技术。它集成了多个优秀的单一理论模型,其中每一个都能够高效、实用地处理属性。该方法使用了场景技术。从不同的体系结构角度,有三种不同类型的场景,分别是用例(包括对系统典型的使用 还用于引出信息)、增长场景(用于涵盖与它的系统修改)、探测场景(用于涵盖那些可能会对系统造成压迫的极端修改)