一、需求分析
1、基本功能要求:
(1)学生信息管理
学生对自己的信息进行查询,老师对学生成绩进行录入、修改,学生基本信息包括:学号、姓名、性别、密码、系别、班级、各科成绩等。
(2)教师信息管理
老师自己信息的管理,教师基本信息包括:老师编号、姓名、性别、年龄、职称、联系方式、所教课程等数据项,可以学校人事部对教师任用、信息查询及更改。
(3)系统管理
系统管理员可以对学生、老师的信息进行注册和更新,对教师的权限进行管理,比如超过某一期限将不能修改学生成绩。
2、实现要求:
系统主要完成以下几个功能:
(1)学生基本信息查询;
(2)教师基本信息查询;
(3)学生成绩的录入和修改;
(4)系统管理员对学生和教师基本信息的进行注册、更新;
(5)学生只能通过登录系统对自己的成绩进行查询,老师可以查询自己所带科目的所有学生的成绩。
3、安全性和完整性要求
安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过用户授权机制,用户登陆来识别用户级别,根据这个级别来分配用户权限,达到数据更高层次的安全保密功能。
完整性要求用于描述学生基本信息、教师基本信息中数据项能否为null,以及一些用户自定义完整性(符合实际要求)。
4、数据流图
学生
登录查询
教师
查询基本数据流图
5、数据字典 (1) 数据项:
数据项编号
数据项 含义 别名 存储结构 1 Sno 学生学号 学号 String 2 Sname 学生姓名 姓名 String 3 Ssex 学生性别 性别 String 4 Sdept 学生所在系别 系别 String 5 Sclass 学生所在班级 班级 String 6 Scode 学生登录密码 密码 int(10) 7 SCno 学生所学课程的编号 课程编号 Int (10) 8 SCname 学生所学课程的名称 课程名称 String 9 SCgrade 学生所学课程的学分 课程学分 Int (2) 10 SGrade 学生课程成绩 成绩 int(2) 11 Tno 教师编号 编号 String 12 Tname 教师姓名 姓名 String 13 Tsex 教师性别 性别 String 14 Tage 教师年龄 年龄 Int (2) 15 Tpro 教师职称 职称 String 16 Tdept 教师所属系别 系别 String 17 Tcode 教师登录密码 密码 int(10) 18 Tphone 联系方式 电话 int(20) 19 TCno 所教授课程的编号 课程编号 Int(10) 20 TCname 所教授课程的名称 课程名称 String 21
TCgrade
所教授课程的学分
学分
Int (2)
(2) 数据结构:
密码正确
密码错误 查询
注册
学生
注册
教师 登录
用户自身资料
总体成绩(教师)
所教课程(教师)
所学课程(学生)
退出系统
扩充后的查询数据流图
学生个人成绩
数据结构编号 数据结构名
含义 组成
1 Student 学生信息 Sno,Sname,Ssex,Sdept,Sclass,Scode
2 Teacher 教师信息 Tno,Tname,Tsex,Tdept,Tcode,Tphonr
3 Course1 学生所学课程信息
Scno 、SCname 、SCgrade 、SGrade
4
Course2
教师所教授课程信息 TCno 、TCname 、TCgrade
二、 概念结构设计
1、抽象 (1) 分类
(2) 聚集
2、抽象数据并设计局部E —R 图
教 师
编号 姓名 职称 ……
实体型
属性 学生
张 三
李四
王五
宁
静
。。。。。。
老师
王 敏
李智
何瑞
。。。。。马
杰
学 生
学号 姓名 系别 ……
实体型
属性
我们依据系统的当前用户进行自然划分。首先,学生数据库可以大致分成以下几类:
(1)学生档案信息(如姓名、性别、班级等)的维护。
(2)教师档案信息(如姓名、性别、年龄等)的维护。
(3)课程档案信息(如课程编号、课程名称、课程学分等)的维护。
(4)学生成绩档案信息(每门课程的成绩)的维护。
(5)安全性(用户的登录密码)的维护。
由以上几类,我们可以得到下面的几个E—R图:
编号
姓名
性别
年龄职称电话
班级学生
姓名
性别
密码n m
“教师”与“学生”E—R图
教师
学号
班级
系别
编号姓名性别
年龄职称电话
教授课程
编号
名称
学分p q
“教师”与“课程”E—R图
教师
学号姓名性别
密码系别班级
选修课程
编号
名称
学分m k
“学生”与“课程”E—R图
学生
3、集成局部视图,得到全局概念结构
三、 逻辑结构设计
1、E-R 图向关系模型转换
由全局E-R 图可以将学生、教师、课程3个实体以及联系转换成关系模式为 学生(学号,姓名,性别,密码,系别,班级) 教师(教师编号,姓名,性别,年龄,职称,电话) 课程(课程编号,名称,学分,班级,教师编号) 成绩(学号,课程编号,成绩) 2、关系模型的优化
将关系数据库规范成第三级范式
学生(学号,姓名,性别,密码,系别,班级)
学生
课程
老师
选修 班级
教授
编号 名称 学分
学号 姓名
性别 密码 系别 班级
编号 姓名 性别 年龄 职称 电话
m
k n
m p
q
全局E-R 图
教师(教师编号,姓名,性别,年龄,职称,电话)
课程(课程编号,名称,学分)
课表(课程编号,班级,教师编号)
成绩(学号,课程编号,成绩)
四、数据库的实施和维护
1、数据库的录入
(1)在数据库中新建关系模型中的表,然后录入数据。
(2)视图
2、运行程序
(1)登陆界面(学生和老师两种界面)
(2)教师登陆界面
(3)添加学生成绩
(4)查询学生成绩
(5)修改学生成绩
(6)课程表查询
(7)教师个人信息查询
(8)学生登录界面
(9)学生个人信息查询
(10)退出系统
五、实验总结
1、小结:
(1)、掌握了系统软件的编
程;
(2)、学习了JDBC技术,实
现了数据库形式的信息管理
系统;
(3)、掌握了系统软件的编
程,进一步学习了图形界面的
设计、面向对象的编程;
2、不足:
刚开始在数据库中建表的时候漏掉了课表(课程编号,班级,教师编个表,所以在查询全班成绩的时候,不能约束老师只查询自己所教班级的成绩,经过修改之后这个问题都得到了解决。在调试程序的时候,在修改成绩模块,java 与数据库连接出现问题,不能正常修改成绩,所以关于学生和教师修改个人信息方面也没有编写出可行的程序,但这并不影响整体程序的运行。
3、改进
系统可以设立更高级的管理员模式,对学生和教师的总体信息进行管理,根据各班学生总体成绩对教师进行评比。由于时间仓促,技术有限,本程序没有进行编写。