在分析并得出使用者对程序的功能要求时,就可以进行程序设计了。如图4.2展示的就是管理员功能结构图。
后端:python
前端:vue.js+elementui
框架:django/flask
Python版本:python3.7+
数据库:mysql
数据库工具:Navicat
开发软件:PyCharm
请解释Flask是什么以及他的主要用途
Flask是一个用Python编写的清凉web应用框架。它易于扩展且灵活,适用于小型的项目或者微服务,以及作为大型应用的一部分。
Flask和Django相比有什么优缺点
Flask提供了更大的灵活性和简单性,适合小型项目和微服务。Django则提供了更多的内置功能,适合大型项目。Flask让开发者更多的控制其组件,而Django则遵循开箱即用的原则
图4.2 管理员功能结构图
4.3 数据库设计
程序功能操作不管是添加,修改,还是删除等功能产生的数据都是经由数据库进行数据保存和更新的,所以一个数据库设计的好坏也是程序是否好坏的判定标准,因为程序的成功,有一半的功劳都是靠数据库的优秀设计。数据库一旦设计得良好是可以减轻开发人员的开发负担的。
4.3.1 数据库E-R图设计
这个部分的设计需要使用到E-R图绘制工具,常用的工具就是Visio工具来绘制E-R模型图,这款工具不仅可以快速创建需要的E-R模型图,而且该工具提供的操作界面很简单,可以短时间内修改绘图界面的图形或者是文字的属性。在绘制E-R模型图时,要分清楚各个图形代表的含义,以免绘制出错,E-R模型图由长方形(实体),椭圆形(属性),菱形(关系)这三部分图形符号组成,绘制期间要区分开来,用准确的图形符号代表相应的数据元素。
(1)管理员实体属性图见图4.4。
图4.4 管理员实体属性图
(2)会员实体属性图见图4.5。
图4.5 会员实体属性图
(3)文章分类实体属性图见图4.6。
图4.6 文章分类实体属性图
4.3.2 数据库表结构设计
数据库系统一旦选定之后,需要根据程序要求在数据库中建立数据库文件,并在已经完成创建的数据库文件里面,为程序运行中产生的数据建立对应的数据表格,数据表结构设计就是对创建的数据表格进行字段设计,字段长度设计,字段类型设计等,当数据表格合理设计完成之后,才能正常存储相关程序运行产生的数据信息。
1网站公告表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | addtime | Date | 创建时间 | 是 |
3 | title | String | 标题 | 是 |
4 | introduction | String | 简介 | 是 |
5 | picture | String | 图片 | 是 |
6 | content | String | 内容 | 是 |
2会员表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | addtime | Date | 创建时间 | 是 |
3 | zhanghao | String | 账号 | 是 |
4 | mima | String | 密码 | 是 |
5 | xingming | String | 姓名 | 是 |
6 | nianling | Integer | 年龄 | 是 |
7 | xingbie | String | 性别 | 是 |
8 | shouji | String | 手机 | 是 |
9 | zhuzhi | String | 住址 | 是 |
10 | zhaopian | String | 照片 | 是 |
11 | aihao | String | 爱好 | 是 |
3收藏表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | addtime | Date | 创建时间 | 是 |
3 | userid | Integer | 用户id | 是 |
4 | refid | Integer | 收藏id | 是 |
5 | tablename | String | 表名 | 是 |
6 | name | String | 收藏名称 | 是 |
7 | picture | String | 收藏图片 | 是 |
8 | type | String | 类型(1:收藏,21:赞,22:踩) | 是 |
9 | inteltype | String | 推荐类型 | 是 |
4文章信息评论表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | addtime | Date | 创建时间 | 是 |
3 | refid | Integer | 关联表id | 是 |
4 | userid | Integer | 用户id | 是 |
5 | nickname | String | 用户名 | 是 |
6 | content | String | 评论内容 | 是 |
7 | reply | String | 回复内容 | 是 |
5管理员表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | username | String | 用户名 | 是 |
3 | password | String | 密码 | 是 |
4 | role | String | 角色 | 是 |
5 | addtime | Date | 新增时间 | 是 |
6文章信息表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | addtime | Date | 创建时间 | 是 |
3 | biaoti | String | 标题 | 是 |
4 | wenzhangfenlei | String | 文章分类 | 是 |
5 | neirong | String | 内容 | 是 |
6 | fabushijian | datetime | 发布时间 | 是 |
7 | fengmian | String | 封面 | 是 |
8 | zhanghao | String | 账号 | 是 |
9 | xingming | String | 姓名 | 是 |
10 | thumbsupnum | Integer | 赞 | 是 |
11 | crazilynum | Integer | 踩 | 是 |
12 | clicktime | datetime | 最近点击时间 | 是 |
13 | clicknum | Integer | 点击次数 | 是 |
7交友论坛表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | addtime | Date | 创建时间 | 是 |
3 | title | String | 帖子标题 | 是 |
4 | content | String | 帖子内容 | 是 |
5 | parentid | Integer | 父节点id | 是 |
6 | userid | Integer | 用户id | 是 |
7 | username | String | 用户名 | 是 |
8 | isdone | String | 状态 | 是 |
8会员信息评论表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | addtime | Date | 创建时间 | 是 |
3 | refid | Integer | 关联表id | 是 |
4 | userid | Integer | 用户id | 是 |
5 | nickname | String | 用户名 | 是 |
6 | content | String | 评论内容 | 是 |
7 | reply | String | 回复内容 | 是 |
9会员信息表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | addtime | Date | 创建时间 | 是 |
3 | zhanghao | String | 账号 | 是 |
4 | xingming | String | 姓名 | 是 |
5 | nianling | String | 年龄 | 是 |
6 | xingbie | String | 性别 | 是 |
7 | zhaopian | String | 照片 | 是 |
8 | gongzuo | String | 工作 | 是 |
9 | aihao | String | 爱好 | 是 |
10 | gerentezhang | String | 个人特长 | 是 |
11 | ziwojieshao | String | 自我介绍 | 是 |
12 | clicktime | datetime | 最近点击时间 | 是 |
13 | clicknum | Integer | 点击次数 | 是 |
10留言板表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | addtime | Date | 创建时间 | 是 |
3 | userid | Integer | 留言人id | 是 |
4 | username | String | 用户名 | 是 |
5 | content | String | 留言内容 | 是 |
6 | cpicture | String | 留言图片 | 是 |
7 | reply | String | 回复内容 | 是 |
8 | rpicture | String | 回复图片 | 是 |
11文章分类表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | addtime | Date | 创建时间 | 是 |
3 | wenzhangfenlei | String | 文章分类 | 是 |
5 系统实现
系统实现部分就是将系统分析,系统设计部分的内容通过编码进行功能实现,以一个实际应用系统的形式展示系统分析与系统设计的结果。前面提到的系统分析,系统设计最主要还是进行功能,系统操作逻辑的设计,也包括了存储数据的数据库方面的设计等内容,系统实现就是一个最终的实施阶段,将前面的设计成果进行物理转化,最终出具可以运用于实际的软件系统。
5.1 会员管理
如图5.1显示的就是会员管理页面,此页面提供给管理员的功能有:对会员信息进行查询,添加,删除以及批量删除操作。
图5.1 会员管理页面
5.2 会员信息管理
如图5.2显示的就是会员信息管理页面,管理员可以对会员信息进行添加,修改,删除,查询操作。
图5.2 会员信息管理页面
5.3 文章分类管理
如图5.3显示的就是文章分类管理页面,管理员可以对文章分类信息进行添加,修改,删除,查询操作。
5.4 文章信息管理
如图5.4显示的就是文章信息管理页面,管理员可以对文章信息进行添加修改删除查询操作。
图5.4 文章信息管理页面
5.5 交友论坛
如图5.4显示的就是交友论坛页面,用户可以在交友论坛里面发布帖子,也可以查看别人发布的帖子。
图5.5 交友论坛页面
5.6 会员信息
如图5.4显示的就是会员信息页面,会员可以在这里看到其他会员发布的信息,可以收藏。
图5.6 会员信息页面
6.1 系统测试的特点
系统测试也是为了保证系统正式上线后,可以稳定正常运行,给使用者带来便利。系统测试也有其对应的特点:
(1)系统测试它包括了端到端的完整测试;
(2)系统测试也对程序软件的架构方面,程序软件的业务需求等方面进行了测试;
(3)系统测试一旦采用正确的方法进行,这将减少程序正式上线之后产生的各种错误;
系统测试一般都是在跟生产环境相似的环境当中运行,程序的功能比如添加功能,删除功能,修改功能等都会使用同样的数据在新系统和现有系统中进行比较,这样做让用户对新系统中的添加,修改,删除等功能能够更好地理解,也能提升用户对新系统的满意度。