• 1.42 MB
  • 2022-04-22 13:43:36 发布

基于ASP.NET的网上图书商城的设计与实现毕业设计.doc

  • 38页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'基于ASP.NET的网上图书商城的设计与实现毕业设计目录1绪论11.1课题背景11.2网上书城购物的发展概况11.3目的和意义11.4网站设计思想21.5网站设计结构22开发软件及技术的介绍32.1系统操作的平台32.2数据库的平台32.3系统开发平台32.4开发架构简介43需求分析53.1可行性分析53.1.2经济的可行性53.1.3操作可行性53.1.4法律的可行性53.2功能需求分析63.2.1游客63.2.2会员63.2.2商家73.3性能需求分析83.3.1安全性约束 83.3.2完整性约束84系统设计94.1总体结构设计9 4.1.1游客94.1.2会员104.1.3商家104.2详细设计114.2.1类图114.2.2顺序图134.3数据库分析与设计144.3.1概念结构设计144.3.2逻辑结构设计185功能实现215.1游客注册模块215.2会员模块235.3商家模块266系统测试306.1游客注册功能测试306.2会员登录功能测试306.3商家添加图书功能测试31结论33参考文献34致谢35 绪论1绪论1.1课题背景网上书城现已有不少,但是专门专注于计算机类图书而开的网上书城并不多见。对于购物,物美价廉的商品永远都是最受欢迎的,网上书城和实体书店相比,优惠活动更多,价格便宜,还能节省时间。对于计算机知识的更新非常迅速,需求也是甚多,学校开设相关的专业也越来越多,但是学校发的课本,都是全价书,没有优惠,但在网上书城却可以买到打折书籍,同样的书可以比学校和商店便宜很多,可以为大学生在经济上节省不少开销。专卖计算机类图书的网上书店,能够集中快速的查到所需书籍,不用在什么书都买的网上书城里花费大量时间找书,让他们有更多的时间阅读图书以扩张知识。1.2网上书城购物的发展概况网上图书商城发展最初始于美国一家联机公司,随后亚马逊网上购物书店也被创立,亚马逊的成功对图书销售行业造成了不小的影响,也是全国规模较大的网上书城,如今也有一些知名的网上书城,如:当当,S卓越等。据了解,当当网创建于1997年,当当凭借初期飞速发展,在2001年成为了最大的中文网上图书影音书店,在2012年整个网上图书的零售市场,当当占了45%的市场股份。京东也有占有14%的市场股份。目前,专卖计算机类技术图书的网上书城并不多,在物价上涨的生活中,高消费低收入给人们带来了不小压力,网上交易对比去书店购买成本要低,加上如今快递行业的发展,配送商品不用需要漫长等待,不用出门就可以买到自己喜欢的书籍。省去实体店的一些成本,网上书城的书本价格便宜,优惠活动较多,可以为他们节省一些资金。本系统是针对计算机类图书销售而进行开发,进入网站可以根据技术分类快速查找所需书籍。对于大学生而言,价格低廉,购买方便,送货快是深受他们的喜爱。1.3目的和意义“网上图书商城系统” 绪论开发是专注于计算类技术图书的销售,为从事于软件行业人士和计算机类相关专业的大学生,提供一个以技术种类为分类的网上书城,便于快捷查询图书。系统采用c#程序设计语言的程序设计与数据库相结合的手段进行开发,结构紧凑、运行速度快、操作简单,更因为拥有自己的源代码,所以保证了软件具有高度的保密、安全性[1-4]。本系统提供一个只卖计算机类图书的网上书城,没有其他书店种类繁多的图书,只为需要相关图书人士提供更加专业,更加便捷的购物。由于网上书城不需要大量投资房屋和人力费用,为投资成本降低了很多,销售价格也就没有实体店里贵,对于没有收入的大学生而言,价格低廉更受他们喜爱。对于从事于软件行业的人士而言,他们更加喜欢宅家里坐在电脑前,本系统提供这样一个专业平台,便于他们足不出户就可以购买到自己所需书籍。1.4网站设计思想本系统采用现有的软硬件环境,采用三层架构模式,即用户界面层、业务处理层和数据存储层,开发出B/S结构的网上图书房系统。业务层按自己的逻辑规则将请求处理之后进行数据库操作,然后将数据库返回的数据封装成类的形式返回给用户界面层,将业务逻辑与用户界面分离。采用MicrosoftSQLServer2008数据库系统作为数据库。实现网上书城游客可以分类浏览计算机图书列表,会员可以进行添加购物车,下单和评价留言等,商家可以进行添加图书信息,修改图书信息,查看订单信息和查看评价留言等功能,设计出一个功能完善致力于计算机类的网上书城系统。1.5网站设计结构本设计以网上书城为主要内容,一共分为6章节来逐一介绍系统的开发设计工程。第一章:前言,介绍了网站的课题背景、网上书城的发展现状、开发的目的和意义,最后阐述了主要的网站设计思想及设计结构。第二章:开发工具及平台,介绍了网站开发中用到的一些技术和选择这些技术的原因。第三章:需求分析,介绍了网站的可行性分析、需求分析和系统用例模型。第四章:系统分析,介绍了网站的总体设计、功能模块划分、结构设计和数据库设计。第五章:功能实现,介绍了网站的前台和后台主界面,给出了网站的主要界面效果图,并简单介绍其操作。第六章:系统测试,介绍了系统测试的目的,测试流程和测试的方法,给出测试的方案、测试用例及测试结论。 开发软件及技术的介绍2开发软件及技术的介绍2.1系统操作的平台Windows8是由微软公司开发的,由微软公司于2012年10月26日正式推出,具有革命性变化的操作系统。系统独特的metro开始界面和触控式交互系统,旨在让人们的日常电脑操作更加简单和快捷,为人们提供高效易行的工作环境。Windows8支持来自Intel、AMD的芯片架构,被应用于个人电脑和平板电脑上。该系统具有更好的续航能力,且启动速度更快、占用内存更少,并兼容Windows7所支持的软件和硬件。微软将于2014年10月停止发售Windows8。但预装Windows8系统的电脑设备销售正常运营,用户依然可以通过购买PC的方式获取到OEM版本的Windows8。同时微软对Windows8的技术支持工作也不会停止。另外,Windows8的免费主流支持服务过期时间为2018年1月9日,扩展支持服务过期时间为2023年1月10日。2.2数据库的平台SQLServer2008在Microsoft的数据平台上发布,可以组织管理任何数据。可以将结构化、半结构化和非结构化文档的数据直接存储到数据库中。可以对数据进行查询、搜索、同步、报告和分析之类的操作。数据可以存储在各种设备上,从数据中心最大的服务器一直到桌面计算机和移动设备,它都可以控制数据而不用管数据存储在哪里。SQLServer是一个具备完全Web支持的数据库产品,提供了对可扩展标记语言(XML)的核心支持以及在Internet上和防火墙外进行查询的能力,提供了以Web标准为基础的扩展数据库编程功能。SQLServer提供强大的开发工具和各类开发特性,在大大提高开发效率的同时,进一步拓展应用空间,带来新的商业应用机遇。C#、VB.Net、ADO.Net2.0、AMO等都将成为SQLServer数据平台上开发数据相关应用的有力工具[5-8]。2.3系统开发平台该系统的平台为.NET,netframework(.net框架)主要包括:.net类库和CLR。 开发软件及技术的介绍ASP.Net是一种动态网页技术,在服务器端运行.Net代码,动态生成HTML,然后响应给浏览器。而CLR(公共语言运行时)则是实现程序运行的基础,任何针对于CLR的语言,最终都在CLR的托管下有序运行。语言只要是针对CLR最终都会被编译成MSIL(一种中间语言),所以,这样可以实现不同语言之间的相互操作(当然前提是这种语言有针对CLR的编译器)。2.4开发架构简介本系统采用三层架构,将整个业务应用那个划分为:表现层,业务逻辑层和数据访问层。表现层用于展示用户界面,业务逻辑层:用于访问数据层,从数据层取数据、修改数据以及删除数据,并将结果返回给表现层,数据层:连接数据库,对数据进行增查删改。便于后期维护,可以降低各层之间的依赖,使得结构更加明确。 开发软件及技术的介绍 需求分析3需求分析3.1可行性分析对系统进行可行性分析,目的是为了避免盲目投资,减少不必要的损失。可行性研究,就是用最小的代价在尽可能短的时间内确定问题是否能够解决。随着网上购物的流行,网上书城也越来越多,但专卖计算机技术类图书的网上书城并不多,对于那些需要购买和查找相关图书的计算机相关人士和大学生而言,本系统能够为他们提高购书销量,降低图书销售价格,节约时间等。3.1.1技术的可行性本系统开发工具使用MicrosoftVisualStudio2010作为开发平台,使用MicrosoftSQLServer2008作为数据库,开发语言是C#并使用了Ajax来开发,主要技术是ASP.NET。之前大二时学习过,大四也有进行系统学习,本系统总体上开发难度不高,数据库的设计和操作是本系统设计的核心[7-9]。在大学期间学习过软件工程,软件测试,UML统一建模语言等课程,每个学期也会完成对应的课程设计,具备一定的系统分析、设计和测试能力。因此,完成系统实现在技术上完全具有可行性。3.1.2经济的可行性软件的经济可行性是指软件所能带来的经济效益与开发设计所需要的投资相比,是否相适宜,同时还要看此软件能否真正给用户带来足够的经济效益。本系统所用的软件都是开源的,为开发软件节省了大量的金钱和时间,达到降低成本,提高开发效率的目的,本系统对计算机配置的要求不高,只要用自己的笔记本就可以进行开发,所以在经济上具有完全的可行性[10]。3.1.3操作可行性本系统操作简单,和对操作人员的要求很低,只需对Windows操作熟练,加之对本系统的操作稍加培训即可工作,而且本系统可视性非常好,所以在操作上不会有很大难度。3.1.4法律的可行性网上书图书城是自行开发的网络系统,是很有实际意义的系统,开发这个系统不同于开发普通的系统软件,不存在侵权等问题,即法律上是可行的。 需求分析3.2功能需求分析3.2.1游客游客是进入网站浏览书籍,但没有注册本系统会员的浏览者,他们具有的功能如下:(1)注册成为会员。(2)浏览图书列表。(3)查看书籍详细信息。游客用例图如图3-1所示。图3-1游客用例图3.2.2会员会员是通过本系统注册成功成为会员的浏览者,具有一般游客的权限,其具有的功能如下:(1)登录会员。(2)浏览图书列表。(3)查看书籍详细信息。(4)添加购物车。(5)下单。(6)留言。会员用例图如图3-2所示。 需求分析图3-2会员用例图3.2.2商家商家除拥有一切普通用户的权限之外,可以发布自己要销售的图书商品信息、修改或者删除某些自己没有货源的图书商品,其主要功能如下:(1)浏览图书列表。(2)查看书籍详细信息。(3)商家登录。(4)添加图书商品信息。(5)删除图书商品信息。(6)修改图书商品信息。(7)查看留言。(8)查看订单。(9)修改个人信息。商家用例图如图3-3所示。 需求分析图3-3商家用例图3.3性能需求分析3.3.1安全性约束 软件保证具备较高安全性,权限设计为系统提供充分安全保证。对不同的用户设置不同的权限,如游客拥有对网站的浏览功能,商家可以添加、修改和删除书籍。网上图书商城在管理权限上要严格进行控制,具体要求如下:(1)只有依据用户名和密码登录到系统才能将喜爱的图书添加购物车,没有登录会员,则只能查看图书列表和图书详细信息,没有权限的用户不能通过任何方式登录系统查看个人信息,以确保系统的严密性和安全性。(2)不同权限用户登录到系统后,不能越级操作,商家可以添加修改图书信息。游客只能在线浏览图书,查看图书详细信息等功能。3.3.2完整性约束(1)各种信息记录的完整性,数据库中要求不能为空的信息内容不能为空。(2)各种数据间相互联系的正确性。(3)相同的数据在不同记录中的一致性。 系统设计4系统设计4.1总体结构设计为了更加满足软件行业人士和大学生的要求同时也考虑到系统的实用性和简单化,让用户快乐、方便、灵活和直观的网上选购图书,所以网上图书商城系统分为游客浏览图书信息、普通用户登录管理、图书商品管理、订单管理、购物车等。系统整体的功能结构如图4-1所示。图4-1功能结构图4.1.1游客游客是指浏览本系统但并未注册会员的客户,由于没有注册会员,他们可以进行的功能操作很少。游客功能结构图如图4-2所示。图4-2游客功能结构图 系统设计4.1.2会员会员是指游客在注册登录成功后成为该网站的会员,除了拥有游客的查看功能外,还有添加购物车等功能。普通会员功能结构图如图4-3所示。图4-3会员功能结构图4.1.3商家商家是为那些想要卖书的商人设定的角色,商家除了拥有会员的基本功能操作外还拥有添加图书信息、删除图书信息、修改图书信息、查看订单的功能。商家功能结构图如图4-4所示。图4-4商家功能结构图 系统设计4.2详细设计4.2.1类图(1)游客作为执行者对应的类图如图4-5所示。图4-5与游客有关的类图(2)会员作为执行者对应的类图如图4-6所示。 系统设计图4-6与会员有关的类图(3)商家作为执行者对应的类图如图4-7所示。图4-7与商家有关的类图 系统设计4.2.2顺序图(1)游客作为执行者注册会员功能操作对应的顺序图如图4-8所示。图4-8游客注册操作顺序图(2)会员作为执行者进行登录操作时对应的顺序图如图4-9所示。图4-9会员登录操作顺序图(3)商家作为执行者添加图书商品信息对应的顺序图如图4-10所示。 系统设计图4-10商家添加图书商品功能的顺序图4.3数据库分析与设计4.3.1概念结构设计网上图书商城系统功能描述如下:系统拥有若干用户,用户分为游客、会员、商家三种。商家可以添加多种书籍。已注册的用户可以进行留言操作,一个用户可以有多条留言,一本书籍信息下面也可以有多条留言,一条留言只可能有一个用户和一本书籍。从上述功能描述可以抽取到的实体以及实体所对应的属性如下:(1)用户:用户ID、登录帐号、登录密码、用户姓名、地址、联系电话、邮箱、是用户类别ID。如图4-11所示。图4-11用户实体属性图 系统设计(2)用户类别:用户类别ID、类别名称。如图4-12所示。图4-12用户类别实体属性图(3)书籍:图书ID、书名、作者、出版社ID、图书编号、字数、价格、内容描述、作者简介、编者点评、目录、类别ID、点击次数。如图4-13所示。图4-13书籍实体属性图(4)书籍类别:类别ID、类别名称。如图4-14所示。图4-14书籍类别实体属性图 系统设计(5)出版社:出版社ID、出版社名称、出版时间。如图4-15所示。图4-15出版社实体属性图(6)图书评价:评价ID、内容、评价时间、图书ID。如图4-16所示。图4-16图书评价实体属性图(7)订单信息:订单ID、下单时间、用户ID、总价格、配送地址、状态。如图4-17所示。图4-17订单实体属性图(8)订单详细信息:Id、订单ID、数量、图书ID、书价。如图4-18所示。 系统设计图4-18订单详细信息实体属性图从上述功能描述可以得出实体之间的联系如下:(1)用户信息实体与用户类别实体之间是多对一关联(n:1)。(2)用户信息实体与订单信息实体之间是一对多关联(1:n)。(3)图书信息实体与图书评价实体之间是一对多关联(1:n)。(4)图书信息实体与图书类别实体之间是多对一关联(n:1)。(5)图书信息实体与出版社实体之间是多对于一联(n:1)。(6)图书信息实体与订单详细信息实体之间是一对多关联(1:n)。(7)订单信息实体与订单详细信息实体之间是一对多关联(1:n)。经过上面对系统功能的描述,得出系统E-R图如图4-19所示n图书信息图书评价出版社图书类别订单详细信息订单信息用户信息用户类别提交生成属于属于属于11n1nn1nn11图4-19系统E-R图 系统设计4.3.2逻辑结构设计网上图书商城系统的数据库是采用SQLServer2008开发的,其中主要数据表有8个表,其分别为:BookComment、Books、Publishers、Categories、OrderBook、Orders、Users、UserStates。(1)图书信息表主要是记录了书籍的基本信息,表结构如表4-20所示。表4-19图书信息表(Books)列名数据类型长度完整性约束说明Idint默认PK图书IDPublisherIdint4FK出版社IDCategoryIdint4FK类别IDTitlenvarchar200NOTNULL书名Authornvarchar200NOTNULL作者ISBNnvarchar50NOTNULL图书编号WordsCountint4NOTNULL字数UnitPricedatetime8NOTNULL价格ContentDescriptionnvarcharMaxNULL内容描述AurhorDescriptionnvarcharMaxNULL作者简介EditorCommentnvarcharMaxNULL编者点评TOCnvarchar200NULL目录Clicksint4NOTNULL点击次数(2)图书评价表主要是记录了用户对书籍的评价,表结构如表4-21所示。表4-20图书评价(BookComments)列名数据类型长度完整性约束说明Idint默认PK评价IDBookIdint4FK图书IDMsgnvarcharMaxNOTNULL内容CreateDateTimedatetime8NOTNULL评价时间 系统设计(3)出版社表主要是记录了出版者信息,表结构如表4-22所示。表4-21出版社(Publishers)列名数据类型长度完整性约束说明Idint默认PK出版社IDNamenvarchar200NOTNULL出版社名称PublishDatedatetime8NOTNULL出版时间(4)图书类别表主要是记录了书籍分类名称,表结构如表4-23所示。表4-22图书类别(Categories)列名数据类型长度完整性约束说明Idint4PK类别IDNamenvarchar200NOTNULL类别名称(5)订单详细信息表主要是记录了书籍的基本信息,表结构如表4-24所示。表4-23订单详细信息(OrderBook)列名数据类型长度完整性约束说明Idint默认PKIdBookIdint4FK图书IDOrderIDnvarchar50FK订单IDQuantityint4NOTNULL数量UnitPricedecimal9NOTNULL书价(6)订单信息表主要是记录了书订单的基本信息,表结构如表4-25所示。表4-24订单信息表(Orders)列名数据类型长度完整性约束说明OrderIDnvarchar50PK订单IDUserIdint4FK用户IDOrderDateint8NOTNULL下单时间TotalPricedecimal9NOTNULL总价格PostAddressnvarchar255NULL配送地址stateint4NOTNULL状态 系统设计(7)用户信息表主要是记录了用户的基本信息,表结构如表4-26所示。表4-25用户表(Users)列名数据类型长度完整性约束说明IdInt默认PK用户IDUserStateIdInt4FK用户类别IDLoginIdnvarchar50NOTNULL登录帐号LoginPwdnvarchar50NOTNULL登录密码Namenvarchar50NOTNULL姓名Addressnvarchar255NOTNULL地址Phonenvarchar100NOTNULL联系电话Mailnvarchar100NOTNULL邮箱(8)图书信息表主要是记录了书籍的基本信息,表结构如表4-27所示。表4-26用户类别表(UserStates)列名数据类型长度完整性约束说明Idint4PK用户类别IDNamenvarchar50NOTNULL类别名称 功能实现5功能实现5.1游客注册模块游客模块具有注册成为会员、浏览图书列表、查看图书详细信息,主要是初次进入网站浏览书籍,但没有注册本系统会员的浏览者。在这里主要针对游客注册成为会员来进行说明。由于注册和登录的页面展示效果基本一致,因此用户登录的功能操作将不在进行说明。游客注册成为会员功能说明如下:(1)描述:游客如果想要成为会员者,需要先注册成为本系统的会员。在这里页面使用了Ajax技术,自动验证文本框是否输入正确,如果不正确将不能进行注册需要重新填写信息。密码必须是由英文字母和数字组成的字符,校验是否满足条件是通过JQuery的相关技术在页面上自动进行验证的。(2)注册界面运行效果图如图5-1所示。图5-1游客注册(3)注册前台验证代码和注释如下。/*即时检测用户名是否存在*/$("#txtName").blur(function(){varname=$(this).val(); 功能实现if(!HasContent(name)){$("#spName").text("帐号不能为空").addClass("sp").show();return;}else{$.post("../ashx/CheckRegister.ashx",{"name":name,"tab":1,"random":Math.random()},function(data,success){if(data=="ok"){$("#spName").hide();}else{$("#spName").text("帐号已存在").addClass("sp").show();return;}});}});/*即时检测验证码输入是否正确*/$("#txtCode").blur(function(){varcode=$(this).val();if(!HasContent(code)){$("#spCode").text("验证码错误").addClass("sp").show();return;}else{$.post("../ashx/CheckRegister.ashx",{"code":code,"tab":2,"random":Math.random()},function(data,success){if(data=="ok"){$("#spCode").hide();}else{$("#spCode").text("验证码错误").addClass("sp").show();return;}});}});/*检测邮箱*/$("#txtEmail").blur(function(){varemail=$(this).val();Varmyreg=/^([a-zA-Z0-9]+[_|_|.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|_|.]?)*[a-zA-Z0-9]+.[a-zA-Z]{2,3}$/;if(!HasContent(email)){$("#spEmail").text("邮箱不能为空").addClass("sp").show();return;}elseif(!jkr.isMatch(myreg,email)){$("#spEmail").text("邮箱格式不正确").addClass("sp").show();changeCode();return;}else{$("#spEmail").hide();}});(4)注册一般处理程序UserRegister.ashx.cs后台代码和注释。 功能实现if(CheckCode())//判断验证码{Model.Usermodel=newModel.User();model.Address=context.Request.Form["address"];model.LoginId=context.Request.Form["name"];//用户名model.LoginPwd=context.Request.Form["pwd"];model.Mail=context.Request.Form["email"];model.Name=context.Request.Form["realName"];model.Phone=context.Request.Form["phone"];model.UserState.Id=1;BLL.UserManagerbll=newBLL.UserManager();inti=bll.Add(model);if(i>0){context.Response.Write("ok");}else{context.Response.Write("error");}}5.2会员模块会员模块除了具有普通游客所具有的基本功能外还具有用户登录、评价、购物车等功能,主要针对想要成为本系统会员的人来设定的角色。在这里对会员具有的查看图书列表信息进行详细介绍。会员查看图书列表信息功能说明如下:(1)描述:会员具有查看图书信息的功能,在系统的图书列表页面可以进行查看相关的图书信息。在图书列表页面用户可以对根据图书的分类进行查找,并且在这里采用了价格排序和分页技术,使的查找更加方便。(2)图书列表界面运行效果图如图5-2所示。 功能实现图5-2图书列表(3)图书列表主要代码和注释如下。BookList.aspx.cs页面:protectedvoidBindBookList(intpageIndex){intcategoryId;intpageCount;if(!int.TryParse(Request.QueryString["categoryId"],outcategoryId)){categoryId=0;}BLL.BookManagerbll=newBLL.BookManager();pageCount=bll.GetPageCount(categoryId,10);//获取总页数.if(pageIndex<1){pageIndex=1;}if(pageIndex>pageCount){pageIndex=pageCount;}currentPageIndex=pageIndex.ToString();stringorderby=string.Empty;if(ViewState["orderby"]!=null){ 功能实现orderby=ViewState["orderby"].ToString();}this.BookListRepeater.DataSource=bll.GetPageList(pageIndex,10,categoryId,orderby);//获取指定类别下的分页的数据this.BookListRepeater.DataBind();this.lblPageCount.Text=pageCount.ToString();}查看图书详细信息功能说明如下:(1)描述:在图书详细信息里可以对书本进行留言。(2)图书列表界面运行效果图如图5-3所示。图5-3图书详细列表(3)图书详细信息里评价留言主要代码和注释如下。一般处理程序BookComment.ashx.cs:stringaction=context.Request.Form["action"];if(action=="add")//添加评论{Model.BookCommentmodel=newModel.BookComment();model.BookId=Convert.ToInt32(context.Request.Form["bookId"]);model.Msg=context.Request.Form["msg"];model.CreateDateTime=DateTime.Now;BLL.BookCommentManagerbll=newBLL.BookCommentManager(); 功能实现if(bll.Add(model)>0){context.Response.Write("ok");}else{context.Response.Write("no");}}elseif(action=="load"){intbookId=Convert.ToInt32(context.Request.Form["bookId"]);//加载对应书下面的评论.BLL.BookCommentManagerbll=newBLL.BookCommentManager();Listlist=bll.GetModelList("BookId="+bookId);//创建一个新的集合.ListnewList=newList();foreach(Model.BookCommentmodelinlist){ViewModeCommentviewModel=newViewModeComment();viewModel.Msg=model.Msg;TimeSpants=DateTime.Now-model.CreateDateTime;viewModel.CreateDateTime=Common.WebCommon.GetTimeSpan(ts);//完成时间修改newList.Add(viewModel);}context.Response.Write(JsonConvert.SerializeObject(newList.ToArray()));}}5.3商家模块商家模块所具有添加书籍信息、修改书籍信息、删除书籍信息、查看留言、查看订单等功能,主要针对出售图书的商家而设定的角色。在这里主要针对商家登录和添加图书信息的功能进行详细介绍。商家登录功能说明如下:(1)描述:商家进入登录页面,登录管理系统。(2)程序运行效果图如图5-4、5-5所示。 功能实现图5-4商家登录页面(3)登录主要代码验证代码和注释如下。if(dl_username.Value==""||dl_password.Value==""){ScriptManager.RegisterStartupScript(this,this.GetType(),"str","",false);return;}DataTabledt=tb_user_bll.GetList("LoginId=""+dl_username.Value+""andLoginPwd=""+dl_password.Value+""andUserStateId="2"").Tables[0];if(dt.Rows.Count>0){tb_user_model=tb_user_bll.GetModel(int.Parse(dt.Rows[0]["id"].ToString()));if(tb_user_model.LoginId==dl_username.Value){if(tb_user_model.LoginPwd==dl_password.Value){Response.Redirect("mainindex.aspx?LoginId="+dl_username.Value);Return;}else{ScriptManager.RegisterStartupScript(this,this.GetType(),"str","",false);return;} 功能实现}else{ScriptManager.RegisterStartupScript(this,this.GetType(),"str","",false);return;}}else{ScriptManager.RegisterStartupScript(this,this.GetType(),"str","",false);return;}商家查看订单功能说明如下:(1)描述:商家可以查看订单信息,该角色主要是针对要商家了解图书销售情况,商家通过该功能可以查看销售了多少书籍,那些图书销量较高。(2)程序运行效果图如图5-5所示。图5-5商家查看订单功能(3)主要代码和注释如下。if(!IsPostBack){DataSetds=newDataSet();ds=order_bll.GetList("");//查询信息if(ds.Tables[0].Rows.Count>0){DataViewdv=ds.Tables[0].DefaultView;PDS.DataSource=dv;Repeater1.DataSource=PDS;Repeater1.DataBind();} 功能实现BindBookList();}protectedvoidBindBookList(){intcategoryId;intpageCount;intpageIndex=1;if(!int.TryParse(Request.QueryString["page"],outpageIndex)){pageIndex=1;}if(!int.TryParse(Request.QueryString["categoryId"],outcategoryId)){categoryId=0;}pageCount=order_bll.GetPageCount(categoryId,10);//获取总页数.if(pageIndex<1){pageIndex=1;}if(pageIndex>pageCount){pageIndex=pageCount;}//给用户控件中的属性赋值.this.PageBar1.CurrentPageIndex=pageIndex;this.PageBar1.CurrentPageCount=pageCount;}//根据id查询图书的书名标题protectedstringName(objectid){intids=Convert.ToInt32(id);DataTabledt2=user_bll.GetList("Id="+ids).Tables[0];stringrest=dt2.Rows[0]["Name"].ToString();returnrest;}protectedstringQuantity(objectOrderID){DataTabledtt=orderBook_bll.GetList("OrderID=""+OrderID+""").Tables[0];stringrest=dtt.Rows[0]["Quantity"].ToString();returnrest;}由于空间问题,以上只粘出部分代码,不一一粘出。 系统测试6系统测试6.1游客注册功能测试在“游客注册”测试中,游客需要输入用户名和密码,在此过程中通过多次的功能测试表明此功能能够按照设定的规定来执行。游客注册功能测试如表6-1所示。表6-1游客注册功能测试编号BookOnlineShopping001功能描述游客用户通过此功能注册成为本系统用户用例目的测试正常测试功能及错误检验前提条件用户可以正常打开系统操作步骤用户在系统首页点击注册进入注册页面,输入相关用户注册信息,然后点击“立即注册”按钮注册用户。测试项输入数据/动作预期结果实际结果显示注册页面用户点击注册进入注册页面出现注册页面出现注册页面正常注册用户名:aa123密码:123注册成功跳转至注册成功页面数据校验您的用户账号:张三您的密码:123提示:用户名由英文字母和数字组成,以字母开头,不能与数据库重复提示:密码由英文字母和数字组成的6-18位字符注册页面您的用户账号:张三您的密码:hxx123提示:用户名由英文字母和数字组成,以字母开头注册页面您的用户账号:admin123您的密码:jizhuan提示:密码由英文字母和数字组成的6-18位字符注册页面用户名:wang密码:123提示:该用户已存在注册页面6.2会员登录功能测试在“用户登录”测试中,用户通过登录入口输入用户名和密码登录系统,系统通过对用户登录的跟踪测试,以此来测试功能的正确性。系统中用户登录测试表如6-2所示。 系统测试表6-2用户登录功能测试编号BookOnlineShopping002功能描述系统用户通过此功能登录系统用例目的测试正常登录功能及错误检验前提条件用户可以正常打开系统,且已经存在aa123会员名,密码为123操作步骤用户在系统首页点击登录进入登录页面,在登录页面输入用户名、密码,然后点击登录,进入系统首页测试项输入数据/动作预期结果实际结果显示登录页面用户点击登录进入登录页面出现登录页面出现登录页面正常登录您的用户账号:aa123您的密码:123成功登录跳转至首页数据校验您的用户账号:eee(注:用户名不存在)您的密码:123仍然停留在登录页面,需要用户重新输入登录页面您的用户账号:eee您的密码:abcadd(注:密码错误)仍然停留在登录页面,需要用户重新输入登录页面6.3商家添加图书功能测试在“添加图书功能”测试中,商家通过管理图书点击添加图书商品信息,然后点击保存,在保存过程中会对所填的图书商品的信息进行相关的校验,以此来测试功能的正确性。系统中房主发布房源测试表如6-3所示。表6-3商家添加图书功能测试编号BookOnlineShopping003功能描述商家通过此功能添加图书商品用例目的测试正常添加图书商品功能及其错误检验前提条件用户可以正常打开系统,并且用户具有商家权限操作步骤商家登录系统后,点击添加,进入填写图书商品信息页面填写图书商品信息,然后点击保存测试项输入数据/动作预期结果实际结果显示图书商品填写页面用户点击添加图书商品进入填写页面出现图书商品填写页面出现图书商品填写页面正常填报书名:个C#Primer习题解答(第5版)作者:蒋爱军,李师贤,梅晓勇著价格:90填写完成,提示添加完成显示图书商品列表页面数据校验书名项为空提示书名项不能为空,仍然停留在填写页面,需要重新输入填写页面 系统测试作者项为空提示作者项不能为空,仍然停留在填写页面,需要重新输入填写页面价格项为空提示价格项不能为空,仍然停留在填写页面,需要重新输入填写页面内容项为空提示内容项不能为空,仍然停留在填写页面,需要重新输入填写页面出版社项为空提示出版社不能为空,仍然停留在填写页面,需要重新输入填写页面图书分类项为空提示图书分类不能为空,仍然停留在填写页面,需要重新输入填写页面 结论结论本系统采用的是基于C#的Asp.net技术,数据库采用的是SQL2008,不仅减少了编程的繁琐,而且大大提高了系统的安全性和可靠性。采用了比较流行的B/S模式,采用三层架构进行开发,在用户体验上,不仅具有便捷实用,而且安全可靠。系统充分考虑了用户的需求,最终达到了预期效果,并添加了一些附加功能,使系统更加人性化。实现了对计算机类图书销售的网上书城,在该网站浏览的用户可以通过技术分类找到自己需要的信息,将喜欢的书籍添加购物车。在整个开发过程中,我运用了软件工程的思想和方法,按照系统的需求,努力提高系统的便捷性。根据需求画出结构图和数据流图,然后步步为营,成功的开发出网上图书商城系统。由于时间仓促,本系统还有很多不足之处,比如很多细节上做的还不行,有些功能模块由于时间问题还未实现,如:支付功能,订单模块等。在以后也会及时的修改,我们会本着美观、便捷、实用的原则对系统进行优化,从而带给用户更加舒适的网上购书体验,进一步完善系统。 参考文献参考文献[1]汪小平著.《ASP网络开发技术》.北京:人民邮电出版社,2010.[2]樊健平著.《ASP高级编程及其项目应用开发》.中国水利水电出版社,2010.[3]蒋培,王笑梅,ASP.NETWEB程序设计,清华大学出版社,2008年12月第5次印刷,2008.12.[4]邓劲生,水电出版社,Visualstudio.NETFramework技术内幕[M],北京,中国水利,2008.[5]朱涛江.SqlServer权威指南[M].中国电力出版社.2013.03.[6]宋昆,李严.SQLServer数据库开发实例解析[M].机械工业出版社,2010.03.[7]王珊,萨师煊.数据库系统概论(第四版)[M].北京:高等教育出版社,2010.07.[8]丁宝康著.《数据库原理》.北京:经济科学出版社,2009.[9](美)戴尔著;李红军,等译.SQL核心技术手册 第2版.北京:机械工业出版社,2011.9.[10]金旭亮著.《网站建设教程》.北京高等教育出版社,2009.[11]陈伟著.《动态网站开发基础教程》.清华大学出版社,2010.[12]林锐,软件工程与项目管理解析,电子工业出版社,2003.10.11[13]陈衍卿著.Javascript完全自学宝典.北京:清华大学出版社,2013.01.[14](美)施密特(Schmitt,C.),多米尼(Dominey,T.)等著;窦朝辉译.CSSWeb设计高级教程(第2版).北京:清华大学出版社,2013.01.[15]Douglas Crockford著;赵泽欣,鄢学鹍译.JavaScript语言精粹. 北京:电子工业出版社,2009.01.[16]王沛,冯曼菲著.征服Ajax Web 2.0开发技术详解.北京:人民邮电出版社,2009.06. 致谢致谢在本次毕业设计中,之所以能够顺利的完成任务,首先与杨锋英老师的耐心指导分不开的。在论文完成中都给予了我极大的帮助。同时,杨老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我受益匪浅。她勤奋严谨的教学态度也给我留下了极为深刻的印象。几年的学习为了我的将来做了铺垫。在此,我在这里感谢我的学校和我的指导老师。其次,在整个系统开发过程中,我身边的同学和朋友给了我很多的建议,让我很快的确定了系统的业务逻辑。在此,我衷心的向他们表示感谢。通过这次毕业设计的整个开发过程,让我对系统开发有了更深层次的认识。并在这里谢谢我的家人一直以来对我的支持。最后,再次向所有关心和支持我学习的老师、同学、家人和朋友们表示真挚的谢意!    '