1、天津职业大学 创意环保用品网上商店论文题目:创意环保用品网上商店开发年 级:09级院 系:电子信息工程学院学生姓名:苏羽宸指导老师:陈洁2012年6月目 录内容摘要3第一章 引言51.1 网站的意义51.2本课题的可行性分析5第二章 开发技术62.1 ASP.NET技术62.2 SQL server 2005数据库管理系统6第三章 网站的功能设计83.1设计目标83.2系统功能分析83.3功能模块分析83.3系统流程分析103.4数据库设计11第四章 网站应用与界面设计144.1开发环境的搭建144.2网站页面的实现14总 结21致 谢23英文资料及翻译24内容摘要论文详尽的介绍了创意环保用品
2、网上商店的开发过程。分析了创意环保用品的现实意义以及网站的具体结构。通过剖析网上商店网站存在的问题,确定了网站的总体结构、功能模块、网站风格及运营平台;然后对网站设计过程,从概要设计、详细设计、网站实现到最终的测试与维护进行了详细的说明。该网站基于Microsoft Visual Studio 2005平台开发,应用SQL服务器等技术进行网站实施,以ASP.NET、SQL Server数据库为核心实现动态网页功能,主要功能有:前台功能,查看相关信息、会员的登录与注册、商品信息查看、购物车管理。后台功能:管理员登录、订单管理、商品管理、会员管理、物流管理、系统管理、信息发布。关键字:环保,ASP
3、.NET,网上商店AbstractThe paper detailed the development process of the creative environmental supplies online store. The practical significance of the creative environmentally friendly products as well as the specific structure of the site. Existing problems through analysis of online store Web site to
4、determine a sites overall structure function modules, the site style and operational platform; the website design process, from preliminary design, detailed design, website implementation to final test and maintenance instructions. Web sites for the site based on Microsoft Visual Studio 2005 platfor
5、m development, application SQL Server and other technologies, ASP.NET, SQL Server database as the core dynamic pages, main features are: front office functions, view the message, members login and registration product information View shopping cart management. Back-office functions: administrator lo
6、gin, order management, merchandise management, membership management, logistics management, systems management, message release.Keywords: environmental protection, ASP.NET, online store第一章 引言1.1 网站的意义随着生活水平高度提高,工业发展越来越快,我们生活的环境被我们破坏的也越加严重,更多的人开始关注环保的问题,也有更多的人愿意来参与进环保的行列。而这个“创意环保用品网上商店”正满足了大家对环保产品的需求
7、,而网站中搜罗的创意产品新奇而又实用,既满足节能高效的生活需求,又装点了大家的生活环境。网站除了主要销售环保用品之外,还会发布与环保相关的信息,如新闻、相关法规等,更起到了宣传环保的作用。通过传播迅速而广泛的网络,可以有更多的人了解环保,爱上环保。1.2本课题的可行性分析本系统可行性分析:技术可行性本系统使用.NET技术进行开发,编程语言使用ASP.NET是Microsoft开发的使用于构建、管理Web页面的技术,它的特点主要是:简化网页的编辑工作,提供代码与设计视图分离,使得代码更容易编写、修改与维护;此外.NET Framework2.0框架作为微软公司已经比较成熟的产品,现在有越来越多的
8、企业及技术人员选择它来作为开发平台。因此,在技术上.NET是完全可以胜任这个平台的开发。经济可行性由于本项目的特殊性,无需投入额外的设备购买及人员培训费用,所以在经济上本系统的开发是可行的。此外系统对开发的需求以及软硬件要求都不是很高,所以在软硬件的支出上十分有限。因此,本系统在任何一台连接Internet的机器上都可以运行,有很高的经济可行性。按上述两方面进行可行性分析、研究后,我们认为该项目在技术上是可行的,在经济上也是没问题的,所以完全可以进行开发。操作可行性在操作上对开发人员的要求并不高,Visual.Studio.Net是相对容易上手的可视化的编程语言,通过自学完全可以掌握。法律可行
9、性本系统没有侵犯个人隐私和个人责任方面的问题,使用本系统不会引起法律方面的纠纷问题,环保的理念更符合了近年来我国可行性发展的原则,出售的商品会与设计者与生产商取得许可,所以开发本系统具有法律可行性。综上所述,本系统的开发是符合现在的实际情况的,并具有一定的实用意义。在技术、经济、操作上,法律上都可以看到此系统的可行性,并且很具有其实现的必要。第二章 开发技术2.1 ASP.NET技术ASP.NET 是一个已编译的、基于 .NET 的环境,可以用任何与 .NET 兼容的语言(包括 Visual Basic .NET、C#和JScript .NET.)创作应用程序。另外,任何 ASP.NET 应用
10、程序都可以使用整个 .NET Framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。ASP.NET 可以无缝地与 WYSIWYG HTML 编辑器和其他编程工具(包括 Microsoft Visual Studio .NET)一起工作。这不仅使得 Web 开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到 Web 页的 GUI 和完全集成的调试支持。微软为ASP.net设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满
11、足计算向Web转移的战略需要。2.2 SQL server 2005数据库管理系统SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI) 工具提供了企业级的数据管理。SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序 SQL Server 2005 数据库管理10个最重要的特点数据库镜像 通过新数据库镜像方法,将记录档案传送性能进行延伸。您将可以使用数据库镜像,通过将自动失效转移建立到一个待用服务器上,增强您SQL服务器系统的可用性。在线恢复 使用SQL2005版服
12、务器,数据库管理人员将可以在SQL服务器运行的情况下,执行恢复操作。在线恢复改进了SQL服务器的可用性,因为只有正在被恢复的数据是无法使用的,而数据库的其他部分依然在线、可供使用。 在线检索操作 在线检索选项可以在指数数据定义语言执行期间,允许对基底表格、或集簇索引数据和任何有关的检索,进行同步修正。例如,当一个集簇索引正在重建的时候,您可以对基底数据继续进行更新、并且对数据进行查询。 快速恢复 新的、速度更快的恢复选项可以改进SQL服务器数据库的可用性。管理人员将能够在事务日志向前滚动之后,重新连接到正在恢复的数据库。安全性能的提高 SQL Server 2005包括了一些在安全性能上的改进
13、,例如数据库加密、设置安全默认值、增强密码政策、缜密的许可控制、以及一个增强型的安全模式。 新的SQL Server Management Studio SQL Server 2005引入了SQL Server Management Studio,这是一个新型的统一的管理工具组。这个工具组将包括一些新的功能,以开发、配置SQL Server数据库,发现并修理其中的故障,同时这个工具组还对从前的功能进行了一些改进。 专门的管理员连接 SQL Server 2005将引进一个专门的管理员连接,即使在一个服务器被锁住,或者因为其他原因不能使用的时候,管理员可以通过这个连接,接通这个正在运行的服务器。
14、这一功能将能让管理员,通过操作诊断功能、或TransactSQL指令,找到并解决发现的问题。 快照隔离 在数据库层面上提供一个新的快照隔离(SI)标准。通过快照隔离,使用者将能够使用与传统一致的视野观看数据库,存取最后执行的一行数据。这一功能将为服务器提供更大的可升级性。 数据分割 将加强本地表检索分割,这使得大型表和索引可以得到高效的管理。增强复制功能 对于分布式数据库而言,SQL Server 2005提供了全面的方案修改(DDL)复制、下一代监控性能、从甲骨文(Oracle)到SQL Server的内置复制功能、对多个超文本传输协议(http)进行合并复制,以及就合并复制的可升级性和运行
15、,进行了重大的改良。另外,新的对等交易式复制性能,通过使用复制,改进了其对数据向外扩展的支持。第三章 网站的功能设计3.1设计目标 界面设计美观友好,信息查询灵活、方便、快捷、准确,数据存储安全可靠 全面、分类展示商品信息 系统最大限度的实现易维护性和易操作性 系统运行稳定、安全可靠3.2系统功能分析本网站面向所有网络用户,重点是崇尚时尚、环保的人群。本网站提供了一个环保用品的交易平台,搜罗了各种新奇环保的商品,其中也包括了环保相关新闻的发布,便于更多的人来了解环保、行动起来参加环保。该平台需要完成的一些具体功能分析如下:用户管理 能够完成用户基本信息录入的注册和用户基本信息的个人前台与后台管
16、理。管理员管理 能够完成管理员对网站的商品资料(添加类别、商品添加、商品审查)、商品交易(外理订单、发货查询)、用户管理、操作管理(管理员添加、管理员审查、管理员退出)的功能。搜索功能 能通过商品的名称,商品的种类,进行搜索。查询功能 能够通过查看购物车对所选商品进行确定、挑选,通过定单查询对支付费用进行确定。公告功能 管理员能够发布新闻。3.3功能模块分析本网站的功能模块图如下:网上商店主要包括四大功能模块,用户管理、网站布局、管理员管理、搜索等功能模块。其中用户管理模块,主要包括用户注册、用户修改、用户删除等功能;管理员管理主要包括商品资料(添加品牌、添加类别、商品添加、商品审查)、商品交
17、易、用户管理、操作管理(管理员添加、管理员审查、管理员退出)等功能;搜索主要包括(商品品牌、商品类别)。图3-1网上商店总体模块:网上商店用户管理管理员管理网站布局搜索添加类别添加品牌商品添加商品审查管理员添加管理员审查管理员退出用户管理操作管理商品名称商品类别商品资料用户删除用户修改用户注册商品交易添加新闻公告网站主要由前台用户模块和后台管理员管理模块两部分组成前台功能模块【业务说明】首页支持功能包括:用户注册与登陆,新闻信息浏览,商品浏览,购物车,创建订单;【使用人】 网站用户后台管理模块【业务说明】首页支持功能包括:管理员登陆,用户管理,订单管理,商品管理,新闻管理【使用人】 仅限管理员
18、使用3.3.1 前台页面介绍1.新用户注册第一步:首页在注册第一个页面输入用户名,单击“注册”按钮进行判断。如果数据库中有该注册用户名,则显示用户已存在,不能继续下一步的注册;如果不存在,则进入第二个页面填写详细信息第二步:详细页面员工需填写信息如下:用户名,密码,性别,查询密码问题,查询密码答案。(其中用户名不能与系统中已有用户名重复,如果重复,系统提示重新输入。密码进行二次确认)2.登陆用户输入自己的用户名和密码,由系统验证其合法性,如果验证通过,系统提示欢迎信息,先是错误信息,系统要求用户重新登陆。 3.用户信息维护用户可以修改自己的相关详细(密码、问题、答案、省份、城市、联系电话、电子
19、邮件、邮政编码)。如果忘记密码,也可以找回密码。在找回密码页面输入问题、答案、用户名用来找回密码。3.3.2 后台管理模块1.管理员登陆管理员输入自己的姓名和密码,由系统验证其合法性,如果验证通过,系统提示欢迎信息,否则系统要求管理员重新登陆。 2.用户信息管理管理员可以通过此页面对用户进行管理,对其不合法的用户可以进行删除。但是不允许修改员工的详细信息。3.商品管理管理员可以对已发布的商品资料进行删除、编辑操作,也可以进行添加品牌、添加类别、商品添加、商品审查等管理。4.订单管理 对用户产生的订单进行管理,如删除失效订单、对订单进行发货、审查订单、处理用户反馈信息。5.新闻公告发布管理员可以
20、查看信息,及时发布最新的新闻公告。 3.3系统流程分析本系统分为前台销售流程和后台订单处理流程图3-2前台销售流程图用户订单订单处理订单发货订单结账订单删除浏览商品选择商品订购商品去购物车去收银台提交订单未注册用户已登录注册用户未登录注册用户注册登录图3-3后台订单流图3-4商品搜索流程图开始搜索输入条件搜索结果查看商品购物车下订单是否继续搜索图3-5用户登录流程图登登录入口取得用户名和密码将User ID存入session中用户存在密码正确登登录成功是是否否图3-6商品管理流程图商品管理查询商品修改,删除满意否返回添加商品是否图3-7购物车流程图购物车查看商品满意吗下订单调整商品是否3.4数
21、据库设计表3-1用户表Users序号字段名数据类型允许空备注1Users IDInt用户号,主键,标示列(自动增加)2N UserVarchar(20)用户名3-20位,英文字母和数字3N PasswordVarchar(50)密码(3-20位),加密保存4N QuestionVarchar(50)密码提示问题信息5N AnswerVarchar(50)问题答案6N NameVarchar(20)姓名7N SexBit性别8N EmailVarchar(20)Email9N PhoneVarchar(50)电话10N AddVarchar(MAX)地址11N YoubianVarchar(20
22、)邮编表3-2系统管理员表Admin序号字段名数据类型允许空备注1AdmiusersIDInt管理员ID,主键,标示列(自动增加)2S UserVarchar(20)用户名3-20位,英文字母和数字3S PasswordVarchar(50)密码(3-20位),加密保存4S NameVarchar(20)管理员真实姓名5S PankChar(1)管理员权限表3-3商品品牌表Pinpai序号字段名数据类型允许空备注1C IDInt品牌编号,主键,标示列(自动增加)2PinpaiVarchar (20)品牌名称表3-4商品类型表Leixing序号字段名数据类型允许空备注1L IDInt类型编号,主
23、键,标示列(自动增加)2LeixingVarchar (20)商品类型表3-5商品信息表Product序号字段名数据类型允许空备注1P IDInt商品号主键,标示列(自动增加)2P ZongleiVarchar(20)商品总类名称3P XileiVarchar(20)商品细分类名称4P JianjieVarchar(20)商品简介5P ShumingVarchar(50)商品说明6P hJiageMoney会员价7P sJiageMoney市场价8P ImageText商品图像表3-6购物车信息表Cars序号字段名数据类型允许空备注1Cars IDInt购物车编号,主键,标示列(自动增加)2U
24、sers IDInt用户编号,外键3P IDInt商品编号,外键4U NumberInt购买数量表3-7订单表Order list序号字段名数据类型允许空备注1Order IDInt订单编号,主键,标示列(自动增加)2Users IDInt用户编号,外键3O NameVarchar (20)联系人姓名4O AddVarchar (Max)地址5O YoubianVarchar (20)邮编6O PhoneVarchar (50)电话7O DateDate time送货日期8O StatusInt订单状态9O TotalVarchar (50)总价格10O HuikuaiVarchar (20)
25、汇款方式表3-8订单明细表Order data序号字段名数据类型允许空备注1Orderdata IDInt编号,主键,标示列(自动增加)2Users IDInt用户编号,外键3Order IDInt订单编号,外键4P IDInt商品编号,外键5U NumberInt购买数量6U ZhejiaMoney打折后价格7S NameVarchar (20)审核人员(管理员姓名),外键表3-9新闻表News序号字段名数据类型允许空备注1W IDInt信息编号,主键,标示列(自动增加)2W TitleVarchar(50)信息标题3W ContentsText信息内容4WFinishDateDate ti
26、me完成时间5S NameVarchar(20)发布人员(管理员姓名),外键第四章 网站应用与界面设计4.1开发环境的搭建硬件环境:微机计算机1台,服务器1台软件环境:Windows server 2003系统,Visual studio 2005、SQL Server2005、 PhotoShopCS4。4.2网站页面的实现4.2.1前台用户界面:1.用户登录界面关键代码:/ / 产生验证码的函数:能够生成由数字和字母组成的指定长度的验证码/ / 验证码位数/ 返回验证码public string CreateCode(int codeLength) string so = 1,2,3,4,
27、5,6,7,8,9,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z; string strArr=so.Split(,); /为数组元素赋值(数字,大写字母,小写字母 int pos; StringBuilder code =new StringBuilder(); /用于保存生成的验证码 Random rand=new Random(); /随机数对象 for (int i = 0; i codeLength; i+) pos = r
28、and.Next(strArr.Length); /生成一个小于小于数组strArr长度的非负随机数,做为下标 code.Append(strArrpos.ToString (); /取第pos 个字符作为验证码第i个字符 return code.ToString (); / / 产生验证图片,为验证码加图片背景/ / 验证码public void CreateImages(string code) Bitmap image = new Bitmap(60, 28); Graphics g = Graphics.FromImage(image); WebColorConverter ww =
29、new WebColorConverter(); g.Clear(Color)ww.ConvertFromString(#FAE264); Font font = new Font(宋体, 15, FontStyle.Regular|FontStyle.Bold); LinearGradientBrush brush = new LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.Gray, 1.2f, true); g.DrawString(code, font, brus
30、h, 0, 0); /将生成的验证码输出在图片上 /画图片的边框线 g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1); System.IO.MemoryStream ms = new System.IO.MemoryStream(); image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif); Response.ClearContent(); Response.ContentType = image/Gif; Response.Bin
31、aryWrite(ms.ToArray(); g.Dispose(); image.Dispose(); 2.用户注册界面图4-1用户注册界面用户输入页面相关信息,当必填信息填入后,提交按钮自动变为活动状态。3.商品搜索页面图4-2商品搜索页面关键代码:/实现搜索功能的代码protected void Search() StringBuilder tj = new StringBuilder(); /保存搜索条件的变量 /生成搜索条件if (CheckBox_Goodname.Checked) tj.Append( GoodName like % + TextBox_Goodname.Text
32、.Trim() + %);if (CheckBox_pub.Checked) if (tj.Length 0) tj.Append( and Plate= + DropDownList1.ItemsDropDownList1.SelectedIndex.Value.ToString(); else tj.Append( Plate= + DropDownList1.ItemsDropDownList1.SelectedIndex.Value.ToString(); if (CheckBox_author.Checked) if (tj.Length 0) tj.Append( and Auth
33、or like % + TextBox_author.Text.Trim() + %); else tj.Append( Author like % + TextBox_author.Text.Trim() + %); if (CheckBox_price.Checked) decimal low=0, high=0; try low = Decimal.Parse(TextBox_price1.Text); catch try high = Decimal.Parse(TextBox_price2.Text.Trim(); catch if (low + high = 0) Label_ms
34、g.Text = 请输入价格范围; return; if (tj.Length 0) if (low 0) tj.Append( and Price= + low.ToString(); if (high 0) tj.Append( and Price 0) tj.Append( Price= + low.ToString(); if (tj.Length 0) if (high 0) tj.Append( and Price 0) tj.Append(Price 0) sql = select GoodID,GoodName,Author,TPlate.PlateName as Plate,
35、Price,ImageURL from TGood inner join TPlate on TGood.Plate=TPlate.PlateID where + tj.ToString()+sorttj; else /不选择查询条件时不执行 Label_msg.Text = 请选择查询条件;return; SqlConnection cn = new SqlConnection(DBAccess.DBConnString); SqlDataAdapter da = new SqlDataAdapter(sql, cn); Goods = new DataTable(); da.Fill(Go
36、ods);4.新闻公告页面效果图:包括新闻标题、发布人。点击后有详细信息。图4-3新闻公告页面关键代码:/跳转到详细页面代码public static NewsInfo GetNewsByID(int newsid)SqlConnection con = new SqlConnection(DBAccess.DBConnString);SqlCommand da = new SqlCommand(select * from Tnews where NewsID= + newsid.ToString() , con);con.Open();SqlDataReader dr = da.Execut
37、eReader(); /查询该定单的信息-DataReader对象if (dr.Read() NewsInfo news = new NewsInfo();news.NewsID = newsid;news.NewsName = drNewsName.ToString();news.Author = drAuthor.ToString();news.NewsBody = drNewsBody.ToString();news.NewsDate = Convert.ToDateTime(drNewsDate.ToString();news.Remark = drRemark.ToString();
38、news.ImageURL = drImageURL.ToString();dr.Close();con.Close();return (news); else dr.Close(); con.Close(); return (null); 5.订单页面用户填写发货订单信息、确认付款方式。图4-4用户确认订单页面4.2.2后台管理平台:管理员登陆后进入此后台系统,进行商品信息、订单、客户的维护等。1.商品信息维护页面图4-5商品信息维护页面关键代码:protected void Page_Load(object sender, EventArgs e)if (Page.IsPostBack)
39、return; /如果是回发的页面则不执行下面的代码/查询品牌信息,并显示在下拉列表中SqlConnection cn = new SqlConnection(DBAccess.DBConnString);SqlDataAdapter da = new SqlDataAdapter(select * from TPlate, cn);DataTable Plate = new DataTable();da.Fill(Plate);DropDownList1.DataSource = Plate;DropDownList1.DataTextField = PlateName;DropDownLi
40、st1.DataValueField = PlateID;DropDownList1.DataBind();2.订单明细页面图4-6订单明细页面关键代码:/页面载入代码protected void Page_Load(object sender, EventArgs e)if (Page.IsPostBack) return;/根据上页传递的定单号,显示该定单的详细内容int orderid=Int32.Parse(Request.QueryStringOrderID.ToString (); /定单号OrderInfo order = Order.GetOrderInfo(orderid); /获取定单对象Label_orderid.Text=orderid.ToString