摘要:该文以基于Asp.net的高校选课系统的设计与实现为例,分析了高校选课系统的模块和功能设计,从数据库表结构、数据库接口设计以及主要模块的实现等方面对系统关键技术进行了分析和介绍。
关键词:高校选课系统; Asp.net; 数据库
中图分类号:TP311文献标识码:A文章编号:1009-3044(2011)27-6584-02
随着不断增加的大学在校生数量,教学课程的日益复杂,教务管理系统所面对的数据量也在大规模的增长。采用随堂报名的传统选课模式已经远远不能满足实际的教学需求,为了减少选课的盲目性和教务处繁重的工作负担,本系统针对教师课程发布和学生网上自助选课两个方面进行设计,采用基于Web的Browser/Server模式的三层体系结构的实现方法和工作原理,提出了高校选课系统的整体架构,在分析学生选课流程的基础之上,对系统功能目标和具体实现的主要技术环节进行了分析和设计,基于Asp.net和Ado.net技术开发的高校选课系统,基本实现了对学生选课的动态管理,使得学生选课的整个流程更加高效、安全。
1 高校选课系统的分析与设计
高校选课系统充分依托现有数字化校园的网络应用平台,充分发挥现有网络优势,集成系统的查询和管理功能,综合统筹教学机构和学生信息,使用微软公司的Asp.net技术开发与实现,充分利用Asp.net开发WEB应用系统的特点,利用其提供的大量易用控件和功能强大的类库,以及良好的代码结构,实现高校离校管理系统的实际与开发。[1]数据库采用微软公司在Windows系统平台上开发的SQL Server数据库,它包括支持开发的引擎、标准的SQL语言、扩展的特性等功能,支持过程触发和触发器等特性。[2]数据库的应用采用的是.NET Framework中的ADO.NET,用于完成所有数据库的操作,ADO.NET是一种新的数据访问技术和策略,其可在保证操作一致性的前提下全面而灵活的各种不同类型数据。
1.1 功能模块分析
针对于高校选课系统,根据用户的不同需求可以划分为4个模块,分别为公有模块,管理员模块,学生模块和教师模块。如图1。
1.2 高校选课系统所包含的功能
公有模块:实现用户(包括学生、教师和管理员)的身份验证,密码修改以及退出系统等。
管理员模块:分别实现对学生信息的添加、删除修改,教师信息的添加、删除、修改以及根据查询条件进行查询,实现对课程的修改、删除和查看课程详细信息,在添加课程的同时分配授课老师、上课的时间和地点。管理员模块是系统操作和设置的核心模块。
学生模块:可以实现学生选课操作,以及查看和修改选课信息。
教师模块:可以实现查看本人所教授的课程信息,选择该课程的学生数量及信息,提交本课程学生成绩。
2 系统关键技术
2.1 数据库设计
本系统在着手数据库设计的伊始,首先考虑的是数据库的设计目标,致力于建立一个冗余少、数据定位迅速、维护简单的数据库,对数据库进行包括规范化命名、规范化代码缩进、规范化代码缩进、规范化大小括号和规范化注释等方面的规范化设置。
高校选课系统的数据库设计是整个系统设计比较重要的环节,该系统所有的操作都是基于数据库来进行的。本系统采用的数据库管理系统为SQL Server 2005,数据库中主要包含有学生信息表(T_Student),教工信息表(T_Teacher),课程信息表(T-Cource),以及分别存放系统管理员信息,部门信息表和选课信息的数据表。在数据库的设计之初,为了保持与数字化校园其他应用子系统的数据一致性,在数据库表的设计过程中保留了相应的冗余,现选取学生信息表(T_Student)和课程信息表(T-Cource)介绍如下:
1)学生信息表(T_Student),记录每位学生的学号、姓名、密码、身份证号、性别、出生日期、籍贯、民族、部门名称及部门编码等基本信息,如表1所示。
2)课程信息表(T-Cource),包括课程名称名称、课程编码、删除标志以及备注等,如表2所示。[3]
3)数据库接口(SqlConnection),Connection 用于与数据库“对话”,并由特定提供程序的类(如 SqlConnection)表示,使用SqlConnection对象连接SQL Server数据库,以ExecuteSql(string SQLString)函数为例,其具体的代码片断如下:
///
/// 执行查询语句,返回DataSet数据集
///
/// 查询语句
///
public static DataSet Query(string SQLString)
{ using (SqlConnection connection = new SqlConnection(connectionString))
{ DataSet ds = new DataSet();
try
{ connection.Open();
SqlDataAdapter command = new SqlDataAdapter(SQLStr