XML敏捷开发的挑战(上)

日期: 2010-06-09 作者:William Brogden翻译:刘志超 来源:TechTarget中国 英文

“敏捷开发”到底是什么意思呢? 在软件开发行业的历史上,人们多次因为非常重大的项目的失败,变得沮丧和厌烦。检查和记录失败的原因,引申出很多的文章,然而改变确很慢。Robert L. Glass在1976写的《The Universal Elixir and Other Computing Projects which Failed》一书,现在仍在出版。许多计算机和管理科学试图找到一种方法,可以引导软件开发,避免隐患。

我们已经从这些结果中得到了语言、管理技术、图表语言等,但是仍然有项目遇到麻烦。   许多人都觉得,在“瀑布”式开发中,项目管理是一个基本的问题。本质上讲,这个开发模式呈现给你一个可……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

“敏捷开发”到底是什么意思呢? 在软件开发行业的历史上,人们多次因为非常重大的项目的失败,变得沮丧和厌烦。检查和记录失败的原因,引申出很多的文章,然而改变确很慢。Robert L. Glass在1976写的《The Universal Elixir and Other Computing Projects which Failed》一书,现在仍在出版。许多计算机和管理科学试图找到一种方法,可以引导软件开发,避免隐患。我们已经从这些结果中得到了语言、管理技术、图表语言等,但是仍然有项目遇到麻烦。

  许多人都觉得,在“瀑布”式开发中,项目管理是一个基本的问题。本质上讲,这个开发模式呈现给你一个可以记录所有需求的阶段,软件架构师设计架构的阶段、程序员实施的阶段。需求审核通过以后,产品就可以发布了。

  如果这种开发模式曾在以前起作用的话,那么现在一定不管用了。一切都从业务需求、程序语言工具的实践和标准来看,演变的非常迅速。认识到了这一点,各种各样的技术兴起了。我把它们归并为“敏捷”开发。

  敏捷思想总览

  敏捷软件开发强调的是认识到各级开发中不断变化的需求,需要快速迭代并不断的协作。在agilemanifest.org上的一个“敏捷软件开发宣言”的声明,包含以下应该重视的几点:

  • 个体和交互胜过过程和工具
  • 可工作的软件胜过面面俱到的文档
  • 客户合作胜过合同谈判
  • 响应变更胜过遵循计划

  其目的是建立团队,能快速适应需求变化中必然发生的事情,确定在不断交付可用的软件上取得的进展。当然,在早期阶段,可用软件可以涉及许多待开发的实体模型组件。此外,敏捷开发团队希望不断的完成目前开发的组件测试,尤其是作为一套自动化测试机制,可以返回一个详细列表,什么是正常工作的,什么不是正常工作的。理想地,不管需求和输入的代码如何改变,这个机制都要确保每个组件按既定的方式运行。

  单元测试和断言

  在软件代码中,“单元测试”用来核实单元代码正确处理期望的输入,并产生所需的输出。单元测试的组合,可以用来作设计书的基础资料。单元之间的相互依赖性可以用虚拟对象或 方法代替。

  一些语言提供了“断言”的声明,这对单元测试非常有用。一个断言定义了逻辑的测试,设计师期望望结果为true,代码继续执行。例如,一个声明可以断言,在指定的代码中,数据库的连接必须存在。

  一个典型的断言,除了是可执行文件,还可以成为文档中一段代码的的一部分。在Java中,断言执行在运行时,如果断言失败,将停止程序,并提示一个自定义的错误信息。

  上面提及的所有技术随着修改而定,在一些像Java或者C++语言代码中,为了促进快速的测试和开发,有时需要大量的修改。 然而,现代化世界的业务流程操作是一个复杂的相互作用的网络,或许由BPEL语言定义,并转换成XML,格式化消息,列出了测试的困难。

相关推荐