《软件工程》课程设计说明书教务管理系统学生姓名学号所在专业计算机科学与技术所在班级指导教师提交时间目录第一章绪言 (4)1.1系统及需求分析 (4)1.1.1 系统需求 (4)1.1.2可行性分析 (4)1.2系统功能简介 (4)1.2.1 项目规划 (5)1.2.2 教师管理 (5)1.2.3 学生管理 (5)1.2.4 成绩管理 (5)1.2.5 课程管理 (6)1.2.6 用户管理 (6)1.2.7 系统开发的目标 (6)第二章系统分析 (6)2.1业务流程分析 (6)2.1.1教师管理业务流程图 (6)2.1.2学生管理业务流程图 (7)2.1.3课程管理业务流程图 (7)2.1.4成绩管理业务流程图 (7)2.2数据流程分析 (8)2.2.1数据流程图 (8)2.3数据存储分析:实体联系图 (8)第三章系统设计 (10)3.1软件模块结构设计 (10)3.1.1 系统方案确定 (10)3.1.2 软件结构设计 (10)3.2数据库设计 (11)3.2.1 数据库表 (11)第四章系统的功能 (15)4.1系统界面 (15)4.1.1 系统登录界面 (15)4.1.2 系统主界面 (15)4.1.3 系统用户管理界面 (16)4.1.4 系统教师资料管理界面 (16)4.1.5 系统课程界面 (17)4.1.6 系统成绩界面 (18)4.1.7 系统学生界面 (18)4.2代码部分 (19)4.2.1 login.aspx (19)4.2.2 class.aspx (20)4.2.3 course.aspx (26)4.2.4 department.aspx (32)4.2.5 editstu.aspx (35)4.2.6 grade.aspx (38)4.2.7 speciality.aspx (44)4.2.8 student.aspx (49)4.2.9 teacher.aspx (54)结束语 (57)致谢 (57)第一章绪言教务系统管理平台充分利用互联网络B/S管理系统模式,以网络为平台,为各个学校教务系统的管理提供一个平台,帮助学校管理教务系统,用一个帐号解决学校教务教学管理,并且学校可以自由选择学校需要的教务管理系统,灵活地定制符合学校自己实际情况的教务系统1.1 系统及需求分析1.1.1 系统需求通过调查,要求系统需要有以下功能:⑴由于操作人员的计算机知识普遍较差,要求有良好的人机界面;⑵由于该系统的使用对象多,要求有较好的权限管理;⑶原始数据修改简单方便,支持多条件修改⑷方便的数据查询,支持多条件查询;⑸在相应的权限下,删除数据方便简单,数据稳定性好;⑹数据计算自动完成,尽量减少人工干预;1.1.2可行性分析由于本系统管理的对象单一,都是在校学生,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。
因此,比较适合于采用数据库管理。
且学校用于学生管理的微机都是PIII以上的机器,在存储量、速度方面都能满足数据库运行的要求。
在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其它程序的功能,因此完全可以实现。
本系统的设计是在Window XP中文版操作系统环境下,使用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.2数据流程分析2.2.1数据流程图由于本系统的数据模块较多,下面仅以学生成绩管理模块为例来进行编制。
学生成绩管理系统0层数据流程图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的SQL20053.2.1 数据库表数据库关系图如下开发系统时涉及的表如下Class表字段名称类型宽度classID char 7className Varchar 12specialityID Char 5specialityName Varchar 30EntranceYear Char 4MonitorID Char 10Course表字段名称类型宽度courseID Char 8coursename Varchar 20coursetypeID varchar 3totalperiod tinyintweekperiod tinyintcredithour tinyintremark Varchar 50Coursetype表字段名称类型宽度coursetypeID varchar 3 Typename varchar 18DepartmentID表字段名称类型宽度departmentID char 3 departmentName varchar 30 departmentHead Char 8Grade表字段名称类型宽度studentID Char 10courseID Char 8Grade TinyintSpeciality表字段名称类型宽度specialityID varchar 5specialityName Varchar 30DepartmentID Char 3Speciality_course 表字段名称类型宽度specialityID Char 5 CourseID Char 8Term TinyintStudent表字段名称类型宽度studentID Char 10 studentName Varchar 10 Nation Char 10 Sex Char 2 Birthday DatetimeclassID Char 7 Telephone Varchar 16 Credithour TinyintRu_data Char 4 Address Varchar 50 Pwd varchar 16 Remark Varchar 200Teacher表字段名称类型宽度teachaerID Char 8teacherName Varchar 10deparmentID Char 3Sex Char 2technicalPost Char 16Telephone Char 16Homeaddr Varchar 50Pwd Varchar 16Remark Varchar 200User表字段名称类型宽度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.1 login.aspxusing System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;public partial class_Default : System.Web.UI.Page{SqlConnection sms_conn;public int PageCount, PageSize, RecordCount, CurrentPage;protected void Page_Load(object sender, EventArgs e){string sms_connstr =System.Configuration.ConfigurationManager.AppSettings["sms_dbconn"]; //建立连接 sms_conn = new SqlConnection(sms_connstr);}protected void Button_logoin(object sender, EventArgs e){string str_pwd = this.mypassword.Text.Trim().Replace("'", "''");string sqlstr = "select usertype from Users where username='" + username.Text + "'and mypassword=@password";SqlCommand cmd = new SqlCommand(sqlstr, sms_conn);cmd.Parameters.Add(new SqlParameter("@password", SqlDbType.VarChar, 50));cmd.Parameters["@password"].Value =System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str_pwd,"MD5").ToString();//密码加密sms_conn.Open();SqlDataReader dr = cmd.ExecuteReader();if (dr.Read() == true){Session["user"] = ername.Text.Trim();//管理员用户,Session进行传值Session["type"] = dr["userType"].ToString().Trim();//管理员类型FormsAuthentication.RedirectFromLoginPage(username.Text, false);sms_conn.Close();}else{sms_conn.Close();message.Text = "您必须输入有效的用户名和密码!";}}protected void Button_Cancel(object sender, EventArgs e){}}4.2.2 class.aspxusing System;using System.Collections;using ponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls;using System.Data.SqlClient;using System.Configuration;public partial class_class : System.Web.UI.Page{SqlConnection sms_conn;public int PageCount, PageSize, RecordCount, CurrentPage;protected void Page_Load(object sender, EventArgs e){string sms_connstr =System.Configuration.ConfigurationManager.AppSettings["sms_dbconn"];// 建立连接sms_conn = new SqlConnection(sms_connstr);PageSize =8;if (!IsPostBack){//计算总共有多少记录ListBind();ViewState["PageIndex"] = 0;RecordCount = CalculateRecord();lblRecordCount.Text = RecordCount.ToString();//计算总共有多少页if ((RecordCount % PageSize) == 0)PageCount = (RecordCount / PageSize);elsePageCount = (RecordCount / PageSize) + 1;lblPageCount.Text = PageCount.ToString();ViewState["PageCount"] = PageCount;sms_conn.Open();string sms_sqlstr2 = "select specialityname from [speciality]";SqlDataAdapter sms_da2 = new SqlDataAdapter(sms_sqlstr2, sms_conn);DataSet sms_ds2 = new DataSet();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();}}//计算总共有多少条记录public int CalculateRecord(){int intCount;string strCount = "select count(*) as co from class";sms_conn.Open();SqlCommand MyComm = new SqlCommand(strCount, sms_conn);SqlDataReader dr = MyComm.ExecuteReader();if (dr.Read()){intCount = Int32.Parse(dr["co"].ToString());}else{intCount = 0;}dr.Close();sms_conn.Close();return intCount;}public ICollection CreateSource(){int StartIndex;//设定导入的起终地址StartIndex = CurrentPage * PageSize;string strSel = "select * from [class],[student],[speciality] whereclass.specialityid=speciality.specialityid and class.monitorid=student.studentid";DataSet ds = new DataSet();SqlDataAdapter MyAdapter = new SqlDataAdapter(strSel,sms_conn);MyAdapter.Fill(ds, StartIndex, PageSize, "guest");return ds.Tables["guest"].DefaultView;}#region Web 窗体设计器生成的代码override protected void OnInit(EventArgs e){//// CODEGEN: 该调用是 Web 窗体设计器所必需的。