Web教务管理系统课程设计报告书.docx
《Web教务管理系统课程设计报告书.docx》由会员分享,可在线阅读,更多相关《Web教务管理系统课程设计报告书.docx(16页珍藏版)》请在冰豆网上搜索。
Web教务管理系统课程设计报告书
课程设计报告书
设计名称:
课程名称:
学生**:
专业:
班别:
学号:
指导教师:
日期:
年月日
1.开发背景
近年来随着教育普及,高校教育体制改革,各高校扩大招生规模,使得在校学生人数有了突飞猛进的开展,办学规模逐步增大,专业设置日趋多样化,招生人数逐年增加,教学方案不断更新,这使得高校教务管理的工作量大幅度增加。
并且,随着教育改革的深化,教学管理模式也在发生变化,如学分制的逐步实行、学生可以自主选课等。
这就对原有的教学管理模式提出了更高的要求。
另一方面,随着计算机网络技术的开展,校园网引进各个高校,为无纸化办公提供了有利条件。
在这样的形势下,开发一个集成化的教务管理系统不仅势在必行,而且成为一个紧迫的任务。
由于国各高校的教务管理模式不尽一样,不同学校的实际教务管理情况各有自己的特点,因而个高校需要针对自己的教务管理模式和特点建立自己的教务管理系统。
教务管理包括对教学资源——如新生注册和学籍的管理、各学期学生成绩的管理、教学培养方案的执行、教学方案的安排、学生考试的管理、教室评教以及工作量的计算等大量信息。
如何高效率的进展管理,并且有序的存放和处理这些巨大的信息,并使之成为教学管理分析和决策的手段,为教学活动产生更好的促进作用,是教务管理信息系统主要功能。
教务管理系统是以管理信息系统为理论依据的。
管理信息系统的开展伴随着软件工程的开展而日趋成熟。
不断增长的复杂性、多样性和相互关联性是当今管理信息系统的共同特征。
而开发一个管理信息系统往往要结合软件工程的理念,使用系统化的方法进展管理信息系统的开发,从而更能有效地控制程序复杂性,减少系统的不合理,减轻维护本钱。
在总结原有的管理信息系统优缺点的根底上,结合学院教务工作的实际情况,以校园网为依托,规划设计了学院教务信息管理系统的组成构造,利用目前流行的开发工具和技术,开发基于C/S模式的教务管理系统,设计了教务管理系统的各个功能模块、数据库和系统平安等,力求使该系统功能完善、高效适用、平安可靠,更好地为高校教务、教学管理工作效劳。
2.系统分析
2.1需求分析
功能需求
教务管理系统系统主要是为完成日常教学任务而开发的,其主要目标是对学生个人信息、师资信息、教学资源信息、课程信息、学生成绩信息等进展管理及维护,减轻教学工作的压力,提高教学管理工作的效率。
通过对学校教学管理的业务调查,得知教务管理人员可通过此系统实现对学生和教学资源的管理与维护,学生可以通过此系统进展个人信息、考试成绩查询以及完成选课等相关功能,教师可以通过此系统完成个人信息管理、学生成绩输入、教学任务查询等等功能。
系统的总体任务是实现整个教学信息管理的系统化、规化和自动化。
在日常教学工作中,教务处有整体规划和辅助教学的任务,各个院系上报的教学任务和教学方案都要上报给教务处,由教务处根据上报的材料分配教学资源,如教室等,并且安排教师上课时间和上课的周次,然后再将教师上报的教材征订单传达给教材科,由教材科根据开课学生人数订教材。
教务处还要将一切安排妥当的事宜公布在网络上,以供教师和学生查询。
因此,该系统主要的使用对象是教务管理人员、学生、教师和系统维护人员。
这些使用者对教务管理系统的功能要不同的。
〔1〕教务管理人员对功能的需求・学籍管理功能包括:
学生注册、学生根本信息管理〔包括添加、删除和更新学生信息,可按**或**查询学生信息〕、学籍变动管理、毕业管理等。
基于ASP.NET的教务管理系统的设计与实现
功能包括:
各专业课教师个人根本信息管理、教学任务发布、教学工作量管理、考评考核管理、科研管理等。
●选课管理
功能包括:
教务管理人员依据教学方案和培养方案,设置选课课程并统计生成己选课学生等。
●教学方案管理
功能主要包括:
根据培养方案和各个专业上报的教学方案,添加各专业教学方案,包括教学方案的修改删除等操作。
●成绩管理
功能包括:
每门课程完毕后,由教师进展成绩登记,然后教务管理人员对登记的信息进展管理,如教师登录成绩后发现成绩有错误,只能由教务管理人员核实后进展修改。
还有根据成绩就算出学生的学分,以便学籍管理的需要。
●课程管理
功能主要有:
安排各个专业所开设课程的上课时间和上课教室。
〔2〕教材管理人员功能需求功能包括:
〔1〕教材的根本信息的管理〔按书名或作者〕具有良好的人机界面;
〔2〕供求信息查询,支持多条件和模糊查询;
〔3〕普通用户不用注册可以浏览信息;
〔4〕保证后台数据库平安;
等查询各专业教材、添加修改删除教材信息等〕、统计教材数量、教材费用、教材的入库和出库管理等。
学生对功能的需求:
学生有两类,分别是本科生和研究生。
每一类学生对于功能的要求还是有区别的,如研究生有科研和论文的容。
在本文中,只分析了本科生的功能需求。
・个人信息管理功能包括:
浏览个人根本信息,具体容包括**、性别、**、民族、出生日期、籍贯、所在专业班级等,这些信息是以学籍管理表中的信息为准,所以不允许学生自行更改,只能进展查询。
还包括个人课表查询,成绩查询等。
・更改系统登录信息功能包括:
学生登录系统后,修改登录信息,为了保证系统的平安性,只要求学生修改个人密码。
●网上选课
功能包括:
网上查看可选课程,添加、删除所选课程等功能。
基于ASP.NET的教务管理系统的设计与实现
〔1〕教师对功能的需求
●个人根本信息的维护功能包括:
教师根本信息的添加和修改等,如出生日期、毕业学校、学历和学位等信息,但是职工编号和**是不允许教师在系统中进展修改的。
・教学信息查询功能包括:
教学任务查询、教学自然班下载打印、教学质量评价查询和工作量计算结果的查看等。
●学生成绩录入功能主要包括:
本学期学生考试成绩的录入,一旦用录入密码录入成绩成功后,就不能任意修改学生成绩,必须由教务处管理人员修改。
〔2〕系统管理员的需求系统管理员主要是对教务管理系统进展维护和更新,并保证系统的平安性,以及数据库的平安性。
从以上可以看出,各种人员对于系统的需不同的,对于学生来说,教务人员的操作是不能使用的,也是不可见的,所以要在用户登录系统时,就做出判断该用户可以使用哪些功能,这就需要设置不同的登录权限。
系统管理人员具有最高的权限,可以添加、删除用户,并可设置和修改不同的用户权限。
因此在数据库设计中,要有权限的定义。
权限的定义其实是系统平安性的一种需求,采用身份认证机制对一般用户进行管理,以教工号和学生**来判断登录者的权限,并且以这两种身份来判断登录者是否该校的校人士,如果是校外人士,则具有浏览这样的最低权限。
系统的平安性需求还有另外一方面容——数据平安性,对于数据库效劳器,要防止系统崩溃等意外事件发生而导致数据全部丧失,常用的方法是采用RAIDS磁盘阵列,其次是对数据库系统提供完全、增量等多种备份方式,如把数据定期刻成光盘保存。
对于数据平安性,本文不做详细的阐述。
2.2可行性分析
2.2.1需求可行性分析
由于本系统的对象有学生、教师和管理员三个,数据之间的关联性比拟强,但是涉及的计算过程并不复杂。
因此比拟适合于采用数据库管理。
在存储量、速度方面都能满足数据库运行的要求,无论是哪种数据库,如mysql、SQLServer、oracle还是其他数据库都能够满足要求。
在技术方面,根据自身的能力、教师的指导以及阅览相关的资料,可以很好地实现本系统的每个功能。
本系统的设计是在Windows*p中文版操作系统环境下,使用VisualStudio2005旗舰版开发成功的。
数据库是MIS中的重要支持技术,在MIS开发过程中,如何选择数据库管理是一个重要的问题,目前,数据库产品较多,每种产品都具有各自的特点和适用围,因此,在选择数据库时,应考虑数据库应用的特点及适用围,本系统选用的数据库为MySql数据库。
对以上的工具介绍如下:
C*语言和ASP.NETC*是一种平安的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。
它在继承C和C++强大功能的同时去掉了一些它们的复杂特性〔例如没有宏和模版,不允许多重继承〕。
C*综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。
它吸收了C++、VisualBasic、Delphi、Java等语言的优点,表达了当今最新的程序设计技术的功能和精华。
C*继承了C语言的语法风格,同时又继承了C++的面向对象特性。
不同的是,C*的对象模型已经面向Internet进展了重新设计,使用的是.NET框架的类库;C*是专门为.NET应用而开发出的语言。
这从根本上保证了C*与.NET框架的完美结合。
在.NET运行库的支持下,.NET框架的各种优点在C*中表现得淋漓尽致。
结合自身强大的面向对象功能,C*使得开发人员的生产效率得到极大的提高。
对于公司而言,软件开发周期的缩短将能使它们更好应付网络经济的竞争。
在功能与效率的杠杆上人们终于找到了支点。
与Web的严密结合.NET中新的应用程序开发模型意味着越来越多的解决方案需要与Web标准相统一,例如超文本标记语言(Hyperte*tMarkupLanguage,HTML)和*ML。
由于历史的原因,现存的一些开发工具不能与Web严密地结合。
SOAP的使用使得C*克制了这一缺陷,大规模深层次的分布式开发从此成为可能。
由于有了Web效劳框架的帮助,对程序员来说,网络效劳看起来就象是C*的本地对象。
程序员们能够利用他们已有的面向对象的知识与技巧开发Web效劳。
仅需要使用简单的C*语言构造,C*组件将能够方便地为Web效劳,并允许它们通过Internet被运行在任何操作系统上的任何语言所调用。
举个例子,*ML已经成为网络中数据构造传递的标准,为了提高效率,C*允许直接将*ML数据映射成为构造。
这样就可以有效的处理各种数据。
3.系统设计
3.1系统目标
根据需求要求分析,通过VS2005、SQL2005、所学的ASP.NET和C*知道实现需求分析的所有功能。
3.2系统功能构造
本系统主要实现教务处系统的一些根本功能,主要有:
用户登录功能和管理员登录功能、学生选课功能、学生成绩查询功能、等级考试查询、教师登录成绩功能、个人信息修改功能、管理员维护教师信息、管理员维护学生信息、学生的成绩的修改等。
教务处系统主要有四个大的模块,系统管理模块,学生的模块,教师的模块,管理员的模块。
3.2.1学生功能模块
学生功能子系统
学生选课
密码修改
成绩查询
查看公告
3.2.2教师功能块
教师功能子系统
查看课表
密码修改
成绩录入
查看公告
3.2.3管理员功能模块
管理员子系统
公告管理
学生管理
教师管理
学院管理
专业管理
班级管理
增加、删除、修改
操作成功
3.3开发环境
【MicrosoftVisualStudio2005,SQLSERVER2005】
3.4详细设计
3.4.1设计数据表
〔1〕用户数据表
〔2〕学生表
〔3〕教师表
〔4〕课程表
〔5〕班级表
〔6〕专业表
〔7〕成绩表
〔8〕学院表
3.4.2功能E-R图
退出系统
进入教师子模块
用户名及密码是否正确
管理员"
输入用户名及密码
开始
正确
用户名不存在或密码错误
否
是
学生"
教师"
否
否
是
是
进入后台管理模块
进入学生子模块
平安退出
是
否
平安退出
是
否
平安退出
是
否
3.4.3设计步骤
步骤一:
通过需求分析的功能需求分析,在设计搞上画出大概的功能子系统蓝图,包括学生子系统、教师子系统、管理员子系统;
步骤二:
根据步骤一的功能蓝图所涉及实体来画出每个实体的属性、联系的E-R图,实体包括用户、学生、教师、管理员、学院、专业、班级、课程、成绩等实体;
步骤三:
根据步骤二所得到的实体、实体属性、及实体联系的E-R图,构造出系统功能构造框架如下列图所示:
学院教务管理系统
教师管理
学籍管理
学生成绩管理
教务管理子系统
学生成绩录入
个人信息管理
网上选课管理
成绩/课表查询
课表管理
选课管理
登录管理
学生子系统
教师子系统
登录信息管理
教学信息管理
登录信息管理
步骤四:
根据实体属性图E-R,用SQL2005创立所有实体的数据表;
步骤五:
根据上面的系统构造图,在VS2005中创立ASP.NET选择C*动态开发语言的,并连接所创立好的SQL2005数据库,通过.asp*.cs编程实现系统功能;
步骤六:
教务管理系统功能都实现了,再通过在站点中创立表格的方式进展排版,让系统界面更加友好,看起来更加舒服,考虑到使用系统的对象,我主要以简洁、朴素、易用性低调的风格进展界面设计;
3.4.4关键代码
〔1〕登录代码:
UsingSystem.Data.Sqlclient;
usingSystem.Configuration;
stringcon=System.Configuration.ConfigurationManager.ConnectionStrings["connectionString"].ConnectionString.ToString();
SqlConnectionsqlcon=newSqlConnection(con);//创立与数据库的连接
sqlcon.Open();
stringplay;
play=RadioButtonList1.SelectedValue.ToString();
stringsqlstr="select*from[usertable]whereuserid='"+Te*tBo*1.Te*t+"'andpwd='"+Te*tBo*2.Te*t+"'and[group]='"+play+"'";//构造SQL查询语句
Sqlmandcmd=newSqlmand(sqlstr,sqlcon);
SqlDataReaderdr=cmd.E*ecuteReader();//执行SQL语句
if(dr.Read())
{
if(RadioButtonList1.SelectedValue.ToString()=="0")
{
Response.Redirect("~/Master.asp*"name="+Te*tBo*1.Te*t+"&"psd="+Te*tBo*2.Te*t+");
}
if(RadioButtonList1.SelectedValue.ToString()=="1")
{
Response.Redirect("~/Teacher/scorein.asp*"name="+Te*tBo*1.Te*t+"&"psd="+Te*tBo*2.Te*t+");
}
if(RadioButtonList1.SelectedValue.ToString()=="2")
{
Response.Redirect("~/Student/scorecheck.asp*"name="+Te*tBo*1.Te*t+"&"psd="+Te*tBo*2.Te*t+");
}
}//判断用户角色
else
{
Response.Write("");
}
〔2〕学生查询代码:
stringcon=System.Configuration.ConfigurationManager.ConnectionStrings["connectionString"].ConnectionString.ToString();
SqlConnectionsqlcon=newSqlConnection(con);
sqlcon.Open();
DataSetds=newDataSet();
stringsqlcmd1="selectstuid,stuname,departname,classname,zhuanyename,address,phonefrom[StuTable]wherezhuanyename='"+DropDownList1.SelectedItem.Te*t.ToString()+"'andclassname='"+DropDownList2.SelectedItem.Te*t.ToString()+"'";
stringsqlcmd2="selectstuid,stuname,departname,classname,zhuanyename,address,phonefrom[StuTable]wherestuname='"+Te*tBo*1.Te*t.ToString()+"'";//构造查询学生SQL语句
if(Te*tBo*1.Te*t==")
{
Sqlmandcmd=newSqlmand(sqlcmd1,sqlcon);
SqlDataAdaptersda=newSqlDataAdapter(cmd);
sda.Fill(ds,"ds");
GridView1.DataSource=ds.Tables[0].DefaultView;
GridView1.DataBind();
}
else
{
Sqlmandcmd=newSqlmand(sqlcmd2,sqlcon);
SqlDataAdaptersda=newSqlDataAdapter(cmd);
sda.Fill(ds,"ds");
GridView1.DataSource=ds.Tables[0].DefaultView;
GridView1.DataBind();
}//判断查询方法并邦定到GridView1控件
〔3〕学生成绩查询代码:
stringcon=System.Configuration.ConfigurationManager.ConnectionStrings["connectionString"].ConnectionString.ToString();
SqlConnectionsqlcon=newSqlConnection(con);
sqlcon.Open();
DataSetds=newDataSet();
stringsqlcmd="selectid,stuid,courcename,score,*uefen,*uenian,restudyfrom[ScoreTable]where*uenian='"+DropDownList1.SelectedItem.Te*t.ToString()+"'andstuid='"+Request.QueryString["name"]+"'";//通过Request.QueryString["name"]获取学生**
Sqlmandcmd=newSqlmand(sqlcmd,sqlcon);
SqlDataAdaptersda=newSqlDataAdapter(cmd);
sda.Fill(ds,"ds");
GridView1.DataSource=ds.Tables[0].DefaultView;
GridView1.DataBind();
〔4〕教师成绩录入代码:
stringcon=System.Configuration.ConfigurationManager.ConnectionStrings["connectionString"].ConnectionString.ToString();
SqlConnectionsqlcon=newSqlConnection(con);
sqlcon.Open();
DataSetds=newDataSet();
for(inti=0;i{
DropDownListcoure=(DropDownList)GridView1.Rows[i].FindControl("courceList");
DropDownList*uefen=(DropDownList)GridView1.Rows[i].FindControl("*uefenList");
DropDownList*uenian=(DropDownList)GridView1.Rows[i].FindControl("*uenianList");
DropDownListrestudy=(DropDownList)GridView1.Rows[i].FindControl("restudyList");
Te*tBo*fenshu=(Te*tBo*)GridView1.Rows[i].FindControl("fenshuBO*");
//从GridView控件中找控件
stringstu=GridView1.Rows[i].Cells[0].Te*t.ToString();
stringc=coure.SelectedItem.Te*t.ToString();
string*f=*uefen.SelectedItem.Te*t.ToString();
string*n=*uenian.SelectedItem.Te*t.ToString();
stringr=restudy.SelectedItem.Te*t.ToString();
stringf=fenshu.Te*t.ToString();//获取控件中的值
Sqlmandcmd=newSqlmand("INSERTINTO[ScoreTable]VALUES('"+GridView1.Rows[i].Cells[0].Te*t.ToString()+"','"+coure.SelectedItem.Te*t.ToString()+"','"+fenshu.Te*t.ToString()+"','"+*uefen.SelectedItem.Te*t.ToString()+"','"+*uenian.SelectedItem.Te*t.ToString()+"','"+restudy.SelectedItem.Te*t.ToString()+"')",sqlcon);
inta=cmd.E*ecuteNonQuery();
}
Label1.Te*t="成绩录入成功";
sqlcon.Close();
3.4.5运行结果
〔1〕登录界面
〔2〕管理员主界面
〔3〕学生查