您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 李兵-开发者网络对软件质量影响研究
1开发者网络对软件质量影响研究博士生:李其锋指导老师:李兵教授武汉大学2提纲研究背景已有工作实验步骤实验过程实验结论验证3研究背景软件开发是一项人工参与的复杂的系统工程人的可靠性直接影响到软件质量软件的开发、使用大都在网络化环境下进行,成为网络化软件,网络化软件开发更加关注人的因素4网络化软件特征软件即服务,softwareasaservice(SaaS),租用服务,按次付费需求:创意提供平台,提出者可能是开发者开发:群体智慧,大众开发,众包方式,wiki发展:市场激励,优胜劣汰,软件趋于个性化软件泛型:面向服务,网络化形态5网络环境下软件开发模式与传统软件开发模式的区别网络环境下软件开发大众参与,分布网络广泛交流主要通过邮件、论坛等网络化手段组织虚拟化,结构相对松散开发模式去中心化强调开发者的个人能力和团队合作精神传统软件开发集中在公司开发会议集中讨论开发者能实时交流有严密的开发计划组织纪律性强以项目经理为核心层状的组织方式6网络化软件开发的基本问题开发者评价各领域专家专业化开发,网络化制造如何组织专家选择团队的激励如何管理动态掌握实时调整7已有工作已有大量文献对软件缺陷预测、软件质量控制等问题进行了探讨基于开发历史信息、过程信息、产品信息等提出了一系列预测模型,并取得了较好的预测效果对软件开发中最重要的因素——人的研究开始得到重视8ICSE2010,lim[1]等人指出:忽视了软件的StakeHolder,将他们等同对待是导致软件失败的主要原因,lim构建了StakeNet,用于StakeHolder重要性排序。[1]S.L.Lim,D.Quercia,andA.Finkelstein.StakeNet:UsingSocialNetworkstoAnalysetheStakeholdersofLarge-ScaleSoftwareProjects.InProceedingsoftheIEEE32ndInternationalConferenceonSoftwareEngi-neering,2010(inpress)1.预备步骤:从需求文档中确定项目的范围,初步确定stakeholder的范围2.找到初始stakeholder角色3.找到stakeholder4.建立他人对stakeholder推荐信息5.建立网络6.排序10stakenet11利用PageRank算法排序并用问卷方式进行了验证12我们的研究方法从软件的开发过程出发构建开发者网络运用复杂网络理论知识,分析开发者网络,探索开发者在软件开发过程中的协作行为、活跃程度、贡献价值,并给予综合评价,为管理者及其他开发人员的开发行为提供决策参考13实验步骤实验对象•开源软件开发过程信息•Souceforge.net,SpringFramework开发信息数据提取•开源工具修改、集成、部署•开发过程SVN信息收集,提交时间、作者、对文件的评价以及对应的版本等数据预处理•不合格数据的清理开发者网络构建网络参数分析,模型构建结论及验证•模型得到的贡献度排序情况,与实际开发情况的比较网络的顶点、边及其权值的计算网络的度分布、聚集系数计算,模型建立,贡献度计算14实验对象:软件开发SVN信息subversion(简称svn)是近年来广泛使用的版本管理软件,目前,绝大多数开源软件都使用svn作为代码版本管理软件SVN信息包括:作者、操作文件路径及文件名、修改说明、修改时间、版本号15数据集介绍提取了springFramework,2005-2010年之间的开发过程信息有效数据118,884条有效开发者31名涉及版本12,031个16根据提取信息构建开发者网络一个具体网络可抽象为一个由节点集V和边集E组成的图G(V,E)。例如:Internet-Router、、P2P、电子邮件、科研合作网络。17软件开发者网络的构成节点:开发者边:开发者共同修改同一个文件节点权值:开发者在开发过程中对文件的操作总次数边权:开发者共同修改的文件次数18开发者网络的几个参数度:degreei一般而言,值越大代表开发者越活跃聚集系数:clusteri值越大代表开发者的核心作用越明显文件操作次数:commiti值越大代表该开发者对其他开发者和整个项目的贡献越大19聚集系数的计算[1]节点聚集系数网络聚集系数C1=1/3C2=1C3=0C4=0C5=1/3C=1/3[1]Watts,D.J.andStrogatz,S.H.,Collectivedynamicsof‘small-world’networks,Nature393,440–442(1998).3214520带权值的开发者合作网络2122开发者文件操作频数统计23贡献度contri=a*degreei+b*clusteri+c*commitia=b=c=1/324开发者贡献度计算按贡献度大小排序25验证结果表明,该模型所确定的核心开发者及各开发者对项目的贡献程度与该软件实际软件开发情况是一致的26SpringFramework项目信息27意义开发者贡献度预测模型有效揭示并评价了开发者在项目开发中的作用,为项目管理者动态掌握开发人员信息,合理配置人力资源,采用合适组织方式,提高软件质量提供了决策参考软件开发中的人力资源问题,实质通过研究开发者网络,分析开发者的活跃度,参与度,团结精神,找出核心人物与核心团队28将来工作建立开发者—工程交互网络,研究路由信息与选择软件开发者行为分析开源社区中的开发组织选择及其机理软件质量、开发人员的评价与推荐工程随时间、版本演化过程分析29Thanks!
本文标题:李兵-开发者网络对软件质量影响研究
链接地址:https://www.777doc.com/doc-439983 .html