电子商务系统的分析与设计1电子商务系统的分析与设计AnalysisandDesignofe-CommerceSystem刘军董宝田北方交通大学电子商务系统的分析与设计2第7章商务应用系统设计7.1概述7.2商务应用系统的功能7.3数据层电子商务应用的设计7.4表示层电子商务应用的设计7.5典型的电子商务应用电子商务系统的分析与设计3应用软件在电子商务系统中处于最为重要的地位网络基础设施(电信网络、有线电视网、无线网络等)计算机硬件(主机、外部设备等)开发语言Java、JavaScript、C/C++等操作系统Windows、UNIX等网络通讯协议TCP/IP、HTTP、WAP等对象组件JavaBeans、EJB、CORBA等电子商务应用开发支持平台电子商务服务平台安全(Firewall等)支付(SET/SSL等)认证(CA等)目录服务(LDAP等)负荷均衡(LoadBalance)电子商务应用(企业宣传、网络银行、网络购物、虚拟电子市场、拍卖等)社会环境(法律、税收、隐私、国家政策、专门人才等)社会环境网络环境硬件环境软件及开发环境商务服务基础环境电子商务服务电子商务系统电子商务系统的分析与设计47.1概述1.电子商务应用软件的层次从系统的体系结构看,可以归属于应用表达层、商务逻辑层和数据层。应用表达层的应用软件主要运行于WWW服务器和用户终端设备。应用软件的主要作用是为最终用户提供一个友好的交互界面,接收用户提交的事件,并将处理结果返回给用户。电子商务系统的分析与设计5应用表达层商务逻辑层数据层客户端表达逻辑(ThinClient)服务器端表达逻辑(serverside)表达逻辑(FatClient)商务逻辑(BusinessLogic)数据存取(DataAccess)PC或者其他终端Web服务器应用服务器数据库服务器电子商务应用软件电子商务应用软件的分布浏览器数据库存取联机事务处理联机分析…………网络交易电子零售客户关系管理供应链管理………网络广告信息发布虚拟社区………页面广播、动画、短信………电子商务应用软件的功能电子商务系统的分析与设计6商务逻辑层的应用软件主要运行于WWW服务器或者应用服务器。该部分软件主要实现企业商务逻辑的核心功能,主要作用是进行业务处理。数据层的应用软件主要是完成数据的存取功能,可以运行于应用服务器或者数据库服务器上。这部分软件的基本功能是实现不同数据源的数据存取、联机事务处理或联机事务分析。电子商务系统的分析与设计72.电子商务应用软件的设计表达层应用软件是电子商务应用软件中最为灵活的部分,也是最富有创意的地方,其设计主要集中如何采用有效的方式将结果展现在用户的面前。商务处理层的功能是最复杂的,和具体的业务需求关系密切。在设计过程中,可以参考一些典型的电子商务应用实例,再融入企业需求的具体要求进行设计。数据层的应用软件的设计则主要包括数据库结构设计、企业商务活动中的联机事务处理或者联机事务功能的设计方面。电子商务系统的分析与设计87.2商务应用系统的功能1.电子商务系统应用软件功能分析从狭义上讲电子商务就是通过Internet网络进行的商业活动;广义的电子商务则将利用包括Internet、Intranet、LAN等各种不同形式网络在内的一切计算机网络进行的所有商贸活动都归属于电子商务。电子商务涵盖的业务包括:信息交换、售前售后服务、销售、电子支付、运输、组建虚拟企业、公司和贸易伙伴可以共同拥有和运营共享。电子商务系统是一个包括商务、技术、支付、物流等许多角色与要素的系统工程。确定电子商务系统的商务功能,是电子商务系统应用软件设计主要任务,这部分工作是在企业状况分析与市场需求分析的基础上完成的。电子商务系统的分析与设计92.电子商务应用软件的主要业务功能从基本的商务功能讲,电子商务系统一般具有以下从第1项向第4项扩展的一项或多项功能:信息服务功能:提供诸如产品(或服务)、价格、业务介绍等信息,以及搜索与导航功能,方便用户获得相关信息;交易功能:确定双方交易的形成,如处理订货、支付以及其它与交易有关的事项;支付结算功能:完成双方交易金额的清算。主要通过委托现有的金融机构来处理信用卡授权和结算。对商品(或服务)的跟踪功能:交易形成后,应提供用户对所购商品或服务的跟踪功能,使客户与商家能随时保持交流与沟通。电子商务系统的分析与设计103.应用软件的系统功能电子商务系统还有一些功能是和系统的管理、维护相关的网络管理功能:为用户安全、可靠、正常、使用网络服务而进行监控、维护和管理,保证网络正常、高效地运行。主要功能有:故障管理、配置管理、性能管理、计费管理、安全管理。网络安全功能:提供保证系统安全、主机安全、数据安全的硬件与技术支持。主要功能有:防火墙、主机安全措施、入侵检测与安全审计、系统备份。网络应用功能:提供对电子商务系统支持及企业内部的服务。如域名系统(DNS)、内部电子邮件、远程登录(Telnet)、文件传输(FTP)、WWW服务、电子公告栏(BBS)、网上呼叫(ICQ)等功能。数据管理功能:采用数据库管理系统对电子商务系统所涉及的企业内外部数据进行全面的管理。电子商务系统的分析与设计117.3数据层电子商务应用的设计7.3.1关系数据库表结构的设计7.3.1.1数据库设计时需要考虑的问题7.3.1.2数据库设计中的规范化形式7.3.2联机事务处理电子商务系统的分析与设计127.3.1关系数据库表结构的设计7.3.1.1数据库设计时需要考虑的问题如何为用户提供更多的方便,使得数据检索操作简化、消除在对数据进行插入、修改和删除时可能产生的相互影响、以及在数据结构修改时尽量减少对应用程序的修改,成为数据库设计中首要考虑的问题。1.数据共享。2.减少冗余。3.避免数据不一致。4.保持完整性。5.增强安全性。6.加强标准化。电子商务系统的分析与设计137.3.1.2数据库设计中的规范化形式在规范化理论中所使用的“关系”(Relation)相当于关系数据库中的表,关系中的“属性”(Attribute)相当于表中的“字段”或“数据元素”。每一条记录称为一个元组(Tuple),含有两个属性的记录称为2-元组,含有n个属性的记录称为n-元组。在一个关系的每个元组(相当于表中的每条记录),必须有一个唯一的关键字(Key),标识出该元组以区别于关系中的其它元组。电子商务系统的分析与设计147.3.1.2数据库设计中的规范化形式在规范化理论中,把关系看作是二维表,它有以下四个性质:(1)在任一列上,数据项应属于同一个属性;(2)这个表中的所有行都是不相同的,既不允许有重复的组项出现;(3)在一个表中,行的顺序无关紧要;(4)在一个表中,每一个列(属性)有不同的名称,即属性名。列的顺序也无关紧要。电子商务系统的分析与设计151.第一规范化形式在规范化理论中,关系必须是规范化的。所谓规范化是指在一个关系中没有可重复出现的组项(字段),也就是说它是一个“平坦”的数据结构。任何一个规范化的关系都自动称为第一规范化形式(FirstNormalForm),简称第一范式(1NF)。反映在数据库表结构的设计中,就是要求数据结构对应的一条记录只能用一行来表示,而不能像手工文件表格中,一条记录中的部分项目可多次重复(用多行表示)。电子商务系统的分析与设计162.第二规范化形式函数依赖(FunctionDependence):如果在一个数据结构R中,数据元素B的取值依赖于数据元素A的取值,我们称B函数依赖于A。换句话说,A决定B,用“A→B”表示。如果一个规范化的数据结构,它所有的非关键字数据元素都完全依赖于整个关键字,我们称它是第二规范化形式(SecondNormalForm)的数据结构,简称第二范式(2NF)。电子商务系统的分析与设计17“配件-供应商-库存”数据结构中的数据元素关系*配件编号配件名称规格*供应商名称供应商地址价格(厂价)库存量库存占用资金图7-3“配件-供应商-库存”数据结构中的数据元素关系电子商务系统的分析与设计18“配件-供应商-库存”可以分解为3个2NF的数据结构:配件库存配件供应商*配件编号*配件编号*供应商名称*供应商名称配件名称供应商地址价格(厂价)规格库存量库存占用资金电子商务系统的分析与设计193.第三规范化形式传递依赖”(TransitiveDependence)的概念:假设A、B、C分别是同一个数据结构R中的三个数据元素,或分别是R中若干个数据元素的集合。如果C函数依赖于B,而B又函数依赖于A,那么C也函数依赖于A,我们称“C传递依赖于A”,说明数据结构中存在着传递依赖关系。电子商务系统的分析与设计20传递依赖关系ABC电子商务系统的分析与设计21“配件库存”中的数据元素关系*配件编号*供应商名称价格(厂价)库存量库存占用资金电子商务系统的分析与设计22第三范式(3NF):如果一个属于第二范式的数据结构,它所有的非关键字数据元素都是彼此函数独立的,换句话说,在所有的非关键字数据元素之间,不存在函数依赖关系,那么我们称它是第三规范化形式(ThirdNormalForm)的数据结构,简称第三范式(3NF)。电子商务系统的分析与设计23将一个非规范化的数据结构转化成第三范式的数据结构的过程:*AB*A*EF*CD*A*A*CDFEB去掉重复的组项,转换成1NF电子商务系统的分析与设计24将一个非规范化的数据结构转化成第三范式的数据结构的过程去掉部分函数依赖,转换成2NF去掉传递依赖,转换成3NF*A*B*A*AC*B*AB*A*BDCDCBC电子商务系统的分析与设计257.3.2联机事务处理1.事务的概念事务是一个逻辑工作单元,它包括一些数据库操作(特别是,一些更新操作)。这些操作要么都执行,要么都不执行,是一个不可分割的工作单位。常见的例子如从账户A到账户B转移一定的现金数。事务是数据库维护数据一致性的单位,在每个事务结束时,都能保持数据一致性。电子商务系统的分析与设计262.事务的特性(1)原子性:在事务内的所有操作要么在一起成功,要么一起失败。(2)一致性:当事务失败退出时,所有在本事务中被修改的数据,都会被恢复到事务开始时的状态。(3)独立性:在事务执行过程中,已被修改但未被提交的数据,对于其他事务是不可见的。(4)永久性:已被提交的数据是永久的,不可再恢复的。要取消已提交的事务,必须在应用级实现,例如再进行一次相反的事务实现反冲。电子商务系统的分析与设计27选择隔离级别的准则表在实际系统中,应该根据具体应用特点,定出更适合实际情况的隔离级别。应用程序类型需要高数据稳定性不需要高数据稳定性读写事务RSCS只读事务RRUR电子商务系统的分析与设计283种基本的锁类型:共享(S)锁、排它(X)锁和更新(U)锁1)共享(S)锁:用于读操作。多个事务可封锁一个共享单位的数据。任何事务都不能修改加S锁的数据。通常是加S锁的数据被读取完毕,S锁立即被释放。2)排它(X)锁:用于写操作。仅允许一个事务封锁此共享数据。其他任何事务必须等到X锁被释放才能对数据进行访问。X锁一直到事务结束才能被释放。3)更新(U)锁用来预定要对此页施加X锁,它允许其他事务读,但不允许再加U锁或X锁。当被读取数据页将要被更新时,则升级为X锁。U锁一直到事务结束时才能被释放。电子商务系统的分析与设计295.分布式事务处理X/OPEN分布式事务处理(DTP)包括三个部分:(1)应用程序(AP)定义事务的起始及组成事务的操作。(2)资源管理器(RM)提供对共享资源的访问,如数据库或文件系统。(3)事务管理器(TM)为各事务指定标识符,监控事务过程,负责事务的完成及故障恢复。电子商务系统的分析与设计30分布式事务处理的组成电子商务系统的分析与设计31X/OPEN的三种接口:(1)应用程序使用各种资源管理器提供的接口访问其资源,如DB2的EmbeddedSQL,SYBASE的DB-LIBRARY和CT-LIBRARY,Oracle的