基于java web的网上书店系统设计

随着互联网的越发普及,网上购物成为了当下流行的热门行为。网络上开店创业有许多的优势:投入少,启动 资金低,交易便捷。网上书店与传统的线下书店比起来优势巨大,网上书店的经营方式和销售渠道是不同与线下书 店的,网上书店24小时无休的服务是线下商店所无法比拟的。本文正是在这种背景下,结合了现实中的网上书店生 存与发展需要,自行研发了一个网上书店系统。本系统采用Pycharm作为编辑软件,本系统中使用近来最流行的框架Django进行编写本系统, 在本系统中采用 MySQL数据库来存储信息网上书店系统的部分分为两个部分,分别面向的用户角色是消费者和管理员。用户部分的主要功能有登录、注册、商城界面、购物车、用户中心。用户如果没有账号可以先进行注册,注册登录后进入商城首页进行选购图书,挑选完图书可以添加进入购物车等待一次性结算。如果用户想要修改自己的账户 信息或者收获地址可以进入用户中心进行修改。管理员部分主要功能分为登录、添加修改删除商品信息。

关键词:互联网,网上书店,MySQL,Pycharm,Django

Abstract

With the increasing popularity of the Internet, online shopping has become a popular popular behavior. There are many advantages of opening stores online: less investment, low start-up capital, and convenient transactions. Compared with traditional offline bookstores, online bookstores have huge advantages. The operation mode and sales channel of online bookstores are different from offline bookstores. The 24-hour service of online bookstores is incomparable to offline stores. It is in this context, this paper combines the real online bookstore survival and development needs, and has developed an online bookstore system. This system uses Pycharm as the editing software, this system uses the most popular recent framework Django to write this system, in this system uses MySQL database to store the information network online bookstore system part is divided into two parts, respectively for the user roles are consumer and administrator. The main functions of the user part are login, registration, mall interface, shopping cart, and user center. If users do not have an account, they can first register. Register and log in and then enter the home page of the mall to buy books. After selecting books, they can add them to the shopping cart and wait for one-time settlement. If the user wants to modify their account information or harvest address, they can enter the user center for modify. The main functions of the administrator part are: login, adding, modifying and deleting commodity information.

Key words: Internet, online bookstore, MySQL, Pycharm, Django

第1章 绪论

1.1 课题的背景与意义

1.1.1 课题的研究背景

2021年8月27,中国互联网络中心(CNNIC)发布第48次《中国互联网发展状况统计报告》。截止2021年的6月 份,我国的网民数量规模到达了10.11亿,较2020年12月增长2175万,互联网的普及率到达至71.6%。对比于我国刚 接入互联网以来(上世纪九十年代),网络以它前所未有的速度改变着我们的生活方式。电子商务走向规模化的今天,纵观其中,起到支撑性作用的就是销售终端的支付体系。如今我国的支付体系日 益完善,具有人性化,多样选择和安全稳定等诸多特点。随着淘宝网、京东等购物网站的发展与壮大,支付宝、网 银在线支付,货到付款等等的支付方式也变的广为人知。

在以此为背景下, 网上书店的优势与传统的书店的优势比起来更加的明显。网上书店,在买书相比而言更加的 节省时间和精力,而且一般网上书店拥有的图书种类更加的齐全,浏览起来更加的方便。另外网上买书不会受到地 区的限制,所以显而易见出版物的发行范围也会扩大。所以网上购物书店有着取代实体书店的趋势,因为网上书店 的崛起是互联网电子商务发展的必然结果。

1.1.2 课题研究意义

近年来, 网络购物已经成为了当今不可或缺的一部分。网络购物已经彻底的融入到了我们得生活之中。人们忙 碌了一天后,大部分的精力时间花在了工作上,肯定没有精力去逛商场,只想回到家里好好的放松,所以,去线下 实体店购买物品就显的那么的麻烦。如今网络的兴起,使得网上购物越发得成为了一种新型的消费方式。试想一下 在人们费尽心力的工作之后, 回到家,只要动动手指,就可以买到自己心爱的物品,根本不需要花费过多得时间与 精力。因此,网购对于繁忙的上班族是十分有益的一件事情。而对于学生党来说,网上购物是利弊共存的。因为适 度的消费是可以接受的,学生购买物品更加方便, 而且网上购物的消费也比实体店来的划算,因为网店没有像实体 店一样需要考虑到房租水电和装修的问题,因此这网购得成本肯定会比实体店成本低,自然物品也就更加的便宜。 弊端自然就是没有控制的买入。

正因为网络购物的兴起,对于一些线下实体书店来说。这些书店企业在网上书店和大型书店的渠道销售模式的 两面夹击下,生存形式就很不乐观了。因此唯有适应这些环境跟随时代的变化才能在未来的市场竞争下有一定的实 力,本文所设计的网上书店正是给了这些书店带来了福音,为这些书店带来更加宽广的蓝海市场,网络销售的产生 是流通领域中的一场重要的历史革命,具有十分重要的意义。

1.3设计目标

本次项目的设计内容是一个网上购书系统,本系统目的是使消费者不必花费更多的时间与精力去线下实体书店 购买图书,并且线下实体书店的购物种类可能满足不了消费者的需求, 而且网上书店的价格是透明公开的,使得消费者往往可以通过在各个网上书店查找需要购买的图书进行价格比较,可以挑选最便宜的网上书店进行购买。对于 网上书店的经营者来说,网上书店系统不仅节省了大量的人工、房租、水电成本,还更容易了解到消费者的购物需 求。

系统主要有两种权限,分为管理员权限以及普通用户。管理员可以手动添加新的商品,以及对商品信息作出更 改、删除等操作,主要通过后台管理系统来操作数据的。对于普通用户也就是消费者而言,可以查看商品的具体价 格,优惠情况,当需要多次购买图书时还可以将钟意的商品先放入购物车中,等待一次性付款。还有在下单后可以 选择派送地址,以及选择支付方式,比如货到付款、微信、支付宝等多种支付方式。

1.4 论文介绍

当下, 我国的网上书店的品质参差不齐,虽然网上书店的数目众多,但是具备市场竞争力的网上书店并不是太 多。本篇文章正是在这种情形下,结合现实中网上书店的生存发展需要,研制的一个网上书店系统。本次网上书店 毕业设计论文分为了七个部分,概括如下:

第一部分,引言部分。主要描述了课题的背景及其意义,网上书店的发展市场, 以及在本次项目中开发的目标做了 一些说明。

第二部分,主要描述了构建网站的必备知识与技术简介部分。主要介绍了本次系统开发中使用到的开发工具、数据 库、数据库可视化工具、与页面的布局有关的技术。

第三部分,对网上书店的系统需求和功能进行详细的介绍以及说明,主要包括系统的功能性和可行性进行分析 第四部分,对系统的整体框架进行描述以及对数据库的表的信息进行说明介绍。

第五部分,会对本项目开发的每一个功能模块进行系统说明的介绍。

第六部分,会对网上书店项目进行测试,确保线上可以正常运行。

第七部分,总结以及展望。

第2章 开发工具及相关理论

2.1 Django框架简介

2.1.1 Django是什么

Django是一个高水准的使用python编程语言驱动的一个开源模型。视图,控制器风格的一种web应用程序框架。 另外,在Django框架里,包括了许多功能强大的第三方插件库,使得Django表现出较强的扩张性。Django项目源自 于一个在线新闻web站点,在2005年以开源形式广为流传。Django具有他核心组件分别是:用于创建模型的对象关系 映射,为管理员用户设计较好的管理界面,URL的设计,对设计者友好的模版语言,缓存系统。

Django如今成为了web开发者的首选框架。Django是一个遵循MVC设计模式的一种框架。MVC是Model、View、Controller三个单词的简写,可以读成模版、模型、视图。Django也涉及到MTV的设计方法。MTV是Model、 Template、View三个单词的简写,代表着模型、模版、视图。Django的优势之一是控制器接收用户输入的部分框架 可以自行处理。

2.1.2 MTV模式

如上述,Django是使用的MTV架构模式,他们各自的职责:模型(Model),即数据存取层。他主要负责处理与 数据相关的所有事务,比如说,如何存取、如何验证有效性、包含哪些的行为以及数据之间的各种关系等等。模版 (Template),即表现层,他主要负责处理与表现相关的决定,比如,如何在浏览器页面呈现相关的界面,我们最 终看到的浏览器页面是由模版层回应相关的html、css、javascript文件加上浏览器对于html、css、javascript的 解析最终呈现出来的。视图(view),即业务逻辑层,他主要负责存取模型及调取恰当模版的相关逻辑。他同时是 模版与模型的中间桥梁。在下图我们可以简要看一下MTV架构。

图2.1

2.2 Pycharm简介

本项目系统开发工具使用pycharm,pycharm是当下流行的Python开发编辑器,它带有一整套的可以帮助用户在 使用Python语言时开发时提升效率的工具,举例来说,调试、语法高亮、项目管理、代码跳转、语法错误警告、脚 本控制等。此外该IDE还提供了一些高级功能,来支持Django框架下的专业web开发,这也是我使用这个工具的主要 原因。 有了他自带的HTML、css、javascript编辑器,用户可以更加方便的通过Django框架进行web开发。

2.3 MySql数据库简介

数据库顾名思义就是存储数据的仓库,他的本质是一个文件系统,数据按照特定的格式将数据储存起来,用户 可以对数据库中的数据进行增加、删除、改变、查询。等一系列操作。

数据库的发展由最开始的人工管理阶段,在那时候数据根本就不保存,也没有专门的软件来管理,往往是把数 据和程序一起输入到计算机就完事了。到了文件系统的阶段,有了外存磁盘的基础,数据终于可以保存起来了,并 且数据可以反复的利用,但是这样还是有一些缺点的,比如,数据的冗余、一致性不强、数据的联系弱等等。关系 型数据库的出现解决了这些问题,代表的DBMS有:Oracle、DB2、MySQL、SQL Server、SyBase等。 本项目中使用的 就是MySQL,它具有运行速度快、开源、与其他大型数据库的设置和管理相比起来,MySQL复杂程度较低,容易上手、可移植性强,能在多个不同的操作系统中使用比如windows、linux、MacOS等。

第3章 需求分析

3.1 系统可行性分析

天天学术AI在开始研发网上书店项目时需要慎重的进行考虑到系统的可行性,比如选定设计网上书店系统使用到的技术, 如果使用太复杂的技术,导致生产周期变的更佳的漫长、维护成本更高那是得不偿失的。所以我们可以选择相对不 那么难维护的技术来进行选择,经过调研发现Django技术使用来开发网上书店是最好的选择。以下将详细的从几个 方面来分析。

3.1.1技术可行性

在开始研发项目时,技术选型是最重要的。网上书店所使用到的技术目前正在被广泛使用。Django框架目前是 一个非常成熟的web开发框架,他所提供的功能非常的齐全,虽然Django有一定的技术门槛,但是官方提供了完善的 新手引导教程。

3.1.2 社会可行性

因为网络购物的兴起,对于一些线下实体书店来说。这些书店企业在网上书店和大型书店的渠道销售模式的两 面夹击下,生存形式就很不乐观了。因此唯有适应这些环境跟随时代的变化才能在未来的市场竞争下有一定的实力,本文所设计的网上书店正是给了这些书店带来了福音,为这些书店带来更加宽广的蓝海市场。网上书店的出现 也顺应了时代的变化,在如今这个快节奏的时代下,人们并没有太多的时间去线下实体店去慢慢挑选图书,而且如 果想买指定得书籍的话在实体书店寻找也是一个耗费时间的事情,而网上书店完美的解决了问题了,你只需要查找 关键词,网上书店系统就能快速的寻找到你需要的图书。

3.1.3 经济可行性

本次项目所使用到的技术在前面已经做了详细的叙述了,开发环境是使用的pycharm,所使用到的系统个人笔记 本电脑的MacOS操作系统,python使用的解释器是3.8.0版本的。Django、Python解释器、Pycharm都是开源免费且免 费的,网上书店项目不仅节省了消费者的时间和精力,而且也减少了开店的成本,使得投入最少的资金,赚取更多 的利润。

3.1.4 操作可行性

本次网上书店系统有两种角色分别为,管理员与普通用户。无论是管理员还是普通用户都需要先登录才能进行 操作。本系统使用的是流行的B/S架构,项目在启动后,管理员和普通用户都可以在浏览器上进行项目的访问。本项 目前端使用了html、css、js来绘制界面,本项目界面简洁大方。普通用户可以在系统的指引下完成登录与注册的操 作。管理员的注册就必须在项目下使用代码来完成注册,管理员与普通用户注册完后都可以在系统界面的提示下进 行自己权限内的操作,具有操作的可行性。

3.2 系统功能需求分析

3.2.1 业务需求

线下书店受到房租、水电、雇员成本影响,经营的面积会受到限制,连带着所提供的图书数量和种类不一定齐全,而网上书店可以完美的解决这个问题,网上书店不需要考虑房租等成本问题,所以商品更加的齐全。而且还为 消费者节省了大量的时间精力成本。目前市场蓝海一片我们可以抓住这个稍纵即逝的机会来跟紧时代的潮流,避免 被淘汰。

3.2.2 用户需求

在当下快节奏的生活中,人们忙碌了一天后,大部分的精力时间花在了工作上,肯定没有精力去逛商场,只想 回到家里好好的放松,所以,去线下实体店购买物品就显的那么的麻烦,如今网络的兴起,使得网上购物越发得成 为了一种新型的消费方式。试想一下在人们费尽心力的工作之后,回到家,只要动动手指,就可以买到自己心爱的 物品,根本不需要花费过多得时间与精力。因此,网购对于繁忙的上班族是十分有益的一件事情。本系统的出现可 以为时间不太充裕的消费者节省时间成本。本系统界面简洁,提示完善,可以给购物者一个完美的消费体验。

3.2.3 功能需求

本项目的网上书店的设计实现目标是实现系统管理员界面、普通用户的两种不同角色的不同权限功能。对于最 高权限管理员来说可以添加商品、添加种类、查看商品列表、查看订单列表、订单详情。对于普通用户来说可以在 登陆后可以点击商品进行详细的查看当前商品的具体价格,以及是否有打折。进行挑选钟意的图书后,可以把钟意 的图书先放入到购物车中等待一起结账。在结账操作时有多种付款方式,比如可以货到付款、微信支付、支付宝支 付等等方式。

3.3 系统实例建模

3.3.1普通用户功能用例图

图3.1 普通用户模块

3.3.2管理员功能用例图

图3.2 管理员模块

第4章 系统总体设计

4.1 系统功能设计

系统功能模块图如图4.1所示:

图4.1 系统功能模块图

4.2 系统功能模块介绍

4.2.1 普通用户模块

在网上书店的项目启动后,用户可以在书城的首页进行登录操作,如果还没有账号需要进行注册,用户登录后 可以点击图书进行查看详细商品信息,如果需要购买多种商品可以添加进购物车里等待一次性付清。本系统还有一 个用户中心用户可以在用户中心修改密码、添加收获方式。在浏览完商品之后如果不想购买某种图书了用户还可以 进行删除操作,删除不喜欢的商品,用户还可以在购买时选择某些商品优先进行购买。

4.2.2 管理员模块

管理员是网上书店最高的权限拥有者, 管理员可以登录后进行对商品种类进行增加、删除操作,还可以对商品 进行添加、修改操作,浏览数据库图书的数量等操作。

4.3 数据库表设计

本次项目使用的MySQL作为数据库,数据库名为Book,本项目数据库使用主要涉及到六个数据表的使用,分别为 普通用户表(User_userinfo)、用户地址表(User_address)、图书表(Shop_product)、图书种类表  (Shop_category)、管理员表(auth_user)、图片表(adminuser_imagerecord)。具体的数据表信息如下图所示。

表4.1 普通用户表

字段名数据类型字节长度备注是否主键
uid Username email phone Password_hashint varchar varchar Varchar Text11 30 64 15 1073741823物理主键 账户名 用户邮箱 账户手机号 密码

表4.2 用户收获地址表

字段名数据类型字节长度备注是否主键
id province city district detail get_name get_phone get_code Userinfo idint varchar varchar varchar Varchar Varchar Varchar Varchar Varchar11 30 30 30 128 30 128 30 50物理主键 省 城市 区 详细地址 签收人 联系方式 邮政编码 关联账户

表4.3 图书表

字段名数据类型字节长度备注是否主键
pid pdname pdprice discount pdimage pdinfo category_idint varchar varchar Varchar Text Varchar Varchar11 50 50 50 11 50 50物理主键 图书名 图书价格 折扣 展示封面 图书详细 分类

表4.4 图书种类表

字段名数据类型字节长度备注是否主键
cid kindint varchar11 30物理主键 图书类型

表 4.5 管理员表

字段名数据类型字节长度备注是否主键
id password is_superuser username email date_joinedint varchar int varchar varchar date11 50 11 5000 128 26物理主键 密码 是否超级用户 用户名 邮箱 添加时间

第5章 系统实现

5.1 用户模块

5.1.1 用户注册

在网上书店项目成功启动后,我们首先会看到购物书城可以查看商品但是要购买图书还需要进行登录,如果没 有账号可以先进行注册操作,在书城的右上方有一个注册按钮,点击之后会跳转到注册页面在注册页面输入需要注 册的用户名密码,以及确认一次密码和用户的邮箱,账号在注册时会进行格式检查和确认账号是否存在如果存在会提 示重新填写用户名,具体实现方法是前端发送ajax请求给视图层,视图层函数(regist_exist)调用模型层来检查是 否已经有用户注册了,注册界面如下

5.1.2 用户登录

模版层在校验完数据后,会进行提交数据视图层函数(login)会进行对数据库的查询,在数据库找到用户后会进行匹配密码操作,如果不匹配会显示密码错误,匹配则回到书城首页并且有账号信息在右上方。登录页面展示如 下。

5.1.3 商品详情页面

在书城首页点击一个商品是会通过a标签的链接来向视图层请求并且跳转到商品详情页面,视图层函数 (prodetail)来处理a标签传递过来的pid参数,之后调用模型层来查找对应的图书详细,并把这些信息填充信息放入detail.html最后返回给用户。

5.1.4 用户中心界面

在用户登录账号后,用户可以到用户中心界面来修改或者填写收货的地址、手机、邮政编码、签收人姓名。

5.1.5 用户购物车界面

在用户挑选完所有需要购买的商品后,可以去玩购物车界面进行结算操作,在购物车中还可以进行挑选本次的购买商品,如果不想要某件商品还可以进行删除商品的操作。在点击忘结算后跳转到结算页面,结算页面可以选择 货到付款、微信支付宝等付款方式。

5.1.6会员中心

会员中心也是患者最为重要的一部分,在会员中心可以查看自己的预约状况,以及修改自己的个人账户密码等 操作,如果当前的用户已经完成了挂号信息那么就可以直接点击挂号信息链接实现信息的查看,和门诊挂好一样, 患者在挂号之后可以在线缴纳挂号费用。同样的用户还可以再我的留言里查看当前用户发布的留言信息,可以实现 在收藏夹里查看我的收藏信息。由于会员中心是患者信息最全面的一个操作模块。所以在会员中心中设置账户信息 模块可以实现对账户信息的查看、实现对账户余额的查看、以及自己个人信息的修改。同时在安全中心部分如果用 户忘记了自己的密码点击安全密码正确输入自己设置的密保问题重新找回密码。

本站文章通过互联网转载或者由本站编辑人员搜集整理发布,如有侵权,请联系本站删除。

本文链接:https://www.ttsai.com.cn/news/1705.html

滚动至顶部