使用Python实现管理系统附源码
0. 前言
这几天在写软件工程课设,题目是:设计一款疫苗管理系统,于是用PyQT5写GUI,MySQL做数据库写了一个demo出来。
做完之后,给我的感觉是像这种管理系统类的东西本质上就是对数据库的增删改查,界面是为了方便普通用户操作而存在的。
其实一开始前端想过用web,但后来还是偷懒用了PyQT5写GUI。下次有机会可能会尝试一下web前端(之前从来没用过)。
这次主要代码量有1200多行(不带UI界面代码),整体写的有些乱,代码复用和代码管理方面做得不太行,不过写了详细的注释。写这个博客主要为了记录和总结,同时可以互相学习交流。
1. 题目要求
先来看看课设的题目要求:
2. 要求分析
首先把题目直接说出的要求列出来,用户和需求模块如下:
接着做更进一步的分析,补充了一些功能,最终的大致流程如下:
确定了大致流程后,需要开始创建数据库了。我的代码中数据库是需要手动创建的,很简单,在第4部分“源码及其使用”中我会具体介绍。先分析需要创建的数据库(database)及表格(table):
创建的数据库和表格如下:
3.效果展示
先来看看代码的效果如何(所有在前端的操作都会同步到数据库更新),这里只展示部分效果,还有些错误提示什么的细节就不展示了。
3.1 主界面
3.2 注册界面
3.3 管理员
3.3.1 管理员登陆界面
3.3.2 管理员——疫苗信息管理界面
3.3.3 管理员——社区医院管理界面
3.4 社区医院
3.4.1 社区医院登陆界面
3.4.2 社区医院——医院信息管理界面
3.4.3 社区医院——用户预约界面
3.4.5 社区医院——接种信息管理界面
3.4.6 社区医院——不良反应反馈界面
3.5 普通用户
3.5.1 普通用户登陆界面
3.5.2 普通用户——个人信息管理界面
3.5.3 普通用户——家庭信息管理界面
3.5.4 普通用户——接种预约界面
3.5.5 普通用户——不良反应反馈界面
4. 源码及使用说明
源码链接:链接: https://pan.baidu.com/s/1qQehJ8P_nouEIzGqqBkmNA
提取码:v9d6
首先看下文件结构:
control.py是主代码,UI文件夹里是UI文件的代码,不用管,assets里是一些图片,我本来想给界面加些背景和图标的,但后来发现一直有问题,就没加。
理论上讲只要配置好环境,按要求创建好数据库就可以运行了。
4.1 需要的环境(第三方库)
看一下我的运行环境
没太多额外的库,用anaconda创建虚拟环境,然后额外安装好pyqt5和pymysql库(为了和数据库相连)就行了。如何安装,百度就能解决。
4.2 创建数据库
需要首先安装好mysql数据库,安装教程有很多,不说了。
然后需要手动创建我之前说的数据库和那几个表格,具体代码如下:
(数据库和表的名字不能错,因为代码和数据库和表的名字连接)
(1)登录mysql
mysql -u root -p
(2)创建vaccine_info数据库
create database vaccine_info;
(3)创建user_info表格
create table user_info(
id varchar(20) primary key,
password varchar(20),
role varchar(1));
(4)在user_info表格中插入管理员
这么做是因为从安全的角度考虑,管理员这一权限最大的用户由数据库操作者手动添加最为合适。
insert into user_info (id, password, role) values ('admin1', '123456', 'A');
(5)创建commonuser_info表格
create table commonuser_info(
id varchar(20) primary key,
name varchar(20),
family_code varchar(8),
age int(3),
sex varchar(1),
phone varchar(20),
IDCard varchar(30),
is_book varchar(1),
book_time varchar(11),
is_bad_reaction varchar(1),
what_bad_reaction varchar(60));
看看commonuser_info
长什么样子:
(6)创建vaccines_info:
create table vaccines_info(
type varchar(10),
company varchar(20),
user_type varchar(20),
user_age varchar(20),
price varchar(7));
(7)创建hospital_info表格:
create table hospital_info(
id varchar(20) primary key,
name varchar(20),
num varchar(10),
is_book varchar(1),
time varchar(20));
(8)创建 inoculate_info表格:
create table inoculate_info(
id varchar(20) primary key,
vaccine_type varchar(200),
time varchar(200));
至此,数据库配置完成,总共有5个表格:
之后直接运行control.py就可以了。
5. 总结
这次课设还是学到了一些东西的,主要是数据库的一些基本使用,以前一直不太清楚数据库到底要怎么用。
不过说实话学到的东西和花费的时间不成正比,当会用数据库操作和写界面时,之后的工作就是在重复了。当然,我写的也只是demo水平,仅供娱乐参考。
另外,部署环境和数据库配置等我已经说得比较详细了,如果配置过程出了问题相信百度就可以解决。
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341