本质困难
概述
本质困难是指软件概念结构中固有的、不可还原的困难,即使拥有完美的工具和无限的资源,这些困难仍然存在,来自于抽象实体本身的复杂性。
关键内容
- 特征:
- 软件概念结构中固有的、不可消除的困难
- 来自于要构建的抽象实体本身的复杂性
-
需要精确地定义每一个状态、每一条规则、每一种交互
-
Brooks识别的四大特性:
- 复杂性(Complexity):软件实体是人类创造的最复杂的东西
- 一致性(Conformity):必须与外部世界众多接口保持一致
- 可变性(Changeability):面临持续的变更压力
-
不可见性(Invisibility):缺乏自然的、直观的空间表示
-
与其他困难的区别:
- 与"偶然困难"相对,后者可通过改进工具消除
- 本质困难无法被任何单一技术所解决
- 即使工具进步,本质困难依然存在
来源
- 16-brooks-no-silver-bullet.md — 核心概念阐述
- [[]] —
相关
- 偶然困难 — opposite
- No Silver Bullet — central_concept
- 软件工程 — field
- Frederick P. Brooks, Jr. — proposed_by