本科毕业论文--eb网上商城管理系统的设计与实现报告_第1页
本科毕业论文--eb网上商城管理系统的设计与实现报告_第2页
本科毕业论文--eb网上商城管理系统的设计与实现报告_第3页
本科毕业论文--eb网上商城管理系统的设计与实现报告_第4页
本科毕业论文--eb网上商城管理系统的设计与实现报告_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEEB网上商城管理系统的设计与实现摘要:网上购物成为了当前电子商务的主流趋势,也是Web应用的一大热门产业。本文设计开发了一款基于B/S结构的网上商城管理系统,采取的开发技术为ASP.NET,数据库采用SQLServer数据库,开发语言为C#,使用DIV+CSS进行页面布局,使用IISv5.1进行网站发布。本文实现的系统包含前台和后台两大模块,包括会员管理,商品管理,订单管理,管理员管理等多个独立的子模块。开发过程中,使用了大量图示说明,提高了文档的可读性与系统的可维护性。开发本系统的目的,在于减少中间环节,消除运输成本和代理中间的差价,造就对普通消费和加大市场流通带来巨大的发展空间。尽能的还消费者以利益,带动公司发展和企业腾飞,引导国民经济稳定快速发展,推动国内生产总值。关键词:EB网上商城管理系统;分析设计;编码实现

TheDesignandImplementationofEBOnlineShoppingMallManagementSystemAbstract:Onlineshoppinghasbecomethemaintrendofthecurrente-commerce,Webapplications,apopularindustry.InthispaperdesignanddevelopmentofaB/Sstructureoftheonlinestoremanagementsystem,totakethetechnologiesdevelopedfortheASP.NETdatabaseusingSQLServerdatabasedevelopmentlanguageisC#,DIV+CSSpagelayout,usetheIISv5.1iswebsite.Inthispaper,therealizationofthesystemconsistsoftwomodulesoftheforegroundandbackground,includingmembersofmanagement,merchandisemanagement,ordermanagementandadministratorstomanagemultipleindependentsub-modules.Developmentprocess,alotofillustration,toimprovethedocument'sreadabilityandmaintainabilityofthesystem.Thepurposeofthedevelopmentofthesystemistoreduceintermediatelinks,eliminatingtransportationcostsandtheagentthedifferenceinthemiddle,creatingahugedevelopmentspaceforordinaryconsumptionandincreasemarketliquidity.Docanalsoconsumerinterests,ledthecorporatedevelopmentandcorporatetake-offandguidethenationaleconomysteadyandrapiddevelopment,andpromotethegrossdomesticproduct(GDP).Keywords:EBOnlineShoppingMallManagementSystem;AnalysisandDesign;CodingandImplementationPAGE51目录EB网上商城管理系统的设计与实现 III第1章绪论 11.1课题背景 11.2网上商城概述 11.3课题的目的及意义 11.3.1课题的目的 11.3.2课题的意义 11.3.3国内外研究概况以及发展趋势 21.4本文研究内容及主要贡献 2第2章需求分析 32.1可行性研究 32.1.1技术可行性 32.1.2经济可行性 32.2系统综合要求 32.2.1功能需求 32.2.2性能需求 42.3系统流程图 42.4系统数据流图 52.4.1商城管理系统顶层数据流图 52.4.2EB商城管理系统中层数据流图 52.4.3EB商城管理系统底层数据流图 62.5系统数据字典 92.5.1外部实体卡片 92.5.2处理过程卡片 92.5.3数据流卡片 102.5.4数据存储卡片 122.6开发环境 132.6.1ASP.NET 132.6.2B/S结构 132.6.3C# 132.6.4DIV+CSS 132.6.5IIS 132.7本章小结 13第3章系统设计 143.1总体设计 143.1.1设计思想 143.1.2设计原则 143.1.3体系结构设计 143.1.4软件结构设计 15前台模块 153.2详细设计 163.2.1前台功能模块 163.2.2后台功能模块 193.3数据库设计 243.3.1系统E-R图 243.3.2数据表结构 283.4本章小结 31第4章系统实现与测试 324.1编码实现 324.1.1前台模块编码 324.1.2后台模块编码 414.2系统测试 454.2.1用户注册测试 454.2.2其他功能测试 464.3系统配置 464.3.1数据库配置 464.3.2配置IIS 494.4本章小结 50第5章总结与展望 515.1总结 515.2展望 51毕业设计体会 52致谢 53参考文献 54英文翻译资料 55第1章绪论1.1课题背景但凡新兴事物的产生,都有其两点必要条件。其一:人们对该事物的需要;其二:支持该事物产生的条件。满足以上两点的网上商城,自此应运而生。随着社会的日新月异的发展和进步,人们的生活节奏也如同火车一般,不断的进行着提速,传统购物模式由于其地域,时间,效率等局限性,越来越无法满足人们的需求。于是,人们迫切的需要一种新的、可以消除地域、时间等局限性的高效的购物模式,由此,产生了对网上商城的需要。关于网上商城的技术支持。这点可以从两方面讨论,即网络技术支持和硬件技术支持。网络技术支持:互联网技术自其诞生至今,已历经数十载,各方面技术也已经趋于成熟。这点便解决了传统购物模式的地域局限性。硬件技术支持:随着科技的发展与进步。计算机硬件历经数次革新,不论是数据处理速度,还是数据存储量,都有了质的飞跃,足以满足人们日常生活的各种需要,由此,消除了传统购物模式的低效的局限性。1.2网上商城概述网上商城类似于现实世界当中的商店,差别是利用电子商务的各种手段,达成从买到卖的过程的虚拟商店,从而减少中间环节,消除运输成本和代理中间的差价,造就对普通消费,和加大市场流通带来巨大的发展空间。尽能的还消费者以利益,带动公司发展和企业腾飞,引导国民经济稳定快速发展,推动国内生产总值。网上商城主要有三大类:一、B2B(BusinessToBusiness,商家对商家)B2B典型代表有阿里巴巴。中国制造网,慧聪等,主要是从事批发业务。二、B2C(BusinessToCustomer,商家对顾客直接销售,信用度高)B2C典型代表有今日商城网、卓购商城、优旺商城、问学商城、当当网、日日来商城、布易网、京东商城、她秀网、凡客诚品、第九大道、麦网、欧谷商城、新蛋商城、蚕丝网城、卓越亚马逊、天天团购网(时尚优品)、中国巨蛋、乐购购、鹏程万里贸易商城、她秀网、红孩子商城、团火网等;中国巨蛋主要是从事零售业务,日日顺乐家。三、C2C(CustomertoCustomer,客户和客户),其功能不尽相同C2C典型代表有淘宝、易趣、倾心淘宝导购返利网、拍拍、百度有啊[1]。1.3课题的目的及意义1.3.1课题的目的本文研究该课题,是为了迎合市场的需要,满足人们的对网上购物的需求,尽可能使消费者获得最大的利益。1.3.2课题的意义通过研发网上商城,可以减少中间环节,消除运输成本和代理中间的差价,造就对普通消费,和加大市场流通带来巨大的发展空间。尽能的还消费者以利益,带动公司发展和企业腾飞,引导国民经济稳定快速发展,推动国内生产总值。1.3.3国内外研究概况以及发展趋势当今社会,随着Internet的发展,网上购物已经成为了一种新的购物理念,人们可以足不出户便可以购买所需的物品。为了迎合市场需要,越来越多的网上商城应运而生。国外知名的网上商城有PayPal、ioffer、Gumtree、amazon等,国内著名的网上商城有阿里巴巴、京东商城、当当网、淘宝网、拍拍网等。我国的网上商店仍然还处在起步阶段,每年仍然以较快的速度发展,在今后相当长的时间里,我国的网上交易仍然具有很大的发展空间。由于网上商城永不关门、信息量大、客户无限、服务优质、成本低廉的特点,网上商城已经有超赶现实商城的趋势,假以时日,随着技术的发展,网上商城取代现实商城将不再是空谈。1.4本文研究内容及主要贡献本文通过5个章节来设计开发一款可以迎合当前市场需要,满足人们网上购物需求的B2C类型网上商城管理系统。第1章绪论:该阶段用于说明系统的开发背景、目的及意义、发展趋势等。第2章需求分析:该阶段对用于系统的各种需求进行分析,并通过系统流程图、数据流图及数据字典加以说明解释。然后再对系统的开发环境进行相应介绍。第3章系统设计:该阶段共分为总体设计、详细设计和数据库设计三部分内容。总体设计根据需求分析得出的各种需求,设计出系统结构设计和软件结构设计,并画出系统的层次图。详细设计部分对总体设计划分出的各功能模块进行详细分析设计,并以N-S图说明程序流程。数据库设计部分用于对数据库进行逻辑和物理设计,并通过E-R图进行说明解释。第4章系统实现及测试:该阶段分为编码、实现和测试三部分内容。编码部分将会给出各功能模块的关键性代码,实现部分将给出模块效果。测试部分将根据预想情况和实际情况给出测试结果说明。再系统实现后,通过设计相应的覆盖测试,对系统进行相应的测试。第5章总结与展望:本章介绍本文设计的系统尚有哪些不足,并且对其将来的提升有哪些展望。第2章需求分析需求分析阶段作为软件开发中至关重要的一个阶段,决定着软件后续开发的方向。2.1可行性研究2.1.1技术可行性由于Web技术的日趋成熟,以及硬件技术的不断革新,开发维护网上商城管理系统,已不存在技术难题。且目前已有多家成功的网上商城案例,更可以借鉴学习,取长补短。2.1.2经济可行性由于网上商城减少了中间环节,消除运输成本和代理中间的差价,造就对普通消费,和加大市场流通带来巨大的发展空间,从而可以带动公司发展和企业腾飞。配合合理的管理运营,短时间内即可收回成本,并在往后的经营中,节省更多资本。以国内B2C电子商务成功案例之一的京东商城作为参考。京东商城目前拥有遍及全国各地1500万注册用户,1200家供应商,在线销售家电、数码通讯、电脑、家居百货、服装服饰、母婴、图书、食品等11大类数万个品牌30余万种优质商品,日订单处理量超过12万单,网站日均PV超过3500万。京东商城已占据中国网络零售市场份额35.6%,连续10个季度蝉联行业头名。由此可见,网上商城在国内具有良好的商业前景。经济利益也是相当的客观。2.2系统综合要求2.2.1功能需求本系统的功能分为两大模块:前台模块和后台模块,接下来对这两个模块进行详细赘述。前台模块包括以下几个子模块:一、商品模块:包括商品浏览、购买商品子模块;二、会员模块:包括会员注册、会员登录、修改会员信息、设置收货信息;三、订单模块:包括下订单、确认订单、查看订单等子模块;四、购物车模块:包括添加商品到购物车、查看购物车、删除购物车中的商品、购买购物车中的商品等子模块;五、收藏夹模块:包括添加商品到收藏夹、查看收藏夹、删除收藏夹中的商品;六、付款模块:包括在线支付子模块;七、选择配送方式子模块。后台模块包括以下几个子模块:一、商品模块:包括商品添加、修改商品信息、删除商品子模块;二、订单模块:包括处理订单子模块;三、会员模块:包括修改会员信息子模块;四、管理员模块:包括管理员登录、添加管理员、修改管理员信息和删除管理员。2.2.2性能需求此处应根据具体情况而定,如客户访问量大,应选择高端服务器。2.3系统流程图图2.1前台模块系统流程图图2.2后台模块系统流程图2.4系统数据流图根据之前得出的分析结果,对于数据在系统中流动和被处理的逻辑过程,本文以下列数据流图进行描绘。2.4.1商城管理系统顶层数据流图图2.3EB商城系统顶层数据流图2.4.2EB商城管理系统中层数据流图图2.4EB商城系统中层数据流图2.4.3EB商城管理系统底层数据流图会员注册模块底层数据流图图2.5会员注册模块底层数据流图会员登录模块底层数据流图图2.6会员登录模块底层数据流图添加管理员模块底层数据流图图2.7添加管理员模块底层数据流图管理员登录模块底层数据流图图2.8管理员登录模块底层数据流图订购商品模块底层数据流图图2.9订购商品模块底层数据流图会员查询订单底层数据流图图2.10会员查询订单模块底层数据流图2.5系统数据字典参照图2.4。2.5.1外部实体卡片表2.1外部实体卡片名称:游客总编号:1-001别名:匿名用户编号:001描述:没有注册的用户或已注册而没有登录的用户输入数据流:无输出数据流:无名称:会员总编号:1-002别名:注册用户编号:002描述:已经注册并且已登录的用户输入数据流:无输出数据流:无名称:管理员总编号:1-003别名:操作员编号:003描述:用于管理商品、用户、订单信息的后台操作人员输入数据流:无输出数据流:无2.5.2处理过程卡片表2.2处理过程卡片名称:用户注册总编号:2-001别名:会员注册编号:001描述:处理游客的注册信息数据流来源:游客数据流去向:D1会员信息名称:会员登录总编号:2-002别名:用户登录编号:002描述:处理用户的登录操作数据流来源:会员数据流去向:D1会员信息名称:查看订单信息总编号:2-003别名:查询订单编号:003描述:处理会员查看订单的操作申请数据流来源:D2订单信息数据流去向:会员、管理员名称:查看订单信息总编号:2-003别名:查询订单编号:003描述:处理会员查看订单的操作申请数据流来源:D2订单信息数据流去向:会员、管理员续上表名称:查看商品信息总编号:2-004别名:浏览商品编号:004描述:处理会员查看商品的操作申请数据流来源:D3商品信息数据流去向:会员、管理员名称:订购商品总编号:2-005别名:下订单编号:005描述:处理会员订购商品的操作申请数据流来源:会员、D3商品信息数据流去向:D2订单信息名称:管理员登录总编号:2-006别名:操作员登录编号:006描述:处理管理员的登录操作数据流来源:管理员、D4管理员信息数据流去向:管理员名称:订单处理总编号:2-007别名:订单管理编号:007描述:管理订单的发货情况数据流来源:管理员、D2订单信息数据流去向:D2订单信息名称:商品信息管理总编号:2-008别名:编辑商品信息编号:008描述:对商品信息进行修改数据流来源:管理员、D3商品信息数据流去向:D3商品信息名称:管理管理员信息总编号:2-009别名:编辑管理员信息编号:009描述:对管理员信息进行修改数据流来源:管理员、D4管理员信息数据流去向:D4管理员信息2.5.3数据流卡片表2.3数据流卡片名称:注册信息总编号:3-001别名:编号:001描述:游客注册时所提交的信息定义:注册信息=用户名+密码+确认密码+验证码数据流来源:游客数据流去向:D1会员信息续上表名称:注册反馈信息总编号:3-002别名:注册结果编号:002描述:由用户注册处理注册信息之后产生的提示信息定义:注册反馈信息=(用户名验证结果)+(密码验证结果)+(确认密码验证结果)+(验证码验证结果)+(后续操作提示信息)数据流来源:P1用户注册数据流去向:游客名称:会员信息记录总编号:3-003别名:会员信息编号:003描述:存储在数据库中的已注册的会员信息定义:会员信息记录=用户名+用户编号+密码数据流来源:D1会员信息数据流去向:P1用户注册名称:登录信息总编号:3-004别名:登录反馈信息编号:004描述:由P2会员登录或P6管理员登录产生的验证结果定义:登录信息=(用户名验证结果)+(密码验证结果)+(验证码验证结果)+(后续操作提示信息)数据流来源:P2会员登录、P6管理员登录数据流去向:会员、管理员名称:商品报表总编号:3-005别名:商品信息编号:005描述:由P4查看商品信息产生的商品信息定义:商品报表=商品图片+商品名称+商品编号+商品价格+商品销售量+运费+库存量数据流来源:P4数据流去向:会员、管理员名称:订购信息总编号:3-006别名:订购详情编号:006描述:由会员提出的订购申请信息定义:订购信息=商品编号、购买数量、商品单价数据流来源:会员数据流去向:P5订购商品名称:订单信息总编号:3-007别名:订单详情编号:007描述:存储在数据库中的订单信息定义:订单信息=订单编号+下单时间+商品编号+商品价格+购买数量+运费+订单状态数据流来源:D2订单信息数据流去向:会员、管理员续上表名称:订单反馈信息总编号:3-008别名:订单结果编号:008描述:由P5订购商品产生的对订购商品申请的处理结果定义:订单反馈信息=订单编号+下单时间+商品编号+商品价格+购买数量+运费+订单状态数据流来源:P5订购商品数据流去向:会员名称:管理员信息记录总编号:3-009别名:管理员信息编号:009描述:存储在数据库中的管理员信息定义:管理员信息记录=用户名+用户编号+管理员级别数据流来源:D4管理员信息数据流去向:管理员2.5.4数据存储卡片表2.4数据存储卡片名称:会员信息总编号:4-001别名:D1编号:001描述:存储在数据库中的会员信息定义:会员信息记录=用户名+用户编号+密码+真实姓名+电子邮箱+性别+注册日期+会员积分+会员等级+身份证号+邮政编码+手机号码+固话号码+联系地址相关数据流:P1用户注册、P2会员登录名称:订单信息总编号:4-002别名:D2编号:002描述:存储在数据库中的订单信息定义:订单信息=订单号+用户号+下单时间+运送方式+运费+商品总价+全部费用+订单状态相关数据流:P3查看订单信息、P5订购商品、P7订单处理名称:订单信息总编号:4-003别名:D3编号:003描述:存储在数据库中的商品信息定义:商品信息=商品号+商品名称+商品类别号+市场价+销售价+库存量+EMS费用+快递费用+图片地址+详细信息+销售量+浏览量+收藏数相关数据流:P4查看商品信息、P8商品信息管理名称:管理员信息总编号:4-004别名:D4编号:004描述:存储在数据库中的管理员信息定义:管理员信息=用户名+用户编号+密码+管理员级别相关数据流:P6管理员登录、P9管理管理员信息2.6开发环境本设计使用VisualStudio2008作为开发平台,以目前广泛运用的ASP.net技术进行本系统的开发。系统结构采用的B/S结构(Browser/Server结构)。以C#作为开发语言,实现了面向对象开发。采用DIV+CSS进行页面布局,使系统更加美观、友好。数据库方面,考虑到数据量和兼容性,决定使用MicrosoftSQLServer2005数据库管理系统,进行数据库的创建,使用和维护,使数据处理更加可靠,高效。最后使用IISV5.1进行系统发布。硬件设备即为普通笔记本一台。相关技术介绍:2.6.1ASP.NETASP.NET是Microsoft.NETFramework的一部分,是一种可以在高度分布的Internet环境中简化应用程序开发的计算环境。它提供了为建立和部署企业级Web应用程序所必须的服务。同时,ASP.NET为能够面向任何浏览器或设备的更安全性、更强的可升级性、更稳定的应用程序提供了新的变成模型和基础架构[2]。2.6.2B/S结构B/S结构的教学系统兴起于上世纪末Internet技术的发展。B/S(Browser/Server)结构,即浏览器和服务器结构。它是对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,主要事务逻辑在服务器端(Server)实现,server端访问数据库,形成所谓三层3-tier结构。如今WEB技术的日益成熟,B/S结构浮出水面并呈现逐渐取代C/S的形势,使得教学软件系统的网络体系结构跨入一个新阶段[15]。2.6.3C#Csharp(音标[∫a:p])(又被简称为"C#")是微软公司在2000年6月发布的一种新的编程语言,并定于在微软职业开发者论坛(PDC)上登台亮相。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、界面、与Java几乎同样的语法,和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NET

windows网络框架的主角[5]。2.6.4DIV+CSSDIV+CSS是网站标准(或称“WEB标准”)中常用术语之一,div+css是一种网页的布局方法,这一种网页布局方法有别于传统的HTML网页设计语言中的表格(table)定位方式,可实现网页页面内容与表现相分离。在XHTML网站设计标准中,不再使用表格定位技术,而是采用DIV+CSS的方式实现各种定位[4]。2.6.5IISIIS是InternetInformationServices的缩写,是一个WorldWideWebserver。Gopherserver和FTPserver全部包容在里面。IIS意味着你能发布网页,并且有ASP(ActiveServerPages)、JAVA、VBscript产生页面,有着一些扩展功能[3]。2.7本章小结通过本章节,通过可行性分析,对系统的可行性进行了分析。然后以系统流程图描绘了物理系统。根据其数据流向描绘出了系统数据流图,且以数据字典进行了分析解释,比较直观的对数据流进行了阐释,为后续的设计工作奠定了良好的基础。另外,本文对开发环境做出了相应说明,以备后续开发更加明确,流畅。第3章系统设计本章节对本系统的进行总体设计,从设计思想,体系结构设计,软件结构设计等方面进行说明,并通过层次图,划分系统功能模块。然后再对系统进行详细设计,将总体设计得到的各个独立模块进行详细分析设计,并给出N-S图,说明程序流程。最后进行数据库设计,并给出E-R图和数据表结构[15]。3.1总体设计总体设计阶段应该确定系统的物理配置方案,并且进而确定组成系统的每个程序的结构。因此,总体设计阶段主要由两个小阶段组成。首先需要进行系统设计,从数据流图触发设想完成系统功能的合理方案。然后进行软件结构设计,确定软件由哪些模块组成。层次图是描绘软件结构的常用工具。3.1.1设计思想一、将系统分成几个相对独立的模块;二、使用分层的模块化程序设计思想,整个系统都采用模块化结构设计。作为应用程序应有较强的可操作性和可扩展性;三、合理的设计模块间依赖程度,应尽可能做到低耦合,高内聚。3.1.2设计原则为了使本系统功能齐全完备,操作简便,最大限度的提高软件的质量,从而满足用户的实际需要,在设计开发过程中应遵循一下原则:一、合理性原则:依据网上商城系统的工作规定及要求,参照实际工作情况,进行功能设计;二、实用性原则:应考虑客户的切实需要来进行系统设计,所设计的功能应是具有实际意义的;三、易操作原则:要求设计的系统功能齐全,接口友好,操作方便,必要的地方进行提示;四、可维护原则:为了便于其他修改维护,在设计时,进尽可能的做好说明,化繁为简,增加可读性;五、安全性原则:应杜绝合法用户的非法操作或非法用户的一切操作,以保障系统的安全性。3.1.3体系结构设计体系结构是软件系统的基本框架,是系统根本性的东西。为了本系统可以针对不同个体需求具有普遍适用性,且同时具有高效性和稳定性,我决定将系统设计为B/S结构。B/S结构是基于WEB技术与客户机/服务器结构的结合而提出来的一种多层结构,其中B是指WEB浏览器,S是指应用服务器与数据服务器[15]。目前该结构被广泛的应用于网络商务系统中。B/S结构是基于浏览器、服务器模式的,因此布局限于局域网,且进行系统的维护和升级时一般只要完成服务器端的相关工作即可,工作量相对较小。工作模式见图3.1。图3.1B/S结构工作模式3.1.4软件结构设计本系统的功能分为两大模块:前台模块和后台模块,接下来对这两个模块进行详细赘述。前台模块包括以下几个子模块:一、商品模块:包括商品浏览、购买商品子模块;二、会员模块:包括会员注册、会员登录、修改会员信息、设置收货信息;三、订单模块:包括下订单、确认订单、查看订单等子模块;四、购物车模块:包括添加商品到购物车、查看购物车、删除购物车中的商品、购买购物车中的商品等子模块;五、收藏夹模块:包括添加商品到收藏夹、查看收藏夹、删除收藏夹中的商品子模块;六、付款模块:包括在线支付子模块;七、选择配送方式模块。后台模块包括以下几个子模块:一、商品模块:包括商品添加、修改商品信息、删除商品子模块;二、订单模块:包括处理订单子模块;三、会员模块:包括修改会员信息子模块;四、管理员模块:包括管理员登录、添加管理员、修改管理员信息和删除管理员子模块。软件层次结构通过需求分析阶段得到的功能需求,我将系统划分成如下层次,见图3.2。图3.2EB网上商城管理系统层次图3.2详细设计详细设计阶段的关键任务是确定怎样具体的实现用户需要的软件系统,也就是说要设计出程序的“蓝图”。除了应该保证软件的可靠性之外,使将来编写出的程序可读性好、容易理解、容易测试、容易修改和维护,是详细设计阶段最重要的目标。结构程序设计技术是实现上述目标的基本保证,是进行详细设计的逻辑基础[15]。3.2.1前台功能模块一、浏览商品模块1.按类别浏览功能描述:该模块接收一个关键字或多个关键字作为参数,用以进行数据搜索。若搜索结果不为0,则输出搜索到的商品列表,否则提示没找到匹配商品,建议用户更换关键字重新搜索。模块N-S图,见图3.3。图3.3按类别浏览商品N-S图2.按类别浏览功能描述:该模块接收一个关键字作为参数,用以进行数据搜索,该关键字为商品编号。然后将显示搜索到的商品详细信息。模块N-S图,见图3.4。图3.4浏览单个商品N-S图二、订购商品模块功能描述:该模块用于处理会员订购商品的申请。将接收到的商品信息,购买数量,配送方式等存入订单表。添加成功后跳转到在线支付页面。模块N-S图,见图3.5。图3.5订购商品N-S图三、会员管理1.会员登录功能描述:接收用户输入的用户名、密码、验证码。并进行一系列验证,若验证成功,则跳转到相应页面执行之前的操作。否则做出相应提示。模块N-S图,见图3.6。图3.6会员登录N-S图2.会员注册功能描述:接收用户输入的用户名、密码、确认密码、验证码。进行一系列验证,验证通过及往会员表中添加记录。否则给出相应的错误提示。模块N-S图,见图3.7。图3.7会员注册N-S图3.修改会员信息功能描述:该模块用于处理会员修改其自身信息的请求。通过接收会员输入的参数,对数据库中会员表中的记录进行修改。模块N-S图,见图3.8。图3.8修改会员信息N-S图四、订单管理1.查看订单功能描述:该模块用于处理会员查看订单信息的请求。模块N-S图,见图3.9。图3.9查看订单N-S图2.在线支付功能描述:该模块用于处理会员在线支付的请求。模块N-S图,见图3.10。图3.10在线支付N-S图3.确认收货功能描述:该模块用于处理会员确认收货的请求。并将订单状态修改为“交易成功”模块N-S图,见图3.11。图3.11确认收货N-S图3.2.2后台功能模块一、管理员管理1.管理员登录功能描述:接收用户输入的用户名、密码、验证码。并进行一系列验证,若验证成功,则跳转到相应页面执行之前的操作。否则做出相应提示。模块N-S图,见图3.12。图3.12管理员登录N-S图1.添加管理员功能描述:接收用户输入的用户名、密码、确认密码、验证码。进行一系列验证,验证通过及往会员表中添加记录。否则给出相应的错误提示。模块N-S图,见图3.13。图3.13添加管理员N-S图3.修改管理员信息功能描述:该模块用于处理管理员修改其自身或其他管理员信息的请求。通过接收管理员输入的参数,对数据库中管理员表中的记录进行修改。模块N-S图,见图3.14。图3.14修改管理员信息N-S图4.删除管理员功能描述:该模块用于处理管理员其他管理员的请求。通过接收管理员输入的参数,对数据库中管理员表中的记录进行删除。模块N-S图,见图3.15。图3.15删除管理员N-S图二、商品管理1.添加商品功能描述:接收管理员输入的商品信息。并将该信息存储于商品表中。模块N-S图,见图3.16。图3.16添加商品N-S图2.删除商品功能描述:接收管理员输入的商品号。从数据库中查找该商品号的商品信息,由管理员决定是否删除。模块N-S图,见图3.17。图3.17删除商品N-S图3.修改商品信息功能描述:接收管理员输入的商品号。从数据库中查找该商品号的商品信息,由管理员对其信息进行修改。模块N-S图,见图3.18。图3.18修改商品信息N-S图。三、会员管理1.修改会员信息功能描述:该模块用于处理管理员修改会员信息的请求。通过接收管理员输入的参数,对数据库中会员表中的记录进行修改。模块N-S图,见图3.19。图3.19修改会员信息N-S图四、订单管理功能描述:该模块用于处理管理员对订单状态修改的申请。考虑到顾客的利益保障,修改状态操作为单向向后的。即不能将订单改为向前的状态。模块N-S图,见图3.20。图3.20订单管理N-S图3.3数据库设计数据库设计(DatabaseDesign)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。在数据库领域内,常常把使用数据库的各类系统统称为数据库应用系统[15]。3.3.1系统E-R图会员实体E-R图图3.21会员实体E-R图收货人实体E-R图图3.22收货人实体E-R图管理员实体E-R图图3.23管理员实体E-R图商品实体E-R图图3.24商品实体E-R图商品类别实体E-R图图3.25商品类别实体E-R图订单实体E-R图图3.26订单实体E-R图订单明细实体E-R图图3.27订单明细实体E-R图购物车实体E-R图图3.28购物车实体E-R图收藏夹实体E-R图图3.29收藏夹实体E-R图0验证码实体E-R图图3.30验证码实体E-R图1部分功能模块联合E-R图图3.31部分功能模块联合E-R图2会员浏览商品联系E-R图图3.32会员浏览商品联系E-R图3会员查看订单联系E-R图图3.33会员查看订单联系E-R图4订购商品联系E-R图图3.34订购商品联系E-R图3.3.2数据表结构Users表结构表3.1Users表结构字段名说明类型长度是否主键允许空UName用户名nvarchar20是否UId用户编号nvarchar20否否UPwd密码nvarchar20否否TrueName真实姓名nvarchar20否是Email电子邮箱nvarchar20否是续上表字段名说明类型长度是否主键允许空Sex性别char2否是RegDate注册日期datetime否是Integral会员积分int否是UserGrade会员等级int否是IDcard身份证号varchar18否是PostCode邮政编码char6否是CellPhone手机号码char11否是TelePhone固话号码char12否是Address联系地址nvarchar200否是Products表结构表3.2Products表结构字段名说明类型长度是否主键允许空PId商品号nvarchar20是否PName商品名称nvarchar50否是TId类别号nvarchar20否是MarketPrice市场价float否是SellPrice销售价float否是Quantity库存量int否是EMSEMS费float否是Freight快递费float否是ImageUrl图片地址nvarchar100否是Detail详细描述nvarchar1000否是SalesVolume销售量int否是VisitQuantity浏览量int否是CollectCount收藏量int否是Orders表结构表3.3Orders表结构字段名说明类型长度是否主键允许空OId订单号nvarchar20是否UId用户号nvarchar20否否OrderTime下单时间datetime否是SentType配送方式nvarchar20否是Freight运费float否是ProductTotal商品总价float否是Payment总费用float否是Status订单状态nvarchar20否是OrderDetail表结构表3.4OrderDetail表结构字段名说明类型长度是否主键允许空续上表字段名说明类型长度是否主键允许空ODId明细编号nvarchar20是否OId订单号nvarchar20否否PId商品号nvarchar20否否Quantity购买数量int否是Price商品单价float否是ProductTotal商品总价float否是Consignees表结构表3.5Consignees表结构字段名说明类型长度是否主键允许空CId收货人号nvarchar20是否UId用户号nvarchar20否否ConsigneeName收货人姓名nvarchar20否是ConsigneeTelePhone收货人固话char12否是ConsigneeCellPhone收货人手机号char11否是ConsigneeAddress收货人地址nvarchar200否是ConsigneePost收货人所在地邮编char6否是ShoppingCart表结构表3.6ShoppingCart表结构字段名说明类型长度是否主键允许空SCId购物车号nvarchar20是否UId用户号nvarchar20否否PId商品号nvarchar20否否Quantity购买数量int否是Price商品单价float否是ProductTotal商品总价float否是Ptype表结构表3.7Ptype表结构字段名说明类型长度是否主键允许空TId类别号nvarchar20是否TName类别名称nvarchar20否是PTid父类别号nvarchar20否是Admins表结构表3.8Admins表结构字段名说明类型长度是否主键允许空AdminID管理员号nvarchar20是否AdminName用户名nvarchar20否是AdminPwd密码nvarchar20否是AdminGrade管理员级别smallint否是CheckCode表结构表3.9CheckCode表结构字段名说明类型长度是否主键允许空CheckCodeID验证码号int否是CheckCodeText验证码值nvarchar50否是0Favoritess表结构表3.10Favorites表结构字段名说明类型长度是否主键允许空FId收藏夹号nvarchar20是否UId用户号nvarchar20否否PId商品号nvarchar20否否3.4本章小结本章节,本文从总体设计到详细设计再到数据库设计进行了系统设计,并在各阶段给出了相应的层次图,N-S图和E-R图等,进行了详细的说明解释。 根据上述结果,对于后续的系统实现打下了良好的基础,大大降低了后续开发的难度。第4章系统实现与测试4.1编码实现4.1.1前台模块编码首页模块一、部分代码:/*页面加载事件*/protectedvoidPage_Load(objectsender,EventArgse){/*Session["UName"]用于存储用户的登录信息,根据Session["UName"]是否为空,来判断用户是否登录*/if(Session["UName"]!=null)//如果用户已经登录{UNameArea.InnerHtml=Session["UName"].ToString();//UNameArea标签内的内容显示为用户名Uname_blank.Style.Value="display:none";//将Uname_blank标签隐藏Logout.InnerHtml="[退出]";//将Logout标签的内容显示为“[退出]”//将User_Logout方法绑定到Logout的ServerClick事件Logout.ServerClick+=newEventHandler(User_Logout);Logout.HRef="";//将Logout的跳转页面设置为""//将UNameArea的跳转页面设置为"~/userpages/MyEB.aspx""UNameArea.HRef="~/userpages/MyEB.aspx";}}二、首页页面截图,见图4.1。图4.1首页页面截图浏览商品模块一、部分代码:stringstr="DataSource=.;InitialCatalog=EB_SHOP_DB;UserID=sa;Password=123456;";SqlConnectionconn=newSqlConnection(str);//定义conn对象,建立与数据库的会话conn.Open();//打开与数据库的连接/*页面加载事件*/if(Session["SearchKey"]!=null)//判断搜索关键字是否来自登录前页面获得的值{pkey=Session["SearchKey"].ToString();//将关键字赋值给pkey字符串//str为查询数据库字符串str="selectImageUrl,MarketPrice,SellPrice,PName,PId,SalesVolumefromProductswhereTId='"+Session["SearchKey"].ToString()+"'";}//判断关键字是否来自搜索窗口elseif(Session["SearchKeys"]!=null&&Session["SearchKeys"].ToString()!=""){pkey=Session["SearchKeys"].ToString();//将关键字赋值给pkey字符串stringkeys=Session["SearchKeys"].ToString();//将关键字字符串赋值给keysstr="selectImageUrl,MarketPrice,SellPrice,PName,PId,SalesVolumefromProductswherePNamelike'%"+keys[0]+"%'";inti=1;while(i<keys.Length)//分割字符串,以便于进行模糊搜索{str+="orPNamelike'%"+keys[i]+"%'";i++;}}elseif(Request.QueryString["key"]!=null)/*查找符合Request.QueryString["key"]的商品*/{pkey=Request.QueryString["key"].ToString();//将其他页面传递的参数赋值给pkey字符串str="selectImageUrl,MarketPrice,SellPrice,PName,PId,SalesVolumefromProducts,PTypewhere(Products.TId='"+Request.QueryString["key"].ToString()+"'orPTId='"+Request.QueryString["key"].ToString()+"')andProducts.TId=Ptype.TId";}else{pkey="全部商品分类";str="selectImageUrl,MarketPrice,SellPrice,PName,PId,SalesVolumefromProducts";page="selectcount(*)fromProducts";}二、浏览商品页面截图,见图4.2。图4.2浏览商品页面截图浏览单个商品模块一、部分代码://显示商品信息方法protectedvoidShowProductInfo(){//连接字符串stringstr="DataSource=.;InitialCatalog=EB_SHOP_DB;UserID=sa;Password=123456;";SqlConnectionconn=newSqlConnection(str);try//异常处理块{conn.Open();str="select*fromProductswherePId='"+PId+"'";SqlDataAdapterda=newSqlDataAdapter(str,conn);//定义da对象用于数据库桥接器DataSetds=newDataSet();//定义ds对象用于repeater控件的数据源da.Fill(ds,"ProductDetail");//填充ds对象中的"ProductDetail"表bl.PId=PId;bl.Price=Convert.ToSingle(ds.Tables["ProductDetail"].Rows[0]["SellPrice"]);FV_ProductDetail.DataSource=ds.Tables["ProductDetail"].DefaultView;//绑定数据源FV_ProductDetail.DataBind();ds.Dispose();//释放ds对象da.Dispose();//释放da对象}catch{//异常处理提示this.ClientScript.RegisterStartupScript(GetType(),"","<script>alert('商品信息获取失败')</script>");}finally{conn.Dispose();//释放conn对象}}二、浏览单个商品页面截图,见图4.3。图4.3浏览单个商品页面截图订购商品模块一、部分代码:/*订单表*/DataTableorder=newDataTable("Order");DataRowdr;//定义数据行/*为订单表添加数据字段*///添加"OId"字段,类型为stringorder.Columns.Add(newDataColumn("OId",typeof(string)));//添加"OId"字段,类型为stringorder.Columns.Add(newDataColumn("UId",typeof(string)));//添加"OId"字段,类型为Datetimeorder.Columns.Add(newDataColumn("OrderTime",typeof(DateTime)));//添加"SentType"字段,类型为stringorder.Columns.Add(newDataColumn("SentType",typeof(string)));//添加"Freight"字段,类型为floatorder.Columns.Add(newDataColumn("Freight",typeof(float)));//添加"ProductTotal"字段,类型为floatorder.Columns.Add(newDataColumn("ProductTotal",typeof(float)));//添加"Payment"字段,类型为floatorder.Columns.Add(newDataColumn("Payment",typeof(float)));//添加"Status"字段,类型为stringorder.Columns.Add(newDataColumn("Status",typeof(string)));dr=order.NewRow();//为dr开辟order表一行大小的空间//为行中各字段赋值dr[0]=DateTime.Now.ToString("yyyyMMddhhmmss")+Session["UId"].ToString();dr[1]=Session["UId"].ToString();dr[2]=DateTime.Now.ToString("yyyy-MM-ddhh:mm");stringsenttype=SentType.SelectedItem.ToString();intx=senttype.IndexOf('');dr[3]=senttype.Substring(0,x);dr[4]=Convert.ToSingle(SentType.SelectedItem.Value);dr[5]=bl.Price*bl.Quantity;dr[6]=(float)dr[5]+(float)dr[4];dr[7]="未付款";order.Rows.Add(dr);//将dr添加到order表中二、订购商品页面截图,见图4.4。图4.4订购商品页面截图在线支付模块一、部分代码:DataTablepay=newDataTable();//创建付款表//查找指定订单相关商品信息及订单明细信息str="select*fromOrderDetail,ProductswhereProducts.PId=OrderDetail.PIdandOId='"+stroid+"'";SqlDataAdaptersda=newSqlDataAdapter(str,conn);sda.Fill(pay);inti=0;while(i<pay.Rows.Count)//显示订单中的商品名称{OrderInfo.InnerHtml+=pay.Rows[i]["PName"].ToString();i++;}//DataTableorder=(DataTable)Session["Order"];//DataRow[]foundrows=order.Select("OId='"+stroid+"'");//Payment.InnerHtml=foundrows[0]["Payment"].ToString();str="select*fromOrderswhereOId='"+stroid+"'";SqlCommandcmd=newSqlCommand(str,conn);//定义cmd对象,用于执行对数据库的操作SqlDataReadersdr=cmd.ExecuteReader();//定义sdr对象,用于读取数据库中的数据sdr.Read();//读取一条记录Payment.InnerHtml=sdr["Payment"].ToString();//显示总费用OId.InnerHtml=stroid;//显示订单号二、在线支付页面截图,见图4.5。图4.5在线支付页面截图确认收货模块一、部分代码:sda.Fill(ds,"orderdt");sda2.Fill(ds,"orderdetaildt");//建立订单表与订单明细表之间的联系,将其作为内层repeater控件的数据源ds.Relations.Add("myRel",ds.Tables["orderdt"].Columns["OId"],ds.Tables["orderdetaildt"].Columns["OId"]);Orders.DataSource=ds.Tables["orderdt"].DefaultView;Orders.DataBind();stringstr="DataSource=.;InitialCatalog=EB_SHOP_DB;UserID=sa;Password=123456;";SqlConnectionconn=newSqlConnection(str);conn.Open();//将数据库中指定订单的状态更改为'交易完成'str="updateOrderssetStatus='交易完成'whereOId='"+Session["CfmOId"].ToString()+"'";SqlCommandcmd=newSqlCommand(str,conn);try{cmd.ExecuteNonQuery();//执行操作Response.Redirect("~/userpages/FinishTrade.aspx");//跳转到交易成功页面}catch{this.ClientScript.RegisterStartupScript(GetType(),"","<script>alert('操作超时,请返回重新操作')</script>");}finally{cmd.Dispose();conn.Dispose();}二、确认收货页面截图,见图4.6图4.6确认收货页面截图交易成功模块一、部分代码://判断会员当前积分,若大于30000积分,则为5级if(integral<30000){if(integral<10000)//若小于30000,大于10000积分,则为4级{if(integral<5000)//若小于10000,大于5000积分,则为3级{if(integral<2000)//若小于5000,大于2000积分,则为2级{if(integral<100)//若小于2000,大于100积分,则为1级{//否则为0级}else{if(usergrade<1){usergrade=1;}}}else{if(usergrade<2){usergrade=2;}}}else{if(usergrade<3){usergrade=3;}}}else{if(usergrade<4){usergrade=4;}}}else{if(usergrade<5){usergrade=5;}}二、交易成功页面截图,见图4.7。图4.7交易成功页面截图查看订单模块一、部分代码://操作控件加载方法protectedvoidActionOnLoad(objectsender,EventArgse){//遍历当前repeater控件中的每一个子控件foreach(RepeaterItemriinthis.Orders.Items){//如果控件不为header模板或footer模板if(ri.ItemType!=ListItemType.Header&&ri.ItemType!=ListItemType.Footer){LinkButtonlb=ri.FindControl("ActionBtn")asLinkButton;//按控件ID查找控件switch(lb.CommandArgument)//根据操作控件的CommandArgument参数,决定其操作方法{//若CommandArgument值为"未付款",则操作控件的text为"去付款",并将ActionPay_Command方法绑定到它的OnCommand事件case"未付款":{lb.Text="去付款";lb.Command+=newCommandEventHandler(ActionPay_Command);}break;//若CommandArgument值为"等待商场发货",则操作控件的text为"-"case"等待商场发货":lb.Text="-";break;//若CommandArgument值为"已发货",则操作控件的text为"确认收货",并将ActionCfm_Command方法绑

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论