网上书店管理信息系统数据库毕业课程设计Word文档格式.docx
- 文档编号:17172268
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:29
- 大小:102.94KB
网上书店管理信息系统数据库毕业课程设计Word文档格式.docx
《网上书店管理信息系统数据库毕业课程设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《网上书店管理信息系统数据库毕业课程设计Word文档格式.docx(29页珍藏版)》请在冰豆网上搜索。
工作完成后,通过各自专门的出口退出登录状态。
2.1.2性能需求
整个系统应当操作简便,界面友好,维护简便。
数据库要求运行稳定,执行速度快,数据安全性高。
软件系统本身运行对计算机硬件平台和操作系统平台要求适中。
2.2可行性研究
2.2.1技术可行性
此次信息系统开发是对所学专业知识的一次综合应用与提高,我们小组可以在电子商务实验室完成系统开发。
该机房计算机配置肯定能满足系统开发的要求。
我们小组可以选定两三台计算机,建立系统开发环境,主要是安装数据库工具(MSSQLSERVER2000),应用程序开发工具(ASP.NET与VisualStudio2005)。
我们小组的部分成员有计算机,小组成员之间可以通过QQ或电话进行即时交流,协调开发工作,解决开发工作中出现的问题。
就技术力量来说,该学期,我们小组各成员已经学习了管理信息系统,并且对网络技术和操作系统也有系统的了解,有些成员熟悉计算机原理,能解决常见的硬件故障和硬件选择。
目前,教材管理信息系统已得到了大量应用,有许多可供参考的成功系统。
而且,网上有许多关于ASP.NET编程的资料和SQLSERVER方面的资料。
从技术角度考虑,此信息系统开发可行。
2.2.2经济可行性
目标系统开发需求比较低,加上具有成熟的软硬件环境,所以在软硬件的支出上十分有限。
而且,目标系统并不是十分的复杂,开发的周期较短,人员经济支出有限。
当系统开发完实际运行后,将很大程度上提高计算机的功能,在为使用者带来便利的同时,也为系统的进一步推广创造了条件。
这带来的经济回报将远超过支出,并且最重要的一点是该软件的开发可以给我们对系统的开发有个全面的认识。
从经济角度考虑,此信息系统开发可行。
2.2.3法律上的可行性
整个系统由于是自行开发,自行使用,所以系统本身不存在法律上的版权争议。
在服务器软件方面,应该使用正版软件,因为整个系统尽管是开发给内部使用,但它毕竟很多部分还是要依靠Internet的,一旦服务器连接到Internet上,它的操作系统可能会被Microsoft跟踪,如果不是正版软件,将不得不面临民事诉讼的风险。
三、课程设计要求
1、系统分析报告
(1)现行系统的业务流程图
2、数据流程图
3、数据项
属性名
存储代码
类型
长度
备注
书籍编号
bno
nchar
10
主码
书籍类别
bkind
20
书籍名称
bname
40
书籍价格
bprice
书籍简介
bintro
varchar
80
书籍折扣
bdis
int
库存数量
bstock
顾客编号
cno
顾客密码
cpass
char
是
顾客姓名
cname
否
顾客性别
csex
顾客年龄
cage
顾客住址
cadd
联系电话
cphone
管理员登录名
mno
管理员密码
mpass
订单号
ono
付款方式
opay
发货方式
oconvey
(4)新系统的逻辑模型
(2)数据流程图和数据字典
a)第一层数据流程图
b)第二层数据流图
c)第三层数据流图
数据字典
2、新系统分析报告
2、1系统总体结构设计
系统总体结构设计是根据信息分析数据流程图的结果,按照结构化的系统设计方法而进行的。
结构化设计的基础是模块化。
在线购书系统的功能结构图如图4-1所示:
图10系统功能结构图
对该功能结构图的具体论述如下:
(1)用户管理模块
用户注册,登录:
用户需输入基本的用户名和密码,还可再完善输入其他电话,电子邮件,住址等信息
②用户信息修改:
用户可以修改自己的个人信息和密码及其他相关信息;
③用户信息查看:
会员可以查看自己的个人信息。
用户查看订单:
用户可以查看已经生成的订单信息,并进行一些操作
发表评论:
用户可以对书籍发表评论信息。
(2)书籍管理模块
1书籍浏览:
用户可以对所有书籍进行浏览
2书籍更新:
只有管理员可以对所有书籍进行添加、删除、更新等操作
3书籍搜索:
可以输入查询条件退书籍进行搜索
(3)购物车模块
1更新购物车:
用户可以查看购物车中的书籍信息,并可以添加和删除购物车中书籍。
2查看购物车:
用户可以随时查看购物车中的信息,包括书籍信息,价格信息等
3生成订单:
用户可以确定购物中需购物的书籍,然后下订单,生成订单信息。
(4)管理员模块
1用户管理:
对用户的信息进行审核,对不符合者进行删除,也可以根据客户的需要对它的基本信息进行修改;
2库存管理:
可以查看各书籍的库存量,并可以随时更新库存信息。
3订单处理:
对用户的订单进行处理。
4评论管理:
对用户的评论信息的一些操作
2.2代码设计
信息代码设计及描述
2.3数据库设计
数据库设计主要是进行数据库的逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的。
数据库设计是需要综合企业各个部门的存档数据和数据需求,分析各个数据之间的关系,按照DBMS提供的功能和描述工具,设计出规模适当、正确反映数据关系的、数据冗余少、存取效率高、能满足多种查询要求的数据模型。
2.3.1数据库的概念设计
概念设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。
其主要工作就是设计概念模型,该模型能将用户的数据明确的表达出来。
概念模型是一种面向问题的模型,它反映了用户的实现环境,并指出了从用户角度看到的数据库,它是处理多种应用数据的方法的组合。
概念模型与单独的应用无关,与数据库管理系统及数据库的实现无关,因此,它是用户与设计人员之间的桥梁,它既是明确表达用户需求的一个模型,又是设计数据结构的基础。
概念模型的设计方法有多种,其中实体—联系模型(E—R模型)是一个典型代表,它是描述现实世界的一个简明而有利的工具。
2.3.2实体-联系图
该系统的全局实体-联系图如图4-2所示:
图11全局E-R图
其中各个实体的属性显示如下:
图12用户实体
图13书籍实体
图14类目实体
图15评论实体
图16订单实体
2.3.3数据库的逻辑设计
逻辑设计的主要任务就是设计数据的结构,即按照数据库管理系统提供的数据模型,转换已设计的概念模型,实质上是把概念模型(即E-R模型)转换为所选用的DBMS所支持的模式。
逻辑设计的主要目的是保证数据共享,消除数据冗余,实现数据的逻辑独立性,易懂易用,有利于数据的完整性及安全性控制,且尽量降低开销。
逻辑设计过程主要是把概念设计阶段的概念模型转化为数据库所能识别的表模型,也即数据库模式设计。
关系模型的特点之一是概念的单一性。
无论是实体还是实体间的联系都用关系来表示。
关系这个特点使得转换工作比较直接。
具体的转换原则如下:
(1)一个实体转换为一个关系模式,实体的属性就是关系的属性,实体的关键字就是关系的关键字。
(2)一个1:
1的联系转换为一个关系。
每个实体的关键字都是关系的候选关键字。
(3)一个1:
n的联系转换为一个关系。
多个实体的关键字是关系的关键字。
(4)一个n:
m的联系转换为一个关系。
联系中的各实体关键字的组合组成关系的关键字(组合关键字)。
(5)具有相同关键字的关系可以合并。
根据上述规则,对图所示的E-R图进行转换,可以得到各“关系”(带“—”的为关键字,“﹏﹏”的为外部关键字):
用户(用户id,用户名,密码,角色,电子邮件,地址,邮编,电话,信用卡号,信用卡类型,信用卡过期时间)
书籍(书籍id,类目id,书名,描述,图标,库存,单价)
类目表(类目id,类目名,图标,描述)
订单(订单id,用户id,书籍id,订单中分项号,数量,状态)
评论(评论id,用户id,书籍id,评论内容,评论时间)
具体的数据库表如下。
(1)用户表(User)
用户表主要是记录用户的基本信息,包括用户名、密码等信息,如表3-1所示。
表2用户(User)
字段名
userid
8
主键自动生成
Username
Varchar
25
用户名
Password
密码
role
2
权限
电子邮件
Address
地址
Zip
邮编
Phone
电话
cartid
50
信用卡号
carttype
信用卡类型
cartdate
Date
过期时间
(2)书籍表(book)
书籍表主要是记录了书籍的相关信息,如书籍名、书籍描述等,如表3-2所示。
表3书籍表(book)
字读名
备注
bookid
主键,id-
Categoryid
外键,类目id
Name
书名
Logo
图标
Descn
255
描述
Qty
Int
库存
Price
Decimal
(10,2)
单价
(3)类目表(category)
类目表主要是记录了书籍的类目、描述等信息,如表3-3所示。
表4类目表(category)
catid
类目名
(4)订单表(order)
订单表主要记录了购买书籍后的记录,包括价格、数量等,如表3-4所示。
表5订单表(order)
orderid
32
外键用户表
外键书籍表
lineitem
订单中的分项
quantity
数量
status
订单状态[p,y,n]
orderdate
date
下单时间
(5)评论表(comment)
评论表记录了用户对书籍的评论信息,如表3-5所示。
表6评论表(comment)
commentid
主键auto
Bookid
Comment
400
评论内容
Commdate
timestamp
评论时间
2.3.4数据库物理设计
数据库物理结构设计的主要任务是:
对数据库中的数据,在物理设备上的存放结构和存取方法进行设计,索引的设计等。
数据库的物理结构依赖于确定的计算机系统,并于选用的DBMS密切相关。
物理设计的任务是为了有效的实现逻辑模式,确定所采取的存储策略。
此阶段以逻辑设计的结果作为输入,结合具体DBMS的特点与存储设备特性进行设计,选定数据库在物理设备上的存储结构和存取方法。
2.4输出设计
(1)输出设计的内容
输出设计的内容包括:
有关输出信息使用方面的内容;
输出方式;
输出设备;
输出介质。
(2)输出设计的方法
在系统设计阶段,设计人员应给出系统输入的说明,这个说明既是将来编程人员在软件开发中进行实际输出设计的依据,也是用户评价系统实用性的依据。
因此,设计人员要选择合适的输出方式,并以清楚的方式表达出来。
输出形式主要有报表信息和图形化信息。
本系统的输出为表格形式,主要包括用户信息,书籍信息和订单信息。
2.5输入设计
输入设计的目标是保证向系统输入正确的数据。
输入设计的原则。
输入设计应遵循以下原则:
最小量原则:
这是指在保证满足处理要求的前提下使输人量最小。
由于数据输入与计算机处理比较起来相对慢,在数据录入时,系统大多数时间都处于等待状态,系统效率将显著降低;
同时,数据录入工作一般需要人的参与,大量的数据录入往往浪费很多的人力资源,增加系统的运行成本。
因此,输入量越少,出错机会越少,花费时间越少,数据一致性越好。
简单性原则:
输入的准备、输入过程应尽量容易,以减少错误的发生。
这主要是因为输入设计在为用户提供纠错和输入校检的同时,就保证了输入过程简单易用,就保证了不会因为差错,纠错而使输入复杂化,增加用户负担。
早检验原则:
对输人数据的检验尽量接近原数据发生点,使错误能及时得到改正。
因此输入设计中应采用多种输入校检方法和有效性验证技术,以减少输入错误。
少转换原则:
输入数据尽量用其处理所需形式记录,减少不必要的输入步骤,当步骤不能省时,应仔细验证现有步骤是否完备,以免数据转换介质时发生错误。
本系统的主要输出为文本形式。
输入格式设计
输入格式的设计一般是指数据录入人员在终端屏幕上看到的凭证格式。
其设计格式的原则是使录入人员能方便的输入数据,尽量避免操作失误。
本系统中主要输入方式方式为键盘输入,主要输入的内容为用户信息,书籍信息。
3、系统实施
§
3、1数据库连接
本软件使用ODBC连接数据库,基本思想为为数据库中每个表建立一个RecordSet类,
当要对表中数据进行操作时,创建相关记录集,即可引用类中的响应函数进行添加、修改、
删除、查询等操作。
3、2主界面
主界面中显示顾客登录、管理员登录和顾客注册三个按钮,顾客输入登录名和密码后点
击顾客登录后进入顾客查询界面,管理员输入登录名和密码后点击管理员登录后进入管理界
面,若是新顾客,直接点击注册即可进入注册界面,各对话框之间的连接通过DoModal()函
数实现,若需要进行身份验证,未输入用户名或密码则将弹出提示对话框“请输入用户名和
密码!
”,输入后系统将进入相应的数据库表查询是否有此信息,若无对应信息则弹出对话框
提示输入信息错误,信息正确方可进入下一界面,如顾客登录时,系统使用以下代码完成身
份验证功能,同时记录下用户信息以便加入订单:
生成查询用户账号和密码的SQL语句
mSqlStr="
select*fromcustomerwherecno='
"
;
mSqlStr=mSqlStr+m_no;
mSqlStr=mSqlStr+"
'
andcpass='
mSqlStr=mSqlStr+m_password;
if(!
customer.Open(AFX_DB_USE_DEFAULT_TYPE,mSqlStr))
{
AfxMessageBox("
customer表打开失败!
);
return;
}
customer.IsBOF())
{
Openallfunctionforuser
m_customer_no=customer.m_cno;
m_customer_name=customer.m_cname;
m_customer_phone=customer.m_cphone;
m_customer_add=customer.m_cadd;
AfxMessageBox("
密码正确,欢迎登录!
EndDialog(IDCANCEL);
Cgkcxa;
a.DoModal();
}
else
AfxMessageBox("
密码输入错误!
!
3、3添加功能
本软件的添加功能使用AddNew()函数,应用在顾客注册、顾客购书、管理员添加新书等
模块。
1)顾客注册:
新顾客在主界面中点击注册后即可进入注册界面填写自己的各项信息,完
成后点击确定,信息添加到customer表中,并利用触发器自动生成顾客编号作为登录名。
相
关代码如下:
setcustomerc;
c.Open();
c.AddNew();
UpdateData(TRUE);
if(m_name.IsEmpty()||m_phone.IsEmpty()||m_add.IsEmpty()||m_password.IsEmpty()||m_mima
.IsEmpty())
MessageBox("
请输入全部信息!
if(m_password!
=m_mima)
密码错误,请确认!
c.m_cpass=m_password;
c.m_cname=m_name;
if(m_sex==0)
c.m_csex="
男"
elsec.m_csex="
女"
c.m_cage=m_age;
c.m_cphone=m_phone;
c.m_cadd=m_add;
c.Update();
c.Requery();
m_customer_zhanghao=c.m_cno;
UpdateData(FALSE);
m_customer_xingming=m_name;
m_customer_mima=m_password;
Cxxqra;
2)顾客购书:
顾客在查询界面中选择想要购买的图书后点击购买可进入购买界面,选择
付款方式、送货方式并确认后,相关信息添加到orders表中,并利用触发器自动生成订单号。
相关代码如下:
Csetordersorder;
setbookbook;
order.Open();
order.AddNew();
if(m_zhifu==0)
order.m_opay="
网银支付"
elseorder.m_opay="
货到付款"
if(m_songhuo==0)
order.m_oconvey="
快递"
elseorder.m_oconvey="
EMS"
order.m_bno=m_book_no;
order.m_cadd=m_customer_add;
order.m_cname=m_customer_name;
order.m_cno=m_customer_no;
order.m_cphone=m_customer_phone;
order.Update();
order.Requery();
m_order_no=order.m_ono;
book.Open();
book.Edit();
book.m_bstock--;
book.Update();
book.Req
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网上 书店 管理信息系统 数据库 毕业 课程设计