软件工程课程设计销售管理系统方案.docx

上传人:b****8 文档编号:9527849 上传时间:2023-02-05 格式:DOCX 页数:21 大小:205.74KB
下载 相关 举报
软件工程课程设计销售管理系统方案.docx_第1页
第1页 / 共21页
软件工程课程设计销售管理系统方案.docx_第2页
第2页 / 共21页
软件工程课程设计销售管理系统方案.docx_第3页
第3页 / 共21页
软件工程课程设计销售管理系统方案.docx_第4页
第4页 / 共21页
软件工程课程设计销售管理系统方案.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

软件工程课程设计销售管理系统方案.docx

《软件工程课程设计销售管理系统方案.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计销售管理系统方案.docx(21页珍藏版)》请在冰豆网上搜索。

软件工程课程设计销售管理系统方案.docx

软件工程课程设计销售管理系统方案

销售管理系统

亠•项目简介

随着计算机技术的迅猛发展,存在于网络的企业销售管理系统将逐步代替传统的管理模式进入企业。

为了更高效得完成销售方面的工作,也可以有更多的时间处理更多的别的事

务,企业也将摆脱原有的管理形势完全进入信息化管理。

销售管理系统在企业的管理过程

中起着巨大的作用

一个销售管理系统,设计者的目标是满足公司运营和日常管理的需要,具有对产品,客户管理的功能。

客户登录销售管理系统进行售后服务查询,销售员可以对销售的产品进行登

记,并将销售情况反馈给数据库。

为管理的方便性和信息传递的快速性提供了一个很好的

平台。

系统开发的总体任务是实现售后服务及销售登记自动化。

总之,销售管理系统要实

现登陆验证、商品销售管理、商品销售报表管理、客户信息管理四大部分。

1•客户对功能的需求

1>查看自己的信息,了解自己近期的购买情况。

2>查看产品的信息,熟悉产品情况。

2>查看售后服务信息。

2.销售人员对功能的需求

1>查看自己的信息,了解自己近期的销售情况。

2>查看产品的信息,熟悉产品情况。

3>登记销售产品。

4>添加新产品,并填写产品相关信息。

3.售后服务人员对功能的需求1>查看售后服务信息。

2>添加售后服务信息。

三.分析模型时序图

销售管理系统顶层图

1.客户管理

第三层DFD图客户管理子系统

客户

帀査客户登陆信息

客户信息

客户信息有效

客户信息

售后服务信息i

销售信息

进入销售管理系统

2.销售管理

 

第三层DFD图销售管理子系统

一杳员信

幣售人员信息

俏售人员

■k1才I

ff1

/昶

'无效信息-

-1

产甜信息

4-

 

客户信息

销售信息

 

3.售后服务管理

第三层DFD图售后服务管理子系统

售后服务人员I

务人员登录、信息,

售后厳务人员信息有效

服务管理

无效信息

登记售后服务信息

售斥服务信息

 

 

4.客户登录动态时序图为

I.blnLagin_ClickQ.

2憾4用尸登录值息

*1

3.Loginfstnng,firing)

i>«

ii«

」;:

T/fiJhaatftfti密、

<1:

4

5Chg忙ZLog惦(stnng.Wiring)

9//樂示璇迎倍息<-

厂“豆整功

6w

A

■«

 

四.模块活动图,登录流程图

1.注册、登陆模块

1>模块功能描述

该模块主要实现对用户能否进入系统的确认以及对进入系统的用户权限的设定;因为本系

统涉及到三类使用者,不可能每一类用户都具有相同的操作权限,如前所说,必然会早成

系统的混乱和崩溃,严重影响其安全性和有效性。

所以采取在通常的注册,登录模式下加上用户类型的选择,非常简洁地就完成了对用户类型的区别及权限的划分。

2>在模块的详细设计后,便能得出实现该部分的具体流程,如图

用户注册模块程序流程图

 

登录模块程序流程图

活动图为:

IL

 

2.客户管理模块

i>模块功能描述

显示客户的基本信息。

库户可以查看自己的等级和交易次数

2>在模块的详细设计后,便能得出实现该部分的具体流程,如图3-8。

在召容门怡息

■*

瑚训创险客尸信

1

任看信息成功

添加開餘成功

1

〈丹厲〉

客户管理模块流程图

活动图为:

 

2

IO

系统提示用>户名无效』

 

3.销售管理模块

i>模块功能描述

在这个模块可以登记销售记录。

并且在提交记录时,更新数据库:

(1)更新客户信息。

如果是老客户”系统会按照客户等级给出对应的优惠价

(2)更新产品信息。

主要是更新该产品数量。

2>在模块的详细设计后,便能得出实现该部分的具体流程,如图

销售管理模块流程图

活动图为

 

销售人员登录系统4

选择查看商输入日期4

品销售记录4*

进行查询屮1

LX_

”日期无效a

J

rx/

1一一」

五•数据库设计

1.客户信息表

字段

数据类型

是否是主键

是否为空

说明

khid

Int

客户编号

khname

VarChar

客户名称

gyshjch

VarChar

客户简称

zhg

VarChar

采购主管

zhugtel

nChar

采购主管联系方式

adr

VarChar

客户地址

khtel

nchar

客户电话

fax

VarChar

传真

bzh

text

备注

2.商品进货表

字段

数据类型

是否是主键

是否为空

说明

jhbh

int

进货编号

shpmch

VarChar

商品名称

shpshp

Char

商品名称首拼

ddw

Char

大单位

xdw

Char

小单位

jhchb

numeric

进货成本

xshjg

numeric

销售价格

jhshul

int

进货数量

gysh

VarChar

供应商

jhrq

smalldatetime

进货日期

bzh

VarChar

备注

3.商品销售表

字段

数据类型

是否是主键

是否为空

说明

xshbh

Int

销售编号

shpmch

VarChar

商品名称

shpshp

VarChar

商品名称首

xshjg

Numeric

销售价格

xshshl

Int

销售数量

xshry

VarChar

销售人员

xshrq

Smalldatet

ime

销售日期

kh

VarChar

客户简称

bzh

text

是备注

六.运行界面与代码

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="&

人事.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(lndexAsInteger)

SelectCaseIndex

Case0'第一条

Adodc1.Recordset.MoveFirst

Case1'上一条

IfNotAdodc1.Recordset.BOFThen

Adodc1.Recordset.MovePrevious

EndIf

Case2'下一条

IfNotAdodc1.Recordset.EOFThen

AdodcI.Recordset.MoveNext

EndIf

Case3'最尾条

AdodcI.Recordset.MoveLast

Case4'添加

Adodcl.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'保存

AdodcI.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.O;Data

人事.mdb;PersistSecurityInfo=False"

Adodc1.RecordSource="select*fromsave"

Fori=0To6

SetGoodText(i).DataSource=Adodcl

GoodText(i).DataField=Adodc1.Recordset.Fields(i).Name

Next

Adodcl.Refresh

SetDataGridl.DataSource=Adodcl

EndSub

PrivateSubForm_Unload(CancelAsInteger)

1X0N&八O|/\iesp」oo轴•2pop\/

ZU丄dO319spjoo8^-Lopopvionj|

翳—丄.乙eseg

)1PU3

snO!

/\o」cPAO|/\iesp」oooBjopop\/

U8i|丄doaisspjooa^-Lopopv2nj|

翳—丁jeseg

)1PU3

1SJ!

J8AO|/\|48SPJOO8^'ppop\/

U8i|丄doaisspjooa^-Lopopv2nj|

翳一蚩.0Qseg

xapu|asegpaps

(j8681U|svxapu|)>|0!

i9-piu9qns八!

」d

6ui4Ssvuoipesiqnd

bumssvP!

oiiqnd

laspjooa^aaoavsvsjtuiauoipauuooacjOQVsvuuooiuiqqnspu^

oru丄=p8|qeu3uie|/\|

EndIf

Case3'最尾条

IfNotAdodc1.Recordset.EOFThen

AdodcI.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.O;DataSource="&人事.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;Data

人事.mdb;PersistSecurityInfo=False"

Adodc1.RecordSource="select*fromsaleorderbyid"

Fori=0To6

SetGoodText(i).DataSource=Adodcl

GoodText(i).DataField=Adodc1.Recordset.Fields(i+1).Name

Next

Adodcl.Refresh

SetDataGridl.DataSource=Adodcl

EndSub

PrivateSubForm_Unload(CancelAsInteger)

Main.Enabled=True

EndSub

添加修改销售记录

DimconnAsADODB.Connection

DimrsAsADODB.Recordset

PublicsalecountAsLong

PrivateSubCombo1_Change()

EndSub

PrivateSubCmd_Click(lndexAsInteger)

SelectCaseIndex

Case0

Setconn=NewADODB.Connection

Setrs=NewADODB.Recordset

conn.Open"Provider=Microsoft.Jet.OLEDB.4.O;DataSource="&

人事.mdb;PersistSecurityInfo=False"

IfGoodText(0)=""OrGoodText(3)=""OrGoodText⑷=""Then

MsgBox"数据没有输入完整,请重新输入!

",vbOKOnly,"提示"

ExitSub

EndIf

IfSaleData.action="add"Then

rs.Open"select*fromsale",conn,1,3

rs.AddNew

Else

rs.Open"select*fromsalewhereid="&SaleData.id,conn,1,3

EndIf

rs("Goodnum")=GNum.Text

rs("goodname")=GoodText

(1).Text

rs("danwei")=GoodText

(2).Text

rs("outdate")=GoodText(3).Text

rs("danjia")=GoodText⑷.Text

rs("outcount")=GoodText(0).Text

rs("salename")=SaleName.Text

rs.Update

rs.Closers.Open"select*fromsavewheregoodnum='"&GNum.Text&"'",

conn.

1,3'在库存表中将库存数量减去已售出的数量

IfSaleData.action="add"Then

rs("goodcount")=rs("goodcount")-GoodText(0).Text

Else

rs("goodcount")=rs("goodcount")-(GoodText(O).Text-salecount)

EndIf

rs.Update

rs.Close

MsgBox"数据更新成功!

",vbOKOnly,"提示"

SaleData.AdodcI.Refresh

UnloadMe

Case1

UnloadMe

EndSelect

EndSub

PrivateSubForm_Load()

Setconn=NewADODB.Connection

Setrs=NewADODB.Recordset

conn.Open"Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&App.Path人事.mdb;PersistSecurityInfo=False"

DimsalemanAsString

IfSaleData.action="add"Then

rs.Open"selectgoodnumfromsaveorderbygoodnum",conn,1,1DoWhileNotrs.EOF

GNum.AddItemrs(0)

rs.MoveNext

Loop

GNum.Text=GNum丄ist(O)

Else

rs.Open"select*fromsalewhereid="&SaleData.id,conn,1,1

GNum.Addltemrs("goodnum")

GoodText

(1).Text=rs("goodname")

GoodText

(2).Text=rs("danwei")

GoodText(3).Text=rs("outdate")

GoodText⑷.Text=rs("danjia")

GoodText(0).Text=rs("outcount")

saleman=rs("salename")

GNum.Text=GNum丄ist(0)

GNum.Enabled=False

rs.Close

rs.Open"select*fromsavewheregoodnum='"&GNum.Text&"'"

conn,1,1

SaleNum.Max=GoodText(0).Text+rs("goodcount")

salecount=GoodText(0).Text

EndIf

rs.Close

rs.Open"selectsalenamefromsalerorderbyid",conn,1,1

DoWhileNotrs.EOF

SaleName.AddItemrs(0)

rs.MoveNext

Loop

IfSaleData.action="add"Then

SaleName.Text=SaleName.List(O)

Else

SaleName.Text=saleman

Cmd(0).Caption="保存修改"

EndIf

rs.Close

EndSub

PrivateSubForm_Unload(CancelAsInteger)

SaleData.Enabled=True

EndSub

PrivateSubGNum_Click()

Setconn=NewADODB.Connection

Setrs=NewADODB.Recordset

conn.Open"Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&App.Path

人事.mdb;PersistSecurityInfo=False"

rs.Open"select*fromsavewheregoodnum='"&GNum.Text&"'",conn,1,

1

IfNotrs.EOFThen

GoodText

(1).Text=rs("goodname")

GoodText

(2).Text=rs("danwei")

SaleNum.Max=rs("goodcount")

EndIf

EndSub

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1