周丽霞
(中国人民大学,北京 100872)
在大数据时代各行各业的数据信息不断增加,在这一背景下要整合与优化计算机软件技术,提升自身发展质量与效率,确保能适应大数据时代的发展要求。在实际应用中各行各业对计算机软件技术的应用要求不断提高,要求能更加规范地管理计算机软件。因此,企业在对数据信息进行分析时,需使用专业的数据处理软件,提升数据信息的真实性与准确性,能对行业发展趋势进行有效判断,为自身发展提供可靠支持。
信息时代人们的生活与工作中会产生大量数据,这些数据中蕴含着大量有用信息和知识,有助于企业管理者作出科学有效的管理决策。在计算机与通讯技术的快速发展下,数据呈爆炸式增长,也促使人类进入大数据时代。数据分析与挖掘是大数据时代的一门信息技术,其驱动力是数据的增加与对于数据分析的需求。文字为载体的信息量在工业革命之后每十年翻一番,在1970 年之后,信息量开始每三年翻一番,截至现在信息量开始每两年翻一番。2020 年全球数据使用量大约为35ZB,实现爆发式增长。数据存在的主要区域有地理信息、医疗卫生等各个区域,数据量在数据采集成本下降过程中得到快速增加,且数据类型随着新数据源及数据采集技术的出现得到极大增加,这也让数据空间维度得以增加,大数据的复杂度增加。以淘宝网为例,会员的数量大约为3.7 亿,在线商品数量超过8.8 亿件,每天都会有大量数据产生,这些数据如果不加以科学利用,就会白白浪费,无法实现大数据的价值。计算机软件开发中,要在大数据时代合理应用软件工程方法,深度挖掘大数据的作用,确保计算机软件开发质量。
计算机软件开发在大数据时代要遵循严格管理的原则,这是在长期软件开发中总结出的经验教训,对软件开发的有效性十分关键。软件开发需求增加过程中软件系统开始变得复杂,为软件开发管理增加难度。很多软件开发团队未能对不同开发阶段进行严格管理,导致开发项目管理出现失控或者混乱现象,严重影响软件开发质量与效率[1]。
软件项目立项后就要针对实际情况提出立项建议,对项目立项可行性进行论证。在软件开发过程中,要求开发团队不能对畜禽进行随意改变,一旦对一项需求改变之后,往往需要付出很高的代价[2]。所以要求开发团队要做好产品控制,在变动控制下提升产品控制效果。为确保软件各个配置成分的一致性,要严格实施产品控制,实行基准配置管理。
软件开发项目人员需具有较高的专业性与素养,一般人数不宜过多。软件产品质量与开发效率会受到开发者素养与数量的直接影响,综合素养较高的开发人员,不仅能提升软件质量与效率,也能减少错误,同时开发人数过多不仅会增加沟通成本,还会影响开发效率。所以软件开发团队质量要高,人数要少。
软件工程学科领域研究的对象之一是软件工程方法,主要包括方法、工具与过程三个要素,在软件开发过程中采取技术路线与措施,确保开发的有效性。软件工程方法有结构化方法、基于Agent 的方法、形式化方法等多种方法和技术,Agent 方法在软件工程发展中占据重要地位,是软件开发方法从无序到有序的重要一步。结构化方法是指任何保护结构设计的软件开发技术。程序可以在结构化方法应用下分解为不同模块与过程,其他模块的内部细节无序在编写各个模块时进行了解[3]。基于Agent 的方法,这种方法以计算机科学为基础,认为许多自主的或非自主的实体组成现实世界,相互之间存在交互与通信,各类复杂任务能在该方法帮助下有效完成。形式化方法对基于数学的语言和工具进行说明和检验,系统的不一致性、二义性及不完全性可通过这种方法进行揭示,从而能让人们对系统更加深入的了解[4]。
3.2.1 便捷性
外部工具与科学技术的应用策略相结合是软件工程方法的主要手段,这样能对计算机软件功能进行有效开发。软件工程方法依托软件工程技术架构,技术内容的复杂程度相对较低,能为计算机软件开发提供更加便捷的帮助,计算机软件开发过程中无需依赖长期数据与数据代码堆叠,帮助开发者在短时间内完成各种问题。
3.2.2 多元化
保护代码调试工具、抓包工具等是软件工程方法所需的外部工具。软件工程方法在计算机软件开发需求的不同下存在较大差异。结构化方法是计算机软件开发早期阶段的方法,在计算机技术的快速发展与应用下,这些年人们开始使用对象方法、形式化方法等多种方法,为计算机软件开发提供更加多元的软件工程方法。
3.2.3 安全性
软件工程方法使用方案在当下较为成熟,相对比较安全。在现有方案中,要求植入额外软件程序,以此来保证软件工程方法的安全应用。为避免数据信息盗取、数据信息丢失等各类问题,软件工程方法中的外部工具要具备较高的安全性,保证计算机软件开发具有较高的安全性[5]。
在大数据时代,计算机软件需遵守系统设定的前提,深度挖掘与分析数据,提炼出客户所需的数据信息,以此来为各项工作的开展提供支持。在大数据时代软件工程方法的应用,要求能符合大数据的实际情况,满足计算机软件开发的实际需求。
大数据与各项技术的结合属于垂直领域,但软件工程所涉及的是横向领域,所以在二者结合过程中,要对软件产品及软件系统工程上的现实及其管理更加重视。软件工程方法是支撑大数据应用的关键所在,也就是在大数据的应用全过程都需要软件工程方法的支持。软件开发具有较强的综合性,且在各个学科与领域中得以渗透,当前软件工程所研究的主要对象是大数据技术,要求在软件开发全过程能得到大数据的支持。数据链条的完整性是大数据应用的基础,要求能在海量的数据中通过相应的算法帮助,挖掘数据的价值与规律,按照相应的环境不断升级算法,坚持计算机软件开发的基本原理,对数据分布进行调整,将大数据与软件工程方法结合在一起[6]。数据共享在开放环境中利用网络与通信技术,不断提升软件技术与水平。软件效率在软件工程方法与大数据的应用下得以提升,满足可需求,实现软件效益最大化。在数据流的快速增长过程中,对软件与硬件要求不断提升,这时工程技术人员要对数据进行深度分析,分析的主要内容为数据流,为软件系统的优化提供支持。
软件工程的扩展是软件服务工程强调的重点。这些年在软件服务工程的快速发展过程中,成为当下社会的主要发展趋势,软件开发也要遵循服务功能这一基本原则[7]。可将软件服务工程理解为“软件+服务+工程”,是这三方面的融合与交叉。在相应的团建服务设施与平台下,能开发出高水平的软件服务系统。根据客户需求,软件开发者可在现实应用中将建设目标确定为面向服务。搭建良好的软件框架是开发需关注的焦点,要对编程语言、思路等进行构思与利用,能保证开发软件满足服务与应用需求,确保软件运行期间的稳定性。软件开发者在实际服务期间,要对分布式应用程序进行有效应用,为给用户提供相应的服务,需采取虚拟操作方式。
大数据的应用对数据进行编程,实现软件互操作的效果,提高对数据的主动协调。数据信息的共享功能能为软件开发者提供帮助,通过学习交流,实现软件的协同开发,同时利用用户反馈,优化处理软件系统,提升软件的性价比。在软件习作模式中开源软件属于较为成功的模式,但是其应用价值采取常规研究方法依然不高。群体软件工程相比于开源软件,是一种分布式软件开发模型,任务分配是利用网络实现的,能实现创造性的查询,对于开发过程中的难题可以通过众包形式的开发得以实现[8]。众包开发贯穿于整个开发过程。开源软件与商业软件在分布式生产开发模式下,任务和责任分配可通过网络实现。在计算机科学技术的快速发展过程中,软件工程技术发展迅速,软件服务工程得到极大进步。大数据时代要在软件工程开发中应用大数据技术,提升数据的分析与利用水平,确保软件的安全与可靠,保证操作的稳定性。
James Gray 对于人类科学研究模式的总结与划分,在模拟的方法后将计算科学分为三个阶段,即第一范式、第二范式与第三范式。在模拟连同实验中产生大量数据,对于这些仪器与模拟实验所产生的海量数据,要求能使用软件进行处理,并在计算机中存储这些信息与知识。对于存储于计算机中的少量数据,科研人员发现直接通过仪器或者模拟进行研究已经无法满足其需求,但是基于数据密集型科研研究具有独特性,且将这种数据密集型的科研模式称之为第四范式。在大数据背景下,第四范式是软件工程技术研究的关键所在,要求软件工程技术与第四范式相适应。数据信息的共享与利用在传统模式下水平较低,无法为项目管理目标的实现提供支持。
第四范式模式下,集成密集型数据的软件服务价值评估十分关键,为对数据进行有效存储与处理,有效提升处理质量与效率,要对传统数据统计处理方法予以革新,利用大数据对信息统计和分析的方法进行构建,确保软件工程技术的创新。软件工程方法在大数据背景下,更加重视对大数据的处理与分析,也是整个产业发展的关键所在,利用大数据驱动第三范式向第四范式转变,提升软件系统的服务与应用价值。
大数据时代软件工程方法在计算机软开发应用中,重要应用的领域有专业教育、医疗监管及管理辅助、军事工业设备研发、人工智能技术应用等多个领域。比如在人工智能领域,计算机处理技术是人工智能的延伸,将大数据时代软件工程方法运用其中,能有效提升计算机及人工智能技术的应用水平。人工智能技术的应用,要具备较强的学习能力,且能针对环境变化对信息进行判断,并为决策提供支持。在软件工程方法下,人工智能技术的应用可分为两个维度。首先,开发软件系统要以计算机为载体。人工智能技术在应用前,可利用这类软件进行调试。其次,软件工程方法的选择要以人工智能技术嵌入式结构为视角。人工智能技术的应用主体是数码设备,嵌入式结构是主要方式,人工智能技术的激活与应用是在互联网的支撑下实现的。
大数据背景下软件工程方法在计算机软件开发中的应用,要利用好大数据,深度挖掘与分析数据,并能有效利用数据,为软件工程方法的有效利用提供帮助。软件工程方法不能固步自封,要强化大数据的利用,针对计算机技术的发展,创新应用方法,高效结合大数据与软件开发方法,合理在软件服务工程中应用,并能关注数据密集型科研第四范式,在不同领域中提升软件工程方法的应用效果,提升计算机软件开发的整体效果。