基于.NET架构和C#语言实现的学生选课管理系统

2019-10-21 06:52杨云海章芬芬
现代信息科技 2019年20期
关键词:数据库

杨云海 章芬芬

摘  要:在高等学校教务管理中,学生选课管理是一项重要的工作。本文根据高校学生选课管理的需求,使用.NET架构和C#语言实现了学生选课管理系统的搭建。经试用,该系统具有概念简单、易学易用的特点。另外,由于设计过程中的考虑较为周全,该系统健壮性较强,在数据库方面也具有较强的可移植性。该系统有一定的适用性和可用性。

关键词:学生选课;.NET架构;数据库

中图分类号:TP311.1       文献标识码:A 文章编号:2096-4706(2019)20-0008-04

Abstract:In the educational administration of universities,the management for students to choose courses is an important work. According to the needs of college students course selection management,we use the .NET framework and C# language to realize the building of studentscourse selection management system. After test,the system showed the characteristic of simple,easy to learn and use. In addition,benefit from the comprehensive consideration in the design process,the system has strong robustness and portability in database. The system has certain applicability and usability.

Keywords:student course selection;.NET architecture;database

0  引  言

学生选课管理是高校教务管理中的一项重要工作[1]。因此,以实际应用场景为需求,研究如何使用信息技术手段实现较为高效率的学生选课管理有一定的现实意义。在经过需求调研、技术路线考查等工作后,本文使用微软的.NET平台,以及SQL Server、ODBC等软件和工具,使用C#语言实现了一个较为贴合实际需求、简单易用的学生选课管理系统的搭建。

1  系统的开发工具与运行环境

1.1  系统开发工具简介

.NET平台,也称.NET框架(Framework),是微软开发的编程环境,可以使用C#、VB等多种编程语言,可以进行窗体应用、网站、嵌入式系统、云计算等多种应用程序的开发[2]。本系统是在.NET平台下使用C#语言开发的窗体应用程序。开发本系统所使用的集成开发环境是Visual Studio 2010。

由于本系统需要进行较多的数据管理,所以选用了SQL Server 2008进行数据管理。SQL Server是由Microsoft开发的关系数据库管理系统(DBMS),自1988年推出了第一个版本以来,SQL Server得到了不断的完善和推广,目前已是被广泛运用的主流DBMS之一[3]。

ODBC即开放数据库连接(Open Database Connec-tivity),是微软公司提出的用于数据库访问的应用程序通用编程接口标准[4]。ODBC出现以后,解决了异构数据库间的数据共享的问题。ODBC现已成为WOSA(The Windows Open System Architecture,即Windows开放系统体系结构)的主要部分和基于Windows环境的一种数据库访问接口标准[5]。

1.2  系统的运行环境与数据库部署方式

本系统可以运行在安装有.NET 4.0的Windows操作系统(如Win7或以上)中,要求计算机必须有2G或以上的内存,安装有双核或以上的CPU。

由于系统使用ODBC的DSN(Data Source Name)作为数據源,无论是在本地计算机上部署数据库还是使用网络上的计算机部署数据库,本系统的程序都不需要修改。数据库的两种部署方式如图1所示。

另外,更换系统的DBMS,把数据库移植到其他DBMS上(如MySQL、Orcale、Access,等等),本系统的程序也不需要修改。

2  系统功能与总体设计

2.1  功能简介

本系统以大学、中小学的小型信息化管理为应用场景,开发了学生选课管理的核心功能,并集成了学生基础信息管理、课程基础信息管理、教师基础信息管理、院系(或班级管理)基础信息管理等功能。系统的概念简单、操作简便,功能设计简洁、合理。

2.2  模块划分

系统模块根据功能进行划分,分为5大模块,分别是学生信息管理、课程信息管理、院系(或班级)信息管理、教师信息管理、选课信息管理。各模块都能实现对所管理数据的增、删、查、改等基本功能。系统的总体架构如图2所示。

3  系统数据库设计

本系统是典型的数据库应用系统(DBS),数据库的设计是影响系统功能的实现以及实现效果的关键。

3.1  信息模型设计

信息模型是数据库设计过程中对现实世界的第一次抽象。E-R方法是建立信息模型的一种重要方法[6]。根据系统所需要管理的数据内容和管理规则进行抽象,设计出系统的E-R模型,如图3所示。由于篇幅有限,E-R模型中各实体和联系的属性未画出来,根据语义,把“学生”“院系”“教师”“课程”抽象为实体,各实体之间为“一对多”或“多对多”联系。

3.2  关系模型的设计及实现

在确定E-R模型设计符合需求后,需要把数据库的信息模型转换为用于在DBMS上实现的逻辑模型。SQL Server与目前主流的DBMS都支持关系模型[7],可以把E-R模型的设计结果转换为关系模型。经转换,得到的关系模型如下:

学生(学生学号、学生姓名、学生性别、学生年龄、学生所在院系编号);

课程(课程编号、课程名称、课程负责人的教师编号、课程学分设置);

院系(院系编号、院系名);

教师(教师编号、教师姓名、教师所在系编号);

选课(选课学生的学号、学生所选课的课程编号、学生修课的成绩)。

系统的关系模型共有5张表。经考查,该关系模型符合BCNF(BC范式)要求,规范化程度较高,各表、各属性之间并不存在不好的数据依赖。

对关系模型中的各标识符(如表名、属性名,等)进行编码,并根据需求确定各属性的数据类型,把关系模型配置到SQL Server中。配置的内容包括各表的定义、各属性的定义、数据约束的定义等等,学生选课管理系统配置情况一览表如表1所示。

4  系统实现

4.1  窗体及可视元素设计

Visual Studio 2010提供丰富的控件,包括标签(Label)、文本框(TextBox)、组合框(ListBost)、列表框(Combo Box)、按钮(Button),等等[8]。在设计窗体应用的操作界面时,可以使用可视化的方式向窗体中添加、放置所需要的控件,用鼠标调整控制的位置和大小,最终完成窗体的设计。整个设计过程可以做到“所见即所得”。

系统共有12个窗体,其中实现学生选课功能的窗体有3个,其布局主要有2种风格。学生选课管理功能主窗体界面如图4所示。

通过选择学生学号的,可以查看该学生的选课情况,并可对该学生的选课成绩进行更新,可用于学生个人成绩的登记管理,也可以通过选择课程编号,查看选修了该课程的学生名单,并可对学生名单后附的成绩进行更新,可用于单科课程的成绩登记管理。在选择学生学号后,点击“选修”按钮,即可打开学生选课管理窗体,为该学生选课,如图5所示。

在管理界面左边列表框中显示的是该学生未选的课程,右边列表框中显示的是该学生已选的课程。每次可以从未选课列表中选择1门课程,点击“>>>”按钮,添加到右边的已选课列表中,也可以从已选课列表中选择1门课程,点击“<<<”按钮,添加到左边未选课列表中,把该学生已选的课程取消,同时,此门课程的成绩也会被删除。

4.2  数据处理逻辑设计

由于系统使用了数据库管理数据,在窗体装载后,要从数据库读取数据以完成对可视化控件内容的填充;在更新了窗体上的可视化控件的内容后,更新显示的同时,也要对数据库中的数据进行修改。各功能模块窗体界面上内容的显示、更新流程基本如图6所示。

由于使用了ODBC作为数据库的连接工具,系统在读取、更新数據时,使用了.NET架构提供的OdbcConnection、OdbcCommand、OdbcDataReader等类。这些类在.NET框架的System.Data。Odbc命名空间下。另外,对数据显示控件(如:DataGridView,等)的操作还需要使用System.Data命名空间下的DataTable类。对数据库进行连接,填充或更新窗体控件,普遍使用到了以下代码(以学生信息管理模块的部分功能为例):

System.Data.Odbc.OdbcConnection con=new System.Data.Odbc.OdbcConnection();

Con.ConnectionString=“DSN=dbsTEST;UID=sa;PWD=sa”; //定义连接字符串

Con.Open(); //连接在使用之前,要打开

System.Data.Odbc.OdbcCommand cmd=newSystem. Data.Odbc.OdbcCommand();

cmd.Connection=con; //指定执行对象使用哪个连接

cmd.CommandText=“select sno from student”; //指定执行对象所执行的SQL语句

System.Data.Odbc.OdbcDataReader dr=cmd.ExecuteReader(); //执行SQL

This.cbxSno.Items.Clear(); //清除窗体元素的内容(如果有)

while (dr.Read()) //遍历所读到的记录

{

This.cbxSno.Items.Add(dr.GetValue(0).ToString().Trim()); //从dr中取数据

}

Dr.Close(); //遍历完成后,关闭dr

Dr.Dispose(); //注销dr,释放资源

cmd.Dispose(); //注销cmd,释放资源

con.Close(); //关闭con

con.Dispose(); //注销con,释放资源

4.3  运用异常处理机制

在连接数据库的操作过程中,可能会出现数据库服务关闭、网络无法访问、SQL语句出错等情况。这些问题出现后,如不在程序内对它们进行处理,则会导致系统直接退出,严重影响用户体验。因此,应充分考虑在执行数据库操作时发生异常情况的处理。本系统使用了大量的try catch finally语句,以捕获系统异常,尽量在系统内解决一些可以处理的问题,比如:

try

{

System.Data.Odbc.OdbcConnection con=new System. Data.Odbc.OdbcConnection();

con.ConnectionString=“DSN=dbsTEST;UID=sa;PWD=sa”;

System.Data.Odbc.OdbcCommand cmd=new System.Data.Odbc.OdbcCommand();

cmd.Connection=con;

con.Open();

//省略具體操作语句

}

catch(System.Data.Odbc.OdbcException ex) //捕获异常

{

MessageBox.Show(ex.Message); //对异常作出处理

This.Close();

}

Finally

{

Con.Close(); //作一些清理工作

cmd.Dispose();

con.Dispose();

}

当try语句块中的语句在执行过程中出错,系统将捕获抛出的异常(OdbcException ex),获取异常信息(ex.Message),并以信息窗口(MessageBox)的形式输出显示异常信息的内容,给予用户一定的提示;同时,系统不会直接退出,只是退回到上一层窗口界面,用户仍可继续操作。异常处理机制极大地增强了软件的健壮性。

5  结  论

在系统开发完成后,经测试,各项功能都能实现,运行较为稳定,达到了设计的预期。系统的各项概念、操作都比较简单,简洁明了,易学易用,能够满足大学、中小学一些较为简单的学生选课管理的应用需求。系统使用ODBC的DSN数据源方式连接数据库,数据库的部署有着一定的灵活性,数据库的可移植性也比较好。但是,由于系统设计之初的定位为体量较小的实验性系统,所以数据库的设计只包含最小化的信息字段,在实际的应用中,有必要将系统的信息管理项目及数据库做一定扩展,使系统所管理的信息达到实际应用的要求。

参考文献:

[1] 蒋舟,杨健叶,张红伟.高校学生选课系统的设计与实现 [J].电脑知识与技术,2019,15(12):60-61.

[2] [美]Bryan Newsome.Visual Basic 2015入门经典:第8版 [M].李周芳,石磊译.北京:清华大学出版社,2016:19-20.

[3] 刘大玮,马传宝,孙颖洁.SQL Server数据库项目案例导航 [M].北京:清华大学出版社,2005:26-27.

[4] 崔健,王洁,常俊西.FactoryTalk View的ODBC小利用 [J].通讯世界,2016(14):262.

[5] 王珊,萨师煊.数据库系统概论(第5版) [J].中国大学教学,2014,333(9):100.

[6] 陈印.高职院校教材管理系统E-R模型设计 [J].科技视界,2018(29):97-98.

[7] 明日科技.SQL Server从入门到精通 [M].北京:清华大学出版社,2012:8-10.

[8] 苗德成,戴经国.数据库应用系统完整项目开发实例 [M].长春:东北师范大学出版社,2017:11-17.

作者简介:杨云海(1978-),男,汉族,广东广州人,讲师,硕士,研究方向:信息技术应用。

猜你喜欢
数据库
Designer测试大数据预定义均衡配置
MemSQL获3000万美元D轮融
数据库
数据库
数据库
数据库
数据库
数据库
SQL语言在电信业务数据库数据查询中的应用
数据库