C/C++毕业设计管理系统[2023-09-02]

发布时间 2023-09-02 11:29:14作者: bigbeet

C/C++毕业设计管理系统[2023-09-02]

二、毕业设计管理系统
学校有若干学院,每个学院有若干专业,需要通过一个毕业设计管理系统对现有的毕业设计情况进行管理。
系统适用对象:
教务处管理员、院系负责人、教师、学生。
1、教务处管理员:全校教学事务管理、全校课题过程管理、学生及课题信息审核;
2、院系负责人:学院申报课题审核、学生信息审核、学院过程管理;
3、指导教师:课题申报、确认学生、学生进度控制;
4、学生:选题、开展课题设计过程;
系统主要功能如下:
1、毕业设计管理:指导教师申报课题,毕业生选题,指导教师确认学生,设置有效期限(如各阶段设计的提交期限),公布毕业设计公告、要求等。
2、毕业生管理:毕业生信息(学院、专业、班级、学号等)的维护和查询。毕业生可根据指导老师公布的候选题目选择毕业设计题目,在有效期限内提交设计内容(如开题报告、中期检查报告、毕业设计终稿等),查看指导老师评语。
3、指导教师管理:指导教师信息的维护(研究方向、联系方式等),指导教师可查看所属毕业生的毕业设计进度,并对毕业生提交的每阶段的设计内容进行批阅,给出毕业设计成绩。
4、系统管理:权限管理、系统维护和密码管理。
系统高级功能:
1、查询统计分析:按学院、专业、班级、指导老师等统计信息(如选题情况、设计成绩等),并能根据统计结果进行分析。
2、线上交流:课题确认后,师生可以线上进行交流课题相关问题。

源码

https://pan.baidu.com/s/1SHX3aW20HP_98kAK11GSJg?pwd=0000

C++个人文献管理系统

2、系统功能
(1) PRMS是可交互的,由屏幕提示输出和用户键盘鼠标输入来完成操作。
(2) PRMS管理的数据可存盘和恢复,即启动时从磁盘文件读入数据进入内存,用户进行操作、编辑后的数据可在任何时候(包括退出时)写回磁盘文件,保证数据完整性。注意:PRMS为小型规模的数据管理系统,在目前主流个人电脑条件下,所有数据可完全加载到内存。
(3) PRMS有管理员和访客用户的权限控制:管理员可以无限制操作文献数据(包含下面的全部功能);访客用户只能查询,不可修改删除数据(即只包含下面的功能1、2、6、8、9)。
(4) PRMS的基本功能清单:

编号 功能 说明 备注
1 登录系统 启动时提示登录,管理员以admin和密码登录。访客以visitor登录。二者登录后可执行的操作不同 管理员密码存储于一个数据文件中,程序在启动时自动读入。格式同功能2
2 打开数据文件 选择文献数据文件,载入内存 文件的数据格式需自己设计,用ASCII,JSON,XML或二进制等存储均可
3 保存数据文件 将内存中文献数据保存至文件 同上
4 录入文献 提示按一定格式输入文献信息 根据DOI判断是否已有该文献,若有,应提示放弃或覆盖该文献。DOI的全称是Digital Object Unique Identifier,即数字对象唯一标识符
5 删除文献 提示用户输入要删除的文献信息,确认后予以删除 支持模糊匹配:指输入任何一个属性的一部分内容即可以查询(不必实现通配符搜索)
6 显示全部文献 在屏幕上显示文献总数和所有文献信息,注意将各项数据对齐
7 编辑文献信息 提示输入要修改的文献信息,查询后显示该文献的信息,确认无误再进行修改 模糊匹配同功能5
8 查询文献信息 提示用户输入要查询的文献信息,若多个文献均符合条件则都列出 模糊匹配同功能5
9 退出 提示用户是否退出该系统 退出前将内存数据写回文件

3、基本要求
(1) 必须以面向对象方式设计实现。一般情况下,除main函数外,其他任何函数代码均应属于某个类,确有必要设计为全局函数的,需加以说明原因。尽量不使用全局变量用于数据存储,而应以类封装的形式实现,以类公共接口形式暴露数据的访问权,供其他类操作数据。
(2) 应建立管理系统类PRMS,该类在运行时具有唯一一个实例,其他数据类对象均在该类中。
(3) 应建立文献类Reference,文献的基本信息包括:DOI、作者(可有多个)、标题、刊物、年份和类型。类型只考虑:Article,Review。
(4) 应建立用户类User,User以虚函数的形式给出该类接口,并派生出Admin和Visitor类。在报告中,画出核心的类图和类间派生关系图(搜“UML类图”,Unified Modeling Language)。提示:用户权限可由派生类对接口的实现来控制,如:User包含virtual delete_reference()的接口,但由于Visitor不能删除,故其对该接口实现不应做删除操作。
(5) 应使用C++流进行文件的读写,不可使用C语言FILE结构体或其他文件读写函数。
(6) 应尽量使用STL完成数据操作和相关算法,禁止使用C语言静态数组。例如:可使用STL的find函数快速判定是否存在一条数据,可使用vector实现动态数组。要求:程序中至少使用3种不同STL容器,并在报告中体现。
(7) 需要实现系统的界面。基本要求下,可使用控制台进行界面绘制。注意,控制台下的可视化可以设置颜色,会使界面看起来更美观。若实现图形用户界面GUI(Graphics User Interface),可忽略本条要求。
(8) 完成“附录2:大作业评分标准”列举的其他基本要求。
4、更高要求
以图形用户界面方式实现该系统,这一方式下,可使用菜单或按钮控件进行功能触发,使用文本框或对话框进行信息显示等。可供参考的不同系统下GUI编程方式:
a) 跨平台的GUI库。如Qt,WxWidget等
b) Windows:MFC等