软件工程课设——成绩管理系统

软件工程课设——成绩管理系统

该文档是软件工程课程设计,成绩管理子系统的开发模块仓库。

功能分析

从面向的用户分,成绩管理子系统主要面向三类用户,即至少需要满足这三类用户的需求:

  1. 学生:学生是成绩管理系统的最基本的用户,需要向学生提供:
    1. 查看课程成绩。成绩信息汇总,并提供打印下载功能。
    2. 申请成绩复议。
    3. 提交教师评价与课程评价。
  2. 教师:教师也是成绩管理系统的重要用户,教师需要使用成绩管理系统:
    1. 提交学生成绩。
    2. 打印学生成绩。
    3. 查看和下载成绩汇总,班级、年级等角度,从而能够对学生成绩有一个更好的把握。
  3. 管理员或学校领导:这是成绩管理系统的高级用户,需要向其提供:
    1. 学生成绩的查询界面,需要支持多个维度的查询功能,并支持模糊查询。
    2. 生成关于学生成绩的各类统计报表功能。包括成绩统计的直方图(包含平均值、中位数、众数等)、学期成绩变化的曲线、学院角度分析、专业角度分析等。

人员分工

开发内容涉及到很多的前端工作,需要设计出比较好用用户体验比较好的界面以及图像展示效果。

  • 开发人员:编制代码,构建系统,完成前后端的设计和开发,以及用户交互、图标生成等功能的构建。
  • 测试人员:测试代码,单元测试的编写,测试开发人员编制的函数的鲁棒性、健壮性。开发的界面是否美观、交互是否好用。需要撰写详细的测试文档,并及时反馈。

需求分析规格说明

用例图

学生用例分析

在这里插入图片描述

学生用户示例

前提条件:学生的用户名和账号必须是正确的

用例1:学生通过访问网站,查询某学期成绩,并打印出成绩单

参与者:学生
情境目标:学生查询到自己的成绩信息,打印成绩单

场景:

1、学生访问到该网站,输入用户名,密码,选择学生身份,登录;
2、学生选择成绩查询功能;
3、如果学生已经完成教学评价,可以接着该用例往下走;如果未完成,看到提示后,进入用例3,完成教学评价;
4、网站中有学期和学年的选择框,有查询和打印两个按钮;
5、学生选择好学期和学年后,点击查询,网站中列出成绩单(课程号,课程名,任课老师,学院,专业,学分,分数,评级,绩点),成绩单中还有本学期总绩点的学分。
6、点击打印,预览后打印出成绩单;

用例2:学生通过访问网站,进行成绩复议

参与者:学生
情境目标:学生向学校申请成绩复议,并得到回复

场景:

1、学生访问到该网站,输入用户名,密码,选择学生身份,登录;
2、学生选择成绩复议功能;
3、网站中出现几个小功能模块:
(1)申请复议:学生将新建一个成绩复议表单,按照表中提示填信息之后,可以提交给学校;
(2)复议回复:学生将再次看到自己收到的复议回复,未读和已读都有标记,学生可以查看和删除;
(3)复议草稿箱:学生未提交出去的成绩复议表单将保存在这里;
(4)复议记录:学生提交过的复议记录,有日期信息。学生可以查看和删除记录;
(5)垃圾箱:学生删除过的记录和表单都暂时保存在此,可以回收,删除,清空;
4、学生点击申请复议,填好信息,点击提交,提示成功,申请已经分别交给老师和教务人员。
5、一段时间后(这段时间教务人员和老师在交互),学生登录网站,在主页有消息提示,点击进入“复议回复”模块中可以查看。

用例3:学生通过网站,对本学期进行教学评价

参与者:学生
情境目标:学生在网站中完成教学评价,评价提交后不可更改

场景:

1、学生访问到该网站,输入用户名,密码,选择学生身份,登录;
2、学生选择教学评价功能;
3、网站中条列出本学期的所有课程和老师,已评价的提供查看功能,未评价的点击评价进行问卷评价。
4、学生点击评价,填写好问卷调查。
5、问卷末尾,有确定,重填和提交三个按钮,确定用来固定答案,重填用来清空原来的填写,提交把问卷提交至教务管理人员处。
6、全部提交完成后,本项完成。

用例4:学生通过网站,查看大学成绩总体情况

参与者:学生
情境目标:学生在网站中完成查看自己的学业情况(已获得学分,总绩点等)

场景:

1、学生访问到该网站,输入用户名,密码,选择学生身份,登录;
2、学生选择成绩总览功能;
3、网站前几行有总学分,总绩点,以及大学各类课程所修数量;
4、网站中出现几个统计模块,每个模块上显示该模块中课程数量,总学分,模块如下:
(1)必修课(2)选修课(3)通识课(4)其他课
点击模块展开相应类别的所有已修课程信息,包含课程名,课程代码,绩点,学分,评级;
5、点击打印按钮打印出所有模块和模块展开后的信息。

教师用例分析

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

教务管理员用例分析

在这里插入图片描述

UML类图

在这里插入图片描述

View函数列表

函数名完成功能传入参数返回值
stu_search_score学生查看自己本学期的成绩,包括了考试总分和平时分等成绩明细
stu_view_stat学生查看自己成绩的统计信息,包括已修学分和未修学分,成绩走势
stu_proposal学生针对某一门课提交成绩复议申请,填写相应的表单。对应的申请会被同时发送到教务管理人员和教师处,需要教师确认同意或者不同意,教务处起到监管的作用
stu_print_score学生打印自己的个人成绩
stu_comment_tch学生对教师教学情况进行评价,填写相应的评教表单
tch_upload_score_xls教师通过excel电子表格上传成绩
tch_upload_score_online教师在线填写学生成绩
tch_print_score教师打印自己教学班级的学生成绩信息
tch_download_score教师下载学生成绩用于分析
tch_proposal教师向教务处提出修改成绩申请
get_xls_template根据教师所选条目,下载对应的填写和上传成绩的电子表格
mg_view_proposal教务管理人员查看并且选择通过还是不通过学生和教师提出的修改成绩申请
email_send在系统内发送email到对应的人员处,包括教务管理人员,教师,学生等
get_xls_to_instructor汇总信息提交给专业辅导员(比如,计算机科学与技术的辅导员,通过调用该函数,获取到对应专业的学生各学科信息,结果需降序排列)
cal_stu_gpa计算该学生本学期所有成绩加权的综合GPA(通过对应公式加权计算)
cal_total_gpa计算该学生自入学以来的个学期GPA汇总
get_stu_course_score获取到该学生某指定一门课程的成绩,传入参数课程名和学号,如果不存在需要抛出对应的异常
get_class_mean获取对应教学班级的平均分class_name
get_class_max获取教学班成绩最高分class_name
get_class_excelent获取教学班90分以上的学生class_namea set of students score > 90
get_class_excelent_rat获取教学班优秀率class_namethe exc_stu_num / total_stu_num_in_clas
get_major_gpa_mean获取专业平均GPA,可以指定学期,默认是本学期,下同major_id / major_name, semaster
get_major_gpa_max获取专业最高GPAmajor_id / major_name
get_major_gpa_mode获取专业GPA众数major_id / major_name
get_major_failed获取该专业学位警告学生名单major_id / major_namea set of students failed to graduate(gpa < 2.0)
get_major_failed_rat获取本专业学位警告学生率major_id / major_namefloat
get_major_num获取专业人数major_id / major_nameint
get_class_failed获取到该教学班未通过考试的学生class_namea set of students failed to pass the exam
get_class_failed_rat获取到该教学班未通过率class_namefloat
get_class_num获取教学班人数class_nameint
get_stu_in_range获取到成绩在指定范围内的的学生score_range, score_typea set of students in the range of score
table_to_pdf导出表格为pdf
send_annocement向指定用户发送通知user_id

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

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

相关文章

深入理解 Git Reset 的三种模式及其使用场景

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a;Android ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言 正文 1. --soft 模式 2. --mixed 模式&#xff08;默认&#xff09; 3. --hard 模式 总结 结语 我的其他博客 前言 在日常的开发…

机器学习-1:人工智能、机器学习和深度学习的关系

人工智能&#xff08;AI&#xff09; 简单理解&#xff0c;任何一种事物只要具备了一定的智能就可以把它归类为人工智能。 官方定义&#xff1a;"AI is the field that sdudies the synthesis and analysis of computational agents that act intelligently." 其中&a…

安卓学习中遇到的问题【bug】

安卓学习中遇到的问题 1Gradle下载慢怎么办&#xff1f; Gradle下载慢怎么办&#xff1f; distributionUrlhttps://mirrors.cloud.tencent.com/gradle/gradle-7.5-bin.zip 2 Could not resolve all files for configuration ‘:classpath‘. &#xff1e; Could not resolv…

uniapp-vue3-vite 搭建小程序、H5 项目模板

uniapp-vue3-vite 搭建小程序、H5 项目模板 特色准备拉取默认UniApp模板安装依赖启动项目测试结果 配置自动化导入安装依赖在vite.config.js中配置 引入 prerttier eslint stylelint.editorconfig.prettierrc.cjs.eslintrc.cjs.stylelintrc.cjs 引入 husky lint-staged com…

处理在 electron 中使用开启了懒加载的 el-image 后,窗口最大化或窗口尺寸变化后图片无法显示的问题

文章目录 1、问题描述2、详情动图3、解决思路4、解决方案5、效果展示 1、问题描述 在 electron 中使用 el-image 时&#xff0c;开启了懒加载后&#xff0c;发现只有当窗口滚动后&#xff0c;图片才会显示&#xff0c;即便图片已经处于窗口的可视区域。当拖动窗口使其尺寸变大…

基于JAVA+SpringBoot+Vue+uniapp+协同过滤算法+爬虫+AI的减肥小程序

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; 小程序用户登录&#…

前端开发体系+html文件详解

目录 html骨架 body主体内基本元素 基本元素 超文本&#xff08;超链接跳转&#xff09; 锚点 图片标签 列表标签 表格标签 框架标签&#xff08;窗口标签&#xff09; 音频标签 视频标签 VScode编译器 输入框 字体样式 实例展示&#xff1a; 首先简要介绍前端的整…

在VS2017下FFmpeg+SDL编写最简单的视频播放器

1.下载ShiftMediaProject/FFmpeg 2.下载SDL2 3.新建VC控制台应用 3.配置include和lib 4.把FFmpeg和SDL的dll 复制到工程Debug目录下&#xff0c;并设置调试命令 5.复制一下mp4视频到工程Debug目录下&#xff08;复制一份到*.vcxproj同一目录&#xff0c;用于调试&#xff09; 6…

python中的re模块--正则表达式

正则表达式&#xff0c;又称规则表达式。&#xff08;英语&#xff1a;Regular Expression&#xff0c;在代码中常简写为regex、regexp或RE&#xff09;&#xff0c;计算机科 学的一个概念。正则表达式通常被用来检索、替换那些符合某个模 式(规则)的文本 re模块作用 通过使用…

JVM 内存介绍

本文主要介绍&#xff1a; JVM 内存分哪几个区&#xff0c;每个区的作用是什么 备注: 橙色:堆 和 方法区 &#xff0c;属于jvm公有部分,可以进行调优 灰色:java栈,本地方法栈和计数器 属于jvm的私有部分,不可进行调优 一个对象从创建到被回收的过程是怎样的? Personpnew Perso…

【HarmonyOS】HarmonyOS NEXT学习日记:一、创建和运行一个页面

【HarmonyOS】HarmonyOS NEXT学习日记&#xff1a;一 DevEco Studio下载与安装 直接到官网的下载地址下载即可 正常下载、解压、安装完成后 正常来说不会有项目&#xff0c;并且是英文界面。 需要汉化的话可以按照下面的步骤设置插件 选择customize里的 all setting 进入…

macOS Sequoia 15(Macos15系统)v15.0 Beta 3发布 macOS Sequoia 15 功能预览

macOS Sequoia 15 功能预览 犀利一如 Mac macOS Sequoia 15(Macos15系统)v15.0 Beta 3测试版本下载安装 连续互通 你的 Mac 上&#xff0c;iPhone 用起来。 有了 iPhone 镜像功能&#xff0c;在 Mac 上就能看到 iPhone 屏幕画面&#xff0c;还能直接进行操控&#xff0c;不拿…

uniapp 实现上传文件的功能

上传单个文件 <script setup>const handleUploadClick () > {console.log("上传文件")uni.chooseImage({success: (chooseImageRes) > {const tempFilePaths chooseImageRes.tempFilePaths;console.log("用户选择的图片&#xff1a;", temp…

誉天教育与武汉晴川学院携手开展鸿蒙实训营,共筑鸿蒙生态新篇章!

在数字经济蓬勃发展的今天&#xff0c;鸿蒙系统作为华为自主研发的操作系统&#xff0c;正逐步构建起一个开放、协同、共赢的生态体系。为了进一步推动鸿蒙生态的繁荣发展&#xff0c;培养更多具备鸿蒙原生应用开发能力的专业人才&#xff0c;誉天教育与武汉晴川学院强强联合&a…

十九、【文本编辑器(五)】排版功能

目录 一、搭建框架 二、实现段落对齐 三、实现文本排序 一、搭建框架 (1) 在imgprocessor.h文件中添加private变量&#xff1a; QLabel *listLabel; //排序设置项QComboBox *listComboBox;QActionGroup *actGrp;QAction *leftAction;QAction *…

C#知识|SqlParameterCollection 只接受非空的 SqlParameter 类型对象,不接受 SqlParameter[] 对象

哈喽&#xff0c;你好啊&#xff0c;我是雷工&#xff01; 今天在练习C#时遇到报错&#xff1a; SqlParameterCollection 只接受非空的 SqlParameter 类型对象&#xff0c;不接受 SqlParameter[] 对象。 01 为什么使用SqlParameter 开发中之所以采用SqlParameter[]param是因为…

weblogic中间件运维常见问题

背景&#xff1a; 工作需要经常使用到weblogic中间件产品&#xff0c;在维护过程中有遇见的一些常见故障问题&#xff0c;这里分享给大家。 问题一&#xff1a;密码文件报错 问题描述&#xff1a; weblogic应用在启动过程中出现如下的报错内容&#xff1a; # tail -f nohup.ou…

五、 计算机网络(考点篇)试题

A、B、C都没问题&#xff0c;选D。现在基本上所有的互联网网站都是https了&#xff0c;电子支付类的更不用说了。 简单邮件传输的协议是SMTP(发)和POP3(收)&#xff0c;分别是25和110。选B和B 网络分片技术&#xff0c;分割切片嘛。 选C&#xff0c;AES加密等级比较高了&#x…

MFC程序创建word,创建表格,写入数据

文章目录 1、MFC程序功能&#xff1a;2、MFC程序实现2.1 创建项目2.2 添加word操作类2.3 添加word资源2.4 编写代码&#xff0c;实现将数据写入到word2.5 运行程序、验证功能3、工程代码下载 1、MFC程序功能&#xff1a; 创建word文档&#xff1b;向文档中写入字符串&#xff…

Jenkins用户权限管理指定操作任务

安装插件 在 Jenkins 的管理插件中进行插件安装。 搜索插件库&#xff1a;Role-based Authorization Strategy 修改授权策略 在全局安全配置中&#xff0c;把授权策略改为Role-Based Strategy 添加角色规则 在安全中选择Manage and Assign Roles 在Global roles中添加一个…