Many scientific and practical areas have shown increasing interest in reaping the benefits of blockchain technology to empower software systems. However, the unique characteristics and requirements associated with Blockchain Based Software (BBS) systems raise new challenges across the development lifecycle that entail an extensive improvement of conventional software engineering. This article presents a systematic literature review of the state-of-the-art in BBS engineering research from a software engineering perspective. We characterize BBS engineering from the theoretical foundations, processes, models, and roles and discuss a rich repertoire of key development activities, principles, challenges, and techniques. The focus and depth of this survey not only gives software engineering practitioners and researchers a consolidated body of knowledge about current BBS development but also underpins a starting point for further research in this field.
翻译:许多科学和实践领域对利用区块链技术赋能软件系统表现出日益浓厚的兴趣。然而,基于区块链软件系统独特的特性与需求,在其开发生命周期中引发了新的挑战,这需要对传统软件工程进行广泛的改进。本文从软件工程视角,对基于区块链软件系统工程研究的现有成果进行了系统文献综述。我们从理论基础、过程、模型和角色等方面刻画了基于区块链软件系统工程,并讨论了丰富的关键开发活动、原则、挑战和技术。本综述的聚焦点与深度不仅为软件工程实践者和研究人员提供了关于当前基于区块链软件系统开发的综合知识体系,也为该领域的进一步研究奠定了起点。