版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章绪论1.1课题的提出电子书城是一种新兴的产物,它是对传统的线下实体销售的一种延伸和发展,同时也是书籍销售未来发展的趋势。它跟普通实体书城有着不可比的优点。书籍可以作为一个商品,它的种类,品种繁多,实际上,再大的实体商店都不能够把出版社做到像网络平台那般来显示所有的书本。我们都知道书本的包装简单,方便配送。它同时也具备这很多电子商务的特征,普遍性、协调性、成本低廉等特点。因此可以看出,书本的种类,还有它的一个外观的特点都是跟电子商务的特征相协调及适应的。再者,一本书低廉的价格,书城用户也是乐意在这个网络不够安全的年代消费,即便是购买发货失败了,用户的损失也不会特别多,可以看出书籍是适合作为线上销售的。
我们可以看到,网络已经覆盖了全世界。电商给计算机网络所带来的改革,尤其网络的经济秩序通过它重新建立了起来。只要是网络能够覆盖到的任何地点任何时间,我们都可以不用看书店老板脸色,不担心书店的下班时间,路途太远,时间安排不合适等种种原因,只需动动我们的小手指就可以在线上购买到我们心仪的书本。电子书城的查询功能以及书籍分类清晰明确,可以方便找我我们所需要的书籍,除此之外,还有网上书城可以根据之前用户购买的数量以及书籍的访问数量给读者推荐热销书籍和上新书籍。现在“买书难,卖书也难”这种现象已经看不到了。据相关资料的调查研究统计,印刷社虽出版了心仪的书籍,但我们并不了解,当然,还有一个原因,就是知道已经出版了某本书,但读者不知道通过什么购买渠道去获取它,因为丢失了大量的读者客户。再对比网上书店,它能够发布商品销售信息和能够迅速的跟客户进行线上交流,轻而易举就可以解决这些问题了。而对于店铺管理者而言,更不需要耗费大量的人力去装饰店铺的店面,没有所谓的给员工发工资,不需要缴纳生活水电费,最重要的是,我们这种销售交易不用收到场地的限制,因此可以看出它的发展潜力是无限大的。1.2国内外研究现状现在对于网上书城的划分类型有很多种,比如有根据书籍类别分类,科技,文学经典,人文科学,生活,童书,小说等类别。当然也有根据市场对象进行划分的模式,有B2B和B2G和B2C的模式。现在的市场呢?主要是以开办的单位进行划分:实体类型的网上书城,纯网上书城,出版社网上书城这三种。最先强占市场份额最高的是纯网上书城,而其中两个是就稍微比它差点,因为他们现如今还是以实体销售的方式运营,对于网络上实际运营存在着很多的问题,本质上,固有的思想观念问题很大,习惯了传统实体销售模式的店家而言,对网络销售了解甚少,对网络技术的销售更是了解甚少,最重要的它们缺少精通网络销售运作相关的计算机类复合型的人才。只有具备长远目光的领导者和企业家们才能看到这一点,中国现在传统的制造行业(不单单只是指图书销售行业)它们都面临着行业技术模式的一个转型问题,在这个发展迅速的网络信息时代,网络全球化的发展势不可挡,信息才是这个时代的主轴,数据便是经济效益,尤其是现在落后的手工产业和工业时代一去不复返,书籍作为新时代的一种商品,廉价的价格,薄利润,也只能是具备大规模产业才能够将它整合化并经营起来从中获取到丰厚的利润,在市场占一席之地。人要吃饭,店家要生存,就得打破原先的传统陈旧不堪思想观念,才能为企业寻求一个先进的科学发展道路,在线上发展所谓的网上书城就是为传统书籍转型和功能“升级”的强强联合。1.3研究内容如今,计算机软件设施和计算机的硬件设施及通讯信息系统性能的推陈出新和升级,它无形的推动网站技术的发展,而在实现网站开始构建的技术过程当中,我们依然存在很多的没有处理掉的疑难杂症。
本人通过学习网站开发技术、图片处理软件及动画制作等知识,同时也浏览了相关网上书城的网站,积攒了许多网购的实践经验,同时查看了很多相关的文献知识和资料,学习如何将如何掌握JSP、XML、SpringBoot、web等相关技术运用在电子书城系统当中去。使用上,推荐一种开发网站的技术方案,基于JSP网页开发技术的原理,利用IDEA编写开发网站软件,使用MySQL来创建图书相关的数据库信息,从而很好解决了网上书城系统在实际开发中遇到的好多连接、查询、修改、兼容等等问题,也让读者们在网上购书变得方便和快捷。
电子书城系统在功能上的区分:前台和后台两大部分,前台有首页界面,主要的功能有:用户登录、用户注销、书籍搜索、订单管理、个人中心信息、收货地址、购物车管理、分类等功能;后台有两个类管理人员,一类是店铺(商家入驻平台),一类是管理员。统称为管理员后台界面,即可以书籍管理、处理订单信息管理、店铺管理、书城用户管理、书籍热销商品统计分析图、个人中心管理、角色权限管理等主要功能。
电子书城系统的设计与实现,使用到JSP+SpringBoot+Shrio等技术,在web的服务器上采用的是Tomcat,本系统总共分后前后台两大管理系统,前台负责用户的注册登录,添加购物车及下单到确认发货的整个过程,书籍检索,热销商品的推荐以及上新商品推荐等功能,而后台也是成功实现了对书籍管理,对店铺信息管理,用户订单信息,用户的信息管理,角色的权限设置和个人中心信息管理等主要功能。使用到基于Shrio的安全框架对用户登陆注册登录后台管理系统进行保护,同时对后台用户的不同类型的角色设置权限,面对不同的人群应具备不同的功能模块。使用到的Bootstrap框架来设计前台首页界面,具备良好的跨平台性质。1.4系统开发条件电脑配置:lntel(R)Core(TM)i5-5350UCPU@1.80GHz1.80GHz内存: 8.00GBWeb服务器:apache-tomcat-8.5.45软硬件的技术支持和配置环境:操作系统:MicrosoftWindows10旗舰版64位开发工具:IDEA2019,FireFox浏览器数据库:MySQLfor5.1数据库可视化工具:navicat第2章开发技术简介2.1SpringBoot框架介绍SpringBoot框架实际上是对Spring的加强和优化,无需让开发人员浪费时间在配置和逻辑功能之间来回转换,全身心投入在功能代码的实现上,不仅提高了工作效率还在实际的开发过程中缩短了项目的开发周期。它本质上是对给开发人员提供了一种迅速运用Spring的方式,它的一个自动配置的核心功能特点的体现在运行时,更准确的说实在程序运行时在加载配置,考虑到众多因素的影响,才真正决定使用Spring配置哪个,这一系列的配置过程都是自动完成的。以下是Spring架构图,如图2.1所示:图2.1Spring架构图2.2开发工具介绍在业界领域里IDEA是被公认的最好的编写JAVA语言的工具之一,他最突出的特点是Debug,可以对多种技术和java语言进行调试,如Ajax、Java代码等。同时它还支持很多构建工具,与工具的无缝衔接,它可以帮助我们部署和打包等其他活动。其中我们使用到数据库开发工具,一款强大的可视化数据库管理工具NavicatforMySQL,软件的完美汉化都是值得我们新手去尝试使用的。第3章系统需求分析3.1目标设计要求该电子书城系统总共分为前台和后台两大部分,用户使用的部分是前台部分,该首页的书籍上线和书籍推荐是根据用户的浏览量以及商品上架时间来的推荐的商品的,同时设有书籍类目,对于那些没有特别明确需求的用户而言,足于吸引到用户的眼球。而后台呢?是对店铺运营及用户店铺信息维护的。后台的管理者登录后对店铺,用户,书籍,角色权限设置等模块功能进行删除,添加,修改,查询等,还有是对个人信息管理及对订单信息等行为。通过调查及手机相关资料的信息,我们要求系统要具备有下面这几个功能特点:(1)保持界面的整洁干净,用户于系统的交互简单且友好;(2)拥有良好的权限管理限制,防止非法修改书城数据,保证平台平稳运行。(3)能够全面的,分类展现出书城内的书籍信息。(4)书籍信息的搜索能够准确无误,快速。(5)系统的操作简单方便,给非专业人士提供良好的维护运营管理。(6)对于用户的一下非法输入的数据进行验证,避免出现那种人为的错误信息即可;(7)保证书城的运行平稳且安全可靠;对于注册商城的用户而言,我们能够快速的根据我们需要的书籍信息和相关的特点并购买,同时信息安全性跟信息的保密性也是我们要关注的。而管理员,得满足用户的要求,又得便捷得管理维护整个系统。因此,我们要将用户跟后台得管理人员得需要相结合,从而去确认该系统的发展方向,至此达到满足双方需求的系统设计方案。3.2系统功能需求分析 本电子书城系统平台目的是为了给使用的用户及商家提供良好且及时购买出版的书籍的方式,同时又可引入商家入驻电子平台,搭建线上店铺进行线上销售书籍,围绕着这个任务重心,我们可以系统所服务的用户分为以下三类用户:注册书城用户、管理员、商家(店铺)。注册为书城的用户及店铺都存在MySQL数据库当中去,可以简称为合法用户。注册书城的用户可以使用本系统中为用户开放且可见的功能模块。对于管理人员它是本系统当中拥有最高的权限,目的是方便管理员对后台运营维护的操作,而对于商家而言,它能够在电子书城平台上发布所属的书籍,对应的在后台也有相关的店铺后台管理,它们对于系统都是规定的资源权限才能够去访问的。3.2.1用户信息管理功能 用户用例图如图3.1所示,当用户以游客的身份访问书城网站时,只能简单的查询书籍、浏览书籍、查看书籍的详情信息。用户注册登录才可使用该系统,用户根据书籍的种类查找书籍,将心仪书籍添加至购物车,用户可以选择继续购物或结算订单。完成订购后,可实时查看订单状态,此外用户还可修改个人信息及密码。图3.1书城用户用例图3.2.2店铺运营管理功能 店铺运营管理也是该书城的重中之重,店铺用例图如图3.2所示,商家在平台上注册店铺后,可在后台编辑店铺信息,包含商店名称、手机号码、固定电话、详细地址等基本信息。商家可发布书籍、检索书籍、查看书籍列表,可对书籍重新编辑、下架、删除的操作。此外,商家能够及时处理用户在该店铺订购书籍订单,包括查看详细订单信息、查看买家信息、订单发货、删除发货等一系列的操作。商家还能查看书籍的一些报表信息。图3.2店铺用例图3.2.3用户管理功能 用户管理用例图如图3.3所示,管理员登录至后台,可以对注册为书城用户的信息进行维护工作。可以查看它们基本信息,包括用户名、昵称、性别、手机号码、邮箱地址、居住城市、职业等基本信息,此外,管理员可对用户信息编辑、删除、添加等操作。图3.3用户管理用例图3.2.4店铺管理功能店铺管理用例图如图3.4所示,管理员登录至后台,可以对注册店铺的信息进行维护工作。管理者可以查看商家型用户的店铺信息,包括店主、商品名称、手机号码、固定电话、地址等基本信息。下次用户登录可进入后台对店铺进行运营管理。此外管理员可对店铺信息进行编辑、删除、添加操作。图3.4店铺管理用例图3.2.5角色权限管理功能 角色权限管理用例图如图3.5所示,系统管理员可以在后台方便地查看各个角色的信息,其中包含了各个角色的名称、各个角色的代码、各个角色描述的基础信息,可以对各个角色进行设置权限、编辑各个角色、删除各个角色的操作。管理员随时都能查看自己的权限信息,可以动态地对权限信息进行了编辑、增加、删除等操作。图3.5角色权限用例图3.3可行性研究分析3.3.1技术可行性 在开发这个系统之前,我们需要对该系统做相关的可行性研究及分析,致力于使用最少的时间用最小的代价去开发并实现该系统,来判断值得开发,下边是对该系统的可行性分析任务划分的几点:1.IDEA在编程开发工具提供了可视化的界面,简洁易懂,好上手易操作。MySQL也能够在现代社会的主流平台上运行,这些都是符合工业标准的。它拥有可兼容性强,跨平台性,易于上手以及安全性高等特点,同时它的扩展性很高等优点,因此该电商书城在操作上是可行的。2.并且web服务器上,Tomcat是一个免费且开源的容器,程序在这个容器上部署是相当简单的,项目直接放置在webapp的目录之下。这个容器便会自动识别到这个文件信息,同时这个容器会处理相应的Servlet和JSP.3.3.2经济可行性该电商书城系统在开发的过程当中只是使用到了我的计算机上面的开发软件和计算机来完成的系统,因此在经济上并没有太多的投入,理论上在经济上是行得通的。3.3.3操作可行性尤其是在系统使用到的开发框架无需开发人员花费太多的精力,它给调用Spring提供了更加便利快捷的方式。同时据我了解和搜集收集数据信息,电子书城它本质上提供了更好更广阔的购买书籍的环境,它为来自全国各地的商家提供了一个线上销售平台,扩大了书籍买卖的市场,不仅仅是加快了商品流通的速度,这个过程中也是减少了书籍交流及交易的成本,因此电子书城在这个互联网发展迅速的时代里是有很大的操作空间的。综上所述,从三个角度可行性研究分析,使用IDEA和MySQL在window10操作系统进行设计开发,它是一个可交互且动态的电子书城网站。第4章系统总体设计4.1系统总体架构 本系统采用现有比较成熟的开发框架,SpringBoot+Shrio+JSP等技术实现的。主要分为书城网站前台和书城后台管理两大模块。 电子书城的架构设计使用的是多个层次结构设计,其中视图层采用JSP和Bookstrap技术实现前端与书城用户数据交互,用户在浏览器中根据自身需求使用功能,通过SpringBoot-URL路由调用相应的控制层,该层将前台用户的请求数据传输给下一层,业务逻辑层负责调用相应的方法对请求信息进行逻辑处理,如需访问数据库,持久层接收到业务逻辑层的信息后,使用mapper文件直接访问数据库并对其操作,最后返回结果通过视图层在浏览器上呈现出来。系统的总体架构图如图4.1所示:图4.1系统的总体架构图4.2系统功能模块划分它是基于SpringBoot的电子书城系统,它共分为两个部分,分别是前台用户和后台管理部分,前台是给用户体验的,它可以完成书籍的浏览到购买至确认收货的整个过程,而后台的部分是管理员(在平台注册店铺的商家、管理员)来使用的。4.2.1前台功能模块 前台功能模块的主要包括书籍展台、订单管理、购物车、个人中心模块。下边是对各个模块进行具体描述:1.书籍展台:首页界面自动推荐最热门及最新上架的书籍。用户还可以根据书籍类别缩小浏览范围,快速查找到需要的书籍信息。通过ISBN、作者、书名的关键字搜索功能查找到想要的书籍,既罗列出所有相关书籍。2.订单管理:用户登录书城后,用户点击我的订单,可查看到以往的订单,对其删除订单、确认收货、取消订单、支付等操作。3.购物车模块:用户在浏览书籍时,将心仪的书籍添加至购物车中,可修改书籍购买数量、清空购物车、删除书籍信息等操作。4.个人中心:网站应具备有此功能,用户在个人中心界面可查看用户名、昵称、电话号码、身份、详细地址、身份的基本信息,可对其修改保存操作。用户可修改在注册时使用的密码,最后注销用户退出书城系统。图4.2前台功能模块图4.2.2后台管理功能模块后台管理功能模块的主要功能有用户信息管理、店铺信息管理、角色权限管理、店铺运营管理、报表统计管理、修改个人信息功能。对各个功能模块进行具体描述: 1.用户信息维护:主要是对注册为书城用户添加、编辑、删除的操作,可查看用户的用户名、昵称、邮箱地址、手机号码等基本信息。2.店铺管理:主要是对注册为店铺的商家进行添加、编辑、删除的操作,可查看店铺的商店名字、手机号码、固定电话、地址等基本信息。3.角色权限管理:可查看角色列表的信息,包含角色名称、角色代码、角色描述等基本信息,对其设置权限、编辑角色、删除角色的操作。可查看权限列表信息,包含权限名称、权限代码、权限描述等操作,对其动态添加、编辑、删除的操作。4.店铺运营:它是系统核心功能之一,商家可编辑店铺信息、书籍上新及书籍检索。对书籍上架,修改、删除等操作。及时的处理订单信息,其中包括订单的发货状态及编辑订单的基本信息。可查看订单的买家信息,包括买家名称和所在地。5.报表统计管理:可查看到店铺的书籍报表信息,其中包括销售量条形图和访问量饼图。6.系统管理:可查看管理员的用户名、昵称、性别、身份、邮箱地址、详细地址等基本信息,可编辑并保存管理员的基本信息。 图4.3后台管理端模块图第5章系统数据库设计5.1数据库概念结构设计1.名称:用户含义说明:定义书城用户的基本信息组成说明:用户编号+性别+身份+手机号码+用户名+密码2.名称:店铺含义说明:定义店铺的基本信息组成说明:店铺编号+商家编号+店铺名字+手机号码+店铺位置3.名称:书籍类别含义说明:定义类别的基本信息组成说明:类别编号+类别名称4.名称:订单含义说明:定义订单的基本信息组成说明:订单编号+书籍编号+订单状态+实付金额+用户编号5.名称:书籍含义说明:定义书籍的基本信息组成说明:书籍编号+店铺编号+书籍价格+作者+版面图片+书籍名称+出版社+类别编号6.名称:权限含义说明:定义权限的基本信息组成说明:权限编号+权限代码+权限地址+权限描述+权限父类编号7.名称:角色含义说明:定义角色的基本信息组成说明:角色编号+角色代码+角色地址+角色描述合理的设计我们的数据库,不但提高工作效率,还能帮助我们理解数据项,提高运行性能。我们对信息时间的建模方式方法有很多种,最经常使用到的E-R模型是我们用于描述现实世界概念模型最重要的工具。E-R图可简单清楚的看出实体与属性的联系,易于我们对系统的理解。该电子书城系统的E-R图,如图5.1所示:图5.1系统E-R图5.2数据库逻辑结构设计 逻辑数据,实际上就是指实体当中包含哪些属性信息,由上一小节所编写的数据字典,我们来具体分析数据库中表的组成部分得到七个关系模式。1.用户(用户编号,性别,身份,手机号码,用户名,密码)。其中主键为用户编号。2.店铺(店铺编号,商家编号,店铺名称,手机号码,店铺位置)。其中主键为店铺编号。3.书籍(用户编号,性别,身份,手机号码,用户名,密码)。其中主键为用户编号。4.书籍类别(类别编号,类别名称)。其中主键为类别编号。5.订单(订单编号,用户编号,书籍编号,订单数量,订单状态)。其中主键为订单编号。6.角色(角色编号,角色代码,角色描述,角色地址)。其中主键为角色编号。7.权限(权限编号,权限代码,权限描述,权限地址,权限父类编号)。其中主键为权限编号。5.3数据库的表设计5.3.1用户信息表的设计用户信息表user,记录注册为书城合法用户的基本信息,如表5.2所示:表5.2用户信息表属性类型长度说明允许空主/外键genderchar2性别是identityvarchar32身份是user_passwordvarchar32密码是user_phone_numvarchar32手机号码是user_idint16用户编号否主键usernamevarchar32用户名是5.3.2店铺信息表的设计店铺信息表store,用于存储在该平台注册为商家的用户所创建店铺的基本信息,如表5.3所示:表5.3书籍信息表属性类型长度说明允许空主/外键store_idint16店铺编号否主键store_manager_idint16商家编号是外键store_namevarchar16店铺名字是store_phone_numvarchar16手机号码是store_positionvarchar128店铺位置是5.3.3书籍类别信息表的设计书籍类别信息表book_category,用于存储书籍类别信息,如表5.4所示:表5.4书籍类别信息表属性类型长度说明允许空主/外键cate_idint10分类编号否主键namevarchar30分类名称是5.3.4书籍信息表的设计书籍信息表book_info,用于存放书籍的基本信息,如表5.5所示:表5.5书籍信息表属性类型长度说明允许空主/外键authorvarchar255作者是book_category_idint10类别id是book_idint10书籍id否主键image_urlVarchar255版面图片是isbnVarchar25图书ISBN是namevarchar255书籍名称是pressvarchar255出版社是pricedecimal10书籍价格是store_idint10店铺id是5.3.5订单信息表的设计订单信息表orders,存储用户在该书城下单的书籍订单等基本信息,如表5.6所示:表5.6订单信息表属性类型长度说明允许空主/外键order_idvarchar25订单id否主键Book_idint10书籍id是paymentvarchar25实付金额是statusint50、未付款,1、已付款,2、未发货,3、已发货,4、交易成功5、交易关闭否user_idint10用户id是5.3.6角色信息表的设计角色信息表role,存储角色的基本信息,如表5.7所示:表5.7角色信息表属性类型长度说明允许空主/外键codevarchar25角色代码是descriptionvarchar25角色名字是namevarchar25角色名称是role_idInt10角色id否主键5.3.7权限信息表的设计权限信息表privilege,存储角色的基本信息,如表5.8所示:表5.8权限信息表属性类型长度说明允许空主/外键codevarchar25权限代码是descriptionvarchar25权限描述是namevarchar25权限名字是privilege_idInt10权限id否主键parent_idInt10权限父类id是第6章系统详细设计6.1类的设计6.1.1用户注册模块用户注册类图如图6.1所示,用户表包含编号、用户名、密码等属性信息,Controller层的register()方法调用IUserServlet调用接口的saveUser()抽象方法,IUserServletImpl实现IUserServlet接口的方法,IUserServletImpl调用IUserDao层来对用户表进行添加操作,最后返回登录界面,填写用户名和密码信息,完成用户登陆。图6.1注册用户类图6.1.2用户管理模块用户管理类图如图6.2所示,用户表包含编号、用户名、密码等属性信息,Controller层的findAllUser()、addUser()、updateUser()、deleteUser()、finById()方法调用IUserServlet调用接口的抽象方法,ervlet实现类中的findAllUser()、addUser()、updateUser()、deleteUser()、finById()方法,IUserServletImpl实现IUserServlet接口的方法,IUserServletImpl调用IUserDao层来对用户表进行增加、删除、修改、查找等操作。图6.2用户管理类图6.1.3店铺管理模块店铺管理类图如图6.3所示,店铺表包含编号、店铺名、店铺电话等属性信息,Controller层的findAllStore()、addStore()、updateStore()、deleteStore()、finById()方法调用IStoreServlet调用接口的抽象方法,ervlet实现类中的findAllStore()、addStore()、updateStore()、deleteStore()、finById()方法,IStoreServletImpl实现IStoreServlet接口的方法,IStoreServletImpl调用IStoreDao层来对数据库进行增加、删除、修改、查找等操作。图6.3店铺管理类图6.1,4书籍管理相关模块书籍管理相关类图如图6.4所示,订单表包含店铺编号、书籍编号、类别编号等属性信息,Controller层的findAllBook()、addBook()、updateBook()、deleteBook()、finById()方法调用IBookServlet调用接口的抽象方法,servlet实现类中的findAllBook()、addBook()、updateBook()、deleteBook()、finById()方法,IBookServletImpl实现BookServlet接口的方法,IBookServletImpl调用IBookDao层来对书籍进行增加、删除、修改、查找等操作。图6.4书籍管理类图6.1.5订单管理相关模块订单管理相关类图如图6.5所示,订单表包含订单编号、书籍编号、支付状态等属性信息,Controller层的findOrderById()、creatOrder()、deleteOrder、postOrder()、updateOrder()、findOrderByUserId()、findOrderByStoreId()方法调用IOrderServlet调用接口的抽象方法,servlet实现类中的findOrderById()、creatOrder()、deleteOrder、postOrder()、updateOrder()、findOrderByUserId()、findOrderByStoreId()方法,IOrderServletImpl实现OrderServlet接口的方法,IOrderServletImpl调用IOrderDao层来对订单进行增加、删除、修改、查找等操作。图6.5订单管理类图6.1.6角色管理模块角色管理相关类图如下图6.6所示,角色表包含角色编号、角色名、权限url等属性信息,Controller层的findAllRole()、addRole()、updateRole()、deleteRole()方法调用IRoleServlet调用接口的抽象方法,servlet实现类中的findAllRole()、addRole()、updateRole()、deleteRole()方法,IRoleServletImpl实现RoleServlet接口的方法,IRoleServletImpl调用IRoleDao层来对角色进行增加、删除、修改、查找等操作。图6.6角色管理类图6.1.7权限管理模块权限表包含编号、权限名称、权限url等属性信息,Controller层的findAllPrivliege()、addPrivliege()、updatePrivliege()、deletePrivliege()方法调用PrivliegeServlet调用接口的抽象方法,PrivliegeServletImpl实现PrivliegeServlet接口的方法,servlet实现类中的findAllPrivliege()、addPrivliege()、updatePrivliege()、deletePrivliege()方法,PrivliegeServletImpl调用PrivliegeDao层来对数据权限的增删改查操作。类图如下图6.7所示:图6.7权限管理类图6.2程序算法详细设计6.2.1添加购物车的设计对于消费者而言,其中最直观、最重要的一部分就是购物车功能,也是本系统当中的设计难点。用户可在完成购物后在购物车界面是完成修改书籍数量,删除书记,清空购物车的操作。 在本电子书城系统当中,使用session对话保存用户的购物车信息,最后用户提交订单后一次性提交上去,最后结果是以订单的方式为提交结果存放在数据库里的。如果还需要继续添加书籍至购物车,只需重新调用变量session获取购物车信息,它保存的是一次会话信息,直到提交订单或结束此会话。如图6.8所示的添加购物车程序流程图。图6.8添加购物车程序流程图6.2.2用户修改个人信息的设计 用户注册为合法用户后,可在个人中心界面编辑在注册时未要求填写的其他基本信息,新注册的用户只有账号信息,需要编辑的信息栏必须在指定区域填入合法信息才可修改保存。用户修改个人信息程序流程图如图6.9所示:图6.9用户个人信息修改程序流程图第7章编码实现7.1用户端功能的实现7.1.1书籍信息展示的实现游客首次浏览该系统,它首页界面显示如图7.1所示:图7.1电子书城系统首页界面7.1.2书籍搜索功能的实现 书城的搜索功能,在用户对书籍了解较少的情况下,根据某些重要信息查询到心仪的书籍,代码的实现实际上是在数据库中通过作者、书名、ISBN关键字查询获取书籍。图7.2搜索书籍界面7.1.3购物车功能的实现 购物车功能是书城用户的重点实现部分,对其书籍添加购物车、修改书籍数量等基本信息,完成购物后才以订单的形式存放在订单数据表中,当用户注销账号,购物车自动清空,session对象结束。图7.3购物车界面7.1.4订单功能的实现 订单功能的实现,模拟用户支付订单到确认收货的整个流程,能够完整的描述支付的整个过程,虽然未真正的去实现支付功能,但在实际开发代码过程中也详细描述了,书城用户的订单状态在我的订单界面可随时查看。图7.4订单列表界面7.2管理端功能的实现7.2.1用户管理功能的实现 管理员可对注册书城的合法用户进行信息管理,可对用户编辑、删除添加的操作。图7.5用户列表界面图7.6编辑用户信息界面添加用户的关键代码如下:@RequestMapping("/addition")@RequiresPermissions("user-add")publicStringaddUser(Useruser,int[]roleIds){UseruserFromDB=userService.addUser(user);//更新用户角色的对应关系roleService.updateUserRoleRelationship(userFromDB.getUserId(),roleIds);return"forward:list";}7.2.2店铺管理功能的实现 为商家注册店铺信息,下次登录可直接进去后台管理,对店铺的运营管理等主要功能。图7.7店铺列表界面图7.8编辑店铺信息界面添加店铺信息功能关键代码如下://保存用户信息@GetMapping("/toAddition")@RequiresPermissions("store-add")publicStringaddStore(Modelmodel){List<User>users=userService.findBusinesses(Integer.parseInt(business));model.addAttribute("users",users);return"admin/store/add";}//保存店铺信息@RequestMapping("/addition")@RequiresPermissions("store-add")publicStringaddStore(Storestore){storeService.addStore(store);return"redirect:/admin/store/list";}7.2.3角色权限功能的实现被系统设定为管理员(入驻书城的商家和管理员),进入后台管理界面,管理员可添加角色信息,编辑,删除用户角色身份及对权限管理的限定内容。需要重写角色权限的授权、认证函数。图7.9角色列表界面图7.10权限管理界面7.2.4店铺运营功能的实现 商家可在后台及时处理用户在该店铺下订购书籍的订单信息,查看订单详情页,包括物流信息、支付方式、买家信息以及订单处理等操作。此外还能对店铺所发布的书籍进行维护管理。图7.11订单列表界面图7.12书籍信息管理界面管理者可以点击某项订单的详情,并修改订单的详情信息,包括标题、价格、定价、库存等基本信息修改并保存,订单信息如图7.13所示:图7.13订单详情信息界面7.2.5报表统计功能的实现通过产生的一些报表信息,可实时的查看用户对某本书籍的热爱程度,给店铺提供信息,后续不管是对书籍的上新还是门店管理都是及有意义的。在平台注册店铺的商饼家可进行查看基于书籍销售量和访问量信息产生的一些报表信息,采用条形图和饼图的方式显示,如图7.14和图7.15所示:图7.14访问量饼图图7.15销售量条形图第8章系统测试8.1功能测试步骤为了保证系统的实现开发和设计,基于它的易于操作性、稳定性、可维护性的功能特点,我们要对它进行规范且严格的操作流程,以确保系统稳定运行,为我们接下来工作打下坚定的理论基础。1.电子书城首页页面的测试2.游客登录或注册窗体的测试3.浏览书籍类目和检索功能的测试4.查看我的购物车整体功能的测试5.查看以往购买的订单信息及支付状态的测试6.个人中心页面的注册资料信息及密码修改保存的测试7.后台管理员主页的测试8.用户列表信息管理的测试9.云店铺列表信息管理的测试10.角色权限系统的测试11.商家注册为书城店铺系统的测试12.报表统计的测试13.管理员个人信息修改的测试测试例子在软件测试当中是最重要的组成部分,因模块在逻辑功能的实现上互不干扰,因此,将需要测试的模块功能详细划分出来,逐一测试,功能较多无需全部阐述,现在我们将对我们需要对某些重要功能的测试流程具体描述出来。8.2登录、注册功能测试注册为书城用户可进入购物车、下订单及修改个人信息包括密码等。下面是针对登录、注册该功能测试用例图,如表8.1所示:表8.1登录、注册功能测试用例表排序测试内容操作测试结果得出结论1只输入密码,页面是否显示错误提示信息在登录界面不输入用户名页面提示填写用户名信息结果与预期相同2只输入用户名,页面是否显示错误提示信息在登录界面不输入用户名页面提示填写登陆密码结果与预期相同3输入错误的登录用户名和密码,页面是否显示错误提示信息在登录界面填写错误的用户名和密码页面提示错误用户名或密码错误结果与预期相同4输入已使用的注册用户名或密码前后不一致在登录界面填写已有用户名或密码前后不一信息页面提示用户名已被注册,提示密码前后不一结果与预期相同5输入错误的邮箱地址信息填写不规范的邮箱地址页面提示输入正确邮箱地址结果与预期相同8.3用户管理功能测试 管理员登录至后台,可对其注册为书城的用户编辑、添加、删除等操作。其中,用户基本信息包含一项角色身份信息,因此,对于用户列表管理它所拥有的修改身份权限在后台是至关重要的,用户管理功能测试用例表如表8.2所示:表8.2用户功能测试用例表排序测试内容操作测试结果得出结论1对用户基本信息编辑操作点击编辑编辑修改并成功保存结果与预期相同2对用户基本信息删除点击删除在数据库中查无此用户结果与预期相同3在添加用户信息界面,不填写信息,页面有无提示点击添加用户,不输入任何信息页面提示输入基本信息结果与预期相同8.4店铺管理功能测试管理员可对注册为商家的用户进行店铺注册,才可访问到我的店铺、报表统计等管理模块,它的功能测试用例表如表8.3所示:表8.3云店铺功能测试用例表排序测试内容操作测试结果得出结论1对店铺基本信息编辑操作点击编辑编辑修改并成功保存结果与预期相同2对店铺基本信息删除点击删除在数据库中查无此店铺结果与预期相同3在添加店铺信息界面,不填写信息,页面有无提示点击添加店铺,不输入任何信息页面提示输入基本信息结果与预期相同8.5店铺运营功能测试店铺运营功能的测试,保障了入驻平台的商家能通过后台进行书籍上架、订单管理等进行管理操作,它的功能测试用例表如表8.4所示:表8.4店铺运营功能测试用例表排序测试内容操作测试结果得出结论1未填写店铺基本信息在编辑店铺基本信息栏为空页面提示填写相关信息结果与预期相同2未根据书名/作者/isbn检索书籍输入非法信息,点击图书检索查无此书籍结果与预期相同3对书籍编辑、下架、删除对书籍编辑、下架、删除操作重新加载,书籍列表发生变化结果与预期相同4书籍上新,未填写基本内容,页面是否有提示信息书籍上新界面,不填写任何基本信息页面提示填写基本信息结果与预期相同5查看编辑某项书籍订单详细信息点击查看订单信息并保存修改用户订单信息更新了结果与预期相同6取消某项书籍订单信息点击取消订单信息用户订单列表无此订单结果与预期相同7商家发货确认商家后台发货用户订单列表的订单已发货结果与预期相同8删除订单信息商家删除订单订单列表无此订单结果与预期相同8.6角色权限功能测试表8.5角色权限功能测试用例表排序测试内容操作测试结果得出结论1设置角色的权限信息点击权限,设置访问权限界面显示该角色无此权限功能结果与预期相同2编辑角色信息编辑角色信息并修改保存该角色基本信息更新结果与预期相同3删除角色点击删除角色,提示是否删除在角色列表查无此角色结果与预期相同4未输入权限基本信息不填写权限基本信息页面提示填写权限基本信息才可保存修改结果与预期相同8.7报表统计功能测试 报表统计功能,它能够实时更新用户对某种书籍的关注度和热销量为接下来的书籍上新提供依据,功能测试用例表如表8.6所示:表8.6报表统计功能测试用例表排序测试内容操作测试结果得出结论1访问访问量最高的书籍,在店铺后台查看饼图是否发生变化在首页界面查看访问量最高的书籍详细信息该书籍区域饼图发生变化结果与预期相同2购买一本热销书籍,在店铺拍后台查看条形图是否变化在首页点击下单购买一本销售量最高的书籍该书籍销量次数增加结果与预期相同第9章结论与展望9.1结论结合电子商务所包含的特性,对比目前网上书店电子购物平台和实际开发实现存在的问题。我的系统采用的JSP技术实现开发的,其中使用到最为流行的SpringBoot框架和简单易于操作的Shiro框架的安全权限给系统的使用者设置权限,防止外来人员恶意的入侵系统导致崩溃的情况。其中,有最常用的购物模块,浏览书籍模块,店铺运营模块,最重要的部分是它可以去设定系统当中某个用户的访问权限,本次的论文主要将用户分成以下三类,书城合法用户,注册店铺的商家,管理员。在技术方面上的特点也是显而易见的,主要有下面几点:1.页面风格内容的简单一致,给用户提供良好的视觉效果是我们的最终目标。2.使用到的Shiro框架,不仅增强了系统的安全性,它的易于部署使用也是我选择它的原因。功能方面的特别有以下几点:1.该电子书城系统可面向人群广泛,人性化,可扩展性比较强。2.简单明了的功能模块,对于商家跟用户而言,简单方便易于操作才是我们所追求的目标方向。3.通过用户线上订购书籍和商家可在该书城注册店铺信息是我们的主体思想。该功能在减少了交易成本,同时又延伸了网上书店的功能。4.权限功能的分配以及用户角色信息的设定让系统丰富起来,角色的多样化,从而增加形形色色的功能。9.2进一步的工作方向当然,本系统依然存在不足的地方,1.充分考虑到网络安全支付所使用到的技术及工具眼花缭乱,在实际的下单支付成功,只是简简单单的点击按钮确认,未涉及到实际的支付功能,也就是支付宝的沙箱环境。2.首页界面简陋单调,不够多样化,给用户实际使用的体验感不佳。3.针对不一样的浏览器,可能会出现页面样式的变形,Bootstrap响应式不会处理。4.针对购物车功能和下订单这一模块,不能够分店铺统计和付款,对于书籍收藏及买家评论功能没有实现。针对该论文的结论部分的缺陷分析,对系统功能进行扩展和补充内容:1.给书籍爱好者,添加个人化特色服务内容,比如网上书评,写书籍的观后感言,用户购买的书籍可在个人中心页面上推荐书籍,达到吸引书籍忠实粉丝长期驻站该书城平台。2.用户登陆首页界面,书城的滚动式广告和新闻信息映入眼帘,强大的视觉冲击效果,同时用户可查看站内的广告和新闻,可通过对某条公告产生浓厚兴趣可以点击查看到内容信息,例如发布者,广告来源及通知时间等。3.购书优惠,打折模式的实现,用户同时选购多种书籍,可打折,如300减50,进入特价优惠六
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年东营市东营区社区工作者招聘笔试参考题库及答案详解
- 2026年漯河市召陵区社区工作者招聘笔试参考试题及答案详解
- 2026年陕西省咸阳市事业编单位人员招聘考试备考试题及答案详解
- 2026年黄山市徽州区社区工作者招聘笔试参考试题及答案详解
- 2026年广州市花都区事业编单位人员招聘考试模拟试题及答案详解
- 2026年涪陵区沙坪坝区网格员招聘笔试参考试题及答案详解
- 2026年Q3合同拟定及审批流程更新函(8篇)范文
- 物业管理最终资产转让合同
- 建材跨境投资合同
- 河南省栾川县潭头交通希望小学2026-2027学年数学四年级第一学期期末检测模拟试题含解析
- 踝泵运动课件参考文献
- 南宋宗室词人赵师侠及其《坦庵词》研究:时代、身份与词风的交织
- 融资租赁项目经理笔试试题及答案
- 房颤护理课件
- 异常报警分级管理制度
- 船员四小证Z01基本安全理论考试题库(浓缩500题)
- 木业公司管理制度
- 外立面墙改造工程施工方案
- 有色金属矿山井巷工程施工及验收规范
- (正式版)JB∕T 14732-2024 中碳和中碳合金钢滚珠丝杠热处理技术要求
- 川大宗教所真题
评论
0/150
提交评论