

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 本科生畢業(yè)論文(設計)</p><p> 論文(設計)題目: 畢業(yè)論文管理系統(tǒng)的設計與實現(xiàn) </p><p> 系 別: 計算機科學系 </p><p> 專 業(yè) (方 向): 計算機科學與技術 </p><p> 年
2、 級、 班: 2008級計算機科學與技術班 </p><p> 學 生 姓 名: </p><p> 指 導 教 師: </p><p> 2012 年 5 月 8 日</p><p> 畢業(yè)論
3、文管理系統(tǒng)的設計與實現(xiàn)</p><p><b> 摘要</b></p><p> 隨著科學技術的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已經進入人類社會的各個領域并發(fā)揮著重要作用。作為計算機應用的一部分,使用計算機對學生畢業(yè)論文信息進行管理,有手工管理所無法比擬的優(yōu)點。提高畢業(yè)論文管理水平的主要途徑是更新管理者的思想,增強對管理活動的科學認識
4、。同時,運用先進的信息技術,開發(fā)高效綜合畢業(yè)論文管理系統(tǒng),是提高畢業(yè)論文管理綜合水平的有力措施?!懂厴I(yè)論文管理系統(tǒng)》是提升畢業(yè)論文管理效率的軟件。針對畢業(yè)論文管理工作的全過程,從畢業(yè)論文工作的實際出發(fā),解決工作中的關鍵性問題,并充分利用計算機高效的功能,實現(xiàn)畢業(yè)論文管理工作全過程的計算機管理,幫助具體管理人員從復雜繁瑣工作中解放出來。</p><p> [關鍵詞] 畢業(yè)論文管理 管理系統(tǒng) 輔助管理 軟件
5、開發(fā)</p><p><b> ABSTRACT</b></p><p> With the continuous improvement of the science and technology, computer science maturing, its powerful features for people to a profound understa
6、nding of it has entered into various areas of human society and play an important role. As part of the computer application, use the computer to manage information about student’s thesis, there is the incomparable advant
7、ages of manual management. The main way to improve the thesis management level is to update the manager's ideas, and improving the scie</p><p> [Key Words] Thesis Management management system Assist
8、management software develop</p><p><b> 目錄</b></p><p><b> 一、前言(1)</b></p><p> 二、需求分析(2)</p><p> ?。ㄒ唬┫到y(tǒng)需求(2)</p><p> 1、硬件需求(
9、2)</p><p> 2、軟件需求(2)</p><p> ?。ǘ┕δ苄枨?2)</p><p> 1、權限設置(3)</p><p> 2、功能設置(3)</p><p> 三、總體設計(4)</p><p> ?。ㄒ唬┗驹O計概念(4)</p><
10、p> 1、分層架構簡介(4)</p><p> 2、Linq To SQL簡介(5)</p><p> 3、Lambda表達式簡介(5)</p><p> ?。ǘ┫到y(tǒng)架構圖(6)</p><p> ?。ㄈ祿旖Y構設計(6)</p><p> 1、數據庫設計(7)</p>&
11、lt;p> 2、數據庫需求分析(7)</p><p> 3、數據庫邏輯結構詳細設計(7)</p><p> 4、LINQ to SQL 對象模型(13)</p><p> 四、系統(tǒng)詳細設計(14)</p><p> ?。ㄒ唬崿F(xiàn)詳細過程(14)</p><p> 1、數據模型層設計與實現(xiàn)(1
12、4)</p><p> 2、數據訪問層設計與實現(xiàn)(14)</p><p> 3、業(yè)務邏輯層設計與實現(xiàn)(16)</p><p> 4、工廠類的設計與實現(xiàn)(16)</p><p> 5、用戶界面層設計與實現(xiàn)(19)</p><p> 五、系統(tǒng)測試(21)</p><p> ?。ㄒ?/p>
13、)系統(tǒng)測試的原則(21)</p><p> ?。ǘ┫到y(tǒng)測試的方法(22)</p><p> 1、安裝測試(Installing Testing)(22)</p><p> 2、白盒測試(White Box Testing)(22)</p><p> 3、黑盒測試(Black Box Testing)(23)</p>
14、;<p> ?。ㄈ┫到y(tǒng)測試的步驟(23)</p><p> 1、單元測試(23)</p><p> 2、組裝測試(24)</p><p> 3、確認測試(24)</p><p> 4、系統(tǒng)測試(24)</p><p> ?。ㄋ模┫到y(tǒng)測試用例(24)</p><p&
15、gt; 六、研究結論與未來研究(25)</p><p><b> 參考文獻(27)</b></p><p> 畢業(yè)論文管理系統(tǒng)的設計與實現(xiàn)</p><p><b> 一、前言</b></p><p> 畢業(yè)論文管理系統(tǒng)是一個對高等教育單位有著重大作用的信息管理系統(tǒng),它的內容對于學校的管
16、理者來說都是至關重要的,所以畢業(yè)論文管理系統(tǒng)應該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統(tǒng)人工的方式管理畢業(yè)論文相關文件,這種管理方式存在著許多缺點,如效率低、保密性差,另外時間一長,將產生大量的文件和數據,這對于查找、更新和維護都帶來了不少的困難。</p><p> 隨著科學技術的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已經進入人類社會的各個領域并發(fā)揮著重要作用。作
17、為計算機應用的一部分,使用計算機對學生畢業(yè)論文信息進行管理,有手工管理所無法比擬的優(yōu)點。例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、成本低等。這些優(yōu)點能極大地提高畢業(yè)論文管理的效率,也使教育部門的科學化、正規(guī)化管理,與世界接軌的重要條件。</p><p> 隨著計算機技術的飛速發(fā)展和高等教育體制改革的不斷深入,傳統(tǒng)的畢業(yè)論文管理方法、手段以及工作效率已不適應新的發(fā)展需求,無法很好地完成畢業(yè)論文的管理
18、工作。提高畢業(yè)論文管理水平的主要途徑是更新管理者的思想,增強對管理活動的科學認識。同時,運用先進的信息技術,開發(fā)高效綜合畢業(yè)論文管理系統(tǒng),是提高畢業(yè)論文管理綜合水平的有力措施。《畢業(yè)論文管理系統(tǒng)》是提升畢業(yè)論文管理效率的軟件。針對畢業(yè)論文管理工作的全過程,從畢業(yè)論文工作的實際出發(fā),解決工作中的關鍵性問題,并充分利用計算機高效的功能,實現(xiàn)畢業(yè)論文管理工作全過程的計算機管理,幫助具體管理人員從復雜繁瑣工作中解放出來。</p>
19、<p><b> 二、需求分析</b></p><p><b> ?。ㄒ唬┫到y(tǒng)需求</b></p><p> 系統(tǒng)需求分析是系統(tǒng)開發(fā)的第一階段,其目標就是明確系統(tǒng)開發(fā)的目的和用戶對于系統(tǒng)的具體需求,并提出新系統(tǒng)的邏輯方案。</p><p><b> 1、硬件需求</b></p&g
20、t;<p><b> ?。?)CPU</b></p><p> CPU頻率1GMHz以上</p><p><b> ?。?)內存</b></p><p> 128MB或更高(建議256MB或更高)</p><p><b> (3)硬盤</b></p&g
21、t;<p> 安裝需要100MB的硬盤空間,運行需要50MB空余空間</p><p><b> ?。?)顯示器</b></p><p> 建議使用 1024 x 768屏幕分辨率或更高</p><p><b> 2、軟件需求</b></p><p><b> ?。?)操
22、作系統(tǒng)</b></p><p> Microsoft Windows XP 或更高版本</p><p><b> ?。?)數據庫</b></p><p> Microsoft SQL Server 2008 EXPRESS或更高版本</p><p><b> ?。ǘ┕δ苄枨?lt;/b>
23、</p><p> 在這一階段所要做的工作就是把用戶的需求及其解決方法確定下來。其內容包括:設計者對于現(xiàn)在系統(tǒng)的概況、用戶對新系統(tǒng)在功能上的要求等。</p><p><b> 1、權限設置</b></p><p> 學生權限設置:學生根據學生姓名及密碼登錄系統(tǒng),只允許學生查看修改自己相關的各表信息。</p><p>
24、; 教師權限設置:擁有系統(tǒng)完整功能權限,教師可以管理教師信息,學生信息,論文信息,查看、修改學生相關的各表信息,查看統(tǒng)計信息、推薦優(yōu)秀論文(設計)及優(yōu)秀指導教師,填寫、修改論文工作總結。</p><p><b> 2、功能設置</b></p><p> 本系統(tǒng)實現(xiàn)學生基本信息管理、教師基本信息管理、論文基本信息管理、按照學生從選題開始到完成答辯的過程,實現(xiàn)相關功
25、能的填寫并生成相應的報表。</p><p> 教師基本信息管理:模塊中實現(xiàn)對教師基本信息的錄入、刪除、打印、導出等功能。</p><p> 學生基本信息管理:模塊中實現(xiàn)對學生基本信息的錄入、刪除、打印、導出等功能。</p><p> 論文基本信息管理:模塊中實現(xiàn)對論文基本信息的錄入、刪除、打印、導出等功能。</p><p> 選題審批
26、模塊:實現(xiàn)對學生選題審批表信息的錄入、修改、打印、導出等功能。</p><p> 開題報告模塊:實現(xiàn)對學生開題報告表信息的錄入、修改、打印、導出等功能。</p><p> 指導教師評閱意見模塊:實現(xiàn)對學生指導教師評閱意見表信息的錄入、修改、打印、導出等功能。</p><p> 評閱教師評閱意見模塊:實現(xiàn)對學生評閱教師評閱意見表信息的錄入、修改、打印、導出等功能
27、。</p><p> 答辯記錄模塊:實現(xiàn)對學生答辯記錄表信息的錄入、修改、打印、導出等功能。</p><p> 實習鑒定模塊:實現(xiàn)對學生實習鑒定表信息的錄入、修改、打印、導出等功能。</p><p> 信息統(tǒng)計模塊:根據所選專業(yè)及年級,檢索相應的論文選題匯總信息、論文成績匯總信息,實現(xiàn)打印、導出等相關功能。</p><p> 論文推優(yōu)
28、模塊:實現(xiàn)對優(yōu)秀論文推薦信息的錄入、修改、打印、導出等功能。</p><p> 工作總結模塊:實現(xiàn)對院系論文工作總結情況的錄入、修改、打印、導出等功能。</p><p><b> 三、總體設計</b></p><p><b> ?。ㄒ唬┗驹O計概念</b></p><p><b>
29、1、分層架構簡介</b></p><p> 隨著面向對象開發(fā)方式的崛起和廣泛應用,企業(yè)應用開發(fā)從二層結構逐步演進到了三層結構。表現(xiàn)層實現(xiàn)用戶界面、在領域層實現(xiàn)業(yè)務邏輯、在數據源層存取數據。如表1所示。</p><p><b> 表1 職能表</b></p><p> 隨著ORM(對象關系映射)的廣泛使用,在實際的軟件架構中,
30、根據映射工具的需要出現(xiàn)了一個專門Model模型層,或者不能模型單獨叫一層,它其實貫穿三層的數據載體(值對象),本身不包含太多的業(yè)務邏輯(少量或沒有),形象的說只簡單的承載數據在層與層之間的傳輸的交通工具。</p><p> 2、Linq To SQL簡介</p><p> 語言集成查詢 (LINQ) 是 Visual Studio 2008 中引入的一組功能,可為 C# 和 Visua
31、l Basic 語言語法提供強大的查詢功能。LINQ 引入了標準、易學的數據查詢和更新模式,該技術可以擴展為幾乎支持任何類型的數據存儲。Visual Studio 包含 LINQ 提供程序的程序集,借助這些程序集,就能將 LINQ 用于 .NET Framework 集合、SQL Server 數據庫、ADO.NET 數據集和 XML 文檔。</p><p> 3、Lambda表達式簡介</p>
32、<p> 所有 Lambda 表達式都使用 Lambda 運算符 =>,該運算符讀為“goes to”。該 Lambda 運算符的左邊是輸入參數(如果有),右邊包含表達式或語句塊。Lambda 表達式 x => x * x 讀作“x goes to x times x”。Lambda 在基于方法的 LINQ 查詢中用作標準查詢運算符方法(如 Where)的參數。</p><p> 使用基
33、于方法的語法在 Enumerable 類中調用 Where 方法時(像在 LINQ to Objects 和 LINQ to XML 中那樣),參數是委托類型System.Func<T, TResult>。使用 Lambda 表達式創(chuàng)建委托最為方便。例如,當您在System.Linq.Queryable 類中調用相同的方法時(像在 LINQ to SQL 中那樣),則參數類型是System.Linq.Expressions.
34、Expression<Func>,其中 Func 是包含至多十六個輸入參數的任何 Func 委托。同樣,Lambda 表達式只是一種用于構造表達式樹的非常簡練的方式。盡管事實上通過 Lambda 創(chuàng)建的對象的類型是不同的,但 Lambda 使得 Where 調用看起來類似。</p><p><b> (二)系統(tǒng)架構圖</b></p><p> 如圖1系
35、統(tǒng)架構圖所示,是根據程序集生成的關系圖,從圖中可以看出數據訪問層指訪問數據模型。表現(xiàn)層通過調用業(yè)務邏輯層中的相關函數簡介訪問數據層中的數據。以實現(xiàn)對數據的操作。</p><p><b> 圖1 系統(tǒng)架構圖</b></p><p> ?。ㄈ祿旖Y構設計</p><p> 數據庫在一個信息管理系統(tǒng)中占有非常重要的地位,數據庫設計的好壞直接
36、對應用系統(tǒng)的效率以及實現(xiàn)的效果產生影響。</p><p><b> 1、數據庫設計</b></p><p> 合理的數據庫結構設計可以提高數據儲存效率,保證數據的完整性和一致性。設計數據庫系統(tǒng)時應該首先充分了解用戶各個方面的需求,包括現(xiàn)有的以及將來可能增加的需求。</p><p><b> 2、數據庫需求分析</b>
37、</p><p> 進行整個數據庫設計必須準確了解與分析用戶需求(包括數據和處理)。用戶需求分析是整個設計過程的基礎,是最困難、最耗費時間的一步。作為最基本的需求分析做得是否充分與準確,決定了在其構建數據庫的速度和質量。</p><p> 用戶的需求具體體現(xiàn)在各種信息的提供、存儲、更新和查詢方面,這就要求數據庫結構能充分滿足各種信息的輸出與輸入。收集基本數據、數據結構及數據處理的流程,
38、組成一份詳盡的數據字典,為后面的具體設計打下基礎。</p><p> 3、數據庫邏輯結構詳細設計</p><p> 概念結構是獨立于任何一種數據模型的信息結構。邏輯結構設計的任務就是把概念結構設計階段設計好的基本E-R圖轉換為與選用DBMS產品所支持的數據模型相符合的邏輯結構。數據庫表設計如表2-19所示。</p><p> 教師表:用于系統(tǒng)保存教師基本信息。
39、表結構如表2所示。</p><p><b> 表2 教師表</b></p><p> 教師職稱表:用于系統(tǒng)保存教師可選職稱信息。表結構如表3所示。</p><p><b> 表3 教師職稱表</b></p><p> 教師學歷表:用于系統(tǒng)保存教師可選學歷信息。表結構如表4所示。</
40、p><p><b> 表4 教師學歷表</b></p><p> 學生表:用于系統(tǒng)保存學生基本信息。表結構如表5所示。</p><p><b> 表5 學生表</b></p><p> 院系表:用于系統(tǒng)保存學生可選院系信息。表結構如表6所示。</p><p><
41、b> 表6 院系表</b></p><p> 專業(yè)表:用于系統(tǒng)保存學生可選專業(yè)信息。表結構如表7所示。</p><p><b> 表7 專業(yè)表</b></p><p> 年級表:用于系統(tǒng)保存學生可選年級信息。表結構如表8所示。</p><p><b> 表8 年級表</b
42、></p><p> 班級表:用于系統(tǒng)保存學生可選班級信息。表結構如表9所示。</p><p><b> 表9 班級表</b></p><p> 論文信息表:用于系統(tǒng)保存可選論文的基本信息。表結構如表10所示。</p><p> 表10 論文信息表</p><p> 題目來源表
43、:用于系統(tǒng)保存論文題目來源信息。表結構如表11所示。</p><p> 表11 題目來源表</p><p> 選題審批表:用于系統(tǒng)保存學生選題審批信息。表結構如表12所示。</p><p> 表12 選題審批表</p><p> 開題報告表:用于系統(tǒng)保存學生開題報告信息。表結構如表13所示。</p><p>
44、; 表13 開題報告表</p><p> 指導教師評閱意見表:用于系統(tǒng)保存指導教師評閱信息。表結構如表14所示。</p><p> 表14 指導教師評閱意見表</p><p> 評閱教師評閱意見表:用于系統(tǒng)保存評閱教師評閱信息。表結構如表15所示。</p><p> 表15 評閱教師評閱意見表</p><p
45、> 答辯記錄表:用于系統(tǒng)保存學生答辯信息。表結構如表16所示。</p><p> 表16 答辯記錄表</p><p> 實習鑒定表:用于系統(tǒng)保存學生實習鑒定信息。表結構如表17所示。</p><p> 表17 實習鑒定表</p><p> 論文推優(yōu)表:用于系統(tǒng)保存學生論文推優(yōu)信息。表結構如表18所示。</p>
46、<p> 表18 論文推優(yōu)表</p><p> 工作總結表:用于系統(tǒng)保存院系工作總結信息。表結構如表19所示。</p><p> 表19 工作總結表</p><p> 4、LINQ to SQL 對象模型</p><p> 在 LINQ to SQL 中,用開發(fā)人員所用的編程語言表示的對象模型映射到關系數據庫的數據模
47、型。然后就會按照對象模型來執(zhí)行對數據的操作。</p><p> 在這種情況下,無需向數據庫發(fā)出數據庫命令(例如,INSERT),而是在對象模型中更改值和執(zhí)行方法。當需要查詢數據庫或向其發(fā)送更改時,LINQ to SQL 會將您的請求轉換成正確的 SQL 命令,然后將這些命令發(fā)送到數據庫。LINQ to SQL與數據庫調用關系如圖2所示。</p><p> 圖2 LINQ to SQL
48、與數據庫調用關系</p><p> 本系統(tǒng)的對象關系圖如圖3所示。</p><p> 圖3 Linq To SQL 對象關系視圖</p><p><b> 四、系統(tǒng)詳細設計</b></p><p><b> ?。ㄒ唬崿F(xiàn)詳細過程</b></p><p> 本系統(tǒng)學生
49、操作模塊功能實現(xiàn)方法類似,以選題審批功能模塊設計為例進行詳細描述:</p><p> 1、數據模型層設計與實現(xiàn)</p><p> 通過建立Linq To Sql類,數據模型Approval類由系統(tǒng)自動生成。實現(xiàn)代碼見附錄1。</p><p> 2、數據訪問層設計與實現(xiàn)</p><p> 數據訪問層:有時候也稱為是持久層,其功能主要是負
50、責數據庫的訪問,就是實現(xiàn)對數據表的Select,Insert,Update,Delete的操作。如果要加入ORM的元素,那么就會包括對象和數據表之間的mapping,以及對象實體的持久化。</p><p> namespace TMIS.DAL</p><p><b> {</b></p><p> public class Approv
51、al</p><p><b> {</b></p><p> private Model.ThesisDB db = new Model.ThesisDB();</p><p> #region 生成新的審批表信息</p><p> public void Insert(Model.Approval approv
52、al)</p><p><b> {</b></p><p> db.Approval.InsertOnSubmit(approval);</p><p> db.SubmitChanges();</p><p><b> }</b></p><p> #endre
53、gion</p><p> #region 更新審批表信息</p><p> public void Update(Model.Approval approval)</p><p><b> {</b></p><p> Model.Approval app = db.Approval.FirstOrDefaul
54、t(e => e.ID == approval.ID);</p><p> app.Context = approval.Context;</p><p> app.Literature = approval.Literature;</p><p> app.OpenReport = approval.OpenReport;</p><
55、;p> app.Document = approval.Document;</p><p> app.Internship = approval.Internship;</p><p> app.Instructe = app.Instructe;</p><p> app.Other = approval.Other;</p><
56、p> app.BeginDate = approval.BeginDate;</p><p> app.CompleteDate = approval.CompleteDate;</p><p> db.SubmitChanges();</p><p><b> }</b></p><p> #endre
57、gion</p><p> /// <summary></p><p> /// 獲取指定ID號的選題審批表</p><p> /// </summary></p><p> /// <param name="guid"></param></p><
58、;p> public Model.Approval Get(Guid guid)</p><p><b> {</b></p><p> Model.Approval app=db.Approval.FirstOrDefault(e => e.ID == guid);</p><p> return app;</p&g
59、t;<p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> 3、業(yè)務邏輯層設計與實現(xiàn)</p><p> 用于做一些有效性驗證的工作,以更好的保證程序運行的健壯性。如完成數據添加、修改和查
60、詢業(yè)務等;不允許指定的文本框中輸入空字符串,數據格式是否正確以及數據類型驗證;用戶權限的合法性判斷等;通過以上的諸多判斷以決定是否將操作繼續(xù)向后傳遞,盡量保證程序的正常運行。</p><p> namespace TMIS.BLL</p><p><b> {</b></p><p> public class Approval</
61、p><p><b> {</b></p><p> /// <summary></p><p> /// 更新審批表信息</p><p> /// </summary></p><p> /// <param name="approval"&
62、gt;</param></p><p> public void Update(Model.Approval approval)</p><p><b> {</b></p><p> DAL.Approval dal = DALFactory.DALFactory.CreateApproval();</p>&
63、lt;p> dal.Update(approval);</p><p><b> }</b></p><p> /// <summary></p><p> /// 獲取指定ID號的選題審批表</p><p> /// </summary></p><p>
64、 /// <param name="guid"></param></p><p> public Model.Approval Get(Guid guid)</p><p><b> {</b></p><p> DAL.Approval dal = DALFactory.DALFactory
65、.CreateApproval();</p><p> return dal.Get(guid);</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> 4、工廠類的
66、設計與實現(xiàn)</p><p> 工廠類的定義:專門定義一個類來負責創(chuàng)建其他類的實例,被創(chuàng)建的實例通常都具有共同的父類或接口。簡單工廠模式又稱為靜態(tài)工廠方法(Static Factory Method)模式,屬于類的創(chuàng)建型模式,通常根據一個條件(參數)來返回不同的類的實例。</p><p> namespace TMIS.DALFactory</p><p><
67、;b> {</b></p><p> public sealed class DALFactory</p><p><b> {</b></p><p> private static readonly string path = "TMIS.DAL";</p><p>
68、public DALFactory()</p><p><b> { }</b></p><p> public static DAL.Department CreateDepartment()</p><p><b> {</b></p><p> string classname = p
69、ath+".Department";</p><p> return (DAL.Department)Assembly.Load(path).CreateInstance(classname);</p><p><b> }</b></p><p> public static DAL.Profession Creat
70、eProfession()</p><p><b> {</b></p><p> string classname = path + ".Profession";</p><p> return (DAL.Profession)Assembly.Load(path).CreateInstance(classname)
71、;</p><p><b> }</b></p><p> public static DAL.Grade CreateGrade()</p><p><b> {</b></p><p> string clsssname = path + ".Grade";</
72、p><p> return (DAL.Grade)Assembly.Load(path).CreateInstance(clsssname);</p><p><b> }</b></p><p> public static DAL.Classes CreateClass()</p><p><b>
73、{</b></p><p> string clsssname = path + ".Classes";</p><p> return (DAL.Classes)Assembly.Load(path).CreateInstance(clsssname);</p><p><b> }</b></p&
74、gt;<p> public static DAL.Thesis CreateThesis()</p><p><b> {</b></p><p> string clsssname = path + ".Thesis";</p><p> return (DAL.Thesis)Assembly.Lo
75、ad(path).CreateInstance(clsssname);</p><p><b> }</b></p><p> public static DAL.TitleSource CreateTitleSource()</p><p><b> {</b></p><p> stri
76、ng clsssname = path + ".TitleSource";</p><p> return (DAL.TitleSource)Assembly.Load(path).CreateInstance(clsssname);</p><p><b> }</b></p><p> public static
77、DAL.Teacher CreateTeacher()</p><p><b> {</b></p><p> string clsssname = path + ".Teacher";</p><p> return (DAL.Teacher)Assembly.Load(path).CreateInstance(cl
78、sssname);</p><p><b> }</b></p><p> public static DAL.Student CreateStudent()</p><p><b> {</b></p><p> string clsssname = path + ".Stude
79、nt";</p><p> return (DAL.Student)Assembly.Load(path).CreateInstance(clsssname);</p><p><b> }</b></p><p> public static DAL.Education CreateEducation()</p>
80、<p><b> {</b></p><p> string clsssname = path + ".Education";</p><p> return (DAL.Education)Assembly.Load(path).CreateInstance(clsssname);</p><p><
81、b> }</b></p><p> public static DAL.ProfessionTitle CreateProfessionTitle()</p><p><b> {</b></p><p> string clsssname = path + ".ProfessionTitle";&
82、lt;/p><p> return (DAL.ProfessionTitle)Assembly.Load(path).CreateInstance(clsssname);</p><p><b> }</b></p><p> public static DAL.Approval CreateApproval()</p><
83、;p><b> {</b></p><p> string clsssname = path + ".Approval";</p><p> return (DAL.Approval)Assembly.Load(path).CreateInstance(clsssname);</p><p><b>
84、 }</b></p><p> public static DAL.OpenReport CreateOpenReport()</p><p><b> {</b></p><p> string clsssname = path + ".OpenReport";</p><p>
85、 return (DAL.OpenReport)Assembly.Load(path).CreateInstance(clsssname);</p><p><b> }</b></p><p> public static DAL.InstructionOpinion CreateInstructionOpinion()</p><p>
86、<b> {</b></p><p> string clsssname = path + ".InstructionOpinion";</p><p> return (DAL.InstructionOpinion)Assembly.Load(path).CreateInstance(clsssname);</p><p
87、><b> }</b></p><p> public static DAL.ReviewOpinion CreateReviewOpinion()</p><p><b> {</b></p><p> string clsssname = path + ".ReviewOpinion"
88、;</p><p> return (DAL.ReviewOpinion)Assembly.Load(path).CreateInstance(clsssname);</p><p><b> }</b></p><p> public static DAL.Reply CreateReply()</p><p>
89、<b> {</b></p><p> string clsssname = path + ".Reply";</p><p> return (DAL.Reply)Assembly.Load(path).CreateInstance(clsssname);</p><p><b> }</b>
90、</p><p> public static DAL.Identify CreateIdentify()</p><p><b> {</b></p><p> string clsssname = path + ".Identify";</p><p> return (DAL.Ident
91、ify)Assembly.Load(path).CreateInstance(clsssname);</p><p><b> }</b></p><p> public static DAL.Recommend CreateRecommend()</p><p><b> {</b></p><
92、p> string clsssname = path + ".Recommend";</p><p> return (DAL.Recommend)Assembly.Load(path).CreateInstance(clsssname);</p><p><b> }</b></p><p> public
93、static DAL.Summary CreateSummary()</p><p><b> {</b></p><p> string clsssname = path + ".Summary";</p><p> return (DAL.Summary)Assembly.Load(path).CreateInst
94、ance(clsssname);</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> 利用工廠類的特征,由其他類決定對象實例化的時間,提高了工作效率。</p><p>
95、; 5、用戶界面層設計與實現(xiàn)</p><p> (1)選題審批界面設計</p><p> 該界面完成學生選題審批信息的更新與報表的預覽、打印等功能。如圖3所示。</p><p> 圖3 選題審批界面</p><p> ?。?)選題審批功能后臺代碼實現(xiàn)</p><p> namespace TMIS</
96、p><p><b> {</b></p><p> public partial class frmApproval : frmCommon</p><p><b> {</b></p><p> public Guid guid = Guid.Empty;</p><p&g
97、t; private BLL.Approval bll = new BLL.Approval();</p><p> public frmApproval()</p><p><b> {</b></p><p> InitializeComponent();</p><p><b> }</b
98、></p><p> public frmApproval(Guid guid)</p><p><b> {</b></p><p> this.guid = guid;</p><p> InitializeComponent();</p><p> this.FillComp
99、onent();</p><p><b> }</b></p><p> /// <summary></p><p> /// 控?件t信?息¡é數ºy據Y初?始º?化¡¥</p><p> /// </summary></
100、p><p> private void FillComponent()</p><p><b> {</b></p><p> Model.Approval app = bll.Get(guid);</p><p> txtContext.Text = app.Context;</p><p>
101、; txtLiterature.Text = app.Literature;</p><p> chkOpenReport.Checked = Convert.ToBoolean(app.OpenReport);</p><p> chkDocument.Checked = Convert.ToBoolean(app.Document);</p><p>
102、chkInternship.Checked = Convert.ToBoolean(app.Internship);</p><p> chkInstruction.Checked = Convert.ToBoolean(app.Instructe);</p><p> txtOther.Text = app.Other;</p><p> BeginDate
103、.Text = Convert.ToDateTime(app.BeginDate).ToShortDateString();</p><p> CompleteDate.Text = Convert.ToDateTime(app.CompleteDate).ToShortDateString();</p><p> this.approvalTableAdapter.FillByStu
104、dentID(this.reportDS.Approval, guid);</p><p> this.reportViewer.RefreshReport();</p><p><b> }</b></p><p> public override void Save()</p><p><b> {
105、</b></p><p> Model.Approval approval = new Model.Approval()</p><p><b> {</b></p><p> ID = this.guid,</p><p> Context = txtContext.Text,</p>
106、<p> Literature = txtLiterature.Text,</p><p> OpenReport = chkOpenReport.Checked,</p><p> Document = chkDocument.Checked,</p><p> Internship = chkInternship.Checked,</p
107、><p> Instructe = chkInstruction.Checked,</p><p> Other = txtOther.Text,</p><p> BeginDate = Convert.ToDateTime(BeginDate.Value),</p><p> CompleteDate = Convert.ToDate
108、Time(CompleteDate.Value)</p><p><b> };</b></p><p> bll.Update(approval);</p><p><b> }</b></p><p> public override void Priview()</p>
109、<p><b> {</b></p><p> this.approvalTableAdapter.FillByStudentID(this.reportDS.Approval, guid);</p><p> this.reportViewer.RefreshReport();</p><p><b> }<
110、/b></p><p><b> }</b></p><p><b> }</b></p><p><b> 五、系統(tǒng)測試</b></p><p> 系統(tǒng)測試是系統(tǒng)開發(fā)中比較重要的實現(xiàn)階段,是對整個系統(tǒng)開發(fā)過程包括系統(tǒng)分析,總體設計和詳細設計的最終審查,是系統(tǒng)能否
111、成功運行的保證之一。是在系統(tǒng)分析和系統(tǒng)設計的基礎上,完成對系統(tǒng)的代碼測試,系統(tǒng)轉換,包括運行維護等活動。通過測試可以發(fā)現(xiàn)系統(tǒng)在可用性,可靠性,可維護性中存在的錯誤和漏洞,所以測試過程必須認真謹慎嚴格對待。</p><p> ?。ㄒ唬┫到y(tǒng)測試的原則</p><p> 1)測試工作應避免由原開發(fā)系統(tǒng)的個人或小組來承擔。</p><p> 2)設計測試方案時,不僅要包
112、括確定的輸入數據,而且包括從系統(tǒng)功能出發(fā)預期的測試結果。</p><p> 3)測試用例不僅要包括合理,有效的輸入數據,還要包括無效的或不合理的輸入數據。</p><p> 4)不僅要檢驗程序是否做了該做的事,還要檢查程序是否同時做了不該做的事。</p><p> 5)保留測試用例,作為系統(tǒng)文檔的組成部分。</p><p> ?。ǘ┫?/p>
113、統(tǒng)測試的方法</p><p> 系統(tǒng)測試,英文是System Testing。是將已經確認的軟件、計算機硬件、外設、網絡等其他元素結合在一起,進行信息系統(tǒng)的各種組裝測試和確認測試,系統(tǒng)測試是針對整個產品系統(tǒng)進行的測試,目的是驗證系統(tǒng)是否滿足了需求規(guī)格的定義,找出與需求規(guī)格不符或與之矛盾的地方,從而提出更加完善的方案。系統(tǒng)測試發(fā)現(xiàn)問題之后要經過調試找出錯誤的原因和位置,然后進行改正。是基于系統(tǒng)整體需求說明書的黑盒
114、測試,應覆蓋系統(tǒng)所有聯(lián)合的部件。對象不僅僅包括需測試的軟件,還要包含軟件所依賴的硬件、外設甚至包括某些數據、某些支持軟件及其接口等。</p><p> 對系統(tǒng)進行測試主要方法有:</p><p> 1、安裝測試(Installing Testing)</p><p> 安裝測試是確保軟件在正常情況和異常情況下,例如:進行首次安裝、升級、完整的或自定義的安裝都能
115、進行安裝的測試。異常情況包括磁盤空間不足、缺少目錄創(chuàng)建權限等場景。核實軟件在安裝后可立即正常運行。安裝測試包括測試安裝代碼以及安裝手冊。安裝手冊提供如何進行安裝,安裝代碼提供安裝一些程序能夠運行的基礎數據。</p><p> 2、白盒測試(White Box Testing)</p><p> 白盒測試又稱結構測試或者邏輯驅動測試。白盒測試是把測試對象看作一個打開的盒子。利用白盒測試法
116、進行動態(tài)測試是,需要測試軟件產品的內部結構和處理過程,不需要測試軟件產品的功能。</p><p> 白盒測試法的覆蓋標準有邏輯覆蓋、循環(huán)覆蓋和基本路徑測試。其中邏輯覆蓋包括語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋。</p><p> 白盒測試是知道產品內部的工作過程,可通過測試來測試產品內部動作是否按照規(guī)格說明書的規(guī)定正常進行,按照程序內容的結構測試程序,檢
117、驗程序中的每條通路是否都有能按預定要求正確工作,而不顧它的功能,白盒測試的主要方法有邏輯驅動、基路測試等,主要用于軟件驗證。</p><p> 3、黑盒測試(Black Box Testing)</p><p> 黑盒測試又稱功能測試或者數據驅動測試。黑盒測試是根據軟件的規(guī)格對軟件進行的測試,這類測試不考慮軟件內部的運作原理,因此軟件對用戶來說就像一個黑盒子。軟件測試人員以用戶的角度,
118、通過各種輸入和觀察軟件的各種輸出結果來發(fā)現(xiàn)軟件存在的缺陷,而不關心程序具體如何實現(xiàn)的一種軟件測試方法。</p><p> (三)系統(tǒng)測試的步驟</p><p> 系統(tǒng)測試一般有單元測試,組裝測試,確認測試和系統(tǒng)測試四個步驟,每一步都是在前一步的基礎上進行的。</p><p><b> 1、單元測試</b></p><p
119、> 單元測試是測試程序模塊及其接口與設計說明的要求是否一致,目的是發(fā)現(xiàn)程序編寫階段的錯誤。它以單個程序模塊為測試單位。單元測試是采用白盒測試的方法,根據詳細設計的描述,從模塊的內部結構出發(fā)設計測試用例,進行測試。</p><p><b> 2、組裝測試</b></p><p> 對每個模塊完成了單元測試以后,需要按照設計時做出的層次模塊圖把它們連接起來,進
120、行組裝測試。</p><p><b> 3、確認測試</b></p><p> 經過組裝,系統(tǒng)己裝配完畢,接下來進行的確認測試是以整個系統(tǒng)作為測試對象,且采用黑盒測試方法。確認測試內容主要包括以下幾部分。</p><p> 功能測試:檢測系統(tǒng)需求規(guī)格說明書的內容是否全部實現(xiàn)。</p><p> 性能測試:檢查系統(tǒng)
121、的可移植性,兼容性,錯誤恢復能力以及可維護性等性能指標,以檢測系統(tǒng)實現(xiàn)的程序。</p><p> 配置審查:檢查被測系統(tǒng)的全部構成是否齊全,質量是否合乎要求,應有維護所需的全部細節(jié),并且是否編好目錄。</p><p><b> 4、系統(tǒng)測試</b></p><p> 系統(tǒng)測試是將系統(tǒng)的所有組成部分包括軟件,硬件,用戶以及環(huán)境等綜合在一起進
122、行測試,要在系統(tǒng)的實際運行環(huán)境現(xiàn)場,在用戶的直接參與下進行。包括集成功能測試,可靠性與適應性測試,系統(tǒng)自我保護及恢復能力的測試,安全性測試,強度測試。</p><p><b> ?。ㄋ模┫到y(tǒng)測試用例</b></p><p> 系統(tǒng)測試用例是為驗證某一功能是否正常而編寫的各種測試路徑(方法)和一組輸入、輸出數據,包括輸入數據和預期結果兩部分。測試用例是用來執(zhí)行測試過程
123、的依據。設計測試用例的目的是避免選擇測試用例的盲目性,選擇最有可能發(fā)現(xiàn)錯誤的測試用例。</p><p> 六、研究結論與未來研究</p><p> 經過四個多月的設計和開發(fā),畢業(yè)論文管理系統(tǒng)基本開發(fā)完畢。其功能基本符合學校使用需求,能夠完成基本的選題審批管理、開題報告管理、評閱意見管理、答辯記錄管理、實習鑒定管理等相關功能。對于數據的輸入、修改、查詢等問題通過程序進行了有效的解決。但某
124、些功能由于自己知識的欠缺和時間不足使得系統(tǒng)開發(fā)不夠精細,功能實現(xiàn)不夠完善。主要原因是某些知識學習不夠深入,這些需要在以后的工作中改進、錘煉。在這段時間的設計中,我感覺自己學了很多的以前沒有深入了解的知識和從未接觸過的知識,比如Linq To SQL、三層架構設計模式、Lambda表達式等多方面知識。在以前的學習中也學習過,但那只是停留在了解的階段。而此次畢業(yè)設計卻帶給我更進一步了解和應用這些知識的機會。做畢業(yè)設計的過程中,熟悉了數據庫的
125、應用和開發(fā),對許多未接觸過的知識有了較深刻的認識;對軟件開發(fā)有了進一步的了解,大大豐富了開發(fā)經驗;并且對以前學習過程中所學到的相關知識有了更加深的了解,并進一步把它應用到畢業(yè)設計中。</p><p> 但是由于畢業(yè)設計時間較短和本人知識有限,所以該系統(tǒng)還有許多不盡人意的地方,主要存在以下一些問題:</p><p> ?。?)系統(tǒng)沒有達到更強的容錯性。</p><p&g
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文管理系統(tǒng)的設計與實現(xiàn)
- 畢業(yè)論文范文——高校畢業(yè)論文管理系統(tǒng)的設計與實現(xiàn)
- 畢業(yè)論文范文——高校畢業(yè)論文管理系統(tǒng)的設計與實現(xiàn)
- 畢業(yè)論文合同管理系統(tǒng)設計與實現(xiàn)
- 畢業(yè)論文——庫存管理系統(tǒng)的設計與實現(xiàn)
- 公文管理系統(tǒng)的設計與實現(xiàn)——畢業(yè)論文
- 畢業(yè)論文---倉庫管理系統(tǒng)的設計與實現(xiàn)
- 論壇管理系統(tǒng)的設計與實現(xiàn)畢業(yè)論文
- 畢業(yè)論文——公文管理系統(tǒng)的設計與實現(xiàn)
- 畢業(yè)論文——畢業(yè)設計管理系統(tǒng)的設計與實現(xiàn)
- 畢業(yè)論文--合同管理系統(tǒng)設計與實現(xiàn)
- 畢業(yè)論文——合同管理系統(tǒng)設計與實現(xiàn)
- 留言管理系統(tǒng)設計與實現(xiàn)---畢業(yè)論文
- 賓館管理系統(tǒng)設計與實現(xiàn)畢業(yè)論文
- 留言管理系統(tǒng)設計與實現(xiàn)---畢業(yè)論文
- 畢業(yè)論文——庫存管理系統(tǒng)的設計與實現(xiàn)
- 畢業(yè)論文——庫存管理系統(tǒng)的設計與實現(xiàn)
- 畢業(yè)論文——畢業(yè)設計管理系統(tǒng)的設計與實現(xiàn)
- 畢業(yè)論文——畢業(yè)設計管理系統(tǒng)的設計與實現(xiàn)
- 畢業(yè)論文--酒店管理系統(tǒng)的設計與實現(xiàn)
評論
0/150
提交評論