基于JavaWeb的在线图书订购与打印管理系统论文(含源文件)_第1页
基于JavaWeb的在线图书订购与打印管理系统论文(含源文件)_第2页
基于JavaWeb的在线图书订购与打印管理系统论文(含源文件)_第3页
基于JavaWeb的在线图书订购与打印管理系统论文(含源文件)_第4页
基于JavaWeb的在线图书订购与打印管理系统论文(含源文件)_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计说明书作者XXXXXXX学号XXXXXXXXXX院系信息工程学院专业计算机科学与技术题目基于JAVAWEB的在线图书订购与打印管理系统指导者姓名专业技术职务评阅者姓名专业技术职务2011年6月吉林I毕业设计说明书中文摘要随着科学技术的进步和计算机行业的迅速发展,人们的工作效率得到大大提高。计算机信息处理系统的引进已彻底改变了许多系统的经营管理。本文中主要介绍了管理事务中的常见基本问题和研究背景,并对系统进行了全面的可行性分析,详细论证了系统的需求分析、系统设计、系统实现和系统测试等过程。系统实现了图书管理、打印管理、分类管理、用户管理、数据库管理和前台订购等功能。本系统使用JSP进行网页界面的设计,使用MVC设计模式,采用开源DBUTILS、BEANUTILS等简单框架进行开发。后端的数据库采用MYSQL,通过JDBC驱动和数据库进行无缝连接。测试结果表明,本系统实现了图书订购的主要功能,基本满足客户的需要。关键词图书订购;打印管理;JSP,DBUTILS;BEANUTILSII毕业设计说明书外文摘要ABSTRACTWITHTHEPROGRESSOFSCIENCEANDTECHNOLOGY,THEASTONISHINGRAPIDDEVELOPMENTOFTHECOMPUTERINDUSTRYHASBEENIMPROVINGPEOPLESWORKINGEFFICIENCYGREATLYTHEINTRODUCTIONOFCOMPUTERIZEDINFORMATIONSYSTEMHASSHARPLYCHANGEDTHEMANAGEMENTINMANYSYSTEMSINMANYFIELDSTHISPAPERMAINLYINTRODUCESTHEBASICMANAGEMENTOFAFFAIRSOFCOMMONISSUESANDRESEARCHBACKGROUNDTHESYSTEMACOMPREHENSIVEFEASIBILITYANALYSIS,DEMONSTRATEDINDETAILTHESYSTEMREQUIREMENTSANALYSIS,SYSTEMDESIGN,SYSTEMIMPLEMENTATIONANDSYSTEMTESTINGPROCESSSYSTEMTOACHIEVETHEUSERSTAPLER,LIBRARYMANAGEMENT,PRINTMANAGEMENT,DATABASEMANAGEMENTMODULESTHESYSTEMISCONTRIVEDWITHJAVASERVERPAGESTECHNOLOGYASWELLASSTRUTS,SPRINGANDMVCDESIGNMODETHEDBMSISMYSQLTHISSYSTEMUSESJDBCTOCONNECTTHEORACLEDATABASESERVERTESTRESULTSSHOWTHATTHISSYSTEMIMPLEMENTSTHEMAINFUNCTIONOFBOOKMANAGEMENTINALIBRARY,MEETSBASICALLYTHENEEDSOFBOOKMANAGEMENTKEYWORDSBOOKORDERBOOKMANAGEMENTSYSTEMDBUTILSBEANUTILS目录III目录毕业设计说明书中文摘要I毕业设计说明书外文摘要II第1章前言111课题的背景112课题的意义1第2章可行性分析321问题的提出322经济可行性323操作可行性323技术可行性424开发工具的选择4241系统开发工具4242数据库5243TOMCAT60服务器6244JDK工具7第3章需求分析931图书订购与打印管理系统需求概述932功能需求9321与订购者相关的基本功能元素9322与管理员相关的基本功能元素9323总体系统的基本功能元素1033性能需求10331人身和环境安全性需求10332可靠性和可用性需求10333容错性需求10334易用性10335易学性1134运行需求11341预期的物理环境11342预期的技术环境11第4章总体设计1241图书订购与打印管理系统设计指导思想和原则1242设计模式1243系统配置方案设计1344图书订购与打印管理系统总体功能概述1445图书订购与打印管理系统各功能模块概述15451系统登录模块15452打印管理模块15453图书管理模块16目录IV454分类信息管理模块17455用户信息管理17456查询统计管理19457数据库管理20458前台订书管理2146数据库设计21461编写目的21462背景21463环境要求21464概念结构设计22465字段命名规则24466数据库详细设计24第5章详细设计2751系统的软件结构2752开发环境搭建27521导入开发包27522创建组织程序的包28523系统的全局类28524DAO层编写2953登录系统模块的实现2954打印管理模块的实现31541初始订单显示31542未打印的订单32543需要打印的书籍32544未取书订单34545已取走订单3455图书管理模块的实现34551图书添加34552查看图书3656分类管理模块的实现3657用户管理模块的实现36571添加用户36572后台用户36573普通用户3658查询统计模块的实现36581查询统计3659数据库管理模块的实现38510前台订购管理模块的实现395101前台图书展示395102图书搜索395103订单状态查询405104购物车维护405105订单信息与用户40目录V第6章测试4261测试技术42611单元测试42612组合测试43613确认测试43614系统测试43615用户验收测试4362单元测试44621过程登录流图44622确定路径4563测试结论45结论47参考文献48致谢49第1章前言1第1章前言11课题的背景当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好图书订购与打印信息而设计的。东门复印部的图书和订购信息资料繁多,包含很多的信息数据的管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书订购情况(如订购数量、取书时间等)的统计和核实等都采用人工检查进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是图书订购系统的开发的基本环境。数据处理手工操作,工作量大,出错率高,出错后不易更改,一般订购情况是记录在账簿上,图书的数目和内容记录在文件中,复印部工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加困难了。基于这些问题,有必要建立一个图书订购与打印管理系统,使订书管理工作规范化,系统化,程序化,避免订购管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书订购与打印情况。12课题的意义图书订购打印管理系统本着让图书订购与管理做到快捷、方便、简单、摆脱用手工操作处理图书订购打印的问题,工作非常繁琐,需要大量的人力、物力和财力,极大的浪费了资源的劣势而设计,它可以使管理员从繁重的手工操作中解脱出来。图书订购与打印管理系统是一项非常有意义的开发工作,其发展的潜力巨大,它的建东北电力大学信息工程学院毕业论文2立使东门复印部对图书订购打印的管理摆脱传统手工操作,实现通过互连网而进行的图书订购打印管理,其发展前景和影响意义也将是非常深远的。第2章可行性分析3第2章可行性分析21问题的提出一方面东门复印部的图书和订购信息资料繁多,包含很多的信息数据的管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书订购情况(如订购数量、取书时间等)的统计和核实等都采用人工检查进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出。另一方面由于数据处理手工操作,工作量大,出错率高,出错后不易更改,一般订购情况是记录在账簿上,图书的数目和内容记录在文件中,复印部工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加困难了。基于这些问题,有必要建立一个图书订购与打印管理系统,使订书管理工作规范化,系统化,程序化,避免订购管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书订购与打印情况。22经济可行性根据成本/效益分析法,本系统所需的软硬件资源都已具备,该系统简单易懂,本系统具有成本相对较低、利益高的特点,经济上可行。23操作可行性本系统开发的开发宗旨是以便捷为中心。开发后的系统应具有美观、大方、简单、易操作等优点,即使是不懂计算机的人员也可以根据系统提示使用和管理本系统,它的操作简单的特点使本系统在操作上可行。东北电力大学信息工程学院毕业论文423技术可行性MVC方法采用了JSP和SERVLET方法的最佳特性,使这两种技术可以协同工作。明确的是,SERVLET是处理层(控制器)。SERVLET接收请求,很像MODEL1架构中JSP页面所做的那样,并确定如何满足那些请求。这就意味着,SERVLET控制输入的请求和输出的回应。商业逻辑体现了MVC架构中的模式。商业逻辑代码为页面做处理。如果进入SERVLET的请求是一个数据库查询,SERVLET就将这个请求传送到一个SQL调用或类似的数据库代码。在某种意义上,架构的模式部分是让应用程序处于领先地位的全部原因。JSP页面是显示层(视图),是用户与应用程序交互的地方。它提供输入并显示结果。页面不应该包括任何脚本。它只是将数据传送到SERVLET,并接收和显示返回的数据。该架构的优势应该是很明显的。首先,它将计算和显示清楚地分开了。结果很理想,在JSP页面上没有出现处理过程,在SERVLET或商业逻辑中没有数据格式。这种分离的另一个好处是JAVA程序员可以专注于SERVLET代码,HTML编写者可以专注于JSP。第二点,控制器SERVLET做页面上的所有的决定。在你的页面和逻辑中不会出现任何决策。这就提高了一个应用程序的性能和可扩展性,因为请求可以被导向架构的不同的组件,甚至是不同的服务器。本系统采用的技术均属当前流行的开发技术,具有技术成熟、效率高、稳定、安全等优点,并且自行配置的兼容机性能优越,能够支持以上软件的运行。所以,本系统在技术上是完全可行的。24开发工具的选择241系统开发工具(MYECLIPSE66)MYECLIPSE企业级工作平台(MYECLIPSEENTERPRISEWORKBENCH,简称MYECLIPSE)是对ECLIPSEIDE的扩展,利用它我们可以在数据库和JAVAEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JAVAEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,STRUTS,JSF,CSS,JAVASCRIPT,SQL,HIBERNATE,在ECLIPSE中都有相应的功能部件,并通过一系列的插件来实现它们。MYECLIPSE结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,MYECLIPSE是ECLIPSE的插件,也是一款第2章可行性分析5功能强大的JAVAEE集成开发环境,支持代码编写、配置、测试以及除错,MYECLIPSE60以前版本需先安装ECLIPSE。MYECLIPSE60以后版本安装时不需安装ECLIPSE。ECLIPSE是一个开放源代码的、基于JAVA的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,ECLIPSE附带了一个标准的插件集,包括JAVA开发工具(JAVADEVELOPMENTTOOLS,JDT)。虽然大多数用户很乐于将ECLIPSE当作JAVAIDE来使用,但ECLIPSE的目标不仅限于此。ECLIPSE还包括插件开发环境(PLUGINDEVELOPMENTENVIRONMENT,PDE),这个组件主要针对希望扩展ECLIPSE的软件开发人员,因为它允许他们构建与ECLIPSE环境无缝集成的工具。由于ECLIPSE中的每样东西都是插件,对于给ECLIPSE提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。242数据库本软件开发使用的数据库是MYSQL,MYSQL是一个小型关系型数据库管理系统,开发者为瑞典MYSQLAB公司。在2008年1月16号被SUN公司收购。目前MYSQL被广泛地应用在INTERNET上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MYSQL作为网站数据库。MYSQL的官方网站的网址是WWWMYSQLCOM。与其他的大型数据库例如ORACLE、DB2、SQLSERVER等相比,MYSQL自有它的不足之处,如规模小、功能有限(MYSQLCLUSTER的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MYSQL提供的功能已经绰绰有余,而且由于MYSQL是开放源码软件,因此可以大大降低总体拥有成本。目前INTERNET上流行的网站构架方式是LAMP(LINUXAPACHEMYSQLPHP),即使用LINUX作为操作系统,APACHE作为WEB服务器,MYSQL作为数据库,PHP作为服务器端脚本解释器。由于这四个软件都是遵循GPL的开放源码软件,因此使用这种方式不用花一分钱就可以建立起一个稳定、免费的网站系统。MYISAMMYSQL的默认数据库,最为常用。拥有较高的插入,查询速度,但不支持事务INNODB事务型数据库的首选引擎,支持ACID事务,支持行级锁定BDB源自BERKELEYDB,事务型数据库的另一种选择,支持COMMIT和ROLLBACK等其他事务特性MEMORY所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。但是会占用和数据量成正东北电力大学信息工程学院毕业论文6比的内存空间。并且其内容会在MYSQL重新启动时丢失MERGE将一定数量的MYISAM表联合而成一个整体,在超大规模数据存储时很有用ARCHIVE非常适合存储大量的独立的,作为历史记录的数据。因为它们不经常被读取。ARCHIVE拥有高效的插入速度,但其对查询的支持相对较差FEDERATED将不同的MYSQL服务器联合起来,逻辑上组成一个完整的数据库。非常适合分布式应用CLUSTER/NDB高冗余的存储引擎,用多台数据机器联合提供服务以提高整体性能和安全性。适合数据量大,安全和性能要求高的应用CSV逻辑上由逗号分割数据的存储引擎BLACKHOLE黑洞引擎,写入的任何数据都会消失,一般用于记录BINLOG做复制的中继。MYSQL的特性1使用C和C编写,并使用了多种编译器进行测试,保证源代码的可移植性。2支持AIX、FREEBSD、HPUX、LINUX、MACOS、NOVELLNETWARE、OPENBSD、OS/2WRAP、SOLARIS、WINDOWS等多种操作系统。3为多种编程语言提供了API。这些编程语言包括C、C、EIFFEL、JAVA、PERL、PHP、PYTHON、RUBY和TCL等。4支持多线程,充分利用CPU资源。5优化的SQL查询算法,有效地提高查询速度。6既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的SHIFT_JIS等都可以用作数据表名和数据列名。7提供TCP/IP、ODBC和JDBC等多种数据库连接途径。8提供用于管理、检查、优化数据库操作的管理工具。9可以处理拥有上千万条记录的大型数据库。243TOMCAT60服务器TOMCAT服务器是一个免费的开放源代码的WEB应用服务器,目前最新版本是6014。TOMCAT是APACHE软件基金会(APACHESOFTWAREFOUNDATION)的JAKARTA项目中的一个核心项目,由APACHE、SUN和其他一些公司及个人共同开发而成。由于有了SUN的参与和支持,最新的SERVLET和JSP规范总是能在TOMCAT中得到体现,TOMCAT5支持最新的SERVLET24和JSP20规范。因为TOMCAT技术先进、性能稳定,而且免费,第2章可行性分析7因而深受JAVA爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的WEB应用服务器。TOMCAT很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。TOMCAT是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好APACHE服务器,可利用它响应对HTML页面的访问请求。实际上TOMCAT部分是APACHE服务器的扩展,但它是独立运行的,所以当你运行TOMCAT时,它实际上作为一个与APACHE独立的进程单独运行的。这里的诀窍是,当配置正确时,APACHE为HTML页面服务,而TOMCAT实际上运行JSP页面和SERVLET。另外,TOMCAT和IIS、APACHE等WEB服务器一样,具有处理HTML页面的功能,另外它还是一个SERVLET和JSP容器,独立的SERVLET容器是TOMCAT的默认模式。不过,TOMCAT处理静态HTML的能力不如APACHE服务器。244JDK工具JDKJAVADEVELOPMENTKIT是SUNMICROSYSTEMS针对JAVA开发员的产品。自从JAVA推出以来,JDK已经成为使用最广泛的JAVASDK。JDK是整个JAVA的核心,包括了JAVA运行环境,JAVA工具和JAVA基础的类库。JDK是整个JAVA的核心,包括了JAVA运行环境(JAVARUNTIMEENVIRNMENT),一堆JAVA工具和JAVA基础的类库RTJAR。不论什么JAVA应用服务器实质都是内置了某个版本的JDK。最主流的JDK是SUN公司发布的JDK,除了SUN之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发的JDK,BEA公司的JROCKET,还有GNU组织开发的JDK等等。其中IBM的JDK包含的JVM(JAVAVIRTUALMACHINE)运行效率要比SUNJDK包含的JVM高出许多。而专门运行在X86平台的JROCKET在服务端运行效率也要比SUNJDK好很多。但不管怎么说,我们还是需要先把SUNJDK掌握好。JDKJAVADEVELOPMENTKIT,JAVA开发包,JAVA开发工具是一个写JAVA的APPLET和应用程序的程序开发环境。它由一个处于操作系统层之上的运行环境还有开发者编译,调试和运行用JAVA语言写的APPLET和应用程序所需的工具组成。JDKJAVADEVELOPMENTKIT是SUNMICROSYSTEMS针对JAVA程序员的产品。自从JAVA推东北电力大学信息工程学院毕业论文8出以来,JDK已经成为使用最广泛的JAVASDK(SOFTWAREDEVELOPMENTKIT)。JDK的版本包括SEJ2SE,STANDARDEDITION,标准版,是我们通常用的一个版本,从JDK50开始,改名为JAVASE。EEJ2EE,ENTERPRISEEDITION,企业版,使用这种JDK开发J2EE应用程序,从JDK50开始,改名为JAVAEE。MEJ2ME,MICROEDTION,主要用于移动设备、嵌入式设备上的JAVA应用程序,从JDK50开始,改名为JAVAME。JDK的基本组件包括1JAVAC编译器,将源程序转成字节码。2JAR打包工具,将相关的类文件打包成一个文件。第3章需求分析9第3章需求分析31图书订购与打印管理系统需求概述图书订购与打印管理系统的开发主要涉及到图书的管理、打印信息的管理、分类信息的管理、用户信息的管理、查询统计、数据库管理、前台购物管理等七大功能的数据管理。图书信息管理包括添加图书、删除图书、修改图书信息。打印信息管理包括查看未打印订单、查看所需打印的图书、查看未取订单、查看取走订单。用户信息管理包括添加用户、查看后台用户、查看普通用户。查询统计管理即查询某一时间段内的订单数量、订单金额、和图书订购数量等信息。数据库管理即备份和恢复数据库。前台购物管理包括图书查询页面、购物车维护页面、订单信息填写等。图书订购者的需求是查询所有的图书,下订单并填写订单信息,查看订单状态,更新取书信息。后台管理员可以浏览、查询、添加、删除、修改的基本信息;查看并更新打印信息;统计订购信息等。32功能需求在本系统中,对订购者来说,他们关心的问题其实是如何方便的查询到书籍以及正确的订购图书,另一个关心的问题就是所订购的图书的打印状况等等。由此可以得出系统一些需求。321与订购者相关的基本功能元素1图书查询应该能够按照图书不同信息对图书进行模糊查询。2打印状态查询应该能够查询图书打印状态和确认取书。322与管理员相关的基本功能元素在面向系统的管理员来说,应注意如下几点1查看哪些订单未被打印,需按取书时间先后排序。2对图书的添加、修改和删除操作的方便性。东北电力大学信息工程学院毕业论文103统计某时间段内的订购信息。323总体系统的基本功能元素从以上问题出发,可以得出本系统应该具有的功能1图书查询对所有影印的图书进行查询。2订购管理对购物车和订单信息的维护。3打印管理对订单和订单中书籍打印信息的更新与管理。4用户管理对后台用户进行管理,添加、删除以及修改信息。5数据库管理对数据库进行备份和恢复。33性能需求331人身和环境安全性需求1系统中的软件不构成对人身健康的损害。2系统中的软件失效时不造成财产的损失。3系统中的软件失效时不造成环境的破坏。332可靠性和可用性需求1系统中的软件可以每天使用24小时,每年使用365天。2系统中的软件故障率小于等于5。333容错性需求用户输入错误信息时,系统应提示,不应崩溃。334易用性软件适合1270周岁的智力、视力、体力和肢体正常且具有图书借阅相关知识的人使用。第3章需求分析11335易学性经过12天培训的使用者可以正常使用本软件。34运行需求341预期的物理环境1系统在常温环境下使用。2系统在洁净的室内使用。342预期的技术环境1宽带网、1M以上宽带互联网。2台式计算机CPUP420G以上,内存256M以上,硬盘40G以上,10M/100M网卡,WINDOWS2000/2003/NT/XP/VISTA/WINDOWS7中文操作系统。3数据库管理系统MYSQL51及以上。东北电力大学信息工程学院毕业论文12第4章总体设计总体设计的主要目的是用比较抽象的方式确定系统如何完成预定的任务,也就是说,应该确定系统的物理配置方案,并且进而确定组成系统的每个程序的结构。首先需要进行系统设计,从数据流图出发设想完成系统功能的若干中合理的物理方案,然后进行软件结构设计,确定软件由那些模块组成以及这么模块之间的动态调用关系。在进行软件结构设计应该遵循的基本原理是模块独立原理。41图书订购与打印管理系统设计指导思想和原则1利用软件开发现有软硬件环境,及先进的管理系统开发方案,从而到达充分利用现在资源提高系统开发水平和应用效果的目的。2系统应该符合软件工程开发的理论,开发方法等开发依据。3系统应满足图书订购与打印管理工作的需要,并达到操作过程中的直观,方便,实用,安全,准确等要求。4系统应具备数据库维护功能,及时根据用户需求进行数据库的各种操作。5系统采用原型,实用模块化程序设计方法,便于系统功能的各种组合和修改,以及系统的测试与维护。6图书订购与打印管理系统的设计应适合市场的发展。7图书订购与打印管理系统的设计应当遵循数据库设计规范。42设计模式设计模式是面向对象的程序设计人员用来解决编程问题的一种形式化表示。本系统开发采用目前一种广泛流行的软件设计模式MVC。MVC(MODELVIEWCONTROLLER)应用程序结构被用来分析分布式应用程序的特征。这种抽象结构能有助于将应用程序分割成若干逻辑部件,使程序设计变得更加容易。把一个应用的输入、处理、输出流程按照MODEL、VIEW、CONTROLLER的方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层。MVC模式如图41所示。第4章总体设计13MODEL抽象系统应用功能;处理业务逻辑;数据持久化VIEW抽象数据表达;表示针对用户的数据;CONTRONLLER定义应用系统的行为将用户请求映射到模型更新;选择视图作为对请求的回应;更新状态查询调用请求选择视图图41MVC模式图MVC模式的出现,很好的解决了传统开发WEB应用方式中存在的问题。M代表模型(MODEL),包含完成任务所需要的所有的行为和数据;V代表视图(VIEW)界面,现实模型提供的数据;C代表控制器(CONTROLLER),它将模型映射到界面中,处理用户的输入并相应请求。其模型的关系如图所示。在MVC模型中,三层各尽其职、相互独立,各层内部的改变不会影响到其它层,从而降低了数据表达、数据描述和应该操作的耦合度,也能更好的实现开发中的分工,加速工程进度。43系统配置方案设计鉴于本系统的业务性质,必须选择具有较高可靠性、稳定性和必要的容错能力的计算机硬件和软件系统,以保证不丢失、破坏数据。必须具有较高的响应速度,以保证各项具体业务的顺利进行。应考虑具有良好的可维护性、可操作性和可扩充性,以保证将来系统规模的扩展和升级的需要。计算机硬件的选择取决于数据的处理方式和要运行的软件。管理对计算机的基本要求是速度快、容量大、通道能力强、操作灵活方便,但计算机的性能越高,其价格也就越昂贵,因此,在计算机硬件的选择上应全面考虑。由于现在微机在性能上已经有了很大提高,甚至超过了早期大型机的水平,而价格又相对较低,一般企事业单位选择微机作为硬件支撑环境较为适宜。东北电力大学信息工程学院毕业论文1444图书订购与打印管理系统总体功能概述图书订购与打印管理系统包含八个模块分别是系统登录、图书管理、打印信息的管理、分类信息的管理、用户信息的管理、查询统计、数据库管理、前台购物管理。1系统登录模块管理员都必须登录才能进入系统,用户登录时在后台通过过滤器FILTER判断用户的权限类型,分为普通用户和管理员,普通用户无法登陆后台,管理员可以登陆并对多种信息进行操作。2打印管理模块管理员通过验证界面进入系统后,进入到打印管理模块,可以进行查看订单状态、更新订单状态、修改订单等操作。3图书管理模块管理员通过验证界面进入系统后,进入到图书管理模块,可以对图书进行添加,删除、修改图书信息、查询、查看等一系列的操作。4分类信息管理模块管理员可以在此模块中创建分类、修改分类、删除分类。5用户管理模块管理员可以在此模块中创建新的后台用户,并且可以对用户的信息进行修改,删除。6查询统计模块管理员可以在此模块中查询某一时间段内的订单信息、包括数量、金额等相关信息。7数据库模块管理员可以在此模块中对数据库进行备份和恢复。8前台购物模块用户可以完成搜索图书、订购图书、维护购物车、填写订单信息、查看订单状态等操作。系统的功能图如图42所示。图书订购与打印管理系统系统登录模块打印管理模块图书管理模块分类管理模块用户管理模块查询统计模块数据库管理前台订书管理图42系统功能图第4章总体设计1545图书订购与打印管理系统各功能模块概述451系统登录模块用户进入后台管理界面时会通过的一个过滤器。该模块根据用户输入的用户名、密码来判断用户的类型,判断是否可以登录后台。本模块的功能点包括1判断用户名和密码是否相符。2根据用户的权限类型,登录到系统的制定界面操作使用。登录模块流程图如图43所示。开始显示登录界面用户是否存在N是否是管理员权限不够登陆后台结束NY图43登录模块流程图452打印管理模块在本模块中复印部工作人员可以对订单进行更新状态等操作。本模块的功能点包括1未打印订单查看最新未打印的订单,并可查看订单明细,订单按预约取书时间从大到小排序,同时可以更新图书打印状态。东北电力大学信息工程学院毕业论文162需要打印的图书统计出所有订单中书籍,相同书籍数量相加,可单独更新某一订单中图书的打印状态,也可以同时更新所有订单中本书的打印状态。3未取的订单显示所有打印状态为打印结束且取书状态为未取走的订单,可查看明细,并更新取书状态。4已取订单查看已去走订单,并可查看明细。打印管理模块流程图如图44所示。开始打印管理未打印订单未打印图书未取订单已取订单查看明细所属订单查看明细查看明细更新打印状态更新成功更新失败YNDOC单独更新打印状态更新成功更新失败YN更新打印状态查看并打印YN更新取书状态更新成功更新失败YN结束图44打印管理模块流程图453图书管理模块本模块主要是对图书信息进行管理。本模块的功能点包括1添加图书添加图书信息(书名、售价、图片、作者等)。2查看图书查看图书封面、修改图书信息、删除图书。图书管理模块流程图如图45所示。第4章总体设计17添加图书查看图书是否成功成功页面失败页面图书管理开始修改图书删除图书失败页面失败页面成功页面成功页面YNYNYN结束图45图书管理模块流程图454分类信息管理模块本模块主要是管理员对分类信息管理。本模块的功能点包括1添加分类添加图书类别信息。2查看分类包括查看分类信息、修改分类信息、删除分类。分类信息管理模块流程图如图46所示。455用户信息管理使用该模块的只有管理员,本模块可以维护用户信息。本模块的功能点包括1添加用户只能添加后台用户。1后台用户可以查看后台用户信息、删除后台用户信息。2普通用户可以查看普通用户信息、删除普通用户信息。用户信息管理模块流程图如图47所示。东北电力大学信息工程学院毕业论文18添加分类查看分类是否成功成功页面失败页面分类管理开始修改分类删除分类失败页面失败页面成功页面成功页面YNYNYN结束图46分类信息管理模块流程图添加用户后台用户是否成功成功页面失败页面分类管理开始删除用户失败页面成功页面YNYN结束普通用户删除用户失败页面成功页面YN图47用户信息管理模块流程图第4章总体设计19456查询统计管理使用该模块可以统计订单信息等。本模块的功能点包括1查询统计统计某一时间段内的图书订购信息、订单数、营业额等。用户信息管理模块流程图如图48所示。开始查询统计结束输入时间段显示统计信息图48查询统计模块流程图开始数据库管理备份数据库恢复数据库是否成功成功页面失败页面YN是否成功成功页面失败页面YN结束图49数据库管理模块流程图东北电力大学信息工程学院毕业论文20457数据库管理使用该模块可以维护数据库信息。本模块的功能点包括1备份数据库备份数据库,填写备份原因。2恢复数据库选择数据库的备份并恢复数据库到备份前状态。数据库管理模块流程图如图49所示。开始前台订书管理图书展示模糊搜索按类查看订购购物车继续手动输入数量单本添加是否大于200弹出错误信息Y更新数量N提交订单输入姓名、电话、取书时间、备注电话是否存在成功提交订单自动注册新用户提交YN跳转订单生成页面结束查询订单状态显示订单状态是否打印完成可更新取书状态YN不可更新图410前台订购管理模块流程图第4章总体设计21458前台订书管理使用该模块主要展示图书信息、可搜索、查询等,维护购物车和订单页面。本模块的功能点包括1展示图书展示所有图书供用户购买。2搜索图书可以按类别查找、也可输入关键字模糊查找图书。3查询订单可以查询客户订单当前的打印状态。4购物车维护客户购书的页面,增加、删除、修改等。5订购信息页面用户填写订购人信息、备注、取书时间等。前台订购管理模块流程图如图410所示。46数据库设计461编写目的本说明书说明“图书订购系统”的数据库设计、结构情况,用于开发人员进行项目设计,同时也为后续的数据库维护工作提供了良好的使用说明,也可以作为未来版本升级时的重要参考资料。462背景数据库名称BOOKSTORE数据库系统MYSQL数据库宿主环境WINDOWS463环境要求硬件平台CPU15GHZ内存512MB硬盘空间8GB操作系统WINDOWSXP,2000,VISTA,WIN7数据库MYSQL东北电力大学信息工程学院毕业论文22464概念结构设计1实体图图书图书属性有编号、书名、作者、版次、出版社、价格、分类、描述、图片。图书实体图如图411所示。图411图书实体图分类分类属性有编号、分类名、描述。分类实体图如图412所示。图412分类实体图订单订单属性有编号、价格、打印状态、取书状态、用户编号、取书时间、下单时间、描述。分类实体图如图413所示。图书作者出版社编号书名版次价格分类描述分类编号名称描述第4章总体设计23图413订单实体图订单项订单项属性有编号、打印状态、订单编号、书籍编号、价格、数量。订单项实体图如图414所示。图414订单项实体图用户用户属性有编号、姓名、密码、电话、权限。用户实体图如图415所示。图415用户实体图订单项编号价格打印状态订单编号书籍编号数量订单编号下单时间取书时间价格打印状态取书状态用户编号描述用户编号姓名密码电话权限东北电力大学信息工程学院毕业论文242ER图根据以上实体图,分析了各个实体的属性,根据这些属性,可以得到系统的ER图,用户可订购多个订单,每个订单含有多个订单项信息,每个订单项中又含有多本图书信息。系统ER图如图416所示。图416系统ER图465字段命名规则字段一律采用拼音首字母或简单单词命名。如表41所示。表41字段命名规则字段名称描述ID编号NAME名称AUTHOR作者466数据库详细设计根据上述实体设计,本系统需要创建以下数据表1NN11订单订购用户属于订单项图书属于订购时间预约时间订单金额N第4章总体设计25表42CATEGORY(分类信息表)列名数据类型可否为空描述IDVARCHAR40NOTNULL分类ID(主键)NAMEVARCHAR100NOTNULL分类名称DESCRIPTIONVARCHAR255NULL分类描述表43BOOK(图书信息表)列名数据类型可否为空描述IDVARCHAR40NOTNULL书籍ID(主键)NAMEVARCHAR100NOTNULL书籍名称AUTHORVARCHAR40NOTNULL作者PRICEDECIMAL8,2NOTNULL售价EDITIONVARCHAR40NOTNULL版次PUBCOMVARCHAR40NOTNULL出版社IMAGENAMEVARCHAR100NOTNULL图片名称DESCRIPTIONVARCHAR255NULL描述CATEGORY_IDVARCHAR40NULL分类ID(外键)表44USER(用户信息表)列名数据类型可否为空描述IDVARCHAR40NOTNULL用户ID(主键)USERNAMEVARCHAR40NOTNULL用户名PASSWORDVARCHAR40NOTNULL密码CELLPHONEVARCHAR40NOTNULL电话号码AUTHORITYBOOLEANNOTNULL权限表45ORDERS(订单信息表)列名数据类型可否为空描述IDVARCHAR40NOTNULL用户ID(主键)ORDERTIMEDATETIMENOTNULL订单时间TAKETIMEDATETIMENOTNULL预约时间PRICEDECIMAL8,2NOTNULL金额PRINT_STATEBOOLEANNULL打印状态TAKE_STATEBOOLEANNULL取书状态USER_IDVARCHAR40NOTNULL用户ID(外键)REMARKVARCHAR255NULL描述东北电力大学信息工程学院毕业论文26表46ORDERITEM(订单项信息表)列名数据类型可否为空描述IDVARCHAR40NOTNULL订单项ID(主键)QUANTITYINTNOTNULL数量PRICEDECIMAL8,2NOTNULL金额PRINT_STATEBOOLEANNOTNULL打印状态BOOK_IDVARCHAR40NOTNULL书籍ID(外键)TAKETIMEDATETIMENOTNULL取书时间ORDER_IDVARCHAR40NOTNULL订单ID(外键)第5章详细设计27第5章详细设计51系统的软件结构处理静态WEB是由WEB浏览器向WEB发送静态页面,WEB服务器直接对发送的静态网页进行处理。处理动态WEB数据库查询的过程是当WEB浏览器向WEB服务器发送请求时,动态网页的处理流程是,屏蔽掉HTML语言,只输入动态网页文件,由WEB服务器向数据库中传递信息,经过数据库的处理返回数据集,WEB应用服务器再把含有程序代码的动态网页转换为静态网页返还给WEB浏览器。这就是用动态网页对数据库进行查询并将数据返还给浏览器处理的全过程,具体见图51所示。数据库WEB浏览器WEB浏览器WEB服务器应用程序服务器发送请求返回响应查询数据返回数据集图51数据库查询示意图52开发环境搭建521导入开发包MYSQL驱动C3P0连接池DBUTILS框架BEANUTILS框架COMMONSLOGGINGJSTL开发包COMMONSFILEUPLOAD东北电力大学信息工程学院毕业论文28COMMONSIO包522创建组织程序的包NEDUCOMDOMAINNEDUCOMDAONEDUCOMDAOIMPLNEDUCOMSERVICENEDUCOMSERVICEIMPLNEDUCOMWEBMANAGERNEDUCOMWEBCLIENTNEDUCOMUTILSNEDUCOMWEBFILTERJUNITTEST在WEB应用下新建MANAGER目录放后台管理相关的JSPCLIENT目录放前台管理相关的JSP523系统的全局类JDBCUTILS主要用于C3P0数据库连接池连接,完成创建连接池、提交事务、事务回滚、关闭连接等操作。WEBUTILS创建静态方法生成UUID,为图书订单等信息编号、处理页面上传文件、购物车到订单的转换等功能。CHARACTERENCODINGFILTER解决中文乱码。HTMLFILTER防止页面输入HML标签信息。TRANSATIONFILTER开启事务。AUTHORITYFILTER权限过滤器,实现粗粒度权限过滤。第5章详细设计29524DAO层编写数据访问对象(DATAACCESSOBJECTS)是一种面向对象的界面接口。通过DAO/JET功能可以访问ISAM数据库,使用DAO/ODBCDIRECT功能可以实现远程RDO功能。使用DAO的程序编码非常简单,DAO提供丰富的游标(CURSOR)类型的结果集和非游标(CURSORLESS)类型的结果集,同DDL(数据描述语言)的功能很类似。DAO模型是设计关系数据库系统结构的对象类的集合。它们提供了完成管理这样一个系统所需的全部操作的属性和方法,包括创建数据库,定义表、字段和索引,建立表间的关系,定位和查询数据库等工具。本系统所涉及DAO接口及其实现类如表51所示。表51DAO实现类对应表接口DAO说明实现类BOOKDAO图书操作BOOKDAOIMPLCATEGORYDAO分类操作CATEGORYDAOIMPLORDERDAO订单操作ORDERDAOIMPLORDERITEMDAO订单项操作ORDERITEMDAOIMPLUSERDAO用户操作USERDAOIMPLPAGINATIONDAO分页PAGINATIONDAOIMPL53登录系统模块的实现本模块主要是用户通过登陆页面进入该系统。用户输入正确的用户名和密码,如果登录信息有错误,则系统提示登录错误信息。若登录信息正确,系统会根据用户的身份进行相应权限的判断,普通用户无法登陆后台,管理员可进入后台系统,想进入后台的任何界面必须通过登陆窗口登陆才能进入。本模块主要通过过滤器实现,在WEBXML中配置FILTER,用户要访问MANAGER目录下的文件都会通过过滤器,过滤器判断SESSION中的USER是否存在,若存在则判断权限是否为1,若为1则执行DOFILTER放行,否则访问不能通过过滤器,提示没有登录或者权限不足。图书打印与管理系统登录主页面如图52所示。东北电力大学信息工程学院毕业论文30图52登陆主界面示意图本功能主要通过LOGINSERVLET和AUTHORITYFILTER实现。其实现主要代码如下AUTHORITYFILTERUSERLOGINUSERRESGETSESSIONGETATTRIBUTE“USER“IFLOGINNULLRESGETREQUESTDISPATCHER“/LOGIN/LOGINJSP“FORWARDRES,REQELSEIFLOGINGETAUTHORITY1CHAINDOFILTERRES,REQELSERESSETATTRIBUTE“MESSAGE“,“SORRY您的权限不够“RESGETREQUESTDISPATCHER“/LOGIN/LOGINJSP“FORWARDRES,REQLOGINSERVLETPRINTWRITEROUTRESPONSEGETWRITERSTRINGNAMEREQUESTGETPARAMETER“NAME“STRINGPSWREQUESTGETPARAMETER“PSW“BUSINESSSERVICEBSNEWBUSINESSSERVICEIMPL第5章详细设计31USERLOGINBSFINDUSERNAME,PSWIFLOGINNULLOUTPRINT“用户名或密码有错误“ELSEREQUESTGETSESSIONSETATTRIBUTE“USER“,LOGIN54打印管理模块的实现本模块主要是使用者可以查看订单信息、查看未打印信息、更新打印状态、更新取书状态,还可以搜索订单、更改订单信息等。541初始订单显示系统登陆后显示初始订单页面,包括为打印订单列表和未取订单列表,管理员可以通过电话号码搜索订单,并可以对订单进行修改,修改后会判断订单中的订单项是否为0,为0的话则删除订单,否则更改订单总价。初始订单显示页面如图53所示。图53初始订单显示页面示意图东北电力大学信息工程学院毕业论文32542未打印的订单未打印的订单可以按订单查看定购信息,可显示打印进度、订单人、电话、下单时间、预约取书时间、订单总价等信息,点击详细信息可进入详细信息页面,会显示所有订购图书的详细信息,同时会显示每本书的打印状态,还有备注信息,管理员可根据备注信息打印图书,点

温馨提示

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

评论

0/150

提交评论