接续上一篇文章的标题,本文主要分享一下XP模型的相关知识。

XP模型

  1.XP模型简介

    Extreme Programming(极限编程,简称XP)是由KentBeck在1996年基于增量模型发展而提出的。是一种近螺旋式的开发方法,将复杂的开发过程分解为一个个相对比较简单的小周期,将系统细分为多个可以在较短周期解决的子模块,且强调测试、代码质量和及早的发现问题。通过积极的交流、反馈以及其它一系列的方法,开发人员和客户可以非常清楚开发进度、变化、待解决的问题和潜在的困难等,并根据实际情况及时地调整开发过程。【来自https://baike.baidu.com/item/%E6%9E%81%E9%99%90%E7%BC%96%E7%A8%8B/4690591?fr=aladdin】

   2.核心实践

    所谓极限,就是所有环节都做到极致,花最短的时间,用最简单的方法做最好的软件。查询大量资料后,XP让我感觉它让软件开发变得轻松愉快并富有有活力。从它“沟通、简单、反馈、勇气和谦逊”的核心价值就可以看出。并且XP是基于敏捷开发的核心价值和目标的,而敏捷开发是以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发的。基于这样的思想,XP也对开发团队作了13个核心实践的要求(如图所示,图片来源百度百科),挑选其中几条来做分享。

    首先是团队合作。每种软件开发过程模型都强调团队合作,但XP与众多模型不同的是,只要是对项目作出贡献的人,都是团队中的一员,其中包括用户。因为从项目的计划到最后验收,用户才是最清楚自己需求的人。并且不是每个成员的工作别人不能插手,而是互相交流协作的。

    结对编程。在XP中,所有的代码都是由两个程序员在同一台机器上一起写的。或许这一点很难理解,虽然我们常说人多力量大。但是在开发软件项目这件事情上,我们从来都不希望和别人一起编写同一段代码。因为每个人的想法和编程习惯都不一样。但使用XP模型确强行要求执行这一点,而后来事实也证明,这样极大地提高了工作强度和工作效率。毕竟这样做保证了所有的代码、设计和单元测试都至少被另一个人检查复核过。并且在项目开发过程中,对人员流动较大的项目,这是一条很好的策略。

    集体拥有代码。在许多模型中,项目开发之初都会对开发人员进行功能模块的分工,对应功能模块的开发人员只负责维护自己功能,并且他们也不喜欢别人随意修改自己的代码。这就导致开发团队人员互相之间都不了解彼此的功能,也不熟悉彼此的代码。这就使得代码维护具有很大的局限性(因为可能由于负责某一功能的程序员技术的局限性导致维护困难)。但XP中却是大家共同拥有代码,在前面也已经提到,每个成员都可以阅读别人的代码,并发现和纠正其中的错误。这样所有代码都是整个团队共同开发完成的,而不是只是一两个技术较牛的人写的。并且由整个团队所有人开发出来的系统,代码质量都非常好。当然,这样做的基础是每个成员都严格遵循项目开发的代码规范。

   3.过程

   · 计划项目(PlanningGame)

     主要预测交付日期前可以完成多少工作,现在和下一步的工作内容有哪些。针对这两个问题,XP中又提出了软件发布计划和周期开发计划两个过程。软件发布计划主要是分析用户需求,制定一个大致的计划。而周期开发计划则是前面提到的,XP把复杂的系统划分为多个

   · 验收测试

     与瀑布模型不同的时,XP模型的验收测试不是在所有软件功能都完成之后再进行测试,而是用户对每个周期完成时所发布的系统进行评估,这样软件开发对用户来说更具有实际意义,也体现了XP作为一种近螺旋式开发方式的特点。同时,验收测试和测试驱动的开发也保证了各个周期所发布的产品的一致性和可靠性。

   · 小规模发布

     即前面提到的,XP模型把复杂的软件开发过程分解为多个周期,将系统分解为多个简单的活动或者任务。因此每个周期开发的需求都是用户需要的东西,XP模型就要求频繁地发布软件,可能的话,应该每天都发布一个新的版本,在对系统某一部分做了修改或者完善之后,也应该立刻发布新版本。

  总的来说,XP模型就是为满足用户需求而存在的。不仅让用户参与到开发中来,并且其小规模发布和验收测试也让用户切实感受软件的存在。个人比较喜欢XP模型的核心实践,让人感觉软件开发的过程不那么枯燥和痛苦,而是积极向上。

 

转载于:https://www.cnblogs.com/W-Juan/p/7595132.html

【续】RUP模型与XP模型相关推荐

  1. RUP模型与XP模型

    上一篇文章中大致介绍了软件开发过程模型和一些传统的过程模型,接下来分享一下学习新型软件开发过程模型RUP的心得体会. RUP模型 RUP(Rational Unified Process),统一软件开 ...

  2. 软件生命周期模型知识点总结(瀑布模型、演化模型、增量模型、V模型、W模型、螺旋模型、构件组装模型、RAD模型、RUP模型、极限编程模型)

    软件生命周期模型 基本概念 --PDCA循环(戴明环) --软件工作过程 --软件生命周期 --软件过程模型 传统软件生命周期模型 --瀑布模型 --演化模型 --增量模型 --喷泉模型 --V模型 ...

  3. 【中级软考】软件开发生命周期模型 瀑布模型、增量模型、原型模型、螺旋模型、喷泉模型、RUP(Rational Unified Process 统一软件开发过程)、敏捷开发(开发方法,不是周期模型)

    文章目录 瀑布模型/改进的瀑布模型(Waterfall Model) 螺旋模型(Spiral Model) 增量和迭代模型(Incremental Model) 原型法(RAPId Prototype ...

  4. 104. 软件工程的开发过程几种模型(瀑布模型、快速原型开发模型、增量模型、迭代模型、螺旋模型)

    文章目录 1.前言 2.瀑布模型--按阶段严格完成 (1)瀑布模型把整个项目过程分成了六个主要阶段: (2)举个例子来理解瀑布模型 (3)优缺点 (4)解决的重要问题 3.快速原型模型--低成本快速的 ...

  5. 软件开发生命周期模型 瀑布模型、增量模型、原型模型、螺旋模型、喷泉模型总结...

    在校期间学习过这些模型,现在来复习一下. 瀑布模型/改进的瀑布模型 虽然瀑布模型仍然存在很多的问题有待解决,但瀑布模型仍然是最基本的和最效的一种可供选择的软件开发生命周期模型.瀑布模型要求软件开发严格 ...

  6. 关于增量模型和迭代模型的区别

    迭代模型和增量模型都属于并行开发的软件生命周期模型,但是这两个模型大家往往容易混淆或者不好理解.下面对两个模型的区别和相同之处做一下介绍. 迭代是不能并行的,迭代的并行是指迭代任务,比如从3.1-3. ...

  7. 软件过程开发模型主要有6种,1瀑布模型,2快速原型模型,3增量模型,4螺旋模型,5喷泉模型,6RUP;瀑布模型和快速原型模型本质上一种( 线性)模型;增量模型风险很大,增量模型本质是一种非整体开发模型

    软件过程模型 是为了获得高质量软件所需要完 成的一系列任务的框架,它规定了完成各项任务 的工作步骤.通常使用 生命周期模型 简洁地描 述软件过程. 增量模型也称为渐增模型,先选择一个或几个关键功能,建 ...

  8. 软件开发生命周期模型 瀑布模型、增量模型、原型模型、螺旋模型、喷泉模型总结

    在校期间学习过这些模型,现在来复习一下. 瀑布模型/改进的瀑布模型 虽然瀑布模型仍然存在很多的问题有待解决,但瀑布模型仍然是最基本的和最效的一种可供选择的软件开发生命周期模型.瀑布模型要求软件开发严格 ...

  9. 架构设计之三种业务模型:活动资源模型、契约模型、模板模型

    欢迎大家关注公众号「JAVA前线」查看更多精彩分享文章,主要包括源码分析.实际应用.架构思维.职场分享.产品思考等等,同时欢迎大家加我个人微信「java_front」一起交流学习 1 文章概述 在实际 ...

最新文章

  1. (iOS-基本知识)堆和栈的基本知识详解
  2. python 如何引用同一个目录下的另一个py文件
  3. SparkStreaming - 自定义数据源(自定义采集器)
  4. 计算机专业的求职信英文作文,计算机专业本科英文求职信范文
  5. 【Elasticsearch】不常用 length filer、ngram filter、trim filter、truncate filter、unique filter、synonym token
  6. Google 中国版搜索引擎项目凉了!
  7. 【渝粤教育】 广东开放大学21秋期末考试会议运行管理10036k2
  8. linux mysql驱动在哪_MySQL驱动使用方法
  9. linux下安装Adobe Reader(acroread)
  10. 动软代码生成器注意事项-Sql注入
  11. 开设计算机专业设置问卷调查,计算机信息管理专业调查问卷 (1)
  12. 51Nod-1191-消灭兔子
  13. Android:获取当前的锁屏壁纸或桌面壁纸
  14. Win10下载和安装FPGA软件:Quartus Prime( Standard 版本18.1)
  15. 精通 Windows Server 2008 R2
  16. 1.1你是谁?你从哪来?你到哪去? -交给学习来解答
  17. 如何在html定位一张图片,css图片怎么定位?
  18. 90后,第一批接棒白酒的“年轻人”
  19. 【强化学习论文合集】三十三.2021国际人工智能联合会议论文(IJCAI2021)
  20. Word文档 替换功能

热门文章

  1. AI教父争夺秘史:百度2.88亿天价求才,因中国身份惜败谷歌
  2. AI 四巨头 Google、DeepMind、Microsoft、Uber 深度学习框架大比拼
  3. 当人工智能遇到神经科学,二者联手势不可挡!
  4. 谷歌和Facebook正在吸走欧洲的人才
  5. 「AI初识境」深度学习模型中的Normalization,你懂了多少?
  6. AI产业落地风向标,2019全球智博会亮点回顾
  7. 学好人工智能,其实不难,从以下几点开始
  8. 物联网激荡MEMS传感器浪潮
  9. Quanta杂志长文翻译:通过信息论判定个体的边界
  10. 预计2024年之前载人登月!NASA授予马斯克贝索斯公司大单