销售管理系统课程设计报告.docx

上传人:b****1 文档编号:20473894 上传时间:2023-04-25 格式:DOCX 页数:37 大小:892.34KB
下载 相关 举报
销售管理系统课程设计报告.docx_第1页
第1页 / 共37页
销售管理系统课程设计报告.docx_第2页
第2页 / 共37页
销售管理系统课程设计报告.docx_第3页
第3页 / 共37页
销售管理系统课程设计报告.docx_第4页
第4页 / 共37页
销售管理系统课程设计报告.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

销售管理系统课程设计报告.docx

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

销售管理系统课程设计报告.docx

销售管理系统课程设计报告

2系统分析3

2.1需求分析3

2.2可行性分析3

3系统设计4

3.1系统功能模块图4

3.2设计思想4

3.3模块功能设计5

4数据库设计6

4.1数据库的建立6

4.2系统E-R图6

4.3各个数据表的创建7

4.4触发器设计10

4.5存储过程设计11

5系统实现12

5.1系统实现工具与支持平台12

5.2系统设置模块设计12

5.3产品信息模块设计………………………………………………………………………..14

5.4订购管理模块设计………………………………………………………………………..18

5.5销售管理模块设计………………………………………………………………………..19

5.6系统主界面设计…………………………………………………………………………..28

6总结与展望29

6.1收获与体会29

参考文献30

致谢31

课程设计检查表32

1绪论

1.1课题背景

随着中国电子商务、互联网业务的迅猛发展,国内许多企业已跨入电脑网络管理时代,并因此提高了管理效率和市场竞争力。

但目前仍有部分企业还停留在原始计账管理阶段。

而随着全球经济信息化的进程和WTO的成功实现,企业面临着前所未有的机遇和挑战,在如此激变的社会形势和激烈的市场竞争下,愈来愈多的企业管理者意识到效率管理和科学管理的重要性,以及增强市场竞争力的迫切性,因此建立科学、规范、高效的管理制度和秉承富有竞争力的经营理念是每一个企业管理者的渴望,企业采用电脑管理进货、库存、销售等诸多环节也已成为趋势及必然。

许多从事商业活动的企业都需要采购商品、销售商品以及将商品暂时存储在仓库中,对这一工作流程进行有效地管理和控制,对这些企业来说是非常重要。

在进货、库存、销售环节中,由于商品种类繁多、业务量大、库存管理复杂,使用手工操作的工作量很大,在操作过程中也很容易出现各种错误。

而采用计算机管理则可以大大提高日常工作的效率,不仅将原来由手工操作的进货、出货及销售这一整套流程用计算机进行全程管理,而且消除了手工操作中可能存在的不确定因素,达到进销存管理流程清晰,从而能够比较彻底地贯彻经营者的管理模式。

1.2系统开发相关技术介绍

本系统相关开发的技术有两种,利用专门的数据库编程工具:

Oracel;另一种方法是:

利用常规的程序语言编写:

VB。

VisualBasic6.0作为一种面向对象的可视化开发工具,易于使用并能够带来高效的开发,它与Oracle之间的通信有许多的工具集,因而使用VisualBasic6.0来开发数据库被越来越多的企业采用。

在连接Oracle10g数据库上,利用ADO对象模型,创建几个简单的对象和数据来源进行连接,然后从中取得所需要的数据,进行数据访问操作后保存。

ADO(ActiveXDataObjects)对象模型主要由三个对象成员:

Connection、Command与Recordset对象;以及三个集合对象:

Errors、Parameters与Fields对象所组成。

ADO对象模型与DAO、RDO另一个较大的差异,在于某些ADO对象可以直接创建而不需依据上下层按顺序产生,比如我们可以直接创建一个Command对象而不需要先行创建该对象的上层Connection对象,ADO会在该Command对象产生时自动创建上层Connection对象。

对象和集合的功能描述:

Connection对象连接数据来源

Command对象从数据来源取得所需的数据

Recordset对象针对取出的数据进行处理

Errors集合对象返回错误信息和其他信息

Parameters集合对象执行SQL查询

Fields集合对象获取和处理字段数据

下面给出ADO对象间的关系(如下图1.1):

 

2系统分析

2.1需求分析

通过调查研究,要求系统满足以下功能:

由于操作人员的计算机知识水平有限,因此要求系统具有良好的人机界面。

●如果系统的使用对象较多,则要求有较好的权限管理。

●方便的数据查询功能,并支持多条件查询。

●在各种单据中根据输入的基础数据自动计算金额,尽量减少人工干预。

●对客户或供应商的往来账目进行有效管理。

●通过计算机,能够直接“透视”仓库存储情况。

2.2可行性分析

●通过计算机网络系统对企业进行全面的管理,满足了企业的现代化管理的要求。

●经济性

●当前许多中小型企业都使用人工管理方式(即纸和笔)来管理企业的进销存,这样的管理方式既困难又浪费时间和成本,并且容易出现漏账、差账的情况,因此中小企业应该向大型企业那样采用先进的管理方式,提高企业效率、降低企业运营成本。

●技术性

●企业进销存管理系统从中小企业的实际出发,可有效地管理企业的进销存情况,并降低企业运营成本、及时调整营销策略、提高库房的利用率。

 

3系统设计

3.1系统功能模块图

根据对销售管理系统进行可行性分析和结构化程序设计的要求,得到系统总体功能模块,如图3.1所示:

 

图3.1销售管理系统功能结构图

3.2设计思想

(1)系统分成前台和后台几个相对独立的模块,这些模块都进行集中式管理。

(2)分层的模块化程序设计思想,整个系统采用模块化结构设计。

作为应用程序有较强的可操作性和扩展性。

(3)合理的数据流设计,在应用系统设计中,相对独立的模块间以数据流相互连接,使各模块间的耦合性较低,方便系统运行,提高系统安全性。

3.3模块功能设计

销售管理系统作为一种信息管理软件,既可以帮助快速有效地完成各种信息录入、查询和修改的计算机管理,又可以对信息进行简单地分析。

销售管理系统的主要任务是实现订购和销售的管理。

主要功能模块包括:

1.基本信息管理功能:

●客户信息的录入、修改和删除。

●仓库信息的录入、修改和删除。

●用户信息的录入、修改和删除。

2.产品信息管理功能:

●产品类目的添加、修改和删除。

●产品信息的管理。

3.商品订购管理功能:

●订购单的添加、修改和删除。

●订购退货单管理。

4.商品销售管理功能:

●销售单的添加、修改和删除。

●销售退货管理。

5.库存管理功能:

●入库管理。

●出库管理。

●库存管理。

 

4数据库设计

4.1数据库的建立

数据库的设计尽量的实现与应用程序做到最低等级的耦合,按照三层模式两级联系的方式设计数据库,把数据库设计成层次清晰的,高效的,实用数据库。

在该系统的数据库设计方面,把数据库的设计分为四层:

基本表,视图,包,存储过程。

其中视图作为联系存储过程与基本表的桥梁必须进行认真的设计,在最外层,包中包含存储过程要用到的一些信息,也可以认为包和存储过程是处于相同的层次,不将存储过程放置在包中,是考虑到对进行数据库基本表、视图以及功能型的存储过程扩展的时候应尽量避免和减少对系统的层次模型的影响。

以降低产生错误的可能。

但在数据库设计已经相对稳定的情况下,可以将存储过程置于包中,由于这是第一次使用ORACLE开发系统,兼顾上面的原因,而采用了包与存储过程分离的方式。

因为该系统是采用三层架构设计的,可通过应用服务器的扩展来实现新功能的添加。

而在该课程设计的内容定义方面,保证了数据的独立性,该系统对数据记录的操作也因为其课程设计中定义的数据操作方式和操作内容而注定不会产生脏数据及数据读写的不一致性,故在数据库设计方面未采用触发器。

我们认为在扩展应用服务器至多种功能后,将应用服务器分为控制部分和客户应用部分,此时在控制部分添加触发器来防止数据读写的不一致性,这已经超出了本次课程设计所涉及的范围,在此不做过多的陈述。

4.2系统E-R图

销售管理系统数据库E-R模型,如图4.1所示:

 

 

图4.1销售管理系统数据库E-R图模型

4.3各个数据表的创建

由数据模型利用Oracle10g进行数据库的详细设计,其基本表的设计如下:

根据主体流程图,基本表设计情况如下:

表3.1用户信息表(Users)

列名

数据类型

长度

说明

UserName

Varchar2

50

用户名

Pwd

Varchar2

50

密码

UserType

Number

1

用户类型

EmpName

Varchar2

50

员工姓名

 

表3.2仓库信息表(Storehouse)

列名

数据类型

长度

说明

StoreId

Number

1

仓库编号

StoreName

Varchar2

50

仓库名称

Describe

Varchar2

50

仓库说明

表3.3商品类目表(ProType)

列名

数据类型

长度

说明

TypeId

Number

1

商品类目编号

TypeName

Varchar2

50

商品类目名称

UpperId

Number

1

上级商品类目

表3.4商品信息表(Product)

列名

数据类型

长度

说明

ProId

Number

1

商品编号

ProName

Varchar2

50

商品名称

TypeId

Number

1

商品类型编号

ProStyle

Varchar2

50

商品规格

ProUnit

Varchar2

10

计量单位

ProLow

Number

5

商品数量下限

ProHigh

Number

10

商品数量上限

表3.5订购信息表(Orders)

列名

数据类型

长度

说明

OrderId

Number

2

订购单号

OrderType

Varchar2

20

订购类型

ProId

Number

3

订购商品编号

ProPrice

Number

15

订购商品单价

ProNum

Number

10

订购商品数量

ProAmount

Number

15

订购商品总金额

OptDate

Char

10

订购日期

EmpName

Varchar2

50

经办人

Stored

Number

1

出/入库标记

 

表3.6销售信息表(Sales)

列名

数据类型

长度

说明

SaleId

Number

1

销售单号

SaleType

Varchar2

20

销售类型

ProId

Number

3

销售商品编号

ProPrice

Number

15

销售商品单价

ProNum

Number

5

销售商品数量

ProAmount

Number

15

销售商品总金额

ClientId

Number

1

客户编号

OptDate

Char

10

订购日期

EmpName

Varchar2

50

经办人

Stored

Number

1

出/入库标记

表3.7入库操作信息表(StoreIn)

列名

数据类型

长度

说明

StoreinId

Number

1

入库编号

StoreinType

Varchar2

20

入库类型

StoreId

Number

1

仓库编号

EmpName

Varchar2

50

经办人

OptDate

Char

10

入库日期

表3.8出库操作信息表(TakeOut)

列名

数据类型

长度

说明

TakeoutId

Number

1

出库编号

TakeoutType

Varchar2

20

出库类型

StoreId

Number

1

仓库编号

EmpName

Varchar2

50

经办人

OptDate

Char

10

入库日期

 

表3.9库存商品信息表(ProInStore)

列名

数据类型

长度

说明

StoreProId

Number

1

商品存储编号

ProId

Number

1

商品编号

ProPrice

Number

15

商品入库单价

ProNum

Number

10

商品数量

StoreId

Number

1

仓库编号

表3.10客户信息表(Client)

列名

数据类型

长度

说明

ClientId

Number

1

客户编号

ClientName

Varchar2

50

客户名称

ClientType

Number

1

客户类型

Bank

Varchar2

50

开户银行

BankAccount

Varchar2

50

银行帐号

Contact

Varchar2

30

联系人

Address

Varchar2

50

通信地址

Postcode

Varchar2

10

邮政编码

Phone

Varchar2

30

联系电话

Fax

Varchar2

30

传真电话

Describe

Varchar2

100

客户描述

4.4触发器设计

createorreplacetriggerproduct_del

afterdeleteonprotype

deletefromproductwhereprduct.typeid=:

old.typeid;

endorder_del;

删除protype表中的数据时把product表中相关的数据也删除。

4.5存储过程设计

createorreplaceprocedureproduct_add

tproidinproduct.proid%type,

tpronameinproduct.proname%type,

ttypeidinproduct.typeid%type,

tprostyleinproduct.prostyle%type,

tprounitinproduct.prounit%type,

tprolowinproduct.prolow%type,

tprohighinproduct.prohigh%type,

begin

insertintoincome(proid,proname,typeid,prostyle,prounit,prolow,prohigh)

values(tproid,tproname,ttypeid,tprostyle,tprounit,tprolow,tprohigh);

endproduct_add;

添加商品信息。

 

5系统实现

5.1系统实现工具与支持平台

(1)用户界面

本系统所采用的语言是VisualBasic。

,用户交互界面采用的是基于Windows的窗口界面。

(2)硬件接口

运行本系统的硬件基本要求如下:

CPU:

奔腾3处理器及以上;

内存:

128MB及以上;

硬盘:

10GB及以上。

数据库服务器:

Oracle10g。

5.2系统设置模块设计

系统设置模块可以实现以下功能:

(1)客户信息管理,包括客户信息的添加、修改、删除和查看等。

(2)仓库信息管理,包括客户信息的添加、修改、删除和查看等。

(3)用户信息管理,包括客户信息的添加、修改、删除和查看等。

 

图5.2用户信息管理窗口

图5.3添加用户信息窗口

当用户单击“确定”按钮时,对应的代码如下:

PrivateSubCmd_OK_Click()

'检查用户录入数据的有效性

IfTrim(txtUserName)=""Then

MsgBox"请输入用户名"

txtUserName.SetFocus

ExitSub

EndIf

IftxtPass<>txtPass2Then

MsgBox"密码和确认密码不相同,请重新确认"

txtPass2.SetFocus

txtPass2.SelStart=0

txtPass2.SelLength=Len(txtPass2)

ExitSub

EndIf

IftxtEname=""Then

MsgBox"请输入员工姓名"

txtEname.SetFocus

ExitSub

EndIf

'判断用户名是否已经存在

WithMyUser

IfModify=FalseOrOriUser<>Trim(txtUserName)Then

If.In_DB(MakeStr(txtUserName))=TrueThen

MsgBox"用户名已经存在,请重新输入"

txtUserName.SetFocus

txtUserName.SelStart=0

txtUserName.SelLength=Len(txtUserName)

ExitSub

EndIf

EndIf

'把用户录入的数据赋值到MyUser对象中

.EmpName=MakeStr(txtEname)

.UserName=MakeStr(txtUserName)

.Pwd=MakeStr(txtPass)

.UserType=ComboType.ListIndex+1

'根据变量Modify的值,决定是插入新数据,还是修改已有的数据

IfModify=FalseThen

.Insert

Else

.Update(OriUser)

'如果修改自身用户名,则更新CurUser对象

IfOriUser=CurUser.UserNameAndTrim(txtUserName)<>OriUserThen

CurUser.UserName=Trim(txtUserName)

CurUser.GetInfo(CurUser.UserName)

EndIf

EndIf

EndWith

'关闭窗体

UnloadMe

EndSub

5.3产品信息管理模块设计

产品信息管理模块可以实现以下功能:

(1)产品类别管理,包括添加、修改、删除和查看产品类别信息等功能。

(2)产品信息管理,包括添加、修改、删除和查看产品信息等功能。

图5.4产品类目管理窗口

Cmd_Add_Click过程:

当用户单击“添加”按钮时,对应的代码如下:

PrivateSubCmd_Add_Click()

'如果当前选择添加二级产品类目,则判断是否选择了一级类目

IfOption1.Value=FalseAndList1.ListIndex<0Then

MsgBox"请选择上级类目"

ExitSub

EndIf

'选择添加一级产品类目

IfOption1.Value=TrueThen

'上级产品类目编号为0

FrmProTypeEdit.OriUpper=0

'上级产品类目名称为空

FrmProTypeEdit.lblUpper=""

'选择添加二级产品类目

Else

'设置上级产品类目编号

FrmProTypeEdit.OriUpper=Id1

'设置上级产品类目名称

FrmProTypeEdit.lblUpper=List1.Text

EndIf

'设置修改标记

FrmProTypeEdit.Modify=False

'启动产品类目编辑窗体

FrmProTypeEdit.Show1

'重新装入产品类目信息

Load_Type1

Load_Type2

EndSub

Cmd_Modi_Click过程:

PrivateSubCmd_Modi_Click()

'如果选择要修改一级产品类目,则判断List1列表框中是否有项目被选中

'如果选择要修改二级产品类目,则判断List2列表框中是否有项目被选中

If(Option1.Value=TrueAndList1.ListIndex<0)_

Or(Option2.Value=TrueAndList2.ListIndex<0)Then

MsgBox"请选择要修改类目"

ExitSub

EndIf

'选择修改一级产品类目

IfOption1.Value=TrueThen

'设置上级产品类目编号为0

FrmProTypeEdit.OriUpper=0

'设置当前编辑的产品类目编号

FrmProTypeEdit.OriId=Id1

'设置当前编辑的产品类目名称

FrmProTypeEdit.OriName=List1.Text

FrmProTypeEdit.txtTypeName=List1.Text

'设置上级产品类目名称为空

FrmProTypeEdit.lblUpper=""

'选择修改二级产品类目

Else

'设置上级产品类目编号

FrmProTypeEdit.OriUpper=Id1

'设置当前编辑的产品类目编号

FrmProTypeEdit.OriId=Id2

'设置当前编辑的产品类目名称

FrmProTypeEdit.OriName=List2.Text

FrmProTypeEdit.txtTypeName=List2.Text

'设置上级产品类目名称

FrmProTypeEdit.lblUpper=List1.Text

EndIf

'设置修改标记

FrmProTypeEdit.Modify=True

'启动产品类目编辑窗体

FrmProTypeEdit.Show1

'重新装入产品类目信息

Load_Type1

Load_Type2

EndSub

Cmd_Del_Click过程:

PrivateSubCmd_Del_Click()

DimTmpIdAsLong

'如果选择要删除一级产品类目,则判断List1列表框中是否有项目被选中

'如果选择要删除二级产品类目,则判断List2列表框中是否有项目被选中

If(Option1.Value=TrueAndList1.ListIndex<0)_

Or(Option2.Value=TrueAndList2.ListIndex<0)Then

MsgBox"请选择要修改类目"

ExitSub

EndIf

'判断一级类目是否包含子类目

IfOption1.Value=TrueThen

IfMyProType.HaveSon(TmpId)=TrueThen

MsgBox"此类目包含子类目,不能删除"

ExitSub

EndIf

EndIf

'判断类目中是否包含产品

IfMyPro.HaveType(TmpId)=TrueOr_

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

当前位置:首页 > IT计算机 > 计算机软件及应用

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

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