当前位置:文档之家› 西科大自考毕业论文速成模版

西科大自考毕业论文速成模版

摘要

随着电子商务技术和网络技术的快速发展,现代物流技术也在不断进步。目前,我国物流业处于快速增长期,物流总需求增长很快,物流企业快速成长,物流业市场化、社会化、专业化水准提高。物流业发展对于提高国民经济增长质量和效益的作用日益明显。

物流管理(Logistics Management)是为了满足客户的需求,对商品、服务和相关信息从产出点到消费点的合理、有效的流动和储存,进行规划、实施与控制的过程。

仓储管理(WMS)属于物流管理范畴,是物流信息化管理的第二层——“运作执行层”。仓储管理(WMS)主要是从整个商品流通过程的购、销、储、运各个环节的链式关系中,研究货物储存的收、管、发及其相关的经营活动,以及围绕货物储存业务所开展的对人、财、物的运用与管理。要包括商品在库信息、入库信息、出库信息、商品位置信息、仓库位置信息以及负责人情况,供应商信息、商品分类信息等。

本系统中包含10个功能模块:员工信息管理,员工登录信息管理,车辆信息管理,车队信息管理,供应商信息管理,公告信息管理,仓库信息管理,商品信息管理,出库信息管理,入库信息管理。

SSH(Struts+Spring+Hibernate)技术,典型的J2EE三层结构,分为表现层、中间层(业务逻辑层)和数据服务层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。

数据库采用MySQL,可用于Unix,Windows,以及OS/2等平台,因此它可以用在个人电脑或者是服务器上。

【关键词】物流管理,仓储管理,SSH,MySql

Abstract

Along with the electronic commerce technology and the rapid development of network technology, modern logistics technology is also constantly in progress. At present, China's logistics industry is in a period of rapid growth, the logistics total demand growth is very rapid, logistics enterprises to grow rapidly, the logistics industry to commercialize, socialization, specialization level. Development of the logistics industry to raise the quality and efficiency of economic growth effect is

increasingly apparent.Logistics management ( Logistics Management ) is in order to meet customer demand for goods, services, and related information from the point of origin to the point of reasonable, effective flow and storage, planning, implementation and control process.

Warehouse management ( WMS ) belongs to the category oflogistics management, logistics information management second layers --" operation execution layer". Warehouse management ( WMS ) is mainly from the entire process of commodity circulation in the purchase, transport, storage, sell each link chain relations, research, collection, cargo storage tube and its related business activities, as well as around the cargo storage business carried out by the pair of people, money, the use and management of. To include commodities in the library of information, storage information, a database of information, merchandise, warehouse location information location information and the responsible persons, supplier information, information classification of goods etc..

This system contains 10 modules: information management staff, staff login information management, vehicle information management, team management information, supplier information management, information management, warehouse information management, product information management, warehousing management, warehousing management information.

SSH ( Struts+Spring + Hibernate ) technology, the typical three layer J2EE structure, divided into the presentation layer, the intermediate layer ( business logic layer and data service layer ).

Three layer system business rules, data access and work on checking the legitimacy in the intermediate layer processing. The client does not directly interact with the database, but through the component and a middle layer to establish a connection, and by the middle layer to interact with the database.

The database using MySQL, can be used in Unix, Windows, and OS / 2 as a platform, so it can be used in a personal computer or server.

【Key words】logistics management, warehousing management, SSH, MySql

引言

在开发物流管理系统——仓储管理之前,对SSH和MySQL有了充分的了解,清楚了程序开发流程。SSH也俗称三层架构:第一层:实体类层,第二层:业务逻辑层,第三层:表示层(显示层)。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。通过SSH可以完全对数据库进行操作,例如建立、复制、删除数据等等。

目录

第一章需求分析. (1)

§1.1项目背景 (1)

§1.2项目内容 (1)

§1.3项目意义 (1)

第二章技术介绍 (3)

§2.1J AVA简介 (3)

§2.2JSP技术简介 (3)

§2.3MVC简介 (3)

§2.4S TRUTS 简介 (3)

§2.5S PRING 简介 (4)

§2.6H IBERNATE 简介 (4)

§2.7SSH简介 (5)

§2.8M Y SQL的简介 (5)

第三章详细设计及编码实现 (7)

§3.1物流管理系统仓储管理介绍 (7)

§3.2数据库设计 (7)

§3.3SSH数据访问的实现 (13)

§3.4系统登录功能模块的实现 (22)

§3.5员工信息管理功能模块的实现 (25)

总结 (33)

致谢 (34)

参考文献 (35)

第一章需求分析

1.1项目背景

随着电子商务技术和网络技术的快速发展,现代物流技术也在不断进步。目前,我国物流业处于快速增长期,物流总需求增长很快,物流企业快速成长,物流业市场化、社会化、专业化水准提高。物流业发展对于提高国民经济增长质量和效益的作用日益明显。

物流管理(Logistics Management)是为了满足客户的需求,对商品、服务和相关信息从产出点到消费点的合理、有效的流动和储存,进行规划、实施与控制的过程。

仓储管理(Warehousing Management)是物流系统的一部分,它从初始点到消费点存储产品(原材料、零部件、半成品、成品),提供存储状态、条件和处置等信息。现代物流中的仓储是在物流体系中是唯一的静态环节,随着经济的发展,需求方式出现了个性化、多样化的改变,生产方式也变为多品种、小批量的柔性生产方式。物流的特征由少品种、大批量变为多品种、少批量或多批次、小批量,仓库的功能也从重视保管效率逐渐变为重视流通功能的实现。储存相当于物流体系的一个节点。仓储是物流中的重要环节,储存功能相对于整个物流体系来说,既有缓冲与调节的作用,也有创值与增效的功能。仓储管理在现代物流管理中处于重要地位,它不但起着物品储藏的功能而且对财务控制、生产供应、销售支持都有很大的作用。合理的库存控制对减少物品的资金占用有起着关键作用,而且合理的库存是为生产有序进行提供了可能,商品的销售也受库存的影响。因此仓储管理的控制是否合理、高效是提升企业竞争力的关键。

1.2项目内容:

?员工信息管理:对员工信息进行增加/修改/删除/查看操作

?员工登录信息管理:对员工登录信息进行增加/修改/删除/查看操作

?车辆信息管理:对车辆信息进行增加/修改/删除/查看操作

?车队信息管理:对车辆信息进行增加/修改/删除/查看操作

?供应商信息管理:对车队信息进行增加/修改/删除/查看操作

?公告信息管理:对公告信息进行增加/修改/删除/查看操作

?仓库信息管理:对仓库信息进行增加/修改/删除/查看操作

?商品信息管理:对商品信息进行增加/修改/删除/查看操作

?出库信息管理:对出库信息进行增加/修改/删除/查看操作

?入库信息管理:对入库信息的增加/修改/删除/查看操作

1.3 项目意义

仓储管理是指对仓库及其库存物品的管理,仓储系统是企业物流系统中不可缺少的子系统。物流系统的整体目标是以最低成本提供令客户满意的服务,而仓储系统在其中

发挥着重要作用。仓储活动能够促进企业提高客户服务水平,增强企业的竞争能力。现代仓储管理已从静态管理向动态管理发生了根本性的变化,对仓储管理的基础工作也提出了更高的要求。

仓库业务正常进行,能保征企业仓库货物安全,快速,准确的发货。

物流管理系统(仓储管理)是对商品在库信息、入库信息、出库信息、商品位置信息、仓库位置信息以及负责人情况,供应商信息、商品分类信息等进行管理。使仓库业务更方便,快捷。

第二章技术介绍

2.1 Java简介

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(byte code),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。

2.2 JSP技术简介

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与Java Servlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。

2.3 MVC简介

MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。

MVC模式最早由Trygve Reenskaug在1974年提出,是施乐帕罗奥多研究中心(Xerox PARC)在20世纪80年代为程序语言Smalltalk发明的一种软件设计模式。MVC模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。除此之外,此模式通过对复杂度的简化,使程序结构更加直观。软件系统通过对自身基本部份分离的同时也赋予了各个基本部分应有的功能。专业人员可以通过自身的专长分组:

◆(控制器Controller)- 负责转发请求,对请求进行处理。

◆(视图View) - 界面设计人员进行图形界面设计。

(模型Model) - 程序员编写程序应有的功能(实现算法等等)、数据库

专家进行

◆数据管理和数据库设计(可以实现具体的功能)。

2.4 Struts 简介

Struts是Apache软件基金会(ASF)赞助的一个开源项目。它最初是Jakarta 项目中的一个子项目,并在2004年3月成为ASF的顶级项目。它通过采用Java Servlet /JSP技术,实现了基于Java EE Web应用的Model-View-Controller〔MVC〕设计模

式的应用框架〔Web Framework〕,是MVC经典设计模式中的一个经典产品。

Struts的优点主要集中体现在两个方面:Taglib和页面导航。Taglib是Struts 的标记库,灵活动用,能大大提高开发效率。 Struts这个名字来源于在建筑和旧式飞机中使用的支持金属架。它的目的是为了减少在运用MVC设计模型来开发Web应用的时间。你仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制。

2.5 Spring 简介

Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。

控制反转模式(也称作依赖性介入)的基本概念是:不创建对象,但是描述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。容器(在 Spring 框架中是 IOC 容器)负责将这些联系在一起。

Spring 设计的核心是 org.springframework.beans 包,它的设计目标是与JavaBean 组件一起使用。这个包通常不是由用户直接使用,而是由服务器将其用作其他多数功能的底层中介。下一个最高级抽象是 BeanFactory 接口,它是工厂设计模式的实现,允许通过名称创建和检索对象。BeanFactory 也可以管理对象之间的关系。

BeanFactory 支持两个对象模型。

●单态模型提供了具有特定名称的对象的共享实例,可以在查询时对其进行检

索。Singleton 是默认的也是最常用的对象模型。对于无状态服务对象很理

想。

●原型模型确保每次检索都会创建单独的对象。在每个用户都需要自己的对象

时,原型模型最适合。 bean 工厂的概念是 Spring 作为 IOC 容器的基础。

IOC 将处理事情的责任从应用程序代码转移到框架。正如我将在下一个示例

中演示的那样,Spring 框架使用 JavaBean 属性和配置数据来指出必须设置

的依赖关系。

2.6 Hibernate 简介

Hibernate是一种Java语言下的对象关系映射解决方案。它是使用GNU宽

通用公共许

可证发行的自由、开源的软件。它为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架。Hibernate也是目前Java开发中最为流行的数据库持久层框架,现已归JBOSS所有。

它的设计目标是将软件开发人员从大量相同的数据持久层相关编程工作中解放出来。无论是从设计草案还是从一个遗留数据库开始,开发人员都可以采用Hibernate。

Hibernate不仅负责从Java类到数据库表的映射(还包括从Java数据类型到SQL 数据类型的映射),还提供了面向对象的数据查询检索机制,从而极大地缩短的手动处理SQL和JDBC上的开发时间。

2.7 SSH 简介

SSH(Struts+Spring+ Hibernate),典型的J2EE三层结构,分为表现层、中间层(业务逻辑层)和数据服务层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。

表现层是传统的JSP技术,自1999年问世以来,经过多年的发展,其广泛的应用和稳定的表现,为其作为表现层技术打下了坚实的基础。

中间层采用的是流行的Spring + Hibernate,为了将控制层与业务逻辑层分离,又细分为以下几种。

Web层,就是MVC模式里面的“C”(controller),负责控制业务逻辑层与表现层的交互,调用业务逻辑层,并将业务数据返回给表现层作组织表现,该系统的MVC框架采用Struts。

Service层(就是业务逻辑层),负责实现业务逻辑。业务逻辑层以DAO层为基础,通过对DAO组件的正面模式包装,完成系统所要求的业务逻辑。

DAO层,负责与持久化对象交互。该层封装了数据的增、删、查、改的操作。

POJO,持久化对象。通过实体关系映射工具将关系型数据库的数据映射成对象,很方便地实现以面向对象方式操作数据库,该系统采用Hibernate作为ORM框架。

Spring的作用贯穿了整个中间层,将Web层、Service层、DAO层及PO无缝整合,其数据服务层用来存放数据。

2.8 MySQL的简介

MySQL是一个开放源代码的关系数据库管理系统,原开发者为瑞典的MySQL AB 公司,该公司于2008年被Sun收购。2009年,Oracle收购Sun公司,MySQL成为Oracle 旗下产品。

MySQL最初的开发者的意图是用mSQL和他们自己的快速低级例程(ISAM)去连接表格。不管怎样,在经过一些测试后,开发者得出结论:mSQL并没有他们需要的那么快和灵活。这导致了一个使用几乎和mSQL一样的API接口的用于他们的数据库的新的SQL接口的产生,这样,这个API被设计成允许为用于mSQL而写的第三方代码更容易移植到MySQL。

MySQL由于性能高、成本低、可靠性好,已经成为最流行的开源数据库,被广泛地应用在Internet上的中小型网站中。随着MySQL的不断成熟,它也逐渐用于更多大规模网站和应用,比如维基百科、Google和Facebook等网站。非常流行的开源软件组合LAMP中的“M”指的就是MySQL。

MySQL数据库可以称得上是目前运行速度最快的SQL语言数据库。除了具有

许多其它数

据库所不具备的功能和选择之外,MySQL数据库是一种完全免费的产品,用户可以直接从网上下载数据库,用于个人或商业用途,而不必支付任何费用。

总体来说,MySQL数据库具有以下主要特点:

◆使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性

◆支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、

OS/2 Wrap、Solaris、Windows等多种操作系统

◆为多种编程语言提供了API。这些编程语言包括C、C++、Eiffel、Java、Perl、

PHP、Python、Ruby和Tcl等。

◆支持多线程,充分利用CPU资源

◆优化的SQL查询算法,有效地提高查询速度

◆既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作

为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名

◆提供TCP/IP、ODBC和JDBC等多种数据库连接途径

◆提供用于管理、检查、优化数据库操作的管理工具

◆可以处理拥有上千万条记录的大型数据库

第三章详细设计及编码实现

3.1物流管理系统仓储管理介绍

图3.1物流管理系统仓储管理图

物流管理系统仓储管理分为:超级管理员,仓库管理员,人事管理员;

(1)超级管理员的权限:

?员工信息管理

?员工登录信息管理

?车辆信息管理

?车队信息管理

?供应商信息管理

?公告信息管理

?仓库信息管理

?商品信息管理

?出库信息管理

?入库信息管理

(2)仓库管理员的权限:

?供应商信息管理

?仓库信息管理

?商品信息管理

?出库信息管理

?入库信息管理

( 3 ) 人事管理员的权限

?员工信息管理

3.2 数据库设计

数据库在整个系统设计中起着举足轻重的作用,任何数据都要在数据库中进行存储以保证数据在以后的操作实现成为可能。数据库设计是程序功能性设计的基础,只有数据库设计完后程序员才能进行功能性设计,程序员根据数据库结构实现相应的软

件功能。

下面介绍该系统的数据库整体设计,该系统采用轻量化的数据库解决方案,采用MySQL数据库。因为该系统是整个物流系统的一个功能模块要实现的是仓储管理,所以数据库中的相关数据涉及到,职员信息、供应商信息、商品信息、商品出库单信息、商品入库单信息、仓储位置信息、商品在仓库中的位置信息等。

物流管理系统(仓储管理模块)整个数据库的结构如下:

表3.2 carteaminfotb(车队信息表)

表3.3 commcatetb(商品分类信息表)

表3.6 employeeinfotb(职员信息表)

表3.9 goodslocationtb(商品所在库区域信息表)

表3.10 goodsrowstb(商品所摆放排号表)

表3.11 goodsseatstb(商品摆放座号表)

表3.12 messageinfotb(公告信息表)

表3.17 suppliertb (供应商信息表)

表3.19logingradetb (登录权限信息表)

3.3 SSH数据访问的实现

图3.2 SSH数据访问图

(1)数据库的连接配置是在applicationContext.xml中

class="org.springframework.jdbc.datasource.DriverManagerDataSourc e">

value="com.mysql.jdbc.Driver">

value="jdbc:mysql://127.0.0.1:3306/logisticmgdb">

(2)持久化的实现

hibernate为应用程序提供了高效的O/R关系映射和查询服务,为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架。

Hibernate将表映射为对象:

public class Employeelogintb implements java.io.Serializable { private String loginid;

private Employeeinfotb employeeinfotb;

private Logingradetb logingradetb;

private String loginpassword;

private String ischeck;

private Set messageinfotbs = new HashSet(0);

// Constructors

/**default constructor*/

public Employeelogintb() {

}

/**minimal constructor*/

public Employeelogintb(String loginid, Logingradetb logingradetb, String loginpassword) {

this.loginid = loginid;

this.logingradetb = logingradetb;

this.loginpassword = loginpassword;

}

/**full constructor*/

public Employeelogintb(String loginid, Employeeinfotb employeeinfotb,

Logingradetb logingradetb, String loginpassword, String ischeck,

Set messageinfotbs) {

this.loginid = loginid;

this.employeeinfotb = employeeinfotb;

this.logingradetb = logingradetb;

this.loginpassword = loginpassword;

this.ischeck = ischeck;

this.messageinfotbs = messageinfotbs;

}

// Property accessors

public String getLoginid() {

return this.loginid;

}

public void setLoginid(String loginid) {

this.loginid = loginid;

}

public Employeeinfotb getEmployeeinfotb() {

return this.employeeinfotb;

}

public void setEmployeeinfotb(Employeeinfotb employeeinfotb) { this.employeeinfotb = employeeinfotb;

}

public Logingradetb getLogingradetb() {

return this.logingradetb;

}

public void setLogingradetb(Logingradetb logingradetb) { this.logingradetb = logingradetb;

}

public String getLoginpassword() {

return this.loginpassword;

}

public void setLoginpassword(String loginpassword) { this.loginpassword = loginpassword;

}

public String getIscheck() {

return this.ischeck;

}

public void setIscheck(String ischeck) {

this.ischeck = ischeck;

}

public Set getMessageinfotbs() {

return this.messageinfotbs;

}

public void setMessageinfotbs(Set messageinfotbs) {

this.messageinfotbs = messageinfotbs;

}

}

Employeelogintb.hbm.xml配置文件

table="employeelogintb" catalog="logisticmgdb">

class="com.jcx.lmsproject.data.Employeeinfotb" fetch="select" lazy="false">

class="com.jcx.lmsproject.data.Logingradetb" fetch="select"

lazy="false">

(3)DAO类

DAO模型是设计关系数据库系统结构的对象类的集合。它们提供了完成管理一个关系型数据库系统所需的全部操作的属性和方法,这其中包括创建数据库,定义表、字段和索引,建立表间的关系,定位和查询数据库等。

EmployeelogintbDAO.java

public class EmployeelogintbDAO extends HibernateDaoSupport {

private static final Log log =

LogFactory.getLog(EmployeelogintbDAO.class);

// property constants

public static final String LOGINPASSWORD = "loginpassword";

public static final String EMPLOYEEID = "employeeid";

public static final String ISCHECK = "ischeck";

protected void initDao() {

// do nothing

}

public void save(Employeelogintb transientInstance) {

log.debug("saving Employeelogintb instance");

try {

getHibernateTemplate().save(transientInstance);

log.debug("save successful");

} catch (RuntimeException re) {

log.error("save failed", re);

throw re;

}

}

public void saveorUpdate(Employeelogintb transientInstance) { log.debug("saving or update Employeelogintb instance");

try {

getHibernateTemplate().saveOrUpdate(transientInstance);

log.debug("save or update successful");

} catch (RuntimeException re) {

log.error("save or update failed", re);

throw re;

}

}

public void delete(Employeelogintb persistentInstance) { log.debug("deleting Employeelogintb instance");

try {

getHibernateTemplate().delete(persistentInstance);

相关主题
文本预览
相关文档 最新文档