# GraduationProjectManagerSystem
数据库原理课程设计——毕业设计管理系统
**功能简介:**
1.根据题目的描述,既然这个系统有教师和学生的管理,那这个系统不仅是毕业设计管理系统,而是有教师和学生的信息查询维护的教务管理系统的一部分。 本系统是一个专门用于毕业设计管理的系统,每个准备毕业设计的学生和每个指导老师都拥有一个账号。该系统的账号可能是从教务管理系统导入进来的。
2.鉴于审批需要,该系统共有四种角色,分别为教师、学生、系主任、管理员。不同的用户登录到这个系统中要有不同的界面,不同的功能。
3.学生界面内有“选题”功能,在选择题目并经导师和系主任批准后,将开题并可以在“上传进度”中实时查看自己的进度,随时补充最新进展。
4.系统管理员具有增删用户和决定用户权限的功能,但系统管理员不能涉及选题与审核环节,要修改选题与审核等环节的内容,需要管理员为自己创建具有系主任权限的教师账号。
5.没有系主任权限的教师只能指导学生和开题,不能进入系主任审批界面。而具有系主任权限的教师可以进入系主任审批界面,也可以指导学生和开题。(值得一提的是,系主任可以审批自己指导的学生进行的毕业设计。)
**逻辑结构设计:**(加粗表示主键)
用户表(**统一ID**,密码,用户类别)
学生表(**统一ID**,姓名,性别,专业,班级,电话,邮箱,备注)
教师表(**统一ID**,姓名,性别,职称,方向,电话,邮箱,是否系主任)
题目表(**题目编号**,题目名称,题目专业,命题导师,内容简介)
选题表(**题目编号**,学生ID,教师ID,毕设进程)
**开发所用技术与环境:**
架构:native
语言:C++
数据库:sqlite 3.31.1
使用的库:EasyX_20200520(beta)
开发系统:Windows 10.0 Build 18362
开发工具:Visual Studio 2017 Community
支持的系统:Windows 7/10 AnyCPU(指能跑Windows的)
**需要说明的内容:**
需要说明,本次管理系统对学生的毕设进程进行了简化
分为0,1,2,3,4,5共计6个阶段
其中,系主任开题审批只针对0阶段
教师的审核(中期检查和导师意见)仅针对1,2阶段
系主任的审批(系主任审批和毕业答辩)仅针对3,4阶段
第5阶段为顺利毕业。
**安全性考虑:**
在登陆过程中对于是否为管理员采用的是预先与储存好的匹配而不是直接进行查询语句,避免了在用户登录过程中被SQL注入的风险,如```admin'#```这样的常见SQL注入点被避免。
而诸如```''or 1=1#```或```username' AND 1=1—hack```这样的注入方式,或者更为恶劣的```username;DROP TABLE user—hack```的攻击,采用对请求的字符串预处理的形式,过滤其中可提供多语句执行的;和=两个常见字符,在尽可能减少对用户自由性损失的同时,防范SQL注入的攻击。
非常遗憾因为时间关系,密码没能采用加盐后HASH,然后将HASH后数据进行比对的较为安全的方式进行处理,而是直接将明文送入查询。
**下一步计划:**
1.采用EasyX提供的图片保存功能,提供一个生成毕业证图片的页面,在完成所有阶段后能输出一张含有所有信息的图片,算是对测试者的奖赏
2.若进展顺利并学习难度不大,可能考虑用guilite重写整个图形部分
3.将本系统中的时间戳生成结合WinAPI提供的时间系统,打包为```LaoShuBaby-LogSystem```
4.将本系统中C++/EasyX与Sqlite成功链接的部分单独分离为一个库,方便不想在配置环境上浪费时间的开发者直接打开即用。
=====================ZH_CN===================
**Function introduction:**
1. According to the description of the topic, since this system has the management of teachers and students, then this system is not only a graduation design management system, but also a part of the educational management system with information query and maintenance of teachers and students. This system is a system dedicated to graduation design management. Every student preparing for graduation design and each instructor have an account. The account of the system may be imported from the educational administration management system.
2. In view of the need for approval, the system has four roles, namely teacher, student, department head, and administrator. Different users have different interfaces and different functions when logging into this system.
3. There is a "select topic" function in the student interface. After selecting the topic and approval by the tutor and department head, the topic will be opened and you can view your progress in real time in the "upload progress", and supplement the latest progress at any time.
4. The system administrator has the functions of adding and deleting users and determining user rights, but the system administrator cannot involve the topic selection and review. To modify the content of the topic selection and review, the administrator needs to create a teacher with the authority of the department head for himself account number.
5. Teachers without department head authority can only guide students and open questions, and cannot enter the department head approval interface. Teachers who have the authority of the department head can enter the department head approval interface, and can also guide students and open questions. (It is worth mentioning that the dean of the department can approve the graduation design of students under his guidance.)
**Logical structure design:** (Bold indicates the primary key)
User table (**uniform ID**, password, user category)
Student Form (**Uniform ID**, name, gender, major, class, phone, email, remarks)
Teacher Form (**Uniform ID**, name, gender, job title, direction, telephone, email, whether or not the department head)
Question List (**Question Number**, Title Name, Subject Specialty, Proposition Tutor, Brief Introduction)
Selection table (**topic number**, student ID, teacher ID, completion process)
**Technology and environment used for development:**
Architecture: native
Language: C++
Database: sqlite 3.31.1
Library used: EasyX_20200520(beta)
Development system: Windows 10.0 Build 18362
Development tools: Visual Studio 2017 Community
Supported system: Windows 7/10 AnyCPU (means able to run Windows)
**What needs to be explained:**
It needs to be explained that this management system simplifies the process of student completion
Divided into 0, 1, 2, 3, 4, 5 total 6 stages
Among them, the dean of the department opens the examination and approval only for stage 0
The teacher's review (interim inspection and tutor's opinion) is only for stage 1, 2
Department head approval (Department Head Approval and Graduation Reply) is only for stages 3 and 4
The fifth stage is a successful graduation.
**Security considerations:**
During the login process, whether to use the stored match in advance for the administrator instead of directly querying the query avoids the risk of SQL injection during the user login process. Common SQL injection points such as ```admin'#``` are avoided .
Injecting methods such as```''or 1=1#``` or ```username' AND 1=1—hack```, or the worse```username;DROP TABLE user—hack```attacks, use the form of preprocessing the requested string, filtering Which can provide multi-statement execution; and = two common characters, while reducing the loss of user freedom as much as possible, while preventing SQL injection attacks.
Unfortunately, due to time constraints, the password failed to use H
妄北y
- 粉丝: 2w+
- 资源: 1万+
最新资源
- 基于C语言核心的NES游戏机模拟器设计源码
- 基于粒子群算法的储能优化配置 建立了储能的成本模型,包含运行维护以及容量配置成本,然后以其成本最小为目标,得到其最优运行计划,最后通过其运行计划确定储能的容量
- 基于Java和HTML的灵活权限控制绩效考核系统设计源码
- 已经量产的产品,不是玩具 Nordic公司nRF51822芯片开发,芯片集成BLE蓝牙4.0协议 使用LIS3DH作为加速度传感器,进行运动和睡眠监测 手环的PCBA部分,主要包括一颗集成BLE
- 基于自定义列数和自适应列宽的横向流RecyclerView设计源码
- 基于.Net 4.0与SQLite/SqlServer的AccountManager个人记账软件设计源码
- 该程序可以实现c#与西门子plc(300,400,1200,1500)的以太网s7通讯,通讯传输快稳定 该程序采用.dll动态链接库方式,是最近几年才出来的一种与西门子plc通讯的方式,本人经过几个
- 【轴承寿命预测】BiLSTM-KAN网络的轴承寿命预测,PHM2012数据集(Python代码和数据)
- 研究考虑综合需求响应和碳交易机制的冷、热、电、气4种能源形式的综合能源系统,系统内含能源设备主要包括光伏电源、风力机组、燃气轮机和燃气锅炉;储能系统主要包括储电设备蓄电池、储热设备蓄热槽;能量转设备包
- CAD、DXF导图,自动进行位置路径规划,源码可进行简单功能添加实现设备所需功能,已经在冲孔机,点胶机上应用,性价比超高 打孔机实测一分钟1400个孔
- 基于Python核心语言的HelloJudge2在线评测系统设计源码
- 威纶通淡蓝色系图库模板 直接可使用,带PS文件可以修改
- 基于人人开源代码生成器的多语言设计源码生成解决方案
- FPGA以SPI模式读写SD卡,已经下板验证通过 可移植到任何FPGA之中
- 基于TypeScript的5组实习代码提交互换设计源码
- 基于Vue框架的Web自习室前端设计源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈