本科计算机系毕设论文Word格式文档下载.docx
《本科计算机系毕设论文Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《本科计算机系毕设论文Word格式文档下载.docx(57页珍藏版)》请在冰点文库上搜索。
![本科计算机系毕设论文Word格式文档下载.docx](https://file1.bingdoc.com/fileroot1/2023-5/8/4b13f9fd-460c-4868-af97-7a177490b99f/4b13f9fd-460c-4868-af97-7a177490b99f1.gif)
(3)计算机网络化
物流配送中心与供应商、生产商、下游客户等通过Internet网络有机地连接在一起,基于Web或EDI进行信息和数据交换。
计算机网络化的发展为物流网络化提供了良好的外部环境,物流网络化是物流信息化的必然,是电子商务下物流活动的主要特征之一。
(4)智能化
物流管理是一项复杂的系统工程,物流作业过程涉及大量的运筹和决策问题,如最优库存水平的确定、存储货位的分配、巷道堆垛机和自动导向车的运行轨迹和作业控制、运输资源的优化配置、入出库物资的调度管理、货物的自动分拣技术、物流配送中心的经营管理与决策以及运送物资的货物跟踪技术等。
(5)敏捷性
“以客户为中心”是IT时代驾驭市场的根本,敏捷性是衡量企业竞争能力的一项重要指标,这就要求企业必须具备从原材料供应、生产过程、物料流动到产品配送的敏捷的物流系统。
1.2研究目的与意义
对于项目而言物流信息系统是现代物流系统的核心和灵魂,而且国家局关于行业现代物流建设的意见中也明确指出要以物流信息化带动物流现代化,因此,物流管理信息系统的设计目的也就是整个现代物流系统建设的目标,即“提高服务质量、提高物流效率、降低物流成本”。
对于我个人而言我利用这次毕业设计的机会,认真设计。
把大学四年来学到的内容尽量融入到毕业设计中。
通过几个月来在东软公司的实习,以及项目经理和老师的指导下,让我掌握了以下几点:
1.了解烟草物流-数字化仓储系统的流程;
2.提高javaweb开发的能力;
3.提高数据库开发的能力;
4.深入理解框架结构的原理,达到熟练运用的目的5.理解了部门的开发环境以及开发工具和要求;
6.培养团队合作的意识和能力。
1.3研究内容
在我的毕业设计中,采用了Eclipse作为开发工具,和大家共同开发一套烟草物流信息系统的数字化仓储管理模块,此模块实现的是现实中出入货物的管理。
即当货物要入库时,首先生成要生成一张入库单据,写有你要入库的货物信息,然后就要对你所要入库的货物进行储位分配,即给它一个储位进行存储,然后进入记账管理,进行确认,将货物录入库存表中。
当出库时也会生成一张库存表,把你想要的货物和数据写出来,然后进入储位分配,查找是否有满足条件的货物的储位出货,找到后即可分配储位,然后进入记账管理,进行确认,修改库存表。
所以整个系统分为个模块,登陆,菜单,入库单,入库上架(对应的储位分配),入库记账,出库单,出库下架(对应的储位分配),出库记账。
而我主要负责登陆,入库单,出库下架,出库记账模块的开发。
入库单模块就是入库单据的新建,修改,删除,查看的操作;
出库下架模块就是对出示和已分配状态的出库单据进行的储位的分配(即出货的位置的分配)。
出库记账就是对库存表的数量进行修改
2相关技术概述及开发平台
2.1网络架构
2.1.1B/S模式
本系统中采用B/S结构B/S(Browser/Server)结构即浏览器和服务器结构。
它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。
在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层结构。
这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)[1]。
以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。
它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据库;
它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。
传统的两层C/S结构实际上是一种“胖客户机(FatClient)”,“瘦服务器(ThinServer)”的网络计算模式,而三层C/S结构则是一种“瘦客户机(ThinClient)”,“胖服务器(FatServer)”的网络计算模式。
目前,流行的趋势是客户机应更“瘦”服务器更“胖”,有些三层C/S系统己实现了客户端的零代码编程,这就是基于www的数据库应用系统,它采用统一的浏览器作为用户界面,形成浏览器--Web服务器--数据库服务器的结构,这种结构就是通常所说的B/S结构,B/S结构是一种以Web技术为基础的新型的网络管理信息系统平台模式,B/S结构把传统两层C/S中的服务器部分分解为Web服务器和数据库服务器,从而构成一个三层结构的客户服务器体系。
实质上,客户机与web服务器之间类似于终端和主机的模式,而web服务器与数据库服务器之间类似于C/S模式。
图2.1显示出了B/S结构。
图2.1B/S结构图
B/S结构的网络计算模式,可以用如下公式表示:
B/S网络计算模式=多浏览器十单Web服务器十多数据库服务器+动态计算
2.1.2B/S模式的优点与不足
相对两层C/S模式,B/S模式具有以下优点:
1)开放的标准
C/S所采用的标准只要在内部统一即可,它的应用往往是专用的。
B/S所采用的TCP/1尸(TransferControlProtoCol/InternetProtocol,传输控制协议/网际协议)、HTTP(HyperTeXtTransferProrocol,超文本传输协议)等标准都是开放的、非专用的,是经过标准化组织所确定的而非单一厂商所制定,保证了其应用的通用性和跨平台性。
同时,标准化使得B/S模式可直接接入Internet,具有良好的扩展性、伸缩性,可从不同厂家选择设备和服务。
2)分布计算的基础结构
多层的B/S应用可以更充分的利用系统资源,在大型的联机应用中,数据库面临的客户数量是非常庞大的,使用传统的客户/服务器模式可能根本无法胜任。
例如,可能有上千客户机在同时运行,需要访问数据库。
如果它们的请求都直接传递到数据库服务器上,就必须要有非常强大的硬件支持。
通过中间层的缓冲,连接数据库的用户数。
虽然增加了应用服务层,并不会使系统的性能和可靠性降低。
因为在动态分布式计算系统中,客户端程序不必要确切指出应用服务的网络地址,如果应用服务器超负荷,通过统一的管理程序调度将请求转移到其他应用服务器上来消除瓶颈。
3)较低的开发和维护成本
C/S的应用必须开发出专用的客户端软件,无论是安装、配置还是升级都需要在所有的客户机上实施,极大地浪费了人力和物力。
B/S的应用只需在客户端装有通用的浏览器即可,维护和升级工作都在服务器端进行,不需对客户端进行任何改变,故而大大降低了开发和维护的成本。
4)使用简单,界面友好
C/S用户的界面是由客户端软件所决定的,其使用的方法和界面各不相同,每推广一个C/S系统都要求用户从头学起,难以使用。
B/S用户的界面都统一在浏览器上,浏览器易于使用、界面友好,不须再学习使用其它的软件,一劳永逸的解决了用户的使用问题。
5)系统灵活
C/S系统的各模块中有一部分需改变就要关联到其它模块的变动,使系统很难升级。
B/S系统的三部分模块各自相对独立,其中一部分模块改变时,其它模块不受影响,应用的增加、删减、更新不影响用户个数和执行环境,系统改变变得非常容易,且可以用不同厂家的产品来组成性能更佳的系统。
6)保障系统的安全性
在C/S系统中由于客户机直接与数据库进行连接,用户可以很轻易的改变服务器上的数据,无法保证系统的安全性。
B/S系统在客户机与数据库服务器之间增加了一层Web服务器,使两者不再直接相连,通过对中间层的用户编程可实现更加健全、灵活的安全机制。
客户机无法直接对数据库操纵,有效地防止用户的非法入侵。
7)信息共享度高
C/S系统使用专用的客户端软件,其数据格式为专用格式文件。
B/S系统使用HTML(HyperTextMarkupLanguage,超文本标记语言),HTML是数据格式的一个开放标准,目前大多数流行的软件均支持HTML,使得Browser可访问多种格式文件。
8)广域网支持
C/S是建立在局域网的基础上的,C/S一般建立在专用的网络上,小范围里的网络环境,局域网之间再通过专门服务器提供连接和数据交换服务。
B/S是建立在广域网的基础上的,不必是专门的网络硬件环境,信息自己管理,有比C/S更强的适应范围,一般只要有操作系统和浏览器就行。
所以,在B/S模式下,用户端只需有通用的浏览器,如Netscape或Explore,便代替了形形色色的各种应用软件。
服务器则为Web服务器,浏览器和服务器之间通过TCP/IP这一通讯协议进行连接。
浏览器发出数据请求,由web服务器向后台取出数据并计算,将计算结果返回给浏览器。
由于用户端所用软件只是一个简单的浏览器,用户基本上无需培训,用户端软件也无需维护;
软件的升级与修改只在服务器端进行,对用户透明;
服务器与浏览器可处于不同的操作系统平台。
虽然B/S模式存在许多C/S模式无法比拟的优点,但在实际的应用过程中仍然有许多问题:
1)WEB技术在应用的过程中暴露了越来越多的安全问题。
MIS管理的业务管理工作中的所有数据,随着系统向Internet的扩展,本来出现在系统内部的安全问题也被放大到整个Internet上。
因此WEB技术的安全性问题限制了基于WEB的B/S模式的MIS的发展。
2)大量计算问题一般将业务逻辑层放置在WEB服务器上,当运行大量计算或长事务处理时严重的影响了系统的工作效率,使得用户不得不靠不断增加硬件投资提高WEB服务器的性能和数量。
3)很难实现全部管理功能。
由于WWW技术的局限性,MIS很难完全利用B/S模式实现,现有的B/S模式的MIS也多是仅实现了部分的管理功能。
2.2Struts实现MVC框架
2.2.1Struts简介
Struts最早是作为ApacheJakarta项目的组成部分,项目的创立者希望通过对该项目的研究,改进和提高JavaServerPages、Servlet、标签库以及面向对象的技术水准。
Struts这个名字来源于在建筑和旧式飞机中使用的支持金属架。
这个框架之所以叫"
Struts"
,是为了提醒我们记住那些支撑我们房屋,建筑,桥梁,甚至我们踩高跷时候的基础支撑。
这也是一个解释Struts在开发Web应用程序中所扮演的角色的精彩描述。
当建立一个物理建筑时,建筑工程师使用支柱为建筑的每一层提供支持。
同样,软件工程师使用Struts为业务应用的每一层提供支持。
它的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。
我们仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。
如果想混合使用Servlets和JSP的优点来建立可扩展的应用,Struts是一个不错的选择。
早期Smalltalk程序语言便采用了MVC(Model-View-Controller)模式(Patterns)以增加程序代码弹性,MVC模式将程序代码整理切割为三部份,Model部分是业务与应用领域(Businessdomain)相关逻辑、管理状态之对象,Controller部分接收来自View所输入的资料并与Model部分互动,是业务流程控制(FlowControl)之处,View部分则负责展现资料、接收使用者输入资料。
在Java应用中,JFC/Swing、AWT、JSP皆是可用作View之技术规格,而JavaBean与EnterpriseJavaBean规格则可用于Model程序代码,一旦应用程序以MVC模式加以适当之分割,Model部分程序代码可在不同使用者接口外观之应用程序中重复使用。
随着Struts技术的流行,国外大多数公司已不再单纯的使用Jsp+servlet+javabean来开发自己的项目,而是首先选择一个优秀的框架,而Struts是其最好的选择。
随着Struts技术的版本升级,技术不断完善和可扩展性增强等,使其功能越来越强大。
Struts技术现已成为基于MVC模式的Web应用最经典框架。
Struts有如下的主要功能[2]:
1.包含一个controller servlet,能将用户的请求发送到相应的Action对象。
2.JSP自由tag库,并且在controller servlet中提供关联支持,帮助开发员创建交互式表单应用。
3.提供了一系列实用对象:
XML处理、通过Java reflection APIs自动处理JavaBeans属性、国际化的提示和消息。
Struts项目的目标是为创建Javaweb应用提供一个开放源代码的framework。
Strutsframework的内核是基于例如JavaServlets,JavaBeans,ResourceBundles,和XML,以及各种JakartaCommons包的标准技术的灵活的控制层。
Struts提供了它自身的控制器组件,并整合了其他技术,以提供模型和视图。
对于模型,同大多数的第三方软件包一样,如Hibernate,iBATIS,或者ObjectRelationalBridge,Struts能够和标准数据连接技术相结合,如JDBC和EJB。
对于视图,Struts与JavaServerPages协同工作,包含JSTL和JSF。
2.2.2Struts优点
Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点。
使开发者能更深入的了解其内部实现机制。
除此之外,Struts的优点主要集中体现在两个方面:
Taglib和页面导航。
Taglib是Struts的标记库,灵活动用,能大大提高开发效率。
另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。
关于页面导航,我认为那将是今后的一个发展方向,事实上,这样做,使系统的脉络更加清晰。
通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。
尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。
Struts已逐步越来越多运用于商业软件,是一种非常优秀的J2EEMVC实现方式,如果你的系统准备采用J2EEMVC架构,那么,不妨考虑一下Struts。
2.2.3Struts工作原理
图2.2给出了一个Struts的基本结构:
图2.2Struts的基本结构
Struts是MVC的一种实现,它将Servlet和JSP标记(属于J2EE规范)用作实现的一部分。
Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展[3]。
2.2.4Struts的适用范围
如果需要写一个非常简单的应用,而且页面也很少,那么应该考虑“Model1”,仅使用serverpages。
但是,如果要开发一个比较复杂的应用,页面非常多,日后需要经常维护,那么Struts不失为一种明智之选。
另外,如果想混合使用Servlets和JSP的优点来建立可扩展的应用,Struts是一个不错的选择。
2.3JAVA语言简介
Java语言是目前为止推广最快的计算机语言,从开始设计到广泛流行不过5年,Java语启的迅猛发展得益于它与www的成功结合,但是Java语言最初不是针对WWW,而是准备用于消费类电子产品,由于SUN公司未能将这些产品推向市场,Java语言几乎夭折;
1994年WWW从字符界面发展到图形界面,SUN公司的创始人之一Bi11yJoy介入Java开发小组(Green小组),将Java语言定位到WWW上,才使Java语言真正焕发了生机,在极短的时间内流行起来。
Java语言的主要特点有[4]:
l)简单。
Java由C++衍生而来,基本概念、程序结构和语言风格和C++十分类似,而且抛弃了其中一些不是绝对必要的功能,比如头文件、预处理器、指针等,并通过垃圾自动收集器简化了内存管理。
Java语言是完全面向对象的程序设计语言,除了数值、布尔和字符三个基本数据类型外,其它所有类型都是对象,Java的程序代码全部以类的形式组织。
2)机器无关的字节码编译。
Java程序经过编译后生成的是与平台无关的字节码(.class文件),然后字节码由Java虚拟机解释执行。
3)结构中立。
为了做到不依赖于任何具体的系统,Java语言环境提供了许多用于访问底层操作系统功能的类组成的包,程序使用这些包,可以保证在所有支持Java的平台上正确运行。
4)安全性。
内存的分配及布局是在程序运行时由Java虚拟机决定的,并且采用了字节码验证机制,虚拟机对任何引入的字节码进行验证。
Java语言还有一些其它优点,诸如支持语言及多线程、自动内存管理、出色的错误处理、分布性、动态性,相对于解释执行而言Java的执行速度是很快的,而且Java语言提供了及时编译,即在执行前将Java程序编译为本地机器代码,提高了执行速度,但这些机器代码具有平台相关性,可移植性差。
Java运行系统一般由以下几个部分组成:
类装配器、字节码验证器、解释器、代码生成器、运行支持库。
Java运行系统执行字节码的过程可以分为三步:
代码的装入、代码的验证和代码的执行。
代码的装入由类装配器完成,它将一个类放在自己独立的名字空间,除了通过符号引用其它类外,该类不能影响其它类所在的空间。
装入了所有需要的类后,运行系统就可以确定整个可执行程序的内存布局,然后由字节码验证器对代码进行安全检查,通过安全检查后,字节码可以提交运行了。
运行方式有两种:
1、即时编译方式,将字节码转换为本地机器代码,然后执行机器代码。
2、解释执行,由解释器通过每次翻译并执行一小段代码来完成Java字节码程序的所有操作。
2.4JSP语言简介
基于浏览器客户端的应用程序,比传统的基于客户机/服务器的应用程序的好处之一,就是几乎没有限制的客户端访问和极其简化的应用程序部署和管理(要更新一个应用程序,管理人员只需要更改一个基于服务器的程序,而不是成千上万的安装在客户端的应用程序)。
这样,软件工业正迅速地向建造基于浏览器客户端的多层次应用程序迈进[5]。
这些快速增长的、精巧的基于WEB的应用程序要求开发技术上得以改进。
静态HTML对于显示相对静态的内容是不错的选择,然而,新的挑战却在于创建交互的基于WEB的应用程序,也就是,在这些程序中,页面的内容是基于用户的请求或者系统的状态,而不是预先定义的文字[6]。
对于这个问题,一个早期的解决方案是使用CGI-BIN取接口:
开发人员需要编写与接口相关的单独的程序,以及基于WEB的应用程序,后者通过WEB服务器来调用前者。
这个方案存在严重的扩展性问--每个新的CGI都要求在服务器上新增一个进程。
如果多个用户并发地访问该程序,这些进程将消耗该WEB服务器所有的可用资源,并且系统性能降低到极其低下的地步。
某些WEB服务器供应商已经尝试通过为他们的服务器提供“插件”和API来简化WEB应用程序的开发[7]。
这些解决方案是与特定的WEB服务器相关的,不能解决跨多个供应商的解决方案的问题。
例如,微软的ActiveserverPagesTM(ASP)技术,虽然使得在Web页面上创建动态内容更加容易,但是ASP也只能工作在微软的IIS和PersonalWEBServer上[8]。
虽然还存在其他的解决方案,但是都不能使一个普通的页面设计者能够轻易地掌握。
JSP有许多优点[9],如:
l)应用平台广。
几乎可以运行所有平台,只要该平台提供了Java虚拟机。
2)代码执行的高效性。
代码只在第一次运行时被编译一次,以后每次执行时都不用编译。
3)可移植性好。
JSP是基于Java语言的。
继承Java的一切特性,在一种平台的机器上编写的JSP代码,只要做很少的变动,就可原封不动地在另一种平台的机器上编译通过。
4)JSP技术可以和JavaBean结合使用,使用JavaBean节省很多时间。
5)强大的数据库技术。
JSP与数据库的连接非常方便,通过Java语言的JDBC技术,可以和任何与JDBC兼容的数据库建立连接,使用JSP能访问如Oracle,Sybase,MSSQLServer等主流数据。
2.5DB2简介
DB2是IBM公司的产品,起源于SystemR和SystemR*。
他支持从PC到UNIX,从中小型机到大型机;
从IBM到非IBM(HP及SUNUNIX系统等)各种操作平台。
他既可以在主机上以主/从方式独立运行,也可以在客户/服务器环境中运行。
其中服务平台可以是OS/400,AIX,OS/2,HP-UNIX,SUN-Solaris等操作系统,客户机平台可以是OS/2或Windows,Dos,AIX,HP-UX,SUNSolaris等操作系统。
DB2数据库核心又称作DB2公共服务器,采用多进程多线索体系结构,可以运行于多种操作系统之上,并分别根据相应平台环境作了调整和优化,以便能够达到较好的性能[10]。
DB2核心数据库的特色[11]:
l)支持面向对象的编程
DB2支持复杂的数据结构,如无结构文本对象,可以对无结构文本对象进行布尔匹配、最接近匹配和任意匹配等搜索。
可以建立用户数据类型和用户自定义函数。
2)支持多媒体应用程序
DB2支持大二分对象(BLOB),允许在数