




免费预览已结束,剩余9页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
沈阳航空航天大学 课 程 设 计 报 告 课程设计名称:软件综合课程设计 课程设计题目:立体库入库货位分配管理系统 院(系):计算机学院 专 业:计算机科学与技术 班 级: 学 号: 姓 名: 指导教师: 说明:结论(优秀、良好、中等、及格、不及格)作为相关教环节考核必要依据;格式不符合要求;数据不实,不予通过。报告和电子数据必须作为实验现象重复的关键依据。 沈阳航空航天大学课程设计报告 错误!未指定书签。 学术诚信声明 本人声明:所呈交的报告(含电子版及数据文件)是我个人在导师指导下独立进行设计工作及取得的研究结果。尽我所知,除了文中特别加以标注或致谢中所罗列的内容以外,报告中不包含其他人己经发表或撰写过的研究结果,也不包含其它教育机构使用过的材料。与我一同工作的同学对本研究所做的任何贡献均己在报告中做了明确的说明并表示了谢意。报告资料及实验数据若有不实之处,本人愿意接受本教学环节“不及格”和“重修或重做”的评分结论并承担相关一切后果。 本人签名: 日期: 年 月 日 2 沈阳航空航天大学课程设计报告 错误!未指定书签。 沈阳航空航天大学 课程设计任务书 课程设计名称 软件综合课程设计 专业 计算机科学与技术 学生姓名 班级 学号 题目名称 立体库入库货位分配管理系统 起止日期 年 月 日起至 年 月 日止 2016 12 19 2017 1 13 课设内容和要求: 一、课程设计内容: 立体库就是实现生产储存自动化的一个典型的体现,自动化立体库的货物存放方式也采用标准化方式,根据不同的规格的货位和货物自身规格,设计货物入库的货位分配管理。具体实现功能如下: (1)维护货物入库的任务,其中包括货物代码,货物名称,入库数量; (2)根据当前货位的存放状态,分解入库任务,形成入库工作流; (3)入库的原则采用就近入库; (4)入库任务分解异常定义; (5)对失败任务进行自动提醒,提示失败原因。 二、课程设计要求: 1.界面设计要优化,直观,大方,美观; 2.采用面向兑现程序设计方法; 3.用数据库保存各项信息; 4.独立完成系统的设计、编码和调试工作并通过指导老师的检查; 5.按课程设计规范撰写课程设计报告。 教研室审核意见: 教研室主任签字: 指导教师(签名) 年 月 日 3 沈阳航空航天大学课程设计报告 错误!未指定书签。 学 生(签名) 年 月 日 4 沈阳航空航天大学课程设计报告 错误!未指定书签。 课程设计总结: 通过此次课程设计,使我更加扎实的掌握了有关编码方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。 我认为,在这学期的课设中,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,在编码过程中,我学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于将来也有很大的帮助。以后,不管有多苦,我想我都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。 回顾起此课程设计,至今我仍感慨颇多,从理论到实践,在这段日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,但可喜的是最终都得到了解决。 5 沈阳航空航天大学课程设计报告 错误!未指定书签。 目 录 沈阳航空航天大学 . I 学术诚信声明 . 2 1 需求分析 . 7 1.1 立体库入库货位分配管理系统设计背景 . 7 1.2 题目的理解 . 7 1.3 应完成的功能 . 7 1.4 采用的工具 . 7 2 设计概要 . 8 2.1数据库表属性概要说明 . 8 2.2 数据库E-R图 . 8 2.2 系统的功能模块层次图 . 8 3 详细设计 . 9 3.1 数据库表结构详细说明 . 9 3.2 功能模块详细说明 . 10 3.2.1货位管理 . 10 3.2.2货位列表 . 10 3.2.3货物列表 . 10 3.2.4立体库入库列表 . 10 3.2.5入库任务 . 10 4 调试分析 . 12 5 用户手册 . 13 5.1 项目首页 . 13 5.2 货位添加 . 13 5.3 入库任务 . 14 5.3.1 入库货物信息录入 . 14 6 沈阳航空航天大学课程设计报告 错误!未指定书签。 5.3.1 入库货位确定 . 14 5.3.1 入库操作成功 . 15 5.4 货位列表 . 15 5.5 货物列表 . 15 5.6 入库列表 . 16 6 结束语 . 17 参考文献 . 18 附 录(关键部分程序清单) . 19 7 沈阳航空航天大学课程设计报告 错误!未指定书签。 1 需求分析 1.1 立体库入库货位分配管理系统设计背景 随着现代工业的快速发展,传统的仓储方式日益不能满足生产和流通的需要, 自动化立体仓库得到越来越多的应用。面对成千上万的货格,立体仓库的货位分配 优化已成为提高存取效率、降低成本的关键。 1.2 题目的理解 立体库入库货位分配管理系统的设计,是对立体库货位进行一个数据化的管理,让系统可以通过货位存储情况、货位距离等信息自动的为入库货物选取最合适的货位进行储存,设计的这个管理系统,相对于传统管理模式,毫无疑问会大大提高仓库的运作效率,自动化程度,以及管理水平,为降低经营成本,提高效益,减少差错,节省人力。 1.3 应完成的功能 功能一 :对货物的信息(货号、货名、类别、规格、入库量和生产厂家)的添加、查询的操作。 功能二 :对立体库货位的信息(货位号、规格、距离、剩余容量和货位状态)的添加、查询的操作。 功能三 :根据当前货位的存放状态,分解入库任务,形成入库工作流。 功能四 :入库原则采用就进入库。 功能五 :入库任务分解异常定义,对失败的任务进行自动提醒,提示失败原因。 功能六 :对立体库货物存放货位信息的查询操作。 1.4 采用的工具 MyEclipse、Mysql数据库、Navicat for Mysql数据库可视化工具等。 8 沈阳航空航天大学课程设计报告 错误!未指定书签。 2 设计概要 2.1数据库表属性概要说明 立体库入库货位分配管理系统中主要包含两个实体类:货物类主要由货物编号、货物名、货物类型、货物规格、货物数量、生产厂家等组成;货位类主要由货位编号、货位规格、货位距离、剩余容量、货位状态等组成。 2.2 数据库E-R图 图2.1 数据库E-R图 货物和货位存在存入关系,一个货位如果容量允许可以存放多个货物,但一个货物只能存在一个货位当中。 2.2 系统的功能模块层次图 9 沈阳航空航天大学课程设计报告 错误!未指定书签。 图2.2 系统功能模块层次图 3 详细设计 3.1 数据库表结构详细说明 货物信息表(goods) 属性名称 属性类型 长度 属性含义 id int 10 无实际含义,mysql数据库自动递增 gid varchar 10 货物信息编号,手工编写 gname varchar 50 货物名称 gtype varchar 50 货物类别 gsize int 10 货物规格 gnum int 10 货物数量 gfrom varchar 100 货物来源 表3.1 货物信息表立体库货位信息表(location) 属性名称 属性类型 长度 属性含义 lid int 10 立体库货位编号,mysql数据库自动递增 lsize int 10 立体库货位规格(容量) 10 立体库货位距离(离库入口远ldistance varchar 近) lfsize int 10 立体库货位剩余容量 lstate varchar 10 立体库货物状态标记(保存0表示未满,保存1表示已满) 表3.2 立体库货位信息表 10 沈阳航空航天大学课程设计报告 错误!未指定书签。 货物入库信息表(storage) 属性名称 属性类型 长度 属性含义 sid int 10 入库编号,mysql数据库自动递增 gid varchar 10 入库货物信息编号 lid varchar 10 立体库入库货位编号 stime 入库时间(提交入库任务时,获datetime 6 得的入库) 表3.3 货物入库信息表 3.2 功能模块详细说明 3.2.1货位管理 本模块主要对立体库货位进行管理操作。立体库入库系统初步建立时,可以对货位进行添加操作;货位信息变更时,可以对货位进行修改操作;货位不需要时,可以对货位进行删除操作。 3.2.2货位列表 本模块是对立体库中所有货位的信息、剩余容量、状态等以列表的形式呈现出来,方便货位管理、入库任务后货位信息的验证。 3.2.3货物列表 本模块是对立体库中存入货物的信息以列表的形式呈现出来,方便货物管理及入库任务后货位信息的验证。 3.2.4立体库入库列表 本模块是对立体库中入库的货物编号、货位编号、入库时间等以列表的形式呈现出来,方便货物管理及入库任务后信息的验证。 11 沈阳航空航天大学课程设计报告 错误!未指定书签。 3.2.5入库任务 入库任务模块是该系统的核心模块。入库任务模块流程图如下: 图3.1入库任务流程图此模块主要根据当前货位的存放状态,分解入库任务,形成入库工作流。首先,入库任务第一步录入存放货物信息,将货物信息存入数据库中:若保存成功返回保存成功信息提示页面;若保存失败返回保存失败提示页面;入库任务第二步,从数据库中查找剩余容量大于或等于货物总容量且距离最近的货位,并将其信息显示出来,若没有合适货位返回没有合适货位提示页面并将此货物信息从货物信息表中删除;入库操作第三步,确定将货物存入此货位,将入库信息存入入库表中,若存入成功,修改货位信息表中此货位的剩余容量,跳转成功操作页面,若存入失败,返回存入货位失败提示页面并将此货物信息从货物信息表中删除。 12 沈阳航空航天大学课程设计报告 错误!未指定书签。 4 调试分析 立体库入库管理系统要求入库的原则采用就近入库,这就要求进行入库操作时,要对货位进行筛选。在刚开始做时,货位的筛选靠一部分sql语句,一部分要靠获得值后进行遍历查找距离的最小值。在后来的了解中,知道了可以在sql语句中直接加个最小值的条件就直接获得了就近入库对货位的筛,这种操作方式非常简单易操作,还大大减少了程序的反应时间和代码的长度。 最初立体库管理系统建立时,没有考虑到货位浪费的问题,只想着让一个货物存入库中就行了,这个货位不管剩余多少容量都将不能存入货物,造成了资源的大量浪费。在实际情况中,只要这个货位可以容纳货物容量就能存入。为此,我在货位信息中添加了一个字段,用于保存货位剩余容量。每次入库筛选货位时,不再用以前的货位规格进行筛选,用剩余容量进行货位筛选;每次入库货物后,就会更新这个剩余容量。经过这次更改,使立体库入库管理更接近实际。 13 沈阳航空航天大学课程设计报告 错误!未指定书签。 5 用户手册 5.1 项目首页 立体库管理系统进入后的欢迎页面。 5.2 货位添加 立体库入库系统初步建立时,管理者可对货位进行添加操作。输入货位规格和货位距离,其中货位编号由数据库自动生成,初步添加时将货位剩余容量置为货位规格,并将货位状态设置为未满。 14 沈阳航空航天大学课程设计报告 错误!未指定书签。 5.3 入库任务 5.3.1 入库货物信息录入 输入将要存入立体库货物的信息。 5.3.1 入库货位确定 点击下一步,将确定将货物存入系统选择的立体库中。 15 沈阳航空航天大学课程设计报告 错误!未指定书签。 5.3.1 入库操作成功 货物存入成功。 5.4 货位列表 显示所有货位信息列表。 5.5 货物列表 显示所有已经入库的货物信息列表。 16 沈阳航空航天大学课程设计报告 错误!未指定书签。 5.6 入库列表 显示所有入库信息列表。 17 沈阳航空航天大学课程设计报告 错误!未指定书签。 6 结束语 通过此次课程设计,使我更加扎实的掌握了有关编码方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。 我认为,在这学期的课设中,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,在编码过程中,我学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于将来也有很大的帮助。以后,不管有多苦,我想我都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。 回顾起此课程设计,至今我仍感慨颇多,从理论到实践,在这段日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,但可喜的是最终都得到了解决。 18 沈阳航空航天大学课程设计报告 错误!未指定书签。 参考文献 1 李芝兴,杨瑞龙. Java程序设计之网络编程M. 北京:清华大学出版社, 2009 2 王珊. 数据库系统概论(第四版)M. 北京:高等教育出版社,2006 3 严蔚敏. 数据结构(C语言版)M. 北京:清华大学出版社,2011 5 牛力,傅韵. Visual C+.NET编程宝典M. 北京:电子工业出版社,2006 19 沈阳航空航天大学课程设计报告 附 录(关键部分程序清单) Conn类: package com.storage.conn;/数据库连接类 import java.sql.Connection; import java.sql.DriverManager; public class conn public Connection getCon() try Class.forName(com.mysql.jdbc.Driver); String url = jdbc:mysql:/localhost:3306/storage?useUnicode=true&characterEncoding=utf-8; String user = root; String password = 123456; Connection conn = DriverManager.getConnection(url, user, password); System.out.println(conn.getMetaData().getURL(); return conn; catch (Exception e) e.printStackTrace(); return null; Goods实体类: package com.storage.model;/货物信息实体类 public class goods 20 沈阳航空航天大学课程设计报告 private int id; private String gid;/货物编号 private String gname;/货物名称 private String gtype;/货物类型 private String gsize;/货物规格 private int gnum;/货物数量 private String gfrom;/生产厂家 public int getId() return id; public void setId(int id) this.id = id; public String getGid() return gid; public void setGid(String gid) this.gid = gid; public String getGname() return gname; public void setGname(String gname) this.gname = gname; public String getGtype() return gtype; 21 沈阳航空航天大学课程设计报告 public void setGtype(String gtype) this.gtype = gtype; public String getGsize() return gsize; public void setGsize(String gsize) this.gsize = gsize; public int getGnum() return gnum; public void setGnum(int gnum) this.gnum = gnum; public String getGfrom() return gfrom; public void setGfrom(String gfrom) this.gfrom = gfrom; GoodsService类: package com.storage.service;/货物信息服务层,主要对数据库中货物信息表进行修改。 import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; 22 沈阳航空航天大学课程设计报告 import java.util.ArrayList; import java.util.List; import com.storage.model.goods; public class goodsService private Connection conn; private PreparedStatement pstmt; public goodsService() conn = new com.storage.conn.conn().getCon(); public boolean addgoods(goods go) try pstmt = conn.prepareStatement(insert into goods + (gid,gname,gtype,gsize,gnum,gfrom) + values(?,?,?,?,?,?); pstmt.setString(1, go.getGid(); pstmt.setString(2, go.getGname(); pstmt.setString(3, go.getGtype(); pstmt.setString(4, go.getGsize(); pstmt.setInt(5, go.getGnum(); pstmt.setString(6, go.getGfrom(); pstmt.executeUpdate(); return true; catch (SQLException e) / TODO Auto-generated catch block e.printStackTrace(); return false; 23 沈阳航空航天大学课程设计报告 public boolean delete(String gid) try pstmt = conn.prepareStatement(delete from goods where gid=?); pstmt.setString(1, gid); pstmt.executeUpdate(); return true; catch (Exception e) e.getStackTrace(); return false; public List querygoods() List list = new ArrayList(); try pstmt = conn.prepareStatement(select * from goods); ResultSet rs = pstmt.executeQuery(); while (rs.next() goods goods = new goods(); goods.setId(rs.getInt(1); goods.setGid(rs.getString(2); goods.setGname(rs.getString(3); goods.setGtype(rs.getString(4); goods.setGsize(rs.getString(5); goods.setGnum(rs.getInt(6); goods.setGfrom(rs.getString(7); list.add(goods); return list; 24 沈阳航空航天大学课程设计报告 catch (SQLException e) / TODO Auto-generated catch block e.printStackTrace(); return null; StoragesecondServlet类: package com.storage.servlet;/入库任务第二步操作,查找最符合条件的货位 import java.io.IOException; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import com.storage.model.location; import com.storage.service.locationService; public class storagesecondServlet extends HttpServlet private static final long serialVersionUID = 1L; public storagesecondServlet() super(); public void destroy() super.destroy(); / Just puts destroy string in log / Put your code here 25 沈阳航空航天大学课程设计报告 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException doPost(request, response); public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException String gsize = (String) request.getSession().getAttribute(gsize); String gnum = (String) request.getSession().getAttribute(gnum); int size = Integer.parseInt(gsize); int num = Integer.parseInt(gnum); int fsize = size*num; List locs = new locationService().querybysize(fsize); if(locs.size() != 0) location loc0 =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年高考语文第二轮专题复习强化训练:语言文字运用(附答案)二
- 中班健康远离噪音
- 胎儿胼胝体超声评估体系
- 教师学习培训结业学员汇报
- 右肩胛骨骨折护理查房
- 新人入职培训规章制度
- 护理班级总结
- 沟通协调能力培训
- 值日班长培训
- 子宫切除术后疼痛护理
- 2020年预防艾滋病、梅毒和乙肝(三病)母婴传播培训
- 中国音乐学院《药学分子生物学》2023-2024学年第二学期期末试卷
- 化工厂安全隐患排查培训
- 《室上性心动过速》课件
- 2025年高中历史会考会考全套知识复习
- 健身房预售培训课件
- 2025年中铁国际集团招聘79人高频重点提升(共500题)附带答案详解
- 国开《政治经济学》第四次形考任务答案(第2套)
- 课件:《中华民族共同体概论》第一讲 中华民族共同体基础理论
- 殡葬礼仪策划方案
- (完整版)无菌医疗器械耗材生产企业体系文件-质量手册模板
评论
0/150
提交评论