基于java的仓库管理系统毕业论文(含源文件)


获取项目源文件,学习交流联系Q:1225467431


摘 要
黑河学院本科生毕业论文(设计)
学士学位毕业论文(设计、创作)
基于JSP企业库存管理系统的设计与实现
目 录 TOC 1-2
摘 要 II
ABSTRACT III
前 言 IV
第一章 绪论 1
1.1 课题研究的背景 1
1.2 课题研究的目的和意义 1
1.3 系统设计思想 2
1.4 系统开发技术 2
第二章 系统分析 4
2.1 可行性分析 4
2.2 需求分析 5
第三章 系统总体设计 8
3.1 系统结构设计 8
3.2 数据库设计 9
第四章 系统详细设计与实现 13
4.1 系统详细设计 13
4.2 系统实现 14
第五章 系统测试 17
5.1 软件测试计划 17
5.2 测试结果 17
总 论 19
参考文献 20
致 谢 21
摘 要
随着经济的不断繁荣以及加入WTO后市场环境的变化,对企业的生产经营提出了更高的要求,企业必须综合利用各种先进制造技术,在网络与信息技术的支持下,改进现在的生产经营模式和组织结构,才能在市场竞争中赢得更多的份额。随着企业规模的扩大,企业库存管理系统将发挥越来越重要的作用。高效方便的企业库存管理系统,可以为企业的生产和经营提供坚强的后盾和有力的支持。
本文所设计的企业库存管理系统以标准的库存管理模式为蓝本,基于JSP开发出一个可以用于一般企业的库存管理系统,实现了库存管理的高效性、实时性与安全性。替换了传统的人力管理企业库存的笨拙形式。系统主要提供一个仓库业务及其作业管理的信息存储和检索系统。通过对产品的入库管理、出库管理、产品调拨管理,仓库人员管理等功能记录和统计产品的出库、入库和调拨的各类信息,并能够产生报表,也可对不同岗位的仓库人员设置登录后的权限,使其对应完成各自的工作,从而提高了工作效率,实现了仓库人员对仓库的综合管理。
系统的测试表明,本系统可以方便快捷地实现仓库管理中的产品的登记、产品的出库、产品的入库、产品的调拨和产品的盘点等工作,同时节省人力物力为企业赢得效益,也使企业的仓库管理井井有条,为企业的健康发展创造良好的条件。
关键词:企业库存管理系统;JSP;仓库管理
ABSTRACT
With the continuous economic prosperity and after joining WTO,the change of market environment,production and operation of enterprises put forward higher requirements,enterprises must utilize all kinds of advanced manufacturing technology,network and information technology support,improve the operation and organization structure,ability is in market competition to win more share。With the expansion of enterprise scale,enterprise inventory management system will play a more and more important role.Efficient enterprise inventory management system,for enterprise production and operation to provide a strong backing and support.
The design of the enterprise inventory management system to the standard pattern of inventory management based on JSP modeled,can be used to develop a general enterprise inventory management system,the inventory management efficiency,timeliness and security.To replace the traditional human resource management inventory is the clumsy form.System to provide a major warehousing operations and operations management information storage and retrieval system.Through to the product storage management,a database management,product allocation management,warehouse management and other functions to record and statistical products warehousing,storage and transfer of all kinds of information,and the ability to generate statements,but also on different positions of the warehouse staff set login permission,which correspond to complete their work,thus improving the work efficiency,realize the integrated management of the warehouse warehouse staff.
System test shows that,this system can conveniently realize the warehouse management of product registration,product delivery,the storage products,product allocation and inventory of products,at the same time,save manpower and material resources for the enterprise to win the benefit,also make the enterprise warehouse management be arranged in good order,for the healthy development of enterprises to create a good condition.
Keywords:enterprise inventory management system;JSP;warehouse management
前 言
企业库存管理体系在企业中占据着核心的地位。企业库存在企业的整个供应链中起到至关重要的作用,如果不能保证正确的、及时的、准确的产品进货入库、销售出库、产品调拨等流程,将会导致管理费用的增加,信誉度降低等负面效果,从而影响企业的竞争力[1]。所以库存管理是企业物流系统中的重要环节,是企业实现现代化管理的基础。因此,在研究和开发企业管理系统时,大多把库存管理系统作为突破口。
随着当今科学技术的高速发展,方便、快捷的管理手段已经成为所有管理部门的迫切要求。如今的仓库作业和库存控制作业已十分复杂化多样化,仅靠传统的、简单的、静态的仓储管理已无法保证企业各种资源的高效利用。以前仅靠人工记忆和手工录入,不但费时费力,而且容易出错,给企业带来巨大损失。所以一直以来人们所用的传统人工方式管理仓库已经渐渐被淘汰,因为这种管理方式已经存在着许多缺点,如:效率低、保密性差等。另外,由于时间一长,将产生大量的文件和数据,这对于查找、更新和维护产品带来了不少的困难。所以能否对库存进行科学的、有效的管理,将直接影响企业其他各部门的生产运作的好坏。
随着计算机信息管理系统越来越受到企业的重视。库存管理系统成为一个企业单位不可缺少的一部分,对于企业的决策者和管理者来说都是至关重要的,因此,企业库存管理系统应该能够为用户提供充足的信息和快捷的查询手段[2]。特别是随着企业规模的不断扩大,产品数量的急剧增加,所生产产品的种类也会不断地更新,有关产品的各种信息量也会成倍增长。
库存管理系统的实施将帮助企业的仓库管理人员对库存物品的入库、出库、移库、盘点等操作进行全面的控制和管理。该系统可帮助用户方便的管理库存物品的数量,了解库存的基本情况,使管理员可以及时获取库存业务各方面的准确情况和数据,帮助企业领导根据市场变化做出快速反应。库存管理系统是一个多层次的管理系统,可以通过灵活的设置实现不同层次的管理。
当然作为计算机应用的一部分,使用计算机对仓库信息进行管理,有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够来极大地题号仓库管理效率。
仓库管理系统同时又是一个人机系统。仓库管理系统是信息系统的一个子系统,它以计算机技术和软件技术为技术基础,同时将现代管理理论、现代管理方法及各级管理人员融为一体,最终为某个组织整体的管理与决策服务,是由人和计算机组成的能进行管理信息的收集、传递、存储、处理、维护和使用系统。
相信随着仓库管理系统的广泛应用,定能成为将来物流行业仓库管理方面必不可缺少的主流。
第一章 绪论
1.1 课题研究的背景
物流是有形物品从出发点到最终消费点的流动存储活动,具体包括运输、保管、包装、装卸、搬运、流通加工及信息处理,从职能上可以分为:供应物流、生成物流、销售物流、回收物流和废弃物流五个职能。
从70年代开始,计算机技术开始应用到物流领域。随着物流市场和物流信息化的发展,物流软件市场也应运而生并迅速发展起来,国内外出现了一大批物流软件供应商和物流软件。物流软件作为管理软件,较其它应用软件呈现先进性、高效性、可靠性和安全性等特点;较其它管理软件,如ERP(Enterprise Resource Planning),具有以下特点:实施风险小,实施迅速;效益显著、见效快。
根据物流软件结构分类,就目前物流软件所使用的应用范围来说,物流软件包括如下几个子系统:WMS(Warehouse Management System,仓库管理系统)、TMS(Transportation Management System,运输管理系统)、OMS(Order Management System,定单管理系统)、SMS(Service Management System,服务管理系统),其中,WMS主要提供了一整套仓库业务以及作业管理系统[3]。通过仓库管理系统可以实现库位分配自动化和智能化;提高仓库作业效率和速度,提供准确的库存信息,并使之与实际库存变化同步。
目前国内外对此类系统的开发与研究也是很有实用性的,通常可以采用B/S(Browser/Server)架构,支持多种数据库;提供系统集成接口等技术;系统提供Web service接口,可通过XML同其它信息系统进行数据实时交互,可导入各类数据,并可导出Excel, PDF等数据。基本上能满足各企业的自身特点,来进行库存方面的管理,同时,该类系统又都在不断地深入与发展,来适用更多的企业,一般都能运用于各个企业的库存管理,但是都没有针对大众的广泛应用,只能运用某个企业或单位,这一点还有待于今后的进一步开发与实践。
今后此类软件的发展趋势将会向条码库存管理系统发展,现阶段,伴随物流及管理信息化、网络化的发展,应用条码技术进行库存管理、实现仓库作业自动化,将是一个必然的发展趋势,也是需要迫切解决的一个现实问题。随着信息化技术的不断提高和应用的日渐普及,更多的商品拥有自己的条码,而且,使用条码化工作代替传统作业模式,减少了手工输入,这样不但提高了作业效率,还能确保资料正确,并减少因人为失误所造成的损失。
1.2 课题研究的目的和意义
随着企业规模的扩大,管理信息系统也发挥越来越重要的作用。作为企业管理信息系统关键组成部分的仓库管理系统的应用给企业带来巨大的效益。采用仓库管理系
统目的是使企业改变其传统的人工记忆和手工录入模式,应用数据库技术使海量数据的存储与处理成为很方便的事情,为了大幅缩短主要业务流程的处理时间,提高对市场的响应能力。
研究仓库管理系统的意义是运用计算机技术通过对入库业务、出库业务、库存调拨、库存调整,结合批次管理、库存盘点、实时库存管理等功能综合运用对仓库的管理,实现库存业务的物流和成本管理全过程进行有效控制和跟踪,并完善企业仓库信息管理。对于仓库管理系统的投入研究的意义同样是将仓库的管理更加正规化,为产品的出入库管理部门和销售部门提供了方便,降低了仓库的损耗。同时企业可以对售出的产品进行跟踪服务,也免去了销售人员按以往惯例亲自前往销售处去核实产品情况的麻烦,提高了办事效率,节省了费用,而且还避免了不必要的业务纠纷,维护了企业长期与用户建立的良好信誉,也对于提高工作效率、加快库存管理的自动化具有较为重要的意义。
1.3 系统设计思想
本系统设计主要依据物流企业的仓库管理的业务流程为设计思想进行系统设计,主要是从管理员登陆开始:管理员在注册后,登陆自己的用户名和密码,进入系统后,依据其在注册时超级管理员赋予的权限进行相应的库存管理,如一般管理员进入系统后,能够对仓库的产品进行进货入库管理,当管理员接到进货部门的进货产品信息时,将产品信息录入,并产生进货入库信息表。再入库信息表进行审批后,才可进行确认审批操作,再将产品入库。
当产品进行销售出库时,已登录的管理员接到销售出库的产品信息后,将其录入管理系统中的销售出库子系统,形成销售出库审批表,待出库信息审批后,才可进行确认审批操作,将产品出库。
当产品进行调拨时,已登录管理员接到调拨申请的产品信息后,确认调拨的调出仓库和目标仓库。查对无误后才可进行确认调拨,这是产品才可进行调拨。
对管理员、供应商和购买产品的企业的基本信息的管理,一般由管理员和超级管理员管理,将要添加或删除的各类信息进行更新操作,并存入数据库的用户表中。确认后完成操作。
通过以上设计思想具体实现管理员对系统和仓库的管理,对产品的各种信息、出入库的管理,产品调拨的管理和供应商的基本信息的管理,能够对以上基本信息进行添加、修改、删除等操作。实现管理员对仓库真正方便快捷的管理和操作。
1.4 系统开发技术
本系统设计思想是采用JSP[5]技术实现企业库存管理系统,运用My eclipse 8.6[6]开发环境和SQL Server 2000[7]作为后台数据库,对本系统的失效报警模块、仓库信息
模块、基本信息模块、系统管理模块、密码管理模块进行具体设计和代码实现。
本系统开发是在Microsoft windows XP操作系统下完成的。开发环境在Myeclipse 8.6下进行,对系统功能模块进行具体设计,在XP系统下安装JDK6.0并配置好环境变量。由于Myeclipse 8.6中包含自带的Tomcat,所以在自身开发环境下运行已完成的系统。本系统采用SQL Server 2000数据库进行后台处理。主要涉及对表的存储,和各种信息存储。
1.4.1 MyEclipse简介
MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse (​http:​/​​/​baike.baidu.com​/​view​/​23576.htm _blank​)IDE的扩展。Genuitec发布了MyEclipse Enterprise Workbench 5.0,更智能、更快捷、更简单和更便宜的J2EE工具的新版本的诞生。利用它我们可以在数据库和JavaEE的开发、发布以及应用程序 (​http:​/​​/​baike.baidu.com​/​view​/​330120.htm _blank​)服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境 (​http:​/​​/​baike.baidu.com​/​view​/​14867.htm _blank​),包括了完备的编码、调试、测试和发布功能,完整支持HTML (​http:​/​​/​baike.baidu.com​/​view​/​692.htm _blank​),Struts,JSP,CSS (​http:​/​​/​baike.baidu.com​/​view​/​15916.htm _blank​),Javascript (​http:​/​​/​baike.baidu.com​/​view​/​16168.htm _blank​),Spring,SQL,Hibernate。
1.4.2 SQL Server 2000
SQL Server 2000 是Microsoft公司推出的SQL Server 数据库管理系统的一个版本。该版本继承了SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能,具有使用方便,可伸缩性好与相关软件集成程度高等优点
SQL Server 2000 关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。SQL Server 2000 分布式查询使您得以引用来自不同数据源的数据,就好象这些数据是 SQL Server 2000 数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器。
1.4.3 开发语言介绍
(1)Java语言简介
Java是一种简单的,跨平台的,面向对象的,分布式的,解释的,健壮的,安全的,结构的,中立的,可移植的,性能很优异的,多线程的,动态的语言。当1995年SUN推出Java语言之后,全世界的目光都被这个神奇的语言所吸引。
Java编程语言的风格十分接近C (​http:​/​​/​baike.baidu.com​/​view​/​10075.htm _blank​)、C++ (​http:​/​​/​baike.baidu.com​/​view​/​824.htm _blank​)语言。Java是一个纯的面向对象的程序设计 (​http:​/​​/​baike.baidu.com​/​view​/​324458.htm _blank​)语言,它继承了 C++ 语言面向对象技术 (​http:​/​​/​baike.baidu.com​/​view​/​1520586.htm _blank​)的核心,Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理 (​http:​/​​/​baike.baidu.com​/​view​/​4541016.htm _blank​)而担忧。在 Java SE 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举 (​http:​/​​/​baike.baidu.com​/​view​/​116405.htm _blank​)、不定长参数和自动装/拆箱等语言特性。 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了一次编译、到处执行”的跨平台特性。不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。但在 J2SE 1.4.2 发布后,Java 的执行速度有了大幅提升。 与传统程序不同,Sun 公司在推出 Java 之际就将其作为一种开放的技术。全球数以万计的 Java 开发公司被要求所设计的 Java 软件必须相互兼容。Java 语言靠群体的力量而非公司的力量”是 Sun 公司的口号之一,并获得了广大软件开发商的认同。这与微软公司 (​http:​/​​/​baike.baidu.com​/​view​/​39784.htm _blank​)所倡导的注重精英和封闭式的模式完全不同。 Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。
(2)JSP简介
JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,JSP技术在Servlet技术基础上发展起来的,它正在飞速发展中,现已成为Java服务器编程的重要组成部分。它虽然还未成型,但是它必将和J2EE(Java 2 Enterprise Edition)一起发展。
JSP就是Java,只是它是一个特别的Java语言,加入了一个特殊的引擎,这个引擎将HTTPServlet这个类的一些对象自动进行初始化好让用户使用,而用户不用再去操心前面的工作。同时这个引擎又引入了Java Servlet Code(.java文件)->Java Runtime Bin Code(.class文件),这就是为什么我们第一次运行JSP时CPU运行能达到很高的原因,它实际上是调用了jsp引擎来生成java文件,再用javac来编译它到class文件,这才能去执行它。同时也说明了在第一次运行以后,速度为什么哪么快的原因,只要这个jsp文件不改变哪么这个操作就不再会进行了(除非你删除了class文件)。
第二章 系统分析
2.1 可行性分析
2.1.1 对系统的简要描述
开发库存管理系统,其主要流程就是是方便管理员对仓库、产品、客户等信息的管理。
对已登录管理员来讲,根据所拥有的权限,能使其实现对仓库、产品、客户信息的管理操作,对产品的出入库、产品的调拨并及时反馈给数据库,对客户的基本信息的查询、添加、修改和删除操作,同时存入数据库。并能修改自己的密码和用户名。对以上基本流程的描述,画出系统流程图,如图2.1所示:
系统流程图如下图所示:
图2.1 系统流程图
2.1.2 技术可行性
根据工作人员提出的系统功能、性能及实现系统的各项约束条件,根据新系统目标来衡量所需的技术是否具备,本系统是一个数据库管理和查询的系统,现有的技术以较为成熟,硬件、软件的性能要求、环境条件等各项条件良好,估计利用现有技术条件应完全可以达到该系统的功能目标[8]。同时考虑给予的开发期限也较为充裕,预计系统是可以在规定期限内完成开发。
本系统的使用的基本配置环境如下:
(1)硬件环境:
CPU:1GHz或以上;
内存:512M RAM或以上;
硬盘:150GHz或以上;
(2)系统环境:操作系统:Windows XP;
(3)开发环境:所用工具:My Eclipse 8.6;数据库:SQL Server 2000。
2.1.3 操作可行性
新系统的研制和开发是充分得考虑工作人员对仓库的易于管理,管理者方便查询设备信息效率。从而能完全满足使用者的要求。
2.1.4 经济可行性
估算新系统的成本效益分析,其中包括估计项目开发的成本,开发费用和今后的运行、维护费用,估计新系统将获得的效益,估算开发成本是否回高于项目预期的全部经费。并且,分析系统开发是否会对其它产品或利润带来一定影响。
预计本系统要力求性能稳定、数据精确、查询迅速、决策及时,提高人员利用率,减少设备费用,减少工作时间以达到优化管理的目的。系统实现后,大大提网上购书的服务效率,为用户提供方便,给企业创造经济效益。
开发环境:Windows xp,SQL server 2000,My eclipse 8.6。
运行环境:Windows xp 及以上操作系统、数据库:SQL server 2000。
使用寿命:该系统至少使用3年以上。
1.支出
(1)基建投资:
包括机器设备(至少一台高效计算机):4400元;开发软件(目前正版SQL server 2000):22800元
(2)其他一次性支出:
不可知费用:10000元
(3)使用仓库管理软件前费用:
关于仓库支出费用(共10人管理):10000元/月
(4)经常性支出:
系统管理员工资:2000元/月;系统管理和维护的专业人员一名:2500元/月
2.效益
(1)一次性收益:
一般中小型物流企业仓库管理软件:2000元。
(2)经常性收益:
精简原来管理人员:5500元/月。
提高带来经济效益(提高仓库吞吐量):10000元/月。
3.收益/投资比
假设按银行利率:10%,软件运行期:5年计算。如表2-1所示:
表2-1 将来的收入折算成现在值
年 将来值 (1+n)2 现在值 累计现在值
1 210000 1.1 190909.09 190909.09
2 210000 1.21 173553.71 364462.8
3 210000 1.33 157894.73 522357.53
4 210000 1.46 143835.61 666193.14
5 210000 1.61 130434.78 796627.92
收益=79.66万元
投资和未采用本系统时总支出费用为:
4400+22800+10000+(2000+2500)*12*5=30.72万元
收益/投资比=79.66/30.72=259%
4.投资回收期
由以上数据可以得出,一共投资了307200元,但是表中显示在在第二年就已经收益555371.89元,超出投资了248171.89。那么投入后每月平均收益为:555371.89/24=23140.49。所以在投入使用一年后共需要12-248171.89/23140.49=1个月。
所以投资回收期为1.1年。
通过以上对本系统的经济分析,可以得出该系统有开发的经济效益,可以进一步开发。
2.1.4 社会可行性
法律因素所有软件都选用正版,软件已获得国家专利,受到专利法的保护,将会得到合法利益。另外本系统并没有对其他系统造成侵权影响,也不会影响企业和工作人员正常运行和工作。
2.2 需求分析
2.2.1 系统的数据描述
数据库概念设计:概念结构设计所得的E—R图模型是对用户需求的一种抽象的表达形式,它独立于任何一种具有的数据模型,因而也不能为任何一个具体的DBMS所支持。为了能够建立起最终的物理系统,还需要将概念结构进一步转化为某一DBMS所支持的数据模型,然后根据逻辑设计的准则、数据的语义约束、规范化理论等对数据模型进行适当的调整和优化,形成合理的全局逻辑结构,并设计出用户子模式。这就是数据库逻辑设计所需要完成的任务。
本系统管理员,客户,产品关系E-R图,如图2.2所示:
图2.2 管理员 客户 产品关系E-R图
2.2.2 系统的功能分析
1.本系统的功能,主要是利用该系统对企业仓库的综合处理,在处理过程中,有对产品的出库,入库和调拨进行统一管理。在管理员登录后,根据自身权限处理仓库事务,就是对产品的出入库和调拨的申请、审批,记录存储相关信息后才能对产品进行相应处理。处理的综合流程如图2.2所示:
图2.2 仓库管理系统顶级数据流图
2.在综合仓库处理过程中,主要分为对仓库中产品的出库、入库和调拨处理,管理
员登陆系统处理时,要对每个处理过程都产生相应的产品信息单,并申报,待管理员
核实审批后,通过审批单进行产品的相应处理,最后将处理信息存入数据库中,并产生相应的表单,相关中层流程如图2.3所示:
图2.3 仓库管理系统中层数据流图
2.2.3 系统的性能分析
本系统是仓库管理系统,对于这个系统主要是仓库管理员对于仓库的基本管理,包括产品出入库,调拨等操作,但是最常用的基本操作只有登录、产品出入库和产品调拨,关于系统的性能分析,最主要就是从系统使用者最常使用的操作进行性能分析,那么本系统主要分析登录和产品出入库的性能是能符合基本性能需求的。如管理员登录模块下能够符合正常需求的情况如表2-1所示:
表2-1 管理员登陆模块性能要求
测试项 响应时间 业务成功率 并发数 CPU使用率 内存使用率
管理员登陆 <=3秒 >98% 20 <75% <75%
由于在开发环境和操作系统对以上性能能够基本的完成,所以能够保证系统的性能需求,可以进行进一步开发。
第三章 系统总体设计
3.1 系统结构设计
3.1.1 总体结构设计
本系统的结构设计共分为:失效报警模块、库存管理模块、基本信息模块、系统管理模块、用户密码管理模块。针对以上模块具体设计如下:
1.失效报警模块
此功能模块方便用户和管理人员对已经过期或积压的产品进行及时的了解和处理,方便对企业库存进行管理。
2.库存管理模块
此模块提供了包括库存查询、盘点、确认,出入库申请审批,销售出库申请,进货入库申请功能,能让管理员实时的对库存产品进行清点。方便对产品进行高效管理。
3.基本信息模块
该模块能够全面的记录商品、客户、仓库的基本信息,包括商品的名称、品牌、类型、供应商、价格等。客户的公司名称、联系电话、公司主页地址,同时可以评价客户信誉度等。仓库的名称、地址、编号。并可以对以上信息进行添加、修改、删除的功能。
4.系统管理模块
系统功能模块有用户管理、角色管理、菜单管理等功能。具体实现了对用户,包括超级管理员,测试用户等的修改和授权,可以给用户授予超级管理员、仓库管理员、客户等权利,方便不同角色的管理和操作。角色管理主要实现对不同的用户授予所在权限内能够管理的范围,使其管理对应的模块,不会越权参与过多的操作。菜单管理针对每个功能模块的管理,可在原有的基础上进行添加、修改和删除,实现对不足或多余的功能添加、修改、删除。
5.用户密码管理模块
该模块主要对对应的登录角色进行角色名和密码的修改操作。
3.1.2 功能模块设计
该系统的功能模块设计针对以上系统结构设计实现具体功能,如图3.1所示:
图3.1 仓库管理系统层次图
3.2 数据库设计
3.2.1 数据库逻辑结构设计
数据库逻辑结构设计是把在概念结构设计阶段设计好的基本E-R图转换为具体的数据库管理系统支持的数据模型,也就是导出特定的DBMS(database management system)可以处理的数据库逻辑结构[9]。这些模式在功能、性能、完整性和一致性约束方面满足应用要求。特定的DBMS可以支持的数据模型包括层次模型、网状模型、关系模型、面向对象模型等,本系统采用的是关系模型。根据本系统的E-R图,其数据模型如下:
管理员(管理员姓名,密码,账号)
仓库(仓库名称,仓库地址,仓库编号)
客户(客户公司名称,联系电话,客户公司主页)
产品(产品名称,产品价格,产品类型,产品供应商,产品条形码,产品编号)
3.2.2 数据库物理结构设计
数据库的物理结构设计是利用自己确定的逻辑数据结构以及DBMS提供的方法、技术,以比较优的存储结构、数据存取路径、合理的数据存储位置以及存储分配,设计出一个高效的、可实现的物理数据库结构[10]。
物理结构设计阶段实现的是数据库系统的内模式,它的质量直接决定了整个系统的性能。
数据库的物理结构设计通常分为两步:
1.确定数据库的物理结构,在关系数据库中主要指确定存取的方法和存储结构。
2.对物理结构进行评价,评价的重点是时间和空间效率。由于不同的DBMS提供的硬件环境和存储结构、存取方法以及提供给数据库设计者的系统参数以及变化范围有所不同,因此,物理结构设计没有一个通用的准则,只能给出一般的设计内容和原则,本系统在设计的时候主要要用到7张数据库表,如下所示:
(1)仓库表
仓库表主要有仓库编号,仓库名,仓库地址的字段信息,如表3-1所示:
表3-1 仓库表
字段名称 数据类型 长度 允许空 说明
whID Char 4 仓库编号
Name Varchar 20 NULL 仓库名
whAddr Varchar 100 NULL 仓库地址
(2)产品信息表
产品信息表主要有产品名称、产品类型、产品编号、产品条形码、产品供应商、产品价格的字段信息,如表3-2所示:
表3-2 产品信息表
字段名称 数据类型 长度 允许空 说明
goodsID char 8 产品编号
goodsName varchar 30 NULL 产品名称
goodsClass varchar 10 NULL 产品类型
Price double 8 NULL 产品价格
Vendor varchar 20 NULL 产品供应商
goodsNumber int 20 NULL 产品条形码
(3)管理员信息表
管理员信息表主要有超级管理员,管理员,测试人员字段信息,如表3-3所示:
表 3-3 货物储存表
字段名称 数据类型 长度 允许空 说明
Admin varchar 8 超级管理员
Operator varcahr 10 NULL 管理员
Test varchar 8 NULL 测试人员
(4)库存查询表
库存查询表主要有产品名称,批次,入库价格,数量,产品编号,产品品牌,商品类型,所属仓库,供应商。
表 3-4库存记录主表
字段名称 数据类型 长度 允许空 说明
goodsName varchar 20 产品名称
Batch varchar 20 NULL 批次
price int 10 NULL 入库价格
quantity int 10 NULL 数量
goodsID char 8 NULL 产品编号
brand varchar 20 NULL 产品品牌
goodsClass varchar 10 NULL 产品类型
warehouse varchar 8 NULL 所属仓库
Vendor varchar 20 NULL 供应商
(5)盘点明细表
盘点明细表主要有盘点单号,盘点人员,仓库名称,盘点时间,状态,批次,产品编号,产品名称,产品价格,库存数量,实际数量,所属仓库,入库时间字段信息,如表3-5所示:
表3-5 盘点明细表
字段名称 数据类型 长度 允许空 说明
CVCode Char 8 盘点单号
Count personnel Varchar 20 NULL 盘点人员
goodsID Char 8 NULL 产品编号
Name Varchar 20 NULL 仓库名称
checkDate Datetime 8 NULL 盘点时间
State Varchar 20 NULL 状态
Batch Varchar 20 NULL 批次
goodsName Varchar 20 NULL 产品名称
Product price Int 10 NULL 产品价格
quantity Int 10 NULL 库存数量
Actual quantity Int 10 NULL 实际数量
Time Datetime 10 NULL 入库时间
(6)产品单位表
产品单位表主要记录产品各种单位类型,有瓶,克,毫克,箱,升,毫升,张的字段信息,如表3-6所示:
表 3-6 计量单位表
字段名称 数量类型 长度 允许空 说明
Bottle char 8 瓶
G char 8 NULL 克
Mg char 8 NULL 毫克
Box char 8 NULL 箱
L char 8 NULL 升
Millilter char 8 NULL 毫升
Paper char 8 NULL 张
(7)商品调拨表(MOVESTOCK)
商品调拨表主要有票据编号,调出仓库,目标仓库,申请人,申请时间,数量,总价。
表 3-7 移库表
字段名称 数量类型 长度 允许空 说明
autoid int 8 票据编号
source char 20 NULL 调出仓库
target char 20 NULL 目标仓库
Total price varchar 20 NULL 总价
quantity int 8 NULL 数量
opDate datetime 8 NULL 申请时间
operator varchar 20 NULL 申请人
第四章 系统详细设计与实现
4.1 系统详细设计
4.1.1 子系统分析与设计
本仓库管理系统共分为五个子系统,分别为:失效报警子系统,产品出入库子系统,信息管理子系统,密码管理子系统。
其中失效报警子系统主要将失效的产品,包括产品的具体信息及失效天数显示在该子系统中,方便管理员进行查看和具体的处理。该子系统的设计就是要显示出具体的失效天数,运用数据库中的相关字段来判断。
产品出入库子系统,主要在于提供产品出入库的各种信息的添加、删除和修改,并能随时供管理员查看,产生报表。设计时就是提取数据库中产品的相关信息,然后针对数据库中已有的信息进行详细操作。
信息管理子系统要具体对管理员,仓库,客户信息的详细管理,包括授予管理员权限,客户的所在公司,以及其公司的网站主页和联系方式的添加、修改和删除。
仓库是用来存放产品的,产品进入仓库要进行登记记录,产品从仓库出库也要进行登记记录,这是仓库管理的主要内容。产品进入仓库,从入库申请的人员向执行产品入库的仓库保管员提交产品开始。
密码管理子系统主要就是针对登陆的管理员的用户名和密码的修改进行设计。
4.1.2 子系统详细设计
针对以上子系统的详细设计主要是前台和数据库之间的操作,具体如下:
失效报警子系统设计中针对产品的有效日期作为判定关键字段,详细设计时,从产品信息中生产日期字段和当前日期字段,并将两者进行比较,其差值天数作为结果再与产品的有效日期进行判断。从而产生失效天数,并把失效天数显示在失效报警中。
产品出入库子系统,具体设计是,在产品出入库时,把将要出入库的产品具体信息或是手动添加,或是从数据库表中提取相同信息添加到出入库界面中,并存入数据库表中,提交后显示审批中”状态。待管理员进行审批处理后才允许产品进行出入库处理。
信息管理子系统设计为,若要对仓库信息,管理员信息,客户信息的具体添加、修改和删除等进行操作,主要在已连接的数据库中提取相关用户信息和客户信息,在超级管理员权限下,对其他登陆的管理员用户进行权限授予,以方便不同登陆的用户针对自己的工作范围,对本系统的操作。并把已更改的内容重新存入数据库中,方便管理员进行查看。
密码管理子系统就是针对登陆的管理员进行用户名和密码的修改,并将已修改的信息存入数据库用户表中,方便查看和登陆。
4.2 系统实现
4.2.1 进货入库申请模块实现
当某种已有物品进货后,就需要在此输入库存记录信息,并同时输入相应货物入库信息,并加入到库存中,为以后进行入库货物的查询和出库操作产生操作数据,供管理人员掌握仓库内存储的货物情况。界面如图4.1所示。
图 4.1 进货入库申请界面
实现进货入库模块中,将准备入库的产品信息添加到对应选项中,并传入数据库。主要通过com.turing.manage.kucunguanli.ruku.action.RUKUAction”来实现,这是一个自定义的类,通过这个类,将所有产品信息的代码定义到这个类中,也同样方便了代码实现。再将新入库产品信息存入数据库,入库时也可通过查询”按钮,从数据库中调出已经入库产品信息,进行选择,从而方便快捷的实现入库操作。产品添加后,自动返回入库申请界面,主要代码为com.turing.manage.kucunguanli.ruku.page.RUKUPage”。
关于算法描述的信息用程序流程图表示,如图4.2所示:
图4.2 产品入库程序流程图
4.2.2 销售出库申请模块实现
当库存中某种需要出库的时候,就需要在此输入库存记录信息,并同时输入相应货物出库信息,并保存到相应数据表中。为以后的出库记录查询以及掌握仓库货物存储情况作基础。界面如图4.3所示。
图4.3 销售出库申请界面
产品出库是从库存中现有存储的产品中移出产品,主要是从调出存入数据库的中的产品信息,选择出库产品,实现出库。只要代码的实现是用自定义类com.turing.manage.kucunguanli.chuku.action.CHUKUAction”来完成销售出库操作。同样,操作结束后,更新数据库后能够自动的返回销售出库界面com.turing.manage.kucunguanli.chuku.page.CHUKUPage”
关于产品出库的算法用一下程序流程图表示,如图4.4所示:
图4.4 产品出库程序流程图
4.2.3 库存盘点模块的实现
当盘点时,通过管理员对仓库信息做清点,有效的了解了货物的流通情况和仓库货物的损耗情况。方便对货物信息的管理。界面如图4.5所示。
图4.5 库存盘点界面
通过对盘点信息的查看,能够知道近期产品进出库的详细信息并可以对盘点中查出的一些错误或者注意事项等写在库存盘点信息中,主要代码实现为:com.turing.manage.shangpinguanli.kcpd.action.KCPDAction”。查询操作后会自动返回盘点界面,代码 com.turing.manage.shangpinguanli.kcpd.page.KCPDPage”。
用程序流程图描述算法,如图4.6所示:
图4.6 产品盘点程序流程图
4.2.4 库存查询模块的实现
用于查询库存系统里的信息,即在入出库后对应的操作的部分展示。如果某件产品在此表中不存在,也就不存在其它对此产品的库存操作。界面如图4.4所示。
图4.4 存储信息查询界面
通过查询的操作可以对产品的具体信息进行查看,实现时从数据库中调出产品信息表并显示页面,方便管理员知道具体的产品目前情况,方便进行其他处理和总结等工作。通过com.turing.manage.shangpinguanli.kccx.action.KCCXAction”代码来实现。并返回查询界面。
第五章 系统测试
5.1 软件测试计划
5.1.1 测试方法与技术
1.确认测试
确认测试主要是要检查已实现的软件是否满足了需求分析中确定了的各种需求,以及软件配置是否完全、正确。
2.单元测试
单元测试 (​http:​/​​/​www.51testing.com​/​html​/​9​/​​)又称模块测试,是针对软件设计的最小单位,程序模块,进行正确性检验的测试工作,其目的在于发现各模块内部可能存在的各种差错[11]。
5.1.2 测试步骤
1.将初步完成的整个系统在预计的运行环境下运行,若不能正常运行,那么马上查看数据库的链接,和配置环境是否有问题。进行针对性调试。若正常运行,则针对需求分析中的功能分析进行逐一的功能测试,确认是否按照功能模块图的设计完成了对应的功能。若出现错误则马上进行针对性的修改,并重新测试修改过的模块,直到正常运行。
2.针对每一个模块的功能进行测试,如本系统,分别在失效报警,库存管理,基本信息,密码管理模块中分别进行测试,对管理员的登录及注册模块进行测试,如不能正常进行登录和注册,出现不同的问题,则根据不同问题出现的可能性进行针对性修改,并重新测试修改后的模块,直到正常运行。
5.1.3 测试的项目
1.主要测试的项目是管理员登录模块。针对不同的登录情况,进行测试,看该模块出现的不同反应是否与预计的结果相同,并进行相应的修改。
2.针对库存查询模块的测试,主要是考虑本系统为物流库存管理系统这一特性,不仅要有正常的出入库产品,还有自用产品(公司陈列产品)计算库存中。针对这种情况进行添加、删除测试,看系统出现相应反应,对于这些反应进行修改。并反复测试直到正常运行。
5.2 测试结果
5.2.1 功能测试
功能测试是在规定的一段时间内运行软件系统的所有功能,以验证这个软件系统有无严重错误。
本仓库管理系统在测试阶段能够正常运行,包括需求分析中功能模块的各个模块功能,也能够基本完成。
5.2.2 性能测试
性能测试 (​http:​/​​/​www.51testing.com​/​html​/​8​/​​)是要检查系统是否满足在需求说明书中规定的性能。特别是对于实时系统或嵌入式系统[12]。
本系统在测试时,对系统的基本性能,如:产品出入库存储、仓库及客户信息管理,管理员对权限的授予,都能完成其基本性能,无错误。
如对登陆模块测试的测试用例如图5.1所示:
测试项 响应时间 业务成功率 并发数 CPU使用率 内存使用率
管理员登陆 <=3秒 >98% 20 <75% <75%
图5.1 登陆模块测试用例
5.2.3 部分测试用例
1.作者登录功能测试如表5-1所示。
表5-1 作者登录测试用例表
测试编号 输入数据 预期结果 测试结果
001 用户名:admina;密码admin 显示提示信息用户名错误!请重新输入” 显示提示信息用户名错误!请重新输入”
002 用户名:admin;密码a 显示提示信息密码错误!请重新输入” 显示提示信息密码错误!请重新输入”
003 用户名和密码都为空 显示用户账号不能为空!密码不能为空” 显示用户账号不能为空!密码不能为空”
004 用户名:admin;密码:admin 正常进入 正常进入
005 用户名:7;密码:7 正常进入 正常进入
006 用户名:admin;密码为空 显示密码不能为空!” 显示密码不能为空!”
007 用户名为空;密码:admin 显示用户名不能为空!” 显示用户名不能为空!”
2.库存查询模块测试用例
对库存模块进行测试,主要对进货入库和销售出库的产品进行添加和删除,当想要删除其中产品时,操作如下:选中清新舒适洗颜密”后,单击选择”选项,弹出对话框您确定删除选中的进货入库申请信息吗?”。单击确定按钮,预期结果为正常删除选中信息。测试结果与预期结果相同。
由于本系统针对的是美容美发物流库存管理系统,包括美容美发公司自行展出产品,即自用产品”,而在库存系统的出库查询模块中,不仅有进货入库产品和销售出库产品,同样有自用产品的记录,所以测试中当持续删除一种产品过多时,如删除清新舒适洗颜密”过多,当弹出对话框您确定删除选中的进货入库申请信息吗?”预期结果会是弹出错误的页面,证明删除的产品信息已是自用产品范围。针对该情况进行测试,测试结果与预期结果相同。
总 论
通过一段时间的努力,仓库管理系统设计完成,实现了系统的基本功能。在这个过程中,主要完成了数据库的设计和系统功能的实现。通过该系统可以方便快捷地实现仓库管理中的货物登记、出库入库、货物盘点等工作,使企业的仓库管理井井有条,为企业的健康发展创造良好的条件。
通过本次毕业设计,我进一步加深了对软件工程的理解,对于JSP等相关技术也有了进一步的掌握。在这个过程中,也培养了我自己独立思考问题、解决问题的能力。通过实际的锻炼,进一步加深了对理论知识的理解。在完成论文的过程中我懂得了许多东西,也培养了独立工作与学习合理安排相互调节的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有巨大而重要的影响。
但是由于时间关系,加上时间有限,系统的功能还不够全面,还存在一些需要进一步完善和改进的地方。
参考文献
[1] 王之泰.新编现代物流学(第二版)[M].北京:首都经济贸易大学出版社.2008.8:15-17.
[2] 邹晓春.仓储部规范化管理工具箱(第2版) [M].北京.人民邮电出版社,2010.1:20-23.
[3] Hossein Bidgoli.Warehouse technology in the supply chain management Systems[M].Wiley,2010.1:10-13.
[4] 杨智斌.仓储管理细化量化与过程控制[M].广东:广东经济出版社,2009.10:55-57.
[5] 马晓敏 肖明 姜远明 齐永波. JAVA网络编程原理与JSP Web开发核心技术[M].北京:中国铁道出版社,2010.3:10-12.
[6] 孙更新,宾晟,宫生文。Java程序开发大全:基于MyEclipse平台+Struts+Hibernate+Spring主流框架开发[M].北京:中国铁道出版社,2010.8:3-4.
[7] 应吉康、朱敏等编著.SQL Server 2000中文版基础教程(第2版)[M].上海:科学技术文献出版社,2003.11:33-34.
[8] 张海藩.软件工程导论(第5版)[M].北京:清华大学出版社,2011.3:35-36.
[9] Rod Stephens,王海涛译,宋丽华译.数据库设计解决方案入门经典[M].北京:清华大学出版社,2010.1:20-23.
[10] 希尔伯沙茨 (​http:​/​​/​www.amazon.cn​/​s?ie=UTF8&search-alias=books&field-author=%E5%B8%8C%E5%B0%94%E4%BC%AF%E6%B2%99%E8%8C%A8​),杨冬青 (​http:​/​​/​www.amazon.cn​/​s?ie=UTF8&search-alias=books&field-author=%E6%9D%A8%E5%86%AC%E9%9D%92​).数据库系统概念[M].北京:机械工业出版社,2008.4:50-52.
[11] 李龙,李向函,冯海宁. 软件测试实用技术与常用模板[M].北京:机械工业出版社,2010.10:60-62.
[12] William E.Perry,高猛(译),冯飞(译),徐璐(译).软件测试的有效方法(第三版)[M].北京:清华大学出版社,2008.1:35-36.
致 谢
在论文完成之际,我首先向关心帮助和指导我的指导老师李老师感谢并致以崇高的敬意!
在论文工作中,遇到困难一直得到李老师的亲切关怀和悉心指导,使我可以解决,李老师以其渊博的学识、严谨的治学态度、求实的工作作风和他敏捷的思维给我留下了深刻的印象,我将终生难忘。再一次向他表示衷心的感谢,感谢他为学生营造的浓郁学术氛围,以及学习、生活上的无私帮助! 值此论文完成之际,谨向李老师致以最崇高的谢意!
在学校的学习生活即将结束,回顾两年多来的学习经历,面对现在的收获,我感到无限欣慰。为此,我向热心帮助过我的所有老师和同学表示由衷的感谢!
在我即将完成学业之际,我深深地感谢我的家人给予我的全力支持!
最后,衷心地感谢在百忙之中评阅论文和参加答辩的各位老师和领导!
PAGE
II
获取项目源文件,联系Q:1225467431,可指导其它毕设,课设*、<%@等一系列的特别语法,使用这些语法来进行一些特定的操作,如引用文件、url转向、javabean引用等这样的操作,这些都是由引擎自动帮你完成初始化的工作。>

发布了24 篇原创文章 · 获赞 13 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_17669865/article/details/104235602