《基于SSH框架的自由交易系统的设计与实现毕业论文(36页).doc》由会员分享,可在线阅读,更多相关《基于SSH框架的自由交易系统的设计与实现毕业论文(36页).doc(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-基于SSH框架的自由交易系统的设计与实现毕业论文-第 30 页基于SSH框架的自由交易系统的设计与实现摘 要在互联网快速发展的时代里,电商已经不是什么陌生的名词了,网购也已经成为我们日常生活中不可分割的一部分。由电子商务衍生而来的校园电子商务文化业越来越深受大学生的欢迎。但因为在校园环境里,大学生苦于寻找买家,导致许多书籍,器材,电子设备等学生用品只能廉价的卖到废品收购站,有的甚至丢弃,造成了严重的资源浪费。而且义卖,跳蚤市场等都需要大量的人力物力。因此,对于这些资源的利用,以及对学生直接的服务就需要一个以大学校园为环境的自由交易系统,实现学生之间自由交易。本系统只对用户和留言进行管理,对于
2、商品以及订单的操作完全交给用户自己管理,充分实现了自由交易的目的。用户只要注册登录就能进行商品的出售,对正在出售的商品下订单,在线下完成最终的交易。本系统是在Struts+Hibernate+Spring框架下,采用了MyEclipse10.6开发工具和MYSQL数据库进行设计开发。本论文按照系统的设计过程参考软件工程的思想作了详细说明,并对核心的模块代码做了详细介绍,最后对已完成的系统进行测试验证。【关键词】 自由交易系统,数据库,Struts框架,Hibernate框架SSH-based Free Trade System Design and Implementation (Depart
3、ment of mathematics physics and information, Donghai Science & Technology School 316004)AbstractWith the rapid development of the Internet era, E-commerce is not a strange noun any more, and online shopping has been an inseparable part in our daily life. The campus electronic commerce cultural indus
4、try which derives from electronic commerce has been more and more popular with university students. However, its difficult for students to find buyers, resulting in many books, material, electronic equipment and other student supplies can only be sold cheap to the recycling station, and some even di
5、scarded, causing a serious waste of resources. The bazaar, flea market requires a lot of manpower and material resources. Therefore, for the use of these resources, as well as the direct service for students requires a free trading system environment in university campus to realize the free trade am
6、ong students.The system only manages users and messages, the commodity and the operation of order are completely in the hands of the user management, which can fully realize the purposes of the free trading. As long as the user registered and logged, goods can be sold. The user can place an order go
7、ods are being sold under the order, then he can finish the final deal under line. This system is designed and developed under the Struts+Hibernate+Spring frame, using the MyEclipse10.6 development tools and MySQL database.This thesis will make a detailed explanation of the thought that according to
8、the reference software process design process of the system, and make a detailed introduction of the core of the module code, finally tests the completed system.【Keywords】Free trade system ,Database, Struts frame, Hibernate frame目 录摘 要IAbstractII1绪论11.1课题背景11.2目的和意义11.3系统设计思想11.4系统的开发环境与技术背景21.4.1开发
9、环境21.4.2技术背景32 自由交易系统分析62.1自由交易系统的可行性分析62.1.1市场可行性62.1.2技术可行性62.1.3经济可行性72.2 自由交易系统业务流程分析72.3 自由交易系统需求分析72.3.1系统的功能需求82.3.2系统的性能需求82.3.3系统的其他需求83 自由交易系统设计103.1 系统功能模块设计103.2系统的详细设计113.2.1 主界面的设计113.2.2 用户模块的设计123.2.3 商品模块的设计133.2.4 订单模块的设计133.3数据库的设计143.3.1数据分析143.3.2 数据库的关联关系图153.3.3 数据表的设计153.3.4数
10、据库安全性和完整性的设计194自由交易系统的实现与编码204.1 架构设计204.1.1拦截器的设计204.1.2应用配置文件214.1.3 Spring配置文件224.2 用户模块的实现与编码254.3 商品订单模块的实现与编码274.4 管理员模块的实现与编码335自由交易系统测试345.1 测试的基本概念345.2 软件测试的任务和目的355.3 软件测试的原则、内容及方法355.4自由交易系统测试355.4.1 用户注册模块测试365.4.2 添加商品测试365.4.3修改用户信息模块测试376结论39参考文献401绪论1.1课题背景在互联网还没有产生之前,人们的交易都局限在规定的市场
11、里。有时候,人们为了销售自己的产品,都要早出晚归的出售着自己的商品。或者带着自己商品走街串巷,有时候一整天的劳动也没有一个好的成交量。传统的市场不仅需要大量的人力财力的付出,销售的数量也不是很良好。但随着互联网的普及,电子商务也随着互联网快速的发展起来。有了电子商务之后,人们的交易变得丰富多彩,不用大老远的跑到市场进行购物,只要在自己的电脑上点点鼠标就能买到自己想要的商品1。而大学生做为主要电子商务的主要市场,已经成为了网购电商的主要市场。但现在大学校园的市场和现在网购的市场并不是完全重叠的。校园有校园稳定的市场,是网购所不能提供的。自由交易系统是现代校园交易发展的必然方向,特别是在现在这样一
12、个互联网发达的校园环境里,我们每天的生活都离不开互联网。并且在校园环境中,隐藏着巨大而稳定的交易市场。大一新生刚进校园时,需要购买大量的生活用品,每一年都是如此,购买物品单一,需求巨大而且稳定;巨大的二手市场,每一届学生毕业有很多都是将自己的书卖掉,但在大学中,基本上一本书只用了一个学期,因此可以将二手书出售给需要的人。但是校园有市场却没有一个好的平台,使得造成了大量的资源浪费。因此,开发一个校园版的自由交易系统是非常必要的。1.2目的和意义虽然现在互联网购物如茶如火,但是在校园环境下的交易也是很急需的,却没有这样一个平台。因此,提供这么一个系统来当平台是非常有必要的,不仅能将一些义卖活动转移
13、到线上,而且能促成校园二手市场的形成,对于资源的再利用有很大的帮助。因为学生所购买的物品也比较单一,因此可以在该平台上比较低价出售学生必需品,并且能发布一些消费活动,能有效的拉动周边经济增长。1.3系统设计思想对于一个交易平台,必须有一个合理的系统来支持它。因此就该明确系统有什么功能、能解决什么问题,要有一个完整的设计思想。一个合理实用的自由交易系统,应该具备操作容易、界面清晰、交互直观、功能全面等优点。可以让用户快速的浏览自己意向的商品,并且能直观的和卖家进行交流。该自由交易系统的设计目标从以下几个方面考虑:(1)技术性:本系统采用Java语言开发,采用MyEclipse开发工具和MySQL
14、数据库整合开发,并采用SSH框架进行设计,大大减少了开发时间。MyEclipse开发工具和MySQL数据库都是免费的,大大节省了成本。(2)实用性:本系统主要将校园内的交易从线下搬到线上,一切以用户交易的方便出发,方便校园内的交易,提高物品的利用率,减少资源浪费。(3)可维护性:实用SSH框架进行设计开发,大大降低了代码的耦合性,使系统不用大面积维护,当出现问题时,可以随时快速的进行维护 1.4系统的开发环境与技术背景1.4.1开发环境开发一个Java Web应用程序的环境,需要的环境是:Java JDK,IDE(集成开发环境)、Web服务器以及数据库。Java JDK为Java的开发环境,其
15、中包含了开发Java程序的一切工具,是面向开发人员的。自由交易系统采用Sun公司官方标准的JDK,并且使用MyEclipse做为集成开发环境。MyEclipse是对Eclipse IDE的扩展,利用它可以使我们在数据库和JavaEE开发、发布,以及项目整合方面大大提高工作效率。它不仅支持Java EE 5 官方标准,而且开发功能非常强大,只要开发者输入代码的前几个字母,并使用快捷键就能非常快速的完成代码编写,不仅集成Spring、Struts、Hibernate、iBatis、WebWork等各种民间框架,还能自动将Web应用程序部署到Tomcat、JBoss、Web Logic等各类服务器,
16、浏览MySQL、Oracle、DB2、Derby、MS SQLServer等各类数据库。显而易见,这是一个非常理想的开发工具2,3。在服务器方面,本系统使用了免费的Tomcat服务器。Tomcat是Apache软件基金会开发的,并且有Sun公司的参与和支持,已经实现了Java EE 5中Web层的各种规范因此最新的Servlet和JSP技术总能在Tomcat中体现。因为Tomcat技术先进、服务器稳定,使得大部分Java开发者采用Tomcat服务器,是目前主流的服务器之一,只要在官网上下载好服务器,并在MyEclipse里配置Tomcat服务器路径就能使用。因此本系统也不例外的使用了该服务器4
17、。MySQL数据是一个小型关系型数据库,其特点是体积小、速度快、总体拥有成本低,在开发者自己的电脑上就能安装使用。并且MySQL开放源码,使得许多中小型网站选择使用MySQL数据库5。1.4.2技术背景 HTML技术:超文本标记语言,是WWW的描述语言。HTML语言能把一台电脑中的文本或图形与另一台电脑中的文本或图形方便地联系在一起,形成有机的整体,人们不用考虑具体信息是在当前电脑上还是在网络的其它电脑上。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字、图形、动画、声音、表格、链接等。HTML的结构包括头部(Head)、主体(Body)两大部分。头部描述浏览器所需的信息
18、,主体包含所要说明的具体内容。JSP技术:JSP技术基于平台和服务器的相互独立,能够在任何Web服务器上并且支持来自多家开发商提供的各种各样工具包。JSP技术使用Java编程语言编写类XML的tags和Scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和Scriptleets访问存在于服务器端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。JSP技术的特点如下:JSP代码具有较高的移植性,可以实现一次编写,到处运行。JSP代码基本上可以再所有平台上的任意环境中开发,在任意环境中进行系统部署,在
19、任意环境中扩展。因为,JSP和JavaBeans甚至不用重新编译,因为Java字节码都是标准的与平台无关。绝大多数JSP页面依赖于可重用的、夸平台的组件(JavaBeans或者Enterprise JavaBeans TM组件)来执行应用程序所要求的更为复杂的处理。JSP封装了许多功能,通过JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性等。由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为Java Servlet,因此JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。Java中链接数据库的技术是JDBC,Java程序
20、通过JDBC驱动程序与数据相连,执行查询、提取数据等操作6。JavaScript技术:JavaScript,一种直译式脚本语言,是基于对象(Object)和事件驱动(Event Driven)并具有安全性能的脚本语言,有网景公司的布兰登艾克,在网景导航者浏览器上首次设计实现而成。是基于对象的语言,所有对象都是有浏览器提供给用户的,直接使用即可。完整的JavaScript包括:ECMAScript,描述了该语言的语法和基本对象;文档对象模型(DOM),描述处理网页内容的方法和接口;浏览器对象模型(BOM),描述与浏览器进行交互的方法和接口。JavaScript基本特点:是一种解释性脚本语言;向H
21、RML页面添加交互行为;可以直接嵌入HTML页面,能够写吃单独的js文件,在HTML页面链接使用,有利于结构和行为的分离。利用JavaScript技术我们可以完成嵌入动态文本于HTML页面;对浏览器事件做出响应;读取HTML元素;在数据被提交到服务器之前验证数据(常用来完成用户注册,添加数据等);检测方可的浏览器信息,控制cookies,包括创建和修改等。JavaScript具有简单性:直译语言,它所定义的变量类型是采用弱类型;动态性:直接对客户端的输入做出响应,不需要经过Web服务器;跨平台性:JavaScript依赖浏览器本身,与操作环境无关,只要浏览器支持JavaScript即可;安全性
22、:JavaScript只能通过浏览器实现信息浏览或动态交互,有效的防止了数据的丢失。因此,JavaScript是专门为Web制作而量身定做的一种编程语言。MVC设计模式:作为一种经典的设计模式典范,MVC设计模式强制性的使应用程序的输入处理和输出分开。因此,应用程序被分成三个核心部件:M是指业务模型(Model):应用程序的 主体部分,表示业务数据和业务逻辑。包含应用程序的核心功能,封装系统的状态。一个模型能为多个视图提供数据,由于同一个模型可以被多个视图重用,大大提高了应用的可重用性。V是指用户界面视图(View):用户看到并与之交互的界面,对Web应用程序来说,视图就是HTML元素和像XH
23、TML、XML/XSL等一些标识语言和Web services。MVC模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理是在模型中进行的。C则是控制器(Controller):接受用户的输入并调用模型和视图去完成用户的需求,所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是将模型与视图匹配在一起,共同完成用户的请求。只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。MVC设计模式基本分层图如图1-1所示7。图1-1 MVC设计模式基本分层图Struts2框架:Str
24、uts2是基于MVC模式的Java EE技术Web开发框架。使用Struts2框架有利于Web项目的维护。Struts2是WebWork框架基础和Struts1的优点进行整合而设计出的新MVC分层框架。Struts2框架大大降低了代码的耦合性,它的分层架构使得开发思路变得非常清晰,更利于修改,是国内的主流框架8。Hibernate框架:Hibernate是一种ORM框架(持久化对象/关系映射框架),在Web开发中占据了重要地位。Hibernate框架的应用,改变了传统的JDBC连接数据库的方式,使连接数据库的方式变得非常简单。传统的数据持久化操作中,需要使用JDBC并配合大量的SQL语句。Co
25、nnection、Statement、ResultSet等JDBC API与SQL语句夹杂在一起,开发效率很低。而Hibernate框架使用简单、功能强大、对却大多数数据库都支持。Hibernate能直接操作POJO,并且是一种轻量级的框架,不依赖于任何容器9。Spring框架:Spring框架也是一个轻量级的Java EE框架,因此也不需要依赖于容器就能运行的。它以IoC、AOP为主要思想,协同Struts、Hibernate、iBatis等众多框架。用于项目的整合,好处是解耦10,11。其特点如下:轻量级:无需继承Spring中的类。IoC:又称依赖注入,对象被动接收依赖类而不是主动去找,
26、从而降低耦合度。AOP:面向切向面编程。可以通过预编译的方式或运行期的动态代理类,实现修改代码的前提下给程序添加统一功能的一种技术。Spring是免费开源代码的。Spring拥有众多社区支持。2 自由交易系统分析系统分析是传统工程生命周期里的一个环节,亦即:分析设计开发测试,当然,整个过程会有迭代和变更,但仍遵循着这样的顺序。系统分析要解决的是“软件做什么”的问题。当系统分析把软件功能确定无误时,整个软件过程才有良好的开端。在软件工程中,一个软件的系统分析是软件工程中的一个重要过程,相当于这款软件的血液。在这个过程中,软件开发者应该先确定客户的需要,再根据需求进行开发。只有在确定了这些需要后,
27、他们才能够找到问题的解决方法,使软件更加完善。 2.1自由交易系统的可行性分析软件可行性分析最根本的任务是对以后的行动方案提出建议。它主要通过实际调查,对新系统的开发是否具备可行性和必要性而进行的一种分析和研究,主要从市场、技术、经济等方面来进行分析和研究,并通过这种分析来确定新系统是否值得开发。2.1.1市场可行性一个大学生四年大学生活积累下的各种书籍和用品很少能毕业后全部带回去。较为普遍解决的方式是,在外面摆摊、出售给废品收购者、赠送学弟学妹或者丢弃。并且毕业生摆摊时间多为期末时期,非毕业生都比较忙碌,而对于一个新学期的开始,许多学生对购买旧教材,自行车等物品也变得非常热衷。但在校生也会因
28、为信息不足或经济紧张而无法以相对优惠的价格购买到自己需要的东西。所以校内市场供求很不平衡。因此,提出这样一个平台,恰恰符合了校园交易的需求。2.1.2技术可行性本系统采用Java开发,选用了MyEclipse开发环境和MySQL数据库进行开发,同时采用流行的SSH框架进行开发设计,这些软件都是方便、免费、安全可靠的。因为选用MyEclipse开发工作,使得开发的系统具有界面美观,功能俱全,显示内容简明,操作简单,使用户更容易上手。4G的内存,1T的硬盘来存储数据,大大满足了系统的设计开发和运行。2.1.3经济可行性由于本系统的设计开发采用开源的开发工具,以及免费的数据库,和免费的web服务器,
29、大大降低了开发成本。并且采用SSH框架开发,减少了人力的投入。综上所述,本系统在市场上的需求是很大的,而且开发目标已经非常明确,在市场、技术、经济方面都可行,并且符合需求、系统操作简单、上手容易等优点。开发该系统是完全可行的。2.2 自由交易系统业务流程分析通过对校园生活中业务进行调查分析及对系统整体业务流程进行流程的分析,选择部分模块做如下具体描述。网站产品发布及商品选购业务流程描述对系统整体业务中最主要的自由交易及订单进行描述,访问者进入网站首页,注册成为用户后才能访问其他页面。注册成功的用户可以发布自己的宝贝,也可以查看其他用户发布的宝贝。如果用户有意中的商品,就可以加入订单,自行与卖家
30、联系。核心流程如下图2-1所示。图2-1 核心流程图 2.3 自由交易系统需求分析对于开发一个系统,必须要明确知道用户的需求。所以,深入分析用户需求是软件开发工作取得成功的关键所在,也是前提条件,只有满足用户需求才能留住用户。因此需求分析是非常必要的过程。2.3.1系统的功能需求通过对校园内交易的研究,以及校园市场条件的分析,总结出自由交易系统需要完成的一些具体功能,分析如下:1.访问者注册:访问者只有通过注册成为用户后才能继续访问其他页面,需要对用户名、密码、学号、联系电话、性别、年龄、QQ号码、寝室住址等进行填写。2.用户修改信息:本系统的用户可以修改自己的基本信息,但不允许修改学号,因为
31、在校园的环境了,学号是一个学生的代表,目的是为了防止不诚信的问题发生。3.添加商品信息:用户可以添加自己想要出售的宝贝,添加时需要详细添加商品的简介,方便买家购买。4.添加订单信息:用户登录后,可以访问正在出售的商品,如有意中的宝贝,可以直接加入订单。5.用户留言信息:用户登录后,对本自由交易系统有建议的,可以在留言页面进行留言,版主会根据留言的信息及时回复用户。6.后台管理信息:管理员登录自由交易后台管理系统就能对用户和留言进行管理,对于一些不遵循规则,不讲信用的用户删除账号。对用户的留言进行查看,并及时回复。2.3.2系统的性能需求一个系统的运行不仅要有强硬的技术支持,更需要强大的运行环境
32、作为基础。因此,高配置的硬件是必不可少的。系统的配置应该要保证整个程序安全、稳定的运行,要提高程序处理的效率,对于用户提交的请求,服务器能够快速的进行对于请求的回应,并且要及时回收没有用的资源,释放资源,减少资源的浪费。2.3.3系统的其他需求一个系统在运行后,对于运行时产生的问题,系统应该进行修补,所以定期的系统升级是非常必要的。不仅是系统升级,系统还应该具备高效性、稳定性、时效性、可塑性,自由交易系统在开发过程中,应注重用户的体验,对于用户上传的宝贝能够及时的保存在数据库中,并且能在页面上及时的出售;稳定性要求自由交易系统正常运行时不应该出现错误,对于一些不可恢复的错误要保证数据库的安全完
33、整,能够对系统突发的情况进行处理,例如服务器无法使用,要确保已经提交的数据保存在数据库中;对于时效性,自由交易系统要及时更新合作商家的广告,对于合作方的活动要及时放在网站首页。为了方便修改信息,自由交易系统要提供用户信息科修改,密码可修改,系统要提供相应的信息以确保用户正确填写修改信息。对于交易-系统,首要的是从用户体验出发,只有用户的体验上去了,才能留住用户,才能使更多的商家加入自由交易平台来。3 自由交易系统设计本自由交易系统是针对校园的自由交易平台,通过之前对系统各方面的分析,现在可以为系统设计具体的模块,以及数据库的分析。3.1 系统功能模块设计自由交易系统根据功能可以分为七个模块,只
34、有一个数据库。核心模块为:用户模块、管理员模块、商品模块和订单模块;其他三个为辅助模块,分别是:留言模块、广告模块和链接模块。其中,核心模块是通过对系统合理的分析之后设计的,其他三个为系统的人性化设计,主要是为了支持和辅助系统的。(1)用户模块:访问者通过注册成为本系统的用户,用户自身对自己的信息进行修改,密码的修改。(2)管理员模块:管理员是不能被注册的,是写在数据库里的,管理员主要是对用户和留言的管理,删除不遵守规则的用户以及对用户的留言及时回复。(3)商品模块:用户登录后,可以添加商品到商品页面出售自己的商品,也可以在商品页面选购自己喜欢的宝贝。(4)订单模块:当用户出售的商品被下订单后
35、,在用户的我的订单里会显示被下订单的物品,用户也可以对别人出售的宝贝下订单,订单会保存在用户的另外一个订单页面里。(5)留言模块:用户对于本站建设,或者自身有什么要求的,可以通过对本网站的留言页面联系网站管理员。(6)广告模块:对于一些商家想在本网站上进行促销活动的宣传,本系统在网站的首页上有提供了相应的广告位,这也是本网站收入的主要来源和经济支持。(7)链接模块:本系统还对目前主流的网站进行了友情的链接,友情链接可以更换,方便本系统与其他商家的合作,有利于长远的发展。系统功能模块图如图3-1所示。图3-1系统功能模块图3.2系统的详细设计3.2.1 主界面的设计本系统主界面是一个导航界面,包
36、括用户登录、用户注册、浏览首页、给我留言、网站维护,主要功能是给各个页面进行导航。用户只要登录后才能进入有功能的页面,访问者只有注册登录以后才能进入有功能的页面。网站维护链接到的是管理员登录页面,登录后可进行后台管理,如用户的管理,留言的管理。给我留言链接到用户留言页面,如果用户对本系统有什么建议,可以通过留言的方式,也可以通过留言的方式联系我们。系统主界面如图3-2所示。图3-2 系统主界面3.2.2 用户模块的设计用户模块主要实现的功能是用户添加出售商品和订购商品,用户还能修改自己的信息,以便交易时能及时联系到。为安全起见,用户还能修改自己的密码。如图3-3所示为用户模块流程图。图3-3
37、用户模块流程图3.2.3 商品模块的设计用户登录后可以将自己的宝贝添加到商品展示的页面进行出售。同样的,用户也可以在商品展示页面订购自己喜欢的物品,系统会对订购的物品自动生成对应的订单。添加商品时,需要填写所有设定好的商品信息,这样有助于卖家对商品的销售。而购买商品时,买家只要有意中的商品,点击加入订单即可。用户也可以直接收索自己所意愿购买的物品。以下是商品模块流程图如图3-4所示。图3-4 商品模块流程图3.2.4 订单模块的设计订单模块主要是给用户查询自己售出和订购的商品。因为本系统为自由交易系统,所以每个用户都用两个订单页面,一个显示已出售的订单页面,另一个显示已订购商品的订单页面。将两
38、种结果的订单分开,能够更方便用户了解自己的信息。订单模块流程图如图3-5所示。图3-5 订单模块流程图3.3数据库的设计本系统采用的数据库是关系型数据库。关系型数据库以行和列的形式存储数据,以便于用户理解,这一系列的行和列被称为表,一组表组成了数据库。即一个数据库是由各个数据库表Table组成;一个表Table是由行组成,表示行的集合;一个数据记录行是由列组成,行是列的集合。在应用程序设计中数据库设计是最为关键的一项任务。数据库是信息的存储库,供应用程序的其他部分进行管理并显示给用户。如果数据库没有存储正确的数据,没有安全的保存数据,或者应用程序无法找到所需的数据,那么应用程序很少有成功的机会
39、。在这里无用输入无用输出(GIGO)原则完全适用。如果底层的数据不可靠,那么无论适用这些数据的应用程序完成什么任务,结果充其量也将是不可信的12 。因此,设计数据数据库时必须使数据能够正确的存储、安全的保存。因此数据库的设计需要从实际出发从系统的需求分析中合理的设计出数据库,并将实体合理的转换为关系表如下:用户表,管理员表,商品表,订单表,留言表。3.3.1数据分析通过之前的系统需求分析,自由交易系统只是一个平台,交易的主体还是用户,通过对用户需求的分析来进行数据分析是非常必要的。只有了解了用户需求后,才能根据这些需求分析出数据需求。从而能保证数据的完整性。得到用户需求后,就是将用户需求转换成
40、数据模型。在构建一个数据模型后,可以使用它来构建关系型模型。在构建了关系模型后,可以使用它来构建数据库。3.3.2 数据库的关联关系图通过对数据库的设计以及数据分析,并结合自由交易系统本身的需求分析,系统各个模块之间的联系设计出了自由交易系统数据表之间的关联关系图。数据表之间的关联关系图如图3-6所示。 图3-6 数据库关联关系图3.3.3 数据表的设计自由交易系统数据库命名为:nongchaoren,用来存储系统中所有数据。由ER图可知nongchaoren数据库共有5张表。如下表3-1至3-5所示。(1)管理员表(admin):存储管理员信息,管理员登陆时使用。如表3-1所示。表3-1 a
41、dmin字段名数据类型是否为空KEY默认值描述idint(11)NoPRIid (自动编号)namevarchar(50)No管理员的账号passwordvarchar(50)No管理员的密码idcadvarchar(50)No管理员的等级(2)用户表(user):存储用户信息,用户登录、添加商品、查看订单时,能够准确的查询出于用户相关的信息。如表3-2所示。表3-2 user字段名数据类型是否为空KEY默认值描述idintNOPRIid(自动增长)usernamevarchar(50)NO用户登陆账号passwordvarchar(50)NO用户登陆密码stu_numberint(11)NO
42、UNI用户学号phonevarchar(20)NO用户电话short_numint(11)YES用户移动短号qqvarchar(20)NO用户QQ号sexvarchar(2)YES用户性别ageint(11)YES用户年龄adderssvarchar(130)YES用户地址(3)商品表(items):存储商品信息,用户登录后,若添加出售自己的宝贝,则该商品的信息将存储在该表中。表3-3 items字段名数据类型是否为空KEY默认值描述idintNOPRIid(自动增长)item_namevarchar(50)NO商品名称item_pricedoubleNO商品价格item_descvarcha
43、r(200)YES商品描述item_imagevarchar(100)NO商品图片item_kindvarchar(20)NO商品种类item_salevarchar(5)NO是否出售stu_numberint(11)NO卖家学号(4)订单表(ordersss):存储订单信息,当有交易生成时,系统会生成相应的订单,以便用户查询自己出售或订购的宝贝的详细情况。表3-4 ordersss字段名数据类型是否为空KEY默认值描述order_idint(11)NOPRIid(自动增长)item_namevarchar(50)NO订购的商品名imagesvarchar(100)NO商品图片item_des
44、cvarcahr(200)YES商品描述item_pricedoubleNO商品价格stu_numberint(11)NO卖家学号phonevarchar(20)NO卖家电话qqvarchar(20)NO卖家qqusernamevarchar(20)YES买家姓名buyer_addressvarchar(500)NO买家地址buyer_phonevarchar(20)NO买家电话(5)留言表(message):存储用户留言建议信息,提供了一个渠道供用户与本系统联系。表3-5 message字段名数据类型是否为空KEY默认值描述idint(11)NOPRIid(自动增长)inamevarchar
45、(50)NO用户名称phonevarchar(20)NO联系电话emailvarcahr(50)NO用户邮箱addressvarchar(130)NO用户地址contactsvarchar(260)NO留言信息3.3.4数据库安全性和完整性的设计一个好的MySQL数据库系统需要建立它的数据安全性和完整性。一个安全的数据库要具备防范攻击、服务器风险和客户端风险,使得这些数据记录只能被那些正确授权的用户访问,这涉及到数据库的内部安全性和外部安全性。对于内部安全性,系统要防止MySQL数据目录被在服务器主机有账号的人进行攻击,不能过分对数据目录内容进行授权;对于外部安全性,要保护MySQL服务器免受
46、来自通过网络对服务器的链接对服务器链接的攻击,只有提供有效的用户名和口令才能访问服务器管理的数据库内容。而数据库的完整性,主要依靠各种各样的关联约束来保证的,能够防止合法用户使用数据库时向数据库中添加不合语义的数据。在本系统中,没有使用明文密码。所有的管理员和用户密码都是通过MD5加密技术来设置密码。而且在Web页面的跳转中,不使用明文参数,而是使用action进行跳转。保证了数据的安全性。在数据库设计方面,每个表都设置了主键,用户表中学生学号设置了唯一性约束,各个表之间存在外键约束,保证了数据库的完整性。4自由交易系统的实现与编码4.1 架构设计B/S多几分布结构,实现了单一结构想灵活多变结构的转变。一般基于B/S结构的Web应用系统在逻辑上可分为5层:客户层、表示层、业务服务层、持久层和数据库层。这种多层的体系结构向开发者提供了一种基于组件设计和多层次Web系统的设计方法。用Struts实现从Web到后台系统