教务管理系统课程设计.docx
- 文档编号:14208825
- 上传时间:2023-06-21
- 格式:DOCX
- 页数:78
- 大小:931.47KB
教务管理系统课程设计.docx
《教务管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《教务管理系统课程设计.docx(78页珍藏版)》请在冰点文库上搜索。
教务管理系统课程设计
《软件工程》
课程设计说明书
教务管理系统
学生姓名
学号
所在专业
计算机科学与技术
所在班级
指导教师
提交时间
第一章绪言
教务系统管理平台充分利用互联网络B/S管理系统模式,以网络为平台,为各个学校教务系统的管理提供一个平台,帮助学校管理教务系统,用一个帐号解决学校教务教学管理,并且学校可以自由选择学校需要的教务管理系统,灵活地定制符合学校自己实际情况的教务系统
1.1系统及需求分析
1.1.1系统需求
通过调查,要求系统需要有以下功能:
由于操作人员的计算机知识普遍较差,要求有良好的人机界面;
由于该系统的使用对象多,要求有较好的权限管理;
原始数据修改简单方便,支持多条件修改
方便的数据查询,支持多条件查询;
在相应的权限下,删除数据方便简单,数据稳定性好;
数据计算自动完成,尽量减少人工干预;
1.1.2可行性分析
由于本系统管理的对象单一,都是在校学生,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。
因此,比较适合于采用数据库管理。
且学校用于学生管理的微机都是PIII以上的机器,在存储量、速度方面都能满足数据库运行的要求。
在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其它程序的功能,因此完全可以实现。
本系统的设计是在WindowXP中文版操作系统环境下,使用VS2005开发成功的。
数据库是SQL2005,在开发过程中,如何选择数据库管理是一个重要的问题,目前,数据库产品较多、开发工具也很多。
每种产品都具有各自的特点和适用范围,因此,在选择数据库时,应考虑数据库应用的特点及适用范围,在选择开发工具时也考虑它的健壮性、可移性、安全性等问题。
1.2系统功能简介
本系统主要可以实现以下的管理功能:
教师管理、学生管理、课程管理、班级管理、成绩管理等等。
1.2.1项目规划
教务管理系统是一个典型的数据库应用程序,由教师级管理、学生管理、课程管理、班级管理、成绩管理等模块组成,特规划如下:
1.2.2教师管理
教师管理囊括了教师资料管理,教师资料添加的相关信息。
a.教师资料管理:
可以按条件分类查询教师信息;如果没有选择条件,系统将查询出全部的教师信息。
可根据需要打印查询结果。
b.教师资料添加:
按照教师号,姓名,所在院系等等信息添加到数据库中,并予以显示是否成功。
1.2.3学生管理
a.学生资料管理:
可以按条件分类查询学生信息;如果没有选择条件,系统将查询出全部的学生信息。
可根据需要打印查询结果。
b.学生资料添加:
按学号,姓名,所在院系等等信息添加到数据库中,并予以显示是否成功。
c.所在院系资料:
可以按条件分类查询院系信息;如果没有选择条件,系统将查询出全部的院系信息。
可根据需要打印查询结果。
d.所在专业资料:
可以按条件分类查询专业信息;如果没有选择条件,系统将查询出全部的专业信息。
可根据需要打印查询结果。
。
1.2.4成绩管理
可以对考试成绩进行查询,修改以及录入。
也可以将补考通知单按指定格式进行打印,发放给学生。
1.2.5课程管理
本模块包括课程资料管理,课程资料添加,课程类别资料等等功能
a.课程资料管理:
可以按条件分类查询课程信息;如果没有选择条件,系统将查询出全部的课程信息。
可根据需要打印查询结果。
b.课程资料添加:
按课程号,课程名,课程类别等等信息添加到数据库中,并予以显示是否成功。
c.课程类别资料:
可以按条件分类查询课程信息;如果没有选择条件,系统将查询出全部的院系信息。
可根据需要打印查询结果。
1.2.6用户管理
此项功能只限管理员使用,管理登录用户的密码等信息和进行增加删除修改功能。
1.2.7系统开发的目标
出于本系统是学校学生管理的一个综合性的系统,本系统的设计目标将最终定位于完成以上所述的系统主要业务的基本模型上。
第二章系统分析
2.1业务流程分析
2.1.1教师管理业务流程图
2.1.2学生管理业务流程图
2.1.3课程管理业务流程图
2.1.4成绩管理业务流程图
2.2数据流程分析
2.2.1数据流程图
由于本系统的数据模块较多,下面仅以学生成绩管理模块为例来进行编制。
学生成绩管理系统0层数据流程图
学生成绩管理系统1层数据流程图
2.3数据存储分析:
实体联系图
数据模型设计。
首先来做出学生成绩管理系统的E-R图,分析这个问题的实体,从系统分析可以知道,学生的成绩是由任课教师按照课程给出的,学生、课程、教师组成了这个系统的三个实体。
学生成绩管理系统中学生与课程的E-R图
教师与课程这两个实体之间,是一对多联系;一位教师可以都多门课程,而一门课程对于学生成绩来说只能有一位教师(英语、高等数学有多位教师教,但对某个固定的学生来说只能有一位教师)。
其E-R图,如下所示。
教师与课程的E-R图组合到一起,得到最后的E-R图,有了E-R图,就可以设计数据库。
下图为数据模型图。
第三章系统设计
3.1软件模块结构设计
3.1.1系统方案确定
通过对系统的调研与分析,系统主要应完成的功能有:
教师管理,学生管理,课程管理,成绩管理,班级管理,用户管理。
3.1.2软件结构设计
本系统在执行时,先根据不同的操作人员的需要来进行相应的模块,然后可以输入数据或者进行其它的查询或浏览等操作;总体来说,本系统属于一个事务型管理系统。
3.2数据库设计
数据库采用了Microsoft的SQL2005
3.2.1数据库表
数据库关系图如下
开发系统时涉及的表如下
Class表
字段名称
类型
宽度
classID
char
7
className
Varchar
12
specialityID
Char
5
specialityName
Varchar
30
EntranceYear
Char
4
MonitorID
Char
10
Course表
字段名称
类型
宽度
courseID
Char
8
coursename
Varchar
20
coursetypeID
varchar
3
totalperiod
tinyint
weekperiod
tinyint
credithour
tinyint
remark
Varchar
50
Coursetype表
字段名称
类型
宽度
coursetypeID
varchar
3
Typename
varchar
18
DepartmentID表
字段名称
类型
宽度
departmentID
char
3
departmentName
varchar
30
departmentHead
Char
8
Grade表
字段名称
类型
宽度
studentID
Char
10
courseID
Char
8
Grade
Tinyint
Speciality表
字段名称
类型
宽度
specialityID
varchar
5
specialityName
Varchar
30
DepartmentID
Char
3
Speciality_course表
字段名称
类型
宽度
specialityID
Char
5
CourseID
Char
8
Term
Tinyint
Student表
字段名称
类型
宽度
studentID
Char
10
studentName
Varchar
10
Nation
Char
10
Sex
Char
2
Birthday
Datetime
classID
Char
7
Telephone
Varchar
16
Credithour
Tinyint
Ru_data
Char
4
Address
Varchar
50
Pwd
varchar
16
Remark
Varchar
200
Teacher表
字段名称
类型
宽度
teachaerID
Char
8
teacherName
Varchar
10
deparmentID
Char
3
Sex
Char
2
technicalPost
Char
16
Telephone
Char
16
Homeaddr
Varchar
50
Pwd
Varchar
16
Remark
Varchar
200
User表
字段名称
类型
宽度
usename
Char
10
Mypassword
Varchar
50
Usertype
varchar
20
第四章系统的功能
4.1系统界面
4.1.1系统登录界面
4.1.2系统主界面
4.1.3系统用户管理界面
4.1.4系统教师资料管理界面
4.1.5系统课程界面
4.1.6系统成绩界面
4.1.7系统学生界面
4.2代码部分
4.2.1login.aspx
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Data.SqlClient;
publicpartialclass_Default:
System.Web.UI.Page
{
SqlConnectionsms_conn;
publicintPageCount,PageSize,RecordCount,CurrentPage;
protectedvoidPage_Load(objectsender,EventArgse)
{
stringsms_connstr=System.Configuration.ConfigurationManager.AppSettings["sms_dbconn"];//建立连接
sms_conn=newSqlConnection(sms_connstr);
}
protectedvoidButton_logoin(objectsender,EventArgse)
{
stringstr_pwd=this.mypassword.Text.Trim().Replace("'","''");
stringsqlstr="selectusertypefromUserswhereusername='"+username.Text+"'andmypassword=@password";
SqlCommandcmd=newSqlCommand(sqlstr,sms_conn);
cmd.Parameters.Add(newSqlParameter("@password",SqlDbType.VarChar,50));
cmd.Parameters["@password"].Value=System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str_pwd,"MD5").ToString();//密码加密
sms_conn.Open();
SqlDataReaderdr=cmd.ExecuteReader();
if(dr.Read()==true)
{
Session["user"]=this.username.Text.Trim();//管理员用户,Session进行传值
Session["type"]=dr["userType"].ToString().Trim();//管理员类型
FormsAuthentication.RedirectFromLoginPage(username.Text,false);
sms_conn.Close();
}
else
{
sms_conn.Close();
message.Text="您必须输入有效的用户名和密码!
";
}
}
protectedvoidButton_Cancel(objectsender,EventArgse)
{
}
}
4.2.2class.aspx
usingSystem;
usingSystem.Collections;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Web;
usingSystem.Web.SessionState;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.HtmlControls;
usingSystem.Data.SqlClient;
usingSystem.Configuration;
publicpartialclass_class:
System.Web.UI.Page
{
SqlConnectionsms_conn;
publicintPageCount,PageSize,RecordCount,CurrentPage;
protectedvoidPage_Load(objectsender,EventArgse)
{
stringsms_connstr=System.Configuration.ConfigurationManager.AppSettings["sms_dbconn"];
//建立连接
sms_conn=newSqlConnection(sms_connstr);
PageSize=8;
if(!
IsPostBack)
{
//计算总共有多少记录
ListBind();
ViewState["PageIndex"]=0;
RecordCount=CalculateRecord();
lblRecordCount.Text=RecordCount.ToString();
//计算总共有多少页
if((RecordCount%PageSize)==0)
PageCount=(RecordCount/PageSize);
else
PageCount=(RecordCount/PageSize)+1;
lblPageCount.Text=PageCount.ToString();
ViewState["PageCount"]=PageCount;
sms_conn.Open();
stringsms_sqlstr2="selectspecialitynamefrom[speciality]";
SqlDataAdaptersms_da2=newSqlDataAdapter(sms_sqlstr2,sms_conn);
DataSetsms_ds2=newDataSet();
sms_da2.Fill(sms_ds2,"T");
sms_conn.Close();
DropDownList1.DataSource=sms_ds2.Tables["T"];
DropDownList1.DataTextField="specialityname";
DropDownList1.DataValueField="specialityname";
DropDownList1.DataBind();
sms_ds2.Clear();
sms_ds2.Dispose();
}
}
//计算总共有多少条记录
publicintCalculateRecord()
{
intintCount;
stringstrCount="selectcount(*)ascofromclass";
sms_conn.Open();
SqlCommandMyComm=newSqlCommand(strCount,sms_conn);
SqlDataReaderdr=MyComm.ExecuteReader();
if(dr.Read())
{
intCount=Int32.Parse(dr["co"].ToString());
}
else
{
intCount=0;
}
dr.Close();
sms_conn.Close();
returnintCount;
}
publicICollectionCreateSource()
{
intStartIndex;
//设定导入的起终地址
StartIndex=CurrentPage*PageSize;
stringstrSel="select*from[class],[student],[speciality]whereclass.specialityid=speciality.specialityidandclass.monitorid=student.studentid";
DataSetds=newDataSet();
SqlDataAdapterMyAdapter=newSqlDataAdapter(strSel,sms_conn);
MyAdapter.Fill(ds,StartIndex,PageSize,"guest");
returnds.Tables["guest"].DefaultView;
}
#regionWeb窗体设计器生成的代码
overrideprotectedvoidOnInit(EventArgse)
{
//
//CODEGEN:
该调用是ASP.NETWeb窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
///
///设计器支持所需的方法-不要使用代码编辑器修改
///此方法的内容。
///
privatevoidInitializeComponent()
{
this.Load+=newSystem.EventHandler(this.Page_Load);
}
#endregion
publicvoidListBind()
{
sms_class.DataSource=CreateSource();
sms_class.DataBind();
lbnNextPage.Enabled=true;
lbnPrevPage.Enabled=true;
if(CurrentPage==(PageCount-1))lbnNextPage.Enabled=false;
if(CurrentPage==0)lbnPrevPage.Enabled=false;
lblCurrentPage.Text=(CurrentPage+1).ToString();
}
publicvoidPage_OnClick(Objectsender,CommandEventArgse)
{
CurrentPage=(int)ViewState["PageIndex"];
PageCount=(int)ViewState["PageCount"];
stringcmd=e.CommandName;
//判断cmd,以判定翻页方向
switch(cmd)
{
case"next":
if(CurrentPage<(PageCount-1))CurrentPage++;
break;
case"prev":
if(CurrentPage>0)CurrentPage--;
break;
}
ViewState["PageIndex"]=CurrentPage;
ListBind();
}
publicvoidDataList_EditCommand(objectsender,DataListCommandEventArgse)
{
sms_class.EditItemIndex=e.Item.ItemIndex;
sms_class.SelectedIndex=-1;
ListBind();
}
publicvoidDatalist_CancelCommand(objectsender,DataListCommandEventArgse)
{
sms_class.EditItemIndex=-1;
ListBind();
}
publicvoidDatalist_UpdateCommand(objectsender,DataListCommandEventArgse)
{
TextBoxspename,cname,ent,monname;
Labelcid;
cid=(Label)(e.Item.FindControl("Lblcid"));
spename=(TextBox)(e.Item.FindControl("TextBox2"));
cname=(TextBox)(e.Item.FindControl("TextBox4"));
ent=(TextBox)(e.Item.FindControl("TextBox3"));
monname=(TextBox)(e.Item.FindControl("TextBox1"));
stringsms_sqlstr2="updateclasssetmonitorid
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教务 管理 系统 课程设计