1、摘 要随着互联网和宽带上网的普及,在线购物在中国更是异军突起,并日益渗透到人们的日常生活中。网购的人越来越多,网络商城发展迅速,各类购物系统也应运而生,针对各类大型在线购物的网站的开发已经非常成熟。客户拍下商品并确认购买时产生初始订单,然后通过各种途径付款。商家再对支付完的订单发货,最后客户确认收货,整个流程都是围绕着订单进行的。目前,为数众多的小型购物网站却没有一个合适的管理系统,因此,开发此管理系统是十分必要的。本课题设计的目标是实现一个基于 JSP+JavaBean+Servlet 的 MVC 模式的在线购物平台管理系统。论文先介绍了开发项目所用到的关键技术,接着从用户需求、经济和技术等
2、三个方面对系统进行分析。在概要设计中,根据系统分析的结果,把系统分为后台管理和前台商城两大模块。根据后台和前台用户的不同需求,把后台细分为订单管理、用户管理、商品管理等模块;前台细分为会员登录注册,商品查询,商品购买,订单查询等模块。详细介绍了在基于 Jsp+JavaBean 模式下各个模块的实现过程,且以开发过程为基础实现系统所具有的可重用性、可维护性和可扩展性等优势进行了分析。关键词 MyEclipse 开发工具,在线购物,JSP IABSTRACTWith the popularity of the Internet and broadband Internet access, e-co
3、mmerce in China is a meteoric rise, and increasing penetration into peoples daily lives. Online shopping, more and more people, the rapid development of online shopping mall, and various management systems have emerged. When customers captured goods and confirm the purchase of the initial orders, an
4、d payments through a variety of channels, necessary to prepare shipment after paying paragraph order, the final confirmation of receipt, the entire process revolves around orders. At present, a large number of small shopping site but not a proper management system, Therefore, the development of this
5、 management system is necessary.The goal of the design of this project is a online shopping mall order system based on JSP JavaBean Servlet MVC pattern. The paper first describes the key technologies used in development projects, followed by analysis from user needs, economic and technical aspects o
6、f the system. The outline design, based on a systematic analysis of the results, the system is divided into two modules of the Admin and foreground Mall. According to the different needs of users in background and foreground, the background is subdivided into order management, user management, merch
7、andise management module; foreground segmentation Member Login Register commodity query purchase of goods, order inquiries modules. Details of the implementation process of each module in Jsp JavaBean-based mode, and to develop a process for the underlying implementation of the system has the advant
8、ages of reusability, maintainability and scalability.Keywords : MyEclipse, online shopping orders, JSP目 录摘 要 .IABSTRACT .II目 录 .III第一章 系统概述 11.1 课题背景与意义 .11.2 课题研究的内容及方法 11.3 课题研究的技术路线 21.4 课题开发工具与环境 .31.4.1 JAVA 和 JSP 技术简介 .31.4.2 MySql 概述 .41.4.3 Tomcat 6.0 服务器架构 51.4.4 总体开发 .6第二章 系统分析 72.1 系统概述 .
9、72.1.1 系统分析原则与方针 .72.1.2 系统需求 .72.2 系统需求分析 .72.2.1 可行性分析 72.2.2 需求分析 8第三章 系统设计 93.1 数据库设计 .93.1.1 数据库总体设计 93.1.2 数据库概念设计 93.1.3 数据库逻辑设计 113.2 系统总体设计 .133.2.1 总体设计 .133.2.2 系统逻辑处理 143.3 功能设计 .143.3.1 前台用户功能模块设计 .143.3.2 后台用户功能模块设计 .15第四章 主要模块实现与界面设计 .17I4.1 后台用户登录及主界面 174.2 我的购物车 184.3 订单生成 .194.4 订单
10、管理 .224.5 商品管理 .244.6 客户管理 .254.7 意见反馈 .25第五章 系统测试 275.1 系统测试的作用及意义 275.2 系统测试 .27总 结 28致 谢 30参考文献 .310第一章 系统概述1.1 课题背景与意义在线购物,就是通过互联网检索商品信息,并通过电子订购单发出购物请求,然后填上私人支票帐号或信用卡的号码,厂商通过邮购的方式发货,或是通过快递公司送货上门。国内的网上购物,一般付款方式是款到发货(直接银行转帐,在线汇款)。担保交易(支付宝,百付宝,财付通等),货到付款等。1999 年底,随着互联网高潮来临。中国网络购物的用户规模不断上升。截至 2014年
11、12 月,我国网络购物用户规模达到 3.61 亿,较 2013 年底增加 5953 万人,增长率为19.7%;我国网民使用网络购物的比例从 48.9%提升至 55.7% 对于一些传统企业而言,通过一些传统的营销手段已经很难对现今的市场形成什么重大的改变了。如果想将企业的销售渠道完全打开,企业就必需引进新的思维和新的方法。而网络购物正好为现今的传统企业提供了一个很好的机会与平台,传统企业通过借助第三方平台和建立自有平台纷纷试水网络购物,构建合理的网络购物平台、整合渠道、完善产业布局成为传统企业未来发展重心和出路本课题设计的目标是实现一个基于 JSP+JavaBean+Servlet 的 MVC
12、模式的在线购物系统。论文先介绍了开发项目所用到的关键技术,接着从用户需求、经济和技术等三个方面对系统进行分析。在概要设计中,根据系统分析的结果,把系统分为后台管理和前台商城两大模块。根据后台和前台用户的不同需求,把后台细分为订单管理、用户管理、商品管理等模块;前台细分为会员登录注册,商品查询,商品购买,订单查询等模块。详细介绍了在基于 Jsp+JavaBean 模式下各个模块的实现过程,且以开发过程为基础实现系统所具有的可重用性、可维护性和可扩展性等优势进行了分析。系统的主要目的就是通过软件来推广互联企业的产品和服务,并使客户随时可以了解企业和企业的产品,为客户提供在线服务和订单处理功能。从长
13、期的战略目标来说,软件不仅仅是产品和服务的推广,而且是通过 Internet、企业内部网(Intranet)和企业外部网(Extranet),将买家与卖家、厂商和合作伙伴紧密结合在了一起,因而消除了时间与空间带来的障碍。系统主要分为前台和后台。前台包括产品的展示及会员购物等模块,后台是管理界面,主要包括订单管理、商品管理、会员管理和公告等。1.2 课题 研究的内容及方法本项目主要包括系统会员管理、前台营业管理、预定服务以及系统管理功能。理顺1管理体制和建立各种管理规范与开发信息系统有机地结合起来。以网购信息管理为核心的集成环境,提供以项目为核心、基于用户角色的权限机制。为用户网购提供方便。主要
14、的系统账户管理功能具有系统管理员的身份登录,负责添加用户。而前台营业管理功能可以浏览当前商品的库存情况,还有哪些有货商品可以购买。预定服务功能则是可以添加和删除订单,添加的订单记录订单编号,预定日期,预定的价格等。最后的系统管理可以添加和删除账户,登记卖家、买家信息,包括编号,姓名,性别,住址,身份证号码。这次研究的内容全部采用 Web 方式展现出来,由前台操作和后台管理两部分构成,前台主要负责与用户交互,后台主要完成系统各项功能。课题研究方法主要有:1、文献研究法。广泛地搜集、鉴别、整理与网购平台开发以及数据持久性相关主题的文献,从而得出一般性结论或者发现问题,寻找新的思路。2、资料收集法。
15、深入个体,对要研究的应用程序的现状进行调查,利用不同的资源进行收集,找准问题所在,明确研究对象。3、个案研究法。结合网购平台开发以及数据持久性课题的研究目标,制定研究计划,对网购平台提供的最常用最简单的数据存储机制进行连续调查,从而研究每个机制的适用场合,这种研究方法也称为案例研究法。1.3 课题研究的技术路线1、运用文献研究法,通过图书馆、网上论坛或数字图书馆搜集书籍、论文、视频等资料,根据资料里的教学步骤,完成网购平台开发环境的搭建,学会 myEclipse 平台的使用;阅读书籍里关于 JSP 语言的相关语法介绍,将其与 C、C+进行比较学习,从而掌握 JSP 语言的语法特点,了解面向对象
16、的概念,如封装、继承和多态等。2、采用资料收集法,研究教材中的一个简单的网购平台,借鉴其已有的功能,同时发现其不足;使用现有的网购平台,观察其已有的功能,取其功能及界面设计上的精华,同时舍弃其不方便或者繁琐的功能,从而完成此程序的需求分析。3、根据比较法,在 Web 交互技术上,综合考虑执行效率,稳定性,开发维护的难度等多种考虑因素后,比较嵌入式数据库 SQLite3 与大中型数据库 My SQL、MySql 存储方式之间的差异及优缺点,从而选择采用 JSP 和 Java Servlet 相结合作为系统的 Web 与数据库交互的核心技术。同时,在开发时利用了面向对象编程提出的MVC(Model
17、/View/Control)编程模式,将表达与内容分离,把 JSP 与 Servlet 联合起来,吸取了两种技术各自的突出优点。使用的的技术包括以下内容:2JSP:(Java Server Pages),JSP 是一种基于 Java 的技术,用来产生跨平台和跨Web 服务器的动态页面。JDBC:(Java Database Connectivity),Java 数据库连接。它主要是一套让你访问数据库的 API,程序人员可以利用 JDBC API 来执行 SQL 语句。Servlet: Servlet 可以称之为“服务器小程序”,与 Java application 不同,它没有 main 方法
18、,而是用一些特定的方法用于启动、执行和退出。通过使用 Servlet,可以与运行与客户端的 Applet 进行交互,也可以直接与 HTML 页进行交互。JavaBeans: JavaBeans 是可复用的平台中立的软件组件,可以在软件开发工具中被直观地操作。应用程序开发者可以通过支持 JavaBeans 的开发工具,直接使用现成的JavaBeans,也可以在开发工具容器中,对组件进行必要的修改、测试而不必编写和编译程序。在 Java 模型中,组件可以修改或与其他组件组合以生成新组件或完整的应用程序。HTML:(Hypertext Markup Language)超文本标记语言,它是组织多媒体文
19、档的重要语言,它不仅用来编写 Web 网页,而且可以使用它来制作光盘上的多媒体节目。HTML 可用来编排文档、创建列表、建立链接等等。XML:(extensible Markup Language)可扩展标记语言,它是一种具有数据描述功能(Meta-language)、高度结构性及可验证性的语言。SQL:(Structured Query Language),结构化查询语言。SQL 语言地任务就是与各种数据库建立关系,SQL 语言是关系型数据库的标准语言,大多数关系型数据库管理系统都支持 SQL 语言并采用了 SQL 的语言标准。1.4 课题开发工具与环境1.4.1 JAVA 和 JSP 技术
20、简介1、将内容的生成和显示进行分离用 JSP 技术,Web 页面开发人员可以使用 HTML 或者 XML 标识来设计和格式化最终页面,并使用 JSP 标识或者小脚本来生成页面上的动态内容(内容是根据请求变化的,例如请求账户信息或者特定的一瓶酒的价格等)。生成内容的逻辑被封装在标识和JavaBeans 组件中,并且捆绑在脚本中,所有的脚本在服务器端运行。由于核心逻辑被封装在标识和 JavaBeans 中,所以 Web 管理人员和页面设计者,能够编辑和使用 JSP 页面,而不影响内容的生成。在服务器 端,JSP 引擎解释 JSP 标识和脚本,生成所请求的内容(例如,通过访问 JavaBeans 组
21、件,使用 JDBC 技术访问数据库或者包含文件),并且将结果以 HTML(或者 XML)页面的形式发送回浏览器。这既有助于作者保护自己的代码,又能保证任何基于 HTML 的 Web 浏览器的完全可用性。32、可重用组件大多数 JSP 页面依赖于可重用的、跨平台的组件(JavaBeans)来执行应用程序所要求的复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者和客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。3、采用标识Web 页面开发人员不会都是熟悉脚本语言的编程人员。JSP 技术封装了许多功能
22、,这些功能是在易用的、与 JSP 相关的 XML 标识中进行动态内容生成所需要的。标准的 JSP 标识能够访问和实例化 JavaBeans 组件,设置或者检索组件属性,下载 Applet,以及执行用其他方法更难于编码和耗时的功能。4、适应平台几乎所有平台都支持 Java,JSPJavaBeans 几乎可以在所有平台下通行无阻。从一个平台移植到另外一个平台,JSP 和 JavaBeans 甚至不用重新编译,因为 Java 字节码都是标准的与平台无关的。5、数据库连接Java 中连接数据库的技术是 JDBC,Java 程序通过 JDBC 驱动程序与数据库相连,执行查询、提取数据等操作。Sun 公司
23、还开发了 JDBCODBC bridge,利用此技术 Java 程序可以访问带有 JDBC 驱动程序的数据库,目前大多数数据库系统都带有 JDBC 驱动程序,所以 Java 程序能访问诸如 Oracle、Sybase、MS MySql 和 MS Access 等数据库。1.4.2 MySql 概述MySql 是一个关系型数据库管理系统,是目前世界上最著名的关系数据库管理系统之一。它在性能和可扩展方面确立了世界领先的地位,是一套完全的数据库和数据分析解决方案,使用户可以快速创建下一代的可扩展电子商务和数据仓库解决方案。 MySql 在数据库服务器自动调整和自动管理技术方面在数据库领域中处于领先地
24、位,使客户可以集中精力处理商业战略上的问题,而不是去细微调整数据库服务器的各项参数。MySql 的主要功能:数据库管理功能作为数据库管理系统,MySql 自然应该具有数据库管理功能。它的数据库由包含数据的 20 世纪,随着计算机科学的发展,数据库技术在 Internet 中的应用越来越广泛,为广大网络用户提供了更加周到和人性化的服务。个性化已逐渐成为当今 Wed 应用的潮流。本文研究了一种基于数据关联规则采集技术的用户个性化页面动态生成方案,此方4案与现今网上已采用的一些方案相比,具有用户使用更简单、反映用户更明显细致等优点。 Java 中连接数据库的技术是 JDBC,Java 程序通过 JD
25、BC 驱动程序与数据库相连,执行查询、提取数据等操作。Sun 公司还开发了 JDBCODBC bridge,利用此技术 Java 程序可以访问带有 ODBC 驱动程序的数据库,目前大多数数据库系统都带有 ODBC 驱动程序,所以 Java 程序能访问诸如 Oracle、Sybase、MS MySql 和 MS Access 等数据库。MySql 是美国公司开发的一个关系型数据库管理系统,是目前世界上最著名的关系数据库管理系统之一。它在性能和可扩展方面确立了世界领先的地位,是一套完全的数据库和数据分析解决方案,使用户可以快速创建下一代的可扩展电子商务和数据仓库解决方案。 MySql 在数据库服务
26、器自动调整和自动管理技术方面在数据库领域中处于领先地位,使客户可以集中精力处理商业战略上的问题,而不是去细微调整数据库服务器的各项参数。MySql 的主要功能:数据库管理功能作为数据库管理系统,MySql 自然应该具有数据库管理功能。它的数据库由包含数据的表集合和其他对象(如视图、索引、存储过程和触发器)组成,目的是为执行与数据有关的活动提供支持。存储在数据库中的数据通常与特定的主题或过程相关。数据仓库功能MySql 提供了一套全新的综合分析服务系统。分析服务为商业活动提供了集成的OLAP 服务和数据挖掘功能。OLAP 可以通过多维存储技术对大型、复杂数据集执行快速、高级的分析工作。数据挖掘功
27、能能够揭示出隐藏在大量数据中的倾向及趋势。MySql 针对包括集成数据挖掘、OLAP 服务、安全性服务及通过 Internet 对多维数据集进行访问和链接分析提供新的数据仓库功能。电子商务MySql 不仅提供电子商务所需的可伸缩性与可扩展性之外,还提供了丰富的数据库编程能力,以确保系统的协同工作和灵活性。MySql 不仅支持集中化数据库管理功能,而且还最大程度地实现了管理与优化工作的自动化,从而,减轻了有关管理人员的负担。完备的 Web 功能MySql 允许通过 HTTP 协议,在 Web 上进行高性能、基于标准的安全访问。基于 Web的客户端拥有访问关系型数据存储和访问分析服务的能力。分布式
28、数据复制功能它可以将一个数据库中的数据复制到通过局域网、广域网或 5Internet 网络连接的不同地点服务器或同一服务器中的不同数据库中,并能够自动保持这些数据同步,使各个数据库中具有相同的数据。1.4.3 Tomcat 6.0 服务器架构Tomcat 6.0 由 Apache 组织开发的一种常用 Web 服务器,提供 Web 服务。一种 JSP 引擎,本身具有 Web 功能,可以作为独立的 Web 服务器使用。但是,在作为 Web 服务器方面,Tomcat 处理静态 HTML 页面时不如 Apache 迅速,也没有 Apache 健壮,一般选用 Tomcat 与 Apache 结合的方式,
29、让后者对网站的静态页面的请求提供服务,而 Tomcat 作为专用的 JSP 引擎,提供 JSP 解析,得以更好的性能。1JDK 的安装与配置(1)找到 path 变量后单击编辑按钮;弹出编辑系统变量对话框。在变 量值文本框中输入“c:jdkbin”,然后单击确定按钮。同时新建 CLASSPATH 变量;(2)在系统变量选项组中单击新建按钮,在变量名文本框中输入“CLASSPATH”, 在 变量值文本框中输入“ c:jdklibtools.jar ;c:jdklibdt.jar;”然后单击确定按钮。(3)用同样的方法把 c:jdk 添加到 JAVA_HOME 环境变量中;2TOMCAT 的安装与
30、配置在这里我们设默认安装目录为 c:Tomcat 安装完毕,更改环境变量,用同样的方法把 c:Tomcat 添加到 TOMCAT_HOME 环境变量中。启动 Tomcat,在浏览器 的地址下拉列表框中输入“http:/localhost:8080/”,如果看到的是在左上 方有一只可爱的小猫,则表示 Tomcat 安装成功。1.4.4 总体开发1、JAVA 三层模式架构:界面表示层:Web 层,JSP+JavaScript+HTML(XML);业务逻辑层:JSP(JavaBeans);数据存储层:MYSQL。2、开发工具采用 MyEclipse,Dream weaver 网页编辑工具,数据库 M
31、ySQL,服务器:Apache Tomcat 6.0。 Java 中连接数据库的技术是 JDBC6第二章 系统分析2.1 系统概述2.1.1 系统分析原则与方针采用结构化系统分析的方法,建立新系统的逻辑模型,此模型尽量避免使用计算机术语,便于企业的计算机人员与系统开发人员的共同讨论。本系统的结构是层次化的暗盒模块结构。对高层模块,将采用以事物为中心的设计策略,把一个大的复杂的系统逐步分解成小的相对简单的暗盒模块,对低层模块,采用以变换为中心的设计策略。因此,为了提高模块的内聚性,降低模块的耦合程度,数据库的设计原则是把它作为模块间的邮政信箱,从而为实现数据共享由提高了模块的独立性,使系统具有很
32、高的可修改性。2.1.2 系统需求通过分析我们可以得知用户对目标软件系统在功能、行为、性能、设计约束等方面的期望,从而有助于我们开发出用户满意的产品。前台用户需求分析,用户除了可以查询商品的所有基本信息(如商品名价格及有关商品信息描述)外,还能了解商品的最新动态,商品的销售排行,最新商品和特价商品的查询。用户可以进行购物,查看购物车及查看订单,以及查看订单详情的操作。用户需要登录和注册个人账户,同时可以修改个人信息,当用户忘记密码时,可以找回账号。要求数据的安全性,完整性。要有安全保密、上下级数据一致性功能,要采用严格的用户权限管理。各单位只能拥有自己相应的操作权限,不可越权操作。各单位只可操
33、作本单位的数据,不可修改甚至浏览其他单位的数据。后台管理员需求分析,管理员需要对商品进行设置包括查看、删除、添加、修改等操作。可以查看商品,删除商品,添加商品,自己设置商品的图片,设置商品的描述。管理员还应该能对会员的信息进行查看和删除,对订单信息能够进行查看、出货、删除,可以发布公告,可以修改留言,对公告和友情链接进行设置,对数据的安全性和完整性有着严格的要求。2.2 系统需求分析2.2.1 可行性分析1技术可行性:本系统的配置(Tomcat 与 MySql)在这种中小规模的情况下能够提供较快的数据访问,技术上可行。72经济可行性:系统的配置,不需要昂贵的 EJB 服务器,除 MySql 外
34、大部分软件都是可以免费获得,开发成本低。3操作可行性:访问系统的主要有两种:客户,管理员。目前资源的利用情况和可操作性,只需少量的对数据库中的表的直接操作就可以实现系统的完整、稳定的运行,不会造成系统的巨大压力。2.2.2 需求分析前台购物部分:(1)可实现在线注册;(2)注册成功后,可进行登录,购买自己想要买的商品;(3)可在线修改自己的个人信息;(4)可以在线发表意见或留言;(5)如果是系统的用户,还可以在线查看自己以前发送的订单以及商品信息;(6)可以在线查找自己已忘记了的密码。后台管理系统:(1)管理员登录;(2)查看所有注册用户的信息并对其编辑,并提供高级查询;(3)查看/添加/删除
35、商品信息,同时也提供了高级查询;(4)查看/编辑用户所发送成功的所有订单,并可以对其进行编辑。(5)查看/添加/删除商品的主分类(菜单);(6)查看/发布/编辑公告;(7)查看/编辑注册用户所发送的意见或留言,并可对其进行回复;(8)查看/编辑/添加用户在线支付的方式;(9)查看/添加/删除管理员,同时也提供了高级查询。(10)要保证管理员的安全性,管理员拥有自己专有的权限。8第三章 系统设计3.1 数据库设计3.1.1 数据库总体设计本系统采用关系型数据库模式,因此数据库由若干个二维表(即数据文件)构成。本系统的数据文件全为数据数据。数据的保存方法有很多种,最长用的方式是使用DBMS(数据库
36、管理系统)。市场上流行的 DBMS 主要有 Oracle、SYBASE、MySql、DB2、Informix 等,而 MySql 可作为中小型数据管理系统的首选。根据以上分析,本系统后台数据库决定采用MySql 为后台数据库。3.1.2 数据库概念设计管理员类型 邮箱账号电话用户名图 3-1 管理员实体属性图用户密码头像用户名住址问题 答案邮箱电话图 3-2 用户信息实体属性图订单支付总价值地址邮箱用户名时间订单号图 3-3 订单实体属性图9订单详情单价数量订单号商品号图 3-4 详细订单详情实体属性图商品类型商品名商品号时间价格 数量图片描述图 3-5 商品信息实体属性图留言表 回复用户留言
37、时间编号图 3-6 留言表实体属性图主分类编号分类名图 3-7 主分类实体属性图支付方式编号信息分类名图 3-8 支付方式实体属性图10公告表 时间编号信息头像发布者图 3-9 公告表实体属性图用户公告留言板管理员支付方式商品订单详情主分类订单管理包含制定下达填写管理对应管理管理拥有1M1 N 1 N11MNMNMNMNN11 1图 3-10 系统 E-R 图3.1.3 数据库逻辑设计表 3-1 用户基本信息表(Customer)序号 属性名称 含义 数据类型 长度 说明 约束1 c_name 用户名 varchar 30 not null 主键2 c_pass 密码 varchar 30 n
38、ot null3 c_header 头像 varchar 30 not null4 c_phone 电话号码 varchar 11 not null5 c_question 问题提示 varchar 30 not null6 c_answer 问题答案 varchar 30 not null7 c_address 地址 varchar 30 null8 c_email 邮箱 varchar 50 not null11表 3-2 用户留言信息表(Idea)序号 属性名称 含义 数据类型 长度 说明 约束1 id 编号 char 10 not null 主键2 c_name 留言者 varchar
39、 30 not null3 c_header 留言者头像 varchar 30 not null4 new_message 留言信息 varchar 1000 not null5 re_message 回复信息 varchar 1000 null6 new_time 留言时间 char 15 not null7 re_time 回复时间 char 15 null表 3-3 商品信息表(Product)序号 属性名称 含义 数据类型 长度 说明 约束1 p_type 商品类型 varchar 30 not null2 p_id 商品编号 varchar 10 not null 主键3 p_nam
40、e 商品名称 varchar 40 not null4 p_price 商品价格 float 8 not null5 p_quantity 商品数量 int 4 not null6 p_image 商品图片 varchar 100 not null7 p_description 描述信息 varchar 2008 not null8 p_time 添加时间 varchar 20 null表 3-4 公告信息表(Notice)序号 属性名称 含义 数据类型 长度 说明 约束1 n_id 编号 char 10 not null 主键2 n_message 公告信息 varchar 1000 not
41、 null3 n_admin 发布者 varchar 30 not null4 n_header 头像 varchar 50 not null5 n_time 发布时间 char 10 not null表 3-5 主分类表(Main_type)序号 属性名称 含义 数据类型 长度 说明 约束1 t_id 编号 char 10 not null 主键2 t_type 分类名 varchar 30 not null表 3-6 商品详细信息表(OrderDetails)序号 属性名称 含义 数据类型 长度 说明 约束1 order_id 订单号 char 10 not null 主键2 p_id 商
42、品编号 char 10 not null3 p_price 价格 Float 8 not null4 p_number 数量 Int 4 not null12表 3-7 支付信息表(Payment)序号 属性名称 含义 数据类型 长度 说明 约束1 pay_id 编号 char 10 not null 主键2 pay_payment 支付方式 varchar 50 not null3 pay_msg 备注 varchar 500 null表 3-8 订单信息表(Orders)序号 属性名称 含义 数据类型 长度 说明 约束1 order_id 编号 char 10 not null 主键2 o
43、rder_payment 支付方式 varchar 100 not null3 order_adress 地址 varchar 200 not null4 order_email 邮箱 Varchar 50 not null5 order_user 订购者 char 30 not null6 order_time 订购时间 char 30 not null7 order_sum 总价值 float 8 not null8 order_info 备注 Text表 3-9 管理员基本信息表(Admin)序号 属性名称 含义 数据类型 长度 说明 约束1 a_name 管理员账号 varchar 3
44、0 not null 主键2 a_pass 管理员密码 varchar 30 not null3 a_header 头像 varchar 30 not null4 a_phone 联系电话 char 11 null5 a_email 电子邮箱 varchar 40 null6 a_key 管理员关键字 int 40 not null3.2 系统总体设计3.2.1 总体设计本系统设计遵循结构化设计原则:1. 模块独立性、适度性原则 模块独立的概念是模块化、抽象、信息隐蔽和局部化概念的直接结果。模块独立性是通过指定具有单一功能并且和其它模块没有过多联系的模块来实现的。模块独立性是由内聚性和偶合性两
45、个定性指标来度量的。内聚性是度量一个模块功能强度的一个相对指标。偶合性是用来度量模块之间的相互联系的程度。模块过大时,模块的可理解性会迅速下降。另外对过大的模块分解时,也不 应降低模块的独立性。因为当对一个大的模块分解时,可能会增加模块间的依赖。2. 系统结构深度、宽度、扇出、扇入适当原则 深度表示从根模块到最低层模块的层数;宽度表示控制的总分布;扇出数指由一模块直接控制的其它模块数;扇入数指有13多少模块直接控制一个给定的模块。好的系统结构通常顶层扇出比较大,中间扇出比较少,底层模块大扇入。3. 模块的作用范围保持在该模块的控制范围内 模块的作用范围是指受该模块内一个判定影响的所有模块的集合
46、。模块的控制范围是指这个模块本身以及所有直接或者间接从属于它的模块的集合。4. 系统模块的单入口,单出口原则这一准则是要防止内容耦合性。如果模块都是从顶部入口,从底部出口的话,这样系统更容易理解和维护。如可以避免病态连接(病态连接关系是指从中间进入或者访问一个模块)等。5. 模块结果可预测原则如果一个模块可以当作一个黑箱,即只要输入的数据相同就产生同样的输出,这个模块的功能就是可以预测的。6. 数据一致性原则3.2.2 系统逻辑处理系统采用三层结构,在客户端用户通过浏览器完成数据下载与模拟操作,浏览器端的表现逻辑通过 JSP 网页完成。而系统内部复杂的业务逻辑主要通过 Java Bean 的组
47、件(Component)实现,Java Bean 组件在 WWW 服务器上运行,通过 JSP 返回到客户浏览器。通过表现逻辑与业务逻辑的分离,使网页内容简洁,系统的可维护性和可扩充性增强。在服务器端,系统使用 JDBC 中间件访问数据库,数据库服务器定义了本系统所需要的事务逻辑和数据逻辑。本系统使用 JSP 技术作为表现手段,服务器采用 Tomcat 6.0 作为 JSP 引擎,系统业务逻辑由 Java Bean 组件完成,使用 JDBC 驱动程序访问数据库。由于系统测试需要成熟的数据库支持,因此系统采用 MYSQL 数据库作为数据库服务器。3.3 功能设计根据需求分析本系统整体分前台和后台两
48、大模块。前台用户主要功能模块包括:会员登陆注册、会员资料修改、购买商品、查看订单、查看商城公告。后台用户主要功能模块包括:管理员登陆、商品设置、会员设置、后台管理员设置、订单设置、公告设置、退出后台。下面分别从前台和后台进行详细功能设计。3.3.1 前台用户功能模块设计根据概要设计对前台模块进行细化,经过对用户需求和业务逻辑的分析,前台各个模块的详细设计如下:14会员登录注册模块主要有登录注册功能。登陆功能主要用于会员的登陆,如果已经是网站的会员,则只需输入“用户名”和“密码”即可进行进入系统的事务,然后用户可以以会员的身份方可在网站上进行购物。注册功能主要用于非会员的首次登录,注册后才能以会
49、员的身份登录进行网站购物。会员资料修改模块实现会员登录之后可以对会员资料进行修改的功能。输入原来的密码,新密码,密码确认,真实姓名,年龄,职业和 Email 地址可以直接进行修改。但会员名称不可以修改。购买商品模块可查看相应的商品信息。如果会员想购买此商品,将商品放入购物车便可以继续购买商品。如果购物结束,可以查看购物车。如果同一种商品要购买多个,只需把商品数量修改相应的数量即可。最后去收银台结账。订单编号由系统自动生成,输入联系电话、联系地址和备注信息,付款方式和运送方式通过系统给出的方式进行选择。查看订单模块功能主要是返回相应用户的订单信息,如果用户要查询订单,系统会根据要求显示相应的订单信息。如果需要系统可显示订单的详细信息,列出订单所对应的全部商品。3.3.2 后台用户功能模块设计根据管理员对系统的需求和对管理员权限的限制,后台模块功能详细设计如下。后台登录模块主要实现管理员输入账号和密码后才可进入后台管理模块,并且判定管理员的权限。商品设置模块主要实现如下所述功能,系统根据要求自动显示相应的商品列表。该模块可以实现商品信息的查看、添加、修改和删除操作。选择所属大类别和所属于小类别和要添加的商品类别,输入商品名称,生产厂商,商品定价和商品描述即可添加新的商品。删除功能实现商品信息