1.软件体系结构,也成为软件架构(software architecture, SA), 刻画软件系统的构成要素及他们之间的逻辑关联。
2.软件体系结构的三要素:构件(component),连接件(connector),约束(constraint)
3.构件:一个物理模块。在软件工程第七章 软件设计基础-CSDN博客
中,软件设计元素有涉及到构件。
特点:可分离,可替换,可配置,可复用。
如:.dll,.jar文件。
值得注意的是,构件的接口与实现相分离。
4.连接件:表示构件之间的连接和交互关系。
如:过程调用,远程过程调用(RPC),消息传递,事件通知等等
5.约束:表示构件中的元素应满足的条件,以及构件经由连接件组装成更大模块时应满足的条件。
比如:接口规范。
6.软件体系结构的不同视图:
1)逻辑视图:常用包图、类图
2)开发视图:常用包图、构件图
3)物理视图:常用部署图
4)运行视图:常用活动图
7.软件体系结构风格(software architecture style),也称软件体系结构模式
面向整个软件系统,在抽象层次给出结构化组织模式
8.常见软件体系结构风格介绍:
1)层次风格(分层风格):将软件系统分成若干层,顶层的构件负责直接面向用户交互,底层的构件负责提供基础性的服务和功能。
2)管道/过滤器风格。 子功能封装在叫做”过滤器“的构件中,构件中间用叫做”管道”的连接件相连。
3)信息库风格。所有构件在系统信息库中管理,构件之间相对独立。
4)C/S风格(Client/Server)。
系统表现为一组服务,每个服务由一个独立的服务器提供,客户端是用户。
5)MVC风格。
将软件系统分为三类构件:
模型(modeling): 负责存储业务数据,提供业务逻辑处理功能。
视图(view):负责向用户展现数据。
控制器(controller):负责选择合适的模型以应对用户的视图响应。
6)SOA风格(service-oriented architecture)。
将构件抽象成一个个服务,每个服务提供接口。
7)消息总线风格。
构件之间通过一条“消息总线”的连接件连接。类似总线在计算机体系结构中的作用。
9.软件体系结构设计的输出:
软件体系结构模型、体系结构设计规格说明书文档