技术开发 频道

Web2.0的软件开发生命周期

【IT168 技术文章】

    Web2.0应用程序开发流程要比使用标准开发方法的流程更加敏捷。在Web2.0领域,用户在其思考方面将更加敏捷,将希望一切变得更快速,并开始习惯于快速的更改。支持Web2.0的内容管理工具的作用正在变得清晰起来。以下是一个例子:

    看看Joomla、Drupal或其他诸如此类工具——允许准技术人员快速构建基于Web2.0的社区站点的快速开发环境,所构建的站点具有各种各样的功能,包括Blog、论坛、调查、Googlegadget、RSSFeed甚至多媒体内容。这些工具还允许进行针对性的营销和广告宣传活动以产生收入,并具有若干传统电子商务功能。功能以预构建和预打包的形式提供,只需最少的工作即可使站点正常运行起来。然而,作为负责提供基础功能的开发人员,您需要配置细粒度的安全性,并拥有对用户界面(UI)的完全控制。如果您是资深的开发人员,可以编写新的插件并扩展这些平台的功能。

    此流程是面向服务的体系结构(Service-OrientedArchitecture,SOA)和Web2.0开发的极好示例。此流程基本上就是利用某个平台——比方说Joomla——并使用层叠样式表和若干第三方插件对该平台进行自定义,以满足特定的功能和业务需求。因此,产生相当可靠的社区站点现在只是几天而不是数周或数月的事情。此外,这种范式允许迭代开发,因此您可以在随后的发布中为站点添加和自定义插件。容管理系统(Content-ManagementSystem,CMS)和社区网站无论如何也不是Web2.0的界限和边界。我所描述的只是一个可能的用例。然而,考虑一下可以发现,这正是Web2.0真正表现出众并在其工具集方面最成熟的领域。这也是大多数人使用Web2.0的方式,因此值得讨论一下。

    RUP在Web2.0中的位置

    在我看来,诸如瀑布模型或IBM?Rational?统一过程(IBM?Rational?UnifiedProcess?,RUP?)等传统生命周期模型对于Web2.0开发来说有点太僵化了。如果您在构建诸如Joomla或WordPress等核心Web2.0平台,RUP也许非常适合于该任务。我甚至坚持认为,您可能真的需要一个可靠的软件开发流程来完成这样的项目。除非准备了适当的控制措施,否则您的范围和功能集会很快变得难以控制。了解需求并拥有此类项目的可靠设计计划是非常关键的。请记住,您不知道谁将会使用或者将会如何使用您正在构建的项目。在设计时考虑到此问题需要仔细的规划和可靠的流程才能确保成功。

    Web2.0中对敏捷性(Agile)的要求

    请考虑Web2.0在某个项目上的应用。您的营销团队要求您提供一个社区平台以促销某个新产品。团队成员希望创建某些评论或广告,也许是一些视频,也或许是调查。他们实际上是在设法拿出一个策略以促使大众对新产品的追捧,并希望使用Internet作为促销和销售该产品的手段。在当今的世界中,新颖的思想本身还不足够。

    您是将帮助他们实现所有这些目标的信息技术(IT)人员。您与营销负责人进行了第一次会面,并听取了他或她的想法。您立即想到了Web2.0内容管理系统(CMS),例如Joomla。您是否会奢侈地提到有关该站点应该如何工作的详细问题?您是否会奢侈地创建传统的需求文档、用例等等?您是否会为系统创建一个基于统一建模语言(UnifiedModelingLanguage,UML)的设计?答案应该是“显然不会!”

    您需要变得敏捷。您需要调查一些有关所需功能的基本事实,然后您将下载并安装Joomla。您将找到适当的插件并让功能正常工作。您的大多数时间——也许超过75%——将花在自定义样式表上,您需要这些自定义样式表以便站点能够突出您正在促销的新产品。

    取决于细节和范围,从概念到部署,应该花不到一个月时间即可创建新产品的营销站点。请记住,此站点可能只有很短的存续期。在大多数情况下,这不是将要使用五年的站点——有时甚至不超过一年。

    这种快速开发流程可以根据软件生命周期模型进行更正式的定义。您也许对极限编程(XP)、Scrum和其他敏捷开发流程有所了解。对我来说,那些流程对所需的东西来说可能仍然太僵化了。您必须定义敏捷流程的哪些方面可采用来最好地满足您的需求。用户案例、迭代开发和发布以及简单规划策略是新流程的关键元素。包括质量保证和测试周期以及用户验收测试也是个好主意。

    EA在Web2.0中的角色

    企业架构(Enterprisearchitecture,EA)必须在此类领域中扮演不同的角色。列出标准、框架、策略和治理的传统实践更为重要,但是它们也需要适应Web2.0项目所要求的敏捷性。

    就标准而言,EA团队应该重点关注要使用哪些Web2.0工具,以及如何和在何处部署它们。例如,团队不需要对您选择使用的每个插件进行微管理。

    EA团队应该确保基础结构是可伸缩的,并且更重要的是安全。除此之外,必须准备某些治理,以防止开发团队做任何危害系统完整性和安全性的事情。EA团队还可以为这些平台的管理和监视定义标准。客户体验是社区Web2.0站点的关键。每个客户只给您一次机会。您不希望客户访问您的站点时发现站点关闭或响应很慢。

    EA在Web2.0CMS中扮演的关键角色集中于内容保护。该团队应该与您的信息安全代表(也许还有法律部门)密切合作定义保护标准和法律免责声明等等,以便在启动该社区站点后,公司会受到保护。EA还可以帮助定义针对站点内容的实践和治理流程。毕竟,您不希望某些Blog作者在您的站点上张贴谩骂或攻击性的语言或图像。

    总结

    Web2.0需要软件开发流程方面的敏捷性。尝试跨越标准需求模板和设计流程的障碍,并将它们调整为更加迭代的流程。为变化而构建,为灵活性而构建,并利用可用于简化Web2.0项目的丰富工具。然后,使用EA团队来定义网站的内容保护、安全性、管理和监视标准。

0
相关文章