知识卡片

软件架构仿真流程与开发迭代融合的困境

普通读书笔记卡

内容

软件架构仿真是软件开发早期阶段质量保障的主要手段之一,目的是更好地评估系统主要特性、避免开发失败,但也是比较难以落地的手段之一——书中直言”当前软件开发方法、流程和集成平台更多关注开发环节……往往忽略软件架构仿真的价值”,这是理解本章其他内容的关键背景:架构仿真理论上有效,实践中却常被边缘化。典型的架构仿真流程本身是一个迭代过程,但这种迭代”看上去似乎很简单,其实并没有与软件开发流程紧密结合”——换句话说,仿真常常是一个游离于主开发流程之外的独立活动,而不是被无缝嵌入进日常迭代节奏里的常规步骤。在实践中,软件需求经常变更,开发者普遍采用迭代渐增式开发流程,因此有必要把仿真融入流程的每一次迭代中——书中特别强调,项目刚开始的若干阶段需求尚不明确,后期每一次变动都可能导致系统某些属性改变,所以恰恰应该在最初的若干阶段就加入仿真,用来验证这些需求本身是否真的必要,而不是等到架构相对稳定后才姗姗来迟地引入仿真。就工具生态而言,商用架构仿真系统(如Sparx、IBM、Palladio的产品)和软件集成开发环境往往是两个彼此独立的系统——检索到的近30篇相关论文显示,架构仿真系统大多各自独立开发,绝大多数停留在学术研究层面,没有真正整合进工业界日常使用的开发平台。这揭示了架构仿真领域一个结构性的”最后一公里”问题:理论方法和学术原型不缺,缺的是把分析、建模、仿真、开发、测试、维护整合进同一个公共平台的工程化努力——而这恰恰是能真正降低团队沟通成本、提升开发质量的关键一步,仅有零散的学术工具解决不了这个问题。

参考来源

- 位置:《软件架构理论与实践》第12章《软件架构仿真》"12.2 软件架构仿真流程"节(源文件:_epub-src/OEBPS/text00096.html) - 结论依据:原文说明"当前,软件开发方法、流程和集成平台更多关注开发环节……往往忽略软件架构仿真的价值",并说明"从检索到的近30篇论文来看,软件架构仿真系统均是各自独立开发,而且绝大多数停留在学术研究层面",直接支撑本卡片结论。 - 原始内容:从中可以看出架构仿真是一个迭代的过程,这种迭代看上去似乎很简单,其实并没有与软件开发流程紧密结合……随着新系统的需求不断增多,业界迫切需要将软件的分析、建模、仿真、开发、测试、维护等环节整合到一个平台中。