本文章是JavaWeb课程的课程设计

1.项目概况
1.1 课题背景、目的及意义
1.1.1 课题背景
随着互联网的普及和电子商务的兴起,网上图书销售是互联网电子商务在图书销售行业中的必然结果,这种新型的图书销售形式越来越受人们的欢迎,正在以不可阻挡的 气势替代着传统的图书销售模式。与其传统销售模式相比拥有许多优势,一是降低了销售成本,二是利用互联网作为交易平台,是的交易活动不受时间和空间的限制,大大提高了交易的效率,三是互联网更加的灵活方便,足不出户就能知道最新的图书信息。正是由于这些优势网上图书销售才得以飞速发展,客户通过网上图书交易系统可以查看图书并实现在线购买。
1.1.2 目的和意义
工作效率一直是人们追求的,特别是在竞争日益激烈的今天,因而提高工作效率是每个企业面临的重大问题。叮叮网上书城系统就是为了解决这个重大问题而开发的一套完整在线交易图书的系统。 叮叮网上书城系统大大降低了人力、物力,并实现 24 小时营业。 网上书城系统更加有利于让图书的交易趋向全球化,为人们提供更加便捷的服务。
1.2 国内外研究现状
1.2.1 国外的研究现状
网上图书销售是全球经济飞速发展的必然结果,国与国之间互联网的开通更是促进了交易全球化的发展。特别是在美国、德国、日本经济发达的国家,网上图书销售发展迅速,几乎取缔了传统的图书销售模式。据InternetWorldStatS 的统计,截止目前全球互联网用户已经达到40亿,网民的迅速增长为网上图书销售开辟了空间和市场,目前国外的网上图书销售也正处于水深火热之中,正在不断开发与完善。
1.2.2 国内的研究现状
中国的互联网相对于国外来说虽然起步较晚,但是近几年来发展的非常迅速,在全球40亿网民中仅中国网民就占据7.7 亿,这位电子商务在中国的发展开辟了道路,使得网上图书销售变得越来越流行。淘宝就是一个非常有说服力的电子商务成功案例,还有京东、亚马逊等这样的电商的成功创办,都足以说明我国近几年互联网的飞速发展。预计2020 年网上图书销售已经普通百姓的消费手段。
1.3可行性分析
1.3.1 社会可行性
随着计算机的普及和网络的发展,网络已经渗透到各家各户,现在的网民可以在网上购买到任何图书,叮叮网上书城系统主要目的是进行网上售书,严格按照法律法规进行研发,并无法律和政策方面的限制。
1.3.2 技术可行性
本系统采用 jsp、Servlet、 Mysql 开发, HTML5+CSS3进行前台页面设计,采用原生JDBC方式与后台数据库进行连接。在项目搭建方面采用三层架构,此架构技术目前已经相当成熟,在技术方面不存在问题。
1.3.4 操作可行性
本系统对计算机硬件要求很低, 目前绝大多数计算机都可以对本系统进行安装,而且安装本系统不会对原来计算机设置等进行改变,相关人员能熟练方便的安装本系统。
2.技术分析
2.1 系统的技术介绍
2.1.1 JavaScript
JavaScript 是一种基于对象动态类型的脚本语言,器功能非常强大,目前被广泛应用于web 项目的开发,它的跨平台性非常强,绝大多数浏览器都支持。用于为前端页面事件触发效果。
2.1.2 JQuery
JQuery是一个由JavaScript 封装的框架,更确切的说是一个库,它包含了很多由原生JavaScript写的函数,可以直接调用,开发效率很高,例如直接对 DOM 对象的操作,制作动画效果还更加便捷使用 Ajax 进行异步访问,而且JQuery 是开源免费的。
2.1.3 JSP
Jsp的中文名称是java服务器页面它实现了HTML语法中对 Java 的扩展,可以直接在页面通过 ”<% %> ”的形式进行利用Java代码控制特效和数据的传输,jsp技术更容易使页面逻辑与功能逻辑相分离,从而降低系统耦合性,使开发和维护工作更加方便。目前绝大多数项目使用 Jsp 技术。
2.1.4 Mysql
Mysql是一个开源的小型数据库管理系统,其体积小、速度快、拥有成本低,是中小型企业开发的优先选择。而且其在性能方面也是十分好的。
2.1.5bootstrap
Bootstrap是美国Twitter公司的设计师Mark Otto和Jacob Thornton合作基于HTML、CSS、JavaScript 开发的简洁、直观、强悍的前端开发框架,使得 Web 开发更加快捷。Bootstrap提供了优雅的HTML和CSS规范,它即是由动态CSS语言Less写成。Bootstrap一经推出后颇受欢迎,一直是GitHub上的热门开源项目,包括NASA的MSNBC(微软全国广播公司)的Breaking News都使用了该项目。国内一些移动开发者较为熟悉的框架,如WeX5前端开源框架等,也是基于Bootstrap源码进行性能优化而来。
2.1.6jQuery
jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。
2.1.7Spring框架
Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。
2.1.8MyBatis
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAOs)。
2.2 系统开发平台
2.2.1 系统的开发平台
系统开发采用 eclipse+tomcat 。Eclipse 最初是由 IBM 公司开发的替代Visual Age for Java的下一代 IDE 开发环境。其发展经历了很多版本的更新,其中 Mars 版本是目前最新版本,可以胜任 JavaEE 大型项目,而且 eclipse 没有集成太多插件, 在性能方面有优于myeclipse 。Tomcat 是一个开源的免费的Servet 容器,相当于一个服务器。只需要把项目打成WAR包上传到 webapp 目录,启动就能正常访问。
3.系统总体设计
3.1主要功能:
购买:购物车 下单 支付 订单中心 展示
用户:账号 用户信息 地址 购物车
系统运营:秒杀系统 推荐系统 广告系统
管理员:用户管理 商家管理 订单管理 商品管理
3.1.1前台用户功能可以概括为以下几点:
1.用户信息管理模块:处理用户注册、登陆验证;
2.商品信息模块:包括商品浏览、商品查询;
3.购物车模块:购买商品,修改商品数量,最后结账;
4.订单模块:此模块中信息由购物车结账产生,可以供用户查询订单。
3.1.2商家功能可以概括为以下几点:
1.店铺管理模块:店铺信息修改、店铺注销;
2. 商品管理模块:可以添加、修改、下架商品分类信息,添加、修改、删除商品信息;
3.1.3后台管理员功能可以概括为以下几点:
1.管理员登陆:管理员登陆,成功登陆后可访问其他页,对后台进行管理;
2.客户管理模块:包括查询和修改客户信息;
3.商品管理模块:可以添加、修改、删除商品分类信息,添加、修改、删除商品信息;
4.订单管理模块:处理客户的订单,查询订单以及销售的情况;
3.2根据系统总体功能,详细的功能逻辑实现如下图:

注:商家的注册店铺重复,有一个是登录店铺
3.2.1系统功能结构图

3.2.2管理员用例图

3.2.3商家用例图

3.2.4用户用例图
3.3系统流程分析
客户购物的流程是整个系统流程最重要的部分,不管客户是否登录都应该进行商品浏览,未登录的客户可以在将商品放入购物车时进行验证。
(1)客户购物流程图:

(2)管理员流程图:

(3)商家流程图:

4.数据库设计
数据库设计是整个项目开发的关键,一个好的数据库设计可以大大减少开发中不必要的修改于调整,保证开发效率。数据库中包含以下几个表:管理员表、用户表、商品表、购物车表、订单表、广告表,各表结构如下
4.1逻辑结构详细设计
4.1.1管理员表 (manager)
管理员id (id)、账号(account) 、密码(mpwd)、姓名(name)、性别(sex);

表4.1.1管理员表
4.1.2用户表 (user) (购物车表、订单表的父表)
用户id (id)(int );账号(account)(int);密码(pwd)(varchar);姓名(name)(varchar);邮箱(email)(varchar);性别(sex)(varchar);电话(phone)(varchar);注册时间(rgtime)(datetime);收货地址(shopaddress)(varchar);用户类型(usertype)(varchar);

表4.1.2用户表
4.1.3商家表(busiman)(商品表的父表)
商家id(busimanid)(int) ;账户(account)(int);密码(pwd)(varchar) ;姓名(name)(varchar) ;电话(phone)(varchar) ;店铺名称(shopname)(varchar);
4.1.4商品表 (goods) (购物车表的父表)
商品id (goodsid) (int);商家账户(商家表的外键);商品名称(goodsname)(varchar);商品价格(goodsprice)(int);商品类型(goodstype)(varchar);销量(volume ) (int);库存数 (repertory)(int);品牌(brand) (varchar);

表4.1.3商品表
4.1.5购物车表 ( shopcar)
购物车id(shopcarid) ;用户id(id)(用户表的外键);商品id (goodsid)(商品表的外键);商品数量(cargoods);加入时间(jointime);

表4.1.5购物车表
4.1.6订单表 (order)
订单id (orderid) ;用户id(id)(用户表的外键);商品id (goodsid)(int)(商品表的外键);交易时间(ordertime);订单数量(ordercount);订单交易状态(orderstate);

表4.1.6订单表

订单表中的外键
4.1.7 广告表(adver)
广告id adverid (int);类型( advertype)(varchar) ;内容(content)(varchar);

表4.1.7广告表
4.2数据库ER图
4.2.1购物车ER图

4.2.2广告ER图

4.2.3管理员ER图

4.2.4订单ER图

4.2.5商品ER图

4.2.6用户ER图
4.2.7商家ER图

5.系统详细设计
叮叮网上购书系统经过前期的市场调查,需求分析以及详细设计,整个系统功能架构已经,逐渐清晰,为系统的开发奠定了基础。 叮叮网上购书系统系统从前台和后台两大部分进行设计。
5.1前台功能设计





首页分为三个模块,登录、注册、云书房、我的叮叮、购物车、菜单、分类,图书详情页、食品、客户服务等模块为用户提供更加直观的界面。
5.1.1注册表单


5.1.2登录表单

5.1.3云书房

5.1.4购物车

5.1.5图书详情页(只附一张图)

5.1.6食品商场


5.1.7筛选、搜索(图书种类筛选、价格筛选)


5.2后台设计
5.2.1后台首页

5.2.1用户管理

5.2.2购物车

5.2.3订单管理

5.2.4商品管理
5.2.5管理员
5.2.6管理员
6.系统测试
6.1 系统测试概述
6.1.1 系统测试的目的和意义
随着科技的飞速发展,互联网已经涉及各行各业,人们的办公与生活也离不开了各种互联网系统,特别是一些涉及到金融方面的,因此系统的安全性是非常重要的。软件测试的目的是找出潜在的漏洞,排除安全隐患,避免有心之人利用系统漏洞损害他人利益,对互联网造成恶劣影响。系统测试在整个软件开发中占 40%-50%的工作量,它不仅是测试源程序,而是对整个软件系统,包括需求分析,概要设计等。最终要保障软件的质量,尽可能的找出系统中存在的错误,把损失降到最低。
6.1.2 系统测试的方法
系统测试的方法有很多,比如从是否执行程序的角度考虑可分为静态测试和动态测试。从是否关心系统内部执行情况可分为黑盒测试和白盒测试。 从软件开发过程按阶段划分有单元测试、集成测试、系统测试、确认测试和回归测试。
目前在软件开发行业中,系统的测试方法主要包括双盒测试,即黑盒和白盒测试。顾名思义,黑盒测试就是把程序看做一个不可分割的整体,在知道其各个功能的前提下通过直接操作系统把得出的结果和预期结果进行比对。黑盒测试不需要知道程序内部的逻辑结构和程序的执行顺序,只看其是否是否实现前期设计的功能。“白盒”测试也成为逻辑结构测试,即需要知道程序的设计流程和执行流程,检查每一个步骤是否按正确的调用顺序进行执行。
因此我们在用黑盒测试的时候需要更多的对测试的范围进行考虑,需要考虑到用户所有输入的可能性,包括恶意的随意的输入。但是白盒测试的局限性也比较强,即不能确认已有程序是否违背现有设计规范。一般在测试中需要白盒测试与黑盒测试配合完成。
6.2 测试结论
系统性的测试是一种有序方式设法探测存在问题的程序的位置,通过对系统的功能性测试,与预期结果符合,可以满足用户对购买书籍的整体需求。系统测试是非常有必要性的,通过一些特殊的数据用例有时会得到预料之外的结果,通过对结果的分析从而找出潜在的bug修复存在的安全隐患。虽然系统测试可以找出系统的漏洞,但是更重要的还是在代码编写时加强逻辑性分析和设计,对关键代码的处理上要分析出所有可能出现的分支, 并保持一个良好的代码编写习惯,这样对后期的测试以及系统的维护会带来很大的帮助。
7.课程设计总结
7.1系统开发总结
网上交易模式在现在越来越重要,电子购物将代替传统的购物模式,逐渐成为社会的消费主流。叮叮网上书城系统就是为了满足大众的网上购书需求而设计的。通过对叮叮网上书城的设计与开发,我较全面的掌握了java的基础知识和编程技巧,了解了项目开发的三层架构体系,Spring、Mybatis、Servlet、Jsp、jQuery、js、bootstrap、css、html的知识并且懂得了在电子商务界的整体业务逻辑。在开发过程中遇到了很多困难,除了技术上的困难外还有逻辑上的,比如由于前期需求分析做的不具体在后面进行代码具体实现功能的时候会让程序产生不确定的结果,这都是程序开发中的禁忌。也正是因为经历了这些困难, 让我学到了更多的经验,需求分析这步工作直接决定这项目是否能顺利完成。 在一个项目的开发周期中,需求分析要占整个周期的一半以上。在开发一个完整项目时,不能盲目的直接就开始编写代码, 要首先做好需求分析和数据库设计工作,要先写好开发文档并严格检查其可行性,只有这些工作做好之后,在代码编
写的时候才能做到胸有成竹,在开发中不至于遇到逻辑上不通的问题,避免由于需要从新设计而带来的时间和经济上的损失。于我而言这次项目的开发让我学习了很多知识,但是这还远远不够,我会继续努力,利用现有知识去开阔自己的眼界。遇到困难保持冷静,寻找一条最优的解决方案。此次系统的开发为我以后走向工作岗位打下了坚实的基础。
7.2成员分工
***(组长):网站后台逻辑设计、代码实现、数据处理、数据库设计构建。
***(组员):网站前端页面设计、前端用户交互设计、代码实现、数据库设计构建。
7.3问题
叮叮网上书城系统从需求分析到具体功能的实现符合电子商务的各项特征,但是由于个人技术方面原因,本系统只是实现了售书的常规功能,还有一些其他功能例如物流跟踪等会在今后继续扩充。
以下是完整项目的链接:
链接:https://pan.baidu.com/s/133iSj-pThM0w3pbWX9G7Kw
提取码:c049
复制这段内容后打开百度网盘手机App,操作更方便哦

基于JavaWeb网上商城(以卖书为主)相关推荐

  1. 基于JavaWeb二手商城设计与实现

    一 设计背景 1.1 课题现状 我国互联网起步较晚,到了二十世纪末我国在线上二手物品方面的建设才显露头角,我国艰苦奋斗了十几年,国人渐渐形成在线购买二手物品的理念,开始在闲鱼.转转等二手物品app 上 ...

  2. 基于JavaScript网上商城开发设计 毕业设计-附源码261620

    Node.js网上商城的开发 摘  要 随着Internet的使用越来越广泛,在传统的商业模式中,对于日常各类商品,人们习惯于到各种商家店铺购买.然而在快节奏的新时代中,人们不一定能为购买各类商品腾出 ...

  3. node.js基于JavaScript网上商城毕业设计源码261620

    Node.js网上商城的开发 摘  要 随着Internet的使用越来越广泛,在传统的商业模式中,对于日常各类商品,人们习惯于到各种商家店铺购买.然而在快节奏的新时代中,人们不一定能为购买各类商品腾出 ...

  4. 基于Javaweb网上书城系统|购书电商商城

    <[论文]Javaweb网上书城系统>该项目采用技术jsp.servlet.jdbc.以及前端框架jQuery,tomcat服务器.mysql数据库 ,项目属于MVC模式,含有源码.论文. ...

  5. 基于SSM网上商城购物系统的设计与实现

    项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等.这里根据疫情当下,你 ...

  6. [内附完整源码和文档] 基于SSH网上商城的设计与实现

    摘 要 本文讲述了基于SSH框架的网上商城购物系统的设计与实现.所谓的网上商城购物系统是通过网站推广互联企业的商品和技术服务,并使客户随时可以了解企业和企业的产品,为客户提供在线服务和订单处理功能. ...

  7. JavaWeb网上商城的设计

    不知道从什么时候起,我爱上了写博客,对之前学得的只是进行反思.写了几天课程设计,基本功能实现了 MVC(Model View Controller)设计模式在JavaFX中有着比Swing更好的表现方 ...

  8. nodejs基于vue 网上商城购物系统

    可定制框架:ssm/Springboot/vue/python/PHP/小程序/安卓均可开发 目录 1 绪论 1 1.1课题背景 1 1.2课题研究现状 1 1.3初步设计方法与实施方案 2 1.4本 ...

  9. 基于SSM网上商城系统(附论文)

    大家好,很高兴和大家分享源码.不管是什么样的需求.都希望各位计算机专业的同学们有一个提高. 大家可以通过常用的搜索引擎,以百度为例,搜索 源码乐园 code51 ,然后再次搜索 自己想要的即可.更多的 ...

  10. 基于javaweb网上书城系统(前端+后端)

    一.系统简介 本项目采用eclipse工具开发,bootstrap+jsp+servlet+jquery技术编写,数据库采用的是mysql,navicat开发工具. 系统一共分为2个角色分别是:管理员 ...

最新文章

  1. C++实现大数的减法
  2. 脑植入芯片实现脑机交互,脑神经链会如星链般放大马斯克的光环吗
  3. 【正一专栏】读《艾思奇哲学文选第六卷》
  4. 浏览器兼容--条件样式,选择符前缀,样式属性前缀(转)
  5. 64位java_一文详解 Java 的八大基本类型!
  6. LeetCode 244. 最短单词距离 II(哈希map+set二分查找)
  7. c++ 一行输出八个数字_R语言笔记(三):数据输入与输出
  8. 2020快手K12教育培训行业数据价值报告
  9. JavaScript的原型和原型链
  10. 数据库保存经纬度,需要采用什么数据类型,小数点应该精确多少位?
  11. Linux下解压.war文件
  12. 汽车硬件测试基准介绍
  13. 基于R语言做层次聚类分析
  14. 解决关于WPS插入公式后显示不全的问题
  15. win10系统怎么去除桌面图标的小箭头
  16. 机器人轨迹规划(熊友伦)
  17. 对量子态和运算的一些基础认识
  18. Charles的安装和注册码破解
  19. GitLab——提交合并请求
  20. R语言ggplot2可视化:使用ggpubr包的text_grob函数和as_ggplot函数可视化文本段落(将指定文本段落可视化出来、指定文本段可视化为图像)

热门文章

  1. 龙芯2f平台下 Debain 6编译Lighttpd
  2. 144.绘制布朗运动曲线
  3. 基于Struts2的网上书城(仿当当网)系统
  4. 计算机 服装生产管理的变化,服装生产与管理服装生产管理概述.ppt
  5. 官方rom提取原签名工具_ROM修改工具:Dragonface+昂达OTA签名工具
  6. Google Hacker
  7. wps建立的文件后缀名为docx,写在里面的东西还不允许保存
  8. 浩海技术GHOSTXPSP3_2010浪漫圣诞纯净版
  9. wps怎么把ppt里的字体一起保存_WPS怎样将PPT中的文字导出为Word文档?
  10. 鸿蒙系统nas,5款NAS 系统横向测评,看看哪款最适合你!