校园二手书交易平台的设计与实现--论文定稿.docx
孑假多/攵Pingdingshanuniversity毕业论文(设计)题目:校园二手书交易平台的设计与实现院(系):软件学院专业年级:软件工程2008级姓名:刘瑞娟学号:081530128指导教师:单冬红讲师2011年11月10日原创性声明本人郑重声明:本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。毕业论文中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。除文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研究成果做出重要奉献的个人和集体,均已在文中以明确方式标明。本声明的法律责任由本人承当。论文作者签名:日期:关于毕业论文使用授权的声明本人在指导老师指导下所完成的论文及相关的资料包括图纸、试验记录、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属平顶山学院。本人完全了解平顶山学院有关保存、使用毕业论文的规定,同意学校保存或向国家有关部门或机构送交论文的纸质版和电子版,允许论文被查阅和借阅;本人授权平顶山学院可以将本毕业论文的全部或局部内容编入有关数据库进行检索,可以采用任何复制手段保存和汇编本毕业论文。如果发表相关成果,一定征得指导教师同意,且第一署名单位为平顶山学院。本人离校后使用毕业论文或与该论文直接相关的学术论文或成果时,第一署名单位仍然为平顶山学院。论文作者签名:日期:指导老师签名:日期:校园二手书交易平台的设计与实现摘要随着互联网的不断开展,基于Web的网络书店给人们带来了极大的便利,网络书店不仅是传统售书模式的开展和补充,也是未来开展的趋势。但是对于没有经济来源的在校学生而言,购置新书的花费较大,所以二手书市场一直活泼于校园中。在校园网络兴旺的今天,开发一套二手书交易系统,能够很好地满足供需双方的需求,并且对于提高图书的循环利用、降低学生的购书本钱,具有现实意义。系统采用SH(Struts+Hibemate)两层架构设计,应用Struts可以别离视图层和控制层;Hibernate实现用面向对象的思想来管理数据库,实现业务逻辑与数据库之间的低耦合,具有更好的平安性和可扩展性。该系统主要实现发布二手书信息、搜索图书信息、用户留言等功能,以及后台管理与维护等功能。系统中有三种用户角色,管理员、注册用户和未注册用户。管理员主要有管理用户、发布公告等权限,注册用户进入系统可以进行信息发布、留言等操作,未注册用户只能查看二手书的出售和求购信息。系统的实现将为学生提供很大的便利,而且为有效提高图书的循环利用提供了途径。本论文研究了校园二手书交易平台的背景及开展趋势,按照软件工程开发的理论进行了系统分析、概要设计、详细设计、代码实现、测试等一系列工作,最终实现了具有实用价值的校园二手书交易平台。关键词:二手书交易,Struts,数据库,HibernateTheDesignandImplementationofSecond-handBook-SellingSysteminCampusAbstractWiththecontinuousdevelopmentoftheInternet,thenetworkbookstorehasbroughtpeoplegreatlyconvenience.Networkbookstoreisnotonlythedevelopmentandsupplementofthetraditionalbookstore,butalsothetrendoffuturedevelopment.Buttothestudentsinschool,whohavenosalery,thecostofnewbooksismoreexpensive,andsecond-handbookmarkethasbeenbecomingmoreandmoreactive.Thenetworkofcampushasbecomeverymature,it,snecessarytodevelopasystemusedforthesecond-handbookdealing,tomeettheneedsofsellersandbuyers,andimprovebookrecyclingandreducestudents*costofbuyingnewbooks.ThissystemisdesignedbytheSH(StrutsHibernate)two-layerframework.UsingStrutscanbeseparatedfromtheviewlayerandthecontrollayer.UsingHibernatecanachievetomanagedatabasewithobject-orientedthinking.UsingSHcanachievelowcouplingwiththedatabaseandmakethesystemmoresecurityandsaclability.Functionsofthesystemismainlytoreleaseusedbooks,searchbooks,infmation,leavecomments,aswellastheadministratortomanageandmaintainthesystem.Therearethreeroles:systemadministratorusers,registeredusersandunregisteredusers.Therightofadministratorsismanagingusers,issuingbulletinandsoon.Registereduserscanpublishmessages,leavecomments.Unregistereduserscanonlybrowseinformation.Therealizationofthesystemwillmakeitmoreconvenientforstudents.Andatthesametimeitwillcomestobookrecycling.Thisthesisexpoundsthebackgroundanddevelopmenttrendofthecampussecondhandbookstransactionplatform.Accordingtothesoftwareengineeringdevelopmenttheory.Aseriesofworkhavebeendone,suchassystemanalysisanddesign,detailedsummarydesign,coding,andtestingofdevelopment.FinallyrealizedthepracticalvalueoftheSecond-handBook-Sellingsystemincampus.KeywordssSecond-HandBookDeal,Struts,Database,Hibernate目录1绪论O1.1 工程开发背景O1.2 工程开发现状O1.3 工程开发意义11.4 论文主要工作和结构安排11.5 本章小结12开发技术及工具介绍22.1 页面开发技术22.2 SH框架的选择22.3 WEB效劳器32.4 开发工具32.5 本章小结33需求分析43.1 业务操作流程43.2 系统设计目标43.3 功能需求43.4 性能需求73.5 本章小结84总体设计94.1 系统功能设计94.2 数据库设计IO4.2.1 数据库概念设计104.2.2 数据库逻辑设计114.2.3 数据库的实现114.3 接口设计124.4 本章小结135详细设计与实现145.1 系统的功能设计145.1.1 登录功能的设计145.1.2 用户管理功能的设计145.1.3 图书管理功能的设计155.1.4 留言功能的设计165.1.5 公告管理功能的设计165.2 系统类的设计165.3 系统的实现195.3.1 注册登录功能195.3.2 搜索图书和查看图书信息功能205.3.3 发布图书信息功能215.3.4 留言功能225.3.5 管理员管理用户功能22公告管理功能235.4 本章小结246测试256.1 测试的意义256.2 测试环境256.3 功能测试256.4 界面测试276.5 问题严重程度描述286.6 本章小结287结束语297.1 总结297.2 展望29附录错误!未定义书签。参考文献错误!未定义书签。致谢361绪论二手书交易可以提高图书的循环利用率,为学生提供很大的便利。设计旨在实现一个二手书的交易系统,为供需双方提供便利的二手书网络交易平台。本局部介绍本系统的开发背景、意义以及论文的主要工作和结构安排。1.1 工程开发背景现代网络技术开展迅速,给传统的售书方式带来了很大的冲击。传统的书店销售模式受到诸如场地、资金、宣传等因素制约,已经不能满足人们的日益增长的图书购置需求。网上书店应运而生,送货上门、24小时效劳、搜索图书方便、无店铺销售等都使网络书店深受欢送。随着人们购书观念、购物习惯的改变、网购人群日益增加,这些都为网络书店的开展提供了有力条件。网络书店不仅是传统售书模式的开展和补充,也是未来开展的趋势。当当网1999年11月开通,目前是全球最大的中文网上书店。其管理团队拥有多年的图书出版、零售、信息技术及市场营销经验。面向全世界中文读者提供20多万种中文图书及超过1万种的音像商品,每天为成千上万的网上消费者提供方便、快捷的效劳,给网上购物者带来极大的方便和实惠。随着物价上涨,书籍价格也在不断攀升,作为大学生,大学时期正是汲取知识的重要阶段,需要阅读大量的专业书籍。图书馆藏书是学生书籍借阅的重要来源,但是对于学生而言专业书籍需长久保有。学生对某些书籍的长期保有需求使得二手书市场一直活泼在校园周边。于此形成反差的是大量的专业书籍被当做废品卖掉,造成较大的资源浪费。而且学生购置新书的本钱较高,对于没有收入的大学生来讲也是一笔不小的开支。因此,学生群体自然成为二手书供需市场的主体。1.2 工程开发现状目前,校园中二手书交易方式有两种:第三方回收倒卖的方式和二手书跳蚤市场。学校组织的二手书跳蚤市场在一段时间内给学生带来了很大的便利,但是由于时间、天气、交易场所的局限性,跳蚤市场已逐渐的不能满足学生的需求。通过第三方回收倒卖的方式,虽然能够某种程度上满足学生需求,但由于中间利益,不能使学生买卖双方到达利益最大化,并且图书流通周期过长。校园二手书交易平台能够让学生与学生之间以一种更高效、直接的方式进行交易,还可防止天气、场地等因素的影响。1.3 工程开发意义目前,校园网络比拟兴旺,在大学校园中大局部学生都拥有自己的电脑,校园二手书交易平台可以依托校园网络建立,该交易平台能够很好的满足供需双方的需求,为图书的循环利用和降低学生的购书本钱具有现实的意义。1.4 论文主要工作和结构安排本论文主要介绍校园二手书交易平台的开发背景,开发设计过程和实现过程,数据库设计以及系统测试,全文共分七章,具体安排如下所示。第1章介绍课题背景、系统的设计目标、研究现状及结构安排等。第2章介绍对系统采用的相关技术及开发工具。第3章进行系统的需求分析,并结合需求分析进行功能设计。第4章根据系统的功能设计进行数据库的设计。第5章介绍系统的开发,具体介绍每一个功能模块的设计与实现的过程,并配有界面图以及序列图,清晰表达出本模块的设计流程。第6章介绍本系统的功能测试以及性能测试,并分析测试结果。第7章总结本系统的根本功能及结构,展望系统的前景和下一步的改良目标。1.5 本章小结本章首先介绍了本课题的背景及意义,深刻了解了研究本系统的重要性。接着介绍了课题的现状,以便于有所创新。最后介绍了论文主要工作和结构安排,以便于可以在保证论文质量的前提下按照方案顺利地完本钱论文的撰写。2开发技术及工具介绍本系统使用Java作为开发语言,采用Struts+Hibemate两层框架,选用SQLServer2000作为后台数据库,运用TOmCat效劳器技术,基于BS(BrowserSSerVer)模式进行设计。2.1页面开发技术JSP(JavaServletPages)一种动态网页技术标准。是基于JaVaSerVlet以及整个JaVa体系的Web开发技术,JSP技术使用JaVa编程语言编写类XML的tags和Scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和Scriptlets访问存在于效劳端的资源的应用逻辑JSP将网页逻辑与网页设计和显示别离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得更加容易。它在传统的静态页面文件中参加JaVa程序片段和JSP标记,就构成了JSP页面。由Web效劳器上的JSP引擎来处理JSP元素,生成调用Bean,并用JDBC访问数据库(或文件),最后以HTML或XML的形式返回浏览器341。JSP在SerVlet类中编译,编译一次后存入内存,以后再调用时,不用再编译,所以速度很快。JSP具备了JaVa技术的简单易用,完全的面向对象,具有平台无关性且平安可靠等一些优点。2.2SH框架的选择SH为StrUtS+Hibemate的组成方式,它是目前流行的MVC模式框架之一。典型的J2EE两层结构,分为中间层1业务逻辑层)和持久层,Web应用的前端是表现层,SH整合框架使用StrUtS框架,其负责的工作为:管理用户的请求,做出相应的响应;提供一个流程控制器,委派调用业务逻辑和其他上层处理;处理异常;为显示提供一个数据模型和用户界面的验证等,Web应用的后端是持久层。SH整合框架使用Hibernate,其持久化对象是基于POJO和JaVa集合的,负责的工作为:查询对象的相关信息;增加、删除、更新数据库记录等,Web应用的中间局部是业务逻辑层。应用StrUtS可以别离视图层和控制层;Hibernate实现用面向对象的思想来管理数据库,实现与数据库之间的低耦合,这种整合的开发模式让我们的开发更加方便、快捷、思路清晰。在本系统中,使用StrUlS作为系统的整体根底架构,负责MVC的别离,数据持久化操作由Hibemate完成。系统的根本业务流程是:在表示层中,首先通过JSP页面实现交互界面,负责传送请求(ReqUeSt)和接收响应(ReSPonse),然后StrUtS根据配置文件(StrUtS-COnfig.xml)将ActionServlet接收到的Request委派给相应的ACtion处理。在业务层中,向ACtiOn提供业务模型(ModeI)组件和该组件的协作对象数据处理(DAo)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。而在持久层中,那么依赖于Hibernate的对象化映射和数据库交互,处理DAo组件请求的数据,并返回处理结果。2. 3WEB效劳器TomCat是在SUN的JSWDK的根底上开展起来的另一个优秀的JSP效劳器,它不但支持SerVlet,而且还提供了Web效劳器的根本功能,处理HTML页面。作为一个开放源码的软件,TomCat有着自己独特的优势,可以和目前大局部的主流效劳器一起工作,而且有着相当高的运行效率。可以将TOmCat和APaChe集成起来,让APaChe处理静态Hlm1,而TomCat处理JSP和SerVlet。使用TOmCat的用户也很多,资料丰富,交流方便。系统采用B/S开发模式,这种模式无需安装客户端软件,客户端只需要浏览器便可访问。降低维护和升级本钱。本系统使用TOmCat和APaehe集成发布文档管理系统,由APaChe处理静态Htm1,TomCat处理JSP和Servleto3. 4开发工具MyEeliPSe企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEdiPSe)是对氏IiPSeIDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序效劳器的整合方面极大的提高工作效率WL它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,JavaScript,Hibernat及网。故本系统采用MyECIiPSe作为开发工具。数据库采用SQLSerVer2000,使系统管理和数据库管理更加直观、简单。它有丰富的编程接口工具,为用户数据操作提供了便利,并能快速高效发布数据到Web页面。4. 5本章小结本章主要讲解了系统在开发中用到的技术和开发工具,包括页面开发的JSP技术,SQLSerVer数据库技术,SH技术,WEB效劳器技术及其在系统中的作用。3需求分析软件需求分析就是对目标系统提出完整、准确、清晰、具体的要求。需求分析是软件工程中的一个关键过程I。通过需求分析要明确系统的主要功能模块,以及各功能模块需要完成的具体功能。4.1 业务操作流程未注册的用户可以浏览网站公告查看待出售的的图书信息和求购信息,可以搜索图书。注册用户除了拥有上述功能外还可以发布出售图书信息和求购信息,用户之间可以相互留言。管理员进入系统后,可以对公告进行发布、查看和删除,可以对用户进行查看和删除,可以查看待售图书信息。4.2 系统设计目标本系统基于校园网络的一个二手书交易平台,为了方便同学们进行二手书交易,以到达二手书籍的充分利用,也为在校生提供更多的便利。具体的功能期望实现如下目标。1 .未注册用户可以搜索图书、浏览公告,查看待售图书信息和求购图书信息、。2 .注册用户可以查看修改自己的信息。3 .注册用户可以搜索图书、浏览公告,查看待售图书信息和求购图书信息。4 .注册用户可以发布出售图书及修改图书状态,删除已售出图书。5 .注册用户可以发布和删除求购图书信息。6 .注册用户之间可以相互留言及标记留言状态、删除留言。7 .管理员可以发布、查看、删除公告。8 .管理员可以修改登陆密码,管理员可以查看待售图书信息。9 .管理员可以查看用户信息和删除已毕业用户。5. 3功能需求由于二手书价格廉价,性价比极高,备受在校生的青睐。目前校园里二手书大都以跳蚤市场方式进行交易,虽然也能为学生提供一个交易平台,但容易受到场地,天气和时间等各种因素的制约,具有诸多不便。在网络环境兴旺的今天,如果能通过校园网络为买卖双方提供二手书交易平台,并提供相关书籍信息,为学生购书提供方便、快捷、经济的购书渠道,增加书籍循环利用次数,势必会得到广阔师生的欢送。系统角色主要有管理员和用户,管理员主要管理个人信息、管理用户、管理公告、查看待售图书信息等;用户可以管理个人信息、管理二手书信息、发布求购出售信息、浏览公告等。系统总用例图如图3.1所示。图3/系统总体用例图用户主要针对的是在系统中进行过注册的注册用户,只有注册用户才能完整享有其对系统的各项功能使用权。注册用户用例图如图3-2所示。图3-2注册用户用例图用户注册用例描述如表3-1所示。表3-1用户注册用例描述用例编号3-1-2-3用例名称用户注册用例概述未注册用户进行注册主参与者未注册用户前置条件无后置条件用户成功注册成功保证显示注册成功,数据库中用户表更新根本领件流1点击注册2用户根据要求输入各项信息3点击确认规那么与约束要求的必填信息不能为空用户发布求购图书用例描述如表3-2所示。表3-2用户发布求购图书用例描述用例编号3-2-5-1用例名称用户发布求购图书用例概述用户根据自己需求发布求购图书信息主参与者用户前置条件用户成功登陆系统后置条件求购信息列表更新成功保证数据库求购图书表数据更新根本领件流1点击发布求购图书信息2用户根据要求输入各项信息3点击确认规那么与约束要求必填的信息不能为空管理员用例图如图3-3所示。图3-3管理员用例图管理员删除用户用例描述如表3-3所示。表3-3管理员删除用户用例描述用例编号3-3-4用例名称管理员用例概述管理员删除已毕业用户信息主参与者管理员前置条件管理员成功登陆后台后置条件无成功保证数据库用户表数据更新根本领件流1查看用户信息2根据信息选择需删除的用户3点击删除规那么与约束删除用户为已毕业学生管理员发布公告用例描述如表3-4所示。表3-4管理员发布公告用例描述用例编号3-3-6用例名称管理员发布公告用例概述管理员根据需要发布公告主参与者管理员前置条件管理员成功登陆系统后置条件公告列表更新成功保证数据库公告表数据更新根本领件流1点击发布公告2管理员根据要求输入公告内容3点击确认规那么与约束要求必填的公告内容不能为空3. 4性能需求为了保证系统能够长期、稳定、高效的运行,校园二手书交易平台应该满足以下的性能需求。1 .系统处理的准确性和及时性系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足用户对信息处理的需求。在系统开发过程中,必须采用一定的方法保证系统的准确性。2 .系统的易用性校园二手书的主要在校园网内使用,所以要易于操作,方便管理维护。要实现这一点,就要求系统应该尽量符合大多数用户的使用习惯,使用熟悉的术语和人性化的界面。3 .系统的标准性在自主开发本系统时,要严格按照软件工程的标准,对系统进行科学的管理,保证代码的易读性、保密性和可移植性。3. 5本章小结本章对软件开发中将要面临的问题及其解决方案进行初步设计及合理安排,明确开发目标;画出了系统的用例图,让用户对系统的总体结构一目了然,对系统的功能进一步认识。4总体设计4.1系统功能设计系统设计是一个把软件需求转换成用软件系统表示的过程。通过对目标系统的分析和研究,做出了二手书交易平台的总体规划,这是全面开发系统的重要根底。在对二手书交易平台全面分析调查的根底上,制定出二手书交易平台的总体规划。从系统E-R出发,系统中的用户角色有两种分别是管理员和用户,用户对系统有发布图书信息功能、浏览公告功能、留言功能,管理员对系统有公告管理功能、管理用户功能、查看图书信息功能。系统功能模块图如图4-1所示。图4-1二手书交易平台功能模块图该二手书交易平台系统主要分为四大功能模块,分别是:用户管理模块、图书交易信息管理模块、公告管理模块、留言功能模块。用户管理模块:该模块涉及用户操作的相关功能实现。包括用户的注册、登录和相关用户信息修改等根本内容。同时,管理员可以管理已注册的用户信息,并拟定删除无效账号,如毕业生账号。图书交易信息管理模块:该模块是整个系统最为核心的功能模块。用户可依托此模块,填写二手书籍出售信息,进在网上发布,从而进行二手书销售。也可以利用该模块发布二手书的求购信息,真正形成相关二手书的交易平台体系。这其中又包括发布二手书详细信息、查看二手书详细信息,发布求购二手书信息、查看求购信息、删除求购图书信息。根据设想和实际操作性考虑,图书售出后对图书销售状态的改变也可将售书图书删除,删除的二手书将不再出现在现有销售或是求购的图书列表之中。管理员也可以使用该模块及时掌握和跟踪图书交易信息,调整用户发布的相关内容。公告管理模块:该模块对网站发布的相关公告进行管理。管理员可使用该模块进行公告的贴出、删除等相关方面的操作。为网站的用户起到指引和告知的作用。留言功能模块:该模块独立于其他模块存在,主要负责买卖双方通过该功能模块实现相互的交易沟通和联系,方便交易。包括发表留言、标记留言状态、删除留言等具体功能实现。4. 2数据库设计4. 2.1数据库概念设计数据库是整个工程设计中的关键,在整个系统中存储后台数据,以供统计、查询、分析等使用,一个好的数据库能有效的管理后台中的数据,提高软件的运行效率“5/%数据库设计主要包括两个方面内容:数据库分析,数据库的设计与实现。图4-2系统E-R图由需求分析得出系统角色有两种:管理员和用户,管理员的功能有管理注册用户、管理公告、管理二手书,用户功能有管理二手书、浏览公告、发表留言。用户及管理员对功能的完成在数据库中表达为对数据表中数据的增加、删除、修改和查询。由以上分析得到的用户需求抽象为信息结构,根据需求分析画出系统E-R图如下列图4-2所示,图中各实体属性如下。管理员信息包括管理员名称,管理员密码。用户信息包括用户名,密码,真实姓名,性别,年龄,密保问题,答案,QQ号,邮件,地址,班级号。公告信息包括公告标题,内容,发布时间。图书信息包括图书名称,图书类别,作者,出版社,价钱,图片,发布者,折旧程度,出售价格,附加信息,出售状态,发布时间。求购图书信息包括图书名称,求购者,图书信息,备注说明,发布时间。留言信息包括标题,内容,留言者,留言对象,留言时间,是否已读。图书类信息包括图书类别名,说明。院系信息包括院系名称,说明。班级信息包括班级名称,班级所属院系,说明。图4-2所示的E-R图中描述了注册用户的各个模块的具体功能,主要有发布出售/求购图书信息,发布留言,查看公告等。各实体间存在关联有:一个管理员可以管理多个用户,管理多个公告,查看多本待售图书信息;一个院系可以有多个班级组成,一个班级包括多个用户;一个用户可浏览多个公告,可发布多个图书信息,发布多个求购信息,发表多个留言;一种图书只能属于一个图书类型。4. 2.2数据库逻辑设计注册用户可以发布图书信息,发布求购信息,书籍买卖成交后,卖家自己进行书籍已售的状态修改,状态修改后此书目不会再出现在可浏览书目列表中,只存在于用户自己的已售记录中。双方相互留言,查看和修改自己的信息,可进行图书搜索。游客只可以浏览网站公告,图书信息,求购信息,可搜索。系统管理员可以修改登录密码,查看所有用户信息,对删除已毕业用户,查看所有图书信息,发布公告,查看公告,删除公告。依据数据库关系模式的设计结果,系统包含三类角色,其中三个角色分别为注册学生用户,系统管理员和游客。具体分析如下:系统管理员表(ID,管理员用户,管理员密码)学生用户表(ID,用户名,密码,真实姓名,性别,年龄,密保问题,答案,QQ号,邮件,地址,班级号)校园二手书交易平台主要用于学生发布图书信息浏览图书信息以及浏览网站公告,因此需要有公告、图书信息、求购图书信息、班级、留言等内容。设计出如下表:公告表(ID,公告标题,内容,发布时间)院系表(ID,院系名称,说明)班级表(ID,班级名称,班级所属院系,说明)图书类别表(ID,图书类别名,说明)图书信息表(ID,图书名称,图书类别,作者,出版社,价钱,图片,发布者,折旧程度,出售价格,附加信息,出售状态,发布时间)求购图书表(ID,图书名称,求购者,图书信息,备注说明,发布时间)留言表ID,标题,内容,留言者,留言对象,留言时间,是否已读)4. 2.3数据库的实现由以上得出的数据关系模式,根据对数据库系统的分析可知,假设要完整实现相应的数据存储需要,那么在本系统数据库BookShop中应主要有数据表AdminInfo(系统管理员系UserInfo(用户),DePtInfO(院系),CIaSSlnfo(班级),BulletinInfo(公告),BookInfo(出售图书信息),BookType(图书类别),BegToBuy(求购信息),MsgInfo(留言)。1.AdminInfo(系统管理员),如图43所示。图4-3系统管理员信息表2.MsgInfo(留言),如图44所示。图4-4留言信息表3.UserInfo(用户),如图4-5所示。图4-5用户信息表4.BulletinInfo(公告),如图4-6所示。图4-6公告信息表5.BookInfo(出售图书信息),如下列图47所示。图4-7出售图书信息表6.BegToBuy(求购信息),如下列图4-8所示。图4-8求购信息表4.3接口设计接口里面定义的都是公共的抽象方法,抽象方法只是声明了该方法的具有的功能,但是并没有给予相关的实现。定义抽象方法方便类之间的继承,所以定义接口的目的就是要被其它类实现的,在子类里面要对接口里的所有方法进行具体的实现,这样可以使代码的层次更清晰,易于更新和维护。本系统中主要的接口类如下。1. AdminService:定义了管理员登录、修改密码等方法。2. UserService:定义了用户登录、修改个人信息等方法。3. BulleService:定义了公揭发布、删除,获取公告列表等方法。4. MsgService:定义了保存留言信息、删除留言信息、标记留言状态和获取留言列表等方法。5. BookService:定义了图书信息的发布、获取图书列表、搜索图书、修改图书状态等方法。6. BegService:定义了求购信息的发布、删除等方法。在相应的Implement类中实现了上述接口中所有的方法,这样减少了代码的重写,只集成接口就可以,提高了组成单元的内聚性,降低了组成单元的耦合程度,从而提高系统的维护性和可扩展性。4. 4本章小结本章对系统的数据库进行了需求分析,通过E-R图理清了各个实体之间的关系,分析出系统中所需建立的表,并对各个表之间的关系进行了分析和说明,对表的设计进行了详细的讲解和说明,还介绍了表的具体实现过程。5详细设计与实现本章主要介绍系统的功能模块划分和详细设计实现局部,根据需求分析和用户角色定位,对系统功能结构进行划分,并在此根底上逐步实现系统各项功能。4.1 系统的功能设计4.1.1 登录功能的设计用户使用到二手书交易平台系统的三大模块分别是:用户管理模块、图书交易信息管理模块和留言功能模块。用户使用用户管理模块完成注册、登录和修改信息这三大操作。一个用户假设想进行书籍信息的发布,那么首先需要成为本系统的注册用户。此时可以使用用户管理模块的注册功能。在主页选择注册选项,进入注册页面,填写相关信息,通过验证后完成用户注册。未注册用户只能浏览相关发布的书籍信息,而不能进行其他操作。用户在页面的登录局部输入注册的用户名和密码,页面的检测算法对字符等格式进行检测,后通过相关处理类对此请求进行处理,在验证用户名和密码匹配且正确的情况下方可登录系统,从而可以使用其他两个模块进行用户权限下的相关操作。用户登录后,可以修改自己的信息。选择修改用户信息的选项进入用户信息修改界面,在信息修改页面参照显示的相关用户信息,对自己想要修改的局部进行修改,而后提交,完成注册信息的改动操作。对用户的用户管理模块相关功能进行设计,其序列图如图5-1示。图5/用户注册、登录及修改个人信息序列图4.1.2 用户管理功能的设计管理员应该可以执行的主要功能有登录修改个人信息、管理注册用户、管理公告、查看二手书信息。因此,管理员使用该系统的用户管理模块、图书交易信息管理模块和公告管理模块这四大模块的相关功能。管理用户功能,相关序列图如图5-2所示。adminLoginFOrmControlDatabase管理员假设要对已经注册在库的用户进行管理,或是修改自己的个人信息就需要使用该系统的用户管理模块进行管理操作。这里的对用户管理,一般指删除用户,因为用户的注册信息修改权在用户自己手中,管理员一般不涉及。管理员输入管理员用户名和密码,进入后台管理界面,点击用户管理进入用户管理界面,在此界面可查看所有用户信息,点击想要删除的用户,系统提示是否确定删除,删除成功后提示操作成功,返回用户管理界面。4.1.3 图书管理功能的设计图书交易信息管理模块完成二手书销售信息或求购信息的发布和相关管理操作。因此,对其使用功能分解,又可将该模块分为求购信息管理和销售信息管理两类主要功能。用户需要发布图书求购信息或者对其本用户的图书求购信息进行删除等操作,需要使用图书交易信息管理模块的求购信息管理子模块。在登录后点击发布求购信息,进入填写图书求购信息界面,填写求购的图书信息,提交后系统将用户的求购信息在页面输出,显示用户的相关求购内容。当用户获得想要的图书信息后,可以选择将求购信息删除。对应序列图如图5-3示。图5-3用户管理求购信息序列图假设用户需要发布销售二手书的信息,或是对自己的过往二手书销售信息进行管理的话,那么需要使用图书交易信息管理模块的销售信息管理子模块。用户登录系统后点击发布图书信息,页面跳转到填写图书信息界面,填写图书信息,提交信息后返回主界面,用户可查看图书,图书卖出后用户对图书状态进行修改,将图书标注为已售出,图书将出现在已售出图书中供用户查看,可直接对图书删除,图书将不在出现在图书列表。用户登录后对二手书图书的管理功能,对应序列图如图5-4示。图5-4二手书管理序列图管理员对于二手图书信息查看应使用该系统的图书交易信息管理模块。使用该模块管理员可以对用户发布的所有图书交易信息进行查看。相应序列图如图5-5所示。图5-5管理员图书信息管理序列图4.1.4 留言功能的设计用户的留言功能,相应序列图如图5-6所示。图5-6留言管理序列图留言功能模块添加留言或查看以往留言,方便买卖双方联系沟通。用户购置图书时可进行留言,使用留言可以方便用户之间的沟通,协调买卖双方的活动。为此,用户使用到留言功能模块。当登录用户进入某人的留言板时,可以在其留言板填写留言信息。该信息被提交后,留言将出现在对方的留言模块中,被留言用户可以查看对自己的留言,在查看之后可将其状态标注为己读,这样便能够区分已读和未读的不同类别的留言信息。在对无用的留言删除之后,该留言便不会出现在此用户的留言列表中。4.1.5 公告管理功能的设计管理员对于公告的管理要使用公告管理模块,主要是进行发布相关公告,或是删除公告。管理员进入发布公告界面,填写发布公告具体信息,提交信息后返回管理界面,提交删除请求可删除公告,提示删除成功后返回公告管理界面。公告管理功能对应的序列图如图5-7所示。图5-7公告管理序列图4.2 系统类的设计根据MVC三层设计思想,可将系统分为视图层、控制层和模型层。系统使用Hibemate架构,使系统由传统的表示层、业务逻辑层和数据库层变为表示层、业务逻辑层、持久化层和数据库层这四大层次。于是,对于使用了StrUtS的三层MVC系统结合Hibemate的典型持久层操作,该系统可以大致认为分为四大层次,它们分别是视图层、控制层、模型层和持久化层,但是在通常情况下还是以三层架构的层次划分为主。因此,类设计主要是针对控制层、模型层及持久化层开展的,对该系统模块进行类级别的划分和设计。其类别主要分为:对数据库数据对象分析抽象形成的数据实体类,进行控制处理的核心处理控制类,调用处理相关数据的数据处理类和工具类这四大局部,其中,工具类包括过滤类和常用处理类这两个类。系统类的主要划分可见图58所示。图5-8类划分图