图书销售系统Word文件下载.docx
《图书销售系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《图书销售系统Word文件下载.docx(20页珍藏版)》请在冰豆网上搜索。
第一周:
(1)需求分析;
(2)数据库设计(使用SQLServer);
(3)总体设计;
模块定义、模块结构图,各模块功能描述、模块流程图(使用Visio画图);
第二周:
(4)详细设计:
要求有数据录入、修改、删除、查询、汇总、报表功能;
第第第三周:
(5)运行测试,测试用例、结果;
(6)撰写开发文档,含总结;
成绩:
指导教师/带队教师(签字)
年月日
图书销售管理系统
摘要
信息时代的来临,世界贸易组织的加入,中国现代图书流通市场竞争的愈演愈烈,如何以一种新的管理方式提高图书流通信息的反馈速度,降低存储占用,加速资金周转,提高工作效率,已经成为图书企业提高竞争力的关键所在,运用计算机管理系统就是不错的选择。
图书管理系统可以方便图书销售过程中的各个环节,有利于图书类企业流动资金加快,有利于企业成本降低,更有利于他们即使掌握各种销售与库存信息,然而现在大多数的系统设计时都没有考虑到将来的需要,设计接口不够灵活,以至于当前环境变化后不能很好的适应新环境,造成软件寿命的简短,要想实现软件寿命的延长,就必须在设计软件的全过程中灌入一种动态的有预见性的设计,只要这样,将来条件发生了改变,软件只需局部做一些调整就能够适应新环境。
目录
一、绪论----------------------------------3
二、需求分析----------------------------4
三、总体设计-----------------------------8
四、详细设计----------------------------9
界面设计--------------------------------------------------------------9
进退货类--------------------------------------------------------------11
销售类-----------------------------------------------------------------12
查询类-----------------------------------------------------------------14
统计类-----------------------------------------------------------------15
所用的SQL语句----------------------------------------------------16
Update函数-----------------------------------------------------------17
五、小结--------------------------------19
六、测试---------------------------------20
六、致谢--------------------------------20
七、参考文献---------------------------20
(一)、绪论
图书销售系统是一个用来辅助图书销售活动,销售管理和销售决策的工具。
图书市场的快速变化和日益复杂,需要一个有效的工具来捕捉市场状态和相关变化。
目前,图书销售信息系统的应用和开发尚处于起步阶段,虽然取得了一定的经济和社会效益,但是也存在着许多问题,影响了企业在市场上的竞争力。
因此,研究和开发满足图书销售需求的销售信息系统具有重要意义。
本程序使用MicrosoftAccess作为数据库载体,使用MFC和VC++作为语言工具编写而成,是图书销售管理系统的一个雏形。
VC++由于与Windows系统结合紧密,不需要额外的运行库,运行操作方便不需要其他配置,是图书销售管理系统合适的语言载体。
而使用Access作为数据源,有轻量,易用,等诸多特性,考虑到此系统没有太多的复杂功能,因此弃用Oracle,SQLServer,MySQL等安装、使用复杂的数据库软件。
本程序具有数据封闭性,易操控性,数据备份简易等特点。
(二)、需求分析
调查新华书店图书销售业务,设计的图书销售系统主要包括进货、退货、销售、统计功能。
进货:
根据某种书籍的库存量及销售情况确定进货数量,根据供应商报价选择供应商。
输出一份进货单并自动修改库存量,把本次进货的信息添加到进货库中。
退货:
顾客把已买的书籍退还给书店。
输出一份退货单并自动修改库存量,把本次退货的信息添加到退货库中。
统计:
根据销售情况输出统计的报表。
一般内容为每月的销售总额、销售总量及排行榜。
销售:
输入顾客要买书籍的信息,自动显示此书的库存量,如果可以销售,打印销售单并修改库存,同时把此次销售的有关信息添加到日销售库中。
综述:
此系统要求用VC++6.0开发作为一种现代的编程语言,提供了完善的指令控制语句、类与对象的支持及丰富的数据类型,给开发高性能系统提供了保障。
为开发满足客户要求的系统,保证了代码的模块化要求,而代码模块化的提高,有利于以后对新系统的扩展与修改。
MicrosoftOfficeAccess是由微软发布的关联式数据库管理系统。
它结合了MicrosoftJetDatabaseEngine和图形用户界面两项特点,是MicrosoftOffice的系统程式之一。
综上所述,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此在技术上是可行的。
·
数据库设计
数据库设计使用Access,可以建立四个表,分别用来保存供应商处的图书信息、库房图书信息、进退货记录、和销售记录。
具体如下:
[经销商]
[库存]
[进退货记录]
[销售记录]
E-R图:
(三)、总体设计
总体框图:
(四)、详细设计
界面设计(MFC):
程序主界面采用CDialog类,取消边框,大小调整等特性。
classCLibDlg:
publicCDialog
{
//Construction
public:
CLibDlg(CWnd*pParent=NULL);
//standardconstructor
//DialogData
//{{AFX_DATA(CLibDlg)
enum{IDD=IDD_LIB_DIALOG};
CStringm_DSNName;
//}}AFX_DATA
//ClassWizardgeneratedvirtualfunctionoverrides
//{{AFX_VIRTUAL(CLibDlg)
protected:
virtualvoidDoDataExchange(CDataExchange*pDX);
//DDX/DDVsupport
//}}AFX_VIRTUAL
//Implementation
protected:
HICONm_hIcon;
//Generatedmessagemapfunctions
//{{AFX_MSG(CLibDlg)
virtualBOOLOnInitDialog();
afx_msgvoidOnSysCommand(UINTnID,LPARAMlParam);
afx_msgvoidOnPaint();
afx_msgHCURSOROnQueryDragIcon();
virtualvoidOnOK();
afx_msgvoidOnImport();
afx_msgvoidOnExport();
afx_msgvoidOnButton1();
afx_msgvoidOnSell();
afx_msgvoidOnButton6();
afx_msgvoidOnButton5();
afx_msgvoidOnButton7();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
进/退货类:
classImport:
voidUpdate();
intm_nitem;
Import(CWnd*pParent=NULL);
//{{AFX_DATA(Import)
enum{IDD=IDD_IMPORT};
CListCtrlm_list;
intm_edit;
//Overrides
//{{AFX_VIRTUAL(Import)
public:
virtualBOOLDestroyWindow();
//{{AFX_MSG(Import)
afx_msgvoidOnClickList(NMHDR*pNMHDR,LRESULT*pResult);
afx_msgvoidOnIm();
销售类
classCSell:
CSell(CWnd*pParent=NULL);
//{{AFX_DATA(CSell)
enum{IDD=IDD_EXPORT1};
//{{AFX_VIRTUAL(CSell)
//{{AFX_MSG(CSell)
查询类
classCMonth:
voidUpdate(CListCtrl&
m_list2,_RecordsetPtrm_pRecordset);
CMonth(CWnd*pParent=NULL);
//{{AFX_DATA(CMonth)
enum{IDD=IDD_MONTH};
CListCtrlm_list2;
CStringm_ste;
//{{AFX_VIRTUAL(CMonth)
//{{AFX_MSG(CMonth)
afx_msgvoidOnRequest();
统计类
classCSum:
CSum(CWnd*pParent=NULL);
voidCSum:
:
Update(CListCtrl&
//standardconstructor
//{{AFX_DATA(CSum)
enum{IDD=IDD_SUM};
CStringm_static;
//{{AFX_VIRTUAL(CSum)
//{{AFX_MSG(CSum)
所用的SQL语句
("
UPDATE[产品]SET[Left]=[Left]+%dWHEREID=%s"
m_edit,szBuf);
进货("
INSERTINTO[Record](ID,[类别],[书名],[数量],[单价]\n)VALUES(%s,'
进货'
'
%s'
%d,%s)"
szBuf,bookname,m_edit,price);
cs.Format("
退货'
查询进货/退货记录:
(theApp.m_pRecordset)->
Open("
Record"
theApp.m_pConnection.GetInterfacePtr(),
adOpenDynamic,
adLockOptimistic,
adCmdTable);
Update();
查询销售记录:
SELECT[订单ID],[BookName],[订购日期],[数量],%dAS[月份]FROM订单WHEREMonth([订购日期])=%d;
"
m_edit,m_edit);
销售排行(数量):
SELECTBookNameAs书名,SUM([数量])As销售数量,SUM([获利])As获利金额FROM[订单]GROUPBYBookNameORDERBYSUM([数量])DESC"
);
销售排行(金额):
SELECTBookNameAs书名,SUM([数量])As销售数量,SUM([获利])As获利金额FROM[订单]GROUPBYBookNameORDERBYSUM([获利])DESC"
销售总额:
SELECTSUM([获利])AS总获利FROM[订单];
附:
Update函数
Update语句用于修改表中的数据。
voidUpdate(CListCtrl&
m_list2,_RecordsetPtrm_pRecordset)
//清空ControlList表头
m_list2.SetExtendedStyle(LVS_EX_FULLROWSELECT);
m_list2.DeleteAllItems();
intnc=m_list2.GetHeaderCtrl()->
GetItemCount();
for(intk=0;
k<
nc;
k++){
m_list2.DeleteColumn(0);
}
//重新建立表头
FieldsPtrflds=m_pRecordset->
GetFields();
_variant_tIndex;
Index.vt=VT_I2;
for(inti=0;
i<
(int)flds->
GetCount();
i++){
Index.iVal=i;
m_list2.InsertColumn(i+1,(LPSTR)(flds->
GetItem(Index)->
GetName()),
LVCFMT_LEFT,140);
//获取数据并填充表格
_bstr_tstr,value;
intnItem=0;
CStringstrItem;
while(!
m_pRecordset->
adoEOF){
m_list2.InsertItem(nItem,strItem);
for(i=0;
Index.iVal=i;
str=flds->
GetName();
try
{
value=m_pRecordset->
GetCollect(str);
}
catch(...)
break;
m_list2.SetItemText(nItem,i,(LPCSTR)value);
}
m_pRecordset->
MoveNext();
nItem++;
//捕捉错误防止程序崩溃
try
{
MoveFirst();
catch(...)
}
(五)、小结
在这三个星期的课程设计中,我们回顾了很多以前的东西,也发现了很多的问题,以前都没遇见过的,收获很大,在对不同的功能代码是不一定可以完整的执行的,不过大概都是一样的,只有一些小的细节。
看着自己做的系统,自己就会又欣慰又难过,欣慰的是自己终于把它做出来了,而且,做的还好,难过的是自己知道还有很多的不足,但是,由于认识的有限,无法去完善,才知道“书到用时方恨少”!
此次图书销售系统的设计让我们对数据库的了解更深入,可以把它同实际相结合,同时,又让我们学会了一个新的应用软件。
在整个设计过程中,通过怎样对把各个管理信息连接起来的分析,锻炼了我们对事情的分析能力,通过怎样解决过程中出现的问题,提高了我们查找文献的能力、对网络资源的利用能力和和其他同学的交流沟通能力。
而且,经历这次的课程设计,我们也学会了自学和分工协作。
我们觉得每一次的课程设计,都是让我们对原有的知识从了解表面到深入本质,从个体学习到整体把握的跳跃,对新知识的汲取,更是让我们把课本的知识应用到实际中,让我们了解了我们的学习有什么用,能够解决什么样的问题,增加我们的自信和学习的动力。
总之,通过这次的课程设计,我们收获匪浅。
(六)、测试与运行
经测试与运行,各部分功能均能实现。
(七)、致谢
在整个程序的设计过程中,长春理工大学计算机学院陈纯毅老师给予了我们极大的帮助与支持,在此向他致以最诚挚的敬意。
(八)、参考文献
数据库应用教程俞海英刘建东等主编清华大学出版社
C++Primer中文版李师贤蒋爱军等编译人民邮电出版社
Windows程序设计王艳平张铮主编人民邮电出版社
VisualC++应用教程郑阿奇丁有和主编人民邮电出版社
XX知道