校园二手书交易平台的设计实现分析--论文定稿

上传人:痛*** 文档编号:95640933 上传时间:2022-05-24 格式:DOC 页数:49 大小:428.50KB
返回 下载 相关 举报
校园二手书交易平台的设计实现分析--论文定稿_第1页
第1页 / 共49页
校园二手书交易平台的设计实现分析--论文定稿_第2页
第2页 / 共49页
校园二手书交易平台的设计实现分析--论文定稿_第3页
第3页 / 共49页
点击查看更多>>
资源描述
- PINGDINGSHAN UNIVERSITY毕业论文(设计)题 目:校园二手书交易平台的设计与实现院(系): 软件学院 专业年级:软件工程 2008级 姓 名: 瑞娟 学 号: 081530128 指导教师:单冬红讲师2011年 11月10日原 创 性 声 明本人重声明:本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。毕业论文中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。除文中已经注明引用的容外,不包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研究成果做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明的法律责任由本人承担。论文作者签名: 日 期:关于毕业论文使用授权的声明本人在指导老师指导下所完成的论文及相关的资料(包括图纸、试验记录、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属学院。本人完全了解学院有关保存、使用毕业论文的规定,同意学校保存或向国家有关部门或机构送交论文的纸质版和电子版,允许论文被查阅和借阅;本人授权学院可以将本毕业论文的全部或部分容编入有关数据库进行检索,可以采用任何复制手段保存和汇编本毕业论文。如果发表相关成果,一定征得指导教师同意,且第一署位为学院。本人离校后使用毕业论文或与该论文直接相关的学术论文或成果时,第一署位仍然为学院。论文作者签名: 日 期:指导老师签名: 日 期:. z.-校园二手书交易平台的设计与实现摘 要随着互联网的不断发展,基于Web的网络书店给人们带来了极大的便利,网络书店不仅是传统售书模式的发展和补充,也是未来发展的趋势。但是对于没有经济来源的在校学生而言,购买新书的花费较大,所以二手书市场一直活跃于校园中。在校园网络发达的今天,开发一套二手书交易系统,能够很好地满足供需双方的需求,并且对于提高图书的循环利用、降低学生的购书成本,具有现实意义。系统采用SH (Struts + Hibernate)两层架构设计,应用Struts可以分离视图层和控制层;Hibernate实现用面向对象的思想来管理数据库,实现业务逻辑与数据库之间的低耦合,具有更好的安全性和可扩展性。该系统主要实现发布二手书信息、搜索图书信息、用户留言等功能,以及后台管理与维护等功能。系统中有三种用户角色,管理员、注册用户和未注册用户。管理员主要有管理用户、发布公告等权限,注册用户进入系统可以进行信息发布、留言等操作,未注册用户只能查看二手书的发售和求购信息。系统的实现将为学生提供很大的便利,而且为有效提高图书的循环利用提供了途径。本论文研究了校园二手书交易平台的背景及发展趋势,按照软件工程开发的理论进行了系统分析、概要设计、详细设计、代码实现、测试等一系列工作,最终实现了具有实用价值的校园二手书交易平台。 关键词:二手书交易,Struts,数据库,Hibernate. z.-The Design and Implementation of Second-hand Book-Selling Systemin CampusAbstractWith the continuous development of the Internet, the network bookstore has brought people greatly convenience.Network bookstore is not only the development and supplement of the traditional bookstore, but also the trend of future development. But to the students in school, who have no salery, the cost of new books is more e*pensive, and second-hand book market has been becoming more and more active. The network of campus has become very mature,its necessary to develop a system used for the second-hand book dealing, to meet the needs of sellers and buyers, and improve book recycling and reduce students cost of buying new books. This system is designedby the SH (Struts Hibernate) two-layer framework. Using Struts can be separated from the view layer and the control layer. Using Hibernate can achieve to manage database with object-oriented thinking. Using SH can achieve low coupling with the database and make the system more security and saclability. Functions of the system is mainly to release used books, search books information, leave comments, as well as the administrator to manage and maintainthe system.There are three roles: system administrator users, registered users and unregistered users. The right of administrators is managing users, issuing bulletin and so on.Registered users can publish messages, leave comments. Unregistered users can only browse information. The realization of the system will make it more convenient for students. And at the same time it will comes to book recycling.This thesis e*pounds the background and development trend of the campus secondhand books transaction platform. According tothe software engineering development theory. A series of work have been done, such as system analysis and design, detailed summary design, coding, andtesting of development. Finally realized the practical value of the Second-hand Book-Selling system in campus. Keywords:Second-handBook Deal, Struts, Database, Hibernate. z.-目录1 绪论11.1 项目开发背景11.2 项目开发现状11.3 项目开发意义21.4 论文主要工作和结构安排21.5 本章小结22 开发技术及工具介绍32.1 页面开发技术32.2 SH框架的选择32.3 WEB服务器42.4 开发工具42.5 本章小结43 需求分析53.1 业务操作流程53.2 系统设计目标53.3 功能需求53.4 性能需求93.5 本章小结104 总体设计114.1 系统功能设计114.2 数据库设计124.2.1 数据库概念设计124.2.2 数据库逻辑设计134.2.3 数据库的实现144.3 接口设计164.4 本章小结165 详细设计与实现175.1 系统的功能设计175.1.1 登录功能的设计175.1.2 用户管理功能的设计185.1.3 图书管理功能的设计185.1.4 留言功能的设计205.1.5 公告管理功能的设计215.2系统类的设计215.3 系统的实现255.3.1 注册登录功能255.3.2 搜索图书和查看图书信息功能265.3.3 发布图书信息功能285.3.4 留言功能305.3.5 管理员管理用户功能305.3.6公告管理功能315.4 本章小结326 测试336.1 测试的意义336.2 测试环境336.3 功能测试336.4 界面测试356.5问题严重程度描述366.6 本章小结367 结束语377.1 总结377.2 展望37附 录39参考文献45致 47. z.-1 绪论二手书交易可以提高图书的循环利用率,为学生提供很大的便利。设计旨在实现一个二手书的交易系统,为供需双方提供便利的二手书网络交易平台。本部分介绍本系统的开发背景、意义以及论文的主要工作和结构安排。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+Hibernate两层框架,选用SQL Server 2000作为后台数据库,运用Tomcat服务器技术,基于B/S(Browser/Sserver)模式进行设计。2.1 页面开发技术JSP(Java Servlet Pages)一种动态网页技术标准。是基于Java Servlet以及整个Java体系的Web开发技术,JSP技术使用Java编程语言编写类*ML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑1。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得更加容易2。它在传统的静态页面文件中加入Java程序片段和JSP标记,就构成了JSP页面。由Web服务器上的JSP引擎来处理JSP元素,生成调用Bean,并用JDBC访问数据库(或文件),最后以HTML或*ML的形式返回浏览器3-4。JSP在Servlet类中编译,编译一次后存入存,以后再调用时,不用再编译,所以速度很快。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠等一些优点5。2.2 SH框架的选择SH 为Struts+Hibernate 的组成方式,它是目前流行的MVC模式框架之一。典型的J2EE两层结构,分为中间层(业务逻辑层)和持久层,Web应用的前端是表现层,SH整合框架使用Struts框架,其负责的工作为:管理用户的请求,做出相应的响应;提供一个流程控制器,委派调用业务逻辑和其他上层处理;处理异常;为显示提供一个数据模型和用户界面的验证等,Web应用的后端是持久层6。SH整合框架使用Hibernate,其持久化对象是基于POJO和Java集合的,负责的工作为:查询对象的相关信息;增加、删除、更新数据库记录等,Web应用的中间部分是业务逻辑层7。应用Struts可以分离视图层和控制层;Hibernate实现用面向对象的思想来管理数据库,实现与数据库之间的低耦合,这种整合的开发模式让我们的开发更加方便、快捷、思路清晰8。在本系统中,使用Struts作为系统的整体基础架构,负责MVC的分离,数据持久化操作由Hibernate完成。系统的基本业务流程是:在表示层中,首先通过JSP页面实现交互界面,负责传送请求(Request)和接收响应(Response),然后Struts根据配置文件 (struts-config.*ml)将ActionServlet接收到的Request委派给相应的Action处理。在业务层中,向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。而在持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果9。2.3 WEB服务器Tomcat是在SUN的JSWDK的基础上发展起来的另一个优秀的JSP服务器,它不但支持Servlet,而且还提供了Web服务器的基本功能,处理HTML页面。作为一个开放源码的软件,Tomcat有着自己独特的优势,可以和目前大部分的主流服务器一起工作,而且有着相当高的运行效率。可以将Tomcat和Apache集成起来,让Apache处理静态Html,而Tomcat处理JSP和Servlet10。使用Tomcat的用户也很多,资料丰富,交流方便。系统采用B/S开发模式,这种模式无需安装客户端软件,客户端只需要浏览器便可访问。降低维护和升级成本。本系统使用Tomcat和Apache集成发布文档管理系统,由Apache处理静态Html,Tomcat处理JSP和Servlet。2.4 开发工具MyEclipse企业级工作平台(MyEclipse Enterprise Workbench,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率11。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS, JavaScript,Hibernate12-13。故本系统采用MyEclipse作为开发工具。数据库采用SQL Server 2000,使系统管理和数据库管理更加直观、简单。它有丰富的编程接口工具,为用户数据操作提供了便利,并能快速高效发布数据到Web页面。2.5 本章小结本章主要讲解了系统在开发中用到的技术和开发工具,包括页面开发的JSP技术,SQL Server数据库技术,SH技术,WEB服务器技术及其在系统中的作用。3 需求分析软件需求分析就是对目标系统提出完整、准确、清晰、具体的要求。需求分析是软件工程中的一个关键过程14。通过需求分析要明确系统的主要功能模块,以及各功能模块需要完成的具体功能。3.1 业务操作流程未注册的用户可以浏览公告查看待出售的的图书信息和求购信息,可以搜索图书。注册用户除了拥有上述功能外还可以发布出售图书信息和求购信息,用户之间可以相互留言。管理员进入系统后,可以对公告进行发布、查看和删除,可以对用户进行查看和删除,可以查看待售图书信息。3.2 系统设计目标本系统基于校园网络的一个二手书交易平台,为了方便同学们进行二手书交易,以达到二手书籍的充分利用,也为在校生提供更多的便利。具体的功能期望实现如下目标。1.未注册用户可以搜索图书、浏览公告,查看待售图书信息和求购图书信息。2.注册用户可以查看修改自己的信息。3.注册用户可以搜索图书、浏览公告,查看待售图书信息和求购图书信息。4.注册用户可以发布出售图书及修改图书状态,删除已售出图书。5.注册用户可以发布和删除求购图书信息。6.注册用户之间可以相互留言及标记留言状态、删除留言。7.管理员可以发布、查看、删除公告。8.管理员可以修改登陆密码, 管理员可以查看待售图书信息。9.管理员可以查看用户信息和删除已毕业用户。 3.3 功能需求由于二手书价格便宜,性价比极高,备受在校生的青睐。目前校园里二手书大都以跳蚤市场方式进行交易,虽然也能为学生提供一个交易平台,但容易受到场地,天气和时间等各种因素的制约,具有诸多不便。在网络环境发达的今天,如果能通过校园网络为买卖双方提供二手书交易平台,并提供相关书籍信息,为学生购书提供方便、快捷、经济的购书渠道,增加书籍循环利用次数,势必会得到广大师生的欢迎。系统角色主要有管理员和用户,管理员主要管理个人信息、管理用户、管理公告、查看待售图书信息等;用户可以管理个人信息、管理二手书信息、发布求购出售信息、浏览公告等。系统总用例图如图3-1所示。图3-1 系统总体用例图用户主要针对的是在系统中进行过注册的注册用户,只有注册用户才能完整享有其对系统的各项功能使用权。注册用户用例图如图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 数据库概念设计数据库是整个项目设计中的关键,在整个系统中存储后台数据,以供统计、查询、分析等使用,一个好的数据库能有效的管理后台中的数据,提高软件的运行效率15-16。数据库设计主要包括两个方面容:数据库分析,数据库的设计与实现。图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(院系),ClassInfo(班级),BulletinInfo(公告),BookInfo(出售图书信息),BookType(图书类别),BegToBuy(求购信息),MsgInfo(留言)。1.AdminInfo(系统管理员),如图4-3所示。图4-3 系统管理员信息表2.MsgInfo(留言),如图4-4所示。图4-4 留言信息表3.UserInfo(用户),如图4-5所示。图4-5 用户信息表4.BulletinInfo(公告),如图4-6所示。图4-6 公告信息表5.BookInfo(出售图书信息),如下图4-7所示。图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 详细设计与实现本章主要介绍系统的功能模块划分和详细设计实现部分,根据需求分析和用户角色定位,对系统功能结构进行划分,并在此基础上逐步实现系统各项功能。5.1 系统的功能设计5.1.1 登录功能的设计用户使用到二手书交易平台系统的三大模块分别是:用户管理模块、图书交易信息管理模块和留言功能模块。用户使用用户管理模块完成注册、登录和修改信息这三大操作。一个用户若想进行书籍信息的发布,则首先需要成为本系统的注册用户。此时可以使用用户管理模块的注册功能。在主页选择注册选项,进入注册页面,填写相关信息,通过验证后完成用户注册。未注册用户只能浏览相关发布的书籍信息,而不能进行其他操作。用户在页面的登录部分输入注册的用户名和密码,页面的检测算法对字符等格式进行检测,后通过相关处理类对此请求进行处理,在验证用户名和密码匹配且正确的情况下方可登录系统,从而可以使用其他两个模块进行用户权限下的相关操作。用户登录后,可以修改自己的信息。选择修改用户信息的选项进入用户信息修改界面,在信息修改页面参照显示的相关用户信息,对自己想要修改的部分进行修改,而后提交,完成注册信息的改动操作。对用户的用户管理模块相关功能进行设计,其序列图如图5-1示。图5-1 用户注册、登录及修改个人信息序列图5.1.2 用户管理功能的设计管理员应该可以执行的主要功能有登录修改个人信息、管理注册用户、管理公告、查看二手书信息。因此,管理员使用该系统的用户管理模块、图书交易信息管理模块和公告管理模块这四大模块的相关功能。管理用户功能,相关序列图如图5-2所示。图5-2 用户管理序列图管理员若要对已经注册在库的用户进行管理,或是修改自己的个人信息就需要使用该系统的用户管理模块进行管理操作。这里的对用户管理,一般指删除用户,因为用户的注册信息修改权在用户自己手中,管理员一般不涉及。管理员输入管理员用户名和密码,进入后台管理界面,点击用户管理进入用户管理界面,在此界面可查看所有用户信息,点击想要删除的用户,系统提示是否确定删除,删除成功后提示操作成功,返回用户管理界面。5.1.3 图书管理功能的设计图书交易信息管理模块完成二手书销售信息或求购信息的发布和相关管理操作。因此,对其使用功能分解,又可将该模块分为求购信息管理和销售信息管理两类主要功能。用户需要发布图书求购信息或者对其本用户的图书求购信息进行删除等操作,需要使用图书交易信息管理模块的求购信息管理子模块。在登录后点击发布求购信息,进入填写图书求购信息界面,填写求购的图书信息,提交后系统将用户的求购信息在页面输出,显示用户的相关求购容。当用户获得想要的图书信息后,可以选择将求购信息删除。对应序列图如图5-3示。图5-3 用户管理求购信息序列图若用户需要发布销售二手书的信息,或是对自己的过往二手书销售信息进行管理的话,则需要使用图书交易信息管理模块的销售信息管理子模块。用户登录系统后点击发布图书信息,页面跳转到填写图书信息界面,填写图书信息,提交信息后返回主界面,用户可查看图书,图书卖出后用户对图书状态进行修改,将图书标注为已售出,图书将出现在已售出图书中供用户查看,可直接对图书删除,图书将不在出现在图书列表。用户登录后对二手书图书的管理功能,对应序列图如图5-4示。图5-4 二手书管理序列图管理员对于二手图书信息查看应使用该系统的图书交易信息管理模块。使用该模块管理员可以对用户发布的所有图书交易信息进行查看。相应序列图如图5-5所示。图5-5 管理员图书信息管理序列图5.1.4 留言功能的设计用户的留言功能,相应序列图如图5-6所示。图5-6 留言管理序列图留言功能模块添加留言或查看以往留言,方便买卖双方联系沟通。用户购买图书时可进行留言,使用留言可以方便用户之间的沟通,协调买卖双方的活动。为此,用户使用到留言功能模块。当登录用户进入*人的留言板时,可以在其留言板填写留言信息。该信息被提交后,留言将出现在对方的留言模块中,被留言用户可以查看对自己的留言,在查看之后可将其状态标注为已读,这样便能够区分已读和未读的不同类别的留言信息。在对无用的留言删除之后,该留言便不会出现在此用户的留言列表中。5.1.5 公告管理功能的设计管理员对于公告的管理要使用公告管理模块,主要是进行发布相关公告,或是删除公告。管理员进入发布公告界面,填写发布公告具体信息,提交信息后返回管理界面,提交删除请求可删除公告,提示删除成功后返回公告管理界面。公告管理功能对应的序列图如图5-7所示。图5-7 公告管理序列图5.2 系统类的设计根据MVC三层设计思想,可将系统分为视图层、控制层和模型层。系统使用Hibernate架构,使系统由传统的表示层、业务逻辑层和数据库层变为表示层、业务逻辑层、持久化层和数据库层这四大层次。于是,对于使用了Struts的三层MVC系统结合Hibernate的典型持久层操作,该系统可以大致认为分为四大层次,它们分别是视图层、控制层、模型层和持久化层,但是在通常情况下还是以三层架构的层次划分为主。因此,类设计主要是针对控制层、模型层及持久化层开展的,对该系统模块进行类级别的划分和设计。其类别主要分为:对数据库数据对象分析抽象形成的数据实体类,进行控制处理的核心处理控制类,调用处理相关数据的数据处理类和工具类这四大部分,其中,工具类包括过滤类和常用处理类这两个类。系统类的主要划分可见图5-8所示。图5-8 类划分图这些类按照其定义及属性划分,可以分属到模型、控制和持久三个层的部分当中。其中因为数据实体类是在持久层中进行对数据库的数据封装以及实例化的操作,它们可以归到持久化层当中去。而数据处理类是对数据进行增、删、改、查几种操作的规化设定,以及部分逻辑业务处理,于是它们既属于持久化操作层又涉及模型层,起业务逻辑处理的功能。而核心处理控制类主要负责业务逻辑控制,它们可以被划入控制层当中,不过其本身也承担一部分业务逻辑处理能力,因此也可视作涉及模型层。它们的层次归属可以参考图5-9。控制层C模型层M持久化层数据实体类核心处理控制类数据处理类工具类图5-9 类所属层次划分由类层次分析不难得出,使用Hibernate框架以联系持久化层和模型层的关键就是建立与数据库表对应的数据实体类,这些类具有和数据表相应的结构,是数据库表的直接反映。在实际的设计和实现中,通过对这些数据实体类的应用就可以达到原本对数据库表直接操作的效果。主要数据实体类的功能如下所述。1.AdminInfo类对应数据库中的管理员表,是管理员表的映射实体。主要用于记录管理员的主要信息包括管理员名称和密码。2.userInfo类对应用户表,主要记录用户的主要信息,这些信息主要包括用户名,密码,真实,性别,年龄,密保问题,答案,QQ号,地址,班级号。3. BegToBuy类对应求购信息表,主要记录求购图书的主要信息,这些信息主要包括图书名称,求购者,图书信息,备注说明,发布时间。4. BookInfo类对应图书信息表,主要记录二手图书信息,这些信息主要包括图书名称,图书类别,作者,价钱,图片,发布者,折旧程度,出售价格,附加信息,出售状态,发布时间。5. MsgInfo类对应留言信息表,主要记录留言的主要信息,这些信息主要包括标题,容,留言者,留言对象,留言时间,是否已读。6. BulletinInfo类对应公告信息表,主要记录公告的主要信息,这些信细主要包括公告标题,容,发布时间。系统类图主要用于描述系统中核心类的主要属性特征以及它们之间的关联,如此可以更清晰地洞察到系统中实体之间相互作用17-18。主要实体类如图5-10所示。图5-10 主要实体类图实体类是建立持久层和模型层联系的关键,但对整个系统而言,处理数据流向和调用处理方法的核心是控制类,这些类的实例化对象负责对整个系统的用户数据进行方法调用处理,根据不同请求转向不同业务处理流程以得到相应处理结果。可以说,核心控制类是整个系统得以正常工作的保证,脱离了控制类的工作系统就会如同没有指挥官的飞船一般,将会偏离预设的运行轨道。主要核心控制类的功能如下所述。1. AdminpwdAction:该类用于实现管理员登录和修改密码,通过验证管理员输入信息是否正确实现管理员登录,通过调用AdminInfoDAO类的merge方法连接数据库更新用户的密码属性。2. SearchAction:该类用于搜索图书的信息,通过调用BookInfoDAO类的searchByBookName, searchByAuthor, searchByPublisher三个方法实现与数据库息匹配,通过连接数据库返回满足条件的图书列表。3. UserLoginAction:该类用于检测用户是否成功登录,用户输入用户名、密码封装在loginForm表单中,通过该类通过调用UserInfoDAO类中checkUserLogin方法连接数据库检测用户是否登录成功。4. BegAction:该类通过调用BulltinInfoDAO类中findHotBulletinInfos方法连接数据库获得最新公告。通过调用BegToBuyDAO类中的findNewstBuys方法连接数据库实现在首页显示最新的求购信息。通过调用BegToBuyDAO类中的findMyBegToBuys方法连接数据库实现用户查看自己的求购图书。通过调用BookTypeDAO类中的findAll方法和数据库连接实现查看所有图书信息。5. MsgDetailsAction:该类用于管理留言。通过调用MsgInfoDAO类中的getUnReadMsgCount(),getUnReadMsgInfos(),getReadMsgInfos()三个方法和数据库连接分别实现对未读留言的数量统计,查找未读留言信息,查找已读留言信。6. UpdateSelfInfoAction:该类用于修改用户的信息。先通过修改页面来进行用户信息的修改,通过表单类selfInFormform获取修改后的信息,再赋值给UserInfon类的一个对象,最后调用Dao类的findByE*ample方法将修改后的用户信息更新数据库的用户表。 7. BookDetailAction:该类用于发表图书。用户填写图书详细信息提交后封装在bookDetailsForm表单中,通过DAO层与数据库映射,图书信息完整,通过调用BookInfoDAO类中的findById()方法,连接数据库更新图书列表。系统中还有很重要的一个类别,这就是作为公共调用工具的工具类,这些类没有特别的依赖性,完成的是辅助系统相关业务处理工作实施的任务。虽然其容简单,但是却是不可或缺的系统重要组成部分。工具类的介绍如下所述。1. EncodingFilter:该类是一个过滤器类,主要用来设置web服务使用的编码方式。2. StringUntil:该类主要是对信息去掉首位空格的实现,主要方法有s.trim()。5.3 系统的实现5.3.1 注册登录功能注册的用户填完必填信息点击提交便可注册,必填信息有空缺时提示对应项不能为空,填写信息时会检测用户名是否可用,用户名未被注册提示用户名可用,可继续填写信息,填写用户名已被注册会提示用户名不可用。输入密码时,两次输入要一致,有不同时提示密码输入不一致。用户登录,首先将从前台页面提交的用户名和密码进行接受,之后在后台进行处理,按照用户名在数据库中进行查询如果查到该用户则将该用户的权限和密码全都取出来分别赋给两个字符串变量,判断从数据库中读出的密码与登录时输入的密码是否配比上,若两个密码相同则根据权限的值进入相应的页面,否则输出密码错误。注册界面如图5-11所示。图5-11 用户注册界面其具体的三层业务流程如下。1. 视图层:接收用户输入的用户名和密码两个信息。在用户点选登录按钮后,触发相关事件,将信息送至处理类处理。2. 控制层:接受表示层提交的用户登录信息表单,通过struts-config配置文件查找到action处理类UserLoginAction,调用其默认的e*ecute()方法进行处理。通过持久层UserDAO的checkUserLogin()方法检测用户登录,而后将处理结果反馈给表示层。3. 持久层:通过UserDAO类的checkUserLogin()方法检测用户登录,对登录的用户的用户名和密码信息从数据库中进行成对读取,若无,则证明无此用户或是用户名和密码出现错误,登录失败。登录界面如图5-12所示。图5-12 登录界面管理员输入正确的用户名密码可进入系统进行管理用户,管理公告,查看图书信息等操作。管理员登录界面如图5-13所示。图5-13管理员登录界面5.3.2 搜索图书和查看图书信息功能1. 用户登录以后进入主界面,可通过输入书名、图书作者或者实现关键字搜索,数据库中不存在与输入条件匹配的数据项时,返回没有待售图书,数据库中存在与输入条件匹配的数据项时,按输入条件返回搜索结果,功能界面如下图5-14所示。图5-14 搜索界面用户输入搜索关键字,可输入作者、书名、或者进行搜索,根据关键字在数据库中检索,如有与关键字匹配的数据项则返回搜索结果列表,如没有与关键字匹配的数据项,返回没有查找图书。搜索图书的核心代码如下。public List searchByBookName(String bookName) try String queryString = from BookInfo as model where model.isSaled= and model.bookName like %+ bookName + %;Query queryObject = getSession().createQuery(queryString);queryObject.setParameter(0, false);return queryObject.list(); catch (RuntimeE*ception re) throw re;public List searchByAuthor(String author) try String queryString = from BookInfo as model where model.isSaled= and model.author like %+ author + %;Query queryObject = getSession().createQuery(queryString);queryObject.setParameter(0, false);return queryObject.list(); catch (RuntimeE*ception re) throw re;public List searchByPublisher(String publisher) try String queryString = from BookInfo as model where model.isSaled= and model.publisher like %+ publisher + %;Query queryObject = getSession().createQuery(queryString);queryObject.setParameter(0, false);return queryObject.list(); catch (RuntimeE*ception re) throw re;2. 用户登录系统进入首页后,可以查看自己的个人信息,待售图书情况和求购图书情况,管理自己的图书信息,对图书进行删除、标记图书状态,对求购信息进行删除,可查看留言标记留言的
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!