高校预算执行率管理系统的
设计与实现

本科毕业论文答辩
学生:温靖  |  学号:202201014028
指导老师:贾娟娣
学院:智能医学与信息工程学院
专业:计算机科学与技术
江西中医药大学 · 2025年5月

目 录

1 研究背景与意义 5 系统需求分析 2 国内外研究现状 6 系统设计 3 研究内容与方法 7 系统实现 4 关键技术选型 8 系统测试 9 总结与展望 10 致谢
PART ONE

研究背景与意义

研究背景与意义

现实痛点

  • 高校每年需跟踪数百个预算项目(教学、科研、基建、学科建设)
  • 依赖Excel人工逐项核对,月底集中汇总
  • 跨部门数据不互通,对不上还得打电话确认
  • 领导看到的往往已是上个月的数据

解决思路

  • 数据集中化 — 统一平台,实时更新,自动汇总
  • 计算自动化 — 执行率系统自动计算,省去人工核算
  • 展示直观化 — 图表+排行榜+预警阈值提醒
意义:提升高校预算管理的透明度与时效性,为管理层决策提供及时准确的数据支撑

预算项目类型分布(示例数据)

各类预算项目占比

  • 教学经费 占比最高 — 日常教学运行、实验耗材等
  • 科研经费 — 纵向/横向课题、科研平台建设
  • 基建项目 — 校园基础设施修缮与新建
  • 学科建设 — 专业认证、课程建设、师资培训
  • 其他 — 信息化建设、学生活动等

数百个项目分布在五大类别,每一类都要记收入、支出、余额、执行率,人工统计工作量巨大

PART TWO

国内外研究现状

国内外研究现状

国外现状

  • 绩效预算理论建设走在前面(美国 20世纪50年代起)
  • 大而全的ERP系统(SAP/Oracle/Ellucian Banner)
  • 实施周期长、定制成本高,不完全适配国内制度

国内现状

  • "双一流"高校自主研发,大量地方院校仍停留在Excel阶段
  • 现有研究多停留在理论分析层面
  • 针对"预算执行率"细分场景的专项系统文献较少
本文切入点:以软件工程方法论,从实际需求出发完成端到端系统设计与实现,填补"重管理讨论、轻工程细节"的空白
PART THREE

研究内容与方法

研究内容与方法

1需求梳理

查阅文献 + 与财务处老师交流,明确功能需求、用户角色、性能指标

2方案设计

确定技术栈、B/S架构、数据库表结构、前后端接口定义

3编码实现

Vue.js + Spring Boot 开发,核心功能:项目管理、检索、图表、预警

4测试验证

功能测试用例 + 并发性能测试,确认系统达到预期目标

研究方法: 文献调研需求分析系统开发实验测试
方法论:设计科学研究(Design Science Research, DSR)— "先找问题、再搭方案、做出原型、看效果"

关键技术选型

技术用途选型依据
Vue.js前端框架渐进式学习、Element UI组件库完善
Spring Boot后端框架自动配置、内嵌Tomcat、生态完善
MySQL 8.0数据库InnoDB支持事务、免费开源、运维门槛低
MyBatis持久层框架半自动ORM便于控制SQL、适合多表联查
ECharts数据可视化中文文档完善、图表类型丰富、大数据量渲染
Spring Security + JWT安全认证RBAC权限控制、无状态认证
PART FOUR

系统需求分析

三种角色功能权限对比

角色权限雷达图

  • 项目负责人:核心关注个人项目执行率与预警,仅查看本人数据
  • 部门负责人:增加单位总览、部门考核柱状图、部门排行
  • 校领导:最高层级视图,全校部门对比 + 预警处理

RBAC 权限模型:三层视图统一在同一数据模型下,通过数据过滤实现权限隔离

六大功能模块

1. 用户登录与权限管理

CAS单点登录对接学校门户,JWT令牌认证

2. 数据总览

个人/单位/学校三层数据视图,图表直观展示

3. 项目管理

项目信息录入、修改、查看,覆盖财务数据

4. 检索查询

多条件组合筛选,支持导出为Excel

5. 排行榜管理

按部门维度统计执行率排名,横向对比

6. 预警通知

执行率低于序时进度时自动生成预警推送

PART FIVE

系统设计

系统总体架构 — B/S三层架构

表示层
Vue.js · Element UI · ECharts · Vue Router · Vuex
⇅ RESTful API ⇅
业务逻辑层
Controller → Service → Spring Security → MyBatis Mapper
⇅ SQL ⇅
数据访问层
MySQL 8.0 (InnoDB) · 外键约束 · B-Tree索引优化
各层独立开发测试,接口标准化 — 前端更换技术栈无需改动后端

数据库设计

共设计 7张表,覆盖用户、角色、部门、项目和预警等核心实体

表名说明关键字段
sys_user用户表id, username, real_name, dept_id
sys_role角色表id, role_name, role_code
sys_user_role用户-角色关联user_id, role_id
sys_department部门表id, dept_name, parent_id, dept_type
budget_project预算项目表project_code, leader_id, income, expenditure, execution_rate
budget_warning预警记录表project_id, user_id, execution_rate, scheduled_rate, is_read
sys_log系统日志表user_id, operation, method, ip

核心算法 — 执行率与预警

关键公式

执行率 = 总支出 / 总收入 × 100%
序时进度 = 当前月份 / 12 × 100%
偏差值 = 序时进度 − 执行率

预警判定

  • 执行率 < 序时进度 → 触发预警
  • 每日凌晨1点定时检测
  • 自动向负责人生成预警记录

信用评分模型

信用分 = 100
  + 5 × 按期完成次数
  + 2 × 有效填报次数
  − 10 × 超期次数
  − 15 × 异常退回次数

用于排行榜展示与预警优先级计算

PART SIX

系统实现

关键实现

认证与权限

  • CAS Token 验证对接学校门户
  • JWT 无状态认证,请求头携带令牌
  • @PreAuthorize 方法级权限控制
  • 数据权限自动过滤(按角色范围)

动态查询

  • MyBatis <if> 动态SQL
  • 支持8种筛选条件自由组合
  • B-Tree索引优化查询性能

数据导出

  • Apache POI 生成 .xlsx 文件
  • 部分导出(勾选)+ 全部导出

前端组件化

  • Vue组件:指标卡片、柱状图、排行榜
  • ECharts 可视化(支持 dataZoom 拖动)
  • axios 统一HTTP拦截与错误处理

预警定时任务

  • Spring @Scheduled 每日凌晨执行
  • 前端每分钟轮询未读数量

各部门执行率对比(模拟示例)

部门考核执行率 vs 序时进度

  • 蓝色柱 = 所属部门执行率
  • 绿色柱 = 归口部门执行率
  • 橙色虚线 = 序时进度基准线
  • 低于虚线的部门需要重点关注

系统使用ECharts实现柱状图渲染,鼠标悬停可显示具体数值,支持dataZoom拖动查看

月度执行率趋势(模拟示例)

序时进度 vs 实际执行率月度走势

━━━ 序时进度(理想曲线,按月均匀增长至100%)
━━━ 实际执行率(若低于橙色线则触发预警)

系统主要界面

个人总览

执行率卡片 + 预警数 + 金额汇总 + 排行榜摘要

单位总览

部门考核柱状图(蓝/绿双维度对比 + 序时进度线)

学校总览

全校各部门执行率对比 + dataZoom拖动查看

项目列表

多条件筛选 + 蓝色汇总栏 + 数据表格 + Excel导出

排行榜

四张维度排行(所属/归口/国库/学院建设)

预警通知

未读计数 + 预警列表 + 标记已读 + 详情查看

PART SEVEN

系统测试

功能测试

登录与权限 5/5

正常登录、Token无效、角色权限、数据权限隔离

数据总览 5/5

数据准确性、单位切换、柱状图、序时进度线

项目列表 9/9

精确/模糊查询、年度切换、执行率筛选、导出

排行榜 4/4

类型切换、排名正确性、跳转、颜色标识

预警通知 4/4

自动生成、未读数量、标记已读、消息中心

27/27
全部通过

各模块测试用例通过数

性能测试 — 接口响应时间

平均响应时间对比(ms)

目标要求:页面加载 < 3秒,查询 < 2秒 — 所有接口均在要求范围内  |  错误率:0%

效率对比 — 人工 vs 系统

处理时间对比(对数坐标)

指标人工Excel本系统提升
单部门汇总30 min< 3s600×
全校13部门6 h< 30s720×
多条件查询45 min< 2s1350×
出错概率5%0%消除
预警及时性滞后1-2周每日自动实时

性能测试数据汇总

测试场景并发数平均响应(ms)最大响应(ms)吞吐量(req/s)错误率
个人总览查询5012634289.30%
个人总览查询100218587156.20%
项目列表(无筛选)5015841278.60%
项目列表(多条件筛选)5020349862.40%
排行榜查询5095267112.50%
学校总览查询5031268953.70%
Excel导出(100条)10124521567.80%
PART EIGHT

总结与展望

总结与展望

工作总结

  • 完成需求→设计→实现→测试全流程开发
  • 实现"三层视图+分角色权限"统一管理
  • 序时进度预警嵌入常规业务流程
  • 27个测试用例全部通过,性能达标
  • 给出端到端落地方案,补足同类研究不足

局限性与改进方向

  • 仅在一所学校验证,推广性待检验
  • 引入数据仓库+OLAP实现多维钻取分析
  • 移动端适配(响应式/微信小程序)
  • 与现有财务系统API对接,自动同步数据
  • 差异化预警规则(不同类型项目不同阈值)
  • 引入工作流引擎实现线上审批流转

研究问题与结论回应

研究问题设计与实现要点验证方式结论
RQ1
多角色视图与权限如何统一实现
RBAC权限模型,构建个人/单位/学校三级总览与数据隔离规则 登录与权限测试(T01-T05) 通过 · 无越权
RQ2
执行率与预警如何实现可解释监测
建立执行率计算规则、序时进度线预警通知机制 数据总览与预警测试(T06-T10, T24-T27) 通过 · 链路完整
RQ3
性能与可维护性如何平衡
三层架构+索引优化+RESTful接口规范化设计 性能测试与模块化实现验证 通过 · 响应稳定

感谢聆听

请各位老师批评指正

感谢贾娟娣老师的悉心指导

感谢财务处老师的业务讲解

感谢同学们的支持与帮助