出版社图书管理系统Word下载.docx
《出版社图书管理系统Word下载.docx》由会员分享,可在线阅读,更多相关《出版社图书管理系统Word下载.docx(21页珍藏版)》请在冰点文库上搜索。
1、系统设计的目的意义·
2
2、系统需求分析·
3
2.1系统概述·
2.2用户需求分析·
2.3系统功能模块·
2。
4系统的数据流图·
4
5数据字典·
3、概念结构分析
3。
1各子系统E-R图·
5
3.2全局E-R图·
7
4、逻辑结构设计·
8
5、物理结构设计·
6、系统核心模块的设计与实现·
6。
1功能简介·
2系统代码实现·
11
7、总结·
15
一、系统设计的目的意义
根据出版社图书的规模日益扩增,图书类别的日益繁琐,经销商与出版社频繁交易,行业竞争日益激烈。
面对诸多问题时:
一款优秀的出版社图书管理软件是每一个从事出版社图书销售与管理的必备的工具。
出版社图书出版管理是一个庞大的任务,传统方式的图书管理将会造成巨大的人力和物力的浪费,因此我们需要设计一个可以使工作人员实现使用计算机管理的系统.减轻工作量,实现图书出版管理的高效化.
软件需求分析就是软件计划期间建立的软件可行性分析求精和四化,分析各种可能的解法,并且分配给各个软件元素.需求分析是软件定义阶段中的最后一步,是确定系统必须完成哪些工作,也就是目标系统提出完整、准确、清晰、具体的要求。
二、系统需求分析
1。
系统概述
出版社图书出版管理是一个庞大的任务,传统方式的图书管理将会造成巨大的人力和物力的浪费,我们需要设计一个可以使工作人员实现使用计算机管理的系统。
减轻工作量,实现图书出版管理的高效化。
本系统使用vc++6.0MFC和Microsoftaccess数据库进行设计,需要通过对图书的入库、查询、删除、修改、订购等功能设计,来实现高效化图书出版的管理。
2.用户需求分析
信息需求:
能够新增图书记录,查询图书记录,修改和删除图书信息记录。
能够查询浏览图书的分类信息,能够查询浏览图书销售情况.
功能需求:
(1)。
系统管理员可以通过该应用程序对书籍全部信息进行管理;
(2)。
客户和系统管理员可以通过应用程序查询图书的全部信息;
(3)。
客户可以通过应用程序产生购书订单;
(4).系统管理员可以通过应用程序对订单信息进行管理;
(5)。
系统管理员可以通过应用程序对客户进行管理;
(6)。
内部功能需要通过SQL语言,对数据库的查询,修改,插入和删除等操作。
完整性要求:
(1).各种信息记录的完整性,信息记录内容不能为空;
各种数据间相互的联系的正确性;
(3).相同的数据在不同记录中的一致性。
3。
系统功能模块
系统主控界面
记
录
处
理
图书基本信息查询
图书高级信息查询
出版图书信息
出版图书分类模块
图书编号、名称、作者等信息。
增加记录、删除记录、刷新纪录.
出版图书的销售模块
4。
系统的数据流图
模块说明
功能
增加记录
用于将新的图书信息添加到图书基本信息表中
删除记录
用于删除图书基本信息表中的图书信息
刷新纪录
增加记录和删除记录完成后点次按钮更新
第一条
用于显示图书基本信息表中的第一条信息
下一条
用于显示当前信息的下一条信息
6
前一条
用于显示当前信息的前一条信息
最后一条
用于显示图书基本信息表中的最后一条信息
图书销售
用于显示出版图书的出售价格、数量等信息
9
图书分类
用于显示出版图书的类别编号
5.数据字典
表4-1用户表(User)
列名
含义
长度
类型
NULL
DEFAULT
UserID
用户ID号
10
Char()
no
Loginname
登录名
20
Address
地址
150
yes
Password
密码
16
Phone
电话
Email
电子邮件
50
Regtime
注册时间
Date()
表4—2图书表(Book)
BookID
图书ID
Bookname
书名
100
Bookcategory
图书类别
Author
作者
Publish
出版社
Price
价格
Saleprice
销售价格
Content
内容和目录
200
Descript
图书简介
Regate
入库时间
表4—3图书分类信息表(BookCategory)
CategoryID
图书分类ID
Categoryname
图书分类名称
表4-4订单详细信息表(OrderInfo)
OnlyID
唯一编号
OrderID
订单ID
32
Amount
数量
表4—5订单基本信息表(Order)
Submittime
提交时间
Data()
Totalprice
总金额
Float()
用户ID
Ordercontent
订单备注
Isdiliver
是否发货
Ispay
是否付款
三、概念结构分析
各子系统E-R图
(1)用户ER图:
(2)图书ER图:
(3)产品分类ER图:
(4)订单基本信息ER图:
(5)订单详细信息ER图:
2。
全局E—R图
出版社图书管理ER图
四、逻辑结构设计
E—R图向关系关系模式转化
用户表(用户ID号,登录名,地址,密码,电话,电子邮件,注册时间)
图书表(图书ID,书名,图书类别,作者,出版社,价格,销售价格,内容和目录,图书简介,入库时间)
图书分类信息表(图书分类ID,图书分类名称)
订单基本信息表(订单ID,提交时间,总金额,用户ID,订单备注,是否发货,是否付款)
订单详细信息表(唯一编号,订单ID,图书ID,数量)
五、物理结构设计
数据库存储方法分析
用户表(用户ID号,登录名,地址,密码,电话,电子邮件,注册时间),主码为ID号,符合三范式.
图书表(图书ID,书名,图书类别,作者,出版社,价格,销售价格,内容和目录,图书简介,入库时间),主码为图书ID,符合三范式。
图书分类信息表(图书分类ID,图书分类名称)主码为图书分类ID,符合三范式。
订单基本信息表(订单ID,提交时间,总金额,用户ID,订单备注,是否发货,是否付款)主码为订单ID,符合三范式。
订单详细信息表(唯一编号,订单ID,图书ID,数量)主码为唯一编号,符合三范式
六、系统核心模块的设计与实现
1.功能简介
本系统的运行环境为VisualC++6.0,程序的执行后主界面如下图所示:
图
(1)
当点击下一条按钮后,显示图书出版系统数据库中的出版图书基本信息表中的第二条图书信息,如下图所示:
图
(2)
当点击“前一条”按钮时,显示出版图书基本信息表中前一条图书信息.
当点击“增加记录”按钮时,可以在出现的主界面中往数据库中的出版图书基本信息表中添加新的信息.点击刷新按钮后出版图书基本信息表中就会有刚才添加的内容。
点击“删除按钮”后,删除当前主界面显示的内容,点击刷新按钮出版图书基本信息表中本条信息被删除.
当点击右组框里的“图书销售”按钮后,显示图书的销售情况。
图书销售对话框如下图所示:
图(3)
可以点击图书销售浏览查询控件的左右箭头按钮进行查询,如点击右箭头图书销售信息栏中的箭头指向下一条信息。
图(4)
当点击“确定”按钮后退出图书销售对话框。
当点击右组框里的“图书分类”按钮后,显示图书的分类情况。
图书分类对话框如下图所示:
图(5)
具体操作与图书销售对话框相同.
图6—1数据录入界面设计
⑵系统代码实现
部分设计代码如下:
//图书出版管理系统View.cpp:
implementationoftheCMyViewclass
#include”stdafx.h"
#include”图书出版管理系统。
h"
//开始声明
#include"
MyDlg1.h”
#include”MyDlg2.h"
//结束声明
#include”图书出版管理系统Set。
h”
#include”图书出版管理系统Doc.h”
#include”图书出版管理系统View。
#ifdef_DEBUG
#definenewDEBUG_NEW
#undefTHIS_FILE
staticcharTHIS_FILE[]=__FILE__;
#endif
CMyView:
:
CMyView()
:
CRecordView(CMyView:
:
IDD)
{
//{{AFX_DATA_INIT(CMyView)
m_pSet=NULL;
//}}AFX_DATA_INIT
//TODO:
addconstructioncodehere
}
CMyView:
~CMyView()
}
//CMyViewmessagehandlers
//增加记录按钮代码
voidCMyView:
OnButtonaddnew()
//TODO:
Addyourcontrolnotificationhandlercodehere
m_pSet-〉AddNew();
UpdateData(FALSE);
//删除记录按钮代码
voidCMyView:
OnButtondeldte()
{
m_pSet->
Delete();
m_pSet—〉MoveNext();
if(m_pSet-〉IsEOF())
m_pSet->
MoveLast();
if(m_pSet—〉IsBOF())
m_pSet—〉SetFieldNull(NULL);
//刷新按钮代码
OnButtonupdate()
UpdateData();
m_pSet—〉Update();
Requery();
//m_pSet—〉CancelUpdate();
//第一条按钮代码
OnButtonfirst()
m_pSet-〉MoveFirst();
if(m_pSet—>
IsBOF())
{
MessageBox("
记录已经在第一条"
);
m_pSet—>
MoveNext();
UpdateData(FALSE);
return;
}
//下一条按钮代码
OnButtonnext()
MessageBox(”记录已经在最后一条"
);
MovePrev();
}
//前一条按钮代码
OnButtonprev()
m_pSet-〉MovePrev();
{
m_pSet-〉MoveNext();
UpdateData(FALSE);
//最后一条按钮代码
OnButtonlast()
m_pSet-〉MoveLast();
if(m_pSet—〉IsEOF())
记录已经在最后一条”);
MovePrev();
return;
UpdateData(FALSE);
//显示图书销售对话框代码
OnRadio1()
CMyDlg1MyDlg1;
MyDlg1。
DoModal();
//显示图书分类对话框代码
OnRadio2()
CMyDlg2MyDlg2;
MyDlg2.DoModal();
代码说明:
1、MainFrm。
cpp//主框架实现文件,该文件说明程序主框架中的类、头文件声明和对主框架的实现记录。
2、MyDlg1.cpp//该文件为图书销售对话框文件.
3、MyDlg2.cpp//该文件为图书分类对话框文件。
4、stdafx.cpp//该文件主要包括标准的文件,如预定义头文件等。
3、图书出版管理系统.cpp//该文件主要用于为工程定义类的行为。
5、图书出版管理系统Doc.cpp//该文件主要用于记录类的文件.
6、图书出版管理系统Set。
cpp//该文件主要用于说明关于类的设置,它将说明数据环境、数据连接等的设置过程。
7、图书出版管理系统View。
cpp//该文件可以对类进行查看并查看它的实现过程,它包括前面的工程中全部的文件的执行过程。
8、图书出版管理系统2000。
mdb//图书出版管理系统数据库。
七、总结
本次课程设计使我真正的学到了不少知识,由于之前对MFC的知识积累不够,尤其是在数据库与VC++连接的相关只是上存在很大漏洞,使得本次课程设计遇到了许多困难.通过向同学请教,到网上搜索相关材料,正是伴随着这些困难得一个个的被解决,我学到了许多知识。
每次解决一个问题都会收获不少的知识,第一次感受到数据库与编程语言的结合实在是太完美了,使我更加明确了以后的努力方向。
本次课程设计让我有机会能把本学期学的数据库知识系统的串联起来。
尤其是对数据库的建立与操作都上了一个台阶,包括怎么建立更简洁,没有冗余又很完备的数据库系统,怎样对数据库结构模型的设计,主键的定义,更重要的是前期对概念模型,也就是E-R图的规划,深刻的体会到前期工作的重要性,只有正确详尽的对系统进行分析以后,才能更高效率的完成系统的开发。