企业销售管理系统.docx
《企业销售管理系统.docx》由会员分享,可在线阅读,更多相关《企业销售管理系统.docx(25页珍藏版)》请在冰点文库上搜索。
企业销售管理系统
企业销售管理系统
引言
本论文主要介绍的是企事业使用的销售管理系统的整个设计。
随着计算机技术的不断发展,计算机应用于各大领域,并给人们的生活带来了极大的便利。
以往企业销售管理由于缺乏适当的软件而给其工作带来了很多不便。
本论文所介绍的便是一个企业销售管理系统,以方便其在商品销售管理中的工作任务。
该系统适用于企业销售管理,其功能主要分为五大类:
系统初始化;客户信息管理、销售信息管理、增删用户等,该系统性能力求易于使用,具有较高的扩展性和可维护性。
整个系统的开发过程严格遵循软件工程的要求,做到模块化分析、模块化设计和代码编写的模块化。
1.系统需求分析
1.1现行业务系统描述
在企业,销售管理工作是非常重要的一项工作,它可以显示整个企业的销售量,销售管理等等。
以前都是人工进行操作。
随着企业规模扩大,销售处的销售管理工作量大大加重。
随着计算机应用的发展,销售工作者急切希望能够将大部分繁琐的工作交由计算机的处理,已减轻人工的压力并提高工作效率。
而计算机的普及更加快了销售管理系统的产生。
因此,使用现在的新技术,开发出适应新的需求的新系统的任务刻不容缓。
1.2业务流程分析
销售管理系统是一个面向企业销售管理,为其提供服务的综合信息管理系统。
销售管理人员通过本系统完成相关的日常工作,这些工作也是平常较为繁重的工作。
商品信息、销售信息和客户信息等情况都记录在销售管理系统里进行管理。
由销售人员在档案更新中完成对运行销售系统所需的基本数据的维护。
包括这些信息的增、修、改等,变动都将在这进行操作。
1.3现行系统存在的主要问题分析
现行系统的主要问题归纳起来主要有,单机单用户系统,随着网络的发展,同时销售管理系统中信息的使用者大大增加,原有的单机单用户系统已远远不能满足需要。
同时,原有的数据库也不支持多用户的网络运行环境。
1.4提出可能的解决方案
1
鉴于目前企业对销售管理系统的需求与实际情况,新系统方案的重点放在系统的可扩展性上,为了实现这一设计,新系统应具备以下几方面的要求:
1.新系统采用VisualFoxpro6.0开发成功,充分利用该开发程序的优势,提高了工作效率。
2.新系统从设计到实现都应遵循模块化,是用一致的接口进行信息的传递与模块调用。
模块的划分应尽量符合实际业务的划分,以保证以后新模块的加入尽可能少的影响现有功能模块的运行。
3.新系统所具有的特性:
通用性:
用户可根据本单位的需求灵活设置数据库结构,可满足不同层次,不同性质,不同业务工作的需求。
1.5可行性分析与决策
对于新系统设计的几个关键技术的可行性分析如下,
1.技术可行性
1)系统的软件可以使用在WIN98、WIN2000、WINXP这些目前主流的操作系统上,且容易使用。
2)系统的数据库支持,本系统彩面向对象的VF6.0开发而成,友好的界面,简易的操作。
工作人员只有稍加指导就可以熟练使用。
3)结论:
本系统信息量不算太大,实时程度要求不高,对软硬件要求比较简单,可以进行开发。
2.经济可行性
1)本系统只需一台计算机,配置奔腾III以上,256MB。
2)效益分析:
运用本系统后,可大大提高工作效率和工作质量,减少人工操作的一些失误。
3)本系统投入费用不高。
3.运行可行性
根据任务要求分析,此设计题目可以通过用VisualFoxPro6.0软件作为开发工具来完成,利用VisualFoPro6.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
字段名类型宽度小数位索引类型
密码字符型80
权限等级字符型80
用户名字符型10唯一
5
产品信息.dbf
字段名类型宽度小数位索引类型
产品号字符型100唯一产品名称字符型100
厂商字符型100
规格字符型300
价格数值型100
简介备注型4
品牌字符型100
型号字符型1010
客户信息.dbf
字段名类型宽度小数位索引类型
地址字符型300电话号码字符型140
客户字符型200
客户号字符型100唯一
邮编字符型100
销售信息.dbf
字段名类型宽度小数位索引类型产品号字符型100普通索引价格数值型100客户号字符型100普通索引售出时间日期型80数量数值型100
6
5.系统的详细设计
5.1系统欢迎界面
欢迎界面的模块
Form1的Load事件
tt=0
Form1的Click事件
doformcheckThisform.releaseForm1的KeyPress事件
doformcheckThisform.releaseTimer1的Init事件
publictt
tt=0
Timer1的Timer事件
tt=tt+1
iftt=3then
7
doformcheck
Thisform.release
Endif
5.2系统登录界面
“确定”按钮的Click事件
opendatabase销售管理
use用户密码.dbfshare
i=i+1
ifi<=3
ifempty(ThisForm.Text1.value).or.empty(ThisForm.Text2.value)
messagebox("用户名或密码不能为空~",48,"提示")
else
locatefor用户密码.用户名=alltrim(ThisForm.Text1.value).and.用户密码.密码;&&
定位到条件满足的第一条记录
=alltrim(ThisForm.Text2.value)
iffound()
thisform.release
8
setsysmenuoff&&禁止程序执行时访问系统菜单
setsysmenuto&&恢复系统菜单
settalkoff&&关闭人机对话
setstatusbaroff&&不显示VFP状态条
doformmain.scx
return
readevents
releaseall
clearall
else
messagebox("用户名或密码错误,请重输~",48,"提示")
ThisForm.Text1.gotfocus
endif
endif
else
messagebox("三次无效输入,系统将被关闭~",48,"警告")
ThisForm.release
quit
endif
“退出”的Click事件
ThisForm.release
closeall
clearevent
5.3系统主界面
Form1的Init事件
Use用户密码
publicpopedom
popedom=用户密码.权限等级
ifpopedom="1"then
ThisForm.Command4.enabled=.t.
9
else
ThisForm.Command4.enabled=.f.
Endif
“产品信息管理”按钮的Click事件
doformproduct
“退出”按钮的Click事件
ThisForm.releasecloseall
clearevent
5.4系统产品信息管理界面
Form1的Click事件
publicpno
ThisForm.Grid1.readonly=.t.“显示全部”按钮的Click事件
ThisForm.Grid1.recordsourcetype=1
ThisForm.Grid1.recordsource="产品信息"
ThisForm.Grid1.refresh
10
“添加记录”的Click事件
ThisForm.Grid1.refresh
appendblank
thisform.refresh
“更改数据”的Click事件
ThisForm.Grid1.recordsourcetype=1
ThisForm.Grid1.readonly=.f.ThisForm.Grid1.allowaddnew=.t.ThisForm.Grid1.refresh
“删除记录”的Click事件
delete
pack
ThisForm.Grid1.recordsourcetype=1ThisForm.Grid1.recordsource="产品信息"
ThisForm.Grid1.refresh
“确定”的Click事件
ThisForm.Grid1.readonly=.t.
11
5.5系统客户信息管理界面
“第一个记录”的Click事件
gotop
This.enabled=.f.
Tmandgroup1.Command2.enabled=.f.Tmandgroup1.Command3.enabled=.t.Tmandgroup1.Command4.enabled=.t.Thisform.refresh
“前一个记录”的Click事件
skip-1
ifbof()
messagebox("已是第一个记录",48,"提示信息")
Tmandgroup1.Command1.enabled=.f.
Tmandgroup1.Command2.enabled=.f.
else
Tmandgroup1.Command1.enabled=.t.
Tmandgroup1.Command2.enabled=.t.
12
endif
Tmandgroup1.Command3.enabled=.t.
Tmandgroup1.Command4.enabled=.t.
thisform.refresh
“后一个记录”的Click事件
skip
ifeof()
messagebox("已是最后一个记录",48,"提示信息")
Tmandgroup1.Command3.enabled=.f.
Tmandgroup1.Command4.enabled=.f.
else
Tmandgroup1.Command3.enabled=.t.
Tmandgroup1.Command4.enabled=.t.
endif
Tmandgroup1.Command1.enabled=.t.
Tmandgroup1.Command2.enabled=.t.
thisform.refresh
“最后一个记录”的Click事件
gobottom
Tmandgroup1.Command1.enabled=.t.
Tmandgroup1.Command2.enabled=.t.
Tmandgroup1.Command3.enabled=.f.
Tmandgroup1.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.
ifThisform.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.
appendblank
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事件
Tmandgroup1.enabled=.f.Tmand1.enabled=.f.Tmand3.enabled=.f.Tmand4.enabled=.t.
14
ifTmand2.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.
Tmand2.caption='更改确认'
Tmand2.refresh
else
Tmand2.caption='更改此记录'
Thisform.pageframe1.page1.refresh
Tmandgroup1.enabled=.t.
Tmand1.enabled=.t.
Tmand3.enabled=.t.
Tmand4.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,"确定删除")
ifanswer=1then
delete
pack
thisform.refresh
endif
“查询”的Click事件
select客户信息
gotop
15
locatefor客户=alltrim(thisform.pageframe1.page2.text6.value)
thisform.pageframe1.page2.text1.value=客户号
thisform.pageframe1.page2.text2.value=客户
thisform.pageframe1.page2.text3.value=电话号码
thisform.pageframe1.page2.text