JAVA语言的物流管理系统的设计与实现 - 图文
更新时间:2024-04-04 19:46:01 阅读量: 综合文库 文档下载
齐 齐 哈 尔 大 学
毕业设计(论文)
题 目 基于JAVA语言的物流管理系统的设计与实现 学 院 计控学院 专业班级 计本077班 学生姓名 赵玉广 指导教师 王柠 成 绩
2011年 6 月 16 日
齐齐哈尔大学毕业设计(论文)
摘 要
物流信息管理系统是一个企业不可缺少的一部分,它的内容对于企业的决策者和管理者来说都是至关重要的,因此,物流信息管理系统应该能够为用户提供充足的信息和快捷的查询手段,但一直以来人们使用传统的人工方式管理物流,这种管理方式存在着许多缺点,诸如效率低,保密性差等,而且将会产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。企业信息管理通常比较复杂,由于各类信息繁多难以集中,利用计算机支持企业高效率完成企业信息管理,是适应现代企业制度要求,推动企业信息管理走向科学化、社会化、规范化和自动化,从而提高企业信息管理效率。
本文首先介绍了以JAVA语言实现的运通物流管理系统的开发过程,以及开发中所用到的技术,并对系统进行了分析设计,最后通过相应的开发平台进行实现。该系统达到了数据的一致性和安全性,应用程序功能完备,符合了物流信息管理系统作为典型的信息管理系统的要求。用户可以对物流信息进行新增、查询、修改以及数据分析统计等操作,为了达到企业内部的要求,本系统也对人事信息和客户信息进行了管理,使物流信息系统更加完善。
关键词: 物流;信息管理;JAVA
I
齐齐哈尔大学毕业设计(论文)
Abstract
Logistics information management system is an integral part of an enterprise. Its content for business decision makers and managers, are crucial, therefore, logistics information management system should be able to provide sufficient information and efficient query means. But it has been the use of traditional manual management of logistics, such management, there are many shortcomings, such as low efficiency, poor confidentiality, and over time, will produce a large number of documents and data, for search, update and maintain all brought many difficulties. Enterprise information management is often complex and difficult to concentrate as many types of information, efficient use of computer support companies to complete enterprise information management, is to adapt to the modern enterprise system, enterprise information management to promote scientific, social, standardization and automation to enhance enterprise information management efficiency. This paper introduces the operation of the JAVA language through the development process of the logistics management system, design and system analysis, and finally through the appropriate platform for implementation. The system has reached the consistency and security of data, application functions, in line with the logistics information management system as a typical management information systems. Logistics information for the user can add, query, modify, and data analysis, statistics, etc, in order to achieve the requirements of the enterprise, the system also on the personnel information and customer information to the management, logistics information management more perfect.
Key words :Logistics; Information management;JAVA
II
齐齐哈尔大学毕业设计(论文)
目 录
摘要 ..................................................................................................................................................I Abstract ....................................................................................................................................... II
第1章 绪论 ............................................................................................................................. 1
1.1 选题依据和意义 ....................................................................................................... 1 1.2 本课题在国内外的研究现状 ................................................................................ 1 1.3 课题研究的内容及拟采取的方法 ....................................................................... 2 第2章 系统开发模式、工具及环境 ................................................................................ 3
2.1 系统开发模式 ........................................................................................................... 3 2.2 系统开发环境的选择.............................................................................................. 3 2.3 系统运行环境的选择.............................................................................................. 3 2.4 系统实现过程中技术的选择 ................................................................................ 3 第3章 需求分析—软件需求规格说明书 ....................................................................... 4
3.1 引言 ............................................................................................................................. 4 3.2 背景 ............................................................................................................................. 4 3.3 任务概述 .................................................................................................................... 5 3.3.1 目标 ..................................................................................................................... 5 3.3.2 用户的特点 ....................................................................................................... 5 3.4 需求规定 .................................................................................................................... 5 3.4.1 对性能的规定 ................................................................................................... 6 3.4.2 系统用例图 ....................................................................................................... 6 3.5 运行环境规定 ........................................................................................................... 9 第4章 系统总体设计 ......................................................................................................... 10
4.1 设计目的 .................................................................................................................. 10 4.2 系统模块结构设计: ............................................................................................... 10 4.3 系统功能结构描述 ................................................................................................ 11 4.4 系统功能机构图 ..................................................................................................... 11 第5章 系统的数据库设计 ................................................................................................ 14
5.1 数据库的概念 ......................................................................................................... 14 5.2 数据库的选择 ......................................................................................................... 14 5.3 数据库设计 .............................................................................................................. 14 第6章 系统开发技术介绍 ................................................................................................ 22
6.1 JAVA开发语言的选择 .......................................................................................... 22 6.2 MVC设计模式描述 ................................................................................................. 24
III
齐齐哈尔大学毕业设计(论文)
6.3 Struts2,Hibernate技术描述 ........................................................................ 25 6.3.1 Struts2描述 .................................................................................................. 25 6.3.2 Hibernate描述 ............................................................................................. 27 6.4 SQL语言描述 .......................................................................................................... 27 第7章 系统的详细设计与实现 ....................................................................................... 28
7.1 架构Struts2框架和描述 .................................................................................. 28 7.2 架构Hibernate框架和描述 .............................................................................. 29 7.3 系统功能的实现 ..................................................................................................... 30 7.3.1 系统的登录功能实现 ................................................................................... 31 7.3.2 运通物流系统首页面设计 .......................................................................... 31 7.3.3 人事管理模块实现 ........................................................................................ 32 7.3.4 货物信息管理实现 ........................................................................................ 35 7.3.5 车辆信息管理实现 ........................................................................................ 40 7.3.6 订单信息查询 ................................................................................................. 46 7.3.7 费用统计 ......................................................................................................... 48 结论 ............................................................................................................................................... 49 参考文献 ...................................................................................................................................... 50 致谢 ............................................................................................................................................... 51
IV
齐齐哈尔大学毕业设计(论文)
第1章 绪 论
1.1
选题依据和意义
此次毕业设计的选题主要来源于对齐齐哈尔市周边中小型物流公司和超市走访,了解到仍然有很多中小企业和超市对物流管理方面仍然处于纸和笔的操作。因此,在种种因素的影响下,使其部分物流管理仍然处于业务处理繁琐,工作效率低下的状态。为了达到信息化仓储、运输、车辆调度等管理,基于java的物流管理系统能够解决这一问题,并实现人机结合的方式,这也将是现代工作方式的主流。
管理信息系统作为各项技术、业务、高水平管理及工作自动化的方法和式,正在广泛应用,它是为了实现系统的硬件、系统软件、应用软件及数据的共享,已经成为越来越破切的任务。
人们生活工作与通信,目前都与信息的日益紧密,但很多的国内企业的仓库作业没有达到信息化,因此为实现信息数字化,开发中小型物流管理系统正是实现利用现有的信息基础设施,重点开发和推广应用于各类科技经济等数据库和网络资源服务系统,以便取得更大的社会效益有着总要的意义和价值。
1.2 本课题在国内外的研究现状
中国物流业近几年才开始起步,并进入发展期。由于我国计算机软件技术的发展迅速,也同时也解决了国内很多生产和管理技术的提升。因此,多数软件公司都以应用软件开发为主,实现办公自动化软件的推广和应用。多数以中小型企业管理软件为主,不论是制造还是运输、销售、仓储等方面都离不开计算机软件的管理。目前国内的物流管理系统都是根据公司规模的差距使物流管理系统的管理的内容也不尽相同,但是主要目的都是要以计算机为载体来解决当前庞大的数国外物流的发展不仅与社会经济和生产力的发展水平有关,同时也与科学技术发展的水平有关。国外的物流管理系统, 随着新经济和现代信息技术的迅还发展,不论是物流管理软件系统的开发,还是其他应用型软件开发,在实现的功能上都达到了很高的水平。
1.3 课题研究的内容及拟采取的方法
研究内容及方法:物流管理系统包含的内容非常的广泛,但是对于不同的公司对软件功能的需求有所不同,所以我们对物流管理系统的功能模块的构思和设计也有所不
1
齐齐哈尔大学毕业设计(论文)
同。主要运用Java web应用技术来实现该系统的功能,通过动态页面jsp来实现页面的显示和验证,应用Hibernate框架和Struts2框架来封装从而实现与数据库的交互和页面跳转达到了快速的软件开发。
2
齐齐哈尔大学毕业设计(论文)
第2章 系统开发模式、工具及环境
2.1 系统开发模式
在软件系统开发模式中,一般采用mvc模式,即视图层,逻辑层和控制层,但是在项目开发中,目前已经不局限于这种模式。 对于本系统的开发模式,我此次采用的是重新构建MVC架构:
1.系统开发模式主要分五层:JSP(HTML)视图层
[13]
、Struts2(使用它对动作Action
的跳转进行管理)控制层、具体的业务逻辑(javaBean)、数据持久层(DAO,基于Hibernate的DAO)、service层(该层用来负责为模式层提供对应的DAO的接口,而不是直接在模式层中进行调用,降低对数据持久层的依赖度)。
2.service层的介绍:本次应用service层,主要是对数据持久层进行再次的封装,使得上层的操作不用理解底层的具体使用,只需要通过service提供相应的接口方法即可。这种做法降低了各层之间的耦合度。
2.2 系统开发环境的选择
本次系统的开发环境我选择MyEclipse 7.0 软件作为编写程序的软件。该软件广泛应用于软件开发行业。由于版本的问题,MyEclipse6.0以下版本不支持Hibernate框架,所以我此次选择7.0版本。
MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。
2.3 系统运行环境的选择
系统运行环境,运通物流管理系统是基于Java Web 应用的系统软件,那么它就离
不开服务器对它的支持,所以在服务器上我选择tomcat6.0版本,在对Java代码的编译上,本系统应用的是Sun公司出品的Jdk6.0版本。
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的
3
齐齐哈尔大学毕业设计(论文)
一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。目前最新版本是6.0。
2.4 系统实现过程中技术的选择
目前软件开发都是基于框架开发的,目的是为了达到开发的快捷性,所以本次对运通物流管理系统的开发上,我也运用了这样的开发手段。
应用的技术简介:在当今企业级的开发环境之下处理面向对象与关系数据库的转化是非常繁琐也相当费时的。
1.Hibernate是适合与处理对象关系映射的一个工具。Hibernate [2]是「对象/关系对应」(Object/Relational Mapping)的解决方案,简写为ORM,简单的说就是将 Java 中的对象与对象关系,映像至关系型数据库中的表格与表格之间的关系,ORM这个术语指代一种映射数据的技术,它能够通过基于SQL的语法映射对象模型的数据到关系模型数据。这样就简化了对数据库的操作。
2.struts2框架:Struts是一个MVC框架(Framework),用于快速开发Java Web应用。
对于这两种技术,主要对项目的类,和方法,对象进行封装,因为在Java编程中,时刻都要将“封装”考虑在项目开发的整个过程中。这也降低了系统模块与模块,类与类之间的耦合度,使系统的结构更稳定。
4
齐齐哈尔大学毕业设计(论文)
第3章 需求分析—软件需求规格说明书
3.1 引言
需求分析是软件开发的重要组成部分,需求分析是用户对软件功能需求的描述,通过详细了解用户对软件功能的要求从而达到软件需求面向用户的目的。该软件需求规格说明书正是对用户需求做的详细分析的文档。以便作为程序员今后编写该软件时进行参考。
3.2 背景
编写背景:因对该运通管理系统的功能进行用户需求分析,从而编写该文档,该文档是对运通管理系统的功能进行描述和可行性分析,达到正确的功能描述的目的。
3.3 任务概述
3.3.1 目标
通过对运通管理系统用户的功能需求,编写需求文档,来记录分析该系统的具体功能和逻辑。 从而达到实现系统登录,入库管理,出入管理,库存管理,人事管理,以及车辆调度管理等模块的实现。为今后编写该软件程序做准备。
运通管理系统,主要是为了方便对物流过程中对货物流通进行科学化管理,方便管理过程中的繁琐过程,提高物流管理的效率,通过客户的订单的生成,其他的一系列任务直接由操作员在电脑前完成所有繁琐操作。
3.3.2 用户的特点
该系统是对企业内部人员使用的应用软件,它是基于web应用的,因此面向的用户是企业内部人员。 具备基础的计算机知识的人即可对本系统进行操作。
该系统包含了对企业内部的人事管理、客户信息管理、车辆调度和货物出入库信息管理、以及对货物状态的全程监管。确保了货物的流通状态的管理的顺畅。
3.4 需求规定
能够完全实现对公司产品流通过程中所有业务的包含,实现综合的管理和简单的操作即可,使操作简单化,可视化。在对系统要求方面要达到系统的稳定性。
5
齐齐哈尔大学毕业设计(论文)
3.4.1 对性能的规定
对系统的时间性要求:要求系统能够有快捷的操作响应。对系统编写代码是,优化系统结构和层次,达到提高系统性能的可操作性,提高系统效率。
对精度要求:对数据库信息的存储,减少对数据库信息的冗余。减少页面缓存。
3.4.2 系统用例图
系统用例图(Use Case Diagram)是在软件需求分析到最终实现的第一步,也是软件开发中重要的组成部分。
用例图定义:由参与者(Actor)、用例(Use Case)以及它们之间的关系构成的用于描述系统功能的动态视图称为用例图。
用例图(User Case)是被称为参与者的外部用户所能观察到的系统功能的模型图,呈现了一些参与者和一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。
用例图展示了用例之间以及同用例参与者之间是怎样相互联系的。用例图用于对系统、子系统或类的行为进行可视化,使用户能够理解如何使用这些元素,并使开发者能够实现这些元素。
以下是系统的用例图,使用用例图主要原因是它具有三个主要的作用:(1)获取需求;(2)指导测试;(3)还可在整个过程中的其它工作流起到指导作用。 1.登录模块用例图:
图3-1登录模块用例图
图3-1登陆了模块用例图:主要来描述系统的操作人员通过访问主页面来登录本系
6
齐齐哈尔大学毕业设计(论文)
统。此图也描述了系统的整个功能组成部分。 2.人事管理模块用例图:
图3-2人事管理模块用例图
图3-2人事管理模块用例图: 此图描述的是系统人事管理模块下的子系统的功能描述。通过访问系统的人事管理功能模块,来进行对员工信息管理,对客户信息管理。 从而对员工信息和客户信息进行操作。
3.货物信息管理用例图:
图3-3货物信息管理模块用例图:此图是对货物信息管理模块的用例进行描述,该模块主要包含货物出库,货物入库和盘点三个功能点,此图详细的描述了该系统货物信息管理中子系统的关系和功能点。
7
齐齐哈尔大学毕业设计(论文)
更信出库信息更新入库信息查看在途货物信息货物入库删除已处理订单货物出库修改货物信息货物信息管理模块运通系统用户货物基本信息查询查询在库货物信息生成客户订单库存盘点显示货物信息修改错误的订单图3-3货物信息管理模块用例图
4.车辆信息管理用例图:
图3-4车辆信息管理模块用例图
8
备份记录
齐齐哈尔大学毕业设计(论文)
图3-4车辆信息管理模块图:主要为客户描述车辆信息模块下的铁运、汽运、空运以及对车辆分配的功能描述。 5.货物信息查询模块用例图:
图3-5货物基本信息查询管理模块用例图
图3-5货物基本信息查询管理模块用例图:用于描述用户对货物信息的查询操作描述。
6.盘点信息模块用例图:
图3-6盘点信息管理模块用例图
图3-6盘点信息管理模块用例图:主要描述盘点库存功能用例内容,来对其子系统的概要描述。此模块包含对货物信息的费用计算。
3.5 运行环境规定
要对Windows XP 或Windows 7 系统兼容。系统必须具备安装Oracle10g和Tomcat6.0 的基本硬件要求。
9
齐齐哈尔大学毕业设计(论文)
第4章 系统总体设计
4.1 设计目的
系统设计又称为物理设计,是开发管理信息系统的第二阶段,本章是总体设计,其任务是设计系统的框架和概貌,此阶段是开发人员进行的工作,他们将系统设计阶段得到的目标系统的逻辑模型转换为目标系统的物理模型,该阶段得到工作成果――系统总体设计是下一个阶段系统实施的工作依据。
4.2 系统模块结构设计
图4-1是系统模块结构图,主要描述对此系统的功能结构的总体描述。该系统包含登录模块,人事管理模块,货物信息管理模块,车辆信息管理模块,货物信息查询以及费用统计等。此图采用Microsoft Office Visio 2003软件来生成的。 它详细的描述了本系统中各个模块的应用功能内容。
轻舟装饰BSS轻舟装饰客户管理系统龙发装饰报价系统东易日盛客服系统龙发装饰仓库管理系统业务系统决策支持系统。。。BtoB电子商务SaaS运营平台供求信息发布电子订单电子支付物流企业用户管理系统定制系统后台支持BtoC电子商务家装门户网上建材商城基础服务平台家装知识库论坛中心数据库支撑数据库主数据库甲企业库已企业库
图 4-1 系统模块结构图
10
齐齐哈尔大学毕业设计(论文)
4.3 系统功能结构描述
1.用户登录模块:实现用户登录后可对用户名和密码进行修改。并要求用户的验证在数据库后台进行验证,不是前台页面中对用户名和密码进行检验。为了达到安全性,系统登陆后不能再通过web浏览器的后退按键会退到此登陆页面。
2.人事管理模块:任何操作都离不开人员,因此对人员管理方面要实现对员工的信息的添加和更新删除等操作。另一方面是对客户信息的管理,也要具有查询和修改的功能。
3.货物信息模块: 要对货物入库和出库进行管理,对已经处理完的内容进行删除,并存入其他表中,达到数据有据可寻的目的。 另一点是对库存的信息进行定期盘点。对在途货物信息进行监控。
4.对公司运输车辆进行管理:主要是对车辆的调度,都要具备增加和更新的功能。对订单中采用车辆运输的部分,进行车辆分配。
5.对本系统基本信息的综合查询功能:按照订单查询,按车牌号查询车辆,按日期查询盘点内容等。
4.4 系统功能流程图
该图主要是对系统的功能流程的描述:当系统的客户有货物运输需求时,系统的管理员会对客户的需求进行分析,从而对客户的信息进行编辑。首先生成客户订单,客户订单中主要包含了客户的基本信息,比如客户的编号、客户的所属公司、客户的公司的所在地以及客户的联系方式等。
当客户订单生成后,会对客户的收货人进行添加。客户的收货人主要是对货物到达目的地后接受货物的人员的信息进行管理。主要包含联系人的姓名、地址、电话、以及Email等信息。
客户订单以及客户的联系人已经产生,那么此时就要对订单详细进行编辑,客户订单详细主要是对运输的货物进行详细的描述,包含数量,类别,货物名,货物条形码,以及货物的颜色,体积等内容。 它是对货物的信息的一个详细的描述,为系统管理员提供货物的详细信息作依据。
此时是货物的入库操作,当货物到达仓库后,要对货物进行货物入库操作,此时要记录货物是属于哪个订单货物,此时管理员要对其进行记录。 当货物入库后,系统操作员可以查看在库货物的信息。
当货物出库时,要记录出库货物是属于哪个订单的,同时要分配出库货物订单运输方式,管理员根据货物订单要求的运输方式分配相对应的运输方式。此操作包含汽运,铁运以及空运等方式,每次分配操作时,同时记录一条数据,使此数据和订单一一对应。
11
齐齐哈尔大学毕业设计(论文)
当货物出库分配运输方式后一律可以看做是“在途”状态。
生成客户订单货物入库生成客户信息客户需求生成订单详细信息分析货物出库铁运生成收货人信息系统用户分配运输方式空运车辆信息根据车辆信息分配车辆汽运货物管理订单管理
图4-2 系统功能流程图
分配运输方式时,铁运信息根据铁路运输的车次进行分配,空运按照不同时间的航
12
齐齐哈尔大学毕业设计(论文)
班进行分配,汽运管理信息是按照本公司内部的车辆进行有序化管理的。汽运管理分配的就是本公司内部的车辆,不同车辆的详细信息可以通过系统来管理。
在货物到达目的地时,收货人确认收货后,操作员改变货物“在途”状态,其订单上由操作员编辑货物是“否到达目的地”一项来标注货物订单。此时货物的订单就已经处理完毕。
13
齐齐哈尔大学毕业设计(论文)
第5章 系统的数据库设计
5.1 数据库的概念
当人么从不同角度描述数据库的概念是,往往会有不同的概念。例如,有人称数据库是一个“记录保存系统”(该定义强调了数据库是若干记录的集合)。又比如说数据库是“人们为解决特定的任务,以一定的组织方式存储在一起的相关的数据的集合”(该定义侧重于数据的组织)。也有人将数据库当做是“一个数据仓库”。当然,这些描述都很形象,但是并不是那么严谨。严格地说,数据库是“按照数据结构来组织、存储和管理数据的仓库”。
本系统将使用一直以来使用都最为广泛的关系模型作为数据库的建设依据。在用户的观点下,关系模型中数据的逻辑结构是一张二维表,一个关系对应通常说的一张表,并且关系的每一个分量必须是一个不可分的数据项。而一个基于关系模型的数据库则是由若干个二维表组成的。对于一些大型和中型的数据库,如Oracle,SQL Server 2000/7.0等都属于关系型数据库,同时它们所带有的数据库管理工具是其他小型数据库所没有的,而同时这些工具又为管理员的工作节省了很多的时间和财力。
5.2 数据库的选择
在选择数据库上,我选择目前市场上占有率最大的Oracle数据库,这次我应用的是Oracle 10g. 我们以前使用数据库连接,都是使用单联接(或单例模式),但是在大并发量出现的时候,总有可能会达到数据库连接数的上限。那么应用数据池(DATA POOL)可以解决系统因访问量过多而崩溃的问题。但是使用了数据池并不是为了解决连接数据库速度的问题,而是为了实现数据连接的稳定性和提高并发的能力。但是由于此系统是用于企业内部的,访问量的并发性要求不高,因此此系统部分内容采用数据库的单链接。
5.3 数据库设计
概念模型是对信息世界建模,其表示方法有很多,其中最为常用的是实体-联系模型,即E-R模型,它是用E-R图来描述现实世界的概念模型。E-R图中用矩形表示实体;用菱形表示联系。如图:5-1系统E-R图。
14
齐齐哈尔大学毕业设计(论文)
图5-1 系统E-R图
该图只是描述了系统的实体与实体之间的关系,并没有添加实体的属性内容。由图可知,系统的管理员对系统员工信息、货物入库出库信息、车辆信息、以及货物订单和客户信息都是一对多的关系。
Office Visio 2003 或者Office Visio2010 是一种便于 IT 和商务专业人员就复杂信息、系统和流程进行可视化处理、分析和交流的构图软件。因此这里用了此软件来画各种流程图,而不是用Microsoft Word2003或者是Microsoft Word2007,因为这会 使开发更加的快捷,而不至于因构图而浪费时间。为了清楚简便的描述出实体与其性之间的关系,用Microsoft Office Visio 2003软件生成了一张包含实体属性的完E-R图,见图5-2和图5-3。
15
齐齐哈尔大学毕业设计(论文)
ytrenshiPK ytrenshi_worknumytrenshi_nameytrenshi_sexytrenshi_chushengytrenshi_cardnoytrenshi_addressytrenshi_teltyrenshi_bumennumytbumenPKkhdingdanPK khdingdan_dnumkhdingdan_knumkhdingdan_ystypekhdingdan_fhkhdingdan_shrnumkhdingdan_ftimekhdingdan_dtimekhdingdan_stimehkdingdan_typehkdingdan_czyuanhkdingdan_czaddkhdingdan_beizhuPK shouhrenshouhren_numshouhren_gongsishouhren_nameshouhren_addressshouhren_telshouhren_emailshouhren_dingshouhren_typeshouhren_beizhuoutputimagePKddxiangxiPK dd_iddd_ddnumdd_cpnumdd_cptmdd_cpleibiedd_cpnamedd_cpyansedd_cptijidd_cpshuliangdd_cpdanweidd_xianghaodd_ysfangshidd_ysbianhaodd_beizhu output_numoutput_ddnumoutput_cpleibieoutput_cpnameoutput_suoshuoutput_cpnumoutput_cptiaooutput_cpxianghaooutput_yckshuliangoutput_shijichukuoutput_danwei output_outtimeoutput_outtypeoutput_outtypeoutput_mddtypeoutput_beizhu ytbumen_numytbumen_namekucunxinxiPKPK kucun_numkucun_ddnumkucun_leibiekucun_cpnamekucun_suoshukucun_cpnumkucun_tiaoxingkucun_xianghaokucun_cpshuliangkucun_rukushukucun_danweikucun_rktimekucun_ckshukucun_beizhuinputimagePK input_numinput_ddnuminput_cpleibieinput_cpnameinput_suoshuinput_cpnuminput_cpxianghaoinput_cpshulianginput_shijirukuinput_danweiinput_rutimeinput_rutypeinput_beizhuytclientPK ytclient_numytclient_gsnameytclient_gsaddytclient_perytclient_telytclient_emailytclient_dingnumytclient_beizhukulishiPK kulishi_rnumkulishi_dnumkulishi_cpleibiekulishi_cpnamekulishi_suoshukulishi_cpnumkulishi_cptiaokulishi_cpxiangkulishi_cpshukulishi_rkshukulishi_danweikulishi_rutimekulishi_chutimekulishi_beizhuzaituPK zaitu_idzaitu_chunumzaitu_dingnumzaitu_beizhu
图 5-2 系统表的完整关系模型
16
齐齐哈尔大学毕业设计(论文)
ddxiangxi1PKdd_id dd_ddnumdd_cpnumdd_cptmdd_cpleibiedd_cpnamedd_cpyansedd_cptijidd_cpshuliangdd_cpdanweidd_xianghaodd_ysfangshidd_ysbianhaodd_beizhucheckPKcheck_id check_ddnumcheck_yunfeicheck_cunfeicheck_banfeicheck_zongecheck_timecheck_beizhukongyunPKkongyun_idqiyunPKqiyun_id qiyun_ddnumqiyun_chenumqiyun_zhongzhuanqiyun_ctimeqiyun_dtimeqiyun_sijiqiyun_peiyuanqiyun_beizhu kongyun_ddnumkongyun_bancikongyun_zhongzhuankongyun_qtimekongyun_dtimekongyun_tidankongyun_peiyuankongyun_beizhutieyunPKtieyun_id tieyun_ddnumtieyun_checitieyun_zhongzhuantieyun_ctimetieyun_dtimetieyun_peiyuantieyun_beizhuytrenshiPKytrenshi_worknum ytrenshi_nameytrenshi_sexytrenshi_chushengytrenshi_cardnoytrenshi_addressytrenshi_teltyrenshi_bumennum cheliangPKcheliang_numcheliang_zaicheliang_longcheliang_wcheliang_hcheliang_sijicheliang_gongnumcheliang_type
图 5-3 系统表的完整关系模型
以上两个图 5-2和图5-3描述了运通物流管理系统的表与表之间的字段的关系,它更鲜明的显示了表结构的关系。例如:系统的人事表 ytrenshi 与车辆信息表 chenliang 对应的主外键关系一目了然,cheliang表中主键是cheliang_num 外键是cheliang_siji (员工编号),对应ytrenshi表中的主键ytrenshi_worknum 关系。
17
齐齐哈尔大学毕业设计(论文)
系统表的建立:
表5-1 用户表 ytuser
字段描述 编号 用户名 用户密码
字段名
ytuser_id ytuser_name ytuser_pwd
数据类型
varchar2(10) varchar2(30) varchar2(30)
是否为空
notnull notnull notnull
主键 PK
表5-1 用户表中主键是用户编号,其中用户名唯一,不能为空,用户密码不能为空,其中用户名和用户密码是用户进入系统的为一标识。
表5-2人事表 ytrenshi
字段描述
工作证号 姓名 性别 出生年月 身份证号 居住地址 联系电话 部门编号
字段名
ytrenshi_worknum ytrenshi_name ytrenshi_sex
ytrenshi_chusheng ytrenshi_cardno ytrenshi_address ytrenshi_tel
tyrenshi_bumennum
数据类型
varchar2(30) varchar2(30) varchar2(30) varchar2(50) varchar2(30) varchar2(50) varchar2(20) varchar2(30)
是否为空
notnull notnull notnull notnull notnull notnull notnull notnull
主键 PK FK
表5-2是系统的人事表信息,它存储了该系统的使用的公司的整体员工信息。 其中员工的工作证号是主键,它存储了员工的姓名、性别、出生年月、省份证号、居住地址、联系方式、部门编号等信息,其中部门编号是外键。由于任何一个系统或者一个企业都离不开人员,因此此处设计一个对企业内部人员信息的表,其中部门编号标识了员工所在的部门,部门编号是部门表的主键,那么此处可以通过部门编号来查询部门信息。从而查看员工所在的部门信息。
表5-3用户部门表 ytbumem
字段描述
字段名
数据类型
是否为空
主键 PK
部门编号 ytbumen_num varchar2(30) notnull 部门名称 ytbumen_name varchar2(30) notnull
表5-3用户部门表 主要由部门编号和部门名称组成,其中部门编号是主键。它存储了部门信息的详细内容。
表5-4客户信息表 ytclient
18
齐齐哈尔大学毕业设计(论文)
字段描述 客户编号 公司名称 公司所在地址 联系人姓名 联系电话 email 订单号 备注
字段名
ytclient_num ytclient_gsname ytclient_gsadd ytclient_per ytclient_tel ytclient_email ytclient_dingnum ytclient_beizhu
数据类型 varchar2(30) varchar2(30) varchar2(50) varchar2(30) varchar2(20) varchar2(30) varchar2(50) varchar2(100)
是否为空 notnull notnull notnull notnull notnull notnull notnull
主键 PK
表5-4客户信息表主要存储客户的基本信息,主要由客户编号、公司名称、公司所在地址、联系人姓名、联系电话、Email和订单号、备注组成。它主要是存储客户的基本信息。
表5-5收货人信息表 shouhren
字段描述 编号 收获公司 收货人 所在地 联系电话 email 订单号 收获状态 备注
字段名
shouhren_num shouhren_gongsi shouhren_name shouhren_address shouhren_tel shouhren_email shouhren_ding shouhren_type shouhren_beizhu
数据类型
varchar2(30) varchar2(30) varchar2(30) varchar2(50) varchar2(30) varchar2(50) varchar2(50) varchar2(10) varchar2(100)
是否为空
notnull notnull notnull notnull notnull notnull notnull notnull
主键 PK
表5-5收货人信息表,主要存储收货人的基本信息。 其中主键是收货人编号。
表5-6 客户订单表 khdingdan
字段描述 客户编号 订单编号 运输方式 发货目的地 收获人编号 预发时间 遇到达时间 订单生成时间
字段名
khdingdan_knum khdingdan_dnum khdingdan_ystype khdingdan_fh khdingdan_shrnum khdingdan_ftime khdingdan_dtime khdingdan_stime
数据类型 varchar2(50) varchar2(50) varchar2(30) varchar2(50) varchar2(50) varchar2(50) varchar2(50) varchar2(50)
是否为空 notnull notnull notnull notnull notnull notnull notnull notnull
主键 PK
19
齐齐哈尔大学毕业设计(论文)
是否已经发货 操作员姓名 操作员人所在地 备注 hkdingdan_type hkdingdan_czyuan hkdingdan_czadd khdingdan_beizhu varchar2(10) varchar2(30) varchar2(50) varchar2(100) notnull notnull notnull
表5-6客户订单表主要描述的是客户编号、客户发货时间、到达时间等基本信息,为订单详细信息提供客户的基本信息作简单描述和存储。
表5-7订单详细表 ddxiangxi
字段描述 订单序号 订单编号 产品编号 产品条形码 产品类别 产品名称 产品颜色 产品体积 产品数量 单位 产品箱号 运输方式 运输编号 备注
字段名
dd_id dd_ddnum dd_cpnum dd_cptm dd_cpleibie dd_cpname dd_cpyanse dd_cptiji dd_cpshuliang dd_cpdanwei dd_xianghao dd_ysfangshi dd_ysbianhao dd_beizhu
数据类型 varchar2(50) varchar2(50) varchar2(50) varchar2(50) varchar2(50) varchar2(50) varchar2(50) varchar2(50) varchar2(30) varchar2(20) varchar2(50) varchar2(20) varchar2(50) varchar2(100)
是否为空 notnull notnull notnull notnull notnull notnull notnull notnull notnull notnull notnull notnull notnull
主键 PK
表5-7订单详细表,主要存储订单的详细信息,它主要是对货物信息的描述。通过客户订单的订单编号可以查找到详细的订单内容。也就是这个表的内
表5-8入库信息表 Inputimage
字段描述
入库编号 订单号 产品类别 产品名称 产品所属公司 产品编码 产品箱号 产品总数量 实际入库数量 单位
字段名
input_num input_ddnum input_cpleibie input_cpname input_suoshu input_cpnum
input_cpxianghao input_cpshuliang input_shijiruku input_danwei
数据类型
varchar2(50) varchar2(50) varchar2(50) varchar2(50) varchar2(50) varchar2(50) varchar2(50) varchar2(50) varchar2(50) varchar2(10)
notnull notnull notnull notnull notnull notnull notnull notnull notnull notnull
主键
PK
20
齐齐哈尔大学毕业设计(论文)
入库时间
入库是否已完成 备注 input_rutime input_rutype input_beizhu varchar2(50) varchar2(10) varchar2(50) notnull notnull
表5-8入库信息表主要存储已经入库的货物信息,也就是货物信息的详细记录。其中主键是入库编号。由系统自动生成。
表5-9 出库信息表 outputimage
字段描述 出库编号 订单号 产品类别 产品名称 产品所属公司 产品编号 产品条形码 产品箱号 应出库总数量 实际出库数量 单位 出库时间
是否已完全出库 是否已到达目的地 备注
字段名
output_num output_ddnum output_cpleibie output_cpname output_suoshu output_cpnum output_cptiao output_cpxianghao output_yckshuliang output_shijichuku output_danwei output_outtime output_outtype output_mddtype output_beizhu
数据类型 varchar2(50) varchar2(50) varchar2(50) varchar2(50) varchar2(50) varchar2(50) varchar2(50) varchar2(50) varchar2(30) varchar2(30) varchar2(10) varchar2(50) varchar2(10) varchar2(10) varchar2(100)
是否为空 notnull notnull notnull notnull notnull notnull notnull notnull notnull notnull notnull notnull notnull notnull
主键 PK
表5-9出库信息表,主要存储出库信息记录。标识货物的状态,是否已经完成出库货物的操作。
表5-10库存信息表 Kucunxinxi
字段描述
入库编号 订单号 产品类别 产品名称 产品所属公司 产品编号 产品条形码 产品箱号 产品数量
字段名
kucun_num kucun_ddnum kucun_leibie kucun_cpname kucun_suoshu kucun_cpnum kucun_tiaoxing kucun_xianghao kucun_cpshuliang
数据类型
varchar2(50) varchar2(50) varchar2(50) varchar2(50) varchar2(50) varchar2(50) varchar2(50) varchar2(30) varchar2(30)
是否为空
notnull notnull notnull notnull notnull notnull notnull notnull notnull
主键 PK
21
齐齐哈尔大学毕业设计(论文)
实际入库数量 单位 入库时间 出库数量 备注 kucun_rukushu kucun_danwei kucun_rktime kucun_ckshu kucun_beizhu varchar2(30) varchar2(10) varchar2(50) varchar2(30) varchar2(100) notnull notnull notnull notnull
表5-10库存信息表主要存储已经入库的信息。在这里它是辅助入库信息的记录的,为了达到便于用户查询的目的建立的一张信息表。
22
齐齐哈尔大学毕业设计(论文)
第6章 系统开发技术介绍
6.1 JAVA开发语言的选择
现在,市场上可以选购的应用开发产品很多,流行的也有数十种。目前在我国市场上最为流行,使用最多,最为先进的可用作企业级开发语言的产品有:
SUN公司的Java
Microsoft公司的Visual Basic Microsoft公司的Visual C Borland公司的Delphi Powersoft公司的PowerBulider
在目前市场上这些众多的程序开发工具中,有些强调语言的弹性与执行效率;有些偏重于可视化程序开发工具所带来的便利性与效率的提高,各有各的优点和特色,也满足了不同用户的不同需求。我的网站选择Java语言开发,其原因基于以下几点:
Java是一种简单的、面向对象的、分布式的、健壮的、安全的、结构中立的、可移植的、性能很优异的[12]、多线程的、动态的语言。
1. 简单
Java的风格类似于C++,并且摒弃了C++中容易引发程序错误的地方,如指针和内存管理。 此外Java提供了丰富的类库。
2. 面向对象
面向对象可以说是Java最重要的特性。Java语言的设计完全是面向对象的。Java支持静态和动态风格的代码继承及重用。
3. 分布式[14]
Java包括一个支持HTTP和FTP等基于TCP/IP协议的子库。因此,Java应用程序可凭借URL打开并访问网络上的对象,其访问方式与访问本地文件系统几乎完全相同。
4. 健壮
Java致力于检查程序在编译和运行时的错误。Java自己操纵内存减少了内存出错的可能性。Java提供Null指针检测数组边界、检测异常出口、字节代码校验。
5. 安全
Java的安全性可从两个方面得到保证。一方面,在Java语言里,像指针和释放内存等C++功能被删除,避免了非法内存操作。另一方面,当Java用来创建浏览器时,语言功能和浏览器本身提供的功能结合起来,使它更安全。
23
齐齐哈尔大学毕业设计(论文)
6.结构中立
为了建立Java作为网络的一个整体,Java将它的程序编译成一种结构中立的中间文件格式。只要有Java运行系统的机器都能执行这种中间代码。Java源程序被编译成一种高层次的与机器无关的byte-code格式语言,这种语言被设计在虚拟机上运行,由机器相关的运行调试器实现执行。
7. 可移植的
Java的可移植性一直是Java程序设计师们的精神指标,也是Java之所以能够受到程序设计师们喜爱的原因之一,最大的功臣就是JVM的技术。JAVA编译器产生的目标代码(J-Code) 是针对一种并不存在的CPU--JAVA虚拟机(JAVA Virtual Machine),而不是某一实际的CPU。JAVA虚拟机能掩盖不同CPU之间的差别,使J-Code能运行于任何具有JAVA虚拟机的机器上。
8. 高性能
Java可以在运行时直接将目标代码翻译成机器指令。Sun用直接解释器一秒钟内可调用300,000个过程。翻译目标代码的速度与C/C++的性能没什么区别。
9. 多线程[16]
Java支持多线程,多线程功能使得在一个程序里可同时执行多个小任务。线程,有时也称小进程,是一个大进程里分出来的小的独立的进程。
10. 动态
Java的动态特性是其面向对象设计方法的发展。它允许程序动态地装入运行过程中所需要的类,这是C++语言进行面向对象程序设计所无法实现的。Java编译器不是将对实例变量和成员函数的引用编译为数值引用,而是将符号引用信息在字节码中保存下传递给解释器,再由解释器在完成动态连接类后,将符号引用信息转换为数值偏移量。
6.2 MVC设计模式描述
MVC[12]是Model-View-Controller的简称,它是一种设计模式,它把应用程序分成三个核心模块:模型、视图、控制器,它们各自处理自己的任务。
视图是用户看到并与之交互的界面,作用包括向用户显示相关的数据、接受用户的输入、向模型查询业务状态、接受模型发出的数据更新事件,从而对用户界面进行同步更新。
模型表示业务数据和业务逻辑,是应用程序的主体部分。一个模型能为多个视图提供数据,因此提高了代码的可重用性。
控制器接受用户的输入并调用模型和视图去完成用户的需求。当Web用户单击Web页面中的递交按钮来发送HTML表单时,控制器本身不输出任何东西和做任何处理。控
24
齐齐哈尔大学毕业设计(论文)
制器接收请求并决定调用哪个模型组件去处理请求,然后决定调用哪个视图来显示模型处理返回的数据。
MVC的优点表现在如下几个方面:
1.首先,最重要的一点是多个视图能共享一个模型。同一个模型可以被不同的视图重用,大大提高了代码的可重用性。
2.由于MVC的三个模块相互独立,改变其中一个不会影响其他两个,所以依据这种设计思想能构造良好的松偶合的构件。
3.此外,控制器提高了应用程序的灵活性和可配置性。控制器可以用来联接不同的模型和视图去完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段。
MVC处理过程的结构图,见图6-1。
图6-1 MVC模式图
6.3 Struts2,Hibernate技术描述
6.3.1 Struts2描述
Struts2[9] 是目前Java Web MVC框架中不争的王者。Struts2由一组相
协作的类(组件)、Serlvet以及jsp tag lib组成。由于Struts 实质上就是在JSP Model2的基础上实现的一个MVC框架,所以基于struts构架的web应用程序基本上符
25
齐齐哈尔大学毕业设计(论文)
合JSP Model2即MVC的设计标准。其中的模型是JavaBean,控制器是ActionServlet、Action,视图是JSP、Struts客户化标签。
Struts2的体系与Struts1体系的差别非常大,因为Struts2使用WebWork的设计核心,而不是Struts1的设计核心。Struts2中大量使用拦截器来处理用户的请求,从而允许用户的业务逻辑控制器与Servlet API分离。
Struts2 控制器组件主要包括:充当Struts2框架的中央控制器的ActionServlet组件、充当每个子应用模块的请求处理器的RequestProcessor组件、负责处理一项具体的业务的Action组件。其工作流程如图6-2:
图6-2 Struts2流程图
Struts2 的另一特点是使用ActionForm Bean,ActionForm Bean也是一种JavaBean,除了具有一些JavaBean的常规方法,还包含一些特殊的方法,用于验证HTML表单数据以及将其属性重新设置为默认值。Strut2s框架利用ActionForm Bean来进行View组件和Controller组件之间表单数据的传递。JSP文件使用Struts2标签读取修改后的ActionForm Bean的信息,重新设置HTML表单。
26
齐齐哈尔大学毕业设计(论文)
6.3.2 Hibernate描述
Hibernate是连接Java应用程序和关系数据库的中间件,它封装了JDBC,实现了Java对象的持久化;封装了所有数据访问细节,使业务逻辑层专注于业务逻辑。并且通过对象关系映射(Object Relational Mapping,简称ORM)解决了面向对象与关系数据
库之间存在的互不匹配的现象。如图6-3:
如图6-3 Hibernate流程图
6.4 SQL语言描述
SQL(Structure Query Language结构化查询语言)自1974年被提出,至今已经是世界上最流行的关系数据库的标准语言。
SQL语言的分类
1. DDL(Data Definition Language)数据定义语言,其作用包括创建数据库对象、删除数据库对象、修改数据库对象(create、drop、alter)。
2. DML(Data Manipulation Language)数据操纵语言,其作用包括查找数据信息、插入数据信息、删除数据信息、更改数据信息(select、 insert、 delete、 update)。
3. DCL(Data Control Language)数据控制语言,作用主要对是授权数据库对象(grant, revoke)。
27
齐齐哈尔大学毕业设计(论文)
第7章 系统的详细设计与实现
7.1 架构struts2框架和描述
1.在项目的lib目录下加载以下struts2相关类包如图7-1。
图7-1 struts2相关类包
他类包是配合struts2 进行其他操作的相关辅助类包。
2.配置一个struts.xml文件,到src包下:
其中这几个包都是struts2 配置文件需要的,struts2-core-2.1.6 是struts2的核心包,其
28
齐齐哈尔大学毕业设计(论文)
3.配置web.xml文件内容:
xmlns=\
xmlns:xsi=\xsi:schemaLocation=\http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd\
此处配置web.xml 文件的目的是为了配置Sturts2的入口,系统是通过web.xml 文件来找到Struts2 的配置文件的位置以及其他相关的内容的。所以配置此内容是必须有的。
7.2 架构Hibernate框架和描述
1.右键项目名,点击Myeclipse,再点击AddHibernate…导入Hibernate相关类包。同时在src包下建立hibernate.cfg.xml配置文件。
2.由于hibernate自身分装了配置数据库驱动,在配置hibernate框架的同时,利用hibernate自身的特点,来建立数据库的链接,如图7-2。图7-2主要显示的是配置Hibernate时候要配置的数据库驱动操作。它显示了数据库的驱动的类型和数据库用户的用户名等信息。
29
齐齐哈尔大学毕业设计(论文)
图7-2配置Hibernate链接
3.在Hibernate配置文件下(hibernate.cfg.xml)中配置数据池操作如下:
7.3 系统功能的实现
7.3.1 系统的登录功能实现
图7-3系统登录功能图
30
齐齐哈尔大学毕业设计(论文)
系统登录功能页面主要是通过Macromedia Dreamweaver 8 软件来实现的前台页面。通过css样式和div标签实现页面的组合。系统登录的用户名和密码都是通过系统的数据库的表Tyuser中的username和password两个字段来控制的。在后台处理上,为了达到系统的安全性,当系统用户进入系统后,不能通过Web页面的后退按钮再次返回该页面。系统的标签通过action属性也就是
正在阅读:
四川省2011年统筹公选县(处)级领导干部开考职位及资格审查合格人员名单 doc01-19
人教版初二上册地理复习资料06-29
小品剧本:三人搞笑小品02-08
统计学习题和答案03-22
新苏教版小学数学三年级上册第2课时两、三位数除以一位数(首位能整除)公开课优质课教学设计03-10
回自己的祖国去 说课稿10-28
我最喜欢的节日中秋节作文350字07-13
野外烧烤作文04-01
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 管理系统
- 语言
- 实现
- 物流
- 图文
- 设计
- JAVA
- 国家林业局关于做好退耕还林工程大户承包管理工作工作的通知
- 地质灾害防治现状及发展趋势分析
- 无机及分析化学练习题
- 恒兴饲料科技有限公司年产30.7万吨饲料加工项目环境影响报告书(
- 广州市集体建设用地使用权流转管理办法实施细则
- 2017年中级财务管理微笔记高频考点汇总 - 图文
- 笼鸡有米汤锅近,野鹤无食天地宽
- “一套表”工作手册 - 图文
- 青岛版五年级下册科学练习题
- MC56F84789上使用PWM和ADC,驱动双PMS电机FOC
- 2018-2019年滨州市小升初数学模拟试题(共10套)附详细答案
- 浅析媒体报道校园暴力事件引起的传播效果
- 小学四年级信息技术期末考试试题
- 数据结构习题集答案(C语言版严蔚敏)
- 《分离工程》练习题
- 首字母填空首字母填空主要考查学生的语言综合运用能力
- BEC14-17口语真题
- 科研项目外委任务管理问题分析
- 自考《计算机网络管理》课程大纲说明
- 国内经编行业发展情况