企业销售采购管理系统课程设计.docx
《企业销售采购管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《企业销售采购管理系统课程设计.docx(42页珍藏版)》请在冰豆网上搜索。
![企业销售采购管理系统课程设计.docx](https://file1.bdocx.com/fileroot1/2022-12/31/9e78ec91-d65f-4e3d-9f6a-b2a44cc5d842/9e78ec91-d65f-4e3d-9f6a-b2a44cc5d8421.gif)
企业销售采购管理系统课程设计
2.2数据流程分析3
2.3数据字典4
参考文献46
1.引言
1.1需求分析
随着电子产品创新性技术的迅速发展、人民生活水平的提高,电脑已成为人们追求娱乐不可或缺的生活用品。
而对于销售这些产品的终端,无论是规模型的商场还是小的商店,都要求它们的采购业务能顺利、高效地进行。
博宏电脑公司近年来的销售量激增,但是采购业务成为了它获取高效益的掣肘。
该公司无论是高层领导还是员工,都希望能开发一个采购管理系统,对采购业务进行管理。
在该公司中,产品的采购管理是一项日常性的工作。
电脑产品因其更新换代迅速,如果做不到使产品的采购量以及采购时间适应需求的变化,那么很容易造成商品积压或脱销,不仅影响商品的销售业绩,也会增加库存费以及采购环节不必要的支出,最终影响公司的效益。
另外,该公司的商品种类非常繁多,采购量大且频繁,依靠传统的手工处理记录是很难对采购环节进行及时、正确地处理。
所以开发并应用采购管理系统成为适应时代发展,使管理现代化的重要措施。
采购管理系统体现了当今先进的企业管理思想,对提高企业的管理水平有着重要的意义。
采购管理系统能够保证计划的准确性和采购的合理性,降低商品的运营成本,让利于消费者,提升该公司的竞争力。
1.2可行性分析
可行性分析的任务是明确开发该采购管理系统的必要性和可行性。
该公司的采购环节出现了制约商场发展的现象,利用计算机技术解决采购业务数据的处理迫在眉睫,公司的领导支持开发采购管理系统,管理人员、员工积极响应。
因此开发采购管理系统的必要性与可行性是存在的。
具体表现为:
1)管理上的可行性:
公司内部的采购环节的滞后让管理人员的日常管理工作难以顺利地进行,领导层也注意到当前落后的采购管理手段对商品的销售利润影响很大,公司上下都对采购管理系统的开发有很大的热情,迫切需要对其采购管理进行改革,开发采购管理系统的时机已成熟。
2)技术上的可行性:
由于该公司的办公室、采购部门、库存部门、销售部门和财务部门等都使用了电脑办公,公司员工的素质较高,员工的技术水平达到了采购管理系统所要求的水平。
目前可视化开发技术及工具(如visualbasic)和数据库技术(如access)很成熟,并且该采购管理系统在公司现有的硬软件资源基础上可以实施,因此技术上是可行的。
3)经济上的可行性:
该系统所需的硬件设备,如服务器、PC机、打印机以及网络配件等的市场价格不高,且目前主流的配置就能满足该系统的功能要求,设备费用的支出很小。
该公司对于此次开发MIS的经济效益和费用支出进行了比较评价,回收期短。
该公司经济效益好,现金流正常,为此次项目开发提供了充足的经费。
由于该系统规模小,仅在公司内部运行,日常的维护量不大,所以运行费用低。
但是由于采用了采购管理系统,减少了采购环节的人员作业,提高了工作效率,进而降低了商品的成本,这些费用的节省远大于该采购管理系统的开发和运行费用。
2.系统分析
2.1业务流程分析
图2.1为采购管理系统业务流程图:
描述了系统内各单位、人员之间业务关系、作业顺序和管理业务流向的图表。
供应商
付款单
退款单
采购订单
财务部
采购员
退货单
采购开单
收货单
仓库管理员
图2.1采购管理业务流程图
2.2数据流程分析
根据数据流程图画出的业务流程图如图2.2和图2.3所示:
数据流程图能全面地描述信息系统逻辑模型
供应商
提货单
采购处理
采购订单
图2.2采购管理的顶层数据流程图
财务账簿
财务部
退货单数据
订
单
数
据
采购订单审核处理
采购部
供应商
采购订单订单数据
入出
库库
单单
销售部
收退货处理
库存处理
销售报表出、入库数据
库存台账
图2.3采购管理系统的第二层数据流程图
2.3数据字典
1)数据项的定义(以采购订单的单据编号为例)
数据项编号:
I02-01
数据项名称:
单据编号
别名:
单据编号
简述:
区别采购订单唯一性的代码
类型与长度:
字符型,长度为11
取值范围:
“20110101001”~“21001231999”
2)数据结构的定义(以采购订单为例)
数据结构编号:
DS02-01
数据结构名称:
采购订单
简述:
采购部门所填采购订单信息
数据结构组成:
DS02-02+DS02-03+DS02-04
3)数据流的定义(以采购订单为例)
数据流编号:
D02-02
数据流名称:
合格的采购订单
简述:
经审核批准的采购订单
数据流来源:
采购订单审核处理模块
数据流去向:
采购部门
数据项组成:
单据编号+录单日期+商品编号+商品名称+型号+规格+单位+数量+单价+合计金额+供应商+到货日期+联系人+电话+业务员+摘要
数据流量:
约30张/日
高峰流量:
约50张/日
4)处理逻辑的定义(以采购订单审核为例)
处理逻辑编号:
P02-01
处理逻辑名称:
采购订单审核处理
简述:
审核采购订单是否合格并给予批准或不批准
输入的数据流:
采购订单
审核处理描述:
审核采购部门送来的采购订单填写格式是否符合要求,单据上的信息是否符合采购计划,是否真实等。
不合格的单据返回采购部门,合格的单据登记采购订单台账。
输出的数据流:
合格的采购订单,未批采购订单
处理频率:
约30次/日
5)数据存储的定义(以采购订单数据存储为例)
数据存储编号:
F02-01
数据存储名称:
采购订单台账
简述:
存放采购订单信息
数据存储组成:
单据编号+录单日期+商品编号+商品名称+型号+规格+单位+数量+单价+合计金额+预付账户+预付金额+供应商+到货日期+联系人+电话+业务员+摘要
关键字:
单据编号
相关联的处理:
P02-01
6)外部实体的定义(以供应商为例)
外部实体编号:
S02-01
外部实体名称:
供应商
简述:
提供商品的供应商
输入的数据流:
D02-02
输出的数据流:
D02-01
3.系统设计
3.1系统总体结构
新系统的功能设计是以业务流程图和数据流程图为依据的。
对该采购管理系统划分为系统设置、资料管理、采购订单、订单收货、采购开单、采购付款、采购退货、产品销售等功能模块。
根据以上分析,该采购管理系统功能划分图如图3.1所示:
采购管理系统
系统设置
采购管理
产品销售
采购退货
采购付款
采购开单
订单收货
采购订单
修改密码
权限管理
添加用户
图3.1采购管理系统功能结构图
3.2数据结构与数据库设计
①E—R模型:
概念模型的最常用的表示方法是实体-联系方法。
商品名称
型号
商品编号
订单号
规格
采购订单
日期
供应商名称
交给
联系人
编号
供应商
电话
名称
日期
交货
商品数量
商品名称
仓库
订单号
数量
采购开单
单价
商品名称
商品编号
图3.2采购管理系统E-R模型图
②数据表的设计:
这是根据数据流程图设计的数据表
主键
列名
数据类型
长度
允许空
*
供应商代码
char
3
*
供应商名称
文本
4
*
产品代码
char
6
*
产品名称
文本
4
图3.1产品销售表
主键
列名
数据类型
长度
允许空
*
商品编号
char
6
*
商品名称
文本
4
*
型号
文本
8
*
规格
文本
9
*
单位
文本
15
*
数量
varchar
1~5
*
单价
char
4
*
合计金额
varchar
1~9
*
单据编号
varchar
3
*
供应商
文本
4
*
入库日期
datatime
8
*
联系人
文本
3
*
电话
char
11
*
业务员
文本
3
*
摘要
文本
9
表3.2商品库存表
3.3代码设计
代码设计部分主要是采购订单号的设计。
博宏公司的主要合作伙伴为其设计固定的编码。
采购订单号是由供应商名和产品类别构成的。
表3.3为采购订单编号表:
供应商代码*
供应商名称
产品代码
产品名称
001
A经销商
N-01
联想电脑
002
B经销商
N-02
戴尔电脑
003
C经销商
N-03
索尼电脑
004
D经销商
N-04
华硕电脑
005
E经销商
N-05
宏基电脑
006
F经销商
N-06
三星电脑
007
G经销商
N-07
惠普电脑
表3.3采购订单编号表
3.4输入输出设计
输出设计:
输出设备:
打印机、显示器
输出报告:
输出设计书
资料代码
XS-01
输出名称
销售报表
份数
1
报送
库存部门
项目号
项目名称
位数及编辑
备注
1
商品编号
X(4)
2
商品名称
X(6)
3
型号
X(6)
4
销售数量
X(3)
表3.4输出设计书
输入设计:
对输入信息进行校验
①在登陆界面:
用户名及密码不能为空,如不填写两者或两者之一,则会弹出对话框提醒"用户不存在,请从新输入!
"如果用户输入的密码不是密码管理表中的用户名及密码,则会弹出对话框提醒"用户不存在,请从新输入!
"
②在产品销售中:
商品编号不能为空,否则会弹出对话框提醒"Sorry,未找到你所查询的数据,请查证后再试……"
单据号
规格
数量
录单日期
单位
单价
商品编号
到货日期
合计金额
商品名称
业务员
预付账户
型号
联系人
预付金额
供应商
电话
摘要
表3.5产品销售单录入屏幕
3.5系统的安全设计
信息系统安全设计主要解决以下几个问题:
1止带宽资源滥用
2防止无关网络行为影响工作效率
3管控外发信息,降低泄密风险
4掌握组织动态、优化员工管理
5为网络管理与优化提供决策依据,防止病毒木马等网络风险
⑥低成本且有效推行信息管理制度等
4.系统实施
4.1系统实施
一、登录界面
当输入的账号为:
xiaolin密码为:
xiaolin时,焦点会自动落在确定上面,此时点击确定或按回车键即可以登入系统。
若错误,则会弹出对话框提醒“此用户不存在,请重新输入!
”并且它的输入密码为“*”,是在属性栏中的passwordchar设置“*”。
用户名及密码不能为空,如不填写两者或两者之一,则会弹出对话框提醒"此用户不存在,请从新输入!
"
如果用户输入的密码不是密码管理表中的用户名及密码,则会弹出对话框提醒"此用户不在,请从新输入!
"
图4-1登陆窗口
它的具体代码为:
DimTIMAsInteger'定义一个整型变量
DimmyvalAsString'定义一个字符串变量
PrivateSubForm_Load()'连接access数据库
Adodc1.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&App.Path&"\采购管理系统.mdb;PersistSecurityInfo=False"
Adodc1.RecordSource="select*from用户"
Adodc1.Refresh
EndSub
PrivateSubCommand1_Click()
StaticitimesAsInteger
Form2.StatusBar1.Panels(4).Text=Text1.Text
'验证用户名及密码
Adodc1.RecordSource="select*from用户where用户名='"+Text1.Text+"'"
Adodc1.Refresh
IfAdodc1.Recordset.RecordCount>0Then'如果记录数大于零
'验证密码
IfText2.Text=Adodc1.Recordset.Fields("密码")Then
LoadForm2
Form2.Show
UnloadMe
Else
IfText2.Text<>Adodc1.Recordset.Fields("密码")Then
MsgBox"密码错误,请重新输入!
",vbCritical,"系统提示"
itimes=itimes+1
Text2.Text=""
Text2.SetFocus
EndIf
EndIf
Else
MsgBox"用户不存在,请重新输入!
",vbCritical,"系统提示"
itimes=itimes+1
Text1.Text=""
Text2.Text=""
Text1.SetFocus
EndIf
Ifitimes=3Then'错误3次,退出系统
MyMsg=MsgBox("输入错误,请向管理员查询!
",vbCritical,"系统提示")
IfMyMsg=vbOKThenEnd
EndIf
EndSub
PrivateSubCommand2_Click()
End
EndSub
PrivateSubtext2_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
IfKeyCode=vbKeyReturnThenCommand1_Click'按回车键进入
EndSub
PrivateSubText1_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
IfKeyCode=vbKeyReturnThenText2.SetFocus'按回车键,text2获得焦点
EndSub
二、主界面
主界面是登陆后最基础的一个界面,内容包括采购订单,订单收获,采购开单,采购付款,采购退货,产品销售。
图4-2主界面
它的具体代码为:
PrivateSubCommand1_Click()
Form3.Show
Form2.Enabled=False
EndSub
PrivateSub供应商资料_Click()
Form21.Show
Form2.Enabled=False
EndSub
PrivateSub库存查询_Click()
Form8.Show
Form2.Enabled=False
EndSub
PrivateSub权限管理_Click()
Form91.Show
Form2.Enabled=False
EndSub
PrivateSub添加用户_Click()
Form9.Show
Form2.Enabled=False
EndSub
PrivateSub退出系统_Click()
End
EndSub
PrivateSub修改密码_Click()
Form92.Show
Form2.Enabled=False
EndSub
三.添加用户
图4-3添加用户
它的具体代码为:
PrivateSubForm_Load()
'自动识别数据库路径
Adodc1.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&App.Path&"\采购管理系统.mdb;PersistSecurityInfo=False"
Adodc1.RecordSource="select*from权限设置"
Adodc1.Refresh
Adodc2.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&App.Path&"\采购管理系统.mdb;PersistSecurityInfo=False"
Adodc2.RecordSource="select*from用户"
Adodc2.Refresh
EndSub
PrivateSubForm_Activate()
Text1.SetFocus'text1获得焦点
EndSub
PrivateSubForm_Unload(CancelAsInteger)
Form2.Enabled=True
EndSub
PrivateSubText1_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
IfKeyCode=vbKeyReturnThenText2.SetFocus'回车text2获得焦点
EndSub
PrivateSubtext2_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
IfKeyCode=vbKeyReturnThenText3.SetFocus'回车text3获得焦点
EndSub
PrivateSubText3_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
IfKeyCode=vbKeyReturnThenCommand1.SetFocus'回车Command1获得焦点
EndSub
PrivateSubCommand1_Click()
Dimyhm'保存用户名及密码
IfText1.Text<>""Then
Adodc1.RecordSource="select*from用户where用户名='"+Text1.Text+"'"
IfText1.Text=Adodc1.Recordset.Fields("用户名")Then
MsgBox"已添加该用户,请重新添加",,"系统提示"
Text1.Text="":
Text2.Text="":
Text3.Text=""
Text1.SetFocus
ElseIfText2.Text<>""AndText3.Text<>""AndText2.Text=Text3.TextThen
adocon.Open"Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&App.Path&"\采购管理系统.mdb;PersistSecurityInfo=False"
adoRs.Open"select*from用户",adocon,adOpenKeyset,adLockOptimistic
adoRs.AddNew
adoRs.Fields("用户名")=Text1.Text
adoRs.Fields("密码")=Text2.Text
adoRs.Update
adocon.Close
adocon.Open"Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&App.Path&"\采购管理系统.mdb;PersistSecurityInfo=False"
adoRs.Open"select*from权限设置",adocon,adOpenKeyset,adLockOptimistic
adoRs.AddNew
adoRs.Fields("用户名")=Text1.Text
adoRs.Fields("密码")=Text2.Text
adoRs.Update
adocon.Close
Text1.Text="":
Text2.Text="":
Text3.Text=""
MsgBox"添加用户成功!
",,"系统提示"
ElseIfText3.Text=""Then
MsgBox"请输入确认密码",,"系统提示"
Text3.SetFocus
ElseIfText2.Text<>Text3.TextThen
MsgBox"两次输入的密码不相同",,"系统提示"
Text2.Text=""
Text3.Text=""
Text2.SetFocus
EndIf
Else
MsgBox"请输入用户名!
",,"系统提示"
EndIf
EndSub
PrivateSubCommand2_Click()
Text1.Text="":
Text2.Text="":
Text3.Text=""
EndSub
PrivateSubCommand3_Click()
UnloadMe
Form2.Show
Form2.Enabled=True
EndSub
四.密码设置
本功能允许使用者对密码进行修改,取保系统的安全与方便。
如果你是系统的用户,输入用户名可对自己的密码进行修改。
图4-4密码设置
它的具体代码为:
PrivateSubForm_Load()
Adodc1.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&App.Path&"\采购管理系统.mdb;PersistSecurityInfo=False"
Adodc1.RecordSource="select*from权限设置"
Adodc1.Refresh
EndSub
PrivateSubCommand1_Click()
IfText1.Text=""OrText2.Text=""OrText3.Text=""Then
MsgBox"输入不能为空!
!
",48,"提示信息"
Else
Adodc1.RecordSource="select*from权限设置where用户名='"+Text1.Text+"'"
Adodc1.Refresh
IfAdodc1.Recordset.RecordCount>0Then
IfText2.Text=Adodc1.Recordset.Fields("密码")Then
adocon.Open"Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&App