创建一个好的Web站点极具挑战性,从外观设计到数据库集成,那么多不同的部分都会留下很多犯错误的空间。为了减少Web项目失败的风险,我们需要有一个进程模型来指导开发过程。不幸的是,很多Web设计者采用了一种可能被称为N I K E的开发方法—他们只是做,而很少考虑前景和计划。这种建设网站的过程是不符合方法学的;站点的目标定义得很松散,整个进程依靠的是直觉,没有严格的过程定义而缺乏可预见性。以这种方法开发的站点像植物一样,它们自然地生长,偶尔会变成美丽的花卉,但更多的情况却是一团乱草。复杂的Web设计需要认真地计划。应该采用适当的进程模型或方法学来指导Web的设计和开发。
2.1 进程需求
与2 0世纪6 0年代相似的“软件危机”今天也同样出现在Web开发中。几年前,大多数Web站点只不过是数字化的小册子,或被人称为“小册子软件”。开发那样的站点并不需要大量的计划 —经常是简单开发好界面后,再用内容填充就足够了。今天的站点变得更复杂更庞大。随着电子商务和动态网页的引入。站点已经从“小册子软件”变为完全的软件应用。然而,很多开发者仍然还没有采用一种健壮的开发方法,继续依赖于特定的方法。
注意“软件危机”指的是在一段时间内,在软件开发领域,硬件能力的提高容许构建更复杂的程序。然而,开发和维护新的程序极具挑战性。因为过去几乎不采用什么方法学,结果很多项目失败,导致专家宣布“软件危机”发生。结构化的开发方法和“自顶而下”的设计方法的引入可以解决这种危机。
Web开发实践的危机广泛存在。不像过去内部的客户机/服务器项目会得到保密,现在很多失败的Web项目都会受到大家的关注。始终处于开发状态或者即将需要开发的网页的数目显示了 Web站点设计的糟糕。不幸的是,黄黑色的仍在建设的标志以及动画的手提钻很少被删除。如果从它们的内容和最后修改日期来判断,一些站点好像几年来一直处于建设之中。一些半死的站点,被陈旧的内容和风格陈旧的网页所充斥,过时的技术、断开的链接体以及运行不当的脚本,这些站点就像在线的鬼城一样。不要把这些错误简单地归结为疏忽和印刷错误。断开的链接体是一种严重的错误,想像一下如果某个软件存在功能缺失的菜单,情况又会怎样。
站点出现这些问题的原因多种多样。一些站点逐渐恶化,是因为站点设计者感到厌倦逐渐退出。另外一些站点则是因为站点被废弃或资金被撤离。还有一些站点未能完成,则是因为站点太复杂拖垮了设计者。有时候,开发者未能很好地理解他们使用的工具,或未能充分地理解媒体的限制。项目失败的原因多种多样,很多网站的倒闭则是因为项目太冒风险。
2.2 特别的Web进程
通常Web站点的开发方法很简单:实现网站,用浏览器完成外观测试并发布。这与软件小项目开发中的先开发后测试的过程非常相似。并不令人惊讶的是,用非正规的方法开发站点会遇到很多问题。今天的Web开发太快以至于仅分为两个阶段:实现和发布。值得注意的是,很多 Web开发工具鼓励这种在线的设计方法。一些工具鼓励开发者直接从构建用户界面着手,并逐渐用自动化工具增加功能。另外一些则先写代码再添加用户界面。勿须质疑的是,考虑到Web的时间需求,Web开发的速度非常重要。然而发布一个蹩脚而设计拙劣的站点也会成为问题,尤其是当用户对站点中出现的问题感到沮丧时。
在软件行业,很多专业人员倾向于认为非正规的方法仅适合于小项目,通常只有一个程序员,并且将来的软件维护工作量非常小。经常用这种缺乏计划的方法开发程序会产生糟糕的编程逻辑—所谓的“意大利细面条式的代码”。这种代码极其难以维护,因为除了初始的设计者外,没人能够解开这个疙瘩。即使是原来的程序员也会随时间忘记这些代码的意义。Web站点存在同样的问题。生存周期很短的小型Web站点,通常由一个人设计时很少采用方法学来进行。观察这些站点的H T M L网页、J a v a S c r i p t和导航结构,会发现“意大利细面条式的代码”也被采用,不过增加了一道被称为“杂乱的H T M L标记色拉”的副食。
在Web开发项目中计划能够解决一些问题。不幸的是,对特别的Web进程来说,计划仅仅局限于简短的交流,简单而又不完全的潜在内容的收集,或者一些仓促写就的流程图,花在计划上的时间与花在实现上的时间相比之下微忽其微。当然,也可能计划得太多而患上“分析麻痹症”,这阻碍了网站的建设,但这种情况并不普遍。一定要记住,计划的时间量正比于计划的复杂性,应付项目管理挑战的关键在于创建一个正规的进程,借助它进行计划、测试,并用结构化的方式配置站点。