网上书城管理系统论文.docx
《网上书城管理系统论文.docx》由会员分享,可在线阅读,更多相关《网上书城管理系统论文.docx(27页珍藏版)》请在冰豆网上搜索。
![网上书城管理系统论文.docx](https://file1.bdocx.com/fileroot1/2023-1/1/2f1c889e-64bd-4ec1-b3ca-e135b48ec58d/2f1c889e-64bd-4ec1-b3ca-e135b48ec58d1.gif)
网上书城管理系统论文
课程设计论文
网上书城管理系统
学生姓名:
年级专业:
2010级电子商务
指导老师:
学院:
湖南·长沙
提交日期:
目录
前言1
1需求分析1
1.1背景及可行性分析1
1.2数据需求分析1
1.2.1数据字典1
1.2.2前台分析7
1.2.3后台分析7
1.3功能需求分析8
1.3.1系统实现功能8
1.3.2系统整体说明8
2概要结构设计9
2.1系统概要设计(E-R图)9
2.2系统的功能模块:
15
3逻辑结构设计18
3.1关系模式18
3.2关系表18
3.3创建视图、存储过程、触发器21
4物理设计23
4.1物理概要分析23
4.2画出物理模型24
4.3生成SQL语句、创建系统表24
5详细设计与实现48
5.1插入数据后生产的表48
5.2模块功能的实现及截图50
5.2.1管理员查询书店信息50
5.2.2查询书籍种类与书籍信息51
5.2.3管理员发布公告51
5.2.4查询书籍的出版社信息51
5.2.5管理员查询销售记录52
5.2.6用户查询购物车信息52
5.2.7会员查询评价信息52
5.2.8管理员查送货地区52
5.2.9用户查询历史消费记录53
6总结53
网上书城管理系统
作者:
杨旸
指导老师:
朱小平
摘要:
本文在分析基于用户即会员的前台管理和管理员的后台管理的网上书城系统。
建立此系统的目的是为了建立一个类似淘宝的购书系统,不同的用户可以注册成为会员,然后可以查看,搜索自己想买的书籍,加入购物车,下订单,收货,确认付款等购书流程。
前台和后台的分析使得该系统结构清晰,即包含管理员和会员两个最基本的实体,接着在各个方面进行扩充从而得到其他的实体和关系。
通过对实体之间关系的严格探讨,最后成功的建立起了这个实现了一些简单购书功能的所谓网上书城管理系统。
由于时间紧迫,很多功能还有待完善,但总体的探讨方向还是正确的,对数据库模型的建立有了很深刻的认识,以后主要是加强对数据库一些深入的理解和需求分析的进一步完善,把网上书城这个系统推广到现实事务上,有望发展成一个像淘宝等团购网站的应用系统。
关键词:
数据字典;E-R图;逻辑结构设计;物理设计;详细设计与实现
OnlineBookstoreManagementSystems
Author:
Tutor:
(InstituteofInformationScienceandTechnology,HunanAgriculturalUniversity,ChangSha410128)
Abstract:
Thispaperanalyzestheprospectsofmembershipbasedontheuserthattheadministratorbackofficemanagementandanonlinebookstoresystem.ThepurposeofestablishingthissystemistocreateasimilarTaobaotextbooksystem,differentuserscanberegisteredasamember,thenyoucanview,search,buytheirbooks,addingshoppingcart,order,receipt,confirmationofpaymentoptions,etc.bookprocess.Foregroundandbackgroundanalysismakesclearstructureofthesystem,whichincludestheadministratorsandmembersoftwobasicentities,andthenexpandedinallaspectstobyotherentitiesandrelationships.Throughrigorousstudyoftherelationshipbetweenentities,andfinallybuiltupthesuccessoftheimplementationofsomesimplefunctionoftheso-calledonlinebookstoretextbookmanagementsystem.Lackoftime,manyfeatureshavetobeperfect,buttheoveralldirectionof,orcorrect,thedatabasemodelhasaveryprofoundunderstandingofthefuturearetoenhanceanumberofin-depthunderstandingofthedatabaseandneedsanalysistofurtherimprovetheonlineBookstoretopromotethesystemtotherealissues,isexpectedtodevelopintoabuyasthesiteTaobaoandotherapplications.
前言
网上书城管理系统的主要功能是提供给用户浏览和购买书籍的平台。
在通过我们五个组员的讨论之后,决定把这个平台分为两部分即前台用户管理和后台管理员管理,通过一个用户购买书籍的实例来理清两者的详细流程,找出各自的实体和关系,接着就是建立概念模型和物理模型,最后导出SQL语句到数据库,生成了多个表。
完成了数据库的创建之后,就是根据表与表之间的关系建立视图、存储过程和触发器等,至此完成此次课程设计的任务。
1需求分析
1.1背景及可行性分析
进入21世纪以来,电子商务伴随着IT的成熟,逐渐发展壮大,成为网络经济的核心。
在电子商务的发展过程中,人们逐渐意识到在线购物的无地域界限、安全、方便快捷及其价格优势,在线队伍的优势也随之扩大。
新一轮的网上购物狂潮正在中国掀起,伴随着中国互联网的快速发展,中国将会成为网上购物的巨大市场。
电子书店的出现使得消费者可以在家里就拥有类似逛书店般的乐趣。
加上搜索引擎这种咨询科技的帮组下,搜寻者很快就可以找到自己想要的书籍;例如留言板、论坛等更是为传统的书店提供了更加多元化的服务。
1.2数据需求分析
1.2.1数据字典
·数据项:
管理员
管理员编号:
char(4)
管理员名称:
varchar(50)
管理员密码:
varchar(10)
备注:
varchar(200)
·数据项:
订单
订单编号:
char(4)
订单日期:
datetime
金额:
number(10)
·数据项:
购物车
·数据项:
购物车
购物车编号:
char(4)
订单编号:
char(4)
图书数量:
int
总价:
numeric(5)
·数据项:
书籍
书籍编号:
number(10)
书籍名称:
varchar(20)
书籍作者:
varchar(10)
书籍价格:
money(10)
·数据项:
用户信息
用户编号:
number(10)
用户名:
varchar(10)
用户密码:
number(16)
·数据项:
书籍类别
目录编号:
number(10)
目录名称:
varchar(10)
系统数据流图:
1.2.2前台分析
客户端主要供会员浏览书城、购买图书,因此客户端就必须提供一个浏览和购买的平台。
“用户信息”用于管理用户的信息,主要包括:
登录名、密码。
“书籍信息”用于给用户查看书籍的信息,用户通过查看书籍的信息可以了解书籍的详细信息,让用户能够在购买图书前了解更多关于想要购买的图书的信息。
“购物车”用于在购书过程中给用户放置将要购买的书籍用的存放工具。
“订单”用于在购书结账时用户可以随时查看该次购书的总金额等。
用户可以通过购物车编号和订单信息知道自己的消费记录和消费金额
1.2.3后台分析
“管理员信息”用于管理店主(即管理员)的信息,包括管理员编号、管理员名、密码。
1.3功能需求分析
1.3.1系统实现功能
前台功能:
图书选购:
查看所有目录、查看单个目录下的书、查看每本书的详细信息
1、购物车功能:
查看购物车、添加书籍到购物车、下订单、结账
2、查看图书详细情况
3、查看用户的订单信息
4、查看用户的消费记录
后台功能:
1、系统图书管理:
添加、修改、删除、查看
2、系统目录管理:
添加、修改、删除
1.3.2系统整体说明
网上书城的主要参与者是顾客和商城,以及后台管理人员。
顾客从网上购物的操作步骤如下:
(1)顾客第一次购物时要注册登记。
注册完成后,系统会自动生成一个“会员ID”和密码,顾客可以登陆后改掉原来的密码,防止信息泄露。
(2)进入网上书店,挑选商品。
(3)查看商品细节说明,了解价格,书籍作者,购物说明等信息。
(4)选中商品,加入购物车。
(5)选购结束,生成订单。
2概要结构设计
2.1系统概要设计(E-R图)
2.1设计完成的E-R图如下:
2.2分E-R图如下:
管理员E-R图
书籍E-R图
购物车E—R图
订单E—R图
用户信息E—R图
2.2系统的功能模块:
1、用户功能模块
2、目录管理模块
功能描述:
目录管理主要主要完成书籍的分类,并对其进行添加、删除、修改等操作。
如下图所示:
3、购物车模块
4、订单管理模块
5、管理员模块
3逻辑结构设计
3.1关系模式
将系统E-R图转换为关系模式:
管理员(即店主)(编号、名称、密码)
书籍种类(编号、名称)
书籍(编号、名称、价格、出版社、作者、货库存量)
购物车(编号、名称、图书编号、图书数量、总价)
订单(编号、订单日期、顾客名称)
用户信息(用户编码、用户名、密码)
4.物理设计
4.1物理概要分析
通过PowerDesginer画出概念模型
根据系统要实现的功能,经过组员集体讨论,一起找出了整个系统的实体,以及各自实体对应的属性,利用工具PowerDesigner可以画出系统的概念模型,如下:
4.2画出物理模型
系统概念模型中包括了系统的实体、实体的属性以及各个实体业务逻辑的关系。
分析各个实体的关系正确后,可以生成系统物理模型,如下:
4.3生成SQL语句、创建系统表
通过系统物理模型可以更加清楚的看出各个实体的关系,在确定生成的物理模型正确后,通过物理模型客户以生成SQLServer2005将要建立的表代码,并将生成的SQL代码在将好的数据库中执行就可以将系统需要的表建好。
代码如下:
ifexists(select1
fromsys.sysreferencesrjoinsys.sysobjectsoon(o.id=r.constidando.type='F')
wherer.fkeyid=object_id('dd')ando.name='FK_DD_RELATIONS_GWC')
altertabledd
dropconstraintFK_DD_RELATIONS_GWC
go
ifexists(select1
fromsys.sysreferencesrjoinsys.sysobjectsoon(o.id=r.constidando.type='F')
wherer.fkeyid=object_id('dd')ando.name='FK_DD_RELATIONS_YHXX')
altertabledd
dropconstraintFK_DD_RELATIONS_YHXX
go
ifexists(select1
fromsys.sysreferencesrjoinsys.sysobjectsoon(o.id=r.constidando.type='F')
wherer.fkeyid=object_id('gwc')ando.name='FK_GWC_RELATIONS_DD')
altertablegwc
dropconstraintFK_GWC_RELATIONS_DD
go
ifexists(select1
fromsys.sysreferencesrjoinsys.sysobjectsoon(o.id=r.constidando.type='F')
wherer.fkeyid=object_id('gwcsj')ando.name='FK_GWCSJ_GWCSJ_GWC')
altertablegwcsj
dropconstraintFK_GWCSJ_GWCSJ_GWC
go
ifexists(select1
fromsys.sysreferencesrjoinsys.sysobjectsoon(o.id=r.constidando.type='F')
wherer.fkeyid=object_id('gwcsj')ando.name='FK_GWCSJ_GWCSJ2_SJ')
altertablegwcsj
dropconstraintFK_GWCSJ_GWCSJ2_SJ
go
ifexists(select1
fromsys.sysreferencesrjoinsys.sysobjectsoon(o.id=r.constidando.type='F')
wherer.fkeyid=object_id('gwcsj')ando.name='FK_GWCSJ_GWCSJ3_YHXX')
altertablegwcsj
dropconstraintFK_GWCSJ_GWCSJ3_YHXX
go
ifexists(select1
fromsys.sysreferencesrjoinsys.sysobjectsoon(o.id=r.constidando.type='F')
wherer.fkeyid=object_id('sj')ando.name='FK_SJ_RELATIONS_SHJLB')
altertablesj
dropconstraintFK_SJ_RELATIONS_SHJLB
go
ifexists(select1
fromsysindexes
whereid=object_id('dd')
andname='Relationship_4_FK'
andindid>0
andindid<255)
dropindexdd.Relationship_4_FK
go
ifexists(select1
fromsysindexes
whereid=object_id('dd')
andname='Relationship_3_FK'
andindid>0
andindid<255)
dropindexdd.Relationship_3_FK
go
ifexists(select1
fromsysobjects
whereid=object_id('dd')
andtype='U')
droptabledd
go
ifexists(select1
fromsysindexes
whereid=object_id('gwc')
andname='Relationship_2_FK'
andindid>0
andindid<255)
dropindexgwc.Relationship_2_FK
go
ifexists(select1
fromsysobjects
whereid=object_id('gwc')
andtype='U')
droptablegwc
go
ifexists(select1
fromsysindexes
whereid=object_id('gwcsj')
andname='gwcsj3_FK'
andindid>0
andindid<255)
dropindexgwcsj.gwcsj3_FK
go
ifexists(select1
fromsysindexes
whereid=object_id('gwcsj')
andname='gwcsj2_FK'
andindid>0
andindid<255)
dropindexgwcsj.gwcsj2_FK
go
ifexists(select1
fromsysindexes
whereid=object_id('gwcsj')
andname='gwcsj_FK'
andindid>0
andindid<255)
dropindexgwcsj.gwcsj_FK
go
ifexists(select1
fromsysobjects
whereid=object_id('gwcsj')
andtype='U')
droptablegwcsj
go
ifexists(select1
fromsysobjects
whereid=object_id('shjlb')
andtype='U')
droptableshjlb
go
ifexists(select1
fromsysindexes
whereid=object_id('sj')
andname='Relationship_1_FK'
andindid>0
andindid<255)
dropindexsj.Relationship_1_FK
go
ifexists(select1
fromsysobjects
whereid=object_id('sj')
andtype='U')
droptablesj
go
ifexists(select1
fromsysobjects
whereid=object_id('yhxx')
andtype='U')
droptableyhxx
go
/*==============================================================*/
/*Table:
dd*/
/*==============================================================*/
createtabledd(
ddbhnumeric(10)notnull,
gwcbhnumeric(10)notnull,
yhbmnumeric(10)null,
rqdatetimenotnull,
jenumeric(10)notnull,
constraintPK_DDprimarykeynonclustered(ddbh)
)
go
/*==============================================================*/
/*Index:
Relationship_3_FK*/
/*==============================================================*/
createindexRelationship_3_FKondd(
gwcbhASC
)
go
/*==============================================================*/
/*Index:
Relationship_4_FK*/
/*==============================================================*/
createindexRelationship_4_FKondd(
yhbmASC
)
go
/*==============================================================*/
/*Table:
gwc*/
/*==============================================================*/
createtablegwc(
gwcbhnumeric(10)notnull,
ddbhnumeric(10)null,
gwzemoneynotnull,
constraintPK_GWCprimarykeynonclustered(gwcbh)
)
go
/*==============================================================*/
/*Index:
Relationship_2_FK*/
/*==============================================================*/
createindexRelationship_2_FKongwc(
ddbhASC
)
go
/*==============================================================*/
/*Table:
gwcsj*/
/*==============================================================*/
createtablegwcsj(
gwcbhnumeric(10)notnull,
shjbhnumeric(10)notnull,
yhbmnumeric(10)notnull,
constraintPK_GWCSJpri