版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 數(shù)據(jù)庫系統(tǒng)開發(fā)與維護(hù)</p><p><b> 目 錄</b></p><p><b> 1 序言1</b></p><p> 1.1 課題的來源與意義1</p><p> 1.1.1 課題的來源1</p><p> 1.1.2 課題的意
2、義1</p><p> 1.2 課題研究的主要內(nèi)容1</p><p> 2 開發(fā)技術(shù)與工具2</p><p> 2.1 Microsoft.NET 技術(shù)2</p><p> 2.2 ASP.NET 簡介2</p><p> 2.3 Visual Studio 20083</p>&l
3、t;p><b> 3 需求分析4</b></p><p> 3.1 需求分析4</p><p> 3.1.1 功能需求4</p><p> 3.1.2 角色和工作流程5</p><p> 3.2 系統(tǒng)要實現(xiàn)的目標(biāo)6</p><p><b> 4 總體設(shè)計8&
4、lt;/b></p><p> 4.1 三層結(jié)構(gòu)概述8</p><p> 4.1.1 三層結(jié)構(gòu)的概念8</p><p> 4.1.2 三層結(jié)構(gòu)的優(yōu)點8</p><p> 4.1.3 三層結(jié)構(gòu)的缺點9</p><p> 4.2 系統(tǒng)的分層設(shè)計9</p><p> 4.3
5、 數(shù)據(jù)庫設(shè)計11</p><p> 4.3.1 數(shù)據(jù)表設(shè)計11</p><p> 4.3.2 存儲過程設(shè)計15</p><p> 4.4 公共層16</p><p><b> 5 詳細(xì)設(shè)計17</b></p><p> 5.1 管理員模塊的實現(xiàn)17</p>&l
6、t;p> 5.2 教師模塊的實現(xiàn)18</p><p> 5.3 學(xué)生模塊的實現(xiàn)21</p><p><b> 附 錄22</b></p><p><b> 致 謝27</b></p><p><b> 參考文獻(xiàn)28</b></p><
7、;p><b> 1 序 言</b></p><p> 1.1 課題的來源與意義</p><p> 1.1.1 課題的來源</p><p> 本課題是“黃石理工學(xué)院計算機學(xué)院”立項項目,立項時間為 2011 年 9 月。</p><p> 1.1.2 課題的意義</p><p>
8、高校畢業(yè)論文是高校本科人才培養(yǎng)方案的一個重要組成部分,也是學(xué)生畢業(yè)與學(xué)位資格認(rèn)證的重要依據(jù)。2004 年教育部辦公廳下發(fā)的關(guān)于加強普通高等學(xué)校畢業(yè)設(shè)計(論文)工作的通知指出:要充分認(rèn)識畢業(yè)設(shè)計(論文)環(huán)節(jié)的重要意義[1],加強畢業(yè)論文的管理工作,保障和不斷提高畢業(yè)論文的質(zhì)量。整個本科畢業(yè)論文的工作過程持續(xù)時間長,涉及人數(shù)多(學(xué)生,指導(dǎo)教師和教學(xué)管理人員),并且隨著高校擴招,學(xué)生人數(shù)的不斷增長,畢業(yè)論文工作過程中的工作量越來越大,使用傳統(tǒng)
9、的管理方式也變得越來越困難,在這樣的背景下</p><p> 如何加強畢業(yè)論文的管理工作,是一個亟待探討和研究的問題。</p><p> 目前,許多高校的本科畢業(yè)論文管理工作相對滯后,基本采用多年來一貫的操作模式:教師命題、學(xué)生選題,經(jīng)過開題、論文撰寫和論文答辯確定成績,最后由教學(xué)管理人員將論文歸檔保存,整個過程基本靠人工來完成。</p><p> 1.2 課
10、題研究的主要內(nèi)容</p><p> 高校本科畢業(yè)論文管理系統(tǒng)除對論文本身進(jìn)行管理外,還應(yīng)考慮如何提供對畢業(yè)論文全過程的管理,同時亦需考慮與教務(wù)系統(tǒng)如何連接,包括使用相同帳號問題、成績自動反饋問題。</p><p> 如何實現(xiàn)一個高校畢業(yè)設(shè)計(論文)管理系統(tǒng),是本課題的主要研究問題。該系統(tǒng)如何與現(xiàn)有的教務(wù)管理系統(tǒng)整合,是本課題研究的重點問題。實現(xiàn)對外數(shù)據(jù)查詢接口,提供對外論文查詢服務(wù)是本
11、課題的一個嘗試。</p><p><b> 2 開發(fā)技術(shù)與工具</b></p><p> 2.1 Microsoft.NET 技術(shù)</p><p> .NET 框架包括用于創(chuàng)建和操作新一代服務(wù)的.NET 基礎(chǔ)結(jié)構(gòu)和工具,用于建立新一代高度分布式的數(shù)以百萬計的.NET 組件服務(wù),以及啟用新一代智能互聯(lián)網(wǎng)設(shè)備的.NET 設(shè)備軟件[12]。其完
12、整的結(jié)構(gòu)如圖 2-1 所示:</p><p> 圖 2- 1 Microsoft.NET 框架</p><p> 2.2 ASP.NET 簡介</p><p> ASP. NET 提供了一個 Web 應(yīng)用程序模型,該模型由一組控件和一個基本結(jié)構(gòu)組成。有了它,Web 應(yīng)用程序的構(gòu)建變得非常容易。開發(fā)人員可以直接使用 ASP.</p><p&g
13、t; NET 控件集(諸如數(shù)據(jù)源控件、數(shù)據(jù)顯示控件等),這些控件運行在 Web 服務(wù)器上,它們將用戶界面轉(zhuǎn)換成 HTML 格式后再發(fā)送給瀏覽器。在服務(wù)器上,控件負(fù)責(zé)將面向?qū)ο蟮木幊棠P统尸F(xiàn)給 Web 開發(fā)人員,這種編程模型能提供面向?qū)ο蟮木幊碳夹g(shù)擁有的豐富功能。ASP. NET 還提供一些基本結(jié)構(gòu)服務(wù)(諸如會話狀態(tài)管理和進(jìn)程循環(huán)),這些服務(wù)進(jìn)一步減少了開發(fā)人員要編寫的代碼量,并使應(yīng)用程序的可靠性得到了大幅度提高。ASP. NET 還允
14、許開發(fā)人員將軟件作為一項服務(wù)進(jìn)行傳送。通過使用 ASP. NET Web 服務(wù)功能,ASP. NET 開發(fā)人員只需進(jìn)行簡單的業(yè)務(wù)邏輯編程,而由 ASP. NET 基本結(jié)構(gòu)負(fù)責(zé)通過 SOAP 傳送服務(wù)[15]。</p><p> .NET 開發(fā)平臺為開發(fā) WEB 應(yīng)用程序提供了強大的技術(shù)支持,使開發(fā)變得非常便捷,高效。ASP.NET 通過服務(wù)器控件解決了上述問題。服務(wù)器端控件會生成發(fā)送給瀏覽器的 HTML 代碼,
15、還能生成隱藏的 HTML 元素來存儲它們當(dāng)前的狀態(tài)。在提交頁面時,這些信息就會傳送回服務(wù)器,控件將自動處理這些信息,改變 HTML 并顯示控件。</p><p> 2.3 Visual Studio 2008</p><p> Visual Studio2008 是微軟提供的集成開發(fā)環(huán)境,用于生成 ASP.NET Web 應(yīng)用程序、XML Web Services、桌面應(yīng)用程序和移動應(yīng)
16、用程序。在 Visual Studio2008中 Visual Basic、Visual C++、Visual C# 和 Visual J# 全都使用相同的集成開發(fā)環(huán)境(IDE),該環(huán)境允許它們共享工具,并有助于創(chuàng)建混合語言解決方案[30]。另外,這些語言充分利用了.NET Framework 的功能,提供了對簡化 ASP.NET Web 應(yīng)用程序開發(fā)和 XML Web Service 開發(fā)的關(guān)鍵技術(shù)支持。</p><
17、;p> Visual Studio 集成開發(fā)環(huán)境中為開發(fā)人員提供了大量的實用工具以提高工作效率。這些工具包括了自動編譯、項目創(chuàng)建向?qū)?、?chuàng)建部署工程等等。</p><p><b> 3 需求分析</b></p><p><b> 3.1 需求分析</b></p><p> 3.1.1 功能需求</p>
18、;<p> 通過與教務(wù)處負(fù)責(zé)全校畢業(yè)論文管理工作的老師充分溝通,結(jié)合自己作為系一級畢業(yè)論文工作的管理者對畢業(yè)論文工作過程的了解,并在與部分教師和學(xué)生反復(fù)交流的基礎(chǔ)上,得出高校畢業(yè)設(shè)計(論文)管理系統(tǒng)的主要需求如下:</p><p> 1. 在每次論文工作開始時,系統(tǒng)應(yīng)提供教師、學(xué)生名單,以便系一級畢業(yè)論文管理者給學(xué)生安排指導(dǎo)教師。系統(tǒng)應(yīng)提供交互界界面,滿足給學(xué)生安排指導(dǎo)教師的要求。</p&
19、gt;<p> 2. 系一級畢業(yè)論文管理者給學(xué)生安排指導(dǎo)教師后,學(xué)生應(yīng)能在系統(tǒng)中看到自己指導(dǎo)教師和同組同學(xué)信息(同一指導(dǎo)教師指導(dǎo)的全部學(xué)生為一組),教師也應(yīng)能在系統(tǒng)中看到自己指導(dǎo)各學(xué)生的信息,特別應(yīng)能看到是聯(lián)系方式,以便學(xué)生和教師相互聯(lián)系。</p><p> 3. 學(xué)生和指導(dǎo)教師相互聯(lián)系,根據(jù)實際情況擬定論文題目,指導(dǎo)教師可通過系統(tǒng)在網(wǎng)上提交擬定的題目,等待教研室主任審核。在審核之前這些題目只是
20、本次待選題目(簡稱選題),只有通過審核的選題才能最終確定為學(xué)生的正式題目。</p><p> 教師和學(xué)生還應(yīng)能通過系統(tǒng)看到歷屆選題信息。</p><p> 4. 教研室主任可以在網(wǎng)上審核本教研室教師提交的選題,若審核未通過,可以輸入簡單未通過審核的原因,教師可以看到審核結(jié)果。</p><p> 5. 選題經(jīng)審核后,教師通過系統(tǒng)可以正式指派給學(xué)生。若審核未通過,
21、教師需和學(xué)生重新討論確定選題,提交、等待審核直至通過。</p><p> 在實際工作中,在系統(tǒng)中完成以上操作后,每個指導(dǎo)教師指導(dǎo)哪些學(xué)生確定了,每個學(xué)生的論文題目也確定了,此時用戶在系統(tǒng)可以看到本屆論文選題的全部結(jié)果。此后將進(jìn)入論文撰寫階段。</p><p> 6. 在論文撰寫階段,系統(tǒng)應(yīng)提供交流平臺,以便學(xué)生和教師交流,并允許通過系統(tǒng)上傳下載文件。</p><p&
22、gt; 7. 在論文撰寫階段,學(xué)生可以隨時在系統(tǒng)中查詢和下載往屆學(xué)生畢業(yè)論文,了解論文內(nèi)容、要求,格式等信息。</p><p> 8. 系一級管理員要求系統(tǒng)能夠根據(jù)指定條件生成答辯安排表,教師、學(xué)生可以看到答辯安排。</p><p> 9. 答辯結(jié)束后,學(xué)生要通過系統(tǒng)提交論文(包括論文相關(guān)信息和電子文檔)。</p><p> 10. 學(xué)生提交論文后,指導(dǎo)教師
23、進(jìn)入系統(tǒng),對學(xué)生提交的論文進(jìn)行審核,審核合格者,教師提交該學(xué)生的論文成績,否則該學(xué)生需重新提交,直至審核通過。期間學(xué)生可以在系統(tǒng)中查看審核結(jié)果和評分結(jié)果。</p><p> 11. 上述工作完成后,系管理員可以通過系統(tǒng)打印報表(如:選題結(jié)果一覽表、成績匯總表、成績分析表等)。</p><p> 12. 在整個論文工作過程中,系管理員可以在系統(tǒng)中看到本系各指導(dǎo)教師工作進(jìn)度,校管理員可以在
24、系統(tǒng)中看到各系工作進(jìn)度。</p><p> 13. 在整個論文工作過程中,系管理員和校管理員可以在系統(tǒng)中發(fā)布公告,管理自己發(fā)布的公告,教師,學(xué)生可以查看公告。</p><p> 14. 用戶可以維護(hù)個人信息,包括修改電話,Email 等。</p><p> 3.1.2 角色和工作流程</p><p> 經(jīng)過以上功能需求分析,可以得出論
25、文管理系統(tǒng)的用戶有:學(xué)生、教師、系管理員,不同用戶在系統(tǒng)中擔(dān)任不同角色,具有不同權(quán)限,要完成不同操作。不同用戶的操作又有著相互依賴關(guān)系。</p><p> 有些操作是公共的,如查看公告、密碼修改,有些操作是特定角色才能進(jìn)行的,如課題申報。</p><p> 按畢業(yè)論文工作的時間順序,及其不同角色在不同時間階段要參與的活動綜合分析后,得出畢業(yè)論文工作過程流程圖,如圖 3-1 所示:<
26、;/p><p> 圖 3- 1 系統(tǒng)工作流程</p><p> 從上圖可以看出,不同階段,有的用戶需要完成某項工作,而有的用戶處在等待狀態(tài),等其他用戶工作完成前面才能開始自己下面的工作。</p><p> 3.2 系統(tǒng)要實現(xiàn)的目標(biāo)</p><p> 根據(jù)上面需求分析,最終確定系統(tǒng)要實現(xiàn)如圖 3-2 所示功能模塊,由于模塊劃分是從用戶角度出
27、發(fā),而不是從功能角度考慮,所有一個功能模塊會涉及到多個用戶。</p><p> 圖 3- 2 系統(tǒng)功能模塊圖</p><p> 下面對各模塊作簡要說明:</p><p><b> 1. 學(xué)生模塊</b></p><p> 基本功能:課題選擇、我的課題、我的任務(wù)書、開題材料、論文提交、通知公告、網(wǎng)上答疑、下載專區(qū)、
28、個人信息維護(hù)、密碼修改。</p><p><b> 2. 教師模塊</b></p><p> 基本功能:課題申報、全院課題、選題管理、發(fā)布任務(wù)書、開題報告、通知公告、網(wǎng)上答疑、論文接收、歸檔材料、下載專區(qū)、本組學(xué)生信息、個人信息管理、密碼修改。</p><p><b> 3. 管理模塊</b></p>
29、<p> 基本功能:基礎(chǔ)數(shù)據(jù)維護(hù)、教師信息導(dǎo)入、學(xué)生信息導(dǎo)入、教師信息管理、學(xué)生信息管理、教師申報課題管理、選題管理、賬戶管理、通知公告、歸檔材料、下載專區(qū)、數(shù)據(jù)庫維護(hù)、個人信息管理、密碼修改。</p><p><b> 4 總體設(shè)計</b></p><p> 4.1 三層結(jié)構(gòu)概述</p><p> 4.1.1 三層結(jié)構(gòu)的概念
30、</p><p> 三層結(jié)構(gòu)是一種成熟、簡單并得到普遍應(yīng)用的應(yīng)用程序架構(gòu),它將應(yīng)用程序結(jié)構(gòu)劃分為三個邏輯層:戶表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層。其中將實現(xiàn)人機交互界面的所有表單和組件放在表示層,將所有業(yè)務(wù)規(guī)則和邏輯的實現(xiàn)封裝在負(fù)責(zé)業(yè)務(wù)邏輯組件中,將所有和數(shù)據(jù)庫的交互封裝在數(shù)據(jù)訪問組件中[33]。其結(jié)構(gòu)如圖 4-1 所示。</p><p> 圖 4- 1 三層結(jié)構(gòu)示意圖</p>
31、<p> 三層結(jié)構(gòu)十分有利于系統(tǒng)的開發(fā),維護(hù)、部署和擴展。使用三層結(jié)構(gòu)的目的,是為了實現(xiàn)“高內(nèi)聚、低耦合”,采用“分而治之”的思想,把問題劃分開來各個解決,易于控制,易于延展,易于分配資源。</p><p> 三層結(jié)構(gòu)是一種嚴(yán)格分層方法,即數(shù)據(jù)訪問層只能被業(yè)務(wù)邏輯層訪問,業(yè)務(wù)邏輯層只能被表示層訪問,用戶通過表示層將請求傳送給業(yè)務(wù)邏輯層,業(yè)務(wù)邏輯層完成相關(guān)業(yè)務(wù)規(guī)則和邏輯,并通過數(shù)據(jù)訪問層訪問數(shù)據(jù)庫
32、獲得數(shù)據(jù),然后按照相反的順序依次返回將數(shù)據(jù)顯示在表示層。</p><p> 4.1.2 三層結(jié)構(gòu)的優(yōu)點</p><p> 1. 從開發(fā)角度和應(yīng)用角度來看,三層架構(gòu)比雙層或單層結(jié)構(gòu)都有更大的優(yōu)勢</p><p> 三層結(jié)構(gòu)適合群體開發(fā),每人可以有不同的分工,協(xié)同工作使效率倍增。開發(fā)雙層或單層應(yīng)用時,每個開發(fā)人員都應(yīng)對系統(tǒng)有較深的理解,能力要求很高,開發(fā)三層應(yīng)用時
33、,則可以結(jié)合多方面的人才,只需少數(shù)人對系統(tǒng)全面了解,從一定程度上降低了開發(fā)的難度。</p><p> 2. 三層架構(gòu)可以更好地支持分布式計算環(huán)境</p><p> 邏輯層的應(yīng)用程序可以放在多個機器上運行,充分利用網(wǎng)絡(luò)的分布式特性。分布式計算的潛力巨大,遠(yuǎn)比升級 CPU 有效。美國人曾利用分式計算解密,幾個月就破解了據(jù)稱永遠(yuǎn)都破不了的密碼。</p><p> 3
34、. 可適應(yīng)不斷的變化和新的業(yè)務(wù)需求</p><p> 對軟件進(jìn)行分層可以達(dá)到結(jié)構(gòu)清晰、易于重用的目的。任何應(yīng)用系統(tǒng)實施的重點不在于需求確定以后能否實現(xiàn)這些需求,而是在系統(tǒng)實施后如何適應(yīng)變化的需求。三層結(jié)構(gòu)由于對系統(tǒng)分層設(shè)計,一旦日后需求發(fā)生變化,只需修改相應(yīng)層的部分代碼,對其他層沒有影響或影響很小。</p><p> 4. 能有效提高系統(tǒng)安全性</p><p>
35、 多層體系結(jié)構(gòu)將數(shù)據(jù)與程序、數(shù)據(jù)控制與應(yīng)用邏輯分層獨立管理,能更嚴(yán)格地控制信息訪問。用戶端只能通過邏輯層來訪問數(shù)據(jù)層,減少了入口點,把很多危險的系統(tǒng)功能都屏蔽了。</p><p> 4.1.3 三層結(jié)構(gòu)的缺點</p><p> 1. “三層結(jié)構(gòu)”開發(fā)模式一個非常明顯的缺點就是其執(zhí)行速度不夠快。當(dāng)然這個“執(zhí)行速度”是相對于非分層的應(yīng)用程序來說的[34]。</p><
36、p> 2. “三層結(jié)構(gòu)”開發(fā)模式,入門難度夠高,難于理解和學(xué)習(xí)。以這種模式開發(fā)出來的軟件,代碼量通常要稍稍多一些。</p><p> 4.2 系統(tǒng)的分層設(shè)計</p><p> 上一節(jié)討論的三層結(jié)構(gòu)是一個總體的三層結(jié)構(gòu)模型,實際開發(fā)應(yīng)用系統(tǒng)時,每一層還可劃分成多個子層,層與層之間還可引入接口層,并且一般還加入業(yè)務(wù)實體層,以便各層簡傳遞業(yè)務(wù)數(shù)據(jù),加入公共層,用來封裝公用方法。本系統(tǒng)
37、根據(jù)實際情況采用的分層結(jié)構(gòu)如圖 4-2 所示。</p><p> 圖 4- 2 系統(tǒng)的分層結(jié)構(gòu)</p><p> 分層的思路和各層作用如下:</p><p> 公共層(Common Layer):本層包括自定義實體類型和自定義實體類型集合,還封裝一些常用的公共方法,供表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層調(diào)用。用于各層次之間數(shù)據(jù)交互的載體。</p>&l
38、t;p> 表示層(Presentation Layer,簡稱 PL):提供交互界面,供用戶操作??刹捎?WinForm 方式,也可采用 Web 方式,本系統(tǒng)選擇的是 Web 方式。本層負(fù)責(zé)傳遞用戶的輸入給業(yè)務(wù)邏輯層,并把業(yè)務(wù)邏輯層的處理結(jié)果展示給用戶。</p><p> 業(yè)務(wù)邏輯層(Business Logic Layer,簡稱 BLL):主要是針對具體業(yè)務(wù)處理的操作,如對數(shù)據(jù)進(jìn)行有效性驗證,操作約束判
39、斷等。業(yè)務(wù)邏輯層接收表示層傳來的數(shù)據(jù)(簡單變量、業(yè)務(wù)實體類型對象或業(yè)務(wù)實體集合類型對象),然后根據(jù)具體的業(yè)務(wù)邏輯調(diào)用數(shù)據(jù)訪問層的一個或多個方法進(jìn)行處理,最后返回處理結(jié)果給表示層。</p><p> 數(shù)據(jù)訪問層(Data Access Layer,簡稱 DAL):封裝對數(shù)據(jù)庫的訪問操作。是對原始數(shù)據(jù)(數(shù)據(jù)庫或者文本文件等存放數(shù)據(jù)的形式)的操作層,而不是指原始數(shù)據(jù),也就是說,是對數(shù)據(jù)的操作,而不是數(shù)據(jù)庫。這里封裝所
40、有訪問數(shù)據(jù)庫的相關(guān)代碼,包括 SQL 語句,存儲過程等。本層接收業(yè)務(wù)邏輯層傳來的數(shù)據(jù)(簡單變量、業(yè)務(wù)實體類型對象或業(yè)務(wù)實體集合類型對象),執(zhí)行不同 SQL 語句或存儲過程,并把執(zhí)行結(jié)果返回給業(yè)務(wù)邏輯層。</p><p><b> 4.3 數(shù)據(jù)庫設(shè)計</b></p><p> 4.3.1 數(shù)據(jù)表設(shè)計</p><p> 本系統(tǒng)后臺使用 SQL
41、 2000 數(shù)據(jù)庫, GDS 數(shù)據(jù)庫是本系統(tǒng)的數(shù)據(jù)庫,它用于存放權(quán)限表、專業(yè)表、選題表、基礎(chǔ)數(shù)據(jù)表、管理員表、學(xué)生表、教師表、下載信息表、郵件信息表、通知公告表和課題信息表。GDS 數(shù)據(jù)庫包括11張表,各表名稱與表之間關(guān)系如圖 4-3 所示。</p><p> 圖 4- 3 實體關(guān)系圖</p><p> 上述11張表中,權(quán)限表(Authority 表)、專業(yè)表(Profession 表
42、)和選題表(ChosenSubject 表)結(jié)構(gòu)比較簡單,分別用來存儲各類用戶權(quán)限、專業(yè)名稱和選題信息,其它各表如下。</p><p><b> 1. 基礎(chǔ)數(shù)據(jù)表</b></p><p> 基礎(chǔ)數(shù)據(jù)表(BaseSystemData表)用來存放基礎(chǔ)數(shù)據(jù)配置信息,其結(jié)構(gòu)如表4-1所示。</p><p> 表 4- 1 BaseSystemDa
43、ta表</p><p> 2. 管理員表、學(xué)生表和教師表</p><p> 管理員表(Admins表)、學(xué)生表(Student 表)和教師表(Teacher 表)分別用來存放內(nèi)置的管理員基本信息、學(xué)生和教師的基本信息,其結(jié)構(gòu)如表4-2 、表 4-3 和表 4-4所示。</p><p> 表 4- 2 Admins 表</p><p>
44、 表 4- 3 Student 表</p><p> 表 4- 4 Teacher 表</p><p> 3. 下載信息表、郵件信息表和通知公告表</p><p> 下載信息表(DownloadZone表)、郵件信息表(MailInfo表)和通知公告表(PublicNotice 表)分別用來存放供下載的文件相關(guān)信息、郵件信息和通知公告信息。表結(jié)構(gòu)如表 4-5、
45、表 4-6和表 4-7 所示。</p><p> 表 4- 5 DownloadZone表</p><p> 表 4- 6 MailInfo表</p><p> 表 4- 7 PublicNotice 表</p><p><b> 4. 課題信息表</b></p><p> 課題信息表(
46、Subjects 表)用于記錄教師申報的課題的詳細(xì)信息,結(jié)構(gòu)如表 4-8 所示。</p><p> 表 4- 8 Subjects 表</p><p> 4.3.2 存儲過程設(shè)計</p><p> 本系統(tǒng)所有的數(shù)據(jù)庫操作都使用存儲過程,使用存儲過程主要是為了便于對SQL 語句進(jìn)行集中管理。由于存儲過程是在服務(wù)器上編譯執(zhí)行的,在一定程度上也有利于提高系統(tǒng)性能。另
47、外使用存儲過程對防止 SQL 注入攻擊也有一定作用。</p><p> 不使用存儲過程,SQL 語句將會出現(xiàn)在數(shù)據(jù)訪問層的各個方法中,將來修改時,需要打開多個文件查找修改,沒有放在數(shù)據(jù)庫存儲過程中方便。</p><p> 由于存儲過程較多,為了方便,截圖如下圖 4- 4。</p><p> 圖 4- 4 儲存過程概況</p><p>&
48、lt;b> 4.4 公共層</b></p><p> 為方便各層間傳遞數(shù)據(jù),一般應(yīng)用程序中都把數(shù)據(jù)表影射成實體類(Entity Class)和實體集合類,本系統(tǒng)也采用這樣的方法。還有部分方法,各層都會調(diào)用或與三層中的哪一層都沒有直接聯(lián)系問題,根據(jù)實體類、實體集合類和上述方法的性質(zhì),把他們封裝到一起,形成一個公共層,也即系統(tǒng)的公共層包括以下兩方面的內(nèi)容:</p><p>
49、; 1.實體類和實體集合類</p><p> 2.公用方法和獨立方法</p><p> 實體類中只有私有字段和公有的屬性,不存在對數(shù)據(jù)的操作,實體的定義有以單表定義的,還有部分以業(yè)務(wù)邏輯來定義。實體集合類可以從 DataSet 類派生,對于只讀數(shù)據(jù)集合,也可使用泛型。</p><p> 本系統(tǒng)中部分方法,沒有使用實體(集合)類進(jìn)行傳遞,主要是部分操作靈活多變
50、,用實體(集合)類去傳遞結(jié)果,顯得有些困難。而且結(jié)果集本身就是依靠多個實體及實體間關(guān)系得出,也沒辦法用一個實體去傳遞。即使對于所有業(yè)務(wù)邏輯都全部建立實體,日后的改動也是很大的問題。對于上述情形,為方便期間,本系統(tǒng)直接使用了系統(tǒng)的數(shù)據(jù)庫相關(guān)集合類 DataSet 和 SqlDataReader。實際上使用三層結(jié)構(gòu)開發(fā)時,對于復(fù)雜程序, 經(jīng)常存在要么為性能犧牲架構(gòu), 要么為架構(gòu)犧牲性能的問題。。圖 4-5給出了公共層中的主要類。</p
51、><p> 表 4- 5 公共層主要類</p><p><b> 5 詳細(xì)設(shè)計</b></p><p> 本系統(tǒng)分為三大模塊:管理員模塊、教師模塊、學(xué)生模塊,由三個人獨立進(jìn)行開發(fā)最終集成而來,以下是各模塊的運行效果:</p><p> 5.1 管理員模塊的實現(xiàn)</p><p> 畢業(yè)設(shè)施(論
52、文)管理系統(tǒng)開始啟用時,必須先由管理員對系統(tǒng)進(jìn)行初始配置,具體包括以下內(nèi)容:</p><p><b> 1.基礎(chǔ)數(shù)據(jù)維護(hù)</b></p><p> 以管理員身份登錄(系統(tǒng)預(yù)先內(nèi)置了校管理員賬號,登錄后可修改),分別進(jìn)行學(xué)院(系)設(shè)置,專業(yè)設(shè)置,時間設(shè)置。</p><p> 2 .導(dǎo)入學(xué)生、教師基本信息</p><p&g
53、t; 下載指定模板,按固定格式文件導(dǎo)入學(xué)生和教師信息(主要是學(xué)號/教師編號、姓名等)。使學(xué)生和教師的賬戶和密碼都初始化為各自編號。</p><p><b> 3 .下載專區(qū)</b></p><p> 用來上傳、管理、下載畢業(yè)設(shè)計的相關(guān)文件材料。</p><p> 4 .教師、學(xué)生管理</p><p> 用來管理
54、使用本系統(tǒng)的相關(guān)教師和學(xué)生信息及其資格進(jìn)行審核。</p><p><b> 5 .申報課題管理</b></p><p> 用來管理教師申報的課題信息及對其進(jìn)行審核。</p><p><b> 6 .選題管理</b></p><p> 用來對課題的選擇狀況,學(xué)生的選題情況進(jìn)行監(jiān)測和管理(可針對
55、專業(yè)),并能實現(xiàn)對監(jiān)測結(jié)果進(jìn)行導(dǎo)出。</p><p><b> 7 .數(shù)據(jù)庫維護(hù)</b></p><p> 用來實現(xiàn)對數(shù)據(jù)庫進(jìn)行備份及還原操作,保障系統(tǒng)的安全性。</p><p> 5.2 教師模塊的實現(xiàn)</p><p> 1 .登錄及密碼修改</p><p> 用來實現(xiàn)不同用戶的登錄,
56、根據(jù)用戶類型不同獲得不同權(quán)限,同時共用密碼修改功能,如下圖5-1、圖5-2所示。</p><p><b> 圖5-1 主界面</b></p><p><b> 圖5-2 密碼修改</b></p><p><b> 2 .課題申報</b></p><p> 用來實現(xiàn)申報課
57、題信息,并對自己申報的課題進(jìn)行管理和維護(hù),如下圖 5 - 3、圖 5 - 4所示。</p><p><b> 圖5-3 課題申報</b></p><p> 圖5-4 課題管理維護(hù)</p><p><b> 3 .全院課題查看</b></p><p> 用來查看全院的課題申報情況并能瀏覽課題詳
58、細(xì)信息,如下圖 5 - 5所示。</p><p><b> 圖5-5 全院課題</b></p><p><b> 4 .選題管理</b></p><p> 用來查看自己的被選課題和未選課題情況,對被選課題可以查看選課的學(xué)生情況,并能對學(xué)生進(jìn)行退選,如下圖 5 - 6、圖 5 - 7所示。</p><
59、;p><b> 圖5-6 全院課題</b></p><p> 圖5-7 學(xué)生選課信息</p><p><b> 5 .發(fā)布任務(wù)書</b></p><p> 用來給選擇了我的課題的學(xué)生發(fā)送相應(yīng)任務(wù)書,并接收學(xué)生提交的任務(wù)書,如下圖 5 - 8所示。</p><p> 圖5-8 發(fā)布任務(wù)
60、書</p><p><b> 6 .網(wǎng)上答疑</b></p><p> 用來對選擇了我的課題的學(xué)生進(jìn)行網(wǎng)上答疑,如下圖 5 - 9所示。</p><p><b> 圖5-9 網(wǎng)上答疑</b></p><p><b> 7 .本組學(xué)生信息</b></p>&
61、lt;p> 用來查看所有選擇了我的課題的學(xué)生信息,如下圖 5 - 10所示。</p><p> 圖5-10 本組學(xué)生信息</p><p><b> 8 .個人信息維護(hù)</b></p><p> 用來對個人信息及聯(lián)系方式進(jìn)行維護(hù),如下圖 5 - 11所示。</p><p> 圖5-11 個人信息維護(hù)<
62、/p><p> 5.3 學(xué)生模塊的實現(xiàn)</p><p><b> 1. 課題選擇</b></p><p> 查看所有自己可以選擇的課題并選擇一個課題。</p><p><b> 2. 我的課題</b></p><p> 顯示自己選擇的課題的基本信息,在時間允許范圍內(nèi)可以
63、退定所選課題。</p><p><b> 3. 我的任務(wù)書</b></p><p> 接收并回發(fā)我的任務(wù)書。</p><p><b> 4. 提交開題材料</b></p><p> 選擇要提交的開題資料及接收教師并上傳開題資料至教師端。</p><p><b&g
64、t; 5. 提交論文</b></p><p> 選擇要提交的正式論文及接收教師并上傳論文至教師端。</p><p><b> 6. 通知公告</b></p><p> 查看管理員發(fā)布的通知公告。</p><p><b> 7. 下載專區(qū)</b></p><p
65、> 下載畢業(yè)設(shè)計相關(guān)材料。</p><p><b> 8. 個人信息維護(hù)</b></p><p> 對本人基本信息及聯(lián)系方式進(jìn)行維護(hù)。</p><p><b> 附 錄</b></p><p> 教師申報課題后臺代碼:</p><p> public par
66、tial class Teacher_PublicSubject : System.Web.UI.Page</p><p><b> {</b></p><p> static DataTable dtTea; //存放教師信息</p><p> static string t2ID = ""; //存放
67、教師2的ID號</p><p> protected void Page_Load(object sender, EventArgs e)</p><p> { //頁面載入</p><p> if (!IsPostBack)</p><p> { //判斷是否申報課題時間內(nèi)</p><p> if
68、(!IsTime())</p><p><b> { </b></p><p> Response.Write("<script> alert('不在申報課題有效時間內(nèi),不能申報課題!');window.location.href='MySubjects.aspx'</script>"
69、);</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> if (Response.Cookies["user"] != null)</p><
70、p><b> {</b></p><p> tbT1Name.Text = Session["user"].ToString(); //獲取當(dāng)前登錄教師姓名</p><p> //HttpCookie cookie = new HttpCookie("login");</p><p>
71、 //System.Text.Encoding enc = System.Text.Encoding.GetEncoding("utf-8");</p><p> //tbT1Name.Text = HttpUtility.UrlDecode(cookie["user"].ToString(),enc);//獲取用戶姓名</p><p> tb
72、T1Name.Enabled = false;</p><p> GetPost(); //獲取當(dāng)前登錄教師職稱</p><p><b> }</b></p><p> tbSubName.Focus(); //獲得焦點</p><p> GetProfession(); //獲取所有專業(yè)
73、名稱</p><p> GetAnotherTeacher(); //獲取第二個教師姓名</p><p> SuitYear(); //獲取可選畢業(yè)設(shè)計年份</p><p><b> }</b></p><p><b> }</b></p><p>&l
74、t;b> }</b></p><p> //獲取可選畢業(yè)設(shè)計年份</p><p> private void SuitYear()</p><p><b> {</b></p><p> int year = int.Parse(DateTime.Now.Year.ToString());&l
75、t;/p><p> for (int i = year; i <= year + 10; i++)</p><p><b> {</b></p><p> ListItem li = new ListItem();</p><p> li.Text = i.ToString();</p><
76、p> ddlSuitYear.Items.Add(li);</p><p> li = null;</p><p><b> }</b></p><p><b> }</b></p><p> //獲取第二個教師姓名</p><p> private voi
77、d GetAnotherTeacher()</p><p><b> {</b></p><p> Fannie.Subjects sub = new Fannie.Subjects();</p><p> DataTable dt = sub.GetAnotherTeacher(Request.Cookies["id"
78、;].Value.ToString());</p><p> dtTea = dt;</p><p> for (int i = 0; i < dt.Rows.Count; i++)</p><p><b> {</b></p><p> ListItem li = new ListItem();</
79、p><p> li.Text = dt.Rows[i][1].ToString();</p><p> ddlT2Name.Items.Add(li);</p><p> li = null;</p><p><b> }</b></p><p><b> }</b>&
80、lt;/p><p><b> //獲取專業(yè)名稱</b></p><p> private void GetProfession()</p><p><b> {</b></p><p> Fannie.Subjects sub = new Fannie.Subjects();</p>
81、<p> DataTable dt = sub.GetProfession();</p><p> for (int i = 0; i < dt.Rows.Count; i++)</p><p><b> {</b></p><p> ListItem li = new ListItem();</p>
82、<p> li.Text = dt.Rows[i][0].ToString();</p><p> ddlMajor.Items.Add(li);</p><p> li = null;</p><p><b> }</b></p><p><b> }</b></p>
83、;<p> //根據(jù)登錄id獲取教師職稱</p><p> private void GetPost()</p><p><b> {</b></p><p> if (tbT1Name.Text.Trim() != "")</p><p><b> {</b&
84、gt;</p><p> Fannie.Teacher teacher = new Fannie.Teacher();</p><p> DataTable dt = teacher.GetTeacherPost(Request.Cookies["id"].Value.ToString());</p><p> tbPost1.Text =
85、 dt.Rows[0][0].ToString();</p><p> tbPost1.Enabled=false;</p><p><b> }</b></p><p><b> }</b></p><p><b> //選擇適用專業(yè)</b></p>&
86、lt;p> protected void ddlMajor_SelectedIndexChanged(object sender, EventArgs e)</p><p><b> {</b></p><p> if (ddlMajor.SelectedIndex != 0)</p><p><b> {</b&
87、gt;</p><p> if (tbMajor.Text == "")</p><p><b> {</b></p><p> tbMajor.Text = ddlMajor.SelectedValue;</p><p><b> }</b></p>&l
88、t;p><b> else</b></p><p><b> {</b></p><p> if (!tbMajor.Text.Contains(ddlMajor.SelectedValue))</p><p><b> {</b></p><p> tbMaj
89、or.Text += "," + ddlMajor.SelectedValue;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> else</
90、b></p><p> tbMajor.Text = "";</p><p><b> }</b></p><p> //提交申報課題信息</p><p> protected void btnSubmit_Click(object sender, EventArgs e)</p&
91、gt;<p><b> {</b></p><p> if (IsTime())</p><p><b> {</b></p><p> string title = tbSubName.Text.Trim();//課題名稱</p><p> string level = d
92、dlLevel.Text;</p><p> string major = tbMajor.Text.Trim();//專業(yè)</p><p> string type = rblType.SelectedValue.Trim();//課題類型</p><p> string origin = rblOrigin.SelectedValue.Trim();//課
93、題來源</p><p> string isNew = rblIsNew.SelectedValue.Trim();//課題的新舊等等</p><p> int isRight;//是否適中</p><p> if (rblWorkLoad.SelectedValue == "是")</p><p> isRigh
94、t = 1;</p><p><b> else</b></p><p> isRight = 0;</p><p> int isOk;//是否能達(dá)到訓(xùn)練要求</p><p> if (rblIsOK.SelectedValue == "是")</p><p><
95、;b> isOk = 1;</b></p><p><b> else</b></p><p><b> isOk = 0;</b></p><p> string t1 = Request.Cookies["id"].Value.ToString();//教師編號1</
96、p><p> string t2 = t2ID;</p><p> string about = tbAbout.Text.Trim();//課題內(nèi)容</p><p> int maxPeople = Convert.ToInt32(ddlMax.Text);//最大人數(shù)</p><p> string year = ddlSuitYea
97、r.Text.Trim();</p><p> object[] pt = new object[13] { title, major, level, type, origin, isNew, isRight, isOk, t1, t2, about, maxPeople, year };</p><p> if (ddlLevel.SelectedIndex == 0 || ddlS
98、uitYear.SelectedIndex == 0)</p><p><b> {</b></p><p> Response.Write("<script>alert('請檢查是否選擇了正確的適用層次或適用年份!')</script>");</p><p><b>
99、 }</b></p><p><b> else</b></p><p><b> {</b></p><p> Fannie.Subjects sub = new Fannie.Subjects();</p><p> if (sub.InsertSubject(pt) >
100、; 0)</p><p><b> {</b></p><p> Response.Write("<script>alert('課題申報成功!');location='PublicSub.aspx'</script>");</p><p><b> }&
101、lt;/b></p><p><b> else</b></p><p><b> {</b></p><p> Response.Write("<script>alert('課題申報失敗,請重新申報!')</script>");</p>
102、<p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p>&
103、lt;p> Response.Write("<script> alert('不在申報課題有效時間內(nèi),不能申報!');history.go(-1)</script>");</p><p><b> }</b></p><p><b> }</b></p><
104、p> //重置申報課題信息</p><p> protected void btnReset_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> tbSubName.Text = "";</p><p> tbMa
105、jor.Text = "";</p><p> rblType.SelectedIndex = 0;</p><p> rblOrigin.SelectedIndex = 0;</p><p> rblIsNew.SelectedIndex = 0;</p><p> rblWorkLoad.SelectedInd
106、ex = 0;</p><p> rblIsOK.SelectedIndex = 0;</p><p> ddlT2Name.SelectedIndex = 0;</p><p> ddlLevel.SelectedIndex = 0;</p><p> ddlMajor.SelectedIndex = 0;</p>&
107、lt;p> ddlMax.SelectedIndex = 0;</p><p> ddlSuitYear.SelectedIndex = 0;</p><p> tbPost2.Text = "";</p><p> tbAbout.Text = "";</p><p><b>
108、 }</b></p><p> //選擇教師名稱返回職稱和編號</p><p> protected void ddlT2Name_SelectedIndexChanged(object sender, EventArgs e)</p><p><b> {</b></p><p> if (ddl
109、T2Name.SelectedIndex != 0)</p><p><b> {</b></p><p> tbPost2.Text = dtTea.Rows[ddlT2Name.SelectedIndex - 1][2].ToString();</p><p> t2ID = dtTea.Rows[ddlT2Name.Selected
110、Index - 1][0].ToString();</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> tbPost2.Text = "";</p>
111、<p> t2ID = "";</p><p><b> }</b></p><p><b> }</b></p><p> //判斷是否申報課題時間內(nèi)</p><p> private bool IsTime()</p><p>&l
112、t;b> {</b></p><p> DateTime dtm = DateTime.Now;</p><p> DataTable dt = new DataTable();</p><p> Fannie.Teacher tea = new Fannie.Teacher();</p><p> dt = te
113、a.GetChooseTime().Tables[0];</p><p> DateTime begin = Convert.ToDateTime(dt.Rows[0]["SubjectBegin"].ToString());</p><p> DateTime end = Convert.ToDateTime(dt.Rows[0]["SubjectEnd
114、"].ToString());</p><p> if (dtm < begin || dtm > end)</p><p><b> {</b></p><p> return false;</p><p><b> }</b></p><p>
115、;<b> else</b></p><p><b> {</b></p><p> return true;</p><p><b> }</b></p><p><b> }</b></p><p><b>
116、 }</b></p><p><b> 致 謝</b></p><p> 本系統(tǒng)是在我系xx副教授的精心指導(dǎo)及開發(fā)小組成員密切協(xié)作下完成的。</p><p> 首先,要感謝xx副教授在我本科求學(xué)期間對我的幫助和指點,x老師淵博的專業(yè)知識,嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度使我受益匪淺,沒有x老師嚴(yán)格的要求,耐心細(xì)致的指導(dǎo),本系統(tǒng)是不會如此順利完
117、成的。</p><p> 還要感謝教務(wù)處xx老師參與了需求分析,并給了我們一些其它方面的幫助和指點,xx同學(xué)分別完成了管理員模塊和學(xué)生模塊的開發(fā),還有很多參與了系統(tǒng)測試的同學(xué),在這里對他們表示我誠摯的謝意!</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 教育部辦公廳關(guān)于加強普通高等學(xué)校畢業(yè)設(shè)計(論文)工作的通知.教
118、高廳[2004]14 號.</p><p> [2] 樊崇藝,羅四維.畢業(yè)設(shè)計(論文)在線管理系統(tǒng)的設(shè)計與實現(xiàn)[J].教育技術(shù)導(dǎo)刊,2007,(4):36-37.</p><p> [3] 李光亞.基于校園網(wǎng)的論文管理系統(tǒng)研究與實現(xiàn)[D].上海:華東師范大學(xué),2007.</p><p> [4] 鄭州輕工業(yè)學(xué)院畢業(yè)論文管理系統(tǒng)[Z/OL]. </p>
119、;<p> [5] 劉群艷,吳興春.B/S 模式的學(xué)位論文提交系統(tǒng)的設(shè)計與實現(xiàn)[J].西安文理學(xué)院學(xué)報, 2007,10(4):87-89.</p><p> [6] 趙連朋.高校學(xué)位論文數(shù)字化管理系統(tǒng)的設(shè)計開發(fā)[J].黑龍江工程學(xué)院學(xué)報, 2005,19(1):37-40.</p><p> [7] 陳翔.基于 Web 的論文管理系統(tǒng)的設(shè)計和實現(xiàn)[J].杭州師范學(xué)院學(xué)
120、報,2007,6(6):455-460.</p><p> [8] 郭巍.基于網(wǎng)絡(luò)的高校畢業(yè)論文工作全程管理信息系統(tǒng)[J].重慶工商大學(xué)學(xué)報, 2005,22(6):587-591.</p><p> [9] 汪洪波.NET 框架下基于 Web 服務(wù)架構(gòu)系統(tǒng)研究與應(yīng)用[D].成都:電子科技大學(xué),2007.</p><p> [10] John Kauffman
121、,Brian Matsik. ASP.NET 數(shù)據(jù)庫入門經(jīng)典—C#編程篇(張哲峰,黃翔宇,譯)[M].北京:清華大學(xué)出版社,2003.</p><p> [11] FJZhou. 對.NET 平臺總體的理解[Z/OL].</p><p> [12] Reynolds. .NET Enterprise Development In C#:From Design To Deployment
122、[M].WroxPress,2002.</p><p> [13] 鄒勇.基于.NET 的 WEB 在線考試系統(tǒng)設(shè)計與實現(xiàn)[D].成都:電子科技大學(xué),2007.</p><p> [14] Dong Weihua, Liu Jiping,Guo Qingsheng.Construction of E-Government GIS Based on.Net platform and We
123、b Service[C].IEEE,2006,915-917.</p><p> [15] 陳忠睿.基于 ASP_NET 的辦公自動化系統(tǒng)的設(shè)計與實現(xiàn)[D].成都:四川大學(xué),2005.</p><p> [16] 陳冠軍.精通 ASP.NET 2.0 企業(yè)級項目開發(fā)[M].北京:人民郵電出版社,2007.</p><p> [17] 岳昆,王曉玲,周傲英.We
124、b 服務(wù)核心支撐技術(shù):研究綜述[J].軟件學(xué)報,2004, 15(3):428-442.</p><p> [18] 祝建江.基于.NET Web Service 的多層分布式體系結(jié)構(gòu)的研究與應(yīng)用[D]. 杭州:浙江工業(yè)大學(xué),2006.</p><p> 數(shù)據(jù)庫系統(tǒng)開發(fā)與維護(hù) 課程設(shè)計成績評定表</p><p> 指導(dǎo)教師簽字:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計---畢業(yè)設(shè)計管理系統(tǒng)論文
- 畢業(yè)設(shè)計---畢業(yè)設(shè)計管理系統(tǒng)論文
- 畢業(yè)設(shè)計--高校畢業(yè)設(shè)計管理系統(tǒng)論文
- 畢業(yè)設(shè)計選題管理系統(tǒng)論文--畢業(yè)設(shè)計
- 畢業(yè)設(shè)計管理系統(tǒng)論文
- 畢業(yè)設(shè)計酒店管理系統(tǒng)論文
- 畢業(yè)設(shè)計---論文綜合管理系統(tǒng)論文
- 畢業(yè)設(shè)計-酒店酒店管理系統(tǒng)論文
- 畢業(yè)設(shè)計論文 畢業(yè)設(shè)計管理系統(tǒng)設(shè)計
- a固定資產(chǎn)管理系統(tǒng)論文畢業(yè)設(shè)計
- 畢業(yè)設(shè)計-學(xué)生宿舍管理系統(tǒng)論文
- bbs論壇系統(tǒng)論文-畢業(yè)設(shè)計
- 畢業(yè)設(shè)計 畢業(yè)設(shè)計(論文)管理系統(tǒng)設(shè)計
- 畢業(yè)設(shè)計(論文)+vb圖書館管理系統(tǒng)論文
- (論文)宿舍管理系統(tǒng)論文(2013年優(yōu)秀畢業(yè)設(shè)計論文)
- 淺談制動防抱死系統(tǒng)論文畢業(yè)設(shè)計
- 畢業(yè)設(shè)計---c語言在線學(xué)習(xí)系統(tǒng)論文
- 淺析汽車空調(diào)系統(tǒng)論文畢業(yè)設(shè)計
- 畢業(yè)設(shè)計論文管理系統(tǒng)
- 畢業(yè)設(shè)計(論文)管理系統(tǒng)
評論
0/150
提交評論