《学生奖惩信息管理系统》尚.docx
- 文档编号:23439092
- 上传时间:2023-05-17
- 格式:DOCX
- 页数:17
- 大小:69.53KB
《学生奖惩信息管理系统》尚.docx
《《学生奖惩信息管理系统》尚.docx》由会员分享,可在线阅读,更多相关《《学生奖惩信息管理系统》尚.docx(17页珍藏版)》请在冰豆网上搜索。
《学生奖惩信息管理系统》尚
软件工程专业14级
《数据库原理》课程设计报告
设计题目:
学生奖惩信息管理系统
学院:
数学与计算机科学学院
专业:
软件工程
学号:
1060914014043
姓名:
马尚
指导老师:
郭协朝
日期:
2016年5月13日
目录
一学生奖惩信息管理系统的需求分析3
系统研究的背景和意义3
学校具体需求分析3
二设计用到的主要技术4
设计环境4
三总体设计:
系统的主要模块结构及调用关系5
功能模块说明5
后台数据库设计5
四详细设计:
系统的主要函数和关键代码5
数据表6
关键代码7
五完成的情况12
六简要的使用说明13
七本系统优点13
八总结:
特色、经验、教训和感受13
九参考文献14
一学生奖惩信息管理系统的需求分析
系统研究的背景和意义:
在传统模式下利用人工进行学生信息管理,存在着较多的缺点,如:
效率底,保密性差,时间一长将产生大量的文件和数据,更不便于查找,更新,维护等。
诸如这些情况,令学校管理者对学生的信息管理带来了很大困难,严重影响了教育工作者的工作效率。
随着科学技术的不断提高,计算机科学日渐成熟,使用日趋成熟的计算机技术来代替传统的人工模式,来实现学生信息的现代化管理,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学生信息进行管理,具有着手工管理所无法比拟的优点.例如:
检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、寿命长、成本低、便于打印等。
这些优点能够极大地提高学生信息管理的效率,也是学校的科学化、正规化管理,与世界接轨的重要条件。
因此,开发这样一套管理软件成为很有必要的事情。
在实际管理工作中,往往由于记录的数量多、管理复杂、可连续性差,造成学生管理的混乱。
对这一混乱,最好的解决办法就是借助计算机技术和数据库管理系统,对整个学生管理进行记载,并实行电子化管理。
本课题的目的就是开发“学生信息档案管理系统”,通过这一系统来掌握学生的管理情况,实现学生信息管理的电子化,提供一个电子化的学生管理平台。
本系统针对学校学生信息的特点以及管理中实际需要而设计,能够有效地实现学生信息管理的信息化,减轻管理人员的工作负担,高效率、规范化地管理大量的学生信息,并避免人为操作的错误和不规范行为。
学校具体需求分析
(1)系统用户管理功能。
有两种用户:
一种是学生用户,这种用户根据姓名和学号进入系统之后,可以查询自己的奖惩资料信息;另一种是管理员用户,这种用户根据用户名和密码进入系统之后,可以查询所有学生的资料信息,同时可以添加、修改和删除学生的资料,还能添加、修改和删除学生用户和管理员用户的用户名和密码。
(2)学生基本资料管理功能。
录入学生的学号、姓名、性别、专业、班级等信息,同时支持对学生资料的查询、添加、修改和删除功能。
(3)奖惩基本信息管理功能。
录入奖励的名称、颁奖单位、级别;录入处罚的名称、处罚单位、级别等。
同时支持对奖惩资料的查询、添加、修改和删除功能。
(4)学生奖惩信息管理功能。
录入学生的获奖信息和处罚信息,包括学号、获奖名称或处罚名称、单位、时间,状态(是否撤消)等,同时支持对奖惩信息的查询、添加、修改和删除功能。
系统功能模块结构图(见下图)
二设计用到的主要技术
设计环境
(1)硬件:
一台电脑
(2)软件:
WindowsNT/WindowsXP,ASP.NET,C#.net,SQL2005数据库等相关软件。
三总体设计:
系统的主要模块结构及调用关系
功能模块说明
1.管理员管理模块
(1)能从后台实现添加管理员,删除管理员,修改管理员的信息。
(2)前台实现管理员登陆验证功能,并能更新管理员的密码。
1.学生基本信息管理模块
(1)能从后台实现添加学生。
输入学生基本信息时,输入学号后既判断有无该生,如有则不用输入并显示出该生的学号、姓名等基本信息;无该生的信息则输入。
要求专业和班级从下拉列表中选择,政治面貌用单选按钮实现。
(2)管理员能从后台查询、修改学生的基本信息。
查询时可以多条件查询,条件有专业、班级、学号等。
可分页显示学生信息,并可选择编辑修改某生的信息。
(3)学生能从前台输入学号查询自己的基本信息。
3.奖惩信息管理模块
(1)管理员能从后台添加奖励、处罚的各种基本信息。
(2)管理员能从后台查询、修改奖励、处罚的基本信息。
(3)学生能从前台查询奖励、处罚的基本信息。
4.学生奖惩信息管理模块
(1)管理员能从后台添加学生的奖励或处罚信息。
输入学号后如无该生的基本信息,则先输入该生的基本信息。
要求奖励或处罚的名称、单位、级别、状态(有效或撤消)从列表中选择。
(2)管理员能从后台查询、修改学生的奖励或处罚信息。
查询时可以多条件查询,条件有专业、班级、学号等。
可分页显示查询到信息,并可选择编辑修改某生的奖励或处罚信息。
(3)学生能从前台查询自己的奖励、处罚的基本信息。
后台数据库设计
系统设计了7个数据表:
管理员信息表adminUsers、专业基本信息表zhuanye,班级基本信息表class,学生基本资料表studUsers、奖励基本资料表jangli,处罚基本资料表chufa,学生获奖信息表studjl,学生处罚信息表studcf。
四详细设计:
系统的主要函数和关键代码
系统设计了7个数据表:
管理员信息表adminUsers、专业基本信息表zhuanye,班级基本信息表class,学生基本资料表studUsers、奖励基本资料表jangli,处罚基本资料表chufa,学生获奖信息表studjl,学生处罚信息表studcf。
具体结构如表1至表8所示。
数据表
表1管理员数据表adminUsers
字段名
类型
长度
备注
adminID
自动增长
管理员编号(主键)
adminName
varchar
20
管理员用户名
adminPwd
varchar
20
管理员密吗
表2专业基本信息表zhuanye
字段名
类型
长度
备注
zhuanyeID
Char
4
专业编号(主键)
zhuanyeName
varchar
20
专业名称
表3班级基本信息表class,
字段名
类型
长度
备注
classID
char
6
班级编号(主键)
zhuanyeID
char
4
专业编号(外键)
className
varchar
20
班级名称
表4学生基本信息表studUsers
字段名
类型
长度
备注
studNum
char
10
学生学号(主键)
studName
varchar
20
学生姓名
studSex
char
2
学生性别
zhuanyeID
Char
4
专业编号(外键)
ClassID
char
6
班级编号(外键)
zhengzhi
char
4
政治面貌
表5奖励基本信息表jangli
字段名
类型
长度
备注
jlID
char
2
奖励类型编号(主键)
jlName
varchar
40
奖励名称
jlDanwei
varchar
40
奖励单位
jlGrade
char
10
奖励级别
表6处罚基本信息表chufa
字段名
类型
长度
备注
cfID
char
2
处罚类型编号(主键)
cfName
varchar
40
处罚名称
cfDanwei
varchar
40
处罚单位
cfGrade
char
10
处罚级别
表7学生获奖信息表studjl,
字段名
类型
长度
备注
studjlID
自动增长
奖励编号(主键)
studNum
char
10
学生学号(外键)
jlID
char
2
奖励类型编号(外键)
jlTime
datetime
获奖励时间
jlCailiao
varchar
50
奖励材料的链接地址
jlYouxiao
char
1
奖励是否有效(默认有效Y)
jlChexiaoTime
datetime
奖励撤消时间
表8学生处罚信息表studcf
字段名
类型
长度
备注
StudcfID
自动增长
处罚编号(主键)
studNum
char
10
学生学号(外键)
cfID
char
2
处罚类型编号(外键)
cfTime
datetime
受处罚时间
cfCailiao
varchar
50
处罚材料的链接地址
cfYouxiao
char
1
处罚是否有效(默认有效Y)
cfChexiaoTime
datetime
处罚撤消时间
关键代码
1.与数据库的连接操作,建立公共类DB,实现与数据库studjc的连接
publicclassDB
{
publicstaticSqlConnectionconcreate()
{SqlConnectioncon=newSqlConnection("server=SQ服务器名;database=studjc;uid=sa;pwd=密码;");
returncon;
}
}
2.管理员用户登录验证
protectedvoidbtnLogin_Click(objectsender,EventArgse)
{
Stringusername=this.txtUserName.Text;
stringuserpwd=this.txtUserPwd.Text;
SqlConnectionmycon=DB.concreate();
SqlCommandmycmd=newSqlCommand();
mycmd.Connection=mycon;
mycmd.CommandText="selectcount(*)fromadminUserswhereadminName='"+username+"'andadminPwd='"+userpwd+"'";
mycon.Open();
intcount=Convert.ToInt32(mycmd.ExecuteScalar());
if(count>0)
{
登陆成功!
进入后台管理界面
}
else
{登陆失败!
重新登陆或退出系统。
}
}
管理员登陆界面如图1所示
图1管理员登陆界面
3.管理管理员用户关键代码
privatevoiddatabind()//数据邦定,分页显示
{
stringconnectionstring="server=SQl服务器名;database=studjc;uid=sa;pwd=密码";
SqlConnectionmyConnection=newSqlConnection(connectionstring);
SqlCommandmyCommand=myConnection.CreateCommand();
myCommand.CommandText="select*fromdbo.adminUsers";
SqlDataAdaptermyDataAdapter=newSqlDataAdapter();
myDataAdapter.SelectCommand=myCommand;
DataSetmySet=newDataSet();
myDataAdapter.Fill(mySet,"adminUsers");
DataList1.DataSource=mySet.Tables["adminUsers"].DefaultView;
DataList1.DataBind();
}
protectedvoidPage_Load(objectsender,EventArgse)//初始化时,添加新管理员的输入框为空
{
if(!
IsPostBack)
{
databind();
this.TbuserName.Text="";
this.TbuserPwd.Text="";
}
}
//编辑管理员信息
protectedvoidDataList1_EditCommand(objectsource,DataListCommandEventArgse)
{
DataList1.EditItemIndex=e.Item.ItemIndex;
databind();
}
//取消操作管理员的信息
protectedvoidDataList1_CancelCommand(objectsource,DataListCommandEventArgse)
{
DataList1.EditItemIndex=-1;
databind();
}
//更新管理员的信息
protectedvoidDataList1_UpdateCommand(objectsource,DataListCommandEventArgse)
{
stringusername=((Label)e.Item.FindControl("LbUsername1")).Text;
connstr=DB.concreate();
SqlConnectionmyConn=newSqlConnection(connstr);
SqlCommandocd=myConn.CreateCommand();
stringuserpwd=((TextBox)e.Item.FindControl("Textbox1")).Text;
ocd.CommandText="updateloginusersetuserPwd='"+userpwd+"'whereuserName='"+username+"'";
try
{
myConn.Open();
ocd.ExecuteNonQuery();
}
catch(Exception)
{
Response.Write("");
}
finally
{
myConn.Close();
}
}
//添加新的管理员用户
protectedvoidBtnAdd_Click(objectsender,EventArgse)
{
stringusername=this.TbuserName.Text;
stringuserpwd=this.TbuserPwd.Text;
connstr=DB.concreate();
SqlConnectionmyConn=newSqlConnection(connstr);
SqlCommandocd=myConn.CreateCommand();
//插入新管理员用户前,先检查是否存在重名的用户,若存在,则提示该用户名已存在,重新输入一个新的用户名,另外要求验证用户名和密码的格式合法性,不合法重新输入。
ocd.CommandText="insertintoadminUsers(userName,userPwd)values(@name,@pwd)";
ocd.Parameters.Add("@name",SqlType.Char,20,"adminName");
ocd.Parameters.Add("@pwd",SType.Char,10,"adminPwd");
ocd.Parameters["@name"].Value=username;
ocd.Parameters["@pwd"].Value=userpwd;
myConn.Open();
ocd.ExecuteNonQuery();
myConn.Close();
databind();
}
//删除选中的管理员信息
protectedvoidDataList1_DeleteCommand(objectsource,DataListCommandEventArgse)
{
stringusername=((Label)e.Item.FindControl("LbUsername")).Text;
connetr=DB.concreate();
SqlConnectionmyConn=newSqlConnection(connstr);
SqlCommandocd=myConn.CreateCommand();
ocd.CommandText="delete*fromadminUserswhereadminName='"+username+"'";
//添加删除确认框
myConn.Open();
ocd.ExecuteNonQuery();
myConn.Close();
databind();
}
4.学生基本信息的管理功能
用datalist控件显示已有的学生的信息,在datalist中添加了编辑修改按钮,在窗口中设置了添加新学生的输入框和添加按钮。
privatevoiddatabind()//数据邦定,分页显示学生信息
{
stringconnectionstring="server=SQl服务器名;database=studjc;uid=sa;pwd=密码";
SqlConnectionmyConnection=newSqlConnection(connectionstring);
SqlCommandmyCommand=myConnection.CreateCommand();
myCommand.CommandText="select*fromdbo.adminUsers";
SqlDataAdaptermyDataAdapter=newSqlDataAdapter();
myDataAdapter.SelectCommand=myCommand;
DataSetmySet=newDataSet();
myDataAdapter.Fill(mySet,"adminUsers");
PagedDataSourcepds=newPagedDataSource();
pds.DataSource=mySet.Tables["adminUsers"].DefaultView;
pds.AllowPaging=true;
pds.PageSize=3;
intCurrentPageNo;
if(Request.QueryString["page"]!
=null)
CurrentPageNo=Convert.ToInt32(Request.QueryString["page"]);
else
CurrentPageNo=1;
pds.CurrentPageIndex=CurrentPageNo-1;
this.LabelCount.Text="鍏?
+pds.PageCount.ToString()+"椤?
;
this.LabelCurrent.Text="绗?
+CurrentPageNo.ToString()+"椤?
;
if(!
pds.IsFirstPage)
HyperLinkUp.NavigateUrl=Request.CurrentExecutionFilePath+"?
Page="+Convert.ToString(CurrentPageNo-1);
if(!
pds.IsLastPage)
HyperLinkDown.NavigateUrl=Request.CurrentExecutionFilePath+"?
Page="+Convert.ToString(CurrentPageNo+1);
DataList1.DataSource=pds;
DataList1.DataBind();
}
}
5.查询到的学生奖励或处罚信息中,需要设置到证明材料的超链接。
可以用gridview控件实现信息的显示,设置超级链接列链接到证明文件上。
6.输入学生基本信息时,首先输入学号,对输入的学好进行验证,如果数据库中已有该学号的学生基本信息,则提示该学号、姓名的学生信息已存在,并显示出来,不用再输入了。
7.后台管理界面,采用框架结构的页面,上框架显示网站的标题,左框架是树型结构,显示后台管理的功能,选择相应的管理项目后,对应的管理界面在右框架内显示和实现管理功能。
五完成的情况
经过大家的不断努力最后基本功能完成,但是还有很多需要完善和优化的地方,后期会有针对性的优化完善,尽量减少BUG。
六简要的使用说明
学生奖惩信息管理系统主要需要实现对学生基本信息和获奖、处分信息资料的管理。
具体要实现的功能包括:
(1)系统用户管理功能。
有两种用户:
一种是学生用户,这种用户根据姓名和学号进入系统之后,可以查询自己的奖惩资料信息;另一种是管理员用户,这种用户根据用户名和密码进入系统之后,可以查询所有学生的资料信息,同时可以添加、修改和删除学生的资料,还能添加、修改和删除学生用户和管理员用户的用户名和密码。
(2)学生基本资料管理功能。
录入学生的学号、姓名、性别、专业、班级等信息,同时支持对学生资料的查询、添加、修改和删除功能。
(3)奖惩基本信息管理功能。
录入奖励的名称、颁奖单位、级别;录入处罚的名称、处罚单位、级别等。
同时支持对奖惩资料的查询、添加、修改和删除功能。
(4)学生奖惩信息管理功能。
录入学生的获奖信息和处罚信息,包括学号、获奖名称或处罚名称、单位、时间,状态(是否撤消)等,同时支持对奖惩信息的查询、添加、修改和删除功能。
七本系统优点
(1)、界面友好
(2)、由于时间的关系,本系统制作可能简单了点,缺少了很多控件而使系统不是很完整。
八总结:
特色、经验、教训和感受
没想到两个星期就这样的过去了,这两个星期过得如此的充实,虽然天很热,最后经过大家的努力老师和同学的帮助,最终还是做出来了。
基本功能可以实现,这点让大家感到很欣慰。
但是还有很多需要完善的地方,在后期的使用过程中需要不断的优化和升级。
相信这是一个长期的过程,也是一个不断发展的过程,同时也需要我们的不断努力。
两个星期的时间让我收获了很多很多,不仅仅是知识,更是良好的的习惯和团队精神。
九参考文献
(1)钱雪忠,罗海驰,钱鹏江。
SQLServer2005实用技术及案例系统开发。
北京:
清华大学出版社,2007
(2)施伯乐,丁宝康。
数据库技术。
北京:
科学出版社,2002
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生奖惩信息管理系统 学生 奖惩 信息管理 系统