资源描述
学生成绩管理数据库
系统设计
课程:数据库安全实验
姓名: 吴双可
学院: 计算机学院
专业: 信息安全
学号:
一、需求分析
1.1 编写目
本产品实现了一种基于mySQL数据库下学生信息查询管理系统,而本需求分析报告编写目是为了提供一种由顾客(学生、教师)和开发者双方共同拟定开发系统业务需求目的,并对本系统所要实现软件功能做一种全面规格描述。
同步,在顾客业务需求基本上,通过需求分析和数据整顿,以向整个开发期提供关于软件系统业务和数据技术信息和整体描述,做为软件开发技术基本,也作为系统设计、实现目的和测试以及维护阶段根据。
本软件需求分析报告合用读者为:软件顾客(学生、教师)、软件需求分析人员、软件设计及开发者和有关测试人员。
1.2 信息需求
随着科学技术不断提高,计算机科学飞速发展,其强大功能已为人们深刻结识,它已经进入人类社会各个领域并发挥着越来越重要作用,在学籍管理方面,各种学生信息管理系统也在不断涌现出来,然而当前在国内仍有某些学校在应用某些旧、功能单一并且效率低下系统,甚至尚有某些偏远学校学生信息管理还在依托人工进行管理和操作,这些管理方式存在着许多缺陷,如:效率低,密保性差,此外时间一长,将产生大量文献和数据,其中有些是冗余或者针对同一目数据不相吻合,这对于查找、更新和维护文献等管理工作带来了不少困难,同步也跟不上信息时代高速、快捷规定,严重影响了消息传播速度。然而现今学校规模不断扩大,学生数量急剧增长,关于学生各种信息也成倍增长,人工管理信息缺陷日渐突出,面对庞大学生信息量,如何运用当代信息技术使其拥有快捷、高效适应能力已成为当务之急。
正由于如此,学生信息管理系统成为了教诲单位不可缺少某些,它内容对于学校决策者和管理者来说都至关重要,因此学生信息管理系统应当可觉得顾客提供充分信息和快捷查询手段。作为计算机应用一某些,使用计算机对学生信息进行管理,具备着手工管理所无法比拟长处。例如:检索迅速。查找以便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些长处可以极大提高学生信息管理效率,也是公司科学化、正规化管理,与世界接轨重要条件,由此看来开发这样一套管理软件是很有必要。
基于以上开发背景,咱们小组设计了一种高效学生成绩管理系统,可以储存历届学生成绩、学生和教师个人信息,并且可以实现管理员角色管理(对于数据库中数据进行增删改)。因而系统只需要几种管理人员登录系统录入成绩即可,教师和学生均可以以便查询信息,节约了大量人力并且保证了高效率和低出错率。
二、系统概述
2.1 系统功能框架
该系统功能框架如下:
信息管理:查询 、添加、删除、修改学生信息。
成绩管理:查询 、添加、删除、修改学生成绩。
系统管理:保存各类顾客对象帐号信息、登录验证,维护系统数据字典、添加管理员、删除管理员、修改管理员信息。
2.2 运营环境
本系统服务器运营环境如下:
操作系统:Windows XP 以上
服务器:IIS5.0以上
数据库:SQL Server
硬件配备:CPU:P41.8GHz 内存:256MB以上
2.3 顾客特点
使用本系统顾客涉及:系统管理员(admin)、教师和学生。
系统管理员是这个系统root顾客,她应当要拥有所有权限以便完毕她管理者角色,因此应当可以有学生信息表,成绩信息表和教师信息表操作权限,另一方面她应当可以管理普通顾客帐号,实现自主访问控制。
而教师应当可以对自己所授课程有关信息有着一定控制权限,例如登记成绩,增长、修改选课信息等,对于跟自己无关信息应当对其隐藏。
在此系统中学生应当只有查询权限,以防各种信息被恶意篡改。
因此在此系统中,系统管理员要拥有几乎所有权限,需要完毕对系统管理和维护,而教师和学生是受限户,其权限受限于自身,不能修改查看与自己无关数据信息。
三、功能描述
本系统软件流程图如下:
教师
学生
系主任
登录
判断角色
增删改课程信息
选课
退课
修改个人信息
修改学生账号状态
修改个人信息
修改个人信息
选课
首页浏览
发布公示
设立教师
选课开关
修改教师账号状态
查当作绩分布
打分
查询成绩课表学分
3.1 需求分解
按照不同角色顾客对系统需求不同,系统将需求分解成三个模块,学生模块,教师模块和管理员模块:
1、系统管理员模块
系统管理员需要可以在本系统上完毕如下操作:1、管理所有课程:増、删、改、查所有课程信息 2、管理所有教师:増、删、改、查所有教师信息 3、管理所有学生:増、删、改、查所有课程以及课程成绩信息 4、管理所有教师和学生账号信息:増、删、改、查所有帐号信息。
2、教师模块
教师需要可以在本系统上完毕操作有:1、管理自己所专家课程:增、删、改、查所授课程学生信息(涉及成绩信息) 2、查询自己教师信息
3、学生模块
学生需要可以在本系统上完毕操作:查询自己学生信息(涉及成绩和选课)。
3.2 功能分解
通过前面描述系统功能框架。咱们将系统分解成三个子功能:系统管理、信息管理和成绩管理:
1、系统管理
功能
保存各类顾客对象帐号信息、登录验证,维护系统数据字典、添加管理员、修改管理员信息。
业务流程
(1)负责对登录顾客顾客名、密码进行验证,若为未注册顾客或密码错误则提示错误信息并回绝访问。
(2) 若此顾客为合法顾客并通过了验证,则判断该帐号属于哪类顾客,并进入相应页面。
(3) 若此顾客是管理员顾客,则可以添加新管理员顾客或修改已存在管理员信息表。
输入
顾客顾客名、密码或是对管理员信息修改命令
界面
原则登录界面
信息修改界面
算法
调用数据库各类顾客表,通过SELECT语句在顾客表查询成果来验证登录。通过ALTER等语句对管理员表进行修改
输出
验证成果(通过还是未通过),并进入相应界面。
更改后管理员顾客表。
备注
登录验证密码不能是明码存储,应当md5加密之后存储在表中。
2、信息管理系统
功能
实现对学生、教师及选课信息存储,并且可以查询 、添加、删除、修改学生信息。
业务流程
(1)判断顾客类型,给不同类型顾客分派不同信息表操作权限
(2)若是管理员顾客,则对学生信息表、教师信息表和选课表拥有所有操作权限,通过查询、修改等语句将对数据库操作成果显示在界面上或写入数据库;若是教师顾客,则只能对任课选课表进行查询、修改操作并且可以查询自己教职工信息,将成果显示在界面上;若是学生,仅能在界面上查询自己学生信息。
(3)若对无权限表进行操作,显示错误信息并回绝操作。
输入
查询框输入各种查询条件,编辑界面输入修改信息
界面
算法
调用数据库各类顾客表,查询操作就通过各种语句将成果显示在界面上,修改操作就将界面上操作成果写入到数据库中
输出
查询成果、数据库表格内容变化
备注
实现对各类信息存储和管理。
3、成绩管理系统
功能
实现学生各门课程成绩存储,并且对这些信息进行查询 、添加、删除、修改操作。
业务流程
(1)判断顾客类型,给不同类型顾客分派不同成绩表操作权限
(2)若是管理员顾客,则对选课表拥有所有操作权限,通过查询、修改成绩等语句将对数据库操作成果显示在界面上或写入数据库;若是教师顾客,则只能对任课选课表进行查询(将成绩单显示在界面上)、修改(将成绩录入数据库);若是学生,仅能在界面上查询自己各科成绩。
(3)若对无权限表进行操作,显示错误信息并回绝操作。
输入
查询框输入各种查询条件,编辑界面输入修改信息
界面
算法
调用数据库选课表,查询操作就通过各种语句将成绩成果显示在界面上,修改操作就将界面上成绩信息写入到数据库中
输出
查询成果、数据库表格内容变化
备注
实现对学生成绩存储和管理。
3.3 信息流程图
教师与否选课完毕
开放教师选课系统
系主任登录
教师选课
验证 可选设立 否
是
开放学生选课系统
系主任确认
四、数据库逻辑构造设计
逻辑构造是独立于任何一种数据模型信息构造。逻辑构造任务是把概念构造设计阶段设计好基本E-R图转化为宜选用DBMS所支持数据模型相符合逻辑构造,并对其进行优化。E-R图向关系模型转化要解决问题是如何将实体型和实体间联系转化为关系模式,如何拟定这些关系模式属性和码。
设计学生成绩管理数据库,涉及课程、学生、教师、成绩四个关系, 其关系模式中对每个实体定义属性如下:
课程信息表(课程号,课程名,课程人数,任课教师)
学生信息表 (学号,姓名,性别,院系,年龄,籍贯)
教师信息表(教师号,姓名,所在院系)
学生选课表(学号,课程号,平时成绩,期末成绩,总成绩)
管理员表(顾客名,登录密码)
学生登录表(顾客名,登录密码)
教师登录表(顾客名,登录密码)
TABLE admin(管理员帐号表)
属性
类型
长度
与否为空
默认值
主键
username
VARCHAR
20
NOT NULL
NULL
√
password
VARCHAR
30
NOT NULL
\
TABLE tealogin (教师帐号表)
属性
类型
长度
与否为空
默认值
主键
外键
username
VARCHAR
20
NOT NULL
NULL
√
tea_info
password
VARCHAR
30
NOT NULL
\
TABLE stulogin (学生帐号表)
属性
类型
长度
与否为空
默认值
主键
外键
username
VARCHAR
20
NOT NULL
NULL
√
stu_info
password
VARCHAR
30
NOT NULL
\
TABLE stu_info (学生信息表)
属性
类型
长度
与否为空
默认值
主键
sno
VARCHAR
20
NOT NULL
NULL
√
sname
VARCHAR
30
可为空
\
age
NUMERIC
2
可为空
NULL
sex
VARCHAR
2
可为空
NULL
dept
VARCHAR
20
可为空
NULL
place
VARCHAR
20
可为空
NULL
TABLE tea_info (教师信息表)
属性
类型
长度
与否为空
默认值
主键
tno
VARCHAR
20
NOT NULL
NULL
√
tname
VARCHAR
30
可为空
\
dept
VARCHAR
20
可为空
NULL
TABLE course_info (课程信息表)
属性
类型
长度
与否为空
默认值
主键
cno
VARCHAR
20
NOT NULL
NULL
√
cname
VARCHAR
30
可为空
\
tname
VARCHAR
30
可为空
NULL
stu_num
NUMERIC
10
NOT NULL
NULL
TABLE stu_course (学生选课表)
属性
类型
长度
与否为空
默认值
主键
外键
sno
VARCHAR
20
NOT NULL
NULL
√
stu_info
cno
VARCHAR
20
NOT NULL
NULL
√
Course_info
usual_grade
int
\
可为空
NULL
final_grade
int
\
可为空
NULL
total_mark
int
\
可为空
NULL
五、数据库实行
5.1 创立数据库
create database student
5.1.1 创立表
#顾客名、密码
CREATE TABLE IF NOT EXISTS admin (
username varchar(20) COMMENT='顾客名',
password varchar(30) COMMENT='登录密码',
PRIMARY KEY(username)
) DEFAULT CHARSET=utf8 COMMENT='管理员表';
#顾客名、密码
CREATE TABLE IF NOT EXISTS tealogin (
username varchar(20) COMMENT='顾客名',
password varchar(30) COMMENT='登录密码',
PRIMARY KEY(username),
FOREIGN KEY(username) REFERENCES tea_info
) DEFAULT CHARSET=utf8 COMMENT='教师登录表';
#顾客名、密码
CREATE TABLE IF NOT EXISTS stulogin (
username varchar(20) COMMENT='顾客名',
password varchar(30) COMMENT='登录密码',
PRIMARY KEY(username),
FOREIGN KEY(username) REFERENCES stu_info
) DEFAULT CHARSET=utf8 COMMENT='学生登录表';
#学号、姓名、年龄、性别、院系、籍贯
CREATE TABLE IF NOT EXISTS stu_info (
sno varchar(20) COMMENT='学号',
sname varchar(30) COMMENT='姓名',
age numeric(2) COMMENT='年龄',
sex varchar(2) COMMENT='性别',
dept varchar(20) COMMENT='院系',
place varchar(20) COMMENT='籍贯',
PRIMARY KEY(sno)
) DEFAULT CHARSET=utf8 COMMENT='学生信息表';
#学工号、姓名、院系
CREATE TABLE IF NOT EXISTS tea_info (
tno varchar(20) COMMENT='教师工号',
tname varchar(30) COMMENT='姓名',
dept varchar(20) COMMENT='院系',
PRIMARY KEY(tno)
) DEFAULT CHARSET=utf8 COMMENT='教师信息表';
#课程号、课程名、任课教师
CREATE TABLE IF NOT EXISTS course_info (
cno varchar(20) COMMENT='课程号',
cname varchar(30) COMMENT='课程名',
tname varchar(30) COMMENT='任课教师',
student_num varchar(10) COMMENT='课程人数',
PRIMARY KEY(cno)
) DEFAULT CHARSET=utf8 COMMENT='课程信息表';
#学号、课程号、平时成绩、期末成绩、总成绩
CREATE TABLE IF NOT EXISTS stu_course (
sno varchar(20) COMMENT='学号',
cno varchar(20) COMMENT='课程号',
usual_grade int COMMENT='平时成绩',
final_grade int COMMENT='期末成绩',
grade int COMMENT='总成绩',
PRIMARY KEY(sno,cno),
FOREIGN KEY(sno) REFERENCES stu_info,
FOREIGN KEY(cno) REFERENCES course_info
) DEFAULT CHARSET=utf8 COMMENT='选课信息表';
#检测数据插入
INSERT INTO admin VALUES ('',MD5('123'));
INSERT INTO admin VALUES ('',MD5('123'));
INSERT INTO admin VALUES ('',MD5('123'));
INSERT INTO tealogin VALUES ('',MD5('123'));
INSERT INTO tealogin VALUES ('',MD5('123'));
INSERT INTO tealogin VALUES ('',MD5('123'));
INSERT INTO stulogin VALUES ('',MD5('123'));
INSERT INTO stulogin VALUES ('',MD5('123'));
INSERT INTO stulogin VALUES ('',MD5('123'));
INSERT INTO tea_info VALUES ('','赵一','计算机学院');
INSERT INTO tea_info VALUES ('','赵二','经济与管理学院');
INSERT INTO tea_info VALUES ('','赵三','物理学院');
INSERT INTO stu_info VALUES ('','张一','20','男','计算机学院','湖北');
INSERT INTO stu_info VALUES ('','张二','21','女','经济与管理学院','湖南');
INSERT INTO stu_info VALUES ('','张三','22','男','物理学院','福建');
INSERT INTO course_info VALUES ('01','数据库','赵一');
INSERT INTO course_info VALUES ('02','C语言程序设计','赵二');
INSERT INTO course_info VALUES ('03','计算机网络','赵一');
INSERT INTO stu_course VALUES ('','01','90','90','90');
INSERT INTO stu_course VALUES ('','02','100','90','94');
INSERT INTO stu_course VALUES ('','03','90','100','96');
六、系统实现
6.1 界面设计
6.1.1 系统登陆页面
可选取登陆角色:学生,教师或管理员
6.1.2 管理员登陆界面
进入管理员操作页面后,可以选取管理课程、管理教师或管理学生
1) 管理学生:
2)管理教师
3)管理课程:
添加课程:
6.1.3 学生登陆界面查看分数及课程
6.1.4 教师登陆界面
可查看学生平时成绩、期末成绩和总成绩
还可以依照分数区间、课程号和总成绩进行条件查询:
教师改分与添加成绩融合,使操作更加简朴:
七、参照资料
《软件工程》 清华大学出版社
《数据库原理与技术(Oracle版)》 清华大学出版社
html、jsp、php
展开阅读全文