学生成绩管理数据库系统设计课程:数据库安全实验姓名: 吴双可学院: 计算机学院专业: 信息安全学号: 2一、需求分析1、1 编写目的本产品实现了一个基于mySQL数据库下的学生信息查询管理系统,而本需求分析报告的编写目的就是为了提供一个由用户(学生、教师)与开发者双方共同确定的开发系统的业务需求目标,并对本系统所要实现的软件功能做一个全面的规格描述。
同时,在用户业务需求的基础上,经过需求分析与数据整理,以向整个开发期提供关于软件系统的业务与数据的技术信息与整体描述,做为软件开发的技术基础,也作为系统设计、实现的目标与测试以及维护阶段的依据。
本软件需求分析报告的适用读者为:软件用户(学生、教师)、软件需求分析人员、软件设计及开发者与相关的测试人员。
1、2 信息需求随着科学技术的不断提高,计算机科学飞速发展,其强大的功能已为人们深刻认识,它已经进入人类社会的各个领域并发挥着越来越重要的作用,在学籍管理方面,各种学生信息管理系统也在不断的涌现出来,然而目前在我国仍有部分学校在应用一些旧的、功能单一而且效率低下的系统,甚至还有一些偏远学校的学生信息管理还在依靠人工进行管理与操作,这些管理方式存在着许多缺点,如:效率低,密保性差,另外时间一长,将产生大量的文件与数据,其中有些就是冗余或者针对同一目的的数据不相吻合,这对于查找、更新与维护文件等管理工作带来了不少困难,同时也跟不上信息时代高速、快捷的要求,严重影响了消息的传播速度。
然而现今学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息也成倍增长,人工管理信息的缺点日渐突出,面对庞大的学生信息量,如何利用现代信息技术使其拥有快捷、高效的适应能力已成为当务之急。
正因为如此,学生信息管理系统成为了教育单位不可缺少的部分,它的内容对于学校的决策者与管理者来说都至关重要,所以学生信息管理系统应该能够为用户提供充足的信息与快捷的查询手段。
作为计算机应用的一部分,使用计算机对学生信息进行管理,具有着手工管理所无法比拟的优点。
例如:检索迅速。
查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大的提高学生信息管理的效率,也就是企业的科学化、正规化管理,与世界接轨的重要条件,由此瞧来开发这样一套管理软件就是很有必要的。
基于以上开发背景,我们小组设计了一个高效的学生成绩管理系统,能够储存历届学生的成绩、学生与老师的个人信息,并且能够实现管理员角色的管理(对于数据库中的数据进行增删改)。
因此系统只需要几个管理人员登录系统录入成绩即可,老师与学生均可以方便的查询信息,节省了大量的人力并且保证了高效率与低出错率。
二、系统概述2、1 系统功能框架该系统的功能框架如下:信息管理:查询、添加、删除、修改学生信息。
成绩管理:查询、添加、删除、修改学生成绩。
系统管理:保存各类用户对象的帐号信息、登录验证,维护系统数据字典、添加管理员、删除管理员、修改管理员信息。
2、2 运行环境本系统服务器的运行环境如下:操作系统:Windows XP 以上服务器:IIS5、0以上数据库:SQL Server 2005硬件配置:CPU:P41、8GHz 内存:256MB以上2、3 用户特点使用本系统的用户包括:系统管理员(admin)、教师与学生。
系统管理员就是这个系统的root用户,她应该要拥有所有权限以便完成她管理者的角色,所以应该能够有学生信息表,成绩信息表与教师信息表的操作权限,另一方面她应该能够管理普通用户的帐号,实现自主访问控制。
而教师应该可以对自己所授课程相关的信息有着一定的控制权限,例如登记成绩,增加、修改选课信息等,对于跟自己无关的信息应当对其隐藏。
在此系统中的学生应该只有查询权限,以防各种信息被恶意篡改。
所以在此系统中,系统管理员要拥有几乎所有的权限,需要完成对系统的管理与维护,而教师与学生就是受限户,其权限受限于自身,不能修改查瞧与自己无关的数据信息。
三、功能描述本系统的软件流程图如下:理所有学生:増、删、改、查所有课程以及课程成绩信息4、管理所有老师与学生的账号信息:増、删、改、查所有帐号的信息。
2、教师模块教师需要能够在本系统上完成的操作有:1、管理自己所教授课程:增、删、改、查所授课程的学生信息(包括成绩信息) 2、查询自己的教师信息3、学生模块学生需要能够在本系统上完成的操作:查询自己的学生信息(包括成绩与选课)。
3、2功能分解通过前面描述的系统的功能框架。
我们将系统分解成三个子功能:系统管理、信息管理与成绩管理:1、系统管理2、信息管理系统3、成绩管理系统3、3 信息流程图概念结构设计阶段设计好的基本E-R图转化为宜选用的DBMS所支持的数据模型相符合的逻辑结构,并对其进行优化。
E-R图向关系模型转化要解决的问题就是如何将实体型与实体间的联系转化为关系模式,如何确定这些关系模式的属性与码。
设计学生成绩管理数据库,包括课程、学生、教师、成绩四个关系, 其关系模式中对每个实体定义的属性如下:课程信息表(课程号,课程名,课程人数,任课教师)学生信息表 (学号,姓名,性别,院系,年龄,籍贯)教师信息表(教师号,姓名,所在院系)学生选课表(学号,课程号,平时成绩,期末成绩,总成绩)管理员表(用户名,登录密码)学生登录表(用户名,登录密码)教师登录表(用户名,登录密码)TABLE admin(管理员帐号表)TABLE tealogin (教师帐号表)TABLE stulogin (学生帐号表)TABLE stu_info (学生信息表)TABLE course_info (课程信息表)TABLE stu_course (学生选课表)五、数据库实施5、1 创建数据库create database student5、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 ('2',MD5('123'));INSERT INTO admin VALUES ('2',MD5('123'));INSERT INTO admin VALUES ('2',MD5('123'));INSERT INTO tealogin VALUES ('2',MD5('123'));INSERT INTO tealogin VALUES ('2',MD5('123'));INSERT INTO tealogin VALUES ('2',MD5('123'));INSERT INTO stulogin VALUES ('2',MD5('123'));INSERT INTO stulogin VALUES ('2',MD5('123'));INSERT INTO stulogin VALUES ('2',MD5('123'));INSERT INTO tea_info VALUES ('2','赵一','计算机学院');INSERT INTO tea_info VALUES ('2','赵二','经济与管理学院');INSERT INTO tea_info VALUES ('2','赵三','物理学院');INSERT INTO stu_info VALUES ('2','张一','20','男','计算机学院','湖北'); INSERT INTO stu_info VALUES ('2','张二','21','女','经济与管理学院','湖南'); INSERT INTO stu_info VALUES ('2','张三','22','男','物理学院','福建'); INSERT INTO course_info VALUES ('201501','数据库','赵一');INSERT INTO course_info VALUES ('201502','C语言程序设计','赵二'); INSERT INTO course_info VALUES ('201503','计算机网络','赵一'); INSERT INTO stu_course VALUES ('2','201501','90','90','90');INSERT INTO stu_course VALUES ('2','201502','100','90','94');INSERT INTO stu_course VALUES ('2','201503','90','100','96');六、系统实现6、1 界面设计6、1、1 系统登陆页面可选择登陆角色:学生,老师或管理员6、1、2 管理员登陆界面进入管理员操作页面后,可以选择管理课程、管理教师或管理学生1) 管理学生:2)管理教师3)管理课程:添加课程:6、1、3 学生登陆界面查瞧分数及课程6、1、4 教师登陆界面可查瞧学生平时成绩、期末成绩与总成绩还可以根据分数区间、课程号与总成绩进行条件查询:教师改分与添加成绩融合,使操作更加简单:七、参考资料《软件工程》清华大学出版社《数据库原理与技术(Oracle版)》清华大学出版社html、jsp、php。