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.
翻译:许多科学和实践领域对利用区块链技术赋能软件系统表现出越来越多的兴趣。然而,区块链软件(BBS)系统的独特特征和要求在整个开发生命周期中带来了新的挑战,需要彻底改进传统的软件工程。本文从软件工程的角度系统地回顾了BBS工程研究的最新进展。我们从理论基础、过程、模型和角色的角度对BBS工程进行了描述,并讨论了关键开发活动、原则、挑战和技术。此次调查的焦点和深度不仅为软件工程实践者和研究人员提供了关于当前BBS开发的整合知识,还为该领域的进一步研究奠定了基础。