基于网络的可信软件大规模协同开发与演化.docx

基于网络的可信软件大规模协同开发与演化.docx

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件维护与演化技术专刊 · 论文 基于网络的可信软件大规模协同开发与演化 王怀民①*, 尹刚①, 谢冰②, 刘旭东③, 魏峻④, 刘江宁⑤ ① 国防科学技术大学计算机学院, 长沙 410073 ② 北京大学信息科学技术学院软件研究所, 北京 100871 ③ 北京航空航天大学计算机学院, 北京 100191 ④ 中国科学院软件研究所, 北京 100080 ⑤ 山东中创软件商用中间件股份有限公司, 济南 250014 * 通信作者. E-mail: whm w@163.com 收稿日期: 2013–08–13; 接受日期: 2013–12–27 国家高技术研究发展计划 (批准号: 2007AA010301, 2012AA011201) 资助项目 摘要 随着网络时代的来临, 软件的开发模式、运行环境和提供方式发生了巨大变化. 互联网作为 一种开放的协同工作环境, 其中孕育的大规模协同创作机理对软件开发和应用产生了深刻影响. 如 何将其与工业化可信软件生产相结合以提高软件生产效率和质量, 是网络时代软件技术面临的新课 题. 本文提出汇聚群体智慧的可信软件开发新方法 —— 群体化方法, 该方法的核心是 “群体协同、资 源分享、运行监控、可信分析”, 支持创新软件作品向可信软件产品转化, 支持软件的可信演化. 提出 一种基于证据的可信软件概念模型, 将软件在开发阶段、分享阶段和应用阶段的基础数据作为软件 的可信证据, 并据此建立了软件演化过程模型; 提出一种支持可信软件协同开发与演化的服务模型, 支持软件创作与生产深度协同的可信软件社会化生产、开放有序的可信软件资源分享, 以及基于海 量数据分析的软件可信评估. 最后以 “十一五” 国家高技术研究发展计划重点项目 “高可信软件生产 工具及集成环境” 为背景, 阐述了面向群体化方法的关键技术、开发环境和应用实践. 关键词 可信软件 群体协同 资源分享 运行监控 可信分析 软件演化 1 研究背景 提高软件生产效率和质量一直是软件领域的重大课题. 随着网络时代的来临, 软件的开发模式、 运行环境和提供方式发生了巨大变化, 经典软件开发方法在提高软件生产效率和质量方面的局限性日 益凸显, 软件可信问题更加尖锐. 传统的可信软件解决之道中隐含 2 个假设: 第一, 高质量的软件是设 计和构造出来的, 本文称其为 “构造论”; 第二, 软件缺陷是人在设计和构造软件过程中的失误导致的, 本文称其为 “人为论”. 因此, 传统的软件开发方法和技术更加关注在软件开发阶段排除人为失误对软 件质量的影响, 产生了自动化和工程化两个具有里程碑意义的经典的软件开发方法 (见表 1). 自动化方法源起于 20 世纪 60 年代高级程序设计语言及其自动编译技术 [1,2]. 该方法的核心思想 是建立高级形式化系统, 给出软件需求和设计的高层次形式化规约, 在此基础上, 通过自动变换由规 约产生符合规约的可信目标代码. 自动化方法取得的成就是无容置疑的. 但是, 人们很快发现自动化 引用格式: 王怀民, 尹刚, 谢冰, 等. 基于网络的可信软件大规模协同开发与演化. 中国科学: 信息科学, 2014, 44: 1–19, doi: 10.1360/N112013-00128 表 1 软件开发方法的 3 个重要里程碑 Table 1 The three important milestones of software development methods Time of emergence/rise Software development methods Typical technology and practices 1960s 1970s 1990s Automation-based method Engineering-based method Crowd-based method High-level language Software engineering Open source software 方法面临一系列不可逾越的理论极限 [3~5]. 进入网络时代, 大量成功的网络化软件系统越来越远离自 动化方法, 而自动化方法在其重点关注的领域 (例如, 关键领域的嵌入式软件), 随着问题复杂性和软 件规模的增大其理论研究与实践步履维艰. 工程化方法源自 20 世纪 70 年代初软件工程概念的提出与初步实践 [6]. 工程化方法的核心思想 是将软件视为一类新型产品, 借鉴传统工业产品的产生模式, 建立严格的工程规范, 在软件生命期的各 个阶段, 通过规范管理和辅助工具, 提高

文档评论(0)

yurixiang1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档