工程概论—勤工助学管理系统

第一章 需求建模

1.1项目功能介绍

勤工助学管理系统是一款专为高校设计的系统,旨在帮助学生更好地管理勤工助学活动。以下是该系统的详细功能介绍:

  • 教师身份:

1. 岗位发布与管理:系统允许教师勤工助学岗位,详细描述岗位需求、工作内容、待遇等信息。管理员可以对已发布的岗位进行管理,如修改、删除等。

2. 岗位信息查询:教师可以在系统中查询岗位详细信息,如岗位的发布时间、工作内容、待遇等。系统还会以柱状图,折线图等方式展示岗位的统计信息。

3. 学生申请的审核与展示:教师可以在系统中查询学生申请岗位的详细信息,教师可以对对学生的申请进行审核。

4. 学生评分:教师可以对已完成工作的学生进行打分,评级。

5. 导出数据功能:教师可以将系统中的岗位信息列表导出成excel表格。

  • 学生身份:

1. 岗位信息查询:学生可以在系统中查询岗位详细信息,如岗位的发布时间、工作内容、待遇等。系统还会以柱状图,折线图等方式展示岗位的统计信息。

2. 学生申请:学生可以在系统中搜索并申请感兴趣的岗位。系统会自动将学生的申请发送给教师。

3. 导出数据功能:学生可以将系统中的岗位信息列表导出成excel表格。

4. 学生申请展示:学生可以在系统中查询自己申请岗位的详细信息,当前的审批状态等等。

本次我实现的内容如下:

学生

教师

前端

实名认证页面

申请列表页面

申请详情页面

学生评分页面

实名认证页面

申请列表页面

申请详情页面

后端

学生实名认证

登陆令牌开发

岗位申请开发

岗位信息管理

教师实名认证

登陆令牌实现

撤销岗位申请

学生评分功能

岗位申请审批

绘图

统计查询用例图

统计查询顺序图

统计查询活动图

学生评分用例图

学生评分顺序图

学生评分活动图

统计查询用例图

学生评分用例图

1.2用例图

学生查询岗位信息的前提是完成登录,导出岗位统计信息是查询岗位统计信息的扩展功能。

图1-1 学生岗位统计功能用例图

教师查询岗位信息的前提是完成登录,导出岗位统计信息是查询岗位统计信息的扩展功能。

教师管理岗位统计信息的前提是管理岗位信息,管理岗位信息的前提是登录。

图1-2 教师岗位统计功能用例图

教师学生评分的前提是完成登录,导出学生评分是学生评分的扩展功能,导出学生评分是递交企业的前提

图1-3 学生评分功能用例图

1.3用例规约

1. 学生评分功能用例规约

用例名称:学生评分功能

前置条件:

1. 教师已登录系统。

2. 存在可评分的学生。

后置条件:

1. 评分结果已保存至数据库。

基本流:

1. 教师选择一个完成工作的学生,进入评分页面。

2. 教师输入评分值(1-5分)。

3. 系统验证输入的评分值是否在有效范围内。

4. 系统将评分值保存至数据库,并提示“评分成功”。

备选流:

1. 无效评分值:当输入的评分值不在1-5分范围内时,系统提示“评分值应在1-5分之间”。

2. 重复评分:若学生对同一个岗位进行了重复评分,系统提示“您已对该岗位进行过评分,不能重复评分”。

2. 查询岗位统计功能用例规约

用例名称:查询岗位统计功能

前置条件:

1. 学生已登录系统。

2. 系统中有岗位数据。

后置条件:

1. 统计结果已展示给学生。

基本流:

1. 学生选择“查询岗位统计”功能,进入统计页面。

2. 系统根据数据库中的岗位记录,计算每个岗位部门的人数,申请人数等信息。

3. 系统将统计结果显示给学生。

4. 学生查看完统计结果后,可以返回主页面或进行其他操作。

备选流:

1. 若系统中不存在岗位记录,系统提示“暂无统计数据”。

第二章 分析建模

2.1系统顺序图

1. 学生评分

图2-1 学生评分功能顺序图

2.2活动图

1. 学生查询统计信息

图2-2 学生查询统计活动图

2. 教师查询统计信息

图2-3 教师查询统计活动图

3. 学生评分功能

图2-4 学生评分功能活动图

第三章 设计建模

3.1技术选择

在开发勤工助学管理系统时,我们选择了以下技术栈:

后端:

l Java Spring:作为核心框架,Spring提供了依赖注入、事务管理等功能,使得开发更为高效。

l Spring MVC:用于构建Web应用程序的模型-视图-控制器(MVC)架构,使得前端和后端的逻辑分离。

l MyBatis Plus:一个强大的持久层框架,简化了数据库操作,提供了CRUD等常用功能的封装。

数据库:

l MySQL:开源、流行的关系型数据库,提供稳定、高效的数据存储服务。

前端:

l Vue.js:用于构建用户界面的渐进式JavaScript框架。

l Element UI:基于Vue的UI组件库,提供了丰富的界面元素和功能。

版本控制与协同开发:

l GitHub:作为版本控制系统,方便团队成员协同开发、管理和跟踪代码变更。

3.2架构设计

l 表现层(Presentation Layer):这是用户直接交互的部分,包括Web界面和相关的用户输入/输出处理。使用Spring MVC和Vue.js实现。

l 业务逻辑层(Business Logic Layer):在这一层,核心的逻辑处理和数据验证都在这里执行。Spring框架用于处理这些任务。

l 数据访问层(Data Access Layer):MyBatis Plus负责与数据库的交互,包括数据的增删改查等操作。

l 数据持久层(Persistence Layer):这是与数据库直接交互的部分,MyBatis Plus和MySQL数据库共同工作在这一层。

l 版本控制与协同开发(Version Control & Collaborative Development):使用GitHub进行代码管理和协同开发,通过Pull Request等方式进行代码审查。

3.3类的设计

整体类图:

图3-1 整体类图

3.4 数据库设计

用户数据库:

图3-2 用户数据库展示图

岗位信息数据库:

图3-3 岗位信息数据库展示图

申请记录数据库:

图3-4 申请记录数据库展示图

第四章 实现

4.1 整体代码结构

1.接收参数类dto

用于接收前端传递参数

图4-1 dto接受参数类展示图

2.实体类entity

将dto参数放入实体类中进行逻辑处理

图4-2 实体类展示图

3.返回类型vo

将entity参数放入vo类并返回给前端

图4-3 返回类型vo类展示图

4. 控制层(Controller层)

用于编写逻辑接收前端参数

图4-4 Controller类展示图

5. 服务层(Service层)

用于编写逻辑接收对参数处理

图4-5 Service类展示图

6. 数据注入层(Mapper层)

用于编写逻辑接收返回参数给前端

图4-6 Mapper类展示图

4.2 实现

1. 代码(代码中有详细注解)

前端:jiangyx111/part-time-job-web (github.com) (master分支)

后端:Haite913/part-time-job-server: 勤工系统-server (github.com) (master分支)

2、运行结果(展示部分页面)

统计页面:

图4-7 统计页面展示图

申请详情页面:

图4-8申请详情页面展示图

4.3 技术选型

  1. 前端:Vue+Element

  2. 后端:Spring

  3. 数据库:MySql+MyBatis+MyBatis-Plus

  4. 管理协同开发:github

图4-9 技术选型展示图

4.4 实现过程

  • 实现时长:

图4-10 实现时长展示图

  • 更新次数:

图4-11 更新次数展示图

第五章 总结

本次实验实现了以下目标:学习和掌握勤工助学管理系统的基本原理和功能;学会使用Java Spring框架进行后端开发;熟悉Spring MVC和MyBatis Plus在Web应用程序中的应用;掌握MySQL数据库的使用和管理;熟悉Vue.js和Element UI前端框架的使用;通过实际操作,提高团队协作和解决问题的能力。

通过本次实验,成功地开发出了一款勤工助学管理系统,实现了预定的功能,并进行了系统测试和优化。该系统具有用户友好的界面,强大的后台管理功能,能够满足高校学生和教师的需求。

在实验过程中,也遇到了一些问题和挑战,例如前后端联调问题、数据库与实体类设计问题等。为了进一步提高系统的质量和稳定性,采取以下措施:

前后端联调问题:随着接口与页面的不断增加,需要不断进行前后端联调,以确保功能正常运行,借助浏览器调试工具,idea调试工具以及postman等软件。数据库与实体类设计问题: 绘制活动图,顺序图,用例图对系统设计有个清晰的认识,再设计类图,对数据库和实体类设计进行规范

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值