资源描述
毕 业 论 文 题 目 授课计划填报管理系统 学生姓名 * 学 号 31063003 系 部 计算机科学与工程系 专 业 软件技术 班 级 指导教师 * 讲师 顾问教师 * 研究员级高工 二九年六月 摘 要 摘 要 授课计划是教师在开学前准备的一项重要教学基本资料。授课计划的制定 必须严格遵照该门课程的教学大纲的要求,以确保达到培养学生的预定目标。 它不仅涉及到教务科长、教研室主任、课程负责人、各任课教师四个层次的人 员;还涉及了各实验室和多媒体教室资源的高效利用。 本论文论述了授课计划填报管理系统的开发流程,包括授课计划填报管理、 教学资源申请与查询管理、资源基本信息管理、教师基本信息管理、系部基本 信息管理等五大模块,同时分为普通教师、课程负责人、系教务科、管理员四 个身份等级。 本项目基于.Net 2005平台,应用多层框架技术实现。该系统为教师申请教 学资源,课程负责人制定授课计划,管理员查询核对信息提供了方便,达到规 范教学秩序的目标。同时为实现授课计划的制定和质量监控的信息化、网络化、 智能化提供了有力的支持。 关键词:授课计划 填报系统 .NET 目 录 I 目 录 摘 要 .I 目 录 .II 第一章 项目概述 .1 1.1 项目建设背景 .1 1.2 项目开发目标 .1 1.3 论文结构 .2 第二章 B/S 相关技术概述 .3 2.1 浏览器/服务器(BROWSER/S ERVER)结构 .3 2.2 .NET 平台框架结构 .3 2.3 系统三层框架模型 .4 2.4 三层框架核心代码实现 .5 第三章 系统分析与设计 .11 3.1 系统开发的运行平台与开发工具 .11 3.1.1 系统开发环境 .11 3.1.2 系统开发工具 .11 3.2 系统需求分析与设计 .11 3.2.1 系统功能性描述 .11 3.2.2 系统主要功能模块 .13 3.3 系统数据库表设计 .14 3.3.1 数据库表的逻辑设计 .14 3.3.2 数据库表的设计文档 .14 3.4 系统框架设计 .19 3.4.1 系统项目开发结构 .19 3.4.2 系统功能模块汇总表 .19 第四章 系统流程分析及功能实现 .22 4.1 系统流程概述 .22 4.2 特色功能流程概述与实现 .25 4.2.1 授课计划管理 .25 4.2.2 教室资源申请 .36 4.2.3 查询资源使用情况 .41 第五章 总结与展望 .44 5.1 总结 .44 5.2 展望 .44 致 谢 .45 参考文献 .46 毕业设计论文 0 第一章 项目概述 1.1 项目建设背景 授课计划是教师在开学前准备的一项重要教学基本资料。授课计划的制定 必须严格遵照该门课程的教学大纲的要求,以确保达到培养学生的预定目标。 它不仅涉及到教务科长、教研室主任、课程负责人、各任课教师四个层次的人 员;还涉及了各实验室和多媒体教室资源的高效利用。但是,目前的教务管理 系统还不能实现授课计划的制定和质量监控的信息化、网络化、智能化,主要 表现如下: 1教研室主任不能准确地监控课程负责人的负责情况; 2课程负责人需人工核对各任课教师的授课计划是否严格遵照其预先制定 的授课计划模板; 3实验室调度系统和多媒体调度系统相互独立,任课教师需打开两个系统 进行申报; 4系部进行教学进程检查时,不能又快又准确地监控到某位任课教师课堂 教学内容、上课地点及某一时间系部有哪些教师正在上课; 5教师的理论教学工作量和实践教学工作量核算复杂。 针对以上弊病,结合的实际情况,开发了授课计划填报管理系统,用来提 高教师制定授课计划的效率和加强系部教学监控的及时性和准确性,为学校教 学的二级管理提供有力支持,全面推进高质量、高水平、高效率的教务管理, 使学校教务管理向着“规范化、信息化、网络化”方向发展。 1.2 项目开发目标 通过长期的教学管理和质量监控工作的实践以及教务处对教师教学工作量 的核算要求及教学档案归档要求,确定系统的目标是建立一个基于 B/S 结构的 授课计划填报管理系统平台。此系统能使整个校园网乃至 Internet 上的用户都 可访问,而且用户可在多地域、任意时间段以不同身份来访问授课计划填报系 统中的数据,大大加强了系统数据共享的能力。 此系统具体应达到以下目标: 1能全面掌握全系部教师教学内容的基本信息,能适时监控教师的教学内 容是否与教学大纲一致,为系部的教学进程检查提供高效保证; 2能通过查询模式、浏览模式等方便地查找、筛选和统计所需要的信息 (如按某一时间能查询出全系部教师都在何地点上课、按教师姓名能统计汇总 其各类教学业务及工作量明细) ; 3能自动生成普通教师、实践指导教师、教研室主任及课程负责人等需上 交的各类教学档案清单,而且能监控其上交情况; 项目概述 1 4能适时监控教师调、停课及补课情况; 5能够实现教师、课程负责人、教研室主任及管理员四者之间的交流与沟 通; 6能设置权限,即设置教务员、教研室主任、课程负责人的管理权限。 1.3 论文结构 第一章 项目概述,简要介绍了授课计划填报系统的建设背景与开发目标, 并介绍了项目的总体功能与论文结构。 第二章 B/S 相关技术概述,介绍了系统中应用的 B/S 模式、.NET 框架结构 及三层框架模型的核心代码实现。 第三章 系统分析与设计,介绍了系统开发的运行平台与开发工具、系统总 体需求分析及系统界面设计、数据库设计等。 第四章 系统流程分析及功能实现,介绍了系统的操作流程,并重点介绍了 授课计划管理、教室资源申请、查询资源使用情况等三大模块功能的程序实现。 第五章 总结与展望,介绍了授课计划填报管理系统的优点及应用效果,并 对本文所做工作的总结并提出了下一步需要完成的工作。 毕业设计论文 2 第二章 B/S 相关技术概述 2.1 浏览器/服务器(Browser/Server)结构 Browser/Server 是一种分布式的 Client/Server 式结构,用户可以通过浏 览器向分布在网络上的许多服务器发出请求。Browser/Server 结构简化了客户 机的管理工作,客户机上只需安装、配置少量的客户端软件(通常是浏览器), 服务器将负担更多的工作,对数据库的访问和应用系统的执行将在服务器完成。 在实际使用时,基于浏览器/服务器结构模式的信息系统通常会采用三层或 更多层的结构。例如采用浏览器Web 服务器数据库服务器的三层结构时,以 Web 服务器作为功能逻辑层,用户端通过浏览器向 Web 服务器提出查询请求, Web 服务器则根据需要再向数据库服务器发出数据检索请求。数据库服务器则根 据查询条件返回相应的数据结果给 Web 服务器,Web 服务器将结果转化为字符流 返回给浏览器,在浏览器中转换为合适的界面给用户浏览。如图 2-1 所示。 WEB 服务器 客户端 应用服务器 浏览器客户 数据服务器 图 2-1 基于 Web 的三层结构示意图 Browser/Server 模式的优点在于它解决了普通的客户机/服务器模式的一些 缺点:所有的用户可以在世界各地通过 Internet 来访问服务器,客户端的软件 是通用的 Web 浏览器(例如 Microsoft Internet Explorer、Netscape Navigator 等),而且所有的程序开发工作均集中在服务器端,不需过多地考虑 客户端的更新,所以可以有效地减少客户端软件安装和更新等问题。 B/S 相关技术概述 3 2.2 .NET 平台框架 结构 .NET 是微软公司的一个产品系列,是一种新的计算平台,它包含了操作系 统上软件开发的所有层,它提供了微软平台所曾见过的组件技术、呈现技术和 数据技术的最丰富的集成级别。整个体系结构已经被创建为易于在高度分布式 Internet 环境中的应用程序开发,就像进行传统的桌面系统开发一样。整个. NET 平台体系结构可以分为 4 个主要部分:用来构建和运行企业信息系统的基 础设施和工具,包括 Visual Studio .NET,.NET Enterprise Servers,.NET Framework;.NET 基础服务,包括一组用于 Internet 的信息共享服务,以及用 于文件存储、用户偏好管理、日历管理的服务等;. NET 用户体验,信息可以以 各种方式、在各种不同设备上提供.NET 设备,这种设备软件使得可以使用新的 可以利用网络服务的智能 Internet 设备。 微软平台的主要缺点是只能限于 Windows 平台,与 Sun 公司的 J2EE 相比, 其主要的优点如下:1) 开发应用程序的成本更低;2) 运行和维护应用程序的成 本更低;3) 伸缩的能力更大,被证明的可以支持客户端数是任何 J2EE 平台表 明的可以支持的客户端数的 10 倍;4) 互用性更强,可以将工业标准电子协作 协议(UDDI) 内置到平台中。 因此,本项目选择. NET 作为“分布式应用程序开发”的基础平台,. NET 平台的框架结构如图 2-2 所示。 图 2-2 .NET 平台的框架结构 2.3 系统三层框架模型 在本系统中,充分考虑项目的易维护性和开发的规范性,降低后续开发成 本,真正实现软件工程理论中“高内聚,低耦合”的设计思想,系统选用了多 层架构的设计手段。将不同功能逻辑单元分别放在不同的层面进行开发。具体 毕业设计论文 4 在项目中分为三层结构,具体描述为: 1. Web 表示层:在该层主要实现页面 GUI 的设计,完成与用户的信息交互。 2. BLL 业务逻辑层:在以上各层的支撑下,最后在该层实现具体业务逻辑。 3. DAL 数据访问层:实现对数据库中特定表的特定操作。简单的说法就是 实现对数据表的 Select,Insert,Update,Delete 的操作。 图 2-3 三层架构模型 基于此结构另外系统中拓展的两层模型,描述为: 4. Model 数据模型层:数据模型层实现对数据库关系表的对象转化过程, 将每张表对对应定义为一个类,在系统中以该类的实例化对象,实现数 据在各个层次间的数据传输。 5. DBUtility 数据库底层:在该层实现对数据库底层的各种操作,通过反 射机制建立数据库的连接,在配置文件中实现配置连接不同的数据库。 2.4 三层框架核心代码实现 1、 DBUtility 层,数据库操作基础类 DbHelperSQL using System; using System.Collections; using System.Collections.Specialized; B/S 相关技术概述 5 using System.Data; using System.Data.SqlClient; using System.Configuration; using System.Data.Common; using System.Collections.Generic; namespace HuaiXinTRAS.DBUtility / / 数据访问抽象基础类 / public abstract class DbHelperSQL /数据库连接字符串(web.config来配置),可以动态更改 connectionString支持多数据库 . public static string connectionString = Server = CHINA- DB7C2A2D7;uid = sa;pwd = ict;database = HuaiXinTRAS; public DbHelperSQL() #region 执行简单SQL语句 / / 执行SQL语句,返回影响的记录数 / / SQL语句 / 影响的记录数 public static int ExecuteSql(string SQLString) using (SqlConnection connection = new SqlConnection(connectionString) using (SqlCommand cmd = new SqlCommand(SQLString, connection) try connection.Open(); int rows = cmd.ExecuteNonQuery(); return rows; 毕业设计论文 6 catch (System.Data.SqlClient.SqlException e) connection.Close(); throw e; / / 执行查询语句,返回DataSet / / 查询语句 / DataSet public static DataSet Query(string SQLString) using (SqlConnection connection = new SqlConnection(connectionString) DataSet ds = new DataSet(); try connection.Open(); SqlDataAdapter command = new SqlDataAdapter(SQLString, connection); command.Fill(ds, ds); catch (System.Data.SqlClient.SqlException ex) throw new Exception(ex.Message); return ds; #endregion 2、 DAL 层实现数据库对表 CourseInfo 的基本操作 using System; using System.Data; B/S 相关技术概述 7 using System.Text; using System.Data.SqlClient; using HuaiXinTRAS.DBUtility;/请先添加引用 namespace HuaiXinTRAS.DAL / / 数据访问类CourseInfo 。 / public class CourseInfo public CourseInfo() #region 成员方法 / / 增加一条数据 / public int Add(HuaiXinTRAS.Model.CourseInfo model) StringBuilder strSql=new StringBuilder(); strSql.Append(insert into CourseInfo(); strSql.Append(CourseId,CourseName,DeptId,TeacherId); strSql.Append( values (); strSql.Append(CourseId,CourseName,DeptId,TeacherId); strSql.Append(;select IDENTITY); SqlParameter parameters = new SqlParameter(CourseId, SqlDbType.VarChar,50), new SqlParameter(CourseName, SqlDbType.VarChar,50), new SqlParameter(DeptId, SqlDbType.VarChar,50), new SqlParameter(TeacherId, SqlDbType.VarChar,50); parameters0.Value = model.CourseId; parameters1.Value = model.CourseName; parameters2.Value = model.DeptId; parameters3.Value = model.TeacherId; object obj = DbHelperSQL.GetSingle(strSql.ToString(),parameters); if (obj = null) 毕业设计论文 8 return 1; else return Convert.ToInt32(obj); / / 获得数据列表 / public DataSet GetList(string strWhere) StringBuilder strSql=new StringBuilder(); strSql.Append(select CourseInfo.Id,CourseInfo.CourseId,CourseInfo.courseName,DepartmentInfo.deptNam e,TeacherInfo.teacherName from CourseInfo,DepartmentInfo,TeacherInfo where DepartmentInfo.deptId = CourseInfo.deptId and CourseInfo.teacherid=TeacherInfo.teacherid ); if(strWhere.Trim()!=) strSql.Append( and +strWhere); return DbHelperSQL.Query(strSql.ToString(); #endregion 成员方法 3、 BLL 层实现具体业务逻辑 using System; using System.Data; using HuaiXinTRAS.Model; namespace HuaiXinTRAS.BLL / / 业务逻辑类CourseInfo 的摘要说明。 / public class CourseInfo B/S 相关技术概述 9 private readonly HuaiXinTRAS.DAL.CourseInfo dal=new HuaiXinTRAS.DAL.CourseInfo(); public CourseInfo() #region 成员方法 / / 增加一条数据 / public int Add(HuaiXinTRAS.Model.CourseInfo model) return dal.Add(model); / / 获得数据列表 / public DataSet GetList(string strWhere) return dal.GetList(strWhere); public DataSet GetAllList() return GetList(); #endregion 成员方法 4、 Web层中配置Web.config文件,实现数据库的连接 当要改变连接数据库的类型或服务器时,只需要更改该配置文件就能到达 目的。系统在运行过程中,通过类的反射原理,将配置信息加载到对象中。 毕业设计论文 10 第三章 系统分析与设计 3.1 系统开发的运行平台与开发工具 3.1.1 系统开发环境 1. 应用开发环境 (1)Web 服务器:采用 IIS6.0 作为服务器 (2)数据库服务器:采用 SQLserver2005 数据库服务器 (3)开发平台:Windows 2005Server+IIS+Visual Studio.NET 2005 2.系统开发层次结构 (1)客户端:采用 Web 浏览器,可以通过 HTML 和 XHML 页面来表现。 (2)Web 层:主要采用 ASP.NET 处理客户请求而建立连接。 (3)业务逻辑层:采用中间件技术,选择的开发工具是 Visual Studio.NET2005 (4)数据层:采用 ADO.NET,提供一种通用的方法来查询、更新关系数据库表, 并且把数据库操作的结果转化为 DOTNET 的数据类型。 3.1.2 系统开发工具 系统开发采用Visual Studio.NET 2005开发,因为ASP.NET是基于Windows Server和IIS的服务器端脚本运行环境,它能集成MTS开发出复杂、灵活的Web应 用程序。同时它也支持应用系统访问SQLServer 2005之类的数据库,而 SQLServer 2005也可与之有机集成。本系统按需求,针对本系统B/S结构,采用 Visual Studio.NET 2005进行开发。 系统数据库采用SQLServer 2005数据库,可以更好的与目前所使用的教学 管理系统相结合,并能充分有效的利用数据共享、便于数据交流。SQLServer 2005能很好的支持系统安全可靠、快速响应的工作要求。SQLServer 2005数据 库能够提供系统强大的功能,可以最小的复杂度带来最优的性能。而且也能够 满足本系统数据数据类型复杂、数据量大、并发性高、响应速度高等性能要求。 3.2 系统需求分析与设计 3.2.1 系统功能性描述 授课计划填报管理系统,基于 B/S 结构采用三层框架模型开发,它主要包 括授课计划填报管理、教学资源申请与查询管理、用户管理、教室资源基本信 息管理、课程信息管理、系部信息管理等六大功能模块。用户分为普通教师、 系统分析与设计 11 课程负责人、系教务科、管理员等四个身份权限访问系统。 下面根据不同用户的使用权限介绍系统功能。 图 3-1 系统功能用例图 据图 3-1 所示,系统功能描述如下: 1、授课计划填报管理:课程负责人制定或修改授课计划,供上课老师使用; 普通老师,系教务科,管理员等只有查看功能。 毕业设计论文 12 2、教学资源申请与查询管理:上课老师(包括普通老师,课程负责人)可 以查询资源总体使用情况,可以根据授课计划来申请教室资源,同时可以查看、 修改和删除自己所申请的教室资源;系教务科可以按条件查询资源总体使用情 况,及本系老师使用资源情况;管理员可以按条件查询资源总体使用情况,及 各系老师使用资源情况。 3、用户管理(面向不同身份的教师):管理员对各系教师信息的录入,修 改,删除,查询等基本维护操作;系教务科对本系教师信息的录入,修改,删 除,查询等基本维护操作;不同身份的用户都可以对自身密码进行修改。 4、教室资源基本信息管理(包括资源种类,位置及基本信息):管理员对 教室资源信息的录入,修改,删除,查询等基本维护操作;其它用户只能进行 查询,浏览的操作。 5、课程信息管理:管理员对各系课程信息的录入,修改,删除,查询等基 本维护操作;系教务科对本系课程信息的录入,修改,删除,查询等基本维护 操作;普通老师及课程负责仅有对课程信息查询,浏览的操作。 6、系部信息管理:管理员对系部信息的录入,修改,删除,查询等基本维 护操作;其它用户仅能进行浏览系部信息的操作。 3.2.2 系统主要功能模块 基于前述的开发目标和其工作的流程,设计了该系统的结构有四大模块: 课程信息模块、教室资源管理模块、系统信息管理模块及教师信息管理模块。 系统结构如下图 3-2 所示: 授课计划填报管理系统 课程信息管理模 块 教室资源管理模块 系部管理模块 教师信息管理模 块 课 程 一 般 信 息 授 课 计 划 管 理 资 源 种 类 管 理 资 源 位 置 管 理 基 本 信 息 管 理 教 室 资 源 查 询 教 室 资 源 申 请 系 部 信 息 管 理 基 本 信 息 管 理 密 码 修 改 图 3-2 系统功能模块 系统分析与设计 13 3.3 系统数据库表设计 3.3.1 数据库表的逻辑设计 图 3-3 数据库表逻辑设计 3.3.2 数据库表的设计文档 数据库名:HuaiXinTRAS 表名:TermInfo 学期信息表 序 号 列名 数据类型 长度 小数位 标识 主键 允许空 默认值 说明 1 Id int 4 0 学期编 号 2 Name varchar 50 0 学期名 称 表名:TeachPlanInfo 教学计划信息表 序 号 列名 数据类型 长度 小数 位 标 识 主 键 允许 空 默认 值 说明 1 PlanId int 4 0 教学 计划 表编 号 2 Terms varchar 50 0 学期 (包 括学 年) 3 CourseId varchar 50 0 课程 编号 毕业设计论文 14 4 DeptId varchar 50 0 所属 系部 5 ClassId int 4 0 班级 6 TotalHours int 4 0 总学 时 7 PlanHours int 4 0 计划 学时 8 TeacherName varchar 50 0 教师 名称 9 StaffRooms varchar 50 0 教研 室 10 TeachBookFullName text 16 0 教材 全称 11 MainTeachBooks varchar 100 0 主要 教学 参考 书 12 TotalWeeks int 4 0 本学 期教 学周 数 13 CourseWeeks int 4 0 本课 程周 学时 数 14 TermTotalHours int 4 0 本课 程学 期总 时数 15 TeachHours int 4 0 讲授 课时 数 16 ExperimentHours int 4 0 实验 课时 数 17 ExerciseHours int 4 0 习题 课时 数 18 RandomHours int 4 0 机动 课时 数 19 ReviewHours int 4 0 复习 课时 数 20 ExamHours varchar 50 0 考试 课时 数 21 CourseDesignHours varchar 50 0 课程 设计 22 Description text 16 0 备注 23 CoursePrincipalId varchar 50 0 课程 负责 人 26 DeptDirector varchar 50 0 系主 任 28 CoursePrincipalDate varchar 50 0 课程 负责 人审 系统分析与设计 15 核日 期 31 DeptDirectorDate varchar 50 0 系主 任审 核日 期 表名:TeachPlanDetails 教学计划详细信息表 表名:TeacherInfo 教师信息表 序 号 列名 数据类型 长度 小数位 标识 主键 允许空 默认值 说明 1 Id int 4 0 2 teacherId varchar 50 0 教师工 号 3 teacherName varchar 50 0 教师姓 名 4 LoginName varchar 50 0 登录名 5 LoginPwd varchar 50 0 登录密 码 6 deptId varchar 50 0 所属系 部 7 statusId int 4 0 教师身 份 表名:TeachBuildInfo 教学资源(教学楼)信息表 序 号 列名 数据类型 长度 小数位 标识 主键 允许空 默认值 说明 1 BuildId int 4 0 教学楼 编号 序 号 列名 数据类型 长度 小数位 标识 主键 允许空 默认值 说明 1 Id int 4 0 教学计 划明细 表编号 2 PID int 4 0 章的编 号 3 PlanId int 4 0 教学计 划表编 号 4 Weeks varchar 50 0 周次 5 Sequence varchar 50 0 顺序 6 List varchar 255 0 显示顺 序 7 Content text 16 0 上课内 容(含 课程实 验、实 习) 8 CourseHours varchar 50 0 每次课 的时数 9 ExtraWork text 16 0 课外作 业 10 Remark text 16 0 备注 毕业设计论文 16 2 BuildName varchar 50 0 教学楼 名称 表名:StatusTypeInfo 身份类别表 序 号 列名 数据类型 长度 小数位 标识 主键 允许空 默认值 说明 1 statusId int 4 0 身份编 号 2 statusName varchar 50 0 身份名 称 表名:SchoolRoomTypeInfo 教学资源类型表(教室类型) 序 号 列名 数据类型 长 度 小数 位 标 识 主 键 允许 空 默认 值 说明 1 SchoolRoomTypeId int 4 0 教室 类型 编号 2 SchoolRoomTypeName varchar 50 0 教室 类型 名称 表名:SchoolRoomInfo 教学资源基本信息表(教室信息) 序 号 列名 数据类型 长 度 小数 位 标 识 主 键 允许 空 默认 值 说明 1 SchoolRoomId int 4 0 教室 编号 2 SchoolRoomName varchar 50 0 教室 名称 3 BuildId int 4 0 教学 楼编 号 4 SchoolRoomTypeId int 4 0 教室 类型 表名:Navigation 导航栏表 序 号 列名 数据类型 长度 小数位 标识 主键 允许空 默认值 说明 1 ID int 4 0 2 navigation varchar 50 0 3 MenuID int 4 0 4 Link varchar 50 0 表名:MenuInfo 菜单表 序 号 列名 数据类型 长度 小数位 标识 主键 允许空 默认值 说明 1 MenuID int 4 0 2 MenuItem varchar 50 0 表名:DepartmentInfo 系部信息表 序 号 列名 数据类型 长度 小数位 标识 主键 允许空 默认值 说明 系统分析与设计 17 1 id int 4 0 2 deptId varchar 50 0 系部编 号 3 deptName varchar 50 0 系部名 称 表名:CourseInfo 课程基本信息表 序 号 列名 数据类型 长度 小数位 标识 主键 允许空 默认值 说明 1 Id int 4 0 2 CourseId varchar 50 0 课程编 号 3 CourseName varchar 50 0 课程名 称 4 DeptId varchar 50 0 所属系 部 5 TeacherId varchar 50 0 所属课 程负责 人 表名:ApplyInfo 资源申请信息表 序 号 列名 数据类型 长度 小数 位 标识 主键 允许 空 默认 值 说明 1 Id int 4 0 2 ClassId int 4 0 班级 编号 3 TeacherName varchar 50 0 上课 老师 4 FuDaoTeacherName varchar 50 0 辅导 老师 5 CourseId varchar 50 0 课程 6 Content varchar 50 0 上课 内容 7 SchoolRoomTypeId int 4 0 教室 类型 8 SchoolRoomId int 4 0 教室 9 Terms varchar 50 0 学期 10 Weeks varchar 50 0 周次 11 XingQi varchar 50 0 星期 几 12 JieCi varchar 50 0 节次 13 stuNum int 4 0 (0) 学生 人数 14 deptId varchar 50 0 系部 15 ApplyTime datetime 8 3 申请 时间 16 ExtraWork varchar 50 0 课外 作业 毕业设计论文 18 3.4 系统框架设计 3.4.1 系统项目开发结构 图3-4为本项目在Microsoft Visual Studio .NET 2005环境下的项目结构 图: 图 3-4 项目结构图 3.4.2 系统功能模块汇总表 UI:后台管理表示层子系统 模块名称 功能简述 UserLogin.aspx 用户登录界面 Top.aspx 后台管理框架头部界面 Left.aspx 后台管理树界面 Bottom.aspx 后台管理框架底部主界面 main.aspx 后台管理框架主界面 ApplyDetails.aspx 后台申请资源明细管理界面 系统分析与设计 19 CourseInfo.aspx 后台课程基本信息管理界面 CoursePlan.aspx 后台授课计划查询界面 DeptInfo.aspx 后台系部信息管理界面 EditPwd.aspx 后台修改密码界面 PlanDetails.aspx 后台授课计划明细管理界面 PlanHeader.aspx 后台授课计划信息管理界面 ResourceApply.aspx 后台资源申请管理界面 ResourceBasicInfo.aspx 后台资源基本信息管理界面 ResourceKind.aspx 后台资源种类管理界面 ResourcePlace.aspx 后台资源位置管理界面 ResourceQuery.aspx 后台资源使用查询管理界面 TeacherInfo.aspx 后台教师信息管理界面 BLL:业务逻辑层子系统 模块名称 功能简述 ApplyInfo 类 资源申请业务逻辑类 CourseInfo 类 课程信息业务逻辑类 DepartmentInfo 类 系部信息业务逻辑类 SchoolRoomInfo 类 资源基本信息(教室信息)业务逻辑类 SchoolRoomTypeInfo 类 资源种类(教室类型)业务逻辑类 StatusTypeInfo 类 身份种类业务逻辑类 TeachBuildInfo 类 资源位置(教学楼信息)业务逻辑类 TeacherInfo 类 教师信息业务逻辑类 TeachPlanDetails 类 授课计划明细业务逻辑类 TeachPlanInfo 类 授课计划基本信息业务逻辑类 TermInfo 类 学期信息业务逻辑类 DAL:数据库操作连接层子系统 模块名称 功能简述 ApplyInfo 类 资源申请数据库操作类 CourseInfo 类 课程信息数据库操作类 DepartmentInfo 类 系部信息数据库操作类 SchoolRoomInfo 类 资源基本信息(教室信息)数据库操作类 SchoolRoomTypeInfo 类 资源种类(教室类型)数据库操作类 StatusTypeInfo 类 身份种类数据库操作类 TeachBuildInfo 类 资源位置(教学楼信息)数据库操作类 TeacherInfo 类 教师信息数据库操作类 TeachPlanDetails 类 授课计划明细数据库操作类 TeachPlanInfo 类 授课计划基本信息数据库操作类 TermInfo 类 学期信息数据库操作类 毕业设计论文 20 Model:数据模型层子系统 模块名称 功能简述 ApplyInfo 类 资源申请模型 CourseInfo 类 课程信息模型 DepartmentInfo 类 系部信息模型 SchoolRoomInfo 类 资源基本信息(教室信息)模型 SchoolRoomTypeInf o 类 资源种类(教室类型)模型 StatusTypeInfo 类 身份种类模型 TeachBuildInfo 类 资源位置(教学楼信息)模型 TeacherInfo 类 教师信息模型 TeachPlanDetails 类 授课计划明细模型 TeachPlanInfo 类 授课计划基本信息模型 TermInfo 类 学期信息模型 DBUtility:数据库底层子系统 模块名称 功能简述 DbHelperSQL 类 实现数据库底层的基本操作 系统流程分析及功能实现 21 第四章 系统流程分析及功能实现 4.1 系统流程概述 1、打开 IE 浏览器,在地址栏中输入地址:http:/210.29.226.58,即进入系统 登录界面,如图 4-1: 图 4-1 系统登录界面 2、以“课程一般信息”模块为例,根据权限不同介绍使用流程: (1)首先以 “普通老师”身份登录,只有浏览和查询的功能,所以增加、 修改、删除按钮设置为灰色,不可使用,如图 4-2 效果: 图 4-2 课程信息一览总表 毕业设计论文 22 说明:课程编号,名称等四个条件可根据需要,任意组合选择,进行查询 操作,其中课程编号,课程名称都是模糊查询,如课程名称只输入“大学” ,查 询结果会把课程名称中带有“大学”的记录都显示出来。如图 4-3: 图 4-3 课程信息查询结果图 (2)以“课程负责人”身份登录,只有浏览基本数据的权限,操作同上, 不再做具体说明。 (3)以“系教务科身份” 登录,因为他只能对本系课程信息进行增、删、 改等操作,所以进入系统后显示的数据中所属系部即为该登录用户的所属系部, 如用户所属系部为电子系,所显示的数据都是电子系的相关课程,如图 4-4 所 示: 系统流程分析及功能实现 23 图 4-4 课程信息系部筛选图 说明: A. 因为用户只能在本系中查找相关信息,所以在选择其它系部,点击查找 时,如图 4-5 所示,给出错误提示后,下拉框还是定位到他所在系部。 图 4-5 课程信息查询图 B. 在添加信息时同样道理,只能选择本系,在他选择其它系部时会给出提 示,同时定位到他所在系,而且为防止出错,课程编号自动填充对应的 前两位。如图 4-6 所示。 图 4-6 课程信息添加图 毕业设计论文 24 C. 因为添加课程时,一定要注意课程编号与系部编号的对应关系,所以, 在选择完系部下拉框时,若他们两位没有对应,会有对话框提示:课程 编号前两位请匹配*,如图 4-7 所示。 图 4-7 课程信息添加警告图 (4)以“管理员”身份登录,因为可以对所有信息进行增删改查,没有什 么特别的注意,所以按正常流程操作即可。 说明: 上述过程以不同身份对课程一般信息进行了操作,其它类似功能就不在重 复。如:资源种类,资源位置,教室资源的基本信息,系部信息,教师的基本 信息等。 4.2 特色功能流程概述与实现 4.2.1 授课计划管理 1、流程概述: 因为只有“课程负责人”才能进行增加修改授课计划操作,所以下面以课 程负责人身份登录,介绍下授课计划部分的功能。 在“教室资源申请”菜单下的“授课计划”一栏中,选择“大学语文”课 程“添加授课计划” ,因为数据已经存在(如图 4-8) ,所以点击“修改授课计划” 即显示数据(如图 4-9) ,确定后(如图 4-10) ,进入“授课计划详细信息模块 (如图 4-11) ”,注意:显示蓝色“+”按钮的那条记录为“章或实验” ,没有显 示的记录默认为“该章下面的节次” 。 点击表格下方的“增加”按钮,默认为增加授课计划的章,或实验,即每 个条件都可填写(如图 4-12) ,增加成功后,要添加该章下面的节次,点击 系统流程分析及功能实现 25 “+”图标按钮(如图 4-13) ,因为周次,顺序,时数都不必填,所以文本框中 呈灰色,不能编辑,同时有“请勿填写”的提示标语。添加成功后,一套完整 的添加授课计划流程结束了。 图 4-8 授课计划信息一览表 图 4-9 添加授课计划图 毕业设计论文 26 图 4-10 提示信息图 图 4-11 授课计划详细信息一 览表 图 4-12 添加授课计划(章)信息 图 系统流程分析及功能实现 27 图 4-13 修改授课计划(节)信息 图 2、功能技术点描述: 如图-13 所示,授课计划管理模块的功能亮点在于使用 Repeater 呈现父子表 数据。在显示授课计划信息时,显示信息涉及到很多个章节,而在每个章节中 又包含若干个小节,所以在显示信息时使用了 Repeater 的嵌套,在父 Repeater 中显示章节信息,在子 Repeater 中显示小节相关信息。小节中的信息显示根据 父 Repeater 中的章节信息,及达到每一章节对应若干小节。 3、系统程序后台代码实现: using System; using System.Data; using System.Text; using System.Data.SqlClient; using HuaiXinTRAS.DBUtility;/请先添加引用 namespace HuaiXinTRAS.DAL / / 数据访问类TeachPlanDetails / public class TeachPlanDetails public TeachPlanDetails() #region 成员方法 毕业设计论文 28 / / 得到最大ID / public int GetMaxId() return DbHelperSQL.GetMaxID(Id, TeachPlanDetails); / / 是否存在该记录 / public bool Exists(int Id) StringBuilder strSql = new StringBuilder(); strSql.Append(select count(1) from TeachPlanDetails); strSql.Append( where Id=Id ); SqlParameter parameters = new SqlParameter(Id, SqlDbType.Int,4); parameters0.Value = Id; return DbHelperSQL.Exists(strSql.ToString(), parameters); / / 增加一条数据 / public int Add(HuaiXinTRAS.Model.TeachPlanDetails model) StringBuilder strSql = new StringBuilder(); strSql.Append(insert into TeachPlanDetails(); strSql.Append(PID,PlanId,Weeks,Sequence,List,Content,CourseHours,ExtraWork,Re mark); strSql.Append( values (); strSql.Append(PID,PlanId,Weeks,Sequence,List,Content,CourseHour s,ExtraWork,Remark); strSql.Append(;select IDENTITY); SqlParameter parameters = new SqlParameter(PID, SqlDbType.Int,4), new SqlParameter(PlanId, SqlDbType.Int,4), new SqlParameter(Weeks, SqlDbType.VarChar,50), 系统流程分析及功能实现 29 new SqlParameter(Sequence, SqlDbType.VarChar,50), new SqlParameter(List, SqlDbType.VarChar,255), new SqlParameter(Content, SqlDbType.Text), new SqlParameter(CourseHours, SqlDbType.VarChar,50), new SqlParameter(ExtraWork, SqlDbType.Text), new SqlParameter(Remark, SqlDbType.Text); parameters0.Value = model.PID; parameters1.Value = model.PlanId; parameters2.Value = model.Weeks; parameters3.Value = model.Sequence; parameters4.Value = model.List; parameters5.Value = model.Content; parameters6.Value = model.CourseHours; parameters7.Value = model.ExtraWork; parameters8.Value = model.Remark; object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters); if (obj = null) return 1; else return Convert.ToInt32(obj); / / 更新一条数据 / public void Update(HuaiXinTRAS.Model.TeachPlanDetails model) StringBuilder strSql=new StringBuilder(); strSql.Append(update TeachPlanDetails set ); strSql.Append(PID=PID,); strSql.Append(PlanId=PlanId,); strSql.Append(Weeks=Weeks,); strSql.Append(Sequence=Sequence,); strSql.Append(List=List,); 毕业设计论文 30 strSql.Append(Content=Content,); strSql.Append(CourseHours=CourseHours,); strSql.Append(ExtraWork=ExtraWork,); strSql.Append(Remark=Remark); strSql.Append( where Id=Id ); SqlParameter parameters = new SqlParameter(Id, SqlDbType.Int,4), new SqlParameter(PID, SqlDbType.Int,4), new SqlParameter(PlanId, SqlDbType.Int,4), new SqlParameter(Weeks, SqlDbType.VarChar,50), new SqlParameter(Sequence, SqlDbType.VarChar,50), new SqlParameter(List, SqlDbType.VarChar,255), new SqlParameter(Content, SqlDbType.Text), new SqlParameter(CourseHours, SqlDbType.VarChar,50), new SqlParameter(ExtraWork, SqlDbType.Text), new SqlParameter(Remark, SqlDbType.Text); parameters0.Value = model.Id; parameters1.Value = model.PID; parameters2.Value = model.PlanId; parameters3.Value = model.Weeks; parameters4.Value = model.Sequence; parameters5.Value = model.List; parameters6.Value = model.Content; parameters7.Value = model.CourseHours; parameters8.Value = model.ExtraWork; parameters9.Value = model.Remark; DbHelperSQL.ExecuteSql(strSql.ToString(),parameters); / / 删除一条数据 / public void Delete(int Id) StringBuilder strSql = new StringBuilder(); strSql.Append(delete TeachPlanDetails ); strSql.Append( where Id=Id ); SqlParameter parameters = new SqlParameter(Id, SqlDbType.Int
展开阅读全文