目 录
摘要
1 绪论
1.1 研究背景和意义
1.2开发技术
1.2.1 Flask框架
1.2.2 Python简介
1.2.3 MySQL数据库
1.3论文结构与章节安排
2系统分析
2.1 可行性分析
2.2总体设计原则
2.3 系统流程分析
2.3.1 用户登录流程
2.3.2 删除信息流程
2.4 系统角色分析
2.5 系统用例分析
2.6本章小结
3 系统设计
3.1 系统架构设计
3.2 系统结构设计
3.3 数据库设计
3.3.1 数据库概念结构设计
3.3.2 数据库表设计
3.4本章小结
4 系统实现
4.1注册用户功能模块
4.1.1 用户注册界面
4.1.3 用户登录界面
4.1.3 前台首页界面
4.1.4 新闻资讯界面
4.1.5 产品信息界面
4.1.6 个人中心界面
4.2管理员功能模块
4.2.1 系统用户界面
4.2.2产品信息管理界面
4.2.3工厂信息管理界面
4.2.4系统管理界面
4.2.5公告通知管理界面
4.2.6资源管理界面
4.3员工用户功能模块
4.3.1 订单信息管理界面
4.3.2 取消信息管理界面
4.3.3 排产信息管理界面
5系统测试
5.1测试目的
5.2 测试用例
5.3 测试结果
6 结论
参考文献
致 谢
摘要
随着新兴经济体的崛起,全球制造业竞争愈发激烈。我国作为制造业大国,面临着从“大”到“强”的转型压力。智能制造成为了我国制造业转型升级的重要途径。随着互联网、大数据、人工智能等信息技术的发展,制造业正面临着前所未有的机遇。智能制造云平台将信息技术与制造业深度融合,为制造业创新发展提供强大动力。此外,我国政府高度重视智能制造发展,出台了一系列政策措施,为智能制造云平台的研究与应用提供了良好的政策环境。
本文提出的智能制造云平台是采用Flask框架进行开发。Flask作为一种轻量级、易扩展的Web框架,非常适合用于开发智能制造云平台。通过采用Flask技术构建智能制造云平台,可以推动Web技术的创新和应用,为智能制造领域的发展提供技术支持。
关键词:制造业;智能制造云平台;Flask
Abstract
With the rise of emerging economies, global manufacturing competition has become increasingly fierce. As a major manufacturing country, China is facing the pressure of transformation from "big" to "strong". Intelligent manufacturing has become an important way for China's manufacturing industry to transform and upgrade. With the development of Internet, big data, artificial intelligence and other information technologies, the manufacturing industry is facing unprecedented opportunities. The intelligent manufacturing cloud platform deeply integrates information technology with the manufacturing industry, providing strong impetus for the innovative development of the manufacturing industry. In addition, the Chinese government attaches great importance to the development of intelligent manufacturing and has introduced a series of policy measures, providing a good policy environment for the research and application of intelligent manufacturing cloud platforms.
The intelligent manufacturing cloud platform proposed in this article is developed using the Flask framework. Flask, as a lightweight and easily scalable web framework, is very suitable for developing intelligent manufacturing cloud platforms. By adopting Flask technology to build an intelligent manufacturing cloud platform, innovation and application of web technology can be promoted, providing technical support for the development of the intelligent manufacturing field.
Keywords: manufacturing Intelligent manufacturing cloud platform; Flask
1 绪论
1.1 研究背景和意义
Flask是一个轻量级的Web应用框架,用Python编写,具有高扩展性、灵活性、易上手等特点。它适合开发小型到中型的应用,同时也能够通过扩展支持大型企业级应用。使用Flask框架开发智能制造云平台,可以充分利用其技术优势,实现快速开发、灵活部署、易于维护等功能。
通过采用Flask技术构建智能制造云平台,企业可以实现生产过程的数字化、网络化和智能化,实现资源的合理配置和高效利用,从而推动产业升级和可持续发展,进而提升企业的核心竞争力和市场地位。这对于企业在激烈的市场竞争中脱颖而出具有重要意义。
1.2开发技术
本系统采用B/S模式,前端框架采用了比较流行的渐进式JavaScript框架Vue.js。使用Vue-Router和Vuex实现动态路由和全局状态管理,Ajax实现前后端通信,Element UI组件库使页面快速成型。后端部分基于python的Flask框架进行开发。
1.2.1 Flask框架
Flask是一个轻量级的可定制框架,使用Python语言编写,较其他同类型框架更为灵活、轻便、安全且容易上手。它可以很好地结合MVC模式进行开发,开发人员分工合作,小型团队在短时间内就可以完成功能丰富的中小型网站或Web服务的实现。另外,Flask还有很强的定制性,用户可以根据自己的需求来添加相应的功能,在保持核心功能简单的同时实现功能的丰富与扩展,其强大的插件库可以让用户实现个性化的网站定制,开发出功能强大的网站。Flask是目前十分流行的web框架,采用Python编程语言来实现相关功能。它被称为微框架(microframework),“微”并不是意味着把整个Web应用放入到一个Python文件,微框架中的“微”是指Flask旨在保持代码简洁且易于扩展,Flask框架的主要特征是核心构成比较简单,但具有很强的扩展性和兼容性,程序员可以使用Python语言快速实现一个网站或Web服务。一般情况下,它不会指定数据库和模板引擎等对象,用户可以根据需要自己选择各种数据库。Flask自身不会提供表单验证功能,在项目实施过程中可以自由配置,从而为应用程序开发提供数据库抽象层基础组件,支持进行表单数据合法性验证、文件上传处理、用户身份认证和数据库集成等功能。
Flask主要包括Werkzeug和Jinja2两个核心函数库,它们分别负责业务处理和安全方面的功能,这些基础函数为web项目开发过程提供了丰富的基础组件。Werkzeug库十分强大,功能比较完善,支持URL路由请求集成,一次可以响应多个用户的访问请求;支持Cookie和会话管理,通过身份缓存数据建立长久连接关系,并提高用户访问速度;支持交互式Javascript调试,提高用户体验;可以处理HTTP基本事务,快速响应客户端推送过来的访问请求。Jinja2库支持自动HTML转移功能,能够很好控制外部黑客的脚本攻击。系统运行速度很快,页面加载过程会将源码进行编译形成Python字节码,从而实现模板的高效运行;模板继承机制可以对模板内容进行修改和维护,为不同需求的用户提供相应的模板。目前Python的web框架有很多。除了Flask,还有django、Web2py等等。其中Django是目前Python的框架中使用度最高的。但是Django如同java的EJB(EnterpriseJavaBeansJavaEE服务器端组件模型)多被用于大型网站的开发,但对于大多数的小型网站的开发,使用SSH(Struts+Spring+Hibernat的一个JavaEE集成框架)就可以满足,和其他的轻量级框架相比较,Flask框架有很好的扩展性,这是其他Web框架不可替代的。
1.2.2 Python简介
早在上个世纪90年代,Python就由吉多·范罗苏姆进行创造,自诞生之日起,Python就一直深深的受到了程序开发者的广泛喜爱,它作为计算机主要的编程语言,一直到今。Python语言是真的是一种纯面向对象的计算机语言,在Python的世界中,所有的方法、数据类型、符号等都是以类的方式存在的,最顶层的就是Object,所有的类都是对object的继承。继承是Python中的核心思想,与C语言不同的是,子类只有一个父类,这样的好处就是操作更加的简便,让人更容易理解,在代码的书写上也会容易较多。Python另外一个特性就是多态性,调用父类接口的方法可以实现子类的实现,这样的好处就是很好的对实现方法进行了隐藏(封装),而且又能够把API进行公开,一举两得。接口思想很好的诠释了想象对象的思想,让面向对象编程渐渐转向面向接口编程。如今,随着编程思想的继续发展,Python也加入了一些函数式编程的思想,这样的好处就是让编程代码更加的简洁与方便。本管理系统采用Python编程语言进行后台的开发,一是鉴于标准化制定以后,Python语言常用于大型商业应用程序后台系统中,生态稳定;二是也希望通过本系统的开发提高自己编写Python代码的能力。
1.2.3 MySQL数据库
MySQL 经过多次的更新,功能层面已经非常的丰富和完善了,从MySQL4版本到5版本进行了比较大的更新,在商业的实际使用中取得了很好的实际应用效果。最新版本的MySQL支持对信息的压缩,同时还能进行加密能更好的满足对信息安全性的需求。同时经过系统的多次更新,数据库自身的镜像功能也得到了很大的增强,运行的流畅度和易用性方面有了不小的进步,驱动的使用和创建也更加的高效快捷。最大的变动还是进行了空间信息的显示优化,能更加方便的在应用地图上进行坐标的标注和运算。强大的备份功能也保证了用户使用的过程会更加安心,同时支持的Office特性还支持用户的自行安装和使用。在信息的显示形式上也进行了不小的更新,增加了两个非常使用的显示区,一个是信息区,对表格和文字进行了分类处理,界面的显示更加清爽和具体。第二是仪表的信息控件,能在仪表信息区进行信息的显示,同时还能进行多个信息的比对,为用户的实际使用带来了很大的便捷。
1.3论文结构与章节安排
论文将分层次进行编排,除去论文摘要致谢文献参考部分,正文部分主要结构如下:
第一章:绪论,此章节对所设计和实现的系统的背景、意义及开发技术进行详细的论述以及说明,同时进行了论文整体框架的结构的简要介绍。
第二章:系统分析,此章节所做的主要的工作是对系统进行了技术、社会等方面可行性的分析;对系统实行了总体功能的需求、用例分析。
第三章:系统设计,主要是对系统的功能结构进行设计,并对系统数据库的概念结构以及物理结构的设计进行了分析。
第四章:系统实现,根据系统功能的划分,分别的对系统所需要实现的前台用户功能和后台管理员及员工用户功能进行了分析和说明。
第五章:系统测试,主要介绍了系统测试目的和对系统的部分功能界面进行测试并对测试结果作出总结。
第六章:结论,主要对系统的开发设计工作进行总结。
2系统分析
2.1 可行性分析
Flask是一个轻量级但功能强大的Web框架,它使用Python编写,具有丰富的库和工具支持,易于开发和维护。同时,Flask具有高度的可扩展性,可以通过扩展和插件来满足智能制造云平台的各种需求。因此,从技术角度来看,使用Flask开发智能制造云平台是完全可行的。
(2)操作可行性
采用Flask开发的智能制造云平台需要具有友好的用户界面和易于操作的功能。Flask框架配合各种前端VUE技术可以实现美观、易用的用户界面。同时,平台提供清晰的操作流程和明确的指导,使操作人员能够快速上手并使用平台。因此,从操作角度来看是可行的。
- 社会可行性
智能制造云平台的发展需要得到社会各方面的支持和认可。随着工业4.0和智能制造的推进,越来越多的企业和机构开始关注并投入到智能制造领域。同时,政府也出台了一系列政策和措施来支持智能制造的发展。因此,从社会角度来看,智能制造云平台具有广阔的发展前景和可行性,是可行的。
2.2总体设计原则
一个系统要在开发和维护的过程中方便使用,必须采取一定的设计原则,其主要设计原则有:
简单性:系统功能简单易懂,只需要掌握基本的计算机操作能力即可使用。
针对性:针对特定的用户,没有多余的其他功能,使用户可以专心使用。
实用性:能够满足用户查看产品信息、订单信息、工厂信息等方面的需求。
先进性:本系统的代码采用读取数据的方式,方便后续开发、拓展。
2.3 系统流程分析
系统流程是用一些特定的符合和线条来进行演示用户在使用系统时的过程,在进行系统分析的时候,业务流程可以帮助开发人员更好的理解业务,发现错误,完善系统。
2.3.1 用户登录流程
登录模块主要满足管理员以及用户的权限登录,用户登录流程图如图2-1所示。
图2-1 用户登录流程图
2.3.2 删除信息流程
用户可选择要删除的信息并进行信息删除操作,在删除信息时系统提示是否确定删除信息,是则删除信息成功,系统数据库将信息进行删除。删除信息流程图如图2-2所示。
图2-2 删除信息流程图
2.4 系统角色分析
按照智能制造云平台的角色,主要包括注册用户、管理员和员工用户这三大角色,各角色功能如下:
- 注册用户功能
- 注册登录:新用户可以通过注册成为系统用户,注册后可用账号密码登录。
- 首页:用户可以查看首页展示的轮播图、新闻资讯和产品信息推荐等信息。
- 公告通知:用户可以查看系统发布的网站公告、关于我们、联系方式、网站介绍等信息。
- 新闻资讯:用户可以查看新闻资讯列表中某个资讯的详细信息并可以点赞、收藏和评论。
- 产品信息:用户可以查看系统发布的所有产品信息,点击产品信息列表中某个产品进入页面可以查看该产品的详情并可以下单、点赞、收藏和评论。
- 我的:用户点击我的头像的下拉菜单“我的账户”进入页面可以修改个人信息和登录密码;点击“个人中心”进入页面可以查看和管理个人首页、订单信息、取消信息、排产信息和收藏信息;点击“退出”即可退出系统登录。
- 管理员功能
- 登录:管理员可以通过在后台输入正确的账号和密码进行登录。
- 后台首页:管理员可以查看后台首页展示的相关信息。
- 系统用户:管理员可以查看所有系统用户的信息,同时负责对员工用户账号的添加。
- 产品信息管理:管理员可以添加新的产品信息,可以查看已有的产品信息列表中某个产品的详情和评论信息,可以对列表信息进行查询和删除操作。订单信息管理:管理员可以查看订单信息列表中某个用户的订单信息详情和支付信息。
- 取消信息管理:管理员可以查看取消信息列表中某个用户的取消信息详情,可以查询和删除取消信息。
- 工厂信息管理:管理员可以添加工厂信息,可以查看已有的工厂信息列表中某个工厂的信息详情,可以对工厂信息进行查询、重置和删除操作。
- 排产信息管理:管理员可以查看排产信息列表中某个用户订单的排产信息详情;可以查询和删除排产信息。
- 系统管理:在系统管理界面,管理员可以查看所有轮播图信息,可以对系统轮播图信息进行查询、添加和删除操作。
- 公告通知管理:管理员可以查看所有公告通知信息,可以对公告通知信息进行查询、添加和删除操作。
- 资源管理:在资源管理界面,管理员对新闻资讯和资讯分类信息进行管理。管理可以对新闻资讯和资讯分类信息进行查询、添加和删除操作。
- 我的:管理员可以修改个人信息和登录密码;可以浏览网站首页;点击“退出”即可退出系统的登录。
- 员工用户功能
- 登录:员工用户账号由管理员添加,用户可以用管理员提供的账号密码登录系统。
- 后台首页:用户可以查看后台首页展示的相关信息。
- 产品信息管理:用户可以查看产品信息列表中某个产品的详情,可以查询和删除产品信息。
- 订单信息管理:用户可以查看订单信息列表中某个用户的订单信息详情并提交订单押金和订单状态信息;已支付的订单可以提交推产信息。
- 取消信息管理:用户可以查看取消信息列表中某个用户提交的取消信息详情并提交取消状态信息;可以通过输入产品名称查询客户取消信息。
- 排产信息管理:用户可以查看排产信息列表中某个用户订单的排产信息详情;可以查询和删除排产信息。
- 我的:用户可以修改个人信息和登录密码;可以浏览网站首页;点击“退出”即可退出系统的登录。
2.5 系统用例分析
通过2.3的角色分析,得出了本智能制造云平台的用例图:
注册用户角色用例图如下图2-3所示。
图2-3 注册用户角色用例图
管理员角色用例图如下图2-4所示。
图2-4 管理员角色用例图
员工用户角色用例图如下图2-5所示。
图2-5员工用户角色用例图
2.6本章小结
本章主要通过对智能制造云平台的可行性分析、流程分析、系统角色分析、系统用例分析,确定整个系统要实现的功能。同时也为智能制造云平台的代码实现和测试提供了标准。
3 系统设计
本章主要讨论的内容包括智能制造云平台的架构设计、结构设计、数据库系统设计。
3.1 系统架构设计
本智能制造云平台从架构上分为三层:表现层(UI)、业务逻辑层(BLL)以及数据层(DL)。
图3-1 系统架构设计图
表现层(UI):又称UI层,主要完成本系统的UI交互功能,一个良好的UI可以打打提高用户的用户体验,增强用户使用本系统时的舒适度。UI的界面设计也要适应不同版本的系统以及不同尺寸的分辨率,以做到良好的兼容性。UI交互功能要求合理,用户进行交互操作时必须要得到与之相符的交互结果,这就要求表现层要与业务逻辑层进行良好的对接。
业务逻辑层(BLL):主要完成本系统的数据处理功能。用户从表现层传输过来的数据经过业务逻辑层进行处理交付给数据层,系统从数据层读取的数据经过业务逻辑层进行处理交付给表现层。
数据层(DL):由于本系统的数据是放在服务端的MySQL数据库中,因此本属于服务层的部分可以直接整合在业务逻辑层中,所以数据层中只有数据库,其主要完成本智能制造云平台的数据存储和管理功能。
3.2 系统结构设计
整个系统是由多个功能模块组合而成的,要将所有的功能模块都一一列举出来,然后进行逐个的功能设计,使得每一个模块都有相对应的功能设计,然后进行系统整体的设计。智能制造云平台结构图如图3-2所示。
图3-2 系统结构图
3.3 数据库设计
数据库可以说是所有软件的根本,如果数据库存在缺陷,那么会导致系统开发的不顺利、维护困难、用户使用不顺畅等一系列问题,严重时将会直接损害企业的利益,同时在开发完成后,数据库缺陷也更加难以解决。所以必须要对数据库设计重点把握,做到认真细致。因此,数据库设计是智能制造云平台的重点要素。
3.3.1 数据库概念结构设计
下面是整个智能制造云平台中主要的数据库表总E-R实体关系图。
图3-3 系统总E-R关系图
3.3.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 | 用户编号: |
表article (文章:用于内容管理系统的文章)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | article_id | mediumint | 8 | 0 | N | Y | 文章id:[0,8388607] | |
2 | title | varchar | 125 | 0 | N | Y | 标题:[0,125]用于文章和html的title标签中 | |
3 | type | varchar | 64 | 0 | N | N | 0 | 文章分类:[0,1000]用来搜索指定类型的文章 |
4 | hits | int | 10 | 0 | N | N | 0 | 点击数:[0,1000000000]访问这篇文章的人次 |
5 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
6 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
8 | source | varchar | 255 | 0 | Y | N | 来源:[0,255]文章的出处 | |
9 | url | varchar | 255 | 0 | Y | N | 来源地址:[0,255]用于跳转到发布该文章的网站 | |
10 | tag | varchar | 255 | 0 | Y | N | 标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开 | |
11 | content | longtext | 2147483647 | 0 | Y | N | 正文:文章的主体内容 | |
12 | img | varchar | 255 | 0 | Y | N | 封面图 | |
13 | description | text | 65535 | 0 | Y | N | 文章描述 |
表article_type (文章分类)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | type_id | smallint | 5 | 0 | N | Y | 分类ID:[0,10000] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000]决定分类显示的先后顺序 |
3 | name | varchar | 16 | 0 | N | N | 分类名称:[2,16] | |
4 | father_id | smallint | 5 | 0 | N | N | 0 | 上级分类ID:[0,32767] |
5 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该分类的作用 | |
6 | icon | text | 65535 | 0 | Y | N | 分类图标: | |
7 | url | varchar | 255 | 0 | Y | N | 外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置 | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表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 | 更新时间: |
表cancel_information (取消信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | cancel_information_id | int | 10 | 0 | N | Y | 取消信息ID | |
2 | product_number | varchar | 64 | 0 | Y | N | 产品编号 | |
3 | product_name | varchar | 64 | 0 | Y | N | 产品名称 | |
4 | order_number | varchar | 64 | 0 | Y | N | 订单编号 | |
5 | cancel_user | int | 10 | 0 | Y | N | 0 | 取消用户 |
6 | cancel_time | datetime | 19 | 0 | Y | N | 取消时间 | |
7 | cancel_quantity | int | 10 | 0 | Y | N | 0 | 取消数量 |
8 | cancel_status | varchar | 64 | 0 | Y | N | 取消状态 | |
9 | reason_for_cancellation | varchar | 64 | 0 | Y | N | 取消原因 | |
10 | cancel_remarks | text | 65535 | 0 | Y | N | 取消备注 | |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表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: |
表employee_users (员工用户)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | employee_users_id | int | 10 | 0 | N | Y | 员工用户ID | |
2 | employee_name | varchar | 64 | 0 | Y | N | 员工姓名 | |
3 | employee_title | varchar | 64 | 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 | 更新时间 |
表factory_information (工厂信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | factory_information_id | int | 10 | 0 | N | Y | 工厂信息ID | |
2 | factory_number | varchar | 64 | 0 | Y | N | 工厂编号 | |
3 | factory_name | varchar | 64 | 0 | Y | N | 工厂名称 | |
4 | yield_a_product | varchar | 64 | 0 | Y | N | 生产产品 | |
5 | production_efficiency | varchar | 64 | 0 | Y | N | 生产效率 | |
6 | factory_responsible | varchar | 64 | 0 | Y | N | 工厂负责 | |
7 | contact_information | varchar | 64 | 0 | Y | N | 联系方式 | |
8 | factory_details | longtext | 2147483647 | 0 | Y | N | 工厂详情 | |
9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
10 | 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: |
表notice (公告)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | notice_id | mediumint | 8 | 0 | N | Y | 公告id: | |
2 | title | varchar | 125 | 0 | N | N | 标题: | |
3 | content | longtext | 2147483647 | 0 | Y | N | 正文: | |
4 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表order_information (订单信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | order_information_id | int | 10 | 0 | N | Y | 订单信息ID | |
2 | product_number | varchar | 64 | 0 | Y | N | 产品编号 | |
3 | product_name | varchar | 64 | 0 | Y | N | 产品名称 | |
4 | product_price | varchar | 64 | 0 | Y | N | 产品价格 | |
5 | order_number | varchar | 64 | 0 | Y | N | 订单编号 | |
6 | ordering_users | int | 10 | 0 | Y | N | 0 | 下单用户 |
7 | order_time | datetime | 19 | 0 | Y | N | 下单时间 | |
8 | order_quantity | int | 10 | 0 | Y | N | 0 | 下单数量 |
9 | deposit_amount | int | 10 | 0 | Y | N | 0 | 押金金额 |
10 | order_remarks | text | 65535 | 0 | Y | N | 下单备注 | |
11 | order_status | varchar | 64 | 0 | Y | N | 订单状态 | |
12 | pay_state | varchar | 16 | 0 | N | N | 未支付 | 支付状态 |
13 | pay_type | varchar | 16 | 0 | Y | N | 支付类型: 微信、支付宝、网银 | |
14 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
15 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表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已取消 |
表production_scheduling_information (排产信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | production_scheduling_information_id | int | 10 | 0 | N | Y | 排产信息ID | |
2 | product_number | varchar | 64 | 0 | Y | N | 产品编号 | |
3 | product_name | varchar | 64 | 0 | Y | N | 产品名称 | |
4 | order_number | varchar | 64 | 0 | Y | N | 订单编号 | |
5 | ordering_users | int | 10 | 0 | Y | N | 0 | 下单用户 |
6 | production_factory | varchar | 64 | 0 | Y | N | 生产工厂 | |
7 | expected_cycle | varchar | 64 | 0 | Y | N | 预计周期 | |
8 | start_time | datetime | 19 | 0 | Y | N | 开始时间 | |
9 | production_quantity | int | 10 | 0 | Y | N | 0 | 生产数量 |
10 | production_status | varchar | 64 | 0 | Y | N | 生产状态 | |
11 | production_details | longtext | 2147483647 | 0 | Y | N | 生产详情 | |
12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表product_information (产品信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | product_information_id | int | 10 | 0 | N | Y | 产品信息ID | |
2 | product_number | varchar | 64 | 0 | Y | N | 产品编号 | |
3 | product_name | varchar | 64 | 0 | Y | N | 产品名称 | |
4 | product_quantity | int | 10 | 0 | Y | N | 0 | 产品数量 |
5 | product_price | int | 10 | 0 | Y | N | 0 | 产品价格 |
6 | production_schedule | varchar | 64 | 0 | Y | N | 生产工期 | |
7 | product_type | varchar | 64 | 0 | Y | N | 产品类型 | |
8 | cover_photo | varchar | 255 | 0 | Y | N | 封面图片 | |
9 | release_time | datetime | 19 | 0 | Y | N | 发布时间 | |
10 | ordering_notice | text | 65535 | 0 | Y | N | 下单须知 | |
11 | product_details | longtext | 2147483647 | 0 | Y | N | 产品详情 | |
12 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
13 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
14 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表registered_users (注册用户)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | registered_users_id | int | 10 | 0 | N | Y | 注册用户ID | |
2 | user_name | varchar | 64 | 0 | Y | N | 用户名称 | |
3 | user_gender | varchar | 64 | 0 | Y | N | 用户性别 | |
4 | user_age | int | 10 | 0 | Y | N | 0 | 用户年龄 |
5 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
6 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
8 | 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 | | 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 | 更新时间: |
3.4本章小结
整个智能制造云平台的需求分析主要对系统总体架构以及功能模块的设计,通过建立E-R模型和数据库逻辑系统设计完成了数据库系统设计。
4 系统实现
4.1注册用户功能模块
4.1.1 用户注册界面
用户注册界面用于新用户进行账号注册,用户需要填写必要的个人信息并选择合适的用户名和密码。注册界面应该进行输入验证和数据格式检查,确保用户提供有效的信息。系统会对输入的信息进行验证,验证通过后即可完成注册。其界面展示如下图4-1所示。
图4-1 用户注册界面图
注册的代码如下:
# 用户类
class User(controllerClass):
def __init__(self, config={}):
"""
构造函数
@param {Object} config 配置参数
"""
config_init = {
# 选择的模板那路径模板
"tpl": "./user/",
# 选择的服务
"services": "user",
# 注册API
"get_api": ["state", "quit"],
"post_api": ["login", "register", "change_password", "forget_password"],
# 唯一判断
"unique": ["username"]
}
config_temp = config
config_temp.update(config_init)
super(User, self).__init__(config_temp)
def Register(self, ctx):
"""
注册API
@param {Object} config 配置参数
"""
print("===================注册=====================")
userService = service_select("user")
body = ctx.body
# 判断必须信息
if "username" not in body and body["username"] == '':
return {"error": {
"code": 70000,
"message": "用户名不能为空",
}}
if "user_group" not in body and body["user_group"] == '':
return {
"error": {
"code": 70000,
"message": "用户组不能为空",
}
}
if "password" not in body and body["password"] == '':
return {
"error": {
"code": 70000,
"message": "密码不能为空",
}
}
# 取出表单
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 {
"error": {
"code": 70000,
"message": "用户名已存在",
}
}
ret = {
"error": {
"code": 70000,
"message": "注册失败",
}
}
# 添加
bl = userService.Add(post_param)
if bl:
ret = {
"result": {
"bl": True,
"message": "注册成功"
}
}
return ret
4.1.3 用户登录界面
用户注册后可以通过自己的账户名和密码进行登录的,当用户输入完整的自己的账户名和密码信息并点击“登录”按钮后,系统会对输入的信息进行验证,验证通过后即可完成登录,其界面如下图4-2所示。
图4-2用户登录界面图
登录的代码如下:
def Login(self, ctx):
"""
登录API
@param {Object} ctx http请求上下文
"""
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:
# 生成Token
timeout = datetime.now(tz=timezone.utc)
timestamp = int(time.mktime(timeout.timetuple())) * 1000
token = md5hash(str(obj["user_id"]) + "_" + str(timestamp))
# 存储Token
# session[token] = obj["user_id"]
session.setdefault(token, obj["user_id"])
session.permanent = True
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 ret
4.1.3 前台首页界面
系统首页以上中下的布局进行展示,正上方是系统的导航栏,中间是轮播图,下面是新闻资讯、产品信息推荐等信息。其主界面展示如下图4-3所示。
图4-3 前台首页界面图
4.1.4 新闻资讯界面
用户可以查看系统发布的新闻资讯信息。点击新闻资讯列表中某个资讯可以查看该资讯的的详细信息并可以点赞、收藏和评论,支持通过局部搜索新闻资讯信息。其界面如图4-4所示。
图4-4 新闻资讯界面图
4.1.5 产品信息界面
用户可以查看系统发布的所有产品信息,点击产品信息列表中某个产品进入页面可以查看该产品的详情并可以下单、点赞、收藏和评论。点击详情下方的“下单”进入页面填写下单数量和下单备注信息后点击“提交”即可完成下单。支持通过关键字搜索、下拉搜索方式搜索查找产品信息。其界面如下图4-5所示:
图4-5 产品信息界面图
4.1.6 个人中心界面
用户点击我的头像的下拉菜单“个人中心”进入页面可以查看和管理个人首页、订单信息、取消信息、排产信息和收藏信息。可以查看订单信息列表中某个订单详情并可以通过微信、支付宝等方式完成支付,也可以对订单进行取消;可以查看排产信息列表中某个订单的排产详情;可以查询和重置订单、排产信息;可以对取消信息进行增删改查操作;可以查看或删除收藏列表信息其界面如下图4-6所示:
图4-6 个人中心界面图
添加的代码如下:
def Add(self, ctx):
"""
增
@param {Object} ctx http请求上下文
@return {Object} 返回json-rpc格式结果
"""
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管理员功能模块
4.2.1 系统用户界面
管理员可以查看所有系统用户的信息,同时负责对员工用户账号的添加。可以对系统用户(管理员、注册用户、员工用户)信息进行查询、添加和删除操作。其界面如下图4-7所示。
图4-7系统用户界面图
删除的代码如下:
# 删
def Del(self, ctx):
"""
删
@param {Object} ctx http请求上下文
@return {Object} 返回json-rpc格式结果
"""
if len(ctx.query) == 0:
errorMsg = {"code": 30000, "message": "删除条件不能为空!"}
return errorMsg
result = self.service.Del(ctx.query, self.config)
if self.service.error:
return {"error": self.service.error}
return {"result": result}
4.2.2产品信息管理界面
管理员可以添加新的产品信息,可以查看已有的产品信息列表中某个产品的详情和评论信息,可以对列表信息进行查询和删除操作。其界面如下图4-8所示。
图4-8产品信息管理界面图
4.2.3工厂信息管理界面
管理员可以添加工厂信息,可以查看已有的工厂信息列表中某个工厂的信息详情,可以对工厂信息进行查询、重置和删除操作。其界面如下图4-9所示。
图4-9工厂信息管理界面图
4.2.4系统管理界面
在系统管理界面,管理员可以查看所有轮播图信息,可以对系统轮播图信息进行查询、添加和删除操作。其界面如下图4-10所示。
图4-10系统管理界面图
4.2.5公告通知管理界面
管理员可以查看所有公告通知信息,可以对公告通知信息进行查询、添加和删除操作。其界面如下图4-11所示。
图4-11公告通知管理界面图
4.2.6资源管理界面
在资源管理界面,管理员对新闻资讯和资讯分类信息进行管理。管理员可以查看新闻资讯列表中某个资讯的详情和评论信息,可以对新闻资讯和资讯分类信息进行查询、添加和删除操作。其界面如下图4-12所示。
4.3员工用户功能模块
4.3.1 订单信息管理界面
用户可以查看订单信息列表中某个用户的订单信息详情并提交订单押金和订单状态信息;已支付的订单可以提交推产信息;可以查询和删除订单信息。其界面如下图4-13所示。
图4-13订单信息管理界面图
4.3.2 取消信息管理界面
用户可以查看取消信息列表中某个用户提交的取消信息详情并提交取消状态信息;可以通过输入产品名称查询客户取消信息。其界面如下图4-14所示。
图4-14取消信息管理界面图
4.3.3 排产信息管理界面
用户可以查看排产信息列表中某个用户订单的排产信息详情;可以通过输入产品名称或选择生产状态查询排产信息;选择某个或多个信息后点击“删除”即可删除排产信息。其界面如下图4-15所示。
图4-15排产信息管理界面图
5系统测试
5.1测试目的
系统测试的目的是确保系统的功能完整、性能稳定,并验证系统是否符合预期的设计和需求。通过系统测试,可以发现和修复潜在的错误和缺陷,提高系统的质量和可靠性。同时,系统测试还可以评估系统在不同条件下的性能表现,包括并发性能、响应时间和容错能力等。通过全面的系统测试,可以确保系统在正式上线前达到高品质的状态。
5.2 测试用例
系统测试包括:用户登录功能测试、产品信息查看功能测试、工厂信息添加功能测试、密码修改功能测试,如表5-1、5-2、5-3、5-4所示:
用户登录功能测试:
表5-1 用户登录功能测试表
测试用例编号 | 测试描述 | 预期结果 | 实际结果 | 是否通过 |
TC001 | 使用正确的用户名和密码进行登录 | 成功登录系统,跳转到用户首页 | 登录成功,跳转到用户首页 | 通过 |
TC002 | 使用不存在的用户名进行登录 | 显示错误提示信息:用户名不存在 | 显示错误提示信息:用户名不存在 | 通过 |
TC003 | 使用正确的用户名和错误的密码进行登录 | 显示错误提示信息:密码错误 | 显示错误提示信息:密码错误 | 通过 |
TC004 | 不输入用户名和密码直接点击登录按钮 | 显示错误提示信息:用户名和密码不能为空 | 显示错误提示信息:用户名和密码不能为空 | 通过 |
产品信息查看功能测试:
表5-2 产品信息查看功能测试表
测试用例编号 | 测试描述 | 预期结果 | 实际结果 | 是否通过 |
TC001 | 打开产品信息页面,检查是否能够正确展示产品信息列表信息 | 产品信息列表显示正确 | 产品信息列表显示正确 | 通过 |
TC002 | 点击产品信息查看按钮,检查是否能正常打开页面 | 产品信息详情页面显示正确 | 产品信息详情页面显示正确 | 通过 |
TC003 | 检查产品信息搜索功能 | 根据关键字搜索到相关产品信息并正确展示 | 根据关键字搜索到相关产品信息并正确展示 | 通过 |
管理员添加工厂信息界面测试:
表5-3 管理员添加工厂信息界面测试表
测试用例编号 | 测试描述 | 预期结果 | 实际结果 | 是否通过 |
TC001 | 使用合法的信息添加一个新的工厂信息 | 工厂信息成功添加到系统 | 工厂信息成功添加到系统 | 通过 |
TC002 | 使用已存在的工厂名称添加一个工厂信息 | 显示错误提示信息:工厂名称已存在 | 显示错误提示信息:工厂名称已存在 | 通过 |
TC003 | 添加工厂信息时不输入必填信息 | 显示错误提示信息:必填字段不能为空 | 显示错误提示信息:必填字段不能为空 | 通过 |
TC004 | 使用不存在的关键字进行搜索 | 搜索结果为空 | 搜索结果为空 | 通过 |
表5-4密码修改功能测试表
测试用例编号 | 测试描述 | 预期结果 | 实际结果 | 是否通过 |
TC001 | 输入正确的原密码和新密码进行修改 | 密码成功修改 | 密码成功修改 | 通过 |
TC002 | 输入错误的原密码和新密码进行修改 | 显示错误提示信息:原密码错误 | 显示错误提示信息:原密码错误 | 通过 |
TC003 | 不输入原密码和新密码直接点击修改按钮 | 显示错误提示信息:密码不能为空 | 显示错误提示信息:密码不能为空 | 通过 |
5.3 测试结果
通过编写智能制造云平台的测试用例,已经检测完毕系统测试包括:用户登录功能测试、产品信息查看功能测试、工厂信息添加功能测试、密码修改功能测试,通过这四大模块为智能制造云平台的后期推广运营提供了强力的技术支撑。
6 结论
在开发智能制造云平台之前,需对用户的实际需求进行分析。这不仅包括对系统的可行性研究,还包括对功能需求和其他需求的详细分析。在可行性分析阶段,本人从技术性和经济性等多个角度对系统实现的可能性进行了全面评估,结果表明,该系统的实施是可行的。
本文首先概述了智能制造云平台开发的背景及其意义,接着详细阐述了系统的具体业务需求,并根据这些需求对系统的结构以及功能模块进行了精细的设计。这个系统划分为多个独特的功能模块,每个模块都具有其独特的功能和作用。
在深入分析系统功能需求的过程中,本人对系统的总体架构和功能模块进行了深入研究,并选择了最适合的系统开发技术来完成各个模块的开发工作。系统开发完成后进行了系统的测试。测试结果表明,该系统在功能和性能方面都满足了预期的要求,具有极高的稳定性和可靠性。
参考文献
[1]吴小凤,王天淼,朱文秀.基于Flask框架的监控平台可视化设计研究[J].工业控制计算机,2024,37(03):90-91.
[2]王小伟.促进先进智能技术与制造业融合创新[N].证券时报,2024-03-05(A04).
[3]陈泽帆,郭苗梓,李满,等.基于Python语言的成本管理系统设计与开发[J].锻造与冲压,2024,(04):26-30.
[4]段春艳,王佳洁,王皓博,等.智能制造系统可靠性与风险评估模型[J].同济大学学报(自然科学版),2024,52(02):313-322.
[5]田文涛.Python技术在计算机软件中的应用[J].集成电路应用,2024,41(02):344-346.
[6]张相木.智能制造的内涵和核心环节[J].电气时代,2024,(01):28-30.
[7]何涛.基于人工智能技术的智能制造系统设计与优化[J].中国高新科技,2023,(23):37-39.
[8]姜小云,吴俞,张永莉.基于Flask的气象装备远程维修指导系统设计与实现[J].电子设计工程,2023,31(23):50-53.
[9]杨洪涛.Flask中ORM模型的应用及研究[J].电脑编程技巧与维护,2023,(10):49-51+75.
[10]蔡萍,赵文忠.基于智能制造的协同共享服务云平台研究[J].智能制造,2023,(05):87-89.
[11]杨梓嘉.机电一体化技术在智能制造中的应用[J].电子技术,2023,52(09):49-51.
[12]王炎.四川:推动智能制造由点到线由线到面系统发展[N].四川经济日报,2023-06-05(002).
[13]李朝杨.Flask应用的XSS和CSRF漏洞检测方法研究[D].华北理工大学,2023.
[14]智能制造企业工业互联网平台安全防护建设[J].自动化博览,2022,39(01):114-115.
[15]任燕,户燕会.基于云平台和虚拟仿真软件的农机部件智能制造系统[J].农机化研究,2022,44(06):232-235+244.
[16]蒋小军,基于云服务平台的高精密注塑成型装备智能制造技术开发及产业化.广东省,广东伊之密精密注压科技有限公司,2021-05-28.
[17]娄高翔.云制造环境下面向过程的生产调度问题研究[D].长安大学,2021.
[18] Sunday O B ,Nduka O S . MySQL Database Server: Deploying Software Application to Enhance Visibility and Accountability [J]. Current Journal of Applied Science and Technology, 2023, 42 (4): 16-23.
[19]FUIOR F .Introduction in Python frameworks for web development[J].Romanian Journal of Information Technology and Automatic Control,2021,31(3):
[20]Uchenna I U ,Gregory S U ,Virginus N U , et al.Exploring a Secured Socket Python Flask Framework in Real Time Communication System[J].Asian Journal of Research in Computer Science,2021,77-87.
致 谢
大学生活在这个时候即将划上一个句号,但是对于我的人生道路来说,这仅仅是一个逗号,我将面对的是又一次征程的开始。
回忆过去,许许多多的事情浮现在脑海:刚上大学时欢乐心情和兴奋的场景还历历在目。一切都是那么新鲜,那么富有吸引力。有快乐也有艰辛,有收获也有失落。衷心感谢信息学院所有支持帮助过我的老师,谢谢你们多年来的关心和爱护。同窗的友情同样难忘,你们与我共同走过了人生中不平凡的道路,给我留下了值得珍藏的美好记忆。
最后,我要特别感谢指导智能制造云平台设计的老师。本论文是在他的悉心指导和热情帮助下完成的,老师认真负责的工作态度,严谨的治学精神和精深的理论水平都使我受益匪浅。老师无论在理论上还是在实践中,都给予我很大的帮助,使我专业技能的应用水平得到很大提高,这对于我以后的工作和学习都有益处。值此论文完成之际,特别向老师表示衷心的感谢和崇高的敬意,谢谢他细心而又耐心地辅导,使得我得以顺利的完成毕业设计开发工作,同时也要感谢其他帮助过我的老师和同学,他们在我成长过程中给予了我很大的帮助,在此一并表示感谢。