摘要:回顾了电子商务系统开发方法的历史演变过程,从全局层、概念设计层、导航设计层和系统实施层四个层次对五种主流的电子商务系统开发方法RMM、OOHDM、CMD2WEB、WSDM和Autoweb进行了全面的分析和比较,指出了各自的优势和劣势。关键词:Web系统.电子商务系统.开发方法【论文“电子商务系统分析设计方法比较研究”分三个部分】:1.主流电子商务系统开发方法的历史演变电子商务系统是多媒体、基于Web的系统与其他类型的系统一样,电子商务系统需要有符合自己特点的分析设计方法。正确地分析和设计电子商务系统是电子商务系统得以正确实施的条件之一。从20世纪90年代初,研究人员已开始对Web系统的分析设计方法进行研究.虽然研究成果层出不穷,但是大都还处在理论研究阶段,只有极其少数得到了一定的应用.并且,目前的电子商务系统还没有出现类似于当年的结构化分析设计方法那样占据统治地位的分析设计方法,这也说明还没有出现一个令业界公认的、完善的方法。因此,急需对主流的分析设计方法进行比较,分析各自的优劣势,取长补短,不断完善。从软件工程领域来看,电子商务系统又被认为是一种多媒体系统、Web系统。因此,目前电子商务系统的开发方法与Web系统开发方法几乎是等同的词汇和内涵。本文也将这两个概念混用。目前,国际上许多学者正在从事这方面的研究工作,同时也取得了一些研究成果,并创建了一批适合于电子商务应用系统开发的开发方法。1990年,Halasz和Schwartz提出了Dexter(DexterHypertextReferenceModel)。1993年Garzotto提出HDM(HypermediaDesignMethod),它建立在E2R模型基础上.1998年Fraternali&.Paolini发展了HDM,提出了HDM-Lite,它特别应用于Web系统。1995年Isakowitz提出RMM(RelationshipManagementMethodology),它是建立在E2R和HDM的基础上.1999年Lee等人在RMM基础上又提出了VHDM(View2basedHypermediaDesignMethodology)。1991年Rumbaugh提出了OMT(TheObjectModelingTechnique)方法.1994年Lange针对OMT的不足,提出了EORM(EnhancedObject2RelationshipModel)。1995年Schwabe和Rossi提出了OOHDM(Object2OrientedHypermediaDesignModel),它建立在OO的基础上,发展了HDM的思想.1998年Schwabe将原型化方法融入OOHDM方法,提出了OOHDM2Web方法。20世纪90年代末,面向用户需求的开发方法引起广泛的重视。1998年,DeTroyer和Leune提出了WSDM(WebSiteDesignMethod)[11].1999年,Bajaj和K.Siau提出了CMU2WEB(ConceptualModelforUsableWebApplications)[12].1999年,Lee等人提出了SOHDM(Scenario-basedObject2OrientedHypermediaDesignMethodology)[13]。在研究各种开发方法的同时,许多研究者也重视开发方法的实用性,研究了支持开发方法的辅助开发工具,比较着名的是Fraternali和Paolini等人提出了Autoweb[14]。2.电子商务系统开发方法的比较框架2.1框架建立的依据Lee[13]曾经对主要的电子商务系统的开发方法进行过简单的比较研究,其中的一个比较角度是开发方法的阶段划分,但他只列出了各种方法的阶段,并没有比较。本研究试图对开发过程进行详细的比较,从以下两个方面考虑,提出比较框架。首先,按照软件工程的方法,系统的开发一般是结构化的过程,特别是像电子商务系统这样大型的系统开发。其次,电子商务系统的开发有其自身的独特性。Baskerville[15]经过对若干电子商务系统的开发过程比较,总结了开发过程的特点,包括:开发周期短、需求的不确定性、原型化方法、不断升级版本、开发的并行性、固定设计架构、以各自的风格编写程序、系统质量的可协商性、依靠优秀的技术人员、需要新的结构来整合资源。根据以上的考虑,将电子商务系统开发方法的比较框架设计为四个层次:全局层、概念设计层、导航设计层和系统实施层。2.2全局层全局层是从整体的角度,分析和比较各开发方法的设计和开发特点。在这个层次上比较的方面包括:开发阶段、每个阶段的输出结果以及整个过程中CASE的支持程度。开发阶段比较各开发方法是否涵盖所有的系统开发阶段,一个电子商务系统典型的开发阶段应该包括:需求分析阶段、概念设计阶段、导航设计阶段、系统实施阶段和系统维护阶段。当然,并不能单单依靠一种开发方法所能涵盖的开发阶段的多少来简单评价开发方法的优劣,还需要考察开发方法对各个阶段支持的深度。因此,各级段输出结果比较的目的是比较各开发方法是否能够清晰地输出系统开发各个阶段的结果以及这些结果是否有足够的可读性。开发环境支持的比较是比较各开发方法是否在电子商务系统开发的各个阶段都能够提供CASE工具进行支持。2.3概念设计层概念设计层是电子商务系统开发的第一层次,是整个开发过程的基础,涵盖从系统需求分析到系统概念模型建立的所有阶段。在这个层次上比较的方面包括:设计驱动方式和对网络资源和媒体的支持。电子商务系统设计的驱动方式主要分为两种:数据驱动和模型驱动。数据驱动是结构化设计思想下的设计驱动方式.模型驱动则是采用面向对象的设计思想,它们的设计步骤如图2所示。电子商务系统与传统的系统最重要的一个区别在于电子商务系统能够充分利用网络的资源,以多种媒体方式表现。对网络资源和媒体的支持考察的主要内容就是电子商务系统开发方法对网络资源和媒体的支持方式,即这些开发方法是如何表示和组织诸如图像、声音、视频、文本等的。2.4导航设计层导航设计是电子商务系统开发的特性,也可称为动态设计。在这个层次上,开发人员需要为概念设计层次中的实体、对象、关系以及建立符合系统需求的导航路径和。在这个层次上主要比较系统的方式和系统访问的结构。系统的方式主要比较开发方法对系统各节点之间、各种之间以及节点和之间关系传递的支持程度。比较中还将引入一些情况来测试这些开发方法是否能够完全或者部分地表现系统同步、页面生成、外部等特殊情况。系统访问的结构是分析和比较各开发方法对于电子商务系统访问结构的定义方式和设置环境。在这一项的比较中,主要从访问单元和访问方法两个方面进行比较。2.5系统实施层系统实施层将从一个电子商务系统物理实施的层面上进行分析和比较,在这个层次上,开发人员将利用开发方法提供的各种工具将前面层面上形成的逻辑模型转换成实际的物理系统,从而完成一个电子商务系统的建设工作。在这个层次上比较的方面主要包括:1)系统的物理表现形式主要研究各开发方法是否涵盖从逻辑模型生成物理系统的过程,如果涵盖的话,那么它们分别是如何来进行这个过程的,主要通过研究物理系统客户端和服务器端的交互情况、系统hr的交互情况和系统事件的处理方式来进行评估。2)系统生成的自动化程度主要研究各开发方法在将逻辑模型转换成物理系统的过程中,对自动生成页面的支持程度。主要对从hr生成动态页面的支持度和从模板生成静态页面的支持度进行测试。3)系统维护的支持程度比较各开发方法是否支持系统维护,如果支持系统维护,那么系统的哪些方面可以得到维护,哪些方面又不能进行维护。本项目主要测试系统扩展的难易程度和维护系统(包括发现和修复死)的支持程度。3.电子商务系统分析设计各开发方法的比较用上面建立的比较框架对五种电子商务系统开发方法———RMM、OOHDM、CMU2WEB[12]、WSDM[11]和Autoweb进行全面的分析和比较。3.1全局层的比较3.1.1开发阶段五种开发方法对于各开发阶段的涵盖情况如表1中的第1项所示。从表中可以看到,由于电子商务系统开发的特殊性,概念设计阶段和导航设计阶段是所有这五种开发方法都涵盖的开发阶段。另外,由于系统开发的最终目的是要生成实际可用的物理系统,所以有四种方法涵盖了系统实施阶段。最后,还可以发现Autoweb的方法最为全面和复杂,涵盖了所有的系统开发过程,甚至还包括了其他四种方法所没有的系统维护阶段。3.1.2各阶段输出结果仅仅从开发方法涵盖的阶段的多少无法判断它们孰优孰劣,还需要进一步分析和比较它们对各个开发阶段支持的深度。对于开发人员来说,电子商务系统开发各个阶段的衔接工作尤为重要,它主要表现在:一方面是上一个阶段中将有哪些结果输出到下一个阶段中,另一方面是下一个阶段需要依靠上一个阶段中的哪些输出结果为基础。这就是所谓的系统开发的一致性问题,只有连续的一致性才能确保系统开发的每个阶段都围绕着同样的主题进行。在这五种方法中,RMM的一致性最高,在它的开发过程中,每一个阶段都完全利用了上一阶段的输出结果。如片断设计需要使用实体设计生成的ER图,而片断设计生成的ER图也正是导航设计所必需的设计。另外,Autoweb方法的一致性也很高,特别是在它的基础结构设计、访问路径设计和表达设计过程中,这三项设计环环相扣,每一项设计都为后续的设计提供基础和依据。CMU2WEB方法的一致性最低,这也是由于这种方法主要集中在系统的概念设计阶段造成的。3.1.3开发环境的支持如果开发方法能够提供CASE环境来辅助开发人员开发,将大大加快系统的开发速度,提高开发人员的工作效率。各种开发方法对开发环境的支持如表1中第2项所示。从表中可以看到,CMU2WEB和WSDM没有任何的开发环境支持,与之相对照的是Autoweb的开发方法,它为开发人员提供了除了系统维护阶段以外的所有阶段的CASE环境,这就意味着这种开发方法能够大大简化和加速电子商务系统的开发过程。