仓库管理系统.pdf
一 引言仓库在现实生活中用途十分广泛,各种商城、超市要利用仓库存放物资,药房、医院 等要利用仓库存放药品,企业、工厂等要利用仓库存放原材料、生产成品,因此仓库的管 理成了一项十分重要的工作。人工管理仓库既费时乂费力,而且容易造成混乱,严重时会影响商城、企业的正常运 作,造成恶劣的后果。随着信息技术的发展,办公自动化的普及,如何快速,高效,便捷 的管理仓库受到了高度的关注;因此为了解决这个问题我们提供这个系统以满足仓库管理 需求,本系统是基于超市仓库的管理系统。本系统模拟仓库管理,系统主要针对于日常库存信息的管理,包括物资管理、仓库管 理、入库操作、入库查询统计、出库操作、出库查询统计、库存查询统计等处理情况。用 户可以通过相应的模块,对仓库里的物品的基本情况和库存数量进行查询,管理员通过简 单的操作即可轻松的管理仓库,查询各项相关信息,并能进行入库和出库操作等。本项目的任务提出者是老师,开发者为本组成员,用户为老师,实现该软件的计算中 心或计算机网络为主楼501;该软件系统独立于其他系统或其他机构。通过仓库管理系统的设计与实现,使我们巩固和加深对数据库基础理论和基本知识的 理解,进一步掌握了使用数据库进行软件设计的基本思想和方法,提高了运用数据库理论 解决实际问题的能力,锻炼了实际动手能力、创新能力,培养了调查研究、查阅技术文献、资料、手册以及编写文档的能力。二系统分析2.1 实验目标本软件是一个简单的仓库管理系统,在满足用户需求的基础上,用计算机来实现系统 的信息处理逻辑模型中规定的输入、输出及内部处理等多项功能,本软件产品是一项独立 的软件。相应的需求有:能分类管理物资信息。系统能管理多个仓库。能进行入库操作,能按物资种类、名称、入库时间等信息查询统计出入库的数量、息。能进行出库操作,能按物资种类、名称、入库时间等信息查询统计出出库的数量、息。如果物资数量小于出库数量不允许进行出库操作。能按各种方式查询库存信息。2.2 数据描述2.2.1 静态数据所谓静态数据,指在运行过程中主要作为参考的数据,它们在很长的一段时间内不会般不随运行而改变。本系统中的实体仓库、物资、职工、供应商及其届性届于静 态数据,一般不会改变。2.2.2 动态数据所谓动态数据,包括所有在运行中要发生变化的数据以及在运行中要输入、输出的数统中的动态数据包括库存表、入库表和出库表。2.3 数据流图金额等信金额等信变化,一据。本系图1管理员数据流图图2用户数据流图上数据库信息2.4 E-R 图错误信息图3物资及其属性图图5出库表及其属性图图6供应商及其属性图图7入库表及其属性图图8仓库及其属性图图9职工及其属性图图10实体及其联系图名字:物资别名:描述:唯一的标识一个物资的信息集合定义:物资=物资号+物资名+供应商号+类别+每箱单价+每箱体积 位置:存储在数据库名字:供应商别名:描述:唯一的标识一个供应商特征的信息集合定义:供应商=供应商号 地应商名+地 址+电话+密码位置:存储在数据库名字:库存表别名:描述:仓库存储物资的情况定义:库存表=仓库号+物资号+总数量位置:存储在数据库名字:入库表名字:出库表别名:描述:物资的出库信息定义:出库表=物资号+仓库号+出库时间+数量位置:存储在数据库名字:仓库别名:描述:唯一的标识一个仓库的信息集合定义:仓库=仓库号+职工号+剩余容量+地址位置:存储在数据库名字:职工别名:描述:唯一的标识一个职工特征的信息集合定义:职工=职工号+姓名+电话+密码位置:存储在数据库别名:描述:物资的入库信息定义:入库表=物资号+仓库号+入库时间+数量位置:存储在数据库2.6 功能需求仓库管理系统管理员登录用户登录库存信息库存物入职供信资库出仓库库工应息信信信信信商息息息息息信息图11系统层次图2.7 功能划分管理员:入库操作、出库操作、查询库存信息、入库信息、出库信息、仓库信息、职工供应商信息,更改信息及注册。用户:查询该用户的物资的入库、出库及库存情况、更改密码及注册。2.8 功能描述管理员:1、入库操作通过将要入库的物资信息更改仓库、物资、库存表及入库表。信息及2、出库操作通过将要出库的物资信息更改仓库、物资、库存表及出库表。3、查询根据管理员的需要查看相关信息,其中包括入库信息、出库信息、库存信息、物资信 息、职工信息、仓库信息和供应商信息等。4、更改信息4.1增加仓库4.2删除仓库4.3更改自己账号的密码5、注册用户:1、查询查询该用户的物资的入库、出库及库存情况2、更改密码3、注册三系统设计3.1 总体设计仓库管理系统是对物资的入库出库等信息进行记录并查询,包括管理员和用户的操作。管理员可以对仓库进行出库入库及修改仓库信息,用户只能查看自己物资的相关情况。以下是对仓库各种操作的流程图。3.1.1 处理流程以下是管理员和用户操作的流程图,从流程图中能很活楚的看出各种操作的处理流 程,为系统实现提供了依据,奠定了基础。1、管理员的入库操作2、出库操作图13出库流程图用户:1、查询操作图14查询的流程图2、更改密码图15更改的流程图3.1.2 数据结构设计在仓库管理系统中,对物资的管理是整个系统运作的关键,是仓库管理、入库操作出库操作的基础,因此对物资的管理就显得尤为重要。物资的基本表要设计合理,能涵盖图12入库流程图其他操作需要的各种信息,以及对各类信息的限制条件等。设计好的物资管理表如下表所示:表1物资表列名物资号物资名供应商号类别每箱单价每箱体积数据类型长度是否允许空intcharintcharfloatfloat41041088NOT NULL主键NOT NULLNOT NULLNOT NULLNOT NULLNOT NULL仓库管理是对仓库内部存储的物资进行管理,经过分析,设计出的仓库管理的仓库表 如表2所示。表2仓库表列名仓库号职工号剩余容量地址数据类型长度是否允许空intintfloatchar44820NOT NULL主键NOT NULLNOT NULLNOT NULL职工是管理仓库的人员,职工表的设计也应该合理,设计好的职工表如下:表3职工列名职工号电话姓名密码数据类型长度是否允许空intcharcharchar4111010NOT NULL,主键NOT NULLNOT NULLNOT NULL物资的各种入库信息应该显示在入库表中,设计好的入库表如下:表4入库表列名物资号仓库号入库时间数量数据类型长度是否允许空intintdatetimeint4484NOT NULL主键NOT NULL,主键NOT NULL,主键NOT NULL物资的各种出库信息应该显示在出库表中,设计好的出库表如下:表5出库表列名物资号仓库号出库时间数量数据类型长度是否允许空intintdatetimeint4484NOT NULL主键NOT NULL主键NOT NULL,主键NOT NULL表6库存表物资的存放信息应该显示在库存表中,设计好的库存表如下所示:列名物资号仓库号总数量表7供应商表列名供应商号供应商名地址电话密码数据类型长度是否允许空数据类型长度是否允许空intintint444NOT NULL主键NOT NULL主键NOT NULL供应商负责提供物资,所以供应商表的设计也很重要,设计好的供应商表如下所示:intcharcharcharchar4202011NOT NULL主键NOT NULLNOT NULLNOT NULL10四系统实现4.1 开发工具和环境操作系统:Microsoft Windows xp数 据库:Microsoft SQL Server 2000编程环境:Microsoft Visual Studio 20084.2 系统的实现4.2.1 管理员子系统的设计与实现管理员可以对仓库进行各种操作,包括入库操作、出库操作、各种查询操作及更改操 作。因为是俩人合作,所以本部分实现入库操作及出库操作。4.2.1.1数据库的连接:数据库连接的代码:string connectionString=Data Source=HP-EA42E52C8880;IntegratedSecurity=SSPI;Initial Catalog=仓库管理系统;User ID=sa;SqlConnection myConnection=new SqlConnection(connectionString);myConnection.Open();4.2.1.2入库操作执行物资操作后,物资的相关数据就已经改变,所以跟物资相关的仓库、库存表、入 库表都有相应的变化。典型代码如下:string strsql6=insert into库存表(物资号,仓库号,总数量)values(+textBox1.Text+,+textBox7.Text+,+textBox8.Text+);/向库存表中填入新项目SqlCommand mycom=new SqlCommanc(strsql6,myConnection);mycom.ExecuteNonQuery();string strsql8=insert into入库表(物资号,仓库号,入库时间,数量)values(+,textBox1.Text+,+textBox7.Text+,getdate(),+textBox8.Text+);SqlCommand mycom1=new SqlCommand(strsql8,myConnection);mycom1.ExecuteNonQuery();string strsql3=update仓库set剩余容量=+s3+where仓库号=+textBox7.Text;SqlCommand mycom3=new SqlCommand(strsql3,myConnection);mycom3.ExecuteNonQuery();string strsql9=select物资号,仓库号,数量,入库时间from入库表order by入库时间;SqlDataAdapter da5=new SqlDataAdapter(strsql9,myConnection);DataSetds5=new DataSe();da5.Fill(ds5);dataGridView1.DataSource=ds5.Tables0.DefaultView;执行入库操作后,将显示入库表的情况,具体界面如下:,管理界面口间区口间区谐埴写入库值息物赛寻*怆库号*数呈*:.遍.话疝.位库号物资号教量15 515152020915入库时间A.|2009-6-19 15:292009-6-19 15:292009-6-19 15:292009-6-19 15:292005-6-19 15:292005-6-19 15:292009-6-19 15:302009-6-19 15:302009-B-19 15:302009-B-19 15:301 12 22 22 214B42 23 365 543 37 713138 8151518182009-6-19 15:302009-6-19 15:302009-6-19 15:302009-6-19 15:30200&-6-19 15:31200&-6-19 15:312009-6-19 15:312009-6-19 15:31S009-6-19 15:31S009-6-19 15:315 5SDSDS S-fmm15155 52009-6-19 13:302009-6-19 13:30V返回上尾图16入库界面4.2.1.3出库操作出库操作同入库操作一样要更改与物资有关的信息,比如出库表、仓库及库存表。典型代码如下:string strsqll=insert into出库表(物资号,仓库号,出库时间,数量)values+textBoxll.Text+,+textBoxIO.Text+,getdate(),”+textBox9.Text+);string strsql2=update库存表set总数量=+s+where物资号=+textBoxll.Text+and仓库号=+textBoxIO.Text;string strsql3=select每箱体积,剩余容量textBoxll.Text+and仓库号=+textBoxIO.Text+;from物资,仓库where物资号=+string strsql4=update仓库set剩余容量=+si+where仓库号=+textBoxIO.Text;4.2.2 用户子系统的设计与实现用户管理的权限比较小,只能查询自己所有物资的出库、入库及库存情况,还可以更 改密码。4.2.2.1 用户查询用户查询操作是只针对用户物资的操作,即只可以查看自己物资的改变情况如:出库 信息、入库信息、库存信息及物资信息。典型代码如下:string strsql2=select供应商.供应商号 物资.物资号物资名,类别,每箱体积,每箱单价from供应商,物资where供应商.供应商号=物资.供应商号and供应商.供应商号=+Forml.username;典型界面:用户界面查询修改密码L n查询内容 出库信息w w1 u_ 11 IM_-1 u_ 11 IM_-Xi ill Xi ill ill n a!ill n a!供应商导物资导1 1物资名方便面仓库号出库时间数量22009-6-19 15:322009-6-19 15:32S S来图17用户查询界面4.2.2.2 用户修改密码修改密码的典型代码:string sendStrSQLI=update应商号=+textBoxl.Text;供应商set密码=+textBox3.Text+where供五结束语经过几个星期的努力终于把仓库管理系统做完了,通过做这次课程设计,我对数据库系统及sql语句和c#语言有了更深的认识和理解,把理论知识和实践结合起来,使理论知 识得到了运用,同时自己也掌握了知识。因为是两个人共同设计,所以还学会了沟通及团队合作,通过自己亲手设计,印象深刻,真正理解所学知识。经过自己亲手实践后,就会真正明白实践是检验真理的唯一标准。在设计的过程中,我参考了很多有关数据库和.c#的资料,掌握了很多课堂上没有的知 识,提高了自己的能力,了解了软件开发的过程,受益匪浅。同时也发现了自己的不足之处并且改正,为以后的工作和学习打下了良好的基础。参考文献1李春葆,曾慧.SQL Server 2000应用系统开发教程.活华大学出版社.20082王珊,萨帅炫.数据库系统概论.高等教育出版社.20083施伯乐、丁宝康、汪卫.数据库系统教程(第2版).高等教育出版社.2003.4 Hector Garcia-Molina Jeffery D.Ullman Jennifer Widom系统全书.机械工业出版社.2003.著、岳丽华等译.数据库