[论文解读] Software Architecture Overview
本文提供了软件架构这一学科的全面概述,其根基在于系统性原则、实践经验以及科学方法。它综合了系统工程与软件工程的既有知识,强调通过测试进行实证验证,并汇编了关键概念、设计模式与范式,形成了一套严肃软件开发的基础参考。
What is Software Architecture? The rules, paradigmen, pattern that help to construct, build and test a serious piece of software. It is the practical experience boiled down to abstract level. Software Architecture builds on System Engineering and the scientific method as established by Galileo Galilei: Measure what you can and make measureable what you can not. The experiment (test) is more important then the deduction. Pieces of information about software architecture are all over the internet. This paper uses citation as much as possible. The aim is to bring together an overview, not to rephrase the wording.
研究动机与目标
- 将分散的软件架构知识整合为一个连贯且易于理解的概述。
- 确立软件架构作为一门根植于可度量、可测试原则的学科,这些原则源自科学方法。
- 强调实证验证(测试)在软件设计中优于理论推导的重要性。
- 作为参考文献,汇编核心概念、设计模式与范式,而不重新表述现有文献。
- 通过引用关键文献并组织基础思想,为研究人员和从业者提供该领域的统一入门点。
提出的方法
- 基于伽利略·伽利莱所形式化的系统工程原则与科学方法。
- 采用引用驱动的综合方法,汇集现有软件架构文献中的既有知识。
- 聚焦于从实践经验抽象出的规则、范式与设计模式。
- 在软件设计中优先考虑可测试性与可度量性,将实验(测试)视为比理论推导更为关键。
- 围绕核心架构原则、设计模式与框架组织内容,而非引入新模型。
- 将材料呈现为参考文献而非新颖的理论贡献,强调清晰性与综合整合。
实验结果
研究问题
- RQ1作为一门系统性学科,软件架构的核心原则是什么?
- RQ2如何将科学方法——尤其是测量与实验——应用于软件架构?
- RQ3既有的设计模式、范式与规则在构建严肃软件系统中扮演何种角色?
- RQ4如何将碎片化的软件架构知识整合为一个连贯的概述?
- RQ5为何在架构决策中,实证测试比理论推导更具价值?
主要发现
- 软件架构最好理解为构建复杂软件系统过程中可重复实践经验的抽象。
- 科学方法——测量可测量之物,并使不可测量之物可测量——构成了架构推理的基础框架。
- 实证测试优先于理论推导,使软件架构与实验科学保持一致。
- 本文成功地将既有知识综合为一个结构化的概述,而未引入新的理论模型。
- 基于引用的汇编方式,使得该参考文献可靠、可追溯,并具有坚实的学术基础。
- 该概述为寻求该领域整合性入门资源的研究人员与从业者,提供了一项基础性资源。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。