【Python WEB】学生请假管理系统 02 — 系统设计

GIthub 开源项目地址 leave_approval_management_sys,遵循 Apache 2.0 开源协议。

前端 + 后端 同时开发的项目博主也是头一次做。之前没有任何后端开发经验(只用 Flask 搭建了一个二维码识别 API),本项目也是边学习边实践。

本项目的开发完全是摸着石头过河,编写程序之前只有请假流程是明确的,并且一直沿用没有发生变动。前端要实现的功能只有“登录注册”、“学生请假”、“教师批准”这几个大致的方向,然后写一步看一步,慢慢把其他功能细化完善的。

数据库已开始也非常简单,导致后面修改了很多次表结构,同时也更新了很多次后端请求数据库的逻辑。下面《四、功能及模块》的部分也是项目差不多完工才一次性总结的。

一、为什么选择 Flask ?

因为如下三个优点:

  1. 简洁
  2. 简洁
  3. 简洁

Ⅰ、最小 Flask 应用

仅仅只需要如下几行代码即可启动一个 Flask 服务器:

from flask import Flask  # 导入 Flask 包
app = Flask(__name__)    # 声明一个后端应用

# 设置路由
@app.route('/')
def hello_world():
    return 'Hello World!'


if __name__ == '__main__':
    app.run()           # 启动后端服务器

二、为什么选择 SQLite ?

同样是三个优点:

  1. 简洁
  2. 简洁
  3. 简洁

并且 Python 自带 sqlite3 库,无需手动安装!!! 妈妈再也不用担心我不会配置 MySQL 啦。

或 查看作者另一篇文章 安装 MySQL(Windows)

Ⅰ、SQLite 示例

使用如下代码操作数据库:

import sqlite3 # 导入 sqlite3 包
connection = sqlite3.connect('example.db') # 建立 数据库连接

result = connection.excute('SELECT id,name FROM student').fetchall() # 执行查询并获取所有查询结果
for row in result: # 打印结果
    print(row)

connection.close() # 关闭 数据库连接

三、请假流程

分析 小北学生 小北学生 App 的请假流程,得出如下请假流程:
请假流程图

四、功能及模块

Ⅰ、登录 / 注册

  1. 根据 id 登录并自动识别角色、获得对应权限、展示对应界面
  2. 只提供学生注册功能(未来将取消该功能,理论上不应该提供注册功能,只允许使用规定的账号登陆)

Ⅱ、学生端

  1. 请假
  2. 销假
  3. 查看历史请假信息

Ⅲ、辅导员端

  1. 可以直接通过请假时长在 3 天以内的请假条
  2. 请假时长大于等于 3 天的请假条将由教务处再次确认
  3. 驳回请假条
  4. 同意销假申请
  5. 同意及驳回均可批量操作
  6. 查看所负责的所有学生请假信息

Ⅳ、教务处端

  1. 拥有辅导员的所有权限
  2. 可直接通过请假时长超过 3 天的请假条

Ⅴ、考勤端

  1. 查看班级考勤信息

Ⅵ、管理员端

  1. 添加、删除、修改学生信息
  2. 添加、删除、修改教师信息
  3. 以上所有操作均可批量执行

五、数据库

数据库结构在开发过程中经过多次修改,导致后端重构了多次,浪费了大量时间。且现在的结构也隐隐约约感到有些不妥,也有大致改进的方向,但系统已初步实现。能跑就行!

以下是数据库表结构:
sql

  • 0
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值