高能物理中的软件开发:挑战与策略
1. 经典软件工程在高能物理中的困境
在软件开发领域,经典软件工程方法曾被广泛引入并寄予厚望。然而,在高能物理(HEP)领域,这些方法并未达到预期效果。多年来,CERN尝试了众多软件工程方法和形式主义,如Yourdon的SASD、Entity - Relationship(ER)、Booch的OOADA等,以及支持这些方法的工具,如ADAMO、I - Logix Statemate等。但这些尝试对HEP软件整体影响甚微,远不及用“业余”方法开发多年的CERNLIB(特别是PAW和GEANT 3)以及CERNLIB的精神继承者ROOT的成功和稳健。
实际上,目前引入HEP环境的所有经典软件工程方法都未能带来预期的好处。一些人由于投入了资金、精力和善意,不愿承认这一事实,甚至将使用了软件工程方法的部分项目视为成功的证明,而忽视了其对实验软件的实际贡献。传统软件工程在HEP领域并未“如宣传般有效”,采用或尝试采用传统软件工程的软件项目,在HEP软件发展历史中属于不太成功的一类。
我们认为,多年来HEP已经形成了一种适合自身环境且相当有效的软件开发方法。这些项目并非引入新的方法,而是用文献中常见但不适合HEP环境的方法取代了现有的、未被正式化或恰当描述的方法。
2. HEP软件开发环境的特点
HEP软件开发环境与工业环境有显著差异,主要体现在以下几个方面:
2.1 不断演变的需求
HEP项目的研究目标通常明确,但实现目标的方式,尤其是在软件方面,往往不明确。研究是逐步推进的,每一步都会带来新的思路,从而细化或修改初始需求。创新和创造力是HEP工作的核心,因此无法从一开
超级会员免费看
订阅专栏 解锁全文
75

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



