软件架构:从基础到实践
1. 软件架构师的角色与职责
在软件开发团队中,通常会有一位被赋予“软件架构师”头衔的成员,当然,也可能存在一些虽无此头衔但实际履行架构师职责的人。无论你是否拥有这个正式头衔,只要参与代码开发,你就是所负责代码部分的架构师。
软件架构师需要理解并深入研究详细的设计选项,以便做出明智的架构决策。这些决策不应凭空做出,特别是对于那些与以往经验不同的新情况。同时,架构师要避免将软件架构与详细设计混为一谈,架构的定义可以看作是为详细设计提供更高级别的详细需求。
虽然软件架构没有一个标准的定义,但拉尔夫·约翰逊的定义值得参考:“架构关乎重要的事情,无论那是什么。”这意味着架构关注的是项目中关键的部分。
2. 软件架构文档的重要性与特点
软件架构文档是工作文档,既不要害怕修改,也不能随意改动。因为在设计和实现开始后,对软件架构的修改往往会导致返工,架构师的一个重要目标就是尽量减少返工。
软件架构应具备以下特点:
- 应优先进行。
- 应包含战略决策和指导方针。
- 不应包含过多设计细节。
- 不应孤立定义。
- 不应一成不变,应允许发现和演进。
以下是一些常见可包含在软件架构文档中的项目:
|项目|说明|
| ---- | ---- |
|主要子系统|系统的逻辑和关键部分划分|
|主要接口语义|各部分交互方式的定义|
|线程/进程/处理器模型|应用的运行模式|
|通信机制|不同实体间的通信方式|
|线程间通信(ITC)|线程间的交互方式|
|进程间通信(IP
超级会员免费看
订阅专栏 解锁全文

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



