毕业设计(论文)-超市进销存管理系统设计.doc

上传人:西安人 文档编号:3280824 上传时间:2019-08-07 格式:DOC 页数:47 大小:786.52KB
返回 下载 相关 举报
毕业设计(论文)-超市进销存管理系统设计.doc_第1页
第1页 / 共47页
毕业设计(论文)-超市进销存管理系统设计.doc_第2页
第2页 / 共47页
毕业设计(论文)-超市进销存管理系统设计.doc_第3页
第3页 / 共47页
毕业设计(论文)-超市进销存管理系统设计.doc_第4页
第4页 / 共47页
毕业设计(论文)-超市进销存管理系统设计.doc_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《毕业设计(论文)-超市进销存管理系统设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-超市进销存管理系统设计.doc(47页珍藏版)》请在三一文库上搜索。

1、摘 要超市进销存管理系统是目前应用于公司或是企业进销存管理系统中的典型代表,涉及到了商品或货物管理中主要的6个方面,即进货、销售、钱流、库存、统计及查账。通过一个典型超市进销存管理系统的例子,介绍了现代企业进销存管理信息化的一般解决方案,其重要性不言而喻。但是,目前超市在具体的业务流程处理过程中仍然使用手工操作的方式来实施,不仅费时、费力、效率低下,而且无法达到理想的效果。本系统是根据企业的特点,集进、销、存于一体,为企业量身定做的进销存管理软件。在设计过程中最大限度满足用户的要求,因此,该系统具有较强的实用性和针对性。本系统界面友好,操作简单,可维护性强,功能完备。本论文介绍了进销存管理信息

2、系统开发的全过程,详细介绍了系统的分析、系统的开发与设计说明等内容,最后给出了系统的使用说明和系统设计的心得体会。关键词:超市进销存管理,数据库,统计PURCHASE, SALES AND INVENTORY MANAGEMENTSYSTEM SUPERMARKETAbstract Purchase, Sales and Inventory Management System supermarket is used in companies or enterprises in the Purchase, Sales and Inventory Management System for a t

3、ypical representative of, relating to the goods or goods of the management of six major areas, namely, purchase, sale, money flow, inventories, statistics and auditing . Supermarkets, through a typical example of Invoicing Management System, introduced the modern enterprise management information In

4、voicing solution of the general, the importance of self-evident. However, the supermarket business processes in specific processing still using manual methods to implement, not only time-consuming, laborious, inefficient, and can not achieve the desired results. The system is based on the characteri

5、stics of enterprises, set forward, sell, stored in one Invoicing tailored for the enterprise management software. During the design process to maximize the users requirements to meet, so that the system has strong practical and targeted. The system user-friendly, simple operation, maintenance, and f

6、unctions. This paper describes the development of Purchase, Sales and Inventory Management Information System of the whole process of detailed system analysis, system development and design notes, etc.,and finally gives the system description and system design experiences.KEY WORDS: The supermarket

7、enters sells saves the management ,database ,statistics目录摘 要IAbstractII第一章 引言11.1问题的提出11. 2课题的研究目的21. 3课题的研究意义2第二章 系统分析32.1 需求分析32.2 可行性分析3第三章 总体设计53.1 项目规划53. 2 数据库设计6第四章 系统设计94.1 设计目标94.2 开发及运行环境94.3 逻辑结构设计9第五章 主要功能模块设计175.1 主窗体设计175.2 基础窗体创建205.3 数据模块设计215.4 库存商品模块设计235.5 商品基本信息模块设计275.6 进货单录入模块设

8、计29总结33参考文献34致谢36外文原文36中文翻译40 第一章 引言超市进销存管理系统是超市商品销售及货物管理的主要控制部分,直接影响销售的方便性及管理的规范性。随着信息时代的发展,对效率的要求日益提高,企业经营涉及进、销、存多个环节,涉及商品种类繁多,业务量大,库存管理复杂,使用手工管理已无法胜任,因而软件控制销售和管理已经取代了传统全手工方式。如何采用先进的计算机系统管理进货、库存、销售等诸多环节也已成为趋势及必然。超市具有自身的特点:商品要求一般齐全,进出货关系较为简单,员工人数种类不多;在软件角度看,数据较少,对存储和速度要求不高。但正由于员工较少,使用软件控制成为必须。1.1 问

9、题的提出目前,大量的中小超市企业中,存在这样的现象:分散的、不连贯的进销存信息使超市管理者或相关管理人员无法看到进销存的全部资料及相关报表,信息的分散使得产生的结果也无法保持一致和完整性,造成中小超市在进销存管理上存在如下问题:无法统计销售信息?无法准确全面掌握各业务进展状态?对销售人员工作过程掌握不够?业务人员对产品没有一定认识?销售及市场流程不清晰,流程变动较大?对市场信息、竞争的资讯掌握程度较不完善?无结构统一销售及市场情况报表?基本销售及市场费用统计较不完备?销售人员辞职时失单现象严重?等等。加之,现在顾客的期望值越来越高,顾客需要更好的服务(产品及个性化服务)。企业的竞争已逐渐从产品

10、的竞争转变为服务的竞争,因此中小企业要发展就必须需要进一步优化业务流程以提高企业竞争能力。因此,加强超市进销存管理是企业发展的必然,通过计算机来大量完成本来由工作人员手工完成的工作,真正达到合理和充分利用现有资源,减轻工作压力。1.2 课题的研究目的研究该课题是为了通过对“超市进销存管理系统”的设计与实现,熟悉这类的信息管理系统的开发原理及流程。在设计过程,能够深入地理解面向对象设计方法的优越性,获得这些方面的相关经验。对一个即将毕业的计算机专业本科生来说,又想在软件行业领域里有所发展,研究并应用面向对象设计方法是百益无一害的,可以使其走向社会后能够快速地适应行业需求。这正是本次设计的根本目的

11、所在。1.3 课题的研究意义首先,该课题属于管理信息系统范畴。而管理信息系统(Management Information System,简称MIS)在现代社会已深入到各行各业,是一个不断发展的新学科,是由人和计算机设备或其他信息处理手段组成并用于管理信息的系统。再加上行业信息化的热潮才刚刚开始,特别是中小型企业的信息化建设步伐刚刚迈出第一步。管理信息系统的开发的市场将是非常庞大的。这种需求对开发人员在数量上和素质上的要求也是非常迫切的。为了满足市场的需求以及能在竞争中取胜,系统设计人员就不仅仅是单纯地满足用户对功能的要求,还要从设计方法上来加以改进。 其次,面向对象方法是一种非常实用的软件开

12、发方法,它一出现就受到软件技术人员的青睐,现在已经成为计算机科学研究的一个重要领域,并逐渐成为软件开发的一种主要方法。面向对象的程序设计将数据及对数据的操作方法封装在一起,作为一个互相依存、不可分离的整体。采用这种方法来设计系统,可以增加系统的安全性。同时通过继承与多态性,使程序具有很高的可重用性,使软件的开发和维护带来了方便。由于面向对象方法的突出优点,它才被广大用户所爱好。第二章 系统分析2.1 需求分析经过对系统的业务流程和系统数据流程的调查,用户对系统的功能需求如下:要求此管理软件将对库存产品进行资料管理和统计,对产品的进货单和产品的销售单进行录入管理和统计;要求此管理软件将根据用户的

13、需要对进货、销售、库存情况进行查询,并能提供库存短缺预警功能;要求此管理软件将为用户提供账号管理工具,以便用户对账号进行管理,具体为添加用户、删除用户、修改用户密码;要求此管理软件提供企业人员管理,能够对企业员工的分类管理,新员工的加入以及员工删除,修改基本信息等功能;要求此管理软件提供数据信息的备份和还原功能。对这些功能需求进行分类,主要包含有以下几种:进货管理模块、库存管理模块、销售管理模块、员工管理模块和系统模块。除上述功能外,系统还需要有以下功能:要有良好的人机界面,并提供换肤功能。支持多人操作,要求有较好的权限分配功能。在进货、退货时存在一对多的关系,要求支持多行录入功能。为了方便用

14、户查询,要求支持多条件查询。对于每种商品要求编号惟一,编号需要自动生成。支持多种报表打印。支持账目的详细内容浏览。2.2 可行性分析开发任何一个基于计算机的系统,都会受到时间和资源上的限制。因此,在接受任何一个项目开发任务之前,必须根据客户可能提供的时间和资源条件进行可行性分析,以减少项目开发风险,避免人力、物力和财力的浪费。本系统数据库采用目前比较流行的Microsoft SQL Server,该数据库系统在安全性、准确性、运行速度方面有绝对的优势,并且处理数据库量大,效率高;开发工具采用Delphi7,Delphi7是目前应用最广泛的数据库系统开发工具,可以快速开发Windows应用程序。

15、第三章 总体设计3.1 项目规划超市进销存管理系统是一个典型的数据库应用程序,由登录模块、主界面、基本信息模块、进货管理和销售管理模块、钱流管理模块、库存管理模块、查账模块、统计分析模块、系统维护模块等组成。特规划功能模块如下:q 基本信息模块基本信息模块主要实现库存商品、内部职员、往来单位、费用类型等的管理。q 进货管理模块进货管理模块主要管理超市商品进货及退货信息,支持多行录入。q 销售管理模块销售管理模块主要管理超市商品销售及退货信息,支持多行录入。q 钱流管理模块钱流管理模块主要实现往来账目的录入和账目的详细信息浏览等功能。q 库存管理模块库存管理模块主要实现库存货品浏览、库存盘点、库

16、存报警等功能。q 统计分析模块统计分析模块主要实现进货统计分析、销售统计分析和成本分析等功能。q 查账模块查账模块主要实现与供应商、代理商对账、费用支出、应收应付等功能。q 系统维护模块系统维护模块的主要实现本单位管理、操作员设置、数据的备份和还原等功能。根据项目规划,可画出超市进销存管理系统的功能框图,如图3-1所示。图3-1 系统功能模块图3.2数据库设计本系统根据上面的设计规划出的主要实体有职员信息、进货、用户、费用、收款、进货退货。各个实体的E-R图分别如图3-2至图3-7所示。 图3-2 职员信息的E-R图 图3-3 进货的E-R图 图3-4用户的E-R图 图3-5费用的E-R图 图

17、3-6 进货退货的E-R图 图3-7收款的E-R图实体与实体之间关系的E-R图,如图3-8所示。 图3-8 实体之间的E-R图第四章 系统设计4.1 设计目标根据超市的需求和进销存管理的特点,该系统实施后,应达到以下目标:q 支持多行输入,自动生成编号。q 界面美观友好、信息查询灵活、方便、快捷、准确。q 强大的库存预警功能,在意外中将损失降到最低。q 提高工作效率,降低成本。q 往来账目详细浏览。q 图形化数据分析。q 对用户输入的数据进行过滤,当输入有误时提示用户。q 数据保密性强,用户对应不同的操作级别。q 系统最大限度地实现了易安装性、易维护性和易操作性。q 直接调用Word、Exce

18、l软件。q 系统运行稳定、安全可靠。4.2 开发及运行环境系统开发平台:Delphi 7.0。数据库管理系统软件:SQL Server 2000。运行平台:Windows xp/ Windows 2000。分辨率:最佳效果1024*768。4.3 逻辑结构设计本系统数据库采用SQL Server 2000数据库,数据库名称为“db_EMS”。数据库db_EMS中包含18个表。各个数据表的结构如下所示。(1)职员信息表(tb_employ)职员信息表用来保存职员信息。职员信息表的结构如表4-1所示。表4-1 职员信息表结构字段名称字段类型字段大小主键否功能描述employecodeVarchar

19、6职员编号fullnameVarchar20是职员全称nameVarchar20职员简称sexVarchar2性别departmentVarchar20所在部门telVarchar20联系电话memoVarchar40备注shortcodeVarchar10拼音简码(2)进货主表(tb_warehouse_main)进货主表用来保存进货中主要和相同的信息。进货主表的结构如表4-2所示。表4-2 进货主表结构字段名称字段类型字段大小主键否功能描述Billdatedatetime8录单日期Billcodevarchar20是单据编号Unitsvarchar20供货单位Handlevarchar20

20、经手人Summaryvarchar100摘要Fullpaymentfloat8应付金额Paymentfloat8实付金额(3)进货明细表(tb_warehouse_detailed)进货明细表用来保存进货中商品的详细信息。进货明细表结构如表4-3所示。表4-3 进货明细表结构字段名称字段类型字段大小主键否功能描述billcodeVarchar20单据编号tradecodeVarchar20商品编号fullnameVarchar20商品全称typeVarchar10商品型号standardVarchar10商品规格unitChar4单位produceVarchar20产地qtyFloat8数量p

21、riceFloat8进价tsumFloat8金额billdateDatetime8录单日期(4)用户权限表(tb_power)用户权限表用来保存用户权限设置信息。用户权限表结构如表4-4所示。表4-4 用户权限表结构字段名称字段类型字段大小主键否功能描述numberVarchar20是用户编号usersVarchar20用户名称passwordVarchar20用户密码stockBit1进货管理venditionBit1销售管理checkedBit1库存管理moneyBit1钱流管理systemBit1系统维护baseBit1基本信息(5)费用表(tb_cf)费用表用于记录费用信息。费用表结构

22、如表4-5所示。表4-5 费用表结构字段名称字段类型字段大小主键否功能描述billdatedatetime8录单日期billcodevarchar20单据编号unitsvarchar20收款单位numbervarchar20费用项目编号namevarchar20费用项目名称handlevarchar20经手人fullpaymentvarchar20应付金额paymentfloat8实付金额(6)往来账明细表(tb_currentaccount)往来账明细表用于记录往来单位的应收、应付账目。往来账明细表结构如表4-6所示。表4-6 往来账明细表结构字段名称字段类型字段大小主键否功能描述billd

23、atedatetime8录单日期billcodevarchar20是单据编号unitsvarhcar20往来单位addgatheringfloat8应收增加reducegatheringfloat8应收减少balancefloat8应收余额summaryvarchar100摘要(7)费用类型表(tb_freetype)费用类型表用于存储费用类型信息。费用类型表表结构如表4-7所示。表4-7 费用类型表字段名称字段类型字段大小主键否功能描述subjectcodevarchar3科目编号fullnamevarhcar20是科目全称namevarchar10科目简称memovarhcar40备注sh

24、ortcodevarchar10拼音简码(8)收款信息表(tb_gathering)收款信息表用于保存收款信息。收款信息表结构如表4-8所示。表4-8 收款信息表结构字段名称字段类型字段大小主键否功能描述billdatedatetime8录单日期billcodevarchar20是单据编号unitsvarchar20付款单位gatheringfloat8金额handlevarchar20经手人summaryvarchar40摘要(9)付款信息表(tb_payment)付款信息表用于保存付款信息。付款表结构如表4-9所示。表4-9 付款表结构字段名称字段类型字段大小主键否功能描述billdate

25、datetime8录单日期billcodevarchar20是单据编号unitsvarchar20收款单位paymentfloat8金额handlevarchar20经手人summaryvarchar100摘要(10)销售退货明细表(tb_resell_detailed)销售退货明细表用于保存销售退货的详细信息。销售退货明细表结构如表4-10所示。表4-10 销售退货明细表结构字段名称字段类型字段大小主键否功能描述billcodeVarchar20单据编号tradecodeVarchar20商品编号FullnameVarchar20商品全名standardvarchar10商品规格typeva

26、rchar10商品型号unitchar4单位producevarchar20产地qtyfloat8数量pricefloat8单价tsumfloat8金额billdatedatetime8录单日期(11)销售退货表(tb_resell_main)销售退货表用于保存销售退货。销售退货表结构如表4-11所示。表4-11 销售退货表结构字段名数据类型长度主键否功能描述billdatedatetime录单日期billcodevarchar20是单据编号unitsvarchar20退货单位handlevarchar20经手人summaryvarchar100摘要fullpaymentfloat8应付金额p

27、aymentfloat8实付金额(12)进货退货明细表(tb_rewarehouse_detailed)进货退货明细表用于保存进货退货详细信息。进货退货明细表结构如表4-12所示。表4-12 进货退货明细表字段名数据类型长度主键否功能描述billcodevarchar20单据编号tradecodevarchar20商品编号fullnamevarchar20商品全称typevarchar10商品型号standardvarchar10商品规格unitvarchar4单位producevarchar20产地qtyfloat8数量pricefloat8进价tsumfloat8金额billdatedat

28、etime8录单日期(13)进货退货表(tb_rewarehouse_main)进货退货表用于存储进货退货中主要的和相同的信息。进货退货表结构如表4-13所示。表4-13 退货表字段名数据类型长度主键否功能描述billdatedatetime录单日期billcodevarchar20是单据编号unitsvarchar20收货单位handlevarchar20经手人summaryvarchar100摘要fullgatheringfloat8应收金额gatheringfloat8实收金额(14)销售明细表(tb_sell_detailed)销售明细表用于保存销售详细信息。销售明细表结构如表4-14

29、所示。表4-14 销售明细表字段名数据类型长度主键否功能描述billcodevarchar20单据编号tradecodevarchar20商品编号fullnamevarchar20商品全称typevarchar10商品型号standardvarchar10商品规格unitvarchar4单位producevarchar20产地qtyfloat8数量pricefloat8单价tsumfloat8金额billdatedatetime8录单日期(15)销售表(tb_sell_main)销售表用于保存销售信息中主要的和相同的信息。销售表结构如表4-15所示。表4-15 销售表结构字段名数据类型长度主键

30、否功能描述billdatevarchar20录单日期billcodevarchar20是单据编号unitsvarchar20购货单位handlevarchar20经手人summaryvarchar100摘要fullgatheringfloat8应收金额gatheringfloat8实收金额(16)库存商品信息表(tb_stock)库存商品信息表用于保存库存商品信息。库存商品表结构如表4-16所示。表4-16 库存商品表结构 字段名数据类型长度主键否功能描述tradecodevarchar6商品编号fullnamedvarchar20是商品全名namevarchar10商品简称typevarch

31、ar10商品类型standardvarchar10商品规格unitvarchar4单位producevarchar20产地qtyfloat8库存数量pricefloat8进货时的最后一次进价averagepricefloat8加权平均价salepricefloat8销售时的最后一次销价checkedfloat8盘点数量upperlimitint4存货报警上限lowerlimitint4存货报警下限provideinfvarchar40商品供货信息memovarchar40备注shortcodevarchar10拼音简码(17)本单位信息表(tb_unit)本单位信息表用于保存本单位的信息。本单

32、位信息表结构如表4-17所示。表4-17 本单位信息表结构字段名数据类型长度主键否功能描述numbervarchar20是单位编号namevarchar50单位全称simplenamevarchar10单位简称taxvarchar30税号telvarchar20单位电话linkmanvarchar10联系人addressvarchar60单位地址accountsvarchar80开户行及帐号(18)往来单位信息表(tb_units)往来单位信息表用于保存往来单位的信息。往来单位信息表结构如表4-18所示。表4-18 往来单位信息表结构字段名数据类型长度主键否功能描述unitcodevarcha

33、r5单位编号fullnamevarchar20是单位全名namevarchar10单位简称taxvarchar30税号telvarchar20单位电话linkmanvarchar10联系人addressvarchar60单位地址accountsvarchar80开户行及帐号gatheringfloat8累计应收款paymentfloat8累计应付款shortcodevarchar10拼音简码第五章 主要功能模块设计5.1 主窗体设计主窗体是程序的控制中心,其他模块都是通过主窗体来调用,所以主窗体的界面要设计的美观易操作。超市进销存管理系统主窗体运行结果如图5-1所示。图5-1 主窗体运行界面1

34、.设计步骤(1)运行Delphi会自动创建一个窗体,设置该窗体为程序主窗体,命名为“F_zct”,设置窗体的Caption属性为“超市进销存管理系统”;BorderStyle属性为“bsDialog”;KeyPreview属性为“True”。(2)在“Additional”组件页中点选“TActionManager”组件,添加到窗体上,命名为“ActionManage1”,双击该组件打开“动作编辑器”,选择“Toolbars”选项卡,单击【New】按钮添加“TActionToolBar”对象,命名为“ActionToolBar1”,如图5-2所示。 图5-2 添加TActionToolBar对

35、象(3)选择“Actions”选项卡,单击【New Action】按钮,添加“TAction”对象,并在“Object Inspector”窗口中设置Caption属性,如图5-3所示。图5-3 添加TAction对象(4)在窗体上点选ActionManager1组件,在“Object Inspector”窗口中,单击ActionBars属性右侧的【】按钮,弹出如图5-4所示的对话框。图5-4 菜单栏设置界面1(5)在弹出的对话框中点选“0-ActionBar-ActionTooBar1”,在“Object Inspector”窗口中,单击Items属性右侧的【】按钮,在弹出的对话框中,单击【

36、Add New】按钮添加菜单项,并设置各个菜单项的Action属性,如图5-5所示。 图5-5 菜单栏设置界面2(6)点选各菜单项,在“Object Inspector”窗口中,单击Items属性右侧的【】按钮,在弹出的对话框中设置子菜单项。(7)在“Win32”组件页中点选“TStatusBar”组件,添加到窗体上,命名为“StatusBar1”。TStatusBar组件用于显示状态信息,双击StatusBar1组件,在弹出的对话框中单击【Add New】按钮添加面板。在“Object Inspector”窗口中设置面板的Width属性和Caption属性,如图5-6所示。图5-6 面板编辑

37、器界面(8)在“Standard”组件页中点选“TPanel”组件。在窗体上添加3个TPanel组件,分别命名为“Panel3”、“Panel1”、“Panel4”,分别设置其Align属性为“alTop”、“alLeft”、“alClient”。(9)在“Additional”组件页中点选“TImage”组件,分别添加到Panel3组件和Panel1组件上,并在“Object Inspector”窗口中通过Picture属性为其加载图片。当用户单击主窗体左侧的按钮时,在右则将弹出相应的功能图片。在右侧的面板中添加多个TPanel组件,并在相应的TPanel组件上添加TImage组件,并为TI

38、mage组件加载图片。(10)在“Additional”组件页中点选“TSpeedButton”组件,将TSpeedButton组件添加到图片相应的位置,设置其Flat属性为“True”;Caption属性为空。2程序相关代码在窗体的OnKeyDown事件处理过程中设置用户按下F5键时关闭窗体。代码如下:procedure TF_zct.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);begin F_zct.KeyPreview:=True; /设置窗体先接受键盘按下事件 if key=vk_F5 then Clo

39、se;end;在窗体的OnCloseQuery事件处理过程中让用户确认是否关闭窗体。代码如下:procedure TF_zct.FormCloseQuery(Sender: TObject; var CanClose: Boolean);begin if Application.MessageBox(是否退出系统?,提示,mb_yesno)=id_no then CanClose:=False;end;在窗体右侧按钮的单击事件处理过程中,设置相应的面板在其他面板前面。代码如下:procedure TF_zct.SpeedButton1Click(Sender: TObject);begin k

40、umanage.BringToFront; /设置面板在最前面end;在窗体右侧的功能按钮单击事件处理过程中,动态创建相应的功能窗体。动态创建“库存状况窗体”代码如下:procedure TF_zct.SpeedButton9Click(Sender: TObject);begin Application.CreateForm(TF_kczk, F_kczk); /创建窗体 F_kczk.ShowModal; /显示窗体 F_kczk.Free; /释放窗体end;在窗体的OnShow事件处理过程中,添加TCheckBox组件到面板中。指定TCheckBox组件的父对象并设置该组件的大小和位置。代码如下:with statusbar1 do begin checkbox1.Parent:=statusbar1; checkbox1.Top:=4;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1