1、1一 绪论 21.1 课题简介 21.2 项目开发的目标 2二 系统分析 32.1 需求分析 32.2 系统设计分析 32.2.1 用户功能区 .32.2.2 管理员功能区 .3三 概念结构设计 43.1 各个实体的局部 ER 图 43.2 系统功能模块图 53.2.1 总体设计 53.2.2 学生用户模块 .63.2.3 管理员模块 .6四 逻辑结构设计 74.1 数据库设计与实现 74.1.1 数据库技术的现状与发展 74.2 数据库逻辑结构设计 8五 系统功能设计与实现 105.1 系统前台 105.2 系统后台 12南京晓庄学院 课程设计报告书2一 绪论1.1 课题简介随着信息技术在管
2、理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。学生成绩信息的管理是不容出错的,其学生基本信息、成绩管理等这些琐碎而又细致的工作,工作量是很大的,而且也不容许出错。如果是手工管理这些的话,那将耗费工作人员大量的时间和精力。用计算机来管理这些信息是非常方便,而且出错率小,可靠性高,查找方便,存储量也大。这些优点能够极大地提高对学生成绩管理的效率,也是管理趋向信息化重要条件。本系统是弥补某些学校成绩管理的不足,创建的一套行之有效的计算机成绩管理的方案。1.2 项目开发的目标 建
3、立学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高办学效益和现代化水平。帮助广大教师提高工作效率,实现学生成绩维护工作流程的系统化、规范化和自动化。为了使系统在学院的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标:(1)系统应具有实用性、可靠性和适用性,同时注意到先进性。(2)不同用户有不同的查询和修改权限,防止非法查询,非法修改。(3)方便用户的操作,尽量减少用户的操作。南京晓庄学院 课程设计报告书3二 系统分析2.1 需求分析学生成绩管理系统对于学校管理学生成绩是很必要的。学校可以通过成绩管理系统来发布,管理成绩,学生可以通过网络来
4、访问学生成绩管理系统来查询自己的成绩,管理系统会很详尽的记录保存学生的各科成绩。目前许多学校都有自己的成绩管理系统。2.2 系统设计分析2.2.1 用户功能区1. 学生拥有登陆账号(学号)以及密码2. 学生通过输入账号密码登陆管理系统3. 学生可以查询成绩4. 学生可以修改登录密码5. 学生可以修改密码问题和答案2.2.2 管理员功能区1. 管理员拥有登陆账号(学号)以及密码2. 管理员通过输入账号密码登陆管理系统3. 管理员可以添加学生信息4. 管理员可以删除学生信息5. 管理员可以查看所有学生信息6. 管理员可以添加课程信息7管理员可以添加学生成绩8. 管理员可以删除学生成绩9. 管理员可
5、以修改学生成绩南京晓庄学院 课程设计报告书4三 概念结构设计3.1 各个实体的局部 ER 图性别学生学号 年龄姓名 系别密码答案问题图 3-1 学生 E-R 图课程号课程名课程图 3-2 课程 E-R 图南京晓庄学院 课程设计报告书5ID 密码ord管理员图 3-3 管理员 E-R 图3.2 系统功能模块图3.2.1 总体设计根据学生成绩管理系统的功能需求,进行系统分析设计。系统功能模块图如图 3-4 所示:成绩管理系统学生管理员查询成绩修改个人信息修改学生档案管理课表修改成绩图 3-4 功能模块图南京晓庄学院 课程设计报告书63.2.2 学生用户模块学生用户模块:学生可以通过学号密码登录。学
6、生不仅可以查看各科最新成绩,还可以修改个人信息。模块图如图 3-5 所示:学生查询成绩修改个人信息修改个人密码修改问题和答案图 3-5 学生功能3.2.3 管理员模块管理员模块:管理员管理模块也就是网站的后台,主要工作是负责对前台模块的管理与维护。包含管理学生档案、管理学生成绩、管理课程。模块图如图 3-6 所示:管理员管理学生档案管理课表管理成绩添加新学生删除学生添加课程添加成绩删除成绩修改成绩图 3-6 管理员功能南京晓庄学院 课程设计报告书7四 逻辑结构设计4.1 数据库设计与实现数据库在系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。合理的数
7、据库结构设计可以提高数据存储的效率,保证数据的完整和一致。另外,合理的数据库结构将非常有利于程序的实现。设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。4.1.1 数据库技术的现状与发展数据库是 60 年代末出现的一门计算机软件技术,到现在虽然只有三十多年的历史,但在理论和时间上都已经趋于成熟,使我们能够方便的使用。数据库技术是信息系统的核心和基础,它的出现极大地促进了计算机应用向各行各业的渗透数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志。MySQL 作为一种开放源码数据库,以其简单易用的特点广泛被广大用户采用,My
8、SQL 虽然是免费的,但同 Oracle, Sybase, Informix, Db2 等商业数据库一样,具有数据库系统的通用性:(1)数据库管理系统。我们知道,所谓的数据库就是一些结构化的数据的联合体,要提供对这些数据的存取、增加、修改、删除或更加复杂的数据抽取等操作,需要有一个支撑系统,这就是数据库管理系统(DBMS),MySQL 完全具有这方面的功能。(2)关系型数据库管理系统。在数据库的发展历程中,曾出现过多种不同形式的数据库系统,但关系型数据库管理系统(RDBMS)以其优越性而被广为采用,象现在几种广泛使用的数据库全为关系型数据库。同样,MySQL 也是关系型的数据库系统,支持标准的
9、结构化查询语言(Structured Query Language)。南京晓庄学院 课程设计报告书8(3)开放源码数据库。同商业性的数据库相比,这是 MySQL 最大的特点。MySQL 的源码是公开的,这就意味着任何人,只要遵守 GPL 的规则都可以对 MySQL 的源码使用、修改以符合自己特殊的需求。(4)技术特点。MySQL 服务器端是多线程的,为客户端提供了不同的程序接口和链接库,如 C、C+、Java、Perl、PHP 等,也提供了简单的管理工具,如 mysqladmin,mysql等。MySQL 有如此多的特点,又由于其免费的特点,这就给许多的中小应用提供了不错的选择。尤其是对一些中
10、小企业,无论是从降低成本,还是从性能方面,采用 MySQL 作为其数据支撑系统,都是一种可行的方案。4.2 数据库逻辑结构设计本系统数据库为:seek,其中包含了四个 MySQL 数据表来实现对数据的存储、调用。以下为具体数据表模式: 【管理员表】 (管理员 ID、管理员密码) 【学生表】 (学生、姓名、密码、性别、年龄、系别、提示问题、提示答案) 【课程表】 (课程号、课程名) 【成绩表】 (学号、课程号、课程名、成绩)其中,用下划线标出的属性为表的主键属性。各表的具体设计如表 4-1表 4-4 所示。1. admin 表admin 表存放管理员登录名和密码。表 4-1 admin 表变量
11、类型 长度 主键否 描述id varchar 10 主键 管理员 IDpass varchar 20 密码南京晓庄学院 课程设计报告书92student 表学生所有的信息都存放在些表中。表 4-2 student 表名称 类型 长度 主键否 描述Sno varchar 8 主键 学号Sname varchar 30 姓名age Int 3 年龄Ssex varchar 10 性别sdept varchar 50 系别pass Varchar 20 密码Question Varchar 50 问题Answer Varchar 50 答案3 course 表course 表存放课程号,课程名。表
12、4-3 course 表名称 数据类型 长度 主键否 描述Cno Varchar 8 主键 课程号cname varchar 50 课程名4Sreport 表sreport 表存放学生成绩。表 4-4 sreport 表名称 类型 长度 主键否 描述sno varchar 8 主键 学号cno varchar 8 课程号cname varchar 50 课程名mark Int 3 成绩南京晓庄学院 课程设计报告书10五 系统功能设计与实现5.1 系统前台图 4-1 成绩管理系统主页面学生登陆采用 POST 方式提交表单,代码如下:学号:密码:图 4-2 登录失败页面当学号或密码验证失败时,跳出
13、的警告框。南京晓庄学院 课程设计报告书11$sql=“select *from student where sno=$sno“;$result=mysql_query($sql);$row=mysql_fetch_row($result);if($row5=$pass)header(“location:student_result.php“);elseecho “alert(学号或密码不正确!)“;echo “window.location=index.html;“;登陆成功后显示各科成绩等。具体代码如下:图 4-4 修改密码页面通过验证问题答案来修改密码具体代码如下:$result=mysq
14、l_query(“select * from student where sno=$sno“);$row=mysql_fetch_row($result);$sql=“update student set pass=$pass1 where sno=$sno“;$result=mysql_query($sql);5.2 系统后台图 4-4 后台管理员登录界面管理员输入管理员名称和密码,进入系统后台。检验管理员账号的代码如下:$sql=“select *from admin where id=$id“;$result=mysql_query($sql);$row=mysql_fetch_row(
15、$result);6 查询成绩删除成绩的具体代码代码:alert(删除成功!)“;echo “window.location=admin_result.html;“;南京晓庄学院 课程设计报告书13?图 4-7 添加学生具体实现代码为:alert (请输入完整!),window.location=insert_student.html;“);$sql=“select * from student where sno=$a“;$result=mysql_query($sql);$row=mysql_fetch_row($result);if ($a=$row0)die (“ alert (该学生
16、已存在!),window.location=insert_student.html;“);$sql=“insert into student values ($a,$b,$c,$d,$e,000000,)“;mysql_query($sql);echo “alert (插入成功!)“;echo “window.location=insert_student.html“;?图 4-8 查看所有学生显示所有的学生信息 , 可以删除任意信息, 每页显示 8 条记录具体代码如下:$row0$row1$row2$row3$row4delete“;$row=mysql_fetch_row($result);echo “;echo “;if($page=1)echo $page;if($page1)$prev=$page-1;echo “前一页“;echo “|“;echo “$page“;if($page下一页“;echo “;echo “;?