资源描述
aspnet课设学生成绩管理系统
38
2020年4月19日
文档仅供参考,不当之处,请联系改正。
上海电机学院
课程设计报告
课程名称 动态网站开发ASP.NET
设计题目 成绩管理系统
专 业 网络工程
目录
需求分析 1
1.1 市场需求 1
1.1.1 市场调研 1
1.1.2 用户分析 1
1.2 功能需求 1
1.2.1 系统功能需求 1
数据库设计 2
2.1 概念设计 2
2.1.1 实体要求 2
2.1.2 实体图 2
2.2 数据库结构设计 3
2.2.1 数据字典 3
2.2.2 数据库实现 4
概要设计 5
3.1 系统总体设计 5
3.1.1 系统功能模块划分 5
3.1.2 系统模块功能清单 5
详细设计与实现 6
4.1 网站结构实现 6
4.1.1 登录注册页面 6
4.1.2 数据库连接 8
4.2 网页编码实现 8
4.2.1 学生注册页面 8
4.2.2 老师注册页面 10
4.2.3学生学习修改页面 12
4.2.4 老师信息修改页面 14
4.2.5 老师录入成绩页面 15
4.2.6学生成绩查询 17
4.2.7 老师统计成绩查询 18
心得体会 21
参考文献 22
需求分析
1.1 市场需求
为了设计开发出真正满足用户需求的软件产品,首先必须知道用户的需求。本次设计从市场、用户和功能等方面入手,争取发觉出用户的真正需求,为设计出实用的软件产品打下基础。
1.1.1 市场调研
当前,各高校对于学生成绩管理与长远发展所具备的重要性都已经有了明确的认识,对于加强学生成绩管理水平的需求已经产生。随着企业规模的扩大和市场竞争的更加激烈,各类企业都愈来愈认识到人力资源管理的重要性及提升企业自身人力资源管理水平的迫切性,而人力资源管理水平的提升不但需要高素质的管理人员,而且也需要信息化工具进行辅助。学生成绩管理系统也就应运而生了。
经过对电机学院学生成绩管理实际情况的了解得出结论:学生成绩管理系统作为一种辅助性工具,首先应该能够帮助用户完成一系列的数据组织与处理,以减少用户手动操作;其次,它还应该具备简单、易操作的特点,以帮助用户提高效率。
1.1.2 用户分析
总体规划由教务人员在学生成绩信息管理系统中完成。教务处所需要的基本数据的维护包括成绩的添加,修改及对各项信息的变动等操作。每当新的年到来,教务人员首先加入年级信息,然后编排班级,再对来学校的学生进行基本的信息录入,新生入学后由教务人员在学生成绩管理系统中完成新学生信息的维护。教务处协调各教研室和任课老师进行课程安排,录入课程信息。每举行一次考试后由任课老师对本科的学生给出成绩,由教务人员录入系统。各位同学对以上录入的信息能够根据自己的需要进行适当的查询。
因此学生成绩管理系统的首要用户是教务人员,要完成各种信息的录入、查询和更新等操作;其次还有任课老师,能够查询、修改自己的课程信息,甚至对学生成绩的修改;最后,学生也是不可或缺的用户,学生能够登陆查询个人信息,查询各科成绩。
1.2 功能需求
开发学生成绩管理系统的首要目的就是对学生成绩进行合理有效的管理。
1.2.1 系统功能需求
学生管理系统首先应该具有学生成绩的录入、查询、更新和统计处理等功能;再者,系统应该能够对学生信息、课程信息进行组织管理;另外,系统必须就以上功能对不同用户进行权限的划分管理。
对于教务人员用户来说,系统能够帮助用户进行学生成绩的录入、查询和更新,能够帮助用户对学生信息、课程信息进行相应的组织管理操作,最好还能够帮助教务人员发布公告信息。对于任课教师来说,系统能够帮助她们查看自己的课程、班级成绩等信息,应该能够帮助查询相应学生成绩信息。对于学生来说,系统应该能够帮助学生查询自己的个人信息、修改部分个人信息,应该能够帮助学生进行个人成绩以及课程信息的查询。
数据库设计
2.1 概念设计
本章在需求分析的基础上对学生成绩管理系统的数据库进行设计,设计原则是实体合理、联系精简、范式标准等。
2.1.1 实体要求
成绩管理系统数据库中有三个实体,她们的属性如下:
老师:教师用户名、教师密码、科目名、主键自动加一
成绩:学号、姓名、班级、学期、科目名、成绩、录入时间、主键自动加一
学生信息:学号、姓名、性别、班级、专业、身份证号、家庭住址、出生时间、用户名、密码
2.1.2 实体图
学生信息实体图
学生信息
密码
用户名
出生时间
学号
姓名
性别
家庭住址
身份证号
专业
班级
学生信息实体图
成绩实体图如图。
成绩
录入时间
学号
姓名
性别
成绩
科目名
学期
班级
图 成绩实体图
老师实体图如图所示。
老师
教师用户名
教师密码
科目名
图 老师实体图
2.2 数据库结构设计
2.2.1 数据字典
建立如表1所定义的成绩表,用于存储成绩信息。
表名:chengji 成绩表
字段名
字段类型(大小
说明
id
Int(4)
主键自动加一
xh
Nvarcahr(50)
学号
xm
Nvarcahr(10)
姓名
Bj
Nvarcahr(50)
班级
xq
Nvarcahr(50)
学期
kmm
Nvarcahr(50)
科目名
cj
Int
成绩
rq
datetime
录入时间
表1 成绩表
建立如表2所定义的用户表,用于存储老师信息
表名:teacher 用户表
字段名
字段类型(大小
说明
id
Int(4)
主键自动加一
teacheruid
Nvarcahr(50)
教师用户名
teacherpwd
Nvarcahr(50)
教师密码
kmm
Nvarcahr(50)
科目名
表2 用户表
为实体“学生”建立如表3所定义的学生信息表,用于存储学生信息。
表名:student 学生信息表
字段名
字段类型(大小
说明
xh
Nvarcahr(50)
学号
xm
Nvarcahr(10)
姓名
xb
Nvarcahr(2)
性别
Bj
Nvarcahr(50)
班级
Zy
Nvarcahr(50)
专业
Sfzh
Nvarcahr(50)
身份证号
jtdz
Nvarcahr(100)
家庭地址
Rq
datetime
出生时间
username
Nvarcahr(50)
用户名
password
Nvarcahr(50)
密码
表2-3 学生表
2.2.2 数据库实现
在SQL Server 中创立为数据库。按照表1~3在数据库中新建用户表、学生表、和成绩表。
概要设计
3.1 系统总体设计
经过需求分析,已经明确系统必须要“做什么”,接下来就要确定“怎么做”了。系统总体设计的一个很好的方法就是要按照系统要实现的功能进行模块划分,把联系紧密的功能实现划分到相同模块中,模块之间的划分遵循“高内聚、低耦合”的原则。
3.1.1 系统功能模块划分
按照系统索要完成的功能把学生成绩管理系统划分为登陆注册模块、学生信息管理模块、课程信息管理模块和学生成绩管理模块四大模块。模块划分如图3-1所示。
图3-1 系统功能模块划分
3.1.2 系统模块功能清单
对图3-1所示的系统各个功能模块进行细化,得到如表3-1所示的功能模块清单。
表3-1 系统功能模块清单
模块编号
模块名称
模块功能描述
M1
新账户注册模块
新用户的注册
M2
已有账户登陆模块
账户登陆验证
M3
学生信息录入模块
录入学生信息
M4
学生信息更新模块
已有学生信息的查删改
M7
学生成绩录入模块
录入学生成绩
M8
学生成绩更新模块
学生成绩查删改
M9
成绩信息统计模块
统计学生成绩信息
详细设计与实现
4.1 网站结构实现
运行Microsoft Visual Studio 软件,新建名为“Web_Exam”的空网站。根据3.2节设计结果,在网站下新建母版页及网页,进行一系列的详细设计、编码实现。
4.1.1 登录注册页面
图 登录注册页面
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data.OleDb;
using System.Data;
public partial class loginfirst : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnlogin_Click(object sender, EventArgs e)
{
Response.Redirect("StuRegister.aspx");//进入学生注册页面
}
protected void btnlogin2_Click(object sender, EventArgs e)
{
Response.Redirect("TeaRegister.aspx");//进入教师注册页面
}
protected void btn2_Click(object sender, EventArgs e)//进入教师页
{
string name = username.Text.Trim();
string psw = password.Text.Trim();
SqlConnection conn = new SqlConnection("server=(local);Integrated Security=SSPI;database=学生成绩管理;");
SqlCommand cmd = new SqlCommand("select * from teacher where teacheruid='" + name + "' and teacherpwd='" + psw + "'", conn);
DataSet ds = new DataSet();
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
Session["name"] = dr["teacheruid"].ToString().Trim();
Session["psw"] = dr["teacherpwd"].ToString().Trim();
Response.Redirect("Tealogin.aspx");
}
else
l1.Text = "登陆失败!";
}
protected void btn1_Click(object sender, EventArgs e)//进入学生页
{
string name = username.Text.Trim();
string psw = password.Text.Trim();
SqlConnection conn = new SqlConnection("server=(local);Integrated Security=SSPI;database=学生成绩管理;");
SqlCommand cmd = new SqlCommand("select * from student where username='" + name + "' and password='" + psw + "'", conn);
DataSet ds = new DataSet();
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
Session["name"] = dr["username"].ToString().Trim();
Session["psw"] = dr["password"].ToString().Trim();
Response.Redirect("Stulogin.aspx");
}
else
l1.Text = "登陆失败!";
}
}
}
4.1.2 数据库连接
在Microsoft Visual Studio 软件中打开【视图】,选择【服务器资源管理器】,右击【数据连接】,选择【新建连接】,选择连接到Score_DataBase数据库。在网站下添加配置文件web.config,在文件中添加代码:
using System.Data.Odbc;
using System.Data;
using System.Data.SqlClient;
SqlConnection conn = new SqlConnection("server=(local);Integrated Security=SSPI;database=学生成绩管理;")
4.2 网页编码实现
在Web_Exam网站下新建网页,并引用其中的母版页“Master.master”。
4.2.1 学生注册页面
图 学生注册页面
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Data.OleDb;
public partial class ogin : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void butsubmit_Click(object sender, EventArgs e)
{
if(Page.IsValid)
{
string name = username.Text.Trim();
string psw = password.Text.Trim();
string xuehao = xh.Text.Trim();
string xingming = xm.Text.Trim();
string xingbie = xb.Text.Trim();
string banji = Bj.Text.Trim();
string zhuanye = Zy.Text.Trim();
string sfzh = Sfzh.Text.Trim();
string jia = jtdz.Text.Trim();
string cssj = Rq.Text.Trim();
string sql = "Insert into student(username,password,xh,xm,xb,Bj,Zy,Sfzh,jtdz,Rq) values(@username,@password,@xh,@xm,@xb,@Bj,@Zy,@Sfzh,@jtdz,@Rq)";
SqlParameter[] parameters = { new SqlParameter("@username",name),
new SqlParameter("@password",psw),
new SqlParameter("@xh",xuehao),
new SqlParameter("@xm",xingming),
new SqlParameter("@xb",xingbie),
new SqlParameter("@Bj",banji),
new SqlParameter("@Zy",zhuanye),
new SqlParameter("@Sfzh",sfzh),
new SqlParameter("@jtdz",jia),
new SqlParameter("@Rq",cssj)
};
using (SqlConnection conn = new SqlConnection("server=(local);Integrated Security=SSPI;database=学生成绩管理;"))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())//tsql
{
cmd.CommandText = sql;
cmd.Parameters.AddRange(parameters);
cmd.ExecuteNonQuery();
}
}
Response.Write(@"<script>alert('注册成功!');</script>");
}
}
protected void btnback_Click(object sender, EventArgs e)
{
Response.Redirect("loginfirst.aspx");//返回主界面
}
}
4.2.2 老师注册页面
图 老师注册页面
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data.OleDb;
using System.Data;
public partial class loginfirst : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnlogin_Click(object sender, EventArgs e)
{
Response.Redirect("StuRegister.aspx");//进入学生注册页面
}
protected void btnlogin2_Click(object sender, EventArgs e)
{
Response.Redirect("TeaRegister.aspx");//进入教师注册页面
}
protected void btn2_Click(object sender, EventArgs e)//进入教师页
{
string name = username.Text.Trim();
string psw = password.Text.Trim();
SqlConnection conn = new SqlConnection("server=(local);Integrated Security=SSPI;database=学生成绩管理;");
SqlCommand cmd = new SqlCommand("select * from teacher where teacheruid='" + name + "' and teacherpwd='" + psw + "'", conn);
DataSet ds = new DataSet();
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
Session["name"] = dr["teacheruid"].ToString().Trim();
Session["psw"] = dr["teacherpwd"].ToString().Trim();
Response.Redirect("Tealogin.aspx");
}
else
l1.Text = "登陆失败!";
}
protected void btn1_Click(object sender, EventArgs e)//进入学生页
{
string name = username.Text.Trim();
string psw = password.Text.Trim();
SqlConnection conn = new SqlConnection("server=(local);Integrated Security=SSPI;database=学生成绩管理;");
SqlCommand cmd = new SqlCommand("select * from student where username='" + name + "' and password='" + psw + "'", conn);
DataSet ds = new DataSet();
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
Session["name"] = dr["username"].ToString().Trim();
Session["psw"] = dr["password"].ToString().Trim();
Response.Redirect("Stulogin.aspx");
}
else
l1.Text = "登陆失败!";
}
}
4.2.3学生学习修改页面
图 学生修改信息页面
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Data.OleDb;
public partial class ogin : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void butsubmit_Click(object sender, EventArgs e)
{
if (Page.IsValid)
{
string name = username.Text.Trim();
string psw = password.Text.Trim();
string xuehao = xh.Text.Trim();
string xingming = xm.Text.Trim();
string xingbie = xb.Text.Trim();
string banji = Bj.Text.Trim();
string zhuanye = Zy.Text.Trim();
string sfzh = Sfzh.Text.Trim();
string jia = jtdz.Text.Trim();
string cssj = Rq.Text.Trim();
Session["xuehao"] = xh.ToString().Trim();
string sql = " UPDATE student set username=@username,password=@password,xm=@xm,xb=@xb,Bj=@Bj,Zy=@Zy,Sfzh=@Sfzh,jtdz=@jtdz,Rq=@Rq where xh=@xh";
SqlParameter[] parameters = { new SqlParameter("@username",name),
new SqlParameter("@password",psw),
new SqlParameter("@xh",xuehao),
new SqlParameter("@xm",xingming),
new SqlParameter("@xb",xingbie),
new SqlParameter("@Bj",banji),
new SqlParameter("@Zy",zhuanye),
new SqlParameter("@Sfzh",sfzh),
new SqlParameter("@jtdz",jia),
new SqlParameter("@Rq",cssj)
};
using (SqlConnection conn = new SqlConnection("server=(local);Integrated Security=SSPI;database=学生成绩管理;"))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
cmd.Parameters.AddRange(parameters);
cmd.ExecuteNonQuery();
}
}
Response.Write(@"<script>alert('修改成功!');</script>");
}
}
protected void btnback_Click(object sender, EventArgs e)
{
Response.Redirect("Stulogin.aspx");//返回学生界面
}
}
4.2.4 老师信息修改页面
图4老师信息修改
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
public partial class Tealogin : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
// string uid = id.Text.Trim();
string yong = teacheruid.Text.Trim();
string pwd = teacherpwd.Text.Trim();
string ke = kmm.Text.Trim();
Session["yong"] = teacheruid.ToString().Trim();
string sql = "update teacher set teacherpwd=@teacherpwd,kmm=@kmm where teacheruid=@teacheruid ";
SqlParameter[] parameters = { new SqlParameter("@teacheruid", yong),
new SqlParameter("@teacherpwd", pwd),
//new SqlParameter("@id", uid),
new SqlParameter("@kmm", ke)};
using (SqlConnection conn = new SqlConnection("server=(local);Integrated Security=SSPI;database=学生成绩管理;"))
{
conn.Open();
//Session["yong"] = teacheruid.ToString().Trim();
using (SqlCommand cmd = conn.CreateCommand())//tsql
{
cmd.
展开阅读全文