图书商城系统

2023-11-11

摘  要

随着信息科学技术的不断发展与完善,信息化已经成为个人之间甚至是国家之间商务发展的一大趋势,并且广泛应用于商业贸易、国际化的网络、计算机科学以及网络通信之中。电子商务正是依托信息化技术的迅猛发展将全球化的市场集中在网络平台之中,打破了传统销售模式市场受众的局限性,成为当下人们消费的主要方式。

图书商城能够通过互联网得到广泛的、全面的宣传,让尽可能多的用户了解和熟知网上商城的便捷高效,将实现一站式的消费理念,进行图书的销售。同时相对于传统商场零售模式,极大的缩减了商家的租赁、仓储以及人工的费用。最终让利消费者。

本系统设计的现状和趋势,从需求、结构、数据库等方面的设计到系统的实现,分别为管理员用户的实现。论文的内容从系统的设计、描述、实现、分析、测试方面来表明开发的过程。本系统根据现实情况来选择一种可行的开发方案,借助java编程语言和MySQL数据库以及springboot技术等实现系统的全部功能,接下来对系统进行测试,测试系统是否有漏洞和测试用户权限来完善系统,最终系统完成达到相关标准。

关键字:图书商城springbootMySQL数据库

1.4 研究内容

图书的需求和管理上的不断提升,图书管理的潜力将无限扩大,图书商城在业界被广泛关注,本系统对此进行总体分析,将图书交易信息管理的发展提供参考。图书商城图书交易有着明显的带动效应,尤其对管理者的帮助更大。

本系统主要包括管理员和用户两个用户角色;主要包括首页、个人中心、用户管理、订单管理、评论管理、收藏管理、留言管理、公告管理、角色管理、商品管理等功能的管理系统。

1.5 论文结构

 (1)绪论

系统的开发背景,意义和系统状况等,详细讲述了系统的用处。

 (2)系统开发技术的介绍

分别对java技术MySQLB/S进行详细介绍。

(3)系统分析

本章主要是对系统可行性、系统性能、还有系统功能需求进行分析。

(4)系统设计

对系统系统功能和数据库等进行详细讲解。

(5)系统的实现

主要对首页、个人中心、用户管理、订单管理、评论管理、收藏管理、留言管理、公告管理、角色管理、商品管理的实现。

(6)系统的测试

在系统编码实现后,就需要对系统进行检测,检测的方法有黑盒测试和白盒测试两种方式,本系统采用的是黑白盒测试方法对不同组的数据进行功能模块测试。

(7) 总结与心得体会

在论文最后结束章节总结了开发这个系统和撰写论文时候自己的总结、感想,包括致谢。

3.3功能分析

图书商城综合网络空间开发设计要求。目的是将图书通过网络平台将传统管理方式转换为在网上管理,完成图书销售的方便快捷、安全性高、交易规范做了保障,目标明确。图书商城系统可以将功能划分为管理员的使用功能和用户使用的功能。

(1)、管理员的功能是最高的,可以对系统所在功能进行查看,编辑和删除,包括用户功能。管理员用例如下:

图3.1管理员用例图

(2)、用户关键功能包含用户注册登录,首页、商城列表、公告、系统介绍、关于我们、个人中心进行详细操作。用户用例如下:

图3.2 用户用例图

4.1功能结构

为了更好的去理清本系统整体思路,对该系统以结构图的形式表达出来,设计实现该图书商城的功能结构图如下所示:

图4-1 系统总体结构图

4.2.1 数据库E/R图

ER图是由实体及其关系构成的图,通过E/R图可以清楚地描述系统涉及到的实体之间的相互关系。在系统中对一些主要的几个关键实体如下图:

系统整体E/R图如下所示:

图4-5系统整体E/R图

5.1用户功能模块

图书商城,在系统首页可以查看首页、商品列表、公告、系统介绍、个人中心等内容,并进行详细操作;如图5-1所示。

图5-1系统首页界面图

商品列表界面用户可以查看商品的名称、价格库存以及上架时间等信息,如图5-2所示。

图5-2商品列表界面图

5.2管理员功能模块

后台登录,用户进入系统前在登录页面根据要求填写账号,密码,验证码和选择角色等信息,点击登录进行登录操作,如图5-3所示。

图5-3后台登录界面图

管理员登陆系统后,可以查看个人中心、用户管理、订单管理、评论管理、收藏管理、留言管理、公告管理、角色管理、商品管理等功能,还能对每个功能逐一进行相应操作,如图5-4所示。

图5-4管理员功能界面图

6.1 测试的目的和目标

完成程序的代码编写不代表着开发设计工作全部完成。相反,为了使应用系统能够正常使用,必须对程序进行测试。测试的主要目的在于能够及时发现程序编写中的种种错误,通过设计好的测试用例来发现可能的错误,通过分析错误的位置以及其对程序其他部分的可能影响来判断程序设计中的主要漏洞和不足之处,并尽量用最短的时间予以改正,从而达到使得程序更完整、更完善、更接近最初设计开发初衷的目标。

基于此,在完成图书商城系统的本应用的程序设计之后,对系统的测试就显得尤为必要。测试将采用测试用例的方式进行。测试用例是针对某一特定的软件系统进行性能测试的操作的描述,它的内容包括测试目标、环境、数据、步骤、预期、结果等等,最终的目的是用于核实开发出来的功能能否满足软件的特定需求。测试用例所包含有四个主要内容:用例标题、前置条件、测试步骤和预期结果。其中,用例标题主要描述测试软件的某项功能,前置条件顾名思义是指用例需要满足的条件,测试步骤主要描述用例的操作步骤,二预期结果指测试结果是否符合开发设计的预期要求。

本次测试将采用黑盒测试的方式进行。黑盒测试是着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。

6.2 测试内容

6.2.1  用户注册功能测试

图书销售系统上检查用户注册功能是否正常工作,输入用户个人信息,填写测试用户名和密码,填写用户信息注册模块测试用例表,如表6.1所示

表6.1  用户信息注册功能测试用例

序号

输入

预期结果

实际结果

测试结果

1

用户名:Null

密码:Null

注册用户名只能是中文

注册名只有中文

通过

2

用户名234553

密码:Null

提示密码长度必须在6-12位

提示密码长度必须在6-12位

通过

3

用户名:tzl123

密码:1ewe56

注册成功

注册成功

通过

4

用户名:eew3

密码:121189

提示用户名已存在

注册会员已存在

通过

6.2.2  用户登录功能测试

检查用户登录功能是否能成功登录系统,输入账户密码后正常登录是否正常;账号密码输入错误,可以登录;用户信息登录模块测试用例表如表6.2所示

表6.2  用户信息登录功能测试用例

序号

输入

预期结果

实际结果

测试结果

1

用户名:Null

密码:Null

提示用户名或密码不能为空

提示用户名或密码不能为空

通过

2

用户名154812

密码:Null

提示用户名或密码不能为空

提示用户名或密码不能为空

通过

3

用户名:zxl123

密码:12345

提示用户名或密码不一致

提示用户名或密码不一致

通过

4

用户名:2001545

密码:12345678

提示该用户不存在

提示该用户不存在

通过

目  录

第一章 概述

1.1 研究背景

1.2 开发意义

1.3 研究现状

1.4 研究内容

1.5 论文结构

第二章 开发技术介绍

2.1 Java技术简介

2.2 SpringBoot框架

2.3 MySQL数据库技术简介

2.4 B/S结构

第三章 系统分析

3.1 可行性分析

3.1.1 技术可行性

3.1.2 操作可行性

3.1.3 经济可行性

3.2性能需求分析

3.3功能分析

第四章 系统设计

4.1功能结构

4.2 数据库设计

4.2.1 数据库E/R图

4.2.2 数据库表

第五章 系统功能实现

5.1用户功能模块

5.2管理员功能模块

第六章 系统测试

6.1 测试的目的和目标

6.2 测试内容

6.2.1  用户注册功能测试

6.2.2  用户登录功能测试

6.2.3  上传个人信息功能测试

6.2.4  修改个人信息功能测试

6.2.5  上传商品功能测试

6.3 测试小结

第七章 总结与心得体会

7.1 总结

7.2 心得体会

致  谢

参考文献

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

图书商城系统 的相关文章

  • Java AES 128 加密方式与 openssl 不同

    我们遇到了一种奇怪的情况 即我们在 Java 中使用的加密方法会向 openssl 生成不同的输出 尽管它们在配置上看起来相同 使用相同的键和 IV 文本 敏捷的棕色狐狸跳过了懒狗 加密为 Base64 字符串 openssl A8cMRI
  • 运行具有外部依赖项的 Scala 脚本

    我在 Users joe scala lib 下有以下 jar commons codec 1 4 jar httpclient 4 1 1 jar httpcore 4 1 jar commons logging 1 1 1 jar ht
  • 我需要什么库才能在 Java 中访问这个 com.sun.image.codec.jpeg?

    我正在用java创建一个图像水印程序 并导入了以下内容 import com sun image codec jpeg JPEGCodec import com sun image codec jpeg JPEGEncodeParam im
  • MySQL MIN/MAX 所有行

    我有桌子Races与行ID Name and TotalCP 我选择分钟 TotalCP FROM Races 但是我想选择具有最小值的整行 我如何在单个查询中做到这一点 从聚合值获取整行的一般形式是 SELECT FROM Races W
  • Hazelcast 分布式锁与 iMap

    我们目前使用 Hazelcast 3 1 5 我有一个简单的分布式锁定机制 应该可以跨多个 JVM 节点提供线程安全性 代码非常简单 private static HazelcastInstance hInst getHazelcastIn
  • 匿名类上的 NotSerializedException

    我有一个用于过滤项目的界面 public interface KeyValFilter extends Serializable public static final long serialVersionUID 7069537470113
  • 在 Netbeans 8 上配置 JBoss EAP 的问题

    我已经下载了 JBoss EAP 7 并正在 Netbeans 8 上配置它 我已经到达向导 实例属性 其中要求从选择框中选择 域 当我打开选择框时 它是空的 没有什么可以选择的 因此 完成 按钮也处于非活动状态 这使得无法完成配置 我通过
  • 如何使用 Maven 打包并运行具有依赖项的简单命令行应用程序?

    我对 java 和 Maven 都是全新的 所以这可能非常简单 如果我遵循maven2hello world此处的说明 http maven apache org guides getting started maven in Five m
  • 忽略重复条目并在 EF Core 中的 DbContext.SaveChanges() 上提交成功条目

    我有一个 ASP Net Core 2 2 Web API 在我的一个控制器操作中 我向 MySQL 数据库表添加了一堆行 我使用的是 Pomelo 例如 dbContext AddRange entities dbContext Save
  • 很好地处理数据库约束错误

    再一次 它应该很简单 我的任务是在我们的应用程序的域对象中放置一个具有唯一约束的特定字段 这本身并不是一个很大的挑战 我刚刚做了以下事情 public class Location more fields Column unique tru
  • 将古吉拉特语文本插入 MySQL 表会产生垃圾字符和不可读的文本

    我有三个 MySQL 表 我正在向其中插入古吉拉特语内容 当我插入两个表时 它们插入得很好并且可读 但在一个表中 它显示垃圾字符 不可读的文本 我怎样才能解决这个问题 MySQL 有每个表的字符集设置 http dev mysql com
  • react-native run-android 失败并出现错误:任务 ':app:dexDebug' 执行失败

    我使用的是 Windows 8 1 和react native cli 1 0 0 and react native 0 31 0 添加后react native maps对于该项目 我运行了命令react native upgrade并给
  • 如何在selenium服务器上提供自定义功能?

    我知道可以通过某种方法获得一些硒功能 其中之一如下 driver getCapabilities getBrowserName 它返回浏览器名称的值 但如果它指的是一个可用的方法 如果我没有误解的话 这似乎与自定义功能有关 就像我的意思是
  • IntelliJ - 调试模式 - 在程序内存中搜索文本

    我正在与无证的第三方库合作 我知道有一定的String存储在库深处的某个字段中的某处 我可以预测的动态值 但我想从库的 API 中获取它 有没有一种方法可以通过以下方式进行搜索 类似于全文搜索 full程序内存处于调试模式并在某个断点处停止
  • Eclipse 替换所有类中的文本?

    是否有一个命令可以将 Eclipse 项目中所有 java 文件中的一串代码替换为另一串代码 在 Visual Studio 中 有一个 在所有文件中替换 选项 我在 Eclipse 中似乎找不到该选项 Press Ctrl H or lo
  • 在 MySQL 中使用 COUNT 时如何返回 0 而不是 null

    我使用此查询返回存储在 sTable 中的歌曲列表以及存储在 sTable2 中的总项目数 SQL queries Get data to display sQuery SELECT SQL CALC FOUND ROWS str repl
  • MySQL 按重复项从上到下排序

    我有一个lammer问题 因为我不是mysql专业人士 我有类似的字段 id color 1 red 2 green 3 yellow 4 green 5 green 6 red 我想按重复项进行分组 最常见的重复项先进行分组 所以应该这样
  • Mysql 创建定义器

    我创建了一个在 CentOS Web 服务器上运行的 Intranet Web 应用程序 该应用程序使用另一个本地服务器 始终是 CentOS 作为 MySQL 数据库 在数据库内部我创建了例程 这些例程总是这样开始 CREATE DEFI
  • MySQL Connector C/C API - 使用特殊字符进行查询

    我是一个 C 程序 我有一个接受域名参数的函数 void db domains query char name 使用 mysql query 我测试数据库中是否存在域名 如果不是这种情况 我插入新域名 char query 400 spri
  • 在 RESTful Web 服务中实现注销

    我正在开发一个需要注销服务的移动应用程序 登录服务是通过数据库验证来完成的 现在我陷入了注销状态 退一步 您没有提供有关如何在应用程序中执行身份验证的详细信息 并且很难猜测您在做什么 但是 需要注意的是 在 REST 应用程序中 不能有会话

随机推荐

  • 二叉堆

    二叉堆 在学习二叉堆之前 我们得理解堆是什么 定义 堆通常可以看作成一个树 它有任意节点的值都不大于 不小于 其子节点的值 二叉堆的意思就是 它有两个子节点 可分为最大堆和最小堆 最大堆 父节点的值总是大于或等于任何一个子节点的值 最小堆
  • Fourth season fifteenth episode,is Ross man enough to play rugby?

    Scene A beauty parlour Rachel is getting a manicure while Chandler yes Chandler is getting a petticure Does that scare y
  • org.springframework.beans.factory.BeanCreationExce

    org springframework beans factory BeanCreationException Error creating bean with name u Injection of resource methods fa
  • 代码审查总结

    近期所带项目 由于人员素养良莠不齐 写出的代码质量不一 为了保证项目质量 不得不正确代码一行行进行审查 同一时候 为了对代码审查有个更深的了解及借鉴其他同行实践成果 在网上搜集了不少项目知识 以下是对这些知识做出的整理 第1章前提 在 Wi
  • urllib库的使用

    个人简介 作者简介 大家好 我是W chuanqi 一个编程爱好者 个人主页 W chaunqi 支持我 点赞 收藏 留言 愿你我共勉 若身在泥潭 心也在泥潭 则满眼望去均是泥潭 若身在泥潭 而心系鲲鹏 则能见九万里天地 文章目录 urll
  • caffe源码学习中--src/caffe/solver.cpp

    include caffe solver factory hpp中的solverRegistry类和SolverRegisterer 类 brief A solver factory that allows one to register
  • Unity屏幕坐标(Input.mousePosition)转换UI坐标

    Unity屏幕坐标 Input mousePosition 转换UI坐标 1 屏幕坐标的起点位置 左下角为 0 0 点 右上角为 Screen width Screen height 2 UI坐标的起点位置 屏幕中心点 方法一 Vector
  • linux下svn服务器搭建及使用(包含图解)

    今天自己动手在linux搭建了svn服务器 把具体过程和一些自己的见解分享给大家 希望对大家有所帮助 客户端svn 大家见到的小乌龟 下载地址为 http tortoisesvn net downloads html 这里客户端的安装就不作
  • Lua使用指南

    目录 简介 环境配置 基本语法 变量 运算符 数据类型 字符串 table 表 函数 常用语句 if while 循环 repeat until for循环 简介 lua 是一种开源 轻量的脚本语言 其设计目的是嵌入应用程序中 为应用程序提
  • Android imageview设置背景图,src,background,foreground

    foreground src 和 background 属性区别 1 background指的是背景 foreground指的是前景 而src指的是内容 三者可以同时使用 2 src填入图片时 是按照图片大小直接填充 并不会进行拉伸 而使用
  • Ubuntu搭建PPTP和连接到PPTP

    Ubuntu16 04搭建PPTP服务 TP link端口映射 检测服务器是否支持MPPE模块 sudo modprobe ppp compress 18 echo MPPE is ok 如果输出 MPPE is ok 则说明服务器的lin
  • 映射表

    集是一个集合 它可以快速地寻找现有的元素 但是要查看元素 就需要查看的元素的精确副本 这不是一种非常通用的查找方式 通常 我们知道某些键的信息 并想要查找与之相对应的元素 映射表 map 数据结构就是为此设计的 映射表用来存放键值对 如果提
  • 【Quant】80+面试,5个offer,Quant大神总结分享各家quant面试题

    Why Quant 在北美 这个工作基本上是理工科的中国学生进入金融领域最主要的渠道 而且 现在国内也有朝这方面发展的趋势 如果你是理工科背景 或者对数理 编程和金融比较感兴趣 不妨尝试在就业的时候向这个领域发展 它的一个好处是在工作的时候
  • linux中关闭防火墙

    systemctl status firewalld查看当前防火墙状态 systemctl stop firewalld关闭当前防火墙 systemctl disable firewalld开机防火墙不启动
  • 解决合并单元格筛选时只出现首行的小技巧

    前言 Excel小窍门 让办公更便捷 情景 合并单元格后 单一筛选时只会显示对应的第一行数据 原因 Excel筛选单元格时 遇到不连续区域 即中间有空白单元格 会识别不到后续内容 合并单元格后 除首行外 其余行的值会被自动清空 从而导致在筛
  • NGINX--初步变量详解

    一 编译echo模块 1 echo模块下载以及解压 wget c https gitee com mirrors echo nginx module repository archive master zip unzip master zi
  • 电脑提示d3dcompiler_47.dll缺失怎么修复?

    d3dcompiler 47 dll是 Microsoft 的 DirectX 11 核心组件之一 它主要用于编译和运行 Direct3D 11 应用程序和游戏 如果您的系统中缺少这个 DLL 文件 可能会导致一些程序无法正常运行 很多游戏
  • CMake----if与option使用小记

    在CMake中if语法比较简单 if后面括号中的参数随着CMake版本的推进 在else和endif中也可以不用写了 if address else endif 对于if语法 比较常用的就是字符串比较了 这里个人简单用到过两种 一种是这个变
  • 使用scoped穿透方法实现修改vue中mint UI组件样式

    效果 代码 div class goods swiper div
  • 图书商城系统

    摘 要 随着信息科学技术的不断发展与完善 信息化已经成为个人之间甚至是国家之间商务发展的一大趋势 并且广泛应用于商业贸易 国际化的网络 计算机科学以及网络通信之中 电子商务正是依托信息化技术的迅猛发展将全球化的市场集中在网络平台之中 打破了