Page 83 - 基于深度学习的人工智能技术研究
P. 83
第二章 人工智能核心技术
并找到需求中的错误和不足之处。需求分析主要包括需求分类、需求排序、需求
冲突协商、需求交互研究等方面。在具体需求分析问题过程中,机器群体智能应
用十分广泛;人类群体智能应用受到一定限制;人机结合群体智能有一定优势。
当前,人类群体智能应用在需求分析中主要是利用众包技术实现需求优先级排
序;机器群体智能在需求分析中广泛应用的主要条件是当需求分析问题成为结构
化的优化问题时,同时机器群体智能也有利于形成多样化、高质量的最终解决方
案。人机结合群体智能对于需求分析方面也具有显著作用,其可以借助有效手段
弥补机器群体智能的不足之处。
2. 软件设计方面
软件设计是需求说明到软件实现的中间环节。机器群体智能在软件设计中应
用非常广泛,主要包括软件体系结构、软件产品线设计、针对服务的软件设计等
方面。机器群体智能在软件开发前期软件设计、软件维护和重构中的软件设计中
都发挥了重要作用。其中,机器群体智能应用的关键环节是通过选择和组合已有
软件组件,实现设计方案的优化。具体而言,机器群体智能应用在软件体系结构
设计方面,主要是明确系统组织方式及整体结构,并不断进行优化和改进。机器
群体智能应用于软件产品线架构设计方面,主要对软件产品线的自动演化提供了
帮助。机器群体智能应用于面向服务软件设计主要是利用先进方法提高了最终系
统的质量。
3. 软件构造方面
软件构造是将设计模型转变为目标软件系统的重要过程,代码编写是软件
构造的重点内容。不同层次群体智能在软件构造中发挥着不同作用,如人类群体
智能主要应用在辅助调式、程序优化和修复等环节,机器群体智能主要应用在程
序优化和程度自动修复等编码问题,同时人机结合智能群体在这方面也有一定
优势。
4. 软件测试方面
软件测试是借助有效技术搜索软件中潜在错误的过程,这与机器群体智能的
应用十分契合,尤其基于搜索的软件测试更是 SBSE 的最热门研究领域。同时,
人类群体智能也提出了不少基于众包的软件测试方法。具体而言,人类群体智能
主要应用在软件测试的性能测试、可用性测试等方面;机器群体智能主要应用于
测试用例排序、功能测试、回归测试、软件模型测试等方面;人机结合群体智能
75

