一种问题驱动的经验软件工程研究方法与实践

来源 :中国科学院软件研究所 | 被引量 : 0次 | 上传用户:w00003
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着软件应用领域的不断扩展,社会对软件产品的需求也在急剧膨胀。经过近三十年的锤炼与积累的经验教训,软件组织已不再以开发出满足用户需求的产品作为唯一的项目成功目标,而是将控制预算、提高生产率、更有效利用资源等方面都列入了考虑范围。   对于软件组织而言,要获得组织整体的长远发展,需要实施量化项目管理、开发过程控制、持续过程改进等一系列措施,在项目的不同时期设立合理的控制点和决策点来指导和监控项目的进行情况。当前,全球性分布式开发、敏捷开发与开源代码开发等已经形成了软件开发的新趋势;同时,大型软件企业在选择外包承接商时需要考虑众多因素,包括软件开发过程因素、人员因素、产品技术因素等多项可以为他们的决策提供辅助支持的信息。软件项目相关的决策支持除了组织内部需求以外,也存在于其他场景。例如,政府在进行软件资助项目挑选时、在购买合同软件时,也需要更客观更严谨的对这些项目予以评价并作出决策。   而种种这些软件行业的决策支持所需要的信息主要借鉴两方面信息源,一方面是在行业或市场背景下的软件组织所积累的特征和经验数据,另一方面是来自学术研究领域的相关理论和模型的支持。正是在这样的应用环境下,软件工程领域的经验研究在过去的二十多年里逐渐兴起(最后演变为“经验软件工程”这个独立的研究方向),它强调从实际观察和历史数据中挖掘信息或设计一定的实验来进行对已有理论与模型的验证与推进。   本文以经验软件工程领域的研究特征为基础,提出了一种问题驱动的经验研究方法框架,以及遵循这个研究框架进行的实例化经验研究。其中主要的独创性内容包括:   提出了一种问题驱动的经验软件工程研究方法框架QD-ESE(Question-Driven Empirical Software Engineering),其结构上由开发实践层、经验研究层、经验管理层三个部分组成。在经验研究步骤的进行过程中,融合经验软件工程的研究成果,通过三个部分的交互,实现经验研究所需信息支持与利用、数据分析、知识提取与经验积累等工作。   通过对QD-ESE框架的实例化应用,实现了针对工作量分布的经验研究,分析了市场演变等五个维度对产品演化项目中工作量分布的影响。该实例足针对软件项目中对工作量阶段分布预测的困难而提出的。其中基于某组织系列版木的产品开发数据,从市场演变、产品内容、开发过程、开发团队与采用技术五个维度,分析了它们对各版本项目中的工作量分布的具体影响,为开发组织在项目中的工作量阶段分配提炼并积累了可以借鉴的实际经验。   在针对生产率的经验研究实例中,得到对中国软件行业生产率整体状况的调查结果,并发掘出开发类型、业务领域、团队规模等多个影响生产率差异的显著因素。该实例研究是在中国软件行业缺乏产业数据及相应的重要指标基准问题的实际背景下提出的,尤其针对产品演化项目。遵循QD-ESE研究框架,并基于首次发布并可用的中国软件基准组数据,对软件开发生产率的影响因子进行了分析,为软件组织在提高生产率和改善开发过程方面提供了有价值的数据、信息和建议。   最后,QD-ESE研究框架在针对软件成本估算的经验研究实例中进一步得到应用,提出了一套针对政府软件合同定价的估算建模方法并在政府资助等实际项目中予以应用。该实例是在分析政府在软件项目合同定价中遇到的挑战并发现软件成本预算与核算中问题的实际背景下提出的。最终,提出了针对政府软件合同定价的COGOMO成本估算模型(COnstructive GOvernment cost MOdel)。
其他文献
随着计算机和网络技术的飞速发展,政府部门信息化建设得到很大的发展。税务部门是政府信息化建设进行较早且信息化应用水平较高的部门之一,其应用范围包括征管、稽查、纳税评估
随着计算机互联网技术的飞速发展,信息爆炸时代已经来临,如何在浩如烟海的网络资源中获取潜在的,有价值的信息就成为了非常关键的问题,因为这些信息可能在用户的管理和决策中发挥
随着互联网应用的发展,推荐系统也越来越受到大家的关注,并且在工业界以及学术界都取得了巨大的成功。传统单一维度的推荐系统已经不能满足用户个性化的需求,而上下文相关的推荐
交互式多视点视频是一种面向未来应用的全新多媒体,具有立体视觉与灵活交互等特征。对于交互式多视点视频的研究集成了计算机技术、通信技术、流媒体传输、立体显示技术、交互
随着社会的发展与进步,人们不断涉及和需要解决很多复杂的实际应用问题。传统的方法对于一些复杂的问题不能求得很好的解,所以演化算法得到了很大的重视,取得了很大的发展。演化
随着人类对地下水资源的无节制开采,地面沉降、水资源短缺等一系列环境问题越来越严重,如果不加以制止,后果将不堪设想。地下水资源的可视化是挖掘地下水隐含信息,实现地下水资源
随着网格技术的不断发展,各种类型的网格应用被开发部署,网格应用的多样性导致网格系统设计的复杂性。网格系统不仅需要提供对网格应用的管理支持,还需要提供对应用运行时的管理
本文主要解决了个人网络计算环境中以个人为中心访问、组合和共享数据时遇到的问题。以个人为中心的特征包括用户拥有独立的数据空间,自主向数据空间中添加、命名、组合和共享
发布/订阅系统作为一种信息交互和共享的中间件,在信息的生产者(发布者)和消费者(订阅者)之间提供了一个松耦合的信息分发手段。在发布/订阅系统中,订阅者以订阅的形式向系统声
下一代移动通信网络将是一个多种无线接入技术并存且相互融合的异构网络。在对异构网络的研究中,如何利用多模终端来提供方便、快捷、无缝的接入体验,已逐渐成为当前的一个研究