数据区块链五年计划 区块链发展阶段

发布时间:2026-01-01 18:52:03 浏览:3 分类:比特币资讯
大小:509.7 MB 版本:v6.141.0
欧易官网正版APP,返佣推荐码:61662149

一、为什么2017年是区块链最关键的一年

以下是2017年将是区块链最关键一年的原因:

比特币的持久价值

区块链的初始工具比特币以高调的姿态结束了2016年,这是一个好兆头。

新年刚过不久,《财富》报道称,

“在经历过2016年的繁荣之后,比特币的价格已经达到了1000美元,从今年年初开始上涨了120%,直到最近达到了三年来的至高点。原因包括人民币的贬值,中国货币控制的风险以及地缘政治的不稳定性,都已经被认为是加密货币成功的关键因素。比特币标志性一年的另一个原因是其滞留力——时间越长,就能越为人熟知,同时也更像一种真正的价值存储手段。”

不管公平与否,区块链技术的可行性总是和比特币的性能密不可分。如果去中心化的数据库能够在金融领域取得成功,那么也可以在其他地方得到更广泛的应用。按照惯例,数字货币的健康发展引发了讨论,即如何将区块链整合到新领域。有了健康的比特币,区块链就可以在其他领域迅速扩张。

现有参与者

当然,这已经存在了一段时间,因为区块链已经和比特币牢牢绑定。多年来,许多团体已投入大量资金,让该技术应用到更广泛的领域,同时添加了新功能并创建了新的应用。如果2017年对区块链来说是伟大的一年,这些现有的参与者必须做好准备与它一起成长。

这一趋势的标志就是2016年结束之前,Hyperledger项目添加了8为新成员。软件公司CA technologies、区块链项目Factcom基金会、医疗保健联盟Hashed Health、韩国Koscom、会计公司LedgerDomain、贸易生态系统开发商Lykee、Sovrin基金会和电信公司Swisscom都加入了该项目的100强行列。

Hyperledger项目带着令人瞩目的成员名单进入了2017年,计划在实际使用案例中引进区块链可行性案例研究。

新投资

该技术在今年将取得进展的标志就是,世界各地的公司奠定了利用区块链地位的基础。根据Bloomberg Technology报道,全球公司在去年11月申请或接受了356个区块链或数字货币相关的专利申请,几乎是2016年第一个月的两倍。

Reed Smith的金融科技知识产权专家Marc Kaufman对Bloomberg说:

“我们见证了专利申请的数量呈指数形式增长的态势,预计我们将在未来五年看到上千个区块链专利。”

公司正在以如此迅速的方式提交专利,是因为区块链终于从理想乌托邦实现到数字账本工具的目标,专利数量的增加指数区块链的新发现,在2017年区块链会享有更广泛的合法性。

只有时间才知道2017年区块链的发展态势,反之亦然,但显而易见的是,区块链技术的地位是大家都能看到的,也证明了早期投资者对其潜力的期望,并且可能未来会发展出新的潜力。

区块链在国内也已经成为了金融界的宠儿,成为了一个热点的话题,国内的各主要金融机构均有试水区块链项目。中国邮政和IBM合作开发出了一套区块链资产托管系统;普银集团推出了茶本位数字货币普银。

二、区块链软件开发

区块链软件开发是一个系统且复杂的过程,涵盖多个关键阶段,每个阶段都有明确的任务和目标,以下为你详细介绍:

计划阶段总体定义问题:清晰界定要借助区块链软件解决的具体问题,例如是提升供应链透明度、实现安全的数据共享,还是构建去中心化的金融交易平台等。同时,深入了解用户需求,涵盖功能需求(如交易处理速度、数据存储容量)和非功能需求(如安全性、易用性),并全面考察现实环境,包括网络基础设施、法律法规要求等。

可行性研究:从技术、经济和社会因素三个维度进行深入分析。技术上,评估现有区块链技术(如公有链、私有链、联盟链)是否满足项目需求,以及开发团队的技术能力是否足以应对开发挑战;经济方面,核算开发成本,包括计算机硬件(如服务器、存储设备)、系统软件(如操作系统、数据库管理系统)、人力成本(开发人员、测试人员、项目经理的薪酬)等,同时预测项目可能带来的效益,如提高效率、降低成本、创造新的收入来源等;社会因素上,考虑项目对社会的影响,如是否符合行业规范、是否会引发社会问题等。在此基础上,编写可行性研究报告,为项目决策提供依据。

方案探讨与资源评估:探讨多种解决问题的方案,对比各方案的优缺点,选择最适合项目的方案。对可供使用的资源进行详细评估,包括计算机硬件的性能和数量、系统软件的版本和兼容性、人力资源的技能和经验等。同时,对开发进度作出合理估计,制定完成开发任务的实施计划,明确各阶段的时间节点和里程碑。

需求分析阶段确定问题与建立逻辑模型:与用户密切合作,共同确定要解决的核心问题,确保对问题的理解准确无误。在此基础上,建立软件的逻辑模型,清晰地描述软件的功能、数据流程和用户界面等要素。

编写需求规格说明书:将用户的需求进行去粗取精、去伪存真的处理,用软件工程开发语言(形式功能规约)准确表达出来,形成需求规格说明书文档。该文档应详细描述软件的功能需求、性能需求、安全需求等,确保开发团队和用户对需求有共同的理解。

获得用户认可:将编写好的需求规格说明书提交给用户审核,根据用户的反馈进行修改和完善,直至最终得到用户的认可。这一过程至关重要,它能避免在后续开发过程中出现需求变更导致的问题,确保项目顺利进行。

需求分析方法:采用结构化分析方法、数据流程图和数据字典等方法进行需求分析。结构化分析方法通过将系统分解为若干个模块,分析模块之间的关系和功能,帮助开发人员更好地理解系统需求;数据流程图则直观地展示了数据的流动和处理过程,有助于发现数据中的问题和需求;数据字典对数据流程图中的数据进行详细定义和说明,确保数据的准确性和一致性。

设计阶段软件分解与模块设计:软件设计分为概要设计和详细设计两个阶段。主要任务是将软件分解成模块,模块是指能实现某个功能的数据和程序说明、可执行程序的程序单元,可以是一个函数、过程、子程序、一段带有程序说明的独立的程序和数据,也可以是可组合、可分解和可更换的功能单元。

概要设计:进行结构设计,目标是给出软件的模块结构,并用软件结构图表示。将整个系统分解成若干个子系统或模块,定义子系统或模块间的接口关系,明确各模块的功能和职责,为后续的详细设计提供基础。

详细设计:首要任务是设计模块的程序流程、算法和数据结构,确保模块的功能能够正确实现。次要任务是设计数据库,根据系统的需求选择合适的数据库类型(如关系型数据库、非关系型数据库),设计数据库的表结构、字段类型和关系等。常用方法还是结构化程序设计方法,通过自顶向下、逐步求精的设计思路,提高代码的可读性和可维护性。同时,编写软件概要设计和详细设计说明书、数据库或数据结构设计说明书、组装测试计划等文档,为后续的开发和测试提供详细指导。

编码阶段程序转换:把软件设计转换成计算机可以接受的程序,即写成以某一程序设计语言表示的“源程序清单”。这要求开发人员充分了解软件开发语言、工具的特性和编程风格,以便选择合适的开发工具,保证软件产品的开发质量。

开发语言选择:当前软件开发中,除在专用场合,已经很少使用二十世纪80年代的高级语言了,取而代之的是面向对象的开发语言。而且面向对象的开发语言和开发环境大都合为一体,如Java、Python等,它们提供了丰富的类库和开发工具,大大提高了开发的速度和效率。开发人员应根据项目的需求和特点,选择合适的面向对象开发语言。

测试阶段测试目的与用例设计:软件测试的目的是以较小的代价发现尽可能多的错误。要实现这个目标,关键在于设计一套出色的测试用例。测试用例由测试数据、功能和预期的输出结果组成。

白盒法测试:测试对象是源程序,依据的是程序内部的逻辑结构来发现软件的编程错误、结构错误和数据错误。结构错误包括逻辑、数据流、初始化等错误。用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果,通过测试程序的各种执行路径,确保程序的正确性。

黑盒法测试:依据的是软件的功能或软件行为描述,发现软件的接口、功能和结构错误。其中接口错误包括内部/外部接口、资源管理、集成化以及系统错误。黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口,通过模拟用户的实际操作,检验软件是否满足功能需求。

维护阶段软件修改与适应需求:维护是指在已完成对软件的研制(分析、设计、编码和测试)工作并交付使用以后,对软件产品所进行的一些软件工程的活动。即根据软件运行的情况,对软件进行适当修改,以适应新的要求,如用户需求的变更、业务规则的调整等,以及纠正运行中发现的错误,如程序漏洞、数据错误等。

报告编写:编写软件问题报告、软件修改报告,详细记录软件运行过程中出现的问题、修改的内容和原因等信息,为后续的软件维护和管理提供依据。一个中等规模的软件,如果研制阶段需要一年至二年的时间,在它投入使用以后,其运行或工作时间可能持续五年至十年,那么它的维护阶段也是运行的这五年至十年期间。在这段时间,人们几乎需要着手解决研制阶段所遇到的各种问题,同时还要解决某些维护工作本身特有的问题。

维护工作的重要性:做好软件维护工作,不仅能排除障碍,使软件能正常工作,而且还可以使它扩展功能,提高性能,为用户带来明显的经济效益。然而遗憾的是,对软件维护工作的重视往往远不如对软件研制工作的重视。而事实上,和软件研制工作相比,软件维护的工作量和成本都要大得多。

在实际开发过程中,软件开发并不是从第一步进行到最后一步,而是在任何阶段,在进入下一阶段前一般都有一步或几步的回溯。例如,在测试过程中发现的问题可能要求修改设计,用户可能会提出一些新的需求来修改需求说明书等。因此,开发团队需要具备灵活应变的能力,及时调整开发计划和策略,确保项目能够顺利完成。