1、 信息管理:查询、添加、删除、修改学生信息。 成绩管理:、添加、删除、修改学生成绩。 系统管理:保存各类用户对象的帐号信息、登录验证,维护系统数据字典、添加管理员、删除管理员、修改管理员信息。2.2 运行环境本系统服务器的运行环境如下:操作系统:WindowsXP以上服务器:IIS5.0以上数据库:SQLServer2005硬件配置:CPU:P41.8GHz内存:256MB以上 2.3 用户特点使用本系统的用户包括:系统管理员(admin)、教师和学生。系统管理员是这个系统的root用户,他应该要拥有所有权限以便完成他管理者的角色,所以应该能够有学生信息表,成绩信息表和教师信息表的操作权限,另
2、一方面他应该能够管理普通用户的帐号,实现自主访问控制。而教师应该可以对自己所授课程相关的信息有着一定的控制权限,例如登记成绩,增加、修改选课信息等,对于跟自己无关的信息应当对其隐藏。在此系统中的学生应该只有查询权限,以防各种信息被恶意篡改。所以在此系统中,系统管理员要拥有几乎所有的权限,需要完成对系统的管理和维护,而教师和学生是受限户,其权限受限于自身,不能修改查看与自己无关的数据信息。三、功能描述本系统的软件流程图如下:教师学生系主任登录判断角色增删改课程信息选课退课修改个人信息修改学生账号状态首页浏览发布公告设置老师选课开关修改教师账号状态查看成绩分布打分查询成绩课表学分3.1 需求分解
3、按照不同角色用户对系统需求的不同,系统将需求分解成三个模块,学生模块,教师模块和管理员模块: 1、系统管理员模块 系统管理员需要能够在本系统上完成如下操作:1、管理所有课程:増、删、改、查所有课程的信息 2、管理所有教师:増、删、改、查所有教师的信息 3、管理所有学生:増、删、改、查所有课程以及课程成绩信息 4、管理所有老师和学生的账号信息:増、删、改、查所有帐号的信息。 2、教师模块 教师需要能够在本系统上完成的操作有:1、管理自己所教授课程:增、删、改、查所授课程的学生信息(包括成绩信息) 2、查询自己的教师信息 3、学生模块 学生需要能够在本系统上完成的操作:查询自己的学生信息(包括成绩
4、和选课)。3.2 功能分解通过前面描述的系统的功能框架。我们将系统分解成三个子功能:系统管理、信息管理和成绩管理: 1、系统管理功能保存各类用户对象的帐号信息、登录验证,维护系统数据字典、添加管理员、修改管理员信息。业务流程 (1)负责对登录用户的用户名、密码进行验证,若为未注册用户或密码错误则提示错误信息并拒绝访问。(2) 若此用户为合法用户并通过了验证,则判断该帐号属于哪类用户,并进入对应的页面。(3) 若此用户是管理员用户,则可以添加新的管理员用户或修改已存在的管理员信息表。输入 用户的用户名、密码或是对管理员信息的修改命令界面标准的登录界面信息修改界面算法 调用数据库的各类用户表,通过
5、SELECT语句在用户表的查询结果来验证登录。通过ALTER等语句对管理员表进行修改输出验证结果(通过还是未通过),并进入对应的界面。更改后的管理员用户表。备注 登录验证的密码不能是明码存储,应该md5加密之后存储在表中。2、信息管理系统 实现对学生、教师及选课信息的存储,并且可以查询 (1)判断用户类型,给不同类型用户分配不同的信息表操作权限(2)若是管理员用户,则对学生信息表、教师信息表和选课表拥有所有操作权限,通过查询、修改等语句将对数据库操作的结果显示在界面上或写入数据库;若是教师用户,则只能对任课的选课表进行查询、修改操作并且可以查询自己的教职工信息,将结果显示在界面上;若是学生,仅
6、能在界面上查询自己的学生信息。(3)若对无权限表进行操作,显示错误信息并拒绝操作。 查询框输入各种查询条件,编辑界面输入修改信息 调用数据库的各类用户表,查询操作就通过各种语句将结果显示在界面上,修改操作就将界面上的操作结果写入到数据库中查询结果、数据库表格内容变化 实现对各类信息的存储和管理。3、成绩管理系统 实现学生各门课程成绩的存储,并且对这些信息进行查询、添加、删除、修改操作。 (1)判断用户类型,给不同类型用户分配不同的成绩表操作权限(2)若是管理员用户,则对选课表拥有所有操作权限,通过查询、修改成绩等语句将对数据库操作的结果显示在界面上或写入数据库;若是教师用户,则只能对任课的选课
7、表进行查询(将成绩单显示在界面上)、修改(将成绩录入数据库);若是学生,仅能在界面上查询自己各科的成绩。 调用数据库的选课表,查询操作就通过各种语句将成绩结果显示在界面上,修改操作就将界面上成绩信息写入到数据库中 实现对学生成绩的存储和管理。3.3 信息流程图老师是否选课完毕开放老师选课系统 系主任登录 老师选课 验证 可选设置否 是开放学生选课系统系主任确认四、数据库的逻辑结构设计逻辑结构是独立于任何一种数据模型的信息结构。逻辑结构的任务是把概念结构设计阶段设计好的基本E-R图转化为宜选用的DBMS所支持的数据模型相符合的逻辑结构,并对其进行优化。E-R图向关系模型转化要解决的问题是如何将实
8、体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。设计学生成绩管理数据库,包括课程、学生、教师、成绩四个关系,其关系模式中对每个实体定义的属性如下:课程信息表(课程号,课程名,课程人数,任课教师)学生信息表(学号,姓名,性别,院系,年龄,籍贯)教师信息表(教师号,姓名,所在院系)学生选课表(学号,课程号,平时成绩,期末成绩,总成绩)管理员表(用户名,登录密码)学生登录表(用户名,登录密码)教师登录表(用户名,登录密码)TABLE admin(管理员帐号表)属性类型长度是否为空默认值主键usernameVARCHAR20NOT NULLNULLpassword30TABLE te
9、alogin (教师帐号表)外键 tea_infoTABLE stulogin (学生帐号表) stu_infoTABLE stu_info (学生信息表)snosname可为空ageNUMERIC2sexdeptplaceTABLE tea_info (教师信息表)tnotnameTABLE course_info (课程信息表)cnocnamestu_num10TABLE stu_course (学生选课表)stu_infoCourse_infousual_gradeintfinal_gradetotal_mark五、数据库实施5.1 创建数据库create database studen
10、t5.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 (PRIMARY KEY(username),FOREIGN KEY(username) REFERENCES tea_info教师登录表CREATE TABLE IF NOT EX
11、ISTS stulogin (FOREIGN KEY(username) REFERENCES stu_info学生登录表 #学号、姓名、年龄、性别、院系、籍贯 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)学生信息表#学
12、工号、姓名、院系 CREATE TABLE IF NOT EXISTS tea_info (tno varchar(20) COMMENT=教师工号tname varchar(30) COMMENT=PRIMARY KEY(tno)教师信息表#课程号、课程名、任课教师 CREATE TABLE IF NOT EXISTS course_info (cno varchar(20) COMMENT=课程号cname varchar(30) COMMENT=课程名任课教师student_num varchar(10) COMMENT=课程人数PRIMARY KEY(cno)课程信息表#学号、课程号、
13、平时成绩、期末成绩、总成绩 CREATE TABLE IF NOT EXISTS stu_course (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选课信息表#检测数据插入INSERT INTO admin VALUES (2013302550010,MD5(123);201330255001
14、12013302550012INSERT INTO tealogin VALUES (201330254001020133025400112013302540012INSERT INTO stulogin VALUES (201330253001020133025300112013302530012INSERT INTO tea_info VALUES (,赵一计算机学院);赵二经济与管理学院赵三物理学院INSERT INTO stu_info VALUES (张一20男湖北张二21女湖南张三22福建INSERT INTO course_info VALUES (201501数据库201502
15、C语言程序设计201503计算机网络INSERT INTO stu_course VALUES (901009496六、系统实现6.1 界面设计6.1.1 系统登陆页面可选择登陆角色:学生,老师或管理员 6.1.2 管理员登陆界面进入管理员操作页面后,可以选择管理课程、管理教师或管理学生1) 管理学生:2)管理教师3)管理课程:添加课程:6.1.3 学生登陆界面查看分数及课程6.1.4 教师登陆界面可查看学生平时成绩、期末成绩和总成绩还可以根据分数区间、课程号和总成绩进行条件查询:教师改分与添加成绩融合,使操作更加简单:七、参考资料 软件工程 清华大学出版社 数据库原理与技术(Oracle版) 清华大学出版社 html、jsp、php