超市信息管理系统设计.docx
《超市信息管理系统设计.docx》由会员分享,可在线阅读,更多相关《超市信息管理系统设计.docx(19页珍藏版)》请在冰豆网上搜索。
超市信息管理系统设计
超市信息管理系统设计(VFP)
超市信息管理系统设计主要是商品数据库的建立设计和对数据库的相关操作的实现。
本设计使用VisualFox的自带数据库来对数据库进行设计,当超市批量进货时,打开数据库,在里面直接输入所有商品的信息(商品编码、商品名称、商品单价、商品数量).然后以VisualFox为载体,开发商品管理以及信息修改的操作界面.在一个标准EXE工程环境下,手动输入添加入库的商品的所有信息,点击添加命令按钮,这样即可完成数据库中商品的添加。
同时也可以进行相应的删除操作。
此外,还提供了便捷的查询服务.在窗体界面上添加命令按钮,分别完成各命令按钮的任务执行编码,从而实现对数据库的添加、查找、删除等操作。
第1章前言
1。
1问题的提出
超市是一个很繁忙的地方,每天有很多的顾客要买东西,收银员要和很多的顾客结算,并且要给这些结算存档,以便日后查看.如果只用人工的方法去处理这些结算和计算的数据将是一件很繁琐的事情,将投入大量的人力物力,为了解决这个问题,实现科学化、现代化的超市信息管理,我们就必须设计开发简易的超市信息管理系统。
1。
2设计思想
该设计的指导思想是一切为使用者着想,界面要美观大方,操作尽量简单明了,而且作为一个应用系统要有良好的容错性,在出现错误操作时能尽量及时地给出警告,以便用户及时进行改正。
1.3系统开发的目标
作为一个应用系统,本系统的开发目标是实现超市管理系统平台化的思想,以查询系统为中心,主要包括相关数据库的设计、基础数据库的输入与维护、超市各种相关数据的查询、库存商品的管理、销售商品的管理等。
就本设计而言,该系统是为小型超市而开发设计的,使用本系统的超市,可以方便地对超市的各种信息进行查询,并且可以对库存商品和销售商品进行修改、删除、添加等操作。
1。
4系统应用环境
随着设计思想与开发目标的出现,继而出现了开发语言的选择。
VisualFoxPro是一种数据库管理语言,它简单、易用,并因其可视化编程技术的完美表现和SQL语言功能的强大已成为编写数据库管理系统的主要语言之一.它在数据库方面有着广泛的应用,VisualFoxPro9.0开发工具不仅提供了更多更好的设计器、向导、生成器及新类,而且使得客户和服务器结构数据库应用程序的设计更加方便简捷.所以我们决定使用VisualFoxPro开发工具,利用其提供的各种面向对象编程的可视化工具来编制出用户满意的数据窗口平台.
1.5课题的研究意义
本系统的开发设计,充分利用了VisualFoxPro基础程序设计及数据库管理知识,体现了VFP在数据库处理和面向对象的可视化编程方面的高效,简洁等特点,同时也明确了当前各大高校持续开设VisualFoxPro方面程序设计课程的必要性,VisualFoxPro方面本系统的应用,能够提高超市信息管理系统各项工作地效率和质量,促进商品的销售和资金的流转;减轻各类事务性工作地劳动强度,使超市的职员腾出更多的精力和时间来服务于顾客;改善经营管理,堵塞漏洞,保证顾客和超市的经济效益。
第2章系统分析
2.1系统可行性分析
超市信息管理系统是对超市的收款信息进行管理的计算机网络软件系统,它可完成超市中各种货品的收银工作,并对可以特定时间段的出售信息进行查询。
图1。
1是一幅上下文环境图,它演示了该超市收银管理系统的外部实体和系统接口。
图2。
1超市信息管理系统的上下文环境图
2.2需求分析
面对超市管理过程中出现的各种情况,超市收银管理系统在实施后,应能够达到以下目标.
●全面自动化信息管理,随时掌握超市的情况.
●全方位的快速查询,提高工作效率.
●灵活准确的收费,提高财务工作效率。
●全面统计、汇总、分析,及时提供决定依据。
超市管理员可随时查阅到超市最新信息的详细情况.
●系统内部控制严密,数据存储安全可靠。
●系统界面友好美观,操作简单易行。
从用户需求到售后服务形成了一套严密、科学、完善的管理体系。
2。
3系统开发的总体规划
根据结构化系统开发的思想和方法,“《超市信息管理系统》"的总体开发计划如下:
2.3.1系统分析和设计阶段
1.系统需求分析阶段:
确定开发项目,进行实际考查,收集资料,明确用户需求。
2.数据库设计阶段:
根据用户需求进行数据库设计,对本系统而言,即设计出系统所需要的数据表来供系统使用。
该系统的数据库中需要建立用户表、权限数据表、库存表、销售表等.
3.系统整体流程分析与设计阶段:
用结构化系统分析和设计方法,总结出系统要实现的基本功能。
4.
数据流程分析后,做出整体设计方案:
先做底层数据库,再做表单、菜单,最后调试主程序连编生成可执行文件。
参考相关的VisualFoxPro9。
0开发实例,借鉴别人的优点。
收集相关的数据库系统与应用方面的资料与练习。
2.3.2系统实施阶段
1。
创建项目和数据库.按照设计方案创建项目和数据库、表的结构,同时输入若干用于程序调试的数据。
2.设计系统的主要操作界面-—表单.运用面向对象的程序设计方法,设计应用系统的操作界面——表单,这是系统程序设计工作量最大的部分。
3。
编写主程序和建立系统菜单。
在学习和掌握程序设计思想和方法的基础上设计应用系统的主程序和系统菜单,搭建系统的框架。
4.连编项目程序。
将以上步骤完成的所有文件进行连接编译,形成系统的可执行文件(*exe)。
2.4系统功能结构
2。
4。
1功能结构图
在此次设计中,依据系统结构化设计方法,把本系统划分为若干个功能模块,某些模块又可以划分为多个子模块,某些子模块又可划分为多个二级子模块,经层层分解后,最小的子模块的功能便十分明确和简单了。
这样做,不仅展现了一个应用软件系统的整体性和层次性,而且通过屏幕对每个应用模块有明显的提示,在这些提示下,用户可以方便地进入系统的每一层进行操作,可以非常方便地使用这一数据库应用系统。
设计出本系统的总体功能结构图如下:
图2。
1总体功能结构图
根据总体功能结构图,本系统分为以下三个模块,每个模块又可分几个二级模块,得出各个模块的功能结构图如下:
图2.2商品查询管理功能结构图
图2。
3商品库存管理功能结构图
图2.4商品销售管理功能结构图
2.4。
2主要功能模块说明
本系统主要分成三个功能模块,每个模块都独立地完成了自己的功能,以下是对各功能模块的说明:
。
1.商品查询管理功能。
该功能模块可以实现对超市信息的查询.包括库存查询和销售查询两个个功能。
库存查询的内容有:
商品号,商品名称,入库商品价格、销售价格、入库商品数量、销售商品数量、生产厂商、产地、采购员、验收员、备注。
销售查询的内容有:
销售商品号、销售商品名称、价格、出售时间、是否打折。
2.商品库存管理功能。
该功能模块要对商品的入库信息和库存商品进行统计管理.由于商品信息的庞大、复杂,需要对其进行详细地记录管理,需要记录的内容有:
库存商品的名称、类型、入库价格、销售价格、库存量、入库时间、有效期等,同时能够实现对商品库存信息的添加、删除功能。
在商品批量销售后,在表中能够同时删除相应的商品的数量。
3.商品销售信息管理功能.该功能模块是把要销售的商品从超市中取出来,并对库存商品进行相应的记录管理,需要记录的内容有:
出售商品的名称、类型、销售价格、数量、销售时间等,同时能够实现对商品销售信息的添加、删除功能。
第3章数据库设计
3.1设计目标
本系统属于小型的数据库系统,可以对超市进行有效管理。
本系统可以达到以下目标。
●系统采用人机对话方式,界面美观友好,住处查询灵活、方便,数据存储安全可靠.
●实现各种查询,如库存查询、销售查询等.
●实现商品进货分析与统计、销售分析与统计、商品销售明细等功能。
●系统最大限度地实现了易安装性、易维护性和易操作性。
3。
2开发及运行环境
系统开发平台:
MicrosoftVisualFoxPro
文档开发环境:
MicrosoftWord2003。
运行平台:
WindowsXP/Windows2000/Windows2003。
3。
3数据库设计
数据库在整个管理系统中占据非常重要的地位,数据库结构设计的好坏将直接影响系统的效率和实现的效果。
本系统采用的是VisualFoxPro自带的数据库,数据库文件名为超市数据,下面是该数据库的设计过程.
名字:
商品库存信息
来源:
仓库管理部门
去向:
超市商品管理员
组成:
库存信息=添加库存商品+修改库存商品+删除库存商品
数据流量:
库存商品数
名字:
商品查询信息
来源:
仓库管理部门
去向:
超市商品管理员
组成:
查询信息=用户查询+库存查询+销售查询
数据流量:
库存商品数
3。
3。
1数据字典
名字:
添加库存商品
来源:
仓库管理部门
去向:
超市商品管理员
组成:
库存商品添加信息=商品名称+商品类型+商品库存数量+入库价格+销售价格+入库时间+生产厂家+产地+采购员+验收员
数据流量:
库存商品添加数
名字:
商品销售信息
来源:
仓库管理部门
去向:
超市商品管理员
组成:
销售信息=添加销售商品+修改销售商品+删除销售商品
数据流量:
销售商品数
名字:
查询库存信息
来源:
仓库管理部门
去向:
超市商品管理员
组成:
库存商品查询信息=商品名称+商品类型+商品库存数量+入库价格+销售价格+入库时间+生产厂家+产地+采购员+验收员
数据流量:
库存商品数
名字:
删除库存商品
来源:
仓库管理部门
去向:
超市商品管理员
组成:
库存商品删除信息=商品名称+商品类型+商品库存数量+入库价格+销售价格+入库时间+生产厂家+产地+采购员+验收员
数据流量:
库存商品删除数
名字:
添加销售商品
来源:
仓库管理部门
去向:
超市商品管理员
组成:
销售商品添加信息=商品名称+商品号+商品销售数量+销售价格+销售时间
数据流量:
新增销售商品数
名字:
查询销售信息
来源:
仓库管理部门
去向:
超市商品管理员
组成:
销售商品查询信息=商品名称+商品号+商品销售数量+销售价格+销售时间
数据流量:
商品销售数
名字:
删除销售信息
来源:
仓库管理部门
去向:
超市商品管理员
组成:
销售商品删除信息=商品名称+商品号+商品销售数量+销售价格+销售时间
数据流量:
销售商品删除数
3。
3。
2E-R图
为了系统的数据要求清楚、准确地描述出来,系统分析员通常建立一个概念性的数据模型(E-R图)。
它描述了从用户角度看到的数据,反映了用户的显示环境,而且与软件中的实现方法无关.
以下便是系统的E-R图表示
图3。
1系统整体E-R图
图3。
2商品库存信息E-R图
第4章系统实现
4。
1创建数据库
在前面分析的基础上,得到了数据库的逻辑结构,然后就可以再VisualFoxPro9。
0数据库中是想该逻辑结构.下面是数据库的创建过程:
1.创建项目.在VisualFoxPro9.0主窗口选择文件\新建命令,会弹出一个对话框,单击“新建文件",保存该项目名称为超市信息管理系统。
2.创建项目的数据库.在项目管理器中单击数据选项卡,然后在该选项卡中选择数据节点,单击新建按钮,弹出一个对话框,在该对话框中单击新建数据库按钮,保存该数据库名称为超市数据。
3.在数据库中创建下面两个表格:
库存表
字段名称
数据类型
长度
NULL
字段说明
商品编码
字符型
10
N
主码
商品名称
字符型
20
N
入库时间
日期型
8
N
库存数量
数值型
10
N
入库价格
货币型
8
N
销售价格
货币型
8
N
生产厂商
字符型
20
N
产地
字符型
20
N
采购员
字符型
10
N
验收员
字符型
10
N
销售表
字段名称
数据类型
长度
NULL
字段说明
商品编码
字符型
10
N
主码
商品名称
字符型
20
N
销售价格
货币型
8
N
销售时间
日期型
8
N
是否打折
字符型
20
N
创建表之后,建立数据库超市信息管理系统的永久关系如图4.1所示:
图4.1数据库永久关系表
4。
2界面设计
本系统主要由以下界面组成:
●欢迎界面
●系统主界面
●查询管理界面
●库存管理界面
●销售管理界面
4。
2.1欢迎界面
该界面是系统的欢迎界面,并提供验证管理员身份合法性的功能,设计完成的效果如图4.2所示。
用户输入用户名和相应的正确密码,单击“进入”按钮,就可以进入系统主界面。
(注:
用户名123,密码123)
图4.2欢迎验证界面
该界面中的表单建立和属性设置都比较简单,就不再详细写出.主要对表单中的控件详细说明:
该表单中有3个label控件,2个text控件,2个command控件,其属性设置如下:
Caption:
Lable1——用户名
Lable2--密码
Lable3——登陆
Command1——进入
Command2——退出
BackStyle:
Lable1——0—Transparent
Lable2——0—Transparent
Lable3——0-Transparent
欢迎界面代码设计:
该部分代码主要实现对管理员身份的验证.双击“进入"按钮,在其Click事件添加如下代码:
ifalltrim(thisform。
text1。
value)=”123"andalltrim(thisform。
text2.value)=”123”
Ifalltrim(thisform。
text1.value)="123"anddoform系统主界面
thisform。
Release
else
MESSAGEBOX("用户名与密码不对!
”)
Endif
该段代码的功能是当管理员输入的用户名和密码如果都正确时,单击“进入”按钮,即可以进入系统主界面。
如果不正确,则将给出提示信息。
为“退出”按钮添加代码,在其Click事件中添加如下代码:
thisform。
Release
4.2。
2系统主界面
系统主界面是用户进入系统后接触的主要界面,由它可以进入各个功能模块。
主界面的设计在这里采用在顶层表单上添加下拉式菜单的方法来设计,即先设计一个下拉式菜单,然后将菜单添加到顶层表单上即可。
图4。
3主界面
该界面表单的属性设置和控件设置都比较简单,这里就不再详细说明,该界面设计过程中用到了菜单,对菜单的设计做一下介绍。
在项目中新建菜单供系统使用,如图4。
4所示。
系统主界面是与用户进行交互的主界面,由它可以进入各个功能模块。
下面代码的功能是将菜单(先生成SDI菜单)加载到顶层表单上,实现顶层表单对菜单的调用。
双击表单,在表单的Init事件中添加如下代码:
DOmain.mprWITHthis,。
t。
4.2.3查询界面
该界面可以对超市的各种信息进行查询,包括库存查询和销售查询。
由该界面可以进入库存查询界面、销售查询界面,分别库存信息和销售信息进行查询,如图4。
7(a)-(c)所示.
图4.7(a)查询界面
本界面实现对用户信息的查询,包括用户名、密码、用户类型的详细信息。
在Command1的Click事件中添加如下代码:
DOform库存查询
就打开了库存查询界面,如下图:
图4.7(b)库存查询界面
本界面实现对库存信息的查询,包括库存商品编号、商品名称、库存数量、入库时间、生产厂商等的详细信息。
在Command2的Click事件中添加如下代码:
DOFORM销售查询
就打开了销售查询界面,如下图:
图4。
7(c)销售查询界面
本界面实现对销售信息的查询,包括商品编号、商品名称、销售价格、销售时间、是否打折的详细信息。
4。
2.5库存管理界面
该界面可以让管理员对库存商品的信息进行添加、删除操作,如图4。
8所示。
图4。
8库存管理界面
下面对库存管理中的界面进行简单的说明。
1.添加库存:
超市进入一批以前库存中不存在的商品时,需要添加该商品的信息到库存信息之中,即添加库存。
2.删除库存:
当某种商品销售完毕之后,由于该商品失去销售市场或其它原因,该超市不打算再进该种商品时,需要删除库存信息中关于该商品的信息,即删除库存。
4。
2.6销售管理界面
该界面可以让管理员对要销售的商品信息进行添加、删除操作,如图4.9所示。
图4.9销售管理界面
下面对销售管理的各个子功能模块进行说明:
1.添加销售商品:
由于某种新商品赢得了市场,而该超市以前不曾销售过该商品,此时需要添加该商品的信息到销售管理信息之中,以便于进和销售.。
2.删除销售商品:
当某种商品失去市场之后,超市已经把该商品销售完毕,并且该超市不再进该种商品,需要删除该商品的信息,此进删除该商品在销售管理中的信息,即删除销售商品。
4.3程序设计
在项目(超市信息管理系统.scx)中新建下列主要程序供系统使用:
main.prg(系统主程序),用来设置系统界面、初始化系统环境、设置系统起始点、启动事件循环等,主要代码如下:
clear
_screen.caption=”超市管理信息系统”
settalkoff
doform欢迎界面
do菜单1。
mpr
readevents
4.4项目连编与发布
完成了上述设计以后,可以通过项目管理器中的连编命令连编生成可执行文件(SupermarketInformation。
exe)并运行,系统的执行界面如图4.10所示.
图4.10可执行文件的执行界面
第5章总结
5。
1成绩
经过几个月的努力,我的设计也初见成效,感到甚是欣慰.通过本次设计,我对VFP的知识得到了进一步的理解和学习,对数据库的设计方法有了进一步的掌握,理解上也进一少得到深化.
另外,取得了以下设计成绩:
完成了对系统主界面的设计,并能够实现从菜单中进入各个模块.完成了用户权限管理界面的设计,在用户管理中能够增加用户并进行存盘,也能够删除用户,并且能够对用户信息进行逐条查询;在权限管理中,能够对权限进行设置。
查询界面也完成了初步的设计,能够对用户信息、库存信息、销售信息进行简单地查询.
但是由于时间和自己能力有限,还存在不少问题有待解决,库存管理和销售管理只完成了初步的界面设计,还不能够具体实现。
由于设备有限,也不能实现信息的打印,系统运行中也还有问题有待解决。
5。
2展望
在设计过程中,库存管理和销售管理没有具体实现,在接下来的时间里,需对这两块进行详细设计,使各个小功能模块能够实现。
由于时间关系,我做的是超市信息管理系统,还可以在此基础上加上收银模块。
通过扫描商品条码或者直接输入商品条码,自动计算本次交易的金额.在顾客付款后,自动计算找零,同时打印交易清单(包括交易的流水账号、商品名、数量、单价、总金额、交易时间、负责本次收银的员工).另外,还可以加上营业统计模块,统计商店的成本收益。
提供多种统计方式:
日营业统计,月营业统计,年营业统计.使系统完善成为超市收银管理系统,整个系统之后,能够投入超市进行使用.
结束语
转眼间,就要进行论文答辩了,我的论文随着系统的完成也进入了收尾阶段。
还记得当初说起写论文时一片茫然的样子,尽管茫然,但自己一直有一个信念:
既然选择了这个课题就要认真做下去。
在李老师的指导下,我先做了一个整体的计划:
先做毕业设计,再写论文。
后来证明我的计划是正确的,因为没有自己的亲身实践何来论文呢?
我先利用已学知识对整个系统进行分析,对整个设计有个整体的框架,然后根据自己的计划进行具体设计.在做系统的过程中,当然会遇到很多的问题,有遇到问题时的沮丧,更有在自己通过从图书馆借书把问题解决时的快乐。
踉踉跄跄地忙碌了两个月,我的毕业设计课题也终将告一段落。
点击运行,也基本能达到预期的效果,虚荣的成就感会时而不时冒上心头。
但是,由于能力和时间的关系,总是觉得有些不尽人意的地方,比如在做系统之前想把整个系统做出来,结果由于时间仓促没能全部实现,只把查询模块做出来了。
毕业设计让我对计算机和数据库的具体应用有了更深刻的理解,后来想想,结果固然重要,但在过程中取得的收获是更难忘的,以此语言来安抚我尚无平复的心.
致谢
回望三年的大学生活,取得了些许成绩,也留有一些遗憾。
收获了快乐也收获了忧伤。
感谢我的同窗好友,三年的风风雨雨,我们一起走过,那些一起哭一起笑的日子,会成为我终生最难忘的记忆。
感谢你们的不离不弃!
三年的学习生活,让我从对专业知识的一窍不通到悉数了解掌握,离不开老师的尊尊教导,感谢老师们四年来对我孜孜不倦的教诲,对我成长的关心和爱护。
在我的十几年求学历程里,离不开父母的鼓励和支持,是他们辛勤的劳作,无私的付出,为我创造良好的学习条件,我才能顺利完成学业,感激他们一直以来对我的抚养与培育。
四年过去了,我的校园生活即将告一段落,看看曾经遍布我足迹的校园,心中莫名的感伤,全是无尽的难舍与眷恋。
从这里走出去,对我的人生来说,将是踏上一个新的征程,要把所学的知识应用到实际工作中去.
最后,我要特别感谢我的毕业论文指导老师李丰老师.李老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我受益匪浅。
他无论在理论上还是在实践中,都给与我很大的帮助,解决了很多难点,使我顺利的完成了毕业设计,在此表示衷心的感激。