二手教科书交易平台——教科书交易模块---毕业设计论文_第1页
二手教科书交易平台——教科书交易模块---毕业设计论文_第2页
二手教科书交易平台——教科书交易模块---毕业设计论文_第3页
二手教科书交易平台——教科书交易模块---毕业设计论文_第4页
二手教科书交易平台——教科书交易模块---毕业设计论文_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本 科 毕 业 论 文 二手教科书交易平台教科书交易模块Second-hand Schoolbook Trading PlatformModule of Schoolbook Trading姓 名: 学 号:学院:软件学院系:软件工程专 业:软件工程年 级:指导教师: 年 月摘要二手教科书交易平台是在考察当前高校学生的需求和社会大众对保护环境的要求的基础上,确定设计开发的。本系统主要的功能就是实现会员对二手书(包括教科书和非教科书)需求信息的发布、管理以及管理员对教科书信息的管理、对需求信息的管理,目标就是最大限度的实现二手书的再利用,缩小一买一卖中间的差价,帮助师生节省费用。同时为保护森里资源,为维护社会环境贡献自己的一份力量。本系统包括“用户管理模块”,“教科书交易模块”,“非教科书交易模块”,“教科书信息管理模块”和“系统管理模块”。这些模块之间并不是完全独立的,它们相互之间具有一定的联系。如会员在使用发布和管理二手书信息这个功能前,必须先使用到“用户管理模块”中的登录功能。再比如管理员在“教科书信息管理模块”中对教科书信息的录入和管理,是对二手教科书发布交易信息的前提。本系统开发采用了JAVA EE技术,使用了STRUTS+SPRING+HIBERNATE框架。关键词:二手教科书;教科书交易;交易平台AbstractThe system is the demand for current college students and the community demands for environmental protection on the basis of the design and development to determine. Members promulgate and manage their needs for secondhand books, including schoolbooks and other books, are the systems main function. The systems goal is to short the price difference between selling price and original price. This system includes User management module, Schoolbook trading module, Other book trading module, schoolbook management module and System management module. There are relations between those modules. For example, before members promulgate and manage their needs for secondhand books, they must login into the system and administrator record and manage the schoolbooks information is the precondition for members promulgate their needs for secondhand schoolbooks.System development using JAVA EE technology, using STRUTS + SPRING + HIBERNATE framework. Key words: Secondhand schoolbooks;Trading of schoolbooks;Trading platform目录第1章 绪论11.1 系统开发背景及目标11.2 系统开发流程11.3 本文组织结构3第2章 开发环境及技术介绍42.1 开发环境42.1.1 开发平台和语言42.1.2 开发工具42.1.3 WEB服务器42.1.4 数据库52.2 开发技术52.2.1 系统部署模式52.2.2 系统开发模式62.2.3系统开发框架8第3章 系统总体设计153.1 需求确定153.2 系统模块设计163.3 数据库设计173.3.1 数据信息173.3.2 数据流173.3.3 实体关系183.3.4 数据表203.3.5 数据库模型图24第4章 教科书交易模块详细设计254.1 模块用例设计254.1.1 普通用户用例254.1.2 系统会员用例254.1.3 管理员用例274.2 流程图304.2.1 普通用户流程图304.2.2系统会员流程图304.2.3 管理员流程图314.3 编程思路324.4 教科书交易模块实现结果364.4.1 普通用户查看信息364.4.2 发布需求信息394.4.3 自身信息列表404.4.4 修改需求信息414.4.5 删除需求信息424.4.6 管理员查看信息列表434.4.7 管理员查看信息444.4.8管理员删除信息44第5章 结束语46参考文献47致谢48ContentsChapter 1 Introduction11.1 Background and Goals11.2 Process of Development11.3 Architecture of Thesis3Chapter 2 Environment and Techniques42.1 Environment42.1.1 Platform and Language42.1.2 Tools42.1.3 WEB Server42.1.4 Database52.2 Techniques52.2.1 Deploy Architecture52.2.2 Develop Architecture62.2.3 Develop Framework8Chapter 3 The Total Design153.1 Requirements153.2 Module Design163.3 Database Design173.3.1 Data173.3.2 Date Flow173.3.3 Entity Relation183.3.4 Tables203.3.5 Database Diagram24Chapter 4 Schoolbooks Trading Module254.1 Use cases254.1.1 Use Cases for Users254.1.2 Use Cases for Members254.1.3 Use Cases for Administrator274.2 SequenceDiagram304.2.1 SequenceDiagram for Users304.2.2 SequenceDiagram for Members304.2.3 SequenceDiagram for Administrator314.3 Programing Idea324.4 Result of Schoolbooks Trading364.4.1 Read Information364.4.2 Add Information394.4.3 Information List404.4.4 Edit Information414.4.5 Delete Information424.4.6 Information List for Administrator434.4.7 administrator Read information444.4.8 Delete Information by Administrator44Chapter 5 Summary46References47Acknowledgement48厦门大学本科生论文第1章 绪论1.1 系统开发背景及目标毕业生毕业的时候,他们都不得不面临一个选择:是把手头上的教科书卖了,还是把它们送给师弟和师妹们,抑或是打包以后自己带走。不幸的是,第一个选择成了多数人的选择。毕业生离开学校的日子,也就成了教科书变成废纸的日子!大部分教科书被以0.30.5元/斤的价格贱价出售。买书所费与卖书所得相差十几倍,甚至更多。这种现象在我国各个院校都非常普遍。如何挽回这种一买一卖中间的巨额差价损失,成为学生和学校关注的焦点。另一方面,教科书的生产过程中,耗费了大量的自然资源和社会资源,尤其是耗费了大量的森林树木资源。树木可以吸收二氧化碳,制造氧气;森林也可以有效的减少沙尘天气,也是各种动物的栖息地。森林资源是人类宝贵的财富,无论从哪个角度来看,树木都是益处多多。如果可以少制造教科书,自然是可以节省木材,少砍伐树木,多一片蓝天。大部分毕业生这样做也是无奈之举。因为面对一堆沉重的教科书,自己带走是多么的不现实。而转送师弟师妹们,人家不一定需要,甚至你根本不知道可以送给谁。二手教科书交易网的出发点是替广大高校学生解决买书卖书之间巨大差价的问题。尽量减少高校学生高价买入教科书,毕业之后将教科书当废纸卖这种现象的发生,让学生及家长的血汗钱消失在这一买一卖之间。更进一步讲,减少这种现象的发生,也是在避免将更多的社会资源和自然资源用在印刷同样的教科书上,节约人力物力,减少对木材的需求,从而保护环境。1.2 系统开发流程项目由小组共同开发完成。项目开发期间,遇到了不少问题。在小组成员努力下,最终完成了本项目的开发任务。本系统按照软件工程开发的基本方法进行,经过设计、编码、测试3个阶段。系统开发流程如图1-1所示:图 1-1 系统开发流程本系统开发,本人主要负责教科书交易模块。包括:1. 任何系统用户查看信息;2. 会员发布信息,查看买书信息列表,查看卖书信息列表,查看所有信息列表,修改信息,删除信息;3. 管理员查看某个会员的所有信息列表,查看某本书的所有信息列表,查看某个交易类型的所有信息列表,查看某个日期的所有信息列表,查看信息,删除信息。1.3 本文组织结构本文主要从以下几个部分进行论述:l 第一部分是绪论。简要描述项目开发背景和意义,介绍了系统的开发流程及作者在开发中负责的工作,最后介绍本文的组织结构。l 第二部分是开发环境及技术介绍。该部分主要介绍了系统的开发环境和开发技术。l 第三部分是系统的总体设计。该部分主要描述了系统的需求,系统的模块划分和分析了数据库设计。l 第四部分是教科书交易模块。该部分详细描述了教科书交易模块。包括教科书交易模块的用例设计、流程图、编程思路。最后展示了模块的实现结果。l 第五部分结束语。第2章 开发环境及技术介绍2.1 开发环境2.1.1 开发平台和语言系统的开发平台采用Windows XP Professional操作系统。开发语言采用JAVA语言。2.1.2 开发工具开发工具采用MYECLIPSE 6.0.1。MYECLIPSE企业级工作平台(MYECLIPSE Enterprise Workbench ,简称MYECLIPSE)是对Eclipse IDE的扩展,利用它我们可以在数据库和JAVA EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JAVA EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML、 STRUTS、SPRING、JSF、 CSS、JAVASCRIPT、 SQL、 HIBERNATE。2.1.3 WEB服务器服务器采用TOMCAT5.5.17。Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。Tomcat是一个免费的开放源代码的Web 应用服务器,是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的SERVLET和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的SERVLET 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。2.1.4 数据库数据库采用MYSQL5.0。MYSQL是一个小型关系型数据库管理系统,开发者为瑞典MYSQL AB公司。在2008年1月16号被Sun公司收购。目前MYSQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MYSQL作为网站数据库。虽然MYSQL与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MYSQL自有它的不足之处,如规模小、功能有限。但是对于一般的个人使用者和中小型企业来说,MYSQL提供的功能已经绰绰有余,而且由于MYSQL是开放源码软件,因此可以大大降低总体拥有成本。2.2 开发技术2.2.1 系统部署模式本系统部署采用B/S(Browser/Server)架构,即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、速度慢、效果优。系统部署架构如图2-1所示。图2-1 B/S架构模式图B/S架构的优点(1)、具有分布性特点,可以随时随地进行查询、浏览等业务处理。 (2)、业务扩展简单方便,通过增加网页即可增加服务器功能。 (3)、维护简单方便,只需要改变网页,即可实现所有用户的同步更新。 (4)、开发简单,共享性强B/S 架构的缺点 (1)、个性化特点明显降低,无法实现具有个性化的功能要求。 (2)、操作是以鼠标为最基本的操作方式,无法满足快速操作的要求。 (3)、页面动态刷新,响应速度明显降低。 (4)、功能弱化,难以实现传统模式下的特殊功能要求。 随着B/S架构的发展,它的一些确定也正在被解决。如上述第二个缺点,现在已经出现了一些快捷键操作的功能2.2.2 系统开发模式1开发模式本系统开发架构采用经典的MVC(Model-View-Controller)模式,如图2-2所示。MVC把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层。图2-2 MVC 模式图视图(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applet,本系统主要为HTML界面。一个应用可能有很多不同的视图,MVC设计模式对于视图的处理,仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型(Model)处理。比如一个订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。模型(Model):就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC最主要的核心。业务模型还有一个很重要的模型那就是数据模型。数据模型主要指实体对象的数据保存(持久化)。控制(Controller)可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层不做任何的数据处理。例如,用户点击一个连接,控制层接收到请求后, 并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。因此,一个模型可能对应多个视图,一个视图可能对应多个模型。2.2.3系统开发框架本系统采用JAVA EE技术中的SSH(STRUTS+SPRING+HIBERNATE)框架技术。框架结构如图2-3所示。图2-3 SSH框架(图片来自互联网)Struts技术介绍Struts是Apache组织的一个开放源码项目。Struts是一个比较好的MVC框架,提供了对开发MVC系统的底层支持,它采用的主要技术是Servlet,JSP和Custom tag library。Struts可以大大提高Web应用的开发速度。如果在Web应用中恰到好处地使用Struts,将把从头开始设计框架的时间节省下来,使得开发人员可以把精力集中在如何解决实际业务问题上。Struts是实现MVC模式的通用框架,它由四个主要部分组成,模型、视图、控制器和XML文件。模型通常由JavaBean,EJB组件实现,负责处理业务逻辑;视图包括一组JSP文件,这些文件主要由JSP标签或客户化标签构成,它简化了JSP页面的编码工作;在Struts框架中控制器主要包括ActionServlet类和Action类,ActionServlet是Struts的核心部件,它接受用户的Http请求,根据配置信息将请求转发给适当的Action对象,Action类负责调用模型的方法,并帮助控制应用程序的流程;Struts包括Web.xml和Struts-config.xml两个配置文件,其中Web.xml是Web应用的发布描述文件,Struts-config.xml是与Struts相关的特殊信息配置的描述文件,在该配置文件中,每一个Action的映射信息都通过一个元素来配置。这些配置信息在系统启动的时候被读入内存,供Struts在运行期间使用,在内存中,每一个元素都对应一个org.apache.struts.action.ActionMapping类的实例。Struts的工作流程对于采用Struts框架的Web应用,在Web应用启动时就会加载并初始化ActionServlet,ActionServlet从struts-config.xml文件中读取配置信息,把它们存放到各种配置对象中,例如Action的映射信息存放在ActionMapping对象中。当ActionServlet接收到一个客户请求时,将执行如下流程:(1) 检索和用户请求匹配的ActionMapping实例,如果不存在,就返回用户请求路径无效的信息。(2) 如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中。(3) 根据配置信息决定是否需要表单验证。如果需要验证,就调用ActionForm的validate()方法。(4) 如果ActionForm的validate()方法返回null或返回一个不包含ActionMessage的ActionErrors对象,就表示表单验证成功。(5) ActionServlet 根据ActionMapping实例包含的映射信息决定将请求转发给哪个Action。如果相应的Action实例存在,就先创建这个实例,然后调用Action的execute()方法。(6) Action的execute()方法返回一个ActionForward对象,ActionServlet再把客户请求转发给ActionForward对象指向的JSP组件。(7) ActionForward对象指向的JSP组件生成动态网页,返回给客户。若在流程4中ActionForm的validate()方法返回一个包含一个或多个ActionMessage的ActionErrors对象,就表示表单验证失败,此时ActionServlet将直接把请求转发给包含用户提交表单的JSP组件。在这种情况下,不会再创建Action对象并调用Action的execute()方法。如图2-4所示。图2-4 struts工作原理(图片来自互联网)Spring技术介绍 Spring是JAVA EE应用程序框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件。不过,更严格地讲它是针对Bean的生命周期进行管理的轻量级容器(Lightweight container),可以单独利用Spring构筑应用程序,也可以和Struts,Webwork,Tapestry等众多Web应用程序框架组合使用,并且可以与Swing等桌面应用程序API组合。所以Spring并不仅仅只能应用在JAVA EE中,也可以应用在桌面应用及小应用程序中。针对Spring开发的组件不需要任何外部库。Spring 的核心要点是:支持不绑定到特定 JAVA EE 服务的可重用业务和数据访问对象。毫无疑问,这样的对象可以在不同 JAVA EE 环境 (Web 或 EJB)、独立应用程序、测试环境之间重用。Spring 框架是一个分层架构,由7个定义良好的模块组成。如图2-5所示。图2-5 Spring框架组成(图片来自互联网)组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下: (1) 核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory 使用控制反转 (IOC) 模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。 (2) Spring 上下文:Spring 上下文是一个配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。(3) Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP,不用依赖 EJB 组件,就可以将声明性事务管理集成到应用程序中。 (4) Spring DAO:JDBC DAO 抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO 的面向 JDBC 的异常遵从通用的 DAO 异常层次结构。 (5) Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。 (6) Spring Web 模块: Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。所以,Spring 框架支持与 Jakarta Struts 的集成。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。 (7) Spring MVC 框架:MVC 框架是一个全功能的构建 Web 应用程序的 MVC 实现。通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText 和 POI。Spring的过人之处在于:它宣称式的事务处理,依赖性的绑定和持久性的支持;控制转入简化JDBC;Spring既是全面的又是模块化的;它的设计依赖注入就是要帮助你编写易于测试的代码;Spring不会给你的工程添加对其他的框架依赖;Spring也许称得上是个一站式的解决方案,提供了一个典型应用所需要的大部分基础架构。Spring工作原理Spring其实是一个容器,它的拿手好戏就是依赖注射(Invasive)和控制反转(IOC)。其核心原理是将对象交给spring容器管理,使得对象的产生不在依赖于另外一个对象,而是直接从spring容器中取得,降低对象之间的耦合。只要在配置文件中声明了要使用到某个对象,当另外一个对象需要使用该对象时,容器将自动向它注入该对象。Hibernate技术介绍Hibernate是一个开放源代码的对象关系映射框架,是一个面向Java环境的对象/关系数据库映射工具。对象/关系数据库映射(object/relational mapping (ORM)这个术语表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去。Hibernate不仅仅管理Java类到数据库表的映射,还提供数据查询和获取数据的方法,可以大幅度减少开发时人工使用SQL和JDBC处理数据的时间。它对JDBC进行了轻量级的对象封装,使Java程序员可以随心所欲的使用对象编程思维来操纵数据库。它不仅提供了从Java类到数据表之间的映射,也提供了数据查询和恢复机制。另外Hibernate可以利用代理模式来简化载入类的过程,这将大大减少利用Hibernate QL从数据库提取数据的代码的编写量,从而节约开发时间和开发成本Hibernate可以和多种Web服务器或者应用服务器良好集成,如今已经支持几乎所有的流行的数据库服务器。图2-6所示为Hibernate体系结构图。图2-6 Hibernate体系结构图(图片来自互联网)hibernate的工作原理hibernat是利用数据库以及其他一些配置文件如perties,XML Mapping等来为应用程序提供数据持久化服务的。Hibernate具有很大的灵活性,但同时它的体系结构比较复杂,提供了好几种不同的运行方式。在轻型体系中,应用程序提供JDBC连接,并且自行管理事务,这种方式使用了Hibernate的一个最小子集;在全面解决体系中,对于应用程序来说,所有底层的JDBC/JTA API都被抽象了,Hibernate会替你照管所有的细节。具体过程为:1. 构建一个Configuration实例,然后加载配置文件信息和映射文件信息;2. 由Configuration实例创建SessionFactory实例;3. 用Session Factory实例打开一个Session;4. 为Session实例创建一个事务管理(Transaction)实例;5. 在事务内,打开的Session对数据库进行各种操作(在内存中);6. 操作数据库结束,提交事务,将操作结果持久化到数据库;7. 关闭Session;8. 关闭SesstionFactory。 详细的流程如图2-7所示。图2-7 Hibernate工作原理图(图片来自互联网)第3章 系统总体设计3.1 需求确定经过小组成员沟通协调,最终确定本系统的主要功能需求如下:1. 普通用户查看已发布的二手书(包括二手教科书与二手非教科书,下同)需求信息。二手书交易平台只是一个信息发布平台,并不介入用户线下实体交易,所以会员发布的信息对任何人均可见。2. 普通用户注册成为系统会员。普通用户填写个人资料后,可注册成为系统会员。注册成功的会员将不能修改其昵称和真实姓名。3. 会员登录、退出。登录是会员管理自身资料和发布、管理二手书信息的前提。会员完成操作后可以退出系统已确保自身资料安全。4. 会员修改维护自身资料信息。会员登录后,可以修改自身的信息,比如联系方式和住址。但是不能修改昵称和真实姓名。5. 会员发布自己的二手书需求信息。会员有二手书的需求信息,可在登录后,发布相应的需求信息。6. 会员管理自己发布的二手书需求信息。会员登录后,可以对自身已经发布的二手书需求信息进行管理。主要是修改已发布的需求信息和删除已经交易或者不再需要的需求信息。7. 会员对发布的二手书进行评论。登录的会员在浏览需求信息时,可以对该信息所对应的书籍发表评论。8. 会员之间发送站内行。会员之间可以通过站内信进行交流联系。9. 会员管理自己的站内信。会员可以管理自己发送的站内信和收到的站内信。10. 管理员管理站内信。11. 管理员管理院系学科信息。管理员在后台维护院系学科信息。对学校新增、删除院系和学科是,做出相应的增删改查,以维护系统院系学科信息与学校的院系学科信息一致。12. 管理员管理教科书信息。管理员在后台维护教科书信息。添加将要使用的教科书信息、编辑修改已存在的教科书信息和删除不用的教科书信息。13. 管理员管理教科书所属关系。把教科书和院系、学科、年份建立对应的所属关系。14. 系统管理员对管理员的管理。3.2 系统模块设计二手教科书交易平台主要为买卖双方提供交易平台, 在这个交易平台上, 不是简单地把出卖商品在网上罗列供买卖双方查询,更重要地是通过一系列管理功能为买卖物品者提供更方便的操作和更多有用的信息来促成交易。因为本系统主要针对的是二手教科书,为了突出这一特点,我们将二手书分为教科书和非教科书两种。该系统平台的功能模块如图3-1所示:图3-1 系统功能模块图3.3 数据库设计3.3.1 数据信息数据是企业的灵魂,是企业运作过程中不可缺少的重要部分,建立自己的数据资料库是维护系统合理性运行的关键因素。对于系统而言,安全完整地维护交易信息是一种责任,因此,数据库的设计是整个项目开发中最为重要的一个环节。根据项目需求,可以提炼出以下数据信息:1. 用户注册需要提交用户资料:会员资料表。2. 会员可以发送站内信:站内信表。3. 会员查找需要的教科书:教科书表。4. 会员查看教科书的交易信息:教科书交易信息表。5. 会员进行非教科书交易:非教科书交易表。6. 非教科书有不同类别:非教科书类别表。7. 教科书有所对应的学院、系别、专业、学科、年份:学院表,系别表,专业表,学科表,年份表,所属关系表。8. 管理员管理信息:管理员表。3.3.2 数据流依据系统流程及各业务模块流程,确定系统数据流如图3-2所示:图3-2 数据流图3.3.3 实体关系用户应用系统注册成为会员,并登陆查找二手书进行交易等一系列活动。通过实体/关系图描述主要实体的基本关系如下:l 主要实体 用户:会员、管理员 站内信 教科书 教科书交易信息 非教科书类别 非教科书信息(书籍信息及交易信息) 院系学科专业年份关系l 实体关系: 会员及站内信实体关系如图3-3所示:图3-3 会员及站内信实体关系图 会员及教科书,教科书交易信息,院系专业学科年份实体关系如图3-4所示:图3-4 院系专业学科年份实体关系图 会员、非教科书类别及非教科书交易信息实体关系如图3-5所示:图3-5 会员、非教科书类别及非教科书交易信息实体关系图3.3.4 数据表关系型数据库是当前广泛应用的数据库类型,本系统即按照关系数据库设计的要求和标准设计。关系数据库设计是对数据进行组织化和结构化的过程,核心问题是关系模型的设计。简洁、结构明晰的表结构对数据库的设计是相当重要的。规范化的表结构设计,在以后的数据维护中,不会发生插入、删除和更新时的异常。要设计规范化的数据库,就要求我们根据数据库设计范式,也就是数据库设计的规范原则来做。根据提炼的数据信息,按照数据库设计范式,确定本系统数据表如下:1. User 用户信息表表3-1:用户信息表User字段名数据类型允许空功能描述idChar(32)否会员ID(主键)accountVarchar(20)否登陆账号nameVarchar(20)否真实姓名passwordVarchar(32)否登录密码SexChar(1)否性别emailChar(50)否EmailqqChar(20)是QQtelVarchar(20)是联系电话2.Admin 管理员信息表表3-2:管理员信息表Admin字段名数据类型允许空功能描述idChar(32)否管理员ID(主键)AdminVarchar(20)否登陆账号passwordVarchar(32)否登录密码3.College 学院信息表表3-3:学院信息表College字段名数据类型允许空功能描述idChar(32)否学院ID(主键)CollegeVarchar(32)否学院名称4.Department 系别信息表表3-4:系别信息表Department字段名数据类型允许空功能描述idChar(32)否系别ID(主键)DepartmentVarchar(100)否系别名称CollegeVarchar(100)否系别所属学院5.Major 专业信息表表3-5:专业信息表Major字段名数据类型允许空功能描述idChar(32)否专业ID(主键)MajorVarchar(100)否专业名称DepartmentVarchar(100)否专业所属系别6.Subject 学科信息表表3-6:学科信息表Subject字段名数据类型允许空功能描述idChar(32)否学科ID(主键)SubjectVarchar(100)否学科名称MajorVarchar(100)否学科所属专业7.Book 教科书信息表表3-7:教科书信息表Book字段名数据类型允许空功能描述idChar(32)否教科书ID(主键)NameVarchar(100)是书名AuthorVarchar(50)是作者IsbnVarchar(50)是ISBNImageVarchar(50)是书的缩略图PubhouseVarchar(50)是出版社CatalogText是目录PriceFloat是定价8.Sub_year_book 教科书所属年份-院系表表3-8:教科书所属年份-院系表Sub_year_book字段名数据类型允许空功能描述idChar(32)否字段ID(主键)CollegeVarchar(100)是学院名称DepartmentVarchar(100)是系别名称MajorVarchar(100)是专业名称SubjectVarchar(100)是学科名称YearVarchar(10)是年份BookidChar(32)否教科书ID9.Saleinfo 教科书交易信息表表3-9:教科书交易信息表Saleinfo字段名数据类型允许空功能描述idChar(32)否字段ID(主键)NeworoldChar(1)是新旧程度,1为一成新,9为九成新MemoText是书的描述Price2Float是二手价PubdateDate否发布日期StatusChar(1)否信息状态,0为交易成功,1为可用BookidChar(32)否教科书IDUseridChar(32)否会员IDTypeChar(1)否信息类型,0为买,1为卖10.Innermail站内信信息表表3-10:站内信信息表Innermail字段名数据类型允许空功能描述idChar(32)否站内信ID(主键)TitleVarchar(50)否标题ContentText否内容PubdateDate否发送日期ToidChar(32)否收件人IDFromidChar(32)否发件人IDIsreadChar(1)否信息类型,0未读,1已读11.Saleinfo2 非教科书交易信息表表3-11:非教科书交易信息表Saleinfo2字段名数据类型允许空功能描述idChar(32)否字段ID(主键)NeworoldChar(1)是新旧程度,1-9为一成新到九成新Describetext是书的描述Price2float是二手价Pubdatedate是发布日期StatusChar(1)否信息状态,0交易成功,1可用NameVarchar(100)是书名AuthorVarchar(50)是作者IsbnVarchar(50)是ISBNPriceFloat是定价UseridChar(32)否会员IDClassidChar(32)否类别IDImageVarchar(50)是封面图PubhouseVarchar(50)是出版社NumberVarchar(20)否数量TypeChar(1)否信息类型,0买1卖12.Bookclass 非教科书类别表表3-12:非教科书类别表Innermail字段名数据类型允许空功能描述idChar(32)否类别ID(主键)ClassnameVarchar(20)否类别名称3.3.5 数据库模型图本系统的数据库建立采用SQLyog工具,构建的物理数据模型如图3-6所示:图3-6:物理数据模型图第4章 教科书交易模块详细设计4.1 模块用例设计4.1.1 普通用户用例用例图如图4-1所示图4-1普通用户用例图l 参与者为: 系统用户:使用系统的任何用户。l 用例列表: U1:查看信息前提条件:无1.用户通过查找,或者

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论