网络答疑系统的设计与实现.docx
《网络答疑系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《网络答疑系统的设计与实现.docx(33页珍藏版)》请在冰豆网上搜索。
网络答疑系统的设计与实现
摘要
随着计算机及网络技术的飞速发展,Internet/Intranet应用在全球范围内日益普及,当今社会正快速向信息化社会前进,信息自动化的作用也越来越大。
电子商务的出现使我们从繁杂的事务中解放出来,提高了我们的工作效率。
本系统是一个具有交互功能的C2C类型的电子商务网站(客户与客户之间进行商品交易的平台),它是在网上建立的一个商品交易市场,网上交易,安全灵活,节省投资和运营成本,以代替人工的、传统的管理。
该系统基本实现了网上买卖,信息发布等基本功能。
该系统包括前台(用户)和后台(管理员)两部分,前台包括会员注册、商品信息浏览,商品分类购买、商品上柜、会员信息修改、购物车等几个模块,后台包括会员信息管理、商品信息管理、订单管理等几个模块。
该系统的开发环境是WindowsServer2003,开发工具为VisualStudio2005,数据库管理系统采用的是SQLServer2000。
关键词:
VisualStudio2005;ADO.NET;SQLServer2000;C2C;商品交易
网络答疑系统的设计与实现
1绪论
1.1系统需求分析
1.1.1设计目的
随着计算机及网络技术的飞速发展,Internet/Intranet应用在全球范围内日益普及,当今社会正快速向信息化社会前进,信息自动化的作用也越来越大。
电子商务的出现使我们从繁杂的事务中解放出来,提高了我们的工作效率。
在计算机网络支撑、完善的数据库和稳定的开发平台上,利用现有的软件,和良好的硬件配置,开发一套具有开放体系结构的、可扩充的、易维护的、具有良好人机交互界面的网上商品交易系统,实现对商品、供应商、客户统一管理的计算机系统,提供准确、精细、迅速的商业信息。
使购物过程更加轻松、快捷、方便,这很适合现代人的生活节奏。
1.1.2网上商店系统的特点
1.网络管理轻松便捷:
网上商店系统的整套系统采用真正纯粹的B/S架构,这就解脱了这种维护上的麻烦。
管理员不必固守服务器前,他只需在任何一台能够连入系统的客户计算机上,通过输入自己的管理员账号和密码,仅通过浏览器即可完成整套系统的管理工作。
2.检索查询一目了然:
一套管理系统中,最常见的操作就是查询,查询操作是否便捷、是否准确、是否丰富多样,成为衡量管理系统产品功能是否强大的要素之一。
在网上商店系统中,提供了多种检索查询方式。
3.个人环境简易亲切:
当用户查询出需要的商品,可以添加到购物车中,可以在以后管理购物车,在汇款到后可以看到款到信息,发货后可以看到发货信息。
用户的购物车是只能被用户本人和管理员看到的。
4.商品资料极易扩充:
一套管理系统,如果不能自行扩充其中的内容,那么它的效能必定是有限的。
在网上商店系统中,允许管理员根据需要,自行向数据库中扩充新的商品或删除旧商品。
1.2构造系统的逻辑模型
构造系统的逻辑模型如图1-1。
图1-1网上商店系统结构示意图
网上商店系统从功能上划分包括前台(用户)和后台(管理员)两部分。
前台包括会员注册、商品信息浏览,商品分类购买、商品上柜、会员信息修改、购物车等几个模块,后台包括会员信息管理、商品信息管理、订单管理等几个模块
1.3确定目标系统的功能
经过对系统需求分析,结合本系统的特点,在现行工作流程和数据分析的基础上,基本可以确定系统设计所必须达到的目标。
网上商店系统必须具备的功能如下:
1建立数据库核心
数据库是整个系统的核心,建立与每一个页面中的ASP.NET语句的连接,记录并保存基本的变化信息,保证网页页面成功调用数据并根据需要显示出来。
数据库能够及时更新用户对信息的修改、提问和回复的写入等操作。
2合理的分类和方便快捷的搜索功能
商店系统的建立目的是通过网络实现物品交易,所以建立一个合理的分类能够帮助用户快速的找到相应的信息。
3身份注册和登陆功能
每一个用户在登陆后均可以通过本系统实现交易行为,每一个注册用户都会建立一个档案,记录其在本系统的行为,包括用户姓名、联系方式、用户IP等等。
这些记录信息将有利于管理员进行物流管理。
4强大的后台管理功能
设计一个强大全面的后台管理是一个优秀网站的关键,实际具体要求来设计本系统后台管理。
后台管理只有管理员才能进入进行管理。
后台管理包括用户管理、订单管理、产品分配及添加。
2相关软件及技术介绍
2.1Dreamweaver
Dreamweaver是美国MACROMEDIA公司开发的集网页制作和网站管理于一身的所见即所得网页编辑器,是一种可视化网页制作工具,利用它可以轻松地制作出跨越平台限制和跨越浏览器限制的动态网页。
Dreamweaver可以开发HTML、XHTML、ColdFusion、ASP、ASP.NET、JSP或PHP网站。
通过平面设计工具以及代码提示、标签编辑器、可扩展色彩代码、标签选择器、片段和代码检验这类编码特性来实现对代码和设计的管理。
新集成的工作空间可以与MacromediaFlashMX和FireworksMX共享,其中包括了标示签的文档窗口、可放到dock中的画板组、可定制的工具条和集成的文件浏览。
Dreamweaver还包括有预建的布局和代码,其中有网站结构、表格、可访问的模板以及为客户端交互应用而提供的JavaScript。
为翻新现有网站以及创建下一代应用程序,Dreamweaver还支持新标准和新的网页技术,带有对XML、网页服务和增强可访问性的支持。
DreamweaverMX为新的ColdFusionMX特性提供全套的支持,包括增强的代码编辑和开发功能、集成的调试功能、可视化布局功能和照片打印功能。
2.2SQLServer数据库
SQLServer是微软公司开发的一个关系数据库管理系统,以Transact_SQL作为它的数据库查询和编程语言。
T-SQL是结构化查询语言SQL的一种,支持ANSISQL-92标准。
是一个高性能的、多用户的关系型数据库管理系统;它是专为客户/服务器计算环境设计的,是当前最流行的数据库服务器系统之一;它提供的内置数据复制功能、强大的管理工具和开放式的系统体系结构为基于事务的企业级信息管理方案提供了一个卓越的平台。
SQLServer所使用的数据库查询语言称为Transact-SQL,它是SQLServer的核心,Transact-SQL强化了原有的SQL关键字以进行数据的存取,储存及处理等功能,Transact-SQL扩充了流程控制指定,可以使你方便的编写功能强大的存储过程,他们存放在服务器端,并预先编译过,执行速度非常块,触发是一种特殊的存储过程,用来确保SQLServer数据库引用的完整性,你可以建立插入,删除和更新触发以控制相关的表格中对数据列的插入,删除和更新,你还可以使用规则(Rule),缺省(default)以及限制(Constraints),来协助将新的数值套用到表格中去。
2.3IIS服务器
IIS(InternetInformationServer,互联网信息服务)是一种Web(网页)服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面。
IIS的设计目标是提供适应性强的internet和intranet服务器功能。
IIS具有相当高的执行效率、出色的安全保密性能,以及启动迅速和易于管理等特点。
IIS提供了ASP(ActiceServerPages)动态网页设计技术,使用ASP可以综合HTML语言和VBScript、JavaScript、PerlScrept等多种脚本语言,而且可以使用COM组件追寻动态交互式网页和功能强大的WEB应用程序。
在设计本系统过程中,利用IIS在本地调试ASP编写出来的网页。
在本地调试的好处是无需连接互联网即可以打开系统页面,并能够快速刷新页面,为设计带来极大的便利。
2.4ASP.NET
ASP.NET是服务器端脚本编写环境,是由Server端脚本、对象以及组件拓展过的标准主页使用它可以创建和运行动态、交互的Web页和基于Web的功能强大的应用程序。
ASP.NET采用的工作模型是典型的B/S过程:
1一个用户在浏览器的网址栏中添入ASP.NET文件名称,并回车触发这个ASP.NET的申请。
2浏览器将这个ASP.NET的请求求发送给IIS。
3WebServer接收这个申请要求并由于其.aspx的后缀意识到这是个ASP.NET的对象来实现服务器与客户端间的交互;可扩充服务器端功能。
利用ASP.NET提供的一组ActiveX服务器组件(ActiveXServerComponents)可继续扩充ASP.NET的功能。
如用ASP.NET内置ADO组件可以轻松的存取各种数据库。
此外,还可以用C#,Java等语言开发自己的组件以进一步扩充其功能;ASP.NET与浏览器无关,ASP.NET可以将运行结果一HTML的格式传送到客户端浏览器,因而可以使用于各种浏览器。
2.5VisualStudio.NET
VisualStudio.NET是一套完整的开发工具,用于生成ASPWeb应用程序、XMLWebservices、桌面应用程序和移动应用程序。
VisualBasic.NET、VisualC++.NET、VisualC#.NET和VisualJ#.NET全都使用相同的集成开发环境(IDE),该环境允许它们共享工具并有助于创建混合语言解决方案。
另外,这些语言利用了.NETFramework的功能,此框架提供对简化ASPWeb应用程序和XMLWebservices开发的关键技术的访问。
VisualStudio.NET集成开发环境现在包括开发智能设备(如PocketPC)应用程序的工具。
通过使用这些工具和.NETFramework精简版(.NETFramework的子集),您可以在个人数字助理(PDA)、移动电话和其他资源受约束的设备中,创建、生成、调试和部署在.NETFramework精简版上运行的应用程序。
XML支持:
可扩展标记语言(XML)提供描述结构数据的方法。
XML是SGML的子集,非常适合在Web上传送。
万维网联合会(W3C)定义了XML标准以使结构化数据保持统一并独立于应用程序。
VisualStudio.NET完全支持XML,提供了XML设计器以使编辑XML和创建XML架构更容易。
3系统数据库设计
3.1数据库的逻辑设计
根据系统的需求分析阶段对种情况的考虑,结合本系统的特点、确定的目标及逻辑模型即可进行数据库的逻辑设计。
数据库的逻辑设计即把得到数据库管理系统下的数据表。
表3-1管理员的信息表
序号
字段名
数据类型
长度
描述
1
ADminid
自动编号
管理员的惟一标识设置为主键
2
Admin
文本
30
管理员的姓名
3
Password
文本
30
管理员的密码
表3-2用户的基本信息表
序号
字段名
数据类型
长度
描述
1
MemberID
自动编号
用户的惟一标识,设置为主键
2
Name
文本
30
用户的登录名
3
Password
文本
30
用户的登录密码
4
Turename
文本
30
用户的真实姓名
5
sex
文本
4
用户的性别(0为男,1为女)
6
address
文本
50
用户的公司或家庭地址
7
city
文本
12
所在城市
8
Postcode
文本
10
用户的邮编
9
Usetel
文本
15
用户的电话
10
usemail
文本
30
用户的电子邮箱
表3-3商品信息表
序号
字段名
数据类型
长度
描述
1
ID
自动编号
惟一标识,设置为主键
2
pname
文本
30
物品的名字
3
pnumber
文本
5
商品代号
4
pwpjj
文本
250
商品简介
5
Ptype
文本
30
商品类别
6
Pprice
文本
30
商品单价
7
picture
文本
50
商品图片
表3-4订单信息表
序号
字段名
数据类型
长度
描述
1
ID
自动编号
惟一标识,设置为主键
2
usename
文本
30
用户登录名
3
name
文本
30
购物者的真实姓名
4
Tel
文本
15
购物者的电话
5
Postcode
文本
10
购物者的邮编
6
address
文本
50
购物者的地址
7
time
日期/时间
购物者提交订单的时间
表3-5导购车信息表
序号
字段名
数据类型
长度
描述
1
ID
自动编号
惟一标识,设置为主键
2
pname
文本
30
购物车中商品名字
3
pprice
文本
20
商品的总价
4
time
日期/时间
放入导购车的时间时间
5
usename
文本
30
用户名
6
pn
文本
250
商品的件数
3.2数据库的物理设计
基于以上数据库的逻辑设计,本设计数据库拟建1个数据库文件和10张数据库表。
数据库文件名为MrNetShop_database.mdb,数据库中包含数据表文件名称分别为td_Admin、td_Area、td_BuyInfo、td_Class、td_GoodsInfo、td_Image、td_Member、td_OrderInfo、td_PayType、td_ShipType和td_ShopChat。
数据库设计工具采用的是SQLServer2000。
各数据表结构如图3-1、图3-2、图3-3、图3-4、图3-5、图3-6、图3-7、图3-8、图3-9和图3-10所示。
图3-1td_Admin数据表结构视图
图3-2td_Area数据表结构视图
图3-3td_BuyInfo数据表结构视图
图3-4td_Class数据表结构视图
图3-5td_GoodsInfo数据表结构视图
图3-6td_Image数据表结构视图
图3-7td_Member数据表结构视图
图3-8td_PayType数据表结构视图
图3-9td_ShipType数据表结构视图
图3-10td_ShopChat数据表结构视图
3.3web.config文件的配置
Web.config文件是一个XML文本文件,它用来储存ASP.NETWeb应用程序的配置信息(如最常用的设置ASP.NETWeb应用程序的身份验证方式),它可以出现在应用程序的每一个目录中。
当你通过VB.NET新建一个Web应用程序后,默认情况下会在根目录自动创建一个默认的
Web.config文件,包括默认的配置设置,所有的子目录都继承它的配置设置。
如果你想修改子目录的配置设置,你可以在该子目录下新建一个Web.config文件。
它可以提供除从父目录继承的配置信息以外的配置信息,也可以重写或修改父目录中定义的设置。
在运行时对Web.config文件的修改不需要重启服务就可以生效。
当然Web.config文件是可以扩展的。
你可以自定义新配置参数并编写配置节处理程序以对它们进行处理。
providerName="System.Data.SqlClient"/>
4系统页面设计
4.1各功能模块及示意图
基于构建的数据库,系统的逻辑模型,着手开始设计系统页面部分,利用asp来实现各模块功能。
设计页面采用的工具是VisualStudio2005和MacromediaDreamweaverMX2004,程序语言是VisualC#。
4.1.1系统首页
系统首页,用户没有登陆前显示页面,如图4-1。
4.1.2注册登陆模块
用户更新页面:
(如图4-3)用户在对应的地方可以更新用户名、密码,详细地址、所在城市、邮编、电话、电子邮件,然后提交到数据库中并在后台的会员管理界面中体现出来。
代码:
<%@PageLanguage="C#"MasterPageFile="~/MasterPage/MasterPage.master"AutoEventWireup="true"CodeFile="UpdateMember.aspx.cs"Inherits="User_UpdateMember"Title="UntitledPage"%>
以上代码交待了页面的基本信息,所用语言是"C#",代码文件是UpdateMember.aspx.cs。
下面代码是脚本文件中登陆部分的判断语句。
protectedvoidbtnUpdate_Click(objectsender,EventArgse)
{
if(txtName.Text.Trim()==""&&txtPassword.Text.Trim()==""&&txtAddress.Text.Trim()==""&&txtPostCode.Text.Trim()==""&&txtPassword.Text.Trim()=="")
{
Response.Write("");
}
else
{
if(IsValidPostCode(txtPostCode.Text.Trim())==false)
{
Response.Write("");
return;
}
elseif(IsValidPhone(txtPhone.Text.Trim())==false)
{
Response.Write("");
return;
}
elseif(IsValidEmail(txtEmail.Text.Trim())==false)
{
Response.Write("");
return;
}
else
{
boolP_Bl_Sex;
if(Convert.ToInt32(ddlSex.SelectedItem.Value.Trim())==1)
{
P_Bl_Sex=true;
}
else
{
P_Bl_Sex=false;
}
uiObj.UpdateUInfo(txtName.Text.Trim(),P_Bl_Sex,txtPassword.Text.Trim(),txtTrueName.Text.Trim(),"","",txtPhone.Text.Trim(),txtEmail.Text.Trim(),ddlCity.SelectedItem.Text.Trim(),txtAddress.Text.Trim(),txtPostCode.Text.Trim(),Convert.ToInt32(Session["UID"].ToString()));
Session["Username"]="";
Session["Username"]=txtName.Text.Trim();
Response.Write("");
}
}
}
图4-3用户更新信息界面
注册模块:
注册页面,新用户注册提交的资料包括用户名、密码、性别、真实姓名、所住城市、详细住址、邮编、电话、电子邮件,这些是必须填写的资料。
新用户的注册资料将被提交到注册提交页面,注册页面对注册资料进行判断。
若用户名为空则提示输入用户名;若电子邮件为空则提示请输入你的邮箱,以便联系;若密码、为空则提示请输入密码;邮编必须是七位数。
判断语句如下:
<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Register.aspx.cs"Inherits="Register"MasterPageFile="~/MasterPage/MasterPage.master"Title="Register"%>
//所建页面的基本信息//
下面是脚本中的判断语句
protectedvoidbtnSave_Click(objectsender,EventArgse)
{
if(txtPostCode.Text.Trim()==""&&txtPassword.Text.Trim()=="")
{
Response.Write("");
}
else
{
boolP_Bl_Sex;
if(Convert.ToInt32(ddlSex.SelectedItem.Value.Trim())==1)
{
P_Bl_Sex=true;
}
else
{
P_Bl_Sex=false;
}
G_Int_MemberID=uiObj.AddUInfo(txtName.Text.Trim(),P_Bl_Sex,txtPassword.Text.Trim(),txtTrueName.Text.Trim(),"","",txtPhone.Text.Trim(),txtEmail.Text.Trim(),ddlCity.SelectedItem.Text.Trim(),txtAddress.Text.Trim(),txtPostCode.Text