基于Python 的图书销售系统

目  录

摘要

1 绪论

1.1 研究背景和意义

1.2国内外研究现状

1.3论文结构与章节安排

2 系统分析

2.1 可行性分析

2.1.1 技术可行性分析

2.1.2 经济可行性分析

2.1.3 操作可行性分析

2.2 系统功能分析

2.2.1 功能性分析

2.2.2 非功能性分析

2.3 系统用例分析

2.4 系统流程分析

2.4.1系统开发流程

2.4.2 用户登录流程

2.4.3 系统操作流程

2.4.4 添加信息流程

2.4.5 修改信息流程

2.4.6 删除信息流程

2.5本章小结

3 系统总体设计

3.1 系统模块设计

3.2 数据库设计

3.2.1 数据库概念结构设计

3.2.2 数据库逻辑结构设计

3.3本章小结

4 系统详细设计与实现

4.1学生用户功能模块

4.1.1 前台首页界面

4.1.2 用户注册界面

4.1.3 用户登录界面

4.1.4我的账户界面

4.1.5 图书商城界面

4.2管理员功能模块

4.2.1取消订单管理界面

4.2.2系统管理界面

4.2.3 商城管理界面

5系统测试

5.1系统测试的目的

5.2系统测试方法

5.3功能测试

结论

参考文献

致  谢

摘 要

本论文针对图书销售的需求,设计并实现了一种基于Python的图书销售系统。该系统旨在提供一个方便快捷的图书销售平台,使得用户能够轻松浏览和购买图书。系统的设计采用了现代化的前端技术,使得用户界面友好、响应迅速。后台则使用Python作为开发语言,利用其丰富的库和框架构建系统的核心功能。系统支持用户的注册和登录,并提供个人化的图书推荐功能,以满足用户的个性化需求。此外,系统还提供了订单管理和支付功能,使得用户可以方便地管理订单并完成支付。经过实际测试,该系统表现出良好的性能和稳定性,能够满足图书销售的基本需求。因此,本系统具有一定的实用价值,并可为图书销售行业提供参考和借鉴。

总之,基于Python的图书销售系统是一款非常实用的软件工具,对于图书销售水平和效率,促进销售质量的提升具有重要意义。

关键词:图书销售系统;Python;

Abstract

This paper designs and implements a book sales system based on Python for the demand of book sales. The system is designed to provide a convenient and fast book sales platform for users to easily browse and purchase books. The system is designed with modern front-end technology, making the user interface friendly and responsive. The background uses Python as the development language, and uses its rich library and framework to build the core functions of the system. The system supports user registration and login, and provides personalized book recommendation function to meet the personalized needs of users. In addition, the system also provides order management and payment functions, allowing users to easily manage orders and complete payments. After practical testing, the system shows good performance and stability, and can meet the basic needs of book sales. Therefore, this system has a certain practical value, and can provide a reference and reference for the book sales industry.

In short, the book sales system based on Python is a very practical software tool, which is of great significance for the level and efficiency of book sales, and for promoting the improvement of sales quality.

Keywords:Book sales system; Python;

1 绪论

1.1 研究背景和意义

随着互联网技术的发展,电子商务的兴起对传统的图书销售行业带来了巨大的冲击。传统的图书销售模式存在库存管理困难、信息传递不畅、顾客服务不佳等问题,这些问题严重影响了图书销售企业的运营效率和顾客满意度。因此,开发一个基于Python的图书销售系统,旨在解决这些问题,提高图书销售企业的运营效率和顾客满意度,具有重要的现实意义。

基于Python的图书销售系统的开发,不仅可以提高图书销售企业的信息化水平,还可以通过数据分析和预测,为企业的决策提供支持。此外,该系统还可以提供个性化的推荐服务,满足不同顾客的需求,提高顾客满意度。同时,该系统还可以通过实时更新库存信息,优化库存管理,降低库存成本。

综上所述,基于Python的图书销售系统的开发具有重要的现实意义和学术价值。通过该系统的开发和应用,可以提高图书销售企业的运营效率和顾客满意度,推动图书销售行业的健康发展。

1.2 国内外研究现状

基于Python的图书销售系统在国内外的研究现状呈现出积极的发展趋势。随着信息技术的不断发展和应用,越来越多的学者和机构开始关注和研究基于Python的图书销售系统的开发和应用。

在国内,开发工具的选择:Python作为一种简单易学、功能强大的编程语言,在图书销售系统的开发中得到了广泛应用。许多国内图书销售系统开发者选择使用Python作为开发工具,如使用Django框架进行系统开发。系统的功能模块:国内图书销售系统通常包括用户管理、订单管理、库存管理、销售统计等功能模块。这些模块的实现可以提高图书销售的效率和管理水平系统的性能优化:一些开发者会注重对系统性能进行优化,如使用数据库连接池技术提高数据库查询效率,使用缓存技术提高系统响应速度等。

在国外,许多图书销售系统开发者更加注重系统界面的设计和用户体验,以便更好地吸引用户和提高转化率。后端架构的选择:在后端架构方面,Python作为开发语言,被广泛用于开发图书销售系统。国外一些图书销售系统采用Python的多线程和异步处理技术,以提高系统的处理能力和响应速度系统的安全性和可靠性:许多开发者也会关注系统的安全性和可靠性,如采用加密技术保护用户数据,使用缓存技术避免频繁的数据库查询等。

综上所述,Python作为一种流行的编程语言,在图书销售系统的开发中得到了广泛应用。无论是国内还是国外,图书销售系统的研究都涉及到多个方面,包括开发工具的选择、系统的功能模块、性能优化、前端界面设计、后端架构选择以及系统的安全性和可靠性等。未来,随着Python技术的不断发展和应用场景的不断拓展,基于Python的图书销售系统将会得到更多的关注和应用。

1.3 论文结构与章节安排

本文共分为六章,章节内容安排如下:

第一章:引言。第一章主要介绍了课题研究的背景和意义,国内目前相关研究现状以及本文的研究内容与主要工作。

第二章:系统需求分析。第二章主要从系统的用户、功能等方面进行需求分析。

第三章:系统设计。第三章主要对系统框架、系统功能模块、数据库进行功能设计。

第四章:系统实现。第四章主要介绍了系统框架搭建、系统界面的实现。

第五章:系统测试。第五章主要对系统的部分界面进行测试并对主要功能进行测试

第六章:总结。

2 系统分析

本章内容概括了图书销售系统的可行性分析、功能分析以及用例分析。

2.1 可行性分析

2.1.1 技术可行性分析

图书销售系统在技术可行性方面具有广泛的支持和应用。Python作为一种高级编程语言,拥有丰富的第三方库和工具,可以轻松地处理各种技术需求。例如,Python的数据库访问工具和ORM框架可以方便地与数据库进行交互,存储和管理预约信息。Python也支持图形化界面开发,可以创建友好且易于操作的用户界面。总体而言,图书销售系统在技术可行性方面具备丰富的资源和支持,可以满足系统的各项技术需求,并提供稳定、可靠的功能和性能。

2.1.2 经济可行性分析

图书销售系统在经济可行性方面具有优势。Python作为一种免费且开源的编程语言,可以降低开发成本并提高效率。开发人员可以利用Python的大量开源库和框架来加快系统开发速度,避免从头开始编写复杂的功能模块。此外,Python还拥有活跃的社区和广泛的用户基础,使得开发人员能够轻松获得支持和解决问题。同时,Python语言的易学性和简洁性也减少了培训成本和开发周期。综上所述,图书销售系统在经济可行性方面是有利的,可以有效地控制开发成本并提高投资回报率。

2.1.3 操作可行性分析

图书销售系统基于Python具有操作可行性。通过使用Python作为开发语言,可以充分利用其简单易学、跨平台和丰富的第三方库等特性,快速构建一个功能完备且稳定的系统。Python提供了丰富的数据库访问工具和网络编程库,使得开发人员能够轻松地处理预约信息的存储和管理,以及与用户进行交互和通信。此外,Python还具备强大的数据处理和图形化界面开发能力,可以满足友好用户界面的需求。总之,图书销售系统在操作上是可行的,并且能够提供高效、灵活和易用的管理功能。

2.2 系统功能分析

2.2.1 功能性分析

图书销售系统划分为了学生用户管理模块和管理员模块这两大部分。

普通用户功能介绍:

注册登录:提供普通用户注册和登录功能,确保用户身份的唯一性和安全性。

首页:显示图书销售系统的主页,包括轮播图、图书商城、可以和客服在线沟通等内容,方便用户获取重要信息。

图书商城:展示了商品列表和商品热门列表,方便用户进行点赞、收藏、评论和选购。

商城管理:展示我的购物车、我的订单、我的地址等信息,方便用户了解自己的订单信息。

图书信息:展示图书信息推荐,包括图书的名称、分类、作者等信息。

我的账户:显示用户的账户信息,可以修改个人信息或者修改密码。

个人中心:提供个人中心功能,包括个人首页、取消订单、用户评价、订单配送和收藏等,方便用户管理自己的订单。

管理员功能介绍:

登录:管理员需要通过安全的登录界面输入用户名和密码,以确保系统的安全性和身份验证。

后台首页:显示管理员后台的主页,可看到商品销售金额统计、商品销售数量统计,方便管理员了解图书销售情况。

系统用户:管理员可以管理系统中的普通用户和管理员信息,包括添加、编辑、删除用户等。

取消订单管理:管理员可以对取消订单列表进行查询、重置、删除、添加等。

用户评价管理:管理员可以对用户评价列表进行查询、重置、删除、添加等,方便用户反馈意见。

图书分类管理:管理员可以对图书分类列表进行查询、重置、删除、添加等,方便用户查阅购买。

图书信息管理:管理员可以对图书信息列表进行查询、重置、删除、添加等,方便用户购买。

系统管理:管理员可以管理系统的相关设置,包括首页轮播图的添加、编辑、删除等操作,提升系统的用户体验。

商城管理:管理员可以对商城上的图书进行分类、订单、配送等管理。

2.2.2 非功能性分析

图书销售系统的非功能性需求比如图书销售系统的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下2-1表格中:

2-1图书销售系统非功能需求表

安全性

主要指图书销售系统数据库的安装,数据库的使用和密码的设定必须合乎规范。

可靠性

可靠性是指图书销售系统能够安装用户的指示进行操作,经过测试,可靠性90%以上。

性能

性能是影响图书销售系统占据市场的必要条件,所以性能最好要佳才好。

可扩展性

比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。

易用性

用户只要跟着图书销售系统的页面展示内容进行操作,就可以了。

可维护性

图书销售系统开发的可维护性是非常重要的,经过测试,可维护性没有问题

2.3 系统用例分析

图书销售系统的完整UML用例图分别是图2-1和图2-2。在参与者上包括普通用户以及管理员。前台上用户角色用例包括用户是注册成为正是会员的用户、有首页、图书商城、商城管理(我的购物车、我的订单、我的地址)、图书信息、我的账户(修改个人信息、修改密码)、个人中心(个人首页、取消订单、用户评价、订单配送、收藏)等功能,普通用户角色用例如图2-1所示。

图2-1 图书销售系统普通用户角色用例图

web后台管理上的管理员是维护整个图书销售系统中所有数据信息的,管理员有后台首页、系统用户、取消订单管理、用户评价管理、图书分类管理、图书信息管理、系统管理、商城管理等功能。管理员角色用例如图2-2所示。

图2-2 图书销售系统管理员角色用例图

2.4 系统流程分析

2.4.1 系统开发流程

图书销售系统开发时,首先进行需求分析,进而对系统进行总体的设计规划,设计系统功能模块,数据库的选择等,本系统的开发流程如图2-3所示。

2-3系统开发流程图

2.4.2 用户登录流程

为了保证系统的安全性,要使用本系统对系统信息进行管理,必须先登陆到系统中。如图2-4所示。

2-4 登录流程图

2.4.3 系统操作流程

用户打开并进入系统后,会先显示登录界面,输入正确的用户名和密码,系统自动检测信息,若信息无误,则用户会进入系统功能界面,进行操作,否则会提示错误无法登录,操作流程如图2-5所示。

2-5 系统操作流程图

2.4.4 添加信息流程

管理员可以对图书信息、图书分类进行信息的添加,用户可以对自己权限内的信息进行添加,输入信息后,系统会自行验证输入的信息和数据,若信息正确,会将其添加到数据库内,若信息有误,则会提示重新输入信息,添加信息流程如图2-6所示。

2-6添加信息流程图

2.4.5 修改信息流程

管理员可以对图书信息、图书分类进行的修改,用户可以对自己权限内的信息进行修改,首先进入修改信息界面,输入修改信息数据,系统进行数据的判断验证,修改信息合法则修改成功,信息更新至数据库,信息不合法则修改失败,重新输入。修改信息流程图如图2-7所示。

2-7修改信息流程图

2.4.6 删除信息流程

管理员可以对图书信息、图书分类进行信息的删除,对要删除的信息进行选中后,点击删除按钮,系统会询问是否确定,若点击确定,则系统会删除掉选中的信息,并在数据库内对信息进行删除,删除信息流程图如图2-8所示。

2-8 删除信息流程图

2.5 本章小结

本章主要通过对图书销售系统的可行性分析、功能需求分析、系统用例分析,确定整个图书销售系统要实现的功能。同时也为图书销售系统的代码实现和测试提供了标准。

3 系统总体设计

本章主要讨论的内容包括图书销售系统的功能模块设计、数据库系统设计。

3.1 系统模块设计

图书销售系统根据前面章节的功能需求分析得出其总体设计模块图如图3-1所示。

图3-1 图书销售系统功能模块图

3.2 数据库设计

数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。

3.2.1 数据库概念结构设计

下面是整个图书销售系统中主要的数据库表总E-R实体关系图。

图3-2 图书销售系统总E-R关系图

3.2.2 数据库逻辑结构设计

通过上一小节中图书销售系统中总E-R关系图上得出一共需要创建很多个数据表。在此主要罗列几个主要的数据库表结构设计。

表access_token (登陆访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

token_id

int

10

0

N

Y

临时访问牌ID

2

token

varchar

64

0

Y

N

临时访问牌

3

info

text

65535

0

Y

N

4

maxage

int

10

0

N

N

2

最大寿命:默认2小时

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

user_id

int

10

0

N

N

0

用户编号:

表address (收货地址:)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

address_id

int

10

0

N

Y

收货地址:

2

name

varchar

32

0

Y

N

姓名:

3

phone

varchar

13

0

Y

N

手机:

4

postcode

varchar

8

0

Y

N

邮编:

5

address

varchar

255

0

N

N

地址:

6

user_id

mediumint

8

0

N

N

用户ID:[0,8388607]用户获取其他与用户相关的数据

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

default

bit

1

0

N

N

0

默认判断

表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

auth_id

int

10

0

N

Y

授权ID:

2

user_group

varchar

64

0

Y

N

用户组:

3

mod_name

varchar

64

0

Y

N

模块名:

4

table_name

varchar

64

0

Y

N

表名:

5

page_title

varchar

255

0

Y

N

页面标题:

6

path

varchar

255

0

Y

N

路由路径:

7

position

varchar

32

0

Y

N

位置:

8

mode

varchar

32

0

N

N

_blank

跳转方式:

9

add

tinyint

3

0

N

N

1

是否可增加:

10

del

tinyint

3

0

N

N

1

是否可删除:

11

set

tinyint

3

0

N

N

1

是否可修改:

12

get

tinyint

3

0

N

N

1

是否可查看:

13

field_add

text

65535

0

Y

N

添加字段:

14

field_set

text

65535

0

Y

N

修改字段:

15

field_get

text

65535

0

Y

N

查询字段:

16

table_nav_name

varchar

500

0

Y

N

跨表导航名称:

17

table_nav

varchar

500

0

Y

N

跨表导航:

18

option

text

65535

0

Y

N

配置:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表book_classification (图书分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

book_classification_id

int

10

0

N

Y

图书分类ID

2

book_classification

varchar

64

0

Y

N

图书分类

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表book_information (图书信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

book_information_id

int

10

0

N

Y

图书信息ID

2

book_name

varchar

64

0

Y

N

图书名称

3

book_images

varchar

255

0

Y

N

图书图片

4

book_number

varchar

64

0

N

N

图书编号

5

book_classification

varchar

64

0

Y

N

图书分类

6

book_authors

varchar

64

0

Y

N

图书作者

7

publishing_house_name

varchar

64

0

Y

N

出版社名

8

book_details

text

65535

0

Y

N

图书详情

9

hits

int

10

0

N

N

0

点击数

10

praise_len

int

10

0

N

N

0

点赞数

11

recommend

int

10

0

N

N

0

智能推荐

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表book_mall (图书商城)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

book_mall_id

int

10

0

N

Y

图书商城ID

2

authors_name

varchar

64

0

Y

N

作者姓名

3

publishing_house_name

varchar

64

0

Y

N

出版社名

4

hits

int

10

0

N

N

0

点击数

5

praise_len

int

10

0

N

N

0

点赞数

6

cart_title

varchar

125

0

Y

N

标题:[0,125]用于产品html的标签中

7

cart_img

text

65535

0

Y

N

封面图:用于显示于产品列表页

8

cart_description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

9

cart_price_ago

double

8

2

N

N

0.00

原价:[1]

10

cart_price

double

8

2

N

N

0.00

卖价:[1]

11

cart_inventory

int

10

0

N

N

0

商品库存

12

cart_type

varchar

64

0

N

N

未分类

商品分类:

13

cart_content

longtext

2147483647

0

Y

N

正文:产品的主体内容

14

cart_img_1

text

65535

0

Y

N

主图1:

15

cart_img_2

text

65535

0

Y

N

主图2:

16

cart_img_3

text

65535

0

Y

N

主图3:

17

cart_img_4

text

65535

0

Y

N

主图4:

18

cart_img_5

text

65535

0

Y

N

主图5:

19

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表cancel_order (取消订单)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

cancel_order_id

int

10

0

N

Y

取消订单ID

2

user_account

int

10

0

Y

N

0

用户账号

3

user_name

varchar

64

0

Y

N

用户姓名

4

order_number

varchar

64

0

Y

N

订单编号

5

cancel_time

date

10

0

Y

N

取消时间

6

reason_for_cancellation

text

65535

0

Y

N

取消原因

7

examine_state

varchar

16

0

N

N

未审核

审核状态

8

examine_reply

varchar

16

0

Y

N

审核回复

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表cart (购物车)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

cart_id

int

10

0

N

Y

购物车ID:

2

title

varchar

64

0

Y

N

标题:

3

img

varchar

255

0

N

N

0

图片:

4

user_id

int

10

0

N

N

0

用户ID:

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

state

int

10

0

N

N

0

状态:使用中,已失效

8

price

double

9

2

N

N

0.00

单价:

9

price_ago

double

9

2

N

N

0.00

原价:

10

price_count

double

11

2

N

N

0.00

总价:

11

num

int

10

0

N

N

1

数量:

12

goods_id

mediumint

8

0

N

N

商品id:[0,8388607]

13

type

varchar

64

0

N

N

未分类

商品分类:

14

description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

表collect (收藏)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

collect_id

int

10

0

N

Y

收藏ID:

2

user_id

int

10

0

N

N

0

收藏人ID:

3

source_table

varchar

255

0

Y

N

来源表:

4

source_field

varchar

255

0

Y

N

来源字段:

5

source_id

int

10

0

N

N

0

来源ID:

6

title

varchar

255

0

Y

N

标题:

7

img

varchar

255

0

Y

N

封面:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

comment_id

int

10

0

N

Y

评论ID:

2

user_id

int

10

0

N

N

0

评论人ID:

3

reply_to_id

int

10

0

N

N

0

回复评论ID:空为0

4

content

longtext

2147483647

0

Y

N

内容:

5

nickname

varchar

255

0

Y

N

昵称:

6

avatar

varchar

255

0

Y

N

头像地址:[0,255]

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

source_table

varchar

255

0

Y

N

来源表:

10

source_field

varchar

255

0

Y

N

来源字段:

11

source_id

int

10

0

N

N

0

来源ID:

表goods (商品信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

goods_id

mediumint

8

0

N

Y

产品id:[0,8388607]

2

title

varchar

125

0

Y

N

标题:[0,125]用于产品和html的<title>标签中

3

img

text

65535

0

Y

N

封面图:用于显示于产品列表页

4

description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

5

price_ago

double

8

2

N

N

0.00

原价:[1]

6

price

double

8

2

N

N

0.00

卖价:[1]

7

sales

int

10

0

N

N

0

销量:[0,1000000000]

8

inventory

int

10

0

N

N

0

商品库存

9

type

varchar

64

0

N

N

商品分类:

10

hits

int

10

0

N

N

0

点击量:[0,1000000000]访问这篇产品的人次

11

content

longtext

2147483647

0

Y

N

正文:产品的主体内容

12

img_1

text

65535

0

Y

N

主图1:

13

img_2

text

65535

0

Y

N

主图2:

14

img_3

text

65535

0

Y

N

主图3:

15

img_4

text

65535

0

Y

N

主图4:

16

img_5

text

65535

0

Y

N

主图5:

17

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

18

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

19

customize_field

text

65535

0

Y

N

自定义字段

20

source_table

varchar

255

0

Y

N

来源表:

21

source_field

varchar

255

0

Y

N

来源字段:

22

source_id

int

10

0

N

N

0

来源ID:

23

user_id

int

10

0

Y

N

0

添加人

表goods_type (商品类型)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

int

10

0

N

Y

商品分类ID:

2

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

3

name

varchar

255

0

Y

N

商品名称:

4

desc

varchar

255

0

Y

N

描述:

5

icon

varchar

255

0

Y

N

图标:

6

source_table

varchar

255

0

Y

N

来源表:

7

source_field

varchar

255

0

Y

N

来源字段:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hits_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

表logistics_delivery (物流配送)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

logistics_delivery_id

int

10

0

N

Y

物流配送ID

2

order_number

varchar

64

0

Y

N

订单号

3

product_name

varchar

64

0

Y

N

商品名称

4

purchase_quantity

varchar

64

0

Y

N

购买数量

5

total_transaction_amount

double

11

2

Y

N

0.00

交易总额

6

the_date_of_issuance

date

10

0

Y

N

发货日期

7

delivery_number

varchar

30

0

Y

N

配送订单

8

ordinary_users

int

10

0

Y

N

0

普通用户

9

shipping_address

varchar

64

0

Y

N

收货地址

10

delivery_status

varchar

64

0

Y

N

配送状态

11

signing_status

varchar

64

0

Y

N

签收状态

12

recommend

int

10

0

N

N

0

智能推荐

13

contact_name

varchar

255

0

Y

N

联系人名字

14

merchant_id

int

10

0

Y

N

商家id

15

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

16

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表order (订单)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

order_id

int

10

0

N

Y

订单ID:

2

order_number

varchar

64

0

Y

N

订单号:

3

goods_id

mediumint

8

0

N

N

商品id:[0,8388607]

4

title

varchar

32

0

Y

N

商品标题:

5

img

varchar

255

0

Y

N

商品图片:

6

price

double

10

2

N

N

0.00

价格:

7

price_ago

double

10

2

N

N

0.00

原价:

8

num

int

10

0

N

N

1

数量:

9

price_count

double

8

2

N

N

0.00

总价:

10

norms

varchar

255

0

Y

N

规格:

11

type

varchar

64

0

N

N

未分类

商品分类:

12

contact_name

varchar

32

0

Y

N

联系人姓名:

13

contact_email

varchar

125

0

Y

N

联系人邮箱:

14

contact_phone

varchar

11

0

Y

N

联系人手机:

15

contact_address

varchar

255

0

Y

N

收件地址:

16

postal_code

varchar

9

0

Y

N

邮政编码:

17

user_id

int

10

0

N

N

0

买家ID:

18

merchant_id

mediumint

8

0

N

N

0

商家ID:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

21

description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

22

state

varchar

16

0

N

N

待付款

订单状态:待付款,待发货,待签收,已签收,待退款,已退款,已拒绝,已完成

23

remark

text

65535

0

Y

N

订单备注

24

delivery_state

varchar

16

0

Y

N

未配送

发货状态:未配送,已配送

25

vip_discount

double

11

2

Y

N

0.00

折扣

表praise (点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

praise_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

status

bit

1

0

N

N

1

点赞状态:1为点赞,0已取消

表regular_users (普通用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

regular_users_id

int

10

0

N

Y

普通用户ID

2

user_name

varchar

64

0

Y

N

用户姓名

3

user_phone_number

varchar

16

0

Y

N

用户电话

4

examine_state

varchar

16

0

N

N

已通过

审核状态

5

user_id

int

10

0

N

N

0

用户ID

6

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表slides (轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

slides_id

int

10

0

N

Y

轮播图ID:

2

title

varchar

64

0

Y

N

标题:

3

content

varchar

255

0

Y

N

内容:

4

url

varchar

255

0

Y

N

链接:

5

img

varchar

255

0

Y

N

轮播图:

6

hits

int

10

0

N

N

0

点击量:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

upload_id

int

10

0

N

Y

上传ID

2

name

varchar

64

0

Y

N

文件名

3

path

varchar

255

0

Y

N

访问路径

4

file

varchar

255

0

Y

N

文件路径

5

display

varchar

255

0

Y

N

显示顺序

6

father_id

int

10

0

Y

N

0

父级ID

7

dir

varchar

255

0

Y

N

文件夹

8

type

varchar

32

0

Y

N

文件类型

表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_id

mediumint

8

0

N

Y

用户ID:[0,8388607]用户获取其他与用户相关的数据

2

state

smallint

5

0

N

N

1

账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

3

user_group

varchar

32

0

Y

N

所在用户组:[0,32767]决定用户身份和权限

4

login_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

上次登录时间:

5

phone

varchar

11

0

Y

N

手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

6

phone_state

smallint

5

0

N

N

0

手机认证:[0,1](0未认证|1审核中|2已认证)

7

username

varchar

16

0

N

N

用户名:[0,16]用户登录时所用的账户名称

8

nickname

varchar

16

0

Y

N

昵称:[0,16]

9

password

varchar

64

0

N

N

密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

10

email

varchar

64

0

Y

N

邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

11

email_state

smallint

5

0

N

N

0

邮箱认证:[0,1](0未认证|1审核中|2已认证)

12

avatar

varchar

255

0

Y

N

头像地址:[0,255]

13

open_id

varchar

255

0

Y

N

针对获取用户信息字段

14

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

15

vip_level

varchar

255

0

Y

N

会员等级

16

vip_discount

double

11

2

Y

N

0.00

会员折扣

表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

group_id

mediumint

8

0

N

Y

用户组ID:[0,8388607]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]

3

name

varchar

16

0

N

N

名称:[0,16]

4

description

varchar

255

0

Y

N

描述:[0,255]描述该用户组的特点或权限范围

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

register

smallint

5

0

Y

N

0

注册位置:

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表user_reviews (用户评价)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_reviews_id

int

10

0

N

Y

用户评价ID

2

user_account

int

10

0

Y

N

0

用户账号

3

user_name

varchar

64

0

Y

N

用户姓名

4

order_number

varchar

64

0

Y

N

订单编号

5

evaluation_time

date

10

0

Y

N

评价时间

6

evaluation_content

text

65535

0

Y

N

评价内容

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

3.3 本章小结

整个图书销售系统的需求分析主要对系统总体架构以及功能模块的设计,通过建立E-R模型和数据库逻辑系统设计完成了数据库系统设计。

4 系统详细设计与实现

图书销售系统的详细设计与实现主要是根据前面的图书销售系统的需求分析和图书销售系统的总体设计来设计页面并实现业务逻辑。主要从图书销售系统界面实现、业务逻辑实现这两部分进行介绍。

4.1 学生用户功能模块

4.1.1 前台首页界面

当进入图书销售系统的时候,系统以上中下的布局进行展示,首先映入眼帘的是系统的导航栏,下面是轮播图,再往下是图书商城,其主界面展示如下图4-1所示。

图4-1 前台首页界面图

4.1.2 用户注册界面

图书销售系统的游客和用户时可以进行注册登录,当用户右上角“注册”按钮的时候,当填写上自己的账号+密码+确认密码+昵称+邮箱等后再点击“注册”按钮后将会先验证输入的有没有空数据,再次验证密码和确认密码是否是一样的,最后验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可用户注册成功。学生用户注册界面展示如下图4-2所示。

图4-2注册界面图

用户注册的关键代码如下:

          def Register(self, ctx):

        print("===================注册=====================")

        userService = service_select("user")

        body = ctx.body

        if "username" not in body and body["username"] == '':

            return ctx.response(json.dumps({

                "error": {

                    "code": 70000,

                    "message": "用户名不能为空",

                }

            }, ensure_ascii=False))

        if "user_group" not in body and body["user_group"] == '':

            return ctx.response(json.dumps({

                "error": {

                    "code": 70000,

                    "message": "用户组不能为空",

                }

            }, ensure_ascii=False))

        if "password" not in body and body["password"] == '':

            return ctx.response(json.dumps({

                "error": {

                    "code": 70000,

                    "message": "密码不能为空",

                }

            }, ensure_ascii=False))

        post_param = body

        post_param['nickname'] = body["nickname"] or ""

        post_param['password'] = md5hash(body["password"])

        obj = userService.Get_obj({"username": post_param['username']}, {"like": False})

        if obj:

            return ctx.response(json.dumps({

                "error": {

                    "code": 70000,

                    "message": "用户名已存在",

                }

            }, ensure_ascii=False))

        ret = {

            "error": {

                "code": 70000,

                "message": "注册失败",

            }

        }

        bl = userService.Add(post_param)

        if bl:

            ret = {

                "result": {

                    "bl": True,

                    "message": "注册成功"

                }

            }

        return ctx.response(json.dumps(ret, ensure_ascii=False))

4.1.3 用户登录界面

图书销售系统中的前台上注册后的用户是可以通过自己的账户名和密码进行登录的,当用户输入完整的自己的账户名和密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到图书销售系统的首页中;否则将会提示相应错误信息,用户登录界面如下图4-3所示。

图4-3用户登录界面图

用户登录关键代码如下:

def Login(self, ctx):

        print("===================登录=====================")

        ret = {

            "error": {

                "code": 70000,

                "message": "账户不存在",

            }

        }

        body = ctx.body

        password = md5hash(body["password"]) or ""

        obj = service_select("user").Get_obj(

            {"username": body["username"]}, {"like": False}

        )

        if obj:

            user_group = service_select("user_group").Get_obj({'name': obj['user_group']}, {"like": False})

            if user_group and user_group['source_table'] != '':

                user_obj = service_select(user_group['source_table']).Get_obj({"user_id": obj['user_id']},                                                                       {"like": False})

                if user_obj['examine_state'] == '未通过':

                    ret = {

                        "error": {

                            "code": 70000,

                            "message": "账户未通过审核",

                        }

                    }

                    return ret

                if user_obj['examine_state'] == '未审核':

                    ret = {

                        "error": {

                            "code": 70000,

                            "message": "账户未审核",

                        }

                    }

                    return ret

            if obj["state"] == 1:

                if obj["password"] == password:

                    timeout = timezone.now()

                    timestamp = int(time.mktime(timeout.timetuple())) * 1000

                    token = md5hash(str(obj["user_id"]) + "_" + str(timestamp))

                    ctx.request.session[token] = obj["user_id"]

                    service_select("access_token").Add(

                        {"token": token, "user_id": obj["user_id"]}

                    )

                    obj["token"] = token

                    ret = {

                        "result": {"obj": obj}

                    }

                else:

                    ret = {

                        "error": {

                            "code": 70000,

                            "message": "密码错误",

                        }

                    }

            else:

                ret = {

                    "error": {

                        "code": 70000,

                        "message": "用户账户不可用,请联系管理员",

                    }

                }

        return ctx.response(json.dumps(ret, ensure_ascii=False))

4.1.4 我的账户界面

当用户点击右上角“我的账户”可以对个人的资料、登录系统的密码的信息进行设置管理,我的账户界面和密码修改界面如下图4-4所示。

图4-4我的账户界面图

4.1.5 图书商城界面

当用户点击“图书商城”这一菜单按钮,会显示管理员在后台发布的所有的图书信息,支持通过关键词对图书进行搜索,选择需要的图书信息点击可以进入到图书信息详细的介绍界面,同时可以加入购物车、点赞、收藏、评论等,图书商城界面如下图4-5所示。

图4-5图书商城界面图

图4-6详情界面图

4.2 管理员功能模块

4.2.1 取消订单管理界面

管理员点击“取消订管理”会显示出取消订单列表和取消订单添加,支持订单编号等进行查询、重置和删除的操作。取消订单列表和取消订单添加界面如下图4-7和4-8所示。

图4-7取消订单列表管理界面图

图4-8取消订单添加管理界面图

取消订单添加关键代码如下:

def Add(self, ctx):

body = ctx.body

unique = self.config.get("unique")

obj = None

if unique:

qy = {}

for i in range(len(unique)):

key = unique[i]

qy[key] = body.get(key)

obj = self.service.Get_obj(qy)

if not obj:

error = self.Add_before(ctx)

if error["code"]:

return {"error": error}

error = self.Events("add_before", ctx, None)

if error["code"]:

return {"error": error}

result = self.service.Add(body, self.config)

if self.service.error:

return {"error": self.service.error}

res = self.Add_after(ctx, result)

if res:

result = res

res = self.Events("add_after", ctx, result)

if res:

result = res

return {"result": result}

else:

return {"error": {"code": 10000, "message": "已存在"}}

4.2.2 系统管理界面

系统管理:管理员可以管理系统的相关设置,包括首页轮播图的添加、编辑、删除等操作,提升系统的用户体验。系统管理界面如下图所示。

图4-9系统管理界面图

4.2.3 商城管理界面

商城管理:管理员可以对商城上的图书进行分类、订单、配送等管理。商城管理界面如下图所示。

图4-10商城管理界面图

5 系统测试

5.1 系统测试的目的

程序设计不能保证没有错误,这是一个开发过程,在错误或错误的过程中都是难以避免的。虽然这是不可避免的,但我们不能使这些错误始终存在于系统中,错误可能会造成无法估量的后果,如系统崩溃,安全信息泄露,系统无法正常启动等,为了避免这些问题,我们需要测试程序,再测试过程中发现问题,并纠正它们,从而使系统更长时间稳定成熟。本章的作用是发现这些问题,并对其进行修改,虽然耗时费力,但对于长期使用而言是非常重要和必要系统的开发。

软件在设计后必须进行测试,调试过程中使用的方法是软件测试方法。在开发新软件时,系统测试是检查软件是否合格的关键步骤,以及是否符合设计目标的参考。测试主要是查看软件中数据的准确性,正确的操作与否,以及操作的结果,还有哪些方面需要改进。

图书销售系统,对于系统中功能模块的实现及操作都必须通过测试进行来评判系统是否可以准确的实现。在图书销售系统正式上传使用之前必须做的一步就是系统测试,对于测试发现的错误及时修改处理,保证系统准确无误的供给用户使用。

5.2 系统测试方法

在对图书销售系统进行测试的时候在找到问题的情况下必须在第一时间找到解决问题的办法,不要存在侥幸的心理,这样才能让图书销售系统开发的质量可以过关,并且开发的周期会大大缩短,还有就是在测试时,不要出现重复性的错误,遇到一个错误问题,要将整个图书销售系统开发所牵扯的该问题都必须一一解决,提高图书销售系统的安全性、稳定性。

白盒测试与黑盒测试是测试中比较常用的两种方法。

①结构测试俗称白盒测试:这种测试是在对程序的处理过程与结构都有详尽谅解的前提下,顺从程序内部的逻辑而完成的系统测试,以确定系统中所有的通路都能够遵照设计要求正常工作,不出现任何偏差。

②功能测试又成黑盒测试:主要是针对程序功能能够按照设计正常实现的一种检测,在程序接口处进行,检测程序手法数据是否正常,与外部信息的交换是否完整。

5.3 功能测试

用户登录测试:

模块名称

测试用例

预期结果

实际结果

是否通过

登录模块

用户名:admin   密码:123  

弹出错误提示,提示密码错误

弹出错误提示,提示密码错误

通过

登录模块

用户名:123   

密码:admin   

弹出错误提示,提示用户名错误

弹出错误提示,提示用户名错误

通过

登录模块

用户名:admin   

密码:admin   

管理员登录成功

管理员登录成功

通过

删除分类测试:

模块名称

测试用例

预期结果

实际结果

是否通过

删除分类模块

分类名:最新通知  

删除成功、页面自动跳转

删除成功、页面自动跳转

通过

修改密码测试:

模块名称

测试用例

预期结果

实际结果

是否通过

修改密码模块

原密码:666

新密码:123

确认密码:123  

弹出错误提示,提示原密码错误

弹出错误提示,提示原密码错误

通过

修改密码模块

原密码:admin   新密码:123

确认密码:333  

弹出错误提示,提示确认密码不一致

弹出错误提示,提示确认密码不一致

通过

修改密码模块

原密码:admin   新密码:123

确认密码:123  

密码修改成功

密码修改成功

通过

通过对功能的测试,图书销售系统的基本功能都是可行的,不管是系统里面的功能,还是界面的设计都是可值得推广宣传的。

结论

本系统通过对python和Mysql数据库的简介,从硬件和软件两反面说明了图书销售系统的可行性,本文结论及研究成果如下:实现了python与Mysql相结合构建的图书销售系统,网站可以响应式展示。通过本次图书销售系统的研究与实现,我感到学海无涯,学习是没有终点的,而且实践出真知,只有多动手才能尽快掌握它,经验对系统的开发非常重要,经验不足,就难免会有许多考虑不周之处。比如要有美观的界面,更完善的功能,才能吸引更多的用户。

由于在此之前对于python知识没有深入了解,所以从一开始就碰到许多困难,例如一开始的页面显示不规范、数据库连接有问题已经无法实现参数的传递等等,不过通过在网上寻找有关资料以及同学的帮助下最后都得到了解决,在此过程中,我不仅学到了很多知识,也提高了自己解决问题的能力,尤其是学会如何从大量的信息中筛选出所需有用的信息,同时我更加深刻的体会到了,虽然书本上的大部分知识都是有价值,正确的,但实际上每个人编程的思路和对数据处理的方法、思想都是不同的,这就要求我们一定要通过实践才能找到解决问题的方案。在此次毕业设计活动中,我不断的提高了自己,也得到了宝贵的经验,我相信这些对我以后的发展都会有很大帮助。

通过这次图书销售系统的开发,我参考了很多相关系统的例子,取长补短,吸取了其他系统的长处,逐步对该系统进行了完善,但是该系统还是有很多的不足之处,有待以后进一步学习。

参考文献

[1]宋健,孟凯强,沈舒文,等.基于Python构建机器学习探究中药治疗胃癌通路决策树的规律性[J].世界中西医结合杂志,2024,19(02):225-232.DOI:10.13935/j.cnki.sjzx.240203.

[2]孙振林,柳飞,陶水忠,等.基于Python的房屋安全健康监测数据处理与预测分析[J].科学技术与工程,2024,24(06):2469-2479.

[3]胡王平,周裕康,孙荣坤,等.基于Python的振动监测与故障诊断系统开发[J].现代机械,2024,(01):11-15.DOI:10.13667/j.cnki.52-1046/th.2024.01.007.

[4]Jiang Y ,Bugby L S ,Lees E J .PMST: A custom Python-based Monte Carlo Simulation Tool for research and system development in portable pinhole gamma cameras[J].Nuclear Inst. and Methods in Physics Research, A,2024,1061169161-.

[5]陈泽帆,郭苗梓,李满,等.基于Python语言的成本管理系统设计与开发[J].锻造与冲压,2024,(04):26-30.

[6]田文涛.Python技术在计算机软件中的应用[J].集成电路应用,2024,41(02):344-346.DOI:10.19339/j.issn.1674-2583.2024.02.157.

[7]陈太沁.基于Python的视频数据爬虫系统设计与实现[J].广播电视网络,2024,31(01):110-112.DOI:10.16045/j.cnki.catvtec.2024.01.012.

[8]宋盼盼,周猛,肖莹.基于python语言的水体营养状态评价系统的设计[J].水利技术监督,2024,(01):45-49.

[9]谢文静,刘洋,袁旗平,等.基于Python的托卡马克等离子体位形编辑器设计与实现[J].仪表技术,2024,(01):1-5+19.DOI:10.19432/j.cnki.issn1006-2394.2024.01.011.

[10]罗广恒.基于Python模块及XML的自动化测试平台设计与实现[J].自动化应用,2024,65(02):202-206.DOI:10.19769/j.zdhy.2024.02.063.

[11]Shervan G ,Kasra K ,J.M. W K , et al.EASYMORE: A Python package to streamline the remapping of variables for Earth System models[J].SoftwareX,2023,24

[12]Zizheng G ,Fei G ,Yu Z , et al.A python system for regional landslide susceptibility assessment by integrating machine learning models and its application[J].Heliyon,2023,9(11):e21542-e21542.

[13]Ranindya P ,Fabio M .Technical leverage analysis in the Python ecosystem[J].Empirical Software Engineering,2023,28(6):

[14]Leshinka E M ,F. T F .Application of Open-Source, Python-Based Tools for the Simulation of Electrochemical Systems[J].Journal of The Electrochemical Society,2023,170(10):

[15]Olabanji O S .Advancing Cloud Technology Security: Leveraging High-Level Coding Languages like Python and SQL for Strengthening Security Systems and Automating Top Control Processes[J].Journal of Scientific Research and Reports,2023,29(9):42-54.

[16]赵龙,王风硕.基于Vue的图书销售系统设计与实现[J].电脑知识与技术,2021,17(36):81-82+85.DOI:10.14004/j.cnki.ckt.2021.3570.

[17]余任杰,王风硕.基于Node.js的网上图书销售系统设计[J].电脑知识与技术,2021,17(34):83-84+92.DOI:10.14004/j.cnki.ckt.2021.3680.

[18]倪楚乔.基于ASP.NET的网上图书销售系统[J].信息与电脑(理论版),2021,33(12):99-102.

[19]赵娜.图书销售系统流程分析——以无锡某出版社为例[J].中外企业家,2020,(17):99.

[20]余兵兵.关联规则挖掘在图书销售系统设计中的使用[J].科学技术创新,2019,(01):86-87.

致  谢

图书销售系统的完成,标志着我即将结束校园生活并跨入社会。在即将毕业的此刻,我想对所有帮助过我的师长、同学和亲人表达我发自内心的谢意。

感谢学校这个大家庭,在这里我们总能找到自己的归属。学校始终在向我们传达着温暖和关怀,接纳和包容我们的缺点。学校给我最大的感受便是要将自己的专业知识与实践相结合,而我也正在努力的成为学校所要求的应用型人才。

感谢各位老师,学院使我从懵懂一步步走向成熟。在这里每个老师都拥有着最大的善意和耐心,来教育我们这群大孩子。学院举办的各类活动是给予我锻炼自己的机会,正是这些机会让我成为了更好的自己,提升了自己各方面的能力。

其次我要感谢我的论文指导老师。我之所以被老师所吸引,是因为老师对于学生友爱和对于工作认真的态度。从选题到开题到论文的撰写,老师一直都在悉心的指导,在指出存在的问题后会与我们探讨解决方法。

最后,我要对即将参与本篇论文审阅和答辩的各位老师表示感谢。

点赞+收藏+关注  →私信领取本源代码、数据库

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值