导航菜单

软件工程/架构设计
课程进度 48% · 第4/7章4/7章 · 标签 1/3
1

什么是软件架构?

软件架构是软件系统的顶层设计,包括系统的组织结构、组件划分、交互方式以及约束规则。 良好的架构是系统可维护性、可扩展性和可靠性的基础。

架构的核心关注点

  • 性能:响应时间、吞吐量、资源利用率
  • 可扩展性:水平扩展与垂直扩展能力
  • 可用性:系统正常运行时间与容错能力
  • 安全性:数据保护、访问控制、防攻击
  • 可维护性:代码可读性、模块化程度、测试覆盖
  • 成本:开发成本、运维成本、基础设施成本

常见架构风格

  • 分层架构:表现层、业务层、持久层、数据层
  • 微服务架构:独立部署、去中心化、技术异构
  • 事件驱动架构:异步通信、松耦合、可扩展
  • 六边形架构:领域为核心,适配器驱动边界
2

架构设计过程

1. 架构需求分析:识别功能性需求和质量属性(性能、安全、可用性等)

2. 架构决策:选择架构风格、技术栈、部署策略

3. 架构设计:定义模块划分、接口设计、数据流设计

4. 架构评估:使用ATAM等方法评估架构对质量属性的满足程度

5. 架构文档:使用4+1视图模型记录架构设计

分层微服务事件驱动六边形ATAM