碧波液压网 欢迎你,游客。 登录 注册

极限编程在工控软件开发中的应用

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  

  一、极限编程

  极限编程(eXtreme Programming,简称XP)是Kent Beck在二十世纪九十年代提出的一种轻量级软件工程方法。这种方法与传统软件工程方法几乎背道而驰,其提出在业界产生了巨大的震动,甚至有人根本不相信其可行性。大量的实践证明,极限编程是一种高效实用软件工程方法。

  软件设计的方式可分为两种:计划式设计和演进式设计。计划式设计出现于20世纪70年代,它要求设计者事先仔细考虑所有的重大问题,不要求他们编写代码。设计者们使用一种能够抛开编程细节的设计技术(如UML)在一个抽象的层次上工作。设计完成后被移交给程序员们进行实际的构建,因为是预先考虑了几乎所有的问题,所以只要程序员遵从设计,就会构建出良好的软件。演进式设计其实是最原始最普通的设计方法——编码加修正,这意味着系统设计伴随着系统实现而成长,设计是编程过程的一部分,而且随着程序的演变,设计也在变化。普通的演进设计是存在着致命缺陷的,由于设计的不断变化,设计最终成为了一堆随机应变决策的拼凑。每种决策都使代码更加难以改变,随着时间的推移,软件有效更改的能力不断下降,而缺陷和漏洞却越来越多且难以被发现,设计者最后将遇到软件失序的状态。此时随着项目的进展,修正缺陷的代价会呈指数增长。

  计划设计使软件设计成为了一种系统的工程方法,其在很多方面都要比演进设计更好,但计划设计也存在着问题。首先,计划设计在计划时不可能将编程时需要处理的所有问题都考虑到,这种编程和设计上的冲突将最终引入失序。其次,很多时候设计者本身也是编程者,当设计者全身心投入设计时,在编程方面必然会落后于软件开发工具和资料的飞速发展,这就意味着设计上考虑不周的可能性会变大。而一个编程者必须要非常娴熟才可能对设计者的设计产生质疑,这种紧张关系将带来隐患。再次,需求变化是计划设计中最令人头疼的问题,需求变化分为可预见的和不可预见的,可预见变化可以通过在设计中引入柔性来合理改变计划,但不可预见变化的解决却非常困难。虽然存在上述缺陷,但计划设计因其相对演进设计的优越性而成为软件开发的主流设计方法。

  极限编程提倡演进设计而不是计划设计,但是极限编程通过一套系统的实践(Practice)弥补了演进设计的致命缺陷。它将软件项目分为多个迭代周期,每个周期实现部分软件功能。在每个周期都进行提出需求、架构设计、编码、测试和发布等几个环节,每个周期都进行充分的测试和集成。这样做可以不断从客户方面得到反馈,更逼近实际软件需求。通过频繁的重新编码的过程,可以适应需求的变化,也增加了易维护性。在不断的迭代中,避免了架构设计出现重大失误所造成的风险。极限编程的实践主要包括:计划、小版本、隐喻、简单设计、测试、重构、结对编程、集体所有权、持续集成、现场客户和编码标准等。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论