【正文】
數(shù)據(jù)庫(kù)的設(shè)計(jì) 本系統(tǒng)后臺(tái)數(shù)據(jù)庫(kù)建立 6 個(gè)表: Courses 表, Students 表 Departments 表,Elective 表, Admins 表,和 Period 表。 修改課程期限:管理員登錄后,可以修改選修課程的開(kāi)始及結(jié)束日期。 管理員子系統(tǒng)結(jié)構(gòu)圖: 各模塊完成以下功能: 管理學(xué)生記錄:管理員登錄后,可以刪除,修改,增加學(xué)生信息。 選修課程:學(xué)生登錄后,通過(guò)此模塊完成選課操作。管理員子系統(tǒng)安裝在教務(wù)處辦公室的桌面型電腦上 ,供管理教務(wù)的教師使用 . 客 戶(hù)端的設(shè)計(jì) 學(xué)生選課子系統(tǒng)結(jié)構(gòu)圖: 學(xué)生選課 子系統(tǒng) 管理員管理 子系統(tǒng) 后臺(tái)數(shù)據(jù)庫(kù) 系統(tǒng) 應(yīng)用系統(tǒng)結(jié)構(gòu)圖 學(xué)生選課子系統(tǒng) 查看課程 信息 查看已選 課程 選修 課程 退選 課程 各模塊完成以下功能: 查看課程信息:學(xué)生登錄后,查看可供選擇的課程信息。在此過(guò)程中,要盡量尋求實(shí)現(xiàn)此系統(tǒng)的最佳方案,進(jìn)而實(shí)現(xiàn)系統(tǒng)的要求。 通過(guò)對(duì)用戶(hù)提出要求的調(diào)查研究,明確了系統(tǒng)設(shè)計(jì)的目標(biāo),確定了系統(tǒng)的基本功能,并分析出數(shù)據(jù)的流動(dòng)方向,在此基礎(chǔ)之上可以開(kāi)始著手設(shè)計(jì)系統(tǒng),勾畫(huà)出網(wǎng)上選課系統(tǒng)總體框架。 ? Admins 表:用于記錄所有管理員的信息。 ? Department 表:用于記錄開(kāi)設(shè)課程 所屬院系名稱(chēng)。 系統(tǒng)的數(shù)據(jù)流圖如下: ? 學(xué)生子系統(tǒng) 3 查看 課程 信息 D1 課程清單 ? 管理員子系統(tǒng) 信號(hào) 1(A):修改學(xué)生信息信號(hào) 信號(hào) 2(B):修改課程信息信號(hào) 信號(hào) 3(C):修改選課期限信號(hào) 修改信息 修改信息 D3 選課期限清單 D3 選課清單 查 看 信 號(hào) C B A 選課情況 修改信息 密碼 管理員 帳號(hào) 密碼 退選信息 選課信息 無(wú)效期信息 課程信息 課程信息 已選 選課 信 號(hào) 查 看 程 信 號(hào) 信息 學(xué)生 密碼 學(xué)號(hào) 學(xué)生 學(xué)生 學(xué)生 1 資格 審核 4 查看 已選 課程 信 息 5 選課 查看已選 課程信息 2 登錄 管理員 管理員 1 資格 審核 2 登錄 3 管理 學(xué)生 記錄 4 管理 課程 信息 5 修改 選課 期限 6 查看 選課 情況 D2 已選課程清單 D1 學(xué)生記錄 D2 課程清單 D4 選課清單 簡(jiǎn)化的數(shù)據(jù)字典 (1)口令 : 用戶(hù)身份驗(yàn)證 (2)數(shù)據(jù)流:事務(wù) = [ 輸入 | 查詢(xún) |選課 |] 事務(wù) = [ 輸入 | 查詢(xún) |退選 |] 事務(wù) = [ 輸入 | 查詢(xún) |增選 |] 事務(wù) = [ 輸入 | 查詢(xún) |修改 |] (3)數(shù)據(jù)庫(kù) = Courses表 + Student表 + Department表 + Elective表 + Admins表 + Period 表 后臺(tái)數(shù)據(jù)庫(kù)據(jù)庫(kù)采用 SQL Server 2021,各表完成如下功能: ? Courses 表:用于存放課程的詳細(xì)信息。 整個(gè)系統(tǒng)的流程是在用戶(hù)的要求下進(jìn)行的,學(xué)生子系統(tǒng)負(fù)責(zé)處理學(xué)生的選課,退選,增選等事務(wù),并向用戶(hù)顯示操作情況對(duì)話框,同時(shí)更新數(shù)據(jù)庫(kù)中相關(guān)表的數(shù)據(jù)。 ? 學(xué)生可以查看課程信息,只能在限定時(shí)間內(nèi)選修課程 ,可以查詢(xún)自己選修課程的情況,在限定的時(shí)間之內(nèi)還可以退選課程或者增選課程。 ,本系統(tǒng)分為客戶(hù)端和服務(wù)器端,服務(wù)器端安裝 SQL Server2021 關(guān)系數(shù)據(jù)庫(kù),客戶(hù)端由學(xué)生子系統(tǒng)和管理員子系統(tǒng)組成。 ,本系統(tǒng)主要應(yīng)完成以下功能 :學(xué)生可以查看課程信息,可以在限定時(shí)間內(nèi)選擇,退選,增選課程。本系統(tǒng)開(kāi)發(fā)的目的在于提高學(xué)校選課工作的效率,使學(xué)生可以靈活的在選課期限內(nèi)進(jìn)行選課活動(dòng),同時(shí)減輕了負(fù)責(zé)監(jiān)督,統(tǒng)計(jì)學(xué)生選課情況的教師的負(fù)擔(dān)。 在軟件定義這一階段我們明確了軟件開(kāi)發(fā)的目 的 ,并確定了“學(xué)生網(wǎng)上選課系統(tǒng) ” 開(kāi)發(fā)的總目標(biāo)。 ()。 (newNode)。緊挨著節(jié)點(diǎn)文本的左側(cè)可以顯示圖標(biāo),這要通過(guò)設(shè)置 TreeView 控件的 ImageList 屬性與希望使用的現(xiàn)有 ImageList 控件相關(guān)聯(lián)才能給每個(gè)節(jié)點(diǎn)獲取圖象。如果將 TreeView控件的 CheckBoxes 屬性設(shè)置為 ture,則在顯示 TreeView 時(shí),節(jié)點(diǎn)旁邊還可帶有復(fù)選框。每個(gè)節(jié)點(diǎn)可能包含字節(jié)點(diǎn)。 DataRow 相當(dāng)于多維數(shù)組,不斷改變下標(biāo)就可以訪問(wèn)整個(gè) DataTable 里面的數(shù)據(jù),改變DataRow 集合對(duì)象的下標(biāo)就可以訪問(wèn)不同的 DataTable 里面的數(shù)據(jù),從而可以實(shí)現(xiàn)對(duì)整個(gè) DataSet 的遍歷。而 DataTable 對(duì)象又由 DataRow 集合組成,即每個(gè) DataTable 里面由多個(gè) DataRow。 DataTable 集合包括零個(gè)或多個(gè) DataTable對(duì)象。 DataSet 由 DataRelation 集合, ExtendedProperties 和 DataTable 三部分組成集合。無(wú)論數(shù)據(jù)源是什么,它都會(huì)提供一致的關(guān)系編程模型。 DataSet 是數(shù)據(jù)在內(nèi)存中的表示形式。 ? 查看和操作整個(gè) XML 文檔中的節(jié)點(diǎn)。 XmlDocument 類(lèi)繼承和擴(kuò)展于 XmlNode 類(lèi),而 XmlNode 是組成 DOM 樹(shù)的最基本的元素,因此使用XmlDocument 類(lèi)可以創(chuàng)建和訪問(wèn) DOM。 DOM 是程序員能夠以編程方式讀取,操作和修改 XML 文檔。 本系統(tǒng)設(shè)計(jì)主要用到以下幾個(gè)關(guān)鍵技術(shù): XML 文檔處理技術(shù),遍歷 DataSet的編程技術(shù), TreeView 控件動(dòng)態(tài)綁定數(shù)據(jù)的技術(shù)和遍歷 TreeView 控件的技術(shù)等。 第一部分 關(guān)鍵技術(shù)概述 本網(wǎng)上選課系統(tǒng)分為客戶(hù)端和服務(wù)器兩層結(jié)構(gòu) ,服務(wù)器端安裝了 SQL Server2021 關(guān)系數(shù)據(jù)庫(kù) ,客戶(hù)端通過(guò)校園的局域網(wǎng)連接服務(wù)器的數(shù)據(jù)庫(kù)存取數(shù)據(jù)。從借助瀏覽器實(shí)現(xiàn)的數(shù)據(jù)庫(kù)查詢(xún)功能到內(nèi)容豐富的擴(kuò)展標(biāo)記語(yǔ)言 (XML)支持特性均可有力地證明 ,SQL Server2021 無(wú)謂為全面支持 Web 功能的數(shù)據(jù)庫(kù) 解決方案。經(jīng)各公司的不斷修改、擴(kuò)充和完善, SQL語(yǔ)言最終發(fā)展成為關(guān)系數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)語(yǔ)言。 服務(wù)器端采用 SQL Server2021 關(guān)系數(shù)據(jù)庫(kù), SQL 語(yǔ)言是 1974 年由 Boyce 和Chamberlin 提出的。 C#問(wèn)世于 20 世紀(jì) 90 年代,是繼 C 語(yǔ)言之后的一種功能強(qiáng)大的現(xiàn)代語(yǔ)言,它在 C 的基礎(chǔ)上增加了 “類(lèi) ”的概念,類(lèi)是提供用戶(hù)自定義類(lèi)型的一種機(jī)制,這些用戶(hù)自定義類(lèi)型也稱(chēng)為抽象數(shù)據(jù)類(lèi)型。 C#是一種重要的新語(yǔ)言,微軟將其設(shè)計(jì)和定位成 .NET 戰(zhàn)略的一部分, C內(nèi)建了很多有用的庫(kù),并由高級(jí)集成開(kāi)發(fā)環(huán)境提供支持?,F(xiàn)在存在著大量的計(jì)算機(jī)語(yǔ)言,而且它們的發(fā)展速度讓世人矚目震驚。這不僅減輕了教務(wù)人員的工作負(fù)擔(dān),也大大方便了全校師生對(duì)選課信息的維護(hù)、查詢(xún)。近年來(lái),學(xué)校的招生規(guī)模不斷擴(kuò)大,在學(xué)校學(xué)生人數(shù)明顯增多,加之學(xué)生分校區(qū)管理,給原本繁雜的院級(jí)選修課工作增加了不少教務(wù)工作量。而兩者的結(jié)合產(chǎn)物 計(jì)算機(jī)網(wǎng)絡(luò),在最近的幾年更是異軍突起、迅猛地發(fā)展起來(lái),它不僅提高我們的工作效率,而且還為我們提供了廣闊的資源利用空間和方便快捷的現(xiàn)代通訊手段,同時(shí)它還是衡量一個(gè)國(guó)家科技發(fā)展水平的重要的尺度。 Abstract Along with the development of the puter and web, many universities have been build C/S or B/S structure of choose courses system on web. Compare with the traditional way of choose courses, this system use local area work. Students can choose courses at puter room or dormitory by web at the elective time also can change the courses that they have been chosen at the elective time. Teachers can examine the situation of choose courses and manage the system. This system adopts the two layers structure of C/S (customer/service), and use C. Net language and SQL Server 2021 Database. Customer end makes up by two system— Student System and Manager System. They get in touch with each other by the backstage Database. No matter the Student System or the Manager System all need read data from the backstage Database, then put them on the Dataset and show them on the Tree view. Keywords Choose Course System 、 C .NET 、 SQL Server 2021 Database 目 錄 前言 ………………………………………………………………………………… ....5 第一部分 關(guān)鍵技術(shù)概述 ………… ...…………………………………………… ..6 文檔對(duì)象模型 ……………………………………………… ..6 遍歷 DataSet………………… …………………………………… 6 TreeView控件動(dòng)態(tài)綁定數(shù)據(jù) …………………………………… ...7 第二部分 軟件定義時(shí)期 ………………………………………………………… .8 問(wèn)題定義 ………………………………………………………… ...8 需求分析 ………………………………………………………… ..8 第三部分 軟件開(kāi)發(fā)時(shí)期 ………………………………………………………... .11 總體設(shè)計(jì) ……… ………………………………………………… ..11 詳細(xì)設(shè)計(jì) ………………………………………………………… .14 編碼 ……………………………………………………………… ..20 軟件測(cè)試 ………………………………………………………… .28 第四部分 體會(huì) …………………………………………………………………… 30 第五部分 參考文獻(xiàn) ……………………………………………………………… 31 前言 二十一世紀(jì)是知識(shí) 經(jīng)濟(jì)的時(shí)代,同時(shí)也是科技高速發(fā)展、網(wǎng)絡(luò)信息迅速膨脹的年代,大量客觀事實(shí)表明,一個(gè)嶄新的計(jì)算機(jī)時(shí)代必將到來(lái)。由于每個(gè)院系都開(kāi)設(shè)多門(mén)課程供學(xué)生選擇,院系信息和課程信息形成一個(gè)樹(shù)狀的結(jié)構(gòu),所以使用 TreeViewer 控件顯示這些信息比較合適。客戶(hù)端分為學(xué)生選課子系統(tǒng)和管理員管理子系統(tǒng),它們通過(guò)存于后臺(tái)數(shù)據(jù)庫(kù)的數(shù)據(jù)產(chǎn)生聯(lián)系。采用 C數(shù)據(jù)庫(kù)編程語(yǔ)言。教務(wù)處的教師則通過(guò)選課系統(tǒng)的管理員子系統(tǒng)來(lái)管理學(xué)生的選課情況,使得學(xué)生選課工作達(dá)到系統(tǒng)化和自動(dòng)化,大大提高了學(xué)校的工作效率。與傳統(tǒng)的選課方式相比,網(wǎng)上選課系統(tǒng)利用局域網(wǎng)為學(xué)