商场进销存管理系统设计_第1页
商场进销存管理系统设计_第2页
商场进销存管理系统设计_第3页
商场进销存管理系统设计_第4页
商场进销存管理系统设计_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录一、引言1二、系统分析2(一)需求分析2(二)系统功能分析2(三)注意业务流程分析3三、系统设计4(一)系统总体结构设计4(二)数据库设计6(三)系统架构设计12四、系统实现13(一)进销存管理模块设计13(二)系统管理模块设计18五、总结23参考文献24基于ASP.NET的商场进销存管理系统设计摘要:商场进销存管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。在这个软件中我们使用Microsoft Visual Studio 2008开发工具,利用其提供的各种面向对象的开发工具来建立系统。本系统主要完成对商场进销存的管理,包括进货管理,销售管理,库存管理和基础管理四个方面。系统可以完成对各类信息的浏览、查询、添加、删除、修改等功能。此论文主要介绍了本课题的开发背景,所要完成的功能和开发的过程,重点的说明了系统设计的思想以及主要功能。关键词:进销存管理系统;进货;销售;库存一、引言经济大环境的变化使得规模经济的优势不再突出。固定的硬设备、人员数量、大量资金等资源投入占企业效益的比重变少,而软投入如管理、人力资源价值、服务、品牌附加值、渠道却能增加企业的效益。“速度冲击规模”的速度经济概念已经向企业提出。 那么对于日益发展壮大的企业集团,怎样才能找到一套功能强大、可任意拓展、低运行成本、安全可靠的管理解决方案,来跟上企业的发展,跟上时代的发展呢? 我们认为最好的办法是利用Internet这个工具,架构自己的供需链管理平台,使无处不在的互联网为你所用,实现无处不在的管理目标。让Internet像电一样融入到企业的管理之中,提高企业在新经济时代的核心竞争力,通过对Internet的高效率使用,在激烈的市场竞争中,首先打赢第一仗“信息战”。正是基于对Internet的这种深刻认识,针对中国企业特点提出了基于Internet的网络商务管理解决方案进销存管理系统。总之,本网站将以VS2008和SQL2008技术为基础,商场管理的进货、销货、存货、用户管理、商场后台管理等一系列的功能,力争成为进销存的理想软件。二、系统分析(一)需求分析1需求分析随着科学技术的不断提高,计算机科学日渐成熟, 信息技术与应用环境分离已不再可能,利用计算机实现商场进销存管理已经越来越广泛。商场使用进销存管理系统即有宏观上的意义,那就是顺应时代信息化、现代化潮流,提高效益;也有微观上的意义,那就是可以提高管理的现代化程序,加强管理的信息化手段,提高工作效率,从简单的数据统计、收集、汇总等重要繁琐的事务中解脱出来。一个企业要生存要发展,具备一套与自身实际情况相适应的管理系统是必要的,本系统正是通过对某商场实际需求进行分析,采用.NET语言作为开发工具而开发出来的单机版的商场管理系统。根据市场的需求,要求系统具有以下功能: (1)系统操作简单,界面友好。 (2)规范、完善的基础信息设置。支持多人操作,要求有较好的权限分配功能。 (3)能够查看商场内部管理的基本信息并可添加、修改以及删除信息。 (4)能够实现对进货、存货、销货的管理。2可行性分析商场人员只要使用一台可以访问Internet的电脑就可以登录到系统中进行操作,无需客户端软件支持。 本网上书店采用.NET技术为基础进行设计开发。首先,由于.NET技术的平台无关性,决定了本系统的强大的可移植性,这样可以不对操作人员作过多的限制。鉴于我们已经学过Visual Studio 2008,熟悉其中的一些最基本的功能设计及编写.NET代码的基本操作。在技术上,.NET作为微软公司的知名产品,经过多年的考验已经非常成熟,使用它作为技术基础对本系统来说没有任何问题。在应用服务器的选择上,SQL Server 2008 数据库的基本运用我们也已经掌握。而且反应速度快、运行稳定可靠、使用简单。此外,它还是一款免费的软件,所以在很大程度上降低了成本。使用它来部署本系统,是一个理想的选择。(二)系统功能分析1系统功能分析基本功能需求此商场进销存管理系统是一个典型的数据库开发应用程序,由基础信息管理模块、进货信息管理模块、销售信息管理模块、库存信息管理模块等部分组成,规划系统功能模块如下:(1)基础信息管理模块:该模块主要包括切换用户、权限信息设置、业务员信息设置、客户信息设置、供应商信息设置、商品信息设置、仓库信息设置、角色信息设置、会员类别信息设置、产品类别信息设置。(2)进货信息管理模块:该模块主要包括进货信息查询、进货订单录入和修改、进货单录入和修改、订货单打印。(3)销售信息管理模块:该块主要包括销售信息查询、销售订单录入和修改、销售单录入和修改、销售单打印。(4)库存信息销售模块:该模块主要包括库存信息查询、库存信息的设置、进货订单的校验、销售订单的校验、库存单打印。商场进销存系统用例图如图2-1所示:图2-1 系统用例图(三)注意业务流程分析1业务流程分析根据进销存管理系统基本功能的分析,我们可以将系统分为:基本信息模块、存货管理模块、销售管理模块、进货管理模块等等。如此要将系统的管理权限分为:管理员与用户。作为管理员,他们对图书馆管理系统的要求有:(1)适当的分配权限。(2)能够对用户进行增删改查。作为用户,他们对系统的要求有:(1)能够对进货、销货、存货数据进行管理,对主要字段进行修改。(2)能够查询基本信息,并对其进行增删改查。2主要业务流程活动图,如图2-2所示: 图2-2 活动图三、系统设计(一)系统总体结构设计1项目规划商场进销存管理系统是一款对商场进行一体化管理的系统。我们对商场进销存管理系统的系统分析,总结出系统功能包括基础信息管理模块、进货信息管理模块、销售信息管理模块、库存信息销售模块。其规划功能模块如下:(1)基础信息管理模块该模块主要包括切换用户、权限信息设置、业务员信息设置、客户信息设置、供应商信息设置、商品信息设置、仓库信息设置、角色信息设置、会员类别信息设置、产品类别信息设置。(2)进货信息管理模块该模块主要包括进货信息查询、进货订单录入和修改、进货单录入和修改。(3)销售信息管理模块该块主要包括销售信息查询、销售订单录入和修改、销售单录入和修改。(4)库存信息销售模块该模块主要包括库存信息查询、库存信息的设置、进货订单的校验、销售订单的校验。2系统功能结构系统总结构图,如图3-1所示:图3-1 系统总结构图3系统模块图登录模块:登录者的身份有管理员和用户,如图3-2所示:图3-2 系统模块图系统管理模块:分为管理员与用户;管理员拥有所有系统管理的权限,用户根据拥有其管理功能。如图3-3、图3-4所示:图3-3 用户系统管理模块图图3-4 管理员系统管理模块图(二)数据库设计 1E-R图 概念结构设计E-R图,如图3-5所示:图3-5 程序主体E-R图2数据库模型数据库模型图,如图3-6所示:图3-6 数据库模型图3数据字典本系统采用的是 SQL Server 2008的数据库,系统数据库名为JXC.(1)仓库信息表,表名:ck,如表3-1所示:表3-1仓库信息表序号列名数据类型长度小数位标识主键允许空默认值说明1ckbhvarchar500是否2ckmcvarchar500否3ckbztext160是(2)商品类别表,表名:cplbb,如表3-2所示:表3-2 商品类别表序号列名数据类型长度小数位标识主键允许空默认值说明1cplbbhint40是是否2cplbmcvarchar500否3cplbbztext160是(3)供应商信息表,表名:gys,如表3-3所示:表3-3 供应商信息表序号列名数据类型长度小数位标识主键允许空默认值说明1gysbhint40是是否(续上表3-3) 2gysmcvarchar500否3dzvarchar1000是4yzbmvarchar200是5lxdhvarchar200是6gszyvarchar500是7lxrdzyjvarchar500是8lxrvarchar200是9gysbztext160是 (4)会员类别表,表名:hylb,如表3-4所示:表 3-4 会员类别表序号列名数据类型长度小数位标识主键允许空默认值说明1hylbbhint40是是否2hylbmcvarchar500否3hylbbztext160是(5)进货信息表,表名:jhd,如表3-5所示:表3-5 进货信息表序号列名数据类型长度小数位标识主键允许空默认值说明1jhrqvarchar500否2ywyvarchar500是3jhdbhvarchar1000是否4jhddbhvarchar1000是5gysbhint40是6ckbhvarchar500是7spbhint40是8sldecimal90是9djdecimal90是10zkdecimal90是11zjedecimal90是12sfjsfkvarchar100是13sfjzvarchar100是14yfjedecimal90是15jhdbztext160是(6)进货订单信息表,表名:jhdd,如表3-6所示:表3-6 进货订单信息表序号 列名数据类型长度小数位标识主键允许空默认值说明1dhrqvarchar500否2ywyint40是3jhddbhvarchar500是否4gysbhint40是5spbhint40是6sldecimal90是7djdecimal90是8zkdecimal90是9zjedecimal90是10ztint40是11jhddbztext160是(7)角色信息表,表名:js,如表3-7所示:表3-7 角色信息表序号列名数据类型长度小数位标识主键允许空默认值说明1jsbhint40是是否2jsmcvarchar500否3jsbztext160是 (8)角色权限信息表,表名:js-qx,如表3-8所示:表3-8 角色权限信息表序号列名数据类型长度小数位标识主键允许空默认值说明1js_qxbhint40是是否2jsbhint40是3qxbhint40是 (9)库存信息表,表名:kc,如表3-9所示:表3-9 库存信息表序号列名数据类型长度小数位标识主键允许空默认值说明1kcbhvarchar1000是否2gxrqvarchar500否3ckbhvarchar500是4spbhint40是5sldecimal90是6zjedecimal90是7qhjgint40是0正常, 8kcbztext160是(10)客户信息表,表名:kh,如表3-10所示:表3-10 客户信息表序号列名数据类型长度小数位标识主键允许空默认值说明1khbhint40是是否2khmcvarchar500否3dzvarchar1000是4yzbmvarchar200是5lxdhvarchar200是6gszyvarchar200是7lxrvarchar200是 (11)库存信息表,表名:qx,如表3-11所示:表3-11 库存信息表序号 列名数据类型长度小数位标识主键允许空默认值说明1qxbhint40是是否2qxmcvarchar500否3qxurlvarchar1000是4qxbztext160是 (12)商品信息表,表名:sp,如表3-12所示:表3-12 商品信息表序号列名数据类型长度小数位标识主键允许空默认值说明1spbhint40是是否2spmcvarchar500否3sptxmvarchar500否4splbbhint40是5sprkjgdecimal90是6spfxjgdecimal90是7splsjgdecimal90是8spsccjvarchar500是9spgxrqvarchar500是10spbztext160是 (13)销售信息表,表名:xsd,如表3-13所示:表3-13 商品信息表序号列名数据类型长度小数位标识主键允许空默认值说明1xsrqvarchar500否2ywyvarchar500是3xsdbhvarchar500是否(续表3-13)4xsddbhvarchar500是5khbhint40是6ckbhvarchar500是7spbhint40是8sldecimal90是9djdecimal90是10zkdecimal90是11zjedecimal90是12sfjsfkvarchar100是13sfjzvarchar100是14yfjedecimal90是15xsdbztext160是 (14)销售订单信息表,表名:xsdd,如表3-14所示:表3-14 销售订单信息表序号列名数据类型长度小数位标识主键允许空默认值 说明1xsrqvarchar500否2ywyint40是3xsddbhvarchar500是否4khbhint40是5spbhint40是6sldecimal90是7djdecimal90是8zkdecimal90是9zjedecimal90是10ztint40是 (15)业务员信息表,表名:ywy,如表3-15所示:表3-15 业务员信息表序号列名数据类型长度小数位标识主键允许空默认值说明1ywybhint40是是否2ywymcvarchar500否3dlmcvarchar500否4dlmmvarchar500否5lxdhvarchar500是6jtzzvarchar1000是7sfzhmvarchar500是8jsbhint40否(三)系统架构设计 1系统登陆的设计(1)登陆页面的设计,界面如图3-7所示:图3-7 登陆页面(2)登录情况介绍从列表框里输入用户名,此列表框内的用户直接与数据库里用户表相关联。再从相应的列表框里输入密码。判断该密码与工作人员表中定义的密码是否相符。如果不正确,提示输入错误的信息。如果正确,用户登录,进入可操作界面。 2系统主界面设计 (1)管理员系统主界面设计,界面如图3-8所示:图3-8 系统主界面(2) 系统主体功能简要介绍采购管理模块:采购信息的增删改查。销售管理模块:销售信息的增删改查。仓库管理模块:仓库信息的增删改查。系统管理模块:基本信息的增删改查、权限的分配等。四、系统实现本系统有如下主要功能模块设计:(一)进销存管理模块设计 1.进货单查询在这个页面可以根据不同的条件查询查找存在的数据,并且可以根据表头进行排序,进货单查询图4-1所示:图4-1 进货单查询进货单查询代码: public static IList getJhdsByCondition(string condition1,string condition2) IList jhds = new List(); try string sql = select jhrq,ywy,jhdbh,jhddbh,gysbh,ckbh,spbh,sl,dj,zk,zje,sfjsfk,sfjz,yfje,jhdbz from jhd where 1=1; if (condition1 != -1 & condition2 != null) sql += and + condition1 + like % + condition2 + %; using (SqlDataReader reader = DBHelper.GetReader(sql) while (reader.Read() Jhd jhd = new Jhd(); jhds.Add(jhd); catch (Exception ex) throw new Exception(ex.ToString(); return jhds; 2.销售订单校验在这个页面可以对销售订单进行校验,随意更改一项、多项或全部状态(销售订单的四种状态的三种,分别是未确认、确认、退货),销售单校验图4-2所示:图4-2 销售单校验销售订单校验的部分代码: /绑定销售订单 public void xsddDataBind() gvXsddjy.DataSource = XsddManager.getAllXsdd(,3); gvXsddjy.DataBind(); /修改事件 protected void btnxg_Click(object sender, EventArgs e) if(ddlzt.SelectedValue = -1) lblmassage.Text = 请选择修改后的状态!; else string xsddbhs = string.Empty; for (int i = 0; i 0) xsddbhs = xsddbhs.Substring(0, xsddbhs.Length - 1);/去掉末尾的逗号 string zt = ddlzt.SelectedValue;/ XsddManager.modifyZtByDdbh(zt, xsddbhs);/ xsddDataBind();/ lblmassage.Text = 成功修改选中项的状态!; else lblmassage.Text = 请选择要修改的项!; 3.库存信息设置在这个页面可以对库存信息进行相关操作,库存信息设置如图4-3所示:图4-3 库存信息设置库存信息设置代码: protected void gvJhdd_RowCommand(object sender, GridViewCommandEventArgs e) string jhddbh = Convert.ToString(e.CommandArgument); if(jhddbh!=null & jhddbh!=) Jhdd jhdd = new Jhdd(); jhdd = JhddManager.getJhddByJhddbh(jhddbh); if(jhdd!=null) Kc kc = new Kc(); kc = KcManager.existsKcBySpbh(jhdd.Spbh); if(kc.Kcbh!=null) txtbgxrqgx.Text = kc.Gxrq; txtbkcbhgx.Text = Convert.ToString(kc.Kcbh); Kcbh = Convert.ToString(kc.Kcbh); if(kc.Ckbh!=null & kc.Ckbh!=) ddlckbhgx.SelectedItem.Selected = false; ddlckbhgx.Items.FindByValue(kc.Ckbh).Selected= true; if(kc.Spbh != 0) ddlspbhgx.SelectedItem.Selected = false; ddlspbhgx.Items.FindByValue(Convert.ToString(kc.Spbh).Selected = true; txtbslgx.Text = Convert.ToString(kc.Sl+jhdd.Sl); txtbzjegx.Text = Convert.ToString(kc.Zje+jhdd.Zje); ddlqhjggx.SelectedItem.Selected = false; ddlqhjggx.Items.FindByValue(Convert.ToString(kc.Qhjg).Selected = true; txtbbzgx.Text = kc.Kcbz; jhdd.Zt = 1; JhddManager.modifyJhdd(jhdd); jhddDataBind(); lblmassagegx.Text = 请点击更新!; else txtbsltj.Text = Convert.ToString(jhdd.Sl); txtbzjetj.Text = Convert.ToString(jhdd.Zje); ddlspbhtj.SelectedItem.Selected = false; ddlspbhtj.Items.FindByValue(Convert.ToString(jhdd.Spbh).Selected = true; jhdd.Zt = 1; JhddManager.modifyJhdd(jhdd); jhddDataBind(); lblmassagetj.Text = 请点击添加!; else lblmassagegx.Text = 请点击入库!; else lblmassagegx.Text = 请点击入库!; (二)系统管理模块设计1.登陆及切换用户首先进入登录界面,当用户登录成功后,可以利用此界面进行权限切换截,如图4-4所示: 图4-4 登陆界面登录的主要代码: public void dlDataBind() ddlsf.DataSource = JsManager.getAllJs(); ddlsf.DataBind(); ListItem item = new ListItem(请选择, -1, true); ddlsf.Items.Insert(0, item); protected void btndl_Click1(object sender, EventArgs e) if (ddlsf.SelectedValue = -1) lblmassage.Text = 请选择身份!;/51aspx else if(txtbuser.Text = null | txtbuser.Text = ) lblmassage.Text = 请填写用户名!; else if (txtbpwd.Text = null | txtbpwd.Text = ) lblmassage.Text = 请填写密码!; else lblmassage.Text = ; Ywy ywy = YwyManager.getYwyByCoditions(txtbuser.Text, txtbpwd.Text,Convert.ToInt32(ddlsf.SelectedValue); if(ywy!=null & ywy.Ywymc!=null) Session.Add(ywy, ywy); Response.Redirect(/JXC/Default.aspx, true); else lblmassage.Text = 登录失败!; 2.权限设置进入这个界面后,就可以对权限进行相关操作,权限设置图4-5所示:图4-5 权限设置权限设置部分代码: public int Qxbh get if (ViewStateQxbh != null) return (int)ViewStateQxbh; else return -1; set ViewStateQxbh = value; public void qxDataBind() gvQx.DataSource = QxManager.getAllQx(); gvQx.DataBind(); protected void gvQx_RowDataBound(object sender, GridViewRowEventArgs e) if (e.Row.RowType = DataControlRowType.DataRow)/判断事件行是不是数据行 e.Row.Attributes.Add(onmouseover, currentcolor=this.style.backgroundColor;this.style.backgroundColor=#CCFF99); e.Row.Attributes.Add(onmouseout, this.style.backgroundColor=currentcolor); LinkButton lbtnDelete = (LinkButton)e.Row.FindControl(lbtnDelete); lbtnDelete.Attributes.Add(onclick, return confirm(你确定删除吗?); protected void gvQx_PageIndexChanging(object sender, GridViewPageEventArgs e) gvQx.PageIndex = e.NewPageIndex; qxDataBind(); protected void gvQx_RowCommand(object sender, GridViewCommandEventArgs e) Qxbh = Convert.ToInt32(e.CommandArgument); if(e.CommandName = De) QxManager.deleteQxByQxbh(Qxbh); if(e.CommandName = Ed) Qx qx = QxManager.getQxByQxbh(Qxbh); this.txtbqxmcgx.Text = qx.Qxmc; this.txtbqxurlgx.Text = qx.Qxurl; this.txtbbzgx.Text = qx.Qxbz; /lbltjmassage.Text = eeee+Qxbh; qxDataBind(); protected void btngx_Click(object sender, EventArgs e) Qx qx = new Qx(); if (this.Qxbh = -1) lblgxmassage.Text = 请选择编辑项!; else qx.Qxbh = this.Qxbh; qx.Qxmc = txtbqxmcgx.Text; qx.Qxurl = txtbqxurlgx.Te

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论