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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、<p>  題 目: 高校畢業(yè)設(shè)計/論文選題系統(tǒng)設(shè)計與實現(xiàn) </p><p><b>  目錄</b></p><p><b>  第一章 引言4</b></p><p>  1.1 課題研究的意義4</p><p>  1.2 課題研究的目的及內(nèi)容5

2、</p><p>  1.3 課題研究的特點5</p><p>  1.4 論文研究內(nèi)容5</p><p>  第二章 系統(tǒng)需求分析6</p><p>  2.1 系統(tǒng)總體結(jié)構(gòu)6</p><p>  2.2 系統(tǒng)流程分析6</p><p>  2.2.1系統(tǒng)總體業(yè)務(wù)流程6<

3、;/p><p>  2.2.2系統(tǒng)功能列表9</p><p>  2.2.3系統(tǒng)用例10</p><p>  2.3 系統(tǒng)性能需求11</p><p>  第三章 系統(tǒng)概要設(shè)計12</p><p>  3.1 系統(tǒng)模塊結(jié)構(gòu)設(shè)計13</p><p>  3.2 數(shù)據(jù)庫設(shè)計14</

4、p><p>  3.2.1 數(shù)據(jù)庫需求分析14</p><p>  3.2.1 數(shù)據(jù)庫設(shè)計14</p><p>  第四章 系統(tǒng)實現(xiàn)18</p><p>  4.1 系統(tǒng)WEB界面設(shè)計原則18</p><p>  4.2 系統(tǒng)文件目錄結(jié)構(gòu)設(shè)計18</p><p>  4.3 系統(tǒng)實現(xiàn)1

5、9</p><p>  4.3.1 數(shù)據(jù)庫連接操作類-DB項目集19</p><p>  4.3.2 具體模塊實現(xiàn)及方法調(diào)用21</p><p>  第五章 系統(tǒng)測試29</p><p>  5.1 軟件測試的作用和意義29</p><p>  5.2 測試內(nèi)容30</p><p> 

6、 5.3 測試結(jié)果30</p><p><b>  總結(jié)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>  畢業(yè)設(shè)計選題系統(tǒng)</b></p><p>  專 業(yè):軟件工程 學(xué) 號:8000105228</p><p>  學(xué)生姓名:馬 妍 指導(dǎo)教師: 涂 敏</p><p><b>  摘 要</b></

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

9、畢業(yè)設(shè)計選題系統(tǒng)。在開發(fā)過程中首先分析了其主要的業(yè)務(wù)流程和信息交流交互的內(nèi)容,然后又結(jié)合了學(xué)校對畢業(yè)設(shè)計環(huán)節(jié)的管理標(biāo)準(zhǔn)和要求,經(jīng)過系統(tǒng)的功能設(shè)計和數(shù)據(jù)庫設(shè)計等過程,最終實現(xiàn)了系統(tǒng)要求的全部功能。畢業(yè)設(shè)計選題系統(tǒng)具有用戶登錄、教師基本信息管理、學(xué)生基本信息管理、課題名稱發(fā)布、學(xué)生選題、信息查詢、系統(tǒng)管理等功能。本系統(tǒng)使用ASP.NET技術(shù), Visual C#語言開發(fā),數(shù)據(jù)庫采用 SQL Server技術(shù)。</p><

10、p>  本論文從系統(tǒng)需求分析、概要設(shè)計、詳細(xì)設(shè)計和系統(tǒng)測試這五個角度對系統(tǒng)的開發(fā)過程進行了詳細(xì)的介紹,并對該系統(tǒng)的主要特點以及采用的主要系統(tǒng)開發(fā)工具進行了簡單的介紹。</p><p>  關(guān)鍵詞:B/S,畢業(yè)設(shè)計,選題,管理系統(tǒng),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技術(shù)高速發(fā)展,已經(jīng)到了Web2.0時代,出現(xiàn)了很多新的技術(shù)和工具,這些工具和技術(shù)的出現(xiàn),使得人們從原來Web1.0時

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

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

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

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

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

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

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

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

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

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

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

29、  圖2-2 教務(wù)管理員流程圖</p><p>  圖2-3 教師流程圖</p><p>  圖2-4 學(xué)生流程圖</p><p>  2.2.2系統(tǒng)功能列表</p><p>  開發(fā)這個系統(tǒng)的目的就是使學(xué)生在畢業(yè)設(shè)計選題環(huán)節(jié)中實現(xiàn)選題的規(guī)范化、智能化、高效化、簡便化;同時極大得便捷學(xué)生和指導(dǎo)教師,減輕學(xué)生和教師的勞動強度,提高工作效率和管理

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

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

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

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

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

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

36、業(yè)務(wù)緊密關(guān)聯(lián)的信息系統(tǒng),是隨著業(yè)務(wù)需求的變化而動態(tài)變化的,因此系統(tǒng)必須具有很好的靈活性。 本系統(tǒng)采用模塊化的設(shè)計思想,在結(jié)構(gòu)上具有良好的可伸縮性,可根據(jù)實際業(yè)務(wù)需要擴展模塊。</p><p>  綜上所述,此系統(tǒng)開發(fā)目標(biāo)已明確,在技術(shù)和經(jīng)濟等方面都可行。因此系統(tǒng)的開發(fā)是完全可行的。</p><p>  第三章 系統(tǒng)概要設(shè)計</p><p>  本系統(tǒng)的開發(fā)

37、工作分為以下5個主要階段:</p><p> ?。?)系統(tǒng)需求分析與系統(tǒng)的功能設(shè)計。包括可行性分析、系統(tǒng)詳細(xì)調(diào)查和用戶需求分析,獲取畢業(yè)設(shè)計選題過程的業(yè)務(wù)流程,收集各種用戶對系統(tǒng)功能的要求,整理相關(guān)信息資料,確定系統(tǒng)的開發(fā)范圍。</p><p> ?。?)數(shù)據(jù)庫設(shè)計。確定數(shù)據(jù)庫結(jié)構(gòu),設(shè)計數(shù)據(jù)庫的各種參數(shù)、創(chuàng)建實體數(shù)據(jù)庫和數(shù)據(jù)庫表、數(shù)據(jù)庫關(guān)系表等。</p><p> 

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

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

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

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

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

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

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

45、息查詢模塊查看畢業(yè)設(shè)計題目的具體介紹及詳細(xì)情況以及導(dǎo)師的詳細(xì)資料。</p><p><b>  3.2 數(shù)據(jù)庫設(shè)計</b></p><p>  數(shù)據(jù)庫在一個系統(tǒng)中占有相當(dāng)重要的位置,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計地好壞將直接對應(yīng)用系統(tǒng)地效率以及實現(xiàn)地效果產(chǎn)生影響。合理地數(shù)據(jù)庫結(jié)構(gòu)設(shè)計可以提高數(shù)據(jù)地存儲效率,保證數(shù)據(jù)地完整和一致。設(shè)計數(shù)據(jù)庫系統(tǒng)時應(yīng)該首先充分了解用戶各個方方面地需求,包

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

47、表,文件信息表等。創(chuàng)建任何一個數(shù)據(jù)庫的第一步是仔細(xì)的規(guī)劃數(shù)據(jù)庫,設(shè)計必須是靈活的、有邏輯的。創(chuàng)建一個數(shù)據(jù)庫結(jié)構(gòu)的過程被認(rèn)為是數(shù)據(jù)模型設(shè)計。</p><p>  3.2.1 數(shù)據(jù)庫設(shè)計</p><p>  得到以上數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)以后,就可以設(shè)計出實際的數(shù)據(jù)庫實體,以及他們之間的關(guān)系,為后邊的數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計打基礎(chǔ)。這些實體包括各種具體信息,通過相互之間的作用形成數(shù)據(jù)的流動。</p&

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

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

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

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

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

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

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

55、  比如DataHelper類,他是一個通用處理數(shù)據(jù)的類,提供操作數(shù)據(jù)庫的通用方法,可以執(zhí)行一般的SQL語句,包括查詢和非查詢的SQL語句;也可以執(zhí)行存儲過程。</p><p>  下面是比較常用的一個方法,用來執(zhí)行帶參數(shù)的SQL語句查詢。</p><p>  /// <summary></p><p>  /// 執(zhí)行帶參數(shù)的查詢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("執(zhí)行{0}失敗:{1}", commandText, ex.Message

62、));</p><p><b>  }</b></p><p><b>  }</b></p><p>  4.3.2 具體模塊實現(xiàn)及方法調(diào)用</p><p><b>  登陸頁面</b></p><p>  該畢業(yè)設(shè)計選題系統(tǒng)采用實名制登陸,用戶憑學(xué)號

63、和初始密碼登錄系統(tǒng),教師憑教工號和初始密碼登陸系統(tǒng),教務(wù)人員憑初始密碼登陸系統(tǒng),登錄時根據(jù)不同的角色分配不同的權(quán)限,判斷用戶名密碼是否正確用到了下面的方法:</p><p><b>  //核對學(xué)生密碼</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>  教師和學(xué)生登錄系統(tǒng)后可以修改個人信息及課題信息,需要用到的方法主要有,綁定數(shù)據(jù)源、添加和修改方法,添加數(shù)據(jù)方法如下:</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>  修改數(shù)據(jù)頁面要首先綁定數(shù)據(jù)源,讓頁面顯示該條數(shù)據(jù)修改前的信息,方法如下:</p><p><b>  //課題數(shù)據(jù)綁定</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>  學(xué)生選題頁面</b></p><p>  學(xué)生可以查詢課題信息,并選擇自己合適的課題,相關(guān)方法如下:</p><p>  // 學(xué)生選題 <

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('別人已經(jīng)通過,不能再選!')</script>");</p><p>  this.Response.Write(&qu

89、ot;<script>alert('別人已經(jīng)通過,不能再選!');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>  相關(guān)審核頁面</b></p><p>  教師可以提交課題給管理員審核,審核通過的課題學(xué)生可以選擇,學(xué)生選擇以后教師查看,如果教師審核通過,則選題成功,該模塊用到的方法主要有提交方法和刪除方法。</

99、p><p>  管理員審核相關(guān)方法如下:</p><p>  //審核通過實現(xiàn)方法</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>  //審核不合格實現(xiàn)</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>  //教師審核學(xué)生方法</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、>  //審核結(jié)果提交</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>  學(xué)生可以上傳論文和相關(guān)文檔給老師,文件上傳實現(xiàn)如下:</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 = "服務(wù)器上已經(jīng)有了你正在上傳的文件:" + 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>  //插入文件信息到數(shù)據(jù)庫</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>  第五章 系統(tǒng)測試</b></p><p>  系統(tǒng)的測試在系統(tǒng)開發(fā)中有著重要的意義,不僅關(guān)系到系統(tǒng)各個具體功能的實現(xiàn),同時影響到系統(tǒng)整體功能的實現(xiàn)以及使用的穩(wěn)定性。因此在測試中發(fā)現(xiàn)問題不是壞事,這樣才能更好的解決問題,完善系統(tǒng)的功能,如果不經(jīng)過反復(fù)的測試,即使功能完善,系統(tǒng)的開發(fā)也是不完善的。系統(tǒng)的測試在軟件工程中是很重要的一環(huán),測試階段的根本目的是盡可能多的發(fā)現(xiàn)

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論