# 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
九转成圣
- 粉丝: 5850
- 资源: 2959
最新资源
- 流水线贴膜机完成项目程序,包含PLC程序和触摸屏程序,程序内 包含上下气缸控制,夹紧气缸控制,输送带电机控制,贴膜伺服控制,旋转电机控制等类容,非常适合学习简单控制工艺及运动控制初学者学习,该程序支持
- PLC与变频器RS指令无协议通讯 适应支持MODBUS.RTU模式的各品牌变频器 RS485ADP或者RS485BD板都可以 本程序编写了CRC循环冗余校验码程序,针对FX1N.2N没有CRC专
- 自己封装的爱普生机器人与三菱的MC协议通信驱动程序,提供项目源码、MC协议源码,需要一定基础(通信 MC协议 爱普生机器人编程)才能调的通
- 紧急道,紧急避障,横纵向联合控制,模型预测控制+pid控制方案,通过控制转角以及车轮力矩实现道,避障轨迹 matlab用的是2016,carsim用的是2018
- 基于plc智能停车场车位控制仿真 功能介绍: ①假设某停车场共有16个车位 ②在停车场入口处装设有一传感器,用来检测车辆进入的数目 ③在停车场出口处装设有一传感器,用来检测车辆出去的数目 ④尚有
- 能量和储备调度的分布鲁棒联合机会约束 测试环境:MATLAB 关键词:分布式鲁棒优化,能量和储备调度,联合机会约束 我们开发了一个两阶段的随机计划,为能源和储备调度的联合电力和天然气系统的高渗透的可再
- 插电式混合动力汽车的能量管理:模型预测控制的凸优化算法 测试环境:MATLAB 关键词:乘法器交替方向法、能量管理、内点法、模型预测控制、插电式混合动力汽车 求解非线性损耗混合动力汽车能量管理模型预测
- 储能参与调频调峰联合优化运行 关键词:储能 调频 调峰 储能优化 联合优化 测试环境:matlab平台 通过一个联合优化框架同时使用电池存储系统进行调峰和频率调节,该框架可以捕捉到电池 化、操作限
- 基于最小二乘法和快速解耦法的电网状态估计 测试环境:MATLAB 电网状态估计问题的实质是当方程的个数大于变量的个数时,对方程变量进行无偏估计 对于电网系统,变量为节点电压(即状态值,由实部和虚部
- 四轮轮毂电机驱动车辆,驱动电机故障状态估计(UKF) 软件使用:Matlab Simulink 适用场景:采用无迹卡尔曼滤波UKF进行轮毂电机状态估计,失效电机估计状态为0,正常电机状态为1 产品
- 汇川H3UCAN总线高性能PLC实机程序,本体应用五轴?CAN总线轴控两轴SV630总线伺服电机,最大可扩充16轴运动总线 另外一路MODBUS总线控制高频温控器 配合台湾威纶通TK6071IP触
- 倒立摆源码 13年国赛电赛旋转倒立摆 完整全功能 程序 倒立摆 pid算法 程序使用时可根据硬件需要自行调节 基本要求 1. 摆杆从处于自然下垂状态(摆角 0°)开始,驱动电机带动旋转臂作往复旋转使
- 成熟 步进电机驱动 方案 全套
- 考虑电动汽车调度潜力的两阶段充电桩市场投标 代码 测试环境:MATLAB 关键词:电动汽车,车并网,纳什均衡,投标策略 充电站投标优化能降低电力成本甚至通过电取益 考虑了电动汽车成为柔性储荷资源的
- 四相8 6极开关磁阻电机maxwell仿真资料
- labview串口,网口,DSC可用OPC通讯链接三菱欧姆龙西门子等PLC 需要的取,可帮助使用 通过NI-OPC控制三菱,欧姆龙西门子等各种型号PLC
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈