学生信息管理系统设计
一、需求分析
1、开发背景:
信息化已经渗透到我们生活的方方面面,学校信息化的发展也是一种不可避免的趋势。伴随着高等院校招生规模的不断扩大,传统人工管理信息的方法不但不能满足这种管理上的需求,而且因为人员、资源成本的上涨,它给学校带来越来越多管理上的问题。同人工管理方式相比,信息化、网络化的学生信息管理系统不但解决了信息管理上的复杂问题,也降低学校的了管理成本,而且在节约性、灵活性、方便性这几方面上也是人工管理方式不可比拟的。因此,学生信息管理系统的开发和使用对于学校而言是必要的的。现在各高等院校都拥有了各自的学生信息管理系统,此次开发的目标是基于自己学校情况开发一个适用于本校情况,简单灵活的学生信息管理系统。
2、分析需求:
用例图如下
具体需求描述如下:
(1) 由于该系统的使用对象较多,要求它为不同用户提供不同功能。
(2) 具有身份验证功能,需要登录时输入用户及密码。
(3) 在相应的权限下,删除数据方便简单,数据稳定性好。
(4) 学生可以查询基本信息和成绩。
(5) 各种信息都可被更改。
(6) 能够对用户修改过的信息予以保存。
(7) 管理员能按照学号、姓名进行查询。
(8) 管理员 能对学生信息进行增删改查。
(9) 管理员能对学生课程进行增删改查。
(10) 管理员能对学生成绩进行增删改查。
(11) 用户可以修改密码。
二、概念结构设计
实体:学生、教师、班级、院系、专业
联系:
一个班级可以有多个学生,一个系可以有多名学生,一个专业可对应多名学生
三、逻辑结构设计
1、学生信息表
字段名 | 类型 | 长度 | 是否为主键 | 是否为空 | 说明 |
Sno | varchar | 50 | 是 | 否 | 学生学号 |
Sname | char | 10 | 否 | 否 | 学生姓名 |
Ssex | char | 10 | 否 | 否 | 学生性别 |
Sclass | char | 10 | 否 | 否 | 学生班级 |
Birth | int | 4 | 否 | 否 | 出生年月 |
Saddress | char | 10 | 否 | 否 | 家庭住址 |
Sdept | varchar | 50 | 否 | 否 | 所在院系 |
Stime | int | 4 | 否 | 否 | 入学时间 |
2、班级信息表
字段名 | 类型 | 长度 | 是否为主键 | 是否为空 | 说明 |
Sgrade | char | 10 | 否 | 否 | 年级 |
Szclass | Int | 20 | 否 | 否 | 班级 |
Syear | char | 5 | 否 | 否 | 年制 |
Scroom | char | 10 | 否 | 否 | 教室 |
Steacher | char | 10 | 否 | 否 | 班主任 |
Stotal | Int | 20 | 否 | 否 | 学生人数 |
Ssub | varchar | 30 | 否 | 否 | 专业 |
3、用户表
字段名 | 类型 | 长度 | 是否为主键 | 是否为空 | 说明 |
user | char | 10 | 否 | 否 | 用户 |
passsword | char | 10 | 否 | 否 | 密码 |
Admin | char | 10 | 否 | 否 | 管理员 |
四、数据库实施:
1、数据库的建立
(1)创建库及学生信息表:
创建班级信息表:
创建用户表:
(2)插入表及查询:
插入并查询学生信息
插入并查询班级信息
插入用户并查询
(3)删除表及查询
(4)更新并查询
(5)创建触发器并查询
(6)创建视图并查询
(7)在已创建的表中添加索引并查询
(8)备份导出数据库
五、Python连接mysql数据库
1、python数据库的连接及学生信息的查询
2、系统登陆界面
3、管理员登陆界面
4、增加学生信息界面