APP下载

计算机应用软件自动化开发技术分析

2024-05-03

信息记录材料 2024年3期
关键词:开发技术代码数据挖掘

尹 杰

(辽宁省劳动经济学校 辽宁 沈阳 110045)

0 引言

计算机行业之所以能够在现代社会得到飞速、全面发展,除了先进技术、性能的推动作用外,还与计算机程序设计语言有直接关系。一般计算机编程语言有多种,按照应用的先后顺序与不同阶段,依次是“机器语言—汇编语言—高级语言”。在研发计算机阶段中,采用实际二进制,即机器语言,计算机可直接对其进行读取,但会面临代码过长的问题,缺少记忆点。在机器语言基础上,后期提出了汇编语言,将原本二进制代码替换为符号,增加了计算机应用软件编程环节的便捷性。但发展至今,计算机编程更多是以高级语言为主,属于一种与人类语言最为相近的编程语言,在开发计算机应用软件中应用可以提高效率,降低难度。基于目前软件开发的经验,编程语言还需要与自动化开发技术组合应用,以自动化形式开发、组建业务,使编程语言的效果达到最佳,也可以进一步提升软件开发质量。为此,本文围绕计算机应用软件开发中自动化开发技术的应用展开分析,介绍不同技术的应用要点,旨在提高计算机应用软件性能。

1 计算机应用软件开发自动化的方向

计算机应用软件开发向自动化方向转型,核心要义是“全自动化”,即开发全过程的自动化,直至已经生成业务组件[1]。事实上目前计算机应用软件的开发、应用中,已经实现了组装自动化,开发的所有业务组件,无论是生成还是重新应用,均在计算机中取得了明显的效果。应用软件业务组件在自动化技术的辅助下,还解决了质量、兼容、集成性等多领域的“疑难杂症”,使业务组件、业务组建与安装等,均实现了一体化的创新。

自动化技术与计算机应用软件开发融合,设计自动化系统,在开发过程中可以显著提高效率、优化软件开发效果[2]。站在用户角度,在实际操作软件中,无论是软件升级还是运维,都在自动化技术帮助下得到了保障。

2 计算机应用软件自动化开发技术与运用

2.1 代码生成技术

代码生成技术基于已有模板与既定规则,可以自动生成软件开发的代码。此技术比较常用于重复型软件的开发,具体包括表单、报表和数据处理。此外,通过代码生成技术,还可以自动生成框架代码或者是接口代码。工作人员除了比较基础的手写代码外,还可以选择文本替换、模板引擎的形式形成代码。模板引擎在代码生成中比较常见,具体使用的工具有Freemarker 和JET。下面分别介绍几种代码生成技术的应用要点。

2.1.1 代码模板技术

代码模板技术在开发计算机应用软件中,主要是采取预定义代码模板,自动生成代码。一般已有的代码模板中包含大量信息,是由程序结构、变量声明、函数定义等组成的,软件的开发人员仅需填写代码逻辑,便可以完成代码的生成。选择代码模板工具时,主要有Eclipse JDT 和IntelliJ IDEA[3]。

2.1.2 领域特定语言技术

所谓领域特定语言,是以特定领域开发的编程语言,采用的是定义领域中指定语法以及语义获得程序设计权。通过此技术将领域知识、代码生成组合,此时开发人员按照领域中指定的语法,便可以快速编写程序逻辑,再利用领域中指定的语言编译器,可以自动生成实际需要的代码。一般在软件开发中,比较常用Xtext 和JetBrainsMPS相关工具。

2.1.3 反射技术

计算机应用软件开发中应用的反射技术,本身属于运行状态下的动态生成代码的手段,当程序处于运行状态时,可以按照程序所需动态,自动生成代码[4]。此技术通过Java 所包含的反射机制,便可实现运行过程中利用不同信息,如方法信息和变量信息完成代码的生成,例如可以采用Java 反射应用程序接口(application programming interface, API)的手段。

2.1.4 元编程技术

元编程技术通过程序可以继续生成程序,利用编写元程序的方法,可以获得实际需要的代码。应用此技术期间,编译或者试运行过程中可以直接生成代码。注意在编译状态所生成代码,往往代码性能与稳定性更强。运行中生成代码则更具灵活性。例如选择元编程技术时,可以应用C++模板元编程或者是Python 元编程工具。

2.2 数据挖掘技术

数据挖掘包含了统计学、数据库和机器学习等技术,现代社会中数据库技术水平不断提升,储存数据的途径越来越多,但数据量积累增多,也会带来一些问题。以企业为例,既往的数据查询与统计形式往往相对简单,但很难满足现代社会中的商业需求,需要在数据量激增,且相对繁琐的数据当中,以最快的速度提炼出价值高的信息。在此背景下为机器学习技术创建了适合的提升环境,数据库存储与计算机算法分析两项技术也得到融合,并且开始关注到数据的隐藏内容,随之提出了数据库知识发现(knowledge discovery in database, KDD)的概念。关于此概念的实现过程,流程共分为7 步:①数据清理;②数据集成;③数据选择;④数据转换;⑤数据挖掘;⑥模式评估;⑦知识展示。基于以上7 个环节可知,数据挖掘在KDD 是相对重要的一部分,梳理KDD 和数据挖掘之间的联系,见图1。

图1 KDD 和数据挖掘联系

计算机应用软件的开发中应用数据挖掘,划分任务包括以下几个方面:①分类;②预测;③关联分析;④聚类分析;⑤回归;⑥智能推荐以及其他。无论是企业还是政府,需要按照业务的具体内容,采用数据挖掘技术,在现有数据当中做出提取,提炼出价值高的信息,数据挖掘任务如图2 所示。

图2 数据挖掘任务

开发软件中应用数据挖掘技术,主要可以分为5 种方法:一是分类和预测,二是聚类,三是关联规则,四是时序模式,五是离群点监测。①分类与预测方法。此方法需按照先后顺序,基于已知类别数据集,由技术人员完成建模,此模型负责划分样本类别、监督学习的作用,在模型构建中准确率也比较高[5]。预测则是通过现有的数据集训练模型,发挥构建模型的作用,对未知样本数据表现做出预测,以此了解2 个或超过2 个变量的关系,构建互相依赖模型。此算法常见的技术有回归分析技术、人工神经网络技术以及决策树技术等。②聚类方法。此方法将所有相似对象依次划分至对应小组与集合,保证小组或集群具有较高的相似度,而且各组与各集群之间还要体现明显差异。一般可采用k 均值聚类(k-means)算法和k-中心点算法等。③关联规则分析。此方法也被称为购物篮分析,对2 个或超过2 个变量所具有的相关性进行分析,还可了解变量之间的相关性强度,有Apriori 算法和TP-Tree 算法等。④时序模式。此方法的作用是对时间或者序列潜在规律进行分析,了解发展趋势,根据已知值预测未知值。但需注意,样本数据更多是根据时间发生改变。主要有平滑法和趋势拟合法等。⑤离群点监测。此方法在软件开发中,可以发现与数据集包含的其余数据对象的显著区别,例如统计、邻近度、密度、聚类等基础上的离群点检测。

应用数据挖掘技术构建数据挖掘模型,包括流程如下:①设定挖掘目标;②采集数据;③数据分析与预处理;④建模;⑤模型评估;⑥分析模型结果。

3 计算机应用软件自动化开发及其案例分析

3.1 软件开发基本情况

为了更加全面地了解计算机应用软件自动化开发技术的应用效果,下面以数据管理软件为例展开分析。此软件主要是为了减少数据收集工作量、提高管理质效而设计。现总结软件设计需求如下:

(1)业务描述。软件系统角色分为普通用户与管理员,普通用户主要是注册登录、储存个人信息等,管理员包括登录、用户管理等。业务问题概述则需要从用户和管理员两个角度做出分析,前者包括注册、登录等业务,后者包括新增认知量表和用户管理两项业务。

(2)业务流程。具体包括流程有用户注册业务分析、用户登录业务分析、新增被试者基本资料业务分析、认知量表评估业务、认知数据管理业务。

3.2 软件开发与设计

3.2.1 功能包图

此次开发数据管理软件,整体功能包图见图3。

图3 软件功能包图

3.2.2 数据库与软件实现

此次开发数据管理软件,数据库包括数据库表(被试者表、报告表答卷表、量表答卷表、量表、评定卷等)、表间关系分析。软件开发环节需要应用多个工具,如Java 开发工具,具体选择的是IntelliJ IDEA,该工具主要用于代码编辑,功能是优化编程过程,提高软件开发效率。数据储存方面,选择的是MySQL 关系型数据库管理系统。整理软件开发环境见表1。

表1 软件开发环境

3.2.3 软件测试

当软件开发结束,技术人员需要组织测试。安排功能性测试时,要求采用设计测试用例。技术人员输入错误密码,观察软件当下的提示,或者是评估量表环节,技术人员填入信息储存失败,此时软件会给出提示。当所有测试用例结束,选择在云服务器上部署项目,同时完成软件维护。

另外,面向软件的使用对象即用户组织测试,用户表示软件的使用感较好,可以使用量表在线测试、管理评估数据。实际上在软件使用中,也会随之采集用户的反馈信息,定期更新系统。

3.3 建模与分析

3.3.1 自动化开发技术

此次数据管理软件开发阶段的建模,主要选择kmeans 算法,迭代求解聚类分析,应用步骤如下:①确定k值;②在数据集内,以随机的方式选取k个数据点,将此作为质心;③计算数据集内各点和质心间距,完成类别划分;④若计算得出的新质心和原质心间距,已经超出任意设定阈值,需要迭代②~④步骤;⑤若新质心和原质心间距,对比任意设定阈值较小,即可判定为聚类结束,算法也可在此时终止;⑥输出结果。

3.3.2 聚类分析

此次采用k-means 算法,即在数据集内部,对已经给出的k个簇聚类算法做出分析,按照业务需求与经验,由技术人员人为设定或选择方法,获得k值。期间还需进行计算,得出最优k值。具体可以选择的计算方法包括误差平方和、轮廓系数法等。

此次软件设计中应用误差平方和,技术人员在确定了各个k值后,再计算各簇内部的点与此聚类中心点距离之间的误差平方和。一般理论层面表示,计算得出的数值小,证明聚类结果好,且计算得出结果趋向于最小值。尽管增加簇数量能够达到减小数值的效果,但是却与聚类算法的应用初衷不符。轮廓系数法在应用中,技术人员确定i点,并对向量i和i所处簇内部其他点的间距进行计算,此为a(i);再计算向量i至其他簇之间的点平均距离,此为b(i)。计算公式为:

式(1)中,S(i)为轮廓系数。根据公式(1),轮廓系数范围是[-1,1],全部点轮廓系数计算平均数,为此次计算聚类结果轮廓系数,最终系数与1 越接近,代表聚类效果越好,且最终能够判定的是,此次开发数据管理软件的功能、性能等良好,满足使用需求。通过k-means 算法构建模型,并展开聚类分析,认识到软件各项功能的优劣势。以此为根据提出软件功能优化的措施。

3.4 系统安装

此次数据管理应用软件的上述所有开发设计流程结束后,技术人员可以采用自动化技术,安装软件到计算机系统中,技术人员需要对安装过程进行监督,以便安装过程出现问题可以马上处理。软件在计算机系统中安装,转换格式也至关重要,检查软件符合计算机系统要求的类型,可以最大程度体现出应用软件基本功能。一般计算机系统内部会安装防火墙,那么在软件安装中,技术人员应提前设置,要求软件可以自动取得在系统中的运行权限,保证软件的正确安装与应用。

4 结语

计算机应用软件作为支持计算机系统运行的关键之一,凭借多元化应用软件的功能,可以满足用户的操作需求。但是在计算机应用软件的开发中,要想满足逐渐多元化的使用与功能需求,技术人员需要应用自动化开发技术。通过本文对于自动化开发技术的介绍,一方面可以全面实现计算机应用软件开发过程的自动化转型,另一方面也能够提高软件开发的效率。立足于整体层面,自动化开发技术的应用为今后计算机应用软件的研发、设计夯实了技术基础,并且也能够进一步实现软件功能、性能等方面的不断改进。

猜你喜欢

开发技术代码数据挖掘
探讨人工智能与数据挖掘发展趋势
创世代码
创世代码
创世代码
创世代码
计算机应用软件开发技术的几点探讨
防散脱纬编无痕弹力面料开发技术国际领先
基于并行计算的大数据挖掘在电网中的应用
一种基于Hadoop的大数据挖掘云服务及应用
中国煤层气开发技术的现状与未来