软件工程课程设计销售管理系统.docx
《软件工程课程设计销售管理系统.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计销售管理系统.docx(12页珍藏版)》请在冰豆网上搜索。
软件工程课程设计销售管理系统
销售管理系统
一.项目简介
随着计算机技术的迅猛发展,存在于网络的企业销售管理系统将逐步代替传统的管理模式进入企业。
为了更高效得完成销售方面的工作,也可以有更多的时间处理更多的别的事务,企业也将摆脱原有的管理形势完全进入信息化管理。
销售管理系统在企业的管理过程中起着巨大的作用
二.功能需求
一个销售管理系统,设计者的目标是满足公司运营和日常管理的需要,具有对产品,客户管理的功能。
客户登录销售管理系统进行售后服务查询,销售员可以对销售的产品进行登记,并将销售情况反馈给数据库。
为管理的方便性和信息传递的快速性提供了一个很好的平台。
系统开发的总体任务是实现售后服务及销售登记自动化。
总之,销售管理系统要实现登陆验证、商品销售管理、商品销售报表管理、客户信息管理四大部分。
1.客户对功能的需求
1>查看自己的信息,了解自己近期的购买情况。
2>查看产品的信息,熟悉产品情况。
2>查看售后服务信息。
2.销售人员对功能的需求
1>查看自己的信息,了解自己近期的销售情况。
2>查看产品的信息,熟悉产品情况。
3>登记销售产品。
4>添加新产品,并填写产品相关信息。
3.售后服务人员对功能的需求
1>查看售后服务信息。
2>添加售后服务信息。
三.分析模型时序图
销售管理系统顶层图
1.客户管理
第三层DFD图客户管理子系统
2.销售管理
第三层DFD图销售管理子系统
3.售后服务管理
第三层DFD图售后服务管理子系统
4.客户登录动态时序图为
四.模块活动图,登录流程图
1.注册、登陆模块
1>模块功能描述
该模块主要实现对用户能否进入系统的确认以及对进入系统的用户权限的设定;因为本系统涉及到三类使用者,不可能每一类用户都具有相同的操作权限,如前所说,必然会早成系统的混乱和崩溃,严重影响其安全性和有效性。
所以采取在通常的注册,登录模式下加上用户类型的选择,非常简洁地就完成了对用户类型的区别及权限的划分。
2>在模块的详细设计后,便能得出实现该部分的具体流程,如图
用户注册模块程序流程图
登录模块程序流程图
活动图为:
2.客户管理模块
1>模块功能描述
显示客户的基本信息。
库户可以查看自己的等级和交易次数。
2>在模块的详细设计后,便能得出实现该部分的具体流程,如图3-8。
客户管理模块流程图
活动图为:
3.销售管理模块
1 >模块功能描述
在这个模块可以登记销售记录。
并且在提交记录时,更新数据库:
(1)更新客户信息。
如果是“老客户”系统会按照客户等级给出对应的优惠价。
(2)更新产品信息。
主要是更新该产品数量。
2>在模块的详细设计后,便能得出实现该部分的具体流程,如图
销售管理模块流程图
活动图为
五.数据库设计
1.客户信息表
2.商品进货表
3.商品销售表
六.运行界面与代码
1.登陆窗口
DimconnAsADODB.Connection
DimrsAsADODB.Recordset
PrivateSubCmdOk_Click()
IfUserName.Text<>""AndPassWord.Text<>""Then
Setconn=NewADODB.Connection
Setrs=NewADODB.Recordset
conn.Open"Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&App.Path&"\人事.mdb;PersistSecurityInfo=False"
rs.Open"select*fromusermanagewhereusername='"&UserName.Text&"'",conn,1,1
IfNotrs.EOFThen
Ifrs("password")=PassWord.TextThen
Main.Show
UnloadMe
Else
MsgBox"非法登录,密码错误!
",vbOKOnly,"警告"
EndIf
Else
MsgBox"非法登录,找不到该用户!
",vbOKOnly,"警告"
EndIf
Else
MsgBox"用户名或密码不能为空!
",vbOKOnly,"提示"
EndIf
EndSub
PrivateSubPassWord_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=13Then
CallCmdOk_Click
EndIf
EndSub
PrivateSubUserName_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=13Then
CallCmdOk_Click
EndIf
EndSub
`2.主界面
PrivateSubCmd_Click(IndexAsInteger)
SelectCaseIndex
Case0
GoodsIn.Show
Me.Enabled=False
Case1
Saler.Show
Me.Enabled=False
Case2
SaleData.Show
Me.Enabled=False
Case3
SaleTotal.Show
Me.Enabled=False
Case4
UserM.Show
Me.Enabled=False
EndSelect
EndSub
`进货管理
PrivateSubCmd_Click(IndexAsInteger)
SelectCaseIndex
Case0'第一条
Adodc1.Recordset.MoveFirst
Case1'上一条
IfNotAdodc1.Recordset.BOFThen
Adodc1.Recordset.MovePrevious
EndIf
Case2'下一条
IfNotAdodc1.Recordset.EOFThen
Adodc1.Recordset.MoveNext
EndIf
Case3'最尾条
Adodc1.Recordset.MoveLast
Case4'添加
Adodc1.Recordset.AddNew
Fori=0To7
GoodText(i).Enabled=True
Next
Cmd(6).Enabled=True
Case5'修改
Fori=0To7
GoodText(i).Enabled=True
Next
Cmd(6).Enabled=True
Case6'保存
Adodc1.Recordset.Update
Fori=0To7
GoodText(i).Enabled=False
Next
MsgBox"更新记录成功!
",vbOKOnly,"提示"
Cmd(6).Enabled=False
Case6'删除
IfMsgBox("确定删除当前记录,数据将不可恢复?
",vbOKCancel,"提示")=vbOKThen
Adodc1.Recordset.Delete
EndIf
EndSelect
EndSub
PrivateSubForm_Load()
Adodc1.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&App.Path&"\人事.mdb;PersistSecurityInfo=False"
Adodc1.RecordSource="select*fromsave"
Fori=0To6
SetGoodText(i).DataSource=Adodc1
GoodText(i).DataField=Adodc1.Recordset.Fields(i).Name
Next
Adodc1.Refresh
SetDataGrid1.DataSource=Adodc1
EndSub
PrivateSubForm_Unload(CancelAsInteger)
Main.Enabled=True
EndSub
`销售管理
DimconnAsADODB.Connection
DimrsAsADODB.Recordset
PublicidAsString
PublicactionAsString
PrivateSubCmd_Click(IndexAsInteger)
SelectCaseIndex
Case0'第一条
IfNotAdodc1.Recordset.BOFThen
Adodc1.Recordset.MoveFirst
EndIf
Case1'上一条
IfNotAdodc1.Recordset.BOFThen
Adodc1.Recordset.MovePrevious
EndIf
Case2'下一条
IfNotAdodc1.Recordset.EOFThen
Adodc1.Recordset.MoveNext
EndIf
Case3'最尾条
IfNotAdodc1.Recordset.EOFThen
Adodc1.Recordset.MoveLast
EndIf
Case4'添加
action="add"
ManageSale.Show
Me.Enabled=False
Case5'修改
action="modify"
id=Adodc1.Recordset.Fields("id")
ManageSale.Show
Me.Enabled=False
Case7'删除
IfMsgBox("确定删除当前记录,数据将不可恢复?
",vbOKCancel,"提示")=vbOKThen
Setconn=NewADODB.Connection
Setrs=NewADODB.Recordset
conn.Open"Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&App.Path&"\人事.mdb;PersistSecurityInfo=False"
rs.Open"selectgoodcountfromsavewheregoodnum='"&GoodText(0).Text&"'",conn,1,3
rs("goodcount")=rs("goodcount")+GoodText(5).Text
rs.Update
rs.Close
Adodc1.Recordset.Delete
EndIf
EndSelect
EndSub
PrivateSubForm_Load()
Adodc1.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&A