中的应用越来越广泛,网上购物也逐渐成为人们的一种生活方式。
本系统正是基于这样一种环境下应运而生。
本电子商城分为前、后台两部分,前台主要实现会员的网上购物业务流程,后台则由各种管理员对商城会员、商品、定单等内容进行管理。
3. 需求分析 本电子商城分为前后台两部分,前台主要包括非会员和会员用户,后台分为商品管理员、订单管理员、会员管理员和系统管理员。
在系统中依据用户的权限执行相应的功能。
系统用例图如下所示: 注册 ltltusegtgt 登录 非会员 ltltusegtgt 商品浏览 个人信息维护 生成订单 订单维护 查看用户信息 订单管理员 ltltusegtgt 购买商品 会员 ltltusegtgt 添加商品到购物车 商品维护 商品管理员 查看购物车中商品 ltltusegtgt 个人信息修改 身份验证 ltltusegtgt 会员维护 删除购物车中商品 会员管理员 修改购物车中商品 后台管理员维护 系统管理员 图 3-1 系统用例图 -4-4. 系统设计4.1 分层模式 本系统是基于 B/S 模式开发的 JAVA EE 多层体系结构 WEB 应用。
系统开发主要分为以下几层:表示层、业务层、DAO 层、持久层。
业务层和 DAO 实现高内聚、层都通过接口与其它层进行连接从而减小了各层之间的耦合度,低耦的思想。
分层结构图如下所示: 图 4-1 系统分层结构4.2 开发技术与工具 主 要 开 发 工 具 为 : MyEclipse8.6 、 Mysql6.0 、 Tomcat6.0 、PowerDesigner12。
主要技术包括: MD5 JavaEE 轻量级框架 S2SH、 算法、Log4j、Ajax、JSON。
-5- S2SH 集成框架是 Struts、Spring 和 Hibernate 三种技术的有机融合,是目前应用最广泛的 Java EE 架构。
在 S2SH 集成框架中,Struts 的作用是提供 MVC 模型, 将界面、业务逻辑和数据分离, 并提供一个高可扩展的架构。
Spring 作为核心,向上整合 MVC 框架,向下整合 ORM 框架,使用 Spring的 IoC 容器来管理各组件之间之间的依赖关系,Spring 的声明事务将负责逻辑层组件的事务管理。
而 Hibernate 提供了一个抽象的数据服务视图,将用户对数据库的访问进行高度抽象。
Struts 是目前创建Web 应用最常用的表现层MVC 框架实现,是JakartaApache 的一个开源项目。
基于Model2 的Struts 框架利用控制器和定制标签库将应用中的模型和视图分离,达到了层间松散耦合的效果同时提高系统的灵活性、重用性和维护性。
作为开源项目,Struts 经受了大量实践的检验,功能越来越强大,体系也日臻完善,并且对其他技术和框架显示出良好的融合性。
图4-2 Struts2.0 MVC结构图 -6- Spring 由Rod Johnson 创建,它是为了解决企业应用开发的复杂性而创建的。
Spring 使用基本的JavaBean 来完成以前只可能由EJB 完成的事情。
然而,Spring 的用途不仅限于服务器端的开发。
从简单性、可测试性和松耦合的角度而言,任何Java 应用都可以从Spring 中受益。
简单来说,Spring 是一个轻量级的控制反转IoC和面向切面AOP的容器框架。
图4-3 Spring功能图 Hibernate 是一个开放源代码的对象关系映射框架,它对JDBC 进行了非常轻量级的对象封装,使得Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate 可以应用在任何使用JDBC 的场合, 既可以在Java 的客户端程序使用, 也可以在Servlet/
JSP 的Web 应用中使用。
-7- 图4-4 Hibernate运行图 AJAX 是 Asynchronout JavaScript and XML 的缩写,它并不是一门新的语言或技术,实际上是几项技术按一定的方式组合在一起,在共同的协作中发挥各自的作用,它包括:使用 XHTML 和 CSS 标准化呈现;使用 DOM 实现动态显示和交互;使用 XML 和 XSLT 进行数据交换和处理;使用 XMLHttpRequest进行异步数据读取;最后用 JavaScript 绑定和处理所有数据。
AJAX 的一个最大的特点是无需刷新页面便可向服务器传输或读写数据(又称无刷新页面),这一特点要得益于 XMLHTTP 组件 XMLHttpRequest 对象。
这样就可以像 而不用每次都刷新界面,再发桌面应用程序只同服务器进行数据层面的交换,也不用每次将数据处理的工作提交给服务器来做,这样即减轻了服务器的负担又加快了响应速度、缩短了用户等候时间。
-8- 图4-5 Ajax模型 JSON(JavaScript Object Notation,JavaScript 对象标记)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。
它基于 JavaScript(Standard ECMA-262 3rd Edition-December 1999)的一个子集。
JSON 采用与编程语言无关的文本格式,但是也使用了类 C 语言的习惯, 而 这些特性使 JSON 成为理想的数据交换格式。
AJAX 可以利用 JSON 更加有效地接收数据, 在 因为 JSON 特殊的属性。
Struts 2 的 showcase 中的 AJAX部分,JSON 的结果输出是通过 Freemaker 模板实现。
这种方法在简易性和灵活性上都比不上 JSON 插件。
Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。
当用户登录的时候,系统把用户输入的密码进行 MD5 Hash 运算,然后再去和保存在文件系统中的 MD5 值进行比较,进而确定输入的密码是否正确。
通过这样的 -9-步骤,系统在并不知道用户密码的明码的情况下就可以确定用户登录系统的合法性。
这可以避免用户的密码被具有系统管理员权限的用户知道。
Log4j 是 Apache 的一个开放源代码项目,通过使用 Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI 组件、甚至是套接口服务器、NT 的事件记录器、UNIX Syslog 守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。
最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。
4.3 总体设计4.3.1 系统总体结构 本系统分为前台和后台两部分,前台提供一条网上购物业务流程的功能实现,主要实现模块见图 4-6;后实现对前台功能信息的管理,主要实现模块见图 4-7。
- 10 -前台功能模块: 图 4-6 前台功能模块后台功能模块: 图 4-7 后台功能模块 - 11 -4.3.2 流程图 前台主要分为非会员用户和会员用户,其中只有会员用户才能实现在线购物,而非会员用户必需进行注册。
后台用户主要分为商品管理员、会员管理员、定单管理员、系统维护员,不同的管理员实现不同的功能。
前台流程图: 图 4-8 前台流程图 - 12 - 后台流程图: 定单管理员 会员管理员 图 4-9 后台流程图4.4 详细设计4.4.1 数据库设计 本系统数据库开发主要基于 Mysql6.0 数据库管理工具,包括 8 个数据库表如下所示: 数据字典 表 4-1 e_shop 数据表清单表名 解释ADMIN 管理员表CART 购物车表EVALUATE 商品评价表MEMBER 会员表MERCHANTABLE 商品表ORDERS 定单表 - 13 -RECORD 记录表TYPES 类别表 表 4-2 后台管理员表(ADMIN)ADMINadmin是否主 长 缺 省 字段名 字段描述 数据类型 可空 约束 备注 键 度 值 是 ADMIN_ID 管理员编号 INT2 2 ADMIN_NAME 管理员名 VARCHAR50 50 ADMIN_PWD 管理员密码 VARCHAR30 20 ADMIN_TYPE 管理员种类 INT1 1 表 4-3 购物车表(CART)CARTcart是否主 长 缺 省 字段名 字段描述 数据类型 可空 约束 备注 键 度 值 是 CART_ID 购物车编号 INT5 5 CART_MEM_ID 会员编号 INT5 5 是 CART_MER_ID 商品编号 INT6 6 是 CART_NUM 商品数量 INT3 3 是 表 4-4 商品评价表(EVALUATE)EVALUATEevaluate是否主 长 缺 省 字段名 字段描述 数据类型 可空 约束 备注 键 度 值 是 EVAL_ID 评价编号 INT3 3 EVAL_MEM_ID 会员编号 INT5 5 是 EVAL_MER_ID 商品编号 INT6 6 是 EVAL_DATE 评价日期 VARCHAR20 20 是 EVAL_CONTENT 评价内容 VARCHAR200 200 是 表 4-5 会员表(MEMBER)MEMBERmember是否主 长 缺 省 字段名 字段描述 数据类型 可空 约束 备注 键 度 值 是 MEM_ID 会员编号 INT5 5 MEM_NAME 会员名称 VARCHAR50 50 MEM_PWD 会员密码 VARCHAR30 20 MEM_TEL 联系电话 VARCHAR15 15 是 MEM_ADDRESS 联系地址 VARCHA.
上一篇:
爽爽网上购物网站策划书
下一篇:
她要是喜欢我