数据库图书销售管理系统课程设计.docx

上传人:b****8 文档编号:9049004 上传时间:2023-02-02 格式:DOCX 页数:30 大小:726KB
下载 相关 举报
数据库图书销售管理系统课程设计.docx_第1页
第1页 / 共30页
数据库图书销售管理系统课程设计.docx_第2页
第2页 / 共30页
数据库图书销售管理系统课程设计.docx_第3页
第3页 / 共30页
数据库图书销售管理系统课程设计.docx_第4页
第4页 / 共30页
数据库图书销售管理系统课程设计.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

数据库图书销售管理系统课程设计.docx

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

数据库图书销售管理系统课程设计.docx

数据库图书销售管理系统课程设计

课程设计Ⅳ设计说明书

图书销售管理系统

学生姓名

学号

班级

成绩

指导教师

 

李志红

0918014009计本091

钟永友

数计学院2012年3月2日

0

 

课程设计Ⅳ课程设计评阅书

题目

图书销售管理系统

学生姓名

李志红

学号

0918014009

指导教师评语及成绩

指导教师签名:

年月日

答辩评语及成绩

答辩教师签名:

年月日

教研室意见

总成绩:

室主任签名:

年月日

注:

指导老师成绩60%,答辩成绩40%,总成绩合成后按五级制计入。

课程设计任务书

2011—2012学年第2学期

专业:

数学与计算机科学学院

 

学号:

**********

 

姓名:

 

李志红

课程设计名称:

课程设计Ⅳ

设计题目:

图书销售管理系统

完成期限:

自2012年2月20日至2010年3月2设计依据、要求及主要内容(可另加附页):

 

日共2

 

本课程设计是在学完数据库课程之后,根据所学的理论知识和实践内容,要求对图书销售管理系统进行数据库设计,并开发实现如下功能:

1.销售明细、批发明细、退货明细

2.查询图书的销售详情:

包括零售明细、批发明细、销售统计等

3.订单处理:

审核订单,出库单

4.收付款处理:

5.用户管理(注意用户权限设置)、系统维护功能。

开发完成以上功能后,并撰写说明书,要求按照相关数据库设计规范进行撰写。

指导教师(签字):

 

教研室主任(签字):

批准日期:

2012年

 

随着计算机的普及书店规模的不断扩大,使图书销售管理成为书店管理中的一个重要课题。

通过图书销售管理系统可以解决书店管理中遇到的各种问题。

本系统分析了市场需求和实际需要,利用VisualC++6.0连接SQL数据库的方式,主要实现了书店的图书销售管理,该系统具有处理图书录入、图书销售、销售统计、查询库存等功能。

关键词:

图书销售管理;数据库;VisualC++6.0

 

1课题描述..........................................................1

2.1系统设计功能概要............................................2

2.2系统功能总体结构............................................2

3数据库设计与实现..................................................3

3.1业务流程图..................................................3

3.2数据流图....................................................3

3.3数据字典....................................................4

3.4概念结构设计................................................5

3.5逻辑结构设计................................................9

3.6物理结构设计................................................9

3.7系统维护...................................................11

4部分编程代码.....................................................12

4.1图书录入模块...............................................12

4.2图书销售模块...............................................14

4.3图书统计模块...............................................16

5程序调试与测试...................................................18

5总结.............................................................20

参考文献...........................................................21

数计学院数据库课程设计

1课题描述

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

传统的图书管理系统其日常管理工作都是人工操作,存在着许多缺点,如:

效率低下、保密性差,另外时间一长,将产生大量的文件和数据,这对于数据的查找、更新和维护都带来了不少的困难,并且浪费了许多人力和物力。

特别是中小型书店、个体书店,由于其规模小,硬件投入不大,管理人员水平有限,如果没有一个好的图书管理系统,对于书店的经营是非常不利的。

在信息时代,传统的图书管理方式必然被计算机为基础的信息管理系统所取代。

因为作为计算机应用的一部分,使用计算机对图书信息进行管理,具有着手工管理所无法比拟的优点.例如:

检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高图书管理的效率。

为此,开发了此图书销售管理系统,结合市场需求,经过研究分析后,完成该系统,并实现了系统基础信息管理,库存管理,销售管理和查询管理等模块。

对图书的进购,入库,销售,出库进行全程管理,给用户带来了方便。

0

数计学院数据库课程设计

2系统设计

2.1系统设计功能概要

本系统是根据书店的实际需求而开发的,要求稳定、可靠的实现图书销售的自动化管理,通过本系统可以达到以下目标:

1.图书录入,包括图书的基本信息,如分类、进价、售价、作者等。

2.图书销售,包括图书的售价、折扣、销售日期,并实现对库存量的修改。

3.销售统计,包括按图书类型、书名、作者、出版社等进行统计。

4.查询库存,对指定的某本图书剩余库存量进行查询。

5.售完图书查询,对已售完图书进行查询。

6.用户管理,系统维护功能。

2.2系统功能总体结构

图书销售管理系统功能结构图如图2.1所示。

图2.1图书销售管理系统功能结构图

1

数计学院数据库课程设计

3数据库设计与实现

3.1业务流程图

系统流程图是概括的描绘物理系统的传统工具。

它的基本思想是用图形符号以黑盒子形式描绘组成系统的部件(程序、文档、数据库、人工过程等)。

系统流程图表达的是数据在系统各部件之间的流动情况而不是对数据进行加工处理的控制过程,因此尽管系统流程图的某些符号和程序流程图的符号形式相同,但是它却是物理数据流图而不是程序流程图。

通过分析图书销售管理系统,得到以下业务流程图如图3.1所示:

事务

图书信息管理主文件

基本

信息

 

库存

信息

 

价格

信息

 

销售

信息

 

查询

信息

显示详

细信息

图3.1系统业务流程图

3.2数据流图

数据流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。

在数据流图中没有任何具体的物理元素,它只是描绘信息在系统中流动和被处理的情况。

经过详细的分析,了解图书销售管理系统的具体业务流程,构造出逻辑模型,再结合数据流图的相关定义,绘制出本系统的数据流图如图3.2所示:

2

数计学院数据库课程设计

D1

 

基本信息存储

 

D3

 

图书库存记录

图书

合格入库

验证登录

审核

图书入库

管理

价格信息

录入价格/调动价格

合格出库单

 

D5图书价格记录

图书出库

图书信息

客户信息

 

销售管理

 

D7

 

图书销售记录

管理

P6

添加图书

基本信息

D6

图3.2图书销售管理系统数据流图

图书信息表

3.3数据字典

一般来说,数据字典应该由下列四类元素的定义组成:

(1)数据流;

(2)数据流分量(即数据元素);(3)数据存储;(4)处理。

在开发小型的软件系统时可采用卡片形式书写数据字典,每张卡片表上保存一个数据的信息,这样会使更新和修改比较方便,而且能单独处理描述每个数据的信息。

每张卡片上主要包含一些信息:

名称,简述,定义,位置。

针对以上数据流图,给出部分数据字典的说明。

3

数计学院数据库课程设计

3.4概念结构设计

提供

库存

管理

图书数量

整个系统E-R图如下图3.3所示。

 

拥有

购买

图3.3系统E-R图

 

对应

销售时间

 

陈列

1

 

价格

4

数计学院数据库课程设计

本系统图书信息实体的分E-R图如图3.4所示:

图3.4图书信息的分E-R图

本系统图书入库实体的分E-R图如图3.5所示:

图3.5图书入库的分E-R图

5

数计学院数据库课程设计

本系统入库退货实体的分E-R图如图3.6所示:

图3.6入库退货的分E-R图

本系统图书销售实体的分E-R图如图3.7所示:

图3.7图书销售的分E-R图

6

数计学院数据库课程设计

本系统销售退货实体的分E-R图如图3.8所示:

图3.8销售退货的分E-R图

本系统供货商信息实体的分E-R图如图3.9所示:

图3.9供货商信息的分E-R图

7

数计学院数据库课程设计

3.5逻辑结构设计

将图书销售管理系统的系统E-R图转换成关系数据库的数据模型,其数据库关系模式如下:

仓库信息(仓库编号)

图书销售(销售单号,销售时间,条形码,折扣,总价,数量,顾客名,操作员名)供应商信息(供应商名,法人,负责人,详细地址,联系电话,网址,电子邮箱)

操作员信息(用户名,密码,权限级别)

图书类别信息(类型名)

图书信息表(图书名,条形码,,图书类型,作者,出版社,出版日期,进价,售价)管理(管理员名称,仓库名编号)

顾客(顾客名)

购买图书(顾客名,销售单号)

图书供应(供应商名,图书条形码)

3.6物理结构设计

关系属性的设计包括属性名,数据类型,数据长度。

该属性是否允许空值,是否为主码,是否为索引项及约束条件。

根据物理结构设计理论,将该系统逻辑结构转换为物理结构,其详细结构列表如表3.6.1—表3.6.7所示。

(1)表3.6.1图书信息表

字段

数据类型

长度

允许为空

说明

bookname

varchar

30

图书名称

barcode

varchar

30

条形码

author

varchar

30

作者

bookconcern

varchar

30

出版社

Purchase

float

8

进价

Price

float

8

售价

PublishDate

smalldatetime

4

出版日期

kind

varchar

30

图书类型

(2)表3.6.2图书种类信息表

字段

数据类型

长度

允许为空

说明

bookkind

varchar

30

图书类型

bookkindID

varchar

10

类型编号

(3)表3.6.3图书入库表

字段

数据类型

长度

允许为空

说明

ID

varchar

30

入库单号

8

数计学院数据库课程设计

provide

varchar

50

供货商

operator

varchar

30

操作员

rebate

float

8

折扣

sumtotal

float

8

总价

paymoney

money

8

应付金额

factmoney

money

8

实付金额

intime

datetime

10

入库时间

(4)表3.6.4入库退货明细表

字段

数据类型

长度

允许为空

说明

CancleID

varchar

30

退货单号

barcode

varchar

30

条形码

unitPrice

money

8

定价

numbers

float

8

数量

rebate

float

8

折扣

paymoney

money

8

金额

stockname

varchar

30

仓库名称

time

datetime

10

时间

(5)表3.6.5图书销售主表

字段

数据类型

长度

允许为空

说明

SellID

varchar

30

销售单号

Customer

varchar

30

顾客名

operator

varchar

30

操作员

rebate

float

8

折扣

sumtotal

money

8

总价

paymoney

money

8

应付金额

factmoney

money

8

实付金额

intime

datetime

-

时间

(6)表3.6.6销售退货主表

字段

数据类型

长度

允许为空

说明

SellCancelID

varchar

30

售货单号

Customer

varchar

50

顾客名

operator

varchar

30

操作员

rebate

float

8

折扣

intime

datetime

-

时间

barcode

varchar

30

条形码

9

数计学院数据库课程设计

unitPrice

money

8

单价

paymoney

money

8

金额

(7)表3.6.7供应商信息表

字段

数据类型

长度

允许为空

说明

provider

varchar

50

供应商名

corporation

varchar

30

法人

principal

varchar

10

负责人

phone

varchar

30

联系电话

addr

varchar

50

详细地址

web

varchar

50

网址

e_mail

varchar

30

电子邮箱

3.7系统维护

系统的修改往往会“牵一发而动全身”。

程序、文件、代码的局部修改都可能影响系统的其他部分。

因此,系统的维护工作应有计划有步骤的统筹安排,按照维护任务的工作范围、严重程度等诸多因素确定优先顺序,制定出合理的维护计划,然后通过一定的批准手续实施对系统的修改和维护。

下图3.7.1简要说明了维护工作的全过程的步骤。

图3.7.1系统维护步骤

10

数计学院数据库课程设计

4部分编程代码

4.1图书录入模块

BOOLRAddBookDlg:

:

OnInitDialog()

{

CDialog:

:

OnInitDialog();

//TODO:

Addextrainitializationhere

GetBookGategory();

returnTRUE;//returnTRUEunlessyousetthefocustoacontrol

//EXCEPTION:

OCXPropertyPagesshouldreturnFALSE

}

(2)当用户单击“保存“按钮时,实现添加图书功能,其响应代码如下:

voidRAddBookDlg:

:

OnSave()

{

//TODO:

AddyourcontrolnotificationhandlercodehereUpdateData(TRUE);

if(!

IsValidInput())

return;

if(IDYES!

=AfxMessageBox("确定要保存吗?

",MB_YESNO))//放弃保存

return;

if(SaveData())

{

AfxMessageBox("保存成功!

");

//保存后重置数据

m_bHasNewBook=true;

OnReset();

GetDlgItem(IDC_BK_CATEGORY)->SetFocus();

}

else

AfxMessageBox("保存失败!

");

}

(3)判断输入信息是否正确的函数是IsValidInput(),其响应代码如下:

boolRAddBookDlg:

:

IsValidInput()

{

CStringstr="0123456789";

if(m_strBookCategory.IsEmpty()||m_strBookCategory.FindOneOf(str)!

=-

1)

{

AfxMessageBox("输入有误!

图书类型不能为空或包含数字。

");

11

数计学院数据库课程设计

GetDlgItem(IDC_BK_CATEGORY)->SetFocus();

returnfalse;

}

if(m_strBookName.IsEmpty())

{

AfxMessageBox("输入有误!

书名不能为空。

");GetDlgItem(IDC_BK_NAME)->SetFocus();

returnfalse;

}

if(m_strAuthor.IsEmpty()||m_strAuthor.FindOneOf(str)!

=-1)

{

AfxMessageBox("输入有误!

作者名称不能为空或包含数字。

");GetDlgItem(IDC_BK_AUTHOR)->SetFocus();

returnfalse;

}

if(m_strPublisher.IsEmpty()||m_strPublisher.FindOneOf(str)!

=-1)

{

AfxMessageBox("输入有误!

出版社名称不能为空或包含数字。

");GetDlgItem(IDC_BK_PUBLISHER)->SetFocus();

returnfalse;

}

if(m_dPurchase<=0)

{

AfxMessageBox("图书进价应为正值!

");GetDlgItem(IDC_BK_PURCHASE)->SetFocus();

returnfalse;

}

if(m_dPrice<=0)

{

AfxMessageBox("图书售价应为正值!

");

GetDlgItem(IDC_BK_PRICE)->SetFocus();

returnfalse;

}

if(m_lDiscount<0||m_lDiscount>100)

{

AfxMessageBox("图书折扣应为0-100之间正值!

");GetDlgItem(IDC_BK_DISCOUNT)->SetFocus();

returnfalse;

12

数计学院数据库课程设计

}

if(m_lStock<1)

{

AfxMessageBox("图书数量应为正值!

");

GetDlgItem(IDC_BK_STOCK)->SetFocus();

returnfalse;

}

if(m_strBarcode.IsEmpty()||m_strBarcode.GetLength()>15)

{

AfxMessageBox("条形码应为15位整数!

");

GetDlgItem(IDC_BK_BARCODE)->SetFocus();

returnfalse;

}

returntrue;

}

4.2图书销售模块

voidRSaleBookDlg:

:

OnOK()

{

//TODO:

Addextravalidationhere

if(!

m_bReadySale)

m_bReadySale=FindBook();

else

{

UpdateData(TRUE);

CStringstrMsg;

strMsg.Format("是否出售?

\n书名:

%s\n价格:

%.2f”,m_strBookName

m_dSalePrice);

if(IDYES==AfxMessageBox(strMsg,MB_YESNO))

{

ModifyStock();//修改图书库存

SaveSaleRecord();//记录销售记录

}

Init();

UpdateData(FALSE);

GetDlgItem(IDC_SBK_NAME)->SetFocus();

m_editDiscount.EnableWindow(FALSE);

}

//CDialog:

:

OnOK();

13

数计学院数据库课程设计

}

(2)判断销售是否能够成功的函数是RSaleBookDlg:

:

FindBook(),其代码如下:

boolRSaleBookDlg:

:

FindBook()

{

//TODO:

AddyourcontrolnotificationhandlercodehereUpdateData(TRUE);

CStringstrSql;

_variant_tvar;

doubledPurchase;

if(!

m_strBookName.IsEmpty())

strSql.Format("SELECT*FROMBookInfoWHEREBookName=\"%s\"and

Stock>0",m_strBookName);

elseif(!

m_strBarCode.IsEmpty())

strSql.Format("SELECT*FROMBookInfoWHEREBarCode=\"%s\"and

Stock>0",m_strBarCode);

else

{

AfxMessageBox("请输入书名或条码!

");

GetDlgI

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

当前位置:首页 > 考试认证 > 其它考试

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

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