智能管理系統(tǒng)的設計與實現(xiàn)畢業(yè)設計_第1頁
已閱讀1頁,還剩70頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  基于ASP.NET MVC3的畢業(yè)設計智能管理系統(tǒng)的設計與實現(xiàn)</p><p>  學院名稱: 計算機工程學院 </p><p>  專 業(yè): 軟件工程 </p><p>  班 級: </p><p>  學

2、 號: </p><p>  姓 名: </p><p>  指導教師姓名: xx </p><p>  指導教師職稱: 講師 </p><p>  二〇一三 年 六 月</p>

3、<p>  基于ASP.NET MVC3的畢業(yè)設計智能管理系統(tǒng)的設計與實現(xiàn)</p><p>  摘 要:隨著信息的飛速發(fā)展,教育信息化的普及。畢業(yè)設計管理系統(tǒng)開始在高校中使用。其優(yōu)點在于信息公開,信息傳達及時,資料保存完整,正確性高,不需要耗費大量的人力和物力,操作方便等。為此,越來越多的高校選擇用畢業(yè)設計管理系統(tǒng)替代人工操作,這就為設計畢業(yè)論文管理系統(tǒng)提供了市場需要。</p><

4、p>  本設計說明書根據(jù)江蘇理工學院畢業(yè)設計過程的實際情況,詳細介紹了江蘇理工學院畢業(yè)設計智能管理系統(tǒng)的設計和實現(xiàn)流程。系統(tǒng)運用軟件工程原理和開發(fā)方法,通過可行性研究、需求分析、概要設計、詳細設計等步驟進行分析和設計,并采用ASP.NET MVC 3.0模式,Entity Framework實體框架,Jquery、AJAX技術以及JSON數(shù)據(jù)交換格式等開發(fā)實現(xiàn)。同時,采用Visual Studio 2010作為開發(fā)工具和SQL S

5、erver 2008數(shù)據(jù)庫實現(xiàn)數(shù)據(jù)存儲。系統(tǒng)能夠滿足學校畢業(yè)設計過程的基本要求,包括畢業(yè)設計管理,信息維護,文章管理等功能模塊,從而實現(xiàn)學校畢業(yè)設計過程的自動化。</p><p>  關鍵詞:畢業(yè)設計智能管理,ASP.NET MVC,Entity Framework,AJAX,JSON</p><p>  The Design and Implementation of Graduatio

6、n Design Intelligent Management System Based on The ASP.NET MVC 3</p><p>  Abstract: With the rapid development of information and the popularization of education informatization. Graduation design managemen

7、t system has been used in colleges and universities. Its advantage is that information disclosure and information in a timely manner, data intact, accuracy is high, do not need to spend a lot of manpower and material res

8、ources, convenient operation, etc. Therefore, more and more colleges and universities choose to use graduation design management system instead of m</p><p>  This design instruction according to the actual s

9、ituation of jiangsu institute of technology graduate design process, jiangsu institute of graduation design management system was introduced in detail the design and implementation of the process. System using the princi

10、ple of software engineering and development methods, through the feasibility study, demand analysis, outline design, detailed design steps of analysis and design, and uses the ASP. NET MVC 3.0 pattern, the Entity Framewo

11、rk , AJAX t</p><p>  Key words: graduation design management,MVC,Entity Framework,AJAX,JSON</p><p><b>  目錄</b></p><p><b>  引 言1</b></p><p>  第1

12、章概 述2</p><p>  1.1 系統(tǒng)開發(fā)背景2</p><p>  1.2 系統(tǒng)研究目標和內(nèi)容2</p><p>  第2章 可行性研究1</p><p>  2.1 技術可行性1</p><p>  2.1.1 開發(fā)技術1</p><p>  2.1.2 開

13、發(fā)環(huán)境3</p><p>  2.2 操作可行性3</p><p>  第3章 需求分析4</p><p>  3.1 功能概況描述4</p><p>  3.2 功能用例圖及活動圖5</p><p>  第4章 概要設計15</p><p>  4.1 系統(tǒng)類圖與順序圖

14、15</p><p>  4.2 數(shù)據(jù)結構與數(shù)據(jù)庫設計23</p><p>  4.2.1 基本實體表23</p><p>  4.2.2 CDM圖23</p><p>  4.2.3 表設計24</p><p>  第5章 詳細設計30</p><p>  5.1 開發(fā)準備

15、30</p><p>  5.2 畢業(yè)設計管理模塊31</p><p>  5.2.1 登錄設置31</p><p>  5.2.2 申報選題33</p><p>  5.2.3 選取學生功能35</p><p>  5.2.4 選題審批功能37</p><p>  5.2.5 任務

16、書功能40</p><p>  5.2.6 開題報告功能42</p><p>  5.2.7 過程管理功能43</p><p>  5.2.8 查看論文功能45</p><p>  5.2.9 審閱功能47</p><p>  5.2.10 評閱功能48</p><p>  5.3

17、 信息管理模塊51</p><p>  5.3.1 學生信息維護51</p><p>  5.3.2 教師信息維護52</p><p>  5.4 文章管理模塊53</p><p>  5.4.1 新聞管理53</p><p>  第6章 系統(tǒng)測試與運行55</p><p>  

18、6.1 系統(tǒng)測試描述55</p><p>  6.2 系統(tǒng)登陸測試55</p><p>  6.2.1 測試目的55</p><p>  6.2.2 測試過程及結果55</p><p>  6.3 申報選題測試56</p><p>  6.3.1 測試目的56</p><p>

19、  6.3.2 測試過程及結果56</p><p>  6.4 選取學生測試56</p><p>  6.4.1 測試目的56</p><p>  6.4.2 測試過程及結果56</p><p>  6.5 選題審批測試57</p><p>  6.5.1 測試目的57</p><p

20、>  6.5.2 測試過程及結果57</p><p>  6.6 開題報告測試57</p><p>  6.6.1 測試目的57</p><p>  6.6.2 測試過程及結果57</p><p><b>  結束語59</b></p><p><b>  參考文獻6

21、0</b></p><p><b>  致 謝62</b></p><p><b>  引 言</b></p><p>  建立一套畢業(yè)設計管理系統(tǒng),能夠改善及減少人工操作帶來的不足,提高師生在畢業(yè)設計過程中的效率,同時,也加強了管理的信息化手段。計算機的應用已經(jīng)滲透到了各個領域,使用計算機對高校畢業(yè)設計進

22、行智能化管理也已被大部分高校所采用,其具有手工管理所無法比擬的優(yōu)點,使得整個管理工作更加系統(tǒng)、規(guī)范,大大提高工作質(zhì)量和效率的同時,讓增進了師生間的及時交互。</p><p>  因此,一套有效、規(guī)范化的畢業(yè)設計管理系統(tǒng)軟件對于一所高校而言是絕對必要的。本系統(tǒng)的主要目的在于進行無紙化辦公并且能夠處理師生在畢業(yè)設計期間的交互工作。該系統(tǒng)采用B/S結構,利用ASP .NET MVC 3.0框架、Entity Frame

23、work實體框架以及SQL Server 2008 數(shù)據(jù)庫等技術來設計開發(fā)。其中,部分頁面開發(fā)運用了AJAX技術及JSON數(shù)據(jù)交換格式;使用MVC模式來將業(yè)務邏輯和數(shù)據(jù)顯示分離;使用Entity Framework實現(xiàn)實體類和數(shù)據(jù)庫的映射。</p><p>  至此,本設計說明書著重介紹了江蘇理工學院畢業(yè)設計管理系統(tǒng)的分析與設計過程,共分為6章。第1章概述,主要介紹了系統(tǒng)的開發(fā)背景、研究目標和內(nèi)容;第2章可行性研

24、究,主要介紹了系統(tǒng)技術和操作可行性;第3章需求分析,主要介紹了通過分析提煉功能用例圖等面向?qū)ο竽P?;?章概要設計,包括系統(tǒng)總體設計、數(shù)據(jù)庫設計等內(nèi)容;第5章詳細設計,主要介紹開發(fā)前的準備以及各個功能模塊的詳細設計過程;第6章系統(tǒng)測試運行,主要介紹通過測試檢測系統(tǒng)運行效果和穩(wěn)定性,是否達到預期目標。</p><p><b>  概 述</b></p><p>  1

25、.1 系統(tǒng)開發(fā)背景</p><p>  隨著信息化時代的來臨,計算機與網(wǎng)絡的使用越來越普及,教育信息化也成了必然趨勢。對于江蘇理工學院學生畢業(yè)設計的管理工作卻仍由人工來進行完成。人工操作必定存在很多的缺陷,必須告別傳統(tǒng)的人工數(shù)據(jù)管理方式才能提高學校對學生畢業(yè)設計的管理。因此開發(fā)江蘇理工學院畢業(yè)設計管理系統(tǒng)尤為重要。</p><p>  隨著學校的規(guī)模不斷擴大,學生人數(shù)成倍增長,積累了大量

26、的學生信息,急需進行統(tǒng)一管理以防信息流失。畢業(yè)設計管理系統(tǒng)軟件使管理畢業(yè)生設計的工作在該系統(tǒng)的配合下更加高效和便捷。使得該系統(tǒng)具有很大的應用前景。</p><p>  1.2 系統(tǒng)研究目標和內(nèi)容</p><p>  面對當前江蘇理工學院畢業(yè)設計管理的現(xiàn)狀,急需一個完備的畢業(yè)設計管理系統(tǒng)來為師生及管理員提供便捷的服務。因此,開發(fā)該畢業(yè)設計管理系統(tǒng)是必然的。而江蘇理工學院畢業(yè)設計管理系統(tǒng)的開

27、發(fā)正是為了滿足學校對于學生畢業(yè)設計管理的需求,能夠通過本系統(tǒng)來實現(xiàn)畢業(yè)設計的規(guī)范化處理,使整個管理工作更加系統(tǒng),規(guī)范,完備,大大提高了工作的效率和質(zhì)量。</p><p>  本設計說明書主要闡述一個功能比較完整的畢業(yè)設計管理系統(tǒng)都是子系統(tǒng)的后臺操作過程及一些關鍵技術。它基本滿足學校對學生畢業(yè)設計管理的基本要求和過程。包括:審報選題、開題報告、任務書、過程管理、中期檢查、審閱、評閱等等功能。此外,本系統(tǒng)采用B/S結

28、構,基于其可管理性、易于部署、便于維護以及擴展性等諸多優(yōu)點,將能夠很好地完成系統(tǒng)所要求的全部功能。</p><p>  第2章 可行性分析</p><p>  2.1 技術可行性</p><p>  2.1.1 開發(fā)技術</p><p><b>  1.AJAX</b></p><p>  

29、AJAX是指一種創(chuàng)建交互式網(wǎng)頁應用的網(wǎng)頁開發(fā)技術[1],Ajax的核心是JavaScript對象XmlHttpRequest。該對象在Internet Explorer 5中首次引入,它是一種支持異步請求的技術。通過 AJAX,JavaScript 可使用JavaScript的XMLHttpRequest對象來直接與服務器進行通信。使用這個對象, JavaScript 可在不重載頁面的情況與Web服務器交換數(shù)據(jù)。簡而言之,XmlHttp

30、Request可以使用JavaScript向服務器提出請求并處理響應,而不阻塞用戶。</p><p>  2.ASP.NET MVC 3.0模式</p><p>  MVC是目前廣泛流行的一種設計模式,MVC是Model-View-Controller的縮寫[2]。 MVC是一個框架模式,它強制性的使應用程序的輸入、處理和輸出分開。使用MVC應用程序被分成三個核心部件:模型、視圖、控制器。

31、它們之間相互獨立又相互聯(lián)系</p><p>  圖 2-1 MVC關系圖[3]</p><p>  3.Entity Framework實體模型</p><p>  在 .Net Framework SP1 微軟包含一個實體框架(Entity Framework)[4],此框架可以理解成微軟的一個ORM產(chǎn)品。用于支持開發(fā)人員通過對概念性應用程序模型編程(而不是直接對

32、關系存儲架構編程)來創(chuàng)建數(shù)據(jù)訪問應用程序。目標是降低面向數(shù)據(jù)的應用程序所需的代碼量并減輕維護工作。Entity Framework應用程序有以下優(yōu)點:</p><p>  應用程序可以通過更加以應用程序為中心的概念性模型(包括具有繼承性、復雜成員和關系的類型)來工作。</p><p>  應用程序不再對特定的數(shù)據(jù)引擎或存儲架構具有硬編碼依賴性。</p><p>  

33、可以在不更改應用程序代碼的情況下更改概念性模型與特定的存儲的架構之間的映射。</p><p>  開發(fā)人員可以使用可映射到各種存儲架構(可能在不同的數(shù)據(jù)庫管理系統(tǒng)中實現(xiàn))的一致的應用程序?qū)ο竽P汀?lt;/p><p>  多個概念性模型可以映射到同一個存儲架構。</p><p>  語言集成查詢支持可為查詢提供針對概念性模型的編譯時語法驗證。</p>&l

34、t;p>  4.RAZOR視圖引擎</p><p>  類似于傳統(tǒng)ASP.NET的母版頁、用戶控件機制。母版頁可以提供統(tǒng)一的外觀,按照原來的思路,一般會在母版頁中插入ContentPlaceHolder控件來指明哪部分是要被使用頁來替換內(nèi)容的,在Razor中,它不叫ContentPlaceHodler,叫RenderBody[5]。對于常用的文件上傳功能,Razor做了封裝,讓我們使用更加的方便,只需簡單的

35、在頁面上使用FileUpload類的相關方法即可,配合Razor的清爽語法,可讀性非常高。</p><p><b>  5. JSON</b></p><p>  JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式[6]。JSON 可以將 JavaScript 對象中表示的一組數(shù)據(jù)轉(zhuǎn)換為字符串,然后就可以在函數(shù)之間輕松地傳遞這

36、個字符串,或者在異步應用程序中將字符串從 Web 客戶機傳遞給服務器端程序。</p><p><b>  6. JQuery</b></p><p>  jQuery 是一個 JavaScript 庫。它兼容CSS3,還兼容各種瀏覽器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。jQuery使用戶能更方便地處理HTML doc

37、uments、events、實現(xiàn)動畫效果,并且方便地為網(wǎng)站提供AJAX交互。jQuery還有一個比較大的優(yōu)勢是,它的文檔說明很全,而且各種應用也說得很詳細,同時還有許多成熟的插件可供選擇。</p><p>  2.1.2 開發(fā)環(huán)境</p><p>  本系統(tǒng)是在Windows 7操作系統(tǒng)下,基于ASP.NET和瀏覽器IE 9.0的B/S結構系統(tǒng)。本系統(tǒng)主要使用.NET 4.0中的JQue

38、ry EasyUI等來完成前臺頁面的開發(fā),由SQL Server 2008完成數(shù)據(jù)庫、表的設計。運用MVC模型將前臺,數(shù)據(jù)和業(yè)務邏輯分離。</p><p>  2.2 操作可行性</p><p>  對于這套管理系統(tǒng)而言,在投入使用前,會由開發(fā)并能熟練操作本系統(tǒng)的工程人員對用戶群進行專業(yè)系統(tǒng)的培訓。培訓內(nèi)容應包括,熟練掌握系統(tǒng)的各個功能和簡單的系統(tǒng)維護,在開發(fā)設計程序的過程中直觀的界面和

39、控件的文字解釋完全能使得用戶充分理解起功能和意義,所以本系統(tǒng)的操作是完全可行的。</p><p><b>  第3章 需求分析</b></p><p>  3.1 功能概況描述</p><p>  江蘇理工學院畢業(yè)設計系統(tǒng)的主要任務是:根據(jù)不同的角色賦予不同的職責以及實現(xiàn)的基本功能的填充。即教師模塊和學生模塊,該系統(tǒng)需要完成的基本任務是系統(tǒng)的

40、規(guī)劃與功能、性能分析與實現(xiàn)、模塊的劃分以及各個模塊實現(xiàn)的功能等。江蘇理工學院畢業(yè)設計管理系統(tǒng)——教師子系統(tǒng)主要功能需求:</p><p>  一、畢業(yè)設計管理模塊</p><p>  主要包括以下子模塊:</p><p>  1.申報選題模塊:主要有兩個子功能:(1)教師申報題目:指導教師自行擬定題目并申請,題目信息包括論文代碼、論文題目、課題來源、畢業(yè)論文類型,其

41、中論文代碼由系統(tǒng)根據(jù)當前年份、教師所在系部代碼和論文序號生成。(2)教師管理題目信息:指導教師可以對尚未審批的題目進行編輯和刪除。</p><p>  2.選取學生模塊:教師根據(jù)學生的學號將某論文題目指定給某學生。</p><p>  3.選題審批模塊:主要有兩個子功能(1)報批:指導教師對已有學生選定,并填寫好選題審批信息的題目進行報批工作,教師可以修改選題理由,填寫選題審核意見并提交。

42、(2)退選:對未進行報批工作的題目進行退選操作,即取消某生選本題的資格。</p><p>  4.任務書模塊:教師可編輯任務書信息,包括:任務書內(nèi)容、任務書目標、任務書進度安排、任務書參考文獻、任務書審核意見。</p><p>  5.開題報告模塊:主要有兩個子功能(1)審核:教師可以對學生提交的開題報告進行審核意見的填寫。(2)查看:教師查看開題報告內(nèi)容和系審核意見。</p>

43、<p>  6.過程管理模塊:學生創(chuàng)建過程管理后,教師可對該生提交的論文進展情況填寫檢查意見、檢查日期和備注</p><p>  7.查看論文模塊:教師根據(jù)學生上傳的論文與設計進行下載查看,論文下載時默認文件名為學生學號加“l(fā)w”,設計下載時默認文件名為學生學號加“sj”。</p><p>  8.審閱模塊:根據(jù)學生提交的論文填寫審閱意見、審閱成績、審閱日期。</p&g

44、t;<p>  9.指定評閱教師:由管理員教師為學生分配評閱老師。</p><p><b>  二、信息維護模塊</b></p><p>  主要包括三個子模塊:</p><p>  1.學生信息維護:按學生學號查找該生,對該生個人信息進行編輯。</p><p>  2.教師信息維護:根據(jù)職工號查看該教師信

45、息,可對該教師進行編輯,設置管理員身份等。</p><p>  3.查看尚未選題學生</p><p><b>  三.文章管理模塊</b></p><p>  主要包括兩個子模塊:</p><p>  1.新聞管理:包括:發(fā)布新聞、編輯、刪除、查看詳情。普通用戶只能夠查看新聞,不具備發(fā)布,編輯,刪除權限。</p&g

46、t;<p>  2.查看消息:學生每完成畢業(yè)設計的一步,系統(tǒng)自動以消息的形式反饋給指導教師,供教師查看。</p><p>  3.2 功能用例圖及活動圖</p><p><b>  1.總用例圖</b></p><p>  根據(jù)需求分析可以得出以下總的系統(tǒng)用例圖[8]。</p><p>  圖 3-1 系

47、統(tǒng)總用例圖</p><p><b>  2.子用例圖</b></p><p>  圖 3-2 申報選題用例圖</p><p>  對應申報選題活動圖如3-3所示。在申請題目功能中,用戶可以選擇執(zhí)行三種操作,分別是:申報題目,對已申報的題目進行編輯,刪除。申報題目時,填入有效數(shù)據(jù)即系統(tǒng)保存;刪除論文題目時,系統(tǒng)需進行判斷該論文題目是否已通過審批,

48、若通過審批則不能刪除,系統(tǒng)給出相應提示,若未審批則可執(zhí)行刪除操作。</p><p>  圖3-3申報選題活動圖</p><p>  圖 3-4 選取學生用例圖</p><p>  對應申報選題活動圖如3-5所示,在選取學生的功能中,首先輸入學生學號,系統(tǒng)接收學號進行判斷,該學號是否存在并未選題,若是則選取學生成功。學號不存在或者已經(jīng)選題,則選取學生失敗,系統(tǒng)發(fā)送提示

49、信息。</p><p>  圖 3-5選取學生活動圖</p><p>  圖 3-6選題審批用例圖</p><p>  對應選題審批活動圖如3-7所示,在選題審批功能中,用戶可以選擇報選或退選.對該題報選時,系統(tǒng)進行判斷,若該題已經(jīng)報選過則顯示修改報選信息,若無則顯示填寫報選信息;退選時,系統(tǒng)判斷該是否審批成功,若成功則不能刪除,系統(tǒng)發(fā)送失敗提示,若未審批則刪除數(shù)據(jù)

50、。</p><p>  圖3-7 選題審批活動圖</p><p>  圖3-8任務書功能用例圖</p><p>  對應任務書功能活動圖如3-9所示在任務書功能中,對于已經(jīng)通過審批的論文題目,系統(tǒng)顯示添加任務書界面,用戶輸入數(shù)據(jù)后,系統(tǒng)接收數(shù)據(jù),并發(fā)執(zhí)行保存以及發(fā)送消息給相應學生。若已存在記錄,系統(tǒng)返回編輯界面,用戶編輯完后,系統(tǒng)接收數(shù)據(jù),并保存。</p>

51、;<p>  圖3-9 任務書功能活動圖</p><p>  圖3-10 開題報告用例圖</p><p>  對應開題報告活動圖如圖3-11所示,系統(tǒng)判斷是否存在該學生的開題報告,存在則進行審核或查看,系統(tǒng)并發(fā)執(zhí)行存儲審核意見及向?qū)W生端發(fā)送已審核信息。查看時,系統(tǒng)返開題報告信息界面。</p><p>  圖 3-11 開題報告活動圖</p>

52、<p>  圖3-12 過程管理用例圖</p><p>  對應過程管理活動圖如圖3-13所示,在過程管理功能中,系統(tǒng)首先判斷學生是否創(chuàng)建了過程管理表,如果已創(chuàng)建則可進行查看和填寫檢查意見,查看詳情時,系統(tǒng)從數(shù)據(jù)庫中讀出數(shù)據(jù)并顯示,填寫檢查意見時,系統(tǒng)返回填寫界面,保存到數(shù)據(jù)庫中。若學生未創(chuàng)建過程管理,不做任務操作。</p><p>  圖3-13 過程管理功能活動圖<

53、/p><p>  圖3-14 評閱功能用例圖</p><p>  對應評閱活動圖如圖3-15所示,在指定評閱教師時,系統(tǒng)顯示所有學生及論文情況,系統(tǒng)根據(jù)從界面接收到的系部信息返回系及該系所有教師信息,接收教師信息,系統(tǒng)返回該教師的所有學生,系統(tǒng)接收選中的學生及輸入的職工信息,保存到數(shù)據(jù)表中。</p><p>  圖3-15評閱功能活動圖</p><p

54、>  圖3-16 學生信息維護用例圖</p><p>  對應學生信息維護活動圖如圖3-17所示,在學生信息維護中,系統(tǒng)從頁面讀取輸入的學生學號,根據(jù)學生查找到該學號的信息,返回給用戶。當選擇修改時,系統(tǒng)返回修改界面,保存數(shù)據(jù)即可完成修改。當選擇返回時,系統(tǒng)返回到上級界面。</p><p>  圖3-17 學生信息維護活動圖</p><p>  圖3-18 新

55、聞管理用例圖</p><p>  對應新聞管理活動圖如圖3-19所示,在新聞管理過程中,系統(tǒng)顯示已發(fā)布的新報列表,發(fā)布新聞時,系統(tǒng)返回創(chuàng)建界面,保存數(shù)據(jù),選擇編輯時,系統(tǒng)返回編輯界面,選擇詳情時,系統(tǒng)返回詳情界面,選擇刪除時,系統(tǒng)返回確認刪除界面。</p><p>  圖3-19新聞管理活動圖</p><p><b>  第4章 概要設計</b>

56、;</p><p>  4.1系統(tǒng)類圖與順序圖</p><p><b>  1.登陸模塊</b></p><p>  圖4-1 登陸模塊類圖</p><p>  由4-1靜態(tài)類圖可以發(fā)現(xiàn),登陸過程中有兩個類進行交互,分別是LoginController類和jsb類, 進一步可以得到順序圖,明確類與類之間的交互。如圖4-2

57、所示。</p><p>  圖4-2 登陸模塊時序圖</p><p><b>  2.申報選題功能</b></p><p>  圖4-3 申報選題類圖</p><p>  由4-3靜態(tài)類圖可以發(fā)現(xiàn),申報選題過程中有兩個類進行交互,分別是BYLWXTBController類和bylwxtb類, 進一步可以得到順序圖,明確類

58、與類之間的交互。如圖4-4所示。</p><p>  圖4-4 申報選題順序圖</p><p><b>  3.選取學生功能</b></p><p>  圖4-5 選取學生類圖</p><p>  由4-5靜態(tài)類圖可以發(fā)現(xiàn),選取學生過程中有三個類進行交互,分別是BYLWXTBController類,bylwxtb類和xs

59、xxb類, 進一步可以得到順序圖,明確類與類之間的交互。如圖4-6所示。</p><p>  圖4-6 選取學生順序圖</p><p><b>  4.選題審批功能</b></p><p>  圖4-7 選題審批類圖</p><p>  由4-7靜態(tài)類圖可以發(fā)現(xiàn),選題審批過程中有四個類進行交互,分別是BYLWXTBCon

60、troller類,bylwxtb類,XTSPBController類和xtspb類, 進一步可以得到順序圖,明確類與類之間的交互。如圖4-8所示。</p><p>  圖4-8 選題審批順序圖</p><p><b>  5.任務書功能</b></p><p>  圖4-9 任務書功能類圖</p><p>  由4-9靜

61、態(tài)類圖可以發(fā)現(xiàn),任務書功能過程中有四個類進行交互,分別是BYLWXTBController類,bylwxtb類,RWSBController類和rwsb類, 進一步可以得到順序圖,明確類與類之間的交互。如圖4-10所示。</p><p>  圖4-10 任務書功能順序圖</p><p><b>  6.開題報告功能</b></p><p>  

62、圖4-11 開題報告功能類圖</p><p>  由4-11靜態(tài)類圖可以發(fā)現(xiàn),開題報告功能過程中有兩個類進行交互,分別是ktbgController和ktbg, 進一步可以得到順序圖,明確類與類之間的交互。如圖4-12所示。</p><p>  圖4-12 開題報告功能順序圖</p><p><b>  7.過程管理功能</b></p&g

63、t;<p>  圖4-13 過程管理功能類圖</p><p>  由4-13靜態(tài)類圖可以發(fā)現(xiàn),開題報告功能過程中有四個類進行交互,分別是BYLWXTController,bylwxtb,GCGLController和gcglb, 進一步可以得到順序圖,明確類與類之間的交互。如圖4-14所示。</p><p>  圖4-14 過程管理功能順序圖</p><p

64、><b>  8.學生信息維護</b></p><p>  圖4-15 學生信息維護類圖</p><p>  由4-15靜態(tài)類圖可以發(fā)現(xiàn),開題報告功能過程中有兩個類進行交互,分別是XsxxbController,Xsxxb類, 進一步可以得到順序圖,明確類與類之間的交互。如圖4-16所示。</p><p>  圖4-16 學生信息維護順序

65、圖</p><p>  4.2數(shù)據(jù)結構與數(shù)據(jù)庫設計</p><p>  4.2.1 基本實體表</p><p>  4.2.2 CDM圖</p><p>  CDM (概念數(shù)據(jù)模型),是一組模型嚴格定義的模型元素的集合[9],這些模型元素精確地描述了系統(tǒng)的靜態(tài)特性、動態(tài)特性以及完整性約束條件等,其中包括了數(shù)據(jù)結構、數(shù)據(jù)操作和完整性約束三部分。

66、如圖4-15所示。</p><p>  圖4-15 概念數(shù)據(jù)模型</p><p><b>  4.2.3表設計 </b></p><p>  表4-1畢業(yè)論文表字段</p><p>  表4-5畢業(yè)論文備選題目表字段</p><p>  表4-6 教師表主要字段</p><p&

67、gt;  表4-2學院代碼表字段</p><p>  表4-8 過程管理表主要字段</p><p>  表4-7 學生信息表主要字段</p><p>  表4-3專業(yè)代碼表字段</p><p>  表4-4系部代碼表字段</p><p>  表4-9開題報告表字段</p><p>  表4-10

68、 畢業(yè)論文成績表字段</p><p>  表4-11 中期檢查表字段</p><p>  表4-12任務書表字段</p><p>  表4-13評閱意見表字段</p><p>  表4-14 審閱意見表字段</p><p>  表4-15 選題審批表字段</p><p><b>  第

69、5章 詳細設計</b></p><p><b>  5.1開發(fā)準備</b></p><p>  本系統(tǒng)采用了MVC 3.0 和Entity Framework模型[6]開發(fā)了江蘇理工學院畢業(yè)論文管理系統(tǒng)——教師子系統(tǒng)。本系統(tǒng)是基于流行的B/S模式。在數(shù)據(jù)庫的連接上面本系統(tǒng)的連接字符串存儲在系統(tǒng)的配置文件中,即Web.Config文件中,當系統(tǒng)變化的時候只

70、需要改動本系統(tǒng)的配置文件就可以,不需要在每個頁面修改連接字符串語句,大大提高了系統(tǒng)的可移植性,系統(tǒng)中所有和數(shù)據(jù)庫有關的操作都通過類來實現(xiàn),大大提高了代碼的耦合性,當數(shù)據(jù)庫類型等信息變化后直接修改類文件就可以了。另外,由于本系統(tǒng)采用了MVC 3.0模式,將前臺視圖,數(shù)據(jù)操作和后臺控制很好的區(qū)分開來,這樣不僅使系統(tǒng)文件一目了然,更便于日后的維護和使用。</p><p>  Web.Config文件配置[10],用于連

71、接數(shù)據(jù)庫文件,并且生成數(shù)據(jù)實體BYSJEntities:</p><p>  <connectionStrings></p><p>  <add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;Att

72、achDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" /></p><p>  <add name="BYSJEntities" connectionString="metadata=res://*/

73、Models.Model1.csdl|res://*/Models.Model1.ssdl|res://*/Models.Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.;initial catalog=BYSJ;integrated security=True;multipleactiveresult

74、sets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /></p><p>  </connectionStrings></p><p>  配置開發(fā)環(huán)境所需要插件:</p><p><b>  <

75、;pages></b></p><p>  <namespaces></p><p>  <add namespace="System.Web.Helpers" /></p><p>  <add namespace="System.Web.Mvc" /></p>

76、;<p>  <add namespace="System.Web.Mvc.Ajax" /></p><p>  <add namespace="System.Web.Mvc.Html" /></p><p>  <add namespace="System.Web.Routing" /

77、></p><p>  <add namespace="System.Web.WebPages" /></p><p>  </namespaces></p><p><b>  </pages></b></p><p>  5.2 畢業(yè)設計管理模塊</

78、p><p><b>  5.2.1登錄設置</b></p><p><b>  1.界面設計</b></p><p>  根據(jù)用戶名,后臺控制器將與數(shù)據(jù)庫連接判斷該用的身份隨后給出跳轉(zhuǎn)信息,進行跳轉(zhuǎn)。</p><p>  圖 5-1 系統(tǒng)登錄界面</p><p>  普通教師登錄

79、后,顯示圖5-2中的界面(indexForTeacher.cshtml),后臺控制器通過session保存當前登錄教師的信息[12],在界面上顯示“歡迎指導教師XXX 登陸系統(tǒng)”字樣。界面左側(cè)為“導航菜單”,其中包括“流程管理”和“新聞通知”。流程管理中即為整個畢業(yè)設計的流程選項。新聞通知中顯示學院(學校)對于畢業(yè)設計等事件發(fā)布的要求和信息。</p><p>  圖 5-2 教師主界面</p>&l

80、t;p>  管理員教師登陸后,顯示如5-3頁面(gly.cshtml),管理員具有信息維護和文章管理的權限。</p><p>  圖 5-3 管理員主界面</p><p><b>  2.后臺處理與實現(xiàn)</b></p><p>  首先,控制器LoginController對用戶的角色進行判斷,并用Session保存當前有效用戶的姓名,編

81、號和角色。然后根據(jù)不同角色的頁面使用 return RedirectToAction(“方法名”,”控制器”)方法進行跳轉(zhuǎn)[13],具體代碼如下:</p><p>  bool TeacherVaild = db.jsb.Any(j => j.zgh == model.UserName && j.mm == model.PassWord); if (TeacherVail

82、d) </p><p><b>  {</b></p><p>  var Teacher = db.jsb.Single(j => j.zgh == model.UserName && j.mm == model.PassWord);</p><p>  model.Role = "歡迎 " + T

83、eacher.zgxm + " 教師";</p><p>  Session["Username"] = Teacher.zgxm;</p><p>  Session["UserID"] = Teacher.zgh;</p><p>  if (Teacher.gly == true)</p>

84、<p><b>  {</b></p><p>  Session["Role"] = "管理員";</p><p>  return RedirectToAction("gly", "jsb");</p><p><b>  }</b

85、></p><p>  if (Teacher.jxyz == true)</p><p><b>  {</b></p><p>  Session["Role"] = "教學院長";</p><p><b>  }</b></p>&l

86、t;p>  if (Teacher.zyfzr == true)</p><p><b>  {</b></p><p>  Session["Role"] = "系主任";</p><p><b>  }</b></p><p>  if (Teach

87、er.zdjs==true)</p><p><b>  {</b></p><p>  Session["Role"] = "指導教師";</p><p>  return RedirectToAction("indexForTeacher", "news");&

88、lt;/p><p><b>  }</b></p><p>  if (Teacher.jwzr == true)</p><p><b>  {</b></p><p>  Session["Role"] = "教務主任¨?";</p>

89、<p>  return RedirectToAction("jwzr", "jsb");</p><p><b>  }</b></p><p>  代碼 5-1 登陸代碼</p><p><b>  5.2.2申報選題</b></p><p>&

90、lt;b>  1.界面設計</b></p><p>  用戶點擊菜單中的申報選題右側(cè)框架即跳轉(zhuǎn)進入申報選題頁面(indexForSBXT.cshtml),如圖5-4所示。</p><p>  圖 5-4申報選題頁面</p><p>  用戶選擇“指導教師申請題目”按鈕后,即跳轉(zhuǎn)進入圖5-5所示界面(CreateBYLWXT.cshtml),要求教師

91、輸入論文題目,課題來源,選擇畢業(yè)設計類型。畢業(yè)設計類型通過下拉框的方式顯示,便于教師選擇。</p><p>  圖 5-5 指導教師新增畢業(yè)論文選題</p><p><b>  2.后臺處理與實現(xiàn)</b></p><p>  控制器BYLWXTController中有一個CreateBYLWXT的方法,代碼如代碼5-2所示,[HttpPost]

92、部分重載[14]了CreateBYLWXT()方法,代碼如代碼5-3所示,有一個EditBYLWXT方法,用于修改。一個DeleteBYLWXT方法用于刪除所選定的選題,并且有一個DeleteConfirmed的方法用于確定是否刪除。在申報選題的過程中,論文代碼由系統(tǒng)自動生成,其后臺處理與實現(xiàn)如下:</p><p>  public ActionResult CreateBYLWXT()</p>&

93、lt;p><b>  {</b></p><p>  List<SelectListItem> items = new List<SelectListItem>();</p><p>  items.Add(new SelectListItem { Text = "畢業(yè)設計", Value = "畢業(yè)設計&q

94、uot;, Selected = true });</p><p>  items.Add(new SelectListItem { Text = "畢業(yè)論文", Value = "畢業(yè)"});</p><p>  ViewBag.bysjlx = items;</p><p>  return View();</p&g

95、t;<p><b>  } </b></p><p>  代碼 5-2 CreateBYLWXT方法代碼</p><p>  [HttpPost]</p><p>  public ActionResult CreateBYLWXT(bylwxtb bylwxtb)</p><p><b>  {

96、</b></p><p>  var zgh = Session["UserID"].ToString();</p><p>  //提取該老師的最后一個lwdm編號,把編輯+1后,用作新的選題的lwdm</p><p>  var s =(from e in db.bylwxtb where e.zgh==zgh select e)

97、.ToList();</p><p>  if (s.Count()!=0)</p><p><b>  {</b></p><p>  var lwdm1=s.Max(j=>j.lwdm);</p><p>  bylwxtb.lwdm = StrAdd(lwdm1);</p><p> 

98、 bylwxtb.zgh = zgh;</p><p>  bylwxtb.sfbx = false;</p><p>  db.bylwxtb.Add(bylwxtb);</p><p>  db.SaveChanges();</p><p>  return RedirectToAction("IndexForSBXT"

99、;);</p><p><b>  }</b></p><p><b>  else</b></p><p>  //如果是該老師的第一個選題,則在這里進行添加</p><p><b>  { </b></p><p>  bylwxtb.zgh = z

100、gh;</p><p>  bylwxtb.lwdm = "2013" + zgh + ConvertIntToString(1);</p><p>  db.bylwxtb.Add(bylwxtb);</p><p>  db.SaveChanges();</p><p>  return RedirectToActio

101、n("IndexForSBXT");</p><p><b>  }</b></p><p>  代碼 5-3 HttpPost部分代碼</p><p>  5.2.3選取學生功能</p><p><b>  1.界面設計</b></p><p>  教師

102、選擇菜單欄中的“選取學生”后,頁面跳轉(zhuǎn)如圖5-6所示(IndexForSelectStu.cshtml),顯示該教師創(chuàng)建的論文題目,論文代碼,課題來源,畢業(yè)設計類型,學生姓名等信息。當老師未選擇學生時,學生姓名欄為空。 </p><p>  圖 5-6選取學生界面</p><p>  教師點擊選擇學生后,跳轉(zhuǎn)進入圖5-7中的界面(SelectStudent.cshtml),其中,論文題目,

103、課題來源,畢業(yè)設計類型屬性為只讀,不可以做更改,只讀設置代碼如代碼5-4所示。 </p><p>  <div class="editor-label"></p><p><b>  論文題目 </b></p><p><b>  </div></b></p>&l

104、t;p>  <div class="editor-field"></p><p>  @Html.HiddenFor(model => model.lwtm)</p><p>  @Html.DisplayTextFor(model => model.lwtm)</p><p>  @Html.ValidationM

105、essageFor(model => model.lwtm)</p><p><b>  </div></b></p><p>  代碼 5-4 論文題目只讀設置</p><p>  圖 5-7選擇學生操作界面</p><p>  教師選取學生成功后,系統(tǒng)會給此學生發(fā)送成功信息,如圖5-8所示。<

106、/p><p>  圖 5-8信息反饋界面</p><p><b>  3.后臺處理與實現(xiàn)</b></p><p>  在BYLWXTBController中用IndexForSelectStu的Action來控制教師選取學生的操作,通過查詢該在數(shù)據(jù)表bylwxtb(畢業(yè)論文選題表)中是否已經(jīng)存在紀錄來判斷該生是否選題。具體代碼如代碼5-5所示,其中

107、persons.ToPagedList (pageNumber, pageSize)方法用于分頁[15],分頁時環(huán)境中需要引用 PageList。</p><p>  public ActionResult IndexForSelectStu(int page = 1)</p><p><b>  {</b></p><p>  ViewBag

108、.aa = Session["UserID"].ToString();</p><p>  var bylwxtb = db.bylwxtb.Include(b => b.jsb);</p><p>  int pageNumber = page;</p><p>  int pageSize = 10;</p><p&

109、gt;  string zgh = Session["UserID"].ToString();</p><p>  var persons = db.bylwxtb.Where(l => l.zgh == zgh).ToList();</p><p>  return View(persons.ToPagedList(pageNumber, pageSize));

110、</p><p><b>  }</b></p><p>  [HttpPost]</p><p>  public ActionResult SelectStudent(bylwxtb bylwxtb)</p><p><b>  {</b></p><p>  if (M

111、odelState.IsValid)</p><p><b>  {</b></p><p>  if ((db.xsxxb.Where(j=>j.xh==bylwxtb.xh).Count()!=0)&&(db.bylwxtb.Where(j => j.xh == bylwxtb.xh).Count()==0))</p>&

112、lt;p><b>  {</b></p><p>  db.Entry(bylwxtb).State = EntityState.Modified;</p><p>  db.SaveChanges();</p><p>  //給學生發(fā)送信息,已經(jīng)確定選題</p><p>  jsb jsb = (from j

113、in db.jsb where j.zgh == bylwxtb.zgh select j).First();</p><p>  string jsxm = jsb.zgxm; </p><p>  string xh = bylwxtb.xh;</p><p>  Message Message1 = new Message();</p>

114、<p>  Message1.Sender = jsxm;</p><p>  Message1.Receiver = xh;</p><p>  Message1.MessageContent = "指導教師已經(jīng)確定你的選題,可以進行下一步操作";</p><p>  Message1.SendDate = DateTime.Now;

115、</p><p>  Message1.ISread = false;</p><p>  db.Message.Add(Message1);</p><p>  db.SaveChanges();</p><p>  return RedirectToAction("IndexForSelectStu");</p&

116、gt;<p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  ViewBag.ErrorMessageXH = "該學生不存在或已經(jīng)選題,請重新選擇!" ;

117、 </p><p>  return View(bylwxtb);</p><p><b>  }</b></p><p><b>  }</b></p><p>  return View(bylwxtb);</p><p><b>  }</b>

118、</p><p>  代碼 5-5 選取學生部分代碼</p><p>  5.2.4 選題審批功能</p><p><b>  1.界面設計</b></p><p>  教師在菜單欄中點擊“選題審批”選項后,頁面跳轉(zhuǎn)如圖5-9所示(IndexForXTSPB.cshtml),此頁面中只顯示已有學生選擇的論文題目信息。&l

119、t;/p><p><b>  圖5-9 選題審批</b></p><p>  教師該學生進行退選工作,退選完成后,系統(tǒng)會發(fā)送消息到當前學生。如圖5-10,圖5-11所示:</p><p>  圖5-10 退選成功</p><p>  圖5-11息反饋頁面</p><p>  教師選擇“報批”選項,填寫

120、選題理由和選題審核意見,如圖5-12所示。</p><p><b>  圖5-12 報批</b></p><p><b>  3.后臺處理與實現(xiàn)</b></p><p>  在BYLWXTBController中IndexForXTSPB方法從數(shù)據(jù)庫中選取當前教師的論文題目信息。Create和Edit方法來實現(xiàn)創(chuàng)建和修改的

121、功能,DeleteStudent方法用于完成退選學生功能,實現(xiàn)代碼如代碼5-6所示。</p><p>  public ActionResult DeleteStudent(string id)</p><p><b>  {</b></p><p>  string em;</p><p>  var iCount =

122、 (from b in db.xtspb where b.lwdm == id select b).Count();</p><p>  if (iCount <= 0)</p><p><b>  {</b></p><p>  var bylwxtb = (from x in db.bylwxtb where x.lwdm == id

溫馨提示

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

評論

0/150

提交評論