1、广东信息工程职业学院 毕业论文(设计) 商品管理系统(销售)专 业: 班 级: 姓 名: 学 号: 指导老师: 5月3日目 录摘 要I1概述11.1引言11.2研究背景11.3研究意义11.4 SQL Server 介绍21.5 ASP.NET介绍22分析关键技术42.1现行业务介绍42.2新系统业务步骤图42.3可行性分析52.3.1技术可行性52.3.2经济可行性63数据库设计73.1数据字典73.1.1数据元素卡73.1.2数据流卡93.1.3数据处理流卡103.1.4数据存放卡113.2数据流图124系统设计174.1系统结构设计174.1.1系统结构图174.1.2系统模块图175
2、系统具体设计225.1关键模块介绍225.1.1商品入库模块225.1.2供给商查询模块245.1.3商品查询模块265.1.4商品销售模块27总 结30参考文件31致 谢32摘 要商品信息管理系统是经典信息管理系统(MIS),其开发关键包含后台数据库建立和维护和应用程序开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好数据库,而对于后者则要求应用程序功效完备,操作简单等。本系统是在分析了现行商品管理中存在问题基础上,结合信息管理系统开发概念、结构及系统开发基础原理和方法,开发一套商品信息管理系统。依据实际情况,由现在各功效需求和企业里情况而设计这套系统。关键词:信息管理系统.
3、系统开发 .商品销售1概述1.1引言伴随现代科学技术迅猛发展,计算机技术已经渗透到各个领域,成为各行业必不可少工具,尤其是Internet技术推广和信息高速公路建立,使IT产业在市场竞争中越来越显示出其独特优势,步入数字时代。而面对市场各企业管理,高效处理企业中管理问题在适应市场发展中突显出尤为关键作用。产品销售管理在现代企业经营管理中占据着关键地位,一个企业产品销售管理水平几乎决定着企业经济命脉。企业全部功效、信息、组织管理方面全部是一个集成整体各个部分。管理信息系统(MIS)是企业CIMS工程中一个分支,产品销售管理系统是企业MIS建设中关键组成部分。1.2研究背景信息管理系统(MIS)是
4、一个由人和计算机等组成能够提供信息以支持一个组织机构内部作业、管理、分析和决议职能系统。信息管理系统利用计算机硬件和软件,手工规程、分析、计划、控制和决议用模型,和数据库对信息进行搜集、传输、加工、保留、维护和使用。所以信息管理系统是一个信息处理系统。信息管理系统作为各项业务、技术、工作自动化及高水平管理方法和模式,正在得到越来越广泛应用。早期信息管理系统通常是以各单位为主体,独自进行开发和应用。从技术上看,大致是以局域网或用户机/服务器模式组成应用系统平台,在操作系统和数据库管理系统平台上开发应用软件系统。不过,因为技术发展和进步和应用、管理和数据共享需要等很多原因,把分散开发且分布在各个地
5、域独立管理信息系统相互连接起来,实现系统硬件、系统软件、应用软件及数据共享,已经成为越来越迫切任务。1.3研究意义当今社会是一个信息社会,信息已成为继劳动力、土地、资本以后又一大资源。谁控制信息越多,谁利用信息资源效率越高,谁就会在各方面竞争中占有一席之地,谁就会有更多优势。商品销售管理信息系统是一个销售单位不可缺乏部分,它内容对于企业决议者和管理者来说全部至关关键,所以商品信息管理系统应该能够为用户提供充足信息和快捷查询手段。但现在还有部分小型企业仍使用传统人工方法管理,这种管理方法存在着很多缺点,如:效率低、保密性差,另外时间长了,将产生大量文件和数据,这对于查找、更新和维护全部带来了很多
6、困难。伴随科学技术不停提升,计算机科学日渐成熟,她强大功效早已为大家所知晓,它已进入人类社会各个领域并发挥着越来越关键作用。计算机业飞速发展,技术淘汰指标高得惊人,价格下降和软件应用快速扩展引发了以信息处理计算机化为标志“微机革命”。 微型计算机出现和普及,为信息处理提供了物美价廉手段,对于推进信息管理系统使用起到了关键作用。使用计算机对商品信息进行管理,含有手工管理所无法比拟优点。比如:检索快速、查找方便、可靠性高、存放量大、保密性好、使用时间长、成本低等。这些优点能够极大地提升商品信息管理效率,也是企业科学化、正规化管理及和世界接轨关键条件。1.4 SQL Server 介绍SQL Ser
7、ver 在Microsoft数据平台上公布,能够组织管理任何数据。能够将结构化、半结构化和非结构化文档数据直接存放到数据库中。能够对数据进行查询、搜索、同时、汇报和分析之类操作。数据能够存放在多种设备上,从数据中心最大服务器一直到桌面计算机和移动设备,它全部能够控制数据而不用管数据存放在哪里。SQL Server 许可使用 Microsoft .NET 和Visual Studio开发自定义应用程序中使用数据,在面向服务架构(SOA)和经过 Microsoft BizTalk Server 进行业务步骤中使用数据。信息工作人员能够经过日常使用工具直接访问数据。1.5 ASP.NET介绍ASP.
8、NET是一个建立在通用语言上程序构架。一个已编译、基于.NET环境, 把基于通用语言程序在服务器上运行。将程序在服务器端首次运行时进行编译,比ASP即时解释程序速度上要快很多。微软企业公布了包含Visual Basic.NET、C#.NET、Visual C+.NET等和.NET兼容语言来创作应用程序。ASP.NET是在服务器上运行编译好公共语言运行库代码,它可利用早期绑定、实时编译、本机优化和盒外缓存服务。这相当于在编写代码行之前便显著提升了性能。2分析关键技术2.1现行业务介绍该企业是从事商品销售单位,采购科进行商品采购,采购完成后,将所采购来货物及采购清单一并交给库管员,库管员进行审核入
9、库并将信息写入商品信息册中。商品销售时,销售员开出用户需要货物清单,将该清单交给库管员,库管员依据该清单上写明货物从仓库中取出交给销售人员,同时将销售统计写入统计册中。采购科将供给商信息交给管理员,管理员将供给商基础信息统计在供给商统计册中。划价员依据经理指示对商品进行定价并商品定价写入商品价格表中。这些全部是手工操作,十分烦琐,而且轻易犯错,犯错后不便查找纠正。因为信息量巨大,所以具体信息极难进行查询。时间长了会形成大量书面文档,不易保留。2.2新系统业务步骤图为了愈加合理利用现有人力、财力和设备,充足利用计算机带来便利,计划出新系统业务步骤图以下:图2-2 新系统业务步骤图2.3可行性分析
10、2.3.1技术可行性ASP .NET前身ASP技术,是在IIS2.0上首次推出(Windows NT 3.51),当初和 ADO 1.0 一起推出,在IIS 3.0 (Windows NT 4.0)发扬光大,成为服务器端应用程序热门开发工具,ASP技术已经成为微软推展Windows NT 4.0平台关键技术之一,数以万计ASP网站也是这个时候开始如雨后春笋般出现在网络上。它简单和高度可定制化能力,也是它能快速崛起原因。数据库采取是SQL Server , SQL Server 在Microsoft数据平台上公布,能够组织管理任何数据。能够将结构化、半结构化和非结构化文档数据直接存放到数据库中。
11、能够对数据进行查询、搜索、同时、汇报和分析之类操作。数据能够存放在多种设备上,从数据中心最大服务器一直到桌面计算机和移动设备,它全部能够控制数据而不用管数据存放在哪里。2.3.2经济可行性关键是只指算一个新系统开发所需要投资费用和运算费用,并和估量新系统收益进行比较,看是否有利。本系统所需软硬件成本比较低,投资小,含有一定经过性,所以 ,在经济上是可行。3数据库设计3.1数据字典3.1.1数据元素卡名称:商品代码 编号:A001所属数据流:F1、F2、F4、F7、F8、F10所属存放:D0、D1、D2、D4、D5、D7、D8数据类型:字符型名称:商品名称 编号:A002所属数据流:F1、F2、
12、F4、F7、F8、F10所属存放:D0、D1、D2、D4、D5、D7、D8数据类型:字符型名称:销售日期 编号:A003所属数据流:F2、F8、F10所属存放:D2、D5、D8数据类型:日期型名称:销售单价 编号:A004所属数据流:F2、F8、F10所属存放:D2、D5、D8数据类型:数值型名称:销售数量 编号:A005所属数据流:F2、F8、F10所属存放:D2、D5、D8数据类型:数值型名称:折扣 编号:A006所属数据流:F2、F8、F10所属存放:D2、D5、D8数据类型:字符型名称:小计 编号:A007所属数据流:F2、F8、F10所属存放:D2、D5、D8数据类型:字符型名称:供
13、给商编号 编号:A008所属数据流:F1、F2、F3所属存放:D 1、D2、D3数据类型:字符型名称:供给商名称 编号:A009所属数据流:F3、F9、F10所属存放:D 1、D2、D3数据类型:字符型名称:商品进价 编号:A010所属数据流:F1、F2、F4、F7、F8、F10 所属存放:D0、D1、D2、D4、D5、D7、D8数据类型:数值型名称:商品售价 编号:A011所属数据流:F1、F2、F4、F7、F8、F10 所属存放:D0、D1、D2、D4、D5、D7、D8数据类型:数值型名称:进货日期 编号:A012所属数据流:F1、F2、F4、F7、F8、F10 所属存放:D0、D1、D2
14、、D4、D5、D7、D8数据类型:日期型名称:库存量 编号:A013所属数据流:F1、F2、F4、F7、F8、F10 所属存放:D0、D1、D2、D4、D5、D7、D8数据类型:数值型名称:备注 编号:A014所属数据流:F1、F2、F4、F7、F8、F10 所属存放:D0、D1、D2、D4、D5、D7、D8数据类型:备注型名称:责任人 编号:A015所属数据流:F1、F2、F3所属存放:D 1、D2、D3数据类型:字符型名称:联络地址 编号:A016所属数据流:F1、F2、F3所属存放:D 1、D2、D3数据类型:字符型名称:联络电话 编号:A017所属数据流:F1、F2、F3所属存放:D
15、1、D2、D3数据类型:数值型3.1.2数据流卡名称:入库登记卡 编号:F1起源:外部实体“采购科”去向:处理“登记入库信息”(P2.1)数据结构:商品编号 商品名称 进货日期 进货单价 销售价格名称:入库登记卡 编号:F2起源:外部实体“采购科”去向:处理“登记入库信息”(P2.1)数据结构:商品编号 商品名称 进货日期 进货单价 销售价格名称:入库登记卡 编号:F3起源:外部实体“采购科”去向:处理“登记入库信息”(P2.1)数据结构:商品编号 商品名称 进货日期 进货单价 销售价格名称:入库登记卡 编号:F4起源:外部实体“采购科”去向:处理“登记入库信息”(P2.1)数据结构:商品编号
16、 商品名称 进货日期 进货单价 销售价格名称:入库登记卡 编号:F5起源:外部实体“采购科”去向:处理“登记入库信息”(P2.1)数据结构:商品编号 商品名称 进货日期 进货单价 销售价格名称:入库登记卡 编号:F6起源:外部实体“采购科”去向:处理“登记入库信息”(P2.1)数据结构:商品编号 商品名称 进货日期 进货单价 销售价格名称:入库登记卡 编号:F7起源:外部实体“采购科”去向:处理“登记入库信息”(P2.1)数据结构:商品编号 商品名称 进货日期 进货单价 销售价格名称:入库登记卡 编号:F8起源:外部实体“采购科”去向:处理“登记入库信息”(P2.1)数据结构:商品编号 商品名
17、称 进货日期 进货单价 销售价格名称:入库登记卡 编号:F9起源:外部实体“采购科”去向:处理“登记入库信息”(P2.1)数据结构:商品编号 商品名称 进货日期 进货单价 销售价格名称:入库登记卡 编号:F10起源:外部实体“采购科”去向:处理“登记入库信息”(P2.1)数据结构:商品编号 商品名称 进货日期 进货单价 销售价格3.1.3数据处理流卡名称:登记商品入库信息 编号:P1.1输入: F1输出: D1处理:将数据流“商品清单”中信息用键盘录入,数据存放“商品信息”中。名称:销售商品信息 编号:P1.2输入: F2输出: D2处理:将数据流“销售清单”中准备销售商品信息用键盘录入,数据
18、存放“商品销售统计”中。名称:供给商信息 编号:P1.3输入: F3输出: D3处理:将数据流“供给商信息”中供给商信息用键盘录入,数据存放“供给商”中。名称:价格变动 编号:P1.4输入: F4输出: D4处理:将数据流“价格变动通知”中价格信息用键盘录入,数据存放“商品基础信息”中。3.1.4数据存放卡名称:商品销售代码:B-001相关处理:商品销售入库(P1),商品信息查询(P5),打印报表(P4)数据结构:字段名字段类型宽度取值范围商品编号字符6销售日期数值8销售单价数值5销售数量数值5折扣数值30-1小计字符9名称:商品销售统计代码:B-002相关处理:商品销售入库(P1),商品信息
19、查询(P5),打印报表(P4)数据结构:字段名字段类型宽度取值范围商品编号字符6销售日期数值8销售单价数值5销售数量数值5折扣数值30-1累计字符8名称:商品信息代码:B-003相关处理:商品销售入库(P1),商品信息查询(P5),打印报表(P4)数据结构:字段名字段类型宽度取值范围商品编号字符6商品名称字符30供给商名称字符30供给商编号字符6商品进价数值70-99999.99商品售价数值70-99999.99进货日期日期8库存量数值50-99999备注备注备注名称:供给商信息代码:B-004相关处理:商品销售入库(P1),商品信息查询(P5),打印报表(P4)数据结构:字段名字段类型宽度取
20、值范围供给商名称字符6供给商编号字符30责任人字符10联络电话数值13联络地址字符30备注备注备注3.2数据流图新系统数据流图以下:图3-1商品类别设置步骤图图3-2商品信息维护步骤图图3-3商品进货管理步骤图图3-4 ER图图3-5 用户信息实体属性图图3-6 商品信息实体属性图图3-7 销售信息实体属性图4系统设计4.1系统结构设计4.1.1系统结构图图4-1 系统功效结构图4.1.2系统模块图经过对用户需求分析,我们能够分析出该商品销售管理大致能够分为四个模块:商品基础信息模块、供给商信息模块、商品价格变动模块、报表打印模块。现在对这四个模块做具体说明:模块IPO图系统名称:商品销售管理
21、系统模块名称:录入商品信息模块代码: D-001调用模块:无被调用模块:商品信息数据录入输入:数据流“商品入库清单单”输出:数据库表“商品基础信息表处理:1)打开数据库表“商品基础信息表”。2)依据输入设计“商品基础信息表”输入格式,显示“商品基础信息表”格式。3)接收输入数据并校验。4)提醒操作人员确定,确定后将数据写入数据库表“商品基础信息表”。5)关闭数据库,结束操作。商品入库模块模块IPO图系统名称:商品销售管理系统模块名称:商品出售模块代码: D-002调用模块:无被调用模块:商品变动数据录入输入:数据流“商品销售信息表输出:数据库表“商品销售统计处理: 1) 打开数据库表“销售统计
22、表。 2)依据输入设计“销售统计表”输入格式,显示“销售统计表”格式。 3)接收输入数据并校验。 4)提醒操作人员确定,确定后将数据写入数据库表“销售统计表”。 5)关闭数据库,结束操作。商品销售模块模块IPO图系统名称:商品销售管理系统模块名称:供给商信息录入模块代码: D-003调用模块:无被调用模块:供给商数据录入输入:数据流“供给商信息表”输出:数据库表“供给商信息表”处理: 1) 打开数据库表“供给商信息表”。2) 依据输入设计“供给商信息表”输入格式,显示“供给商信息表”格式。3) 接收输入数据并校验。4) 提醒操作人员确定,确定后将数据写入数据库表“供给商信息表”。5) 关闭数据
23、库,结束操作。供给商信息录入模块模块IPO图系统名称:商品销售管理系统模块名称:价格变动数据录入模块代码: D-004调用模块:无被调用模块:商品价格数据录入输入:数据流“价格变动表”输出:数据库表“商品基础信息表”处理: 1) 打开数据库表“商品基础信息表”。2) 依据输入设计“商品基础信息表”输入格式,显示“商品基础信息表”格式。3) 接收输入数据并校验。4) 提醒操作人员确定,确定后将数据写入数据库表“商品基础信息表”。5) 关闭数据库,结束操作。价格变动模块模块IPO图系统名称:商品销售管理系统模块名称:商品信息查询模块模块代码: D-005调用模块:无被调用模块:信息查询输入:数据流
24、“商品基础信息表”输出:数据库表“商品基础信息表”处理: 1) 打开数据库表“商品基础信息表” 2) 依据输入设计“商品基础信息表”输入格式,显示“商品基础信息表”格式。 3) 接收输入查询数据依据并校验。 4) 提醒操作人员确定,确定后将显示查询结果。 5) 关闭数据库,结束操作。商品信息查询模块模块IPO图系统名称:商品销售管理系统模块名称:供给商信息查询模块模块代码: D-006调用模块:无被调用模块:供给商查询输入:数据流“供给商信息表”输出:数据库表“供给商信息表”处理: 1) 打开数据库表“供给商信息表”。2) 依据输入设计“供给商信息表”输入格式,显示“供给商信息表”格式。3)
25、接收输入查询数据依据并校验。4) 提醒操作人员确定,确定后将显示查询结果。5) 关闭数据库,结束操作。供给商查询模块模块IPO图系统名称:商品销售管理系统模块名称:打印商品信息模块模块代码: D-007调用模块:无被调用模块:报表打印输入:数据处理D7输出:数据流F7处理: 1) 打开数据库表“商品信息表”。 2) 预览并打印“商品基础信息报表”。 3) 关闭数据库,结束操作。商品信息打印模块模块IPO图系统名称:商品销售管理系统系统名称: 打印商品销售模块模块代码: D-008模块名称:无被调用模块:报表打印输入:数据处理D7输出:数据流F7处理: 1) 打开数据库表“商品信息表”。 2)
26、预览并打印“商品基础信息报表”。 3) 关闭数据库,结束操作。商品销售信息报表5 系统具体设计5.1关键模块介绍 关键模块有商品入库模块, 供给商查询模块, 商品查询模块. 商品销售模块四大模块。5.1.1商品入库模块 图5.1商品入库界面a.添加按钮实现代码:if this.caption=添加 this.caption=保留 this.parent.tag=str(recn() thisform.txt商品编号.enabled=.t. thisform.txt商品名称.enabled=.t. thisform.txt商品进价.enabled=.t. thisform.txt商品售价.ena
27、bled=.t. thisform.txt供给商编号.enabled=.t. thisform.txt供给商名称.enabled=.t. thisform.txt进货日期.enabled=.t. thisform.txt库存量.enabled=.t. thisform.txt备注.enabled=.t. append blank mand2.enabled=.t. else this.caption=添加 thisform.txt商品编号.enabled=.f. thisform.txt商品名称.enabled=.f. thisform.txt商品进价.enabled=.f.thisform.
28、txt商品售价.enabled=.f. thisform.txt供给商编号.enabled=.f. thisform.txt供给商名称enabled=.f. thisform.txt进货日期.enabled=.f. thisform.txt库存量.enabled=.f. thisform.txt备注.enabled=.f. mand2.enabled=.f.endif thisform.refresh b.取消按钮代码:if messagebox(确定取消么,4+32,系统提醒)=6 select shangpin tablerevert(.f.) if eof() .and. bof() .
29、or. reccount()=0 thisform.init else if eof() skip-1 else skip endifendifendif mand1.caption=添加 thisform.refresh添加供给商代码商品入库代码相同。5.1.2供给商查询模块 图5.2供给商查询界面 a 单选按钮组代码实现: do case case this.value=1 &按供给商编号查询 thisform.text1.enabled=.t. thisform.text2.enabled=.f. thisform.text3.enabled=.f. thisform.text1.val
30、ue= thisform.text2.value= thisform.text3.value= thisform.text1.setfocus thisform.grid1.refresh case this.value=2 &按供给商名称号查询 thisform.text1.enabled=.f. thisform.text2.enabled=.t.thisform.text3.enabled=.f. thisform.text1.value= thisform.text2.value= thisform.text3.value= thisform.text2.setfocus thisfo
31、rm.grid1.refresh case this.value=3 &按供给商责任人查询 thisform.text1.enabled=.f. thisform.text2.enabled=.f. thisform.text3.enabled=.t. thisform.text1.value= thisform.text2.value= thisform.text3.value= thisform.text3.setfocus thisform.grid1.refresh endcase thisform.refresh b. 按供给商编号查询text1valid代码以下(本页其它查询方法代
32、码和此相同) select gongyingshang set filter to 供给商编号=alltrim(thisform.text1.value) thisform.grid1.refresh 5.1.3商品查询模块图5.3商品查询界面a. 按日期查询按钮代码以下: select shangpin public qsrq,jzrq qsrq=thisform.text3.value jzrq=thisform.text4.value do case case not empty(qsrq) and empty(jzrq) set filter to 进货日期=qsrq case emp
33、ty(qsrq) and not empty(jzrq) set filter to 进货日期=qsrq and 进货日期=jzrq otherwise messagebox(未输入查询商品进货日期!,提醒)endcasethisform.grid1.refresh b.按商品编号查询text1(valid)实现代码以下:(其它查询方法和这类似) select shangpin set filter to 商品编号=alltrim(thisform.text1.value) thisform.grid1.refresh 5.1.4商品销售模块 图5.4商品销售界面其中商品编号、销售数量和交款由
34、操作人员输入,其它各数据由系统自动输出或计算。 应收款小计text代码为: thisform.text5.value=thisform.text2.value*thisform.text3.value* thisform.text4.value 交款text代码为: thisform.text8.value= thisform.text7.value-thisform.text5.value 确定按钮(click)代码为:sele xiaoshou append blank replace 商品编号 with thisform.text1.value replace 销售数量 with thi
35、sform.text4.value replace 销售单价 with thisform.text2.value replace 折扣 with thisform.text3.value replace 小计 with thisform.text5.value replace 销售日期 with date()sele xiaoshoujilu append blank replace 商品编号 with thisform.text1.value replace 销售数量 with thisform.text4.value replace 销售单价 with thisform.text2.val
36、ue replace 折扣 with thisform.text3.value replace 累计 with thisform.text5.value replace 销售日期 with date()sele shangpin replace 库存量 with 库存量 - thisform.text4.value if 库存量 1 messagebox(库存量小于 1 !,48,存量不足,请进货!) endif select xiaoshoujiluthisform.text1.value=thisform.text2.value= thisform.text5.value=0 thisfo
37、rm.text6.value= thisform.text1.setfocus() this.enabled =.f. thisform.refresh 说明:当操作员输完全部数据,点击“确定”按钮时,系统自动将相关统计添加到“销售统计表”中,如该商品库存为空,此时系统自动提醒“库存量小于1,存量不足,请进货! 总 结在系统制作过程中,以前学习感到很抽象课程,像ASP.NET等逐步变得清楚起来。逐步感觉到这几门理论课程关键性。在学习ASP.NET及SQL Server 时候,也对应做部分应用系统程序练习,不过这些练习不够系统,随意性大,想到那里做到那里,没有统一计划,没有形成一个完整指导文档,
38、一旦系统成型,出现错误时返工修改工作量较大,最终造成系统可靠性不高,难以实用。 这次毕业设计开发,让我深切体会到ASP.NET是系统开发过程中十分关键一部分,她能够在系统开发早期就能让用户了解系统概貌,而且能使系统开发模块化,提升开发效率,降低犯错。对于后期系统维护也提供了很大方便。经过实践,提升了系统分析能力,对数据流图、数据字典、系统步骤图等系统设计工具使用有了愈加深刻认识。开始很陌生程序设计开始逐步熟悉起来,为以后工作、学习深入提升打下了坚实基础。参考文件1. 丁桂芝,张臻.ASP.NET动态网站设计和实现.北京:中国铁道出版社,2. 软件开发技术联盟. ASP.NET开发实战. 北京:
39、清华大学出版社,3. 王硕,计算机网络教程,北京:人民邮电出版社,4. 蒋金楠. ASP.NET MVC4框架揭秘.北京:电子工业出版社,5. 秦婧.SQL Server 王者归来.北京:清华大学出版社,6. 范新刚,谭海中SQL Server项目实训教程. 北京:北京交通大学出版社,致 谢三年求学生涯立即结束,在这三年内我得到了很多人关心和帮助,没有她们关心和帮助我极难准期、顺利地完成学业。首先感谢刘钟凌老师。在此次毕业设计中,我从刘老师身上学到了很多东西。刘钟凌老师认真负责工作和教学态度,严谨治学精神和深厚理论水平一直全部是让我深深敬佩和敬仰。不管在理论上还是在实践中,全部给我很大帮助,使我取得很大提升