学生成绩管理项目总体设计和说明可作为项目开发整体过程和论文参考.docx
《学生成绩管理项目总体设计和说明可作为项目开发整体过程和论文参考.docx》由会员分享,可在线阅读,更多相关《学生成绩管理项目总体设计和说明可作为项目开发整体过程和论文参考.docx(57页珍藏版)》请在冰豆网上搜索。
学生成绩管理项目总体设计和说明可作为项目开发整体过程和论文参考
项目:
学生成绩管理系统
前几章我们简要介绍了课程设计的基础知识和编码规则及原则。
为了将学过的知识综合运用起来,作为课程设计举例,本章设计一个功能相对简单但实用的应用程序案例。
将通过对学生成绩查询系统程序的编制,来向读者展示课程设计中应用程序的编写方法。
该案例是一个简单的成绩查询系统。
管理员可以添加、修改和删除学生课程成绩信息,学生可以查询相关课程的成绩。
本例所讲的功能比较少。
有兴趣的读者可以在此基础上自行设计,增加一些其他的功能,例如,学生登录后,可以修改自己的登录密码,可以查阅自己的档案信息,可以设置管理员权限,可以对学期、课程进行添加、修改和删除等。
4.1系统分析
随着社会信息量的与日俱增,学校需要有一个很好的学生成绩管理系统,以方便对学生的成绩进行有效的管理。
系统应具有既方便对学生成绩的管理,也方便学生对自己的成绩和获得的学分进行查询的功能。
本案例设计实现的“学生成绩管理系统”,具有数据操作方便、高效、迅速等优点。
该软件采用功能强大的数据库软件开发工具进行开发,具有很好的可移植性。
同时,可通
过访问权限控制功能,确保数据的安全性。
使用该系统既能把管理人员从繁琐的数据计算中解脱出来,使其有更多的精力从事教务管理政策的研究实施,教学计划的制定执行和教学质量的监督检查,从而全面提高教学质量,同时也能减轻任课教师的负担,使其有更多的精力投入到教学和科研中,其最主要的功能是能够便于学校的管理。
“学生成绩管理系统”是以学生成绩数据为主的管理,其数据库的建立、健全就是关
键。
合理的数据库结构设计可以提高数据存储的效率,保证数据的完整性和一致性。
同时,
合理的数据库结构也有利于程序的实现。
4.1.1系统现状
学生成绩管理系统对学校进行学生课程成绩的管理和发布是非常重要的。
现在许多学校都有自己的成绩管理系统。
学生可以在校园网上或假期通过因特网输入自己的学号和密码就能查询自己的学习成绩。
通常在成绩查询系统中会详细地记录学生的课程成绩,这样即方便了学生,同时也方便了操作员的成绩录入和成绩修改。
成绩管理系统是校园网中最常用的系统,它的一个基本作用就是为学校提供学生课程信息发布的平台。
使用ASP技术可以动态地生成成绩的静态页页面,可以使课程成绩的发布和管理变得很轻松。
管理员只需输入课程成绩,系统将自动生成对应的网页。
而使用SQLServer数据库,将减轻维护人员的工作量,使系统便于维护和管理。
4.1.2用户需求
成绩管理系统可以实现学生课程信息管理。
其操作简单安全,从而有效地提高了工作效率和质量。
成绩查询系统可以实现以下几个方面的功能:
●为学校提供学生课程成绩发布的平台。
●为学校中的每个学生设置相应的登录学号和密码。
●学生通过输入自己的学号和密码正确登录后即可进入该系统。
●学生可以按学期、课程名称等来查询自己的课程成绩。
●管理员可以按班级或按学生来登记学生成绩。
●管理员可以编辑和删除学生的课程成绩。
●系统具有设置管理员权限等功能。
总之,通过本系统的开发,可以实现学生成绩的各类查询功能、学生成绩发布平台、管理员输入学生成绩、管理员修改和删除学生课程成绩等功能。
4.2系统概要设计
根据不同的用户,本章所介绍的成绩查询系统可以分为以下两个功能区。
(1)学生功能区
学生输入学号和密码正常登录该系统后,可以进行如下操作。
●成绩查询:
学生进入该系统后可查询出指定学期的所有课程成绩。
●退出系统:
学生查询完成绩后可以退出登录状态。
(2)管理员功能区
管理员通过输入的账号和密码正常登录该系统后,管理员可以进行如下操作。
●管理员可以查询出指定班号、指定科目的所有成绩;可以查询出指定学号、指定科目的所有成绩。
●管理员可以以班级或学生为单位添加、修改和删除学生课程成绩。
管理员操作完毕后可以退出登录状态。
4.2.1系统构架
该系统设计流程是:
首先创建成绩查询系统数据库,
再次设计该系统的功能,然后编写源代码实现系统功能,
并在表示层制作与用户对话界面;将系统上传到Intemet
进入应用层后,用户使用该系统。
该流程对应的系统构架为:
数据层→设计数据服务→配置
系统信息→表示层→应用层→用户接口层。
系统总体构架如图4.1所示。
4.2.2系统功能模块设计
系统主要功能如下所示:
●管理员管理功能,管理员负责整个系统的后台管理。
●管理员添加、修改和删除学生成绩功能。
●学生查询指定学期课程成绩功能。
●管理员/学生退出系统功能。
系统主要分为三大功能模块如下:
(1)公用模块
此模块属于系统公用部分,系统中任何页面需要用此模块时直接调用即可。
此模块包括数据库连接文件、层叠样式表文件。
此模块负责与数据库的连接和定义页面风格。
可以将这些公用的代码放在一个文件中,这样即可以减少源代码,也可以使整个系统紧凑有序。
(2)前台系统功能模块
此模块实现了学生功能区的所有功能,由学生登录模块、学生查分模块和退出系统模
块组成。
这三个模块的功能如下:
●学生登录模块:
此模块包括学生登录和检查学生登录信息功能。
此模块负责根据学生所输入的学号和密码判断该用户是否合法,以及具有哪些操作权限,并根据不同的权限,返回包含不同模块的页面。
●学生查分模块:
此模块包括学生成绩查询页。
学生正常登录该系统后,可以查询出指定学期的所有课程成绩。
●退出系统模块:
此模块包括退出系统页。
此模块在该系统中对学生用户/管理员类用户开放,负责结束学生用户/管理员类用户在登录模块所获得的Session变量,退出本系统,返回到系统首页。
前台系统功能模块图如图4.2所示。
图4.2前台系统功能模块图
(3)后台系统功能模块
此模块实现了管理员功能区的所有功能,由管理员登录模块、课程成绩管理模块和退出系统模块组成。
这三个模块的功能如下:
●管理员登录模块:
此模块包括管理员登录和检查管理员登录信息功能。
此模块负责根据管理员所输入的账号和密码判断该用户是否合法,以及具有哪些操作权限,并根据不同的权限,返回包含不同模块的页面。
●课程成绩管理模块:
此模块包括管理员添加、修改和删除课程成绩功能。
此模块只对管理员类用户开放。
系统管理员登录后,进入该模块,在该模块中可以看到操作条件选择页分为课程成绩添加和课程成绩修改,单击它们的链接即可进入相应的页面。
●退出系统模块:
此模块与前台管理模块中的退出系统模块是一样的。
后台系统功能模块图如图4.3所示。
图4.3后台系统功能模块图
4.2.3系统总体设计
系统总体设计是指关于对象系统的总体机能以及和其他系统的相关方面的设计。
也包括基本环境要求,用户界面的基本要求等。
1总体结构
成绩管理系统,主要是通过l5个页面来实现学生功能区和管理员功能区。
各个页面之问的关系如下。
(1)公用模块
数据库连接页面Conn.asp、层叠样式表页面Css.css,其他页面引用它们时直接调用即可。
(2)前台系统结构
成绩管理系统的前台系统结构流程如图4.4所示。
图4.4前台系统结构图
(3)后台系统结构
成绩管理系统的后台系统结构流程如图4.5所示。
图4.5前台系统结构图
2各页面功能分配
该系统页面功能如下:
●Conn.asp:
数据库连接的基本信息。
●Css.css:
层叠样式表文件,定义页面风格。
●Default.asp:
成绩查询系统首页,也是学生登录页,用于学生登录。
●Seek.asp:
查询并显示学生课程成绩。
●Login.asp:
管理员管理页,用于管理员登录。
●AddminAdd.htm:
课程成绩添加框架页。
●Add.asp:
用于管理员查询需要添加成绩的学生信息和课程信息。
●
DoAdd.asp:
用于管理员添加课程成绩。
●UpdateAdd.asp:
用于保存添加的课程成绩。
●AdminManager.htm:
课程成绩管理框架页。
●Manager.asp:
用于管理员查询需要管理的
学生信息和课程信息。
●DoManager.asp:
用于修改或删除课程成绩。
●UpdateManager.asp:
用于更新课程成绩。
●Logout.asp:
管理员/学生用户退出已登
录状态,并返回到系统首页。
3学生查分模块工作流程
学生查分模块工作流程如图4.6所示。
4.3数据库设计
数据库设计是指根据用户的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程。
4.3.1设计思想
系统采用SQLServer2005作为后台数据库。
通过分析要在数据库中存储以下基本信息。
●管理员信息:
管理员ID号、管理员账号、管理员密码。
●学生信息:
学生学号、学生姓名、学生密码。
●课程信息:
课程编号、课程名称。
●成绩信息:
成绩D号、学生学号、课程编号、课程成绩、备注信息、学期名称。
●学期信息:
学期D号、学期名称。
通过以上的分析该系统需要创建五个数据表如下所示。
●管理员信息表Admin:
用于存储管理员ID号、管理员账号、管理员密码。
●学生信息表Student:
用于存储学生学号、学生姓名、学生密码。
●课程信息表Course:
用于存储课程编号、课程名称。
●成绩信息表Sreport:
用于存储成绩ID号、学生学号、课程编号、课程成绩、备注信息、学期名称。
●学期信息表Term:
用于存储学期ID号、学期名称。
上述五个数据表的连接关系如下所示。
●学生信息表Student与成绩信息表Sreport通过学生学号建立连接关系。
●程信息表Course与成绩信息表Sreport通过课程编号建立连接关系。
●学期信息表Term与成绩信息表Sreport通过学期名称建立连接关系。
其中管理员信息表Admin是独立的,与其它数据表没有关联。
学生信息表Student与课程信息表Course没有直接的关系,是通过成绩信息表Sreport建立关联的。
4.3.2数据表结构
使用SQLServer2005新建一个数据库,将其命名为seekscore。
seekscore数据库中包含的数据表及其相应功能如表4-1所示。
表4-1数据表及其功能
数据表
功能
Admin
存放管理员基本信息
Student
存放学生基本信息
Course
存放课程基本信息
Sreport
存放成绩基本信息
Term
存放学期基本信息
1管理员信息表Admin
该信息表用于存储管理员的基本信息,包括管理员ID号(id)、管理员账号(name)、管理员密码(pwd)。
在已创建的数据库seekscore中,创建一个名为Admin的数据表,并向表中添加字段如表4-2所示。
表4-2管理员信息表Admin
字段名
数据类型
长度
意义
说明
id
int
4
管理员ID号
设为主键且自动编号
name
varchar
20
管理员账号
不允许为空
pwd
varchar
20
管理员密码
不允许为空
2学生信息表Student
该信息表用于存储学生的基本信息,包括学生学号(id)、学生姓名(name)、学生密码(pwd)。
在已创建的数据库seekscore中,创建一个名为Student的数据表,并向表中添加字段如表4-3所示。
表4-3学生信息表Student
字段名
数据类型
长度
意义
说明
id
varchar
50
学生学号
设为主键
name
varchar
50
学生姓名
不允许为空
pwd
varchar
20
学生密码
不允许为空
3课程信息表Course
该信息表用于存储课程的基本信息,包括课程编号(id)、课程名称(title)。
在已创建的数据库seekscore中,创建一个名为Course的数据表,并向表中添加字段如表4-4所示。
表4-4课程信息表Course
字段名
数据类型
长度
意义
说明
id
varchar
50
课程编号
设为主键
title
varchar
50
课程名称
不允许为空
4成绩信息表Sreport
该信息表用于存储课程成绩的基本信息,包括学生成绩ID号(id)、学生学号(stid)、课程编号(coid)。
课程成绩(mark)、备注信息(note)、学期名称(term)。
在已创建的数据库seekscore中,创建一个名为Sreport的数据表,并向表中添加字段如表4-5所示。
表4-5成绩信息表Sreport
字段名
数据类型
长度
意义
说明
id
int
4
成绩ID号
设为主键且自动编号
stid
varchar
50
学生学号
不允许为空
coid
varchar
50
课程编号
不允许为空
mark
varchar
50
课程成绩
不允许为空
note
varchar
100
备注信息
允许为空
term
varchar
50
学期名称
允许为空
5学期信息表Term
该信息表用于存储学期的基本信息,包括学期ID号(id)、学期名称(title)。
在已创建的数据库seekscore中,创建一个名为Term的数据表,并向表中添加字段如表4-6所示。
表4-6学期信息表Term
字段名
数据类型
长度
意义
说明
id
int
4
学期ID号
设为主键且自动编号
title
varchar
50
学期名称
允许为空
4.4公用模块
为了使成绩查询系统的结构清晰、代码规范,这里把系统中重复使用的代码写在一个页面内,当需要的时候直接加载进来即可。
该系统的公用模块包括一下界面。
4.4.1数据库连接页Conn.asp
系统中几乎所有页面都要进行数据库的连接,把数据库连接代码保存在页面Conn.asp中,可以避免重复编程。
Conn.asp的代码如下所示。
<%’数据库的连接
dimconn,connstr’定义conn和connstr变量
’连接数据库seekscore,设置用户名为sa,密码为123456,服务器为MYSERVER
connstr=”Driver={sqlserver};uid=sa;pwd=123456;
database=seekscore;SERVER=MYSERVER”
setconn=server.createobject(“ADODB.CONNECTION”)’创建一个ADOConnection对象
conn.openconnstr’打开数据库
%>
在文件中引用此文件时,把该文件作为头文件直接调用即可,代码如下所示。
--#includefile=”Conn.asp”-->
页面设计效果:
由于该项页面没有任何HTML代码,也没有任何ASP的输出显示代码,所以浏览该页面时没有任何效果。
4.4.2层叠样式文件Css.css
为了使成绩查询系统的界面美观、风格统一、修改方便,所以创建一个层叠样式表文件Css.css,对成绩查询系统所有网页文件中所标注的属性实行统一控制。
Css.css的代码如下所示:
--注释:
a:
link:
设置超级链接的正常状态;a:
visited:
设置访问过的超级链接状态;a:
active:
设置选中超级链接状态;a:
hove:
设置光标至超级链接上时的状态-->
--
A:
link{text-decoration:
none;color:
#0060FF}
A:
visited{text-decoration:
none;color:
#0060FF}
A:
active{text-decoration:
none;color:
#0060FF}
A:
hover{text-decoration:
underline;color:
#ff0000}
body{
font-size=9pt;
font:
12pxTahoma,Verdana,”宋体”;
}
TH{FONT-SIZE:
9pt}
TD{FONT-SIZE:
9pt}
-->
编辑页面代码时,在每个页面的和标记之间包含该样式表文件,就可以起到统一页面风格的作用,具体代码如下所示:
页面设计效果:
由于该页面没有任何HTML代码,也没有任何ASP的输出显示代码,所以浏览该页面时没有任何效果。
4.5学生登录模块
此模块包括学生登录和检查学生登录信息。
此模块负责根据学生所输入的学号和密码判断该用户是否合法,以及具有哪些操作权限,并根据不同的权限,返回包含不同模块的页面。
4.5.1系统首页Default.asp
Default.asp是系统首页,用于学生登录。
学生必须正确登录后,才能进入该系统查询成绩。
学生进入该页面,在该页面输入学号和密码,单击“登录”按钮即可。
页面显示效果如图4.7所示。
图4.7的页面控件及功能如表4-7所示。
图4-7系统首页页面控件及功能如表4-7所示
表4-系统首页页面控件及功能
对象
功能
表格
用于控制页面显示信息位置
表单
名称为form1,提交目标网页为Default.asp,数据采用隐式传递方式
文本框
名称为number,用于输入学生学号
密码框
名称为pwd,用于输入学生密码
按钮
单击“登录”按钮,提交表单
按钮
单击“重置”按钮,清空文本框和密码框内容
4.5.2页面代码分析
下面介绍Default.asp的主要代码。
页面代码分析如下所示。
--#includefile=”Conn.asp”--><%’调用conn.asp文件连接数据库%>
<%’调用Css.css文件定义页面风格%>
1创建网页表单
该页面设计:
利用网页表单把学生输入的学号和密码提交给目标网页,由目标网页验证用户输入的信息。
页面首先创建网页表单并对表单控件进行设置。
代码如下所示。
<%’创建表单form1,采用隐式传递,提交目标网页Default.asp并返图action值%>
action=ChkLogin”>
学生登录
学号:
<%’定义一个文本框控件number%>
密码:
<%’定义一个密码框控件pwd%>
<%’定义一个登录按钮%>
<%’定义一个重置按钮%>
转入管理员登录页面
<%’表单结束标记%>
2接收网页表单传递过来的数据并进行校验
页面设计:
定义ChkLogin()过程,用来检验学生的登录信息。
首先根据页面返回的action值来调用相应的过程,页面接收传递过来的表单数据,然后判断登录学号和密码的合法性。
若未通过密码和学号验证,则给出相应的提示信息,若通过了登录验证,则生成Session变量name(用户名)并跳转到学生成绩查询页Seek.asp。
代码如下所示。
<’根据页面返回的action消息值为ChkLogin,来调用ChkLogin过程
IfRequest(”action”)=”ChkLogin”Then
CallChkLogin()
EndIf
<%’定义ChkLogin()过程用来检查学生的登录信息,成功则跳转到Seek.asp,失败给出相应错误提示
SubChkLogin()
Dimnumber
Dimpwd
’获取传递过来的表单数据
number=Trim(Request.Form(”number”))’获取学生登录学号
pwd=Trim(Request.Form(”pwd”))’获取学生登录密码
’判断登录学号与密码的合法牲
Ifnumber=””Orpwd=””Then’如果密码或学号为空,则提示’请输入学号或密码!
’
Response.Write””
Response.End
Else
SetRs=Server.CreateObject(”ADODB.Recordset”)‘创建记录对象
’以接收的学生学号为条件,把学生信息从学生信息表中取出来
Sql=”Select*FromStudentWhereid=’”&number&”’”
Rs.OpenSql,conn,3,3’把取出的信息放在记录集对象中
’如果记录集对象中无此学号记录,则提示”学号错误,请重新输入!
”
IfRs.EOFOrRs.BOFThen
Respons.Write””
Response.End
’如果学号和密码正确,刚生成Session变量
ElseIfnumber=Rs(”id”)Andpwd=Rs(”pwd”)Then
Sessi