1、郑州科技学院C#课程设计 设计(论文)题目: 仓库管理系统 所 在 院: 信息工程学院 专 业 班 级: 10计算机科学与技术2班 摘要随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现管理企业势在必行。而仓库管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。本文通过分析浏览器/服务器结构的特点并结合企业仓储管理的实际情况,简要介绍了系统各功能模块及数据库的设计,着重讨论了用 C#技术和数据库开发企业仓库管理系统时的数据库访
2、问技术和动态网页制作技术,并给出了部分实现代码。通过该系统,使学生户可以方便地在企业内部网上进行仓储管理。该结构的系统在Win7系统和VS.NET平台下开发完成,使用C开发语言,数据库作为后台数据库,该数据库系统在安全性、准确性、运行速度方面均有绝对的优势,并且能够对容量较大的数据库进行处理,效率高。系统有较高的安全性和较好的性能。其中连接数据库的字符串可以随时修改,增加了灵活性和安全性。代码尽量减少数据库连接的打开时间等手段来提高性能。本文中除了有对程序的系统分析、总体设计、数据库设计、功能实现等主体部分外,在这之前还介绍了与仓库管理系统相关的信息、VS.NET与数据库的无缝链接技术等。关键
3、词 仓库管理系统;C#;数据库摘要11前言31.1系统开发背景和开发目的31.2可行性分析41.2.1技术可行性51.2.3运行可行性61.2.4 法律可行性62开发工具简介62.1 C#语言简介62.2 Access 2003数据库63 需求分析73.1系统目标73.2应用现状调查73.3系统流程图84 概要设计94.1系统设计思想94.2系统构架选择95数据库设计95.1概念设计106系统主界面设置136.1系统登录界面146.2物资信息管理166.3入库信息管理196.4出库信息管理22总结23致谢24参考文献261前言1.1系统开发背景和开发目的兵马未出,粮草先行。古代行兵打仗,最先要
4、考虑的就是物资的准备和管理,否则要取得胜利是非常困难的一件事。商场如战场,商家不仅要掌握大量的物资,同时这些物资还要尽可能满足顾客的需要,这样才能在激烈的市场竞争中获取胜利。然而管理物资却是最烦琐的事情,无论数量还是种类,都是数以万计,用人手工来做,不仅是难于完成,而且可以说是不可能的。首先,超级市场商品种类繁多,数量庞大,经营者必须时刻了解自己商品的库存和各种商品的供求,如果盲目购进顾客不需要的商品或没有购进畅销的商品,对经营者来说都是极大的损失。其次,由于市场瞬间万变,很多商品价格可能变动较大,经营者可能要不时改变商品价格,否则太高则可能无人问津,太低则无利可图。再次,在商品社会的环境下,
5、竞争激烈,为了保证在竞争中处于有利地位,经营者必须时刻了解市场的需要。当然,作为实际的经营者,要了解的东西远比这几点多,但无论怎样,物资的管理是一切工作中的重点,如何管理物资是成败的关键。对小经营者来说,也许可以是一本账本,再加算盘或计算器即可。但对于大公司而言,根本不可能单纯依靠账本,那样不仅费人费力,而且当出现差错时,难于查改。所以必须借助电脑,把所有数据输入数据库,然后用系统对这些数据进行管理,通过统计和分析得到各种有用的信息。通过对这些情况的仔细调查,作者开发了下面的仓库管理系统。随着计算机行业的不断发展,企业管理的应用也在不断随着其发展速度进行着更新。而现今对于一个网络应用非常广泛的
6、社会,企业管理对计算机管理企业要求更加紧密,更加完善,特别是针对物资管理方面,企业的需求更为广泛,谨慎,所以一个好的仓库管理系统对于企业来说是由为重要的。系统开发的总体任务是实现企业物资管理的系统化、规范化和自动化,从而达到提高企业管理效率的目的。1.2可行性分析当接受一个软件开发任务,就进入软件生命的第一个阶段,即进行可行性的研究。并不是所有问题都具有简单的解决办法,许多问题都是不能在预定的规模之内解决。因此通过可行性的研究分析可以从中发现问题,并对其提出有无可行性的解决方法,进而避免人力、物力和才力的浪费。在现行系统初步调查的基础上京可以提出新系统目标,即新系统建立后所要求达到的运行指标,
7、这是系统开发和评价的依据。系统目标应充分体现,并直接为仓库管理系统服务,且程序可以分期、分批实现。但是,需要指出的是,系统目标是不可能在总体规划阶段就提出的非常具体,它还将在开发过程中逐步明确和定量化。以达到更加出色的程序系统。可是,目标的提法不尽相同,例如:(1) 提高仓库管理效率,减轻劳动强度;(2) 提高信息处理速度和准确性;(3) 为仓库管理者提供更方便、科学的服务项目。系统的目标确定后,就可以从以下四方面对能否实现新系统目标进行可行性分析:1.2.1技术可行性 根据客户提出的系统功能、性能及实现系统的各项约束条件,根据新系统目标来衡量所需的技术是否具备,本系统是一个数据库管理和查询的
8、系统,现有的技术以较为成熟,硬件、软件的性能要求、环境条件等各项条件良好,估计利用现有技术条件应完全可以达到该系统的功能目标。同时,考虑给予的开发期限也较为充裕,预计系统是可以在规定期限内完成开发。1.2. 2经济可行性 估算新系统的成本效益分析,其中包括估计项目开发的成本,开发费用和今后的运行、维护费用,估计新系统将获得的效益,估算开发成本是否回高于项目预期的全部经费。并且,分析系统开发是否会对其它产品或利润带来一定影响:支出和收益等。系统的效益可以从经济效益和社会效益两方面考虑。对于仓库管理系统则应着重分析其社会效益。例如,系统投入运行后可以使仓库管理实现科学化、规范化。曾强了工作人员对仓
9、库管理能力、提高了工作效率。1.2.3运行可行性 新系统的研制和开发是充分得考虑工作人员对仓库的易于管理,管理者方便查询设备信息效率。从而能完全满足使用者的要求。1.2.4 法律可行性 新系统的研制和开发,将不会侵犯他人、集体和国家的利益,不会违反国家政策和法律。所以从以上几个方面的分析来看,开发本软件是完全可行的。2开发工具简介2.1 C#语言简介Microsoft Visual Studio NET是Microsoft 公司为适应Internet高速发展的需要,而推出的新的开发平台。2008年3月17发布VS2008。随后又发布了vs2010。C#1语言是NET平台上的第一语言。自发布以来
10、不断增强,已经成为目前功能最强大的通用语言之一。2.2 Access 2003数据库Access 是微软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS),是Office系列应用软件之一。它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。 Access是一种关系型数据库管理系统,其主要特点如下(1)存储方式单一。2)面向对象(3)界面友好、易操作(4)集成环境、处理多种数据
11、信息(5)Access支持ODBC3 需求分析3.1系统目标采用企业现有的软硬件环境及科学的管理系统开发方案,建立仓库信息管理系统,实现仓库信息管理的计算机自动化。系统应符合使用者的哭房屋租赁管理制度,并达到操作直观、方便、实用、安全等要求。房屋租赁信息管理系统应该具有以下功能:1由于操作人员的计算机知识普遍偏低,因此要求系统具有良好的人机界面;2方便的数据查询,支持自定义条件查询;3自动匹配房源和求房意向信息;4在相应的权限下,删除数据方便简单,数据稳定性强;5数据计算自动完成,尽量减少人工干预。3.2应用现状调查当前,很多企业的仓库信息管理都是使用纸质资料来登记、记录物品等信息,这导致物品
12、信息变更不便,且仓库管理花费人力资源多,工作也较繁琐。传统的仓库管理流程是很费时费力的,要有专人存取物品、查看物品信息,因此导致仓库管理成本居高。人力管理的比例比较大,往往是各个主要负责人以书面的形式管理仓库信息,效率低下。数据打印,汇总时,容易丢失,不易保存且数据保密性较差。因此,开发一套功能相对完整,外观相对优美的仓库管理系统显得十分必要,同时使得客户使用系统更加放心,提高工作的效率,减少过多的人力资源的付出。3.3系统流程图系统流程图如下开始密码密码正确进入系统管理物资信息管理入库信息管理出库信息管理密码错误添加物资浏览物资查询物资添加入库信息浏览入库信息查询入库信息添加出库信息浏览出库
13、信息查询出库信息添加用户新建角色4 概要设计4.1系统设计思想本系统实现业务的自动化仓库管理,为企业提供及时的仓库中各种物品信息。本系统完成物资查询、入库信息查询、出库信息查询等功能。因此系统必须具有维护这些操作信息的数据表。4.2系统构架选择本系统采用双层结构的C/S模式,即客户端和服务器端模式,客户端提供用户操作界面,接受用户输入的各种信息,并向服务器端发送各种操作命令或数据请求,并接受服务器端执行操作命令后的返回结果,向客户显示相应信息。服务器端接受客户端的数据请求或命令,并执行相应的数据请求命令得到相应的数据集,对数据集进行相应的处理,然后将数据集或处理后的数据集返回客户端。C/S结构
14、的体系结构具有访问速度快、运行稳定、安全性能好等优点,比其它构架模式更能满足本系统的快速响应及信息共享的要求。5数据库设计本系统采用Access 2003数据库设计,其中包含了3张表,下面分别给出数据表概念设计和主要数据表的结构。5.1概念设计物资的信息(如下ER图)物资编号名称规格型号类别个数入库物资信息(模型图)物资数量单价金额入库时间经办人保管人仓库出库物资管理(模型图)物资数量单价金额入库时间领用人保管人仓库如下面所示的表格为数据可中的表格物资信息物资编号物资名称物资型号类型单位字段名称数字文本文本文本文本字段类型450505050字段大小NYNNN主键入库物资信息物资名称物资型号类型
15、单位数量单价金额入库时间经办人保管人仓库备注物资编号入库编号字段名称文本文本文本文本数字数字数字数字文本文本文本文本数字数字字段类型5050505044445050505044字段大小YNNNNNNNNNNNNN主键出库物资信息物资名称物资型号类型单位数量单价金额入库时间领用人保管人仓库备注物资编号入库编号字段名称文本文本文本文本数字数字数字数字文本文本文本文本数字数字字段类型5050505044445050505044字段大小YNNNNNNNNNNNNN主键6系统主界面设置界面主要包括:系统管理,物资信息管理,入库信息管理,出库信息管理.6.1系统登录界面系统管理界面及代码添加用户if (a
16、dduser=null | adduser.IsDisposed)adduser = new AddUser();for(int x=0;xthis.MdiChildren.Length;x+)Form tempChild = (Form)this.MdiChildrenx;tempChild.Close();adduser.MdiParent = this;adduser.Show();新建角色建角色private void menuItem3_Click(object sender, System.EventArgs e)if (addRoles=null | addRoles.IsDis
17、posed)addRoles = new AddRoles();for(int x=0;xthis.MdiChildren.Length;x+)Form tempChild = (Form)this.MdiChildrenx;tempChild.Close();addRoles.MdiParent = this;addRoles.Show();6.2物资信息管理添加物资信息private void menuItem10_Click(object sender, System.EventArgs e)if (materialAdd=null | materialAdd.IsDisposed)ma
18、terialAdd = new MaterialAdd();for(int x=0;xthis.MdiChildren.Length;x+)Form tempChild = (Form)this.MdiChildrenx;tempChild.Close();materialAdd.MdiParent = this;materialAdd.Show();浏览物资信息private void menuItem11_Click(object sender, System.EventArgs e)if (material = null | material.IsDisposed)material =
19、new Material();for(int x=0;xthis.MdiChildren.Length;x+)Form tempChild = (Form)this.MdiChildrenx;tempChild.Close();material.MdiParent = this;/material.WindowState = FormWindowState.Maximized;material.Show();查询物资信息private void menuItem13_Click(object sender, System.EventArgs e)if (materialQuery=null |
20、 materialQuery.IsDisposed)materialQuery = new MaterialQuery();for(int x=0;xthis.MdiChildren.Length;x+)Form tempChild = (Form)this.MdiChildrenx;tempChild.Close();materialQuery.MdiParent = this;materialQuery.Show();6.3入库信息管理添加入库信息private void menuItem14_Click(object sender, System.EventArgs e)if (inAd
21、d=null | inAdd.IsDisposed)inAdd = new InAdd();for(int x=0;xthis.MdiChildren.Length;x+)Form tempChild = (Form)this.MdiChildrenx;tempChild.Close();inAdd.MdiParent = this;inAdd.Show();浏览入库信息private void menuItem15_Click(object sender, System.EventArgs e)if (in1=null | in1.IsDisposed)in1 = new In();for(
22、int x=0;xthis.MdiChildren.Length;x+)Form tempChild = (Form)this.MdiChildrenx;tempChild.Close();in1.MdiParent = this;in1.Show();查询入库信息private void menuItem17_Click(object sender, System.EventArgs e)if (inQuery=null | inQuery.IsDisposed)inQuery = new InQuery();for(int x=0;xthis.MdiChildren.Length;x+)F
23、orm tempChild = (Form)this.MdiChildrenx;tempChild.Close();inQuery.MdiParent = this;inQuery.Show();6.4出库信息管理注:此处的功能与入库信息管理的功能相似仅附加代码添加入库信息private void menuItem18_Click(object sender, System.EventArgs e)outAdd = new OutAdd();for(int x=0;xthis.MdiChildren.Length;x+)Form tempChild = (Form)this.MdiChildr
24、enx;tempChild.Close();outAdd.MdiParent = this;outAdd.Show();浏览入库信息private void menuItem19_Click(object sender, System.EventArgs e)out1 = new Out();for(int x=0;xthis.MdiChildren.Length;x+)Form tempChild = (Form)this.MdiChildrenx;tempChild.Close();out1.MdiParent = this;out1.Show();查询入库信息private void m
25、enuItem21_Click(object sender, System.EventArgs e)outQuery = new OutQuery();for(int x=0;xthis.MdiChildren.Length;x+)Form tempChild = (Form)this.MdiChildrenx;tempChild.Close();outQuery.MdiParent = this;outQuery.Show();总结本系统由于是应用计算机对仓库管理进行管理,所以对于过去纯手工操作有着较为明显的优点,如:检索迅速、查找方便、可靠性高、存储量大、寿命长、成本低等。这些优点能够极大
26、地提高仓库管理的效率。在本文中,作者针对实际需要将系统的功能进行了细化分析与总结,这极大成度上满足了用户操作方便的需求。并采用C#和数据库的开发模式进行开发,以保证本系统的可靠性和存储量大等特点。其中本系统所达到的主要功能具体表述如下:(1) 能满足用户对仓库基本信息的录入、删除管理,并同时可修改数据库中的数据信息;(2) 能够按所存入的信息进行查询、更新;能对信息进行删除查询操作。(3) 提供多种添加和修改数据库中记录的方式,操作起来比较灵活,同时还可以保持数据的一致性。该系统经过一段时间的纠错测试,并无重大漏洞或错误代码,运行及维护都比较简便易懂,对于操作本仓库管理系统的人员的水平要求不高
27、。本系统尚有很多不足之处,作者会在今后的学习、工作中改进、完善它,并在此基础上进一步挖掘客户的需求,添加或修改相应的功能模块,来扩展本系统,使之更加具有实用性。致谢时光飞逝,短暂的大三生活就要结束了。但即使做完全部的事情,合上扉页,大三的生活也绝不仅如时光逝去那样匆匆无痕。暑假在即,论文的撰写工作使我有机会对过去的学习生活作个总结。在大三生活的这段的时间中,许多人给予了我无私的指导和帮助,给我的生活和工作平添了许多乐趣。下面的致谢永远也表达不完四年来他们对我的指导和帮助。首先衷心的感谢我的老师王老师,王老师言传身教于我设计研究的态度和方法、培养我设计研究中的严谨和执著、始终不懈地为我设计工作掌
28、舵、导航,使我获益非浅。我在课程设计期间取得的所有成绩,都凝聚着王老师辛勤指导的汗水。王老师严谨的治学态度、渊博的科学知识、高度的责任感以及诲人不倦的精神,给我深深的影响,让我终生难忘,将激励我在今后的道路上刻苦钻研、不断进步,再次致上深深的感谢。感谢同学们给予的协助,与他们讨论问题给我相当大的启示,让我受益非浅,在此深表谢意。感谢自己成长过程中关心和帮助过我的所有亲人、师长、同学和朋友们!谨以此文献给我的父母,没有他们在我学习生涯中的无私奉献和默默的支持,没有他们的关心和理解,我将无法顺利完成这次课程设计。感谢每一个关心我的人,谢谢。参考文献1C#百科. . 2 江维华,江维清 ,C#.NE
29、T程序设计使用教程,人民邮电出版社3 明日科技,Visual C#开发技术大全,人民邮电出版社4李志云 周岩等Visual C#2005数据库开发案例教程 机械工业出版社5王小科 张宏宇 吕双 Visual C#2005程序设计自学手册 人民邮电出版社6韩江、王秀慧译.C#编程语言详解.电子工业出版社7李勇平编著.ASP.NET2.0(C#)基础教程.北京:清华大学出版社8朱剑平译C#软件解决方案清华大学出版社9李建忠译改善C#的50种方法.人民邮电出版社10马煜 陈海军 朱朝阳 Visual C#.NET案例开发集锦M 电子工业出版社 11郭东恩 数据库原理及应用 M.郑州:河南科学技术出版社 12王小科等C#开发实战宝典 清华大学出版社13王国胜 刘攀等基础与案例开发 清华大学出版社14王珊 萨师煊 数据库系统概论(第四版) 高等教育出版社15郑宇军 C#语言程序设计基础(第二版)清华大学出版社26