软件架构:设计的基石
1. 软件架构是什么
软件架构有时也被称为高层设计,它就像建筑蓝图一样,是软件系统的顶层定义,但与建筑蓝图不同,软件架构更注重宏观层面,避免过多细节。它能让我们看到软件的基本内部结构和行为特征,主要有以下作用:
- 识别关键软件模块(组件、库等)。
- 确定哪些组件相互通信。
- 帮助识别和确定系统中所有重要接口的性质,明确各个子系统的正确角色和职责。
在一个没有规划架构的项目中,软件可能会变得混乱不堪,难以理解和维护。就像一个没有建筑师指导的项目,产生了大量无文档的软件,最终变成了一个难以处理的烂摊子。所以,在软件开发中,架构至关重要。
软件架构是将问题域映射到解决方案域的首次尝试,不同项目的架构需要解决的问题不同。例如,某些项目可能需要指定特定的硬件组件;分布式系统中,机器和处理器的数量以及工作分配可能是架构问题;架构也可能描述特定的算法或数据结构,但这种情况较少。不过,架构层面确定的信息越多,后续设计或实现阶段的灵活性就越小。
2. 软件架构的视角
在物理建筑中,我们会用不同的图纸来展示建筑的不同方面,如结构、布线、管道等。同样,在软件架构过程中,也有四种常见的视图:
- 概念视图 :有时也叫逻辑视图,展示系统的主要部分及其相互连接。
- 实现视图 :从实际实现模块的角度来看,可能与概念模型有所不同。
- 过程视图 :用于展示任务、进程和通信方面的动态结构,在高并发场景中很有用。
- 部署视图
超级会员免费看
订阅专栏 解锁全文
5701

被折叠的 条评论
为什么被折叠?



