软件风险管理融入人工智能以降低风险概率

2018-09-26 11:11杜帅
山东工业技术 2018年16期
关键词:融入人工智能

杜帅

摘 要:软件工程在计算机技术取得进展后也飞速发展,但是项目进行中仍会在人为和环境因素的作用下遇到风险。以人工智能的几个应用融入到软件风险管理中,会产生不可小觑的作用。

关键词:软件风险;人工智能;融入

DOI:10.16640/j.cnki.37-1222/t.2018.16.097

1 软件风险管理

计算机技术已经历经六十余载的历程,取得了突飞猛进的进步发展。计算机的多领域运用推动社会各行各业换代升级,改变人们的衣食住行。计算机软件系统是信息化的不可或缺的部分。软件工程(Software Engineering)在软件开发中有重要地位。“软件工程”在Fritz Bauer、Boehm、IEEE和《软件工程术语》等代表性定义中概括讲为:“指导软件开发和维护的工程性学科,它以计算机科学理论和其他相关科学的理论为指导,采用工程化的概念、原理、技术和方法进行软件的开发和维护,把经过时间考验且证明是正确的管理技术和当前能够得到的最好的技术方法结合起来,以较少的代价获得高质量的软件并维护它。”但是软件和生物一样会经历孕育、诞生、成熟、衰亡的生存期历程,包括软件定义、软件开发和运行维护管理三个过程。

就如从古至今没有几个人一生一帆风顺,软件的生存期过程也可能出现影响软件目标或是可能造成重大损失的事件,即为软件风险。风险是过程中可能发生的事,这个可能性用风险概率描述。降低软件风险发生的可能性,使这个概率接近于0,对加快开发进度、降低预算、避免严重后果并减少损失有莫大的帮助。

2 基于人工智能减少风险概率的想法

人工智能(Artificial Intelligence,AI)主要研究用人工的方法和技术,模仿、延伸和扩展人的智能,实现机器智能。人工智能的长期目标是实现人类水平的人工智能,实现机器智能。当前,几乎所有的科学与技术的分支都在共享着人工智能领域所提供的理论技术。以人工智能中的几种应用融入软件风险管理的评估、控制等实施步骤,可提高风险管理的效率。

2.1 基于专家系统领域

专家系统(Expert System)是顾名思义基于知识的系统,依靠人类专家的知识建立体系结构,存储问题求解所需的知识,根据人工智能问题求解技术,模拟人类专家求解问题时的求解过程求解所涉及领域的各种问题,达到具有与专家同等解决问题能力的水平。在对风险识别阶段,从项目的具体情况入手找出可能会存在的风险。一些软件项目或是因为对自身的情况挖掘不足,停在理解,或是缺乏经验过于乐观,便为未预料到的情况埋下了隐患。若是以来自软件工程领域的专家的知识背景参与到识别风险中,可为决策提供专业性建议。人工智能的专家系统将风险问题与多位专家专业性知识共同组成的知识库中各个规则的条件进行匹配,并把被匹配规则的结论存放到综合数据库中,得到最终的分析结果。专家系统能够将自身的推理过程为用户解释清楚,使用户在询問中理解自己的过程,会比多数软件开放者独自的思考结果更加可靠。

2.2 基于数据挖掘

数据挖掘(Data Mining)能从大量数据中通过算法搜索挖掘出隐藏于其中的深层次的、未知的、有潜在价值的信息知识。在风险识别以后需要进行分析何时何处风险会发生,会产生怎么样的后果。风险分析常采用成本模型、判定分析、网络分析等方法,数据挖掘可以为这些分析方法提供更多的数据方面的支持。虽然传统统计分析技术基于完善的数学理论和高超的技巧,预测的准确度也可以达到人们的预期要求,但是对使用者也提出了与之难度相对应的高要求。数据挖掘是一次延伸扩展,在降低对使用者的门槛的同时,也通过数据评估后的相应的数据库更简单便捷得到相应的功能。步骤的简便化换来的是使用者的低操作失误率,这样便提高风险分析的准确率。

2.3 基于语义Web

语义Web(Semantic Web)以让Web上的信息能够快速被机器所理解,从而实现Web信息的自动处理,以适应Web信息资源的快速增长,更好地为人类服务为目的。软件工程中的开发者目前要解决的问题数量庞大,用户对软件的质量和开发周期的要求更加苛刻,软件开发人员多数面临开发期长、成本高、质量不达标的问题,这是一个领域共同的问题。软件开发人员在通过网络搜寻与软件风险相关联的事物时,牵扯了语义Web一方面的应用“互联网信息发布与搜索”,通过对内容的标注与分析从而克服了关键词查询的歧义性,提高了查询的精度。语义Web给人的是一个所有数据“无缝”式连接的网络,一个滴水不漏的网络。

2.4 基于机器人领域

机器人(Robot)是一种具备和生物相似的智能能力,具有高度灵活性的自动化机器。工业机器人按照人的规定的程序工作,自身不能对程序调整,软件的批量生产的流水线一般由这种类型的机器人实施。在风险控制阶段,一些可能会对人体造成未知伤害的操作可有初级和高级智能机器人(具有感觉,识别,推理和判断能力,区别在于是否能根据外界环境,在一定范围内自行修改程序)实施。项目的风险经常依赖于外部因素发生,需要跟踪监控,定期对风险进行重新评估,这个步骤便可交给智能机器处理,节省工作人员的时间。

2.5 基于模式识别技术

模式识别(Pattern Recognition)是用数学、物理和技术的方法实现对模式的自动处理、描述、分类和解释。通过遥感图像识别软件在实际运作时的异常表现点,为风险评估提供部分依据。指纹识别应用于开发人员的日常工作中,便于监督每位成员的操作,也有助于后期落实到具体人员的责任,督促每位参与者谨慎研究,减少人为造成风险。语音识别加快软件开发过程中的信息处理,加快软件开发进度。

3 结束语

在众多项目实践中获得的风险管理经验和教训,软件工程项目中的风险是客观存在的,不可能完全避免的。人工智能的研究仍在不断进行,一旦人工智能在软件工程领域的应用得到飞跃性突破,软件风险概率必然会有所下降,软件工程项目的发展会更加顺畅。

参考文献:

[1]郑人杰,马素霞,殷人昆.软件工程概论[M].北京:机械工业出版社,2014(02):314-323.

[2]史忠植,王文杰.人工智能[M].北京:国防工业出版社,2007:18-23

猜你喜欢
融入人工智能
人工智能之父
2019:人工智能
人工智能与就业
数读人工智能
社会主义核心价值观在大学生社会实践中的作用
关于“四个全面”战略布局融入“概论”课教学的几点思考
初中阶段的数学教学方法论
下一幕,人工智能!
下一幕,人工智能!