仓库管理系统设计研究报告.doc
《仓库管理系统设计研究报告.doc》由会员分享,可在线阅读,更多相关《仓库管理系统设计研究报告.doc(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 . . 题目:仓库管理系统 学 院 数学与计算机学院 专 业 软件工程学 号 201135112姓 名 钱宇坤2013年5月30日49 / 52仓库管理系统一、实验目的1、全面熟悉与领会本门课程所学习的容,从实际系统开发中领会数据库完整性的意义和数据库设计理论的意义与设计过程,掌握开发数据库应用程序的基本能力。2、掌握“仓库管理系统”与查询定义方法和使用方法;3、熟悉数据库建模与E/R图的画法;4、掌握SQL Server 中数据库、与数据库的建立与管理方法;5、掌握数据导入/导出与数据表的建立与管理方法。二、实验要求本系统的设计模拟一般仓库的管理容,包括物资管理、仓库管理、入库操作、入库查
2、询统计、出库操作、出库查询统计、库存查询统计等处理情况。2.1管理模块要求:管理设备信息实现设备信息的添加、删除、修改、查询仓库管理实现仓库信息的添加、删除、修改、查询入库信息管理实现入库信息的添加、删除、修改、查询、打印出库信息管理实现出库信息的添加、删除、修改、查询、打印库存信息查询实现库存信息的查询2.2功能要求:设备管理包括物资类别,物资信息的维护(包括录入、删除、修改)仓库管理包括从仓库信息的录入、修改、删除入库信息管理包括入库信息的操作,能够按照年、月、季度、设备种类查询方式进行查询,并打印入库信息。出库查询管理保罗出库信息的操作,能够按照年、月、季度、设备种类查询方式进行查询,并
3、打印出库信息。库存信息管理实现按照物资种类、物资名称等方式查询库存信息2.3其他要求设计设计界面友好,功能操作方面合理,并适当考虑系统在安全性、完整性、备份、恢复等方面的功能要求。三、实验设计3.1基本表设计用户表 LogInFrm(用户名,密码,用户组权限)设备信息表 FacilityNum(设备号,设备名称)库存信息表 drivestorage(设备号,设备库存量)购买信息表 buyTable (设备号,现有库存,最大库存,购买数量,供应商,价格,制表人,备注,报表时间)入库信息表 storage_in(设备号,入库日期,供应商,供应商,数量,价格,采购员)出库信息表 storage_ou
4、t(设备号,出库日期,使用部门,数量,经办人,备注)还库信息表 storage_ret(设备号,还库日期,数量,经办人,归还部门)3.2 E/R图设备号设备名称设备还库日期入库日期供应商使用部门出库日期还库 数量数量入库出库 经办人数量 备注归还部门经办人价格采购员仓库3.3 数据字典名字:设备表描述:唯一的标识一个设备的信息集合定义:设备=设备号+设备名位置:存储在数据库名字:库存表描述:唯一的标识一个仓库的信息集合定义:仓库=仓库号+库存量位置:存储在数据库名字:购买信息表描述:唯一的标识一个购买记录特征的信息集合定义:购买信息=设备号+现有库存+最大库存+购买数量+供应商+价格+制表人+
5、备注+报表时间位置:存储在数据库名字:用户表别名: 描述:唯一的标识一个用户特征的信息集合定义:职工=用户名+密码+权限位置:存储在数据库名字:还库表描述:还库信息的情况定义:还库信息=设备号+还库日期+数量+经办人+归还部门位置:存储在数据库名字:入库表 描述:物资的入库信息定义:入库表=设备号+入库日期+供应商+供应商 +数量+价格+采购员位置:存储在数据库名字:出库表 描述:物资的出库信息定义:出库表=设备号+出库日期+使用部门+数量+经办人+备注位置:存储在数据库3.4 系统需求仓库管理系统普通职员经理仓库管理员操作购买信息查询操作查询操作修改操作还库操作入库操作出库操作删除仓库增加仓
6、库更改密码出库查询购买信息还库查询设备查询库存查询入库查询3.5功能描述仓库管理员:入库操作:设备入库信息的操作出库操作:设备出库信息的操作还库操作:设备还库信息的操作查询操作:查询设备信息、库存信息更改操作:更改密码,仓库的增加、删除经理:查询操作:查询设备信息、库存信息、购买信息普通职员:操作购买信息:购买信息的录入、修改四、 系统设计4.1总体设计仓库管理系统是对设备的入库出库等信息进行记录并查询,包括管理员、经理和普通职员的操作。管理员可以对仓库进行出库入库与修改仓库信息,经理只能查看自己设备的相关情况,普通职员则只能录入购买信息。以下是对仓库各种操作的流程图。4.1.1 处理流程以下
7、是仓库管理系统中操作流程:1、 管理员的入库操作2、 出库操作3、更改密码4、查询操作4.2数据结构设计在仓库管理系统中,对设备的管理是整个系统运作的关键,是仓库管理、入库操作、出库操作的基础,因此对设备的管理就显得尤为重要。设备的基本表要设计合理,能涵盖其他操作需要的各种信息,以与对各类信息的限制条件等。设计好的设备管理表如下表所示:表1设备表列名数据类型长度是否允许空设备号char10NOT NULL,主键设备名char10NOT NULL经过分析,设计出的仓库管理的购买信息表如表2所示。表2购买信息表列名数据类型长度是否允许空设备号char10NOT NULL,主键最大库存量char10
8、NOT NULL购买数量char10NOT NULL供应量char10NOT NULL价格char10NOT NULL购买信息表的设计也应该合理,设计好的购买信息表如下:表3库存表列名数据类型长度是否允许空设备号char10NOT NULL, 主键现有库存量char10NOT NULL设备的各种入库信息应该显示在入库表中,设计好的入库表如下: 表4入库表列名数据类型长度是否允许空设备号char10NOT NULL,主键供应商char10NOT NULL入库日期datetime8NOT NULL供应商char10NOT NULL价格char10NOT NULL采购员char10NOT NULL数
9、量int4NOT NULL 物资的各种出库信息应该显示在出库表中,设计好的出库表如下: 表5出库表列名数据类型长度是否允许空设备号char10NOT NULL,主键使用部门char10NOT NULL出库日期datetimeNOT NULL数量char10NOT NULL 设计好的还库表如下所示:表6还库表列名数据类型长度是否允许空设备号char10NOT NULL,主键数量char10NOT NULL还库日期datatimeNOT NULL经办人char10NOT NULL归还部门char30 设计好的用户表如下所示:表7用户表列名数据类型长度是否允许空用户char10NOT NULL,主键
10、密码char10NOT NULL,主键权限char10NOT NULL五、 系统实现5.1开发工具和环境操作系统:Microsoft Windows 7数 据 库:Microsoft SQL Server 2005编程环境:Microsoft Visual Studio 20055.2系统的实现5.2.1 管理员子系统的设计与实现 管理员可以对仓库进行各种操作,包括入库操作、出库操作、各种查询操作与更改操作。因为是俩人合作,所以本部分实现入库操作与出库操作。5.2.1.1存储过程ALTER procedure UpdateStoragei_Drive_ID CHAR(10) ,i_InOutN
11、umber INT ,o_ErrMessage VARCHAR(256) OUTPUT ASDECLARESQL_ERR_CODE INT ,ERR_FLG INT BEGINIF NOT EXISTS( SELECT * FROM drivestorage WHERE 设备号= i_Drive_ID) BEGIN IF i_InOutNumber 0 BEGIN print 1 INSERT INTO drivestorage (设备号,现有库存量) VALUES( i_Drive_ID ,i_InOutNumber ) print 2 SET SQL_ERR_CODE = ERROR IF
12、 SQL_ERR_CODE 0 BEGIN SET ERR_FLG = -1 GOTO ERROR_RETURN END END ELSE BEGIN SET ERR_FLG = 1 GOTO ERROR_RETURN END ENDELSE BEGIN UPDATE drivestorage SET 现有库存量= CONVERT(CHAR,( CONVERT(INT,现有库存量) + i_InOutNumber ) ) WHERE 设备号= i_Drive_ID SET SQL_ERR_CODE = ERROR IF SQL_ERR_CODE 0 BEGIN SET ERR_FLG = -1
13、 GOTO ERROR_RETURN END ENDENDNORMAL_RETURN:BEGIN RETURN 0ENDERROR_RETURN:BEGIN IF ERR_FLG = 1 BEGIN SET o_ErrMessage = 没有入库的设备不能出库 END ELSE IF ERR_FLG = -1 BEGIN SET o_ErrMessage = 系统错误 END RETURN ERR_FLGEND5.2.1.2数据库的连接: 数据库连接的代码:string myConn = new SqlConnection( Data Source=.SQLEXPRESS;AttachDbFi
14、lename=C:Program Files (x86)Microsoft SQL ServerMSSQL.3MSSQLDatastorage_Data.MDF;Integrated Security=True;Connect Timeout=30;User Instance=True);/建立连接 SqlConnection myConnection = new SqlConnection(connectionString); myConnection.Open();5.2.1.2入库操作执行物资操作后,物资的相关数据就已经改变,所以跟设备相关的仓库、库存表、入库表都有相应的变化。典型代码如
15、下:tryif( MyConn.State != ConnectionState.Open)MyConn.Open();if(this.textNum2.Enabled=true)this.textNum2.Enabled=false;ISReport = (CurrencyManager)this.BindingContextInStgInfo;if (this.textNum2.Text.Trim() = |this.textAmount.Text.Trim()=)/检查不能为空的字段MessageBox.Show(设备号,数量不能为空!);return;ISReport.EndCurre
16、ntEdit();if(InStgInfo.GetChanges()!=null)/信息是否被重新编辑if(!change)if(this.oldtxtAmount=this.textAmount.Text.Trim()change=false;elsechange=true;InStgAdapter.UpdateCommand.Connection=MyConn;/更新到数据库InStgAdapter.InsertCommand.Connection=MyConn;InStgTran=MyConn.BeginTransaction();InStgAdapter.UpdateCommand.T
17、ransaction = InStgTran;InStgAdapter.InsertCommand.Transaction = InStgTran;this.InStgAdapter.Update(InStgInfo);if(change)/还库数量字段有新值了string number=this.textAmount.Text.Trim();int changeAmt=int.Parse(number)-int.Parse(oldtxtAmount);string driveID=this.textNum2.Text.Trim();SqlCommand driveStorageUpdateC
18、ommand = new SqlCommand();/更新库存表的现有库存driveStorageUpdateCommand.Connection = MyConn;/调用存储过程driveStorageUpdateCommand.Transaction = InStgTran;driveStorageUpdateCommand mandType = CommandType.StoredProcedure;driveStorageUpdateCommand mandText = UpdateStorage;driveStorageUpdateCommand.Parameters.Add(i_D
19、rive_ID,SqlDbType.Char,10);driveStorageUpdateCommand.Parametersi_Drive_ID.Value =driveID; driveStorageUpdateCommand.Parameters.Add(i_InOutNumber,SqlDbType.Int);driveStorageUpdateCommand.Parametersi_InOutNumber.Value = changeAmt;driveStorageUpdateCommand.Parameters.Add(o_ErrMessage,SqlDbType.VarChar,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 仓库 管理 系统 设计 研究 报告
限制150内