2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩34頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  題 目: 高校畢業設計/論文選題系統設計與實現 </p><p><b>  目錄</b></p><p><b>  第一章 引言4</b></p><p>  1.1 課題研究的意義4</p><p>  1.2 課題研究的目的及內容5

2、</p><p>  1.3 課題研究的特點5</p><p>  1.4 論文研究內容5</p><p>  第二章 系統需求分析6</p><p>  2.1 系統總體結構6</p><p>  2.2 系統流程分析6</p><p>  2.2.1系統總體業務流程6<

3、;/p><p>  2.2.2系統功能列表9</p><p>  2.2.3系統用例10</p><p>  2.3 系統性能需求11</p><p>  第三章 系統概要設計12</p><p>  3.1 系統模塊結構設計13</p><p>  3.2 數據庫設計14</

4、p><p>  3.2.1 數據庫需求分析14</p><p>  3.2.1 數據庫設計14</p><p>  第四章 系統實現18</p><p>  4.1 系統WEB界面設計原則18</p><p>  4.2 系統文件目錄結構設計18</p><p>  4.3 系統實現1

5、9</p><p>  4.3.1 數據庫連接操作類-DB項目集19</p><p>  4.3.2 具體模塊實現及方法調用21</p><p>  第五章 系統測試29</p><p>  5.1 軟件測試的作用和意義29</p><p>  5.2 測試內容30</p><p> 

6、 5.3 測試結果30</p><p><b>  總結31</b></p><p>  6.1 本文所做的主要工作31</p><p>  6.2 今后進一步研究的方向31</p><p><b>  參考文獻32</b></p><p><b> 

7、 致謝33</b></p><p><b>  畢業設計選題系統</b></p><p>  專 業:軟件工程 學 號:8000105228</p><p>  學生姓名:馬 妍 指導教師: 涂 敏</p><p><b>  摘 要</b></

8、p><p>  隨著網絡技術和數據庫技術的發展,使人們的現代生活方式發生了深刻的變化。目前,運用先進的管理信息系統及軟件開發平臺,對信息進行科學化和網絡化管理,己經成為高校信息系統的發展趨勢。其中,畢業設計信息網絡管理系統使畢業生在畢業設計的整個過程中以及教師對畢業設計信息管理的過程中實現了系統化,規范化,無紙化。</p><p>  本系統是針對院系級畢業設計教務管理工作,研究、設計并開發的

9、畢業設計選題系統。在開發過程中首先分析了其主要的業務流程和信息交流交互的內容,然后又結合了學校對畢業設計環節的管理標準和要求,經過系統的功能設計和數據庫設計等過程,最終實現了系統要求的全部功能。畢業設計選題系統具有用戶登錄、教師基本信息管理、學生基本信息管理、課題名稱發布、學生選題、信息查詢、系統管理等功能。本系統使用ASP.NET技術, Visual C#語言開發,數據庫采用 SQL Server技術。</p><

10、p>  本論文從系統需求分析、概要設計、詳細設計和系統測試這五個角度對系統的開發過程進行了詳細的介紹,并對該系統的主要特點以及采用的主要系統開發工具進行了簡單的介紹。</p><p>  關鍵詞:B/S,畢業設計,選題,管理系統,ASP.NET </p><p>  Graduate design Selection of subjects Management System<

11、/p><p><b>  ABSTRACT</b></p><p>  With the development of the technology for network and database, people's lifestyle have changed a lot. Currently, using advanced management inform

12、ation systems and platforms of software development to manage information with scientific and network has become develop direction. The Graduation Design Network Management System has achieved systematic, standardized, s

13、cripless, in the whole process of the graduation design.</p><p>  The system is researched, designed and developed for work of graduated designed educational administration management in college. In developm

14、ent course, firstly, I analysis its key of business course and exchange information. Secondly, combined the management standard and request of college graduate design, through the course of the system function design and

15、 database design. Finally, I carry out all functions of the system request. The system has the main functions of users posting, management </p><p>  The thesis from the four points, system requirements analy

16、sis, design, detailed design and system testing, write up development course of system, and simply introduce the main characteristics of system and development tools.</p><p>  Key Words: B/S ,Graduate desig

17、n ,Selection of subjects ,Management System, ASP.NET</p><p><b>  第一章 引言</b></p><p>  1.1 課題研究的意義</p><p>  Web技術高速發展,已經到了Web2.0時代,出現了很多新的技術和工具,這些工具和技術的出現,使得人們從原來Web1.0時

18、代作為個人只能看Web內容過渡到了不僅是內容的瀏覽者,同時也是內容的發布者,人們的交流越來越容易。</p><p>  我國各大院校也加快了信息化進程,并且都建立了自己的校園網。這為我們網絡現代化教育提供了必備的物質基礎。而隨著近年來高校擴招工作的進一步深入,每年畢業生人數不斷增加,再加上院校合并、擴建帶來的異地辦公、教學,畢業設計的管理工作難度越來越大。以往的高校普遍采用傳統的單機管理模式,存在成本高、重復勞動

19、量大、效率低、難維護等缺點,難以適應院校畢業設計管理的要求。</p><p>  針對畢業設計管理過程中,選題靈活性強、指導教師多、工作量大等特點,基于三層體系結構構建了一個適合于高校使用的網上畢業設計管理系統,從學生的角度,可以通過B/S的方式與教師進行交流,實現畢業設計題目的雙向選擇。</p><p>  對于教師來說,教師可以在線添加課題,選擇學生,了解其他老師所發布的課題并作為參考

20、,查看學生上傳的論文,節省和很多時間。對于教務管理,管理人員可以對題目進行審核和,不但提高了工作效率,而且提高了管理水平。</p><p>  課題的目的旨在應用現代的信息網絡化管理技術解決畢業設計管理中存在的問題,減少師生畢業設計選題時間,增進、加強畢業設計過程監控。降低導師和教務人員工作強度。</p><p>  1.2 課題研究的目的及內容</p><p>

21、  本系統主要目的是實現畢業設計選題的網絡化,提高教師、學生和教務人員的效率,降低管理的成本。系統的主要任務是完成畢業生畢業設計環節中的畢業設計選題。主要針對的用戶是學生,教師和教務管理員。學生通過該系統可以進行在線課題查詢、課題選擇、查看選題情況及個人信息的修改;教師用戶可以通過該系統進行課題的操作(添加、修改、刪除),查看選題,調整課題選擇及個人信息的修改;管理員通過該系統可以進行對課題的管理操作,系統的設置等。</p>

22、<p>  1.3 課題研究的特點 </p><p>  當今眾多高校中的畢業設計管理尚未形成系統化,對于畢業設計選題系統還處于不斷摸索完善的階段。本系統優點在于針對本學院畢業設計流程設計定制了整個系統,完全符合本學院內畢業設計選報要求。本文從系統實際需求出發,構建了一種適合畢業設計現狀,又能充分發揮ASP.NET及SQL SERVER 優勢的Web應用系統開發模式。本系統應用了最新的開發工具Vi

23、sual Studio 2008 和SQL SERVER 2008,采用三層架構模式,系統構建簡易,架構清晰。功能擴展性強及通用性高是本系統的特點所在。</p><p>  1.4 論文研究內容 </p><p>  論文主要在系統調查研究的基礎上對系統進行了系統分析,明確了用戶需求,并對數據庫進行設計,分析了該系統數據庫地結構和數據庫安全性措施,根據模塊化原理,將系統分為了幾大功能模塊

24、,并對各部分功能進行了分析,采用結構化程序設計的思想,提出系統尤其是數據查詢子系統地程序設計思想,然后對本系統地測試和安裝進行了分析。全文共分為引言、系統需求分析、系統概要設計、系統實現、系統測試、系統總結、參考文獻和致謝幾個部分。</p><p>  第二章 系統需求分析</p><p>  2.1 系統總體結構</p><p>  根據畢業設計選題系統的具體情況

25、,將該系統共分成教務管理員,教師,學生三大系統模塊,主要包括信息修改,論文題目提交,論文題目審核,題目選報,信息瀏覽等功能。</p><p>  系統總功能如圖所示。</p><p>  圖2-1 系統總體結構圖</p><p>  2.2 系統流程分析</p><p>  2.2.1系統總體業務流程</p><p&g

26、t;  整個系統的總體業務流程如下:</p><p>  系統管理員分配教師和學生的權限,并初始化教師、學生和教務管理人員的用戶名及密碼。</p><p>  教師通過自己的教師工號,初始密碼登錄,登錄后修改密碼及完善個人詳細信息,并可添加課題,提交至教務管理人員處審核。對于為提交和審核未通過的課題,教師可以進行刪除和修改,對于待審核的課題,教師只能查看,不能對其進行任何操作。</p

27、><p>  教務管理人員審核課題是否重復、教師課題量是否符合要求,并將審核結果返回至教師處。</p><p>  學生通過學號和初始密碼登錄,登錄后及時修改密碼和完善個人詳細信息,并可進行選題。每人只能選一個課題,選題成功后等待教師審核。在選擇課題時,學生可以根據教師姓名、課題分類等進行課題篩選,也可查看所有課題。這里學生可以點擊教師姓名鏈接,查看教師詳細信息,還可查看課題詳細信息。<

28、/p><p>  教師審核學生是否可以選擇自己的課題,并將審核結果返回至學生處。</p><p>  學生選題成功后可以上傳論文和相關文檔給自己的導師。</p><p>  教師可以下載學生提交給自己的論文和相關文檔。</p><p>  系統按角色分為教師、學生、教務管理員三類,各部分的功能流程圖如下:</p><p>

29、  圖2-2 教務管理員流程圖</p><p>  圖2-3 教師流程圖</p><p>  圖2-4 學生流程圖</p><p>  2.2.2系統功能列表</p><p>  開發這個系統的目的就是使學生在畢業設計選題環節中實現選題的規范化、智能化、高效化、簡便化;同時極大得便捷學生和指導教師,減輕學生和教師的勞動強度,提高工作效率和管理

30、水平。針對這樣的目的系統設計了如下功能:</p><p>  1. 課題分類設置:包括教務管理員對課題分類的添加、修改、刪除操作。</p><p>  2. 個人信息管理:教師,學生用戶對自己個人基本資料的修改。</p><p>  3. 課題的設置:教師對課題的添加,修改,刪除操作。</p><p>  4. 課題的管理:管理員用戶對課題的

31、審核操作。</p><p>  5. 課題選擇:學生通過系統進行在線選題操作。</p><p>  6. 選題控制:教師對學生選報情況進行審核調整操作。</p><p>  7. 文件管理:學生對論文及相關文檔進行上傳,教師對所上傳文件查詢、下載。</p><p>  系統具體功能列表如下所示:</p><p>  表

32、2.1系統功能列表</p><p><b>  2.2.3系統用例</b></p><p>  該系統共有三類角色,分別為教師,學生和教務管理員,根據系統需求,整體用例如下圖所示:</p><p>  圖2-5 系統用例圖</p><p>  2.3 系統性能需求</p><p>  1、技術可

33、行性分析 </p><p>  就整個系統的技術構成來看,它屬于Visual C#編程與數據庫的結合,將所有的數據信息都放入數據庫進行存儲,而這些數據信息的調用完全由程序來完成,即“程序設計數據化,數據管理程序化”思想。其基本操作是對數據庫進行添加、刪除、查找、編輯等。所以就技術應用來看,暫不存在太大的問題。</p><p>  2、經濟可行性 </p><p

34、>  減少了數據的流通環節,提高了辦公效率,保證了各項數據的準確性,也解決了數據流動造成的數據跟蹤信息丟失等問題,適應了當前的發展形勢。</p><p><b>  3、實用性</b></p><p>  使用本系統的一般操作人員要求有一定計算機基礎。系統管理員要求具有計算機的專業知識。隨著時代的發展,人員素質己逐步提高,不論是對于電腦系統的基本操作還是對于系統

35、的維護都有了一定的基礎。</p><p>  4、基于安全控制 </p><p>  整個系統是一個靈活的、安全的系統。系統有效地保障了個人信息在系統內部流動的安全性。用戶分為學生用戶、教師用戶和教務管理員。普通用戶只能操作本系統設置的相關供給功能,教務管理員能夠管理以及查詢相關信息并作出審核。5、可移植性 </p><p>  畢業設計選題系統作為一個與

36、業務緊密關聯的信息系統,是隨著業務需求的變化而動態變化的,因此系統必須具有很好的靈活性。 本系統采用模塊化的設計思想,在結構上具有良好的可伸縮性,可根據實際業務需要擴展模塊。</p><p>  綜上所述,此系統開發目標已明確,在技術和經濟等方面都可行。因此系統的開發是完全可行的。</p><p>  第三章 系統概要設計</p><p>  本系統的開發

37、工作分為以下5個主要階段:</p><p> ?。?)系統需求分析與系統的功能設計。包括可行性分析、系統詳細調查和用戶需求分析,獲取畢業設計選題過程的業務流程,收集各種用戶對系統功能的要求,整理相關信息資料,確定系統的開發范圍。</p><p> ?。?)數據庫設計。確定數據庫結構,設計數據庫的各種參數、創建實體數據庫和數據庫表、數據庫關系表等。</p><p> 

38、?。?)程序模塊劃分和實現。根據系統所管理的信息的類型和功能對系統進行模塊劃分,分別編寫代碼,逐一實現系統功能。</p><p> ?。?)安全策略設計。根據系統功能劃分用戶類型和權限,并進行安全模型的設計。</p><p> ?。?)測試。完成系統主體功能后,進行系統測試,查找設計缺陷與錯誤,對缺陷和錯誤進行改進和糾正。</p><p>  設計階段的根本任務是確

39、定怎樣具體的實現要求的目標系統,也就是說,經過這個階段的設計工作,應該寫出對系統的精確描述,從而在編輯階段可以把這個描述直接翻譯成用某種程序設計語言書寫的程序。此階段要設計出程序的“藍圖”,開發人員根據這個藍圖寫出實際的程序代碼。因此,詳細設計的結果基本決定了最終程序代碼的質量。除了應該保證程序的可靠性之外,也應保證編寫的程序可讀性好,易于理解、測試、修改和維護,這一點是詳細設計的最重要的目標與任務。此外,界面設計也是本階段完成的主要工

40、作。界面提供了一個人機對話的有效窗口,一個良好的界面不僅能夠使用戶方便快捷的應用這個系統,而且還可以通過界面形象的了解系統所具有的功能。因此,界面設計是系統設計過程中的一個重要的環節。</p><p>  3.1 系統模塊結構設計</p><p>  根據需求分析,系統可分為以下幾個模塊進行系統實現。</p><p>  用戶驗證模塊,按照三種用戶類型(學生、教師、

41、管理員)分成三種驗證,對不同用戶使用不同下拉框提交用戶輸入的用戶名密碼,提交后與數據庫中的對應條目進行對比,查找不到的用戶或者密碼錯誤的用戶則無法登陸面,對正確登錄的用戶,則跳轉到對應用戶類型的主信息界面,用戶登錄后選擇頁面上的退出系統,則會在客戶端和服務器端同時退出用戶;列表打印模塊,學生,教師,管理員在使用系統的過程中隨時可以將頁面上顯示的列表進行打印輸出;幫助信息模塊,用戶登錄系統后,可以通過菜單中的幫助信息連接查詢該用戶類型的幫

42、助提示。</p><p>  教務管理員模塊:分為系統功能設定模塊、情況查詢模塊和課題審核操作模塊。</p><p>  系統功能設定模塊,教務管理員可以對課題分類進行編輯,方便學生選題查詢;課題審核操作模塊,教務管理員可以對教師提交的畢業設計題目進行審核操作,決定是否審核通過,審核通過的題目學生才可以選報;情況查詢模塊,教務管理員隨時可以通過情況查詢模塊查看題目提交情況、審核通過情況、學

43、生選報情況等。</p><p>  教師模塊:個人資料修改模塊,課題模塊,信息查詢模塊和審核模塊。</p><p>  個人資料修改模塊,教師登錄系統后可以通過個人資料修改模塊對初始化信息進行修改完善;課題模塊,教師可以增加和編輯畢業課題,并且提交課題,提交后的題目進入待審核狀態;審核模塊,教師可以對選題的學生進行審核,審核通過表示學生已成功選擇了該課;課題信息查詢模塊,教師可以通過信息查

44、詢模塊查看提交題目審核結果、選報情況以及選報題目的學生信息。</p><p>  學生模塊:個人資料修改模塊,選題模塊,信息查詢模塊。</p><p>  個人資料修改模塊,學生登錄系統后可以通過個人資料修改模塊對初始化的個人信息進行修改完善;選題模塊,學生通過選題模塊查詢可選畢業設計題目,并且對畢業設計題目進行選報,每個學生只能選報一個課題,選報后進入待審核狀態;信息查詢模塊,學生通過信

45、息查詢模塊查看畢業設計題目的具體介紹及詳細情況以及導師的詳細資料。</p><p><b>  3.2 數據庫設計</b></p><p>  數據庫在一個系統中占有相當重要的位置,數據庫結構設計地好壞將直接對應用系統地效率以及實現地效果產生影響。合理地數據庫結構設計可以提高數據地存儲效率,保證數據地完整和一致。設計數據庫系統時應該首先充分了解用戶各個方方面地需求,包

46、括現有的及將來可能增加的需求,數據庫設計一般包括兩個步驟:1.數據庫需求分析;2.數據庫設計</p><p>  3.2.1 數據庫需求分析</p><p>  盡量合理地減少數據庫的冗余,使重復的數據保持在最小限度,這樣將盡量少的占用存儲空間,減少產生混亂影響的危險,還能提高計算機的運行速度。作為畢業設計選題系統,必須解決以下方面的問題:能錄入信息,所需錄入地表有用戶基本信息表、課題信息

47、表,文件信息表等。創建任何一個數據庫的第一步是仔細的規劃數據庫,設計必須是靈活的、有邏輯的。創建一個數據庫結構的過程被認為是數據模型設計。</p><p>  3.2.1 數據庫設計</p><p>  得到以上數據項和數據結構以后,就可以設計出實際的數據庫實體,以及他們之間的關系,為后邊的數據庫邏輯結構設計打基礎。這些實體包括各種具體信息,通過相互之間的作用形成數據的流動。</p&

48、gt;<p>  此畢業設計信息管理系統包含以下實體:學生用戶信息實體,教師用戶信息實體,教務管理員用戶信息實體,畢業設計課題信息實體,教師設計文檔信息實體等。各實體間E-R圖如下:</p><p>  圖3-1 各實體E-R圖</p><p>  其中一個教務管理員可以管理審核多個畢業設計課題,可以添加多個課題分類;一個教師課題提交多個畢業設計課題,下載多個文件;一個學生

49、只能選擇一個畢業設計課題,但可以上傳多個文件。</p><p>  基于E-R圖的設計,根據提出的要求,新建數據庫GP,用來存放相關數據表,并設計了如下的數據庫表結構:</p><p>  表3.1 管理員信息表(AdminInfo)</p><p>  表3.2 課題分類表(Classification)</p><p>  表3.3 權

50、限表(Role)</p><p>  表3.4 學生信息表(StudentInfo)</p><p>  表3.5 教師信息表(TeacherInfo)</p><p>  表3.6 學生選題表(StudentTopic)</p><p>  表3.7 選題信息表(TopicInfo)</p><p>  表3

51、.8 文件表(TextInfo)</p><p>  根據以上數據庫表,建立數據庫關系圖,數據庫GP中各數據表之間關系如下圖所示:</p><p>  圖3-2 數據庫關系圖</p><p><b>  第四章 系統實現</b></p><p>  4.1 系統WEB界面設計原則</p><p>

52、  系統是信息的載體形式,色彩設計必須以完成系統可視性閱讀功能為目的。整個系統采用藍白基調。</p><p>  系統界面采用CSS+DIV的設計樣式布局,各功能模塊易于管理,添加修改系統界面簡單方便。系統首頁如下:</p><p><b>  圖4-1 系統首頁</b></p><p>  4.2 系統文件目錄結構設計</p>

53、<p>  本系統有三種類型用戶:學生,教師,管理員,因為他們的權限各不相同,各自操作對象,操作內容也不相同,所以將他們各自分配一個目錄,分別設計各自的操作頁面,分別設計程序。系統文件目錄如下:</p><p>  圖4-2 系統文件目錄</p><p><b>  4.3 系統實現</b></p><p>  4.3.1 數據庫連

54、接操作類-DB項目集</p><p>  圖4-3 DB項目集目錄結構</p><p>  在ASP.NET中通過ADO.NET技術對數據庫進行操作。ADO.NET中有許多很方便的類可用來操作數據庫,例如SqlConnection類、DataTable類、SqlCommand類、DataSet類等。為了方便系統實現,故對其進行封裝,存放在項目集中。</p><p>

55、  比如DataHelper類,他是一個通用處理數據的類,提供操作數據庫的通用方法,可以執行一般的SQL語句,包括查詢和非查詢的SQL語句;也可以執行存儲過程。</p><p>  下面是比較常用的一個方法,用來執行帶參數的SQL語句查詢。</p><p>  /// <summary></p><p>  /// 執行帶參數的查詢SQL語句</p

56、><p>  /// </summary></p><p>  /// <param name="commandText"></param></p><p>  /// <param name="parameters"></param></p><p&

57、gt;  /// <returns>返回一個DataTable</returns></p><p>  public DataTable ExecCommandForDataTable(string commandText, params SqlParameter[] parameters)</p><p><b>  {</b></p&

58、gt;<p><b>  try</b></p><p><b>  {</b></p><p>  DataTable dt = null;</p><p>  if (_transaction == null)</p><p><b>  {</b></

59、p><p>  dt = SqlHelper.ExecuteDataTable(_connection, CommandType.Text, commandText, parameters);</p><p><b>  }</b></p><p><b>  else</b></p><p><

60、b>  {</b></p><p>  dt = SqlHelper.ExecuteDataTable(_transaction, CommandType.Text, commandText, parameters);</p><p><b>  }</b></p><p>  return dt;</p>&l

61、t;p><b>  }</b></p><p>  catch (Exception ex)</p><p><b>  {</b></p><p>  throw new Exception(string.Format("執行{0}失敗:{1}", commandText, ex.Message

62、));</p><p><b>  }</b></p><p><b>  }</b></p><p>  4.3.2 具體模塊實現及方法調用</p><p><b>  登陸頁面</b></p><p>  該畢業設計選題系統采用實名制登陸,用戶憑學號

63、和初始密碼登錄系統,教師憑教工號和初始密碼登陸系統,教務人員憑初始密碼登陸系統,登錄時根據不同的角色分配不同的權限,判斷用戶名密碼是否正確用到了下面的方法:</p><p><b>  //核對學生密碼</b></p><p>  public static bool CheckStudentLogin(string id, string password)</

64、p><p><b>  {</b></p><p>  bool flag = false;</p><p>  DataHelper dh = new DataHelper();</p><p>  string sql = "select * from StudentInfo where StudentID=&

65、#39;" + id + "' and Password = '" + password + "'";</p><p>  DbDataReader dda = DataAccess.ExecuteDataReader(sql);</p><p>  if (sql != null && dda.Ha

66、sRows)</p><p><b>  {</b></p><p>  flag = true;</p><p>  } </p><p>  return flag;</p><p><b>  }</b></p><p>&

67、lt;b>  信息修改頁面</b></p><p>  教師和學生登錄系統后可以修改個人信息及課題信息,需要用到的方法主要有,綁定數據源、添加和修改方法,添加數據方法如下:</p><p><b>  //課題添加</b></p><p>  public void addDataBand(string s, string i

68、d,string tid)</p><p>  { </p><p>  DataHelper dh = new DataHelper();</p><p>  string sql = "insert into TopicInfo (ClassificationID,TopicName,Summary,TeacherID,FlagT

69、eacher) values('" + id + "','" + s + "','" + ftbAdd.Text + "','" + tid + "','0')";</p><p>  dh.ExecCommand(sql);</p>

70、<p><b>  }</b></p><p>  修改數據頁面要首先綁定數據源,讓頁面顯示該條數據修改前的信息,方法如下:</p><p><b>  //課題數據綁定</b></p><p>  public void topicDataBind(int id)</p><p>&

71、lt;b>  { </b></p><p>  string sql = "select * from TopicInfo where TopicID=" + id + "";</p><p><b>  try</b></p><p><b>  {</b

72、></p><p>  DataHelper dh = new DataHelper();</p><p>  DataTable dt = dh.ExecCommandForDataTable(sql);</p><p>  if (dt.Rows.Count > 0)</p><p><b>  {</b>

73、;</p><p>  this.txtName.Text = dt.Rows[0]["TopicName"].ToString();</p><p>  this.ftbEdit.Text = dt.Rows[0]["Summary"].ToString();</p><p>  this.ddl2.SelectedItem

74、.Value = dt.Rows[0]["ClassificationId"].ToString(); </p><p><b>  }</b></p><p><b>  }</b></p><p>  catch (Exception ex)</p>

75、<p><b>  {</b></p><p><b>  throw ex;</b></p><p><b>  }</b></p><p><b>  } </b></p><p>  // 課題修改 </

76、p><p>  public void UpdateDataBandT(int id, string tname, string s, string c)</p><p><b>  {</b></p><p>  DataHelper dh = new DataHelper();</p><p>  string sql

77、= "update TopicInfo set [TopicName]='" + tname + "',[Summary]='" + s + "',[ClassificationId]='" + c + "'where TopicID='" + id + "'";</p

78、><p>  dh.ExecCommand(sql);</p><p><b>  }</b></p><p><b>  學生選題頁面</b></p><p>  學生可以查詢課題信息,并選擇自己合適的課題,相關方法如下:</p><p>  // 學生選題 <

79、/p><p>  protected void jgvTopicS_RowCommand(object sender, GridViewCommandEventArgs e)</p><p><b>  {</b></p><p>  int tid = Convert.ToInt32(e.CommandArgument.ToString());&

80、lt;/p><p>  string sid = Session["ID"].ToString(); </p><p>  string sqlquery1 = "select * from [StudentTopic] where StudentID='" + sid + "'";</p&g

81、t;<p>  string sqlquery2 = "select * from [StudentTopic] where TopicID= '" + tid + "' and State='1'";</p><p>  string sql = "insert into StudentTopic (StudentI

82、D,TopicID,State) values('" + sid + "','" + tid + "','0')";</p><p>  DataHelper dh = new DataHelper();</p><p>  DataTable ds1 = dh.ExecCommandForD

83、ataTable(sqlquery1);</p><p>  DataTable ds2 = dh.ExecCommandForDataTable(sqlquery2); </p><p>  if (ds1.Rows.Count == 0 && ds2.Rows.Count == 0)</p><p><b>  {&

84、lt;/b></p><p>  dh.ExecCommand(sql);</p><p>  //Response.Write("<script>alert('選題成功!')</script>");</p><p>  this.Response.Write("<script>

85、alert('選題成功!');window.opener.location.href=window.opener.location.href;</script>");</p><p>  Response.End();</p><p>  } </p><p>  if (ds1.Rows.Count>0

86、)</p><p><b>  {</b></p><p>  //Response.Write("<script>alert('你已選,請等待審核!')</script>");</p><p>  this.Response.Write("<script>ale

87、rt('你已選,請等待審核!');window.opener.location.href=window.opener.location.href;</script>");</p><p>  Response.End();</p><p><b>  }</b></p><p>  else if (ds2

88、.Rows.Count > 0)</p><p><b>  {</b></p><p>  //Response.Write("<script>alert('別人已經通過,不能再選!')</script>");</p><p>  this.Response.Write(&qu

89、ot;<script>alert('別人已經通過,不能再選!');window.opener.location.href=window.opener.location.href;</script>");</p><p>  Response.End();</p><p><b>  } </b></p>

90、<p><b>  }</b></p><p><b>  // 查詢方法</b></p><p>  public DataTable getSearch(string name, string teacher, string ddl)</p><p>  { </p>

91、<p><b>  try</b></p><p><b>  {</b></p><p>  DataHelper dh = new DataHelper();</p><p>  string sqlwhere = " ";</p><p>  if (!name.

92、Equals(""))</p><p><b>  {</b></p><p>  sqlwhere += " and TopicName like '%" + name + "%'";</p><p><b>  }</b></p>

93、<p>  if (!teacher.Equals(""))</p><p><b>  {</b></p><p>  sqlwhere += " and TeacherInfo.TeacherName like '%" + teacher + "%'";</p>

94、<p><b>  }</b></p><p>  if (!ddl.Equals(""))</p><p><b>  {</b></p><p>  sqlwhere += " and TopicInfo.ClassificationID like '%" +

95、 ddl + "%'";</p><p><b>  }</b></p><p>  string sql = "select TopicInfo.TopicID,TopicName,ClassificationName,TopicInfo.TeacherID,TeacherInfo.TeacherName from TopicI

96、nfo,Classification,TeacherInfo where TopicInfo.ClassificationID=Classification.ClassificationID and FlagTeacher='2'" + sqlwhere;</p><p>  DataTable dt = dh.ExecCommandForDataTable(sql);</p>

97、;<p>  return dt;</p><p><b>  }</b></p><p>  catch (Exception e)</p><p><b>  {</b></p><p><b>  throw e;</b></p><p&

98、gt;<b>  }</b></p><p><b>  }</b></p><p><b>  相關審核頁面</b></p><p>  教師可以提交課題給管理員審核,審核通過的課題學生可以選擇,學生選擇以后教師查看,如果教師審核通過,則選題成功,該模塊用到的方法主要有提交方法和刪除方法。</

99、p><p>  管理員審核相關方法如下:</p><p>  //審核通過實現方法</p><p>  private void seledokatabind(int TopicID)</p><p><b>  {</b></p><p>  DataHelper da = new DataHelp

100、er();</p><p>  string str = "update [TopicInfo] set [FlagTeacher]='2' where [TopicID]=" + TopicID + "";</p><p>  da.ExecCommand(str);</p><p><b>  }

101、</b></p><p>  protected void btn3_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  List<string> selId = this.jgvTopic.CheckedRowKeysOfAllPages;&l

102、t;/p><p><b>  try</b></p><p><b>  {</b></p><p>  foreach (string id in selId)</p><p><b>  {</b></p><p>  int TopicID = Con

103、vert.ToInt32(id);</p><p>  seledokatabind(TopicID);</p><p><b>  }</b></p><p>  jgvTopic.DataBind(); </p><p><b>  }</b></p>

104、<p>  catch (Exception ex)</p><p><b>  {</b></p><p><b>  throw ex;</b></p><p><b>  }</b></p><p><b>  }</b></p>

105、;<p><b>  //審核不合格實現</b></p><p>  private void selednoatabind(int TopicID)</p><p><b>  {</b></p><p>  DataHelper da = new DataHelper();</p><

106、p>  string str = "update [TopicInfo] set [FlagTeacher]='0' where [TopicID]=" + TopicID + "";</p><p>  da.ExecCommand(str);</p><p><b>  }</b></p>

107、<p>  protected void btn4_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  List<string> selId = this.jgvTopic.CheckedRowKeysOfAllPages;</p><p>&l

108、t;b>  try</b></p><p><b>  {</b></p><p>  foreach (string id in selId)</p><p><b>  {</b></p><p>  int TopicID = Convert.ToInt32(id);<

109、/p><p>  selednoatabind(TopicID);</p><p><b>  }</b></p><p>  jgvTopic.DataBind(); </p><p><b>  }</b></p><p>  catch (Exce

110、ption ex)</p><p><b>  {</b></p><p><b>  throw ex;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b> 

111、 教師審核方法:</b></p><p>  //教師審核學生方法</p><p>  private void up(int TopicID)</p><p><b>  {</b></p><p>  DataHelper da = new DataHelper();</p><p&g

112、t;  string str = "update [StudentTopic] set [State]='1' where [TopicID]='" + TopicID + "'";</p><p>  da.ExecCommand(str);</p><p>  string sqldelete = "de

113、lete from StudentTopic where State='0' and TopicID= '" + TopicID + "'";</p><p>  da.ExecCommand(sqldelete);</p><p><b>  }</b></p><p><b

114、>  //審核結果提交</b></p><p>  protected void btnSubmitC_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  List<string> upid = this.jgvTopicC.Checked

115、RowKeysOfAllPages;</p><p><b>  try</b></p><p><b>  {</b></p><p>  foreach (string id in upid)</p><p><b>  {</b></p><p>

116、  int TopicID = Convert.ToInt32(id);</p><p>  up(TopicID);</p><p><b>  }</b></p><p>  jgvTopicC.DataBind();</p><p><b>  }</b></p><p&g

117、t;  catch (Exception ex)</p><p><b>  {</b></p><p><b>  throw ex;</b></p><p><b>  }</b></p><p><b>  }</b></p><

118、p><b>  文件上傳頁面</b></p><p>  學生可以上傳論文和相關文檔給老師,文件上傳實現如下:</p><p><b>  //文件上傳</b></p><p>  protected void btnUpload_Click(object sender, EventArgs e)</p>

119、<p><b>  {</b></p><p>  if (File1.PostedFile.ContentLength != 0)</p><p><b>  {</b></p><p>  StringBuilder myStr = new StringBuilder();</p><

120、p>  myStr.Append("文件名:" + File1.PostedFile.FileName);</p><p>  myStr.Append("<br>"); </p><p>  myStr.Append("文件長度:" + File1.PostedFile.Conte

121、ntLength.ToString());</p><p>  myStr.Append("<br>");</p><p>  string path = Server.MapPath("../text/");</p><p>  string fileName = File1.PostedFile.FileNam

122、e.Substring(File1.PostedFile.FileName.LastIndexOf(' ') + 1);</p><p>  path += fileName;</p><p>  if (File.Exists(path) == true)</p><p><b>  {</b></p><

123、p>  lbl.Text = "服務器上已經有了你正在上傳的文件:" + fileName;</p><p><b>  return;</b></p><p><b>  }</b></p><p>  File1.PostedFile.SaveAs(path);</p><

124、p>  myStr.Append("保存完畢!");</p><p>  myStr.Append("<br>");</p><p>  lbl.Text = myStr.ToString();</p><p>  //插入文件信息到數據庫</p><p>  string id =

125、"8000105228";</p><p>  string time = DateTime.Now.ToString();</p><p>  addDataBand(id, time, fileName);</p><p><b>  }</b></p><p><b>  else&l

126、t;/b></p><p><b>  {</b></p><p>  lbl.Text = "你沒有選擇要上載的文件或者上傳的文件長度為0!";</p><p><b>  }</b></p><p><b>  }</b></p>&

127、lt;p><b>  第五章 系統測試</b></p><p>  系統的測試在系統開發中有著重要的意義,不僅關系到系統各個具體功能的實現,同時影響到系統整體功能的實現以及使用的穩定性。因此在測試中發現問題不是壞事,這樣才能更好的解決問題,完善系統的功能,如果不經過反復的測試,即使功能完善,系統的開發也是不完善的。系統的測試在軟件工程中是很重要的一環,測試階段的根本目的是盡可能多的發現

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論