基于三层架构网上书店系统分析和设计Word格式.docx
《基于三层架构网上书店系统分析和设计Word格式.docx》由会员分享,可在线阅读,更多相关《基于三层架构网上书店系统分析和设计Word格式.docx(21页珍藏版)》请在冰点文库上搜索。
英国书业界人士分析,未来英国的网上售书将成为图书销售渠道中的主要渠道。
1.3使用的开发平台
系统开发环境:
WindowsXP、Microsoftvisualstudio2008,
数据库:
MicrosoftSQLServer2005
开发语言:
C#语言、ASP.NET、HTML、CSS
WEB服务器:
Tomcat5.0.19及以上版本
客户端运行环境:
IE4及以上版本
表1-1开发平台
开发环境
数据库
语言
WEB服务器
Tomcat5.0.19及以上版本
客户端运行环境
第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
20
用户名
PassWord
密码
Question
text
密码问题
Answer
nchar
6
问题答案
Email
11
电子信箱
RealName
真实
Sex
性别
birthday
出生日期
IDCard
OfficeTel
办公
HomeTel
家庭
Mobile
手机
(2)文章信息表(Article表)
Article表是用来保存的基本信息有关的数据表,是维护管理文章数据的依据,包括文章的标题,所属类型等详细的信息,在表2-2中列出了该表中所包含的字段描述信息。
表2-2Article表的数据结构
ArticleID
Yes
编码,自增长
Tid
对应的栏目ID
KeyWords
文章关键字
TitleType
int
Title
简短标题
FullTitle
完整标题
Intro
文章导读
ShowComment
是否显示评论
TitleFontColor
加颜色
TitleFontType
ArticleContent
文章容
Author
作者
Origin
来源
Hits
点击数
(3)图片信息表(Prcture表)
Prcture表是用来保存的基本信息有关的数据表,是维护管理图片数据的依据,包括图片的标题,所属类型等详细的信息,在表2-3中列出了该表中所包含的字段描述信息。
表2-3Prcture表的数据结构
Id
编码,自增
ChannelID
ClassID
InfoID
VoteTime
UserIP
VoteOptions
(4)下载信息表(Download表)
Download表用来记录客户下载的信息,对上传下载文件的存储信息。
在表2-4中列出了该表中所包含的字段描述信息。
表2-4Download表的数据结构
DownloadID
自增
目录分类
关键字
下载名称
DownSize
大小
DownUrls
下载地址
AddDate
datetime
更新时间
(5)频道信息管理表(Channel表)
Channel表做为对文章,图片,下载等容进行详细的分类功能,同时能添加模块,实现功能的扩展。
在表2-5中列出了该表中所包含的字段描述信息。
表2-5Channel表的数据结构
ChannelName
模型名称
ModelEname
存放目录
InfoVerificTF
会员审核功能
(6)公告信息栏表(Announcement表)
Announcement表做为对学校的最新信息的发布浏览存放功能。
在表2-6中列出了该表中所包含的字段描述信息。
表2-6Announcement表的数据结构
AnnouncementID
第3章详细设计
本章主要介绍了的详细设计和关键部分具体实现,按照三层架构分层次具体讲述系统各功能模块的实现,并给出必要的参考图片和参考代码。
就各个功能模块的操作步骤、功能、注意事项做详细介绍。
3.1公共类描述
公共类主要用来为各层提供数据支持。
该包括文章信息类(Article类)、用户信息类(user类)、图片信息类(Prcture类)、公告信息类(Announcement类)、下载信息类(Download类)。
该部分以文章信息类(Article类)、用户信息类(user类)为例讲述公共类的实现。
3.1.1文章信息类(Article类)
该类主要实现对文章信息表各字段的封装及规定个字段属性访问器的访问权限。
图3-1为该类的类结构图,表3-1列出了文章信息类的对象属性。
图3-1Article类的类结构图
表3-1Article类的对象属性
3.1.2用户信息类(user类)
该类主要实现对客户信息表各字段的封装及规定各字段属性访问器的访问权限。
图3-2为该类的类结构图,表3-2列出了用户信息类的对象属性。
图3-2user类的类结构图
表3-2user类的对象属性
属性
描述
userName
String
userPwd
string
用户密码
userEmail
userPostcode
double
用户邮编
userphone
用户手机
userAddress
用户地址
userCity
用户所在城市
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)
try
{conn.Open();
objectr=cmd.ExecuteScalar();
if(Object.Equals(r,null))
{thrownewException("
查询结果为空!
"
);
else
{returnr;
}}
finally
{cmd.Dispose();
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)
{SqlConnection=newSqlConnection("
DataSource="
+server+"
;
InitialCatalog="
+dataBase+"
uid="
+account+"
pwd="
+pwd);
{.Open();
catch(SqlExceptionex)
{Console.WriteLine(ex.Message);
return;
数据库连接测试方法的实现代码如下所示:
publicboolTestConnect()
{SqlConnectionconn=newSqlConnection();
conn.ConnectionString="
DataSource=.;
InitialCatalog=网上书店;
IntegratedSecurity=True"
try{conn.Open();
return(conn.State==ConnectionState.Open);
{returnfalse;
finally{conn.Close();
3.3业务逻辑层描述
业务逻辑层在数据访问层之上,用于访问数据层,从数据层获取数据、修改数据以及删除数据,并将结果返回给表现层。
该层主要包括文章操作类(Article类)、图片信息类(Prcture类)、下载信息类(Download类)、用户操作类(User类)等实体类。
3.3.1文章操作类(Article)
该类包含了图书操作的所有方法,包括各种类型的文章信息的添加、删除、修改、查询方法。
该类的类结构图如下图3-5所示,对象方法如表3-5所示。
图3-5Article类的类结构图
表3-5Article类的对象方法
AddNewArticle
添加文章
DeleteArticleById
删除指定的文章信息
GetArticleByHits
获得热门文章
GetArticleByType
根据文章类型获得文章信息
GetArticleDetail
根据文章编码获得文章的相关信息
GetArticleTop10
获得最新文章信息
SetHits
更新文章的点击次数
添加新书方法的实现代码如下所