您好,欢迎来到意榕旅游网。
搜索
您的当前位置:首页企业销售管理系统

企业销售管理系统

来源:意榕旅游网


企业销售管理系统

引 言

本论文主要介绍的是企事业使用的销售管理系统的整个设计。

随着计算机技术的不断发展,计算机应用于各大领域,并给人们的生活带来了极大的便利。以往企业销售管理由于缺乏适当的软件而给其工作带来了很多不便.本论文所介绍的便是一个企业销售管理系统,以方便其在商品销售管理中的工作任务。

该系统适用于企业销售管理,其功能主要分为五大类:

系统初始化;客户信息管理、销售信息管理、增删用户等,该系统性能力求易于使用,具有较高的扩展性和可维护性。

整个系统的开发过程严格遵循软件工程的要求,做到模块化分析、模块化设计和代码编写的模块化。

1。系统需求分析

1。1现行业务系统描述

在企业,销售管理工作是非常重要的一项工作,它可以显示整个企业的销售量,销售管

理等等。以前都是人工进行操作。随着企业规模扩大,销售处的销售管理工作量大大加重.随着计算机应用的发展,销售工作者急切希望能够将大部分繁琐的工作交由计算机的处理,已减轻人工的压力并提高工作效率。而计算机的普及更加快了销售管理系统的产生.

因此,使用现在的新技术,开发出适应新的需求的新系统的任务刻不容缓。

1。2业务流程分析

销售管理系统是一个面向企业销售管理,为其提供服务的综合信息管理系统。销售管理人员通过本系统完成相关的日常工作,这些工作也是平常较为繁重的工作。商品信息、销售信息和客户信息等情况都记录在销售管理系统里进行管理.

由销售人员在档案更新中完成对运行销售系统所需的基本数据的维护。包括这些信息的增、修、改等,变动都将在这进行操作。

1。3现行系统存在的主要问题分析

现行系统的主要问题归纳起来主要有,单机单用户系统,随着网络的发展,同时销售管理系统中信息的使用者大大增加,原有的单机单用户系统已远远不能满足需要。同时,原有的数据库也不支持多用户的网络运行环境。

1。4提出可能的解决方案

1

鉴于目前企业对销售管理系统的需求与实际情况,新系统方案的重点放在系统的可扩展性上,为了实现这一设计,新系统应具备以下几方面的要求:

1。新系统采用Visual Foxpro6。0开发成功,充分利用该开发程序的优势,提高了工作效率。

2.新系统从设计到实现都应遵循模块化,是用一致的接口进行信息的传递与模块调用。模块的划分应尽量符合实际业务的划分,以保证以后新模块的加入尽可能少的影响现有功能模块的运行。

3.新系统所具有的特性:

通用性:用户可根据本单位的需求灵活设置数据库结构,可满足不同层次,不同性质,不同业务工作的需求.

1。5可行性分析与决策

对于新系统设计的几个关键技术的可行性分析如下,

1。技术可行性

1)系统的软件可以使用在WIN98、WIN2000、WINXP这些目前主流的操作系统上,且容易使用。

2)系统的数据库支持,本系统彩面向对象的VF6。0开发而成,友好的界面,简易的操作。工作人员只有稍加指导就可以熟练使用。

3)结论:本系统信息量不算太大,实时程度要求不高,对软硬件要求比较简单,可以进行开发.

2。 经济可行性

1)本系统只需一台计算机,配置奔腾III以上,256MB。

2)效益分析:运用本系统后,可大大提高工作效率和工作质量,减少人工操作的一些失误。

3)本系统投入费用不高。

3. 运行可行性

根据任务要求分析,此设计题目可以通过用Visual FoxPro 6。0软件作为开发工具来完成,利用Visual FoPro 6。0软件制作一个数据库的销售管理系统,这个系统可以很好的实现任务要求中所提出的各项功能指标,能够实现数据管理的自动化,大大提高工作效率。

综上所述,新系统的设计与开发在技术上和硬件设备上的条件都是满足的,新系统的开发是可行的.

2

2。系统的实现

2.1系统开发环境

系统开发环境包括硬件平台和软件平台两种。

硬件平台是指开发与运行所需要的硬件环境,主要包括计算机机型及硬件配置。由于本系统是一个小型的MIS管理系统,因此对计算机硬件的要求不高,比较经济,只要配备有PII处理器(或以上)、64M内存(或以上)、10G硬盘(或以上)的普通微机即可顺利运行。

本系统在单机上运行。

2.2系统测试

在MIS开发过程中采用了多种措施保证软件质量,但是实际开发过程中还是不可避免地会产生差错,系统中通常可能隐藏着错误和缺陷,示经周密测试的系统投入运行,将会造成难以想像的后果,因此系统测试是MIS开发过程中为保证软件质量必须进行的工作。大量统计资料表明,系统测试的工作量往往占MIS开发总工作量的40%以上.因此,我们必须重视测试工作。

系统的优点

1。流程符合企业内部销售管理的要求。

2。界面友好,输入信息方便.

系统的缺点

1.由于时间的原因,系统还不是很完善,应该把VF的背景框去掉.

2.网络功能欠缺。本系统只能在单机上运行,不能实现网络连接,资源共享。将来可能提出的要求

1.网络化.

系统能支持网络数据传输,数据共享;数据远程访问能自动采取一定的加锁策略;远 程报表处理。

2.多媒体化。

系统能够支持语音输入。

2.3 系统运行与维护

系统的运行:

1。初始数据的输入

3

本系统的输入采用鼠标和键盘相结合的输入方法。

(1)数据文件的维护:指的是按照用户的要求对数据文件进行不定期的修改。 (2)代码的维护:随着系统的发展和变化,可能会出现旧代码不能适应新要求的问

题,因此,有必要变更代码,予以维护。

(3)硬件的维护:指的是对系统所使用的设备进行维护.

本系统的日常维护由人事的专人来负责,如果出现一些不能解决的问题,则由开发者

来负责。

3。系统分析

3。 1数据流分析

由于本系统的功能强大,功能模块较多,下面仅以销售管理模块为例来进行编制。

欢迎界面

登录界面

销售管理系统主界面

产品信息管客户信息管销售信息管修改密增删用帮助

理 理 理 码 户

关于本更改记更改用新增和客户信息查销售信息浏

系统的录 户密码 删除用询 览 追加记销售报表打客户信息修介 绍 户 录 印 改 客户信息浏删除记更改记录

览 录 删除客户信浏览记添加新记录

息 录 添加新客户

3。 2模块功能介绍

销售管理系统的主要模块

1。欢迎界面

启动系统后出现的是欢迎界面,

2。登录模块

要求要输入正确的用户名和密码才能进入本系统。登录分为权限一级登录和权限二级

4

登录,登录后可进入产品信息管理,客户信息管理,销售信息管理等模块。 3。客户信息管理模块

该模块提供对客户信息的浏览、添加、修改和查询等功能。 4.产品信息管理模块

该模块提供对客户信息的浏览、添加和修改等功能。

5。销售信息管理模块

该模块提供对销售记录的浏览,可以更改,增加,删除信息。还包括对销售记录表的

打印,按某一条件进行报表打印,如:按产品排序打印,按客户排序打印等。 6.增删用户模块

该模块提供对用户添加和删除,在添加用户时可以对用户的登录权限进行设置。 7.修改密码模块

用户可以在此模块中对自己的登录密码进行修改。

4。系统设计

4.1系统中的表

产品信息.dbf(产品号,产品名称,厂商,规格,价格,简介,品牌,型号) 客户信息。dbf(地址,电话号码,客户,客户号,邮编)

销售信息。dbf(产品号,价格,客户号,售出时间,数量)

用户密码。dbf(密码,权限等级,用户名)

4。2表的物理结构

用户密码。dbf

字段名 类型 宽度 小数位 索引类型

密码 字符型 8 0

权限等级 字符型 8 0

用户名 字符型 1 0 唯一

5

产品信息。dbf

字段名 类型 宽度 小数位 索引类型

产品号 字符型 10 0 唯一 产品名称 字符型 10 0

厂商 字符型 10 0

规格 字符型 30 0

价格 数值型 10 0

简介 备注型 4

品牌 字符型 10 0

型号 字符型 10 10

客户信息.dbf

字段名 类型 宽度 小数位 索引类型

地址 字符型 30 0 电话号码 字符型 14 0

客户 字符型 20 0

客户号 字符型 10 0 唯一

邮编 字符型 10 0

销售信息.dbf

字段名 类型 宽度 小数位 索引类型 产品号 字符型 10 0 普通索引 价格 数值型 10 0 客户号 字符型 10 0 普通索引 售出时间 日期型 8 0 数量 数值型 10 0

6

5。系统的详细设计

5.1系统欢迎界面

欢迎界面的模块

Form1的Load事件

tt=0

Form1的Click事件

do form check Thisform。release Form1的KeyPress事件

do form check Thisform。release Timer1的Init事件

public tt

tt=0

Timer1的Timer事件

tt=tt+1

if tt=3 then

7

do form check

Thisform.release

Endif

5.2系统登录界面

“确定”按钮的Click事件

open database 销售管理

use 用户密码。dbf share

i=i+1

if i<=3

if empty(ThisForm。Text1.value)。or.empty(ThisForm.Text2.value)

messagebox(\"用户名或密码不能为空~\",48,”提示”)

else

locate for 用户密码.用户名=alltrim(ThisForm。Text1。value)。and。用户密码。密码;&&

定位到条件满足的第一条记录

=alltrim(ThisForm。Text2.value)

if found()

thisform.release

8

set sysmenu off &&禁止程序执行时访问系统菜单

set sysmenu to &&恢复系统菜单

set talk off &&关闭人机对话

set status bar off &&不显示VFP状态条

do form main。scx

return

read events

release all

clear all

else

messagebox(\"用户名或密码错误,请重输~\",48,\" 提示\")

ThisForm。Text1。gotfocus

endif

endif

else

messagebox(”三次无效输入,系统将被关闭~”,48,\"警告\")

ThisForm。release

quit

endif

“退出”的Click事件

ThisForm。release

close all

clear event

5。3系统主界面

Form1的Init事件

Use用户密码

public popedom

popedom=用户密码.权限等级

if popedom=\"1\" then

ThisForm.Command4.enabled=。t.

9

else

ThisForm.Command4.enabled=。f。

Endif

“产品信息管理”按钮的Click事件

do form product

“退出”按钮的Click事件

ThisForm.release close all

clear event

5.4系统产品信息管理界面

Form1的Click事件

public pno

ThisForm.Grid1。readonly=。t. “显示全部\"按钮的Click事件

ThisForm.Grid1。recordsourcetype=1

ThisForm。Grid1.recordsource=”产品信息\"

ThisForm.Grid1。refresh

10

“添加记录\"的Click事件

ThisForm。Grid1。refresh

append blank

thisform。refresh

“更改数据”的Click事件

ThisForm.Grid1.recordsourcetype=1

ThisForm.Grid1.readonly=。f。 ThisForm.Grid1.allowaddnew=.t. ThisForm。Grid1。refresh

“删除记录”的Click事件

delete

pack

ThisForm。Grid1。recordsourcetype=1 ThisForm。Grid1。recordsource=”产品信息\"

ThisForm。Grid1.refresh

“确定”的Click事件

ThisForm.Grid1.readonly=。t.

11

5。5系统客户信息管理界面

“第一个记录”的Click事件

go top

This。enabled=。f。

Thisform.pageframe1。page1。commandgroup1.Command2.enabled=。f. Thisform。pageframe1。page1。commandgroup1.Command3.enabled=.t. Thisform.pageframe1。page1。commandgroup1.Command4。enabled=。t。 Thisform.refresh

“前一个记录”的Click事件

skip -1

if bof()

messagebox(”已是第一个记录”,48,\"提示信息\")

Thisform。pageframe1.page1.commandgroup1.Command1。enabled=。f。

Thisform。pageframe1.page1.commandgroup1。Command2。enabled=。f.

else

Thisform。pageframe1.page1.commandgroup1.Command1。enabled=.t.

Thisform。pageframe1.page1。commandgroup1.Command2。enabled=。t。

12

endif

Thisform.pageframe1。page1.commandgroup1。Command3。enabled=.t.

Thisform。pageframe1.page1.commandgroup1。Command4。enabled=.t.

thisform。refresh

“后一个记录”的Click事件

skip

if eof()

messagebox(\"已是最后一个记录”,48,\"提示信息”)

Thisform。pageframe1.page1。commandgroup1。Command3.enabled=.f。

Thisform。pageframe1.page1.commandgroup1。Command4。enabled=。f.

else

Thisform。pageframe1。page1.commandgroup1.Command3。enabled=.t.

Thisform。pageframe1.page1。commandgroup1。Command4.enabled=。t。

endif

Thisform.pageframe1。page1。commandgroup1。Command1。enabled=。t.

Thisform。pageframe1。page1。commandgroup1.Command2.enabled=。t。

thisform.refresh

“最后一个记录”的Click事件

go bottom

Thisform。pageframe1.page1.commandgroup1.Command1。enabled=.t。

Thisform。pageframe1.page1。commandgroup1。Command2.enabled=。t.

Thisform。pageframe1。page1.commandgroup1。Command3.enabled=.f。

Thisform.pageframe1.page1.commandgroup1。Command4.enabled=。f.

thisform.refresh

“添加新记录”的Click事件

Thisform.pageframe1.page1。Commandgroup1。enabled=.f. Thisform。pageframe1。page1.Command2.enabled=.f。

Thisform。pageframe1.page1。Command3。enabled=。f。

Thisform.pageframe1。page1.Command4.enabled=.t。

if Thisform。pageframe1.page1.Command1.caption=”添加新记录”

13

Thisform。pageframe1。page1.text1.enabled=。t。

Thisform。pageframe1.page1.text2。enabled=。t.

Thisform。pageframe1.page1.text3。enabled=。t。

Thisform。pageframe1。page1.text4。enabled=。t。

Thisform.pageframe1.page1.text5.enabled=.t.

append blank

Thisform。pageframe1.page1。text1.value=\"”

Thisform.pageframe1。page1。text2.value=\"”

Thisform。pageframe1。page1.text3。value=”\"

Thisform。pageframe1.page1。text4.value=”\"

Thisform。pageframe1。page1。text5.value=\"”

Thisform。pageframe1.page1.Command1.caption=’添加确认’

Thisform。pageframe1.page1.Command1.refresh

else

Thisform。pageframe1。page1。Command1。caption=’添加新记录'

Thisform。pageframe1。page1。refresh

Thisform.pageframe1.page1.Commandgroup1.enabled=.t。

Thisform.pageframe1.page1。Command2。enabled=。t。

Thisform。pageframe1。page1.Command3。enabled=.t。

Thisform。pageframe1.page1。Command4。enabled=。f.

Thisform。pageframe1。page1。text1.enabled=.f.

Thisform.pageframe1。page1。text2。enabled=。f。

Thisform.pageframe1.page1.text3.enabled=。f.

Thisform。pageframe1.page1。text4。enabled=.f.

Thisform.pageframe1。page1。text5.enabled=。f。

Endif

“更改此记录”的Click事件

Thisform.pageframe1。page1.commandgroup1.enabled=.f. Thisform。pageframe1。page1.command1.enabled=。f。 Thisform。pageframe1。page1.command3。enabled=。f. Thisform.pageframe1.page1.command4。enabled=。t.

14

if Thisform.pageframe1.page1。command2。caption=’更改此记录’

Thisform.pageframe1。page1.text1.enabled=。t.

Thisform.pageframe1.page1.text2.enabled=.t.

Thisform.pageframe1。page1.text3。enabled=。t.

Thisform.pageframe1.page1.text4.enabled=.t.

Thisform.pageframe1。page1。text5。enabled=.t.

Thisform.pageframe1.page1。command2.caption=’更改确认’

Thisform.pageframe1.page1.command2。refresh

else

Thisform.pageframe1。page1.command2.caption=’更改此记录’

Thisform。pageframe1。page1。refresh

Thisform.pageframe1。page1.commandgroup1。enabled=。t。

Thisform。pageframe1。page1。command1。enabled=。t。

Thisform.pageframe1。page1。command3。enabled=。t.

Thisform。pageframe1.page1.command4.enabled=。f。

Thisform.pageframe1.page1.text1.enabled=。f。

Thisform。pageframe1.page1.text2.enabled=。f.

Thisform。pageframe1.page1.text3。enabled=。f。

Thisform。pageframe1.page1。text4。enabled=.f.

Thisform。pageframe1.page1.text5.enabled=.f。

Endif

“删除此记录”的Click事件

answer=messagebox(”确定删除此记录吗,”,33,\"确定删除\")

if answer=1 then

delete

pack

thisform.refresh

endif

“查询”的Click事件

select 客户信息

go top

15

locate for 客户=alltrim(thisform.pageframe1.page2.text6.value)

thisform.pageframe1.page2。text1.value=客户号

thisform.pageframe1。page2.text2。value=客户

thisform.pageframe1。page2。text3。value=电话号码

thisform。pageframe1。page2.text4.value=地址

thisform.pageframe1.page2。text5。value=邮编

thisform。refresh

if .not。found()

messagebox('没有找到所要的记录~',48,’没有找到记录’)

endif

5。6系统销售信息管理界面

“预览”的Click事件

if thisform.pageframe1.page2。optiongroup1。option1。value=1 then

report form prit1 preview

else

if thisform.pageframe1。page2.optiongroup1.option2。value=1 then

report form prit2 preview

16

else

report form prit3 preview

endif

endif

“打印”的Click事件

if thisform.pageframe1。page2.optiongroup1.option1。value=1 then

report form prit1 to printer prompt

else

if thisform.pageframe1.page2。optiongroup1。option2.value=1 then

report form prit2 to printer prompt

else

report form prit3 to printer prompt

endif

endif

5。7系统增删用户界面

“添加用户\"的“确定”的Click事件

name=alltrim(thisform.pageframe1。page1。text1。value) password=alltrim

thisform

pageframe1.page1.text2.value)

popedom=alltrim(thisform.pageframe1。page1。text4.value) if

alltrim(thisform.pageframe1。page1.text2.value)=alltrim(thisform。pageframe1。pa

ge1。text3.value)

append blank

replace 用户名 with name

replace 密码 with password

17

replace 权限等级 with popedom

messagebox(”添加用户成功\",48,\"添加成功\")

thisform.pageframe1。page1。text1.value=\"\"

thisform.pageframe1。page1。text2.value=\"\"

thisform.pageframe1.page1.text3。value=\"\"

thisform。pageframe1。page1.text4。value=\"”

else

messagebox(\"密码错误,请重新输入”,48,”添加失败”)

thisform。pageframe1.page1。text2.value=\"”

thisform.pageframe1.page1.text3。value=”\"

endif

“删除用户”的“确定”的Click事件

name=alltrim(thisform.pageframe1。page2.combo1yn=messagebox(”确定删除,”,36,\"确定删除\")

if yn=6 then

value)

delete from 用户密码 where 用户名=name

pack

messagebox(\"删除用户成功”,36,”删除成功”)

thisform。pageframe1.page2。combo1.value=\"\"

18

endif

5。8系统修改密码界面

“确定”的Click事件

use 用户密码

name=alltrim(thisform.text1。value)

password=alltrim(thisform。text2.value)

set order to 用户名

seek name

if alltrim(用户密码。用户名)=name

if alltrim(用户密码.密码)=password

popedom=用户密码.权限等级

if alltrim(thisform.text3。value)=alltrim(thisform.text4.value)

password=alltrim(thisform。text3.value)

name=alltrim(thisform。text1。value)

update 用户密码 set 密码=password where 用户名=name

messagebox(\"密码修改成功\",32,\"信息窗口\")

thisform。release

use

else

19

messagebox(\"输入有误,请重新输入新密码\信息窗口\")

thisform。text2.value=”\"

thisform.text3。value=”\"

thisform。text4。value=”\"

endif

else

logtime=logtime+1

answer=messagebox(”密码有误,请重新输入密码\",36,”登录失败”)

do case

case answer=6

thisform.text2.value=””

thisform。text3。value=\"”

thisform。text4。value=\"\"

case answer=7

messagebox(\"登录失败\登录失败”)

thisform。release

main.release

endcase

if logtime=3

thisform.release

main。release

close all

clear event

endif

endif

else

logtime=logtime+1

answer=messagebox(”密码错误,请重新输入密码\,\"登录失败”)

do case

case answer=6

thisform。text2。value=\"”

20

thisform.text3。value=””

thisform.text4.value=\"\"

case answer=7

messagebox(”登录失败”,36,”登录失败thisform。release

main.release

close all

clear event

endcase

if logtime=3

\")

thisform。release

main。release

close all

clear event

endif

endif

5。9系统帮助界面

21

结 论

通过两个多月的实地调研与学习, 终于完成了销售管理系统的分析与设计工作.在做毕业设计之前,我对销售管理系统的认识还处在理论知识的水平上,根本就没有实际开发软件的经验。在对这个系统进行分析和设计的过程中,我碰到了很多问题,我也学会了许多知识。

致 谢

在这次的毕业设计中,让我深深地体会到进行软件开发不是一件简单的事情,它需要设计者具有全面的专业知识,慎密的思维、严谨的工作态度以及较高的分析问题、解决问题的能力.在分析问题、解决问题时显得不够严密、完善,还需要在以后的工作和学习中不断得到提高。最后,我要衷心感谢老师在我的设计过程中给予我的极大帮助,使我能够及时、顺利地完成这次的毕业设计。同时,也要感谢我的老师和同学们在设计过程中给予我的支持和帮助。

参考文献

1、蔡卓毅,林盛雄,林羽扬,黄竺等编著 中文 VisualFoxPro6.0数据库程序设计与实

例,冶金工业出版社,2003年

2、肖金华 招华全等编著 VisualFoxPro9。0程序设计与实例教程,冶金工业出版社 2006 3、毛一心。中文版Visual FoxPro6。0应用及实例集锦.北京:人民邮电出版社,1999 4、刘淳,唐伟奇。FoxPro Windows 程序设计。北京.中国水利水电出版社,2000

22

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- yrrf.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务