版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 畢業(yè)論文</b></p><p><b> 網(wǎng)上選課系統(tǒng)</b></p><p><b> ——管理員子系統(tǒng)</b></p><p> 作 者 xxx </p><p> 院 系
2、 xxx(計(jì)算機(jī)系) </p><p> 專(zhuān) 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) </p><p> 年 級(jí) xxxx </p><p> 學(xué) 號(hào) xxxxx </p><p> 指導(dǎo)教師 xxxx
3、</p><p> 職 稱(chēng) xxx </p><p> 答辯日期 xxxx年x月xx日 </p><p><b> 摘要</b></p><p> 隨著計(jì)算機(jī)和網(wǎng)絡(luò)的普及,高等學(xué)校里紛紛建立了C/S或者B/S結(jié)構(gòu)的網(wǎng)上選課系統(tǒng)。與傳統(tǒng)的選課方式相比,網(wǎng)
4、上選課系統(tǒng)利用局域網(wǎng)為學(xué)生選課帶來(lái)了便利。學(xué)生在學(xué)校的公共機(jī)房或者宿舍的個(gè)人電腦上通過(guò)網(wǎng)絡(luò)來(lái)選課,只要選課還沒(méi)有截止,學(xué)生能夠靈活的修改自己的選課情況,大大提高了學(xué)校選課工作的效率。教務(wù)處的教師則通過(guò)選課系統(tǒng)的管理員子系統(tǒng)來(lái)管理學(xué)生的選課情況,使得學(xué)生選課工作達(dá)到系統(tǒng)化和自動(dòng)化,大大提高了學(xué)校的工作效率。</p><p> 本系統(tǒng)是C/S(客戶(hù)端/服務(wù)器)兩層結(jié)構(gòu)。采用C#數(shù)據(jù)庫(kù)編程語(yǔ)言。服務(wù)器部分是SQL S
5、erver2000 關(guān)系數(shù)據(jù)庫(kù)??蛻?hù)端分為學(xué)生選課子系統(tǒng)和管理員管理子系統(tǒng),它們通過(guò)存于后臺(tái)數(shù)據(jù)庫(kù)的數(shù)據(jù)產(chǎn)生聯(lián)系。</p><p> 無(wú)論是學(xué)生子系統(tǒng)還是管理員子系統(tǒng),都需要從數(shù)據(jù)庫(kù)中讀取院系的信息以及每個(gè)院系所開(kāi)設(shè)的課程信息,將其存放在DataSet里面,然后把數(shù)據(jù)綁定到控件并顯示出來(lái)。由于每個(gè)院系都開(kāi)設(shè)多門(mén)課程供學(xué)生選擇,院系信息和課程信息形成一個(gè)樹(shù)狀的結(jié)構(gòu),所以使用TreeViewer控件顯示這些信息比較
6、合適。</p><p> 關(guān)鍵字:網(wǎng)上選課系統(tǒng),、C#.NET、SQL Server2000關(guān)系數(shù)據(jù)庫(kù)。</p><p><b> Abstract</b></p><p> Along with the development of the computer and web, many universities have been bu
7、ild 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 network. Students can choose courses at computer room or dormitory by web at the el
8、ective 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. </p><p> This system adopts the two layer
9、s structure of C/S (customer/service), and use C#. Net language and SQL Server 2000 Database. Customer end makes up by two system—Student System and Manager System. They get in touch with each other by the backstage Data
10、base.</p><p> 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.</p><p> Keywords
11、Choose Course System 、C# .NET 、SQL Server 2000 Database</p><p><b> 目 錄</b></p><p> 前言…………………………………………………………………………………....5</p><p> 第一部分 關(guān)鍵技術(shù)概述…………...…………………………
12、…………………..6</p><p> 1.1XML文檔對(duì)象模型………………………………………………..6</p><p> 1.2 遍歷DataSet………………………………………………………6</p><p> 1.3 TreeView控件動(dòng)態(tài)綁定數(shù)據(jù)……………………………………...7</p><p> 第二部分 軟件定義時(shí)
13、期………………………………………………………….8</p><p> 2.1問(wèn)題定義…………………………………………………………...8</p><p> 2.2 需求分析…………………………………………………………..8</p><p> 第三部分 軟件開(kāi)發(fā)時(shí)期………………………………………………………....11</p><p>
14、; 3.1總體設(shè)計(jì)…………………………………………………………..11</p><p> 3.2 詳細(xì)設(shè)計(jì)………………………………………………………….14</p><p> 3.3編碼………………………………………………………………..20</p><p> 3.4 軟件測(cè)試………………………………………………………….28</p><
15、p> 第四部分 體會(huì)……………………………………………………………………30</p><p> 第五部分 參考文獻(xiàn)………………………………………………………………31</p><p><b> 前言</b></p><p> 二十一世紀(jì)是知識(shí)經(jīng)濟(jì)的時(shí)代,同時(shí)也是科技高速發(fā)展、網(wǎng)絡(luò)信息迅速膨脹的年代,大量客觀事實(shí)表明,一個(gè)嶄
16、新的計(jì)算機(jī)時(shí)代必將到來(lái)。隨著知識(shí)經(jīng)濟(jì)革命的到來(lái)和信息技術(shù)的蓬勃發(fā)展,計(jì)算機(jī)技術(shù)和通訊技術(shù)成為了這個(gè)時(shí)代的主角,不僅改變了我們的世界,而且同時(shí)也吹響了我們邁向新生活的號(hào)角,正以日新月異的速度改變我們的人生。而兩者的結(jié)合產(chǎn)物---計(jì)算機(jī)網(wǎng)絡(luò),在最近的幾年更是異軍突起、迅猛地發(fā)展起來(lái),它不僅提高我們的工作效率,而且還為我們提供了廣闊的資源利用空間和方便快捷的現(xiàn)代通訊手段,同時(shí)它還是衡量一個(gè)國(guó)家科技發(fā)展水平的重要的尺度。</p>
17、<p> 隨著計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,各高校相繼建成了自己的校園網(wǎng),并充分利用校園網(wǎng)提供的新環(huán)境、新手段為校園的教學(xué)、科研和教務(wù)管理服務(wù)。近年來(lái),學(xué)校的招生規(guī)模不斷擴(kuò)大,在學(xué)校學(xué)生人數(shù)明顯增多,加之學(xué)生分校區(qū)管理,給原本繁雜的院級(jí)選修課工作增加了不少教務(wù)工作量。網(wǎng)上選課系統(tǒng)的推出,使得選修課程的設(shè)置維護(hù)、學(xué)生選/退課及成績(jī)查詢(xún)、管理員對(duì)選課情況的管理等工作均能在互聯(lián)網(wǎng)上完成。這不僅減輕了教務(wù)人員的工作負(fù)擔(dān),也大大方便了全
18、校師生對(duì)選課信息的維護(hù)、查詢(xún)。</p><p> 計(jì)算機(jī)語(yǔ)言是開(kāi)發(fā)計(jì)算機(jī)軟件的一種高級(jí)軟件,它的掌握和使用是高級(jí)的計(jì)算機(jī)使用者必須的技能?,F(xiàn)在存在著大量的計(jì)算機(jī)語(yǔ)言,而且它們的發(fā)展速度讓世人矚目震驚。</p><p> 本系統(tǒng)采用C#數(shù)據(jù)庫(kù)編程。C#是一種重要的新語(yǔ)言,微軟將其設(shè)計(jì)和定位成.NET戰(zhàn)略的一部分,C#內(nèi)建了很多有用的庫(kù),并由高級(jí)集成開(kāi)發(fā)環(huán)境提供支持。它有效地支持目前占主導(dǎo)
19、地位的編程方法——面向?qū)ο缶幊?OOP) 。</p><p> 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#通過(guò)這些方式和提供繼承及運(yùn)行時(shí)類(lèi)型綁定,來(lái)支持面向?qū)ο缶幊獭?lt;/p><p> 服務(wù)器端采用SQL Server2000關(guān)系數(shù)據(jù)庫(kù),SQL語(yǔ)言是1
20、974年由Boyce和Chamberlin提出的。由于它功能豐富,語(yǔ)言簡(jiǎn)捷倍受用戶(hù)及計(jì)算機(jī)工業(yè)界歡迎,被眾多計(jì)算機(jī)公司和軟件公司所采用。經(jīng)各公司的不斷修改、擴(kuò)充和完善,SQL語(yǔ)言最終發(fā)展成為關(guān)系數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)語(yǔ)言。</p><p> SQL Server2000是一項(xiàng)全面完整的數(shù)據(jù)庫(kù)與分析產(chǎn)品。從借助瀏覽器實(shí)現(xiàn)的數(shù)據(jù)庫(kù)查詢(xún)功能到內(nèi)容豐富的擴(kuò)展標(biāo)記語(yǔ)言(XML)支持特性均可有力地證明,SQL Server2000無(wú)
21、謂為全面支持Web功能的數(shù)據(jù)庫(kù)解決方案。與此同時(shí),SQL Server2000還在可伸縮性與可靠性方面保持著多項(xiàng)基準(zhǔn)測(cè)試記錄。</p><p> 第一部分 關(guān)鍵技術(shù)概述</p><p> 本網(wǎng)上選課系統(tǒng)分為客戶(hù)端和服務(wù)器兩層結(jié)構(gòu),服務(wù)器端安裝了SQL Server2000關(guān)系數(shù)據(jù)庫(kù),客戶(hù)端通過(guò)校園的局域網(wǎng)連接服務(wù)器的數(shù)據(jù)庫(kù)存取數(shù)據(jù)??蛻?hù)端分為供學(xué)生使用的學(xué)生子系統(tǒng)和供教師使用的管理員
22、子系統(tǒng)。</p><p> 本系統(tǒng)設(shè)計(jì)主要用到以下幾個(gè)關(guān)鍵技術(shù):XML文檔處理技術(shù),遍歷DataSet的編程技術(shù),TreeView控件動(dòng)態(tài)綁定數(shù)據(jù)的技術(shù)和遍歷TreeView控件的技術(shù)等。</p><p><b> XML文檔對(duì)象模型</b></p><p> 文檔對(duì)象模型(Document Object Model,簡(jiǎn)稱(chēng)DOM)是XML
23、文檔的內(nèi)存(緩存)中樹(shù)狀表示形式,允許對(duì)該文檔的導(dǎo)航和編輯。DOM是程序員能夠以編程方式讀取,操作和修改XML文檔。</p><p> Visual C#.NET中,.NET Framework SDK中的命名空間System.Xml中封裝的XmlNode類(lèi)能夠很好的表示DOM樹(shù)的節(jié)點(diǎn)(Node)。XmlDocument類(lèi)繼承和擴(kuò)展于XmlNode類(lèi),而XmlNode是組成DOM樹(shù)的最基本的元素,因此使用Xml
24、Document類(lèi)可以創(chuàng)建和訪(fǎng)問(wèn)DOM。XmlDocument類(lèi)主要有兩類(lèi)成員方法:</p><p> 用于對(duì)整個(gè)文檔對(duì)象模型執(zhí)行操作,例如,將XML文檔加載到內(nèi)存中或?qū)ML文檔對(duì)象模型保存成一個(gè)XML文檔。</p><p> 查看和操作整個(gè)XML文檔中的節(jié)點(diǎn)。</p><p> 1.2 遍歷DataSet</p><p> Dat
25、aSet是ADO.NET中的核心對(duì)象,它支持?jǐn)嚅_(kāi)式,分布式數(shù)據(jù)存取方案,功能非常強(qiáng)大。DataSet是數(shù)據(jù)在內(nèi)存中的表示形式。它可以用于多個(gè)不同的數(shù)據(jù)源,包括關(guān)系數(shù)據(jù)庫(kù)的數(shù)據(jù)集,本地的XML文檔等。無(wú)論數(shù)據(jù)源是什么,它都會(huì)提供一致的關(guān)系編程模型。DataSet中的方法和對(duì)象與關(guān)系數(shù)據(jù)庫(kù)模型中的方法和對(duì)象一致。</p><p> DataSet由DataRelation集合,ExtendedProperties和
26、DataTable三部分組成集合。數(shù)據(jù)都存放在DataTable集合中。DataTable集合包括零個(gè)或多個(gè)DataTable對(duì)象。DataTable對(duì)象的結(jié)構(gòu)對(duì)應(yīng)數(shù)據(jù)庫(kù)表的結(jié)構(gòu),從數(shù)據(jù)庫(kù)選擇出來(lái)的數(shù)據(jù)集可以放在DataTable對(duì)象里面。而DataTable對(duì)象又由DataRow集合組成,即每個(gè)DataTable里面由多個(gè)DataRow。DataRow集合包含表中的數(shù)據(jù)。DataRow相當(dāng)于多維數(shù)組,不斷改變下標(biāo)就可以訪(fǎng)問(wèn)整個(gè)Data
27、Table里面的數(shù)據(jù),改變DataRow集合對(duì)象的下標(biāo)就可以訪(fǎng)問(wèn)不同的DataTable里面的數(shù)據(jù),從而可以實(shí)現(xiàn)對(duì)整個(gè)DataSet的遍歷。</p><p> TreeView控件動(dòng)態(tài)綁定數(shù)據(jù)</p><p> TreeView控件能夠以樹(shù)狀的層次結(jié)構(gòu)顯示它的節(jié)點(diǎn)。每個(gè)節(jié)點(diǎn)可能包含字節(jié)點(diǎn)。父節(jié)點(diǎn)或包含字節(jié)點(diǎn)的節(jié)點(diǎn)可以以展開(kāi)或折疊的方式顯示。如果將TreeView控件的CheckBoxe
28、s屬性設(shè)置為ture,則在顯示TreeView時(shí),節(jié)點(diǎn)旁邊還可帶有復(fù)選框。通過(guò)設(shè)置節(jié)點(diǎn)的Checked屬性值為true或false,就能以編程方式選定或清除節(jié)點(diǎn)。緊挨著節(jié)點(diǎn)文本的左側(cè)可以顯示圖標(biāo),這要通過(guò)設(shè)置TreeView控件的ImageList屬性與希望使用的現(xiàn)有ImageList控件相關(guān)聯(lián)才能給每個(gè)節(jié)點(diǎn)獲取圖象。</p><p> 為了實(shí)現(xiàn)數(shù)據(jù)的動(dòng)態(tài)綁定,需要以編程方式添加節(jié)點(diǎn)和移除節(jié)點(diǎn),具體方法如下:&
29、lt;/p><p> 使用樹(shù)視圖Nodes屬性的Add方法,代碼如下:</p><p> TreeNode new Node=newTreeNode(“Text”);</p><p> MytreeView1.SelectedNode.Nodes.Add(newNode);</p><p> (2 ) 使用樹(shù)視圖Nodes屬性的Rmo
30、ve方法移除某個(gè)節(jié)點(diǎn),或者使用Clear方法清除所有節(jié)點(diǎn),代碼如下:</p><p> MytreeView1.Nodes.Remove(MytreeView1.SelectedNode);</p><p> MyTreeView.Nodes.Clear();</p><p> 第二部分 軟件定義時(shí)期</p><p> 隨著計(jì)算機(jī)的廣
31、泛應(yīng)用,各行各業(yè)的信息管理都涉及到計(jì)算機(jī)中。在軟件定義這一階段我們明確了軟件開(kāi)發(fā)的目的,并確定了“學(xué)生網(wǎng)上選課系統(tǒng)”開(kāi)發(fā)的總目標(biāo)。確定了系統(tǒng)開(kāi)發(fā)的可行性;導(dǎo)出了實(shí)現(xiàn)此系統(tǒng)總目標(biāo)應(yīng)采用的策略及系統(tǒng)需完成的各個(gè)功能。本系統(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)。</p><p><b> 2.1問(wèn)題定義</b&
32、gt;</p><p> 1.從系統(tǒng)的性質(zhì)看,本系統(tǒng)屬于一個(gè)關(guān)于數(shù)據(jù)庫(kù)方面的應(yīng)用系統(tǒng)。</p><p> 2.從系統(tǒng)的功能看,本系統(tǒng)主要應(yīng)完成以下功能:學(xué)生可以查看課程信息,可以在限定時(shí)間內(nèi)選擇,退選,增選課程。管理員可以增加,修改,刪除學(xué)生信息和課程信息,可以查看選課情況,可以修改選課期限,可以修改選課限制人數(shù)。</p><p> 3.從系統(tǒng)的結(jié)構(gòu)看,本系統(tǒng)
33、分為客戶(hù)端和服務(wù)器端,服務(wù)器端安裝SQL Server2000關(guān)系數(shù)據(jù)庫(kù),客戶(hù)端由學(xué)生子系統(tǒng)和管理員子系統(tǒng)組成。</p><p><b> 2.2需求分析</b></p><p> 通過(guò)詢(xún)問(wèn)參與選課的學(xué)生及負(fù)責(zé)選課工作的老師具體總結(jié)出網(wǎng)上選課系統(tǒng)需要能夠?qū)崿F(xiàn)以下功能:</p><p> 學(xué)生和管理員必須通過(guò)認(rèn)證才能登錄系統(tǒng),管理員和學(xué)生的
34、權(quán)限不一樣;</p><p> 管理員可以添加,刪除和修改學(xué)生信息,可以添加,刪除和修改課程信息,可以查看選課情況,可以修改選課期限。</p><p> 學(xué)生可以查看課程信息,只能在限定時(shí)間內(nèi)選修課程,可以查詢(xún)自己選修課程的情況,在限定的時(shí)間之內(nèi)還可以退選課程或者增選課程。如果被選課程選修的人數(shù)已經(jīng)達(dá)到上限,則學(xué)生不能選修該課程。</p><p> 整個(gè)系統(tǒng)的
35、流程是在用戶(hù)的要求下進(jìn)行的,學(xué)生子系統(tǒng)負(fù)責(zé)處理學(xué)生的選課,退選,增選等事務(wù),并向用戶(hù)顯示操作情況對(duì)話(huà)框,同時(shí)更新數(shù)據(jù)庫(kù)中相關(guān)表的數(shù)據(jù)。管理員子系統(tǒng)負(fù)責(zé)處理管理員對(duì)選課情況的管理,向管理員顯示操作情況對(duì)話(huà)框,同時(shí)更新數(shù)據(jù)庫(kù)中相關(guān)表的數(shù)據(jù)。</p><p> 系統(tǒng)的數(shù)據(jù)流圖如下:</p><p><b> 學(xué)生子系統(tǒng)</b></p><p>&
36、lt;b> 管理員子系統(tǒng)</b></p><p> 信號(hào)1(A):修改學(xué)生信息信號(hào)</p><p> 信號(hào)2(B):修改課程信息信號(hào)</p><p> 信號(hào)3(C):修改選課期限信號(hào)</p><p><b> 簡(jiǎn)化的數(shù)據(jù)字典</b></p><p> (1)口令:
37、用戶(hù)身份驗(yàn)證</p><p> (2)數(shù)據(jù)流:事務(wù) = [ 輸入 | 查詢(xún) |選課|]</p><p> 事務(wù) = [ 輸入 | 查詢(xún) |退選|]</p><p> 事務(wù) = [ 輸入 | 查詢(xún) |增選|]</p><p> 事務(wù) = [ 輸入 | 查詢(xún) |修改|]</p><p> (3)數(shù)據(jù)庫(kù) =
38、 Courses表 + Student表 + Department表 + Elective表 + Admins表 + Period表 </p><p> 后臺(tái)數(shù)據(jù)庫(kù)據(jù)庫(kù)采用SQL Server 2000,各表完成如下功能:</p><p> Courses表:用于存放課程的詳細(xì)信息。</p><p> Student表:用于存放所有學(xué)生的資料。</p&g
39、t;<p> Department表:用于記錄開(kāi)設(shè)課程所屬院系名稱(chēng)。</p><p> Elective表:用于記錄學(xué)生選課情況。</p><p> Admins表:用于記錄所有管理員的信息。</p><p> Period表:用于設(shè)置選課的開(kāi)始時(shí)間和選課的結(jié)束時(shí)間。</p><p> 通過(guò)對(duì)用戶(hù)提出要求的調(diào)查研究,明
40、確了系統(tǒng)設(shè)計(jì)的目標(biāo),確定了系統(tǒng)的基本功能,并分析出數(shù)據(jù)的流動(dòng)方向,在此基礎(chǔ)之上可以開(kāi)始著手設(shè)計(jì)系統(tǒng),勾畫(huà)出網(wǎng)上選課系統(tǒng)總體框架。</p><p> 第三部分 軟件開(kāi)發(fā)時(shí)期</p><p> 經(jīng)過(guò)軟件定義時(shí)期以后,就步入了軟件的開(kāi)發(fā)時(shí)期。在此過(guò)程中,要盡量尋求實(shí)現(xiàn)此系統(tǒng)的最佳方案,進(jìn)而實(shí)現(xiàn)系統(tǒng)的要求。</p><p><b> 3.1總體設(shè)計(jì)</
41、b></p><p><b> 設(shè)計(jì)原理</b></p><p> 本系統(tǒng)是C/S(客戶(hù)端/服務(wù)器)兩層結(jié)構(gòu).</p><p> 服務(wù)器采用SQL Server2000關(guān)系數(shù)據(jù)庫(kù).數(shù)據(jù)庫(kù)里存放著編譯好的存儲(chǔ)過(guò)程,主要負(fù)責(zé)數(shù)據(jù)的存取,也負(fù)責(zé)一些的業(yè)務(wù)邏輯的處理,例如判斷學(xué)生是否在允許時(shí)間段內(nèi)選課.</p><p&g
42、t; 客戶(hù)端包含兩個(gè)系統(tǒng):學(xué)生選課子系統(tǒng)和管理員管理子系統(tǒng).學(xué)生子系統(tǒng)安裝在學(xué)校公共機(jī)房,圖書(shū)館等場(chǎng)所的電腦上,供學(xué)生選課時(shí)使用,通過(guò)局域網(wǎng)訪(fǎng)問(wèn)教務(wù)處辦公室的服務(wù)器;管理員子系統(tǒng)安裝在教務(wù)處辦公室的桌面型電腦上,供管理教務(wù)的教師使用.</p><p><b> 客戶(hù)端的設(shè)計(jì)</b></p><p> 學(xué)生選課子系統(tǒng)結(jié)構(gòu)圖:</p><p>
43、; 各模塊完成以下功能:</p><p> 查看課程信息:學(xué)生登錄后,查看可供選擇的課程信息。</p><p> 查看已選課程信息:學(xué)生登錄后,查看自己選擇了哪些課程。</p><p> 選修課程:學(xué)生登錄后,通過(guò)此模塊完成選課操作。</p><p> 退選課程:學(xué)生登錄后,通過(guò)此模塊完成退選操作。</p><p
44、> 管理員子系統(tǒng)結(jié)構(gòu)圖:</p><p> 各模塊完成以下功能:</p><p> 管理學(xué)生記錄:管理員登錄后,可以刪除,修改,增加學(xué)生信息。</p><p> 管理課程記錄:管理員登錄后,可以刪除,修改,增加可選課程信息。</p><p> 修改課程期限:管理員登錄后,可以修改選修課程的開(kāi)始及結(jié)束日期。</p>
45、<p> 查看選課情況:管理員登錄后,可以查看某門(mén)選修課已選人數(shù)是否達(dá)到限選人數(shù),并可以查看總體選課情況。</p><p><b> 數(shù)據(jù)庫(kù)的設(shè)計(jì)</b></p><p> 本系統(tǒng)后臺(tái)數(shù)據(jù)庫(kù)建立6個(gè)表:Courses表,Students表Departments表,Elective表,Admins表,和Period表。</p><p
46、><b> Courses表</b></p><p> 2.Student表</p><p> 3.Departments表</p><p> 4.Elective表</p><p><b> 5.Admins表</b></p><p><b>
47、6.Period表</b></p><p><b> 3.2詳細(xì)設(shè)計(jì)</b></p><p> 到了確定應(yīng)該怎樣具體的實(shí)現(xiàn)所要求的系統(tǒng)的時(shí)候了,這個(gè)階段將得出學(xué)生選課系統(tǒng)的精確描述,從而在編碼階段可以把這個(gè)描述直接翻譯成具體的程序設(shè)計(jì)語(yǔ)言書(shū)寫(xiě)的程序,這一階段的結(jié)果直接決定了最終程序代碼的質(zhì)量。</p><p><b>
48、 1.人機(jī)界面設(shè)計(jì)</b></p><p> 本系統(tǒng)對(duì)每一層都設(shè)置了確保安全的障礙和入口,用戶(hù)只有進(jìn)入了某一層才能獲得相應(yīng)那一層資源的訪(fǎng)問(wèn)權(quán),這些措施保證了選課系統(tǒng)及具體數(shù)據(jù)的安全性。任何一位Web用戶(hù)在進(jìn)入選課系統(tǒng)主頁(yè)面后,只有通過(guò)了系統(tǒng)的身份驗(yàn)證才能進(jìn)入到系統(tǒng)相應(yīng)的功能頁(yè)面完成所要進(jìn)行的操作。</p><p> 本系統(tǒng)主要包含以下界面:</p><
49、p> 從此界面,可以分別進(jìn)入管理員子系統(tǒng)、學(xué)生子系統(tǒng)登錄界面,單擊查詢(xún)可以查看課程信息并可以查看打印預(yù)覽。</p><p> 在該界面學(xué)生輸入學(xué)號(hào)、密碼,單擊登錄按鈕系統(tǒng)進(jìn)行驗(yàn)證身份,如學(xué)號(hào)、密碼與數(shù)據(jù)庫(kù)中的記錄吻合,則進(jìn)入下一個(gè)界面,進(jìn)行選課。 </p><p> 管理員登錄后,可以添加課程、查看選課情況、對(duì)學(xué)生記錄進(jìn)行管理等,本界面為學(xué)生管理界面,管理員輸入學(xué)生學(xué)號(hào),單擊
50、查找按鈕,在姓名和密碼欄中顯示該學(xué)生的信息,單擊修改按鈕或刪除按鈕,就可以完成相應(yīng)操作。</p><p> 在添加學(xué)生記錄一欄中填寫(xiě)相應(yīng)信息,單擊添加按鈕,該學(xué)生信息就可以添加到數(shù)據(jù)庫(kù)中。</p><p> 用戶(hù)可以從主頁(yè)直接進(jìn)入成績(jī)查詢(xún)界面,用戶(hù)可以通過(guò)此界面查看課程信息,分別可以按系、按課程名稱(chēng)、按授課教師等查詢(xún)課程信息,這樣大大方便了各級(jí)用戶(hù),使用戶(hù)可以更直接、更方便的了解各門(mén)課
51、程,有利于學(xué)生快速、準(zhǔn)確的選課,同時(shí)也有利于管理員對(duì)課程的管理。通過(guò)打印預(yù)覽子菜單,用戶(hù)可以將所需信息打印出來(lái)。</p><p> 本報(bào)表的制作采用Crystal Report Designer,Crystal Reports for Visual Studio.NET是內(nèi)置于Visual Studio.NET的報(bào)表設(shè)計(jì)工具,它能夠在.NET平臺(tái)上創(chuàng)建高復(fù)雜度且專(zhuān)業(yè)級(jí)的互動(dòng)式報(bào)表,其以Crystal Repor
52、t8.0的架構(gòu)為基礎(chǔ),并且針對(duì).NET平臺(tái)作更進(jìn)一步的強(qiáng)化與發(fā)展,以確保能提供.NET開(kāi)發(fā)人員最豐富且完整的報(bào)表功能。</p><p> 本系統(tǒng)利用此報(bào)表反饋出各系開(kāi)設(shè)課程信息,既方便了學(xué)生選課,又減輕了管理員的管理負(fù)擔(dān),并同時(shí)提供打印功能,方便了管理員對(duì)局域網(wǎng)上各系開(kāi)設(shè)課程總體情況的掌握。</p><p><b> 制作報(bào)表過(guò)程如下:</b></p>
53、<p> 首先在原有項(xiàng)目下創(chuàng)建新的窗體,從“工具箱”的Windows窗體選項(xiàng)卡中將CrystalReportViewer報(bào)表查看器控件拖放至窗體上,然后從“項(xiàng)目”菜單中選取“添加新項(xiàng)”指令,選擇添加Crystal Report項(xiàng),接下來(lái)選擇作為空白報(bào)表一項(xiàng),單擊確定,即可編輯具有自己獨(dú)特風(fēng)格的報(bào)表了。需要說(shuō)明的是:報(bào)表的數(shù)據(jù)源可由窗口左側(cè)的數(shù)據(jù)庫(kù)文件直接設(shè)定。</p><p> 此界面為配置管理
54、界面,管理員通過(guò)相關(guān)操作,可以直接修改數(shù)據(jù)庫(kù)中的選課時(shí)間記錄。在文本區(qū)鍵入選課開(kāi)始、結(jié)束時(shí)間,單擊生成按鈕,配置文件生成功,為更新數(shù)據(jù)庫(kù)作好第一步準(zhǔn)備。</p><p> 單擊讀取按鈕,將配置文件讀入內(nèi)存,以便通過(guò)函數(shù)調(diào)用UpdatePeriod存儲(chǔ)過(guò)程,更新數(shù)據(jù)庫(kù)。出現(xiàn)更新數(shù)據(jù)庫(kù)成功對(duì)話(huà)框,單擊確定按鈕,此時(shí)數(shù)據(jù)庫(kù)記錄被修改。學(xué)生必須按照新的選課時(shí)間進(jìn)行選課,使管理員可以動(dòng)態(tài)的、間接的管理數(shù)據(jù)庫(kù),而無(wú)須登錄到
55、SQL Server2000企業(yè)管理器對(duì)數(shù)據(jù)庫(kù)進(jìn)行修改。</p><p> 本網(wǎng)上選課系統(tǒng)共涉及到12個(gè)用戶(hù)界面,以上是具有代表性的幾個(gè),單獨(dú)列出加以說(shuō)明。為了提高代碼的重用性和封裝對(duì)存儲(chǔ)過(guò)程的調(diào)用,每個(gè)子系統(tǒng)都實(shí)現(xiàn)了一個(gè)存取數(shù)據(jù)的公共類(lèi),提供本系統(tǒng)使用。</p><p><b> 2.過(guò)程設(shè)計(jì) </b></p><p> 本系統(tǒng)對(duì)每一層
56、都設(shè)置了確保安全的障礙和入口,用戶(hù)只有進(jìn)入了某一層才能獲得相應(yīng)那一層資源的訪(fǎng)問(wèn)權(quán),這些措施保證了選課系統(tǒng)及具體數(shù)據(jù)的安全性。 </p><p> 不同身份的用戶(hù)擁有對(duì)數(shù)據(jù)庫(kù)的不同訪(fǎng)問(wèn)權(quán)限(具體到對(duì)庫(kù)中每個(gè)表的存取操作),學(xué)生用戶(hù)的選/退課權(quán)限通過(guò)系統(tǒng)應(yīng)用程序提供給教務(wù)管理人員動(dòng)態(tài)設(shè)置。</p><p><b> 系統(tǒng)程序流程圖如下</b>&
57、lt;/p><p><b> 學(xué)生子系統(tǒng):</b></p><p><b> 管理員子系統(tǒng)</b></p><p><b> 3.3編碼</b></p><p> 源程序代碼的邏輯應(yīng)簡(jiǎn)明清晰,易讀易懂,編碼必須嚴(yán)格遵循詳細(xì)設(shè)計(jì)階段的結(jié)果,編寫(xiě)出嚴(yán)密、有邏輯性的代碼。<
58、/p><p> 本應(yīng)用程序?yàn)榱颂岣叻?wù)器數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn)效率,加快整個(gè)系統(tǒng)的運(yùn)行速度,存取數(shù)據(jù)全部使用存儲(chǔ)過(guò)程。同時(shí)對(duì)一些業(yè)務(wù)邏輯也使用了一些存儲(chǔ)過(guò)程。</p><p> 分別使用如下代碼進(jìn)行數(shù)據(jù)庫(kù)連接:</p><p> private string m_strConnString;</p><p> private SqlConnecti
59、on m_connConnection;</p><p><b> 打開(kāi)操作:</b></p><p> public void Open(string strDataSource,string strInitialCatalog,string strUserID,string strPwd)</p><p><b> {<
60、;/b></p><p> m_strConnString="Data Source="+strDataSource+";Initial Catalog="+strInitialCatalog+";User ID="+"sa"+";Password="+strPwd;</p><p>
61、; m_connConnection= new SqlConnection(m_strConnString);</p><p> m_connConnection.Open();</p><p><b> }</b></p><p><b> 關(guān)閉操作:</b></p><p> pub
62、lic void Close()</p><p><b> {</b></p><p> m_connConnection.Close();</p><p><b> }</b></p><p> 首先創(chuàng)建CSQL類(lèi),當(dāng)類(lèi)中某一對(duì)象需要獲取數(shù)據(jù)庫(kù)中的數(shù)據(jù)時(shí),用如下代碼調(diào)用Open()函數(shù)。&
63、lt;/p><p> CSQL mySQL=new CSQL();</p><p> mySQL.Open("localhost","electcourses","sa","2188");</p><p> 其中l(wèi)ocalhost表示本地訪(fǎng)問(wèn),electcourses為數(shù)據(jù)庫(kù)名,sa為
64、數(shù)據(jù)庫(kù)用戶(hù)名,2188為用戶(hù)口令。</p><p> MySQL.Close();</p><p> 使用該語(yǔ)句可以直接關(guān)閉數(shù)據(jù)庫(kù)。</p><p> 各模塊具體實(shí)現(xiàn)代碼如下:</p><p><b> 學(xué)生子系統(tǒng):</b></p><p><b> 查看課程信息模塊</
65、b></p><p> private void FillDirectoryTree()</p><p><b> {</b></p><p> CSQL mySQL =new CSQL();</p><p> mySQL.Open("localhost","electcou
66、rses","sa","2188");</p><p> DataSet DepartmentDS = mySQL.GetDataSet("select * from Departments","departments");</p><p> int myCount = DepartmentDS.
67、Tables["departments"].Rows.Count;</p><p> mySQL.Close();</p><p> for(int i=0;i<myCount;i++)</p><p><b> {</b></p><p> string DepartmentName
68、= DepartmentDS.Tables["departments"].Rows[i][1].ToString();</p><p> int DepartmentID = int.Parse(DepartmentDS.Tables["departments"].Rows[i][0].ToString());</p><p> TreeNode
69、 CRoot = new TreeNode(DepartmentName);</p><p> treeView1.Nodes.Add(CRoot);</p><p> AddDirectories(CRoot,DepartmentID);</p><p><b> }</b></p><p><b>
70、 }</b></p><p> private void AddDirectories(TreeNode node,int departmentid)</p><p><b> {</b></p><p> CSQL mySQL =new CSQL();</p><p> mySQL.Open(&
71、quot;localhost","electcourses","sa","2188");</p><p> DataSet ds = new DataSet();</p><p> string strsqltemp = "select * from Courses where DepartmentID=&
72、quot;+departmentid.ToString();</p><p> ds = mySQL.GetDataSet(strsqltemp,"courses");</p><p> int myCount = ds.Tables["courses"].Rows.Count;</p><p> for(int i=0
73、;i<myCount;i++)</p><p><b> {</b></p><p> string CourseName = ds.Tables["courses"].Rows[i][1].ToString();</p><p> node.Nodes.Add(new TreeNode(CourseName))
74、;</p><p><b> }</b></p><p> mySQL.Close();</p><p><b> }</b></p><p><b> 查看已選課程模塊</b></p><p> CREATE Procedure Electi
75、veList</p><p><b> (</b></p><p> @StudentID int</p><p><b> )</b></p><p><b> AS</b></p><p><b> SELECT</b&g
76、t;</p><p> Courses.CourseID,</p><p> Courses.CourseName,</p><p> Courses.CourseTeacher,</p><p> Courses.CourseScore,</p><p> Courses.CourseHours</p
77、><p><b> FROM</b></p><p><b> Elective</b></p><p> INNER JOIN Courses ON Courses.CourseID=Elective.CourseID</p><p><b> WHERE</b>&
78、lt;/p><p> Elective.StudentID=@StudentID</p><p><b> GO</b></p><p><b> 選課模塊</b></p><p> CREATE Procedure ElectCourse</p><p><b&g
79、t; (</b></p><p> @StudentID int,</p><p> @CourseID int,</p><p> @ElectiveID int OUTPUT</p><p><b> )</b></p><p><b> AS<
80、/b></p><p> INSERT INTO Elective</p><p><b> (</b></p><p> StudentID,</p><p><b> CourseID</b></p><p><b> )</b>&l
81、t;/p><p><b> VALUES</b></p><p><b> (</b></p><p> @StudentID,</p><p><b> @CourseID</b></p><p><b> )</b><
82、;/p><p><b> SELECT</b></p><p> @ElectiveID=@@Identity</p><p><b> GO</b></p><p><b> 退選模塊</b></p><p> CREATE Procedure
83、 CancelCourse</p><p><b> (</b></p><p> @StudentID int,</p><p> @CourseID int,</p><p> @ElectiveID int OUTPUT</p><p><b> )</b
84、></p><p><b> AS</b></p><p><b> SELECT</b></p><p> @ElectiveID=ElectiveID</p><p><b> FROM</b></p><p><b> E
85、lective</b></p><p><b> WHERE</b></p><p> @StudentID=StudentID</p><p><b> AND</b></p><p> @CourseID=CourseID</p><p> DELE
86、TE FROM</p><p><b> Elective</b></p><p><b> WHERE</b></p><p><b> (</b></p><p> @StudentID=StudentID</p><p><b>
87、; AND</b></p><p> @CourseID=CourseID</p><p><b> )</b></p><p><b> GO</b></p><p><b> 管理員子系統(tǒng)</b></p><p><b&g
88、t; 管理學(xué)生記錄模塊</b></p><p><b> 修改學(xué)生信息</b></p><p> CREATE Procedure ModifyStudentInfo</p><p><b> (</b></p><p> @StudentNumber nvarchar(50
89、),</p><p> @Name nvarchar(50),</p><p> @Password nvarchar(50)</p><p><b> )</b></p><p><b> AS</b></p><p> UPDATE Students<
90、/p><p><b> SET</b></p><p> Name=@Name,</p><p> Password=@Password</p><p><b> WHERE</b></p><p> StudentNumber=@StudentNumber</p
91、><p><b> GO</b></p><p><b> 添加學(xué)生信息</b></p><p> CREATE Procedure AddStudent</p><p><b> (</b></p><p> @StudentNumber nv
92、archar(50),</p><p> @Name nvarchar(50),</p><p> @Password nvarchar(50),</p><p> @StudentID int OUTPUT</p><p><b> )</b></p><p><b>
93、 AS</b></p><p> INSERT INTO Students</p><p><b> (</b></p><p> StudentNumber,</p><p><b> Name,</b></p><p><b> Pass
94、word</b></p><p><b> )</b></p><p><b> VALUES</b></p><p><b> (</b></p><p> @StudentNumber,</p><p><b> @N
95、ame,</b></p><p><b> @Password</b></p><p><b> )</b></p><p><b> SELECT</b></p><p> @StudentID=@@Identity</p><p>
96、;<b> GO</b></p><p><b> 刪除學(xué)生信息</b></p><p> CREATE Procedure DeleteStudent</p><p><b> (</b></p><p> @StudentNumber nvarchar(50),
97、</p><p> @Name nvarchar(50)</p><p><b> )</b></p><p><b> AS</b></p><p> DELETE Students</p><p><b> WHERE</b></p
98、><p> StudentNumber=@StudentNumber</p><p><b> AND</b></p><p> Name=@Name</p><p><b> GO</b></p><p><b> 管理課程信息模塊</b><
99、;/p><p><b> 修改課程信息</b></p><p> CREATE Procedure ModifyCourse</p><p><b> (</b></p><p> @CourseID int,</p><p> @CourseName nvarch
100、ar(50), </p><p> @CourseHours int,</p><p> @CourseScore int,</p><p> @CourseTeacher nvarchar(50),</p><p> @UpperLimitStudentNumber int</p><p><b
101、> )</b></p><p><b> AS</b></p><p> UPDATE Courses</p><p><b> SET</b></p><p> CourseName=@CourseName,</p><p> CourseH
102、ours=@CourseHours,</p><p> CourseScore=@CourseScore,</p><p> CourseTeacher=@CourseTeacher,</p><p> UpperLimitStudentNumber=@UpperLimitStudentNumber</p><p><b>
103、 WHERE</b></p><p> CourseID=@CourseID</p><p><b> GO</b></p><p><b> 添加課程信息</b></p><p> CREATE Procedure AddCourse</p><p>&
104、lt;b> (</b></p><p> @CourseID int,</p><p> @CourseName nvarchar(50),</p><p> @DepartmentID int,</p><p> @CourseHours int,</p><p> @Cours
105、eScore int,</p><p> @CourseTeacher nvarchar(50),</p><p> @UpperLimitStudentNumber int</p><p><b> )</b></p><p><b> As</b></p><p&
106、gt; INSERT INTO Courses</p><p><b> (</b></p><p><b> CourseID,</b></p><p> CourseName,</p><p> DepartmentID,</p><p> CourseHou
107、rs,</p><p> CourseScore,</p><p> CourseTeacher,</p><p> UpperLimitStudentNumber</p><p><b> )</b></p><p><b> VALUES</b></p&g
108、t;<p><b> (</b></p><p> @CourseID ,</p><p> @CourseName ,</p><p> @DepartmentID,</p><p> @CourseHours , </p><p> @CourseScore , &l
109、t;/p><p> @CourseTeacher,</p><p> @UpperLimitStudentNumber </p><p><b> )</b></p><p><b> SELECT</b></p><p> @CourseID=@@Identity&l
110、t;/p><p><b> GO</b></p><p><b> 刪除課程信息</b></p><p> CREATE Procedure RemoveCourse</p><p><b> (</b></p><p> @CourseID in
111、t</p><p><b> )</b></p><p><b> AS</b></p><p> BEGIN Transaction</p><p> DELETE FROM Courses</p><p><b> WHERE</b><
112、;/p><p> CourseID=@CourseID</p><p> DELETE FROM Elective</p><p><b> WHERE</b></p><p> CourseID=@CourseID</p><p> if @@rowcount>0</p>
113、<p> Commit Transaction</p><p><b> else</b></p><p> Rollback Transaction</p><p><b> GO</b></p><p><b> 修改選課期限模塊</b></
114、p><p> 通過(guò)讀取XML文件,調(diào)用UpdatePeriod存儲(chǔ)過(guò)程實(shí)現(xiàn)更新數(shù)據(jù)庫(kù)。</p><p><b> XML文件</b></p><p> <?xml version=”1.0”?></p><p> <configurations></p><p><
115、;b> <Time></b></p><p> <Begin>2005-5-25 12:00</Begin></p><p> </End>2005-6-25 12:00</End></p><p><b> </Time></b></p
116、><p> </configurations></p><p> UpdatePeriod存儲(chǔ)過(guò)程</p><p> CREATE Procedure UpdatePeriod</p><p><b> (</b></p><p> @BeginTime datetime,&
117、lt;/p><p> @EndTime datetime</p><p><b> )</b></p><p><b> AS</b></p><p> UPDATE Period</p><p><b> SET</b></p>
118、<p> BeginTime=@BeginTime,</p><p> EndTime=@EndTime</p><p><b> GO</b></p><p><b> 查看選課情況模塊</b></p><p> CREATE Procedure ElectiveTotal
119、List</p><p><b> AS</b></p><p><b> SELECT</b></p><p> Elective.StudentID,</p><p> Students.StudentNumber,</p><p> Students.Name
120、,</p><p> Courses.CourseID,</p><p> Courses.CourseName,</p><p> Courses.CourseTeacher,</p><p> Courses.CourseScore,</p><p> Courses.CourseHours</p&
121、gt;<p><b> FROM</b></p><p><b> Elective</b></p><p> INNER JOIN Courses ON Courses.CourseID=Elective.CourseID</p><p> INNER JOIN Students ON
122、 Students.StudentID=Elective.StudentID</p><p><b> ORDER BY</b></p><p> Elective.StudentID</p><p><b> GO</b></p><p><b> 4軟件測(cè)試</b&g
123、t;</p><p><b> 模塊測(cè)試</b></p><p><b> 測(cè)試方案:</b></p><p> 我采用了白盒測(cè)試(又稱(chēng)結(jié)構(gòu)測(cè)試),即按照程序內(nèi)部的邏輯結(jié)構(gòu),檢驗(yàn)程序中的每條通路是否能夠按照預(yù)定要求正常工作。</p><p> 由于設(shè)計(jì)過(guò)程當(dāng)中,不免會(huì)出現(xiàn)很多意想不到的結(jié)果發(fā)
124、生,為了減少不必的錯(cuò)誤出現(xiàn),同時(shí),為了能夠使不同的文件之間正確和有效的銜接,我在設(shè)計(jì)模塊的過(guò)程,對(duì)于每一個(gè)文件的執(zhí)行和模塊的執(zhí)行都做了認(rèn)真地測(cè)試,以求達(dá)到設(shè)計(jì)要求。</p><p><b> 測(cè)試過(guò)程:</b></p><p> 主要檢查模塊的兩個(gè)方面,一個(gè)是各個(gè)模塊之間的接口,另一個(gè)是模塊的運(yùn)行是否正常。</p><p> 對(duì)于檢驗(yàn)各個(gè)
125、模塊之間的接口,所做的測(cè)試工作有:</p><p> 每個(gè)被調(diào)用模塊之間是否能夠正常接受參數(shù)(包括系統(tǒng)變量);</p><p> 每個(gè)被調(diào)用模塊之間能否正常地而且有效地銜接上;</p><p> 對(duì)于檢驗(yàn)?zāi)K的運(yùn)行是否正常,所做的測(cè)試工作有:</p><p> 對(duì)每一個(gè)模塊中各個(gè)執(zhí)行過(guò)程嚴(yán)格地進(jìn)行檢查與檢測(cè);</p>&
126、lt;p> 對(duì)每一個(gè)模塊中各個(gè)文件內(nèi)所設(shè)計(jì)的函數(shù)逐個(gè)進(jìn)行達(dá)標(biāo)測(cè)試;</p><p> 對(duì)每一個(gè)模塊在調(diào)用的過(guò)程中,時(shí)刻檢測(cè)系統(tǒng)變量的過(guò)程性變化;</p><p><b> 測(cè)試結(jié)果:</b></p><p> 測(cè)試結(jié)果表明,每一個(gè)模塊都能夠正常獨(dú)立地運(yùn)行,各個(gè)模塊之間的接口亦能正確地吻合,同時(shí)每個(gè)模塊基本上達(dá)到了設(shè)計(jì)的要求。<
127、;/p><p><b> 系統(tǒng)測(cè)試</b></p><p><b> 測(cè)試方案</b></p><p> 在設(shè)計(jì)過(guò)程中和設(shè)計(jì)結(jié)束不斷地進(jìn)行黑盒測(cè)試(又叫功能測(cè)試),即檢查程序功能是否按照規(guī)格說(shuō)明書(shū)的規(guī)定正常使用,程序是否能夠適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)產(chǎn)生正確的輸出信息,并且保持外部信息的完整性。</p><p
128、> 在這次的設(shè)計(jì)當(dāng)中,對(duì)于每一個(gè)模塊的功能實(shí)現(xiàn)上和設(shè)計(jì)風(fēng)格上,都做了細(xì)致的檢測(cè),并且盡力去找出系統(tǒng)的紕漏之處。</p><p><b> 測(cè)試過(guò)程</b></p><p> 主要由我的導(dǎo)師在不同的時(shí)間、不同機(jī)器和不同的系統(tǒng)狀態(tài)下進(jìn)行測(cè)試過(guò)程,利用特殊的參數(shù)和普通參數(shù)兩種方式進(jìn)行測(cè)試。</p><p><b> 測(cè)試結(jié)果&
129、lt;/b></p><p> 測(cè)試結(jié)果表明,系統(tǒng)能夠按照設(shè)計(jì)的要求實(shí)現(xiàn)其內(nèi)部的各項(xiàng)功能,同時(shí)提前</p><p> 完成了設(shè)計(jì)的任務(wù)要求。</p><p><b> 驗(yàn)收測(cè)試</b></p><p><b> 測(cè)試方案</b></p><p> 我采用黑盒測(cè)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì)----網(wǎng)上選課系統(tǒng)設(shè)計(jì)
- 網(wǎng)上選課系統(tǒng)畢業(yè)設(shè)計(jì)3
- 網(wǎng)上選課系統(tǒng)---畢業(yè)論文
- 學(xué)生網(wǎng)上選課系統(tǒng)畢業(yè)設(shè)計(jì)
- 網(wǎng)上選課系統(tǒng)畢業(yè)論文
- 畢業(yè)設(shè)計(jì)(論文)+網(wǎng)上選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)論文——網(wǎng)上選課系統(tǒng)
- 網(wǎng)上選課系統(tǒng)畢業(yè)論文
- 網(wǎng)上選課系統(tǒng)畢業(yè)論文
- 網(wǎng)上選課系統(tǒng)畢業(yè)論文
- 畢業(yè)論文——網(wǎng)上選課管理系統(tǒng)
- 網(wǎng)上選課系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)論文
- jsp網(wǎng)上選課系統(tǒng)畢業(yè)論文
- 網(wǎng)上選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----網(wǎng)上選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 學(xué)生網(wǎng)上選課系統(tǒng) 畢業(yè)論文
- 畢業(yè)論文——網(wǎng)上選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 網(wǎng)上選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)——畢業(yè)論文
- 選課畢業(yè)論文---學(xué)生網(wǎng)上選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 網(wǎng)上選課系統(tǒng)畢業(yè)論文(含外文翻譯)
評(píng)論
0/150
提交評(píng)論