基于互联网群体智能的软件开发
凯发国际首页入口

  在过去的几十年里,一些软件开发活动已经成为传统方法的难点,传统的软件开发方法已经无法有效应对互联网环境下显着提升的软件规模和复杂性。互联网的持续发展促成了互联网群体智能现象在各种问题领域内的不断涌现和蓬勃发展,其中,开源软件、软件众包等已经显着改变了人们对软件开发的理解,并提出了基于群体尤其是互联网群体的软件开发的新实践[9],在此基础上逐渐形成了基于互联网群体智能的软件开发模式。

  群体智能可支持软件工程的不同阶段活动。最近的研究表明,群体智能可帮助开发和测试应用程序,以及分析软件需求,同样,也可以直接用来实现应用程序[6]。软件工程的复杂性决定了软件开发的群体智能具有许多独有的特征和问题,这些特征和问题与普通的智能化不同。同时,互联网的不可靠性、动态性、消费性以及社会性四个特征又导致基于互联网的软件开发面临很大的挑战[6]。因此,群体智能在软件开发中,依然需要支持如下的几个特性:

  (1)科学性:基于群体智能的软件开发是软件工程学科,需要遵循编程语言的严格语法和语义、遵循各类工程标准,如文档标准、各种过程活动标准等;

  (2)创造性:软件生命周期中各项活动如需求分析、设计、实现等需要软件开发人员的创造性,基于群体智能的软件开发依然要考虑如何激发软件开发人员在软件开发任务中的创造力;

  (3)主观性:主要体现在软件类产品的质量、DFX等特性。除了产品功能以外,软件类产品/服务的前述质量和诸可性等需求特性,依然是我们需要关注实现的。尽管其带有一定的主观性,但是也有相应的评估标准。