商品物流管理系统的设计与实现.doc

上传人:doc321 文档编号:13014538 上传时间:2021-12-10 格式:DOC 页数:47 大小:7.51MB
返回 下载 相关 举报
商品物流管理系统的设计与实现.doc_第1页
第1页 / 共47页
商品物流管理系统的设计与实现.doc_第2页
第2页 / 共47页
商品物流管理系统的设计与实现.doc_第3页
第3页 / 共47页
商品物流管理系统的设计与实现.doc_第4页
第4页 / 共47页
商品物流管理系统的设计与实现.doc_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《商品物流管理系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《商品物流管理系统的设计与实现.doc(47页珍藏版)》请在三一文库上搜索。

1、商品物流管理系统的设计与实现中睿商品物流管理系统摘 要:随着计算机网络的不断普及,网购成了一种越来越流行的购物方式。与网购一同兴起了另一个行业:物流服务行业。物流技术是指与物流要素活动有关的所有专业技术的总称,包括各种操作方法、管理技能等,如流通加工技术、物品包装技术、物品标识技术、物品实时跟踪技术,物流存储技术等;物流技术还包括物流规划、物流评价、物流设计、物流策略等;采用java三层构架技术开发的中睿商品物流系统实现了对员工管理,订单信息,子公司信息,车队信息,出库商品信息的便捷管理。实现了仓储管理的信息化,减少了人力,节省了财力,提高了企业运作的效率有效控制商品库存量为企业节省了不必要的

2、浪费。关键词:物流技术;Java技术;电子商务Abstract:With the continuous popularization of the computer network, online shopping has become an increasingly popular way of shopping. With online shopping rise another industry: logistics services industry. Logistics technology is related to factors of logistics activities

3、of all the floorboard of the professional and technical, including various operating methods, such as management skills, such as circulation processing technology, packaging technology, items identification technology, real-time tracking technology, logistics storage technology, etc.; Logistics tech

4、nology includes logistics planning and design of logistics evaluation, logistics, logistics strategy, etc.; Three layer architecture using Java technology development theory in the commodity logistics system implementation of staff management, order information, subsidiary information, information,

5、convenient management of outbound goods information. Realize information of the warehouse management .Key words:Logistics technology ;Java technology ;The electronic commerce 目录1 物流行业的简介21.1 我国物流业的发展趋势31.2 物流系统整合研究的意义32 技术可行性分析42.1 Java技术简介42.2 JSP和Servlet技术优势41.1.1 jsp的优点41.1.2 servlet的优点42.3 MySql

6、和Apache Tomcat介绍53 中睿商品物流管理系统需求分析63.1 项目要达到的目标63.2 系统整体结构63.3 物流管理系统的功能要求64 中睿商品物流管理系统需求分析74.1 系统功能模块划分75 中睿物流管理系统数据库设计85.1 数据库设计85.2 数据字典95.2.1 车辆管理表car_info95.2.2 车队信息表car_team_info105.2.3 商品分类表goods_class_info105.2.4 职员信息表emp_info105.2.5 职位信息表EmployeeInfoTable105.2.6 商品信息表good_info105.2.7 用户登陆表lo

7、gin115.2.8 仓库信息表warehouse116 中睿物流管理系统功能性计116.1 系统功能简介116.1.1 主页116.1.2 登陆界面126.2 系统功能模块设计146.2.1 员工管理146.2.2 分公司管理236.2.3 订单管理276.2.4 车辆管理337 测试中遇到的问题347.1 测试概要347.1.1 测试1347.1.2 测试2357.1.3 测试3357.1.4 测试4357.1.5 测试5357.1.6 测试6357.1.7 测试7367.1.8 测试8361物流行业的简介 随着计算机网络的不断普及,网购成了一种越来越流行的购物方式。与网购一同兴起了另一个

8、行业:物流服务行业。二零零九年三月份,国务院发布了物流业调整和振兴规划,使得物流行业发展得到政策支持。目前,我国各类物流企业有14万家左右,展望整个21世纪,可以肯定现代物流业肯定还有更大的发展。经济全球化及现代物流物流业发展的系统化、信息化、仓库运输的现代化和综合化等趋势,对我国物流业的发展提出了全方位的挑战。物流管理是一门集现代运输、仓库管理、物件配送、信息跟踪等诸多业务技术为一体的综合学科。1.1我国物流业的发展趋势 由于传统物流行业操作过程复杂,手续繁多,业务信息多,围绕这些信息的处理也很纷杂。而且,物流行业竞争激烈,这种竞争,一方面表现在发展客户的市场开拓上,另一方面也存在于收集处理

9、信息的速度、广度和深度,以及在业务操作中对业务数据处理的准确性和严密性,而更高层次上,还牵涉到公司决策层对整体业务的控制和协调。物流管理系统从物流行业的实际需求出发,参照先进的物流理念和多家领先的物流公司实际的运营流程开发而成,系统从完善的基础信息设置到货物的托运管理、在线跟踪,信息查询、到最后各种报表的生成,清晰的业务流程,使操作人员能够按照流程清晰的进行实际的操作,保证物流运作有序而高效的进行。1.2物流系统整合研究的意义物流系统整合的意义不单单是几个单独运行系统的简单拼装,而是在几个系统之间数据的共享,资源的重新整合是提高效率和降低企业运行费用的关键。本系统借此应运而生,将解决诸如“如何

10、缩短物流过程,降低产品仓库,更加快捷准确的配送物件”的问题。其中,配送环节是物流过程中至关重要的一个环节,以高效的管理实现较低的物流成本为顾客提供满意的服务是物流行业的最高目标。采用java三层构架技术开发的中睿商品物流系统实现了对员工管理,订单信息,子公司信息,车队信息,出库商品信息的便捷管理。实现了仓储管理的信息化,减少了人力,节省了财力,提高了企业运作的效率有效控制商品库存量为企业节省了不必要的浪费。显然传统物流行业的操作模式已经不适应现代的物流行业了,一个完备的物流管理系统对物流行业的发展必不可少。2技术可行性分析2.1Java技术简介 Java的面向对象的思想就决定了他的代码是可以重

11、用的从而提高了开发效率,Java继承了C+的优点,也抛弃C+的一些弊端如,C+的多及成容易造成混乱,Java通过借口这种方法完全就避开了C+的这种混乱。java可以说是集合了大多数语言的优点产生的精华。 此外还有在别的领域如:从手机开发J2SE一般的web开发 还有企业级的开发 J2EE 都是Java。还有高性能、分布性、强大性、解释性、可移植性等;其实最大的优点摸过于跨平台、布性这两点可以说是极大的为安全和维护做了一次很大的升级。2.2JSP和Servlet技术优势1.1.1 jsp的优点 对于用户界面的更新,其实就是由 Web Server进行的,所以给人的感觉更新很快。所有的应用都是基于

12、服务器的,所以它们可以时刻保持最新版本。客户端的接口不是很繁琐,对于各种应用易于部署、维护和修改。1.1.2 servlet的优点 Servlet是使用Java Servlet 应用程序设计接口(API)及相关类和方法的 Java 程序。除了 Java Servlet API,Servlet 还可以使用用以扩展和添加到 API 的 Java 类软件包。Servlet 在启用 Java 的 Web 服务器上或应用服务器上运行并扩展了该服务器的能力。Java servlet对于Web服务器就好象Java applet对于Web浏览器。Servlet装入Web服务器并在Web服务器内执行,而appl

13、et装入Web浏览器并在Web浏览器内执行。Java Servlet API 定义了一个servlet 和Java使能的服务器之间的一个标准接口,这使得Servlets具有跨服务器平台的特性。 Servlet通过创建一个框架来扩展服务器的能力,以提供在 Web 上进行请求和响应服务。当客户机发送请求至服务器时,服务器可以将请求信息发送给 Servlet,并让 Servlet建立起服务器返回给客户机的响应。 当启动 Web 服务器或客户机第一次请求服务时,可以自动装入 Servlet。装入后,Servlet 继续运行直到其它客户机发出请求。Servlet 的功能涉及范围很广。2.3MySql和A

14、pache Tomcat介绍MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。Aapche的Tomcat是目前被广泛使用的一款WebApplicati

15、on服务器,Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。基于以上技术的可行性分析后我们决定在商品物流管理系统的设计与实现中睿商品物流管理系统的开发中采用JSPServlet

16、JavaBean,三层体系架构的开发模式。在网络软件开发技术方面java有着无可厚非的地位,并且在目前已经十分成熟的三层结构在业界是指表示层(View),业务逻辑层(Business logic)以及基础架构层(Infrastructure)。一个最常用的,非常成熟的三层体系架构就是,即表示层(View)、控制/中介层(Controller/Mediator) 、业务逻辑层(JavaBusiness) 和数据源层(Data Source)。它其实是在三层架构中增加了两个中间层。控制/中介层位于表示层和领域层之间,数据持久层位于领域层和基础架构层之间。而轻量级架构Jsp+Servlet+Java

17、Bean可以实现J2EE三层结构,Jsp 用于表示层,Servlet用于控制层、业务处理层,而JavaBean 用于数据源层。3中睿商品物流管理系统需求分析3.1项目要达到的目标 货物储存方便快捷,尽量避免货物积压;仓库、员工的管理以及货物的配送得到良好的安排;方便了客户查询企业信息,并且为客户下订单提供了良好的系统;通过系统优化使人力物力得到节约;安全保存各种信息,用户能方便快捷的查询信息。3.2系统整体结构 根据用户的需求陈述,可以确定本项目分为普通员工、管理员,普通员工部分主要功能是查询订单信息,修改订单,即时订单,订单录入,分配运输,确认订单;管理端的功能提供用户管理、分公司管理等。它

18、的概念设计图是: 图 3-1 概念图3.2.1活动图 图 3-2 订单管理的活动图图 3-3 员工管理的活动图图 3-4 子公司管理员管理的活动图3.2.2类图图 3-5 类图 3.2.3时序图 图 3-6 部分时序图3.2.4用例图图 3-7 系统用例图3.3物流管理系统的功能要求我们采用了基于时下比较流行的MVC模式设计,用jsp+javascript+javabean的技术,结合mysql数据库,开发本系统。系统稳定性、安全性、可移植性更强。a.身份验证,对要进入系统的人员进行身份验证,确定其具有的功能。b.在对员工的信息进行输入后,系统管理人员可以修改和删除员工信息。c.客户可以登录系

19、统,注册后可以下订单,进行业务交流。d.系统管理员对客户信息及订单进行确认,无误后即可进行相应处理。e.确认订单后,将货物存储在仓库,依据订单进行货物配送,写出配货单。f.依据配货单,安排司机以及货车。g.配送后,要求客户填写回单确认。h.整体结构合理,风格一致,模块化结构,界面清晰,接口灵活,操作简便。开发方法,文档规范化,便于管理,可扩充。完善的数据输入,维护,输出。自检性能高,用户误输、错输均有提示。容错性能高,某个用户的操作错误不会引起整个系统的瘫痪,每一功能的操作都有信息提示以免重复操作,错误操作有警告,以便用户及时改正。4中睿商品物流管理系统需求分析在需求分析确定之后需要对系统进行

20、整体分析和设计。这包括系统功能的描述、对功能模块的划分对系统流程的分析下面首先对系统功能进行描述。4.1系统功能模块划分模块划分时描述一个系统需求的一个过程,需要将需求分析中的感性描述进行抽象,提取出要实现的功能,这是整个系统开发中一个关键过程。分析的根本目的时在开发者和提出需求的人员之间建立一种理解和沟通的机制。因此,中睿物流管理系统的仓储管理需求分析也是根据开发者和实际用户需求一起来完成的。根据日常仓储管理的业务逻辑把系统划分如下:用户操作:1 录入车队信息2 查询车队信息3 录入订单信息4 查询入库单信息5 追踪订单位置信息6 销毁订单信息管理操作:1 车队信息添加/查看2 员工信息添加

21、/查询/删除/修改3 子公司添加/删除/修改4 添加/查询商品分类信息5 仓库位置信息添加/删除/修改6 密码管理7 用户权限管理 图 4-1 系统功能模块5中睿物流管理系统数据库设计数据库在整个系统设计中起着举足轻重的作用,任何数据都要在数据库中进行存储以保证数据在以后的操作实现成为可能。数据库设计是程序功能性设计的基础,只有数据库设计完后程序员才能进行功能性设计,程序员根据数据库结构实现相应的软件功能。5.1数据库设计表 5.1.1 数据库设计(1)数据项数据类型数据名称数据用途empidvarchar(20)员工编号记录员工的编号empnamevarchar(20)员工姓名记录员工的姓名

22、表 5.1.2 数据库设计(2)数据项数据类型数据名称数据用途empsexenum('男','女')员工性别记录员工的性别empageint(4)员工年龄记录员工的年龄educationvarchar(20)员工学历记录员工的学历empdatedate员工生日记录员工的生日emptelint(4)员工电话记录员工的电话号码jobidvarchar(20)职位编号记录职位编号caridvarchar(20)车辆牌号记录车辆牌号driveridvarchar(20)驾驶员编号记录驾驶员编号carteamidvarchar(20)车队编号记录车辆所在车队的编号pass

23、wordvarchar(20)密码记录用户的登陆密码loginclassenum登陆类别记录用户的登陆类别goodclassidvarchar(20)商品分类编号记录商品的分类编号goodclassnamevarchar(20)商品类别名称记录商品的类别名称departvarchar(20)部门编号记录部门编号jobnamevarchar(20)职位名称记录职位名称goodidvarchar(20)商品编号记录商品编号goodnamevarchar(20)商品名称记录商品名称useridvarchar(20)客户编号记录客户编号inwarehousevarchar(20)发件仓库编号记录商品发

24、件的仓库编号outwarehousevarchar(20)目的仓库编号记录商品目的的仓库编号countvarchar(20)商品数量记录商品数量nowwarehousevarchar(20)所在仓库编号记录商品目前所在的仓库编号createtimefloat产生日期记录订单的产生日期表 5.1.3 数据库设计(3)数据项数据类型数据名称数据用途postilvarchar(20)备注记录商品特殊信息备注warehouseidvarchar(20)仓库编号记录仓库的编号warehousenamevarchar(20)仓库名字记录仓库的名字addressvarchar(500)仓库地址记录仓库的地址

25、5.2 数据字典5.2.1 车辆管理表car_info表 5.2 car_info车辆管理表编号字段名字段类型否为主键是否为空备注信息01numInt(4)是否该表自动编号02caridvarchar(20)否否车辆牌号03driveridvarchar(20)否否驾驶员编号04carteamidvarchar(20)否否所属车队编号5.2.2 车队信息表car_team_info表 5.3 car_team_info车队信息表编号字段名字段类型否为主键是否为空备注信息01numint(4)是否该表自动编号02caridvarchar(20)否否车辆编号03empidvarchar(20)否否

26、员工编号 5.2.3 商品分类表goods_class_info表 5.4 goods_class_info商品分类表编号字段名字段类型否为主键是否为空备注信息01numInt(4)是否该表自动编号02goodclassidvarchar(20)否否商品分类编号03goodclassnamevarchar(20)否否商品分类名称 5.2.4 职员信息表emp_info表 5.5 emp_info职员信息表编号字段名字段类型否为主键是否为空备注信息01numint(4)是否该表自动编号02empidvarchar(20)否否员工编号03empnamevarchar(20)否否员工姓名04emps

27、exenum('男','女')否否员工性别05empageint(4)否否员工年龄06educationvarchar(20)否否员工学历07empdatevarchar(20)否是员工生日08emptelint(4)否是员工电话09jobidvarchar(20)否否职位编号 5.2.5 职位信息表EmployeeInfoTable表 5.6 EmployeeInfoTable职位信息表编号字段名字段类型否为主键是否为空备注信息01numint(4)是否该表自动编号02jobidvarchar(20)否否职位编号03departvarchar(20)否否部门编

28、号04jobnamevarchar(20)否否职位名称 5.2.6 商品信息表good_info表 5.7 good_info商品信息表编号字段名字段类型否为主键是否为空备注信息01numint(4)是否该表自动标号02goodidvarchar(20)否否商品编号03goodnamevarchar(20)否否商品名称04goodclassidvarchar(20)否否商品分类编号05useridvarchar(20)否否客户编号06inwarehousevarchar(20)否否上一站仓库编号07outwarehousevarchar(20)否否下一站仓库编号08countvarchar(2

29、0)否否商品数量09nowwarehousevarchar(20)否否所在仓库编号10createtimefloat否否生产日期11empidvarchar(20)否否员工编号12postilvarchar(20)否否备注 5.2.7 用户登陆表login表 5.8 login用户登陆表编号字段名字段类型否为主键是否为空备注信息01numint(4)是否该表自动编号02empidvarchar(20)否否员工编号03passwordvarchar(20)否否密码04loginclassenum否否登陆类别 5.2.8 仓库信息表warehouse表 5.9 warehouse仓库信息表编号字段

30、名字段类型否为主键是否为空备注信息01numint(4)是否该表自动编号02warehouseidvarchar(20)否否仓库编号03warehousenamevarchar(20)否否仓库名字04addressvarchar(500)否否仓库地址6中睿物流管理系统功能性计6.1系统功能简介对于普通员工用户有如下操作:录入车队信息,查询车队信息,录入订单信息,查询入库单信息,追踪订单位置信息,销毁订单信息。对于管理员用户有如下操作:车队信息添加/查看,员工信息添加/查询/删除/修改,子公司添加/删除/修改,添加/查询商品分类信息,仓库位置信息添加/删除/修改,密码管理,用户权限管理。6.1.

31、1主页 图 6-1 主页Index部分代码:<li> <a class="go" href="/My_WuLiuNo.3/Good_list.jsp" title="订单管理">订单管理</a> <blockquote> <div class="ChildNavIn"> <a target="_blank" href="/My_WuLiuNo.3/Good_register.jsp">新建运单</a

32、> <a target="_blank" href="/My_WuLiuNo.3/Good_show.jsp">运单查询</a> <a target="_blank" href="/My_WuLiuNo.3/Good_update.jsp">即时运单</a> <a target="_blank" href="/My_WuLiuNo.3/Good_Delete.jsp">运单销毁</a> <a

33、target="_blank" href="/My_WuLiuNo.3/warehouse_list.jsp">网点查询</a> </div> </blockquote> </li><li class="s"> | </li><li> <a class="go" href="/My_WuLiuNo.3/Car_list.jsp" title="车辆管理">车辆管理</a

34、> <blockquote> <div class="ChildNavIn"> <a target="_blank" href="/My_WuLiuNo.3/Car_register.jsp">添加新车辆</a> <a target="_blank" href="/My_WuLiuNo.3/Car_list.jsp">查看车辆</a> </div> </blockquote> </li&g

35、t;6.1.2登陆界面 图 6-2 登陆界面Login.jsp部分代码: <div align="center"> <font color="#0000ff"><strong>欢迎来到物流管理系统</strong></font><script language=JavaScript src="script/checklogin.js"></script> </div> <div align="center">

36、 <form name="form" action="login.jsp" method="post"onsubmit="return checkLogin()"><input type="hidden" name="action" value="login"> <table width="317" height="98"><tr><td> 工号:<i

37、nput type="text" name="empid"> </td></tr> <tr> <td> 密码:<input type="password" name="password"> </td> </tr> <tr> <td> <input type="radio" name="loginclass" value="driver"/

38、>司机</td> <td> <input type="radio" name="loginclass" value="manager"/>经理</td> <td> <input type="radio" name="loginclass" value="employer"/>普通员工</td> </tr> <tr> <td> <input typ

39、e="submit" value="提交"/> <input type="reset" value="重置"/></td></tr> </table>6.2系统功能模块设计 6.2.1员工管理Emp.java部分代码:/录入车队信息public void save_Emp()Connection conn = DB.getConn();String sql = "insert into emp values(null,?,?,?,?,?,?,?)&qu

40、ot;PreparedStatement pstmt = DB.PrepStmt(conn, sql);try pstmt.setString(1, empid);pstmt.setString(2, empname);pstmt.setString(3, empsex);pstmt.setString(4, empage);pstmt.setString(5, empdate);pstmt.setString(6, emptel);pstmt.setString(7, jobid);pstmt.executeUpdate();/System.out.println(sql); catch (

41、SQLException e) / TODO Auto-generated catch blocke.printStackTrace();public static ArrayList<Emp> getEmp()ArrayList<Emp> list = new ArrayList<Emp>();Connection conn = null;ResultSet rs = null;try conn = DB.getConn();String sql = "select * from emp"rs = DB.executeQuery(con

42、n, sql);while(rs.next()Emp emp =new Emp();emp.setEmpid(rs.getString("empid");emp.setEmpname(rs.getString("empname");emp.setEmpsex(rs.getString("empsex");emp.setEmpage(rs.getString("empage");emp.setEmpdate(rs.getString("empdate");emp.setEmptel(rs.getS

43、tring("emptel");emp.setJobid(rs.getString("jobid");list.add(emp); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();finallyDB.closeRs(rs);DB.closeConn(conn);return list;public static ArrayList<Emp> getEmp(String empid)ArrayList<Emp> list = ne

44、w ArrayList<Emp>();Connection conn = null;ResultSet rs = null;try conn = DB.getConn();String sql = "select * from emp where empid = '"+empid+"'"rs = DB.executeQuery(conn, sql);while(rs.next()Emp emp =new Emp();emp.setEmpid(rs.getString("empid");emp.setEmpn

45、ame(rs.getString("empname");emp.setEmpsex(rs.getString("empsex");emp.setEmpage(rs.getString("empage");emp.setEmpdate(rs.getString("empdate");emp.setEmptel(rs.getString("emptel");emp.setJobid(rs.getString("jobid");list.add(emp); catch (SQLEx

46、ception e) / TODO Auto-generated catch blocke.printStackTrace();finallyDB.closeRs(rs);DB.closeConn(conn);return list;public static ArrayList<Emp> find(String empid)ArrayList<Emp> list = new ArrayList<Emp>();Connection conn = null;ResultSet rs = null;try conn = DB.getConn();String sql = "select * from emp where empid = '"+empid+"'"System.out.println(sql);rs = DB.executeQuery(conn, sql);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1