随着互联网的趋势的到来,各行各业都在考虑利用互联网将自己的信息推广出去,最好方式就是建立自己的平台信息,并对其进行管理,随着现在智能手机的普及,人们对于智能手机里面的应用“well”运动健身app也在不断的使用,本文首先分析了“well”运动健身app应用程序的需求,从系统开发环境、系统目标、设计流程、功能设计等几个方面对系统进行了系统设计。开发出本“well”运动健身app,主要实现了管理员后台;网站管理(轮播图、通知公告)人员管理(管理员、普通用户)内容管理(健身资讯、资讯分类)模块管理(课程分类、课程信息、课程选择、运动计划、健身记录、计划总结),用户前台;首页、健身资讯、我的(课程信息、个人信息、收藏、课程选择、运动计划、健身记录、计划总结)等。总体设计主要包括系统功能设计、该系统里充分综合应用Mysql数据库、PHP等相关知识。网页界面的构成,具备简单易懂、便捷等特征。设计过程中,第一,静态页面的制作需要应用语言,以及APP的美工,在这些方面均收获了较好的成绩。第二,针对HBuilder X等技术动态编程以及数据库进行努力学习和大量实践,并运用到了APP的建设中。
【关键词】“well”运动健身app;MYSQL数据库;PHP编程语言
Abstract
With the arrival of the trend of the Internet, all walks of life are considering using the Internet to promote their own information. The best way is to establish their own platform information and manage it. With the popularity of smart phones, people are constantly using the "well" sports fitness app in smart phones. This article first analyzes the needs of the "well" sports fitness app application, from the system development environment The system is designed in terms of system objectives, design process, function design, etc. Developed the "well" sports fitness app, mainly realizing the administrator background; Website management (rotation chart, notice announcement) personnel management (administrators, ordinary users) content management (fitness information, information classification) module management (course classification, course information, course selection, exercise plan, fitness record, plan summary), user front desk; Home page, fitness information, mine (course information, personal information, collection, course selection, exercise plan, fitness record, plan summary), etc. The overall design mainly includes the system function design and the comprehensive application of MySQL database, PHP and other relevant knowledge in the system. The composition of the web interface is simple, easy to understand and convenient. In the design process, first, the production of static pages requires application language and the art of APP, which have achieved good results. Second, we have made great efforts to study and practice the dynamic programming and database of HBuilder X and other technologies, and applied them to the construction of APP.
Key words "well" sports fitness app; MYSQL database; PHP programming language
目 录
1绪论
1.1概述
1.2课题意义
1.3主要内容
2 相关技术简介
2.2 Thinkphp框架介绍
2.3 MYSQL数据库
2.4 Vue.js 主要功能
3 系统分析
3.1 系统需求分析
3.1.1系统功能需求
3.1.2系统技术需求
3.1.3系统安全需求
3.2 可行性分析
3.2.1技术可行性
3.2.2经济可行性
3.2.3操作可行性
3.2.4法律可行性
3.3性能分析
3.4 系统UML用例分析
3.5 系统流程分析
4 系统设计
4.1系统功能模块设计
4.2 系统开发流程设计
4.3 数据库设计
4.3.1数据库实体(E-R图)
5 系统实现
5.1管理员登录模块
5.2管理员后台功能模块
5.3用户前台功能模块
6 系统测试
6.1系统测试的目的
6.2系统测试分析
7 结 论
致 谢
【参考文献】
1绪论
1.1概述
随着智能手机的逐渐普及,手机已经融入到了人们快节奏的生活当中去,手机系统越来越智能化,其中HBuilder X在移动领域得到了广泛的应用,已成为智能手机市场的领跑者,截止2022年市场份额已经超过了90%,所以基于HBuilder X平台的各种软件将在不断的增加,由于手机使用起来比较方便,而且现在数据统计分析,使用智能手机的用户已经远远超过使用电脑的人数,由于4G网络的普及,用户通过手机来满足自己的各种需求,并且使用的手机软件也都越来越方便的代替人们的生活。由于HBuilder X系统手机价位大众化,用户量要远远多于苹果系统,其开源码的特性,为基于HBuilder X系统的应用软件良好的基础。
“well”运动健身app信息的软件,一款好的“well”运动健身app会有很大的基础,但用户在使用“well”运动健身app软件的时候,经常会遇到各种各样的问题,例如怎样使用?怎样更为合理的使用“well”运动健身app功能,人们对软件的使用攻略和操作技巧非常关注。设计开发一个“well”运动健身app很有必要,通过该“well”运动健身app软件,因此,针对“well”运动健身app特开发了本“well”运动健身app。
1.2课题意义
随着计算机技术的发展以及智能手机的逐渐普及,手机已经成为人们生活着必不可少的一部分,它不仅仅只是当时简简单单打电话的应用,更多的应用慢慢的融入到我们的生活中。经过几年的不断发展,HBuilder X已经逐步发展成一个平台操作,一个生态体系。现如今HBuilder X手机已经普遍的应用,因为其操作简单,得到家庭不同年龄层次的喜爱。
HBuilder X是基于Linux平台的开源移动操作系统的名称。该平台由操作系统、中间件和用户界面三部分组成。它是第一个开放和完整的移动用户机解决方案。手机软件。它的迅速发展与流行的苹果系统形成了激烈的竞争。然而,根据调查,HBuilder X系统的用户远远超过了苹果系统。
根据HBuilder X系统广泛使用的市场和免费服务功能,公司可以免费获得HBuilder X平台上新功能的开发源代码,开发成本节约,研发迅速,服务范围广泛,效益最大化。凭借开源特性,HBuilder X系统规范了平台,打破了原有手机操作系统,受到了大家的高度追捧。同时,它融合了传统移动通信的优势,提高了HBuilder X系统的整体价值。手机厂商与软件厂商、运营商等方面紧密合作,互利共赢,促进行业发展。HBuilder X给手机终端制造商和用户带来了新的情况。同时,互联网的4G时代的结合为用户提供了更加全面、系统、服务服务。HBuilder X推动了手机产业的发展,也给手机以外的其他领域带来了许多应用。
据调查,HBuilder X系统已经在市场中占有主要份额,意味着全球智能手机中四分之三运行的是HBuilder X系统。用户可以根据自己需求进入到安卓市场下载自己所需的APP软件,并且对于已经下载使用的APP,可以根据需求进行删除,等到有需要的时候可以反复下载使用。本“well”运动健身app的研发基于HBuilder X平台,操作简单,为用户提供了一个方便、高效、快捷的“well”运动健身app平台。
1.3主要内容
通过需求分析和设计出了“well”运动健身app,实现网站管理(轮播图、通知公告)人员管理(管理员、普通用户)内容管理(健身资讯、资讯分类)模块管理(课程分类、课程信息、课程选择、运动计划、健身记录、计划总结)等功能,给用户提供一个完整的“well”运动健身app平台。对“well”运动健身app进行系统测试。
2 相关技术简介
1.最快的开发工具
由于我们的极客特质,HBuilder同时被我们打造成了最快的前端开发工具,代码输入法的创新、代码块的优化、emmet的集成、快捷键语法设计、无鼠标操作。这些可能低端程序员不感兴趣,但我们乐于其中。HBuilder有句口号:为极客、为懒人、为你。
2 .环保健康的主题设计由于我们天天面对屏幕眼睛很受伤,所以设计了绿柔主题以保护开发者的视力健康。
3.App开发及部署
当然移动App开发也是HBuilder的优势,Run in device真机调试、打包发行这些功能并非普通的HTML4开发工具会涉及的。我们认为,如果只是做个网站,HTML4就够了,搞HTML5而不做App,太糟蹋这个技术了。以及云打包还能使得没有mac电脑的程序员可以开发iOS应用。
4.能力 - HTML5plus Runtime说完性工能里的工具,再说说能力。HTML5plus Runtime,简称5+ Runtime,是运行于手机端的强化web引擎,除了支持标准HTML5外,还支持更多扩展的js api,使得js的能力不输于原生。5+ Runtime内置于HBuilder,在真机运行、打包时自动挂载。
5.业内之前有phonegap/Cordova方案,但是他们自带js api太少了,扩展api需要用原生语言开发,更致命的是这类方案的性能不足。
6. 5+ Runtime分3个层次解决了HTML5与原生的能力差距。
7.常用的API – HTML5plus封装成跨平台的HTML5plus规范,并将规范公开于www.HTML5plus.org,不做厂商私有API。
8.包括二维码、摇一摇、语音输入、地图、支付、分享、文件系统、通讯录等常用API,可以方便简单的编写,并且可跨平台。
2.2 Thinkphp框架介绍
ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。最早诞生于2006年初,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议发布。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进。
ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,遵循Apache2开源协议发布,从Struts结构移植过来并做了改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,融合了Struts的思想和TagLib(标签库)、RoR的ORM映射和ActiveRecord模式。
ThinkPHP可以支持windows/Unix/Linux等服务器环境,正式版需要PHP5.0以上版本支持,支持MySql、PgSQL、Sqlite多种数据库以及PDO扩展,ThinkPHP框架本身没有什么特别模块要求,具体的应用系统运行环境要求视开发所涉及的模块。
作为一个整体开发解决方案,ThinkPHP能够解决应用开发中的大多数需要,因为其自身包含了底层架构、兼容处理、基类库、数据库访问层、模板引擎、缓存机制、插件机制、角色认证、表单处理等常用的组件,并且对于跨版本、跨平台和跨数据库移植都比较方便。并且每个组件都是精心设计和完善的,应用开发过程仅仅需要关注您的业务逻辑。
2.3 MYSQL数据库
数据库是系统开发过程中不可或缺的一部分。在WEB应用方面,MySQL AB开发了一个具有很大优势的MySQL关系数据库管理系统。 MySQL可以将数据存储在不同的表中,这非常灵活,并且还可以提高系统在实际应用中的速度。数据库访问最常用于标准SQL语言,MySQL用于SQL语言,因此它具有高度兼容性。数据库的操作是必不可少的,包括对数据库表的增加、删除、修改、查询等功能。现如今,数据库可以分为关系型数据库和非关系型数据库,Mysql属于关系性数据库,Mysql数据库是一款小型的关系型数据库,它以其自身特点:体积小、速度快、成本低等,Mysql数据库是目前最受欢迎的开源数据库。
在WEB应用技术中, Mysql数据库支持不同的操作系统平台,虽然在不同平台下的安装和配置都不相同,但是差别也不是很大,Mysql在Windows平台下两种安装方式,二进制版和免安装版。安装完Mysql数据库之后,需要启动服务进程,相应的用户端就可以连接数据库,用户端可通过命令行或者图形界面工具登录数据库。
2.4 Vue.js 主要功能
Vue.js是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue 完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。
Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。
Vue.js 自身不是一个全能框架——它只聚焦于视图层。因此它非常容易学习,非常容易与其它库或已有项目整合。另一方面,在与相关工具和支持库一起使用时,Vue.js 也能驱动复杂的单页应用。
3 系统分析
3.1 系统需求分析
3.1.1系统功能需求
管理员、用户、可通过HBuilder X系统手机打开系统,注册登录后可进行;
管理员后台;网站管理(轮播图、通知公告)人员管理(管理员、普通用户)内容管理(健身资讯、资讯分类)模块管理(课程分类、课程信息、课程选择、运动计划、健身记录、计划总结)个人管理等。
本系统的使用主要是为了给用户提供快捷的查询“well”运动健身app的平台,满足用户手机查询“well”运动健身app的需求,促进“well”运动健身app的发展。
总体分布如图3.1所示:
图3.1 总体功能需求图
3.1.2系统技术需求
系统技术的先进性。本“well”运动健身app采用当下最为广泛的HBuilder X手机系统开发框架,具有成熟的开发模式与多样化的设计,HBuilder X的开源性有利于手机技术时刻处于时代科技的前沿。可运用手机自带的数据库对数据进行操作管理,数据库的可靠性和稳定性较高。
3.1.3系统安全需求
良好的安全性。要想对本“well”运动健身app进行管理,首先要依靠用户名和密码在系统后台中登陆,无权限的用户不可以通过任何方式登录系统后台和对系统的任何信息和数据进行查看,这样可以保证系统的安全可靠性和准确性。在具体实现中对不同的权限进行设定,不同权限的用户在系统中登陆后,不可以越级操作。在实际使用的过程中系统都会涉及到很对需要进行保密的数据,系统出现一些漏洞将这些信息泄露出去将会对用户产生很大的损失,所以在开发系统时我们充分确保了本系统的安全性、可靠性、完整性。
对于数据信息,必须确保数据信息的安全性,用户需要系统操作必须通过自己密码进入系统,确保信息的安全,及数据信息内容的维护,根据需求进行对数据信息记性升级,确保数据信息稳定。
3.2 可行性分析
可行性分析也可以说是可行性研究,它是基于软件系统多方面调查的基础上,是专门对新软件的设计开发是否有必要性和可能性,对新软件的开发的技术、经济、操作三个方面进行分析和研究,保证新应用软件的开发成功,用最低的消耗得到最大的效用,确保解决用户需求问题。
3.2.1技术可行性
系统的开发环境和配置都是可以自行安装,系统使用微软公司Eclipse开发工具,运用Mysql数据库进行数据保存,后台用户的操作进行数据交互,由PHP语言对数据库实现数据的增、删、改、查,可以使得APP运行更具有稳定性和安全性,从而完成实现系统的开发。
对于“well”运动健身app的开发对硬件的要求并不高,正常的电脑配置就可以完成打开系统进行使用及管理,对于系统的打开最主要的一个方面是系统所使用的服务器方便,系统所用的服务器将直接影响往系统是否打开及系统的打开速度,要选择安全性、稳定性强的服务器。。
3.2.2经济可行性
系统是基于HBuilder X的软件,同时数据库采用的是MYSQL,将安卓以及MYSQL结合起来开发一套“well”运动健身app,必定是可行并且高效的。所以系统在开发人力、财力要求不高,而且此系统不是很复杂,开发周期短,具有经济可行性。
3.2.3操作可行性
本系统采用基于移动端用安卓手机安装软件就能够进行访问和操作,且界面简单易操作,用户只要平时有在用过智能手机,就能下载APP,“well”运动健身app的可操作性,主要是随着网络技术发展太快,平台可以支持很多内容,但是如何让平台可以使用更长的时间或者说如何让平台的性价比更高一些,平台在开发使用CMS的互操作性意味着后台数据信息的同时管理,计算机网络控制的高效简便时代很大程度的提高了工作的效率和准确度。对于数据化管理可以更好的提高工作效率,所以系统的操作问题是可行的。
3.2.4法律可行性
“well”运动健身app软件是一种自行设计的“well”运动健身app,具有重大的现实意义。开发环境软件是开源代码,所以本系统的开发与一般的系统软件设计有很大的区别,没有侵权等问题,完全是法律上可行的。
综上所述,本“well”运动健身app的设计制作具有很高的可行性,为了方便用户,更贴近用户的需求,开发此程序是必要的。
3.3性能分析
实用性:系统是根据市场调研的实际情况下进行开发的,操作界面清晰、易懂,符合使用人员的功能需求,当使用人员过多,服务器产生大的数据流量,会有一定响应时间的延迟。
平台的安全性:“well”运动健身app属于开放性APP,并不涉及到支付的功能等,不涉及资金的交易,系统主要是管理人员对系统内容进行管理。
稳定性:“well”运动健身app的运行必须要求具有一定的稳定性,在设计时采用Mysql数据库进行数据的传输,稳定性极佳。
可扩展性:每个程序的开发过程,都不是一朝一夕的,在用户使用的过程中,会出现许多不完善的地方,需要对功能去进行改进,重新添加新的功能等,这就需要程序具备可拓展性,各功能模块有单独开发和拓展的可行性等。
3.4 系统UML用例分析
UML代表统一建模语言,也称为统一建模语言。它是一种可视化建模软件密集型系统的语言。它是开发人员建模客观事物的标记,也是开发人员要理解的。系统需要什么样的功能和整个流程是什么样的做的前期工作。现在我们就对本“well”运动健身app进行UML建模分析。
管理员功能用例图如3.1所示。
3.5 系统流程分析
未注册用户可进入注册界面,填写用户信息,若用户名存在的话,提示返回填写用户名,用户名不存在,则填写密码和手机号,如果电话号码是有效的,用户信息被添加到数据库,注册成功。用户注册流程图如图3.2所示。
图3.2 系统注册流程图
为了保证系统的安全性,要使用本系统必须先登陆到系统中。用户在登录界面输入用户名和密码,点击登录,进入系统,其登录的流程图如图3.3所示。
图3.3系统登录流程图
4 系统设计
4.1系统功能模块设计
系统结构设计是把一个大任务细分为多个小任务的过程。完成这些小任务后,它们就组合成一个完整的任务。其具体的工作步骤是:
(1)将系统分解成多个子模块。
(2)预设计各子模块的功能。
(3)设计各子模块之间的逻辑关系。
(4)设计各个模块的接口和模块间的信息传递。
在整个设计过程中,要确定可能的具体解决方案,以实现每一个小的最终目标,对于每一个小目标,我们首先必须了解一些相关的需求分析信息。然后对系统进行初步设计,逐步优化,设计出具体的、可实现的系统结构。
这个“well”运动健身app应用程序的功能结构设计如图4-1所示。。
4.1 系统功能模块图
4.2 系统开发流程设计
在开发设计“well”运动健身app的时候,首先进行需求分析,进而对系统进行总体的设计规划,设计系统功能模块,测试等,“well”运动健身app的设计流程图,如图4.3所示。
图4.3 系统开发流程图
4.3 数据库设计
4.3.1数据库实体(E-R图)
数据库概念模型旨在抽象现实世界中的信息,实现信息世界的建模。因此,概念模型是数据库设计的重要工具。在概念模型设计、E-R模型的方法是最常用的设计方法。
根据系统功能模块的划分,对系统中的大部分实体进行了分析。系统的主要物理图如下:
4.3.2 数据表
数据库的表信息属于设计的一部分,下面介绍数据库中的各个表的详细信息。
表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 | 用户编号: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 文章描述 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 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 | course_classification_id | int | 10 | 0 | N | Y | 课程分类ID | |
2 | course_classification | varchar | 64 | 0 | Y | N | 课程分类 | |
3 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
4 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | course_information_id | int | 10 | 0 | N | Y | 课程信息ID | |
2 | course_name | varchar | 64 | 0 | Y | N | 课程名称 | |
3 | course_classification | varchar | 64 | 0 | Y | N | 课程分类 | |
4 | suitable_for_people | varchar | 64 | 0 | Y | N | 适合人群 | |
5 | course_cover | varchar | 255 | 0 | Y | N | 课程封面 | |
6 | introduction_video | varchar | 255 | 0 | Y | N | 简介视频 | |
7 | course_introduction | text | 65535 | 0 | Y | N | 课程简介 | |
8 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
9 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
10 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | course_selection_id | int | 10 | 0 | N | Y | 课程选择ID | |
2 | course_name | varchar | 64 | 0 | Y | N | 课程名称 | |
3 | course_classification | varchar | 64 | 0 | Y | N | 课程分类 | |
4 | course_cover | varchar | 255 | 0 | Y | N | 课程封面 | |
5 | select_user | int | 10 | 0 | Y | N | 0 | 选择用户 |
6 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
7 | user_gender | varchar | 64 | 0 | Y | N | 用户性别 | |
8 | user_age | varchar | 64 | 0 | Y | N | 用户年龄 | |
9 | injuries | varchar | 64 | 0 | Y | N | 受伤状况 | |
10 | user_weight | varchar | 64 | 0 | Y | N | 用户体重 | |
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 | exercise_plan_id | int | 10 | 0 | N | Y | 运动计划ID | |
2 | course_name | varchar | 64 | 0 | Y | N | 课程名称 | |
3 | course_classification | varchar | 64 | 0 | Y | N | 课程分类 | |
4 | course_cover | varchar | 255 | 0 | Y | N | 课程封面 | |
5 | select_user | int | 10 | 0 | Y | N | 0 | 选择用户 |
6 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
7 | follow_up_video | varchar | 255 | 0 | Y | N | 跟练视频 | |
8 | exercise_plan | text | 65535 | 0 | Y | N | 运动计划 | |
9 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | fitness_record_id | int | 10 | 0 | N | Y | 健身记录ID | |
2 | course_name | varchar | 64 | 0 | Y | N | 课程名称 | |
3 | course_classification | varchar | 64 | 0 | Y | N | 课程分类 | |
4 | course_cover | varchar | 255 | 0 | Y | N | 课程封面 | |
5 | select_user | int | 10 | 0 | Y | N | 0 | 选择用户 |
6 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
7 | sport_date | date | 10 | 0 | Y | N | 运动日期 | |
8 | sport_progress | varchar | 64 | 0 | Y | N | 运动进度 | |
9 | motion_effect | varchar | 64 | 0 | Y | N | 运动效果 | |
10 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | 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 | 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 | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | ordinary_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 | varchar | 64 | 0 | Y | N | 用户年龄 | |
5 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
6 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
7 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | plan_summary_id | int | 10 | 0 | N | Y | 计划总结ID | |
2 | course_name | varchar | 64 | 0 | Y | N | 课程名称 | |
3 | course_cover | varchar | 255 | 0 | Y | N | 课程封面 | |
4 | select_user | int | 10 | 0 | Y | N | 0 | 选择用户 |
5 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
6 | sport_date | date | 10 | 0 | Y | N | 运动日期 | |
7 | sport_progress | varchar | 64 | 0 | Y | N | 运动进度 | |
8 | motion_effect | varchar | 64 | 0 | Y | N | 运动效果 | |
9 | plan_summary | text | 65535 | 0 | Y | N | 计划总结 | |
10 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 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 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
5 系统实现
5.1管理员登录模块
管理员通过页面输入用户名、密码、角色进行登录操作,如图5-1所示。
图5-1管理员登录界面图
5.2管理员后台功能模块
管理员通过页面进行登录操作,登陆系统后,可以查看网站管理(轮播图、通知公告)人员管理(管理员、普通用户)内容管理(健身资讯、资讯分类)模块管理(课程分类、课程信息、课程选择、运动计划、健身记录、计划总结)个人管理等模块进行查看、编辑修改操作;如图5-2所示。
图5-2管理员功能界面图
用户管理:通过内容列表可以获取用户编号、用户姓名、性别、联系方式、头像等信息,进行查看详情、修改、删除操作,如图5-3所示;
图5-3用户管理界面图
健身资讯管理:通过健身资讯列表可以获取标题、封面、分类、标签、创建时间等进行详情或修改、删除操作,如图5-4所示;
图5-4交流论坛管理界图面
课程信息:通过课程信息可以获取索课程名称、课程分类、适合人群、课程封面、简介视频、课程简介等信息,进行查看评论、回复、删除操作,如图5-5所示;
图5-5课程信息管理界图面
课程选择管理:通过课程选择可以获取课程名称、课程分类、课程封面、选择用户、用户姓名、用户年龄、受伤状况、用户体重等信息,进行详情、修改、删除操作,如图5-6所示;
图5-6课程选择管理界图面
健身计划:通过健身计划列表可以获取课程名称、课程分类、课程封面、选择用户、用户姓名、运动计划等操作,如图5-7所示;
图5-7健身计划界图面
5.3用户前台功能模块
注册
在注册页面可以填写用户名、密码、姓名、性别、头像、手机、邮箱等信息,进行注册如图5.8所示。
图5.8注册界面图
用户登录
在登录页面填写账号、密码进行登录如图5.9所示。
图5.9用户登录界面图
首页
用户登录到首页可以查看首页、健身资讯、我的(课程信息、个人信息、收藏、课程选择、运动计划、健身记录、计划总结)等内容,如图5.10所示。
图5.10首页功能界面图
在课程信息页面可以查看课程名称、课程分类详情等信息,并可根据需要进行点赞、收藏等操作,如图5.11所示。
图5.11课程信息界面图
6 系统测试
6.1系统测试的目的
系统测试主要是找出系统中存在的漏洞,就算系统完成的再好,再进行程序测试时也会也会发现一个重来没有被发现的错误信息。是每一个系统软件测试的主要的规定,软件系统的应用过程中,发现一个重要的错误也是极具有很大的影响力的。
功能测试也被称为黑盒测试和数据驱动测试。通过黑盒测试来测试系统功能是否正常,如果它知道系统应该具备什么功能。
它理解系统内部工作的具体程序。它可以根据系统规范的规定检查系统的内部操作是否正常运行。因此,白盒试验也称为结构试验和逻辑传动试验。根据每道试验的试验程序结构,当系统运行时,不能按预定要求正确运行。不管它的功能,如白盒测试和测试,道路测试是一个逻辑驱动器。此测试主要用于软件测试。
系统测试问题,更多的证明,需要开展的工作系统,通过大量的测试,从不同角度找出系统实现错误,以确保正确的操作系统为了更好地服务于APP系统。
根据系统的设计书,说明书等了解系统的具体设计方法,检查系统每一部分的代码,查看有无错误,然后运行调试,找出Bug修改。
对于系统的易用性测试需请用户前来使用,在使用中改进,以提高系统易用性。
6.2系统测试分析
软件测试应遵循的原则如下;
(1)软件测试要尽快的进行并且整个测试部分要是在整个软件开发的各个过程和细节。在发现了错误的情况下,立刻处理,这样会大大的减少软件的开发成,提高软件的质量。
(2)在关于软件的各种测试中,例如测试的过程中使用的计划、报告等等要做到妥善的处理和保管,主要目的就是为了方便将来的对系统的维护。
(3)聚类现象在软件测试的整个过程中应该引起高度重视。
(4)对于软件的测试要尽量不要软件的设计开发人员或是机构,而是要另一方来进行测试程序,这样也是为了保证软件的测试结果的客观性以及公平公正性。
(5)整个测试计划严格按照特定的规则执行软件测试。
(6)对于整个的测试结果进行全面的检查,尽量避免出现重复的错误。
根据需求文档和设计文档,逐一对功能进行检测并写好测试用例,有效避免残片缺陷,因为系统出现缺陷不仅影响功能,而且可以导致数据的不准确,导致系统质量的降低,经过测试,才能使得系统的稳定性和成熟度得到极大的提升,系统质量也才有保证。
7 结 论
此时项目已经完成,即使实施的时间不是很长,但是这个过程中需要准备很长的一段时间去对系统设计开发所实际到的技术进行学习。在学习的过程中,我逐渐意识到我的缺点,后面我一定努力学习。对于一些控制是必要的应用技能,能理解整个过程只是一个常用的性能和控制方法。从系统中,系统分析和设计调查数据,经历了几个月的时间和努力工作数月,该系统已经完成,希望老师多多指导。显然,该系统仍有很多不成熟,有许多技术系统设计过程中的缺陷。在设计的过程中还涉及到很多自己不能解决的问题,主要通过寻找专业网站和论坛来解决这些问题,为成功完成我的毕业设计,也贡献了很大一部分的力量。
由于该系统的容量有限开发,完成基本功能的一部分而已,一些真正有用的功能,设计实现的还是不完美,界面设计也不是漂亮。但是,这个作为我本人单独开发的系统能够稳定的运行,还是让我感到十分欣慰的,这为我以后的路打上很好的基础。
致 谢
“well”运动健身app的完成,也代表着四年的生活即将结束。在毕业设计的这一段时间里,不仅有导师的指导,还有同学的帮助,有时候晚上几个同学在一起讨论某个功能模块如何实现,如何实现的更好,或是错误没得到解决,会无心思做其他的事情,这段时光肯定会终身难忘。
还记得当年自己是一个懵懂的小孩儿到现在可以完成他们自己的毕业设计的一个年轻人,虽然自己只是一个本科毕业生,但也确实是非常的不容易。首先,从刚开始上学的那天开始到大学即将毕业的学费和生活费就是一个非常不小数目,不过这当然要感谢我亲爱的爸爸妈妈,他们都是来自农民,没有太高的文化程度,没有他们的勤勤恳恳和精心安排,我是怎么也不会完成我的毕业设计。没有他们对我的一贯支持和鼓励,我不可能顺利地完成学业。对于我所学到的这些有用的东西对我未来的学习和生活都有重要的指导作用。我深信,我所学到的东西将伴随我走向完整而精彩的人生之路。现在我想到在学校学习是多么的温暖和惬意。我要感谢我的每一位同学和老师,因为他们能和你们一起学习和生活。真的很好很精彩!虽然我第一次进入大学,同学都是新的,学习的内容是新的,但我仍然感到温暖和和谐的老师和同学在那个时候!这也使我能够融入新的环境,对新职业有浓厚的兴趣。
APP的完成,我要真诚的感谢我的老师,没有老师对我程序及论文的指导,我的“well”运动健身app也不会这么顺利的完成。同时,每个老师对我们的要求严格,让我们按时完成老师的任务,老师不仅教我们如何学习,教我们新知识,教会我很多的道理。
在这里还得感谢我的战友们,也就是同学。正是有你们的不断帮助、鼓励,熬夜通宵,不停的调试、测试程序,才能最终完成网站的运行。我们在一起交流、谈论的时光,都将是我们在通往未来道路上的宝贵财富。
最后,我要用我诚挚的心去感谢我的每一位老师,你们用你们的付出来帮助我,真的非常感谢。在此,衷心的谢谢您们!
【参考文献】
[1] 李长江,安筱鹏.开放手机联盟:重塑移动互联网产业链.中国电子报,2018.
[2] 方银旺,赵向道,李欣.Symbian操作系统及其应用程序开发.计算机工程,2019(1):275-277.
[3] 余志龙,陈昱勋,郑名杰等著.Google HBuilder X SDK开发范例大全[M].北京:人民邮电出版社,2019:2.
[4] 马宁.嵌入式移动开发.程序员,2019,(12):14-15.
[5] Chris Haseman.HBuilder X Essentials.PEF Electronic Book,2017.
[6] 杨丰盛著.HBuilder X应用开发揭秘[M].北京:机械工业出版社,2019.96.
[7] W.Frank Ableson (美) Charlie Collins RobiSen(美)著.张波,高朝勤,杨越译.Google HBuilder X揭秘[M].北京:人民邮电出版社,2018:2-7.
[8] 朱桂英.HBuilder X开发应用从入门到精通[M].北京:中国铁道出版社,2018:21.
[9] 余志龙,陈昱勋,郑名杰等著.Google HBuilder X SDK开发范例大全[M].北京:人民邮电出版社,2017:2.
[10] 郭宏志著.HBuilder X应用开发详解[M].北京:电子工业出版社,2018:96.
[11] 姚旻旻,刘卫国著.计算机系统应用.计算机应用,2018,17(11).
[12]BruceEckel著.陈昊鹏等译.Thinking in PHP 3th Edition[M] .机械工业出版社,2017:75.
[13] Comp-U-Learn Tech India Ltd(美)著,贾素玲译.PHP编程基础[M].北京:高等教育出版社,2018:20.
[14] 王水著.软件工程[M].河南:河南科学技术出版社,2018:80.
[15]吴洁明著.软件工程实例教程[M].北京:清华大学出版社,2019:11.
[16] Ed Burnette(美)著.张波等译.Hello HBuilder X[M] .北京:人民邮电出版社,2019:34.
免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~