目录
一、软件架构的概念
1、架构的本质
2、架构的作用
二、架构发展历史
三、架构的 “4 + 1” 视图
1、逻辑视图(Logical View)
2、开发视图(Development View)
3、进程视图(Process View)
4、物理视图(Physical View)
5、场景视图(Scenarios View)
四、架构描述语言ADL
一、软件架构的概念
软件架构 = 软件体系结构
架构设计就是需求分配,即将满足需求的职责分配到组件上。
1、架构的本质
(1)软件架构为软件系统提供了一个结构、行为和属性的高级抽象。
(2)软件架构风格是特定应用领域的惯用模式,架构定义一个词汇表和一组约束。
2、架构的作用
(1)软件架构是项目干系人进行交流的手段。
(2)软件架构是可传递和可复用的模型,通过研究软件架构可能预测软件的质量。
(3)软件架构使推理和控制的更改更加简单,有助于循序渐进的原型设计,可以作为培训的基础。
二、架构发展历史
三、架构的 “4 + 1” 视图
4+1架构视图,也称为4+1视图模型,是一种软件架构设计方法,通常用于描述大型复杂软件系统的不同视角。它由Philippe Kruchten于1995年提出,并在Rational Software Corporation(现在是IBM公司)的Rational Unified Process(RUP)中得到广泛应用。
4+1架构视图包括以下五个视图:
这五个视图互相关联,共同描述了一个系统的不同方面,从而帮助软件工程师和系统架构师更好地理解和设计复杂的软件系统。每个视图都强调一些特定的关注点,从而形成一个完整的架构视图。
1、逻辑视图(Logical View)
描述系统功能、组件和它们之间的关系。它主要关注系统的静态结构,包括类、接口、包、模块等,并用于表示系统的组织结构、模块划分和关系。最终用户相关。
2、开发视图(Development View)
描述系统的软件开发过程。他关注软件的开发、构建和部署过程,包括开发环境、版本控制、构建工具、编译器等,并用于表示系统的开发过程、构建过程和开发环境。编程人员相关。
3、进程视图(Process View)
描述系统的并发性和分布性。它关注系统在运行时的行为,包括系统的运行时进程、线程、节点、通信方式等,并用于表示系统的并发性、分布性、通信和同步方式。系统集成人员相关。
4、物理视图(Physical View)
描述系统的部署和配置。它关注系统在物理计算资源上的部署,包括硬件、网络、服务器、存储等,并用于表示系统的部署拓扑、配置和资源分配。系统工程人员相关。
5、场景视图(Scenarios View)
描述系统在不同场景下的使用场景。它关注系统的用例、用户交互和系统行为,包括用户界面、用户场景、用户需求等,并用于系统的功能需求、用户交互和系统行为。
四、架构描述语言ADL
ADL是一种形式化的语言,它在底层语义模型的支持下,为软件系统的概念体系结构建模提供了具体语法和概念框架。
如:Aesop、MetaH、C2、Rapide、SADL、Unicon等。
例:Unicon:
ADL的三个基本元素:
(1)构件:计算或数据存储单元
(2)连接件:用于构件之间交互建模的体系结构构造块及其支配这些交互的规则。
(3)架构配置:描述体系结构的构件与连接件的链接图。