【正文】
畢業(yè)論文 網(wǎng)上選課系統(tǒng) ——管理員子系統(tǒng) 作 者 xxx 院 系 xxx(計算機系) 專 業(yè) 計算機科學(xué)與技術(shù) 年 級 xxxx 學(xué) 號 xxxxx 指導(dǎo)教師 xxxx 職 稱 xxx 答辯日期 xxxx年 x月 xx日 摘要 隨著計算機和網(wǎng)絡(luò)的普及 ,高等學(xué)校里紛紛建立了 C/S 或者 B/S 結(jié)構(gòu)的網(wǎng)上選課系統(tǒng)。與傳統(tǒng)的選課方式相比,網(wǎng)上選課系統(tǒng)利用局域網(wǎng)為學(xué)生選課帶來了便利。學(xué)生在學(xué)校的公共機房或者宿舍的個人電腦上通過網(wǎng)絡(luò)來選課,只要選課還沒有截止,學(xué)生能夠靈活的修改自己的選課情況,大大提高了學(xué)校選課工作的效率。教務(wù)處的教師則通過選課系統(tǒng)的管理員子系統(tǒng)來管理學(xué)生的選課情況,使得學(xué)生選課工作達(dá)到系統(tǒng)化和自動化,大大提高了學(xué)校的工作效率。 本系統(tǒng)是 C/S(客戶端 /服務(wù)器)兩層結(jié)構(gòu)。采用 C數(shù)據(jù)庫編程語言。服務(wù)器部分是 SQL Server2021 關(guān)系數(shù)據(jù)庫??蛻舳朔譃閷W(xué)生選課子系統(tǒng)和管理員管理子系統(tǒng),它們通過存于后臺數(shù)據(jù)庫的數(shù)據(jù)產(chǎn)生聯(lián)系。 無論是學(xué)生子系統(tǒng)還是管理員子系統(tǒng),都需要從數(shù)據(jù)庫中讀取院系的信息以及每個院系所開設(shè)的課程信息,將其存放在 DataSet 里面,然后把數(shù)據(jù)綁定到控件并顯示出來。由于每個院系都開設(shè)多門課程供學(xué)生選擇,院系信息和課程信息形成一個樹狀的結(jié)構(gòu),所以使用 TreeViewer 控件顯示這些信息比較合適。 關(guān)鍵字 :網(wǎng)上選課系統(tǒng) ,、 C.NET、 SQL Server2021 關(guān)系數(shù)據(jù)庫。 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 文檔對象模型 ……………………………………………… ..6 遍歷 DataSet……………………………………………………… 6 TreeView控件動態(tài)綁定數(shù)據(jù) …………………………………… ...7 第二部分 軟件定義時期 ………………………………… ……………………… .8 問題定義 ………………………………………………………… ...8 需求分析 ………………………………………………………… ..8 第三部分 軟件開發(fā)時期 ………………………………………………………... .11 總體設(shè)計 ………………………………………………………… ..11 詳細(xì)設(shè)計 ………………………………………………………… .14 編碼 ………………… …………………………………………… ..20 軟件測試 ………………………………………………………… .28 第四部分 體會 …………………………………………………………………… 30 第五部分 參考文獻 ……………………………………………………………… 31 前言 二十一世紀(jì)是知識經(jīng)濟的時代,同時也是科技高速發(fā)展、網(wǎng)絡(luò)信息迅速膨脹的年代,大量客觀事實表明,一個嶄新的計算機時代必將到來。隨著知識經(jīng)濟革命的到來和信息技術(shù)的蓬勃發(fā)展,計算機技術(shù)和通訊技術(shù)成為了這個時代 的主角,不僅改變了我們的世界,而且同時也吹響了我們邁向新生活的號角,正以日新月異的速度改變我們的人生。而兩者的結(jié)合產(chǎn)物 計算機網(wǎng)絡(luò),在最近的幾年更是異軍突起、迅猛地發(fā)展起來,它不僅提高我們的工作效率,而且還為我們提供了廣闊的資源利用空間和方便快捷的現(xiàn)代通訊手段,同時它還是衡量一個國家科技發(fā)展水平的重要的尺度。 隨著計算機技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,各高校相繼建成了自己的校園網(wǎng),并充分利用校園網(wǎng)提供的新環(huán)境、新手段為校園的教學(xué)、科研和教務(wù)管理服務(wù)。近年來,學(xué)校的招生規(guī)模不斷擴大,在學(xué)校學(xué)生人數(shù)明顯增多,加之學(xué)生 分校區(qū)管理,給原本繁雜的院級選修課工作增加了不少教務(wù)工作量。網(wǎng)上選課系統(tǒng)的推出,使得選修課程的設(shè)置維護、學(xué)生選 /退課及成績查詢、管理員對選課情況的管理等工作均能在互聯(lián)網(wǎng)上完成。這不僅減輕了教務(wù)人員的工作負(fù)擔(dān),也大大方便了全校師生對選課信息的維護、查詢。 計算機語言是開發(fā)計算機軟件的一種高級軟件,它的掌握和使用是高級的計算機使用者必須的技能?,F(xiàn)在存在著大量的計算機語言,而且它們的發(fā)展速度讓世人矚目震驚。 本系統(tǒng)采用 C數(shù)據(jù)庫編程。 C#是一種重要的新語言,微軟將其設(shè)計和定位成 .NET 戰(zhàn)略的一部分, C內(nèi)建了很多 有用的庫,并由高級集成開發(fā)環(huán)境提供支持。它有效地支持目前占主導(dǎo)地位的編程方法 ——面向?qū)ο缶幊?(OOP) 。 C#問世于 20 世紀(jì) 90 年代,是繼 C 語言之后的一種功能強大的現(xiàn)代語言,它在 C 的基礎(chǔ)上增加了 “類 ”的概念,類是提供用戶自定義類型的一種機制,這些用戶自定義類型也稱為抽象數(shù)據(jù)類型。 C通過這些方式和提供繼承及運行時類型綁定,來支持面向?qū)ο缶幊獭? 服務(wù)器端采用 SQL Server2021 關(guān)系數(shù)據(jù)庫, SQL 語言是 1974 年由 Boyce 和Chamberlin 提出的。由于它功能豐富,語言簡捷倍受用戶及計算機工業(yè)界歡 迎,被眾多計算機公司和軟件公司所采用。經(jīng)各公司的不斷修改、擴充和完善, SQL語言最終發(fā)展成為關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言。 SQL Server2021 是一項全面完整的數(shù)據(jù)庫與分析產(chǎn)品 。從借助瀏覽器實現(xiàn)的數(shù)據(jù)庫查詢功能到內(nèi)容豐富的擴展標(biāo)記語言 (XML)支持特性均可有力地證明 ,SQL Server2021 無謂為全面支持 Web 功能的數(shù)據(jù)庫解決方案。與此同時 ,SQL Server2021 還在可伸縮性與可靠性方面保持著多項基準(zhǔn)測試記錄。 第一部分 關(guān)鍵技術(shù)概述 本網(wǎng)上選課系統(tǒng)分為客戶端和服務(wù)器兩層結(jié)構(gòu) ,服 務(wù)器端安裝了 SQL Server2021 關(guān)系數(shù)據(jù)庫 ,客戶端通過校園的局域網(wǎng)連接服務(wù)器的數(shù)據(jù)庫存取數(shù)據(jù)??蛻舳朔譃楣W(xué)生使用的學(xué)生子系統(tǒng)和供教師使用的管理員子系統(tǒng)。 本系統(tǒng)設(shè)計主要用到以下幾個關(guān)鍵技術(shù): XML 文檔處理技術(shù),遍歷 DataSet的編程技術(shù), TreeView 控件動態(tài)綁定數(shù)據(jù)的技術(shù)和遍歷 TreeView 控件的技術(shù)等。 XML 文檔對象模型 文檔對象模型( Document Object Model,簡稱 DOM)是 XML 文檔的內(nèi)存(緩存)中樹狀表示形式,允許對該文檔的導(dǎo)航和編輯。 DOM 是程序員能夠以編程方式讀取,操作和修改 XML 文檔。 Visual C# .NET 中, .NET Framework SDK 中的命名空間 中封裝的 XmlNode 類能夠很好的表示 DOM 樹的節(jié)點( Node)。 XmlDocument 類繼承和擴展于 XmlNode 類,而 XmlNode 是組成 DOM 樹的最基本的元素,因此使用XmlDocument 類可以創(chuàng)建和訪問 DOM。 XmlDocument 類主要有兩類成員方法: ? 用于對整個文檔對象模型執(zhí)行操作,例如,將 XML 文檔加載到內(nèi)存中或?qū)ML 文檔對象模型保存成一個 XML 文檔。 ? 查看和 操作整個 XML 文檔中的節(jié)點。 遍歷 DataSet DataSet 是 中的核心對象,它支持?jǐn)嚅_式,分布式數(shù)據(jù)存取方案,功能非常強大。 DataSet 是數(shù)據(jù)在內(nèi)存中的表示形式。它可以用于多個不同的數(shù)據(jù)源,包括關(guān)系數(shù)據(jù)庫的數(shù)據(jù)集,本地的 XML 文檔等。無論數(shù)據(jù)源是什么,它都會提供一致的關(guān)系編程模型。 DataSet 中的方法和對象與關(guān)系數(shù)據(jù)庫模型中的方法和對象一致。 DataSet 由 DataRelation 集合, ExtendedProperties 和 DataTable 三部分組成集合。數(shù)據(jù)都存放在 DataTable 集合中。 DataTable 集合包括零個或多個 DataTable對象。 DataTable 對象的結(jié)構(gòu)對應(yīng)數(shù)據(jù)庫表的結(jié)構(gòu),從數(shù)據(jù)庫選擇出來的數(shù)據(jù)集可以放在 DataTable 對象里面。而 DataTable 對象又由 DataRow 集合組成,即每個 DataTable 里面由多個 DataRow。 DataRow 集合包含表中的數(shù)據(jù)。 DataRow 相當(dāng)于多維數(shù)組,不斷改變下標(biāo)就可以訪問整個 DataTable 里面的數(shù)據(jù),改變DataRow 集合對象的下標(biāo)就可以訪問不同的 DataTable 里面的數(shù)據(jù),從而可以實現(xiàn)對整個 DataSet 的遍歷。 TreeView 控件動態(tài)綁定數(shù)據(jù) TreeView 控件能夠以樹狀的層次結(jié)構(gòu)顯示它的節(jié)點。每個節(jié)點可能包含字節(jié)點。父節(jié)點或包含字節(jié)點的節(jié)點可以以展開或折疊的方式顯示。如果將 TreeView控件的 CheckBoxes 屬性設(shè)置為 ture,則在顯示 TreeView 時,節(jié)點旁邊還可帶有復(fù)選框。通過設(shè)置節(jié)點的 Checked 屬性值為 true 或 false,就能以編程方式選定或清除節(jié)點。緊挨著節(jié)點文本的左側(cè)可以顯示圖標(biāo),這要通過設(shè)置 TreeView 控件的 ImageList 屬性與希望使用的現(xiàn)有 ImageList 控件相關(guān)聯(lián)才能給每個節(jié)點獲取圖象。 為了實現(xiàn)數(shù)據(jù)的動態(tài)綁定,需要以編程方式添加節(jié)點和移除節(jié)點,具體方法如下: ( 1) 使用樹視圖 Nodes 屬性的 Add 方法,代碼如下: TreeNode new Node=newTreeNode(“Text”)。 (newNode)。 (2 ) 使用樹視圖 Nodes 屬性的 Rmove 方法移除某個節(jié)點,或者使用 Clear 方法清除所有節(jié)點,代碼如下: ()。 ()。 第二部分 軟件定義時期 隨著計算機的廣泛應(yīng)用 ,各行各業(yè)的信息管理都涉及到計算機中。 在軟件定義這一階段我們明確了軟件開發(fā)的目的 ,并確定了“學(xué)生網(wǎng)上選課系統(tǒng) ” 開發(fā)的總目標(biāo)。確定了系統(tǒng)開發(fā)的可行性;