奖学金评定系统.docx
《奖学金评定系统.docx》由会员分享,可在线阅读,更多相关《奖学金评定系统.docx(14页珍藏版)》请在冰豆网上搜索。
奖学金评定系统
奖学金评定系统
摘要
随着计算机技术日渐成熟,它已经进入人类社会各个领域并发挥着越来越重要的作用。
而在我们的生活周边,也越来越能够感受到计算机技术给我们带来的巨大冲击和快捷。
作为计算机应用的一部分,学校使用计算机对学校的学生的信息进行管理,与手工管理相比拥有其无可比拟的优势。
例如:
检索快速、查找方便、可靠性高、存储量大、保密性好、信息保存时间长等。
这些优点能够极大地提高学校学生信息管理的效率,也是学校管理科学化、正规化的重要条件和标志。
奖学金评定系统采用目前比较流行的B/S结构,运用ASP.NET技术对系统的页面界面进行设计布局,用C#编程语言进行开发,系统界面图形化,操作简单明了,容易上手。
在数据处理方面,本系统采用SQLserver2005数据库系统来支持该系统的数据操作,能够更加有效地、方便地处理系统的数据。
系统的实现是多种技术的结合,图形化的操作界面使系统设计更具人性化,适合各类用户使用。
关键字:
奖学金评定系统,ASP.NET,C#,SQLserver2000
1引言
1.1背景
20世纪90年代以来,全球出现了一个对科技发展具有重要意义的事件:
互联网应用迅速发展,网络的出现改变了世界,改变了人类的生活。
Internet是世界上最大、信息资源最丰富的网络,他已经悄然地融入了我们的生活。
E-Mail地址、Web页地址、网上购物、网上挂号、网上拍卖、网上教学、网上股市实时行情与行情分析、评论、网上图书馆,在电视里、在报纸上已经有越来越多的人听到或看到他们的名字,越来越多的人开始了解和使用Internet。
随着技术的不断提高,计算机科学日渐成熟,使用计算机对信息资源进行管理,具有手工管理所无法比拟的优点,例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高信息资源管理的效率,也是科学化、正规化管理与世界接轨的重要条件。
在这个背景下,教育网站的制作也随之兴起,并日渐趋于成熟起来。
1.2系统预期功能
◆高级管理员(教师)
创建、修改、删除、查询班级信息
创建、修改、删除班级管理员
创建、修改、删除、查询院系
添加、修改、删除、普通管理员
查询各班学生信息
查询各班学生的奖学金信息
◆普通管理员(班委)
添加、修改、删除、查询本学年课程信息
审核同学的注册信息(是否允许注册,否则删除)
查询未审核的注册信息
审核同学的成绩(品得分、学习分、附加分)
查询本班同学的成绩信息
审核通过自动计算综合分,品德分
查询还未审核奖学金评分表的同学
查询还未填写奖学金评分表的同学
查询同学的奖学金评分表的信息
查询本班同学的基本信息
修改登录密码
查询本班和院系信息
◆学生用户
学生注册,并填写自己详细信息
查询课程、班级、院系信息
录入自己本学年各门课程的成绩
自评本学年的奖学金成绩
修改个人信息、密码
查询本班同学信息
◆其他功能
奖学金按最终分数由高到低的顺序进行排名。
统计功能做成报表形式,以便打印。
1.3可行性研究分析
1.3.1经济可行性
奖学金评定系统从纸张、人员分配等资源为学校节省大量的开支和时间,大大提高了资源的利用率,并且开发成本低。
1.3.2技术可行性
本系统以ASP.NET为平台,采用面向对象语言C#、MicrosoftSQLServer2005来开发完成。
用WEB技术实现管理员与用户之间的交流,无需下载安装,使用快捷简便。
1.4开发与运行环境
开发环境:
WindowsXP
运行环境:
Windows2000/XP/2003
2系统分析与设计
2.1需求分析
2.1.1功能需求分析
1.本系统主要功能用例图,如下图
2
3.系统总体功能结构如下:
图2-3系统主要功能框架
2.1.2性能需求分析
◆界面美观、操作人性化;
◆运行响应速度快,存储数据速度快;
◆有相应的错误信息提示;
◆系统的工作量大但要有限制;
◆维护、更新、扩展等功能的容易实现
2.1.3异常处理要求
◆运行时连接不上数据库,这个时候系统必须提示“数据库连接不上”的错误信息。
◆设备异常。
如打印机、显示器、读卡机不能正常工作。
这个时候系统必须提示错误。
◆磁盘故障导致无法写盘。
◆用户的权限不符合。
这个时候系统必须禁止该用户登陆
2.1.4接口要求
◆Windows标准接口
2.2概要设计
2.2.1功能需求与程序的关系
课程管理
成绩管理
用户管理
审核评价
院系管理
审核学生成绩
√
审核注册信息
√
修改查询课程信息
√
添加删除管理员
√
创建查询院系信息
√
创建修改班级信息
√
查询各班学生信息
√
查询成绩信息
√
图2-4系统功能与程序关系图
2.2.2本系统对数据的处理流程
图2-50层数据流图
2.3功能模块代码设计
2.3.1用户登录代码
判断用户身份的代码设计:
stringusername=TextBox1.Text.ToString();
Session["username"]=username;
if(s1=="老师")
Response.Redirect("main3.aspx");
elseif(s1=="用户")
Response.Redirect("main.aspx");
else
Response.Redirect("main2.aspx");
protectedvoidPage_Load(objectsender,EventArgse)
{
SqlConnectioncon=newSqlConnection();
con.ConnectionString="DataSource=.;InitialCatalog=ZHCP;IntegratedSecurity=sspi";
con.Open();
SqlCommandcmmd=newSqlCommand();
cmmd.Connection=con;
cmmd.CommandText="select班级,类型from用户表where账号='"+TextBox1.Text.Trim()+"'";
SqlDataReaderdr=cmmd.ExecuteReader();
if(dr.Read())
{
Session["userclass"]=dr["班级"].ToString();
Session["usertype"]=dr["类型"].ToString();
s1=dr["类型"].ToString();
}
dr.Close();
用户注册的代码设计
intsum=0;
SqlConnectionconn=newSqlConnection();
conn.ConnectionString="DataSource=.;InitialCatalog=ZHCP;IntegratedSecurity=sspi";
conn.Open();
SqlCommandcmd=newSqlCommand();
cmd.Connection=conn;
cmd.CommandText="selectcount(*)from用户表where账号='"+TextBox1.Text.Trim()+"'and密码='"+TextBox2.Text.Trim()+"'";
intn=Convert.ToInt16(cmd.ExecuteScalar());
2.3.2审核评价代码设计
intsum=0;
SqlConnectionconn=newSqlConnection();
conn.ConnectionString="DataSource=.;InitialCatalog=ZHCP;IntegratedSecurity=sspi";
conn.Open();
SqlCommandcmd=newSqlCommand();
cmd.Connection=conn;
cmd.CommandText="selectcount(*)from用户表where账号='"+TextBox1.Text.Trim()+"'and密码='"+TextBox2.Text.Trim()+"'";
intn=Convert.ToInt16(cmd.ExecuteScalar());
publicvoidp2() //获取品德分,附加分并显示在文本框中
{
conn=newSqlConnection();
conn.ConnectionString="DataSource=.;InitialCatalog=ZHCP;IntegratedSecurity=sspi";
conn.Open();
cmd=newSqlCommand();
cmd.Connection=conn;
cmd.CommandText="update成绩信息表set品德分="+Convert.ToSingle(TextBox10.Text)+",附加加分="+Convert.ToSingle(TextBox12.Text)+",综合分="+Convert.ToSingle(TextBox13.Text)+"where学号='"+TextBox1.Text+"'and学年='"+TextBox2.Text+"'";
cmd.ExecuteNonQuery();
conn.Close();
}
2.3.3学生管理代码设计
public partial class 教师_学生管理 :
System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string username = Convert.ToString(Session["username"]);
TextBox1.Text = username;
}
public void prompt()
{
conn = new SqlConnection();
conn.ConnectionString = "Data Source=.;Initial Catalog=ZHCP;Integrated Security=sspi";
conn.Open();
DataSet ds = new DataSet();
string ss = "select * from 学生信息表 ";
SqlDataAdapter da= new SqlDataAdapter(ss,conn);
da.Fill(ds);
if (ds.Tables[0].Rows.Count == 0)
{
DataRow dr = ds.Tables[0].NewRow();
ds.Tables[0].Rows.Add(dr);
}
GridView1.DataSource = SqlDataSource2;
GridView1.DataKeyNames = new string[] {"学号"};
GridView1.DataBind();
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
this.TextBox1.Text = this.GridView1.SelectedRow.Cells[2].Text.ToString();
this.TextBox2.Text = this.GridView1.SelectedRow.Cells[1].Text.ToString();
this.TextBox3.Text = this.GridView1.SelectedRow.Cells[3].Text.ToString();
this.TextBox4.Text = this.GridView1.SelectedRow.Cells[4].Text.ToString();
this.TextBox5.Text = this.GridView1.SelectedRow.Cells[5].Text.ToString();
this.TextBox6.Text = this.GridView1.SelectedRow.Cells[6].Text.ToString();
this.TextBox7.Text = this.GridView1.SelectedRow.Cells[7].Text.ToString();
this.TextBox8.Text = this.GridView1.SelectedRow.Cells[8].Text.ToString();
this.TextBox9.Text = this.GridView1.SelectedRow.Cells[9].Text.ToString();
}
SqlConnection conn;
SqlCommand cmd;
protected void Button2_Click(object sender, EventArgs e)
{
conn = new SqlConnection();
conn.ConnectionString = "Data Source=.;Initial Catalog=ZHCP;Integrated Security=sspi";
conn.Open();
cmd = new SqlCommand();
cmd.Connection = conn;
string insert = "insert into 学生信息表 values('" + TextBox2.Text + "','" + TextBox1.Text + "','" + TextBox3.Text + "','" + TextBox4.Text + "','" + TextBox5.Text + "','" + TextBox6.Text + "','" + TextBox7.Text + "','" + TextBox8.Text + "','" + TextBox9.Text + "')";
cmd.CommandText = insert;
cmd.ExecuteNonQuery();
prompt();
Response.Write("");
}
protected void Button3_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Data Source=.;Initial Catalog=ZHCP;Integrated Security=sspi";
conn.Open();
string strsql = "update 学生信息表 set 学号='" + TextBox2.Text + "',班级='" + TextBox1.Text + "',姓名='" + TextBox3.Text + "',性别='" + TextBox4.Text + "',职务='" + TextBox5.Text + "',入学时间='" + TextBox6.Text + "',专业='" + TextBox7.Text + "',联系电话='" + TextBox8.Text + "',宿舍='" + TextBox9.Text + "'where 学号='" + TextBox1.Text + "'";
SqlCommand cmd = new SqlCommand(strsql, conn);
cmd.ExecuteNonQuery();
Response.Write("");
}
protected void Button4_Click(object sender, EventArgs e)
{
conn = new SqlConnection();
conn.ConnectionString = "Data Source=.;Initial Catalog=ZHCP;Integrated Security=sspi";
conn.Open();
cmd = new SqlCommand();
cmd.Connection = conn;
string sqldelete = "delete from 学生信息表 where 学号='" + TextBox2.Text + "'";
cmd.CommandText = sqldelete;
cmd.ExecuteNonQuery();
Response.Write("");
}
}
2.4数据库配置文件
\Windows\Microsoft.Net\Framework\v2.x\Config 中
-->
providerName="System.Data.SqlClient" />
--
设置 compilation debug="true" 将调试符号插入
已编译的页面中。
但由于这会
影响性能,因此只在开发过程中将此值
设置为 true。
-->
--
通过 节可以配置 ASP.NET 使用的
安全身份验证模式,
以标识传入的用户。
-->
--
如果在执行请求的过程中出现未处理的错误,
则通过 节可以配置相应的处理步骤。
具体说来,
开发人员通过该节可以配置
要显示的 html 错误页
以代替错误堆栈跟踪。
-->
3数据库设计
3.1数据库表关系图
本系统所有数据表关系图如下所示:
图3-1数据表关系图
4结论
在这次为期一个多月的毕业设计中,经过初期的分析、中期的开发及后期的调试,如今奖学金评定系统终于设计完毕,调试并运行通过了。
在开发过程中我们本着实用、高效的原则,一切从实际情况出发。
整个过程中,从需求分析到设计、编码、测试,我们都力求规范化和文档化,努力让自己所学的知识都能运用到这次的毕业设计中,尽量保证整个系统的开发进度和质量,顺利完成这次的毕业设计。
但整个过程中,我们还是遇到了不少困难,比如:
在需求分析阶段中数据库的分析与设计,开发过程中数据库的连接,界面的设计等等。
在此要感谢我们的指导老师,每当我们遇到困难,向老师寻求帮助时,老师都会不厌其烦地给我们讲解分析。
在老师的指导下,我们不断地学习,不断地尝试,问题基本上都得到了解决。
经过一个多月的努力,我们的实践操作和动手应用能力得到了很大程度的提高。
但在这个过程中,也让我们认识到我们知识面的局限性。
专业知识不够全面,综合运用能力不够强,经验不足等问题。
经过这次考验,让我们认识到即使我们即将毕业,但我们的求学之路还没有结束。
在以后的工作中,我们还要不断学习,不断钻研,与时俱进,学习更多的专业知识,积累更丰富的经验。
才能有所成就,才不会辜负学校和老师的培育。
5参考文献
1、RobinDewson董明译,SQLServer2005基础教程,人民邮电出版社,2005-05
2、蒙祖强龚涛著,SQLServer2005应用开发大全,清华大学出版社,2007-09
3、赵丰年著,网页制作教程,北京人民邮电出版社,2006-06
4、曹斌,韩中孝主编,ASP.NET数据库系统项目开发实践,北京科学