1、网上书城系统设计第一章 绪论1.1 课题背景、目标及意义源码请联络企鹅号 115632 216 51.1.1 课题背景伴随互联网普及和电子商务兴起,网上图书销售是互联网电子商务在图书销售行业中肯定结果,这种新型图书销售形式越来越受大家欢迎,正在以不可阻挡气势替换着传统图书销售模式。其和传统销售模式相比拥有很多优势,一是降低了销售成本,二是利用互联网作为交易平台,是交易活动不受时间和空间限制,大大提升了交易效率,三是互联网愈加灵活方便,足不出户就能知道最新图书信息。正是因为这些优势网上图书销售才得以飞速发展,用户经过网上图书交易系统能够查看图书并实现在线购置。1.1.2 目标和意义工作效率一直是
2、大家追求,尤其是在竞争日益猛烈今天,所以提升工作效率是每个企业面临重大问题。爱学习网上书城系统就是为了处理这个重大问题而开发一套完整在线交易图书系统。爱学习网上书城系统大大降低了人力、物力,并实现二十四小时营业。网上书城系统愈加有利于让图书交易趋向全球化,为大家提供愈加便捷服务。1.2 中国外研究现实状况1.2.1 国外研究现实状况网上图书销售是全球经济飞速发展肯定结果,国和国之间互联网开通更是促进了交易全球化发展。尤其是在美国、德国、日本经济发达国家,网上图书销售发展快速,几乎取缔了传统图书销售模式。据InternetWorldStatS统计,截止现在全球互联网用户已经达成40亿,网民快速增
3、加为网上图书销售开辟了空间和市场,现在国外网上图书销售也正处于水深火热之中,正在不停开发和完善。1.2.2 中国研究现实状况中国互联网相对于国外来说即使起步较晚,不过近几年来发展很快速,在全球40亿网民中仅中国网民就占据7.7亿,这位电子商务在中国发展开辟了道路,使得网上图书销售变得越来越流行。淘宝就是一个很有说服力电子商务成功案例,还有京东、亚马逊等这么电商成功创办,全部足以说明中国近几年互联网飞速发展。估计网上图书销售已经一般百姓消费手段。第二章 可行性分析2.1社会可行性伴随计算机普及和网络发展,网络已经渗透到各家各户,现在网民能够在网上购置到任何图书,爱学习网上书城系统关键目标是进行网
4、上售书,严格根据法律法规进行研发,并无法律和政策方面限制。2.2技术可行性本系统采取jsp、Servlet、Mysql开发,Hbuilder进行前台页面设计,采取原生JDBC方法和后台数据库进行连接。在项目搭建方面采取三层架构,此架构技术现在已经相当成熟,在技术方面不存在问题。2.3操作可行性本系统对计算机硬件要求很低,现在绝大多数计算机全部能够对本系统进行安装,而且安装本系统不会对原来计算机设置等进行改变,相关人员能熟练方便安装本系统。2.4 系统技术介绍2.4.1 JavaScriptJavaScript是一个基于对象动态类型脚本语言,器功效很强大,现在被广泛应用于web项目标开发,它跨平
5、台性很强,绝大多数浏览器全部支持。用于为前端页面事件触发效果。2.4.2 JQueryJQuery是一个由JavaScript封装框架,更确切说是一个库,它包含了很多由原生JavaScript写函数,能够直接调用,开发效率很高,比如直接对DOM对象操作,制作动画效果还有愈加便捷使用Ajax进行异步访问,而且JQuery是开源无偿。2.4.3 JSPJsp汉字名称是java服务器页面,它实现了HTML语法中对Java扩展,能够直接在页面经过”形式进行利用Java代码控制特效和数据传输,jsp技术更轻易使页面逻辑和功效逻辑相分离,从而降低系统耦合性,使开发和维护工作愈加方便。现在绝大多数项目使用J
6、sp技术。2.4.4 MysqlMysql是一个开源小型数据库管理系统,其体积小、速度快、拥有成本低,是中小型企业开发优先选择。而且其在性能方面也是十分好。2.5 系统开发平台和运行环境2.5.1 系统开发平台系统开发采取eclipse+tomcat。Eclipse最初是由IBM企业开发替换Visual Age for Java下一代IDE开发环境。其发展经历了很多版本更新,其中Mars版本是现在最新版本,能够胜任JavaEE大型项目,而且eclipse没有集成太多插件,在性能方面有优于myeclipse。Tomcat是一个开源无偿Servet容器,相当于一个服务器,只需要把项目打成WAR包上
7、传到webapp目录,开启就能正常访问。2.5.2 运行环境操作系统:windwos XP以上服务器: tomcat6.0以上版本浏览器: IE、谷歌、火狐、360浏览器第三章 需求分析3.1系统总体功效分析爱学习网上书城系统采取电子商务中经典B2C模式,代码架构采取MVC方便开发和后期维护。1.关键功效包含:前台:前台功效关键是给用户提供搜索书籍和购置使用,关键有:1. 用户管理模块:用户注册、登录、激活、修改个人信息、和退出。2. 图书搜索:经过键入书名,支持模糊查询,即输入关键字可搜索图书。3. 图书分类:书籍有两级目录,第一级为总体类别,第二级为具体类别,方便用户找到自己想要图书。4.
8、 购物车模块:用户把自己要购置书籍加入购物车,同时能够修改和删除购物车中图书信息。5. 订单管理模块:包含支付功效,订单管理,查看订单状态,取消未付款订单,确定收货。2 后台为商家和管理员使用,关键功效有:1.1 管理员登录功效1.2 分类管理:查看全部分类信息,修改或删除一级分类信息和二级分类信息。1.3 图书管理:对图书增加、修改和删除,并提供高级搜索功效。1.4 订单管理:查看全部订单、按状态筛选查看订单,取消订单,发货。3.2系统功效模块设计依据系统总体功效,具体功效逻辑实现以下图:前台页面展示分类管理订单管理购物车管理图书管理用户管理生成订单订单支付看看我订单我订单取消未支付订单查看
9、订单详情删除购置图书修改购置图书添加购置图书查看我购物车高级查询查看图书详情按分类查看图书第二级分类第一级分类退出登录激活修改信息用户注册后台管理模块后台设计:订单管理图书查询分类显示按状态查订单订单发货取消订单订单详情查看全部订单高级查询按分类查询查看图书详情修改图书删除图书添加图书修改二级分类查看二级分类查看一级分类删除一级分类删除二级分类修改一级分类添加二级分类添加一级分类3.3数据库分析任何系统运行全部会产生一系列数据,这些数据在会在以后用到,所以数据存放是很必需。本系统采取Mysql存放数据。3.1 概念模型设计概念模型是为了把现实世界中事物抽象为信息世界中数据模型,然后再把信息世界
10、中数据模型转换为机器世界中能够用某一DBMS支持数据模型。在信息世界中概念模型有实体和关系。实体是现实世界中能够具体某一人或事物,关系是指实体内部或实体之间去联络,能够分为三种,一对一,一对多和多对多关系。在本系统依据业务步骤绘制E-R图以下:管理图书分类购物车 n管理属于管理员管理图书购置订单生成管理用户 1 1 1 1 1 n n 1 1 N n3.2 逻辑数据模型 表3.1 t_book 图书信息表汉字名称英文名称数据类型主键外键书号bidchar(32)主键书名bnamevarchar(200)作者authorvarchar(50)原价pricedecimal(8,2)优惠价currP
11、ricedecimal(8,2)折扣discountdecimal(3,1)出版社pressvarchar(100)出版时间publishtimechar(10)版次editionInt(10)页数pageNumInt(10)字数wordNumInt(10)印刷时间printtimechar(10)开本booksizeInt(11)纸张papervarchar(50)分类号cidchar(32)外键大图image_wvarchar(100)小图image_bvarchar(100)序号orderByInt(11)表3.2 t_cartitem 购物车信息汉字名称英文名称数据类型主键外键购物车i
12、dcartItemIdchar(32)主键数量quantityInt(11)书号bidchar(32)外键用户iduidchar(32)外键序号orderByInt(11)表3.3 t_category 图书类别汉字名称英文名称数据类型主键外键分类号cidchar(32)主键类别名称cnameInt(11)父idpidchar(32)外键描述descchar(32)序号orderByInt(11)表3.4 t_order 订单信息汉字名称英文名称数据类型主键外键订单号oidchar(32)主键下单时间ordertimechar(19)总价totalDecimal(10,2)订单状态status
13、Int(11)收获地址addressVarchar(1000)用户iduidchar(32)外键表3.5 t_orderitem 订单具体信息汉字名称英文名称数据类型主键外键订单idorderItemIdchar(32)主键数量quantity Int(11)总价subtotalDecimal(10,2)书号bidInt(11)书名bnameVarchar(1000)购置价currPricechar(32)小图image_b订单号oid外键表3.6 t_user 用户信息表汉字名称英文名称数据类型主键外键用户iduidchar(32)主键登录名loginnamevarchar(50)登录密码l
14、oginpassvarchar(50)邮箱emailvarchar(50)激活状态activationCodechar(64)表3.7 t_admin 管理员信息表汉字名称英文名称数据类型主键外键管理员idadminIdchar(32)主键管理员名adminnamevarchar(50)密码adminpwdvarchar(50)第四章 爱学习网上书城系统实现爱学习网上系统经过前期市场调查,需求分析和具体设计,整个系统功效架构已经逐步清楚,为系统开发奠定了基础。爱学习网上书城系统以前台和后台两大部分进行设计。4.1 前台功效设计首页分为三个模块,菜单、分类和搜索框,为用户提供愈加直观界面。4.2
15、用户模块系统能有条不紊地为用户服务肯定需要区分出每一个用户,所以用户模块是很必需。用户模块包含用户注册、登录和修改信息。4.2.1 用户注册用户注册页面采取ajax异步通信,请求后台数据进行比对,方便用户愈加紧速掌握注册技巧。前台也有密码校验功效,能校验两次密码是否相等。邮箱使用正则表示式校验,只有正确邮箱格式才能经过验证。使用验证码进行验证请求有效性。只有用户全部根据要求填写好资料以后才能提交申请,系统会把资料统计数据库,同时给用户邮箱发送电子邮件用来激活新注册用户。4.2.2 用户登录假如用户未激活会弹出以下提醒:用户只有点击邮箱里连接才能去激活自己账号。激活以后正常登陆就能够看到主页和自
16、己购物车等信息。在主页面用户能够能够依据左侧分类菜单栏查找自己想要购置书籍,也能够经过提供图书搜索框快速搜索自己想要图书,而且能够点击高级搜索依据书名、作者、出版社进行快速分类查找。4.2.3 修改密码修改密码输入框全部采取ajax进行异步校验,原密码不能为空、新密码长度在3到20个字符之间,当焦点离开输入框会弹出提醒。修改密码时一样需要验证码,只有输入验证码和图片上一致时才能提交修改。4.2.4 退出用户点击退出按钮,后台会杀死保留在浏览器中session,直接跳转到登录页面。4.3 图书模块4.3.1 图书首页当用户登录成功后,会自动跳转到图书主页,经过点击左侧分类栏查找图书或直接在搜索框
17、查询。4.3.2 图书详情用户在主页找到自己感爱好书籍并单击连接可查看详情,跳转到图书详情页面,图书各个属性全部会展示,用户能够点击购置加入购物车同时还能选择购置数量,系统会依据图书单价和购置数量进行自动计算总价。4.4 购物车模块4.4.1 添加查看购物车在主页点击我购物车会查询出全部已经添加到购物车图书。4.4.2 编辑购物车当用户添加好购物车以后,能够在我购物车中查看和修改,点击数量列左后“-”“+”来选择购置数量,不想买时能够直接点击操作一栏删除,从购物车中移除图书,当需要清空购物车时经过提供批量删除按钮,直接删除购物车中全部或自定义选项。4.5 订单模块4.5.1 提交订单在购物车中
18、选好需要购置图书,单击结算按钮,跳转至订单确定页面,在收货地址栏填写自己收货信息,然后提交订单。4.5.2 生成订单4.5.3 订单支付在订单提交完成后会弹出支付按钮,支付功效使用“易宝”第三方支付平台,跳转到网银支付页面,从中选择一张银行卡,正确填写银行卡信息后即可在线支付。4.5.4 订单状态在主页点击我订单,进入我订单页面,显示全部订单能够看到订单状态。订单状态共分为五种:在刚刚提交订单时还未付款,就是未付款状态;在刚付过款还未发货时就是已付款状态;在付款以后而且商家已经发货时发货状态;在订单签收以后而且本人已经确定就是交易完成状态;当订单已经提交不过还未付款能够取消订单,取消以后状态变
19、为取消状态。也只有提交以后还未付款订单才能取消。第五章 爱学习网上书城系统后台设计和实现5.1 管理员登录爱学习网上书城系统后台是专门为管理员开发,也就是商家。后台功效关键包含分类管理模块、图书管理模块和订单管理模块。进入后台需要先用管理员身份登录,输入管理员账户和密码点击进入后台会和后台数据库进行匹配,当匹配到数据库中对应数据时才算登录成功,登录页面以下:5.2图书分类管理 本系统为方便用户愈加正确快速查找图书,为图书进行了两级分类。在第一级分类基础上愈加具体计划出图书所属具体类别。5.2.1 添加分类等级点击添加一级分类弹出如上图所表示页面,输入分类名称而且输入分类描述有利于用户对类别有愈
20、加确切认识。在一级分类后操作栏里有添加二级分类选项,单击弹出添加二级分类页面,输入二级分类名称以后,还要选择所属一级分类。一级分类会在单击添加二级分类按钮时经过后台动态从数据库中查询出全部一级分类选项,管理员经过下拉菜单选择所属一级分类以后,并为二级分类添加描述。5.2.2 修改分类管理员经过点击修改分类对类别进行修改,在弹出页面中,原始数据会自动回显,符合修改理念,愈加人性化。修改完成点击修改二级分类按钮即可。5.2.3 删除分类删除分类包含删除一级分类和删除二级分类,当删除二级分类时,会弹出删除提醒框,能够取消或确定删除,确定以后只会删除目前删除二级分类。当删除一级分类时,会删除一级分类下
21、全部二级分类。5.3 图书管理模块图书管理模块是管理员对全部图书进行全部操作,包含对图书添加、修改和删除同时提供了高级搜索功效,管理员能够在海量图书能快速定位到具体一类或一本图书进行编辑。5.3.1 添加图书在添加图书页面,会显示全部相关图书属性,其中能够上传图书图片,大图和小图全方面展示图书信息。在出版时间和印刷时间输入框引用日历插件直接经过鼠标单击选择时间,不用管理员手动输入时间,同时还能有效避免因为时间格式输入有误造成添加失败问题。管理员能够自定义目前所添加图书折扣,系统会依据折扣自动计算折扣后优惠价。在添加新书同时,需要选择书籍分类,此输入框也是动态查询出一级分类类别然后依据所选择一级
22、分类类别查询出这类别下全部二级分类类别。当图书信息填写完成后点击“新书上架”按钮自动上传图书,用户能够在前台登录查询并购置。5.3.2 图书编辑经过左侧导航栏选择某一本图书或经过高级搜索定位到具体一本图书,点击查看详情然后单击左上角编辑或删除选择框会弹出编辑和删除按钮。在弹出图书详情页面,相关图书全部信息全部会回显出来,管理员只需修改一些属性或更多,然后直接编辑图书信息就会更改并保留到数据库。点击删除按钮会直接删除目前图书。5.4 订单管理模块订单管理模块数关键是为了商家确定用户购置图书和订单状态以至于商家能正确无误发货。5.4.1 订单列表管理管理员在订单列表能够查看全部订单,在订单状态栏可
23、清楚看到目前订单状态,也能够按订单状态分类查看。订单状态一共分为五类,当用户订单付款成功后,管理员后台会显示准备发货。对于还未付款订单,管理员也能够进行取消操作。管理员发货以后状态会变为等候确定。待用户确定收货以后,此次交易才算完成。5.4.2 订单详情管理员能够在订单列表页点击某一个订单进行查看订单详情操作,订单详情包含下单时间、用户订购图书信息和用户收货地址。第六章 网上书城系统测试6.1 系统测试概述6.1.1 系统测试目标和意义伴随科技飞速发展,互联网已经包含各行各业,大家办公和生活也离不开了多种互联网系统,尤其是部分包含到金融方面,所以系统安全性是很关键。软件测试目标是找出潜在漏洞,
24、排除安全隐患,避免有心之人利用系统漏洞损害她人利益,对互联网造成恶劣影响。系统测试在整个软件开发中占40%50%工作量,它不仅是测试源程序,而是对整个软件系统,包含需求分析,概要设计等。最终要保障软件质量,尽可能找出系统中存在错误,把损失降到最低。6.1.2 系统测试方法系统测试方法有很多,比如从是否实施程序角度考虑可分为静态测试和动态测试。从是否关心系统内部实施情况可分为黑盒测试和白盒测试。从软件开发过程按阶段划分有单元测试、集成测试、系统测试、确定测试和回归测试。现在在软件开发行业中,系统测试方法关键包含双盒测试,即黑盒和白盒测试。顾名思义,黑盒测试就是把程序看做一个不可分割整体,在知道其
25、各个功效前提下经过直接操作系统把得出结果和预期结果进行比对。黑盒测试不需要知道程序内部逻辑结构和程序实施次序,只看其是否是否实现前期设计功效。“白盒”测试也成为逻辑结构测试,即需要知道程序设计步骤和实施步骤,检验每一个步骤是否按正确调用次序进行实施。所以我们在用黑盒测试时候需要更多对测试范围进行考虑,需要考虑到用户全部输入可能性,包含恶意随意输入。不过白盒测试不足也比较强,即不能确定已经有程序是否违反现有设计规范。通常在测试中需要白盒测试和黑盒测试配合完成。6.1.3 系统测试步骤完整系统测试关键包含以下多个步骤:单元测试、组装测试、确定测试和系统测试。 模块单元测试系统测试确定测试组装测试单
26、元测试 模块 测后模块 单元测试 模块 在系统测试中首优异行单元测试,即测试每个功效模块是否能够成功运行,其结果是否和预想结果一致。单元测试采取白盒测试,对每个接口内部实现逻辑和接口内部数据结构进行测试,每个模块进行单元测试经过后在进行组装,就是把各个独立功效模块经过内部调用组装为一个整体,组装测试关键以系统具体设计为依据。确定测试是测试软件是否能够正常运行而且符合软件规格说明书设计,因为确定测试是模拟项目上线后真实环境,需要用户真实有效数据进行测试,所以又叫做有效性测试。确定测试完成以后还需要进行系统测试,就是把系统运行所需要硬件环境和用户环境进行共同测试。确保各组件能协调工作完成功效。同时
27、还需要测试部分特殊数据,以满足特殊用户需求。6.2 功效测试6.2.1 用户注册测试功效特征用户注册测试目标验证输入信息正当性测试内容 数据 期望结果 实际结果 测试状态用户名输入1提醒用户名长度在320之间提醒用户名长度在320之间和期望结果相同密码输入 1密码长度在320之间提醒密码长度在320之间和期望结果相同确定密码输入 空密码不能为空提醒密码不能为空和期望结果相同Email提醒格式不正确邮箱格式不正确和期望结果相同验证码1234验证码不正确提醒验证码不正确和期望结果相同6.2.2 关键功效测试模块用例描述预期结果测试状态密码修改在原密码输入框000,新密码框和确定密码框输入111提醒
28、“旧密码不正确”和期望结果相同图书搜索搜索框输入为空查询出全部图书和期望结果相同图书添加分别测试每个输入框为空时候提醒属性为空那个属性不能为空和预期结果相同分类管理添加二级分类,所属一级分类为空提醒一级分类为空和预期结果相同订单管理管理员取消订单前台用户下订单同时更新和预期结果相同管理员发货前台用户订单状态更新为确定收货和预期结果相同按订单状态分类查看显示同中状态订单和预期结果相同购物车管理添加购物车,并随意选择数量总价会依据单价和数量自动计算和预期结果相同批量删除删除自定义选择商品信息和预期结果相同6.3 测试结论系统性测试是一个有序方法设法探测存在问题程序位置,经过对系统功效性测试,和预期
29、结果符合,能够满足用户对购置书籍整体需求。系统测试是很有必需性,经过部分特殊数据用例有时会得到预料之外结果,经过对结果分析从而找出潜在bug修复存在安全隐患。即使系统测试能够找出系统漏洞,不过更关键还是在代码编写时加强逻辑性分析和设计,对关键代码处理上要分析出全部可能出现分支,并保持一个良好代码编写习惯,这么对后期测试和系统维护会带来很大帮助。第七章 结论和展望7.1 结论网上交易模式在现在越来越关键,电子购物将替换传统购物模式,逐步成为社会消费主流。爱学习网上书城系统就是为了满足大众网上购书需求而设计。经过对爱学习网上书城设计和开发,我较全方面掌握了java基础知识和编程技巧,了解了项目开发
30、三层架构体系,而且知道了在电子商务界整体业务逻辑。在开发过程中碰到了很多困难,除了技术上困难外还有逻辑上,比如因为前期需求分析做不具体在后面进行代码具体实现功效时候会让程序产生不确定结果,这全部是程序开发中禁忌。也正是因为经历了这些困难,让我学到了更多经验,需求分析这步工作直接决定这项目是否能顺利完成。在一个项目标开发周期中,需求分析要占整个周期二分之一以上。在开发一个完整项目时,不能盲目标直接就开始编写代码,要首先做好需求分析和数据库设计工作,要先写好开发文档并严格检验其可行性,只有这些工作做好以后,在代码编写时候才能做到胸有成竹,在开发中不至于碰到逻辑上不通问题,避免因为需要从新设计而带来
31、时间和经济上损失。于我而言这次项目标开发让我学习了很多知识,不过这还远远不够, 我会继续努力,利用现有知识去开阔自己眼界。碰到困难保持冷静,寻求一条最优处理方案。此次系统开发为我以后走向工作岗位打下了坚实基础。7.2 展望爱学习网上书城系统从需求分析到具体功效实现符合电子商务各项特征,不过因为个人技术方面原因,本系统只是实现了售书常规功效,还有部分其它功效比如物流跟踪等会在以后继续扩充。致谢白驹过隙,日月如梭,转眼间立即大学毕业。此次毕业设计也认为这大学生活结束,是对我们大学四年所做一个总结。在这里感谢全部老师对我大学四年来教导,尤其是我导师李莉,在我做设计期间给了我很大指导和帮助,在我碰到困难时候给我指导和激励,让我化绊脚石为垫脚石,完成此次设计。源码请联络企鹅号 115632 216 5