版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于ASPNET的校园杂货店的设计与实现摘要:计算机技术的发展,电脑的普及,网络已经由陌生,变得被越来越多人熟知,网购浪潮火热,网购在人们生活中的占比变大。人们去超市,商场购物的次数大大减少,频繁地通过网购来购买生活必需品。这种现象,在大学生当中尤其明显,许多学生网上购买零食而不是去超市买这些东西。但是在网上购买生活用品,有一个不便之处,就是通过网购买到的商品,短则需要一两天到达,长则一个星期也不为过,极为不便。本设计做的基于ASP.NET的校园杂货店面向校园用户,采用了ASP.NET技术,使用VS2012开发。前台实现学生将商品添加进购物车,提交订单等功能,方便学生购买一些网购需要几天才能送达,但是在生活中又每天都不可缺少的商品。后台管理员登录之后对商品信息进行修改,对订单进行发货,对用户信息进行维护。相较于其它网购平台本设计拥有许多优势:因为本设计面向的范围在校园,所以运送商品的距离不会太远,送货时间更短,成本也更低。使用人群是广大学生,因此也不用担心用户过少。关键词:ASP.NET,C#,VS2012,SQLServer目录TOC\u\t"章,1,节,2,小节,3"前言 1第1章概述 21.1课题研究背景及目标 21.2设计原则 31.3开发技术 31.3.1ASP.NET 31.3.2SQLServer 41.3.3其他技术 5第2章需求分析 62.1功能需求分析 62.2用例需求分析 62.2.1前台客户用例模块 62.2.2后台管理员用例模块 82.3可行性分析 102.3.1技术可行性 102.3.2经济可行性 112.3.3操作可行性 11第3章系统功能概述 123.1系统总体功能 123.2数据库的设计与实现 133.2.1数据库概念结构设计——E-R图 143.2.2数据库逻辑结构设计——关系模式 153.2.3数据库表设计 15第4章系统详细设计 194.1前台客户操作模块 194.1.1网站首页模块 194.1.2注册页面 214.1.3用户登录 244.1.4商品详情页面 274.1.5购物车以及提交订单信息页面 284.1.6检索栏 304.1.7个人中心 324.2后台管理员操作模块 334.2.1管理员登陆 334.2.2后台管理首页 334.2.3订单管理 344.2.4商品管理 354.2.5用户管理 364.2.6广告管理 374.2.7消息管理 37第5章系统测试 385.1运行环境 385.2测试方法 385.3系统测试用例 39第6章结束语 42参考文献 43第1页共44页前言网购的兴起是大势所趋。在淘宝,京东这样的大平台开网店,不仅竞争激烈,还有许多规则要遵守,店铺的运行维护开销大,因此独立网店成为了热门话题,很多公司都拥有了自己的独立网店,独立网店在未来的电子商务发展中,将发挥重要的作用。随着越来越多的企业拥有了网上商城,许多店铺也纷纷效仿,特别是大平台评价较高的店铺,也都将业务放到自己开通的独立网店,除了缓解激烈的竞争外,独立网店带来的渠道收益无疑是更大的收益。大平台更多的是进行分销,独立网店则能够灵活的拓展渠道,通过网站可以探索更多的销售渠道,找到更多的受众。独立的网店,对于体型较小的商家,也是不可或缺的销售渠道之一。一方面方便了客户的购买,足不出户就能购买到商品,另一方面将大部分客户吸引到网络店铺购买,大大缩减了购买实体店面的压力,可以将扩张店面的资金,用于完善服务,拓展渠道,在其他方面提高店铺的吸引力。本设计基于ASP.NET开发的校园杂货店,面向广大校园学生,方便学生购买的同时,拓展了渠道。通过便利的购买方式,及时的送货,吸引广大学生消费。拥有一个精美的网上商店的成本,无疑是比线下花费大量金钱,租用或者购买一个店铺便宜。再有网上商店可以花费较少的资金改变网页的设计,还有很多样式供选择。但是线下实体店铺想要改变装修样式,受门面的大小限制,无法有太多的选择空间,而且装修也是一笔庞大的开销,还要耗费时间等待装修完成。最后,实体店铺购买之后,空间不会再改变,也就限定了同一时间只能接待定量的顾客,可能还需要一两个服务员来维持店铺的运行。网上店铺就没有这个限制,同一时间可以接待更多的用户,购物流程也基本固定,不需要专人指导顾客就能自行购买。发货也只需要安排几个员工按照订单配送,成本大大减少。
第1章概述1.1课题研究背景及目标1、课题背景2020年爆发的疫情,网购已经渐渐成为很多人生活的一部分。快递是网购送货最大的途径,在前年,邮政服务达到两千多亿元;其中寄件数量超过两百亿件,收入了超过四百亿元。在“双11”,“双12”等电商活动日,快递业务更是剧增。其中同城快递量下降,异地快递量增加。表明网购得火热,也表明用户网购购买距离较近的商品减少。中国居民的生活水平的提高,使得线上购物成为又一大热点,线上购物所花费的金额也占据日常消费的一大部分。在广大网购人群中,年轻人无疑是最多的,每天公司和住所两点一线,几乎没有多余的时间,能利用来购物的也只有赶公交的这段时间。人们的购物心理是花更少的钱获得物美价廉的商品,而网上的商品要比超市便宜,正好符合。再者网上同种商品会有许多卖家,任你挑选,还能按照价格、评价等排序。在年轻人当中,以大学生占多数,因为他们在校时间长,更加的追求便捷,有一定的经济条件,但是并不独立。想在一个较小的范围找到数量较大的顾客,而且这些顾客还有较为相同的消费观,学校无疑是最好的场所。这也是为什么在学校开店,不是有很多顾客,就是门可罗雀。虽然有淘宝、京东等等购物平台提供开店服务,但是在这些平台开店,不仅要和同样的商家竞争,而且如果没有较好的管理模式,营销模式很难做好开店工作。而且部分小型商家,往往都是经营的超市这种包含各种商品的店铺,快递较为不便。因此拥有一个独立的网店,面向小范围的学生,不管是管理还是配送都能省下许多精力资金。2、系统目标本次开发的是一个基于ASP.NET的校园杂货店,从学生的消费需求出发,使得学生在使用时,感受到网购的快捷便利,并因此再次回购或者将其推荐给同学,扩大客源。系统可分为前台和后台模块,前台模块面向的是学生,用于购物,后台模块是管理员用来管理数据。系统的功能有以下几点,还没有注册过的用户可以进入网站查看商品;已注册用户在登陆之后,可以想大型购物平台一样将商品加入购物车最后再购买;管理员登录后台界面之后,可以添加商品,修改商品信息,订单发货,帮助遗忘密码的用户将密码初始化。1.2设计原则本设计在开发过程中,致力于更加完善,更加方便的购物体验,更加齐全的功能,最大程度地利用所学的技术和以及电商平台的特色来优化本网站的使用体验,尽可能的满足顾客的购物需求及管理员的维护需求,在最初设计前应考虑以下的五大性能:(1)实用性网站的前台页面应根据现代人的设计风格,使之更人性化,满足消费者的购物需求,购物流程简单明了,没有冗余的操作。后台维护和管理应站在管理员的角度思考如何优化管理方式,达到能够处理商品应具备的要求。(2)适应性网站系统的价值就是为使用者提供价值,首先应确保使用者在任意PC机上都能使用此系统。随着互联网的飞速发展,网站的功能以及表现形式也需要适应需求变化而变化,因此,本设计架构上采用的是基于ASP.NET的技术,在扩展上增加自定义的功能,适应网络的运营环境。(3)易操作性本设计的用户主要是顾客,在设计思路上,需以用户为主体,从用户的角度出发,达到功能齐全,界面友好,操作简单,操作有误时以相关文字提醒并妥善处理当前操作的要求。(4)准确性网站的内容要真实无虚假,代码要尽量简介,实现特定功能,购物流程尽可能简单方便,管理流程高效便捷。(5)可读性为了便于相关开发人员理解代码及方便未来对代码的维护和升级更新,应该给所有函数,功能代码做好相应的注释。1.3开发技术1.3.1ASP.NETASP.NET又称为ASP+,吸收了ASP前版本的许多优点,加入了新的特色升级得到。ASP.NET的特性:ASP默认支持VBScript,ASP.NET参照Java、VB语言的开发优势,支持更多的语言,比如VB、VC++、C#等,然而它的运行速度更快,更适合用于编写大型应用。它的页面逻辑和业务逻辑是分开的,因此代码和显示的内容也是分开的,编写代码时可以看到页面效果,即使复杂的网页也变得容易。只要是ASP.NET开发的程序都可以使用整个.NET框架。在开发时可以使用其中的优势技术,使得其性能更强。ASP.NET可以与其他一些编程工具一起工作。也就说明这些工具所具备的所有优点,他都能使用。这无疑简便了开发过程。ASP.NET的最大特色就是将琐碎的大部分工作都交给系统,旨在减少程序员开发Web应用的工作量,满足高效开发的战略需要。对于一个程序,速度是最能直观感受到的。用户不会去关心你用的是什么技术,你写了多少行代码,他只能感受到使用时程序运行的速度。再精简代码的时候你可能需要将程序移植到其他部件,ASP.NET可以很好的解决移植问题。1.3.2SQLServerSQL(StructuredQueryLanguage)的译为结构化查找语言。其具备的性能为在当下不同类型的数据库中创建联系,进而保持联系。根据ANSI(美国标准协会)文件内容,SQL语言是关系型数据库的规范用语。SQL语句可以根据实际需求,对不同的数据库实施多样性的操作,比如修改内部的数据资料、实现资料信息的查询等。在当下较为常见的相关数据库系统,比如SQLServer,Access,MySQl,Sybase等均运用了SQL语言规范。SQLServer是关系型数据库的代表之一,它最初的研发是由Microsoft、Sybase与Ashton-Tate三家企业合作完成的,并且在1988年顺利发布。在Microsoft发布WindowsNT之后,和Sybase结束了关于SQLServer的合作,并将它转移至WindowsNT平台中,努力进行拓展推SQLServer的WindowsNT版本。SQLserver数据库的特点有以下几条:网络集成性。SQLServer数据库支持拓展标记语言。此外,还满足可拓展性、稳定性等性能,这样在开发过程中可以十分便利地创建大规模WEB站点的信息保存组件。SQLServer开发模型和WindowsDNA(DigitalNetworkArchitecture数字网络模式框架)高度集成,从而能够用来推进WEB程序开发过程,另外SQLServer满足EnglishQuery(英语查找单元)以及Microsoft查找服务等多种性能,在Web程序运行中含有十分的完善的查找以及全面的搜索。可伸缩性以及可用性。从运行便携计算设备,到大型多处理服务器,不同的数据使用相同的数据引擎。SQLServer公司版产品中,新增了多种新特性,进一步完善性能表现,能够满足WEB站点运行和设计过程中的诸多功能表现。数据库性能。SQLServer数据库所具备的功能几乎满足了当下应用场合中一些近乎严格的数据处理要求。内部引擎高效保障数据信息的充分性,另外对于不同用户的执行进行管控,将用户方面的开支控制到最低水平。另外分布式支持方案,能够实现相应数据信息的更新过程。在复制数据过程中,可以对数据信息进行维护,并对独立的数据复本实现同步。便于安装、管理。SQLServer数据库中包含多样性的管理以及研发功能,通过此类性能的实现,能够实现在不同站点进行安装、管理以及调用。SQLServer还满足规范性,和WindowsDNA高度集成的研发模型,提高了数据库的创建与运用效率,实现和系统的衔接。在开发过程中可以在最少的安装和投入状态下,实现程序的运用与管理。1.3.3其他技术1、VisualStudio2012介绍VisualStudio是微软公司推出的开发环境,是最流行的Windows平台应用程序开发环境之一。VS2012是Microsoft在2012年发布的开发工具包。VisualStudio2012版本众多,其中使用最多的是ultimate版,其中的开发工具无疑是最全的。整个界面简洁高效,开发窗口可以通过拖拽改变位置或者自动隐藏,设计的同时可以看到界面。采用VS2012开发的软件可以在所有Microsoft平台运行。2、C#C#是在C和C++强大功能的基础上升级获得的一种高级编程语言。C#的退出不久就成了Web开发的热门语言,其成功之处在于它是以.NET类库为基础,兼顾系统开发和应用开发。C#是一种面向对象的编程语言,更加的简单、现代、通用。C#开发的难易度要低于C++,但是不代表它不够强大,它能实现C++的几乎所有功能。在开发Web应用时由于ASP.NET的特性,使用WebForm开发的页面更加具有个性,在安全性上也具有保障。
第2章需求分析2.1功能需求分析通过对其他网上购物平台的研究分析,再结合自己的分析,基于学校学生群体的购物观念以及购物需求,校园杂货店基本实现了用户、管理员维护的需求。前台未注册用户可以进入网站浏览商品的信息、注册新账户;已经注册用户,可以登录,登录之后才可以将商品加入购物车,并且下订单,还可编辑账户的基本信息,修改密码,收货地址。店家可以通过管理员密码登录,修改商品信息,查看订单列表。后台管理员应具备管理权限,用户、商品、订单等数据管理员都可以查看、修改、删除。然而管理员只能看到用户的个人信息,却不具备修改权限,只能为账户设置新的密码,用于用户忘记密码。2.2用例需求分析用例图无论是在分析阶段还是设计时都是重要的工具之一。需求分析阶段,明确系统的需求,明确各部分要如何运行;同样系统设计阶段也需要使用,用来明确系统要实现的功能,使得系统功能不会出现冗余,也不会缺少哪部分功能,减少多次修改。2.2.1前台客户用例模块1、商品模块这个模块中,用户不需要登录就能浏览商品信息,还能通过所属类别、名称关键字查询商品。商品模块用例图,如图2-1所示:图2-1商品模块用例图2、用户信息模块在这个模块中,没有注册的使用者可以注册成为用户,拥有账号的用户,在登录页面输入拥有的的账号信息登录系统。用户信息模块用例图,如图2-2所示:图2-2用户信息模块用例图3、购物车模块使用购物车的前提是,用户先要注册,通过登录页面登录之后才能进行购物的操作,没有注册或者没有登录的用户都不能使用购物车。在购物车中显示的信息有商品名称及购买数量,以及总价。购物车模块用例图,如图2-3所示:图2-3购物车模块用例图4、订单模块订单模块是在客户注册登录系统之后,将需要购买的商品添加到购物车,点击结账下订单,填写正确的收货人信息,之后支付总价。订单模块用例图,如图2-4所示:图2-4订单模块用例图5、收藏夹模块收藏夹是在用户注册登录系统之后,看到喜欢的商品,点击收藏,将其加入收藏夹,便于再次寻找。收藏夹模块用例图,如图2-5所示:图2-5收藏夹模块用例图6、消息中心模块消息中心是管理员发布给用户的一些优惠通知或者发货通知,用户登录系统才能看到消息。消息中心模块用例图,如图2-6所示:图2-6收藏夹模块用例图2.2.2后台管理员用例模块1、用户管理模块用户管理模块中,后台管理员登录之后可以浏览用户列表,查看用户名电话等信息、同时具备删除用户,初始化密码的权限。用户管理模块用例图,如图2-7所示:图2-7用户管理模块用例2、商品管理模块在该模块中,管理员首先看到的是商品列表,包含商品名称等信息,点击添加按钮可以添加商品,也可以在原有商品基础上增加信息。如果商品信息过期还能将其删除。商品管理模块用例图,如图2-8所示:图2-8商品管理模块用例3、订单管理模块在订单管理模块,可以查阅订单列表,列表显示收件人姓名,订单处于什么状态等信息。同样拥有对订单的修改删除权限。订单管理模块用例图,如图2-9所示:图2-9订单管理模块用例4、广告管理模块在广告管理页面,显示所有广告数据,广告名称以及广告图片。管理员通过这个页面,对广告进行添加修改。广告管理模块用例图,如图2-10所示:图2-10订单管理模块用例5、消息管理模块在消息管理页面,显示管理员发布的所有消息。管理员在此页面点击添加,跳转到发布消息页面,选择发布消息接收者,输入消息内容,保存发布消息。消息管理模块用例图,如图2-11所示:图2-11订单管理模块用例2.3可行性分析2.3.1技术可行性基于ASP.NET的校园杂货店运行维护只要一台电脑,操作系统为Windows均能兼容运行。基于ASP.NET的校园杂货店以ASP.NET为开发技术,通过VS2012软件进行开发,搭配无缝集成的SQLServer数据库。减少工作量的同时,兼顾性能。网站使用母版设计,保证页面布局相同的情况下,兼顾简洁美观。开发中用到C#语言,兼顾性能的同时也减少出错。2.3.2经济可行性在网购火爆的时代,网上校园杂货店,具备高效的可运行性。传统的实体店模式已经无法满足现在年轻人便捷高效的购物需求需求,所以一个基于ASP.NET的校园杂货店网站是提高利润,节省人力物力、吸引顾客的有效营销方式。在研究了众多当前流行销售平台的风格、模式,设计属于自己的网站的特色,达到方便快捷的要求。基于校园群体的特性,在较长的一段时间都不用为营销投入资金,开发系统的运营成本,可以在销售过程中,迅速弥补。所以开发基于ASP.NET的校园杂货店网站的经济可行性是高效率的。2.3.3操作可行性基于ASP.NET的校园杂货店设计时从用户的角度出发,做到操作简单,界面友好,流程控制性强,以及加载数据迅速,存储快速,显示格式规范标准,能够对用户的操作及时进行提示反馈。
第3章系统功能概述3.1系统总体功能基于ASP.NET的校园杂货店系统的使用人群是学生以及杂货店管理者。学生主要使用的是前台,方便用户注册登录,搜索商品,浏览商品列表,查看商品的介绍等信息,添加商品进购物车,查看购物车,填写订单中的信息,提交支付;对于后台界面,首页是欢迎管理员。订单列表,处理订单的发货。用户管理页面查看用户信息,初始化密码。商品管理页面对商品进行添加修改。广告页面和消息页面,增加或者删除广告和消息。增基于ASP.NET的校园杂货店系统整体结构图,如图3-1所示:图3-1基于ASP.NET的校园杂货店系统结构图3.1.1前台用户用户注册:没有注册的用户可以通过注册界面注册。用户登录:注册之后的用户,通过登录页面输入拥有的账号登录网站,之后就能使用系统的其他操作。个人信息:每个用户在登录之后,注册时的信息都能在个人中心界面查看,收货地址在我的地址界面也可以修改,不用在每次购物的时候修改收货地址。首页商品信息浏览:用户进入系统商品页面,即可浏览商品的信息,根据自己的喜好查看分类或者通过名称检索自己满意的商品。用户购物车:用户登录后能够将所需的商品添加购物车,对应商品的名称、数量、价格等信息显示在购物车中,在结账之前,用户可以对购物车中的商品进行删除,也可以修改购买商品的数量。订单信息:当用户在购物车中点击结账,会提示填写收货人信息,确认提交后,购物车表中的商品信息会被清空,方便下次添加购物车。用户在个人中心能够查看自己的订单,可查看当前订单的状态。收藏夹:已经注册的用户在浏览商品时,遇到喜欢的商品,但是当下又不需要立即购买,可以先将商品加入收藏夹,在下次需要的时候再购买。用户也可以在个人中心的,收藏栏目查看已经收藏的商品。消息中心:用户在登录之后,可以通过消息中心,查看收到的消息通知。3.1.2后台管理用户管理:可以查看所有用户,可以删除已经注册的用户,可以修改用户信密码,在用户忘记密码是将密码初始化。商品管理:在这个界面,管理员通过点击添加按钮,在弹出的页面输入商品的价格、名称等信息,上传图片,点击保存完成添加商品的过程;删除商品,也只要点击对应按钮;修改商品信息只需要在修改信息窗口输入新的信息保存即可。订单管理:管理员可在后台的订单管理界面查看所有订单列表,也可以对列表中的订单进行查询,查看已付款的订单。在发货时,管理员可以通过页面上的打印按钮将订单打印,在此页也可以将订单状态改成发货。最后管理员还可以删除出错订单。广告管理:该界面显示了系统中所有的广告,管理员可以点击添加按钮,在跳出的界面,输入广告信息,上传广告图片,选择广告状态,然后保存广告。还可以直接删除过期的广告。消息管理:在这个界面,可以看到所有的消息通知,管理员可以在此添加消息,以及删除过期消息。3.2数据库的设计与实现数据库是本校园杂货店的核心,系统中显示的数据都来自SQLServer数据库。通过数据库中各类表中数据的操作,来实现系统中的各种功能。主流的数据库有很多个,本系统中采用SQLServer数据库,是为了与所用开发工具VS2012兼容,避免开发中出现兼容问题。数据库设计的好坏是决定系统好坏的关键之一。在设计数据库时,花费时间创建一张ER图是很有必要的。它能帮助我们更加了解整个设计。3.2.1数据库概念结构设计——E-R图本校园杂货店系统的数据库设计主要建立的表有用户信息表、商品信息表、订单信息表、购物明细表、用户购物车表、广告表、收藏夹表、消息表。一个用户可以购买许多商品,因此用户表与商品表之间的关系是一对多关系;一个用户可以下多个订单,所以用户表与订单表也是一对多关系;商品信息表与购物车表之前的关系是,一个购物车中可以有多个商品,同时商品能属于不同用户的不同购物车;用户表与消息表之间是一对多的关系,用户能创建多个消息;本系统整个数据库设计的E-R图,如图3-2所示:图3-5数据库设计E-R图3.2.2数据库逻辑结构设计——关系模式关系模式的定义就是将E-R图转换为数据关系模型的过程。按照转换原则,将数据库的概念模型转换为关系模型:用户表(用户编号,用户名称,登录密码,电话号码,邮箱,用户所属类型,收货人地址,收货人姓名);商品信息表(商品编号,商品名,简介,价格,计量单位,分类,图片);广告表(广告编号,广告信息,广告图片,广告状态);订单信息表(订单编号,订单时间,总价,用户名,收货人姓名,收货人电话,收货地址,状态);订单明细表(订单编号,商品编号,商品数量,总价,用户名);消息表(消息编号,消息时间,内容,接收者);收藏夹表(用户编号,商品编号,收藏时间);购物车表(用户编号,用户名,商品编号,总价,数量)。3.2.3数据库表设计数据库作为基于ASP.NET的校园杂货店的核心,网站中所有数据信息都存储在SQLServer数据库中,本网站前后台界面所有的数据都与数据库连接。通过对SQLServer中各个表中数据的操作,在前后台显示操作后的数据,以此来实现网站上的各项功能。主流的数据库有很多,本设计采用的是能够与开发工具VS2012兼容的SQLServer数据库。在本次项目数据表设计中,一共有8张表,分别为用户信息表(User)、商品信息表(Goods)、订单信息表(Order)、购物明细表(OrderItem)、购物车表(Cart)、广告表(AD)、收藏夹表(Favorites)、消息表(Message)。以下是各个表的属性:用户信息表(User):存储注册用户的账号信息,收货人地址以及电话等。表3-1用户信息表(User)数据表名称User(用户信息表)列名数据类型长度允许Null值是否主键说明IDVarchar50否是用户编号NameVarchar50否否用户名PasswordVarchar50否否密码PhonecodeVarchar20是否电话号码EmailsVarchar50是否邮箱RoleChar1是否用户类型AddressVarchar50是否收货地址RenameVarchar50是否收货人姓名商品信息表(Goods):管理员添加商品时,商品信息就会被保存到这张表中。表3-2商品信息表(Goods)列名数据类型长度允许Null值是否主键说明IDChar15否是商品编号NameVarchar50否否商品名IntroduceNtext16否否简介UnitVarchar10否否计量单位ImageUrlVarchar50否否图片PriceFloat8否否价格ClassVarchar50否否分类订单信息表(Order):用于存储订单的信息。表3-3订单信息表(Order)列名数据类型长度允许Null值是否主键说明OrderIDChar15否是订单编号OrderDateDatetime8否否下单时间TotalPriceFloat8否否总价UserNameVarchar50否否用户名ReceiverNameVarchar50否否收件人姓名ReceiverPhoneVarchar50否否收件人电话StateVarchar50否否订单状态ReceiverAddressVarchar300否否收货地址购物明细表(OrderItem):用于存储订单对应购买的商品。表3-4购物明细表(OrderItem)列名数据类型长度允许Null值是否主键说明GoodsIDVarchar15否否商品编号NumInt4否否数量OrderIDVarchar15否否订单编号SumPriceFloat8否否总价UserNameVarchar50否是用户名购物车表(Cart):用于存储用户购物车中的商品表3-5购物车表(Cart)列名数据类型长度允许Null值是否主键说明UserNameVarchar50否是用户名GoodsIDVarchar15是否商品编号SumPriceFloat8是否总价NumInt4是否数量广告表(AD):管理员发布的广告表3-6广告表(AD)列名数据类型长度允许Null值是否主键说明ADIDVarchar50否是广告编号ADMessageVarchar50是否广告内容ADImageVarchar50是否广告图StateVarchar50是否广告状态收藏夹表(Favorites):用户收藏的商品表3-7收藏夹表(Favorites)列名数据类型长度允许Null值是否主键说明UserIDVarchar50否是用户编号GoodIDChar15是否商品编号TimeVarchar50是否收藏时间消息表(Message):存储系统中的消息表3-8消息表(Cart)说明列名数据类型长度允许Null值是否主键消息编号MessageIDVarchar50否是消息时间MessageTimeVarchar50是否消息内容MessagesVarchar200是否接收者AddresseeVarchar50是否
第4章系统详细设计基于ASP.NET的校园杂货店的设计了两大模块,学生使用的前台模块和管理员管理的后台模块。前台学生使用的模块的功能有用户购物,没有注册的用户可以在分类页面浏览商品,通过分类或者关键字查看商品。如果想购买某样商品,无法直接购买,需要注册一个账号,完成登录之后,才能购买商品,添加商品到购物车,填写收货人信息,提交之后支付,注册之后用户还能将暂时不购买的商品加入收藏,方便在需要购买时能找到,管理员发布的消息只有登录的用户才能看到;管理员的后台页面主要是对校园杂货店的维护,常用功能为管理商品、订单发货、用户信息管理、广告维护、消息发布。4.1前台客户操作模块4.1.1网站首页模块1、网站首页客户最先进入的就是网站首页,因此首页给顾客的第一映像很重要,第一映像的好坏决定顾客是否会再次光临。本次设计的网站首页使用了母版,以消费者需求为目的,追求简洁、美观、大方,在实现购物功能的同时给顾客一个愉悦的体验。校园杂货店的首页包含以下几个模块:顶部有登录注册、消息中心、个人中心等链接;中部是新商品的广告、所有商品分类、部分商品展示;底部是友情链接;右侧是滑动菜单栏,有购物车和消息中心等功能。登录用户就能在首页进行购买、使用购物车等功能。系统首页如图4-1所示:图4-1系统首页界面2、系统购物流程图作为一个购物网站,其核心流程就是购物,无论客户是否登录都能够查看商品信息,未登录游客不能添加购物车、下订单,只有登录成功才能进行购物流程,具体流程如图4-2所示:图4-2客户购物流程图4.1.2注册页面1、用户注册界面图点击注册按钮进入注册页面。注册只支持邮箱注册,表单在填写完成后立即判断格式是否正确,不正确将无法成功注册,并且会弹出错误提示,提醒用户填写的信息有问题。用户注册页面如图4-3所示:图4-3用户注册界面2、用户注册流程图用户注册时需要填写用户信息,包含邮箱,用户密码,重复密码等信息,系统查询数据库中相同的用户名是否已经存在,其他信息是否填写规范,若格式不正确,则提示用户填写的信息有错误,注册成功会有提示信息,具体流程如图4-4所示:图4-4用户注册流程图3、用户注册源代码分析Register.aspx文件建立相应的TextBox控件,txtUserNameR、txtPasswordR、txtPhone、txtEmail、txtAddress、txtReName分别代表用户名、登录密码、电话、邮箱、收货地址、收货人姓名,点击注册按钮触发register_Click方法,生成SQL语句,向数据库中添加填写的信息,添加成功则显示注册成功,跳转到登录页面进行登录操作,添加失败,表明数据库中已经存在该用户,请用户修改用户名之后再注册。主要源代码如下:protectedvoidregister_Click(objectsender,EventArgse){stringsql=@"insertinto[USER](ID,NAME,PASSWORD,PHONECODE,EMAILS,ADVANCEPAYMENT,ROLE,Address,ReName)values(@ID,@NAME,@PASSWORD,@PHONECODE,@EMAILS,@ADVANCEPAYMENT,@ROLE,@Address,@RENAME)";SqlParameter[]parameters=newSqlParameter[9];SqlParameterid=newSqlParameter("@ID",SqlDbType.Char);DateTimetempTime=DateTime.Now;id.Value=tempTime.ToString("yyyyMMddhhmmss");parameters[0]=id;SqlParametername=newSqlParameter("@NAME",SqlDbType.VarChar);name.Value=this.txtUserNameR.Text.Trim();parameters[1]=name;SqlParameterpassword=newSqlParameter("@PASSWORD",SqlDbType.VarChar);password.Value=this.txtPasswordR.Text.Trim();parameters[2]=password;SqlParameterphoneCode=newSqlParameter("@PHONECODE",SqlDbType.VarChar);phoneCode.Value=this.txtPhone.Text.Trim();parameters[3]=phoneCode;SqlParameteremail=newSqlParameter("@EMAILS",SqlDbType.VarChar);email.Value=this.txtEmail.Text.Trim();parameters[4]=email;SqlParameteradven=newSqlParameter("@ADVANCEPAYMENT",SqlDbType.Float);adven.Value=0;parameters[5]=adven;SqlParameterrole=newSqlParameter("@ROLE",SqlDbType.Bit);role.Value=false;parameters[6]=role;SqlParameteraddress=newSqlParameter("@Address",SqlDbType.VarChar);address.Value=this.txtAddress.Text.Trim();parameters[7]=address;SqlParameterrename=newSqlParameter("@RENAME",SqlDbType.VarChar);rename.Value=this.txtReName.Text.Trim();parameters[8]=rename;try{intresult=dbHelper.ExecuteNonQuery(sql,parameters);if(result==1){Response.Write("<scripttype='text/javascript'>alert('注册成功,请登录');</script>");Response.Redirect("~/Front/NLogin.aspx");}elsethrownewException();}catch{Response.Write("<scripttype='text/javascript'>alert('该用户存在,请修改用户名之后重试!');</script>");}}4.1.3用户登录1、用户登录界面用户注册成功后,会转到登录页面,用户使用账号信息进行登录,才可以使用系统购物操作。用户登录时系统也会从数据库中查询该用户,判断用户名和密码是否对应。如果正确,则会把用户名写入Session,代表用户已经登录成功,用户可以进行购买。用户登录页面如图4-5所示:图4-5用户登录界面2、用户登录流程图用户只有登录才能使用系统的权限,客户注册会获得账号,登录页面输入账号,查询数据库中是否有相同的信息,有则成功,反之失败。登录成功返回到系统首页,具体流程如图4-6所示:图4-6用户登录流程图3、用户登录源代码分析Login.aspx文件建立相应的TextBox控件,分别为txtUserName、txtPassword,代表用户名、密码,点击登录按钮执行登录方法,生成对应的查询语句,获取数据库中User表中对应信息,判断用户是否输入正确信息,如果为不存在输入的数据则表示用户未注册或者输错信息,如果存在则表示此用户可以登陆,则进入首页。主要源代码如下:protectedvoidLogin_Click(objectsender,EventArgse){stringsql=@"select*from[USER]whereNAME=@NAMEandPASSWORD=@PASSWORD";SqlParameter[]parameters=newSqlParameter[2];SqlParametername=newSqlParameter("@NAME",SqlDbType.VarChar);name.Value=this.txtUserName.Text.Trim();parameters[0]=name;SqlParameterpassword=newSqlParameter("@PASSWORD",SqlDbType.VarChar);password.Value=this.txtPassword.Text.Trim();parameters[1]=password;try{DataTableresult=dbHelper.Select(sql,parameters);if(result.Rows.Count>0){Session.Add("USERNAME",this.txtUserName.Text.Trim());Session.Add("USERID",result.Rows[0]["ID"].ToString());if(result.Rows[0]["Role"].ToString()=="1"){Response.Redirect("~/Manager/AdminIndexN.aspx");}else{Response.Redirect("~/Index.aspx");}}elsethrownewException();}catch{GlobleClass.PopInfo(this.Page,"用户名或密码错误!");}}4.1.4商品详情页面1、商品详情页面图用户点击商品详情,可以进入商品详情页面查看商品的详细信息,如图4-7所示:图4-7查看商品界面2、商品详情源代码分析通过商品id使用查询对应商品的所有数据信息,在.aspx页面显示出相应的商品详情信息。主要源代码如下:publicvoidGetGoodsInfo(stringid){stringsql="SELECT*FROMGOODSWHEREID='"+id+"'";DataTabledt=newDataBaseHelper().Select(sql);if(dt.Rows.Count>0){txtName.Text=dt.Rows[0]["NAME"].ToString();ddlKind.SelectedValue=dt.Rows[0]["CLASS"].ToString();txtUnit.Text=dt.Rows[0]["UNIT"].ToString();txtPrice.Text=GlobleClass.VarStr(dt.Rows[0]["Price"].ToString(),2);ImageMapPhoto.ImageUrl=dt.Rows[0]["ImageUrl"].ToString();txtShortDesc.Text=dt.Rows[0]["Introduce"].ToString();}}4.1.5购物车以及提交订单信息页面1、购物车页面图用户在商品列表选择想要购买的商品,将商品添加购物车,添加一次买一件,多次买多件,也可以在购物车中编辑购买数量,在购物车中可以看到选购的商品以及所需支付的总价,也可以点击首页再次购买其他商品。当用户确认需要购买的商品后,点击结账之后填写相应的订单信息,提交并支付,即完成购物。购物车及订单提交页面,如图4-8所示:图4-8购物车界面图4-9填写信息界面2、购物车源代码分析添加商品到购物车,会先获取,商品是否已经在购物车中,如果在购物车中,只要改变数量和总价,若不在购物车中,则需要添加一条新的数据到数据库中。如果没有添加成功或者用户还没有登录,都会有提示框跳出。主要源代码如下://当购买商品时,获取商品信息publicOrderItemGetSubGoodsInformation(DataListCommandEventArgse,DataListDLName){//获取购物车中的信息OrderItemGoods=newOrderItem();Goods.ID=DLName.DataKeys[e.Item.ItemIndex].ToString();stringGoodsInfo=e.CommandArgument.ToString();Goods.Price=float.Parse(GoodsInfo);return(Goods);}publicvoidAddShopCartItem(DataListCommandEventArgse,DataListDLName){if(Session["USERNAME"]!=null){OrderItemGoods=null;Goods=GetSubGoodsInformation(e,DLName);if(Goods==null){//显示错误信息Response.Write("<script>alert('没有可用的数据');location='index.aspx';</script>");return;}else{//取得当前购物车有无此已购商品stringsql="select*fromCartwhereGoodsID=@GoodsIDandUserName=@UserName";SqlParameter[]parameters={newSqlParameter("@GoodsID",SqlDbType.Char,14),newSqlParameter("@UserName",SqlDbType.Char,50)};parameters[0].Value=Goods.ID;parameters[1].Value=Session["USERNAME"].ToString().Trim();inti=newDataBaseHelper().Select(sql,parameters).Rows.Count;if(i>0){sql=@"updateCart setNum=(Num+1), SumPrice=(SumPrice+@Price)whereGoodsID=@GoodsIDandUserName=@UserName";}else{sql=@"InsertintoCart(GoodsID,Num,SumPrice,UserName) values(@GoodsID,1,@Price,@UserName)";}SqlParameter[]parameters1={newSqlParameter("@GoodsID",SqlDbType.Char,14),newSqlParameter("@Price",SqlDbType.Float,8),newSqlParameter("@UserName",SqlDbType.Char,50)};parameters1[0].Value=Goods.ID;parameters1[1].Value=Goods.Price;parameters1[2].Value=Session["USERNAME"].ToString().Trim();//执行ints=newDataBaseHelper().ExecuteNonQuery(sql,parameters1);if(s>0){GlobleClass.PopInfo(this.Page,"恭喜您,添加成功!");}else{GlobleClass.PopInfo(this.Page,"操作不成功!");}}}else{GlobleClass.PopInfo(this.Page,"请先登录,谢谢!");}}4.1.6检索栏1、检索栏页面图用户可以利用商品分类、商品名称关键字、设置价格区间来搜索想要购买的商品.。检索页面,如图4-10所示:图4-10检索界面2、检索栏源代码分析用户可以通过类别、价格、商品名称检索商品,主要源代码如下:privatevoidSearchGoods(){stringsql="selecttop18*fromGoodswhere1=1";if(!IsPostBack){if(Request["Class"]!=null&&Request["Class"].ToString().Trim().Length>0){sql+="andclasslike'%"+Server.HtmlDecode(Request["Class"].ToString().Trim())+"%'";}if(Request["Name"]!=null&&Request["Name"].ToString().Trim().Length>0){sql+="andnamelike'%"+Server.HtmlDecode(Request["Name"].ToString().Trim())+"%'";}}elseif(ddlKind.SelectedIndex>0){sql+="andclasslike'%"+ddlKind.SelectedValue.Trim()+"%'";}if(txtName.Text.Trim().Length>0){sql+="andnamelike'%"+txtName.Text.Trim()+"%'";}if(txtPriceMin.Text.Trim().Length>0){sql+="andprice>="+txtPriceMin.Text.Trim();}if(txtPriceMax.Text.Trim().Length>0){sql+="andprice<="+txtPriceMax.Text.Trim();}sql+="orderbyclass,name";DataTabledt=newDataBaseHelper().Select(sql);dlResult.DataSource=dt;dlResult.DataBind();}4.1.7个人中心注册过的用户,都可以看到自己的个人中心,在个人中心里,可以查看自己的订单,还可以查看注册时填写的个人信息,修改个人的收货地址等等。还可以查看收藏夹中以前收藏的商品,和管理员发布的消息通知。会员中心如图4-11所示:图4-11个人中心界面4.2后台管理员操作模块4.2.1管理员登陆购物系统必不可少的需要管理员维护,管理员要进入后台界面,就需要输入正确的管理员账户,进入后对订单、商品等进行维护。管理员登录页面与用户登录页面相同,只是在登录后跳转的页面不同,如图4-12所示:图4-12管理员登录页面4.2.2后台管理首页管理员进入后台管理系统,跳转到后台首页,能看到管理员名称和欢迎字样,右边部分是后台管理的菜单,有管理首页、商品管理页面、订单管理页面、用户管理页面、广告管理页面、消息管理等功能,管理员在此选择对应栏目点击进入对应的管理操作界面管理数据。后台首页如图4-13所示:图4-13后台首页页面4.2.3订单管理决定购物平台的一大因素就是订单管理,这里显示所有的订单,订单按照订单号排列,订单号由购买时间生成。同时可以看到订单的状态,管理员还可以通过编辑按钮更改订单状态,以及取消订单。订单管理如图4-14所示:图4-14订单管理界面4.2.4商品管理进入商品管理页面,可以在这个模块中添加商品、修改商品、查看所有的商品。首先是商品管理页,显示了所有的商品,如图4-15所示:图4-15所有商品添加商品页面,如图4-16所示:图4-16添加商品信息修改商品页面,可以修改商品的信息,点击修改商品,进入修改界面,获得些商品的详细信息,然后进行商品信息的修改,提交,页面如图4-17所示:图4-17修改商品4.2.5用户管理在用户管理页面中,显示了所有当前已注册的用户,对这些用户,管理员有修改用户信息的权限。用户管理如图4-18所示:图4-18用户管理界面4.2.6广告管理在广告管理页面中,显示了所有当前已添加的广告。管理员可以添加新的广告以及修改已经加入的广告。广告管理如图4-19所示:图4-19广告管理界面4.2.7消息管理在消息管理页面中,有所有的管理员发布的消息。管理员可以在此界面进行消息的添加和修改,以及删除过期的消息。消息管理如图4-20所示:图4-20消息管理界面
第5章系统测试系统测试分两部分功能和性能,性能测试是看网站运行速度,当有大量访问时是否出错。功能测试则对系统的各部分功能进行测试,确定系统功能是否满足设计要求,功能实现是否完整,是否足够精简。测试的过程,是从系统中排查出问题,找到在设计过程中的遗漏,找到编写代码过程中逻辑有疏忽的地方。经过大半学期的毕业设计,本次设计的功能基本满足用户的需求,但是难免有一些疏漏之处。因此设计特定的测试用例,让系统在运行状态下,按照测试用例来执行,借此发现缺陷,并及时解决,从而加强系统的性能及可靠性。5.1运行环境1、硬件环境:一台能够安装Window10操作系统的电脑。2、软件环境: (1)开发环境:.NET4.5,IE11及以上浏览器; (2)开发工具:MicrosoftVisualStudio2012; (3)后台数据库:MicrosoftSQLServer2008R2。5.2测试方法软件的需求增加,客户要求的提高,为了节约测试时间,软件测试方法也层出不穷,针对性不同要求,使用不同测试方法,节省开销。“黑盒测试”和“白盒
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 审计专业技术资格(初级)经典案例分析题(带答案)
- 公路水运工程试验检测师《水运材料》真题汇编(含解析)
- 公路水运工程试验检测专业技术人员职业资格道路工程真题汇编(带评分标准)
- 2026 年防范暴雨引发连锁自然灾害科普
- 人工智能在证券营销中的应用
- 2026年秋季初中新生军训 军训日志与心得分享
- 2026年成都天府文旅职业学院单招综合素质考试模拟试卷含答案详解(轻巧夺冠)
- 2027年济南能源职业学院高职单招职业技能考试模拟试卷附答案详解【综合卷】
- 2026年阿尔专修学院高职单招职业适应性测试考试模拟试卷及答案详解(真题汇编)
- 2024年山东省青岛市单招职业技能考试模拟试卷附答案详解(模拟题)
- 青海2025年03月西宁市城北区面向社会公开招考47名编外聘用人员笔试历年参考题库考点剖析附解题思路及答案详解
- 颈椎骨折围术期护理
- JJF(有色金属)-非接触式激光引伸计校准规范
- 2025年离婚协议书范本(无争议)
- 2025内镜室院感工作计划
- TCSSS 010-2024 运动科研实验室质量控制通 用要求
- 高中数学解题思想与方法大全
- JB-T 7550-2023 空气分离设备用切换蝶阀
- 国内城市机场三字代码
- 【课件】《我善养吾浩然之气》课件 2022-2023学年人教版高中语文选修《先秦诸子选读》
- 医学检验实验室法律法规培训演示文稿
评论
0/150
提交评论