第十五章教务管理系统主要内容15.1教务系统设计的目的15.2需求分析15.3系统功能15.4数据库设计15.5详细设计公司名称•前面的章节系统的介绍了使用ASP.NET开发网页所必须掌握的技术和各种知识,为了对这些内容理解并学会融合贯通,本章将介绍一个典型的综合案例—教务管理系统,说明一个网站开发的过程。•本章从系统分析、数据库设计、详细设计等实现对教务管理系统的实现。•本章包含的主要内容:•●系统分析•●数据库设计•●详细设计15.1教务系统设计的目的•本次设计意在开发一个能方便管理校务的程序。功能包括学生、老师、班级、课程、成绩等信息的增删改查,通过对不同用户赋予不同权限,使得不同角色的用户可进行相应权限的操作,避免了越权操作,保障数据的安全性。15.2需求分析根据教务管理的实际情况,管理员便快捷的对学生、教师等信息进行增删改查,而该系统正是基于学校的需求出发量身定做出既能快速处数据又能安全快捷的操作,为此制定了系统的设计原则和应达到的几点要求:(1)管理员能够迅速一览学生、教师、课程、班级等信息。(2)用户能进行进行各种形式快速查找。(3)管理员可以快速对新学生进行增加、修改,以及对毕业的学生的修改和删除等操作。(4)管理员有可以进行相应权限设置,如添加用,删除用户等。(5)教师可以对学生的成绩进行增加、修改、上传和教务信息等。(6)学生可以对课表、个人成绩、教务信息等相关信息进行查询。15.3系统功能•本系统共分三大功能模块:学生模块,教师模块,管理员模块,而每个模块又分若干个子模块。•学生模块:查询课表;查询个人信息;查询成绩;教务信息的浏览及下载;修改密码。•教师模块:查询课表;查询所授课班学生成绩;提交学生成绩;教务信息的浏览及下载;修改密码。•管理员模块:对学生、老师、课程、课表、班级、院系、教室、教务信息等信息的增删改查操作。•系统的功能模块图如图15-1所示。对教师信息增删改查对课程信息增删改查管理员模块对课表信息增删改查对学生信息增删改查教务管理系统查询课表学生模块查询个人信息查询成绩教务信息的浏览及下载修改密码查询课表教师模块查询学生成绩提交学生成绩教务信息的浏览及下载修改密码对教务信息的增删改查对班级信息增删改查15.4数据库设计数据库的设计:本系统采用SQLServer2008数据库,名为TeachingManage.mdf,在数据库里有12张表,Admin表,存放管理员的详细信息,Student表,存放学生详细信息,Teacher表,存储教师的详细信息,Notification表,存放教务信息的详细信息,Class表,存放班级的成绩,Course表,用于存放课程信息,Grade表,用于存放学生成绩,PlanCourse表,用于存放课表信息。15.4数据库设计Admin表结构如表15-1所示。表15-1Admin表字段名称数据类型可否为空默认值主键AdministratorIDintnotnull无是AdministratorNamevarchar(10)null无否Passwordvarchar(50)null无否15.4数据库设计Student表结构如表15-2所示。表15-2Student表字段名称数据类型可否为空默认值主键StudentNumbernchar(10)notnull无是Namenvarchar(50)null无否Sexchar(10)null无否Birthdaydatenul无否StudentPasswordnchar(20)nul无否IdentityCardNumberchar(18)null无否DepartmentNumbervarchar(20)notnul无否ClassNumbervarchar(10)notnull无否15.4数据库设计表15-3Teacher表字段名称数据类型可否为空默认值主键EmployeeIDvarchar(10)notnull无是Namevarchar(50)null无否Sexvarchar(10)null无否Birthdaydatenull无否Passwordvarchar(50)null无否IdentityCardNumberchar(18)null无否DepartmentNumbervarchar(20)notnull无否Specialityvarchar(50)notnull无否OfficeAddressvarchar(50)null无否Nationalityvarchar(50)null无否15.5详细设计15.5.1文件结构在教务管理系统中,文件结构如图15-3所示。15.5详细设计Administrator-管理员文件夹App_Code-类文件夹App_Data-数据库文件夹Bin-放置dll文件夹Images-图片文件夹Scripts-脚本文件夹Student-学生文件夹Styles-css样式表文件夹Teacher-教师文件夹Web.config-配置文件15.5详细设计15.5.2命名规则控件命名遵循Pascal命名法,即每个单词首字母均大写其余小写,例如,UserNameTextBox对于变量遵循camel命名法,即第一个单词首字母小写,以后每个单词首字母均大写,其他字母小写,如,userName15.5详细设计15.5.3App_Code类文件说明在App_Code类文件夹常存放一些网页中的公共方法。1.SqlHelper.cs-连接数据库,打开关闭数据库,执行存储过程的方法,执行sql命令的方法,返回受影响的行数等方法均写在此文件中,代码如下:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Configuration;usingSystem.Data.SqlClient;usingSystem.Data;usingSystem.Data.Common;///summary///SqlHelper的摘要说明////summarypublicclassSqlHelper{privatestaticstringconnectionString=ConfigurationManager.ConnectionStrings[ConStr].ConnectionString.ToString();privateSqlConnectioncon=null;privateSqlCommandcmd=null;privateSqlDataReadersdr=null;privateDataTabledt=null;//初始化SqlHelper类15.5详细设计publicSqlHelper(){con=newSqlConnection(connectionString);}//获得Sqlconnection对象privateSqlConnectionGetConnection(){returncon;}//打开数据库privatevoidOpenDatabase(){if(con.State==ConnectionState.Closed)con.Open();}//关闭数据库privatevoidCloseDatabase(){if(con.State==ConnectionState.Open){con.Close();}}15.5.4模块设计教务管理系统采用三层架构设计,设计过程均是遵循数据层-业务逻辑层-表示层的步骤,层层调用明确,便于编写和维护。学生,教师和管理员三大用户每个均有自己的主界面,在每个主界面中均添加了一个iframe框架标记,这样在主界面主题风格不变的情况下调用其他分页,调用清晰。15.5.5登录界面功能介绍:本窗口主要是检查用户输入的用户名及密码是否正确,如果正确,允许登录。如果错误,显示出错误提示。操作方法:选定登录角色,填写“用户账号”与“密码”后,点击“登录”按钮进行验证,点击“取消”即退出。输入的帐号和口令应和设置的相同时,则登录成功,如图15-4所示。15.5.5登录界面15.5.5登录界面新建一个网页,命名为Default.aspx添加一个按钮,五个标签,两个文本框,设计界面如图15-5所示,属性如表15-9所示。15.5.5登录界面表15-9登录表单及其控件属性设置对象对象名称属性属性值Web窗体Default.aspxLabelLabel1Text用户:LabelLabel2Text密码:TextBoxUserNameTextBoxTextBoxPwdTextBoxButtonLoginButtonText登录RadioButtonRadioButton1Text学生RadioButtonRadioButton2Text老师RadioButtonRadioButton3Text管理员15.5.6学生用户主界面该页功能强大,可满足学生对基本教务信息的查询,如课表,消息通知等,如图15-6所示。15.5.6学生用户主界面新建一个Web窗体,命名为StudentMain.aspx,设计界面如图15-7所示,属性如表15-10所示。15.5.6学生用户主界面对象对象名称属性属性值Web窗体StudentMain.aspx用户控件DisplayUserInformation.ascx用户控件DsiplayCourseTable.ascx用户控件StudentTreeViewNavigation.ascx框架标记iframesrc../ShowNotification.aspx15.5.7学生课表查询1.数据层在数据中建立存储过程QeryCourseTable2.业务逻辑层在类UserCommon.cs中编写QueryCourseTable()方法3.表示层学生可以方便查询本学期班级课表,课表中详细显示了课程名,授课教师,上课地点,所在楼层,教室容纳人数等信息。如图15-8所示。15.5.7学生课表查询15.5.8教师用户主界面教师用户主界面如图15-10所示15.5.9教师提交学生成绩1.数据层在数据中建立存储过程TeacherSubmitStudentGrade2.业务逻辑层在类TeacherAccess.cs中编写SubmitStudentScore()方法3.表示层教师可以方便上传和修改期末考试成绩。如图15-11所示。15.5.10管理员后台主界面管理员后台主界面如图15-13所示。15.5.11管理员增加教务信息和上传文件1.数据层在数据中建立存储过程InsertToNotification2.业务逻辑层在类NotificationAccess.cs中编写InsertToNotification()方法3.表示层添加教务信息的运行界面如图15-15所示。15.5.12附加SQLServer2008数据库•1.打开SQLServer2008中,然后展开本地服务器,在“数据库”数据项上单击鼠标右键,在弹出的快捷菜单中选择“附加”菜单项。•2.将弹出“附加数据库”对话框,在该对话框中单击“添加”按钮,选择所要附加数据库的TeachingManage.mdf文件,单击“确定”按钮,即可完成数据库的附加操作,如图15-17所示。15.5.12附加SQLServer2008数据库谢谢!