软件体系结构又称为构架,指可预制和可重构的软件框架结构。构件是可预制和可重用的软件部件,是组成体系结构的基本计算单元或数据存储单元;连接器也是可预制和可重用的软件部件,是构件之间的连接单元;构件和连接器之间的关系用约束来描述。于是,体系结构可表示为:
体系结构(architecture)=构件(components)+连接器(connectors)+约束(constraints)
1)构件是具有某种功能可复用的软件模板单元,表示了系统中主要的计算元素和数据存储。构件有两种:复合构件和原子构件。复合构件由其他复合构件和原子构件通过连接构成;原子构件是不可再分的构件。底层由实现该构件的类组成,这种关于构件的划分方法提供了体系结构的分层表示能力,有助于简化体系结构的设计。典型的构件如:client、serv-er、filter、database等。
2)连接器表示构件之间的交互,简单的连接如:pipes、procedure call、event broadcast等,更为复杂的交互如:client-server通信协议,数据库和应用之间的SQL连接。
3)约束表示构件和连接的拓扑逻辑。
除了构件、连接器和约束(配置)三个最基本的组成元素,软件体系结构还包括端口(port)和角色(role)两种元素。构件作为一个封闭的实体,仅通过其接口与外部环境交互,而构件的接口由一组端口组成,每个端口表示了构件和外部环境的交互点。连接器作为建模软件体系结构的主要实体,同样也有接口。连接器的接口由一组角色组成,连接的每个角色定义了该连接表示的交互的参与者。二元连接有两个角色,如:管道的角色是读者和写者,消息传递连接的角色是发送者和接受者。有的连接有多于两个的角色,如事件广播有一个事件发布者角色和任意多个事件接受者角色。
图8-2所示为软件体系结构的基本模型。
图8-2 软件体系结构的基本模型(www.xing528.com)
其中:
软件体系结构::=软件体系模型|软件体系模式
软件体系模型::={构件,连接器,约束}
构件::={端口1,端口2,…,端口n}
连接件::={角色1,角色2,…,角色m}
约束::={(端口i,角色j),…},其中i∈[1,n],j∈[1,m]
软件体系模式::={管道—过滤器,客户—服务器,…,解释器}
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。