基于三层架构的网上书店系统的分析和设计本科毕业论文 精品.docx
《基于三层架构的网上书店系统的分析和设计本科毕业论文 精品.docx》由会员分享,可在线阅读,更多相关《基于三层架构的网上书店系统的分析和设计本科毕业论文 精品.docx(26页珍藏版)》请在冰豆网上搜索。
基于三层架构的网上书店系统的分析和设计本科毕业论文精品
本科毕业论文
基于三层架构的网上书店系统的分析与设计
目录
摘要12
ABSTRACT13
第1章绪论14
1.1课题来源14
1.2课题背景14
1.3国内外在该方向的研究现状及分析15
1.4使用的开发平台15
第2章系统总体分析和设计16
2.1系统功能概述16
2.2需求分析16
2.3可行性分析16
2.3.1技术可行性17
2.3.2经济可行性17
2.3.3实践可行性17
2.4概要设计17
2.4.1系统功能模块图18
2.4.2系统功能模块简介18
2.5数据库设计与实现19
2.5.1数据库关系图20
2.5.2数据库物理设计20
第3章详细设计23
3.1公共类描述23
3.1.1图书信息类(book类)23
3.1.2用户信息类(user类)24
3.2数据访问层25
3.2.1数据库操作类(DataBase类)25
3.2.2数据库连接类(SqlConClass类)26
3.3业务逻辑层描述27
3.3.1图书操作类(BookOperator)27
3.3.2订单信息类(Order)29
3.4表现层的实现30
3.4.1用户信息管理30
3.4.2书籍展示模块31
3.4.3购物车模块32
3.4.4图书管理模块33
结论35
参考文献36
摘要
随着电子商务的发展,网上购物服务逐渐深入到人们的生活中。
网上书店作为其中重要的一部分,给人们的生活带来了很多方便。
通过网上书店,人们可以足不出户选购自己所需的图书。
该系统主要由前台信息发布网站和后台管理维护系统两部分构成;在支持整个网站的运作功能的基础上,能帮助用户对前台网站进行日常管理和信息发布;本网站主要实现对书籍的展示和销售,对整个网站的设计进行了总体描述,详细介绍了网上书店系统从需求分析、概要设计、数据库设计到详细设计的完成过程。
系统用ASP.NET技术实现动态网上书店的开发,充分突出了ASP.NET技术的优越性。
另外,使用ASP.NET三层架构技术使得本系统结构灵活、性能更佳。
在此,着重论述了购物车和购书管理电子商务的具体功能实现、关键技术的使用。
关键词电子商务;网上书店;购物车
第1章绪论
21世纪是电子商务的世纪。
电子商务通过大幅度地降低交易成本、增加贸易机会、简化交易流程、提高服务质量、改善物流电子商务网站等,极大地推动了全球经济的发展,并在很大程序上影响着我们的生活方式和工作方式。
众所周知,电子商务的存在与发展都离不开商务网络的支持,各种商务网站不仅已经成为现代企业的门户,同时也是企业从事电子商务活动必不可少的基础平台。
通过网上图书销售系统的设计来理解如何把一个实体企业网络化,搭建B2C模式的网上交易平台,纵观现在的两大主流开发体系:
Microsoft的.NET体系和SUN公司的以J2EE(Java2EnterpriseEdition)为核心的SUN-ONE(SUNOpenNetworkEnvironment)战略,无论在哪套体系中,基于WEB的技术都在被逐步渐加强,.NET推出了以ASP.NET为代表的WEB开发技术,而在SUN的Java体系中,则有JSP/Servlet/JavaBean与之相抗衡。
本次毕业设计主要采用ASP.NET技术,并综合相关的C#技术,数据库技术和软件工程的理论来完成,其次本系统采用ASP.NET三层架构开发模式增加了系统的灵活性,使得系统可移植性大大提高。
1.1课题背景
电子商务活动利用前所未有的方式将顾客、销售商、供货商联系在一起,能将有价值的信息迅速传递给需要的人们。
网络技术的成熟,促进了信息技术更加广泛的应用,因此建立网上销售网站充分运用网络技术可满足企业不断增长的供货能力、客户和市场竞争的需求。
电子商务网站的建立可使企业在商场上不断取得发展的重要技术,并赢得越来越多的客户。
企业也可利用网站和网络触角伸展到客户的家中,架起一座桥梁,以先进的技术渗透于订货、生产、交货、支付甚至售后服务等整个商务过程。
网络技术引发企业市场的营销战略发生了极深刻的变化,传统的营销理念走向终结,新型的整合营销得到企业和社会的广泛关注。
网络技术增强了企业管理功能,为企业管理提供全新的工具和手段,已成为企业管理的有效手段。
它的功能已不单是提高管理效率,而且还将通过管理的科学化和民主化,全面增强企业管理功能。
网络经济是用现代信息技术和网络技术,依靠形成的互联网网络进行商务活动,它集金融电子化、管理信息化、办公室自动化于一体。
1.2国内外在该方向的研究现状及分析
随着互联网的普及以及近几年来电子商务的发展,网上购物逐渐深入到人们的生活中,给人们带来了极大的便利。
其中网上图书销售系统是电子商务时代的一个典型代表。
目前我国运作和销售较好的大型网上书店,如当当、卓越和旌旗席殊、中国书网网上书店等,这些网上书店各具优势。
在国外,影响较大的网上书店有美国的亚马逊,德国的贝塔斯曼和英国的因特网书店。
英国书业界人士分析,未来英国的网上售书将成为图书销售渠道中的主要渠道。
1.3使用的开发平台
系统开发环境:
WindowsXP、Microsoftvisualstudio2008,
数据库:
MicrosoftSQLServer2005
开发语言:
C#语言、ASP.NET、HTML、CSS
WEB服务器:
Tomcat5.0.19及以上版本
客户端运行环境:
IE4及以上版本
表1-1开发平台
开发环境
WindowsXP、Microsoftvisualstudio2008,
数据库
MicrosoftSQLServer2005
语言
C#语言、ASP.NET、HTML、CSS
WEB服务器
Tomcat5.0.19及以上版本
客户端运行环境
IE4及以上版本
第2章系统总体分析和设计
本章从系统的需求分析、可行性研究、总体设计、数据库的设计等方面入手对整个系统进行了总体的分析说明。
经过一系列的分析整合验证了该学校网站系统实现的可行性。
同时也给出了整个系统的功能模块图及各模块功能介绍,使得整个系统的整体功能清晰明了。
2.1系统功能概述
本学校网站主要包括前台客户端系统和后台书店管理系统两部分,主要是实现网上选课、评估、信息录入等功能的系统。
一个典型的网网站包括:
新闻信息、介绍信息、留言信息、联系方式、教师介绍等模块,本系统也不例外。
2.2需求分析
(1)售前服务
本网上书店比传统书店提供更为丰富的书籍信息,如提供图书的出版信息,可供书目、新书信息、新书介绍等。
互联网具有交互性的特点,为网上书店有效地整合各种信息创造了条件。
首先,网上书店要整合读者与出版社和书店之间的信息,网上书店要让厂家能够及时了解读者的需求动态,也要让读者及时了解出版社的出版动态,而且这种信息交流要做到双向互动;其次,网上书店要整合读者与图书的信息,可以把读者的购书经历及读后感在网上登出,为其他读者提供购书参考。
(2)售后服务
网上书店只是提供了一个虚拟的卖场,配送服务是网上书店营销服务的一个重要内容。
当前网上书店的送货方式主要有三种:
一是通过邮局寄送,二是雇用配送公司发送,三是自己组织人员配送。
但是由于人力物力有限,在此本系统对售后服务这个模块不做过多设想。
2.3可行性分析
根据初步调查的结果,可以做出系统开发可行与否的结论。
任何一个工程的立项都需要进行项目的可行性研究,这是保证系统能够正常开发的必要环节。
信息系统开发项目是一项复杂的高科技系统工程,可行性研究也是必不可少的。
2.3.1技术可行性
技术方面:
在大学期间比较重视C#的学习,并有良好的编程经验。
对.NET平台及其开发环境VisualStudio2008相当熟悉,对Web开发相关经验虽有所欠缺但没有太大问题。
有一定的软件工程发面的知识,为项目开发各个环节打下了良好的基础。
硬件方面:
目前一般各企业的办公室和家庭中,基本都已经配备了性能较好的计算机,完全可以满足所需要的配置。
2.3.2经济可行性
根据实际情况,对于开发一套培训机构网站,从开发费用,运行费用,都在企业和个人的承受范围之内。
然而,使用该培训机构网站所带来的帮助是显而易见的,主要表现在:
提高了家长对学校的了解、提高了教师繁琐的工作效率、提高了学生对于各方的信息了解程度。
如:
学生对教师的评估等。
2.3.3实践可行性
新形势、新时代的发展要求,使教学机构的发展朝着规范化,标准化,潮流化方向发展。
大多数教学机构具备了建立自己的网站平台的基础,学校网站的开发适应了社会发展的趋势,符合教育机构的要求,也加快了科学教育发展的步伐,实践证明,本网站符合实际需要,具有实践价值,具有较强的生命力。
2.4概要设计
该系统包括前台展示和后台管理两方面的内容,因此概要设计包括前台、后台系统功能模块图以及系统功能功能模块简介。
从整体上更加清晰、明了的介绍了本网上书店系统的模块划分和实现功能。
2.5数据库设计与实现
相应的数据库主要包括users(用户信息表)、Article(文章信息表)、Prcture(图片信息表)、Download(下载信息表)、Channel(频道信息管理表)、Announcement(公告信息栏表)6张数据库表。
该部分主要从数据库关系图、数据库各表实现两方便来描述数据库的设计和实现。
2.5.1数据库关系图
本小节主要介绍数据库的关系设计。
userID是Users实体的主键,ArticleID是Article实体的主键,PhotovoteID是PhotovoteI实体的主键,DownloadID是Download实体的主键,ChannelID是Channel实体的主键,AnnouncementID是Announcement实体的主键。
详细的关系图如下图2-5-1所示:
(1)user表
(2)Article表
(3)Prcture表
(4)Download表
(5)Channel表
(6)Announcement表
图2-3数据库关系图
2.5.2数据库物理设计
本小节主要讲述数据的物理模型设计,并给出users、Article、Prcture、Download、Channel、Announcement实体的物理模型。
实体的物理模式如下所示:
(1)用户信息表(users表)
Users表用来存储会员注册信息,包括用户名、注册邮箱、接收邮件地址等信息。
在表2-1中列出了该表中所包含的字段描述信息。
表2-1users表的数据结构
字段名称
字段类型
字段长度
是否主键
字段描述
UserID
Int
5
YES
用户编码,自增长
GroupID
varchar
50
NO
用户组ID,0为未指定
UserName
varchar
20
NO
用户名
PassWord
varchar
50
NO
密码
Question
text
NO
密码问题
Answer
nchar
6
NO
问题答案
Email
nchar
11
NO
电子信箱
RealName
nchar
11
NO
真实姓名
Sex
nchar
11
NO
性别
birthday
nchar
11
NO
出生日期
IDCard
nchar
11
NO
身份证号码
OfficeTel
nchar
11
NO
办公电话
HomeTel
nchar
11
NO
家庭电话
Mobile
nchar
11
NO
手机号码
(2)文章信息表(Article表)
Article表是用来保存网站的基本信息有关的数据表,是维护管理文章数据的依据,包括文章的标题,所属类型等详细的信息,在表2-2中列出了该表中所包含的字段描述信息。
表2-2Article表的数据结构
字段名称
字段类型
字段长度
是否主键
字段描述
ArticleID
Int
5
Yes
编码,自增长
Tid
varchar
50
NO
对应的栏目ID
KeyWords
varchar
20
NO
文章关键字
TitleType
int
50
NO
Title
varchar
50
NO
简短标题
FullTitle
varchar
50
NO
完整标题
Intro
text
NO
文章导读
ShowComment
varchar
50
NO
是否显示评论链接
TitleFontColor
varchar
50
NO
加颜色
TitleFontType
varchar
50
NO
ArticleContent
varchar
50
NO
文章内容
Author
varchar
50
NO
作者
Origin
varchar
50
NO
来源
Hits
varchar
50
NO
点击数
(3)图片信息表(Prcture表)
Prcture表是用来保存网站的基本信息有关的数据表,是维护管理图片数据的依据,包括图片的标题,所属类型等详细的信息,在表2-3中列出了该表中所包含的字段描述信息。
表2-3Prcture表的数据结构
字段名称
字段类型
字段长度
是否主键
字段描述
Id
int
50
YES
编码,自增
ChannelID
varchar
50
NO
ClassID
varchar
50
NO
InfoID
varchar
50
NO
VoteTime
varchar
50
NO
UserName
varchar
50
NO
UserIP
varchar
50
NO
VoteOptions
varchar
50
NO
(4)下载信息表(Download表)
Download表用来记录客户下载的信息,对上传下载文件的存储信息。
在表2-4中列出了该表中所包含的字段描述信息。
表2-4Download表的数据结构
字段名称
字段类型
字段长度
是否主键
字段描述
DownloadID
int
5
YES
自增
Tid
varchar
50
NO
目录分类
KeyWords
varchar
50
NO
关键字
Title
varchar
50
NO
下载名称
DownSize
varchar
50
NO
大小
DownUrls
varchar
50
NO
下载地址
AddDate
datetime
50
NO
更新时间
(5)频道信息管理表(Channel表)
Channel表做为对文章,图片,下载等内容进行详细的分类功能,同时能添加模块,实现功能的扩展。
在表2-5中列出了该表中所包含的字段描述信息。
表2-5Channel表的数据结构
字段名称
字段类型
字段长度
是否主键
字段描述
ChannelID
int
5
YES
自增
ChannelName
varchar
50
NO
模型名称
ModelEname
varchar
50
NO
存放目录
InfoVerificTF
varchar
50
NO
会员审核功能
(6)公告信息栏表(Announcement表)
Announcement表做为对学校的最新信息的发布浏览存放功能。
在表2-6中列出了该表中所包含的字段描述信息。
表2-6Announcement表的数据结构
字段名称
字段类型
字段长度
是否主键
字段描述
AnnouncementID
int
5
YES
自增
Title
varchar
50
NO
AddDate
varchar
50
NO
Author
varchar
50
NO
第3章详细设计
本章主要介绍了网站的详细设计和关键部分具体实现,按照三层架构分层次具体讲述系统各功能模块的实现,并给出必要的参考图片和参考代码。
就各个功能模块的操作步骤、功能、注意事项做详细介绍。
3.1公共类描述
公共类主要用来为各层提供数据支持。
该网站包括文章信息类(Article类)、用户信息类(user类)、图片信息类(Prcture类)、公告信息类(Announcement类)、下载信息类(Download类)。
该部分以文章信息类(Article类)、用户信息类(user类)为例讲述公共类的实现。
3.1.1文章信息类(Article类)
该类主要实现对文章信息表各字段的封装及规定个字段属性访问器的访问权限。
图3-1为该类的类结构图,表3-1列出了文章信息类的对象属性。
图3-1Article类的类结构图
字段名称
字段类型
字段长度
ArticleID
Int
5
Tid
varchar
50
KeyWords
varchar
20
TitleType
int
50
Title
varchar
50
FullTitle
varchar
50
Intro
text
ShowComment
varchar
50
TitleFontColor
varchar
50
TitleFontType
varchar
50
ArticleContent
varchar
50
表3-1Article类的对象属性
3.1.2用户信息类(user类)
该类主要实现对客户信息表各字段的封装及规定各字段属性访问器的访问权限。
图3-2为该类的类结构图,表3-2列出了用户信息类的对象属性。
图3-2user类的类结构图
表3-2user类的对象属性
属性
字段类型
描述
userName
String
用户名
userPwd
string
用户密码
userEmail
int
邮箱
userPostcode
double
用户邮编
userphone
int
用户手机号码
userAddress
string
用户地址
userCity
string
用户所在城市
3.2数据访问层
该层主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务。
主要包括数据库基本操作类(DataBase类)和数据库连接类(SqlConClass类)。
3.2.1数据库操作类(DataBase类)
该类包含了辽宁经贸培训学校网站对数据库的基本操作方法,包括各种返回类型的sql语句执行方法,是其他类的基类。
该类的类结构图如图3-3所示,该类的对象方法如表3-3所示。
图3-3DataBase类的类结构图
表3-3DataBase类的对象方法
方法名称
属性描述
Open
打开数据库连接
close
关闭数据库连接
dispose
释放数据库资源
ExecuteSql
执行Sql语句操作
ExecuteSqlResult
返回查询结果
ExecuteSqlDs
返回数据集信息
ExecuteSqlIntValue
返回类型为int型的第一行第一列
ExecuteSqlObjectValue
返回值为Object型的第一行第一列的结果值
关键代码:
执行sql语句操作代码如下所示:
publicstaticintExecuteSql(stringsql)
{SqlConnectionconn=SqlConClass.getConnect();
SqlCommandcmd=newSqlCommand(sql,conn);
try{conn.Open();
cmd.ExecuteNonQuery();
return0;}
catch(SqlExceptionerr)
{thrownewException(err.Message);}
finally{
cmd.Dispose();//释放资源
conn.Close();}}
返回值为Object型的第一行第一列的结果值的方法的代码如下:
publicstaticobjectExecuteSqlObjValue(stringsql)
{SqlConnectionconn=SqlConClass.getConnect();
SqlCommandcmd=newSqlCommand(sql,conn);
try
{conn.Open();
objectr=cmd.ExecuteScalar();
if(Object.Equals(r,null))
{thrownewException("查询结果为空!
");}
else
{returnr;}}
catch(SqlExceptionerr)
{thrownewException(err.Message);}
finally
{cmd.Dispose();
conn.Close();}}
ExecuteSqlResult、ExecuteSqlDs、ExecuteSqlIntValue等方法的具体代码同上所示,在此不再赘述。
3.2.2数据库连接类(SqlConClass类)
该类中包含了各种数据库的连接方式及数据库连接的测试方法,为该网站中所有的数据库操作提供连接字符串。
该类的类结构图如图3-4所示,该类的对象方法如表3-4所示。
图3-4SqlConClass类的类结构图
表3-4SqlConClass类的对象方法
方法名称
属性描述
TestConnet
测试数据库连接
getConnect
Windows方式下的数据库连接
getCon
Sql方式下数据库连接
关键代码:
Sql方式下数据库的连接方法实现代码如下所示:
staticpublicSqlConnectiongetCon(Stringserver,StringdataBase,stringaccount,stringpwd)
{SqlConnectioncn=newSqlConnection("DataSource="+server+";InitialCatalog="+dataBase+";uid="+account+"pwd="+pwd);try
{cn.Open();}
catch(SqlExceptionex)
{Console.WriteLine(ex.Message);}
returncn;}
数据库连接测试方法的实现代码如下所示:
publicboolTestConnect()
{SqlConnectionconn=newSqlConnection();
conn.Connect