1、分类课外实践汇报科目Web程序设计安阳师院计算机和信息工程学院题目:仓库管理系统专 业 班 级 计算机科学和技术一班 小 组 成 员 白灵鸽 丁艳雯 霍梦娜 指 导 教 师 吴琴霞 6 月 18 日课题组组员分工白灵鸽:登录(login)、查看入库信息(inwarehouse)、查看出库信息(outwarehouse)、查看存放规则(storem)、查看仓库货物(lgood)、需求列表(request,xiangdan)。丁艳雯:数据库设计、三个母版页设计、添加进出库信息(addinout)、添加货物存放规则(addstoret)、添加用户(adduser)、添加货物信息、添加仓库信息(ckx
2、xadd)。霍梦娜:修改仓库信息(ckguani)、修改人员信息(selectuarer)、货物信息维护、修改仓库管理员密码(alterpassword1)、修改分仓库管理员密码(alterpassword2)、修改采购员密码(alterpassword3) 目录绪论5一、系统概述51.1.1仓储管理系统地位和作用:51.1.2物流仓储管理系统对企业发展关键意义:51.1.3系统开发目标和意义6二、系统分析72.1 可行性分析72.2 采取技术82.3 系统需求分析8三、系统设计93.1 系统总体设计93.2 数据库设计133.2.1数据库概念结构设计133.2.2数据库逻辑结构设计153.2
3、.3系统相关数据表18四、系统具体设计214.4.1 模块功效214.4.2母版页设计:214.4.3 部分功效展示及实现代码224.4.4入库查询功效实现:264.4.4 采取新技术29五、系统实现305.1 前台用户端实现305.2 后台管理员实现305.2.1 我们系统共分为三种身份管理员,分别为仓库总管、分仓库管理员、采购员。各个管理员权限不一样,具体以下图所表示:305.2.2 登录页面设计比较简单,这里不再过多介绍,页面运行效果以下图所表示:315.3 服务器配置32六、测试和分析326.1登录界面测试336.2用户添加界面测试(及所用添加功效)336.3修改用户密码功效测试346
4、.4查看功效测试346.5结论:35七、总结35绪论一、 系统概述1.1.1仓储管理系统地位和作用:伴随IT技术不停发展和成熟,信息关键性日渐显现。市场信息化日益扩大,使自动化管理水平,以最快速度和最正确数据取得信息并立即作出反馈,基于此情况,很多企业针对企业仓储部门实施基于关系数据库信息管理制度,并以此为最高管理层提供决议服务。为此,本小组以适应该前企业信息管理制度尝试开发了本仓储管理系统。目前物流各步骤之间存在不均衡性,而仓储管理系统是处理这种不均衡性关键手段。仓储管理经过实现物流步骤整合,能够很好处理仓储步骤中上下游步骤中产生多种矛盾。仓储管理系统能够整合资源,最终实现在运输条件约束力范
5、围内得出最理想库存控制方案,达成物流成本最低化。仓储方案设计和运行操作被利用到很多具体案例中,发挥出很关键作用,也使得物流仓储管理系统地位得到了很大提升。1.1.2物流仓储管理系统对企业发展关键意义:现在,很多企业已认识到企业管理信息对企业发展战略意义,竞争猛烈和对成本要求使得管理对象表现为:整和上游、企业本身、下游一体化供给链信息和资源。对于仓库,尤其是制造业中仓库,作为物流供给链关键节点,不一样供给链库存规则理念是不相同,大家管理物流供给链时候,已经不只是把库存作为维持生产和销售一个方案,更多把它看成是一个管理供给链平衡机制,这也就给予了它协调整个供给链功效。不过现代企业同时又面临着太多不
6、确定原因,不管这些不确定原因产生自供给方或来自生产方还是用户方面,在仓库管理中全部会包含到容量、仓库关键存放商品信息描述等;添加、修改和删除仓库信息等操作;许可查找、浏览管辖权限下全部仓库所存放商品信息;添加、修改和删除商品信息;查看商品仓库进出统计;查询、添加仓库功效,这些功效能够帮助仓管人员愈加好地管理仓库,使得各个步骤工作进行愈加顺利,提升企业管理效率。1.1.3系统开发目标和意义伴随经济和信息技术不停发展和成熟,信息关键性日渐显现。市场信息化日益扩大,使自动化管理水平,以最快速度和最正确数据取得信息并立即作出反馈,基于此情况,很多企业针对企业仓储部门实施基于关系数据库信息管理制度,并以
7、此为最高管理层提供决议服务。为了愈加好、更方便地适应该前企业信息管理制度,我们小组尝试设计了本仓库管理系统。该系统能够正确地监控企业内销售情况,管理人员分工明确,这不仅降低管理人员工作量,同时也大大提升了超市管理效率,实现商品管理、进货管理、销售管理、库存管理等功效,并可进行多种相关信息查询、添加、删除和更新,大大提升了运作效率。二、 系统分析2.1 可行性分析在软件开发前,就进入到进行可行性研究阶段。并不是全部问题全部含有简单处理措施,很多问题不能在预定规模之内处理。所以经过可行性研究分析能够得悉问题所在。 有没有可行性处理方法,进而避免人力、物力和才力浪费。在现行系统初步调查基础上就能够提
8、出新系统目标,这是系统开发和评价依据。系统目标应充足表现,直接为仓库管理系统服务,而且程序能够分批实现。不过,需要指出是,系统目标是不可能在总体计划阶段就提得很具体,它还将在开发过程中逐步明确和定量化。以达成愈加完善程序系统。不过,系统实现目标不尽相同,比如: 提升仓库管理效率,减轻劳动强度;提升信息处理速度和正确性; 为仓库管理者提供更方便、科学服务项目。 系统目标确定后,就能够从以下四方面对能否实现新系统目标进行可行性分析: (1)技术可行性 依据当初设想系统功效及实现系统各项约束条件,依据新系统目标来衡量所需技术是否含有,本系统是一个数据库管理和查询系统,现有技术已经较为成熟,硬件、软件
9、性能要求、环境条件等各项条件良好,估量利用现有技术条件应完全能够达成该系统功效目标。但因为能力和知识缺点可能使得系统存在不完善之处。(2)运行可行性 新系统研制和开发是充足考虑工作人员对仓库易于管理,管理者方便查询设备信息效率,从而能完全满足使用者要求。2.2 采取技术(1)操作系统:Windows 7(2)软件环境:VS+SQLR2(3)硬件环境:PC机一台、CPU:IntelCORE i5 、一定内存2.3 系统需求分析在经过可行性研究分析以后,我们确定了开发系统为仓储管理。结合前面叙述项目开发目标、意义、可行性分析,我们确定本系统需满足功效需求以下: (1)用户注册登陆。 (2)在仓库总
10、管界面,可实现以下功效:1)可注册用户信息,并管理用户信息,可对其账户信息进行添加、修改、删除等操作。 2)进行产品管理,包含对产品类型、产品信息等信息查看、添加、修改、删除等操作。 3)进行产品库存管理,包含查看入库登记信息,浏览出库登记信息、添加存放规则,修改存放规则等。4)个人密码修改,返回登录界面。 (3)分仓库管理员界面,实现以下功效:1)添加进出库统计。2)查看进库统计。3)查看出库统计。4)查看本仓库货物具体信息。5)个人密码修改,返回登录界面。(4)采购员界面,实现以下功效:1)查看仓库需求2)个人密码修改,返回登录界面。三、 系统设计3.1 系统总体设计系统总体设计中最关键就
11、是系统模块化。模块化是指处理一个复杂问题时自项向下逐层把软件系统划分成若干个模块过程。每个模块完成一个特定功效,全部模块按某种方法组织起来,成为一个整体,完成整个系统所要求功效。将系统划分为多个功效模块是为了降低软件系统复杂性,提升可读性、可维护性,但模块划分不能是任意,应尽可能保持其独立性。也就是说,每个模块只完成系统要求独立子功效,而且和其它模块联络最少且接口简单,即尽可能做到高内聚低耦合,提升模块独立性,为设计高质量软件结构奠定基础。在系统总体设计中我们采取结构化设计,结构化设计以需求分析阶段产生数据流图为基础,按一定步骤映射成系统结构。我们首先将整个系统化分为多个小问题,小模块,在系统
12、中,我们设计了用户管理、产品管理,产品库存管理、仓库管理4个小模块。然后,深入细分模块,添加细节。比如,用户管理我们又将其分为仓库总管管理,分仓库管理员管理,采购员管理,每个用户管理又可分为用户添加、用户删除、信息修改等;产品库存管理分为产品在库信息,产品入库,入库查询等等。以下为图1至图4为系统结构图:用户登录分仓库管理员登录仓库总管登录采购员登录系统结构图1仓库总管登录用户管理个人密码修改产品库存管理产品管理系统结构图2分仓库管理员登录查看货物具体信息查看进库统计个人密码修改添加进出库统计查看出库统计系统结构图3采购员登录查看仓库需求个人密码修改系统结构图4在得到系统第一层功效模块图后,经
13、过深入地细化,得到系统部分子功效模块图以下:用户登录分仓库管理员登录仓库总管登录采购员登录个人密码修改产品管理用户管理查看仓库需求个人密码修改查看货物具体信息添加进出库统计个人密码修改查看出库统计查看进库统计信息库存管理功效模块图1产品管理产品信息产品类型修改删除添加修改删除添加功效模块图2产品库存管理产品管理入库查询产品入库查询具体信息删除入库信息修改入库信息查询入库信息产品入库查询添加入库分配功效模块图33.2 数据库设计3.2.1数据库概念结构设计依据上面设计计划出实体用户实体、产品实体、仓库信息实体、入库实体、进出库信息统计实体等,各实体E-R图及其关系描述以下:用户用户编号用户邮箱用
14、户密码用户电话用户地址用户权限用户性别用户姓名用户实体E-R图产品产品提供商产品编号产品名称产品价格产品类型实体E-R图仓库仓库编号仓库描述仓库地址仓库名称仓库面积仓库类型实体E-R图入库产品目前数量存放编号存放仓库编号存放产品上限存放产品下限存放产品编号入库实体E-R图进出库信息统计进出库时间统计统计编号提供者统计产品统计进出库统计仓库统计类型编号进出库信息统计实体E-R图3.2.2数据库逻辑结构设计在上面实体和实体之间关系基础上,形成数据库中表格和各个表格之间关系。仓库管理系统数据库中各个表设计结果以下图所表示:用户信息表产品信息表仓库信息表商品入库信息存放表进出库信息统计表3.2.3系统
15、相关数据表以下各图为系统数据库中相关数据表:总数据库表用户信息表商品信息表仓库信息表商品入库信息存放表进出库信息统计表四、 系统具体设计4.4.1 模块功效 该模块功效前面已经做了简明说明,在该模块下又分为3个子模块,分别实现不一样功效: (1) 商品在库信息 本模块能够实现依据商品名称、商品编号、商品供给商进行产品信息查询,查询结果将以列表形式显示在目前页面内,表中属性值有:商品编号,商品名称,商品类型,在库总数,已分配总数,已售出总数,操作。其中操作部分可链接到商品入库、商品分配操作界面以实施对应操作。 同时能够链接到商品添加页面,实现新商品添加。(2) 商品入库 本模块关键进行商品入库操
16、作。具体过程为模块调用goods表中商品信息,用户对商品供给商、类型、和产品型号进行选择,输入需要入库产品数量,操作人等。自动生成入库编号,入库时间默认目前日期。 (3) 入库查询 本模块实现依据不一样属性实现对入库商品查询,可选属性有商品类型,商品编号,入库编号,入库时间。查询结果以列表形式显示在目前页面,表中属性值有:商品编号,商品名称,商品类型,在库总数,已分配总数,已售出总数,操作。其中操作部分可实施具体信息查询,修改信息,删除信息。4.4.2母版页设计:以下图示为模板页:母版1母版2母版34.4.3 部分功效展示及实现代码(1)商品在库信息:(2)商品入库功效实现:(3)实现入库功效
17、相关代码: protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) bindData(); private void bindData() if (SessionUdep != null) /string mysql = select * from Goods,Store where SGID=GID and SWID= + SessionUdep.ToString() + ; string st = select * from Goods,Store where SGID=GID and SWID= + Se
18、ssionUdep.ToString() + ; SqlConnection con = WMS.createCon(); con.Open(); SqlCommand da = new SqlCommand(st, con); SqlDataReader cn = da.ExecuteReader(); while(cn.Read() DropDownList1.Items.Add(new ListItem (cnGID.ToString(); con.Close(); BindTextBox(); private void BindTextBox() string st1 = select
19、 SQuantity,STopLine from Store where SGID= + DropDownList1.Text+ ; SqlConnection con = WMS.createCon(); con.Open(); SqlCommand da = new SqlCommand(st1, con); SqlDataReader dr = da.ExecuteReader(); if (dr.Read() TextBox2.Text = drSQuantity.ToString(); TextBox3.Text = drSTopLine.ToString(); TextBox4.T
20、ext = drSQuantity.ToString(); TextBox5.Text = Convert.ToString(int.Parse(TextBox3.Text) - int.Parse(TextBox2.Text); else Response.Write(alert(对不起,没有该产品信息); if (RadioButton1.Checked = true) RangeValidator1.MaximumValue = TextBox5.Text; RangeValidator1.MinimumValue = 0; if (RadioButton2.Checked = true
21、) RangeValidator1.MaximumValue = TextBox4.Text; RangeValidator1.MinimumValue =0; protected void Button1_Click1(object sender, EventArgs e) string newSQuantity; string str1 = insert into Records(RID,RGID,RWID,RQuantity,Rtype,RHandler) values ( + DropDownList1.Text + , + SessionUdep.ToString()+ , + Te
22、xtBox6.Text + , 1 , + TextBox7.Text + ); string str2 = insert into Records(RID,RGID,RWID,RQuantity,Rtype,RHandler) values ( + DropDownList1.Text + , + SessionUdep.ToString()+ , + TextBox6.Text + , 2 , + TextBox7.Text + ); SqlConnection con = WMS.createCon(); con.Open(); if (RadioButton1.Checked = tr
23、ue) SqlCommand comm = new SqlCommand(str1,con); comm.ExecuteNonQuery(); con.Close(); if (RadioButton2.Checked = true) SqlCommand comm = new SqlCommand(str2, con); comm.ExecuteNonQuery(); con.Close(); SqlConnection cn = WMS.createCon(); cn.Open(); if (RadioButton1.Checked = true) newSQuantity = Conve
24、rt.ToString(int.Parse(TextBox2.Text) + int.Parse(TextBox6.Text); string str3 = update Store set SQuantity= + newSQuantity + where SGID= + DropDownList1.Text + ; SqlCommand com = new SqlCommand(str3, cn); com.ExecuteNonQuery(); cn.Close(); Response.Write(alert(入库信息添加成功!);); if (RadioButton2.Checked =
25、 true) newSQuantity = Convert.ToString(int.Parse(TextBox2.Text) - int.Parse(TextBox6.Text); string str3 = update Store set SQuantity= + newSQuantity + where SGID= + DropDownList1.Text + ; SqlCommand com = new SqlCommand(str3, cn); com.ExecuteNonQuery(); cn.Close(); Response.Write(alert(出库信息添加成功!););
26、 BindTextBox(); protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) BindTextBox(); protected void TextBox6_TextChanged(object sender, EventArgs e) 4.4.4入库查询功效实现:入库查询功效相关实现代码:protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) bindData(); protected void But
27、ton1_Click(object sender, EventArgs e) string s1 = select RGID,GName,RWID,RQuantity,RHandler,RTime from Records,Goods where Records.RGID=Goods.GID and Rtype=1 and RGID = + DropDownList4.Text + ; string s2 = select RGID,GName,RWID,RQuantity,RHandler,RTime from Records,Goods where Records.RGID=Goods.G
28、ID and Rtype=1 and RHandler = + DropDownList5.Text + ; if (DropDownList1.Text = 按货物编号查询) SqlConnection con = WMS.createCon(); con.Open(); SqlDataAdapter da = new SqlDataAdapter(s1, con); DataSet ds = new DataSet(); da.Fill(ds); con.Close(); GridView1.DataSource = ds.Tables0.DefaultView; GridView1.Da
29、taBind(); else if (DropDownList1.Text = 按经手人查询) SqlConnection con = WMS.createCon(); con.Open(); SqlDataAdapter da = new SqlDataAdapter(s2, con); DataSet ds = new DataSet(); da.Fill(ds); con.Close(); GridView1.DataSource = ds.Tables0.DefaultView; GridView1.DataBind(); private void bindData() string
30、st = select RGID,GName,RWID,RQuantity,RHandler,RTime from Records,Goods where Records.RGID=Goods.GID and Rtype=1; SqlConnection con = WMS.createCon(); con.Open(); SqlDataAdapter da = new SqlDataAdapter(st, con); DataSet ds = new DataSet(); da.Fill(ds); con.Close(); GridView1.DataSource = ds.Tables0.
31、DefaultView; GridView1.DataBind(); protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) if (DropDownList1.Text = 按货物编号查询) Label1.Text = 请输入货物编号; Label2.Visible = false; Label3.Visible = false; DropDownList2.Visible = false; DropDownList3.Visible = false; Button2.Visible = fa
32、lse; DropDownList5.Visible = false; ; Label1.Visible = true; DropDownList4.Visible = true; Button1.Visible = true; else if (DropDownList1.Text = 按经手人查询) Label1.Text = 请输入经手人姓名; Label2.Visible = false; Label3.Visible = false; DropDownList2.Visible = false; DropDownList3.Visible = false; Button2.Visib
33、le = false; DropDownList4.Visible = false; ; Label1.Visible = true; DropDownList5.Visible = true; Button1.Visible = true; else if (DropDownList1.Text = 按日期查询) Label1.Visible = false; DropDownList5.Visible = false; DropDownList4.Visible = false; Button1.Visible = false; Label2.Visible = true; Label3.
34、Visible = true; DropDownList2.Visible = true; DropDownList3.Visible = true; Button2.Visible = true; protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) if (e.Row.RowIndex != -1) int id = e.Row.RowIndex + 1; e.Row.Cells0.Text = id.ToString(); protected void Button2_Click(obje
35、ct sender, EventArgs e) if (Convert.ToDateTime(DropDownList2.Text) = Convert.ToDateTime(DropDownList3.Text) string s3 = select RGID,GName,RWID,RQuantity,RHandler,RTime from Records,Goods where Records.RGID=Goods.GID and Rtype=1 and RTime between + DropDownList2.Text + and + DropDownList3.Text + ; Sq
36、lConnection con = WMS.createCon(); con.Open(); SqlDataAdapter da = new SqlDataAdapter(s3, con); DataSet ds = new DataSet(); da.Fill(ds); con.Close(); GridView1.DataSource = ds.Tables0.DefaultView; GridView1.DataBind(); else Response.Write(alert(时间设置有误,请重新设置!); protected void GridView1_PageIndexChang
37、ing(object sender, GridViewPageEventArgs e) GridView1.PageIndex = e.NewPageIndex; bindData(); 4.4.4 采取新技术天气预报添加:功效实现以下图所表示:五、 系统实现5.1 前台用户端实现本系统没有用户身份,所以没有前台用户端实现。5.2 后台管理员实现5.2.1 我们系统共分为三种身份管理员,分别为仓库总管、分仓库管理员、采购员。各个管理员权限不一样,具体以下图所表示: 5.2.2 登录页面设计比较简单,这里不再过多介绍,页面运行效果以下图所表示: 仓库总管登录页面 分仓库管理员登录页面采购员登录界面5.3 服务器配置VS+SQLR2编程环境,Window7操作系统,一定内存,PC机一台等。六、 测试和分析因为已经知道了本仓库管理系统关键功效,我们只需要测试一下每个功效是否实现就能够了,所以关键采取是黑盒测试。6.1登录界面测试1. 关键实现功效1.1用
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100