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

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

ID:10958518

大小:536.40 KB

页数:19页

时间:2018-07-09

基于网络的可信软件大规模协同开发与演化_第1页
基于网络的可信软件大规模协同开发与演化_第2页
基于网络的可信软件大规模协同开发与演化_第3页
基于网络的可信软件大规模协同开发与演化_第4页
基于网络的可信软件大规模协同开发与演化_第5页
资源描述:

《基于网络的可信软件大规模协同开发与演化》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、软件维护与演化技术专刊·论文基于网络的可信软件大规模协同开发与演化王怀民①*,尹刚①,谢冰②,刘旭东③,魏峻④,刘江宁⑤①国防科学技术大学计算机学院,长沙410073②北京大学信息科学技术学院软件研究所,北京100871③北京航空航天大学计算机学院,北京100191④中国科学院软件研究所,北京100080⑤山东中创软件商用中间件股份有限公司,济南250014*通信作者.E-mail:whmw@163.com收稿日期:2013–08–13;接受日期:2013–12–27国家高技术研究发展计划(批准号:2007AA010301,2012AA011201)资助项目摘要随着网络时代

2、的来临,软件的开发模式、运行环境和提供方式发生了巨大变化.互联网作为一种开放的协同工作环境,其中孕育的大规模协同创作机理对软件开发和应用产生了深刻影响.如何将其与工业化可信软件生产相结合以提高软件生产效率和质量,是网络时代软件技术面临的新课题.本文提出汇聚群体智慧的可信软件开发新方法——群体化方法,该方法的核心是“群体协同、资源分享、运行监控、可信分析”,支持创新软件作品向可信软件产品转化,支持软件的可信演化.提出一种基于证据的可信软件概念模型,将软件在开发阶段、分享阶段和应用阶段的基础数据作为软件的可信证据,并据此建立了软件演化过程模型;提出一种支持可信软件协同开发与演化

3、的服务模型,支持软件创作与生产深度协同的可信软件社会化生产、开放有序的可信软件资源分享,以及基于海量数据分析的软件可信评估.最后以“十一五”国家高技术研究发展计划重点项目“高可信软件生产工具及集成环境”为背景,阐述了面向群体化方法的关键技术、开发环境和应用实践.关键词可信软件群体协同资源分享运行监控可信分析软件演化1研究背景提高软件生产效率和质量一直是软件领域的重大课题.随着网络时代的来临,软件的开发模式、运行环境和提供方式发生了巨大变化,经典软件开发方法在提高软件生产效率和质量方面的局限性日益凸显,软件可信问题更加尖锐.传统的可信软件解决之道中隐含2个假设:第一,高质量的

4、软件是设计和构造出来的,本文称其为“构造论”;第二,软件缺陷是人在设计和构造软件过程中的失误导致的,本文称其为“人为论”.因此,传统的软件开发方法和技术更加关注在软件开发阶段排除人为失误对软件质量的影响,产生了自动化和工程化两个具有里程碑意义的经典的软件开发方法(见表1).自动化方法源起于20世纪60年代高级程序设计语言及其自动编译技术[1,2].该方法的核心思想是建立高级形式化系统,给出软件需求和设计的高层次形式化规约,在此基础上,通过自动变换由规约产生符合规约的可信目标代码.自动化方法取得的成就是无容置疑的.但是,人们很快发现自动化引用格式:王怀民,尹刚,谢冰,等.基于

5、网络的可信软件大规模协同开发与演化.中国科学:信息科学,2014,44:1–19,doi:10.1360/N112013-00128表1软件开发方法的3个重要里程碑Table1ThethreeimportantmilestonesofsoftwaredevelopmentmethodsTimeofemergence/riseSoftwaredevelopmentmethodsTypicaltechnologyandpractices1960s1970s1990sAutomation-basedmethodEngineering-basedmethodCrowd-basedm

6、ethodHigh-levellanguageSoftwareengineeringOpensourcesoftware方法面临一系列不可逾越的理论极限[3∼5].进入网络时代,大量成功的网络化软件系统越来越远离自动化方法,而自动化方法在其重点关注的领域(例如,关键领域的嵌入式软件),随着问题复杂性和软件规模的增大其理论研究与实践步履维艰.工程化方法源自20世纪70年代初软件工程概念的提出与初步实践[6].工程化方法的核心思想是将软件视为一类新型产品,借鉴传统工业产品的产生模式,建立严格的工程规范,在软件生命期的各个阶段,通过规范管理和辅助工具,提高软件开发质量与效率,最大

7、限度地减少人为错误的机会,或尽可能早地发现人为错误.工程化方法在推进软件产业化进程中的贡献也是无容置疑的.但是,人们在实践中也很快发现,软件不同于有形的工业产品,突出的一点就是很难给出稳定清晰的需求定义(这一特征在网络时代更加鲜明),需求获取成为软件工程的瓶颈[7],而工程化方法要求在有限的成本和时间内发布符合预期的软件,这种矛盾导致超预算或推迟发布的软件项目大量出现,大量软件项目最终不得不被撤销,失去继续发育的机会.进一步,工程化方法极大地影响人的创作灵感的发挥.进入网络时代,软件技术和应用的发展呈现出“人本”和

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。