1、超市信息管理系统设计(VFP)超市信息管理系统设计主要是商品数据库的建立设计和对数据库的相关操作的实现。本设计使用Visual Fox的自带数据库来对数据库进行设计,当超市批量进货时,打开数据库,在里面直接输入所有商品的信息(商品编码、商品名称、商品单价、商品数量).然后以Visual Fox为载体,开发商品管理以及信息修改的操作界面。在一个标准EXE工程环境下,手动输入添加入库的商品的所有信息,点击添加命令按钮,这样即可完成数据库中商品的添加。同时也可以进行相应的删除操作。此外,还提供了便捷的查询服务。在窗体界面上添加命令按钮,分别完成各命令按钮的任务执行编码,从而实现对数据库的添加、查找、
2、删除等操作。目录第1章 前言31.1 问题的提出31.2 设计思想31.3 系统开发的目标41.4 系统应用环境41.5 课题的研究意义4第2章 系统分析52.1 系统可行性分析52.2 需求分析52.3系统开发的总体规划62.3.1 系统分析和设计阶段62.3.2 系统实施阶段62.4系统功能结构72.4.1 功能结构图错误!未定义书签。2.4.2 主要功能模块说明9第3章 数据库设计93.1设计目标93.2开发及运行环境103.3 数据库设计103.3.1 数据字典103.3.2 ER图12第4章 系统实现144.1 创建数据库144.2 界面设计164.2.1 欢迎界面164.2.2 系
3、统主界面184.2.3用户权限管理部分界面错误!未定义书签。4.2.4 查询界面194.2.5 库存管理界面214.2.6 销售管理界面224.3 程序设计224.4 项目连编与发布23第5章 总结245.1成绩245.2展望24结束语26致谢27参考文献错误!未定义书签。第1章 前言1.1 问题的提出 超市是一个很繁忙的地方,每天有很多的顾客要买东西,收银员要和很多的顾客结算,并且要给这些结算存档,以便日后查看。如果只用人工的方法去处理这些结算和计算的数据将是一件很繁琐的事情,将投入大量的人力物力,为了解决这个问题,实现科学化、现代化的超市信息管理,我们就必须设计开发简易的超市信息管理系统。
4、1.2 设计思想该设计的指导思想是一切为使用者着想,界面要美观大方,操作尽量简单明了,而且作为一个应用系统要有良好的容错性,在出现错误操作时能尽量及时地给出警告,以便用户及时进行改正。1.3 系统开发的目标 作为一个应用系统,本系统的开发目标是实现超市管理系统平台化的思想,以查询系统为中心,主要包括相关数据库的设计、基础数据库的输入与维护、超市各种相关数据的查询、库存商品的管理、销售商品的管理等。就本设计而言,该系统是为小型超市而开发设计的,使用本系统的超市,可以方便地对超市的各种信息进行查询,并且可以对库存商品和销售商品进行修改、删除、添加等操作。1.4 系统应用环境 随着设计思想与开发目标
5、的出现,继而出现了开发语言的选择。 Visual FoxPro是一种数据库管理语言,它简单、易用,并因其可视化编程技术的完美表现和SQL 语言功能的强大已成为编写数据库管理系统的主要语言之一。它在数据库方面有着广泛的应用,Visual FoxPro 9.0开发工具不仅提供了更多更好的设计器、向导、生成器及新类,而且使得客户和服务器结构数据库应用程序的设计更加方便简捷。所以我们决定使用Visual FoxPro 开发工具,利用其提供的各种面向对象编程的可视化工具来编制出用户满意的数据窗口平台。 1.5 课题的研究意义 本系统的开发设计,充分利用了Visual FoxPro基础程序设计及数据库管理
6、知识,体现了VFP在数据库处理和面向对象的可视化编程方面的高效,简洁等特点,同时也明确了当前各大高校持续开设Visual FoxPro方面程序设计课程的必要性, Visual FoxPro方面本系统的应用,能够提高超市信息管理系统各项工作地效率和质量,促进商品的销售和资金的流转;减轻各类事务性工作地劳动强度,使超市的职员腾出更多的精力和时间来服务于顾客;改善经营管理,堵塞漏洞,保证顾客和超市的经济效益。第2章 系统分析2.1 系统可行性分析 超市信息管理系统是对超市的收款信息进行管理的计算机网络软件系统,它可完成超市中各种货品的收银工作,并对可以特定时间段的出售信息进行查询。图1.1是一幅上下
7、文环境图,它演示了该超市收银管理系统的外部实体和系统接口。收银员商品管理员超市收银管理系统查询是否存在该商品商品信息对系统进行操作商品情况图2.1超市信息管理系统的上下文环境图2.2 需求分析面对超市管理过程中出现的各种情况,超市收银管理系统在实施后,应能够达到以下目标。l 全面自动化信息管理,随时掌握超市的情况。l 全方位的快速查询,提高工作效率。l 灵活准确的收费,提高财务工作效率。l 全面统计、汇总、分析,及时提供决定依据。超市管理员可随时查阅到超市最新信息的详细情况。l 系统内部控制严密,数据存储安全可靠。l 系统界面友好美观,操作简单易行。从用户需求到售后服务形成了一套严密、科学、完
8、善的管理体系。2.3系统开发的总体规划 根据结构化系统开发的思想和方法,“超市信息管理系统”的总体开发计划如下:2.3.1 系统分析和设计阶段1. 系统需求分析阶段:确定开发项目,进行实际考查,收集资料,明确用户需求。2. 数据库设计阶段:根据用户需求进行数据库设计,对本系统而言,即设计出系统所需要的数据表来供系统使用。该系统的数据库中需要建立用户表、权限数据表、库存表、销售表等。3. 系统整体流程分析与设计阶段:用结构化系统分析和设计方法,总结出系统要实现的基本功能。4. 数据流程分析后,做出整体设计方案:先做底层数据库,再做表单、菜单,最后调试主程序连编生成可执行文件。参考相关的Visua
9、l FoxPro 9.0开发实例,借鉴别人的优点。收集相关的数据库系统与应用方面的资料与练习。2.3.2 系统实施阶段1.创建项目和数据库。按照设计方案创建项目和数据库、表的结构,同时输入若干用于程序调试的数据。2.设计系统的主要操作界面表单。运用面向对象的程序设计方法,设计应用系统的操作界面表单,这是系统程序设计工作量最大的部分。3.编写主程序和建立系统菜单。在学习和掌握程序设计思想和方法的基础上设计应用系统的主程序和系统菜单,搭建系统的框架。4.连编项目程序。将以上步骤完成的所有文件进行连接编译,形成系统的可执行文件(*exe)。2.4系统功能结构2.4.1 功能结构图在此次设计中,依据系
10、统结构化设计方法,把本系统划分为若干个功能模块,某些模块又可以划分为多个子模块,某些子模块又可划分为多个二级子模块,经层层分解后,最小的子模块的功能便十分明确和简单了。这样做,不仅展现了一个应用软件系统的整体性和层次性,而且通过屏幕对每个应用模块有明显的提示,在这些提示下,用户可以方便地进入系统的每一层进行操作,可以非常方便地使用这一数据库应用系统。设计出本系统的总体功能结构图如下:超市信息管理系统商品查询管理商品库存管理商品销售管理图2.1 总体功能结构图根据总体功能结构图,本系统分为以下三个模块,每个模块又可分几个二级模块,得出各个模块的功能结构图如下:商品查询管理库存查询销售查询图2.2
11、 商品查询管理功能结构图商品库存管理添加库存删除库存图2.3 商品库存管理功能结构图商品销售管理添加销售记录删除销售记录图2.4 商品销售管理功能结构图2.4.2 主要功能模块说明本系统主要分成三个功能模块,每个模块都独立地完成了自己的功能,以下是对各功能模块的说明:。1. 商品查询管理功能。该功能模块可以实现对超市信息的查询。包括库存查询和销售查询两个个功能。库存查询的内容有:商品号,商品名称,入库商品价格、销售价格、入库商品数量、销售商品数量、生产厂商、产地、采购员、验收员、备注。销售查询的内容有:销售商品号、销售商品名称、价格、出售时间、是否打折。2. 商品库存管理功能。该功能模块要对商
12、品的入库信息和库存商品进行统计管理。由于商品信息的庞大、复杂,需要对其进行详细地记录管理,需要记录的内容有:库存商品的名称、类型、入库价格、销售价格、库存量、入库时间、有效期等,同时能够实现对商品库存信息的添加、删除功能。在商品批量销售后,在表中能够同时删除相应的商品的数量。3. 商品销售信息管理功能。该功能模块是把要销售的商品从超市中取出来,并对库存商品进行相应的记录管理,需要记录的内容有:出售商品的名称、类型、销售价格、数量、销售时间等,同时能够实现对商品销售信息的添加、删除功能。 第3章 数据库设计3.1设计目标本系统属于小型的数据库系统,可以对超市进行有效管理。本系统可以达到以下目标。
13、l 系统采用人机对话方式,界面美观友好,住处查询灵活、方便,数据存储安全可靠。l 实现各种查询,如库存查询、销售查询等。l 实现商品进货分析与统计、销售分析与统计、商品销售明细等功能。l 系统最大限度地实现了易安装性、易维护性和易操作性。3.2开发及运行环境系统开发平台:Microsoft Visual FoxPro文档开发环境:Microsoft Word 2003。运行平台:Windows XP/Windows 2000/Windows 2003。3.3数据库设计数据库在整个管理系统中占据非常重要的地位,数据库结构设计的好坏将直接影响系统的效率和实现的效果。本系统采用的是Visual Fo
14、xPro自带的数据库,数据库文件名为超市数据,下面是该数据库的设计过程。名字:商品库存信息 来源:仓库管理部门去向:超市商品管理员组成:库存信息=添加库存商品+修改库存商品+删除库存商品数据流量:库存商品数名字:商品查询信息来源:仓库管理部门去向:超市商品管理员组成:查询信息=用户查询+库存查询+销售查询数据流量:库存商品数3.3.1 数据字典名字:添加库存商品来源:仓库管理部门去向:超市商品管理员组成:库存商品添加信息=商品名称+商品类型+商品库存数量+入库价格+销售价格+入库时间+生产厂家+产地+采购员+验收员数据流量:库存商品添加数名字:商品销售信息来源:仓库管理部门去向:超市商品管理员
15、组成:销售信息=添加销售商品+修改销售商品+删除销售商品数据流量:销售商品数名字:查询库存信息来源:仓库管理部门去向:超市商品管理员组成:库存商品查询信息=商品名称+商品类型+商品库存数量+入库价格+销售价格+入库时间+生产厂家+产地+采购员+验收员数据流量:库存商品数名字:删除库存商品来源:仓库管理部门去向:超市商品管理员组成:库存商品删除信息=商品名称+商品类型+商品库存数量+入库价格+销售价格+入库时间+生产厂家+产地+采购员+验收员数据流量:库存商品删除数名字:添加销售商品来源:仓库管理部门去向:超市商品管理员组成:销售商品添加信息=商品名称+商品号+商品销售数量+销售价格+销售时间数
16、据流量:新增销售商品数名字:查询销售信息来源:仓库管理部门去向:超市商品管理员组成:销售商品查询信息=商品名称+商品号+商品销售数量+销售价格+销售时间数据流量:商品销售数名字:删除销售信息来源:仓库管理部门去向:超市商品管理员组成:销售商品删除信息=商品名称+商品号+商品销售数量+销售价格+销售时间数据流量:销售商品删除数3.3.2 E-R图为了系统的数据要求清楚、准确地描述出来,系统分析员通常建立一个概念性的数据模型(E-R图)。它描述了从用户角度看到的数据,反映了用户的显示环境,而且与软件中的实现方法无关。 商品顾客购物收银员查询出售商品商品库房管理商品管理员库存数量销售数量入库数量存放
17、1111NNNN以下便是系统的E-R图表示 图3.1 系统整体E-R图商品库房商品名称编码销售价格入库时间生产厂家入库价格库存量产地其他图3.2 商品库存信息ER图第4章 系统实现4.1 创建数据库在前面分析的基础上,得到了数据库的逻辑结构,然后就可以再Visual FoxPro 9.0 数据库中是想该逻辑结构。下面是数据库的创建过程:1. 创建项目。在Visual FoxPro 9.0 主窗口选择文件新建命令,会弹出一个对话框,单击“新建文件”,保存该项目名称为超市信息管理系统。2. 创建项目的数据库。在项目管理器中单击数据选项卡,然后在该选项卡中选择数据节点,单击新建按钮,弹出一个对话框,
18、在该对话框中单击新建数据库按钮,保存该数据库名称为超市数据。3. 在数据库中创建下面两个表格:库存表字段名称数据类型长度NULL字段说明商品编码字符型10N主码商品名称字符型20N入库时间日期型8N库存数量数值型10N入库价格货币型8N销售价格货币型8N生产厂商字符型20N产地字符型20N采购员字符型10N验收员字符型10N销售表字段名称数据类型长度NULL字段说明商品编码字符型10N主码商品名称字符型20N销售价格货币型8N销售时间日期型8N是否打折字符型20N创建表之后,建立数据库超市信息管理系统的永久关系如图4.1所示:图4.1 数据库永久关系表4.2 界面设计本系统主要由以下界面组成:
19、l 欢迎界面l 系统主界面l 查询管理界面l 库存管理界面l 销售管理界面4.2.1 欢迎界面该界面是系统的欢迎界面,并提供验证管理员身份合法性的功能,设计完成的效果如图4.2所示 。用户输入用户名和相应的正确密码,单击“进入”按钮,就可以进入系统主界面。(注:用户名123,密码123)图4.2欢迎验证界面该界面中的表单建立和属性设置都比较简单,就不再详细写出。主要对表单中的控件详细说明:该表单中有3个label控件,2个text控件,2个command控件,其属性设置如下:Caption:Lable1用户名Lable2密码Lable3登陆Command1进入Command2退出BackSty
20、le:Lable10-TransparentLable20-TransparentLable30-Transparent欢迎界面代码设计:该部分代码主要实现对管理员身份的验证。双击“进入”按钮,在其Click事件添加如下代码:if alltrim(thisform.text1.value)=123 and alltrim(thisform.text2.value)=123If alltrim(thisform.text1.value)=123 and do form 系统主界面thisform.ReleaseelseMESSAGEBOX(用户名与密码不对!)Endif该段代码的功能是当管理员输
21、入的用户名和密码如果都正确时,单击“进入”按钮,即可以进入系统主界面。如果不正确,则将给出提示信息。为“退出”按钮添加代码,在其Click事件中添加如下代码:thisform.Release4.2.2 系统主界面系统主界面是用户进入系统后接触的主要界面,由它可以进入各个功能模块。主界面的设计在这里采用在顶层表单上添加下拉式菜单的方法来设计,即先设计一个下拉式菜单,然后将菜单添加到顶层表单上即可。图4.3 主界面该界面表单的属性设置和控件设置都比较简单,这里就不再详细说明,该界面设计过程中用到了菜单,对菜单的设计做一下介绍。在项目中新建菜单供系统使用,如图4.4所示。系统主界面是与用户进行交互的
22、主界面,由它可以进入各个功能模块。下面代码的功能是将菜单(先生成SDI菜单)加载到顶层表单上,实现顶层表单对菜单的调用。双击表单,在表单的Init事件中添加如下代码:DO main.mpr WITH this,.t.4.2.3 查询界面该界面可以对超市的各种信息进行查询,包括库存查询和销售查询。由该界面可以进入库存查询界面、销售查询界面,分别库存信息和销售信息进行查询,如图4.7(a)-(c)所示。图4.7(a) 查询界面本界面实现对用户信息的查询,包括用户名、密码、用户类型的详细信息。在Command1的Click事件中添加如下代码:DO form 库存查询就打开了库存查询界面,如下图:图4
23、.7(b) 库存查询界面本界面实现对库存信息的查询,包括库存商品编号、商品名称、库存数量、入库时间、生产厂商等的详细信息。在Command2的Click事件中添加如下代码:DO FORM 销售查询就打开了销售查询界面,如下图:图4.7(c) 销售查询界面本界面实现对销售信息的查询,包括商品编号、商品名称、销售价格、销售时间、是否打折的详细信息。4.2.5 库存管理界面该界面可以让管理员对库存商品的信息进行添加、删除操作,如图4.8所示。图4.8 库存管理界面下面对库存管理中的界面进行简单的说明。1. 添加库存:超市进入一批以前库存中不存在的商品时,需要添加该商品的信息到库存信息之中,即添加库存
24、。2. 删除库存:当某种商品销售完毕之后,由于该商品失去销售市场或其它原因,该超市不打算再进该种商品时,需要删除库存信息中关于该商品的信息,即删除库存。4.2.6 销售管理界面该界面可以让管理员对要销售的商品信息进行添加、删除操作,如图4.9所示。图4.9销售管理界面下面对销售管理的各个子功能模块进行说明:1. 添加销售商品:由于某种新商品赢得了市场,而该超市以前不曾销售过该商品,此时需要添加该商品的信息到销售管理信息之中,以便于进和销售。2. 删除销售商品:当某种商品失去市场之后,超市已经把该商品销售完毕,并且该超市不再进该种商品,需要删除该商品的信息,此进删除该商品在销售管理中的信息,即删
25、除销售商品。 4.3 程序设计在项目(超市信息管理系统.scx )中新建下列主要程序供系统使用:main.prg(系统主程序),用来设置系统界面、初始化系统环境、设置系统起始点、启动事件循环等,主要代码如下:clear_screen.caption=超市管理信息系统set talk offdo form 欢迎界面 do 菜单1.mprread events4.4 项目连编与发布完成了上述设计以后,可以通过项目管理器中的连编命令连编生成可执行文件(Supermarket Information.exe)并运行,系统的执行界面如图4.10所示。图4.10 可执行文件的执行界面第5章 总结5.1成绩
26、经过几个月的努力,我的设计也初见成效,感到甚是欣慰。通过本次设计,我对VFP的知识得到了进一步的理解和学习,对数据库的设计方法有了进一步的掌握,理解上也进一少得到深化。另外,取得了以下设计成绩:完成了对系统主界面的设计,并能够实现从菜单中进入各个模块。完成了用户权限管理界面的设计,在用户管理中能够增加用户并进行存盘,也能够删除用户,并且能够对用户信息进行逐条查询;在权限管理中,能够对权限进行设置。查询界面也完成了初步的设计,能够对用户信息、库存信息、销售信息进行简单地查询。但是由于时间和自己能力有限,还存在不少问题有待解决,库存管理和销售管理只完成了初步的界面设计,还不能够具体实现。由于设备有
27、限,也不能实现信息的打印,系统运行中也还有问题有待解决。5.2展望在设计过程中,库存管理和销售管理没有具体实现,在接下来的时间里,需对这两块进行详细设计,使各个小功能模块能够实现。由于时间关系,我做的是超市信息管理系统,还可以在此基础上加上收银模块。通过扫描商品条码或者直接输入商品条码,自动计算本次交易的金额。在顾客付款后,自动计算找零,同时打印交易清单(包括交易的流水账号、商品名、数量、单价、总金额、交易时间、负责本次收银的员工)。另外,还可以加上营业统计模块,统计商店的成本收益。提供多种统计方式:日营业统计,月营业统计,年营业统计。使系统完善成为超市收银管理系统,整个系统之后,能够投入超市
28、进行使用。结束语转眼间,就要进行论文答辩了,我的论文随着系统的完成也进入了收尾阶段。还记得当初说起写论文时一片茫然的样子,尽管茫然,但自己一直有一个信念:既然选择了这个课题就要认真做下去。在李老师的指导下,我先做了一个整体的计划:先做毕业设计,再写论文。后来证明我的计划是正确的,因为没有自己的亲身实践何来论文呢?我先利用已学知识对整个系统进行分析,对整个设计有个整体的框架,然后根据自己的计划进行具体设计。在做系统的过程中,当然会遇到很多的问题,有遇到问题时的沮丧,更有在自己通过从图书馆借书把问题解决时的快乐。踉踉跄跄地忙碌了两个月,我的毕业设计课题也终将告一段落。点击运行,也基本能达到预期的效
29、果,虚荣的成就感会时而不时冒上心头。但是,由于能力和时间的关系,总是觉得有些不尽人意的地方,比如在做系统之前想把整个系统做出来,结果由于时间仓促没能全部实现,只把查询模块做出来了。毕业设计让我对计算机和数据库的具体应用有了更深刻的理解,后来想想,结果固然重要,但在过程中取得的收获是更难忘的,以此语言来安抚我尚无平复的心。致谢回望三年的大学生活,取得了些许成绩,也留有一些遗憾。收获了快乐也收获了忧伤。感谢我的同窗好友,三年的风风雨雨,我们一起走过,那些一起哭一起笑的日子,会成为我终生最难忘的记忆。感谢你们的不离不弃!三年的学习生活,让我从对专业知识的一窍不通到悉数了解掌握,离不开老师的尊尊教导,
30、感谢老师们四年来对我孜孜不倦的教诲,对我成长的关心和爱护。在我的十几年求学历程里,离不开父母的鼓励和支持,是他们辛勤的劳作,无私的付出,为我创造良好的学习条件,我才能顺利完成学业,感激他们一直以来对我的抚养与培育。四年过去了,我的校园生活即将告一段落,看看曾经遍布我足迹的校园,心中莫名的感伤,全是无尽的难舍与眷恋。从这里走出去,对我的人生来说,将是踏上一个新的征程,要把所学的知识应用到实际工作中去。最后,我要特别感谢我的毕业论文指导老师李丰老师。李老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我受益匪浅。他无论在理论上还是在实践中,都给与我很大的帮助,解决了很多难点,使我顺利的完成
31、了毕业设计,在此表示衷心的感激。 3、通过活动,使学生养成博览群书的好习惯。B比率分析法和比较分析法不能测算出各因素的影响程度。C采用约当产量比例法,分配原材料费用与分配加工费用所用的完工率都是一致的。C采用直接分配法分配辅助生产费用时,应考虑各辅助生产车间之间相互提供产品或劳务的情况。错 C产品的实际生产成本包括废品损失和停工损失。C成本报表是对外报告的会计报表。C成本分析的首要程序是发现问题、分析原因。C成本会计的对象是指成本核算。C成本计算的辅助方法一般应与基本方法结合使用而不单独使用。C成本计算方法中的最基本的方法是分步法。XD当车间生产多种产品时,“废品损失”、“停工损失”的借方余额
32、,月末均直接记入该产品的产品成本 中。D定额法是为了简化成本计算而采用的一种成本计算方法。F“废品损失”账户月末没有余额。F废品损失是指在生产过程中发现和入库后发现的不可修复废品的生产成本和可修复废品的修复费用。F分步法的一个重要特点是各步骤之间要进行成本结转。()G各月末在产品数量变化不大的产品,可不计算月末在产品成本。错G工资费用就是成本项目。()G归集在基本生产车间的制造费用最后均应分配计入产品成本中。对J计算计时工资费用,应以考勤记录中的工作时间记录为依据。()J简化的分批法就是不计算在产品成本的分批法。()J简化分批法是不分批计算在产品成本的方法。对 J加班加点工资既可能是直接计人费
33、用,又可能是间接计人费用。J接生产工艺过程的特点,工业企业的生产可分为大量生产、成批生产和单件生产三种,XK可修复废品是指技术上可以修复使用的废品。错K可修复废品是指经过修理可以使用,而不管修复费用在经济上是否合算的废品。P品种法只适用于大量大批的单步骤生产的企业。Q企业的制造费用一定要通过“制造费用”科目核算。Q企业职工的医药费、医务部门、职工浴室等部门职工的工资,均应通过“应付工资”科目核算。 S生产车间耗用的材料,全部计入“直接材料”成本项目。 S适应生产特点和管理要求,采用适当的成本计算方法,是成本核算的基础工作。()W完工产品费用等于月初在产品费用加本月生产费用减月末在产品费用。对Y
34、“预提费用”可能出现借方余额,其性质属于资产,实际上是待摊费用。对 Y引起资产和负债同时减少的支出是费用性支出。XY以应付票据去偿付购买材料的费用,是成本性支出。XY原材料分工序一次投入与原材料在每道工序陆续投入,其完工率的计算方法是完全一致的。Y运用连环替代法进行分析,即使随意改变各构成因素的替换顺序,各因素的影响结果加总后仍等于指标的总差异,因此更换各因索替换顺序,不会影响分析的结果。()Z在产品品种规格繁多的情况下,应该采用分类法计算产品成本。对Z直接生产费用就是直接计人费用。XZ逐步结转分步法也称为计列半成品分步法。A按年度计划分配率分配制造费用,“制造费用”账户月末(可能有月末余额/可能有借方余额/可能有贷方余额/可能无月末余额)。A按年度计划分配率分配制造费用的方法适用于(季节性生产企业)