仓库管理信息系统设计与实现.doc

上传人:精*** 文档编号:831209 上传时间:2023-09-06 格式:DOC 页数:24 大小:536.26KB
下载 相关 举报
仓库管理信息系统设计与实现.doc_第1页
第1页 / 共24页
仓库管理信息系统设计与实现.doc_第2页
第2页 / 共24页
仓库管理信息系统设计与实现.doc_第3页
第3页 / 共24页
仓库管理信息系统设计与实现.doc_第4页
第4页 / 共24页
仓库管理信息系统设计与实现.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、 仓库管理信息系统设计与实现1 课题简介课题:仓库管理信息系统任务:开发仓库管理系统,主要为减轻仓库管理人员的负担,使货物的存入记录与取出记录相对完善,便于货物的增加与减少,降低出错率,使管理更加合理、科学,也为经营者节省开支。在系统中应实现货物的入库、出库、货物信息盘点等操作,由于在仓库管理的过程中会涉及到大量的数据操作,如数据的添加、删除、修改和保存等,因此在系统中应充分完善这些功能的实现,为避免数据的误操作或其它原因造成的数据损坏在系统中数据的备份和还原必不可少。该系统正是在此基础上开发出来的。功能概述:该系统界面友好,操作简便,能完成用户的注册,用户信息管理,供应商信息管理,仓库信息管

2、理,货物入库、出库、和盘点管理,数据的备份和还原等一系列仓库管理功能,开发本系统的总体任务是实现仓库信息管理的系统化和自动化,帮助管理人员更好更高效地完成仓库管理工作。本着实用性和介绍性的原则,整个系统由五大模块组成,每个大的模块又包括二至三个小的模块。(1)用户管理部分:包括个人信息管理、注册信息管理和退出;其功能是实现对个人信息的查询、修改和注销,完成新用户注册以及推出系统等操作。(2)基本信息管理部分:包括供应商基本信息和商品基本信息管理,其功能是实现对供应商和商品信息的添加和修改、删除和查询等操作。(3)仓库管理部分:包括货物的入库、出库和盘点管理,其功能是实现货物的入库和删除历史记录

3、,自动查询要出库的货物并记录出库信息,查询需盘点的货物的信息并进行货物盘点等操作。(4)系统维护部分:包括数据的备份和还原两项功能,实现仓库信息的定期备份和还原。 (5)帮助部分:设置关于和使用帮助使用户了解系统的基本信息。系统具有高效、易操作、易维护等特点,并且系统结构清晰、界面友好,功能较为齐全,能有效地协助管理人员进行仓库管理工作。如果要真正把它用到仓库的自动化管理中,还需要对该系统进行一步的完善工作。2 系统需求分析2.1 可行性分析可行性研究就是预开发软件系统的总体目标,给出它的功能、性能、可靠性以及其他方面的要求。其目的是用最小的代价在尽可能短的时间内确定问题是否能够解决、是否值得

4、去解决。下面从三个方面分析本系统的可行性: 技术可行性采用SQL Server进行后台数据库的管理、操作和维护,用Visual Studio 2005进行前台界面设计、实现后台数据库的接口、数据的录入、查询、浏览等功能。根据Visual Studio 2005的特点及其强大、方便、快捷的开发工具,以及他们当前的广泛应用,充分说明在技术方面可行。 经济可行性经济可行性分析(能否赢利),是从经济的角度分析系统的规划方案有无实现的可能和开发的价值;分析系统所带来的经济效益是否超过开发和维护网站所需要的费用。此仓库管理系统在实际的生活中应用非常的广泛,存在着很大的利益,而且使用和维护也非常的方便,费用

5、不高,所以有着很好的经济可行性。 开发环境可行性本系统对设备的软硬件的要求都不高,我们只需长有Windows XP,Visual Studio 2005以及SQL 2005以上软件的电脑都可以达到我们的要求,而目前这种配置已经很普遍了。2.2 开发工具和运行环境Visual Studio 2005提供了一个方便实用的可视化界面操作,集成环境会生成大量的框架代码,节省了很多工作,另外它还有动态程序提示功能,为设计这减少了很多任务。此外它支持VB、C#、VC+等设计语言以及程序设计的可扩展性,页面缓存技术等,对程序设计者来说是很好的选择。SQL Server是微软推出的大型关系数据库系统,是为AD

6、O.NET和大量数据存储量身定做的,所以本系统选择了SQL Server作为后台数据库,而没有选择Access数据库,是为了能有更好的效率去查询和操作数据库以及满足仓库管理的大量数据操作。2.3 研究设计中要解决的问题仓库管理系统主要功能是货物的入库、出库、货物盘点和数据的备份还原等功能,因此在设计的过程中要满足这些功能的需求:(1)如果用户没有注册是不能使用该系统的,在注册的过程中管理员的编号和所在仓库号不能是随便填写的,在数据库中必须有仓库信息才能选取相应的仓库编号,此外如果用户注册的编号已被注册过则要自动提示用户不能注册此编号;在个人信息管理中应有用户信息的修改和注销等功能。(2)供应商

7、信息和仓库信息作为与仓库管理联系紧密的基本信息,应设置完善的添加、删除、修改和查询等功能以满足对这些基本信息的管理。(3)货物的入库、出库和盘点是仓库管理的主要部分,这个部分设计最复杂最容易出错;在入库时不但要记录货物入库时的详细信息以供查询历史记录使用,还要完成库存货物的更新,如:如果库存中没有此货物,应将货物信息记录入库存中,若已有该货物的信息存在则只需更改该货物的库存数量和进货价钱即可;同样在货物出库时应完成类似操作,记录出库时货物的详细信息并完成库存货物的信息更新;库存盘点应完成货物当前的库存状况,主要解决货物的查询和保存记录等功能。以上功能对数据库的设计要求较高,各表之间的关联相对比

8、较复杂,这给数据库和系统的设计带来了一定的难度。(4)数据的备份和还原对系统的维护起到关键的作用,一旦数据由于人为操作出现难以挽回的问题或其他原因造成的数据损坏后果将不堪设想,因此在系统中我们必需设计有数据的备份和还原的功能以确保系统出现的不可预料的结果。3 系统总体设计3.1 系统设计相关原理目前,网络应用软件运行的模式主要有二类:Client/Server模式,Browser/Server模式。前者重要用于局域网后者主要用于广域网,考虑到仓库管理一般不需要在网络上进行所以我们没有采用这种方式,这样可以降低开发成本,同时又能充分的满足用户的需要。3.2 系统功能结构本系统有用户信息注册,个人

9、信息管理,供应商信息管理,仓库信息管理,入库管理,出库管理,库存管理,数据备份,数据还原等重要功能,为仓库管理提供了方便实用的途径。整个系统分为五大模块,具体模块功能如下:用户管理仓库管理信息系统基本信息仓库管理系统维护帮助个人信息管理注册信息管理供应商信息管理仓库信息管理货物入库管理货物出库管理货物盘点管理数据备份数据还原关于使用帮助图1 系统结构功能图3.3 系统数据流程 数据流程图(Data Flow DFD)是描述实际业务管理系统工作流程的一种图形表示法。它描绘系统的逻辑模型图,其中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况。因为数据流图是逻辑系统的图形表示,即使不是

10、专业的计算机技术人员也容易理解,所以是极好的通信工具。此外,设计数据流图只需考虑系统必须完成的基本逻辑功能,完全不需要考虑如何具体地实现这些功能,所以它也是软件设计的很好的出发点。仓库管理信息系统主要是为了对货物入库,出库,盘点和数据信息等进行计算机管理。下面就是对各个功能模块的流程分析:(1)用户管理基本信息流程分析:用户首先注册然后输入账号密码登陆系统,可以查看和修改个人信息。(2)仓库管理基本信息流程分析:按找货物编号实施查询货物信息后可以进行入库、出库和货物盘点的管理系统流程图如下:系统登录是否登录系统主题窗口用户管理基本信息帮助仓库管理系统维护退出系统是否注册图2 系统流程图4 系统

11、数据库设计4.1 数据库需求分析本系统用到的数据库名为Store_Management的数据库,各张表的设计情况如下:表1 仓管信息表(CgInfor)字段名数据类型长度主键描述CkIdvarchar20否仓库编号(not null)CgIdvarchar20是仓管编号(not null)Pswvarchar50否密码(not null)CgNamevarchar50否仓管姓名(null)Birthdatetime否生日(null)Sexchar10否性别(null)PhoneChar20否电话(null)EmailVarchar50否电子邮箱(null)CgRemarkNvarchar200

12、否备注(null)Imageimage否照片(null)表2 仓库信息表(CkInfor)字段名数据类型长度主键描述CkIdvarchar20是仓库编号(not null)CkNamevarchar20否仓库名称(not null)CkAdressvarchar20否仓库地址(not null)Managervarchar50否经理(not null)PhoneChar20否电话(not null)CkRemarknvarchar200否备注(not null)表3 库存信息表(KcInfor)字段名数据类型长度主键描述GoodsIdvarchar20是货物编号(not null)GoodsN

13、amevarchar50否货物名称(null)ProviderNamevarchar50否供应商名称(null)CkIdvarchar20否仓库编号(null)CgIdvarchar20否仓管编号(null)KcNumDecimal (18,2)否库存数量(null)GoodsUnitchar10否计量单位(null)GoodsInPricemoney否进货单价(null)CheckDatedatetime否盘点日期(null)KcRemarknvarchar200否备注(null)表4 货物盘点信息表(CheckGoods)字段名数据类型长度主键描述GoodsIdvarchar20是货物编号

14、(not null)GoodsNamevarchar50否货物名称(null)ProviderNamevarchar50否供应商名称(null)CkIdvarchar20否仓库编号(null)CgIdvarchar20否仓管编号(null)KcNumDecimal (18,2)否库存数量(null)GoodsUnitchar10否计量单位(null)GoodsInPricemoney否进货单价(null)CheckDatedatetime否盘点日期(null)KcRemarknvarchar200否备注(null)表5 供应商信息表(ProviderInfor)字段名数据类型长度主键描述Pro

15、viderIdVarchar20是供应商编号(not null)ProviderNameVarchar50否供应商名称(null)LinkmanNameVarchar50否联系人姓名(null)PhoneChar20否电话(null)AdressVarchar50否地址(null)RgtDateDatetime否注册日期(null)ProviderRemarknvarchar200否备注(null)表6 货物入库信息表(GoodsInInfor)字段名数据类型长度主键描述GoodsIdvarchar20否货物编号( not null)GoodsNamevarchar50否货物名称(null)P

16、roviderNamevarchar50否供应商名称(null)CkIdvarchar20否仓库编号(null)CgIdvarchar20否仓管编号(null)GoodsInNumdecimal(18,2)否入库数量(null)GoodsUnitChar10否计量单位(null)GoodsInPriceMoney否进货单价(null)AllPriceMoney否总价(null)GoodsInTimeDatetime否入库时间(null)GoodsInRemarknvarchar200否备注(null)表7 货物出库信息表(GoodsOutInfor)字段名数据类型长度主键描述GoodsIdva

17、rchar20否货物编号( not null)GoodsNamevarchar50否货物名称(null)ProviderNamevarchar50否供应商名称(null)CkIdvarchar20否仓库编号(null)CgIdvarchar20否仓管编号(null)GoodsOutNumdecimal(18,2)否入库数量(null)GoodsUnitChar10否计量单位(null)GoodsOutPriceMoney否进货单价(null)AllPriceMoney否总价(null)GoodsOutTimeDatetime否入库时间(null)GoodsOutRemarknvarchar20

18、0否备注(null)4.2 实体E-R图仓库库存售出出库盘点供应买进统计入库盘点供应商仓管管理N1N1111111NN图3 仓库管理E_R模型实体:仓管仓管编号仓库编号备注密码仓管姓名生日性别电话Email照片图4 仓管实体其他实体4.3 公共类本系统建立了一个Dbcon.cs公共类用于系统和数据库的连接,主要代码如下:class Dbcon public static string con = Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Store_Management;Data Source=.;

19、 public static string userId; public static string userName; public static string thisCkId; 5系统详细设计与实现5.1系统登陆的设计与实现图5 系统登录界面系统登录界面如上图所示,主要实现功能为用户的注册,用户登录和推出仓库管理系统。点击注册按钮能够实现新用户的注册,输入正确的用户名和密码能登录系统主界面,否则系统会提示你相关出错信息。主要代码如下所示:/以下代码实现判断用户名密码是否正确和登录系统if (TxtName.Text = | TxtPsw.Text = ) /判断用户名和密码是否为空 Me

20、ssageBox.Show(用户名和密码不能为空!, 提示信息, MessageBoxButtons.YesNo, MessageBoxIcon.Information); else SqlConnection constr = new SqlConnection(Dbcon.con); constr.Open(); string sqlstr = select * from CgInfor where CgId= + TxtName.Text + ; SqlCommand cmd = new SqlCommand(sqlstr, constr); SqlDataReader dr = cmd

21、.ExecuteReader(); if (dr.Read() if (TxtPsw.Text.Trim() = drPsw.ToString().Trim() Dbcon.userId = drCgId.ToString().Trim(); Dbcon.userName = drCgName.ToString().Trim(); Dbcon .thisCkId =drCkId.ToString ().Trim (); FrmMain FrmMain1 = new FrmMain(); FrmMain1.Show(); this.Hide(); 5.2 用户管理的设计与实现5.2.1个人信息管

22、理图6 个人信息管理界面个人信息管理主要进行对个人信息的修改和注销个人信息,在界面启动时会显示你的详细信息,可再次修改你的密码等信息,如果员工不在工作也可注销此用户。主要代码如下:/sql语句完成用户信息的修改功能 SqlConnection strcon = new SqlConnection(Dbcon .con ); strcon.Open(); String sql=update CgInfor set psw=+this.txtNewPsw .Text .Trim ()+,Birth=+DateTime .Parse ( this.dtBirth .Text .Trim ()+,Ph

23、one=+this.txtPhone .Text .Trim ()+,Email= +this.txtEmail .Text .Trim ()+,Sex=+ boSex.Text +,CgRemark=+this.rtxtRemark .Text .Trim ()+where CgId=+this .txtCgId .Text .Trim ()+; SqlCommand cmd = new SqlCommand(sql, strcon); if (cmd.ExecuteNonQuery() = 1) MessageBox.Show(修改成功!, 提示信息); else MessageBox.S

24、how(不好意思,修改失败!); strcon.Close(); 5.2.2 注册信息管理图7 注册信息界面该界面主要完成新用户的注册功能,主要代码如下:/检测是否注册编号已存在 SqlConnection strcon = new SqlConnection(Dbcon.con); strcon.Open(); string sql = select CgId from CgInfor where CgId= + this.txtCgId.Text.Trim() + ; SqlCommand cmd = new SqlCommand(sql, strcon); SqlDataReader d

25、r = cmd.ExecuteReader(); if(dr.Read () /判断是否已有此编号 MessageBox.Show(不好意思,此管理员编号已存在,请重新输入!); this.qingkong(); /以下sql语句完成新用户的注册string sql1 = insert into CgInfor(CkId,CgId,Psw,CgName,Birth,Sex,Phone,Email,CgRemark)values( + (string )boCkId.Text + , + (string )this.txtCgId.Text + , + this.txtPsw.Text + ,

26、+ (string )this.txtCgName.Text + , + DateTime.Parse(this.dtBirth.Text.Trim() + , + (string )boSex.Text + , + (string )this.txtPhone.Text + , + (string )this.txtEmail.Text + , + (string )this.rtxtRemark.Text + ); SqlCommand cmd1 = new SqlCommand(sql1, strcon);5.3 基本信息管理的设计与实现5.3.1 供应商信息管理图8 供应商信息管理界面

27、该界面主要完成按供应商编号和供应商名对供应商信息进行检索,实现供应商信息的添加,删除,修改和删除功能。部分代码如下: /以下sql语句实现按供应商编号查询供应商信息 string sql = select * from ProviderInfor where ProviderId= + this.toolStripComboBox1.Text.Trim() + ;/以下sql语句实现按供应商名查询供应商信息string sql1 = select * from ProviderInfor where ProviderName= + this.toolStripComboBox1.Text.Tr

28、im() + ;/以下代码主要实现供应商信息的添加SqlConnection strcon = new SqlConnection(Dbcon.con);strcon.Open();string sql = insert into ProviderInfor(ProviderId,ProviderName,LinkmanName,Phone,Adress,RgtDate,ProviderRemark) values( + this.txtProviderId.Text.Trim() + , + this.txtProviderName.Text.Trim() + , + this.txtLin

29、kman.Text.Trim() + , + this.txtPhone.Text.Trim() + , + this.txtAddress.Text.Trim() + , + DateTime.Parse(this.dtRgtDate.Text.Trim() + , + this.rtxtRemark.Text.Trim() + ); SqlCommand cmd = new SqlCommand(sql, strcon); if (cmd.ExecuteNonQuery() != 0) MessageBox.Show(恭喜你,添加成功!); this.qingkong(); else Me

30、ssageBox.Show(不好意思,添加失败,请重试!); 5.3.2 仓库信息管理图9 仓库信息管理界面该界面主要完成按仓库编号查询仓库的详细信息,并对仓库信息进行添加,删除,修改等功能。部分代码如下:/以下为实现ListView控件信息更新的代码:SqlCommand cmd = new SqlCommand(sql, strcon); SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read() string str1 = new string drCkId.ToString(), drCkName.ToString(), drCkA

31、dress.ToString(), drManager.ToString(),drPhone.ToString (),drCkRemark.ToString () ; lvCkInfor.Items.Add(new ListViewItem (str1 ); /以下代码为实现信息修改的主要代码 SqlConnection strcon = new SqlConnection(Dbcon.con); strcon.Open(); string sql = update CkInfor set CkId=+this .txtCkId .Text .Trim ()+,CkName=+this .tx

32、tCkName .Text .Trim ()+,CkAdress= +this .txtAdress .Text .Trim()+,Manager=+this .txtManager .Text .Trim ()+,Phone=+this .txtPhone .Text .Trim ()+,CkRemark= +this .rtxtRemark .Text .Trim ()+where CkId=+this .txtCkId .Text .Trim ()+; SqlCommand cmd=new SqlCommand (sql,strcon ); if (cmd .ExecuteNonQuer

33、y ()=1) MessageBox .Show (更新成功!); this.qingkong(); else MessageBox .Show (更新失败,请查找原因!); 5.4 仓库信息管理的设计与实现5.4.1 入库管理图10 入库信息管理界面该界面主要实现货物入库信息的记录和删除以及向仓库中添加货物信息和更新。主要代码如下:/以下为实现货物入库信息记录的代码SqlConnection strcon = new SqlConnection(Dbcon.con); strcon.Open();/将入库商品信息加入到StoreInInfor中 string sql = insert int

34、o StoreInInfor(GoodsId,GoodsName,ProviderName,CkId,CgId,GoodsInNum,GoodsUnit,GoodsInPrice,AllPrice,GoodsInTime,GoodsInRemark) values( +this .txtGoodsId .Text .Trim ()+,+this .txtGoodsName .Text .Trim ()+,+this .comboProvider .Text .Trim ()+,+this .txtCkId .Text .Trim () +,+this .txtCgId .Text .Trim

35、() +, +this.txtGoodsInNum .Text +,+this .comboGoodsUnit .Text .Trim ()+,+this .txtInPrice .Text+,+this .txtAllPrice .Text +,+DateTime .Parse (this .dtInTime .Text .Trim ()+, +this.txtRemark .Text .Trim ()+); SqlCommand cmd=new SqlCommand (sql,strcon ); if (cmd .ExecuteNonQuery() =1) MessageBox .Show

36、 (入库成功!); this.Fulllistview();/以下为实现删除历史记录的代码:SqlConnection strcon = new SqlConnection(Dbcon.con); strcon.Open(); string sql = delete from StoreInInfor where GoodsId= + this.txtGoodsId .Text.Trim() + ; SqlCommand cmd = new SqlCommand(sql, strcon); if (cmd.ExecuteNonQuery() = 1) MessageBox.Show(删除成功)

37、; this.qingkong(); 5.4.2 出库管理图11 出库信息管理界面该界面主要完成按货物编号进行查询,记录货物出库信息,和删除历史记录等功能。主要代码如下:/以下为输入货物编号进行自动查询的代码:SqlConnection strcon = new SqlConnection(Dbcon.con); strcon.Open(); string sql = select * from KcInfor where GoodsId= + this.toolStripTextBox1 .Text.Trim() + ; SqlCommand cmd = new SqlCommand(sql, strcon); SqlDataReader dr = cmd.ExecuteReader(); if (dr.Read() this.txtGoodsId .Text = drGoodsId.ToString(); this.tx

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 学术论文 > 毕业设计

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922