目录

  • 0. 前言
  • 1. 题目要求
  • 2. 要求分析
  • 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. 源码及使用说明
    • 4.1 需要的环境(第三方库)
    • 4.2 创建数据库
  • 5. 总结

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/1tRxmb6pfVRrI0JdCEDlCUg
提取码:syh1

首先看下文件结构:

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水平,仅供娱乐参考。

另外,部署环境和数据库配置等我已经说得比较详细了,如果配置过程出了问题相信百度就可以解决。

最后,寒假快乐!!

基于Python的管理系统(附源码)相关推荐

  1. Python实现物流管理系统(附源码)

    前言 基于Django实现的物流管理系统,工作时忙里偷闲写的练手项目. 特点 前端基于Bootstrap 4框架和AdminLTE框架. 使用MySQL作为数据库后端. 实现了运单录入.发车出库.到货 ...

  2. 公司 cms 留言管理系统 -- 附源码

    公司 cms 留言管理系统 – 附源码 前台 首页 公告模块 首页展示公告信息,如下图所示 最近更新 展示最新更新的文章信息 推荐资源 特别推荐 热门标签 最新留言 所有模块 包含四个模块的 cms ...

  3. 软件工程通信录管理系统c语言,软件工程设计管理系统附源码.doc

    软件工程设计管理系统附源码 学 年 设 计 课程名称: 软件工程学年设计 实验项目: 通讯录管理系统 姓 名: XXX 专 业: 计算机科学与技术 班 级: XXX班 学 号: XXX 指导教师 XX ...

  4. 基于JavaWeb学生成绩信息管理系统(附源码资料)-毕业设计

    1. 适用人群 本课程主要是针对计算机专业相关正在做毕业设计.或者是需要实战项目的Java开发学习者. 2. 你将收获 提供:项目源码.项目文档.数据库脚本.软件工具等所有资料(在平台的课程附件中进行 ...

  5. 基于jsp+servlet+mysql的酒店管理系统(附源码)

    本系统是基于jsp+servlet+mysql的前后端分离的酒店管理系统,前后端分离是指前端和后端分别是两个独立存在的项目,能独立运行.没有前端项目,后端也能运行且进行数据管理,没有后端项目,前端也能 ...

  6. [附源码]计算机毕业设计Python病房管理系统(程序+源码+LW文档)

    该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行 环境配置: Pychram社区版+ python3.7.7 + Mysql5.7 + HBuilderX+list pip+N ...

  7. 基于Springboot开发实现的图书管理系统(附源码)

    图书管理系统 ,使用当前最为流行的 SpringBoot 框架,可作为springboot的入门项目练习使用,也可稍加改进做一个毕业设计项目. 一.相关技术栈 前端: Thymeleaf.Layui. ...

  8. [附源码]java+ssm计算机毕业设计基于JAVA同城交友管理系统o35p1(源码+程序+数据库+部署)

    项目运行 项目含有源码(见文末).文档.程序.数据库.配套开发软件.软件安装教程 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ E ...

  9. springboot汽车配件销售管理系统 附源码-毕业设计131650

    Springboot汽车配件销售管理系统 摘  要 随着二十一世信息代的到来,信息技展越来越快,随着互联网的发展,网上购物具有普遍性,并被越来越多的人所接受,目前网上汽配件销售渠道有很多,比如淘宝等就 ...

  10. (附源码)springboot福佳生活超市进销存管理系统 附源码261620

    福佳生活超市进销存管理系统 摘 要 随着超市规模的发展不断扩大,商品数量急剧增加,有关商品的各种信息量也成倍增长.超市时时刻刻都需要对商品各种进销存信息进行统计分析.超市进销存管理系统开发的主要目是使 ...

最新文章

  1. gtx1080 驱动 linux,CentOS 7安装Nvidia GTX1080显卡驱动
  2. ImageButton的坑 ImageButton 有问题
  3. PostgreSQL将表导出为CSV(服务器端、客户机端)完整版
  4. SHA1 - Java加密与安全
  5. OBD技术速成——J1850协议概述
  6. python建模仿真 matlab_清华大学出版社-图书详情-《仿真建模与MATLAB实用教程》
  7. gurobi和java_Gurobi和java和空解决方案
  8. springboot初始化逻辑_详解Spring Boot中初始化资源的几种方式
  9. 产品经理与交互设计师的对话——需求是如何变成产品原型的(转)
  10. html5经纬度 ios,iOS 如何根据经纬度来定位位置(示例代码)
  11. php截取等长UFT8中英文混合字串
  12. Sun JVM 内存管理、参数与调优、内存分配与回收策略、GC 日志配置使用详解
  13. JS 校验车牌号码(全)
  14. 有关计算机计算类教案,计算教案
  15. html 编辑cad图,cad制图是什么
  16. 论文笔记:SAITS: SELF-ATTENTION-BASED IMPUTATION FOR TIMESERIES
  17. 如何生成SHA2常数序列
  18. [摘录]第4章 不道德的谈判策略
  19. 12.12下周黄金白银价格走势分析及期货原油操作建议布局
  20. 重装Win7系统后,鼠标和键盘都无法使用

热门文章

  1. 苹果手机java设置_苹果java文件怎么打开?苹果手机安装JAVA程序的方法
  2. 寄存器PLC地址与寄存器modbus协议地址
  3. coreldrawx4缩略图显示不出来_CorelDraw X6 64/32位不显示缩略图解决方法
  4. Myeclipse2017破解:成功解决me Trial expired 0 days ago mgeclipse It's now time to buy the best IDE for yo
  5. python-Django 增删改和分页
  6. Spark SVN + Eclipse 3.3 + Subversive Installation Guide
  7. # 研究杂感 × VOSviewer(第三辑)
  8. 浅谈管理软件的功能与作用-—以Nvisual综合布线可视化运维管理平台和进销存管理软件为例
  9. 京东自动签到领京豆软件_京东618来了,合法又简单的自动领京豆的技能要get一下吗?...
  10. CMMI、ISO、6sigma、ITIL软件质量管理体系了解