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

更新时间:2023-03-08 06:34:43 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

PINGDINGSHAN UNIVERSITY 毕业论文(设计)

题 目:校园二手书交易平台的设计与实现

院(系): 软件学院 专业年级: 软件工程 2008级 姓 名: 刘瑞娟 学 号: 081530128 指导教师: 单冬红 讲师

2011年 11月10日

原 创 性 声 明

本人郑重声明:本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。毕业论文中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。除文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研究成果做出重要贡献的个人和集体,均已在文中以明确方式标明。

本声明的法律责任由本人承担。

论文作者签名: 日 期:

关于毕业论文使用授权的声明

本人在指导老师指导下所完成的论文及相关的资料(包括图纸、试验记录、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属平顶山学院。本人完全了解平顶山学院有关保存、使用毕业论文的规定,同意学校保存或向国家有关部门或机构送交论文的纸质版和电子版,允许论文被查阅和借阅;本人授权平顶山学院可以将本毕业论文的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存和汇编本毕业论文。如果发表相关成果,一定征得指导教师同意,且第一署名单位为平顶山学院。本人离校后使用毕业论文或与该论文直接相关的学术论文或成果时,第一署名单位仍然为平顶山学院。

论文作者签名: 日 期: 指导老师签名: 日 期:

平顶山学院本科毕业设计

校园二手书交易平台的设计与实现

摘 要

随着互联网的不断发展,基于Web的网络书店给人们带来了极大的便利,网络书店不仅是传统售书模式的发展和补充,也是未来发展的趋势。但是对于没有经济来源的在校学生而言,购买新书的花费较大,所以二手书市场一直活跃于校园中。在校园网络发达的今天,开发一套二手书交易系统,能够很好地满足供需双方的需求,并且对于提高图书的循环利用、降低学生的购书成本,具有现实意义。

系统采用SH (Struts + Hibernate)两层架构设计,应用 Struts可以分离视图层和控制层;Hibernate实现用面向对象的思想来管理数据库,实现业务逻辑与数据库之间的低耦合,具有更好的安全性和可扩展性。该系统主要实现发布二手书信息、搜索图书信息、用户留言等功能,以及后台管理与维护等功能。系统中有三种用户角色,管理员、注册用户和未注册用户。管理员主要有管理用户、发布公告等权限,注册用户进入系统可以进行信息发布、留言等操作,未注册用户只能查看二手书的发售和求购信息。系统的实现将为学生提供很大的便利,而且为有效提高图书的循环利用提供了途径。

本论文研究了校园二手书交易平台的背景及发展趋势,按照软件工程开发的理论进行了系统分析、概要设计、详细设计、代码实现、测试等一系列工作,最终实现了具有实用价值的校园二手书交易平台。

关键词:二手书交易,Struts,数据库,Hibernate

校园二手书交易平台的设计与实现

The Design and Implementation of Second-hand

Book-Selling System in Campus

Abstract

With 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 expensive, and second-hand book market has been becoming more and more active. The network of campus has become very mature, it’s 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 designed by 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 maintain the 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 expounds the background and development trend of the campus secondhand books transaction platform. According to the software engineering development theory. A series of work have been done, such as system analysis and design, detailed summary design, coding, and testing of development. Finally realized the practical value of the Second-hand Book-Selling system in campus.

Keywords:Second-hand Book Deal, Struts, Database, Hibernate

平顶山学院本科毕业设计

目 录

1 绪论 .............................................................................................................................1

1.1 项目开发背景 .................................................................................................. 1 1.2 项目开发现状 .................................................................................................. 1 1.3 项目开发意义 .................................................................................................. 2 1.4 论文主要工作和结构安排 .............................................................................. 2 1.5 本章小结 .......................................................................................................... 2 2 开发技术及工具介绍 .................................................................................................3

2.1 页面开发技术 .................................................................................................. 3 2.2 SH框架的选择 ................................................................................................. 3 2.3 WEB服务器 ..................................................................................................... 4 2.4 开发工具 .......................................................................................................... 4 2.5 本章小结 .......................................................................................................... 4 3 需求分析 .....................................................................................................................5

3.1 业务操作流程 .................................................................................................. 5 3.2 系统设计目标 .................................................................................................. 5 3.3 功能需求 .......................................................................................................... 5 3.4 性能需求 .......................................................................................................... 9 3.5 本章小结 ........................................................................................................ 10 4 总体设计 ................................................................................................................... 11

4.1 系统功能设计 ................................................................................................. 11 4.2 数据库设计 .................................................................................................... 12

4.2.1 数据库概念设计 .................................................................................. 12 4.2.2 数据库逻辑设计 .................................................................................. 13 4.2.3 数据库的实现 ...................................................................................... 14 4.3 接口设计 ........................................................................................................ 16 4.4 本章小结 ........................................................................................................ 16 5 详细设计与实现 .......................................................................................................17

5.1 系统的功能设计 ............................................................................................ 17

校园二手书交易平台的设计与实现

5.1.1 登录功能的设计 .................................................................................. 17 5.1.2 用户管理功能的设计 .......................................................................... 18 5.1.3 图书管理功能的设计 .......................................................................... 18 5.1.4 留言功能的设计 .................................................................................. 20 5.1.5 公告管理功能的设计 .......................................................................... 21 5.2 系统类的设计 ................................................................................................ 21 5.3 系统的实现 .................................................................................................... 25

5.3.1 注册登录功能 ...................................................................................... 25 5.3.2 搜索图书和查看图书信息功能 .......................................................... 26 5.3.3 发布图书信息功能 .............................................................................. 28 5.3.4 留言功能 .............................................................................................. 30 5.3.5 管理员管理用户功能 .......................................................................... 30 5.3.6 公告管理功能 ...................................................................................... 31 5.4 本章小结 ........................................................................................................ 32 6 测试 ...........................................................................................................................33

6.1 测试的意义 .................................................................................................... 33 6.2 测试环境 ........................................................................................................ 33 6.3 功能测试 ........................................................................................................ 33 6.4 界面测试 ........................................................................................................ 35 6.5 问题严重程度描述 ........................................................................................ 36 6.6 本章小结 ........................................................................................................ 36 7 结束语 .......................................................................................................................37

7.1 总结 ................................................................................................................ 37 7.2 展望 ................................................................................................................ 37 附 录 ...........................................................................................................................39 参考文献 .......................................................................................................................45 致 谢 ...........................................................................................................................47

平顶山学院本科毕业设计

1 绪论

二手书交易可以提高图书的循环利用率,为学生提供很大的便利。设计旨在实现一个二手书的交易系统,为供需双方提供便利的二手书网络交易平台。本部分介绍本系统的开发背景、意义以及论文的主要工作和结构安排。

1.1 项目开发背景

现代网络技术发展迅速,给传统的售书方式带来了很大的冲击。传统的书店销售模式受到诸如场地、资金、宣传等因素制约,已经不能满足人们的日益增长的图书购买需求。网上书店应运而生,送货上门、24小时服务、搜索图书方便、无店铺销售等都使网络书店深受欢迎。随着人们购书观念、购物习惯的改变、网购人群日益增加,这些都为网络书店的发展提供了有力条件。网络书店不仅是传统售书模式的发展和补充,也是未来发展的趋势。当当网1999年11月开通,目前是全球最大的中文网上书店。其管理团队拥有多年的图书出版、零售、信息技术及市场营销经验。面向全世界中文读者提供20多万种中文图书及超过1万种的音像商品,每天为成千上万的网上消费者提供方便、快捷的服务,给网上购物者带来极大的方便和实惠。

随着物价上涨,书籍价格也在不断攀升,作为大学生,大学时期正是汲取知识的重要阶段,需要阅读大量的专业书籍。图书馆藏书是学生书籍借阅的重要来源,但是对于学生而言专业书籍需长久保有。学生对某些书籍的长期保有需求使得二手书市场一直活跃在校园周边。于此形成反差的是大量的专业书籍被当做废品卖掉,造成较大的资源浪费。而且学生购买新书的成本较高,对于没有收入的大学生来讲也是一笔不小的开支。因此,学生群体自然成为二手书供需市场的主体。

1.2 项目开发现状

目前,校园中二手书交易方式有两种:第三方回收倒卖的方式和二手书跳蚤市场。学校组织的二手书跳蚤市场在一段时间内给学生带来了很大的便利,但是

1

校园二手书交易平台的设计与实现

由于时间、天气、交易场所的局限性,跳蚤市场已逐渐的不能满足学生的需求。通过第三方回收倒卖的方式,虽然能够某种程度上满足学生需求,但由于中间利益,不能使学生买卖双方达到利益最大化,并且图书流通周期过长。校园二手书交易平台能够让学生与学生之间以一种更高效、直接的方式进行交易,还可避免天气、场地等因素的影响。

1.3 项目开发意义

目前,校园网络比较发达,在大学校园中大部分学生都拥有自己的电脑,校园二手书交易平台可以依托校园网络建立,该交易平台能够很好的满足供需双方的需求,为图书的循环利用和降低学生的购书成本具有现实的意义。

1.4 论文主要工作和结构安排

本论文主要介绍校园二手书交易平台的开发背景,开发设计过程和实现过程,数据库设计以及系统测试,全文共分七章,具体安排如下所示。

第1章 介绍课题背景、系统的设计目标、研究现状及结构安排等。 第2章 介绍对系统采用的相关技术及开发工具。

第3章 进行系统的需求分析,并结合需求分析进行功能设计。 第4章 根据系统的功能设计进行数据库的设计。

第5章 介绍系统的开发,具体介绍每一个功能模块的设计与实现的过程,并配有界面图以及序列图,清晰表达出本模块的设计流程。

第6章 介绍本系统的功能测试以及性能测试,并分析测试结果。 第7章 总结本系统的基本功能及结构,展望系统的前景和下一步的改进目标。

1.5 本章小结

本章首先介绍了本课题的背景及意义,深刻了解了研究本系统的重要性。接着介绍了课题的现状,以便于有所创新。最后介绍了论文主要工作和结构安排,以便于可以在保证论文质量的前提下按照计划顺利地完成本论文的撰写。

2

平顶山学院本科毕业设计

2 开发技术及工具介绍

本系统使用Java作为开发语言,采用Struts+Hibernate两层框架,选用SQL Server 2000作为后台数据库,运用Tomcat服务器技术,基于B/S(Browser/Sserver)模式进行设计。

2.1 页面开发技术

JSP(Java Servlet Pages)一种动态网页技术标准。是基于Java Servlet以及整个Java体系的Web开发技术,JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑[1]。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得更加容易[2]。

它在传统的静态页面文件中加入Java程序片段和JSP标记,就构成了JSP页面。由Web服务器上的JSP引擎来处理JSP元素,生成调用Bean,并用JDBC访问数据库(或文件),最后以HTML或XML的形式返回浏览器[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的分离,数据持

3

校园二手书交易平台的设计与实现

久化操作由Hibernate完成。系统的基本业务流程是:在表示层中,首先通过JSP页面实现交互界面,负责传送请求(Request)和接收响应(Response),然后Struts根据配置文件 (struts-config.xml)将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和Servlet[10]。使用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,Hibernate[12-13]。故本系统采用MyEclipse作为开发工具。数据库采用SQL Server 2000,使系统管理和数据库管理更加直观、简单。它有丰富的编程接口工具,为用户数据操作提供了便利,并能快速高效发布数据到Web页面。

2.5 本章小结

本章主要讲解了系统在开发中用到的技术和开发工具,包括页面开发的JSP技术,SQL Server数据库技术,SH技术,WEB服务器技术及其在系统中的作用。

4

平顶山学院本科毕业设计

3 需求分析

软件需求分析就是对目标系统提出完整、准确、清晰、具体的要求。需求分析是软件工程中的一个关键过程[14]。通过需求分析要明确系统的主要功能模块,以及各功能模块需要完成的具体功能。

3.1 业务操作流程

未注册的用户可以浏览网站公告查看待出售的的图书信息和求购信息,可以搜索图书。注册用户除了拥有上述功能外还可以发布出售图书信息和求购信息,用户之间可以相互留言。管理员进入系统后,可以对公告进行发布、查看和删除,可以对用户进行查看和删除,可以查看待售图书信息。

3.2 系统设计目标

本系统基于校园网络的一个二手书交易平台,为了方便同学们进行二手书交易,以达到二手书籍的充分利用,也为在校生提供更多的便利。具体的功能期望实现如下目标。

1.未注册用户可以搜索图书、浏览公告,查看待售图书信息和求购图书信息。 2.注册用户可以查看修改自己的信息。

3.注册用户可以搜索图书、浏览公告,查看待售图书信息和求购图书信息。 4.注册用户可以发布出售图书及修改图书状态,删除已售出图书。 5.注册用户可以发布和删除求购图书信息。

6.注册用户之间可以相互留言及标记留言状态、删除留言。 7.管理员可以发布、查看、删除公告。

8.管理员可以修改登陆密码, 管理员可以查看待售图书信息。 9.管理员可以查看用户信息和删除已毕业用户。

3.3 功能需求

由于二手书价格便宜,性价比极高,备受在校生的青睐。目前校园里二手书大都以跳蚤市场方式进行交易,虽然也能为学生提供一个交易平台,但容易受到场地,天气和时间等各种因素的制约,具有诸多不便。在网络环境发达的今天,如果能通过校园网络为买卖双方提供二手书交易平台,并提供相关书籍信息,为

5

平顶山学院本科毕业设计

4 总体设计

4.1 系统功能设计

系统设计是一个把软件需求转换成用软件系统表示的过程。通过对目标系统的分析和研究,做出了二手书交易平台的总体规划,这是全面开发系统的重要基础。在对二手书交易平台全面分析调查的基础上,制定出二手书交易平台的总体规划。

从系统E-R出发,系统中的用户角色有两种分别是管理员和用户,用户对系统有发布图书信息功能、浏览公告功能、留言功能,管理员对系统有公告管理功能、管理用户功能、查看图书信息功能。系统功能模块图如图4-1所示。

校园二手书交易平台用户管理模块图书信息管理模块公告管理模块留言功能模块

图4-1 二手书交易平台功能模块图

该二手书交易平台系统主要分为四大功能模块,分别是:用户管理模块、图书交易信息管理模块、公告管理模块、留言功能模块。

用户管理模块:该模块涉及用户操作的相关功能实现。包括用户的注册、登录和相关用户信息修改等基本内容。同时,管理员可以管理已注册的用户信息,并拟定删除无效账号,如毕业生账号。

图书交易信息管理模块:该模块是整个系统最为核心的功能模块。用户可依托此模块,填写二手书籍出售信息,进在网上发布,从而进行二手书销售。也可以利用该模块发布二手书的求购信息,真正形成相关二手书的交易平台体系。这其中又包括发布二手书详细信息、查看二手书详细信息,发布求购二手书信息、查看求购信息、删除求购图书信息。根据设想和实际操作性考虑,图书售出后对

11

校园二手书交易平台的设计与实现

图书销售状态的改变也可将售书图书删除,删除的二手书将不再出现在现有销售或是求购的图书列表之中。管理员也可以使用该模块及时掌握和跟踪图书交易信息,调整用户发布的相关内容。

公告管理模块:该模块对网站发布的相关公告进行管理。管理员可使用该模块进行公告的贴出、删除等相关方面的操作。为网站的用户起到指引和告知的作用。

留言功能模块:该模块独立于其他模块存在,主要负责买卖双方通过该功能模块实现相互的交易沟通和联系,方便交易。包括发表留言、标记留言状态、删除留言等具体功能实现。

4.2 数据库设计

4.2.1 数据库概念设计

数据库是整个项目设计中的关键,在整个系统中存储后台数据,以供统计、查询、分析等使用,一个好的数据库能有效的管理后台中的数据,提高软件的运行效率[15-16]。数据库设计主要包括两个方面内容:数据库分析,数据库的设计与实现。

1院系1发布n所属公告n浏览1用户班级1属于n发表1n留言发布1管理求购出售信息n所属n管理员11n1查看图书类别nn 图4-2 系统E-R图

由需求分析得出系统角色有两种:管理员和用户,管理员的功能有管理注册用户、管理公告、管理二手书,用户功能有管理二手书、浏览公告、发表留言。

12

平顶山学院本科毕业设计

用户及管理员对功能的完成在数据库中体现为对数据表中数据的增加、删除、修改和查询。由以上分析得到的用户需求抽象为信息结构,根据需求分析画出系统E-R图如下图4-2所示,图中各实体属性如下。

管理员信息包括管理员名称,管理员密码。

用户信息包括用户名,密码,真实姓名,性别,年龄,密保问题,答案,QQ号,邮件,电话,地址,班级号。

公告信息包括公告标题,内容,发布时间。

图书信息包括图书名称,图书类别,作者,出版社,价钱,图片,发布者,折旧程度,出售价格,附加信息,出售状态,发布时间。

求购图书信息包括图书名称,求购者,图书信息,备注说明,发布时间。 留言信息包括标题,内容,留言者,留言对象,留言时间,是否已读。 图书类信息包括图书类别名,说明。 院系信息包括院系名称,说明。

班级信息包括班级名称,班级所属院系,说明。

图4-2所示的E-R图中描述了注册用户的各个模块的具体功能,主要有发布出售/求购图书信息,发布留言,查看公告等。各实体间存在关联有:一个管理员可以管理多个用户,管理多个公告,查看多本待售图书信息;一个院系可以有多个班级组成,一个班级包括多个用户;一个用户可浏览多个公告,可发布多个图书信息,发布多个求购信息,发表多个留言;一种图书只能属于一个图书类型。

4.2.2 数据库逻辑设计

注册用户可以发布图书信息,发布求购信息,书籍买卖成交后,卖家自己进行书籍已售的状态修改,状态修改后此书目不会再出现在可浏览书目列表中,只存在于用户自己的已售记录中。双方相互留言,查看和修改自己的信息,可进行图书搜索。游客只可以浏览网站公告,图书信息,求购信息,可搜索。系统管理员可以修改登录密码,查看所有用户信息,对删除已毕业用户,查看所有图书信息,发布公告,查看公告,删除公告。

依据数据库关系模式的设计结果,系统包含三类角色,其中三个角色分别为注册学生用户,系统管理员和游客。具体分析如下:

系统管理员表(ID,管理员用户,管理员密码)

学生用户表(ID,用户名,密码,真实姓名,性别,年龄,密保问题,答案,

13

校园二手书交易平台的设计与实现

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所示。

14

平顶山学院本科毕业设计

图4-5 用户信息表

4. BulletinInfo(公告),如图4-6所示。

图4-6 公告信息表

5. BookInfo(出售图书信息),如下图4-7所示。

图4-7 出售图书信息表

6. BegToBuy(求购信息),如下图4-8所示。

图4-8 求购信息表

15

校园二手书交易平台的设计与实现

4.3 接口设计

接口里面定义的都是公共的抽象方法,抽象方法只是声明了该方法的具有的功能,但是并没有给予相关的实现。定义抽象方法方便类之间的继承,所以定义接口的目的就是要被其它类实现的,在子类里面要对接口里的所有方法进行具体的实现,这样可以使代码的层次更清晰,易于更新和维护。本系统中主要的接口类如下。

1. AdminService:定义了管理员登录、修改密码等方法。 2. UserService:定义了用户登录、修改个人信息等方法。 3. BulleService:定义了公告发布、删除,获取公告列表等方法。

4. MsgService:定义了保存留言信息、删除留言信息、标记留言状态和获取留言列表等方法。

5. BookService:定义了图书信息的发布、获取图书列表、搜索图书、修改图书状态等方法。

6. BegService:定义了求购信息的发布、删除等方法。

在相应的Implement类中实现了上述接口中所有的方法,这样减少了代码的重写,只集成接口就可以,提高了组成单元的内聚性,降低了组成单元的耦合程度,从而提高系统的维护性和可扩展性。

4.4 本章小结

本章对系统的数据库进行了需求分析,通过E-R图理清了各个实体之间的关系,分析出系统中所需建立的表,并对各个表之间的关系进行了分析和说明,对表的设计进行了详细的讲解和说明,还介绍了表的具体实现过程。

16

平顶山学院本科毕业设计

5 详细设计与实现

本章主要介绍系统的功能模块划分和详细设计实现部分,根据需求分析和用户角色定位,对系统功能结构进行划分,并在此基础上逐步实现系统各项功能。

5.1 系统的功能设计

5.1.1 登录功能的设计

用户使用到二手书交易平台系统的三大模块分别是:用户管理模块、图书交易信息管理模块和留言功能模块。用户使用用户管理模块完成注册、登录和修改信息这三大操作。一个用户若想进行书籍信息的发布,则首先需要成为本系统的注册用户。此时可以使用用户管理模块的注册功能。在主页选择注册选项,进入注册页面,填写相关信息,通过验证后完成用户注册。

未注册用户只能浏览相关发布的书籍信息,而不能进行其他操作。用户在页面的登录部分输入注册的用户名和密码,页面的检测算法对字符等格式进行检测,后通过相关处理类对此请求进行处理,在验证用户名和密码匹配且正确的情况下方可登录系统,从而可以使用其他两个模块进行用户权限下的相关操作。

用户登录后,可以修改自己的信息。选择修改用户信息的选项进入用户信息修改界面,在信息修改页面参照显示的相关用户信息,对自己想要修改的部分进行修改,而后提交,完成注册信息的改动操作。对用户的用户管理模块相关功能进行设计,其序列图如图5-1示。

UserLoginForm1、填写个人信息6、显示给用户7、输入用户名密码13、显示系统界面14、修改个人信息19、显示修改后信息8、提交用户名密码12、进入系统15、提交修改内容18、修改成功2、提交个人信息ControlDatabase3、写入数据库5、返回注册成功9、验证11、用户存在16、写入数据库17、更新数据库10、查找4、更新数据库

图5-1 用户注册、登录及修改个人信息序列图

17

校园二手书交易平台的设计与实现

5.1.2 用户管理功能的设计

管理员应该可以执行的主要功能有登录修改个人信息、管理注册用户、管理公告、查看二手书信息。因此,管理员使用该系统的用户管理模块、图书交易信息管理模块和公告管理模块这四大模块的相关功能。

管理用户功能,相关序列图如图5-2所示。

adminLoginFormControlDatabase1、进入管理界面2、提交查询请求5、返回用户信息3、写入数据库4、查询6、显示用户信息7、删除用户8、提交删除请求12、提示删除成功9、从数据库中删除11、更新完成10、更新数据库13、返回管理界面 图5-2 用户管理序列图

管理员若要对已经注册在库的用户进行管理,或是修改自己的个人信息就需要使用该系统的用户管理模块进行管理操作。这里的对用户管理,一般指删除用户,因为用户的注册信息修改权在用户自己手中,管理员一般不涉及。

管理员输入管理员用户名和密码,进入后台管理界面,点击用户管理进入用户管理界面,在此界面可查看所有用户信息,点击想要删除的用户,系统提示是否确定删除,删除成功后提示操作成功,返回用户管理界面。

5.1.3 图书管理功能的设计

图书交易信息管理模块完成二手书销售信息或求购信息的发布和相关管理操作。因此,对其使用功能分解,又可将该模块分为求购信息管理和销售信息管理两类主要功能。

用户需要发布图书求购信息或者对其本用户的图书求购信息进行删除等操作,需要使用图书交易信息管理模块的求购信息管理子模块。在登录后点击发布求购信息,进入填写图书求购信息界面,填写求购的图书信息,提交后系统将用户的求购信息在页面输出,显示用户的相关求购内容。当用户获得想要的图书信息后,可以选择将求购信息删除。对应序列图如图5-3示。

18

平顶山学院本科毕业设计

UserLoginForm1、填写求购信息ControlDatabase2、提交提交求购信息3、验证信息完整性5、提示用户填写完整4、信息不完整6、信息完整写入数据库9、显示发布成功界面10、选中要删除的求购信息8、发布成功7、更新数据库11、提交删除请求12、查找删除13、更新数据库15、显示给用户14、删除成功

图5-3 用户管理求购信息序列图

若用户需要发布销售二手书的信息,或是对自己的过往二手书销售信息进行管理的话,则需要使用图书交易信息管理模块的销售信息管理子模块。用户登录系统后点击发布图书信息,页面跳转到填写图书信息界面,填写图书信息,提交信息后返回主界面,用户可查看图书,图书卖出后用户对图书状态进行修改,将图书标注为已售出,图书将出现在已售出图书中供用户查看,可直接对图书删除,图书将不在出现在图书列表。

用户登录后对二手书图书的管理功能,对应序列图如图5-4示。

UserLoginFormControlDatabase1、发布二手书信息2、提交图书信息6、更新完成3、写入数据库5、更新数据库4、更新数据库7、显示更新后页面8、修改图书状态9、提交填写信息10、写入数据库12、更新完成11、更新数据库14、显示更新后信息15、删除图书信息13、更新完成16、提交请求20、更新完成17、从数据库中删除19、更新完成18、更新数据库21、显示更新后页面

图5-4 二手书管理序列图

19

校园二手书交易平台的设计与实现

管理员对于二手图书信息查看应使用该系统的图书交易信息管理模块。使用该模块管理员可以对用户发布的所有图书交易信息进行查看。相应序列图如图5-5所示。

adminLoginForm1、进入管理界面2、提交查询请求ControlDatabase3、读取数据库5、返回图书信息6、显示所有图书信息4、查询

图5-5 管理员图书信息管理序列图

5.1.4 留言功能的设计

用户的留言功能,相应序列图如图5-6所示。

User1、发表留言LoginForm2、处理留言信息6、更新完成ControlDatabase3、写入数据库5、更新完成4、更新数据库7、返回系统界面8、标记留言状态9、进行处理10、写入数据库12、更新完成11、更新数据库14、显示更新后信息15、删除留言13、更新完成16、提交请求20、更新完成17、从数据库中删除19、更新完成18、更新数据库21、显示更新后界面

图5-6 留言管理序列图

留言功能模块添加留言或查看以往留言,方便买卖双方联系沟通。用户购买图书时可进行留言,使用留言可以方便用户之间的沟通,协调买卖双方的活动。

20

平顶山学院本科毕业设计

为此,用户使用到留言功能模块。当登录用户进入某人的留言板时,可以在其留言板填写留言信息。该信息被提交后,留言将出现在对方的留言模块中,被留言用户可以查看对自己的留言,在查看之后可将其状态标注为已读,这样便能够区分已读和未读的不同类别的留言信息。在对无用的留言删除之后,该留言便不会出现在此用户的留言列表中。

5.1.5 公告管理功能的设计

管理员对于公告的管理要使用公告管理模块,主要是进行发布相关公告,或是删除公告。管理员进入发布公告界面,填写发布公告具体信息,提交信息后返回管理界面,提交删除请求可删除公告,提示删除成功后返回公告管理界面。公告管理功能对应的序列图如图5-7所示。

adminLoginFormControlDatabase1、填写公告信息 2、提交发布请求5、更新完成3、写入数据库4、更新数据库6、返回管理界面7、删除公告8、提交删除请求9、从数据库中删除11、更新完成10、更新数据库13、返回管理界面12、提示删除成功

图5-7 公告管理序列图

5.2 系统类的设计

根据MVC三层设计思想,可将系统分为视图层、控制层和模型层。系统使用Hibernate架构,使系统由传统的表示层、业务逻辑层和数据库层变为表示层、业务逻辑层、持久化层和数据库层这四大层次。于是,对于使用了Struts的三层MVC系统结合Hibernate的典型持久层操作,该系统可以大致认为分为四大层次,它们分别是视图层、控制层、模型层和持久化层,但是在通常情况下还是以三层架构的层次划分为主。因此,类设计主要是针对控制层、模型层及持久化层开展的,对该系统模块进行类级别的划分和设计。其类别主要分为:对数据库数据对象分析抽象形成的数据实体类,进行控制处理的核心处理控制类,调用处理相关数据的数据处理类和工具类这四大部分,其中,工具类包括过滤类和常用处理类这两个类。系统类的主要划分可见图5-8所示。

21

校园二手书交易平台的设计与实现

校园二手书交易平台数据实体类核心处理控制类数据处理类工具类

图5-8 类划分图

这些类按照其定义及属性划分,可以分属到模型、控制和持久三个层的部分当中。其中因为数据实体类是在持久层中进行对数据库的数据封装以及实例化的操作,它们可以归到持久化层当中去。而数据处理类是对数据进行增、删、改、查几种操作的规范化设定,以及部分逻辑业务处理,于是它们既属于持久化操作层又涉及模型层,起业务逻辑处理的功能。而核心处理控制类主要负责业务逻辑控制,它们可以被划入控制层当中,不过其本身也承担一部分业务逻辑处理能力,因此也可视作涉及模型层。它们的层次归属可以参考图5-9。

控制层C 核心处理控制类 数据实体类 持久化层 数据处理类 模型层M 工具类

图5-9 类所属层次划分

由类层次分析不难得出,使用Hibernate框架以联系持久化层和模型层的关键就是建立与数据库表对应的数据实体类,这些类具有和数据表相应的结构,是数据库表的直接反映。在实际的设计和实现中,通过对这些数据实体类的应用就可以达到原本对数据库表直接操作的效果。主要数据实体类的功能如下所述。 1. AdminInfo类对应数据库中的管理员表,是管理员表的映射实体。主要用于记录管理员的主要信息包括管理员名称和密码。

2. userInfo类对应用户表,主要记录用户的主要信息,这些信息主要包括用

22

平顶山学院本科毕业设计

户名,密码,真实姓名,性别,年龄,密保问题,答案,QQ号,邮件,电话,地址,班级号。

3. BegToBuy类对应求购信息表,主要记录求购图书的主要信息,这些信息主要包括图书名称,求购者,图书信息,备注说明,发布时间。

4. BookInfo类对应图书信息表,主要记录二手图书信息,这些信息主要包括图书名称,图书类别,作者,出版社,价钱,图片,发布者,折旧程度,出售价格,附加信息,出售状态,发布时间。

5. MsgInfo类对应留言信息表,主要记录留言的主要信息,这些信息主要包括标题,内容,留言者,留言对象,留言时间,是否已读。

6. BulletinInfo类对应公告信息表,主要记录公告的主要信息,这些信细主要包括公告标题,内容,发布时间。

系统类图主要用于描述系统中核心类的主要属性特征以及它们之间的关联,如此可以更清晰地洞察到系统中实体之间相互作用[17-18]。主要实体类如图5-10所示。

公告-title : String-contents : String-pubDate : Date+setter()+getter()n管理员-adminName : string-adminPwd : string+setter()+getter()11用户-Name : string(idl)-Pwd : string(idl)-trueName : String-sex : String-question : String-answer : String-qq : String-email : String-phone : String-adress : String-class : String+setter()+getter()1n留言-msgTitle : String-msgContent : String-fromUser : String-toUser : String-pubDate : Date-hasRead : String+setter()+getter()n1n出售图书-bookName : String-Type : String-author : String-publisher : String-price : int-cover : String-user : String-depreciation : String-saleprice : int-isSale : String-puDate : Date+setter()+getter()n1求购-bookName : String-bookInfo : String-pubDate : Date-user : String+setter()+getter()n11n

图5-10 主要实体类图

23

校园二手书交易平台的设计与实现

实体类是建立持久层和模型层联系的关键,但对整个系统而言,处理数据流向和调用处理方法的核心是控制类,这些类的实例化对象负责对整个系统的用户数据进行方法调用处理,根据不同请求转向不同业务处理流程以得到相应处理结果。可以说,核心控制类是整个系统得以正常工作的保证,脱离了控制类的工作系统就会如同没有指挥官的飞船一般,将会偏离预设的运行轨道。主要核心控制类的功能如下所述。

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类的findByExample方法将修改后的用户信息更新数据库的用户表。

7. BookDetailAction:该类用于发表图书。用户填写图书详细信息提交后封装在bookDetailsForm表单中,通过DAO层与数据库映射,图书信息完整,通过

24

平顶山学院本科毕业设计

调用BookInfoDAO类中的findById()方法,连接数据库更新图书列表。

系统中还有很重要的一个类别,这就是作为公共调用工具的工具类,这些类没有特别的依赖性,完成的是辅助系统相关业务处理工作实施的任务。虽然其内容简单,但是却是不可或缺的系统重要组成部分。工具类的介绍如下所述。

1. EncodingFilter:该类是一个过滤器类,主要用来设置web服务使用的编码方式。

2. StringUntil:该类主要是对信息去掉首位空格的实现,主要方法有s.trim()。

5.3 系统的实现

5.3.1 注册登录功能

注册的用户填完必填信息点击提交便可注册,必填信息有空缺时提示对应项不能为空,填写信息时会检测用户名是否可用,用户名未被注册提示用户名可用,可继续填写信息,填写用户名已被注册会提示用户名不可用。输入密码时,两次输入要一致,有不同时提示密码输入不一致。

用户登录,首先将从前台页面提交的用户名和密码进行接受,之后在后台进行处理,按照用户名在数据库中进行查询如果查到该用户则将该用户的权限和密码全都取出来分别赋给两个字符串变量,判断从数据库中读出的密码与登录时输入的密码是否配比上,若两个密码相同则根据权限的值进入相应的页面,否则输出密码错误。注册界面如图5-11所示。

图5-11 用户注册界面

25

本文来源:https://www.bwwdw.com/article/8hq.html

Top