《仓库管理管理系统设计报告.docx》由会员分享,可在线阅读,更多相关《仓库管理管理系统设计报告.docx(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、课程设计摘 要:仓库管理信息系统在企业的整个管理过程中起着至关重要的作用,仓库管理涉及大 量的数据信息,而且对数据信息的准确性和实时性要求都非常高,单纯的人工管理的方法 肯定有一定的难度,因此采用计算机技术实现仓库管理,提高仓库管理的效率。本文描述 了一个功能齐全的仓库管理软件,其功能包括采购申请,物品收发,库存管理,往来管理, 人员管理等,文中描述了该系统的设计与实施方案,并对系统中的关键功能做了详细的介 绍Abstract: Warehmoaunsaegeimnefnotrmsaytsitopenlmasayvsitraollier数据共2享0关键词: C#;211. 系统背景介绍1.1
2、概述在仓库管理中,需要从大量的日常仓库存取中提取相关信息,以反映库存情况。传统 的手工操作方式,易发生数据丢失,统计错误,劳动强度高,且速度慢。使用计算机可以 高速,快捷地完成以上工作。在计算机联网后,数据在网上传递,可以实现数据共享,避 免重复劳动,规范教学管理行为,从而提高了管理效率和水平。1.2 系统目标仓库信息管理系统以计算机为工具,通过对出库、入库、库存等所需的信息管理,把 管理人员从繁琐的数据计算处理中解脱出来,把仓库管理的井井有条,便于统计,结构清 晰1.3 工作平台本系统是运行在Window、sW2i0n0d0ow、sW2i0n0d3ow、sWiXnPdo等w操s作系7统环 境
3、下的计算机上。1.4 系统需求分析本系统的具体要求为:a.通过使用计算机能方便地维护(包括插入、删除、修改)各信息表;b.能组合查询基于某信息表的所需信息;c.能方便地实现基于多个表的连接查询;d.能方便地实现基于单个或多个表的统计功能;e.系统具有操作方便、简捷等特点。1.5 功能需求分析物资信息管理:物资的一般信息入库信息管理:入库物资的所有信信息包括时间、价格、日期、型号等 出库信息管理:出库物资的所有信信息包括时间、价格、日期、型号等 用户信息管理:通过登录对仓库进行管理2. 系统概念模型描述目前,在概念设计阶段实体联系模型是广泛使用的设计工具。2.1 构成系统的实体型本系统包括管理员
4、,出库,入库,仓库,物资,库存六个主要实体。管理员实体型属性有用户名、密码、角色名。物资实体型属性有物资编号、物资名称、物资型号、类型、单位入库实体型属性有入库编号、物资编号、数量、单价、金额、入库时间、经办人、保 管人、仓库出库实体型属性有出库编号、物资编号、数量、单价、金额、入库时间、经办人、保 管人、仓库库存实体型属性有物资编号、物资名称、物资型号、类型、单位、金额、入库时间、 经办人、保管人、仓库2.2 系统合成E-R图系统的局部E-图R,只反映局部应用实体型之间的联系,但不能从整体上反映实体型 之间的相互关系。另外,对于一个较为复杂的应用而言,各部分是由多个分析人员合作完 成的,画出
5、的E-图R只能反映各局部应用。各局部E-图R之间可能存在一些冲突和重复的 部分。为减少这些问题,必须根据实体联系在实际应用中的语义,进行综合、调整和优化, 得到系统的合成优化E-图R,如下图所示:1、 实体间的E-R图2、实体属性间的E-R图3. 系统的逻辑设计逻辑设计阶段的主要任务,是把E-图R转化为所选用DBM产S品支持的数据模型。由于该系统采用e关r系v型e数r据库系统,因此,应将概念设计的E-模R型转化为关系数据模型。3.1 数据库表的结构得出数据表的各个关系模式后,需要给出是各数据表结构。考虑系统的兼容性及编写 程序的方便性,可将关系模式的属性对应为表字段的英文名。同时,考虑到数据依
6、赖关系 和数据完整性,需要指出表的主码和外码,以及字段的值域约束和数据类型。系统各表的结构如下所示:用户表信息表(userinfo)列 名数据类型长 度说 明UIDchar10用户名(主键)PWDchar10密 码RoleNamechar10角 色 名物资信息表(materialinfo)列 名数据类型长 度说 明MIDchar10物资编号(主键)MNamechar10物资名称MModelchar10物资型号MTypechar10类型MUnitchar10单位入库信息表(ininfo)列 名数据类型长 度说 明IIDint入库编号(自动编号,主键)MIDchar10物资编号InAccounti
7、nt数量InPriceint单价InValueint金额InDateDatetime入库时间InDealerchar10经办人InSaverchar10保管人InStorechar10仓库Remarkchar40备注出库信息表(outinfo)列 名数据类型长 度说 明IIDint出库编号(自动编号,主键)MIDchar10物资编号OutAccountint数量OutPriceint单价OutValueint金额OutDateDatetime入库时间OutDealerchar10经办人OutUserchar10领取人OutStorechar10仓库Remarkchar40备注4系统功能模块图.
8、系统数据流程图部分程序源代码及其说明登录界面:用户通过用户名和密码登录代码如下:SqlCommand cmd = new SqlCommand(); string str =+textBoxpwd.Text.Trim()+ ; cmd.CommandText = str; cmd.Connection = connection1;connection1.Open();SqlDataReader dr = cmd.ExecuteReader(); if (dr.Read() +textBoxname.Text.Trim()+this.Hide();mian zy=new mian();zy.Sh
9、ow();elseMessageBox.Show( 用户名或密码错误!);添加用户:登录主界面之后添加用户|添加代码如下:if (textBoxname.Text.Trim()= | textBoxpwd.Text.Trim() =| textBoxquerenpwd.Text.Trim() =comboBoxjuese.Text.Trim() =) MessageBox.Show( 请输入完整信息!, 警告 );else if (textBoxpwd.Text.Trim()!= textBoxquerenpwd.Text.Trim() MessageBox.Show( 两次密码输入不一致!,
10、 警告 ); else cn.Open(); SqlCommand cmd = new SqlCommand( , cn); string sql =+ textBoxname.Text.Trim() +cmd.CommandText = sql; if (null = cmd.ExecuteScalar() string sql1 =+textBoxname.Text.Trim()+ + textBoxpwd.Text.Trim() + comboBoxjuese.Text.Trim() +;cmd.CommandText = sql1;cmd.ExecuteNonQuery();Messa
11、geBox.Show( 添加用户成功! , 提示 );this.Close(); elseMessageBox.Show( 用户名 + textBoxname.Text.Trim() + 已经存在! , 提示 ); cn.Close();通过主页面进入物资管理点击添加物资出现如下:代码如下:if (textBoxaddwuzino.Text.Trim() =)MessageBox.Show( 请输入物资编号!, 提示 );elsecn.Open();SqlCommand cmd = new SqlCommand( ,cn);string sql =+ textBoxaddwuzino.Text
12、.Trim() +;cmd.CommandText = sql;if (null = cmd.ExecuteScalar()string sql1 = into materialinfo values + textBoxaddwuzino.Text.Trim() + textBoxaddname.Text.Trim() + model.Text.Trim()+ + type.Text.Trim() + unit.Text.Trim() +;cmd.CommandText = sql1;cmd.ExecuteNonQuery();MessageBox .Show( 添加物资信息成功!, 提示 )
13、;elseMessageBox.Show( 物资编号 + textBoxaddwuzino.Text.Trim() + 已经存在! , 警告 ); cn.Close();通过主页面进入物资管理点击浏览物资出现如下:则其中各个按钮的代码如下: 修改:cn.Open();string sql1 =+ textBoxutypepdate.Text.Trim() + textBoxupdatename.Text.Trim() + textBoxupdateclass.Text.Trim() + textBoxupdatedanwei.Text.Trim()+ textBoxupdatno.Text.T
14、rim() +SqlCommand cmd = new SqlCommand( , cn);cmd.CommandText = sql1; cmd.ExecuteNonQuery(); MessageBox.Show( 修改信息成功! this.Close();提示 );cn.Close();删除:SqlCommand cmd = new SqlCommand();cmd.CommandText = string.Format(,textBox1.Text.Trim();cmd.Connection = cn;try cn.Open();cmd.ExecuteNonQuery();Messag
15、eBox.Show( 删除成功 );catch (SqlException ex) MessageBox.Show(ex.Message, 提示 , MessageBoxButtons.OK, MessageBoxIcon.Error); finally cn.Close();displayDB();通过主页面进入物资管理点击查询物资出现如下:代码:bool flag = true;,MUnitstring sql =物资编号 ,MName as 物资名称 ,MModel as 物资型号 ,Mtype as 类型as 单位 +;if (textboxwuzino.Text.Trim() =&
16、textBoxwuziname.Text.Trim()= &textBoxwuzitype.Text.Trim() =) MessageBox.Show( 请输入查询条件!, 警告 );return;else if (textboxwuzino.Text.Trim() !=)sql = sql + +textboxwuzino.Text +;else if (textBoxwuziname.Text.Trim() !=)sql = sql + +textBoxwuziname.Text+ ;flag = false;if (textBoxwuzitype.Text.Trim() !=)if (
17、flag)sql = sql + textBoxwuzitype.Text +elsesql = sql + +textBoxwuzitype.Text +通过主页进入入库管理点击添加入库信息出现如下界面:if (comMID.Text.Trim()= )MessageBox.Show( 请填写物资编号!, 提示 );elsecn.Open();string sql =+comMID.Text.Trim()+SqlCommand cmd = new SqlCommand(sql, cn);if (null =cmd.ExecuteScalar()DateTime d1 = Convert.To
18、DateTime(dateTimePicker1.Text);string sql1 = + +comMID.Text.Trim()+ +textAccount.Text.Trim()+ +textPrice.Text.Trim()+ +textValue.Text.Trim()+ +d1+ +textDealer.Text.Trim()+textSaver.Text.Trim()+ +textStore.Text.Trim()+ +richTextBox1.Text.Trim()+ ;SqlCommand cmd1 = new SqlCommand(sql1, cn);cmd1.Execut
19、eNonQuery();MessageBox.Show( 添加入库信息成功!, 提示 );this.Close();elseMessageBox.Show( 物资编号 +comMID.Text.Trim()+ 已经存在! , 警告 ); cn.Close();通过主页进入入库管理点击浏览入库信息出现如下界面:删除按钮代码与上面删除代码类似。当点击修改按钮是弹出新的页面如下:代码如下:cn.Open();DateTime d1 = Convert.ToDateTime(dateTimePicker1.Text);+string sql =+ textAccount.Text.Trim() +te
20、xtPrice.Text.Trim() + textValue.Text.Trim() +d1 +textDealer.Text.Trim() + textSaver.Text.Trim() + textStore.Text.Trim+()+ richTextBox1.Text.Trim() + + this.Tag.ToString().Trim() +;SqlCommandcmd = new SqlComman( , cn);cmd.CommandText = sql;cmd.ExecuteNonQuery();MessageBo.xShow(修改进货信息成功!, 提示 );this.Cl
21、ose();cn.Close();当点击查询入库信息是出现如下页面:点击查询代码如下:string sql物资名称 ,MModel as 物资型号,Mtype as 类型 ,MUnit as单位 ,InAccount as 数量 +单价 ,InValue as 金额 ,InDate as 入库时间 ,InDealer as 经办人 ,InSaver as 保管 人,InStore as 仓库 ,Remark as 备注 +物资编号 ,InID as 入库编号 from materialinfo,ininfo where materialinfo.MID&if (textID.Text.Trim
22、() =& texName.Text.Trim()= & textModel.Text.Trim() =date1.Text.Trim() =& date2.Text.Trim() =)MessageBox.Show( 请输入查询条件! return;else if (textID.Text.Trim() != sql = sql +elseif (texName.Text.Trim() != sql = sql +if (textModel.Text.Trim() != sql = sql +警告 );)+ textID.Text.Trim() +)+ texName.Text +)+ te
23、xtModel.Text +if (date1.Text.Trim() !=& date2.Text.Trim() !=)DateTime dt1 = Convert.ToDateTime(date1.Text);+ dt1 + dt2 +DateTime dt2 = Convert.ToDateTime(date2.Text);sql = sql + cn.Open();SqlDataAdapter adp = new SqlDataAdapter(sql, cn);DataSet ds =new DataSet();ds.Clear();adp.Fill(ds,);dataGridView
24、1.DataSource = ds.Tables0.DefaultView; cn.Close();当点击密码修改时出现如下界面:代码如下:if (textBoxname.Text.Trim() =| textBoxnewpwd.Text.Trim() =| textBoxpwd.Text.Trim()= |textBoxquerenpwd.Text.Trim() =)MessageBox.Show( 请填写完整信息!, 提示 );else cn.Open();SqlCommand cmd = new SqlCommand( , cn);string sql =+textBoxname.Tex
25、t.Trim()+ textBoxpwd.Text.Trim() +;cmd.CommandText = sql; if (null != cmd.ExecuteScalar() if (textBoxnewpwd.Text.Trim() != textBoxquerenpwd.Text.Trim() MessageBox.Show( 两次密码输入不一致!, 警告 );string sql1 =else +textBoxnewpwd.Text.Trim() +textBoxname.Text.Trim()+ ;cmd.CommandText = sql1;cmd.ExecuteNonQuery
26、();MessageBox.Show( 密码修改成功! , 提示 );this.Close();elseMessageBox.Show( 密码错误! , 提示 );cn.Close();7 .系统安全设计7.1 安全系统的需求定义(1)系统提供用户登录功能(进行用户身份验证),并且用户名和用户编号是唯一的。 用户在登录界面上填写任意的用户名和用户密码(中文或英文);系统提供登录过程中的出 错处理机制和操作成功处理机制。(2)系统对非法用户具有替告功能,例如:单用户表中不存在的用户企图登录系统, 系统应该要求用户输入合法用户名和用户密码,并警告用户的操作。7.2 系统安全设计(1计)算机硬件安全
27、要求为了保障数据信息的安全性,应考虑防电磁辐射,重要的服务器硬件设备的电磁兼容 性应满足国家相关标准的要求。(2)操作系统安全要求操作系统的安全稳定是整个系统的核心,达到C2级。操作系统应具有防病毒措施。(3)信息安全要求所有操作系统的安全水平应在不影响系统功能的情况下尽可能地考虑信息媒体的安 全性。首先内部人员对数据的访问操作要进行控制,对用户、信息及操作进行分类授权, 防止越权操作,避免数据遭到破坏.信息系统应具有防病毒措施。8 .总结:通过为期七天的课程设计,我拓宽了知识面,锻炼了实际动手操作能力,综合素质得 到了较大提高。能够发现问题,再正确地解决问题。在通过自己动手查阅相关资料和同学
28、的帮助下,我对管理信息系统有了新的认识,进 一步补充了课堂知识,课程设计达到了预期的目的。七天的课程设计,我完成库房信息管 理系统设计分析报告的系统实施设计。对系统、组织结构、业务流程、数据流、功能模块、 数据库和代码库进行了完整系统的设计,并且系统构架完整,并且可以顺利实施。但是,所设计的系统软件中仍然存在着众多的问题和缺陷。主要是添加功能有点缺陷, 是由于控件行为有所缺陷。通过课程设计,我们感到实际动手能力普遍提高,能够熟练运用Microvsisuoalf sttudio 2005。而且对SQL2005数据库软件有了进一步的理解,能够更加熟练地操作。更重要的是 通过对库房信息管理系统开发流
29、程的了解,进一步激发了我们对这门课程的兴趣,现在能 够结合实际存在的问题进行更深入地学习,受到了同学们广泛的欢迎。谢 辞:在本系统的开发设计过程中,我得到了指导老师以及周围同学的大力支持与帮助。感 谢指导老师嵇老师在设计过程中对我的整体程序框架以及功能存在的问题的帮助。此外, 还要感谢李善奎、任军锋等同学,在我对代码问题一筹莫展的时候给予我巨大的帮助。之 所以有了他们的指导和帮助,我才能够顺利地完成本次课程设计和设计报告。在此再次感 谢他们给予的帮助。参考资料:1仓 库信息管理系统:http:/wenku.bai 于键、张仁才.C课#程设计案例精编.北京.清华大学出版社 金华.华进.C网#络编程技术教程.人民邮电出版社王珊.数据库系统概论.高等教育出版社