毕业设计报告学生管理信息系统的设计与实现.docx
《毕业设计报告学生管理信息系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《毕业设计报告学生管理信息系统的设计与实现.docx(31页珍藏版)》请在冰豆网上搜索。
![毕业设计报告学生管理信息系统的设计与实现.docx](https://file1.bdocx.com/fileroot1/2023-2/3/aa304a30-8174-4db7-9a03-d445dddece97/aa304a30-8174-4db7-9a03-d445dddece971.gif)
毕业设计报告学生管理信息系统的设计与实现
毕业设计报告
学生管理信息系统的设计与实现
学生姓名
所在系
信息工程系
班级
电06计算机应用2班
专业
计算机应用技术
指导教师
2008年10月12日
第一章绪论
1。
1选题背景
伴随着信息社会的到来,信息的极大丰富必然要求人们适应信息社会,同时人们对信息和数据的利用与处理也已经进入了自动化、网络化和社会化的阶段。
因此,开发相关的管理信息系统已经成为各行各业的必要和必需了。
特别是在计算机操作系统具有了图形化的界面后,使用计算机已经不再是某些专业人员的专利,各行各业的人们不需要经过专业化的训练就能自如的在计算机上进行各种复杂的操作。
在当今的大学校园内,学生信息管理作为学校管理的一个重要方面,其可变因素多,管理方面烦琐复杂,因而形成了巨大的数据量。
以前的人工管理方式以人为方式处理这样大量的数据,对于老师和管理人员来说,不仅浪费了许多人力物力资源,而且还很容易出现差错。
随着电脑的普及与应用,现在的管理也需要提升一个档次。
即从原来的手工记录管理模式转变为电脑一体化。
这样会给老师和管理人员带来很多好处,并使他们工作的效率更高、效果更好,管理起来也更方便.
1。
2应用价值
如今大学校园里的学生不断增多,学生管理的工作也越来越繁琐,若使用学生管理信息系统来管理学生的信息,将会使工作变得简便快捷。
根据对我院学生信息管理工作的调查,发现在班主任和科任老师的日常工作中仍有许多工作是用纸笔来完成的,并且此方法记录的信息量较少,登记起来也很缓慢,也不方便以后的查询与更改,老师和同学们需要查询相关的信息时也非常不方便.为了使学生信息管理的工作更方便,更有效率,特开发此系统。
本系统就将实现这些功效,例如在全校范围内查找一名学生所在的班级,只需通过本系统的查询功能,输入该学生的学号或者是姓名再或者是身份证号码,即可很容易的找到他所在的班级,包括班主任及与之相关的信息.对于负责学生工作的老师来说,查看和管理各系部、班级的学生情况也将变得非常的简便。
此系统基本符合用户需求,实现资料修改、数据录入、数据删除、用户管理、班级管理、课程管理、学生相关信息管理和文件下载等功能。
1。
3设计的可行性
本系统采用B/S(Browser/Server)结构即浏览器和服务器结构.以目前的技术看,建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握.在此结构下,用户工作界面是通过WWW浏览器来实现的,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本.而不同的用户,可以从不同的地点,以不同的接入方式(LAN,WAN,Internet/Intranet)访问和操作共同的数据库。
所以本系统可以在任何地方进行操作而不用安装任何专门的软件。
只要有一台能联网的电脑就能使用,使得系统的维护成本更低廉,对设备的要求更低,客户端零维护。
系统的扩展也非常容易,再由系统管理员分配一个用户名和密码,就可以使用了。
第二章开发技术与工具简介
2。
1系统开发技术
2。
1。
1ASP。
NET
ASP.NET是一个Web开发平台,提供了构建企业级应用所需的服务、编程模型和软件基础结构,旨在用于快速开发Web应用程序。
ASP.NET应用是一些已编译的代码部件,由一些可重用且可扩展的组件组成,可以用第一类语言(包括C#、MicrosoftVisualBasic.NET、MicrosoftJScript.NET和J#)创建,并且可以访问.NETFramework中整个类的层次结构.ASP.NET是.NETFramework提供的所有Web相关功能的关键基础技术.
2.1。
2SQLSERVER2000
SQL语言结构简洁,功能强大,是高级的非过程化编程语言,允许用户在高层数据结构上工作。
SQL语言包含4个部分:
数据查询语言(SELECT语句)、数据操纵语言(INSERT,UPDATE,DELETE语句)、数据定义语言(如CREATE,DROP等语句)、数据控制语言(如COMMIT,ROLLBACK等语句)
2。
2系统开发工具
本系统的开发主要用到MicrosoftVisualStudio2005(以下简称VS2005)、Photoshop9.0和MicrosoftSQLServer2000(以下简称SQL2000).使用VisualC#语言做网页界面与底层数据库的互联。
第三章系统需求分析
3.1系统运行环境
本系统可以运行在Windows2000,XP,2003等windows平台.MicrosoftWindows2000至少安装了ServicePack2、WindowsXPProfessional和WindowsServer2003还需要IIS(InternetInformationServices)5.0以上的版本。
3.2系统基本功能需求
本设计要实现的是我校学生管理信息系统,在设计该系统时,应尽可能的贴近我校实际情况,便于用户操作。
系统在实现上应该具有如下功能:
1.系统要求用户必须输入正确的用户名和密码才能进入系统.
2.系统应该提供学生、教师、班级基本信息的录入、修改功能。
3.系统应提供学生的成绩、综合测评、奖惩信息的录入、修改和删除功能。
4.系统应提供上课期间对学生考勤情况的登记。
5.系统应该提供贫困学生情况的详细登记.
6.系统应提供查询功能,方便用户对学生相关信息的查询(要实现按多种条件的查询),并且能够实现一些表格的下载功能。
7.系统应提供课程分配的功能,为科任老师分配课程。
8.系统应提供增加、删除、修改用户账户和用户基本资料的功能。
3。
3用户界面需求
学生管理信息系统应提供简单、层次关系明了、清晰的操作界面,使用户一目了然.尽可能的为用户的录入、查询等操作功能提供方便。
3。
4系统安全性需求
学生管理信息系统中在管理权限上应当进行严格的控制,具体设计如下:
1.要想对该学生管理信息系统进行操作就应当具有某些操作权限。
没有权限的用户将不能通过任何渠道来登录该系统,查看该系统的任何信息和数据,以确保系统的严密性和安全性。
2.在上述要求的基础上可以为该系统的登录方式采用较为简单的方法:
用户标识和鉴定,即每次用户要进入系统时,由系统将用户提供的身份标识与系统内部记录的合法用户标识进行核对,通过鉴定后才提供对应的使用权,没有系统管理员或者普通用户(包括班主任、科任老师、学生)的用户名和密码任何人都不能登录该系统。
3.在具体实现时还应为系统管理员和普通用户设定不同的权限,系统管理员应当可以使用系统的所有模块,普通用户对于用户管理模块是无权使用的.
4.在此基础上,为登陆页面增加了验证码功能,即将一串随机产生的数字或符号,生成一幅图片,图片里加上一些干扰像素(防止OCR),由用户肉眼识别其中的验证码信息,输入表单提交网站验证,验证成功后才能使用某些功能.只有当用户输入的登录名、密码和验证码都正确无误时才能登陆系统,这样就给系统的安全性增强了一个档次。
而验证码可以防止有人利用机器人自动批量注册、对特定的注册用户用特定程序暴力破解方式进行不断的登陆、灌水。
3。
5数据库需求
数据库是数据管理的最新技术,是计算机科学的重要分支。
由于数据库具有数据结构化、最低冗余度、较高的程序与数据独立性、易于扩充、易于编制应用程序等优点,较大的信息系统都是建立在数据库设计之上的。
本系统用到的数据表格多,另外考虑到实际情况,学生基本信息的变动,还有教师信息的变化,故选用SQLServer作为数据库开发,而不用Access,主要是因为Access存放的记录,在实际运用中不适合此系统;而SQLServer是一种常用的关系数据库,能存放和读取大量的数据,管理众多并发的用户,故选用SQLServer数据库.
第四章系统整体功能分析与设计
4.1系统功能设计
4.1。
1系统总体功能设计
在整体设计中,我将学生管理信息系统分为六个大的模块:
学生基本信息管理模块、学生成绩管理模块、学生综合测评管理模块、困难补助管理模块、学生考勤管理模块、奖惩信息管理模块。
设置了四种用户角色:
系统管理员、班主任、任课教师和学生,其中班主任和任课教师的登录帐号(教师编号)由系统管理员分配,学生的登录帐号(学号)由其所在班级班主任分配。
教师和学生的基本信息由自己登录后进行完善.系统主要功能模块设计图如下:
图4—1系统主要功能模块图
4.1.2系统管理员功能设计
系统管理员是系统的超级用户,拥有的权限最大。
主要实现系统用户管理、班级管理、课程管理、公告管理、信息查询、信息修改等功能。
1.系统用户管理主要包括:
添加新用户(教师)、用户管理两个部分。
2.班级管理主要包括:
创建新班级、班级信息管理两部分。
3.课程管理主要包括:
开设新课程、课程信息管理两部分.
4.公告管理主要包括:
发布新公告、公告管理两部分。
5.信息查询主要包括:
按学号进行查询、按姓名进行查询、按身份证号进行查询、按系部名称进行查询、按专业名称进行查询、按班级进行查询、按年级进行查询、按学期进行查询、模糊查询、按不同关键字查询。
6.信息修改主要包括:
用户信息修改、班级基本信息修改、课程基本信息修改、公告信息修改这四个部分。
系统管理员功能分布图如下所示。
图4-2系统管理员主要功能图
4。
1。
3班主任功能设计
班主任主要是对学生相关信息进行管理,功能有个人信息管理、学生管理、学生成绩管理、奖惩信息管理、考勤管理、困难补助管理、信息查询、下载等功能.
1.个人信息管理主要包括:
登录密码的修改、个人基本信息的修改.
2.学生管理主要包括:
学生登记与查询,查询信息可按照不同的条件进行查询。
3.学生成绩管理:
学生期末成绩的录入与查询,学生综合测评的录入与查询,并实现学生综合成绩的下载功能。
4.奖惩信息管理:
实现每学期学生奖惩信息的登记、查询和删除功能。
5.考勤管理:
主要实现班级学生考勤情况的登记与管理功能。
6.困难补助管理:
贫困生基本信息登记与管理,困难补助情况登记与管理.
7.信息查询:
可以查看到本班学生的相关信息,系统公告,所有课程信息,任课教师的基本信息,可按照学号、姓名查询学生的信息。
可以按照课程号、课程名、学期、任课教师查询课程信息与任课教师信息.
班主任功能图如下所示.
4-3班主任主要功能图
4。
1.4任课教师功能设计
任课教师主要是负责其所授课班级学生期末成绩的录入,实现每学期课表查询与下载、所有课程信息查询、查看其他任课教师的基本信息、公告信息查看。
4—4任课教师主要功能图
4。
1。
5学生功能设计
学生主要功能是成绩查询与下载、课表查询与下载、,以及查询考勤信息、奖惩信息、困难补助相关信息等。
4—5学生主要功能图
4。
2数据库设计与说明
要实现系统的的所有功能模块,共需要设计十三个表,它们分别是:
系统用户表、学生基本信息表、教师基本信息表、班级信息表、课程表、学生成绩表、学生综合测评表、奖励信息表、处罚信息表、考勤表、困难补助情况表、贫困生档案表、公告信息表。
各表之间均有一定的关系,可以进行关联.
4.2。
1系统表
1。
系统用户表:
记录系统用户的登录名、密码、姓名及登录权限。
表4-1系统用户表(stLogin)
字段名
描述
数据类型
数据长度
NULL
Primarykey
ID
计数
Int
4
否
是
LoginName
登陆名
Nvarchar
50
否
否
Pwd
密码
Nvarchar
50
否
否
Name
用户姓名
Nvarchar
50
否
否
Role
用户权限
Char
10
否
否
2.学生基本信息表:
记录学生基本信息,包括其所在系部,学的什么专业,班主任是谁。
表4-2学生基本信息表(stStudent)
字段名
描述
数据类型
数据长度
NULL
Primarykey
ID
计数
Int
4
否
是
StuID
学号
char
10
否
是
StuName
姓名
Nvarchar
50
否
否
Sex
性别
Char
2
否
否
IdentityNum
身份证号码
Nvarchar
50
可以
否
Telephone
联系电话
Nvarchar
50
可以
否
Grade
年级
Nvarchar
50
否
否
DepName
系部名称
Nvarchar
50
否
否
Professional
专业
Nvarchar
50
否
否
Class
班级
Nvarchar
50
否
否
ClassMaster
班主任
Nvarchar
50
否
否
Birthday
出生日期
datetime
8
可以
否
HomeAddr
家庭住址
Nvarchar
100
可以
否
3.教师基本信息表:
记录教师的基本信息
4。
班级信息表:
记录学校所有班级的基本信息情况。
表4-3班级信息表(stClass)
字段名
描述
数据类型
数据长度
NULL
Primarykey
ID
计数
Int
4
否
是
DepName
系部名称
Nvarchar
50
否
否
Grade
年级
Nvarchar
50
否
否
Professional
专业名称
Nvarchar
50
否
否
Class
班级
Nvarchar
50
否
否
ClassID
班级编号
char
10
否
否
Teacher
班主任
Nvarchar
50
可以
否
Remark
备注
Nvarchar
300
可以
否
5.课程表:
详细记录学校开设的课程的基本情况。
表4—4课程表(stCourse)
字段名
描述
数据类型
数据长度
NULL
Primarykey
ID
计数
int
4
否
是
CourseID
课程号
char
20
否
是
Course
课程名
Nvarchar
50
否
否
TheTerm
学期
Nvarchar
20
可以
否
ClassID
班级编号
char
10
可以
否
Teacher
任课教师
Nvarchar
50
可以
否
Times
课时
char
10
可以
否
xuefen
学分
char
10
可以
否
CourseAddr
上课地点
Nvarchar
20
可以
否
CourseTime
上课时间
char
10
可以
否
Coursejieshu
上课节数
char
10
可以
否
6.学生成绩表:
详细记录学生各门课程的期末成绩。
表4—5学生成绩表(stScore)
字段名
描述
数据类型
数据长度
NULL
Primarykey
StuID
学号
char
10
否
是
StuName
姓名
Nvarchar
50
否
否
CourseID
课程号
char
20
否
是
Course
课程名
Nvarchar
50
否
否
Score
成绩
int
10
否
否
7。
学生综合测评表:
详细的统计每学年学生的综合成绩情况.
8.奖励信息表:
详细记录每年度学生的获奖信息。
表4-6奖励信息表(stReward)
字段名
描述
数据类型
数据长度
NULL
Primarykey
ID
计数
int
4
否
是
StuID
学号
char
10
否
否
StuName
姓名
Nvarchar
50
否
否
TheTerm
学期
Nvarchar
20
否
否
Reward
获奖
Nvarchar
200
否
否
9。
处罚信息表:
详细记录每年度学生的处罚信息。
10.考勤表:
详细记录各个班级每天的考勤情况。
表4—7考勤表(stKaoqin)
字段名
描述
数据类型
数据长度
NULL
Primarykey
StuID
学号
char
10
否
是
StuName
姓名
Nvarchar
50
否
否
TheTime
时间
DateTime
8
否
否
TheReasons
原因
Nvarchar
200
否
否
Grade
年级
Nvarchar
50
否
否
Class
班级
Nvarchar
50
否
否
11。
困难补助情况表:
详细记录困难补助的情况.
表4—8困难补助情况表(stPovertyassistance)
字段名
描述
数据类型
数据长度
NULL
Primarykey
ID
计数
int
4
否
是
StuID
学号
char
10
否
否
StuName
姓名
Nvarchar
50
否
否
Grade
年级
Nvarchar
50
否
否
DepName
系部名称
Nvarchar
50
否
否
Class
班级
Nvarchar
50
否
否
Subsidy
补助情况
Nvarchar
100
否
否
TheTerm
学期
Nvarchar
20
否
否
12。
贫困生档案表:
记录家庭情况困难学生的家庭情况.包括家庭住址、家庭成员、家庭收入以及所在年级、系部、班级等等。
13。
公告信息表:
记录一些重要的公告或者通知信息。
表4-8公告信息表(stNotice)
字段名
描述
数据类型
数据长度
NULL
Primarykey
NoticeID
公告编号
int
4
否
是
Title
公告标题
Nvarchar
300
可以
否
Content
公告内容
Nvarchar
800
可以
否
Depart
公告部门
Nvarchar
50
可以
否
TheTime
发布时间
Datetime
8
可以
否
4。
3视图说明
4。
3.1视图stCourseTable_VIEW
该视图的作用是查询学期课程信息,主要包括课程的课程号,课程名,任课教师,开课地点,开课时间,课时,开课班级等字段。
并且该视图可作为其它信息查询的源数据,起到精简代码量,简化对用户权限的管理的作用。
4.3.2视图stScore_VIEW
该视图的作用是查询出学生在各个学期各门课程的期末成绩,主要包括学生的学号,姓名,班级,所学课程的课程号,课程名,成绩,学分等字段。
第五章学生管理信息系统的实现
5。
1数据库的连接
由于系统的绝大部分操作和功能的实现都是在对数据库进行操作,那么跟数据库的连接是非常重要的.为了方便和操作的简单化,在连接数据库时才用了一个“连接类"即“DBconnect。
cs”其核心方法为:
publicstaticSqlConnectionconnecttodatabase()
{SqlConnectionconn=newSqlConnection("server=。
;database=students;uid=ww;pwd=sa”);
returnconn;
}
在我们需要与数据库进行连接时,就调用该方法,若要改变数据库的连接则只需对该方法进行修改,这就减少了代码量。
5。
2系统用户登录
登录页面是本系统的开始部分,它的主要功能是验证用户是否是合法、是什么角色并实现不同身份进入不同的管理页面执行不同身份的操作。
登录窗口如下:
图5—1登录窗口
其中验证码是通过一个验证页面(imagecode.aspx)来实现的。
只有当“用户名"、“密码"和“验证码”均正确的情况下,方可进入系统.
5.3数据录入
系统涉及到的数据录入包括录入学生成绩、班级考勤情况、奖惩信息以及困难补助情况的登记等等,但是这些方法都是相通的.所以我以学生成绩的录入为例说明一下该功能的实现。
其页面如下:
图5—2学生成绩录入
这是任课教师录入其授课班级学生的期末成绩,其中一半的数据是通过鼠标点击来完成录入的,这就方便了操作人员也节省了更多的时间。
实现该功能的主要代码如下:
if(tbscore.Text==””)
{
lblerror。
Text="成绩不能为空!
";
}
elseif(Int32。
Parse(tbscore。
Text)>100)
{
lblerror.Text=”成绩不能超过100分!
”;
tbscore。
Text="”;
}
elseif(Int32.Parse(tbscore。
Text)<0)
{
lblerror。
Text=”成绩不能为负数!
";
tbscore。
Text=””;
}
else
{
conn.Open();
SqlCommandcmd=newSqlCommand("selectcount(*)fromstScorewhereCourseID=’”+DropDowncourseid。
SelectedValue+"’andStuID='"+DropDownstuid.SelectedValue+”'”,conn);
intcount=Convert。
ToInt32(cmd.ExecuteScalar());
if(count〉0)
{
lblerror。
Text="该学生的成绩已经输入!
";
tbscore.Text="";
tbscore.Focus();;
}
else
{
SqlCommandcomd=newSqlCommand("insertintostScore(StuID,StuName,CourseID,Course,Score)values('”+DropDownstuid。
SelectedValue.ToString()+”’,'"+tbstuname.Text+"',’"+DropDowncourseid。
SelectedValue。
ToString()+”’,'"+DropDowncourse。
SelectedValue.ToString()+”’,'"+tbscore.Text.Trim()+"')”,conn);
comd。
ExecuteNonQuery();
Response。
Write("')”);
lblerror.Text=””;
conn。
Close();
}
}
其中“课程号”、“课程名”、“学号”和“姓名”这几项数据的实现都是通过