《本科毕业论文-—网络答疑系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《本科毕业论文-—网络答疑系统的设计与实现.doc(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、摘 要 摘 要随着计算机及网络技术的飞速发展,Internet/Intranet应用在全球范围内日益普及,当今社会正快速向信息化社会前进,信息自动化的作用也越来越大。电子商务的出现使我们从繁杂的事务中解放出来,提高了我们的工作效率。本系统是一个具有交互功能的C2C类型的电子商务网站(客户与客户之间进行商品交易的平台),它是在网上建立的一个商品交易市场,网上交易,安全灵活,节省投资和运营成本,以代替人工的、传统的管理。该系统基本实现了网上买卖,信息发布等基本功能。该系统包括前台(用户)和后台(管理员)两部分,前台包括会员注册、商品信息浏览,商品分类购买、商品上柜、会员信息修改、购物车等几个模块,
2、后台包括会员信息管理、商品信息管理、订单管理等几个模块。该系统的开发环境是Windows Server 2003,开发工具为Visual Studio 2005,数据库管理系统采用的是SQL Server 2000。 关键词:Visual Studio 2005;ADO.NET;SQL Server 2000; C2C;商品交易24广东海洋大学2008届本科生毕业论文网络答疑系统的设计与实现1 绪论1.1 系统需求分析1.1.1 设计目的随着计算机及网络技术的飞速发展,Internet/Intranet应用在全球范围内日益普及,当今社会正快速向信息化社会前进,信息自动化的作用也越来越大。电子商
3、务的出现使我们从繁杂的事务中解放出来,提高了我们的工作效率。在计算机网络支撑、完善的数据库和稳定的开发平台上,利用现有的软件,和良好的硬件配置,开发一套具有开放体系结构的、可扩充的、易维护的、具有良好人机交互界面的网上商品交易系统,实现对商品、供应商、客户统一管理的计算机系统,提供准确、精细、迅速的商业信息。使购物过程更加轻松、快捷、方便, 这很适合现代人的生活节奏。1.1.2 网上商店系统的特点1. 网络管理轻松便捷:网上商店系统的整套系统采用真正纯粹的B/S架构,这就解脱了这种维护上的麻烦。管理员不必固守服务器前,他只需在任何一台能够连入系统的客户计算机上,通过输入自己的管理员账号和密码,
4、仅通过浏览器即可完成整套系统的管理工作。2. 检索查询一目了然:一套管理系统中,最常见的操作就是查询,查询操作是否便捷、是否准确、是否丰富多样,成为衡量管理系统产品功能是否强大的要素之一。在网上商店系统中,提供了多种检索查询方式。3. 个人环境简易亲切:当用户查询出需要的商品,可以添加到购物车中,可以在以后管理购物车,在汇款到后可以看到款到信息,发货后可以看到发货信息。用户的购物车是只能被用户本人和管理员看到的。4. 商品资料极易扩充:一套管理系统,如果不能自行扩充其中的内容,那么它的效能必定是有限的。在网上商店系统中,允许管理员根据需要,自行向数据库中扩充新的商品或删除旧商品。1.2 构造系
5、统的逻辑模型构造系统的逻辑模型如图1-1。系统维护订单处理用户信息处理提交订单购物处理留言区填写订单商品浏览商品查询用户注册商品信息处理基于ASP.NET技术的Web购物系统后台处理网上交易系统管理员未注册用户已注册用户新品发布图1-1 网上商店系统结构示意图网上商店系统从功能上划分包括前台(用户)和后台(管理员)两部分。前台包括会员注册、商品信息浏览,商品分类购买、商品上柜、会员信息修改、购物车等几个模块,后台包括会员信息管理、商品信息管理、订单管理等几个模块1.3 确定目标系统的功能经过对系统需求分析,结合本系统的特点,在现行工作流程和数据分析的基础上,基本可以确定系统设计所必须达到的目标
6、。网上商店系统必须具备的功能如下: 建立数据库核心数据库是整个系统的核心,建立与每一个页面中的ASP.NET语句的连接,记录并保存基本的变化信息,保证网页页面成功调用数据并根据需要显示出来。数据库能够及时更新用户对信息的修改、提问和回复的写入等操作。 合理的分类和方便快捷的搜索功能商店系统的建立目的是通过网络实现物品交易,所以建立一个合理的分类能够帮助用户快速的找到相应的信息。 身份注册和登陆功能每一个用户在登陆后均可以通过本系统实现交易行为,每一个注册用户都会建立一个档案,记录其在本系统的行为,包括用户姓名、联系方式、用户IP等等。这些记录信息将有利于管理员进行物流管理。 强大的后台管理功能
7、设计一个强大全面的后台管理是一个优秀网站的关键,实际具体要求来设计本系统后台管理。后台管理只有管理员才能进入进行管理。后台管理包括用户管理、订单管理、产品分配及添加。2 相关软件及技术介绍2.1 DreamweaverDreamweaver是美国MACROMEDIA公司开发的集网页制作和网站管理于一身的所见即所得网页编辑器,是一种可视化网页制作工具,利用它可以轻松地制作出跨越平台限制和跨越浏览器限制的动态网页。Dreamweaver 可以开发HTML、XHTML、ColdFusion、ASP、ASP.NET、JSP或PHP网站。通过平面设计工具以及代码提示、标签编辑器、可扩展色彩代码、标签选择
8、器、片段和代码检验这类编码特性来实现对代码和设计的管理。新集成的工作空间可以与Macromedia Flash MX和Fireworks MX共享,其中包括了标示签的文档窗口、可放到dock中的画板组、可定制的工具条和集成的文件浏览。Dreamweaver 还包括有预建的布局和代码,其中有网站结构、表格、可访问的模板以及为客户端交互应用而提供的JavaScript。为翻新现有网站以及创建下一代应用程序,Dreamweaver 还支持新标准和新的网页技术,带有对XML、网页服务和增强可访问性的支持。Dreamweaver MX为新的ColdFusion MX特性提供全套的支持,包括增强的代码编辑
9、和开发功能、集成的调试功能、可视化布局功能和照片打印功能。2.2 SQL Server数据库SQL Server是微软公司开发的一个关系数据库管理系统,以Transact_SQL作为它的数据库查询和编程语言。TSQL是结构化查询语言SQL的一种,支持ANSI SQL92标准。是一个高性能的、多用户的关系型数据库管理系统;它是专为客户/服务器计算环境设计的,是当前最流行的数据库服务器系统之一;它提供的内置数据复制功能、强大的管理工具和开放式的系统体系结构为基于事务的企业级信息管理方案提供了一个卓越的平台。SQL Server所使用的数据库查询语言称为Transact-SQL,它是SQL Serv
10、er的核心,Transact-SQL强化了原有的SQL关键字以进行数据的存取,储存及处理等功能,Transact-SQL扩充了流程控制指定,可以使你方便的编写功能强大的存储过程,他们存放在服务器端,并预先编译过,执行速度非常块,触发是一种特殊的存储过程,用来确保SQL Server数据库引用的完整性,你可以建立插入,删除和更新触发以控制相关的表格中对数据列的插入,删除和更新,你还可以使用规则(Rule),缺省(default)以及限制(Constraints),来协助将新的数值套用到表格中去。2.3 IIS服务器IIS(Internet Information Server,互联网信息服务)是
11、一种Web(网页)服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面。IIS的设计目标是提供适应性强的internet和intranet服务器功能。IIS具有相当高的执行效率、出色的安全保密性能,以及启动迅速和易于管理等特点。IIS提供了ASP(Actice Server Pages)动态网页设计技术,使用ASP可以综合HTML语言和VBScript、JavaScript、PerlScrept等多种脚本语言,而且可以使用COM组件追寻动态交互式网页和功能强大的WEB应用程序。在设计本系统过程中,利用IIS在本地调试
12、ASP编写出来的网页。在本地调试的好处是无需连接互联网即可以打开系统页面,并能够快速刷新页面,为设计带来极大的便利。2.4 ASP.NET ASP.NET 是服务器端脚本编写环境,是由Server端脚本、对象以及组件拓展过的标准主页使用它可以创建和运行动态、交互的Web 页和基于 Web 的功能强大的应用程序。ASP.NET采用的工作模型是典型的B/S过程: 一个用户在浏览器的网址栏中添入ASP.NET文件名称,并回车触发这个ASP.NET的申请。 浏览器将这个ASP.NET的请求求发送给IIS。 Web Server接收这个申请要求并由于其.aspx的后缀意识到这是个ASP.NET的对象来实
13、现服务器与客户端间的交互;可扩充服务器端功能。利用ASP.NET提供的一组ActiveX服务器组件(ActiveX Server Components)可继续扩充ASP.NET的功能。如用ASP.NET内置ADO组件可以轻松的存取各种数据库。此外,还可以用C#,Java等语言开发自己的组件以进一步扩充其功能;ASP.NET与浏览器无关,ASP.NET可以将运行结果一HTML的格式传送到客户端浏览器,因而可以使用于各种浏览器。2.5 Visual Studio .NETVisual Studio .NET是一套完整的开发工具,用于生成 ASP Web 应用程序、XML Web services、
14、桌面应用程序和移动应用程序。Visual Basic .NET、Visual C+ .NET、Visual C# .NET和Visual J# .NET 全都使用相同的集成开发环境(IDE),该环境允许它们共享工具并有助于创建混合语言解决方案。另外,这些语言利用了.NET Framework的功能,此框架提供对简化ASP Web应用程序和XML Web services开发的关键技术的访问。Visual Studio .NET集成开发环境现在包括开发智能设备(如Pocket PC)应用程序的工具。通过使用这些工具和.NET Framework精简版(.NET Framework的子集),您可以
15、在个人数字助理(PDA)、移动电话和其他资源受约束的设备中,创建、生成、调试和部署在.NET Framework精简版上运行的应用程序。XML支持:可扩展标记语言(XML)提供描述结构数据的方法。XML是SGML的子集,非常适合在Web上传送。万维网联合会 (W3C) 定义了XML标准以使结构化数据保持统一并独立于应用程序。Visual Studio .NET完全支持XML,提供了XML设计器以使编辑XML和创建XML架构更容易。3 系统数据库设计3.1 数据库的逻辑设计根据系统的需求分析阶段对种情况的考虑,结合本系统的特点、确定的目标及逻辑模型即可进行数据库的逻辑设计。数据库的逻辑设计即把得
16、到数据库管理系统下的数据表。表3-1 管理员的信息表序号字段名数据类型长度描述1ADminid自动编号管理员的惟一标识设置为主键2Admin文本30管理员的姓名3Password文本30管理员的密码表3-2 用户的基本信息表序号字段名数据类型长度描述1MemberID自动编号用户的惟一标识,设置为主键2Name文本30用户的登录名3Password文本30用户的登录密码4Turename文本30用户的真实姓名5sex文本4用户的性别(0为男,1为女)6address文本50用户的公司或家庭地址7city文本12所在城市8Postcode文本10用户的邮编9Usetel文本15用户的电话10us
17、email文本30用户的电子邮箱表3-3 商品信息表序号字段名数据类型长度描述1ID自动编号惟一标识,设置为主键2pname文本30物品的名字3pnumber文本5商品代号4pwpjj文本250商品简介5Ptype文本30商品类别6Pprice文本30商品单价7picture文本50商品图片表3-4 订单信息表序号字段名数据类型长度描述1ID自动编号惟一标识,设置为主键2usename文本30用户登录名3name文本30购物者的真实姓名4Tel文本15购物者的电话5Postcode文本10购物者的邮编6address文本50购物者的地址7time日期/时间购物者提交订单的时间表3-5 导购车信
18、息表序号字段名数据类型长度描述1ID自动编号惟一标识,设置为主键2pname文本30购物车中商品名字3pprice文本20商品的总价4time日期/时间放入导购车的时间时间5usename文本30用户名6pn文本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_PayTyp
19、e、td_ShipType和td_ShopChat。数据库设计工具采用的是SQL Server 2000。各数据表结构如图3-1、图3-2、图3-3、图3-4、图3-5、图3-6、图3-7、图3-8、图3-9和图3-10所示。图3-1 td_Admin数据表结构视图图3-2 td_Area数据表结构视图图3-3 td_BuyInfo数据表结构视图图3-4 td_Class数据表结构视图图3-5 td_GoodsInfo数据表结构视图图3-6 td_Image数据表结构视图图3-7 td_Member数据表结构视图图3-8 td_PayType数据表结构视图图3-9 td_ShipType数据表
20、结构视图图3-10 td_ShopChat 数据表结构视图3.3 web.config文件的配置Web.config文件是一个XML文本文件,它用来储存 ASP.NET Web 应用程序的配置信息(如最常用的设置ASP.NET Web 应用程序的身份验证方式),它可以出现在应用程序的每一个目录中。当你通过VB.NET新建一个Web应用程序后,默认情况下会在根目录自动创建一个默认的 Web.config文件,包括默认的配置设置,所有的子目录都继承它的配置设置。如果你想修改子目录的配置设置,你可以在该子目录下新建一个Web.config文件。它可以提供除从父目录继承的配置信息以外的配置信息,也可以
21、重写或修改父目录中定义的设置。 在运行时对Web.config文件的修改不需要重启服务就可以生效。当然Web.config文件是可以扩展的。你可以自定义新配置参数并编写配置节处理程序以对它们进行处理。 4 系统页面设计4.1 各功能模块及示意图基于构建的数据库,系统的逻辑模型,着手开始设计系统页面部分,利用asp来实现各模块功能。设计页面采用的工具是Visual Studio 2005和Macromedia Dreamweaver MX 2004,程序语言是Visual C#。4.1.1 系统首页系统首页,用户没有登陆前显示页面,如图4-1。4.1.2 注册登陆模块用户更新页面:(如图4-3)
22、用户在对应的地方可以更新用户名、密码,详细地址、所在城市、邮编、电话、电子邮件,然后提交到数据库中并在后台的会员管理界面中体现出来。代码:以上代码交待了页面的基本信息,所用语言是C#,代码文件是UpdateMember.aspx.cs。下面代码是脚本文件中登陆部分的判断语句。protected void btnUpdate_Click(object sender, EventArgs e) if (txtName.Text.Trim() = & txtPassword.Text.Trim() = & txtAddress.Text.Trim() = & txtPostCode.Text.Tri
23、m() = & txtPassword.Text.Trim() = )Response.Write(alert(请输入完整信息!);location=javascript:history.go(-1););elseif (IsValidPostCode(txtPostCode.Text.Trim() = false)Response.Write(alert(您的邮编输入有误!);return;else if (IsValidPhone(txtPhone.Text.Trim() = false)Response.Write(alert(您输入的电话号码有误,请重新输入);return;else
24、if (IsValidEmail(txtEmail.Text.Trim() = false)Response.Write(alert(您输入的E-mail地址格式不正确,请重新输入);return;elsebool P_Bl_Sex; if (Convert.ToInt32(ddlSex.SelectedItem.Value.Trim() = 1) P_Bl_Sex = true;elseP_Bl_Sex = false;uiObj.UpdateUInfo(txtName.Text.Trim(), P_Bl_Sex, txtPassword.Text.Trim(), txtTrueName.T
25、ext.Trim(), , , txtPhone.Text.Trim(), txtEmail.Text.Trim(), ddlCity.SelectedItem.Text.Trim(), txtAddress.Text.Trim(), txtPostCode.Text.Trim(), Convert.ToInt32(SessionUID.ToString();SessionUsername = ;SessionUsername = txtName.Text.Trim();Response.Write(alert(恭喜您,修改成功!);location=index.aspx;); 图4-3 用户
26、更新信息界面注册模块:注册页面,新用户注册提交的资料包括用户名、密码、性别、真实姓名、所住城市、详细住址、邮编、电话、电子邮件,这些是必须填写的资料。新用户的注册资料将被提交到注册提交页面,注册页面对注册资料进行判断。若用户名为空则提示输入用户名;若电子邮件为空则提示请输入你的邮箱,以便联系;若密码、为空则提示请输入密码;邮编必须是七位数。判断语句如下:/所建页面的基本信息/下面是脚本中的判断语句protected void btnSave_Click(object sender, EventArgs e)if (txtPostCode.Text.Trim() = & txtPassword.
27、Text.Trim()=)Response.Write(alert(请输入完整信);location=javascript:history.go(-1););else bool P_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
28、(), , , txtPhone.Text.Trim(), txtEmail.Text.Trim(), ddlCity.SelectedItem.Text.Trim(), txtAddress.Text.Trim(), txtPostCode.Text.Trim();SessionUsername = ;SessionUsername =txtName.Text.Trim();Response.Write(alert(恭喜您,注册成功!);location=index.aspx); 图4-6 注册页面4.1.3 购物车模块:这是本系统的核心模块。用户可以选择各种自己需要的商品,并将他们添加到购
29、物车中即可,并通过购物车中的“结账“按钮链接到结算页面(CheckOut.aspx)。购物车主要流程图:开始查看商品信息N购买N Y处理购物车填写订单 Y提交订单结 束protected void Page_Load(object sender, EventArgs e)if (!IsPostBack)gvShipBind(); public string GetVarStr(string P_Str_ShipFee)return mcObj.VarStr(P_Str_ShipFee, 2);public string GetClass(int P_Int_ClassID)string P_S
30、tr_ClassName = mcObj.GetClass(P_Int_ClassID);return P_Str_ClassName;public void gvShipBind()DataSet ds = mcObj.ReturnShipDs(ShipInfo);gvShip.DataSource = ds.TablesShipInfo.DefaultView;gvShip.DataBind();protected void gvShip_PageIndexChanging(object sender, GridViewPageEventArgs e)gvShip.PageIndex =
31、e.NewPageIndex;gvShipBind();protected void btnExit_Click(object sender, EventArgs e)Response.Write(window.close();location=javascript:history.go(-1););4.1.4 货物支付模块在此页面中,会员要填写自己的相关信息以保证自己买到的商品能够通过邮寄的方式到达自己的手中,会员在这里还可以对送货方式及支付方式进行选择,更加方便和快捷。代码:/页面基本信息/protected void Page_Load(object sender, EventArgs
32、e)/页面载入事件,在页面载入时被触发 sender:触发事件的控件句柄 EventArgs e:事件参数/ if (!IsPostBack)/ 判断页面是否第一次加载的属性/ddlCityBind();/数据库City中信息/ddlShipBind();ddlPayBind(); labKM.Text = ddlShipCity.SelectedValue.ToString();public void ddlCityBind()ucObj.ddlCityBind(ddlShipCity);public void ddlShipBind()ucObj.ddlShipBind(ddlShipTy
33、pe);public void ddlPayBind()ucObj.ddlPayBind(ddlPayType);public float TotalGoodsPrice()DataSet ds=ucObj.ReturnTotalDs(Convert.ToInt32(SessionUID.ToString(), TotalInfo);Float P_Flt_TotalGP= float.Parse(ds.TablesTotalInfo.Rows00.ToString();return P_Flt_TotalGP; / 所有商品运输费用 / 返回商品运输费用public float TotalS
34、hipFee() P_Flt_TotalSF = 0;DataSet ds = ucObj.ReturnSCDs(Convert.ToInt32(SessionUID.ToString(), SCInfo);for (int i = 0; i ds.TablesSCInfo.Rows.Count; i+)if (ucObj.GetSFValue(Convert.ToInt32(ds.TablesSCInfo.Rowsi1.ToString(), ddlShipType.SelectedItem.Text.ToString() =100)Response.Write(alert(添加失败,由于购
35、买的商品运输费还没有添加,请重新购买!);location=index.aspx;);return 100; float P_Flt_SF = ucObj.GetSFValue(Convert.ToInt32(ds.TablesSCInfo.Rowsi1.ToString(), ddlShipType.SelectedItem.Text.ToString(); P_Flt_TotalSF =P_Flt_TotalSF +(float.Parse (ds.TablesSCInfo.Rowsi5.ToString() * P_Flt_SF*(Convert.ToInt32(ddlShipCity.
36、SelectedItem.Value.ToString(); return P_Flt_TotalSF; protected void btnSave_Click(object sender, EventArgs e) if (txtReciverName.Text = | txtReceiverAddress.Text = | txtReceiverPhone.Text = | txtReceiverPostCode.Text = | txtReceiverEmails.Text = ) Response.Write(alert(请输入完整的信息 !); return; else float
37、 P_Flt_TotalSF=TotalShipFee(); if (P_Flt_TotalSF = 0 | P_Flt_TotalSF = 100) return; float P_Flt_TotalGP=TotalGoodsPrice(); int P_Int_Cart = ucObj.IsUserCart(Convert.ToInt32(SessionUID.ToString(), P_Flt_TotalGP, P_Flt_TotalSF); if (P_Int_Cart = -100 & ddlPayType.SelectedItem.Text.Trim() = 会员卡) Respon
38、se.Write(alert(您的会员卡中余额不足,不能购买商品,请充值!); return; else int P_Int_OrderID = ucObj.AddOrderInfo(P_Flt_TotalGP, P_Flt_TotalSF, Convert.ToInt32(ddlShipType.SelectedItem.Value.ToString(), Convert.ToInt32(ddlPayType.SelectedItem.Value.ToString(), Convert.ToInt32(SessionUID.ToString(), txtReciverName.Text.Tr
39、im(), txtReceiverPhone.Text.Trim(), txtReceiverPostCode.Text.Trim(), txtReceiverAddress.Text.Trim(), txtReceiverEmails.Text.Trim();DataSet ds = ucObj.ReturnSCDs(Convert.ToInt32(SessionUID.ToString(), SCInfo);for(int i = 0; i ds.TablesSCInfo.Rows.Count; i+) ucObj.AddBuyInfo(Convert.ToInt32(ds.TablesS
40、CInfo.Rowsi1.ToString(), Convert.ToInt32(ds.TablesSCInfo.Rowsi2.ToString(), P_Int_OrderID, float.Parse (ds.TablesSCInfo.Rowsi3.ToString(), Convert.ToInt32(ds.TablesSCInfo.Rowsi4.ToString(); ucObj.DeleteSCInfo(Convert.ToInt32(SessionUID.ToString();Response.Write(alert(购物成功 !);location=index.aspx);return;4.1.5 会员管理模块图4-10为所有会员管理页面,这里可以提供给管理员所有的注册会员的基本信息,管理员可