您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 电子商务 > Baishop电子商务系统设计文档
Baishop电子商务系统文档概述Baishop是一款B2C电子商务网站,通过界面主题改版,可以成为通用的电子商务构建平台,您可以非常方便的开一个网上商店,在网上开展自己的生意。网站采用纯Java编写,基于JDK6.0,使用MySQL数据库。设计原则先进性:系统采用面向对象开发方法,模块化分布式软件体系和多层化系统技术架构,等业界先进架构和技术。可靠性:系统具有高度的健壮性,具备处理各种非正常状态和事件的能力,确保7*24小时运行。简易实用性:系统人机界面友好,Web标准支持良好,安装、使用非常简单,方便定制所需页面。可扩展性:系统提供高度的可扩展性,可通过添加插件,可提供多种特殊的功能;可通过选择不同主题,方便地改变页面的显示效果。可维护性:系统通过Spring框架,实现依赖注入功能,可通过XML来配置类的关系和属性注入,而无需修改源代码。可自定义性:用户可自定义选择系统提供的版式布局,主题风格,模块功能,也可以添加定义页面,在自定义页面中,可拖拉添加和移除模块功能。多种数据库:本系统持久层使用iBATIS框架,实现代码与数据持久层的分开,将数据库操作的SQL语句配置在XML中,可随时修改和替换XML中的SQL,来改变对数据库的操作和变换。实现功能商品展示、大图展示、分类展示、详细描述。商品评论,商品留言,商品推荐。商品的关键字搜索、分类搜索。购物车、下单流程。在线支付、货到付款。在线客服、疑难解答。购买记录、付款记录、收货地址。积分兑换、积分查询。会员注册、商品管理、订单管理、库存管理。用户管理、客服管理、权限管理。商品促销活动管理、业务分析与统计。商品推广,商品的RSS聚合。静态促销网页生成。开发工具系统架构:B/S编程语言:Java应用框架:后台Spring3.x+Ibatis2.x,MVC使用为SpringMVC+Velocity模板引擎,前端脚本jQuery1.5开发工具:Eclipse3.7运行环境:Nginx+Tomcat7.x(JBoss7.x)+Jdk1.6(JRockit)操作系统:Linux数据库:MySQL5.x及以上体系结构网络拓扑图系统部署图系统设计主题风格目前系统提供了以下主题风格,用户如果有设计能力,也可以在WEB-RES/themes/目录中扩展添加第三方主题。默认主题(default)模块功能技术架构架构图Web服务层ServicesiBATISDAOBrowserBrowserBrowser事务控制Transaction单元测试UnitTesting权限控制Authority日志记录Logger其它AOP功能切入数据库接口HTTP请求Httprequest安全控制Security持久层缓存Ibatiscache远程调用远程调用Web层Velocity(模块引擎)【前台公网主站使用】在前台使用。Extjs4(界面JS框架)【后台ERP系统使用】ExtJS是一种主要用于创建前端用户界面。ExtJS是一个基本与后台技术无关的前端javascript框架。ExtJS的主要优点是功能强大、控件丰富、界面美观、使用简单。2011年4月22日,Extjs4.0正式发布,主要有以下改进:核心改进:简化架构和重塑基础。这些变化不单提供了产品性能,还提高了其健壮性。测试框架:在所有支持的浏览器上对框架进行了持续全面的测试。类系统:Extjs实现一个功能更完整的类系统,包括类的导入和继承等,在4.0中框架不再扩展数组或函数等原生对象,因此,与其它的框架同时加载到页面时,再也不会产生冲突。应用架构:在ExtJS4,引入了一个标准化的几乎适合任何ExtJS应用程序的MVC风格的应用架构。使用MVC,开发团队只需要学习一种架构就能理解任何ExtJS4的应用。大量的界面控件:包括Windows、Forms、ComboBox、Grid、Tabs、Tree、ToolbarsandMenus、DataView、Charts、LayoutManagers、DragandDrop、Dreawing、Direct全新的图表库:ExtJS4中包含全新的、插件自由的图表库,包括饼图、线图、面积图、雷达图等等,所有这些都是动画的、易于配置的和可扩展的。Springmvc(MVC框架)SpringMVC分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。SpringMVC是一个典型的教科书式的mvc构架,而不像struts等都是变种或者不是完全基于mvc系统的框架。SpringMVC它是一个纯正的servlet系统,是单例模式,在性能上,会比struts、webwork优越很多。SpringMVC易于同其它View框架(Velocity,Freemake,Titles等)无缝集成,采用IOC便于包含多种视图技术。Springsecurity(WEB安全框架)SpringSecurity为基于J2EE企业应用软件提供了全面安全服务框架。SpringSecurity安全包括两个主要操作:第一个被称为“认证”,是为用户建立一个系统能识别的身份验证。SpringSecurity广泛支持各种身份验证模式,这些验证模型绝大多数都由第三方提供,如:JA-SIGCentralAuthenticationService(这是一个流行的开源单点登录系统)。第二个叫“授权”,指的是一个用户能否在你的应用中执行某个操作,在到达授权判断之前,用户身份已经由身份验证过程建立。Springvalidator(表单验证)Spring-Validator的主要意图是为SpringMVC提供简洁、可配置的验证机制,提高Spring的开发效率。主要功能是:提供Spring客户端验证机制,就是通过读取配制,在JSP页面中生成相应的javascript,然后点击submit的时候,Alert出相应的信息。提供Spring服务器端通用的可配置的验证,就是通过服务端beans注入的方式,使用validatorapi进行验证。Servcice层Springioc(控制反转)控制反转模式(也称作依赖性注入)的基本概念是:不创建对象,但是描述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。容器负责将这些联系在一起。Springaop(切面编程)AOP即面向切面的编程,是一种编程技术,它允许程序员对横切关注点或横切典型的职责分界线的行为(例如日志和事务管理)进行模块化。AOP的核心构造是切面,它将那些影响多个类的行为封装到可重用的模块中。Springremoting(远程服务)Remoting实际上是一种企业分布式计算的组件。在同一服务器(Java虚拟机)内进行调用的服务(或类)并不需要把自己暴露为一种远程服务;但是,如果你需要与一个外部程序(在不同的服务器上或在一个不同的组织中)进行通讯的话,那么,必须把它实现为一个远程服务。Spring框架为把业务类暴露为远程服务提供了一种独特而灵活的方式。Spring目前提供了对RMI、HttpInvoker、Hessian、Burlap、JMS及WebService等Remoting技术的集成。Spring屏蔽了这些实现技术的差异,用户只需开发简单的Java对象(PlainOldJavaObjects,POJO)然后按照Spring规定的格式进行配置文件的编写即可。下面介绍几种常用优秀的方式,不常用或不好用的就不说了:Hessian:Hessian是一个由CauchoTechnology开发的轻量级二进制RPC协议,它使用一种定制的串行化技术来实现跨网络发送Java对象。Hessian的优点是可以透过防火墙,使用简单的方法提供了RMI的功能。除了对Java支持外,Hessian还提供对于例如PHP,Python,C++和C#等其它语言的实现支持。HttpInvoker:HttpInvoker是Spring专门提供的Remoting策略,HttpInvoker将参数和返回值通过Java的序列化机制进行编组和反编组,它具有RMI的支持所有可序列化对象的优点。HttpInvoker是使用Http协议传输二进制流的,传输效率比Hessian要高,但HttpInvoker只支持JAVA语言。JMSRPC:JMS是一种应用于异步消息传递的标准API,JMS也是应用于不同程序间通讯的。JMS的优点:不用等待、面向消息、位置独立、确保投送。Spring可以实现基于JMS的RPC服务,可以实现异步远程方法调用。Dao层Spring+ibatis(持久层框架)iBATIS是一个‘半自动’ORM的实现,最直接的好处就是不但为程序员提供了对象与关系数据库之间的映射,同时提供操作方法与SQL间的直接影射,设计者可以直接为一个方法指定一条SQL语句,从而取得更加准确的数据,同时为优化查询、连接查询提供了方便。iBATIS入门简单,即学即用,提供了数据库查询的自动对象绑定功能,而且延续了很好的SQL使用经验。iBatis可以进行细粒度的优化,SQL的执行全部掌握在程序员手中。它与Hibernate相比,提供了更多的灵活性与可控性。SpringDAO模型提供了对iBATIS的良好支持,可以让ibatis集成到Spring的声明式事务中。Springtransaction+jta(分布式事务管理)Spring框架提供了一致的事务管理抽象。主要特点如下:提供一致的编程模型,如JTA、JDBC、Hibernate、iBATIS、JPA和JDO。提供声明式事务管理,包括XML配置和注解方式。JTA,即JavaTransactionAPI,译为Java事务API。JTA允许应用程序执行分布式事务处理——在两个或多个网络计算机资源上访问并且更新数据。Spring可以集成JTA,让JTA应用在Spring强大的声明式事务中。数据库系统库baishop-ass系统用户表:bai_admins后台管理系统登录用户表Fields字段类型键默认值说明user_idint(11)unsigned主键自增用户的自增idusernamevrchar(64)UQE‘’用户名passwordvrchar(64)‘’密码namevarchar(64)‘’姓名codevarchar(64)UQE‘’工号sexvrchar(4)‘’性别:’男’、’女’positionvarchar(64)0职务mobilevarchar(64)‘’手机emailvarchar(64)‘’邮箱reg_timedatetime1000-01-0100:00:00注册时间update_timedatetime1000-01-0100:00:00修改时间last_login_timedatetime1000-01-0100:00:00最后一次登录时间last_login_ipVarchar(64)‘’最后一次登录ipvisit_countbigint(20)unsigned0登录次数is_allow_logintinyint1是否允许登录,枚举101:1,允许;0,不允许enabletinyint1是否启用,枚举102:1,启用;0,禁用Indexes名称类型字段primaryPRIMARYuser_iduqe_usernameUNIQUEusernameuqe_codeUNIQUEcode系统角色表:bai_roles后台管理系统用户角色表Fields字段类型键默认值说明role_idint(11)unsigned主键自增角色的自增idrole_pidint(11)unsignedIDX10角色的父idrole_namevrchar(64)UQE‘’角色名role_typevrchar(32)‘’角色类型:ROLE_ADMIN(管理员)ROLE_USER(普通用户)role_descVarchar(255)‘’描述sortint(11)unsignedIDX0角色显示顺序,数字越大越靠后le
本文标题:Baishop电子商务系统设计文档
链接地址:https://www.777doc.com/doc-2900000 .html