C#仓库管理系统论文.docx
《C#仓库管理系统论文.docx》由会员分享,可在线阅读,更多相关《C#仓库管理系统论文.docx(27页珍藏版)》请在冰豆网上搜索。
C#仓库管理系统论文
一综述
1.1问题的提出
传统的仓库管理,一般依赖于一个非自动化的、以纸张文件为基础的系统来记录、追踪进出的货物,完全由人工实施仓库内部的管理,因此仓库管理的效率极其低下,所能管理的仓库规模也很小。
随着计算机的应用普及,目前大多数企业的仓库管理数据资料已开始采用计算机数据系统管理,但数据还是采用先纸张记录、再手工输入计算机的方式进行采集和统计整理。
这不仅造成大量的人力资源浪费,而且由于人为的因素,数据录入速度慢、准确率低。
随着企业规模的不断发展,仓库管理的物资种类机数量在不断增加、出入库频率剧增,仓库管理作业也已十分复杂和多样化,传统的人工仓库作业模式和数据采集方式已难以满足仓库管理的快速、准确要求,严重影响了企业的运行工作效率,成为制约企业发展的一大障碍。
仓库管理的整体自动化、信息化则是其中极其重要的组成部分。
为了加快仓库管理自动化的步伐,,提高仓库的管理业务效率,建立仓库管理信息系统已变得十分重要。
1.2研究现状
1.2.1传统企业库存管理系统存在的问题
库存管理是企业管理的重要组成部分。
在企业生产经营活动中,库存管理既必须保证生产车间对原材料、零部件需求,又直接影响采购、销售部门的购、销活动。
为盘活企业流动资金,加快资金周转,在保证供给的前提下,最大限度的降低压库资金,直接牵动着企业的经营效益。
根据对我国众多制造业企业的库存管理情况所做的调查和参考有关资料,发现目前制造企业在库存管理方面普遍存在着如下问题:
不能及时获得库存信息。
在企业运转过程中,有时必须获知各种零部件当前的库存量,但由于零部件种类多、数量大,需要进行仔细的核算,这不仅费时,而且易出错,从而影响企业快速有效的运转。
库存信息不够准确。
仓库管理员根据各种送货单、退货单、收料单、发料单、领料单和退料单进行物料的入库、出库搬运后,要随时修改库存信息和借、欠料信息,以便反映库存状况。
1.2.2现代企业库存管理系统的特点
因为传统企业库存管理存在以上的问题难于适应现代库存管理要求,所以现代企业库存管理系统要具有以下的特点:
1科学的库存管理流程
存货的种类不同,所涉及的业务环节及它们所组成的业务流程也各有差异。
一般而言,存货业务包括到货处理、保管和发放三个主要部分。
通畅的业务流程是保障高效库存管理的基础,应具备优化、无冗余、并行作业的基本属性。
2科学的组织结构
科学的组织结构确保了业务流程的高效执行,明确了工厂、存储区域、仓库编码、仓库种类以及仓库箱之间的合理关系。
3进行物料代码化管理
物料种类繁多,在库存管理过程中极易发生混乱的问题。
IT技术与层次编码技术的结合为物料的高效管理提供了可能。
这种编码技术将所有存货按照层次和类别进行编码的唯一形管理,编码的组成部分包括存货的型号、规格、尺寸等内容。
它具有易读易记的特点,使得管理者只需知道货物的编码,就可以了解该物料的所有信息,以便在每日的繁杂管理中,保持规范、有序的状态。
1.3可行性分析
可行性分析的任务是在初步调查的基础上对开发项目进行分析,分析是否必要和可行。
分析建立信息系统必要性时主要考虑用户提出的理由是否充分和合理,对用户意见进行筛选,以备使用;分析建立信息系统可行性主要包括技术可行性和营运可行性[7],本项目可行性分析如下:
1技术可行性分析
技术上的可行性分析是根据新系统目标衡量所需要的技术是否具备,如硬件、软件和其他应用技术以及从事这些工作的技术人员数量及水平等。
本系统开发所涉及的技术因素主要有:
(1)系统开发工具及技术:
选用MicrosoftSQLServer2005作为后台数据库,以MicrosoftVisualStudio2008作为前端开发工具,具有很强的实用性,易于操作实施,数据处理方便、安全。
(2)从事工作的人员技术要求:
本系统开发后易于操作,只要求有计算机基本操作能力的人员即可使用。
2社会可行性分析
目前,原材料库存管理是建筑、装修公司提高自身管理效率的重要手段。
加强库存管理,实现计算机化管理,不仅能使企业具有更高的市场竞争力,而且方便了仓库管理人员对货物订单、账目、库存等诸多信息进行实时管理和监督。
在建筑原材料企业实现库存管理的计算机化,是去企业发展的一个重要的方面。
本系统操作简便灵活,便于使用。
因此,该系统具有可行性。
因此,本系统在开发上是可行的。
1.4技术方案
1.4.1系统开发工具与运行环境
本系统开发平台及运行环境如下:
系统开发平台:
MicrosoftVisualStudio2008
系统开发语言:
C#
数据库管理软件:
SQLServer2005
运行平台:
WindowsXP(SP2)/Windows2000(SP4)/WindowsServer2003(SP1)
二系统分析
系统分析的主要任务是将在系统详细调查中所得到的文档资料集中到一起,对组织内部整体管理状况和信息处理过程进行分析。
它侧重于从业务全过程的角度进行分析。
分析的主要内容是:
业务和数据的流程是否通畅,是否合理;数据、业务过程和实现管理功能之间的关系;老系统管理模式改革和新系统管理方法的实现是否具有可行性等等。
系统分析的目的是将用户的需求及其解决方法确定下来,这些需要确定的结果包括:
开发者关于现有组织管理状况的了解;用户对信息系统功能的需求;数据和业务流程;管理功能和管理数据指标体系;新系统拟改动和新增的管理模型等等。
系统分析所确定的内容是今后系统设计、系统实现的基础[4]。
2.1系统需求分析
2.1.1摘要
需求分析就是描述系统的需求,通过定义系统中的关键类来建立模型。
分析的根本目的是在开发者和提出需求的人之间建立一种理解和沟通的机制。
需求分析是系统开发设计的第一步。
不断地调查与研究,了解组织结构的状况,了解部门的业务流程等系统需求,对于设计好概念模型是非常重要的。
在需求分析中,应对现实世界要处理的现象进行详细地调查;在确定系统功能中,收集支持系统功能目标的数据及分析数据之间的关系和处理流程。
可以说需求分析的质量直接影响到系统设计的成败。
同时需求分析工作量很大,所涉及的业务和人、数据、信息都非常多。
2.1.2系统的需求分析调查
在信息技术高速发展的今天,任何企业都离不开信息化建设,信息化水平已经成为一个评价一个企业综合实力的一项重要指标。
由于企业管理已经向现代化管理转变,本系统对建筑公司加强原材料的库存管理有着极其重要的作用。
随着建筑市场的不断扩大,建筑装修公司也随着发展的浪潮不断扩大规模,随之,订单成倍增加,各项业务更加细化,各部门工作量增加,以往的人工处理方式就显得力不从心,劳动强度大而且容易出错。
为使建业库存管理更加简洁、系统、科学和高效,减少工作人员的工作量,建立一个以数据库为基础的管理信息系统就尤为重要了,渔阳建业管理信息系统利用现代计算机和数据库开发技术来代替人工处理,从而减轻企业各部门工作人员的劳动强度,提高工作质量和效率,提高信息资源的利用率和企业管理水平。
目前,这类相关的信息管理系统已经广泛的应用于社会的各行各业,成为各行业提高自身管理效率的重要手段,也是现代企业管理的发展方向。
因此,这样的一套管理软件是非常有实用价值的。
2.1.3经需求分析后的系统开发目标
为了提高仓库工作效率我们针对原材料库存管理的实际工作,经过了反复地论证,最终确定仓库管理信息系统的设计方案。
1.功能需求
(1)系统功能包括 :
产品入出库登记、确认入出库信息、删除库内信息、借出信息登记、产品分类管理、供货商设置、仓库设置。
(2)系统管理员功能:
添加人员、删除人员、查询库内信息,用户管理,人员权限区分。
(3)用户功能包括:
查询库内信息、查询出库信息、查询入库信息、修改本用户密码。
2.用户需求
根据用户需求,该系统应该实现以下功能:
(1)进、出库管理。
对进、出库信息进行记录。
(2)查询功能。
仓库管理对查询要求高,通过主菜单记录当前操作用户的用户编号,保证了对进、出库信息录入负责人的确认。
(3)部门资料管理资料管理包括了人员信息管理,以及各项业务单据的资料管理。
(4)应用计算机管理后,由于计算机能存贮大量的数据,而且数据只要一次存入,便可多次重复使用,所以管理数据达到完整,统一,原始记录能保证及时,准确。
(5)应用计算机管理后,许多重复性的工作,都可由计算机去执行,从而使管理人员从事务性工作解脱出来,真正变为从事一些信息的分析,判断,决策等创造性的工作。
系统总体功能模块图
三数据库设计
数据库设计概述
信息系统的基础和核心就是数据库,它在系统中占得地位可想而知,数据库设计的好坏直接关系到信息系统开发的成败与失败。
在信息系统设计中,数据库设计是指根据业务需求、信息需求和处理需求,对信息系统中的数据库结构、数据操作和数据一致性进行约束过程。
数据库设计一般包括需求分析、数据分析、概念设计、逻辑设计和物理设计等步骤。
用户信息表设计
货物信息表
供货商信息表
仓库信息表
借货信息表
还货信息表
入库信息表
出库信息表
盘点信息表
四系统实施
4.1登录界面实现
1.说明:
此模块实现系统登录,用户输入用户名、密码和权限后,系统判断是否正确,如果正确,进入主界面,否则,要求重新输入。
2.模块处理流程图,
3登录界面
代码设计
privatevoidbtLogin_Click(objectsender,EventArgse)
{intP_returnValue=doperate.UserLogin(cboxUName.Text.Trim(),txtPwd.Text.Trim());//获取存取过程执行的返回值
if(P_returnValue==100)
{
MName=cboxUName.Text;//记录登录用户名
MPwd=txtPwd.Text;
Mainmain=newMain();
this.Hide();
main.Show();
}
else
{
MessageBox.Show("用户密码错误,请重新输入!
","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
txtPwd.Text="";
cboxUName.Focus();
}
}
privatevoidbtExit_Click(objectsender,EventArgse)
{
if(MessageBox.Show("您真的要退出本系统吗?
","提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Information)==DialogResult.OK)
{
Application.Exit();
}
else
{
this.btLogin.Enabled=true;
this.Hide();
Loginlogin=newLogin();
login.Show();
}
}
privatevoidfrmLogin_FormClosing(objectsender,FormClosingEventArgse)
{
Application.Exit();
}
privatevoidcboxUName_SelectedIndexChanged(objectsender,EventArgse)
{
SqlDataReadersqlread=datacon.getread("selectUserName,UserRightfromUserinfowhereUserName='"+cboxUName.Text+"'");
if(sqlread.Read())//从数据库中读取数据
{
labURight.Text=sqlread["UserRight"].ToString();//显示用户操作权限
MRight=labURight.Text;//记录用户权限
}
sqlread.Close();
}
4.2主界面的实现
系统主界面
代码设计
privatevoidMain_Load_1(objectsender,EventArgse)
{
tssUser.Text="当前用户名为:
"+Login.MName.ToString().Trim();
tssRight.Text="操作用户权限:
"+Login.MRight.ToString().Trim();
tssTime.Text="登录系统时间:
"+DateTime.Now.ToShortTimeString();
if(Login.MRight.ToString().Trim()=="普通用户")
{
入库管理ToolStripMenuItem.Enabled=false;
出库管理ToolStripMenuItem.Enabled=false;
借货还货管理ToolStripMenuItem.Enabled=false;
盘点管理ToolStripMenuItem.Enabled=false;
供货商设置ToolStripMenuItem.Enabled=false;
货物档案设置ToolStripMenuItem.Enabled=false;
仓库设置ToolStripMenuItem.Enabled=false;
权限设置ToolStripMenuItem.Enabled=false;
用户管理ToolStripMenuItem.Enabled=false;
}
if(Login.MRight.ToString().Trim()=="普通管理员")
{权限设置ToolStripMenuItem.Enabled=false;
用户管理ToolStripMenuItem.Enabled=false;
}
}
privatevoidMain_FormClosed(objectsender,FormClosedEventArgse)
{
if(MessageBox.Show("您真的要退出本系统吗?
","提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Information)==DialogResult.OK)
{
Application.Exit();
}
else
{
Mainmain=newMain();
main.Show();
}
}
privatevoid供货商设置ToolStripMenuItem_Click(objectsender,EventArgse)
{
BasicInfo.PrInfoBIfpi=newStoreMIS.BasicInfo.PrInfo();
BIfpi.ShowDialog();
}
privatevoid货物档案设置ToolStripMenuItem_Click(objectsender,EventArgse)
{
BasicInfo.GoodsInfoBIfgi=newStoreMIS.BasicInfo.GoodsInfo();
BIfgi.ShowDialog();
}
privatevoid仓库设置ToolStripMenuItem_Click(objectsender,EventArgse)
{
BasicInfo.StoreInfoBIfsi=newStoreMIS.BasicInfo.StoreInfo();
BIfsi.ShowDialog();
}
privatevoid入库管理ToolStripMenuItem_Click(objectsender,EventArgse)
{
GoodsManage.ISManageGMfism=newStoreMIS.GoodsManage.ISManage();
GMfism.ShowDialog();
}
privatevoid出库管理ToolStripMenuItem_Click(objectsender,EventArgse)
{
GoodsManage.OSManageGMfosm=newStoreMIS.GoodsManage.OSManage();
GMfosm.ShowDialog();
}
privatevoid借货还货管理ToolStripMenuItem_Click(objectsender,EventArgse)
{
GoodsManage.BGManageGMfbgm=newGoodsManage.BGManage();
GMfbgm.ShowDialog();
}
privatevoid盘点管理ToolStripMenuItem_Click(objectsender,EventArgse)
{
GoodsManage.CKManageGMfckm=newGoodsManage.CKManage();
GMfckm.ShowDialog();
}
privatevoid库存查询ToolStripMenuItem_Click(objectsender,EventArgse)
{
Look.GILookLSfgil=newLook.GILook();
LSfgil.ShowDialog();
}
privatevoid入库查询ToolStripMenuItem_Click(objectsender,EventArgse)
{
Look.ISLookLSfisl=newLook.ISLook();
LSfisl.ShowDialog();
}
privatevoid出库查询ToolStripMenuItem_Click(objectsender,EventArgse)
{
Look.OSLookLSfosl=newLook.OSLook();
LSfosl.ShowDialog();
}
privatevoid货物借出查询ToolStripMenuItem_Click(objectsender,EventArgse)
{
Look.BGLookLSfbgl=newLook.BGLook();
LSfbgl.ShowDialog();
}
privatevoid货物归还查询ToolStripMenuItem_Click(objectsender,EventArgse)
{
Look.RGLookLSfrgl=newLook.RGLook();
LSfrgl.ShowDialog();
}
privatevoid更改密码ToolStripMenuItem_Click(objectsender,EventArgse)
{
Help.EditPwdHPfep=newHelp.EditPwd();
HPfep.ShowDialog();
}
privatevoid权限设置ToolStripMenuItem_Click(objectsender,EventArgse)
{
Help.RightManageHPfrm=newHelp.RightManage();
HPfrm.ShowDialog();
}
privatevoid用户管理ToolStripMenuItem_Click(objectsender,EventArgse)
{
Help.UserManageHPfum=newHelp.UserManage();
HPfum.ShowDialog();
}
privatevoid重新登录ToolStripMenuItem_Click(objectsender,EventArgse)
{
Loginflogin=newLogin();
flogin.Show();
this.Dispose();
}
privatevoid退出系统ToolStripMenuItem_Click(objectsender,EventArgse)
{
if(MessageBox.Show("您真的要退出本系统吗?
","提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Information)==DialogResult.OK)
{
Application.Exit();
}
else
{
Mainmain=newMain();
main.Show();
}
}
4.3各分界面的实现
1库存查询
代码设计
privatevoidbtLook_Click(objectsender,EventArgse)
{
try
{
if(txtLKWord.Text.Trim()=="")
{
GILook_Load(sender,e);//判断是否输入了查询关键字
}
else
{
if(cboxLCondition.Text.Trim()=="货物编号")
{
DataSetmyds=datacon.getds("selectGoodsIDas货物编号,GoodsNameas货物名称,"
+"StoreNameas仓库名称,GoodsSpecas货物规格,GoodsUnitas计量单位,"
+"GoodsNumas货物数量,GoodsInPriceas进货价格,GoodsOutPriceas出货价格,"
+"Editeras修改人,EditDateas修改日期"
+"fromGoodsinfowhereGoodsID="+txtLKWord.Text.Trim()+"","Goodsinfo");
dgvGInfo.DataSource=myds.Tables[0];//对DataGridView控件进行数据绑定
}
if(cboxLCondition.Text.Trim()=="货物名称")
{
DataSetmyds=datacon.getds("selectGoodsIDas货物编号,GoodsNameas货物名称,"
+"StoreNameas仓库名称,GoodsSpecas货物规格,GoodsUnitas计量单位,"
+"GoodsNumas货物数量,GoodsInPricea