国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于.NET架構(gòu)和C#語言實(shí)現(xiàn)的學(xué)生選課管理系統(tǒng)

2019-10-21 06:52楊云海章芬芬
現(xiàn)代信息科技 2019年20期
關(guān)鍵詞:數(shù)據(jù)庫

楊云海 章芬芬

摘? 要:在高等學(xué)校教務(wù)管理中,學(xué)生選課管理是一項(xiàng)重要的工作。本文根據(jù)高校學(xué)生選課管理的需求,使用.NET架構(gòu)和C#語言實(shí)現(xiàn)了學(xué)生選課管理系統(tǒng)的搭建。經(jīng)試用,該系統(tǒng)具有概念簡單、易學(xué)易用的特點(diǎn)。另外,由于設(shè)計(jì)過程中的考慮較為周全,該系統(tǒng)健壯性較強(qiáng),在數(shù)據(jù)庫方面也具有較強(qiáng)的可移植性。該系統(tǒng)有一定的適用性和可用性。

關(guān)鍵詞:學(xué)生選課;.NET架構(gòu);數(shù)據(jù)庫

中圖分類號:TP311.1? ? ? ?文獻(xiàn)標(biāo)識碼: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? 引? 言

學(xué)生選課管理是高校教務(wù)管理中的一項(xiàng)重要工作[1]。因此,以實(shí)際應(yīng)用場景為需求,研究如何使用信息技術(shù)手段實(shí)現(xiàn)較為高效率的學(xué)生選課管理有一定的現(xiàn)實(shí)意義。在經(jīng)過需求調(diào)研、技術(shù)路線考查等工作后,本文使用微軟的.NET平臺,以及SQL Server、ODBC等軟件和工具,使用C#語言實(shí)現(xiàn)了一個(gè)較為貼合實(shí)際需求、簡單易用的學(xué)生選課管理系統(tǒng)的搭建。

1? 系統(tǒng)的開發(fā)工具與運(yùn)行環(huán)境

1.1? 系統(tǒng)開發(fā)工具簡介

.NET平臺,也稱.NET框架(Framework),是微軟開發(fā)的編程環(huán)境,可以使用C#、VB等多種編程語言,可以進(jìn)行窗體應(yīng)用、網(wǎng)站、嵌入式系統(tǒng)、云計(jì)算等多種應(yīng)用程序的開發(fā)[2]。本系統(tǒng)是在.NET平臺下使用C#語言開發(fā)的窗體應(yīng)用程序。開發(fā)本系統(tǒng)所使用的集成開發(fā)環(huán)境是Visual Studio 2010。

由于本系統(tǒng)需要進(jìn)行較多的數(shù)據(jù)管理,所以選用了SQL Server 2008進(jìn)行數(shù)據(jù)管理。SQL Server是由Microsoft開發(fā)的關(guān)系數(shù)據(jù)庫管理系統(tǒng)(DBMS),自1988年推出了第一個(gè)版本以來,SQL Server得到了不斷的完善和推廣,目前已是被廣泛運(yùn)用的主流DBMS之一[3]。

ODBC即開放數(shù)據(jù)庫連接(Open Database Connec-tivity),是微軟公司提出的用于數(shù)據(jù)庫訪問的應(yīng)用程序通用編程接口標(biāo)準(zhǔn)[4]。ODBC出現(xiàn)以后,解決了異構(gòu)數(shù)據(jù)庫間的數(shù)據(jù)共享的問題。ODBC現(xiàn)已成為WOSA(The Windows Open System Architecture,即Windows開放系統(tǒng)體系結(jié)構(gòu))的主要部分和基于Windows環(huán)境的一種數(shù)據(jù)庫訪問接口標(biāo)準(zhǔn)[5]。

1.2? 系統(tǒng)的運(yùn)行環(huán)境與數(shù)據(jù)庫部署方式

本系統(tǒng)可以運(yùn)行在安裝有.NET 4.0的Windows操作系統(tǒng)(如Win7或以上)中,要求計(jì)算機(jī)必須有2G或以上的內(nèi)存,安裝有雙核或以上的CPU。

由于系統(tǒng)使用ODBC的DSN(Data Source Name)作為數(shù)據(jù)源,無論是在本地計(jì)算機(jī)上部署數(shù)據(jù)庫還是使用網(wǎng)絡(luò)上的計(jì)算機(jī)部署數(shù)據(jù)庫,本系統(tǒng)的程序都不需要修改。數(shù)據(jù)庫的兩種部署方式如圖1所示。

另外,更換系統(tǒng)的DBMS,把數(shù)據(jù)庫移植到其他DBMS上(如MySQL、Orcale、Access,等等),本系統(tǒng)的程序也不需要修改。

2? 系統(tǒng)功能與總體設(shè)計(jì)

2.1? 功能簡介

本系統(tǒng)以大學(xué)、中小學(xué)的小型信息化管理為應(yīng)用場景,開發(fā)了學(xué)生選課管理的核心功能,并集成了學(xué)生基礎(chǔ)信息管理、課程基礎(chǔ)信息管理、教師基礎(chǔ)信息管理、院系(或班級管理)基礎(chǔ)信息管理等功能。系統(tǒng)的概念簡單、操作簡便,功能設(shè)計(jì)簡潔、合理。

2.2? 模塊劃分

系統(tǒng)模塊根據(jù)功能進(jìn)行劃分,分為5大模塊,分別是學(xué)生信息管理、課程信息管理、院系(或班級)信息管理、教師信息管理、選課信息管理。各模塊都能實(shí)現(xiàn)對所管理數(shù)據(jù)的增、刪、查、改等基本功能。系統(tǒng)的總體架構(gòu)如圖2所示。

3? 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)

本系統(tǒng)是典型的數(shù)據(jù)庫應(yīng)用系統(tǒng)(DBS),數(shù)據(jù)庫的設(shè)計(jì)是影響系統(tǒng)功能的實(shí)現(xiàn)以及實(shí)現(xiàn)效果的關(guān)鍵。

3.1? 信息模型設(shè)計(jì)

信息模型是數(shù)據(jù)庫設(shè)計(jì)過程中對現(xiàn)實(shí)世界的第一次抽象。E-R方法是建立信息模型的一種重要方法[6]。根據(jù)系統(tǒng)所需要管理的數(shù)據(jù)內(nèi)容和管理規(guī)則進(jìn)行抽象,設(shè)計(jì)出系統(tǒng)的E-R模型,如圖3所示。由于篇幅有限,E-R模型中各實(shí)體和聯(lián)系的屬性未畫出來,根據(jù)語義,把“學(xué)生”“院系”“教師”“課程”抽象為實(shí)體,各實(shí)體之間為“一對多”或“多對多”聯(lián)系。

3.2? 關(guān)系模型的設(shè)計(jì)及實(shí)現(xiàn)

在確定E-R模型設(shè)計(jì)符合需求后,需要把數(shù)據(jù)庫的信息模型轉(zhuǎn)換為用于在DBMS上實(shí)現(xiàn)的邏輯模型。SQL Server與目前主流的DBMS都支持關(guān)系模型[7],可以把E-R模型的設(shè)計(jì)結(jié)果轉(zhuǎn)換為關(guān)系模型。經(jīng)轉(zhuǎn)換,得到的關(guān)系模型如下:

學(xué)生(學(xué)生學(xué)號、學(xué)生姓名、學(xué)生性別、學(xué)生年齡、學(xué)生所在院系編號);

課程(課程編號、課程名稱、課程負(fù)責(zé)人的教師編號、課程學(xué)分設(shè)置);

院系(院系編號、院系名);

教師(教師編號、教師姓名、教師所在系編號);

選課(選課學(xué)生的學(xué)號、學(xué)生所選課的課程編號、學(xué)生修課的成績)。

系統(tǒng)的關(guān)系模型共有5張表。經(jīng)考查,該關(guān)系模型符合BCNF(BC范式)要求,規(guī)范化程度較高,各表、各屬性之間并不存在不好的數(shù)據(jù)依賴。

對關(guān)系模型中的各標(biāo)識符(如表名、屬性名,等)進(jìn)行編碼,并根據(jù)需求確定各屬性的數(shù)據(jù)類型,把關(guān)系模型配置到SQL Server中。配置的內(nèi)容包括各表的定義、各屬性的定義、數(shù)據(jù)約束的定義等等,學(xué)生選課管理系統(tǒng)配置情況一覽表如表1所示。

4? 系統(tǒng)實(shí)現(xiàn)

4.1? 窗體及可視元素設(shè)計(jì)

Visual Studio 2010提供豐富的控件,包括標(biāo)簽(Label)、文本框(TextBox)、組合框(ListBost)、列表框(Combo Box)、按鈕(Button),等等[8]。在設(shè)計(jì)窗體應(yīng)用的操作界面時(shí),可以使用可視化的方式向窗體中添加、放置所需要的控件,用鼠標(biāo)調(diào)整控制的位置和大小,最終完成窗體的設(shè)計(jì)。整個(gè)設(shè)計(jì)過程可以做到“所見即所得”。

系統(tǒng)共有12個(gè)窗體,其中實(shí)現(xiàn)學(xué)生選課功能的窗體有3個(gè),其布局主要有2種風(fēng)格。學(xué)生選課管理功能主窗體界面如圖4所示。

通過選擇學(xué)生學(xué)號的,可以查看該學(xué)生的選課情況,并可對該學(xué)生的選課成績進(jìn)行更新,可用于學(xué)生個(gè)人成績的登記管理,也可以通過選擇課程編號,查看選修了該課程的學(xué)生名單,并可對學(xué)生名單后附的成績進(jìn)行更新,可用于單科課程的成績登記管理。在選擇學(xué)生學(xué)號后,點(diǎn)擊“選修”按鈕,即可打開學(xué)生選課管理窗體,為該學(xué)生選課,如圖5所示。

在管理界面左邊列表框中顯示的是該學(xué)生未選的課程,右邊列表框中顯示的是該學(xué)生已選的課程。每次可以從未選課列表中選擇1門課程,點(diǎn)擊“>>>”按鈕,添加到右邊的已選課列表中,也可以從已選課列表中選擇1門課程,點(diǎn)擊“<<<”按鈕,添加到左邊未選課列表中,把該學(xué)生已選的課程取消,同時(shí),此門課程的成績也會被刪除。

4.2? 數(shù)據(jù)處理邏輯設(shè)計(jì)

由于系統(tǒng)使用了數(shù)據(jù)庫管理數(shù)據(jù),在窗體裝載后,要從數(shù)據(jù)庫讀取數(shù)據(jù)以完成對可視化控件內(nèi)容的填充;在更新了窗體上的可視化控件的內(nèi)容后,更新顯示的同時(shí),也要對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行修改。各功能模塊窗體界面上內(nèi)容的顯示、更新流程基本如圖6所示。

由于使用了ODBC作為數(shù)據(jù)庫的連接工具,系統(tǒng)在讀取、更新數(shù)據(jù)時(shí),使用了.NET架構(gòu)提供的OdbcConnection、OdbcCommand、OdbcDataReader等類。這些類在.NET框架的System.Data。Odbc命名空間下。另外,對數(shù)據(jù)顯示控件(如:DataGridView,等)的操作還需要使用System.Data命名空間下的DataTable類。對數(shù)據(jù)庫進(jìn)行連接,填充或更新窗體控件,普遍使用到了以下代碼(以學(xué)生信息管理模塊的部分功能為例):

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; //指定執(zhí)行對象使用哪個(gè)連接

cmd.CommandText=“select sno from student”; //指定執(zhí)行對象所執(zhí)行的SQL語句

System.Data.Odbc.OdbcDataReader dr=cmd.ExecuteReader(); //執(zhí)行SQL

This.cbxSno.Items.Clear(); //清除窗體元素的內(nèi)容(如果有)

while (dr.Read()) //遍歷所讀到的記錄

{

This.cbxSno.Items.Add(dr.GetValue(0).ToString().Trim()); //從dr中取數(shù)據(jù)

}

Dr.Close(); //遍歷完成后,關(guān)閉dr

Dr.Dispose(); //注銷dr,釋放資源

cmd.Dispose(); //注銷cmd,釋放資源

con.Close(); //關(guān)閉con

con.Dispose(); //注銷con,釋放資源

4.3? 運(yùn)用異常處理機(jī)制

在連接數(shù)據(jù)庫的操作過程中,可能會出現(xiàn)數(shù)據(jù)庫服務(wù)關(guān)閉、網(wǎng)絡(luò)無法訪問、SQL語句出錯(cuò)等情況。這些問題出現(xiàn)后,如不在程序內(nèi)對它們進(jìn)行處理,則會導(dǎo)致系統(tǒng)直接退出,嚴(yán)重影響用戶體驗(yàn)。因此,應(yīng)充分考慮在執(zhí)行數(shù)據(jù)庫操作時(shí)發(fā)生異常情況的處理。本系統(tǒng)使用了大量的try catch finally語句,以捕獲系統(tǒng)異常,盡量在系統(tǒng)內(nèi)解決一些可以處理的問題,比如:

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();

}

當(dāng)try語句塊中的語句在執(zhí)行過程中出錯(cuò),系統(tǒng)將捕獲拋出的異常(OdbcException ex),獲取異常信息(ex.Message),并以信息窗口(MessageBox)的形式輸出顯示異常信息的內(nèi)容,給予用戶一定的提示;同時(shí),系統(tǒng)不會直接退出,只是退回到上一層窗口界面,用戶仍可繼續(xù)操作。異常處理機(jī)制極大地增強(qiáng)了軟件的健壯性。

5? 結(jié)? 論

在系統(tǒng)開發(fā)完成后,經(jīng)測試,各項(xiàng)功能都能實(shí)現(xiàn),運(yùn)行較為穩(wěn)定,達(dá)到了設(shè)計(jì)的預(yù)期。系統(tǒng)的各項(xiàng)概念、操作都比較簡單,簡潔明了,易學(xué)易用,能夠滿足大學(xué)、中小學(xué)一些較為簡單的學(xué)生選課管理的應(yīng)用需求。系統(tǒng)使用ODBC的DSN數(shù)據(jù)源方式連接數(shù)據(jù)庫,數(shù)據(jù)庫的部署有著一定的靈活性,數(shù)據(jù)庫的可移植性也比較好。但是,由于系統(tǒng)設(shè)計(jì)之初的定位為體量較小的實(shí)驗(yàn)性系統(tǒng),所以數(shù)據(jù)庫的設(shè)計(jì)只包含最小化的信息字段,在實(shí)際的應(yīng)用中,有必要將系統(tǒng)的信息管理項(xiàng)目及數(shù)據(jù)庫做一定擴(kuò)展,使系統(tǒng)所管理的信息達(dá)到實(shí)際應(yīng)用的要求。

參考文獻(xiàn):

[1] 蔣舟,楊健葉,張紅偉.高校學(xué)生選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [J].電腦知識與技術(shù),2019,15(12):60-61.

[2] [美]Bryan Newsome.Visual Basic 2015入門經(jīng)典:第8版 [M].李周芳,石磊譯.北京:清華大學(xué)出版社,2016:19-20.

[3] 劉大瑋,馬傳寶,孫穎潔.SQL Server數(shù)據(jù)庫項(xiàng)目案例導(dǎo)航 [M].北京:清華大學(xué)出版社,2005:26-27.

[4] 崔健,王潔,??∥?FactoryTalk View的ODBC小利用 [J].通訊世界,2016(14):262.

[5] 王珊,薩師煊.數(shù)據(jù)庫系統(tǒng)概論(第5版) [J].中國大學(xué)教學(xué),2014,333(9):100.

[6] 陳印.高職院校教材管理系統(tǒng)E-R模型設(shè)計(jì) [J].科技視界,2018(29):97-98.

[7] 明日科技.SQL Server從入門到精通 [M].北京:清華大學(xué)出版社,2012:8-10.

[8] 苗德成,戴經(jīng)國.數(shù)據(jù)庫應(yīng)用系統(tǒng)完整項(xiàng)目開發(fā)實(shí)例 [M].長春:東北師范大學(xué)出版社,2017:11-17.

作者簡介:楊云海(1978-),男,漢族,廣東廣州人,講師,碩士,研究方向:信息技術(shù)應(yīng)用。

猜你喜歡
數(shù)據(jù)庫
Designer測試大數(shù)據(jù)預(yù)定義均衡配置
MemSQL獲3000萬美元D輪融
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
SQL語言在電信業(yè)務(wù)數(shù)據(jù)庫數(shù)據(jù)查詢中的應(yīng)用
數(shù)據(jù)庫
阿克陶县| 介休市| 林州市| 周宁县| 高州市| 大庆市| 林周县| 茶陵县| 泰州市| 高台县| 长子县| 沂南县| 金沙县| 肥东县| 南川市| 上思县| 芒康县| 平江县| 洛宁县| 和林格尔县| 原阳县| 砀山县| 张家口市| 西畴县| 丰县| 甘泉县| 昭平县| 托克逊县| 浠水县| 江孜县| 巴彦县| 临武县| 乌兰察布市| 贵德县| 金门县| 邛崃市| 纳雍县| 拉萨市| 仁化县| 莆田市| 滦南县|