实验3 以太坊交易周期的需求分析
区块链技术 实验报告
实验名称 | 实验3 以太坊交易周期的需求分析 |
一、实验目的
1、学习并掌握以太坊交易的内容;
2、学习并掌握以太坊交易周期的四个阶段;
3、学习并掌握结构化需求分析方法;
4、学习并掌握面向对象的需求分析方法;
二、实验内容
根据第三章以太坊的学习,结合教材P51-P54页对3.5 以太坊交易的介绍,分别采用结构化需求分析和面向对象的需求分析这两种需求分析方法,对太坊交易周期中四个阶段的功能行为进行需求分析,需要分别采用数据流图和用例图进行需求描述。
三、以太坊交易的结构化需求分析
1.上层数据流图
2.底层数据流图
四、以太坊交易的面向对象需求分析
1.生成用例
对象:交易发起者、交易接收者;
关系:交易发起者向交易接收者转账;
交易发起者选择发送交易的地址与接收交易的地址,交易金额等等,然后给出对应的Nonce,使用私钥得到数字签名,发起交易,节点收到进行验证,再存储到交易池并发起广播。
交易进入具有挖矿功能的全节点执行打包,并扣除手续费,更新账户状态,然后广播区块。
没有记账权的节点,对交易进行验证执行,并扣除基础费,更新账户状态,然后广播区块。
用例:本地节点,矿工节点,无矿工节点。
2.用例图
五、学习心得
本次实验让我更深入地了解了以太坊交易的内容以及交易周期的四个阶段。通过学习教材P51-P54页的介绍,我了解了交易的结构、交易状态、交易收据等概念,还了解了以太坊交易的机制和交易周期中四个阶段的功能行为。在进行需求分析时,我们采用了结构化需求分析和面向对象的需求分析方法。结构化需求分析侧重于对数据流和处理过程的分析,可以通过数据流图清晰地展示交易周期中各个阶段之间的数据流动和处理过程。而面向对象的需求分析则强调对象和它们之间的关系,通过用例图和对象图来描述系统中的各个对象及它们之间的关系。两种方法各有优劣,具体应用需要根据实际情况进行选择。
我深刻认识到需求分析在软件开发过程中的重要性。需求分析是软件开发过程中的关键环节,只有正确理解用户需求和系统功能,才能设计出满足用户需求的高质量软件。在进行需求分析时,我们需要充分考虑用户需求,深入了解系统功能和业务流程,采用合适的分析方法和工具进行需求描述和分析,并注意需求的可行性和合理性,充分考虑软件的实际使用场景和用户的需求。本次实验让我更加深入地了解了以太坊交易的内容和交易周期的四个阶段,并学习了两种常用的需求分析方法。这对于我今后的软件开发工作具有重要意义,我将在实践中更加注重需求分析的工作,以提高软件的质量和满足用户需求。