1、学生成绩管理数据库系统设计课程:数据库安全实验姓名: 吴双可 学院: 计算机学院 专业: 信息安全 学号: 2013302530050 一、需求分析1.1 编写目的本产品实现了一个基于mySQL数据库下的学生信息查询管理系统,而本需求分析报告的编写目的是为了提供一个由用户(学生、教师)和开发者双方共同确定的开发系统的业务需求目标,并对本系统所要实现的软件功能做一个全面的规格描述。同时,在用户业务需求的基础上,经过需求分析和数据整理,以向整个开发期提供关于软件系统的业务和数据的技术信息和整体描述,做为软件开发的技术基础,也作为系统设计、实现的目标和测试以及维护阶段的依据。本软件需求分析报告的适用
2、读者为:软件用户(学生、教师)、软件需求分析人员、软件设计及开发者和相关的测试人员。1。2 信息需求随着科学技术的不断提高,计算机科学飞速发展,其强大的功能已为人们深刻认识,它已经进入人类社会的各个领域并发挥着越来越重要的作用,在学籍管理方面,各种学生信息管理系统也在不断的涌现出来,然而目前在我国仍有部分学校在应用一些旧的、功能单一而且效率低下的系统,甚至还有一些偏远学校的学生信息管理还在依靠人工进行管理和操作,这些管理方式存在着许多缺点,如:效率低,密保性差,另外时间一长,将产生大量的文件和数据,其中有些是冗余或者针对同一目的的数据不相吻合,这对于查找、更新和维护文件等管理工作带来了不少困难
3、,同时也跟不上信息时代高速、快捷的要求,严重影响了消息的传播速度。然而现今学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息也成倍增长,人工管理信息的缺点日渐突出,面对庞大的学生信息量,如何利用现代信息技术使其拥有快捷、高效的适应能力已成为当务之急.正因为如此,学生信息管理系统成为了教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。作为计算机应用的一部分,使用计算机对学生信息进行管理,具有着手工管理所无法比拟的优点。例如:检索迅速。查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够
4、极大的提高学生信息管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件,由此看来开发这样一套管理软件是很有必要的.基于以上开发背景,我们小组设计了一个高效的学生成绩管理系统,能够储存历届学生的成绩、学生和老师的个人信息,并且能够实现管理员角色的管理(对于数据库中的数据进行增删改).因此系统只需要几个管理人员登录系统录入成绩即可,老师和学生均可以方便的查询信息,节省了大量的人力并且保证了高效率和低出错率.二、系统概述2。1系统功能框架该系统的功能框架如下:信息管理:查询、添加、删除、修改学生信息。成绩管理:查询、添加、删除、修改学生成绩。系统管理:保存各类用户对象的帐号信息、登录验证,
5、维护系统数据字典、添加管理员、删除管理员、修改管理员信息。2.2运行环境本系统服务器的运行环境如下:操作系统:WindowsXP以上服务器:IIS5.0以上数据库:SQLServer2005硬件配置:CPU:P41。8GHz内存:256MB以上 2.3用户特点使用本系统的用户包括:系统管理员(admin)、教师和学生。系统管理员是这个系统的root用户,他应该要拥有所有权限以便完成他管理者的角色,所以应该能够有学生信息表,成绩信息表和教师信息表的操作权限,另一方面他应该能够管理普通用户的帐号,实现自主访问控制.而教师应该可以对自己所授课程相关的信息有着一定的控制权限,例如登记成绩,增加、修改选
6、课信息等,对于跟自己无关的信息应当对其隐藏.在此系统中的学生应该只有查询权限,以防各种信息被恶意篡改。所以在此系统中,系统管理员要拥有几乎所有的权限,需要完成对系统的管理和维护,而教师和学生是受限户,其权限受限于自身,不能修改查看与自己无关的数据信息。三、功能描述本系统的软件流程图如下:教师学生系主任登录判断角色增删改课程信息选课退课修改个人信息修改学生账号状态修改个人信息修改个人信息选课首页浏览发布公告设置老师选课开关修改教师账号状态查看成绩分布打分查询成绩课表学分3。1 需求分解按照不同角色用户对系统需求的不同,系统将需求分解成三个模块,学生模块,教师模块和管理员模块: 1、系统管理员模块
7、系统管理员需要能够在本系统上完成如下操作:1、管理所有课程:増、删、改、查所有课程的信息 2、管理所有教师:増、删、改、查所有教师的信息 3、管理所有学生:増、删、改、查所有课程以及课程成绩信息 4、管理所有老师和学生的账号信息:増、删、改、查所有帐号的信息。 2、教师模块教师需要能够在本系统上完成的操作有:1、管理自己所教授课程:增、删、改、查所授课程的学生信息(包括成绩信息) 2、查询自己的教师信息 3、学生模块学生需要能够在本系统上完成的操作:查询自己的学生信息(包括成绩和选课)。3。2功能分解通过前面描述的系统的功能框架.我们将系统分解成三个子功能:系统管理、信息管理和成绩管理: 1、
8、系统管理功能保存各类用户对象的帐号信息、登录验证,维护系统数据字典、添加管理员、修改管理员信息。业务流程(1)负责对登录用户的用户名、密码进行验证,若为未注册用户或密码错误则提示错误信息并拒绝访问。(2) 若此用户为合法用户并通过了验证,则判断该帐号属于哪类用户,并进入对应的页面.(3) 若此用户是管理员用户,则可以添加新的管理员用户或修改已存在的管理员信息表。输入用户的用户名、密码或是对管理员信息的修改命令界面标准的登录界面信息修改界面算法调用数据库的各类用户表,通过SELECT语句在用户表的查询结果来验证登录。通过ALTER等语句对管理员表进行修改输出验证结果(通过还是未通过),并进入对应
9、的界面。更改后的管理员用户表.备注登录验证的密码不能是明码存储,应该md5加密之后存储在表中。2、信息管理系统功能实现对学生、教师及选课信息的存储,并且可以查询、添加、删除、修改学生信息.业务流程(1)判断用户类型,给不同类型用户分配不同的信息表操作权限(2)若是管理员用户,则对学生信息表、教师信息表和选课表拥有所有操作权限,通过查询、修改等语句将对数据库操作的结果显示在界面上或写入数据库;若是教师用户,则只能对任课的选课表进行查询、修改操作并且可以查询自己的教职工信息,将结果显示在界面上;若是学生,仅能在界面上查询自己的学生信息。(3)若对无权限表进行操作,显示错误信息并拒绝操作。输入查询框
10、输入各种查询条件,编辑界面输入修改信息界面算法调用数据库的各类用户表,查询操作就通过各种语句将结果显示在界面上,修改操作就将界面上的操作结果写入到数据库中输出查询结果、数据库表格内容变化备注实现对各类信息的存储和管理。3、成绩管理系统功能实现学生各门课程成绩的存储,并且对这些信息进行查询、添加、删除、修改操作。业务流程(1)判断用户类型,给不同类型用户分配不同的成绩表操作权限(2)若是管理员用户,则对选课表拥有所有操作权限,通过查询、修改成绩等语句将对数据库操作的结果显示在界面上或写入数据库;若是教师用户,则只能对任课的选课表进行查询(将成绩单显示在界面上)、修改(将成绩录入数据库);若是学生
11、,仅能在界面上查询自己各科的成绩。(3)若对无权限表进行操作,显示错误信息并拒绝操作。输入查询框输入各种查询条件,编辑界面输入修改信息界面算法调用数据库的选课表,查询操作就通过各种语句将成绩结果显示在界面上,修改操作就将界面上成绩信息写入到数据库中输出查询结果、数据库表格内容变化备注实现对学生成绩的存储和管理.3。3信息流程图老师是否选课完毕开放老师选课系统 系主任登录 老师选课 验证可选设置否是开放学生选课系统系主任确认四、数据库的逻辑结构设计逻辑结构是独立于任何一种数据模型的信息结构。逻辑结构的任务是把概念结构设计阶段设计好的基本ER图转化为宜选用的DBMS所支持的数据模型相符合的逻辑结构
12、,并对其进行优化.ER图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。设计学生成绩管理数据库,包括课程、学生、教师、成绩四个关系,其关系模式中对每个实体定义的属性如下:课程信息表(课程号,课程名,课程人数,任课教师)学生信息表(学号,姓名,性别,院系,年龄,籍贯)教师信息表(教师号,姓名,所在院系)学生选课表(学号,课程号,平时成绩,期末成绩,总成绩)管理员表(用户名,登录密码)学生登录表(用户名,登录密码)教师登录表(用户名,登录密码)TABLE admin(管理员帐号表)属性类型长度是否为空默认值主键usernameVARCHAR20
13、NOT NULLNULLpasswordVARCHAR30NOT NULLTABLE tealogin (教师帐号表)属性类型长度是否为空默认值主键外键usernameVARCHAR20NOT NULLNULL tea_infopasswordVARCHAR30NOT NULLTABLE stulogin (学生帐号表)属性类型长度是否为空默认值主键外键usernameVARCHAR20NOT NULLNULL stu_infopasswordVARCHAR30NOT NULLTABLE stu_info (学生信息表)属性类型长度是否为空默认值主键snoVARCHAR20NOT NULLNU
14、LLsnameVARCHAR30可为空ageNUMERIC2可为空NULLsexVARCHAR2可为空NULLdeptVARCHAR20可为空NULLplaceVARCHAR20可为空NULLTABLE tea_info (教师信息表)属性类型长度是否为空默认值主键tnoVARCHAR20NOT NULLNULLtnameVARCHAR30可为空deptVARCHAR20可为空NULLTABLE course_info (课程信息表)属性类型长度是否为空默认值主键cnoVARCHAR20NOT NULLNULLcnameVARCHAR30可为空tnameVARCHAR30可为空NULLstu_
15、numNUMERIC10NOT NULLNULLTABLE stu_course (学生选课表)属性类型长度是否为空默认值主键外键snoVARCHAR20NOT NULLNULLstu_infocnoVARCHAR20NOT NULLNULLCourse_infousual_gradeint可为空NULLfinal_gradeint可为空NULLtotal_markint可为空NULL五、数据库实施5。1 创建数据库create database student5。1。1 创建表用户名、密码CREATE TABLE IF NOT EXISTS admin (username varchar(2
16、0) 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=utf
17、8 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) C
18、OMMENT=学号,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) COMME
19、NT=姓名,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=u
20、tf8 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 c
21、ourse_info) DEFAULT CHARSET=utf8 COMMENT=选课信息表;检测数据插入INSERT INTO admin VALUES (2013302550010,MD5(123);INSERT INTO admin VALUES (2013302550011,MD5(123);INSERT INTO admin VALUES (2013302550012,MD5(123);INSERT INTO tealogin VALUES (2013302540010,MD5(123));INSERT INTO tealogin VALUES (2013302540011,MD5(
22、123));INSERT INTO tealogin VALUES (2013302540012,MD5(123);INSERT INTO stulogin VALUES (2013302530010,MD5(123));INSERT INTO stulogin VALUES (2013302530011,MD5(123);INSERT INTO stulogin VALUES (2013302530012,MD5(123));INSERT INTO tea_info VALUES (2013302540010,赵一,计算机学院);INSERT INTO tea_info VALUES (20
23、13302540011,赵二,经济与管理学院);INSERT INTO tea_info VALUES (2013302540012,赵三,物理学院);INSERT INTO stu_info VALUES (2013302530010,张一,20,男,计算机学院,湖北);INSERT INTO stu_info VALUES (2013302530011,张二,21,女,经济与管理学院,湖南);INSERT INTO stu_info VALUES (2013302530012,张三,22,男,物理学院,福建);INSERT INTO course_info VALUES (201501,数
24、据库,赵一);INSERT INTO course_info VALUES (201502,C语言程序设计,赵二);INSERT INTO course_info VALUES (201503,计算机网络,赵一);INSERT INTO stu_course VALUES (2013302530012,201501,90,90,90);INSERT INTO stu_course VALUES (2013302530012,201502,100,90,94);INSERT INTO stu_course VALUES (2013302530012,201503,90,100,96);六、系统实现6。1 界面设计6.1。1 系统登陆页面可选择登陆角色:学生,老师或管理员 6.1。2 管理员登陆界面进入管理员操作页面后,可以选择管理课程、管理教师或管理学生1)管理学生:2)管理教师3)管理课程:添加课程:6。1。3 学生登陆界面查看分数及课程6.1。4 教师登陆界面可查看学生平时成绩、期末成绩和总成绩还可以根据分数区间、课程号和总成绩进行条件查询:教师改分与添加成绩融合,使操作更加简单:七、参考资料软件工程清华大学出版社数据库原理与技术(Oracle版)清华大学出版社。cn html、jsp、php