`
fangang
  • 浏览: 860417 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
311c4c32-b171-3767-b974-d26acf661fb2
谈谈用例模型的那些事儿
浏览量:37626
767c50c5-189c-3525-a93f-5884d146ee78
一次迭代式开发的研究
浏览量:67656
03a3e133-6080-3bc8-a960-9d915ed9eabc
我们应当怎样做需求分析
浏览量:405654
753f3c56-c831-3add-ba41-b3b70d6d913f
重构,是这样干的
浏览量:85424
社区版块
存档分类
最新评论

如何提高研发质量与持续集成

阅读更多
随着软件业的不断发展,软件项目的规模越来越大,软件结构越来越复杂,技术要求越来越高,参与人员越来越多,管理也变得越来越难。在这样一个大背景下,如何提高软件研发质量,相信是所有软件公司都在关注的话题。但是,如何提供研发质量,这决不仅仅是一个口号,我们必须有一套行之有效的方法加以管理。然而有效的管理带来的负面影响往往是成本的提高,这包括时间的成本、人力的成本、资金的成本。在大多数软件研发项目中,时间总是很紧,人力和资金也是有限的。这样,管理者往往步入一种两难的境地:一方面为了提高研发质量而需要加大对时间、人力、资金的投入,另一方面现实情况却不允许我们这样做,这也是很多管理制度不能真正实施下去的原因。难倒没有第三种方案能兼顾二者吗?时下正流行的持续集成技术为我们提供了一个答案。

持续集成(Continuous Integration,简称CI),又被称为持续构建(Continuous Build),最初是以一种研发管理的思想被提出来。1996年,持续集成的思想首先在Kent Beck的极限编程中被提了出来。Kent Beck在他的书中是这样描述的:“团队编程就是先分而治之地解决问题,然后集成。但集成的过程是不可预知的,你等待集成的时间越长,付出的代价就可能越高。因此,每完成一段时间编程,系统就应当进行一次集成,并进行相应的测试。”Kent Beck先生将这里的“一段时间”设定在几个小时,并提出了集成的同时应当进行测试的思想(这就是敏捷开发中的测试驱动设计)。

后来,持续集成的思想被敏捷开发所吸收,并进一步提出了增量开发的思想。过去,我们解决复杂软件系统问题的编程思想是分而治之。所谓分而治之,就是将大系统划分成若干小模块,再划分为一个个小问题,分别予以解决,最后再集成。运用这样的思想,集成的周期必然很长,可能是数周甚至数月,其风险不言而喻。

增量开发改变了这样的思想。虽然它依然是将大系统划分为无数的小模块、小问题,但它不是一股脑地立即去解决所有问题,而是有选择性地解决最核心、最主要的问题,然后再以进化的方式增量开发、逐渐完善,进而解决其它问题。在这样一个过程中,每进化一次就集成一次,产生一个可运行的成果,以此循环往复,直到最终完成。这样一个过程就是迭代式软件开发的过程(详见《一次迭代式开发的研究:怎样进行迭代式开发》)。

然而,采用持续集成的方式固然好,但每几个小时就要集成一次、测试一次,如果人为地去完成,成本依然是巨大的。因而,在敏捷开发大师Martin Fowler的推动下,持续集成工具诞生了。

持续集成工具,就是将程序员提交的代码,定期从配置管理库(如svn、vss)中下载下来,集成、编译、测试,最后发布到应用服务器(如weblogic)中,同时打包形成一个版本的发布产品。一个持续集成工具,需要一个配置管理库,一个构建工具(如Ant、Maven)。同时,它还可以集成一些静态代码检查工具(如CodeStyle、PMD、FindBugs),进行自动化的代码规范性检查,以提高代码编写质量。最后,它还需求我们提供JUnit测试用例程序,进行自动化测试,虽然这并不是必选项目。

持续集成工具将不可靠的人为操作,转变成了机械自动化操作,使不提高项目成本的前提下提高了研发质量成为了可能。

如何提高研发质量与持续集成
持续集成工具简介
持续集成工具是怎样工作的?
(续)
分享到:
评论

相关推荐

    高效客户端持续集成实践之路

    首先想到的是持续集成,能够做到自动化、集成测试和及时反馈问题,才能减少开发和测试的成本,提高团队的工程能效。闲鱼在客户端持续集成方案上面做了些探索和实践,本文主要以iOS多bundle的工程为例,讲解下如何用...

    基于jenkins搭建一个持续集成服务器

    1.3.1什么是持续集成随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题。尤其是近些年来,敏捷(Agile)在软件工程领域越来越红火,如何能...

    软件研发管理-基于JIRA+SVN的版本管理交流.zip

    要求:对业务咨询能力、需求前瞻能力要求提高 转变:软件供应商独家交付咨询服务商+软件开发商协同研发 2.企业管理越来越专业化、精细化 要求:用户对软件的功能细节、可用性,用户体验的要求越来越高 3.监管...

    研发制造企业大规模柔性化定制(C2M)数字化2.0项目汇报方案.rar

    研发制造企业大规模柔性化定制(C2M)数字化2.0项目汇报方案是一个面向制造业的前沿数字化转型解决方案,旨在通过高度集成的信息物理系统(CPS)、大数据分析和智能化生产流程,实现从客户需求到产品制造的无缝对接...

    医疗大数据仓项目解决方案.docx

    提供数据集成与整合、数据仓库建设、数据治理与质量保障、数据分析与挖掘、数据可视化与交互、临床决策支持系统等方面的技术支持;支持医疗科研和产业发展;保障数据的安全性和隐私性;并持续优化和迭代升级解决方案...

    数字产业园区建设方案.doc

    增强企业竞争力:完善的数字化环境和智能化的生产方式将提高企业的生产效率和质量,增强企业的竞争力。 推动可持续发展:通过绿色化、智能化的建设方式,实现园区的可持续发展,为区域经济发展做出贡献。 总之,本...

    智慧高中学教育平台解决方案.doc

    智慧高中学教育平台解决方案旨在利用信息技术和智能化手段,构建一个高效、便捷、个性化的学习平台,以满足高中生的学习需求和提高教育质量。以下是一个智慧高中学教育平台解决方案的概述: 一、方案目标 构建一个...

    大型多领域预训练模型数据集:自然语言处理+NLP预训练+多领域数据集+语言模型优化

    2. 高质量数据:经过严格筛选和清洗,确保数据的质量和可用性。 3. 持续更新:紧跟技术发展,不断优化和拓展数据集。 4. 易于集成:提供灵活的API和工具,方便您将数据集集成到现有系统中。 现在就加入我们,一起...

    计算机行业深度报告:工业软件研究框架

    工业软件通常分为研发设计类、生产控制类、信息管理类、嵌入式软件、协同集成类五类,其中嵌入式软件占比最高。我国工业软件虽然规模较大,但国产工业软件厂商普遍规模较小,市占率较低,其中设计软件国产厂商份额仅...

    杨立东:无线互联网团队的敏捷实践

    分享如何提高效率的实践经验,分享初期要进度忽视质量的失败教训,以实践分享的方式共分享需求规划、持续集成、敏捷回顾、质量提升、敏捷估算、一些列小优化等6个实践,以分享和讨论的方式为主。

    人工智能基础层定义.pdf

    提供算法工程化服务 易用的模型部署、运行监控平台 实现模型的持续集成、持续交付、持续部署 算 法 开 发 资 源 CPU、GPU容器服务 计算资源统一管理 算 力 资 源 提高资源利用率 提高执行效率 AI专用芯片;...

    ITIL V3 Foundation国际认证

    ITIL融合全球最佳实践,是IT部门用于计划、研发、实施和运维的高质量的服务准则,是目前全球IT服务领域最受认可的系统而实用的结构化方法。全球10,000多家在各行业处于领先地位的组织都在使用ITIL流程改进IT服务的...

    服装生产管理软件 服装生产管理软件

    浙江省嘉兴创展软件科技有限公司,是一家专注于智能化系统集成,企业信息化管理系统的研发、应用及信息技术管理咨询解决方案提供商,致力于将RFID(射频识别)等先进技术应用于服装生产管理领域结合信息化软件系统...

    20000+条公开网络岗位招聘信息

    3、熟悉持续集成工具如jenkins; 4、熟悉接口测试,包括单接口测试和业务流接口测试; 5、熟悉性能测试,压测,负载测试。 职能类别: 测试开发 关键字: seleniumappium测试开发自动化测试 微信分享" "【关于我们】...

    华为智慧城市高层汇报.pptx

    新底座实现对大数据平台、GIS平台、视频平台、物联网平台、集成通信平台、AI平台的统筹建设,并通过使能平台对各个垂直应用进行能力开放和赋能开发,通过Welink连接组织、个人、企业和应用,从而有效地降低每个应用...

    软件项目管理师大全(大纲+论文格式+经典案例)

    信息化项目实施与应用的一个质量标准体系 274 信息化项目“手术”如何做 成本管理是关键 277 信息化项目与实施效益评估体系初探 279 信息技术应用项目的战略风险分析 280 信息化与企业战略管理 284 信息化与企业经营...

    信息系统项目管理师 论文 信息系统项目管理师范文

    信息化项目实施与应用的一个质量标准体系 274 信息化项目“手术”如何做 成本管理是关键 277 信息化项目与实施效益评估体系初探 279 信息技术应用项目的战略风险分析 280 信息化与企业战略管理 284 信息化与企业经营...

    智能制造发展规划方案.pptx

    如何 降本增效 显性问题 隐性问题 生产流程欠规范化 生产管理信息滞后 质量管理效率低下 信息系统信息孤岛 生产设备泛多样化 制造企业信息化、数据化程度低 经营管理 研发设计 生产制造 工业生命周期 生产当制前造...

Global site tag (gtag.js) - Google Analytics