网上选课系统项目报告.docx
《网上选课系统项目报告.docx》由会员分享,可在线阅读,更多相关《网上选课系统项目报告.docx(34页珍藏版)》请在冰点文库上搜索。
网上选课系统项目报告
第一章需求分析
1.1概念分析
学生网上选课系统用于根据教学计划、教师资源等,制定每学期的课程表及相关信息,面对的用户包括系统管理员、教师和学生。
因此该系统的功能模块应分为系统姑那里远需求、教师需求、学生需求三个部分。
管理员可以通过超级用户身份登录,对系统进行全面的管理维护,老师、学生以不同用户的身份进入不同的界面,执行不同的操作。
该系统为学生主要提供选课服务,因此学生可以直接查看选课情况,学生可以根据本人学号和密码登陆系统,进行相关操作。
此外还应附带其他服务,如实核对个人信息,查看教师信息、课程信息以便选课,查看自己选课结果,查询考试成绩等。
查询的功能需求:
(1)说明:
此功能是学生可以查询本学期的开课计划,包括课程的详细信息,专业课查询,选修课查询,已选课查询等。
(2)录入:
通过友好的交互界面,使学生通过点击鼠标就可以实现各种查询功能。
(3)加工:
系统通过点击鼠标所提交的查询请求,利用数据系统的查询功能查询出符合要求的记录。
(4)输出:
在屏幕上显示查询后的结果,通常以报表的形式显示。
1.2系统分析
1.2.1学生选课子系统页面设计
客户端可以为学生提供网上选课的过程,学生通过选择身份登录,进入选课系统,然后进行选课,提交的选课结果传到服务器端,便于接下来的教师打分。
教师打完分数后,学生登录后可以查询个人或其他人的成绩。
首先进入选择登录身份界面,点击“登录”之后进入选择操作界面,包括“选修”“查看选课结果”、“查询成绩”。
1.2.2教师管理子系统界面设计
客户端可以为教师提供网上查看学生选课信息、打分、统计的过程,教师通过选择身份登录,进入选课系统,然后进行学生选课信息,为学生打分,提交的分数传到服务器端,便于接下来的学生查询分数。
首先进入选择登录身份界面,点击“登录”之后进入选择操作界面,包括“学生选课信息”、“打分”、“统计”。
1.2.3.管理员管理子系统界面设计
客户端有为教师提供网上管理学生、管理教师、管理课程的过程,管理员通过选择身份登录,进入选课系统,然后可以选择学生管理,管理教师或管理课程,管理员的请求被提交到服务器端,满足用户的要求。
首先进入选择登录身份界面,点击“登录”之后进入选择操作界面,包括“管理学生”“管理教师”、“管理课程”。
1.3功能分析
1.3.1功能模块图设计
1.4用例图设计
1.4.1学生用例图设计
1.4.2教师用例图设计
1.4.3管理员用例图设计
第二章系统设计
2.1总体设计
2.2数据库设计
2.2.1部门表设计
2.2.2专业表设计
2.2.3班级表设计
2.2.4学期表设计
2.2.5职称表设计
2.2.6教师表设计
2.2.7学生表设计
2.2.8课程类型表设计
2.2.9课程表设计
2.2.10教师课程关系表设计
2.2.11学生课程关系表设计
2.3表间关系图
2.3.1UV_Base_Major
2.3.2UV_Base_Class
2.3.3UV_Base_Subject
2.3.4UV_Select_TeacheSubjectReleation
2.3.5UV_Select_StudenSubjectReleation
2.3.6UV_Select_SelectSubjectVerify
第三章程序设计
3.1网上选课系统后台程序实现
3.1.1母版页设计
3.1.2基本信息管理页面设计
3.1.3教学任务分配设计
3.2网上选课系统前台程序实现
3.2.1系统注册页面设计
3.2.2学生选课页面设计
3.2.3教师任务查看页面设计
第四章编码设计
4.1班级管理的编码
publicpartialclassAdmin_SelectSubject_ClassManage:
System.Web.UI.Page
{
privatestringsql="";
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
Page.IsPostBack)
InitPageData();
}
privatevoidInitPageData()
{
StringoperFlag=Request.QueryString["operFlag"];
if(operFlag==null)
operFlag="add";
if("modify".Equals(operFlag)){
StringclassID=Request.QueryString["ID"];
sql="SELECTID,MajorID,ClassNo,ClassName,RemarkFROMUT_Base_ClasswhereID="+classID;
DataTabledtClass=CommonUtils.GetTableBySql(sql).Copy();
txtNo.Text=Convert.ToString(dtClass.Rows[0]["classNo"]);
txtName.Text=Convert.ToString(dtClass.Rows[0]["className"]);
ddlMajor.SelectedValue=Convert.ToString(dtClass.Rows[0]["majorID"]);
txtRemark.Text=Convert.ToString(dtClass.Rows[0]["Remark"]);
Session.Add(CommonUtils.Session_ClassID,dtClass.Rows[0]["ID"]);
btnAdd.Visible=false;
btnModify.Visible=true;
btnQuery.Visible=false;
}
else
{
btnAdd.Visible=true;
btnModify.Visible=false;
btnQuery.Visible=true;
}
sql="SELECTID,ClassNo,ClassName,MajorName,DepartNameFROMUV_Base_Classwhere1=1";
CommonUtils.ECGridView(gdvClass,sql);
sql="selectID,majorNamefromut_base_major";
CommonUtils.ECDropDownList(ddlMajor,sql,"majorName","ID",true);
}
protectedvoidbtnQuery_Click(objectsender,EventArgse)
{
sql="SELECTID,ClassNo,ClassName,MajorName,DepartNameFROMUV_Base_Classwhere1=1";
Stringtmp="";
tmp=txtNo.Text.Trim();
if(!
"".Equals(tmp))
sql+="andclassNo='"+tmp+"'";
tmp=txtName.Text.Trim();
if(!
"".Equals(tmp))
sql+="andclassNamelike'%"+tmp+"%'";
tmp=txtRemark.Text.Trim();
if(!
"".Equals(tmp))
sql+="andclassRemarklike'%"+tmp+"%'";
tmp=ddlMajor.SelectedValue;
if(!
tmp.Equals(CommonUtils.DDL_First_Item_Value))
sql+="andMajorID='"+tmp+"'";
CommonUtils.ECGridView(gdvClass,sql);
}
protectedvoidbtnAdd_Click(objectsender,EventArgse)
{
sql="insertintoUT_Base_Class(MajorID,ClassNo,ClassName,Remark)values(";
sql+=ddlMajor.SelectedValue+",'";
sql+=txtNo.Text.Trim()+"','";
sql+=txtName.Text.Trim()+"','";
sql+=txtRemark.Text.Trim()+"')";
intresult=CommonUtils.OperateData(sql);
if(result==1)
Response.Write("alert('班级添加成功!
');");
else
Response.Write("alert('班级添加失败!
');");
}
protectedvoidbtnModify_Click(objectsender,EventArgse)
{
sql="updateUT_Base_Classset";
sql+="MajorID="+ddlMajor.SelectedValue+",";
sql+="ClassNo='"+txtNo.Text.Trim()+"',";
sql+="ClassName='"+txtName.Text.Trim()+"',";
sql+="Remark='"+txtRemark.Text.Trim()+"'";
sql+="whereID="+Convert.ToString(Session[CommonUtils.Session_ClassID]);
Session.Remove(CommonUtils.Session_ClassID);
intresult=CommonUtils.OperateData(sql);
if(result==1)
Response.Write("alert('班级信息修改成功!
');");
else
Response.Write("alert('班级信息修改失败!
');");
}
protectedvoidbtnDel_Click(objectsender,EventArgse)
{
intcount=0;
for(inti=0;i{
CheckBoxcbx=(CheckBox)this.gdvClass.Rows[i].FindControl("cbxDelOper");
if(cbx.Checked==true)
{
LabellblClassID=(Label)this.gdvClass.Rows[i].FindControl("lblClassID");
stringclassID=lblClassID.Text;
sql="deletefromUT_Base_ClasswhereID="+classID;
intcount1=CommonUtils.OperateData(sql);
if(count1!
=0)
count++;
}
}
Response.Write("alert('共删除"+count+"个班级');");
InitPageData();
}
protectedvoidgdvClass_PageIndexChanging(objectsender,GridViewPageEventArgse)
{
gdvClass.PageIndex=e.NewPageIndex;
InitPageData();
}
protectedvoidtxtNo_TextChanged(objectsender,EventArgse)
{
stringclassNo=txtNo.Text.Trim();
sql="selectcount(*)fromUT_Base_ClasswhereClassNo='"+classNo+"'";
boolisExist=false;
intresult=Convert.ToInt32(CommonUtils.GetScalarBySql(sql));
if(result>0)
isExist=true;
if(isExist)
{
this.lblClassExist.Visible=true;
this.txtNo.Focus();//
}
else
{
this.lblClassExist.Visible=false;
this.txtName.Focus();
}
}
}
4.2专业管理的编码
publicpartialclassAdmin_SelectSubject_MajorManage:
System.Web.UI.Page
{
Stringsql="";
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
Page.IsPostBack)
{
InitPageData();
}
}
privatevoidInitPageData()
{
sql="SELECTID,DepartmentID,MajorNo,MajorName,DepartNo,DepartName,ParentID,DepartRemarkFROMUV_Base_Major";
CommonUtils.ECGridView(this.gdvMajor,sql);
sql="SELECTID,DepartNo,DepartName,ParentID,RemarkFROMUT_Base_Department";
CommonUtils.ECDropDownList(this.ddlDepartment,sql,"DepartName","ID",true);
}
protectedvoidgdvMajor_PageIndexChanging(objectsender,GridViewPageEventArgse)
{
this.gdvMajor.PageIndex=e.NewPageIndex;
InitPageData();
}
protectedvoidbtnAdd_Click(objectsender,EventArgse)
{
stringmajorNo=this.txtMajorNo.Text.Trim();
stringmajorName=this.txtMajorName.Text.Trim();
stringremark=this.txtMajorRemark.Text.Trim();
stringdepartmentID=this.ddlDepartment.SelectedValue;
sql="insertintoUT_Base_Major(DepartmentID,MajorNo,MajorName,Remark)values("+departmentID+",'"+majorNo+"','"+majorName+"','"+remark+"')";
intresult=CommonUtils.OperateData(sql);
if(result==1)
Response.Write("alert('专业添加成功!
');");
else
Response.Write("alert('专业添加失败!
');");
InitPageData();
}
}
4.3课程管理的编码
publicpartialclassAdmin_SelectSubject_SubjectManage:
System.Web.UI.Page
{
privatestringsql="";
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
Page.IsPostBack)
{
InitPageData();
}
}
privatevoidInitPageData()
{
sql="SELECTID,DepartNo,DepartName,ParentID,RemarkFROMUT_Base_Department";
CommonUtils.ECDropDownList(ddlDepartment,sql,"DepartName","ID",true);
sql="SELECTID,StartYear,EndYear,TermOrderFROMUT_Base_Term";
DataTabledt=CommonUtils.GetTableBySql(sql).Copy();
for(inti=0;i
{
DataRowdr=dt.Rows[i];
dr["StartYear"]=Convert.ToString(dr["StartYear"])+"-"+Convert.ToString(dr["EndYear"])+"学年第"+Convert.ToString(dr["TermOrder"])+"学期";
}
CommonUtils.Dt2DropDownList(ddlTerm,dt,"StartYear","ID",true);
}
protectedvoidbtnQuery_Click(objectsender,EventArgse)
{
sql="SELECT*";
sql+="FROMUV_Base_Subject";
sql+="where1=1";
stringtmp="";
tmp=this.txtSubjectNo.Text.Trim();
if(!
"".Equals(tmp))
sql+="andSubjectNo='"+tmp+"'";
tmp=this.txtSubjectName.Text.Trim();
if(!
"".Equals(tmp))
sql+="andSubjectNamelike'%"+tmp+"%'";
tmp=this.ddlTerm.SelectedValue;
if(!
"0".Equals(tmp))
sql+="andTermID="+tmp;
tmp=this.ddlDepartment.SelectedValue;
if(!
"0".Equals(tmp))
sql+="andDepartmentID="+tmp;
DataTabledt=CommonUtils.GetTableBySql(sql).Copy();
for(inti=0;i
{
DataRowdr=dt.Rows[i];
dr["StartYear"]=Convert.ToString(dr["StartYear"])+"-"+Convert.ToString(dr["EndYear"])+"学年第"+Convert.ToString(dr["TermOrder"])+"学期";
}
this.gdvSubject.DataSource=dt.DefaultView;
this.gdvSubject.DataBind();
}
protectedvoidgdvSubject_PageIndexChanging(objectsender,GridViewPageEventArgse)
{
this.gdvSubject.PageIndex=e.NewPageIndex;
InitPageData();
}
protectedvoidbtnDel_Click(objectsender,EventArgse)
{
intcount=0;for(inti=0;i{
CheckBoxcbx=(CheckBox)this.gdvSubject.Rows[i].FindControl("cbxDelOper");
if(cbx.Checked==true)
{
LabellblSubjectID=(Label)this.gdvSubject.Rows[i].FindControl("lblSubjectID");
stringsubjectId=lblSubjectID.Text;
sql="deletefromUT_Base_SubjectwhereID="+subjectId;
intcount1=CommonUtils.OperateData(sql);
if(count1!
=0)
count++;
}
}
Response.Write("alert('共删除