当前位置: 首页 > 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

相关文章:

  • FinalShell 连接虚拟机超时,主机ping不通虚拟机,解决
  • MongoDB使用$addToSet向数组中添加元素
  • 设备驱动程序和 PCI 电源管理
  • 健身行动日
  • 如何生成自定义二维码和实现安全便捷的扫码登录功能以及对接企业微信API
  • 打破安全设备孤岛,多源威胁检测与响应(XDR)如何构建一体化安全防线
  • 51单片机入门
  • AWS无服务器 应用程序开发—第三章 后端服务(AWS AppSync)
  • 秋招突击——6/16——复习{整理昨天的面试资料}——新作{删除链表倒数第n个节点}
  • 信用VS抵押:贷款的两面镜子
  • Linux(Centos7)OpenSSH漏洞修复,升级最新openssh-9.7p1
  • 英语恶补ing
  • MAP REDUCE
  • vue3的基本使用方法
  • “Jedis与Redis整合指南:实现高效的Java应用与Redis交互“
  • JS 中的深拷贝与浅拷贝
  • 【Linux系统编程】快速查找errno错误码信息
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • ES6核心特性
  • Hibernate【inverse和cascade属性】知识要点
  • JavaScript新鲜事·第5期
  • Shadow DOM 内部构造及如何构建独立组件
  • tweak 支持第三方库
  • 笨办法学C 练习34:动态数组
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 前端技术周刊 2019-02-11 Serverless
  • 实战|智能家居行业移动应用性能分析
  • 线性表及其算法(java实现)
  • 用Visual Studio开发以太坊智能合约
  • 在GitHub多个账号上使用不同的SSH的配置方法
  • - 转 Ext2.0 form使用实例
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • ​io --- 处理流的核心工具​
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • "无招胜有招"nbsp;史上最全的互…
  • #QT(串口助手-界面)
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (2022 CVPR) Unbiased Teacher v2
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (附源码)springboot 基于HTML5的个人网页的网站设计与实现 毕业设计 031623
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞
  • .L0CK3D来袭:如何保护您的数据免受致命攻击
  • .Net 6.0 Windows平台如何判断当前电脑是否联网
  • .NET 解决重复提交问题
  • .Net高阶异常处理第二篇~~ dump进阶之MiniDumpWriter
  • .NET设计模式(8):适配器模式(Adapter Pattern)
  • .net网站发布-允许更新此预编译站点
  • .NET微信公众号开发-2.0创建自定义菜单
  • :O)修改linux硬件时间
  • @angular/cli项目构建--http(2)