在線畢業(yè)論文提交系統(tǒng)的設(shè)計與實現(xiàn)——畢業(yè)論文
在線畢業(yè)論文提交系統(tǒng)的設(shè)計與實現(xiàn)在線畢業(yè)論文提交系統(tǒng)的設(shè)計與實現(xiàn) 摘摘 要要 隨著互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,網(wǎng)絡(luò)給人們帶來了很多便利,比如人們借助 于網(wǎng)絡(luò)進行相互交流、相互通信、共享信息、文件的上傳下載等。在線畢業(yè)論 文提交系統(tǒng)就是以上運用之一,它已經(jīng)廣泛的應(yīng)用于目前的各大高校,但現(xiàn)有的 這些系統(tǒng)都有一定的局限性,大部分只能實現(xiàn)簡單的論文提交、論文查詢、論 文審核等功能,并不能解決論文的導(dǎo)出,特別是按統(tǒng)一的 Word 文檔格式進行導(dǎo) 出的問題。 本設(shè)計就很好的解決了上面的問題,它不但能實現(xiàn)畢業(yè)生論文的在線提交; 還能給教師一定的權(quán)限,以在線的方式對自己指導(dǎo)的學(xué)生的論文進行審核;并 且管理員還可以方便的將每個學(xué)生的論文信息按統(tǒng)一的論文排版本格式導(dǎo)出成 word 文檔等。 本論文共分為五大部分,分別是:一、介紹選題背景及意義和相關(guān)系統(tǒng)的 發(fā)展現(xiàn)狀;二、介紹數(shù)據(jù)庫技術(shù)、面向?qū)ο蠹夹g(shù)和基于 B/S 結(jié)構(gòu)的 WEB 程序設(shè) 計技術(shù);三、對系統(tǒng)進行需求分析并提出解決方案;四、根據(jù)解決方案對系統(tǒng) 進行設(shè)計;五、對畢業(yè)論文提交系統(tǒng)進行測試并得到測試結(jié)果。 關(guān)鍵詞:關(guān)鍵詞:在線提交;審核;導(dǎo)出;Word 文檔;B/S 結(jié)構(gòu) Deign and Realization of Online Graduation Thesis Submitting System Abstract Along with the swift and violent development of Internet technology, the network has brought very much inconvenience for the people. For instance the people all carry on communicating mutually, corresponding mutually, sharing information, uploading and downloading and etc. The online graduation thesis submit system is one of these utilization, it already wide spread application to present each universities, but the existing these systems all have the limitation, majority only realize the function of submitting paper, inquiring paper, auditing paper and so on. They cannot solve paper exporting, specially the question which exporting with the unified form of Word documents. This system solves these questions well, it not only realizes online submitting of the graduate paper; but also can assign the competences to teachers who audit students paper by the online way .And administrator also can conveniently export each students paper information according to the unified edition form to the Word documents and etc. This paper is divided into five main modules, respectively is: First, introduction of selected topic background and significance and system development present situation; Second, introduction of data bank technology, object-oriented technology and the plan of B/S structure WEB programming technique; Third, carries on the demand to the current enterprise to analyze and to propose the solution; Fourth, carries on the design according to the solution to the system; Fifth, carries on the work plan of system tests and obtains the test result. Key words: Online submitting; Auditing; Exporting; Word documents; B/S structure 目目 錄錄 論文總頁數(shù):21 頁 1引言1 1.1選題背景1 1.2國內(nèi)外研究現(xiàn)狀1 1.3課題研究的意義1 2理論基礎(chǔ)1 2.1數(shù)據(jù)庫技術(shù)1 2.2面向?qū)ο蠹夹g(shù)2 2.3B/S 架構(gòu)的 WEB 程序設(shè)計技術(shù) 2 3系統(tǒng)需求分析3 3.1現(xiàn)行業(yè)務(wù)系統(tǒng)描述3 3.2現(xiàn)行系統(tǒng)存在的主要問題分析3 3.3問題解決方案3 4系統(tǒng)設(shè)計4 4.1系統(tǒng)總體架構(gòu)4 4.2數(shù)據(jù)庫設(shè)計4 4.2.1ER 圖 .4 4.2.2數(shù)據(jù)表設(shè)計5 4.3系統(tǒng)功能模塊設(shè)計6 4.3.1首頁6 4.3.2論文提交7 4.3.3論文查詢8 4.3.4論文審核.10 4.3.5論文導(dǎo)出.11 5系統(tǒng)實施及測試.15 5.1實施概況.15 5.2測試方案.16 5.3測試結(jié)果.18 結(jié) 論.18 參考文獻.19 致 謝.20 聲 明.21 第 1 頁 共 21 頁 1 1引言引言 1.11.1 選題背景選題背景 隨著互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,網(wǎng)絡(luò)給人們帶來了很多便利,比如人們借助 于網(wǎng)絡(luò)進行相互交流、相互通信、共享信息、文件的上傳下載等。在線畢業(yè)論 文提交系統(tǒng)就是以上運用之一,它已經(jīng)廣泛的應(yīng)用于目前的各大高校,但現(xiàn)有的 這些系統(tǒng)都有一定的局限性,大部分只能實現(xiàn)簡單的論文提交,論文查詢,論 文審核等功能,并不能解決論文的導(dǎo)出,特別是按統(tǒng)一的 Word 文檔格式進行導(dǎo) 出的問題。 1.21.2 國內(nèi)外研究現(xiàn)狀國內(nèi)外研究現(xiàn)狀 目前,國內(nèi)外各大高校大部分都已經(jīng)有了自己的“畢業(yè)生論文提交系統(tǒng)” , 而且已經(jīng)成為廣大畢業(yè)生與導(dǎo)師的必要工具。但它們大都只能夠完成一些基本 的功能例如論文的在線提交、審核情況的查詢、檢索論文等,而對論文導(dǎo) 出時的格式控制并沒有考慮,比如怎么把存入到數(shù)據(jù)庫中的論文信息導(dǎo)出到一 篇 Word 文檔,怎樣讓導(dǎo)出到 Word 的論文保持統(tǒng)一的論文排版格式等。 1.31.3 課題研究的意義課題研究的意義 在線畢業(yè)論文提交系統(tǒng)的開發(fā)是為了更好的讓各個高校充分的利用校園網(wǎng) 的軟硬件資源,通過 B/S 系統(tǒng)結(jié)構(gòu)來實現(xiàn)基于 Web 的在線論文提交,實現(xiàn)了學(xué) 生畢業(yè)論文的無紙化管理,讓學(xué)生提交論文、查詢論文的審核情況更為方便, 讓老師審核學(xué)生論文更加的快捷,并且解決了學(xué)生上傳時論文格式不統(tǒng)一,但 導(dǎo)出后能按統(tǒng)一的 Word 文檔進行排版的問題。 2 2理論基礎(chǔ)理論基礎(chǔ) 2.12.1 數(shù)據(jù)庫技術(shù)數(shù)據(jù)庫技術(shù) Microsoft SQL Server2000 是由 Microsoft 公司開發(fā)的,簡稱 SQL Server,由一系列相互協(xié)作的組件構(gòu)成,能滿足最大的 Web 站點和企業(yè)數(shù)據(jù)處 理系統(tǒng)存儲和分析數(shù)據(jù)的需求。其主要特點如下: 第一,SQL Server與Windows服務(wù)器緊密集成,而Windows服務(wù)器具有很好 的安全性,能夠排除所有未經(jīng)授權(quán)的非法用戶的訪問,確保了SQL Server 2000 服務(wù)器的安全性,符合系統(tǒng)對安全性的要求; 第二,用戶可以使用Web瀏覽器查詢存儲在SQL Server 2000數(shù)據(jù)庫中的數(shù) 據(jù),符合系統(tǒng)遠(yuǎn)程訪問數(shù)據(jù)庫的要求; 第三,容量龐大,每個數(shù)據(jù)庫中可創(chuàng)建多達(dá)20萬個數(shù)據(jù)表,數(shù)據(jù)表中的記 錄的行數(shù)只受服務(wù)器硬盤空間的限制; 其使用的SQL(Structured Query Language,結(jié)構(gòu)查詢語言)是一個功能強 大的數(shù)據(jù)庫語言,通常使用于數(shù)據(jù)庫的通訊。美國國家標(biāo)準(zhǔn)學(xué)會ANSI 聲稱, 第 2 頁 共 21 頁 SQL是關(guān)系數(shù)據(jù)庫管理系統(tǒng)的標(biāo)準(zhǔn)語言。SQL語句通常用于完成一些數(shù)據(jù)庫的操 作任務(wù),比如在數(shù)據(jù)庫中更新數(shù)據(jù),或者從數(shù)據(jù)庫中檢索數(shù)據(jù)等。 2.22.2 面向?qū)ο蠹夹g(shù)面向?qū)ο蠹夹g(shù) 畢業(yè)論文提交系統(tǒng)采用了 C#語言,C#語言是一種面向?qū)ο蟮木幊陶Z言,它 是 Visual Studio 中的一部分。C#既保持了 C+中熟悉的語法,并且還包含了 大量的高效代碼和面向?qū)ο筇匦?。C#語言將在保持 C/C+靈活性的基礎(chǔ)上為程 序員帶來更高效的 RAD 開發(fā)方式。C# 是.NET 的關(guān)鍵性語言,它是整個.NET 平 臺的基礎(chǔ)。它不僅能用于 WEB 服務(wù)程序的開發(fā),并且還能開發(fā)強大的系統(tǒng)級程 序。 C#本質(zhì)上是 C+的進化產(chǎn)物,使用了包括聲明、表達(dá)式及操作符在內(nèi)的許 多 C+特征,但是 C#還有更多的增強功能,比如類型安全(type-Safe) 、事件 處理、碎片帳集、代碼安全性等。在 C#中,除了可以使用許多 API,更能使用. NET 類。特別地是,我們可以處理 COM 的自動化和 C 類型的函數(shù)。 Visual Studio.NET 是.NET 平臺下最為強大的開發(fā)工具,無論是軟件服務(wù) 商,還是企業(yè)應(yīng)用程序的部署與發(fā)布,Visual Studio.NET 都可以提供近乎完 美的解決方案。Visual Studio.NET 提供了包括設(shè)計、編碼、編譯調(diào)試、數(shù)據(jù) 庫聯(lián)接操作等基本功能和基于開放架構(gòu)的服務(wù)器組件開發(fā)平臺、企業(yè)開發(fā)工具 和應(yīng)用程序重新發(fā)布工具以及性能評測報告等高級功能。Visual Studio .NET 2003,它是 Microsoft 的第二代開發(fā)工具,用于構(gòu)建和部署功能強大而安全的 連接 Microsoft .NET 的軟件。 2.32.3 B/SB/S 架構(gòu)的架構(gòu)的 WEBWEB 程序設(shè)計技術(shù)程序設(shè)計技術(shù) B/S 結(jié)構(gòu)(Browser/Server 結(jié)構(gòu))即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著 Internet 技術(shù)的發(fā)展,對 C/S 結(jié)構(gòu)的一種變化或者改進的結(jié)構(gòu)。在這種結(jié)構(gòu)下, 用戶工作界面是通過網(wǎng)頁瀏覽器來實現(xiàn),極少部分事務(wù)邏輯在前端(Browser) 實現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實現(xiàn),形成所謂三層 3-tier 結(jié) 構(gòu)。這樣就大大簡化了客戶端電腦載荷,減輕了系統(tǒng)維護與升級的成本和工作 量,降低了用戶的總體成本(TCO) 。以目前的技術(shù)看,局域網(wǎng)建立 B/S 結(jié)構(gòu)的 網(wǎng)絡(luò)應(yīng)用,并通過 Internet/Intranet 模式下數(shù)據(jù)庫應(yīng)用,相對易于把握、成 本也是較低的。它是一次性到位的開發(fā),能實現(xiàn)不同的人員,從不同的地點, 以不同的接入方式(比如 LAN, WAN, Internet/Intranet 等)訪問和操作共同 的數(shù)據(jù)庫;它能有效地保護數(shù)據(jù)平臺和管理訪問權(quán)限,服務(wù)器數(shù)據(jù)庫也很安全 。B/S 結(jié)構(gòu)最大的優(yōu)點就是可以在任何地方進行操作而不用安裝任何專門的軟 件。只要有一臺能上網(wǎng)的電腦就能使用,客戶端零維護。系統(tǒng)的擴展非常容易, 只要能上網(wǎng),再由系統(tǒng)管理員分配一個用戶名和密碼,就可以使用了。甚至可 第 3 頁 共 21 頁 以在線申請,通過公司內(nèi)部的安全認(rèn)證(如 CA 證書)后,不需要人的參與,系 統(tǒng)可以自動分配給用戶一個賬號進入系統(tǒng)。 B/S 架構(gòu)下的 ASP.NET 不僅僅是 Active Server Page (ASP) 的下一個版 本;它還提供了一個統(tǒng)一的 Web 開發(fā)模型,其中包括開發(fā)人員生成企業(yè)級 Web 應(yīng)用程序所需的各種服務(wù)。ASP.NET 的語法在很大程度上與 ASP 兼容,同時它 還提供一種新的編程模型和結(jié)構(gòu),可生成伸縮性和穩(wěn)定性更好的應(yīng)用程序,并 提供更好的安全保護??梢酝ㄟ^在現(xiàn)有 ASP 應(yīng)用程序中逐漸添加 ASP.NET 功 能,隨時增強 ASP 應(yīng)用程序的功能。 3 3系統(tǒng)需求分析系統(tǒng)需求分析 3.13.1 現(xiàn)行業(yè)務(wù)系統(tǒng)描述現(xiàn)行業(yè)務(wù)系統(tǒng)描述 目前大部分學(xué)校都已經(jīng)有了自己的在線畢業(yè)論文提交系統(tǒng),都能夠完成一 些最基本的例如論文的在線提交、審核情況的查詢、檢索論文等。系統(tǒng)的 大致工作流程是:學(xué)生進入系統(tǒng)首先注冊一個賬戶,然后用這個賬戶進行論文 信息的提交,提交后便可以檢索自己的論文是否提交成功,再過一段時間后還 能查詢到自己論文的審核情況等。這里值得一提的是,這些系統(tǒng)在提交論文正 文的時候采用的大多是 FTP 的方式,即把整個論文文件按統(tǒng)一的文件格式(如. doc,.pdf 等)上傳到服務(wù)器指定的目錄上,要用的時候再從這個服務(wù)器上下載 下來。 3.23.2 現(xiàn)行系統(tǒng)存在的主要問題分析現(xiàn)行系統(tǒng)存在的主要問題分析 雖然目前的畢業(yè)論文提交系統(tǒng)已經(jīng)能完成學(xué)校的大部分需求,并從一定的 程度上結(jié)束了傳統(tǒng)的“紙上作業(yè)”的方式,但仍然存在著一些細(xì)節(jié)的問題,問 題分析如下: (1)目前大多數(shù)的相關(guān)系統(tǒng)都是采用 ASP 語言開發(fā),其執(zhí)行的速度較為的 緩慢,并且系統(tǒng)的擴展性也不是很好。 (2)目前的畢業(yè)論文提交系統(tǒng)大都只提供論文的在線提交,并不能讓學(xué)生 在提交完成后做任何的在線修改。 (3)對每一個論文的作者來說,肯定都有自己的寫作習(xí)慣,不管是段落的 格式還是字體的樣式上都存在著一定的差別。而目前的畢業(yè)論文提交系統(tǒng)都是 采用的整個文件上傳的方式,這樣我們就不能去嚴(yán)格的控制每一篇論文的格式, 如果想要所有的論文都能按統(tǒng)一的論文模板格式導(dǎo)出的話,那根本是不可能實 現(xiàn)的一件事。 3.33.3 問題解決方案問題解決方案 根據(jù)對上面問題的分析,我們可以提出如下的解決方案: (1)系統(tǒng)采用 B/S 的結(jié)構(gòu),其開發(fā)語言不再使用傳統(tǒng)的 ASP 語言,而使用 第 4 頁 共 21 頁 微軟公司新一代 Active Server Pages 腳本語言ASP.NET,其先編譯后執(zhí)行 的程序執(zhí)行方式很好的提高了系統(tǒng)的執(zhí)行速度,而其面向?qū)ο蟮某绦蛟O(shè)計方式 也很好的解決了系統(tǒng)的擴展性。 (2)在論文查詢這個模塊增加了論文信息更新的子模塊,當(dāng)然這項功能只 針對該學(xué)生的論文在提交后還沒有被其指導(dǎo)老師審核的情況,若一旦審核就不 能再做修改。 (3)首先我們改變一下目前的系統(tǒng)對論文正文的提交方式,我們先把論文 的正文粘貼到系統(tǒng)的一個多行文本框中,其次將其與論文的基本信息一起提交 到 SQL 數(shù)據(jù)庫,然后在導(dǎo)出的時候先將它顯示到事先定義好的一個論文格式的 網(wǎng)頁模板上,最后將這個網(wǎng)頁中的所有內(nèi)容原樣導(dǎo)出到 Word 即可。 4 4系統(tǒng)設(shè)計系統(tǒng)設(shè)計 4.14.1 系統(tǒng)總體架構(gòu)系統(tǒng)總體架構(gòu) 在線畢業(yè)論文提交系統(tǒng)的基本功能主要有論文提交、論文查詢、論文審核 及后臺數(shù)據(jù)管理五大部分,其功能模塊圖如圖 1 所示: 圖 1 畢業(yè)論文提交系統(tǒng)功能模塊圖 4.24.2 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計 4.2.14.2.1 ERER 圖圖 由上面的需求分析可建立 E-R 模型圖,如圖 2 所示: 查看學(xué)生論文 第 5 頁 共 21 頁 教師 管理員 論文學(xué)生 管理 審核提交 管理 導(dǎo)出 1 n 1 n n n 1 1 圖 ER 圖 4.2.24.2.2 數(shù)據(jù)表設(shè)計數(shù)據(jù)表設(shè)計 根據(jù)系統(tǒng)功能設(shè)計的要求及對上面 ER 圖的實現(xiàn),本系統(tǒng)一共需要三張表格,下 面給出它們的數(shù)據(jù)表圖,及其基本功能說明: 表名:lwtj 功能說明:記錄學(xué)生的基本信息及論文的信息,表結(jié)構(gòu)如表 1 所示: 表 1 學(xué)生及論文信息表 字段名稱字段類型字段說明主鍵允許空 stuNameVarchar(20) 學(xué)生姓名否否 stuNoVarchar(10) 學(xué)生學(xué)號是否 passwordVarchar(20) 學(xué)生密碼否否 stuZyVarchar(30) 學(xué)生專業(yè)否是 stuTelVarchar(20) 學(xué)生電話否是 emailVarchar(30) 學(xué)生郵箱否是 teacherNameVarchar(20) 老師姓名否否 teacherNoVarchar(10) 指導(dǎo)老師否否 lwTitleVarchar(50) 論文題目否否 keyWordVarchar(50) 關(guān)鍵字否否 lwZyText 論文摘要否否 xwlbVarchar(20) 學(xué)位類別否否 flhVarchar(20) 分類號否否 bmjbVarchar(10) 保密級別否否 isPassVarchar(10) 審核情況否否 lwTextText 論文內(nèi)容否否 11 第 6 頁 共 21 頁 表名: teacher 功能說明:記錄指導(dǎo)教師的基本信息,表結(jié)構(gòu)如表 2 所示: 表 2 老師信息表 字段名稱字段類型字段說明主鍵允許空 teacherNoVarchar(10) 教師工號是否 teacherNameVarchar(20) 教師姓名否否 teacherPasswordVarchar(20) 教師密碼否否 teacherTelVarchar(20) 教師電話否是 teacherEmailVarchar(30) 教師郵箱否是 表名:admin 功能說明:記錄管理員的賬號與密碼,表結(jié)構(gòu)如表 3 所示: 表 3 管理員信息表 字段名稱字段類型字段說明主鍵允許空 adminVarchar(20) 管理賬號否否 passwordVarchar(20) 管理密碼否否 4.34.3 系統(tǒng)功能模塊設(shè)計系統(tǒng)功能模塊設(shè)計 4.3.14.3.1 首頁首頁 畢業(yè)論文提交系統(tǒng)的首頁,實際上是一個本系統(tǒng)的使用幫助頁面,實現(xiàn)非常 簡單,不會用到數(shù)據(jù)庫方面的信息,其界面如圖 3 所示: 圖 3 首頁 由于這個頁面只是一個簡單的靜態(tài)頁面,這里就不對它的代碼進行詳細(xì)的分 第 7 頁 共 21 頁 析,我們只對頁面上乃至以后系統(tǒng)工程每個頁面都會用到的兩個用戶自定義控件 加以說明,這兩個控件文件分別是用于頁面頭部的 top.ascx 和用于頁面底部的 bottom.ascx,其定義的方法很簡單,前面也已經(jīng)講過,這里我們來看一下在每個 頁面中怎么使用它們。 在每個頁面中調(diào)用 top.ascx 的語句: /TagPrefix 用來標(biāo)記前綴,定義控件的命名空間;TagName 標(biāo)記名指向所使用控件的名字(這里指向 myTop);Src 指向控件的資源文件 ; /調(diào)用為名 myTop 的用戶控件 4.3.24.3.2 論文提交論文提交 本頁面主要實現(xiàn)將學(xué)生正確輸入到textBox中的學(xué)生信息與論文信息提交到 SQL數(shù)據(jù)庫中的lwtj表,當(dāng)用戶輸入的信息不正確時,頁面上為提示“輸入信息不 正確”的錯誤信息,并以在每個出錯的textbox后面給出錯誤的提示,若學(xué)生重復(fù) 的提交以前已經(jīng)提交了的信息,頁面就會發(fā)生跳轉(zhuǎn)并提示“你不能重復(fù)提交你的 論文”的提示信息。在檢查用戶輸入的信息是否合法時,用到的是中的 “驗證控件”,在判斷用戶是否已經(jīng)提交過論文的方法是,在每個學(xué)生在單擊 “提交”按鈕后,就先在lwtj表中查詢是否已經(jīng)有了該學(xué)生的號,如果有了就表 示已經(jīng)提交過了。 當(dāng)完整的輸入了學(xué)生的基本信息及論文信息后,單擊“論文提交”頁面中 的“提交”按鈕后,要觸發(fā)到的 submit_Click()函數(shù): private void submit_Click(object sender, System.EventArgs e) if(IsValid=true) /判斷頁面上所有控件是否都合乎輸入要求 / 定義連接字符串 string SqlConn=“data Source=127.0.0.1;Database=lwtjdb;User Id=sa;pwd=“; SqlConnection Conn=new SqlConnection(SqlConn); / 創(chuàng)建一個名為 Conn 的新連接 Conn.Open(); /打開連接 /下面的插入語句是將所有在前臺 textbox 中輸入的值和一個“未審核”的初始值插 入到 lwtj 表 string SqlStr=“insert into lwtj(stuName,stuNo,password,stuZy,stuTel,email,teacherName,teacherNo,lwT ite,lwText,isPass) values(“+this.stuName.Text+“, ,“+this.stuNo.Text+“,“+ this.Text.Text.Replace(“rn“ , “).Replace(“ “,“ “)+“,未審核)“; / lwBody.Text.Replace(“rn“ , “).Replace(“ “,“ “):表示將 lwBody 內(nèi)容中的回車換行替換為“”,將空格替換為“ ”一并存入到數(shù)據(jù)表中 第 8 頁 共 21 頁 4.3.34.3.3 論文查詢論文查詢 本頁面主要實現(xiàn)當(dāng)學(xué)生成功提交論文后對自己論文審核情況的查詢;若還 未審核,學(xué)生便可以看到類似論文提交時的那個頁面,并顯示出學(xué)生提交到數(shù)據(jù) 庫的信息,學(xué)生可以在這里進行相應(yīng)的編輯,并點擊“更新”按鈕進行更新;若 已經(jīng)審核,學(xué)生登錄后看到的將是“已審核”的提示頁面.本頁主要用到的數(shù)據(jù) 表還是 lwtj 表,界面如圖 4 所示: 圖 4 提交查詢界面 當(dāng)用戶單擊了“查詢”按鈕后調(diào)用下面的查詢語句: 當(dāng)用戶輸入正確的學(xué)號和密碼后,執(zhí)行下面的頁面事件: string SqlStr=“select * from lwtj where stuNo=“+stuNo.Text+“ and password=“+password.Text+“; /查詢 lwtj 表上是否有用戶剛才輸入的賬號和密碼 SqlCommand Comm=new SqlCommand(SqlStr,Conn); SqlDataReader dr=Comm.ExecuteReader(); /執(zhí)行查詢 / 下面的 if 語句判斷是否查找到,若找到,則將記錄中的每個值賦給一個相應(yīng)的 Session 變量 if(dr.Read() dr.Close(); Conn.Close(); Response.Redirect(“cxjg.aspx“); /轉(zhuǎn)到查詢結(jié)果頁 else message.Text=“輸入不正確!“; 第 9 頁 共 21 頁 當(dāng)用戶單擊了頁面中的“更新”按鈕后調(diào)用下面的 update_Click()函數(shù): private void update_Click(object sender, System.EventArgs e) if(IsValid=true) /判斷頁面上所有控件是否都合乎輸入要求 string SqlStr=“Update lwtj set stuNo=“+stuNo.Tex +“,stuName=“+ stuName.Text+“,password=“+password 1 .Text+“,stuZy=“+stuZy.T ext+“,stuTel=“+stuTel.Text+“,email=“+mail. Text+“,teacher Name=“+teacherName.Text+“,teacherNo=“+teacherNo.Text+“,lwTitle=“+lwTitle.Text+“,lw Body=“+lwBody.Text.Replace(“rn“ , “).Replace(“ “,“ “)+“ where stuNo=“+Sessi on“theno“; /更新學(xué)生的基本信息 SqlCommand Comm=new SqlCommand(SqlStr,Conn); Comm.ExecuteNonQuery(); /執(zhí)行 UpDate 語句 Conn.Close(); message.Text=“恭喜你!更新成功!“; /提示更新成功 else message.Text=“發(fā)生錯誤,請按照文本框后的提示信息重新輸入正確信息!“; private void Page_Load(object sender, System.EventArgs e) if(IsPostBack=false) /如果是第一次加載本頁面,就執(zhí)行下面的語句 string SqlStr=“select * from lwtj where isPass=未審核 and stuNo=“+Session“theno“.ToString()+“; /查詢此學(xué)號的論文是否已經(jīng)審核 SqlCommand Comm=new SqlCommand(SqlStr,Conn); SqlDataReader dr=Comm.ExecuteReader(); if(dr.Read() /如果上面的條件成立,則將上個頁面保存的所有的 Session 的值傳 到相應(yīng)的 textbox 中,若不成立,就自動跳轉(zhuǎn)到“已審核”提示頁 stuName.Text=Session“thename“.ToString(); stuNo.Text=Session“theno“.ToString(); password1.Text=Session“thepwd“.ToString(); else Response.Redirect(“isPass.aspx“); / 轉(zhuǎn)到“已審核”提示頁面 第 10 頁 共 21 頁 4.3.44.3.4 論文審核論文審核 老師首先進入“教師”登錄頁面,當(dāng)輸入正確的 teacherNo 與 teacherPassword 后,進入“教師審核論文頁面”(界面如圖 5),在這個頁面主要 顯示的是該老師所帶的所以學(xué)生的學(xué)生及論文信息,老師可以在這里審閱學(xué)生的 論文,若合格,可點出“審核”按鈕進行審核,還可以點擊“導(dǎo)出”按鈕導(dǎo)出學(xué)生 的論文信息到 word 文檔,該頁面上方還有個“教師修改個人信息”的功能選項, 在老師首次登錄后使用它來修改自己的密碼及個人信息(界面如圖 6)。 圖 5 老師審核論文界面 圖 6 教師信息修改界面 老師登錄的主要源碼如下: 第 11 頁 共 21 頁 老師成功登錄后,下面是 datagrid 中的 Click_Grid()事件: 老師導(dǎo)出論文的代碼與后面管理員導(dǎo)出論文的代碼差不多,這里就不給出, 后面將有詳細(xì)的介紹。 4.3.54.3.5 論文導(dǎo)出論文導(dǎo)出 管理員頁面所實現(xiàn)的主要功能是對學(xué)生及論文信息的管理,以及論文的導(dǎo)出,還 public void Click_Grid(object sender, DataGridCommandEventArgs E) if(E.CommandName=“daochu“) /判斷是否單擊了“導(dǎo)出”按鈕 /前面利用 DataKeyField=stuNo 設(shè)置了學(xué)號關(guān)鍵字段,所以下面的語句可以獲取 某行的 stuNo,并把結(jié)果傳給 Session“stuno“ Session“stuno“=dg1.DataKeys(int)E.Item.ItemIndex; Response.Redirect(“tealwdc.aspx“); /轉(zhuǎn)到教師導(dǎo)出論文的頁面 Else /若單擊了“審核”按鈕 string SqlUpDate=“Update lwtj Set isPass=已審核 where stuNo=“+dg1.DataKeys(int)E.Item.ItemIndex; /只更新當(dāng)前行 SqlCommand Comm=new SqlCommand(SqlUpDate,Conn); Comm.ExecuteNonQuery(); /執(zhí)行更新語句 BindData(); /重新調(diào)用綁定數(shù)據(jù)函數(shù) public void jsdl_Click(object sender, System.EventArgs e) string SqlStr=“select * from teacher where teacherNo=“+teacherNo.Text+“ and teacherpassword=“+password.Text+“; /查詢 teacher 中是否有該老師的信息 SqlCommand Comm=new SqlCommand(SqlStr,Conn); SqlDataReader dr=Comm.ExecuteReader(); 執(zhí)行查詢 if (dr.Read() /如查詢到,將該教師的工號與姓名存分別暫存到 Session 變量中 Session“teano“=teacherNo.Text; Session“teaname“=dr“teacherName“.ToString(); Response.Redirect(“l(fā)wsh.aspx“); /跳轉(zhuǎn)到論文審核主頁面 else message.Text=“輸入不正確!“; /密碼不正確的提示 第 12 頁 共 21 頁 有對老師基本信息的初始添加(界面如圖 8)和對老師信息的管理,其中在登錄 管理員首頁的時候有個管理員的身份驗證,若輸入正確才能登錄到管理平臺,進 入這個平臺后便會看到“學(xué)生信息及論文信息的管理” ( 界面如圖 7)和“老 師信息管理”這兩個子功能,我們可以單擊它進行相應(yīng)的管理,下分別介紹各個 頁面的界面及主要實現(xiàn)價碼。 圖 7 學(xué)生信息管理界面 圖 8 添加老師信息界面 管理登錄,當(dāng)用戶單擊登錄按鈕的時候調(diào)用 gldl_Click()處理方法,用來進 行管理員的身份驗證:如果用戶存在,則讓用戶進入管理頁面;如果用戶不存在, 則給出錯誤提示信息。 管理員登錄的源碼與教師登錄的源碼差不多一樣,僅僅是它們所要用到的數(shù) 據(jù)表不同而已,這里不再給出管理員登錄的源碼。 學(xué)生信息管理,Sort_Grid()方法的作用是,當(dāng)用戶單擊 DataGrid 控件中 的 stuNo 關(guān)鍵字后,按這些關(guān)鍵字進行排序,以方便管理的查詢。 第 13 頁 共 21 頁 ChangePage()方法,實現(xiàn)分頁的功能用: Click_Grid()這個方法用來獲得 DataGrid 控件中的 Button 事件,首先判 斷用戶單擊的是那個按鈕,若單擊的是“刪除” ,則刪除當(dāng)前行的信息。若是 “導(dǎo)出” ,則將學(xué)生及論文信息到一個 word 文檔。 當(dāng)管理員進入了添加教師頁面并單擊了“添加”按鈕后,調(diào)用下面的處理 方法,將新的教師信息入庫: public void ChangePage(object sender,DataGridPageChangedEventArgs E) /利用.ewPageIndex 獲得新的頁數(shù) dg1.CurrentPageIndex=E.NewPageIndex; BindData();/重新綁定數(shù)據(jù) public void Click_Grid(object sender, DataGridCommandEventArgs E) if (E.CommandName=“daochu“) /判斷是否單擊了“導(dǎo)出”按鈕 Session“stuno“=dg1.DataKeys(int)E.Item.ItemIndex; /取當(dāng)前行的學(xué)號,并存 到 Session“stuno“中 Response.Redirect(“adminlwdc.aspx“); /跳轉(zhuǎn)到管理員導(dǎo)出論文頁面 else if(E.CommandName=“delete“) /是否單擊了“刪除”按鈕,若是,先建立數(shù)據(jù)庫連 接,然后執(zhí)行刪除操作 string Sqldel=“delete from lwtj where stuNo=“+dg1.DataKeys(int)E.Item.ItemIndex; /定義刪除語句 SqlCommand Comm=new SqlCommand(Sqldel,Conn); Comm.ExecuteNonQuery(); /執(zhí)行 BindData(); /重新綁定數(shù)據(jù) public void Sort_Grid(object sender, DataGridSortCommandEventArgs E) /按學(xué)號升棄排序,并將結(jié)果綁定到 DataSet 控件上 string SqlStr=“select * from lwtj order by stuNo“; SqlDataAdapter da=new SqlDataAdapter(SqlStr,Conn); DataSet ds=new DataSet(); /創(chuàng)建ataSet 控件 ds da.Fill(ds,“l(fā)wtj“); /調(diào)用ill 方法將表 lwtj 放在 DataSetc 對象中 dg1.DataSource=ds.Tables“l(fā)wtj“.DefaultView; dg1.DataBind(); /綁定數(shù)據(jù) 第 14 頁 共 21 頁 刪除教師信息的實現(xiàn)方法與刪除學(xué)生及論文信息的方法一樣,前面已經(jīng)介紹 過,這里不在給出相關(guān)代碼。 導(dǎo)出學(xué)生論文信息到 word 文檔的主要實現(xiàn)原理是:當(dāng)用戶單擊 “導(dǎo)出” 按鈕后,系統(tǒng)轉(zhuǎn)到導(dǎo)出論文的頁面,建立數(shù)據(jù)庫的連接,并把數(shù)據(jù)庫中合乎條 件的記錄的值取出傳給相應(yīng)的 label,而前臺的 Html 頁中已經(jīng)以論文模板的形 式設(shè)置好了各個 label 的位置,最后調(diào)用一個將 html 頁轉(zhuǎn)換成 word 文檔的方法 即可。 BindData()方法,它首先連接到 lwtj 表,然后查詢出用戶要導(dǎo)出的學(xué)生的信 息,并把這些信息的值傳給對應(yīng)的 Label,主要代碼如下: private void submit_Click(object sender, System.EventArgs e) /定義插入教師信息的 Insert 語句 StringSqlStr=“insert into teacher(teacherNo,teacherName,teacherPassword,teacherZc,teacherTel,teacherEmail) values(“+this.teacherNo.Text+“,“+this.teacherName.Text+“,“+this.password1.Text+“, “+this.teacherZc.Text+“,“+this.teacherTel.Text+“,“+this.email.Text+“)“; SqlCommand Comm=new SqlCommand(SqlStr,Conn); Comm.ExecuteNonQuery(); /執(zhí)行 insert 語句 Conn.Close(); /關(guān)閉連接 message.Text=“恭喜你!添加成功!若不再繼續(xù)添加,請單擊返回!“; private void Page_Load(object sender,System.EventArgs e) BindData(); /調(diào)用數(shù)據(jù)綁定函數(shù) Response.Charset=“GB2312“;/設(shè)置輸出流為簡體中文 Response.ContentEncoding=System.Text.Encoding.GetEncoding(“GB2312“);/設(shè)置輸出文件類型為 word 類型 Response.ContentType=“application/ms-word “; /用來保存為 word 文件的文件名 Response.AddHeader( “Content- Disposition“,“inline;filename=“+stuNo.Text+”.doc“); /“filename=“+stuNo.Text+”. doc“,表示以學(xué)號為文件名保存為 word 文檔 第 15 頁 共 21 頁 5 5系統(tǒng)實施及測試系統(tǒng)實施及測試 5.15.1 實施概況實施概況 在線畢業(yè)論文提交系統(tǒng)運行環(huán)境為:windows+IIs ASP.NET 是一個已編譯的、基于 .NET 的環(huán)境,可以用任何與 .NET 兼容 的語言(包括 Visual Basic .NET、C# 和 JScript .NET.)創(chuàng)作應(yīng)用程序。另 外,任何 ASP.NET 應(yīng)用程序都可以使用整個 .NET Framework。開發(fā)人員可以 方便地獲得這些技術(shù)的優(yōu)點,其中包括托管的公共語言運行庫環(huán)境、類型安全、 繼承等等。ASP.NET 可以無縫地與 WYSIWYG HTML 編輯器和其他編程工具(包 括 Microsoft Visual Studio .NET)一起工作。這不僅使得 Web 開發(fā)更加方 便,而且還能提供這些工具必須提供的所有優(yōu)點,包括開發(fā)人員可以用來將服 務(wù)器控件拖放到 Web 頁的 GUI 和完全集成的調(diào)試支持。使用 Web 窗體可以生 成功能強大的基于窗體的 Web 頁。 ASP.NET 平臺要求: 在 Windows 2000(Professional、Server 和 Advanced Server) 、 Windows XP Professional 以及 Windows Server 2003 系列產(chǎn)品上,客戶端和 服務(wù)器應(yīng)用程序都支持 ASP.NET。此外,要開發(fā) ASP.NET 服務(wù)器應(yīng)用程序,還 必須具備以下軟件:具有 Service Pack 2 的 Windows 2000 Server 或 private void BindData() /定義連接字符串,建立數(shù)據(jù)庫連接 string SqlConn=“data Source=127.0.0.1;Database=lwtjdb;User Id=sa;pwd=“; SqlConnection Conn=new SqlConnection(SqlConn); Conn.Open(); /定義查詢語句 string SqlStr=“select * from lwtj where stuNo=“+Session“stuno“; SqlCommand Comm=new SqlCommand(SqlStr,Conn); SqlDataReader dr=Comm.ExecuteReader(); /執(zhí)行 /如果查找到,將記錄中的各個值賦相應(yīng)的給 label if (dr.Read() stuno.Text=dr“stuNo“.ToString(); stuname.Text=dr“stuName“.ToString(); stuzy.Text=dr“stuZy“.ToString(); teaname.Text=dr“teacherName“.ToString(); lwtitle.Text=dr“l(fā)wTitle“.ToString(); lwbody.Text=dr“l(fā)wBody“.ToString(); 第 16 頁 共 21 頁 Advanced Server、Windows XP Professional 或 64 位版本,或 Windows Server 2003 系列產(chǎn)品之一。 5.25.2 測試方案測試方案 (1)打開 IE 瀏覽器 6.0,在地址欄中輸:http:/localhost/lwen/index ,進入系統(tǒng)首頁; (2)打開“提交論文”頁面,在里面輸入信息,單擊提交看是否成功,若 不成功看是否有相應(yīng)的錯誤提示,錯誤提示如圖 9 所示; 圖 9 提交錯誤信息提示圖 (3)在 “論文查詢”頁面輸入學(xué)號及密碼,查詢剛才所提交的內(nèi)容,看 是否能進入“查詢結(jié)果”頁面; (4)在“查詢結(jié)果”頁面(如圖 10)對學(xué)生及論文的信息做相應(yīng)的修改, 然后點擊更新,看是否更新成功;若不成功,看是否有相應(yīng)的錯誤提示; 圖 10 查詢結(jié)果頁面 第 17 頁 共 21 頁 (5)正確的輸入教師的工號及密碼,進入“審核論文”頁面,在頁面中首 先點擊“教師個人信息修改” ,進入“信息修改”頁面,更改教師的密碼,看是 否成功,若成功,點擊“返回上頁”按鈕返回“審核論文”頁面; (6)在“審核論文”頁面中單擊一個學(xué)生的論文題目,查看論文的全文 (界面如圖 11),然后“返回” ,點擊“審核”按鈕對該學(xué)生的論文進行審核; 看該學(xué)生的論文審核狀態(tài)是否為“已審核” ; 圖 11 查看論文信息頁面 (7)輸入管理員賬號及密碼進入“管理主頁面” ,選擇“學(xué)生及論文信息 管理” ,進入該頁面,然后找到一條錯誤的信息,單擊“刪除”按鈕,看是否成 功刪除,單擊學(xué)號關(guān)鍵字,看能否實現(xiàn)按學(xué)號排序;單擊“下頁”看能否實現(xiàn) 分頁,管理登錄密碼錯誤提示頁面如圖 12 所示; 圖 12 管理員登錄出錯頁面 (8)在學(xué)生管理頁面單擊“導(dǎo)出”按鈕,導(dǎo)出一個學(xué)生的論文,導(dǎo)出時選 第 18 頁 共 21 頁 擇導(dǎo)出位置的界面如圖 13; 圖 13 導(dǎo)出位置選擇 (9)單擊“老師信息管理” ,進入“教師管理”頁面,單擊“添加教師信 息” ,進入“添加教師”頁面,輸入教師的基本信息,單擊“添加”按鈕看能否 添加成功;若成功單擊“返回上頁”按鈕返回“教師管理”頁面,看剛才添加 的教師信息是否已經(jīng)顯示到列表中,單擊“刪除”按鈕,刪除剛才添加的教師 信息,看是否成功; (10)測試完成。 5.35.3 測試結(jié)果測試結(jié)果 在線畢業(yè)論文提交系統(tǒng)的測試相當(dāng)成功,它完成了系統(tǒng)所要求實現(xiàn)的所有功 能,并有一定的冗錯性,即當(dāng)用戶對系統(tǒng)進行了非法操作后,系統(tǒng)能自動給予相應(yīng) 的錯誤處理方法,并能友好的對用戶進行提示;系統(tǒng)的安全性也有比較好,各種 用戶都只能在自己的權(quán)限范圍內(nèi)操作,不能越權(quán)操作;另外系統(tǒng)的界面較為簡潔,用 戶操作起來也很方便。 當(dāng)然系統(tǒng)也有不足的地方,那就是系統(tǒng)在提交論文內(nèi)容時沒有考慮到對圖片 內(nèi)容的提交,將網(wǎng)頁中的內(nèi)容導(dǎo)出到 word 中時,不能夠控制正方部分的細(xì)要格式,如 不同標(biāo)題的不同樣式等,但我相信這些都將在以后對系統(tǒng)的擴展時能得以實現(xiàn)。 結(jié)結(jié) 論論 在線畢業(yè)論文提交系統(tǒng)解決了在線論文提交及論文導(dǎo)出成統(tǒng)一 Word 文檔格 式等問題,同時系統(tǒng)可以實現(xiàn)對學(xué)生提交后的論文進行查詢,若其論文還未被 老師審核學(xué)生還可以進行在線修改,老師對論文的審核也給予了一定的權(quán)限限 制,即每個教師只能審核自己所帶學(xué)生的論文,不能進行刪除等操作,而管理員的 權(quán)限較大,他能夠刪除、導(dǎo)出學(xué)生的論文信息,并能添加刪除老師信息等。 第 19 頁 共 21 頁 通過總體的測試和試用,我發(fā)現(xiàn)該系統(tǒng)還存在以下一些問題: 1、數(shù)據(jù)庫 的設(shè)計不夠?qū)I(yè),字段的命名方式?jīng)]有做很好的統(tǒng)一,可能會導(dǎo)致以后對系統(tǒng) 的擴展的不方便;2、在程序設(shè)計的過程中沒有做好相應(yīng)的注釋,會對今后再次 閱讀該設(shè)計帶來一定的困難;3、在對論文正文提交的時候沒有考慮到論文中的 圖片信息;4、論文導(dǎo)出后不能夠控制論文正方部分的細(xì)要格式,如不同標(biāo)題的 不同樣式等,但我相信這些都將在以后對系統(tǒng)的擴展時能得以實現(xiàn)。 經(jīng)過近四個月的系統(tǒng)開發(fā),不但豐富了我的理論知識,對我的實際動手能 力也有了很大的提高,同時也讓我嘗到了程度設(shè)計過程中的所有辛酸,這讓我 從很大的程度上認(rèn)識到了自己的不足之處。讓我明白了什么叫學(xué)無止境,我會 在以后的工作中仍然要保持積極的學(xué)習(xí)心態(tài),堅持不懈的學(xué)習(xí)新的知識,豐富 自己的頭腦,讓自己“更上一層樓” 。 參考文獻參考文獻 1 奧尼恩,施諾ASP.NET 基礎(chǔ)教程C案例版M北京:清華大學(xué)出版社,2003。 2 江廣順ASP.NET+SQL SERVER 熱門網(wǎng)絡(luò)應(yīng)用開發(fā)詳解M北京:人民郵電出版社, 2006。 3 微軟公司面向.NET 的 WEB 應(yīng)用程序設(shè)計M北京:高等教育出版,2004。 4 金林樵網(wǎng)絡(luò)數(shù)據(jù)庫技術(shù)及應(yīng)用M北京:機械工業(yè)出版社,2002。 5 陳嫻,劉志寶ASP.NET 項目開發(fā)實踐(第 2 版) M北京:清華大學(xué)出版社,2005。 6 鄭人杰,殷人昆實用軟件工程第二版M北京:清華大學(xué)出版社,2004。 7 尚俊杰 程序設(shè)計M北京:清華大學(xué)出版社,2004。 8 張俊,喬宇峰C#程序設(shè)計入門M吉林:吉林電子出版社,2005。 9 微軟公司ADO.NET 程序設(shè)計M北京:高等教育出版社,2004。 10 金雪云ASP.NET 簡明教程(C#篇) M 北京:清華大學(xué)出版社,2006。 第 20 頁 共 21 頁 致致 謝謝 本文是在趙軍老師的熱情關(guān)心和指導(dǎo)下完成的,他淵博的知識和嚴(yán)謹(jǐn)?shù)闹?學(xué)作風(fēng)使我受益匪淺,對順利完成本課題起到了極大的作用。在此向他表示我 最衷心的感謝! 感謝趙軍老師在課題研究初期給予的幫助,在趙軍老師的幫助下課題才得 以很好的展開,有了一個很好的開端!感謝雷科強與朱飛勇同學(xué)在問卷調(diào)查中 給予的幫助,因為他們的協(xié)助,才得以高效率的完成了所有問卷調(diào)查,獲取了 珍貴的數(shù)據(jù)資料! 在論文完成過程中,本人還得到了其他老師和許多同學(xué)的熱心幫助,本人 向他們表示深深的謝意! 最后向在百忙之中評審本文的各位專家、老師表示衷心的感謝! 第 21 頁 共 21 頁 聲聲 明明