摘要
本论文针对图书销售的需求,设计并实现了一种基于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.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关系图上得出一共需要创建很多个数据表。在此主要罗列几个主要的数据库表结构设计。
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 用户编号: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 默认判断 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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]用于产品规格描述 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 添加人 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 折扣 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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已取消 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 文件类型 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | | 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 | 会员折扣 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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.
致 谢
图书销售系统的完成,标志着我即将结束校园生活并跨入社会。在即将毕业的此刻,我想对所有帮助过我的师长、同学和亲人表达我发自内心的谢意。
感谢学校这个大家庭,在这里我们总能找到自己的归属。学校始终在向我们传达着温暖和关怀,接纳和包容我们的缺点。学校给我最大的感受便是要将自己的专业知识与实践相结合,而我也正在努力的成为学校所要求的应用型人才。
感谢各位老师,学院使我从懵懂一步步走向成熟。在这里每个老师都拥有着最大的善意和耐心,来教育我们这群大孩子。学院举办的各类活动是给予我锻炼自己的机会,正是这些机会让我成为了更好的自己,提升了自己各方面的能力。
其次我要感谢我的论文指导老师。我之所以被老师所吸引,是因为老师对于学生友爱和对于工作认真的态度。从选题到开题到论文的撰写,老师一直都在悉心的指导,在指出存在的问题后会与我们探讨解决方法。
最后,我要对即将参与本篇论文审阅和答辩的各位老师表示感谢。
免费领取项目源码,请关注❤点赞收藏并私信博主,谢谢-
免费领取项目源码,请关注❤点赞收藏并私信博主,谢谢-
免费领取项目源码,请关注❤点赞收藏并私信博主,谢谢-