1.需求分析
系统需求分析:
随着互联网的发展,计算机的软硬件不断的更新迭代,这时计算机已经可以管理超大规模的数据,文件系统远远不能满足各种应用的需求,数据库使得数据实现了结构化存储,数据更容易被共享。数据库管理系统既便于数据的集中管理,控制冗余,提高数据的利用率和一致性,又利于应用程序的开发和维护。
随着高校学生人数越来越多,课程越来越丰富,学生多老师少,迫切需要一个数据库管理系统来管理、存取大量的信息,则建立一个学生毕业设计选题系统具有非常大的实际应用意义。我们知道计算机具有运算速度快,处理能力强等特点。因此,为了保证学校信息的流畅,工作高效,学生毕业设计选题系统应运而生。这不但能使教务人员从复杂的管理中解脱出来,而且对于推动教学的发展也起到非常重要的作用。
系统功能需求分析:
教师和学生进行双向选择,即学生可选择相应的毕业设计题目,教师也可选择学生。
1)教师:
1.1 教师可以增加毕业设计题目,人数,及要求。
1.2 教师可录取报名的学生,查看学生的详细信息如学生的基本信息等内容。
1.3针对不同的用户,可进行相关的统计、查询可查看报自己的学生人数,基本信息等。
2)学生:
2.1 可浏览教师的毕业设计题目及教师的简介等内容。
2.2 可查看自己的个人信息(基本信息)。
2.3 可以报毕业设计题目,每人限报两个,第一选题志愿和第二选题志愿。
3)管理员
3.1 可对每个教师、学生进行统计分析与维护。
2.概念设计(E-R图)
根据需求分析结果,学生、教师、管理员、题目、班级、专业、学院等可建模为基本实体集。
各基本实体集的属性定义如下:
- 学生(Student)实体集。其属性有:学号(studentNo)、姓名(studentName)、性别(sex)、出生日期(birthday)、籍贯(native)、民族(nation)等。
- 教师(Teacher)实体集。其属性有:教师编号(teacherNo)、姓名(teacherName)、性别(sex)、学位(degree)等。
- 班级(Class)实体集。其属性有:班级编号(classNo)、班级名称(className)等。
- 专业(Speciality)实体集。其属性有:专业编号(specialityNo)、专业名称(specialityName)等。
- 学院(Institute)实体集。其属性有:学院编号(instituteNo)、学院名称(instituteName)等。
- 题目(Title)实体集。其属性有:题目编号(titleNo)、题目名称(titleName)、要求(requirement)、人数(population)等。
- 管理员(Manager)实体集。其属性有:工号(managerNo)、姓名(managerName)、性别(sex)、联系方式(phoneNum)。
定义联系集及属性:
- 选题(SelectTitle)联系集:它是题目实体集与学生实体集的一对多联系集,其描述属性有:题目编号(titleNo)、学号(studentNo)、教师编号(teacherNo)、志愿(wish)、录取情况(admission)等。
- 出题(SetTitle)联系集:它是教师实体集与题目实体集的一对多联系集,没有联系属性。
- 指导(Guidance)联系集:它是教师实体集与学生实体集的一对多联系集,没有联系属性。
- 包含(Include)联系集:它是班级实体集与学生实体集的一对多联系集,没有联系属性。
- 拥有(Hold)联系集:它是专业实体集和班级实体集的一对多联系集,没有联系属性。
- 属于(Belong)联系集:它是学院实体集与教师实体集的一对多联系集,没有联系属性。
- 设置(Establish)联系集:它是学院实体集与专业实体集的一对多联系集,没有联系属性。
权限设置:
(1)用户(User):账号(userNo)、登录密码(password)、姓名(userName)、身份(identity)等。
3.逻辑设计
(下划线加粗代表主码,斜体加粗代表外码 )
(1)学生Student表:由学生关系实体集转化而来。
学生Student(studentNo,studentName,sex,birthday,native,nation,classNo);
属性名称 |
数据类型 |
属性描述 |
studentNo |
char(12) |
学号 |
studentName |
varchar(20) |
姓名 |
sex |
char(2) |
性别 |
birthday |
datetime |
出生日期 |
native |
varchar(20) |
籍贯 |
nation |
varchar(10) |
民族 |
classNo |
char(8) |
班级编号 |
(2)教师Teacher表:由教师实体集转化而来。
教师Teacher(teacherNo,teacherName,sex,degree,instituteNo);
属性名称 |
数据类型 |
属性描述 |
teacherNo |
char(6) |
教师编号 |
teacherName |
varchar(20) |
姓名 |
sex |
char(2) |
性别 |