当前位置: 首页 > news >正文

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

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

相关文章:

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

欢迎来到 Papicatch的博客 目录 🐋引言 🦈编写目的 🦈项目说明 🐋产品介绍 🦈产品概要说明 🦈产品用户定位 🦈产品中的角色 🐋 产品总体业务流程图 🐋 产品功…...

STM32CubeMX配置-外部中断配置

一、简介 MCU为STM32G070,配置为上升沿触发外部中断,在上升沿外部中断回调函数中进行相关操作。 二、外部中断配置 查看规格书中管教描述,找到I/O对应的外部中断线,然后进行如下上升沿触发外部中断配置。 三、生成代码 调用上升沿…...

基于Vue的日程排班表 - common-schedule

原文:基于Vue的日程排班表 - common-schedule-CSDN博客...

SmartEDA、Multisim、Proteus大比拼:电路设计王者之争?

在电路设计领域,SmartEDA、Multisim和Proteus无疑是三款备受瞩目的软件工具。它们各自拥有独特的功能和优势,但在这场电路设计王者的竞争中,谁才是真正的领跑者?让我们深入探究这三款软件的异同,揭示它们各自的魅力所在…...

【教资科一传统文化】文化素养传统文化之神话传说、天文历法、古代称谓、中国传统节日、成语典故

目录 ​编辑 传统文化之天文历法 (一)四时(四季)从农历、名称上掌握 (二)二十四节气(1、名称2、季节-节气3、特殊) (三)十二时辰(1.先后顺序2.时间段3.别称) (四)五更(五夜) (五)天干地支(1.名称2.纪年) ​文化素养传统文化…...

Apache Pulsar 从入门到精通

一、快速入门 Pulsar 是一个分布式发布-订阅消息平台,具有非常灵活的消息模型和直观的客户端 API。 最初由 Yahoo 开发,在 2016 年开源,并于2018年9月毕业成为 Apache 基金会的顶级项目。Pulsar 已经在 Yahoo 的生产环境使用了三年多&#…...

[Bug]使用duckduckgo的duckduckgo_search API搜索图片出现了错误

现在在kaggle上学习一个课程,第一课主要是识别图片里面是不是鸟🐦。其中一步是使用duckduckgo 搜索图片,源码: from duckduckgo_search import ddg_images from fastcore.all import * from fastbook import search_images_ddgde…...

线程池若干问题

线程池中线程异常后,销毁还是复用? 线程池在提交任务前,可以提前创建线程吗? 线程池中线程异常后,销毁还是复用? 直接说结论,需要分两种情况: 使用execute()提交任务&#xff1a…...

k8s+RabbitMQ单机部署

1 k8s 配置文件yaml: apiVersion: apps/v1 kind: Deployment metadata:name: rabbitmq-deploynamespace: rz-dt spec:replicas: 1selector:matchLabels:app: rabbitmqtemplate:metadata:labels:app: rabbitmqspec:containers:- name: rabbitmqimage: "rz-dt-image-server…...

github.com/therecipe/qt windows中安装

github.com/therecipe/qt windows中安装 a.准备好源码,解压到go/src/github.com/therecipe/qtwin下 b.设置cmd环境变量: set QT_DIRM:\work\tool\Qt5.14.2\5.14.2\mingw73_64 set QT_VERSION5.14.2 set QT_API5.13.0 set QT_QMAKE_DIRM:\work\tool\Qt5.14.2\5.14.2\mingw73_64\…...

LogicFlow 学习笔记——11. 对齐线 和 键盘快捷键

对齐线 Snapline 对齐线能够在节点移动过程中,将移动节点的位置与画布中其他节点位置进行对比,辅助位置调整。位置对比有如下两个方面。 节点中心位置节点的边框 对齐线使用 普通编辑模式下,默认开启对齐线,也可通过配置进行关…...

FastWeb - Lua开源跨平台网站开发服务

在网站开发领域,大家都熟知PHPStudy和宝塔这两款广受欢迎的工具,但今天我要介绍的是一款功能强大、支持跨平台的开源Lua网站开发服务——Fast Web,以及与之配套的网站管理器。 Fast Web简介 Fast Web是一款基于Lua编写的网站开发框架&#…...

原子阿波罗STM32F767程序的控制器改为STM32F407驱动LCD屏

由于手里没有原子大神的F429开发板,又还想学习原子大神的F429开发板程序,前几天,经过更换控制器,成功把原子大神的F429开发板程序用到了F407开发板上,驱动LCD屏显示成功,目的,就是熟悉原子大神的…...

04-jQuery工具函数及 jQuery 插件

1. jQuery工具函数 在jQuery中,工具函数是指直接依附于jQuery对象,针对jQuery对象本身定义的方法,即全局性的,我们统称为工具函数,或Utilites函数。 主要作用于:字符串、数组、对象。 调用格式: $.函数名()或jQuery.函数名() 1.1 $.get() 通过远程 HTTP GET 请…...

基于Python的花卉识别分类系统【W9】

简介: 基于Python的花卉识别分类系统利用深度学习和计算机视觉技术,能够准确识别和分类各种花卉,如玫瑰、郁金香和向日葵等。这种系统不仅有助于植物学研究和园艺管理,还在生态保护、智能农业和市场销售等领域展现广泛应用前景。随…...

Visual Studio Code 配置教程,手把手教你如何配置

文章目录 引言1. 安装 VS Code1.1 下载和安装1.2 初次启动 2. 基本配置2.1 设置用户和工作区配置2.2 常用配置项 3. 安装和配置扩展插件3.1 安装扩展3.2 推荐扩展3.3 配置扩展 4. 主题和配色方案4.1 安装主题4.2 切换主题4.3 自定义配色方案 5. 版本控制集成5.1 配置 Git5.2 Gi…...

教案:Horovod v0.2 介绍与使用

课程目标 了解Horovod的主要功能和优势。学习如何安装和配置Horovod。掌握Horovod在分布式训练中的应用。 教学内容 Horovod的简介和动机 动机 使单GPU训练脚本轻松扩展到多GPU训练。尽量减少代码修改以实现分布式训练。内部采用MPI模型,代码变动较少,…...

深入探索Spring Boot:原理与实践

Spring Boot作为一个简化Spring应用开发的框架,近年来在Java开发者中备受推崇。它通过提供默认配置、自动化配置和一系列开箱即用的功能,极大地简化了应用程序的开发和部署过程。在本篇文章中,我们将深入探讨Spring Boot的工作原理&#xff0…...

基于SSM框架的电影院售票网站

开头语: 你好呀,我是计算机学长猫哥!如果您对我们的电影院售票网站感兴趣或者有相关需求,欢迎通过文末的联系方式与我联系。 开发语言:Java 数据库:MySQL 技术:SSM框架 工具:ID…...

oracle发送http请求

UTL_HTTP包让SQL和PLSQL能够调用超文本传输协议(HTTP),也就是说可以使用它在Internet上访问数据。 当包用HTTPS从Web site获取数据时,要使用Oracle Wallet,它是由Oracle Wallet Manager或者orapki utility创建。非HTT…...

软件回归测试:策略及案例分析

软件回归测试:策略及案例分析 回归测试的定义回归测试的执行阶段回归测试的种类回归测试的策略结论 回归测试的定义 回归测试是一种质量保障措施,其主要目的是验证在进行修改、增加新功能或修复错误后,系统的原有功能仍然能够正常工作&#…...

openstack搭建

openstack搭建 1、虚拟机部署规划 主机主机名IP规划实例通讯内部通讯控制节点controller192.168.10.144192.168.1.144实例节点compute192.168.10.145192.168.1.145 2、硬件配置 主机名内存逻辑CPU数量硬盘容量controller4G480Gcompute4G480G20G 3、安装centos7&#xff0c…...

HIVE及SparkSQL优化经验

简介 针对高耗跑批时间长的作业,在公司近3个月做过一个优化专项;优化成效:综合cpu、内存、跑批耗时减少均在65%以上; cpu和内存消耗指的是:vcoreseconds和memoryseconds 这里简单说下优化的一些思路,至于…...

Django 5 Web应用开发实战

文章目录 一、内容简介二、目录内容三、值得一读四、适读人群 一、内容简介 《Django 5 Web应用开发实战》集Django架站基础、项目实践、开发经验于一体,是一本从零基础到精通Django Web企业级开发技术的实战指南。《Django 5 Web应用开发实战》内容以Python 3.x和…...

互联网摸鱼日报(2024-06-17)

互联网摸鱼日报(2024-06-17) 36氪新闻 本周双碳大事:历年最大规模SNEC人气火热;首批CCER审定与核查机构名单出炉;特斯拉储能业务年增长率将达200%至300% 烧光百亿,离奇破产!顶级天才,让广东损失惨重 奥特…...

Docker Desktop Installer For Windows 国内下载地址

官网: Docker Desktop For Windows: https://download.docker.com/win/stable/Docker%20Desktop%20Installer.exe 通过Docker官网下载Docker Desktop安装包非常慢,而且还会下载失败。 解决方案 网盘下载: 链接:https://pan.qu…...

做好程序前设计

不要小看任何一道编程题目!一定一定一定要想好之后再动手!!! 带上你的草稿本!!!!!!!!!!!&#xf…...

SpringCloud:Feign远程调用

程序员老茶 🙈作者简介:练习时长两年半的Java up主 🙉个人主页:程序员老茶 🙊 P   S : 点赞是免费的,却可以让写博客的作者开心好久好久😎 📚系列专栏:Java全栈&#…...

leetcode-05-[242]有效的字母异位词[349]两个数组的交集[202]快乐数[1]两数之和

重点&#xff1a; 哈希表&#xff1a;当我们遇到了要快速判断一个元素是否出现集合里的时候&#xff0c;就要考虑哈希法。 常用数据结构&#xff1a; List 数组 固定大小 如26个字母&#xff0c;10个数字 空间换时间 Set hashset 去重 Map hashmap <K,V>形式 …...

C语言实现动态栈

#include<stdio.h> #include<stdlib.h> #include<stdbool.h>// 每一个节点的数据类型 typedef struct Node {int data;struct Node * pNext; }NODE, * PNODE; // NODE等价 struct Node PNODE等价于 struct Node *// 栈 typedef struct Stack {PNODE pTop;P…...

地勘网站建设方案/app推广方案模板

我整理了一下&#xff0c;大概有四种&#xff0c;亲测成功三种。 第一种是最愚蠢的&#xff0c;不过看许多博客都使用这种方法&#xff0c;即旋转bitmap&#xff1a; Bitmap bitmap ((BitmapDrawable)getResources().getDrawable(R.drawable.ic_launcher)).getBitmap(); Matri…...

成都市网站建设费用及企业/sem扫描电镜是测什么的

Spark SQL是Apache Spark最广泛使用的一个组件&#xff0c;它提供了非常友好的接口来分布式处理结构化数据&#xff0c;在很多应用领域都有成功的生产实践&#xff0c;但是在超大规模集群和数据集上&#xff0c;Spark SQL仍然遇到不少易用性和可扩展性的挑战。为了应对这些挑战…...

大气企业响应式网站/河北网站seo地址

Vue 中$root 的用法: $root用法:作用: 访问跟组件的属性和方法: $root 只是对跟组件有用, 不是父组件, $root 只是对对跟组件有用。 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport&…...

江阴市做网站的/如何写好一篇软文

目录写在前面正文同步FIFO回顾异步FIFO设计参考资料交个朋友写在前面一开始是想既然是极简教程&#xff0c;就应该只给出FIFO的概念&#xff0c;没想到还是给出了同步以及异步FIFO的设计&#xff0c;要不然总感觉内容不完整&#xff0c;也好&#xff0c;自己设计的FIFO模块不用…...

高端网站开发程/南京seo排名扣费

目录 题目 代码 题目 问题描述 小明要做一个跑步训练&#xff0c;初始时&#xff0c;小明充满体力&#xff0c;体力值计为 10000。 如果小明跑步&#xff0c;每分钟损耗 600 的体力。 如果小明休息&#xff0c;每分钟增加 300 的体力。 体力的损耗和增加都是 均匀变化的…...

什么样算网站需要备案/快排seo软件

最近在研究图像识别的时候遇到进制之间的转换&#xff0c;虽然之前也了解基二进制、八进制、十进制、十六进制之间转换的基本原理&#xff0c;但还没有在java里对其进行实现过。于是就对其进行了一翻研究&#xff0c;现将自己学习的总结与大家分享一下。 基本原理 二进制——…...