摘 要:介绍了Web工程及其与传统软件工程的显著区别,讨论了一种具体的、切实可行的实施Web工程的方法。该方法借鉴了传统软件工程的某些思想,对基于Web的应用系统采用结构化的方法进行分析和设计,在整个开发过程中应用螺旋模型,同时融入Web应用的开发特性,最后给出了一个开发示例。
关键词:Web工程 软件工程 结构化方法 螺旋模型 Web应用
随着网络技术和网络编程技术的不断发展,基于Web方式、以电子商务为典型代表的应用系统越来越普及。尤其在现代企业应用中,各种信息系统在原来的基础上,由基于C/S方式向基于B/S方式转换,逐渐过渡为基于Web的MIS、ERP、EIP乃至CIM的企业业务IT系统,从而使企业管理不再局限于企业内部,而是通过Internet扩展到遍布全球的客户、供应商、合作伙伴等各个环节。
从近些年来的企业IT进程可以明显看到,投入实际使用的Web应用系统不仅在数量上不断增加,系统规模和复杂程度也在不断提高,使得基于Web的应用越来越显得难以开发、管理和维护。因此,软件开发人员迫切需要一套适用于Web应用系统的方法论来对相应的开发、发布和评估进行指导,研究这一方法论就成为目前备受关注的一个课题。本文将就这一问题展开讨论,提出一种结合传统软件开发方法和模型,同时针对基于Web的特性加以补充完善的新的Web应用系统开发方法,并以一个实际的示例加以验证说明。
1 Web工程简介
Web工程是用系统的、严密的、可以测量的方法来开发、实施和维护基于Web的应用或基于Web的软件的工程应用[1]。毫无疑问,Web工程包含了程序设计和软件开发,这样就不可避免地会采用某些软件工程的思想和方法,因此,Web工程和软件工程是紧密联系的。但是,Web应用系统又具有基于Web的固有特性,这些特性是传统应用软件所不具备的。所以基于Web的系统开发与传统软件开发不同,需要符合适应于开发要求的另一套独立体系下的规范。因此,Web工程又是不同于软件工程的。
要准确理解Web工程概念,必须弄清楚两个问题。
(1)基于Web的应用系统的开发与传统软件开发有着显著不同的特征。比较直观的一些包括:
①由于Web应用必定是基于浏览器的“瘦客户”解决方案,客户端更多的是负责信息的展示和布局,应用逻辑和数据都放在服务器端,所以必须是特定的多层体系结构。
②Web应用的开发需要更多的协调工作。原因是:开发团队的成员构成更加复杂;由于页面外观的滞后性及Web方式下对某些功能实现的局限,使得客户的需求具有更大的不确定性;大部分基于Web的应用系统都必须在相对更短的时间内完成等等。
③Web应用具有不确定的多样用户形式。这里的用户形式不仅指经由Intranet、Internet连接起来的、具有不同技术和能力的多样用户群体,也指在不同的客户终端上因分辨率、浏览器等的不同而造成的情况各异的多样浏览平台。
④Web应用的开发要求工程、科学和艺术在更广泛的范围内结合。基于Web的系统更加关注用户的视觉感受。实践表明,具有美感的页面设计是用户衡量整个Web应用系统的一个重要指标,要比传统软件的UI设计在整个系统中占有更重要的地位。因此,Web应用更强调色彩搭配、运用Flash、Midi等多媒体手段丰富用户界面。
(2)必须认识到基于Web的应用系统和Web站点之间的区别[2]。因为Web工程是用来指导开发和管理Web应用的,而绝非Web站点。Web站点主要为来访的用户提供所需的信息和资料,它的信息流基本是单向的,即从站点到用户;用户根据查找信息的需要来浏览Web页面,页面的访问顺序是不确定的;Web页面大多是静态的HTML文档,且附有大量丰富的图片和动画。而基于Web的应用系统则更侧重于完成某项功能,不以提供信息为惟一目标;由于后台数据库与动态页面相结合提供了用户信息的采集能力,从而使得信息流成为双向的,且页面访问顺序确定。当然,为了达到丰富应用系统人机界面和信息量的目的,在某些实际应用中,Web站点往往会充当Web应用的门户。因此,根据具体需求,也可以在广义上将相关Web站点作为整个应用系统的一部分来理解。
2 利用结构化方法和螺旋模型实施Web工程
2.1 使用结构化分析和设计方法
Web工程的实施不适合使用面向对象的软件开发方法进行系统分析和设计。正如前文所提到的,一个Web应用系统的开发会遇