软件架构与模块化:从设计到实践
一、软件架构概述
1.1 架构的重要性
系统架构是设计的最高层次,为系统的整体组织和运行提供总体规划。没有文档化架构的系统,就像没有总体规划而随意添加房间的房子,可能会面临各种问题。许多嵌入式系统在开发时没有文档化架构,虽然从直觉上所有系统都有架构,但很多系统的架构并不理想。糟糕的架构往往难以理解、设计、调试和维护,还容易出现错误。
1.2 可能的症状
如果项目出现以下症状,就需要投入更多精力来定义和记录软件架构:
- 没有能在一页纸上呈现的软件架构图,虽然可以有备份图展示细节,但需要有一个能在一张纸上呈现的高层级描述。流程图不算架构图,它们属于设计图。
- 没有一个人能给出软件整体组织的高层级视图,例如,给定白板、马克笔和 15 分钟,没人能画出软件的整体组织图。
- 修改或添加软件容易出错,因为代码库中软件的风格差异很大。这种系统的架构图往往看起来很杂乱。
1.3 架构定义不充分的风险
架构定义不明确或不充分可能导致以下问题:
|问题|描述|
|----|----|
|修改或改进困难|由于架构方法不一致,修改或改进系统会面临困难和高额费用。|
|高缺陷率|系统容易出现大量缺陷。|
|高故障再注入率|由于系统组织不佳,修复一个 bug 可能会引发新的 bug。|
|学习曲线陡峭|新人员难以理解系统的整体组织,学习成本高。|
|早期代码损耗|软件因频繁更改变得脆弱和混乱,丢弃代码比继续维护更划算。|
|项目失败|如果项目的复杂性不能通过良好的架构方法进行有效管理,项目可
软件架构与模块化:设计与实践指南
超级会员免费看
订阅专栏 解锁全文

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



