软件架构设计原理与知识管理深度解析
在软件领域,设计原理与软件架构的关联研究已成为软件工程研究的重要领域。设计原理可定义为设计产物(这里指架构)、其目的、设计者(架构师)的概念化以及实现该目的的上下文约束之间关系的表达,它为特定设计选择或做出该选择的过程提供解答。软件架构则聚焦于软件结构的研究,涵盖拓扑、属性、组成组件、关系以及交互和组合模式等方面。
设计原理与软件架构的关系及重要性
许多研究者和从业者都认识到将设计原理与软件架构相结合的重要性。设计原理研究者开发了多种记录设计决策的方法,但多数方法仅呈现围绕设计决策的论证,在以领域专家易懂的方式呈现领域知识方面还有待加强。过去十年,人们发现系统架构对质量需求影响重大,捕捉架构设计决策与质量属性之间的关系为设计原理赋予了新的重要角色。
然而,目前仍存在一些亟待研究的重要问题:
1. 架构决策记录不严谨 :架构决策很少以严谨且一致的方式记录。有意义的解释应包含背景、推理、权衡、标准以及从各种设计选项中选择特定设计的决策过程等信息。
2. 设计原理未记录的损失 :若不记录设计原理,与领域分析、评估的设计选项和做出的决策相关的知识将丢失,无法为开发生命周期中的后续决策提供支持。
3. 缺乏有效支持机制 :虽然IEEE 1471标准和SARA WG将设计原理视为软件架构描述的重要部分,并倡导捕捉和维护原理,但目前仅有“Views and Beyond”这一重要支持机制,且该机制对所有必要的架构构建缺乏足够支持,也未提供开发架构设计知识存储库及使用经验的概念指导。
4. 设计决策
超级会员免费看
订阅专栏 解锁全文
176万+

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



