• 3.59 MB
  • 29页

网上选课系统项目报告.doc

  • 29页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'网上选课系统项目报告 目录第一章需求分析41.1概念分析41.2系统分析51.2.1学生选课子系统页面设计51.2.2教师管理子系统界面设计51.2.3.管理员管理子系统界面设计51.3功能分析61.3.1功能模块图设计61.4用例图设计61.4.1学生用例图设计61.4.2教师用例图设计71.4.3管理员用例图设计7第二章系统设计72.1总体设计82.2数据库设计82.2.1部门表设计82.2.2专业表设计92.2.3班级表设计92.2.4学期表设计92.2.6教师表设计102.2.7学生表设计102.2.9课程表设计112.2.10教师课程关系表设计112.3表间关系图122.3.1UV_Base_Major122.3.2UV_Base_Class122.3.4UV_Select_TeacheSubjectReleation132.3.5UV_Select_StudenSubjectReleation132.3.6UV_Select_SelectSubjectVerify14第三章程序设计143.1网上选课系统后台程序实现143.1.1母版页设计143.1.2基本信息管理页面设计153.2网上选课系统前台程序实现163.2.1系统注册页面设计163.2.2学生选课页面设计163.2.3教师任务查看页面设计17第四章编码设计17 4.1班级管理的编码174.2专业管理的编码194.3课程管理的编码204.4学期管理的编码21第五章编码测试235.1页面测试235.2数据表测试23第六章部署维护241.242.243.244.245.256.257.26 第一章需求分析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_Major2.3.2UV_Base_Class2.3.3UV_Base_Subject 2.3.4UV_Select_TeacheSubjectReleation2.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("班级添加成功!");");elseResponse.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("班级信息修改成功!");");elseResponse.Write("alert("班级信息修改失败!");");}protectedvoidbtnDel_Click(objectsender,EventArgse){intcount=0;for(inti=0;ialert("共删除"+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("专业添加成功!");");elseResponse.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;ialert("共删除"+count+"门课程");");InitPageData();}}4.4学期管理的编码publicpartialclassAdmin_SelectSubject_TermManage:System.Web.UI.Page{Stringsql="";protectedvoidPage_Load(objectsender,EventArgse){if(!Page.IsPostBack){InitPageData();}}privatevoidInitPageData(){sql="SELECTID,StartYear,EndYear,termOrderFROMUT_Base_Term";CommonUtils.ECGridView(this.gdvTerm,sql);Lb_PageInfo.Text="第"+(gdvTerm.PageIndex+1).ToString()+"页/共"+gdvTerm.PageCount+"页";}protectedvoidgdvTerm_PageIndexChanging(objectsender,GridViewPageEventArgse){this.gdvTerm.PageIndex=e.NewPageIndex;intx=Convert.ToInt32(e.NewPageIndex)+1;InitPageData();}protectedvoidbtnAdd_Click(objectsender,EventArgse){stringstartYear=this.ddlYear.SelectedValue.Substring(0,4);stringendYear=this.ddlYear.SelectedValue.Substring(this.ddlYear.SelectedValue.IndexOf("-")+1);stringtermOrder=this.ddlTerm.SelectedValue;sql="insertintoUT_Base_Term(StartYear,EndYear,TermOrder)values(""+startYear+"",""+endYear+"","+termOrder+")";intresult=CommonUtils.OperateData(sql);if(result==1)Response.Write("alert("学期添加成功!");"); elseResponse.Write("alert("学期添加失败!");");InitPageData();}protectedvoidgdvTerm_RowDeleting(objectsender,GridViewDeleteEventArgse){stringid=gdvTerm.DataKeys[e.RowIndex].Value.ToString();sql="deleteUT_Base_TermwhereID=""+id+""";intresult=CommonUtils.OperateData(sql);if(result==1)Response.Write("alert("学期删除成功!");");elseResponse.Write("alert("学期删除失败!");");InitPageData();}protectedvoidgdvTerm_RowDataBound(objectsender,GridViewRowEventArgse){if(e.Row.RowType==DataControlRowType.DataRow){if(e.Row.RowState==DataControlRowState.Normal||e.Row.RowState==DataControlRowState.Alternate){((LinkButton)e.Row.Cells[5].Controls[0]).Attributes.Add("onclick","javascript:returnconfirm("你确认要删除:""+e.Row.Cells[1].Text+"-->"+e.Row.Cells[2].Text+""学年吗?")");}}}protectedvoidgdvTerm_RowEditing(objectsender,GridViewEditEventArgse){gdvTerm.EditIndex=e.NewEditIndex;InitPageData();}protectedvoidgdvTerm_RowUpdating(objectsender,GridViewUpdateEventArgse){sql="updateUT_Base_TermsetStartYear=""+((TextBox)gdvTerm.Rows[e.RowIndex].Cells[1].Controls[0]).Text+"",EndYear=""+((TextBox)gdvTerm.Rows[e.RowIndex].Cells[2].Controls[0]).Text+"",TermOrder=""+((TextBox)gdvTerm.Rows[e.RowIndex].Cells[3].Controls[0]).Text+""whereID=""+gdvTerm.Rows[e.RowIndex].Cells[0].Text+""";intresult=CommonUtils.OperateData(sql);if(result==1)Response.Write("alert("学期修改成功!");");elseResponse.Write("alert("学期修改失败!");");gdvTerm.EditIndex=-1;InitPageData();}protectedvoidgdvTerm_RowCancelingEdit(objectsender,GridViewCancelEditEventArgse){gdvTerm.EditIndex=-1;InitPageData();}} 第五章编码测试5.1页面测试测试用例阶段实际测试阶段页面操作判断方法期望输出实际输出备注打开页面查看UV_Select_TeacherSubjectRelation页面已分配课程列表中数据和视图中数据一致与期望一致改变部门下拉列表框查询教师信息页面教师下拉列表框显示该部门的教师列表与期望一致改变学期下拉列表框通过SQL语句在数据库中查询待选课程信息列表为制订学期的课程与期望一致提交任务分配查看UV_Select_TeacherSubjectRelation正确分配,弹出分配成功信息,同时信息插入到UT_Select_TeacherSubjectRelation表中;分配不成功,弹出分配失败信息与期望一致5.2数据表测试测试用例阶段实际测试阶段字段名称描述判断方法期望输出实际输出备注ID主键,自动增长在数据库中查看自动增长与期望值一致SubjectID课程ID在UT_Base_Subject表中查看是否正确与课程表主键ID值一致与期望值一致TeacherID教师ID在UT_Base_Teacher表中查看是否正确与教师表主键ID值一致与期望值一致TermID学期ID在UT_Base_Term表中查看是否正确与学期表主键ID值一致与期望值一致 ClassID班级ID在UT_Base_Class表中查看是否正确与班级表主键ID值一致与期望值一致第六章部署维护1.在VS.Net2005中打开网上选课系统的所在文件夹”C:网上选课系统”。2.鼠标右键单击解决方案文件,在弹出的快捷菜单中选择“生成解决方案”命令后,出现一个“另存文件为”对话框,选择“保存于”下拉列表框,选择目标文件为“网上选课系统”,在文件名的文本框中输入“3.4.2.sln”文件名,然后单击“保存”按钮。3.在D盘上新建文件夹为“SelectCourse”,并建立IIS的虚拟目录别名为“NewsRelease”,该虚拟目录指向的“本地路径”为“D:SelectCourse”。4.鼠标右键单击解决方案文件下方的“C:NewsRelease”,在弹出的快捷菜单中选择“发布”命令,将出现“发布”对话框。 将对话框中的“允许更新此预编译站点”复制框取消选择,然后单击目标位置的按钮,则出现“发布”的下一个对话框,即发布的目标位置。5.在对话框中选择“文件系统”选项,然后选择“发布的目标位置为“D:SelectCourse”,然后单击“确定”按钮。6.打开“D:SelectCourse” 文件夹,查看经预编的信息,可以看出所有的.cs文件都被编译为.dll文件,所有的.aspx文件也被编译,用户不可做任何修改了。7.打开浏览器,在浏览器的地址中软件localhost/NewsRelease/Default.aspx,则可以打开网上选课系统的首页。'