畢業(yè)論文管理系統(tǒng)畢業(yè)論文1
摘 要
在這個日新月異的信息科技時代,計(jì)算機(jī)已成為我們生活中不可或缺的一部分。傳統(tǒng)的論文管理方式,已漸漸無法適應(yīng)社會的發(fā)展,它要求有更方便和人性化的管理方式,因此就有了這個論文管理系統(tǒng)。
本系統(tǒng)采用ASP.NET技術(shù)和三層架構(gòu)技術(shù)進(jìn)行設(shè)計(jì)和開發(fā),并通過使用SQL Server 2005數(shù)據(jù)庫來對數(shù)據(jù)進(jìn)行管理。該系統(tǒng)主要是滿足學(xué)生和教師的文檔交接、查詢和審核管理等,并且教師還可以通過互聯(lián)網(wǎng)對學(xué)生的論文(設(shè)計(jì))和答辯情況做出評定,對學(xué)生的論文格式進(jìn)行檢查,查看自己所帶的學(xué)生的答辯成績及管理學(xué)生的相關(guān)文檔。管理員在整個過程中都可以查看學(xué)生的相關(guān)信息并對學(xué)生提交的有關(guān)文檔進(jìn)行管理,還可以查看所有學(xué)生的答辯成績和實(shí)習(xí)情況信息等。
關(guān)鍵詞:ASP.NET,三層架構(gòu),SQL Server 2005
Abstract
In this era of rapid development of science and technology, the computer has become an important part of our lives. The management of paper has gradually can not adapt to social development. It requires a more convenient and human-oriented management, so we will have a management of the paper.
The system uses ASP.NET technology and three-tier technology to design and develop, and by using SQL Server 2005 database for data management. The system is mainly to meet the students and teachers’ demand to submit, audit and manage documents. Besides teacher can also assess the students paper (design) and the oral defense through the internet, therefore, they are able to research the performance of their students to reply, and teachers can check their students’ the format of paper and research the score of their students’ reply their paper and manage their students’ documents. Similarly, administrators can research the results of all students to reply and Practice situation online and manage all students’ documents.
Key words:ASP.NET , Three-tier , SQL Server 2005
目錄
1 引言 1
1.1課題的研究意義 1
1.2課題的設(shè)計(jì)目標(biāo) 1
1.3論文的章節(jié)安排 2
2 開發(fā)環(huán)境和相關(guān)技術(shù)簡介 2
2.1開發(fā)語言 2
2.2 SQL Server 2005 3
2.3 B/S體系結(jié)構(gòu) 3
2.4 .NET三層架構(gòu) 4
2.5 開發(fā)及運(yùn)行環(huán)境 5
3 系統(tǒng)需求分析 5
3.1系統(tǒng)可行性分析 5
3.2系統(tǒng)需求分析 6
3.2.1系統(tǒng)功能需求 6
3.2.2系統(tǒng)性能需求 7
3.3系統(tǒng)數(shù)據(jù)流圖 7
3.4系統(tǒng)數(shù)據(jù)字典 9
4 系統(tǒng)設(shè)計(jì) 10
4.1系統(tǒng)總體功能結(jié)構(gòu) 10
4.2系統(tǒng)詳細(xì)設(shè)計(jì) 10
4.3數(shù)據(jù)庫設(shè)計(jì) 13
4.3.1數(shù)據(jù)庫E-R圖 13
4.3.2數(shù)據(jù)庫表的設(shè)計(jì) 13
5 系統(tǒng)實(shí)現(xiàn) 18
5.1系統(tǒng)登錄界面實(shí)現(xiàn) 18
5.2學(xué)生功能模塊 21
5.2.1答辯記錄表模塊實(shí)現(xiàn) 21
5.2.2實(shí)習(xí)信息模塊實(shí)現(xiàn) 24
5.2.3文檔上傳 26
5.3教師模塊實(shí)現(xiàn) 29
5.3.1論文格式設(shè)置模塊實(shí)現(xiàn) 30
5.3.2論文格式檢查模塊實(shí)現(xiàn) 38
5.3.3指導(dǎo)教師成績評定模塊具體實(shí)現(xiàn) 41
5.3.4評閱教師評定模塊和答辯成績評定模塊的具體實(shí)現(xiàn) 46
5.3.5系決議書評定的具體實(shí)現(xiàn) 46
5.3.6實(shí)習(xí)成績評定模塊具體實(shí)現(xiàn) 47
5.3.7模板管理模塊的具體實(shí)現(xiàn) 47
5.3.8實(shí)習(xí)報告管理模塊的具體實(shí)現(xiàn) 48
5.3.9答辯記錄表管理模塊的具體實(shí)現(xiàn) 48
5.4管理員功能模塊 50
5.4.1論文成績報表具體實(shí)現(xiàn) 50
6 結(jié)束語 53
參考文獻(xiàn) 54
致 謝 55
1 引言
隨著社會的進(jìn)步和發(fā)展,計(jì)算機(jī)在我們?nèi)粘I钪幸呀?jīng)成為不可或缺的部分。它在人類社會的各個領(lǐng)域都發(fā)揮著重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對論文信息進(jìn)行管理,具有著手工管理所無法比擬的優(yōu)點(diǎn)。在快速而便捷的網(wǎng)絡(luò)社會里,無不促使師生交流與溝通從面對面變成通過論文管理系統(tǒng)來實(shí)現(xiàn)。本系統(tǒng)是一個基于.NET技術(shù),結(jié)合實(shí)際情況開發(fā)的論文管理系統(tǒng)。通過網(wǎng)絡(luò)來完成從學(xué)生選導(dǎo)師到論文中期檢查到論文的成績評定和最后的論文提交整個過程,為師生提供了便利。
1.1課題的研究意義
在如今高效而又快節(jié)奏的現(xiàn)代社會里,我們學(xué)校的畢業(yè)生論文相關(guān)資料還是使用傳統(tǒng)人工的方式來進(jìn)行管理,這樣不僅工作效率低,而且時間久了會產(chǎn)生大量的文件,要對這些文件進(jìn)行日常的管理將會帶來諸多的不便,采用這種傳統(tǒng)的方式還有可能出現(xiàn)資料丟失,泄露等等諸多不安全因素。
再者考慮到大部分畢業(yè)生,由于都是即將畢業(yè)的學(xué)生,可能很多人在做畢業(yè)設(shè)計(jì)時都不在學(xué)校,而是在實(shí)習(xí)單位。因而這樣的話要想和自己的導(dǎo)師溝通就會顯的比較困難,這樣導(dǎo)師也就不能很好地了解自己的學(xué)生進(jìn)度如何,進(jìn)而也就不好提供比較有針對性的指導(dǎo)。為了方便學(xué)校能夠更好的對畢業(yè)論文相關(guān)資料進(jìn)行管理以及導(dǎo)師與學(xué)生之間能夠更好的交流,因此決定開發(fā)一套畢業(yè)論文管理系統(tǒng)。本系統(tǒng)可以很大程度改善上面提到的問題,不僅能夠提高學(xué)校工作人員對畢業(yè)論文管理的效率,同時也為導(dǎo)師與畢業(yè)生之間提供了一個很好的交流與指導(dǎo)的平臺。
1.2課題的設(shè)計(jì)目標(biāo)
本系統(tǒng)的設(shè)計(jì)目標(biāo)主要是監(jiān)控學(xué)生畢業(yè)設(shè)計(jì)(論文)的整個過程,其中包括學(xué)生的論文資料的提交和管理,小組里不同老師對學(xué)生設(shè)計(jì)(論文)進(jìn)行成績評議,導(dǎo)師可以對學(xué)生的論文格式進(jìn)行檢測,管理員可以查看學(xué)生的論文成績和實(shí)習(xí)情況。具有實(shí)用性和可靠性。
1.3論文的章節(jié)安排
整篇論文介紹了畢業(yè)設(shè)計(jì)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。具體章節(jié)安排如下:
第一章引言闡明了論文課題的提出及其意義,以及本課題研究內(nèi)容。
第二章主要介紹了研究本課題的相關(guān)技術(shù)和個性技術(shù)的特征、功能和應(yīng)用領(lǐng)域。
第三章介紹系統(tǒng)需求分析,包括系統(tǒng)的可行性分析以及系統(tǒng)功能需求分析。
第四章介紹系統(tǒng)設(shè)計(jì),并對系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)進(jìn)行的重點(diǎn)分析。
第五章進(jìn)行系統(tǒng)實(shí)現(xiàn)設(shè)計(jì)的分析,包括界面分析和代碼說明。
第六章是結(jié)束語??偨Y(jié)論文所做的主要工作及取得的研究成果。
2 開發(fā)環(huán)境和相關(guān)技術(shù)簡介
2.1開發(fā)語言
通過使用C#語言來開發(fā)本系統(tǒng)。C#是一種簡潔、類型安全的面向?qū)ο蟮恼Z言,開發(fā)人員可以使用它來構(gòu)建在 .NET Framework 上運(yùn)行的各種安全、可靠的應(yīng)用程序。Microsoft Visual C# 2005 提供高級代碼編輯器、方便的用戶界面設(shè)計(jì)器、集成調(diào)試器和許多其他工具,以在 C# 語言版本 2.0 和 .NET Framework 的基礎(chǔ)上加快應(yīng)用程序的開發(fā)。
C#語言由C/C++演變而來。但是,它現(xiàn)代、簡單、完全面向?qū)ο蠛皖愋桶踩?。簡單,它沒有C中的指針,容易學(xué),C#使用統(tǒng)一的類型系統(tǒng),摒棄了C 多變的類型系統(tǒng);現(xiàn)代,全面的內(nèi)存管理已經(jīng)不是您的任務(wù)了,因?yàn)镃#程序在運(yùn)行時提供一個垃圾收集器,負(fù)責(zé)C#程序中的內(nèi)存管理;面向?qū)ο?,它是C# 的核心,C#支持所有關(guān)鍵的面向?qū)ο蟮母拍睿绶庋b、繼承和多態(tài)性。封裝是一種程序設(shè)計(jì)機(jī)制,它綁定代碼及其操作的數(shù)據(jù),并使它們不受外界干涉和誤用的影響,從而保證安全性;多態(tài)性,定義了一個接口,多個方法;繼承,是一個對象或的另一個對象的屬性的過程;類型安全,C#實(shí)施最嚴(yán)格的類型安全,以保護(hù)自己及垃圾收集器,在C#中,被傳遞的引用參數(shù)是類型安全的。
2.2 SQL Server 2005
SQL Server 2005 是一個全面的數(shù)據(jù)庫平臺,使用集成的商業(yè)智能 (BI) 工具提供了企業(yè)級的數(shù)據(jù)管理。SQL Server 2005 數(shù)據(jù)庫引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)提供了更安全可靠的存儲功能。此外 SQL Server 2005 結(jié)合了分析、報表、集成和通知功能。
SQL Server 2005有助于簡化企業(yè)數(shù)據(jù)與分析應(yīng)用的創(chuàng)建、部署和管理,并在解決方案伸縮性、可用性和安全性方面實(shí)現(xiàn)重大改進(jìn)?;赟QL Server 2000技術(shù)優(yōu)勢構(gòu)建的SQL Server 2005將提供集成化信息管理解決方案,可幫助任何規(guī)模的組織機(jī)構(gòu):
創(chuàng)建并部署更具伸縮性、可靠性和安全性的企業(yè)級應(yīng)用。
降低數(shù)據(jù)庫應(yīng)用創(chuàng)建、部署與管理的復(fù)雜程度,進(jìn)而實(shí)現(xiàn)IT效率最大化。
憑借可供創(chuàng)建更具安全保障之?dāng)?shù)據(jù)庫應(yīng)用的豐富、靈活、現(xiàn)代化開發(fā)環(huán)境增強(qiáng)開發(fā)人員工作效能。
跨越多種平臺、應(yīng)用和設(shè)備實(shí)現(xiàn)數(shù)據(jù)共享,進(jìn)而簡化內(nèi)部系統(tǒng)與外部系統(tǒng)連接。
實(shí)現(xiàn)功能強(qiáng)勁的集成化商務(wù)智能解決方案,從而在整個企業(yè)范圍內(nèi)推進(jìn)科學(xué)決策,提高工作效率。
在不必犧牲性能表現(xiàn)、可用性或伸縮性的前提下控制成本費(fèi)用水平。
2.3 B/S體系結(jié)構(gòu)
B/S軟件體系結(jié)構(gòu),即Browser/Server (瀏覽器/服務(wù)器)結(jié)構(gòu),是隨著Internet技術(shù)的興起,對C/S體系結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在B/S體系結(jié)構(gòu)下,用戶界面完全通過WWW瀏覽器實(shí)現(xiàn),一部分事務(wù)邏輯在前端實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn)。
B/S體系結(jié)構(gòu)主要是利用不斷成熟的WWW瀏覽器技術(shù),結(jié)合瀏覽器的多種腳本語言,用通用瀏覽器就實(shí)現(xiàn)了原來需要復(fù)雜的專用軟件才能實(shí)現(xiàn)的強(qiáng)大功能,并節(jié)約了開發(fā)成本,是一種全新的軟件體系結(jié)構(gòu)?;贐/S體系結(jié)構(gòu)的軟件,系統(tǒng)安裝、修改和維護(hù)全在服務(wù)器端解決。用戶在使用系統(tǒng)時,僅僅需要一個瀏覽器就可運(yùn)行全部的模塊,真正達(dá)到了"零客戶端"的功能,很容易在運(yùn)行時自動升級。B/S體系結(jié)構(gòu)還提供了異種機(jī)、異種網(wǎng)、異種應(yīng)用服務(wù)的聯(lián)機(jī)、聯(lián)網(wǎng)、統(tǒng)一服務(wù)的最現(xiàn)實(shí)的開放性基礎(chǔ)。但是,與C/S體系結(jié)構(gòu)相比,B/S體系結(jié)構(gòu)也有許多不足之處,例如:
(1) B/S體系結(jié)構(gòu)缺乏對動態(tài)頁面的支持能力,沒有集成有效的數(shù)據(jù)庫處理能力。
(2) B/S體系結(jié)構(gòu)的系統(tǒng)擴(kuò)展能力差,安全性難以控制。
(3) 采用B/S體系結(jié)構(gòu)的應(yīng)用系統(tǒng),在數(shù)據(jù)查詢等響應(yīng)速度上,要遠(yuǎn)遠(yuǎn)地低于C/S體系結(jié)構(gòu)。
(4) B/S體系結(jié)構(gòu)的數(shù)據(jù)提交一般以頁面為單位,數(shù)據(jù)的動態(tài)交互性不強(qiáng),不利于在線事務(wù)處理和應(yīng)用。
2.4 .NET三層架構(gòu)
三層體系結(jié)構(gòu)式指:用戶界面表示層(USL)、業(yè)務(wù)邏輯層(BLL)、數(shù)據(jù)訪問層(DAL)。
數(shù)據(jù)訪問層:主要是對數(shù)據(jù)的操作,而不是數(shù)據(jù)庫,具體是為業(yè)務(wù)邏輯層或表示層提供數(shù)據(jù)服務(wù);
業(yè)務(wù)邏輯層:主要是對數(shù)據(jù)層的操作,對數(shù)據(jù)業(yè)務(wù)邏輯處理。
表示層:主要表示W(wǎng)EB方式,也可以表示成WINFORM方式,WEB方式也可以表現(xiàn)成:ASPX, 如果邏輯層相當(dāng)強(qiáng)大和完善,無論表現(xiàn)層如何定義和更改,邏輯層都能完善地提供服務(wù)。
三層體系結(jié)構(gòu),是在客戶端與數(shù)據(jù)庫之間加入了一個中間層,也叫組件層。這里所說的三層體系,不是指物理上的三層,不是簡單地放置三臺機(jī)器就是三層體系結(jié)構(gòu),也不僅僅有B/S應(yīng)用才是三層體系結(jié)構(gòu),三層是指邏輯上的三層,即使這三個層放置到一臺機(jī)器上。 三層體系的應(yīng)用程序?qū)I(yè)務(wù)規(guī)則、數(shù)據(jù)訪問、合法性校驗(yàn)等工作放到了中間層進(jìn)行處理。通常情況下,客戶端不直接與數(shù)據(jù)庫進(jìn)行交互,而是通過COM/DCOM通訊與中間層建立連接,再經(jīng)由中間層與數(shù)據(jù)庫進(jìn)行交換.
開發(fā)人員可以將應(yīng)用的商業(yè)邏輯放在中間層應(yīng)用服務(wù)器上,把應(yīng)用的業(yè)務(wù)邏輯與用戶界面分開。在保證客戶端功能的前提下,為用戶提供一個簡潔的界面。這意味著如果需要修改應(yīng)用程序代碼,只需要對中間層應(yīng)用服務(wù)器進(jìn)行修改,而不用修改成千上萬的客戶端應(yīng)用程序。從而使開發(fā)人員可以專注于應(yīng)用系統(tǒng)核心業(yè)務(wù)邏輯的分析、設(shè)計(jì)和開發(fā),簡化了應(yīng)用系統(tǒng)的開發(fā)、更新和升級工作。
使用三層結(jié)構(gòu)主要是使項(xiàng)目結(jié)構(gòu)更清楚,分工更明確,有利于后期的維護(hù)和升級。它未必會提升性能,因?yàn)楫?dāng)子程序模塊未執(zhí)行結(jié)束時,主程序模塊只能處于等待狀態(tài)。
2.5 開發(fā)及運(yùn)行環(huán)境
l 系統(tǒng)開發(fā)平臺:Visual Studio 2005
l 系統(tǒng)開發(fā)語言:C#
l 數(shù)據(jù)庫管理系統(tǒng):SQL Server 2000
l 系統(tǒng)運(yùn)行平臺:Windows XP/Windows2000或更高版本
l 系統(tǒng)運(yùn)行環(huán)境:Microsoft.NET Framework SDK v2.0或更高
3 系統(tǒng)需求分析
3.1系統(tǒng)可行性分析
系統(tǒng)可行性可以從經(jīng)濟(jì)可行性、技術(shù)可行性和社會可行性3個方面來論證。
(1)經(jīng)濟(jì)可行性分析
本系統(tǒng)主要是個人開發(fā)的,投入的資金并不多,如要算成本的話,應(yīng)按如下計(jì)算:
序號
項(xiàng)目
人工(人日)
單價(元)
合計(jì)(元)
1
需求分析
8
100
800
2
總體設(shè)計(jì)
3
100
300
3
詳細(xì)設(shè)計(jì)
5
100
500
4
編碼實(shí)現(xiàn)
20
100
2000
5
單體測試
3
100
300
6
系統(tǒng)集成測試
3
100
300
7
使用手冊編制
5
100
500
8
合計(jì)
4700
在系統(tǒng)投入使用兩年后,可節(jié)省4000元,比最初投資還少700元,但到第三年可以節(jié)省6000元,即700/2000=0.35,所以投資回收期為2.35年
所以,引入系統(tǒng)后5年內(nèi)工程的純收入預(yù)計(jì)是10000-4700=5300(元)
即,本系統(tǒng)在經(jīng)濟(jì)上是可行。
(2)技術(shù)可行性分析
本系統(tǒng)使用Microsoft Visual Studio 2005和Microsoft SQL Server 2005開發(fā)工具,而這兩個開發(fā)工具相對而言也是比較簡單、易學(xué)的。開發(fā)語言使用C#,這種面向?qū)ο笳Z言,相對于C,C++而言也簡單很多,主要是開發(fā)人員對C#更加熟悉。所以技術(shù)上也是可行的。
(3)操作可行性分析
本系統(tǒng)界面友好,操作方便,只要懂得計(jì)算機(jī)的基本操作,都會使用該系統(tǒng)的相關(guān)操作。
所以,在操作可行性上也是可行的。
經(jīng)上述可行性分析,系統(tǒng)是可行的,可以立即進(jìn)行。
3.2系統(tǒng)需求分析
3.2.1系統(tǒng)功能需求
本系統(tǒng)主要分為3個大模塊:學(xué)生、教師、管理員。而在原系統(tǒng)上的這些大模塊里,需要添加以下幾個小模塊:
學(xué)生:主要要增加上傳承諾書、英文翻譯、外文原文、實(shí)習(xí)報告、學(xué)生論文答辯記錄表、實(shí)習(xí)情況表等。
教師:主要要增加評語模板管理、實(shí)習(xí)報告管理、實(shí)習(xí)成績評定、指導(dǎo)教師成績評定、評閱教師成績評定、答辯成績表管理、論文答辯成績評定、系答辯委員會決議、論文格式設(shè)置、論文格式檢查、查看自己所帶學(xué)生的成績等。
管理員:主要要增加組管理、教師分組、評閱教師分配、承諾書管理、外文原文管理、英文翻譯管理、實(shí)習(xí)報告管理、論文成績統(tǒng)計(jì)、實(shí)習(xí)情況統(tǒng)計(jì)等。
3.2.2系統(tǒng)性能需求
本系統(tǒng)是基于網(wǎng)絡(luò)、操作簡便。為了能夠滿足學(xué)生在做論文整個過程中都能夠順利的上傳文件和作品,老師能夠在答辯的時候在線打分和管理學(xué)生的相關(guān)文件和作品,管理員可以在線查看報表和管理學(xué)生的相關(guān)文件和作品,系統(tǒng)需要滿足一下要求:
1、實(shí)用性: 論文管理系統(tǒng)主要是要考慮其實(shí)用性,要跟實(shí)際的應(yīng)用相結(jié)合,滿足實(shí)際的需求。
2、可靠性:系統(tǒng)能夠正常的運(yùn)行,在多人同時登錄時也能夠正常的運(yùn)行。若運(yùn)行時遇到不可恢復(fù)的系統(tǒng)錯誤,也必須保證數(shù)據(jù)庫完好無損。
3、安全性:對于系統(tǒng)的重要數(shù)據(jù)都有密碼保護(hù),具有一定的安全性。
4、簡單易用性:系統(tǒng)的操作簡便,容易,能夠滿足教師、學(xué)生和管理員的使用。
3.3系統(tǒng)數(shù)據(jù)流圖
論文管理系統(tǒng)的頂層(0層)數(shù)據(jù)流圖,如下:
圖:3-1
論文管理系統(tǒng)的第一層數(shù)據(jù)流圖,如下:
圖:3-2
論文管理系統(tǒng)的第二層數(shù)據(jù)流圖,如下:
圖:3-3
3.4系統(tǒng)數(shù)據(jù)字典
表:3-1 學(xué)生信息數(shù)據(jù)字典
數(shù)據(jù)項(xiàng)名稱:學(xué)生信息
數(shù)據(jù)項(xiàng)別名:無
說明:每個學(xué)生的基本信息
數(shù)據(jù)流來源:教師輸入
數(shù)據(jù)流組成:學(xué)生信息=學(xué)生編號+專業(yè)編號+系編號+教師編號+學(xué)號+姓名+密碼+性別+ 年級+班級+電話+郵箱+畢業(yè)年份
數(shù)據(jù)流量:1份/人
表:3-2 格式信息數(shù)據(jù)字典
數(shù)據(jù)項(xiàng)名稱:格式信息
數(shù)據(jù)項(xiàng)別名:無
說明:論文格式的基本信息
數(shù)據(jù)流來源:頁面格式表、段落格式表
數(shù)據(jù)流流向:論文格式檢查
數(shù)據(jù)流組成:頁面格式信息=編號+上頁邊距+下頁邊距+左頁邊距+右頁邊距+裝訂線+裝訂線位置+頁面大小+頁面寬度+頁面高度+頁眉+頁腳+頁面欄+垂直對齊
段落格式信息=編號+大綱級別+字體名稱+字體大小+粗體+斜體+行距+段后間距+段前間距+對齊方式+左縮進(jìn)+右縮進(jìn)
數(shù)據(jù)流量:1份
表:3-3 成績信息數(shù)據(jù)字典
數(shù)據(jù)項(xiàng)名稱:成績信息
數(shù)據(jù)項(xiàng)別名:無
說明:每個學(xué)生的成績信息
數(shù)據(jù)流來源:系決議書成績表
數(shù)據(jù)流流向:成績報表
數(shù)據(jù)流組成:成績信息=學(xué)生姓名+論文題目+指導(dǎo)教師+教師職稱+總分+等級
數(shù)據(jù)流量:1份/人
4 系統(tǒng)設(shè)計(jì)
4.1系統(tǒng)總體功能結(jié)構(gòu)
4.2系統(tǒng)詳細(xì)設(shè)計(jì)
參考文獻(xiàn) [1] 葉子,進(jìn).實(shí)現(xiàn)[J].計(jì)算機(jī)工程與科學(xué),2009,1(07):61-64. [2] 基于MATLAB 實(shí)現(xiàn)的指紋圖像預(yù)處理[J].2008,34(04):836-856. [3] [4] [5] By-gnksguybb [6] 李 寧.指紋增強(qiáng)算法研究[D].濟(jì)南:山東大學(xué),2007. [7] 馬揚(yáng)彪.基于Gabor 濾波的指紋圖像增強(qiáng)[J]. 微計(jì)算機(jī)信息,2009,25(15):305-306. [8] 向 銳.面向低質(zhì)量指紋的圖像增強(qiáng)算法研究[D].重慶:西南政法大學(xué),2008.
本系統(tǒng)是分成三個角色:學(xué)生、教師和管理員。
學(xué)生模塊詳細(xì)設(shè)計(jì)
學(xué)生成功登錄系統(tǒng)后,可以進(jìn)行填寫答辯記錄表、實(shí)習(xí)情況和上傳相關(guān)文檔。
圖:4-1
教師成功登錄后,進(jìn)行成績評定的具體流程圖如下:
圖:4-2
論文格式檢查的具體流程圖如下:
圖:4-3
管理員成功登錄后,報表查看的具體流程圖如下:
圖:4-4
4.3數(shù)據(jù)庫設(shè)計(jì)
4.3.1數(shù)據(jù)庫E-R圖
圖:4-5
4.3.2數(shù)據(jù)庫表的設(shè)計(jì)
SQL數(shù)據(jù)庫中,一個關(guān)系就對應(yīng)一個基本表,一個或多個基本表對應(yīng)一個存儲文件。用戶建立一個基本表后,可以對它進(jìn)行增加、刪除、修改、查詢等操作。本系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)中使用的基本表如下,數(shù)據(jù)庫,名為:paper。在原系統(tǒng)中增加的表具體如下:
表:4-1 AnswerScore(答辯成績表)
列名
數(shù)據(jù)類型
長度
是否主鍵
允許空
說明
Answer_manner
float
8
否
允許
答辯態(tài)度
innovative
float
8
否
允許
創(chuàng)新性
paperquanlity
float
8
否
允許
論文質(zhì)量
report
float
8
否
允許
口頭報告
answer
float
8
否
允許
回答問題的正確情況
total
float
8
否
允許
總分
Remark_id
int
4
否
允許
評語編號
addTime
datetime
8
否
允許
時間
Teacher_id
int
4
否
允許
教師編號
Student_id
int
4
是
不允許
學(xué)生編號
表:4-2 Assess(指導(dǎo)教師成績表)
列名
數(shù)據(jù)類型
長度
是否主鍵
允許空
說明
workr_manner
float
8
否
允許
工作態(tài)度
innovative
float
8
否
允許
創(chuàng)新性
selection
float
8
否
允許
選題
Design_for
float
8
否
允許
設(shè)計(jì)方案
analyse
float
8
否
允許
分析問題解決問題能力
practicality
float
8
否
允許
實(shí)現(xiàn)情況
thesis
float
8
否
允許
論文質(zhì)量
other
float
8
否
允許
其它
total
float
8
否
允許
總分
addTime
datetime
8
否
允許
時間
Remark_id
int
4
否
允許
評語編號
Teacher_id
int
4
否
允許
教師編號
Student_id
int
4
是
不允許
學(xué)生編號
表:4-3 FieldWork(實(shí)習(xí)情況表)
列名
數(shù)據(jù)類型
長度
是否主鍵
允許空
說明
Work_id
int
4
是
不允許
實(shí)習(xí)編號
Stu_number
nvarchar
50
否
允許
學(xué)生學(xué)號
Work_unit
nvarchar
100
否
允許
工作單位
Work_content
nvarchar
100
否
允許
工作內(nèi)容
Work_score
float
8
否
允許
實(shí)習(xí)成績
Work_remark
nvarchar
500
否
允許
備注
Work_adddate
datetime
8
否
允許
時間
表:4-4 FinalScore(決議書成績)
列名
數(shù)據(jù)類型
長度
是否主鍵
允許空
說明
F_id
int
4
是
不允許
編號
F_studentid
int
8
否
允許
學(xué)生編號
F_assess
float
8
否
允許
指導(dǎo)教師評定
F_py
float
8
否
允許
評閱教師評定
F_answerscore
float
8
否
允許
答辯小組評分
F_final
float
8
否
允許
最終成績
F_class
varchar
4
否
允許
評定等級
F_remark
int
8
否
允許
評語編號
F_addtime
datetime
8
否
允許
時間
F_teacherid
int
4
否
允許
教師編號
表:4-5 Group(組)
列名
數(shù)據(jù)類型
長度
是否主鍵
允許空
說明
id
int
4
是
不允許
編號
name
varchar
128
否
允許
組名
表:4-6 PageStyle(頁面格式)
列名
數(shù)據(jù)類型
長度
是否主鍵
允許空
說明
PageStyleID
int
4
是
不允許
編號
TopMargin
float
8
否
允許
上頁邊距
BottomMargin
float
8
否
允許
下頁邊距
LeftMargin
float
8
否
允許
左頁邊距
RightMargin
float
8
否
允許
右頁邊距
Gutter
float
8
否
允許
裝訂線
GutterPos
nvarchar
50
否
允許
裝訂線位置
PageSize
nvarchar
50
否
允許
頁面大小
PageWidth
float
8
否
允許
頁面寬度
PageHeight
float
8
否
允許
頁面高度
PageHeader
float
8
否
允許
頁眉
PageFooter
float
8
否
允許
頁腳
ColNum
int
4
否
允許
頁面欄
VerticalAlignment
nvarchar
50
否
允許
垂直對齊
表:4-7 ParagraphStyle(段落格式)
列名
數(shù)據(jù)類型
長度
是否主鍵
允許空
說明
ParagraphStyleID
int
4
是
不允許
編號
NameLocal
nvarchar
50
否
允許
大綱級別
FontName
nvarchar
50
否
允許
字體名稱
FontSize
float
8
否
允許
字體大小
Bold
bit
1
否
允許
粗體
Italic
bit
1
否
允許
斜體
LineSpacingRule
nvarchar
50
否
允許
行距
LineSpacing
float
8
否
允許
行距1
LineUnitAfter
float
8
否
允許
段后間距
LineUnitBefore
float
8
否
允許
段前間距
SpaceAfter
float
8
否
允許
段后間距
SpaceBefore
float
8
否
允許
段前間距
Alignment
nvarchar
50
否
允許
對齊方式
leftIndent
float
8
否
允許
左縮進(jìn)
RightIndent
float
8
否
允許
右縮進(jìn)
CharacterUnitLeftIndent
float
8
否
允許
左縮進(jìn)(字符)
CharacterUnitRightIndent
float
8
否
允許
右縮進(jìn)(字符)
CharacterUnitFirstLineIndent
float
8
否
允許
縮進(jìn)
表:4-8 PingYue(評閱成績)
列名
數(shù)據(jù)類型
長度
是否主鍵
允許空
說明
innovative
float
8
否
允許
創(chuàng)新性
selection
float
8
否
允許
選題
Design_for
float
8
否
允許
設(shè)計(jì)方案
analyse
float
8
否
允許
分析能力
practicality
float
8
否
允許
實(shí)現(xiàn)情況
thesis
float
8
否
允許
論文質(zhì)量
other
float
8
否
允許
其它
total
float
8
否
允許
總分
addTime
datetime
8
否
允許
時間
Remark_id
int
4
否
允許
評語編號
Teacher_id
int
4
否
允許
教師編號
Student_id
int
4
是
不允許
學(xué)生編號
表:4-9 Record(答辯記錄表)
列名
數(shù)據(jù)類型
長度
是否主鍵
允許空
說明
Record_id
int
4
是
不允許
編號
R_subid
int
4
否
允許
選題編號
R_studentid
int
4
否
允許
學(xué)生編號
R_time
datetime
8
否
允許
時間
R_address
varchar
50
否
允許
答辯地點(diǎn)
R_answer
varchar
5000
否
允許
提問及回答
R_human
varchar
50
否
允許
記錄人
表:4-10 Remark(評語表)
列名
數(shù)據(jù)類型
長度
是否主鍵
允許空
說明
id
int
4
是
不允許
編號
title
nvarchar
128
否
允許
評語標(biāo)題
contents
text
16
否
允許
評語內(nèi)容
Access_id
int
4
否
不允許
教師編號
表:4-11 Template(模板表)
列名
數(shù)據(jù)類型
長度
是否主鍵
允許空
說明
T_id
int
4
是
不允許
編號
T_name
varchar
100
否
允許
評語標(biāo)題
T_content
varchar
1000
否
允許
評語內(nèi)容
T_teacherid
int
4
否
不允許
教師編號
表:4-12 Teacher(教師)
列名
數(shù)據(jù)類型
長度
是否主鍵
允許空
說明
Tea_ID
int
4
是
不允許
編號
DID
float
8
否
允許
系號
Tea_Number
float
8
否
允許
教師號
Tea_Password
float
8
否
允許
密碼
Tea_Name
float
8
否
允許
姓名
Tea_Sex
float
8
否
允許
性別
Tea_Phone
nvarchar
50
否
允許
電話號碼
Tea_Title
nvarchar
50
否
允許
職稱
Tea_StudyDirection
float
8
否
允許
研究方向
Tea_Team
float
8
否
允許
所屬小組
Tea_Leader
float
8
否
允許
組長
Tea_Master
float
8
否
允許
系主任
Tea_StuPYTea
int
4
否
允許
評閱教師編號
表:4-13 Student(學(xué)生)
列名
數(shù)據(jù)類型
長度
是否主鍵
允許空
說明
Stu_id
int
4
是
不允許
編號
PID
Int
4
否
允許
專業(yè)編號
DID
int
4
否
允許
系號
Tea_ID
int
4
否
允許
教師號
Stu_Number
Varchar
50
否
不允許
學(xué)號
Stu_Password
Varchar
50
否
不允許
密碼
Stu_Name
Varchar
50
否
允許
姓名
Stu_Sex
Bit
1
否
允許
性別
Stu_Grade
varchar
30
否
允許
年級
Stu_Class
varchar
30
否
允許
班級
Stu_Tel
varchar
30
否
允許
電話號碼
Stu_Email
varchar
50
否
允許
郵箱地址
Stu_Addtime
datetime
8
否
允許
日期
Link1
varchar
255
否
允許
任務(wù)書
Link2
varchar
255
否
允許
中期檢查
Link3
Varchar
255
否
允許
畢業(yè)設(shè)計(jì)
Link4
varchar
255
否
允許
論文
Link5
varchar
255
否
允許
承諾書
Link6
varchar
255
否
允許
外文翻譯
Link7
varchar
255
否
允許
英文原文
Link8
varchar
255
否
允許
實(shí)習(xí)報告
Stu_Checkpaper
Int
4
否
允許
論文檢測結(jié)果
Stu_byYear
int
4
否
允許
畢業(yè)年份
5 系統(tǒng)實(shí)現(xiàn)
5.1系統(tǒng)登錄界面實(shí)現(xiàn)
該模塊主要是對想要登錄本系統(tǒng)的用戶的用戶名、密碼和登錄類型進(jìn)行檢驗(yàn)。只有用戶名、密碼和登錄類型都正確了才能成功的登錄本系統(tǒng),而且會根據(jù)不同的登錄類型到不同的界面;若用戶名、密碼或者登錄類型只要有一個出錯或者沒有填寫都會導(dǎo)致登錄失敗。具體如圖:5-1所示:
圖:5-1
此時點(diǎn)擊登錄按鈕(登錄類型不正確),會出現(xiàn)圖:5-2的錯誤提示:
圖:5-2
其他無論是用戶名還是密碼出錯了都是會出現(xiàn)圖:5-2的錯誤提示框。登錄的具體實(shí)現(xiàn)代碼如下:
protected void btnlogin_Click(object sender, ImageClickEventArgs e)
{
bool select = false;
int type = 0;
bool success = false;
for (int i = 0; i < rbltype.Items.Count; i++)
{
if (rbltype.Items[i].Selected)
{ select = true;
type = int.Parse(rbltype.Items[i].Value); }
}
if (select)
{
string username = this.txtname.Text.Trim();
string password = this.txtpass.Text.Trim();
System.Text.StringBuilder strwhere = new System.Text.StringBuilder();
switch (type)
{
case 1://學(xué)生
{
strwhere.AppendFormat(" Stu_Number={0} and Stu_Password={1} ", username, password);
BLL.Student bll = new BLL.Student();
DataSet ds = bll.GetList(strwhere.ToString());
if (ds.Tables[0].Rows.Count != 0)
{
success = true;
Session["did"] = ds.Tables[0].Rows[0]["DID"].ToString();
Session["StudentNum"] = ds.Tables[0].Rows[0]["Stu_Number"].ToString();
Session["StudentId"] = ds.Tables[0].Rows[0]["Stu_id"].ToString();
Response.Redirect("Student/main.aspx");
}
} break;
case 2://教師
{
strwhere.AppendFormat(" Tea_Number={0} and Tea_Password={1} ", username, password);
BLL.Teacher bll = new BLL.Teacher();
DataSet ds = bll.GetList(strwhere.ToString());
if (ds.Tables[0].Rows.Count != 0)
{
success = true;
Session["TeacherNum"] = ds.Tables[0].Rows[0]["Tea_Number"].ToString();
Session["TeacherId"] = ds.Tables[0].Rows[0]["Tea_ID"].ToString();
Response.Redirect("Teacher/main.aspx");
}
} break;
case 3://管理員
{
strwhere.AppendFormat(" Admin_Number={0} and Admin_Password={1} ", username, password);
BLL.Admin bll = new BLL.Admin();
DataSet ds = bll.GetList(strwhere.ToString());
if (ds.Tables[0].Rows.Count != 0)
{
success = true;
Session["AdminNum"] = ds.Tables[0].Rows[0]["Admin_Number"].ToString();
Session["AdminName"] = ds.Tables[0].Rows[0]["Admin_Name"].ToString();
Session["AdminId"] = ds.Tables[0].Rows[0]["Admin_id"].ToString();
Response.Redirect("Admin/main.aspx");
}
} break;
default:
{ MessageBox.Show(this.Page, "請選擇登錄類型!"); }; break;
}
if (!success)
{ MessageBox.Show(this.Page, "登錄失敗,請重新登錄!"); }
}
else
{ MessageBox.Show(this.Page, "請選擇登錄類型!"); }
}
5.2學(xué)生功能模塊
學(xué)生的主界面如圖:5-3,學(xué)生的具體操作就可以在這個界面上選擇要操作的內(nèi)容來實(shí)現(xiàn)
圖:5-3
在原系統(tǒng)的學(xué)生功能模塊中,主要增加了答辯記錄表、實(shí)習(xí)信息和文檔上傳(承諾書上傳、外文原文上傳、英文翻譯上傳和實(shí)習(xí)報告上傳)
5.2.1答辯記錄表模塊實(shí)現(xiàn)
答辯記錄表模塊主要是實(shí)現(xiàn):學(xué)生在答辯過程中記錄答辯小組教師的提問和學(xué)生的回答,并記錄下來答辯的地點(diǎn)和記錄人,其中的答辯時間就是系統(tǒng)時間(無需人為書寫)。具體如圖:5-4所示:
圖:5-4
只有等記錄人把提問及回答情況記錄、答辯地點(diǎn)和記錄人都填寫好了,再點(diǎn)提交,才會提交成功,并出現(xiàn)圖:5-6 的提示框。并且一旦提交完后,原有的提交按鈕就變成灰色,不可激活。如圖:5-7所示:
圖:5-6 圖:5-7
其中,答辯地址、記錄人和體溫計(jì)回答情況都不能為空的,若其中有一個為空,則答辯記錄表提交操作是不成功的,會出現(xiàn)圖:5-8錯誤提示信息:
圖:5-8
答辯記錄表模塊的具體實(shí)現(xiàn)代碼如下:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Session["StudentId"] != null)
{
BLL.Student bll = new BLL.Student();
DataSet ds = bll.GetList(" Subject.Stu_id=" + Session["StudentId"].ToString() + "");
BLL.Teacher tea = new BLL.Teacher();
DataSet ds_tea = tea.GetTeacherN(int.Parse(Session["StudentId"].ToString()));
this.lblNumbers.Text = "";
int rowsCount = ds_tea.Tables[0].Rows.Count;
if (rowsCount > 0)
{
for (int n = 0; n < rowsCount; n++)
{
if (ds_tea.Tables[0].Rows[n]["Tea_Name"].ToString() != "")
{ this.lblNumbers.Text += ds_tea.Tables[0].Rows[n]["Tea_Name"].ToString() + " " ; }
}
}
if (ds.Tables[0].Rows.Count != 0)
{
this.lblD.Text = ds.Tables[0].Rows[0]["DName"].ToString();
this.lblG.Text = ds.Tables[0].Rows[0]["Stu_Grade"].ToString();
this.lblP.Text = ds.Tables[0].Rows[0]["PName"].ToString();
this.lblName.Text = ds.Tables[0].Rows[0]["Stu_Name"].ToString();
this.lblNumber.Text = ds.Tables[0].Rows[0]["Stu_Number"].ToString();
this.lblSuject.Text = ds.Tables[0].Rows[0]["Sub_Title"].ToString();
this.HiddenField1.Value = ds.Tables[0].Rows[0]["Stu_id"].ToString();
BLL.Record record = new BLL.Record();
Model.Record model = record.GetModel(int.Parse(this.HiddenField1.Value));
if (model.R_studentid != 0)
{
this.lblTime.Text = model