1、定义
软件架构就是软件的顶层结构
RUP(统一过程开发)4 + 1 视图
1)逻辑视图:
描述系统的功能、组件和它们之间的关系。它主要关注系统的静态结构,包括类、接口、包、模块等,并用于表示系统的组织结构、模块划分和关系。
2)开发视图:
描述系统的软件开发过程。它关注软件的开发、构建和部署过程,包括开发环境、版本控制、构建工具、编译器等,并用于表示系统的开发工程、构建过程和开发环境。
3)进程视图:
描述系统的并发性和分布性。它关注系统在运行时的行为,包括系统的运行时进程、线程、节点、通信方式等,并用于表示系统的并发性、分布性、通信和同步方式。
4)物理视图:
描述系统的部署和配置。它关注系统在物理计算资源上的部署,包括硬件、网络、服务器、存储等,并用于表示系统的部署拓扑、配置和资源分配。
5)场景视图:
描述系统在不同情景下的使用场景。它关注系统的用例、用户交互和系统行为,包括用户界面、用例场景、用户需求等,并用于表示系统的功能需求、用户交互和系统行为。
以下引入网络图片
2、架构设计的目的
解决因软件系统的复杂度所带来的问题
考虑 时间、成本、质量 因素
设计过程中遵循:简单、合适、演进原则
将性能、可用性、可扩展性、安全等问题考虑到软件的实际需求中。