10061160李盼盼基于JSP的物流管理系统的设计与实现.docx
《10061160李盼盼基于JSP的物流管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《10061160李盼盼基于JSP的物流管理系统的设计与实现.docx(53页珍藏版)》请在冰豆网上搜索。
10061160李盼盼基于JSP的物流管理系统的设计与实现
中南民族大学
毕业论文(设计)
学院:
计算机科学学院
专业:
计算机科学与技术年级:
2010
题目:
基于JSP的物流管理系统的设计
与实现
学生XX:
李盼盼学号:
10061160
指导教师XX:
蓝雯飞职称:
教授
2014年5月
中南民族大学本科毕业论文(设计)原创性声明
本人X重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
年月日
基于JSP的物流管理系统的设计与实现
摘要:
当今社会,随着物流行业的迅速发展,传统的物流操作模式过于简单、物流技术装备比较落后,已经不再适应现在的物流行业。
为了缩短物流的过程,提升物流整个过程的优化调度,加快市场的反应,物流管理系统已经成为物流企业炙手可热的应用软件新系统。
为此设计的基于JSP的物流管理系统,利用JSP+JavaBean+Servlet技术和MVC设计模式实现了物流信息管理平台的设计。
通过与数据库的连接,该系统可以很好的实现前台页面与后台数据库信息的交互。
它不但提供给物流管理决策者物流信息数据以便做出抉择,而且为物流操作人员提供了便利的物流操作模式,从而实现了物流企业高效的信息管理。
系统的开发能够帮助企业实现对物流全过程的优化调度和有效控制,并且能够高效整合企业的物流业务,以便企业能够全面提高经济效益,因此具有一定的实用价值。
关键词:
物流管理;JSP;JavaBean;MVC设计模式;数据库
TheDesignandImplementationofLogisticsManagementSystemBasedonJSP
Abstract:
Today,withtherapiddevelopmentoflogisticsindustry,thetraditionallogisticsoperationmodeistoosimple,thelogisticstechnologyandequipmentisrelativelybackward,ithasnotbeenadaptedtomodernlogisticsindustry.Inordertoshortentheprocessoflogistics,speedthereactionofthemarket,improveschedulingoptimizationofthelogisticsoftheentireprocess,logisticsmanagementsystemhasbeeanewapplicationsoftwaresystemoflogisticsenterprise.Forthisreason,thelogisticsmanagementsystembasedonJSPisdesigned.ThedesignoflogisticsinformationmanagementplatformbasedonJSP+JavaBean+ServlettechnologyandMVCdesignpattern.Throughtheconnectiontothedatabase,thissystemrealizesperfectinformationinteractionfromfrontpageandbackstagedatabase.Itnotonlyprovideslogisticsinformationdatainordertomakethechoice,butalsoprovideaconvenientpropertyoperationforthelogisticsoperationpersonnel,soastorealizetheinformationmanagementoflogisticsenterpriseefficiency.Inordertoimprovetheeconomicbenefitandefficiency,thedevelopmentofthissystemcanhelptheenterprisetorealizetheoptimaloperationofthelogisticsoftheentireprocessandeffectivecontrol,andeffectiveintegrationofenterpriselogisticsbusiness.Soitisofgreatpracticalvalue.
Keywords:
LogisticsManagement;JSP;JavaBean;MVCDesignPattern;Database
1绪论
1.1研究背景及意义
当今物流行业发展迅速,现在的物流行业发展水平已经远远超过传统的物流行业发展水平。
物流水平的好坏不仅决定着企业生产经营活动的管理水平,更是影响企业竞争力的管理[1]。
传统的物流行业大多只是停留在运输和存储的集成上,从而使得企业丧失了重要的高端市场。
传统的物流行业操作模式过于简单,没有社会化,配送和调度车辆管理不尽合理,物流市场需求不足,基础设施尚待完善,物流技术装备比较落后[2]。
随着现代经济的快速发展,各种各样的产品应运而生。
随着人们生活条件的改善,对各种产品的需求量也随之大大增加产品种类的增加、需求量的增大无疑给产品的配送和车辆的调度增加了难度。
时下,大多数物流企业的科技含量低,这将直接导致了物流信息化的程度低。
信息不联通所造成的货运成本浪费在国内是非常严重和常见的,而基于EDI的数据交换方式建设的自身物流管理系统导致了整体信息较为封闭,孤立,并且多种功能整合性较差[3]。
迂回运输、车辆空载行驶的物流资源浪费现象屡见不鲜,市场缺乏一个有序的、统一的物流信息管理系统信息交换机制和沟通平台。
物流信息经常在局限的地域X围、有限的组织个体之间进行着不同程度的重复,而达不到信息资源的共享,达不到更广泛和有效地交流。
而数据共享在运输和制造企业物流方面一直是重要的[4]。
因此传统的物流行业的操作模式已经不再适应现在的物流行业,如何加快对市场的反应速度,如何缩短物流过程,降低产品库存量,这是当前所有企业所面临的问题。
本次开发的系统就是针对这些问题根据中小型企业的实际需求而开发出来的一套物流管理系统。
随着因特网的普及,Web应用程序在交易、提供服务和获取信息方面广受欢迎[5]。
因此运用现代Web技术对物流过程中的全部或部分信息进行采集、分类、传递、汇总、识别、跟踪、查询等一系列处理活动,对于降低成本、提高经济效益具有重要的作用[6]。
JSP技术具有很好的安全性、跨平台性以及组件重用性,因此很适合用于开发物流管理系统。
系统的开发能够帮助企业实现对物流管理全过程的优化调度和动态控制,高效率的整合企业的物流管理业务和全过程的调度,以便企业能够全面提高企业经济效益,提供实用、高效、科学的物流管理方法和运营手段。
通过计算机对企业的管理,可以大大提高企业资源的利用率,减轻企业管理者的劳动强度和复杂度,同时可以提高客户的订货快速响应服务能力、处理数据分析的服务能力、提供个性化服务能力、对客户投诉快速做出反应的服务能力[7]。
因此,设计这样一个完善的物流管理系统以适应现代物流的发展是非常有这个必要的。
1.2系统开发运行环境
在整个系统的开发过程中,选择什么样的开发工具和开发环境,将直接影响到系统的开发效率和软件的质量。
结合系统开发的需要,本系统所需要用到的软件开发环境如下:
操作系统:
windows7
系统开发工具:
Eclipse
系统开发语言:
HTML+JavaScript+CSS+Java
运行环境:
Windows、Linux
数据库:
SQLServer2005
服务器:
Tomcat
1.3开发工具及相关技术概述
1.3.1Eclipse简介
Eclipse是一个开放源代码的、基于Java的可扩展开发环境。
它不仅可以用Java语言开发项目,而且还可以用C语言、C++、PHP等开发语言。
Eclipse的优势在于它是一个可以跨平台的集成开发环境。
它本身就是一个框架,通过各种插件来组建开发环境。
通过集成大量的插件,Eclipse的功能不断扩展以支持各种不同的应用[8]。
最初它只支持Java语言的开发,随着各种插件的开发以及在Eclipse上的安装,使得Eclipse可以用其他的语言开发项目,它的功能变得相当的强大。
但是于此同时,Eclipse也失去了它的灵活性。
随着技术的不断提升,现在的Eclipse附带了一个标准的插件集,该插件集包含了Java的开发工具。
在Eclipse环境中开发基于JSP的动态网页项目是非常方便的,在Eclipse中通过内置的Web浏览器可以运行web程序,看到界面的效果。
通过数据库插件的安装,也可以在Eclipse中操作数据库以及其中的表。
包括新建、删除数据库、新建表、删除表、对表中的记录进行增删查改等操作。
1.3.2JSP技术
JSP(全称JavaServerPages)是一种普通的静态HTML和动态的HTML混合编程的技术。
JSP页面文件通常以.jsp为扩展名,而且可以安装到任何能够存放普通web页面的地方。
虽然从代码编写方面来看,JSP页面更像是普通的Web页面不像Servlet,但实际上,JSP最终会转化成标准的Servlet。
当出现第一次页面请求时JSP转换成Servlet。
JSP具有Java语言的所有优点,包括安全性、跨平台性等[9]。
JSP设计的目的在于简化表示层的表示。
JSP并没有增加任何本质上不能用Servlet实现的功能。
嵌入JSP页面的有:
普通的HTML代码、脚本元素、指令、动作。
脚本元素用来嵌入Java代码,这些Java代码将会成为最终转换得到的Servlet的一部分;JSP指令用来从整体上控制Servlet的结构;动作用来引入现有的组件来控制Web容器的行为[10]。
JSP页面为服务器端的Java库单元提供了一个接口,用来服务于HTTP的应用程序。
当Web服务器在遇到访问某一个JSP网页的请求时,首先执行其中的Java程序段,然后将执行结果连同JSP文件中的静态HTML代码一起返回给客户。
HTML页面中插入的Java程序段可以操作数据库、重定向页面等,以便用来实现建立动态网页所需要的功能。
将JSP和JavaBean技术结合在一起,把数据库连接操作封装在JavaBean组件中,那么当JSP页面需要连接数据库时,只要调用JavaBean组件即可[11]。
JSP和数据库的连接通常使用通过JDBC直接连接数据库和连接池技术[12]。
JSP是在服务器端执行的,返回给客户端的是一个HTML文本,因此客户端只要有浏览器就能浏览JSP页面。
1.3.3SQLServer2005概述
MicrosoftSQLServer2005是一个全面的数据库平台,该数据库引擎为结构化数据和关系型数据提供了安全而可靠的存储功能,它可以构建和管理高性能的数据应用程序。
SQL的全称是StructuredQueryLanguage,意思就是结构化查询语言。
SQL被称为是关系型数据库管理系统的标准语言。
SQL语言的主要功能就是同各种数据库建立联系以及通过语言的组织来传达各种指令。
SQL语言用来执行各种各样的操作,比如:
对数据库中的数据进行更新、保存数据到数据库以及从数据看中提取数据到用户界面以便用户查看。
MicrosoftSQLServer的功能不仅限于此,它具有可信任性、高效性、智能型。
而在系统的开发过程中数据库的连接是非常占用系统资源的,这一点在多用户的网页应用程序中体现得尤为突出[13]。
因此在使用SQLServer2005时,若系统访问量较大,则需要在每次使用完数据连接获取或者写入数据之后应及时地销毁数据连接,回收服务器资源[14]。
1.3.4浏览器/服务器(Browser/Server)结构
B/S结构(Browser/Server,浏览器/服务器模式),是Web兴起后的一种网络结构模式,Web浏览器是客户端所能用到的最主要的应用软件。
这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、使用和维护。
客户机上只要安装一个浏览器,服务器安装SQLServer等数据库,就可基本实现该结构。
浏览器通过WebServer和数据库进行数据的交互。
B/S结构最大的优点就是在任何地方都可以进行操作而不需要安装任何专业性的软件,只要有一台能上网的电脑就能使用,客户端不需要安装和维护,系统的扩展非常容易。
B/S结构是建立在广域网之上的,不必是专门的网络硬件环境。
B/S结构的用户比较广泛,而C/S结构的用户相对来说比较单一。
该结构有比C/S结构更强的适应X围,一般只要有操作系统和浏览器就行实现。
在这种结构下,用户界面完全通过浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现[15]。
1.3.5Tomcat服务器技术
Tomcat服务器是一个免费的,并且开放源代码的Web应用服务器,是轻量级的应用服务器,深受广大开发人员的喜爱。
由于它运行时占用系统资源很少,扩展性也比较好,所以已经成为开发和调试JSP应用程序的首选。
Tomcat由Server层、Engine层、Host层、Context层组成,各层通过数据管道进行交互[16]。
Tomcat服务器和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。
当开发的JSP项目在tomcat服务器上发布时,根据用户操作的界面,系统把HTML代码交给tomcat服务器来解析。
解析完了之后就把结果返回给用户所能看到的界面。
Tomcat服务器技术先进、性能稳定,是一个不错的应用服务器。
然而Tomcat环境下JSP乱码是一个比较常见的问题,它的根源就是编码的转换过程,通过对各种出错情况进行分析,不难找出这类问题的解决方法[17]。
2需求分析
现在的经营环境的发展使得越来越多的企业意识到物流发展的重要性,如何做好物流管理已经成为企业管理者高度关注的问题。
为此,对企业生产经营活动过程的物流需求进行科学分析,就成为了现代物流企业强化物流管理的关键一步[18]。
2.1功能需求
用例分析是连接需求与设计的桥梁,它是将用例模型转化到分析模型的过程。
用例分析是把系统需要完成的行为交给分析类,然后让分析类来实现系统的行为。
系统的用例图如图2-1所示。
物流管理系统的开发主要是实现客户服务、仓库信息的管理、用户信息的管理以及用户信息的检索、车辆信息管理等功能的数据管理。
根据不同用户登录系统,提供用户不同的功能实现。
(1)登录系统模块
不同的用户在登陆界面输入自己的用户名和密码,根据用户的身份不同进入不同的主页面,若用户还没有账号则登录界面提示用户进行注册。
(2)客户服务模块
该功能模块是客户所能操作的部分,主要包括客户提交订单、客户信息更改和显示客户订单的历史记录。
图2-1系统用例图
(3)仓库管理模块
包括采购商品以及配送商品。
对于数量不足的热门商品,用信息提示的方式供管理员浏览,然后管理员会根据情况进行商品的采购。
管理员首先根据客户提交的商品订单,判断仓库中的商品是否满足客户的需求,即进行订单的审核(包括商品的编号和数量)。
若未通过审核,则返回给客户,客户会在订单历史记录中看到自己商品购买交易是否成功;若通过了审核,则进行商品的配送,同时也会给客户相应的提示。
(4)车辆信息管理模块
包括对车辆信息的查询以及对车辆信息的增删查改。
根据管理员的需要对某个指定的车辆信息进行查询,以便管理员了解车辆信息并做出相应的操作。
随着物流管理规模的增大,对车辆信息的变动也是必然的,因此需要对车辆信息做出相应的操作。
(5)信息查询功能
包括对客户、职员、供应商的信息管理以及用户信息的检索。
信息管理主要就是对用户信息的增删查改。
用户信息的检索就是根据管理员的需要对某个指定的用户记录进行查找,进而显示他的详细信息,以便供管理员做出正确的决定。
(6)用户管理模块
管理员针对用户和供应商信息的增删改。
该模块分为四个部分:
对用户信息的增加、用户信息的删改、供应商信息的增加、供应商信息的删改。
(7)退出系统模块
用户若想退出该系统,则可以点击退出系统,使用户退出到登录界面。
2.2性能需求
由于本系统基于B/S模式,客户端的用户比较分散、用户身份多种多样、用户群体庞大、可能面向不可知的用户。
由于B/S架构的管理软件之安装在服务器端,管理员只需要对服务器进行管理就可以了。
正是因为如此,服务器在存储和运行数据的时候负载会比较重,一旦服务器发生系统崩溃等问题,那么后果将不堪设想。
因此运算式的服务器整体性能要求较高,在硬件方面要求系统环境P4以上CPU、512MB、80GB的配置。
相比较而言,客户端硬件的要求较低,软件为window98以上版本的操作系统即可。
在时间特性方面,系统搜索时间最大不超过5秒,平均时间在1至3秒,此外对数据库XX息的检索也不应查过一秒;在系统容量要求方面,系统的静态用户在3000以上、动态用户在1000以上、并发数在500左右。
系统运行时对数据的XX性要求高,对一般的数据都要求进行加密。
基于B/S结构的系统与操作系统平台关系很小。
此外,对其他的软件也没有特别的要求。
2.3安全性需求
安全性是与系统的安全性相关的需求,将会影响到用户对系统的使用和对数据的保护。
由于该系统是B/S结构的,客户端的用户群比较庞大,用户的身份多种多样,并且还不可知,系统很难进行统一的管理。
另外系统的管理软件是安装在服务器上的,数据的存储和运行也是在服务器中。
这样就增加了服务器的负载量。
一旦有不可知的用户对系统进行破坏,那么系统就会很容易崩溃。
若不对用户的身份进行验证,很难保证系统中数据信息的安全,一旦数据丢失将会对企业造成不可挽回的损失。
因此用户身份的审核需求是系统必须要满足的安全性或XX性策略。
为了保障该系统的安全性和数据的XX性,用户使用该系统前首先要确认用户的身份。
确认用户身份的方式有很多种,比如:
口令系统、智能卡和生物统计学等等。
对于使用本系统的用户来说,使用口令系统比使用其他方式成本低、易实现,更重要的是使用简便。
只要用户输入正确的用户名和密码,那么身份得到验证后用户就可以进行相应的操作;若未能通过验证,则系统不允许用户进入该系统。
3系统设计
3.1设计模式
选择什么样的框架应用到项目中,对于项目的开发效率以及重用性方面是至关重要的。
而MVC模式的使用可以大大减少项目开发的时间,它可以有效地分离视图层和业务逻辑层,进而使得程序员能够集中到业务逻辑层上,界面程序员可以集中精力于界面的实现上。
这样web应用就会变得更加易于维护和修改。
因此本系统选择了MVC设计模式。
MVC的全称是ModelViewController,是模型—视图—控制器的缩写。
MVC是一个经典的软件设计模式,已经得到广泛的应用。
它的主要思想是在各个对象之间取得高层端口[19]。
它是用一种业务逻辑和数据分离的方法来组织代码,并将业务逻辑模块聚集到一个部件里面,控制层确保业务逻辑层和界面的同步,若业务逻辑层发生了变化,那么视图层也应该进行同步的更新。
MVC组件类型的管理与功能如图3-1所示。
图3-1MVC组件类型的管理与功能
M—Model,模型层是应用程序的核心,该层次主要实现的是处理应用程序的数据逻辑部分,负责数据的录入和业务逻辑的实现,具有最多的处理任务。
V—View,视图用于显示和获取数据库的记录,是应用程序中处理数据显示的部分,是依据模型数据创建的,它是用户看到的并所有与之交互的JSP页面。
C—Controller,控制器是是连接业务逻辑和视图层的桥梁,是应用程序中处理用户交互的部分,它获取视图层传来的数据,控制用户的输入,并且调用业务逻辑类向模型层发送数据。
MVC设计模式的使用给我们带来很大的方便,它具有重用性高、部署快、生命周期成本低、耦合性低、可维护性高等优点。
视图层和业务层的分离使得我们在更改视图层代码的同时可以不用重新编译模型和控制器代码。
因为控制层、模型、视图的分离,使得很容易改变应用程序的数据层和业务流程的规则。
正是由于MVC的这种特点使得改变其中的一个层次的功能也不会影响另外两个层次的功能,所以根据这种思想MVC就能够实现良好的松耦合构件。
MVC设计模式允许不同的视图层来访问服务器端的代码,因为多个视图可以共享同一个模型。
因为模型返回的数据没有格式化,所以同一个构件能够被不同的JSP页面所使用。
由于已经把业务逻辑层的数据和业务规则从表示层分开,所以可以最大化的重用代码。
MVC使得项目开发和维护用户接口的技术含量降低了。
由于MVC把项目的设计分层了,各个层面上的功能交由不同的开发人员来设计和实现:
Java的开发人员实现业务逻辑、界面程序员集中精力于界面的设计和实现。
MVC使得视图层和业务逻辑层分离,这样更加方便了Web项目的维护和修改。
3.2系统总体功能概述
根据现代物流管理的发展水平,并结合企业在物流管理系统中的需求,初步设定了几种功能。
本系统在实现之前经过查阅资料以及实践调研,对物流企业中存在的问题,以及缺陷进行勘察,把物流企业中需要实现的基本功能总结并归类,具体包含以下七个功能模块:
用户登录、客户服务、仓库管理、车辆管理、信息查询、用户管理、退出系统。
(1)用户登录模块
由于物流管理系统中所涉及的内容都是整个物流过程的重要的信息,所以一般人是不能进入该系统的。
据此,在进入该系统之前,物流管理系统给每个相关人员分配了相应的权限:
客户和职员。
对于每个想要进入该系统的人就必须进行注册,提交注册信息以后经过该系统的管理员审核以后,若审核通过则该用户可以根据申请的用户名和密码成功登录该系统。
对于不能成功登录进去的用户,登录界面可以给出相应的错误提示。
(2)客户服务模块
该功能模块是以客户的身份登录该系统的人所进行的操作。
由于权限的限制使得客户只能操作该模块中的功能,在此模块中客户可以进行的操作有提交订单、修改个人信息、查看个人订单的历史记录。
(3)仓库管理模块
该模块主要涉及到对仓库中商品的管理,这是管理员权限中的事。
管理员通过定时的查看仓库中商品的信息以及用户的订单对仓库中的商品做一下操作:
对数量不足商品的采购以及根据客户订单进行商品的配送。
(4)车辆管理模块
由于该系统不仅仅涉及管理员对商品的管理而且还涉及管理员根据客户提交的商品订单对商品进行配送,因此需要很多车辆来运输这些商品到达不同的目的地。
那么管理员对车辆信息的管理就很有必要了,大致包括车辆信息的增加以及车辆信息的更改、删除等。
(5)信息查询模块
有时根据管理员的要求需要对系统中指定的信息进行查询,以便能及时获得所需要的信息并做出正确的决策。
该模块主要包括四个方面的查询:
商品信息查询、职工信息查询、客户信息查询、订单信息查询。
(6)用户管理模块
该模块主要是对登录进该系统的所有用户的信息进行管理,主要包括管理员对职工信息的增删查改和对供应商信息的增删查改。
(7)退出系统模块
若用户对该系统的操作已经完成,想要退出系统的