Blockchain in Software Engineering : Secure and Decentralized Solutions
Keywords:
UML Diagrams, Blockchain Projects, Agile Practices, Software Engineers, Blockchain Developers, Thereby Fostering, Blockchain Revolution, Security and Trust.Abstract
In recent years, the use of blockchain-based technology has increased dramatically, transforming a number of businesses. Knowing the software development methodologies used by blockchain developers is essential as blockchain-based solutions continues to gain traction. The experiences of blockchain developers using Software Engineering (SE) methodologies in blockchain development are investigated in this research study. The relevance of various phases in the Software Development Life Cycle (SDLC) for projects related to blockchain, the value of SE techniques, and preferred methodology were among the subjects of an online poll that we launched. In recent years, the Blockchain and its implementations, known as Smart Contracts, have been more popular across all industries that need reliability and strong certifications. Some have even gone so far as to claim that the "Blockchain revolution" is comparable to the early days of the Internet & the Web. Because of this, the amount of software development centred on Blockchain technology is expanding at an astounding pace. Many software engineers feel that the high level of interest in Blockchain technologies is leading to unregulated and rushed software development, a kind of first-come, first-served competition that does not guarantee software quality or that the fundamentals of engineering software are taken into consideration. The improvement of security and trust is one of blockchain's most important contributions to software development. The decentralised nature of blockchain technology naturally reduces the danger of single points of failures that are common in traditional centralised systems. The immutable ledger promotes trust between users and developers by guaranteeing that data cannot be changed without consensus after it has been recorded. The procedure is founded on a number of Agile concepts, including incremental and iterative development and User Stories. But it also uses more formal notations, including certain UML diagrams that describe the system's architecture, with enhancements to express particular Blockchain development principles. A thorough explanation of the procedure is provided, along with an example to demonstrate its operation.
References
- Md Jobair Hossain Faruk et al. “Software engineering process and methodology in blockchain-oriented software development: A systematic study”. In: 2022 IEEE/ACIS 20th International Conference on Software Engineering Research, Management and Applications (SERA). IEEE. 2022, pp. 120–127.
- Wang Haoyu and Zhou Haili. “Basic Design Principles in Software Engineering”. In: 2012 Fourth International Conference on Computational and Information Sciences.
- Michael Jones et al. “Privacy-preserving methods for feature engineering using blockchain: review, evaluation, and proof of concept”. In: Journal of medical Internet research 21.8 (2019), e13600.
- M Mahalakshmi and Mukund Sundararajan. “Traditional SDLC vs scrum methodology–a comparative study”. In: International Journal of Emerging Technology and Advanced Engineering 3.6 (2013), pp. 192– 196.
- Michele Marchesi, Lodovica Marchesi, and Roberto Tonelli. “An agile software engineering method to design blockchain applications”. In: Proceedings of the 14th Central and Eastern European Software Engineering Conference Russia. 2018, pp. 1–8.
- Jose Manuel Guaita Mart ´ ´ınez et al. “An analysis of the blockchain and COVID-19 research landscape using a bibliometric study”. In: Sustainable Technology and Entrepreneurship 1.1 (2022), p. 100006.
- Kai Petersen, Claes Wohlin, and Dejan Baca. “The waterfall model in large-scale development”. In: ProductFocused Software Process Improvement: 10th International Conference, PROFES 2009, Oulu, Finland, June 15-17, 2009. Proceedings 10. Springer. 2009, pp. 386– 400.
- Marten Risius and Kai Spohrer. “A blockchain research framework: What we (don’t) know, where we go from here, and how we will get there”. In: Business & information systems engineering 59 (2017), pp. 385–409.
- Simone Porru, Andrea Pinna, Michele Marchesi, Roberto Tonelli. Blockchain-oriented Software Engineering: Challenges and New Directions. 2017.
- Ivens Portugal, Paulo Alencar, Donald Cowan. The Use of Machine Learning Algorithms in Recommender Systems: A Systematic Review. 2015.
- Vahid Pourheidari, Sara Rouhani, Ralph deters. A Case Study of Execution of Untrusted Business Process on Permissioned Blockchain. 2019.
- Sunil Kumar Singh, Sumit Kumar. Blockchain Technology: Introduction, Integration and Security Issues with IoT. 2021.
- Karim Sultan, Umar Ruhi, Rubina Lakhani. Conceptualizing Blockchains: Characteristics & Applications. 2018.
- Christoph Treude. Taming Multi-Output Recommenders for Software Engineering. 2022.
- Funda Ustek-Spilda, Alison Powell, Irina Shklovski, Sebastian Lehuede. Peril v. Promise: IoT and the Ethical Imaginaries. 2019.
- Wenbo Wang, Dinh Thai Hoang, Peizhao Hu, Zehui Xiong, Dusit Niyato, Ping Wang, Yonggang Wen, Dong In Kim. A Survey on Consensus Mechanisms and Mining Strategy Management in Blockchain Networks. 2018.
- Yang Xiao, Ning Zhang, Wenjing Lou, Y. Thomas Hou. A Survey of Distributed Consensus Protocols for Blockchain Networks. 2019.
- Minghui Xu, Yihao Guo, Chunchi Liu, Qin Hu, Dongxiao Yu, Zehui Xiong, Dusit Niyato, Xiuzhen Cheng. Exploring Blockchain Technology through a Modular Lens: A Survey. 2022.
- Dylan Yaga, Peter Mell, Nik Roby, Karen Scarfone. Blockchain Technology Overview. 2019. 40. Shi Yan. Analysis on Blockchain Consensus Mechanism Based on Proof of Work and Proof of Stake. 2022.
- S. Porru, A. Pinna, M. Marchesi, R. Tonelli. Blockchain-oriented Software Engineering: Challenges and New Directions, Proc. 2017 IEEE/ACM 39th IEEE International Conference on Software Engineering Companion, Buenos Aires, Argentina, May 2017, IEEE Press.
- K. Beck et al. Manifesto for Agile Software Development. Snowbird, UT, 11-13 February, 2001.
- X. Xu et al. A taxonomy of Blockchain-based systems for architecture design. IEEE Int. Conf. Software Architecture (ICSA), April 3-7, 2017, Gothenburg, Sweden.
- F. Wessling, C. Ehmke, M. Hesenius, V. Gruhn. How Much Blockchain Do You Need? Towards a Concept for Building Hybrid DApp Architectures. Proc. 1th Workshop on Emerging Trends in Software Engineering for Blockchain, ICSE 2018, May 27, 2018, Gothenburg, Sweden.
- G. Fridgern et al. A Solution in Search of a Problem: A Method for the Development of Blockchain Use Cases. 24th Americas Conf. Information Systems, 16-18 August, 2018, New Orleans, LA.
- J. Rumbaugh, I. Jacobson, G. Booch. The unified modeling language reference manual. Addison-Wesley, Reading, MA, 1999.
- H. Baumeister, N. Koch, L. Mandel. Towards a UML Extension for Hypermedia Design. In: France R., Rumpe B. (eds) «UML»’99 — The Unified Modeling Language. UML 1999. Lecture Notes in Computer Science, vol 1723. Springer, Berlin, Heidelberg.
- Xiao Yi, Daoyuan Wu, Lingxiao Jiang, Yuzhou Fang, Kehuan Zhang, Wei Zhang. An Empirical Study of Blockchain System Vulnerabilities: Modules, Types, and Patterns. 2021.
- L. Marchesi, M. Marchesi, G. Destefanis, et al., Design patterns for gas optimization in ethereum, in: 2020 International Workshop on Blockchain Oriented Software Engineering (IWBOSE); 18 Feb 2020; London, ON, Canada, IEEE, Piscataway, NJ, USA, IEEE, 2020, pp. 9–15.
- G. Baralla, A. Pinna, G. Corrias, ensure traceability in european food supply chain by using a blockchain system, in: 2019 IEEE/ACM 2nd International Workshop on Emerging Trends in Software Engineering for Blockchain, WETSEB; 27 May 2019; Montreal, Canada, IEEE, Piscataway, NJ, USA, 2019, pp. 40–47.
- R. Conradi, A.I. Wang (Eds.), Empirical Methods and Studies in Software Engineering, vol. 2765, LNCS, Springer Berlin Heidelberg, 2003.
Downloads
Published
Issue
Section
License
Copyright (c) IJSRST

This work is licensed under a Creative Commons Attribution 4.0 International License.