A. UML blockchain design models
This appendix covers
- Problem analysis and design representation
- Using behavioral UML diagrams (use case and finite state machine diagrams)
- Using structural UML diagrams (class diagrams)
- Using interaction UML diagrams (sequence diagrams)
Software application development should always begin with a clear problem statement that describes a problem to be solved, including its requirements, scope, limitations, exceptions, and expected outcomes. You analyze this problem statement to come up with a design representation. The design representation of an application is like the blueprint that is created before the construction of a home or the engineering design created before a product is machined.
Software application developers are often eager to jump into coding before they design, but this is not a good practice. The best practice is to analyze and design the solution to a problem in a standard format so that all the parameters can be discussed with the stakeholders in an implementation-independent fashion, using visual representations of the design components. The Unified Modeling Language (UML) offers multiple diagram models for design representation.