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

2a20c54b85e042bfa2440367ae4807e9.gif

欢迎来到 Papicatch的博客

2a20c54b85e042bfa2440367ae4807e9.gif

目录

🐋引言 

🦈编写目的

🦈项目说明

🐋产品介绍 

 🦈产品概要说明

🦈产品用户定位 

🦈产品中的角色 

🐋 产品总体业务流程图

🐋 产品功能结构图

🐋任务管理 

🦈 项目现状

🦈项目目标 

🐋功能需求

🦈功能概述 

🦈功能点清单 

🦈功能点描述

🐋软件系统任务

🦈系统分析

🐡总体设计

🐡数据库设计

🐡架构设计

🐡类设计

🐡详细设计

🐡编码实现

🐡系统测试

🦈开发技术

🦈运行环境


2a20c54b85e042bfa2440367ae4807e9.gif

🐋引言 

🦈编写目的

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

🦈项目说明

         该项目名称为学生成绩管理系统,技术选型为前后端分离,前端基于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

2a20c54b85e042bfa2440367ae4807e9.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/351973.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于springboot的城市垃圾分类管理系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于springboot的城市垃圾分类管理系统,…

深入浅出 Qt 中 QListView 的设计思想,并掌握大规模、高性能列表的实现方法

在大规模列表控件的显示需求中,必须解决2个问题才能获得较好的性能: 第一就是数据存在哪里, 避免出现数据的副本。第二就是如何展示Item,如何复用或避免创建大量的Item控件。 在QListView体系里,QAbstractListModel解…

SwaggerSpy:一款针对SwaggerHub的自动化OSINT安全工具

关于SwaggerSpy SwaggerSpy是一款针对SwaggerHub的自动化公开资源情报(OSINT)安全工具,该工具专为网络安全研究人员设计,旨在简化广大红队研究人员从SwaggerHub上收集已归档API信息的过程,而这些OSINT信息可以为安全人…

Spring IoC【控制反转】DI【依赖注入】

文章目录 控制反转(IoC)依赖注入(DI)IoC原理及解耦IoC 容器的两种实现BeanFactoryApplicationContext IoC 是 Inversion of Control 的简写,译为“控制反转”,它不是一门技术,而是一种设计思想&…

18.9k star!一个高性能的嵌入式分析型数据库,主要用于数据分析和数据处理任务

大家好,今天给大家分享的是一个开源的面向列的关系数据库管理系统(RDBMS)。 DuckDB是一个嵌入式的分析型数据库,它提供了高性能的数据分析和数据处理能力。DuckDB的设计目标是为数据科学家、分析师和数据工程师提供一个快速、灵活且易于使用的数据分析工…

idea 配置文件中文乱码

再进行springboot项目开发时发现新建的配置文件中文注释乱码,如下: 处理办法: 1、打开idea,在 File 中找到 Settings,如下图 2、搜索 encodings 找到 File Encodings,如下图 3、将上图中圈上的地方全部改为 UTF-8 编码最后点击 Apply 应用即…

RabbitMQ学习总结

目录 一:介绍 二:应用场景 三:工作原理 组成部分说明 消息发布接收流程 四:下载安装 五:环境搭建 创建Maven工程 生产者 消费者 六:工作模式 Work queues Publish/subscribe 生产者 消费者 Routing 生产者 ​消费者 思考 Topics 生产者 匹配规则…

[FFmpeg学习]windows环境sdl播放音频试验

参考资料: FFmpeg和SDL2播放mp4_sdl 播放mp4 声音-CSDN博客 SimplePlayer/SimplePlayer.c at master David1840/SimplePlayer GitHub 在前面的学习中,通过获得的AVFrame进行了播放画面, [FFmpeg学习]初级的SDL播放mp4测试-CSDN博客 播放…

数据中心布线管理:预标记线缆与移动扫描技术的融合

随着信息技术的飞速发展,数据中心布线管理面临着前所未有的挑战。传统的布线管理方式已无法满足现代数据中心高效、准确和可靠的需求。在这样一个背景下,预标记线缆与移动扫描技术的结合,为数据中心布线管理带来了革命性的解决方案。 布线管理…

opencv安装笔记 各种平台

目录 python安装opencv-python c 麒麟arm系统安装和用法 python安装opencv-python pypi上搜索 Search results PyPI 现在安装是一个版本,大于3.6都可以安装 c 麒麟arm系统安装和用法 参考: ffmpeg rknn麒麟系统 安装 opencv_ffmpeg4 解码示例-CSDN…

C#下WinForm多语种切换

这是应一个网友要求写的,希望对你有所帮助。本文将介绍如何在一个WinForm应用程序中实现多语种切换。通过一个简单的示例,你将了解到如何使用资源文件管理不同语言的文本,并通过用户界面实现语言切换。 创建WinForm项目 打开Visual Studio&a…

【一步一步了解Java系列】:认识String类

看到这句话的时候证明:此刻你我都在努力 加油陌生人 个人主页:Gu Gu Study专栏:一步一步了解Java 喜欢的一句话: 常常会回顾努力的自己,所以要为自己的努力留下足迹 喜欢的话可以点个赞谢谢了。 作者:小闭…

【Netty】nio阻塞非阻塞Selector

阻塞VS非阻塞 阻塞 阻塞模式下,相关方法都会导致线程暂停。 ServerSocketChannel.accept() 会在没有建立连接的时候让线程暂停 SocketChannel.read()会在没有数据的时候让线程暂停。 阻塞的表现就是线程暂停了,暂停期间不会占用CPU,但线程…

ANSYS EMC解决方案与经典案例

EMC问题非常复杂,各行各业都会涉及,例如航空、航天、船舶、汽车、火车、高科技、物联网、消费电子。要考虑EMC的对象很多,包含整个系统、设备、PCB、线缆、电源、芯片封装。而且技术领域覆盖广,涉及高频问题、低频问题&#xff1b…

Databricks超10亿美元收购Tabular;Zilliz 推出 Milvus Lite ; 腾讯云支持Redis 7.0

重要更新 1. Databricks超10亿美元收购Tabular,Databricks将增强 Delta Lake 和 Iceberg 社区合作,以实现 Lakehouse 底层格式的开放与兼容([1] [2])。 2. Zilliz 推出 Milvus Lite 轻量级向量数据库,支持本地运行;Milvus Lite 复…

统计信号处理基础 习题解答10-16

题目: 对于例10.1,证明由观察数据得到的信息是: 解答: 基于习题10-15的结论,,那么: 而根据习题10-15的结论: 此条件概率也是高斯分布,即: 根据相同的计算&a…

win10能用微信、QQ,不能打开网页

今天上班,打开电脑,突然遇到一个问题,发现QQ、微信可以登录,但是任何网页都打不开,尝试了重启电脑和路由器都不行,最终解决了电脑可以访问网页的问题,步骤如下: 1、打开电脑的网络设…

Parallels Desktop 19 for mac破解版安装激活使用指南

Parallels Desktop 19 for Mac 乃是一款适配于 Mac 的虚拟化软件。它能让您在 Mac 计算机上同时运行多个操作系统。您可借此创建虚拟机,并于其中装设不同的操作系统,如 Windows、Linux 或 macOS。使用 Parallels Desktop 19 mac 版时,您可在 …

QT实现QGraphicsView绘图 重写QGraphicsSvgItem类实现边框动画

目录导读 简述使用 QTimer 实现 QGraphicsSvgItem 边框动画效果 简述 在了解学习WPS的流程图的时候,发现它这个选择图元有个动态边框效果,而且连接线还会根据线生成点从头移动到尾的动画。像这种: 在QML中实现这种动画属性很简单&#xff0…

11.1 Go 标准库的组成

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…