家电维修配件仓库管理系统毕业论文

更新时间:2024-06-09 19:05:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

(此文档为word格式,下载后您可任意编辑修改!)

河北经贸大学毕业论文

毕业设计家电配件仓库管理系统

专业名称: 计算机科学与技术 班 级: 计算机一班 学生姓名: 肖瑞祥 指导老师: 蒋建伟

1 完成时间: 2012年5月 2

摘 要

随着经济的不断繁荣以及加入WTO后市场环境的变化,对企业的生产经营提出了更高的要求,企业必须综合利用各种先进制造技术,在网络与信息技术的支持下,改进现在的生产经营模式和组织结构,才能在市场竞争中赢得更多的份额。

本毕业设计的内容是设计并且实现一个基于web技术的仓库配件管理系统,故而系统主要以j2EE作为开发基础,主要使用了struts2+spring+ Management System,运输管理系统。OMS(Order Management System,定单管理系统)、SMS(Service Management System,服务管理系统)。其中,WMS主要提供了一整套仓库业务以及作业管理系统。通过仓库管理系统可以实现库位分配自动化和智能化;提高仓库作业效率和速度,提供准确的库存信息,并使之与实际库存变化同步。

国内的很多企业,由于信息的记录、收集、汇总、处理分析还处于比较低的水平,记录中信息分散、格式随意、应用单一,收集中不及时、不全面、不完善、保留不科学,汇总时口径不一、主题多元、结果不一,处理分析方法落后、效率低下、只有短期,难以支持趋势等。 1.2课题研究的意义

仓库管理系统是通过入库业务、出库业务、库存调拨、库存调整,结合批次管理、物料对应、库存盘点、质检管理、实时库存管理等功能综合运用的管理系统,对库存业务的物流和成本管理全过程进行有效控制和跟踪,实现完善的企业仓库信息管理。仓库管理系统的投入,将使仓库的管理更加正规化,为产品的出入库管理部门和销售部门提供了方便,降低了仓库的损耗。企业可以对售出的产品进行跟踪服务,同时也免去了销售人员按以往惯例亲自前往用户处去核实货物情况的麻烦,提高了办事效率,节省了费用,而且还避免了不必要的业务纠纷,维护了企业长期与用户建立的良好信誉。

2.系统的开发环境与技术简介

2.1 系统开发环境 2.1.1 MyEclipse

在开发本平台中所用到的开发工具就是是知名的java项目开发工具MyEclipse。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的一种扩展,利用MyEclipse,我们可以在数据库和J2EE的开发、发布,以及在应用程序服务器的整合当中极大地提高系统的工作效率。MyEclipse是一个功能非常丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。

在结构上,MyEclipse的特征可以被分为7类: J2EE模型,WEB开发工具,EJB开发工具,应用程序服务器的连接器,J2EE项目部署服务,数据库服务,MyEclipse整合帮助。

对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。

简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。 2.1.2 数据库简介

数据库使用的是MySQL开源数据库。

MySQL的特性:使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性 。支持AIX、FreeBSD、HP-UX、Mac OS、OpenBSD、OS2 Wrap、Solaris、Windows等多种操作系统 。为多种编程语言提供API。这些编程语言包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。支持多线程充分利用CPU资源。优化的SQL查询算法,有效地提高查询速度。既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言

支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。提供TCPIP、ODBC和JDBC等多种数据库连接途径。提供用于管理、检查、优化数据库操作的管理工具。可以处理拥有上千万条记录的大型数据库。

MySQL的应用:与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体成本。

2.1.3 Tomcat

Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。

Tomcat 是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。

这里的诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。

2.2 系统开发的思想与技术

2.2.1 JSP技术与MVC模式以及系统的基本框架

本系统采用jsp技术,基于MVC模式开发,使用SSH框架

(struts2、spring、,再到dao,再回到action,回到jsp页面,action

主要处理来自页面的请求,dao主要是和数据库的交互,struts2主要用在action,处理来自页面的请求,处理完请求后跳转回页面。Hibernate主要用在dao,包括对数据库的增、删、改、查的操作,spring控制程序的流程。

2.2.2 S.S.H框架的优点

S.S.H框架是J2EE应用中struts2+spring+ of Control)容器、非侵入性(No intrusive)的框架,并提供AOP(Aspect-oriented programming)概念的实现方式,提供对持久层(Persistence)、事务(Transaction)的支持,提供MVC Web 框架的实现,并对一些常用的企业服务API(Application Interface)提供一致的模型封装,是一个全方位的应用程序框架(Application framework),除此之外,对于现存的各种框架(Struts、JSF、Hibernate 等),Spring 也提供了与它们相整合的方案。

Spring框架由以下7个部分组成

图2.2 Spring框架构成

3.Hibernate框架

Hibernate 是一个开放源码的 ORM 持久层框架。作为优秀的持久层框架实现,Hibernate 框架提供了强大、高性能的对象到关系型数据库的持久化服务,开发人员可以使用面向对象的设计进行持久层开发。简单的说,Hibernate 只是一个将持久化类与数据库表相映射的工具,每个持久化类实例均对应于数据库表中的一个数据行而已。用户只需直

接使用面向对象的方法操作此持久化类实例,即可完成对数据库表数据的插入、删除、修改、读取等操作。

图2.3 Hibernate框架

3.系统总体设计 3.1 总体功能模块

家电配件仓库管理系统分超级管理员、维修工程师、仓库管理员和仓库保管员四个角色。总功能如图3-1所示。

图3-1.系统功能需求分析 3.2 超级管理员功能模块

超级管理员功能包括:对仓库管理员、维修工程师、仓库保管员的管理,如图3-2所示。

图3-2.超级管理员功能图 3.3 仓库管理员功能模块

仓库管理员主要功能包括:商品管理、配件入库管理、配件出库管理、库存管理。仓库管理员的功能图如图3-3所示。

图3-3.仓库管理员的功能图 3.4 仓库保管员功能模块

仓库保管员主要功能:从仓库管理员收到单据,对商品进行出库、

入库操作。仓库保管员功能模块如图3-4所示

图3-4.仓库保管员功能图 3.5 维修工程师功能模块

维修工程师主要功能:向仓库管理员申请家电货物配件。维修工程师功能模块如图3-5所示。

图3-5.维修工程师功能图

4系统详细设计与实现

4.1 系统和数据库的配置

系统按通用的BS(浏览器、服务器)模式进行设计(如图4-1) 数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率,以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。 4.2 概念模型设计

概念模型设计的典型方法是用E-R图方法,即用实体-联系模型表示。E-R方法是用E-R图来描述显示世界,E-R图包含三个基本成分:实体、联系、属性。它直观易懂,能够比较准确地反映现实世界的信息联系,从概念上表示一个数据库的信息组织情况。 本系统E-R图如下

4.3 数据库表的设计

数据库的内容以及表的设计直接影响到开发的系统的质量,好的设计可以达到方便易用的功能。

根据系统的要求,我们采用的数据库是MySQL。具体信息如下。

4.3.1 t_user表的设计

t_user表是所有用户的信息表,如图4.3.1所示:

id

数据类型 bigint varchar date date varchar varchar varchar date varchar varchar varchar varchar 字段大小 20 255 255 255 255 255 255 255 255 255 255 255 说明 用户编号(主键) 用户姓名 出生日期 创建日期 用户密码 联系电话 在系统中的角色 入职日期 实际姓名 用户名 性别 薪资 字段名称 address birthday createtime password phone role indate truename username sex pay id bianhao changjia leixing name pici xinghao zhiliang

4.3.2 t_product表的设计

t_product表是仓库管理员管理仓库货物的表,如图4.3.2所

数据类型 bigint varchar varchar varchar varchar varchar varchar varchar 字段大小 20 255 255 255 255 255 255 255 货物ID 货物在仓库里的编号 厂家 货物类型 货物名称 货物批次 货物型号 货物质量 说明 示:

字段名称 4.3.3 t_jiehuo表的设计

t_jiehuo表是仓库保管员的接货信息的表,如图4.3.3所示:

id

数据类型 bigint varchar varchar int bigint bigint bigint 字段大小 20 255 255 255 11 20 20 20 货物ID 发货人 接货状态 入库时间 货物数量 货物在仓库里的编号 仓库管理员 仓库保管员 说明 字段名称 fahuoren rukushijian shuliang productid userid user2id id chuhuoshijian shuliang productid userid user2id user3id id shuliang

jiehuozhuangtai varchar 4.3.4 t_chuhuo表的设计

t_chuhuo表是仓库保管员的出货信息表,如图4.3.4所示:

数据类型 bigint varchar int bigint bigint bigint bigint 字段大小 20 255 255 11 20 20 20 20 货物ID 出货时间 接货状态 货物数量 货物在仓库里的编号 仓库管理员 仓库保管员 维修工程师 说明 字段名称 jiehuozhuangtai varchar 4.3.5 t_kucun表的设计

字段名称 数据类型 bigint int 字段大小 20 11 货物ID 货物数量 说明 t_kucun表是仓库管理员和保管员查看仓库内货物信息的表,如

图4.3.5所示:

productid id shuliang productid userid user2id

bigint 20 货物在仓库里的编号 4.3.6 t_shenqing表的设计

字段名称 数据类型 bigint varchar bigint bigint bigint 字段大小 20 255 255 20 20 20 5.系统功能实现

货物ID 接货状态 货物数量 货物在仓库里的编号 仓库管理员 仓库保管员 说明 t_shenqing表是维修工程师向仓库管理员申请货物配件的表,

如图4.3.6所示:

jiehuozhuangtai varchar 5.1 系统功能实现的主要框架

5.1.1 S.S.H框架 SSH框架就是struts2,spring,>

DBPool

proxool.xml

org..ProxoolConnectionProvider

true true

org. context management -->

name=\>thread <>

这是Hibernate的配置文件,在该文件中

name=\首先加载了连接池的一个配置,就是加载了数据库的连接信息,

name=\表示控制台打印SQL语句,并格式化SQL语句,org.\>

都表示当前数据库建立起来的表和类之间的映射关系,比如

class=\表示User类和t_user表之间的建立起来的对应关系,其他也都类似

5.1.3 struts配置文件

extends=\>

class=\ >

index.jsp login.jsp

${url}

type=\>${url}

这是struts的配置文件,该文件的作用主要起到来自JSP的请求的跳转分配的作用.该struts配置文件是个总的配置文件。

5.1.4 spring配置文件

Spring 在本项目中主要用到了IOC的功能,就是把对象实例化 <

bean=\ >

bean=\ >

bean=\ >

bean=\ >

class=\ >

bean=\ >

class=\ >

bean=\ >

bean=\ >

本段代码是把DAO实例化的代码,通过spring的IOC模式

bean=\ >

bean=\ >

bean=\ >

bean=\ >

bean=\ >

bean=\ >

本段代码是把ManageAction实例化的代码,原理也是spring的IOC模式。

Spring的其他配置:

class=\>

classpath:>

class=\=\>

transaction-manager=\>

expression=\>

advice-ref=\>

5.2 系统功能实现的主要模块 5.2.1 登陆页面

登录代码:

用户登录操作

public String login() throws IOException {

HttpServletRequest request =

ServletActionContext.getRequest();

String username = request.getParameter(\); String password = request.getParameter(\); String role = request.getParameter(\);

User user = userDao.selectBean(\ +

username

+ \and password= '\ + password + \and userlock=0

and role=\

+ role);

if (user != null) {

HttpSession session = request.getSession(); session.setAttribute(\, user); this.setUrl(\); return \;

} else {

HttpServletResponse response =

ServletActionContext.getResponse();

response.setCharacterEncoding(\); response

.getWriter() .print(

\用

户名或者账号错误');window.location. null;

}

本段代码是程序的登陆代码,首先从获取从页面输入的用户名和密

码还有用户的登陆角色,然后调用userDao.selectBean方法,从数据库里取出该条记录进行判断,如果该条记录存在,则说明用户登陆成功,同时把用户信息存在session里面方便调用,如果记录为空,则跳转到登陆页面,同时提醒用户错误信息。 5.2.2 超级管理员

本文来源:https://www.bwwdw.com/article/olw6.html

Top