课设--学生成绩管理系统(二)

欢迎来到 Papicatch的博客

目录

🐋引言

🦈编写目的

🦈项目说明

🐋产品介绍

🦈产品概要说明

🦈产品用户定位

🦈产品中的角色

[🐋 产品总体业务流程图](#🐋 产品总体业务流程图)

[🐋 产品功能结构图](#🐋 产品功能结构图)

🐋任务管理

[🦈 项目现状](#🦈 项目现状)

🦈项目目标

🐋功能需求

🦈功能概述

🦈功能点清单

🦈功能点描述

🐋软件系统任务

🦈系统分析

🐡总体设计

🐡数据库设计

🐡架构设计

🐡类设计

🐡详细设计

🐡编码实现

🐡系统测试

🦈开发技术

🦈运行环境


🐋引言

🦈编写目的

编写此需求分析说明书是因为项目持续周期长,为了使用户和团队开发人员对所开发的系统有一致性的理解。通过阅读此文档,团队开发人员能够迅速了解项目的具体需求与实现,同时用户通过此文档能够迅速了解系统。

🦈项目说明

该项目名称为学生成绩管理系统,技术选型为前后端分离,前端基于Vue.js,后端基于Java语言开发,使用了SpringBoot和MyBatis框架提高开发效率和质量。主要面向高校教育中学生管理、课程管理、教师管理、成绩管理、成绩统计等需求。

🐋产品介绍

🦈产品概要说明

实现对学生成绩管理过程中的课程表管理、成绩查询、成绩详情、课程管理、用户管理、账号管理,站在纯手工解决这些问题存在的繁琐步骤和容错率,故设计了这个学生成绩管理系统大大加强日常成绩管理过程中的办事效率和数据管理。

🦈产品用户定位

有大量学生和教学任务的学校成员,包括任课教师、学生、高校领导管理人员。

🦈产品中的角色

学生成绩管理员、教师、学生

🐋 产品总体业务流程图

产品总体业务流程图

🐋 产品功能结构图

系统功能图

🐋任务管理

🦈 项目现状

目前处于需求分析阶段,后续小组会根据项目需求分析进一步进行可行性分析,并逐步对页面的设计、详细功能进行设计。

🦈项目目标

在规定时间内完成一个学生成绩管理系统网页版,可以在本地成功运行,并为后续项目上线做准备。

🐋功能需求

🦈功能概述

实现图书管理系统以下功能:用户登录、课程管理、课程表管理、成绩管理、用户管理、账号管理。

🦈功能点清单

|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| | 功能模块 | 功能点 | 功能描述 | |-----------|------------|-----------------------------------------------------------| | 用户功能 | 用户登录 | 用户通过用户名和密码登录系统,系统进行身份验证,验证成功后进入系统主页。 | | | 修改密码 | 用户可以修改自己的密码,输入旧密码、新密码和确认新密码,系统进行验证后完成密码修改。 | | 课程管理 | 新增课程信息 | 管理员可以新增课程信息,包括课程名称、课程编号、课程描述、学分、授课教师等,新增后系统保存课程信息并更新课程列表。 | | | 修改课程信息 | 管理员可以修改现有课程的信息,修改内容包括课程名称、课程编号、课程描述、学分、授课教师等。 | | | 删除课程信息 | 管理员可以删除指定的课程信息,删除后系统从数据库中移除该课程,并更新课程列表。 | | | 条件分页查询课程信息 | 用户可以根据条件查询课程信息,如按课程名称、课程编号、授课教师等,查询结果支持分页显示,提高用户体验。 | | 课程表管理 | 录入课程表 | 管理员或教师可以录入新的课程表信息,包括课程时间、地点、授课教师等,录入后系统保存并更新课程表。 | | | 修改课程表 | 管理员或教师可以修改已有的课程表信息,修改内容包括课程时间、地点、授课教师等。 | | 成绩管理 | 录入成绩 | 教师可以录入学生的成绩信息,包括课程成绩、考试成绩等,录入后系统保存成绩并更新学生成绩记录。 | | | 修改成绩 | 教师可以修改学生的成绩信息,修改后系统更新学生成绩记录。 | | | 统计成绩 | 系统可以对学生的成绩进行统计分析,提供各种统计报表,如平均成绩、成绩分布等。 | | 用户管理 | 新增用户信息 | 管理员可以新增用户信息,包括用户名、密码、角色等,新增后系统保存用户信息并更新用户列表。 | | | 修改用户信息 | 管理员可以修改现有用户的信息,修改内容包括用户名、密码、角色等。 | | | 删除用户信息 | 管理员可以删除指定的用户信息,删除后系统从数据库中移除该用户,并更新用户列表。 | | | 条件分页查询用户信息 | 管理员可以根据条件查询用户信息,如按用户名、角色等,查询结果支持分页显示,提高用户体验。 | |

🦈功能点描述

主要功能包括以下几项:

  • 登录:不同角色用户通过账号密码登录系统,系统根据用户角色分配相应的功能权限。
  • 学生信息管理:包括学生的基本信息(姓名、学号、班级等)的录入和维护。
  • 成绩查询:学生可以查询自己各科目的成绩。
  • 成绩分析:学生可以查看自己的成绩走势和各科目成绩的分布情况。
  • 成绩录入:教师可以录入、修改和删除学生的成绩。
  • 成绩统计:教师可以对所授班级的成绩进行统计和分析,生成报表。
  • 课程信息管理:管理员针对课程信息进行新增、删除、修改、条件分页查询。
  • 课程表管理:管理员针对课程表信息进行录入、修改。学生和教师可以查询对应课程表。
  • 成绩管理:管理员针对成绩信息进行录入、修改、条件分页查询、统计。学生可以查询对应的成绩和成绩统计。教师可以查询对应的成绩、录入成绩和成绩统计。
  • 用户信息管理:管理员针对用户信息进行新增、删除、修改、条件分页查询。
  • 课程设置管理:老师可以添加、修改和删除课程信息。

🐋软件系统任务

🦈系统分析

功能需求:系统需要实现用户登录、课程管理、课程表管理、成绩管理、用户管理、账号管理等功能。

技术可行性:系统采用Java、MySQL、HTML、JavaScript等技术,利用SpringBoot和Vue.js框架,技术上完全可行。

🐡总体设计

系统采用前后端分离的架构,前端使用Vue.js,后端使用SpringBoot框架进行开发

数据流和控制流设计遵循面向对象的原则,将业务逻辑和数据处理分离,保证系统的可维护性和扩展性。

数据库设计,数据库包括多个主要表,如管理员信息表、课程信息表、学生信息表、教师信息表等。

🐡数据库设计

主要表包括:管理员信息表、课程基本信息表、课程扩展信息表、学生信息表、教师信息表等。

每个表的字段详细定义,包括数据类型和描述,确保数据存储的准确性和完整性​

数据库表之间的关系通过外键约束实现,如学生与课程之间的关联表、教师与课程之间的关联表。

🐡架构设计

模块设计:划分系统主要模块包括用户管理模块、课程管理模块、课程表管理模块、成绩管理模块。各模块的功能和接口详细设计,包括用户登录、课程信息的CRUD操作、课程表的管理、成绩的录入和查询。

界面设计:系统提供多个用户界面,包括管理员首页、教师首页、学生首页,界面简洁直观,功能明确。

🐡类设计

系统定义了多个类,每个类对应数据库中的一个表。类的属性和方法清晰定义,确保各类之间的关系和交互明确,利于系统的维护和扩展。类之间的关系通过关联、继承等方式实现。

🐡详细设计

每个模块的功能详细描述,包括输入输出、处理逻辑、算法等。例如,成绩管理模块的详细设计包括成绩的录入、修改、查询,成绩统计等功能​。

接口设计:外部接口和内部接口的设计详细说明,包括接口的URL、请求方式、参数和返回值等。

🐡编码实现

编码过程中严格遵循代码规范和最佳实践,保证代码的可读性和可维护性。使用版本控制工具进行代码管理,确保代码的安全和版本的可追溯性。各模块的功能通过具体代码实现,包括业务逻辑、数据处理、界面展示等。详细描述了各功能的实现步骤和注意事项,帮助开发人员高效完成任务。

🐡系统测试

制定详细的测试计划,包括单元测试、集成测试、系统测试等,确保系统功能和性能达到预期要求。测试结果记录和分析,发现并修复系统中的问题,确保系统的稳定性和安全性。

🦈开发技术

  • 前端采用的是Vue框架开发,Vue.js作为一种现代化的JavaScript前端框架,Vue.js提供了响应式的组件化开发模式,使前端开发更加高效和灵活。Vue.js具有轻量级、易学易用的特点,能够将前端界面和数据进行有效地绑定,实现动态和交互式的用户体验。在该项目中,Vue.js用于开发前端用户界面,实现学生和教师的交互操作、数据展示和报告生成等功能。
  • 后端采用springboot+mybaits框架技术开发,Spring Boot作为Java开发的主要框架,Spring Boot提供了一种快速构建和部署应用程序的方式。它简化了Spring框架的配置和开发过程,通过自动化配置和约定大于配置的原则,减少了开发人员的工作量。Spring Boot还提供了丰富的功能模块和库,使开发人员可以轻松集成其他技术和扩展应用程序的功能。
  • MyBatis是一个优秀的持久层框架,它通过XML或注解的方式将对象与SQL语句进行映射,提供了一种简单、直观的数据库访问方式。MyBatis支持动态SQL、批量操作等高级特性,提供了丰富的插件机制,使得它在企业级应用中得到了广泛的应用。
  • MySQL作为一款经久不衰的数据库,作为该系统的数据持久化工具是比较合理的,加上其强大的技术生态圈,以及编程延伸出来的各种ORM框架,对MySQL的操作是比较友好的。项目创建完成后,会自动在pom.xml文件中,导入Mybatis依赖和 MySQL驱动依赖。
  • HTML作为传统网站页面标记语言,用来建设网站是必不可少的。搭配javaScript编写的脚本可以完美的与后端服务器完成数据操作,这里再借助Vue.js框架针对系统进行模块化控制,大大加强代码效率及可维护性。

系统框架图如下图所示

系统框架图

🦈运行环境

系统运行平台:Windows 10及以上

开发工具及语言: intellij-idea、VScode、JAVA

数据库及工具:MySQL、Navicat

运行环境:JDK1.8

相关推荐
智慧老师4 分钟前
Spring基础分析13-Spring Security框架
java·后端·spring
lxyzcm5 分钟前
C++23新特性解析:[[assume]]属性
java·c++·spring boot·c++23
V+zmm1013438 分钟前
基于微信小程序的乡村政务服务系统springboot+论文源码调试讲解
java·微信小程序·小程序·毕业设计·ssm
B站计算机毕业设计超人41 分钟前
计算机毕业设计PySpark+Hadoop中国城市交通分析与预测 Python交通预测 Python交通可视化 客流量预测 交通大数据 机器学习 深度学习
大数据·人工智能·爬虫·python·机器学习·课程设计·数据可视化
Oneforlove_twoforjob1 小时前
【Java基础面试题025】什么是Java的Integer缓存池?
java·开发语言·缓存
xmh-sxh-13141 小时前
常用的缓存技术都有哪些
java
AiFlutter1 小时前
Flutter-底部分享弹窗(showModalBottomSheet)
java·前端·flutter
J不A秃V头A2 小时前
IntelliJ IDEA中设置激活的profile
java·intellij-idea
DARLING Zero two♡2 小时前
【优选算法】Pointer-Slice:双指针的算法切片(下)
java·数据结构·c++·算法·leetcode
小池先生2 小时前
springboot启动不了 因一个spring-boot-starter-web底下的tomcat-embed-core依赖丢失
java·spring boot·后端