一.主要内容
曾经大多数大学仍在使用传统的人工方式管理学生的毕业设计信息,这种方式存在许多的缺点,为后期管理带来诸多不便。最近几年来各个大学的招生人数规模越来越大,毕业设计管理人数也会随之增加,数据之间的联系也在加大,因此采用网络形式的信息化管理方式能够提高老师和学生的参与程度、增加院系管理的效率,节省了大量的人工,不必花费过多的人力在简单的数据查询工作上。此毕业设计管理系统就是为了解决这一问题,使本科生的毕业设计工作能够做到信息化管理,方便全校师生。
二.需求分析
基本信息:管理员信息、导师信息、学生信息、论文信息、专业信息、成绩信息
主要功能:管理员信息管理:可审核题目,对老师、学生的信息进行管理。具体包括:编号,姓名,性别。老师信息管理:维护老师信息,并根据实际情况需要修改、更新或删除老师信息。
老师信息主要包括:工号、姓名、性别、职称、所在系
学生信息管理:包括,学号、姓名、性别、题目、成绩
2.1系统功能要求
实现管理员信息、导师信息、学生信息、论文信息、专业信息、成绩信息的管理;
创建规则用于限制性别项只能输入“男”或“女”;
创建规则用于限制成绩只能输入优秀、良好、及格、不及格;
建立数据库相关表之间的参照完整性约束。
2.2系统的开发功能
管理员功能需求:
(1)管理员登录:管理员需要登录后可以进入系统进行操作
(2)管理审核题目:添加、删除、修改、查看
(3)导师管理: 管理员可以对导师进行管理
(4)学生管理: 管理员可以对学生进行管理
导师用户功能需求:
(1)导师用户登录
(2)修改个人信息
(3)可输入学生成绩:查看,添加,无法修改
学生用户功能需求:
(1)学生用户登录
(2)可以参加论文选题,添加和修改
(3)修改个人信息
(4)查看导师的评阅和最终的论文成绩:仅查看
2.2.1前台功能模块
学生:
(1)学生信息管理模块:该模块主要为了便于学生对自己的信息进行修改和更新
(2)论文提交模块:该模块可以提交自己的论文
(3)成绩模块:该模块可以查看自己的论文成绩
导师:
(1)导师信息管理模块:该模块主要为了便于导师对自己的信息进行修改和更新
(2)输入成绩模块:该模块可以查看、添加学生的论文成绩
2.2.2后台功能模块
管理员:
(1)管理员信息管理模块:便于管理员对自己的信息进行修改和更新
(2)学生信息管理模块:该模块主要为了管理学生的信息(增、删、改、查)
(3)导师信息管理模块:该模块主要为了管理导师的信息(增、删、改、查)
(4)修改权限模块:该模块主要为了修改学生、导师的成绩
(5)审核论文选题模块:该模块主要为了审核论文选题
三.概念设计
3.1系统功能模块图
前台模块结构图:
后台模块结构图:
3.2 E-R模型图
系统处理流程:
四.逻辑设计
E-R图转化为关系模式
专业(专业编号,专业名称,办公地点)
导师(工号,姓名,性别,专业编号,职称)
论文(论文编号,学号,论文名称)
管理员(编号,姓名,性别,专业编号)
学生(学号,姓名,性别,专业编号)
成绩(学号,论文编号,论文成绩)
五.物理设计
专业信息表
编号 | 列名 | 数据类型 | 可否为空 |
1 | 专业编号 | char(20) | 主键 |
2 | 专业名称 | char(30) | 否 |
3 | 办公地点 | char(30) | 否 |
导师信息表
编号 | 列名 | 数据类型 | 可否为空 |
1 | 工号 | char(20) | 主键 |
2 | 姓名 | char(8) | 否 |
3 | 性别 | char(5) | 否 |
4 | 专业编号 | char(30) | 外键 |
5 | 职称 | char(10) | 否 |
论文信息表
编号 | 列名 | 数据类型 | 可否为空 |
1 | 论文编号 | char(20) | 主键 |
2 | 论文名称 | char(30) | 否 |
3 | 学号 | char(20) | 外键 |
管理员信息表
编号 | 列名 | 数据类型 | 可否为空 |
1 | 编号 | char(20) | 主键 |
2 | 姓名 | char(8) | 否 |
3 | 性别 | char(5) | 否 |
4 | 专业编号 | char(10) | 外键 |
学生信息表
编号 | 列名 | 数据类型 | 可否为空 |
1 | 学号 | char(20) | 主键 |
2 | 姓名 | char(8) | 否 |
3 | 性别 | char(5) | 否 |
4 | 专业编号 | char(30) | 否 |
成绩信息表
编号 | 列名 | 数据类型 | 可否为空 |
1 | 学号 | char(20) | 外键 |
2 | 论文编号 | char(20) | 外键 |
3 | 论文成绩 | char(20) | 否 |
六.数据库实施
/* 创建专业信息表 */
create table 专业(
专业编号 char(20)primary key ,
专业名称 char(30) not null,
办公地点 char(30) not null,
)
/* 创建导师表 */
create table 导师(
工号 char(20) primary key,
姓名 char(8) not null,
性别 char(2) not null,
职称 char(10) not null,
专业编号 char(20) not null,
foreign key (专业编号) references 专业
)
/*创建论文表 */
create table 论文(
论文编号 char(20) primary key,
论文名称 char(30) not null,
学号 char(20) not null,
foreign key (工号) references 导师
)
/* 创建管理员表 */
create table 管理员(
管理员编号 char(20)primary key,
姓名 char(8) not null,
性别 char(5) not null,
专业编号 char(20) not null,
foreign key (专业编号) references 专业
)
/* 创建学生表 */
create table 学生(
学号 char(20)primary key ,
姓名 char(8) not null,
性别 char(5) not null,
专业编号 char(20) not null,
foreign key (专业编号) references 专业
)
/* 创建成绩表 */
create table 成绩(
学号 char(20) not null,
论文编号 char(20) not null,
论文成绩 char(20) not null,
foreign key (学号) references 学生,
foreign key (论文编号) references 论文,
)
七.数据库的运行与维护
八.心得体会
在这次实验中,如果没有足够的理论知识是没有办法进行实践的,我学到很多东西,不但巩固了我的理论知识,并且培养了我独立思考的能力。在做实验报告时,正因在做数据处理时出现很多问题,如果不解决的话,将会很难的继续下去。
我在本次的毕业设计管理系统中,一开始并没有认真进行需求分析以及数据库的设计,而是急于去编代码创建表。结果填写表中数据时候,发现数据库设计不合理,只好重新回去修改。我的解决方法是:详细进行需求分析,争取做到对整个系统了然于胸;详细进行系统功能划分,分到最小模块为止。
在本次设计中遇到不少困难,例如:触发器功能的建立、增加存储过程等。在这时,我一般采取以下措施:上网查资料、和同学讨论、在图书馆查找相关图书资料。最重要的一点是,遇到困难时的心态要平和,冷静地去查找问题并解决问题。
在这次设计中还锻炼了我其他方面的本事,提高了我的综合素质。首先,它提高了独立思考问题、自我动手操作的本事,在做实验的过程中,复习了以前学习过的知识,并掌握了一些应用知识的技巧。