19软件工程_王海
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
高级软件工程期末报告
19软件工程王海
1、提出问题
论述互联网背景下的软件工程新技术,包括云计算、大数据、物联网、区块链、人工智能技术等。
概述
本报告从目前互联网背景出发,研究当今软件工程新技术。其中包括云计算、大数据、物联网、区块链、人工智能技术等。本文分为两个方面,首先对以上主流技术进行概念定义,然后通过现有研究结合软件工程总结其中云计算、大数据和人工智能的发展和模式手段。
技术介绍
1、云计算
一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池(资源包括网络、服务器、存储、应用软件、服务),这些资源能够快速提供,只需投入很少的管理工作,或与服务商进行很少的交互。
2、大数据
一种规模大到在获取、管理、分析方面大大超出传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流转、多样的数据类型和价值密度低四大特征。如果将大数据比作一个产业,那么这种产业实现盈利的关键在于提高对数据的“加工能力”,通过“加工”实现数据的“增值”。
3、物联网
在之前被定义为通过射频识别(RFID)、红外线感应器、全球定位系统、激光扫描器、气体感应器等信息传感设备按约定的协议把任何物品与互联网连接起来进行信息交换,以实现智能化识别、定位、跟踪、监控和管理的一种网络,简言之物联网就是“物物相连的互联网”。后来被重新定义为当下几乎所有技术与计算机、互联网技术的结合,实现物体与物体之间:环境以及状态信息实时的实时共享以及智能化的收集、传递、处理、执行。广义上说,当下涉及的信息技术的
应用,都可以纳入物联网的范畴。
4、区块链(Blockchain)
借由密码学串接并保护内容的串连交易记录(又称区块),是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链作为比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
5、人工智能
研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分枝,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。它是对人的意识、思维的信息过程的模拟,人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。
论述与研究
(一)云计算
软件的发展大体上经历了程序、软件产品和软件服务3个阶段。传统的软件工程属于前两个阶段,随着云计算平台的发展,逐渐步入第二个阶段早期的计算机系统以硬件为主,在硬件上搭配规模不大的程序,程序开发的流程较为简单,开发效率依赖于程序员的个人才智。随着计算机性能的提升和应用的扩展,软件的比重不断提高。无论是从规模还是从复杂程度上,都超越了个人的设计开发能力。工程化的设计思想及其相关的技术方法逐渐开始在开发中显得愈加重要。1968年“软件工程”的概念被首次提出。软件工程强调的可维护性和文档化以及对软件生命周期系统化的管理使软件成为一种产品。软件产品的出现使得软件与硬件分离,成为独立的研究体系。在软件开发方法上逐渐形成了分析、设计、编码、运行、维护的一般流程。软件涉及的关系主体方面也基本形成了软件开发商与用户的二元格局.
云计算下,软件工程的变化主要体现在以下三个方面:
(1)构件的成熟度提高,软件的可复用程度得到提升。软件复用一直是提高软件开发效率,克服软件危机的重要途径,而构件可以在更高抽象层次上实现大粒度的软件复用。软件复用程度的提高一方面可以运用成熟构件模块减少软件开发错误,提高软件的可信性;另一方面则可以缩短开发时间,提高开发的绩效。根据国内著名PaaS提供商800APP提供的信息,云计算模式下开发时间可以缩减1 /3~1/10。绩效与可靠的矛盾关系一直是软件危机的根源所在,云计算在这两方面同时具有的优势无疑为缓解软件危机带来了希望。
(2)开发者面向业务应用,需求工程成为重点。在SaaS应用中,有很多应用具有相似或相同的功能,例如,很多在线网店都会具有搜索商品的功能。根据软件工程中基于构件的软件开发的原则,我们可以对这些“功能”进行复用。因此开发者有可能写很少的代码甚至不需要代码,而只需按照业务流程对平台中提供的各类资源进行设计和组织即可。这种模式下,需求与开发具有了同等的语境,同时需求在软件工程中的地位也将更加重要。
(3)云计算下的软件工程打破了软件开发商与用户的二元格局,第三方云计算中心的作用更加重要。云计算模式下的软件开发和运行环境基本上都是由云计算中心来架构的,这些资源按照开发者的要求进行配置。在开发者一端省去了硬件设施架构、运行环境调试等工作,只需一个浏览器和一些简单的工具就可以实施开发。开发完成之后的测试以及运行和维护也全部由云计算中心负责.具体讲来,比如云计算下的软件测试就有很大的变化。
通过上面的介绍,可以看出云计算对于传统的软件工程产生了很大的影响。首先,云计算平台实现了更好的虚拟化,使得编程人员不用在硬件上话费大量的精力,可以高效的搭建软件。其次,云计算平台为用户提供了更好的代码复用(构建)和新的抽象方式,从面向对象转化为面向业务应用,开发人员可以把主要的精力放在需求分析上。最后,云计算的出现形成了下图的三元格局,提高了软件开发各个阶段的效率和可靠性。
(一)大数据
大数据对于当前社会和时代的基本作用就是不断收集社会主义发展过程中产生的数据,在不断发展的软件工程技术当中,数据的搜集、储存、分类、整理也是一个非常重要的部分,因此我们必须要将当前不断发展的软件工程技术与大
数据技术互相结合,使大数据时代下的软件工程技术拥有更多的突破和创新,对产生而来的信息进行有效的整理和快速的分类,使各个软件的协同能力迅速提升,建立起一个科学、规范、完整的现代化空间进行信息的储存,这样才能够方便各行各业发展过程中的信息使用需求。
(1)数据信息的存储
当前我国社会主义现代化事业不断发展,大数据时代的到来也加快着各个行业的发展和创新,因此产生了越来越多的数据信息,由传统的文字储存发展到图片、视频共同组成的现代化数据。我们在进行数据信息储存的过程中,需要对大量的信息进行整理和储存,不断要求计算机性能的
(2)提高以及储存空间的扩大。
运用传统的信息储存方法已不能满足当前信息产生的需要,极其容易产生信息缺失现象,因此必须要不断应用软件工程技术,这样能够不断节省信息储存的空间,同时能够保证信息储存的完整性和安全性。通过对软件工程技术进行创新和应用能够极大地为计算机节省必要的空间,不断提高信息储存效率及使用效率。
(3)利用大数据进行软件服务工程建设
近些年来我国计算机科学水平不断进步,软件工程技术研究领域也不断创新和发展,不断拓展和延伸软件工程技术的发展方向。在当前大数据时代的不断发展之下我们必须要对大数据技术以及软件工程技术进行融合和创新,进一步对网络数据进行编程,使各个软件具有可操作性、稳定性、安全性和科学性,能够很好地实现数据的协调,不断提高软件工程系统的集成度。
(4)信息安全技术的应用
大数据时代之下各行各业的发展都会产生大量的数据信息,而众多的数据和信息容易互相干扰和影响,因此为了不断提高数据的安全性,必须对数据进行进一步的管理和提升。当前必须要运用到大数据时代之下软件工程技术,对当前可能存在的网络风险进行查杀以及预防不断提高数据收集以及储存的安全性。总而言之,信息时代的到来大大改变了人们的生活和工作方式,也在一定程度上促进着社会主义现代化事业的不断发展当前大量涌出的数据信息存在着一定的风险,因此必须要运用软件工程技术,促进数据信息产生以及储存应用的安全性,不断