畢業(yè)論文-基于OSGI的學(xué)科競(jìng)賽管理子系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
畢業(yè)論文-基于OSGI的學(xué)科競(jìng)賽管理子系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
畢業(yè)論文-基于OSGI的學(xué)科競(jìng)賽管理子系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
畢業(yè)論文-基于OSGI的學(xué)科競(jìng)賽管理子系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
畢業(yè)論文-基于OSGI的學(xué)科競(jìng)賽管理子系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、大連東軟信息學(xué)院本科畢業(yè)設(shè)計(jì)(論文)論文題目論文題目:基于OSGI的學(xué)科競(jìng)賽管理子系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)系 所: 電子工程系 專 業(yè): 電子信息工程(嵌入式系統(tǒng)工程方向) 學(xué)生姓名: 學(xué)生學(xué)號(hào): 指導(dǎo)教師: 導(dǎo)師職稱: 講師 完成日期: 2014年 5月 2日 大連東軟信息學(xué)院Dalian Neusoft大連東軟信息學(xué)院畢業(yè)設(shè)計(jì)(論文) 摘要 IV基于OSGI的學(xué)科競(jìng)賽管理子系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘 要隨著科技和需求的發(fā)展變化,現(xiàn)在的軟件正在變得越來越龐大,軟件的復(fù)雜程度也在成指數(shù)級(jí)增長(zhǎng),使現(xiàn)在軟件的開發(fā)和維護(hù)都變得越來越困難。為了擺脫這樣的困境,將軟件化整為零,將龐大的系統(tǒng)劃分成一個(gè)個(gè)易于開發(fā)和維護(hù)的模

2、塊。使資源能夠合理分配,增加軟件重用性,易于開發(fā)和維護(hù)。在JAVA領(lǐng)域,OSGi是它實(shí)現(xiàn)模塊化最重要的方法。OSGi是比較成熟的技術(shù),因?yàn)樗嬖诹?0多年了,OSGi為企業(yè)級(jí)應(yīng)用程序開發(fā)帶來了極大的便利和好處。模塊化使每個(gè)模塊的邏輯和功能方面都是完整獨(dú)立的,增加了可重用性。每個(gè)模塊都定義了外部接口和依賴項(xiàng),使各個(gè)模塊松散耦合。模塊有效的隔離,避免更新對(duì)系統(tǒng)的影響。OSGi為動(dòng)態(tài)擴(kuò)充,修改系統(tǒng)功能和改編系統(tǒng)行為提供了支撐,避免了傳統(tǒng)開發(fā)方式下,要實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)充,修改以及改變的麻煩。本文主要論述了OSGi的體系結(jié)構(gòu),OSGi中的熱插拔的插件體系結(jié)構(gòu),spring框架,MySQL數(shù)據(jù)庫。應(yīng)用熱插拔體系

3、結(jié)構(gòu),可以將學(xué)科競(jìng)賽管理子系統(tǒng)與其他子系統(tǒng)相連接,當(dāng)子系統(tǒng)進(jìn)行維護(hù)時(shí),不會(huì)影響整個(gè)系統(tǒng)的運(yùn)行。關(guān)鍵詞:JAVA,OSGi,Spring大連東軟信息學(xué)院畢業(yè)設(shè)計(jì)(論文) AbstractOSGI-based discipline competition management subsystemAbstractWith the development of changes in technology and demand, and now the software is becoming increasingly large, the complexity of the software is a

4、lso exponential growth, So that now the software development and maintenance are becoming increasingly difficult. To get out of this predicament, the software split up, will be divided into one large system development and maintenance of the modules is easy. Rational allocation of resources can incr

5、ease software reusability, ease of development and maintenance. In JAVA field, OSGi is the most important way to achieve it is modular. OSGi is a relatively mature technology as it existed 10 years, OSGi for enterprise application development has brought great convenience and benefits. Modular make

6、complete logic and function of each module is independence, increasing the reusability. Each module defines the external interfaces and dependencies, so that each module is loosely coupled. Effective isolation module, avoid updating impact on the system. OSGi is a dynamic expansion, modification and

7、 adaptation of the system behavior system functions provide support, to avoid the traditional development methods, to achieve dynamic expansion, modification and trouble to change.This paper discusses the architecture of OSGi, OSGi in hot-swappable plug-in architecture, spring framework, MySQL datab

8、ase. Application of hot-swappable architecture, academic competitions management subsystem can be connected with other subsystems.Key words: JAVA, OSGi, Spring大連東軟信息學(xué)院畢業(yè)設(shè)計(jì)(論文) 目錄目 錄 TOC o 1-3 u 摘 要 PAGEREF _Toc387765764 h IAbstract PAGEREF _Toc387765765 h II第1章緒 論 PAGEREF _Toc387765766 h 11.1 課題研究背景

9、與意義 PAGEREF _Toc387765767 h 11.2 課題研究?jī)?nèi)容與方法 PAGEREF _Toc387765768 h 11.3 課題研究現(xiàn)狀 PAGEREF _Toc387765769 h 1第2章關(guān)鍵技術(shù)介紹 PAGEREF _Toc387765770 h 22.1 關(guān)鍵技術(shù)一 PAGEREF _Toc387765771 h 22.2 關(guān)鍵技術(shù)二 PAGEREF _Toc387765772 h 3第3章系統(tǒng)需求分析 PAGEREF _Toc387765773 h 43.1 系統(tǒng)設(shè)計(jì)目標(biāo) PAGEREF _Toc387765774 h 43.2 系統(tǒng)功能需求 PAGEREF _

10、Toc387765775 h 43.3 系統(tǒng)非功能需求 PAGEREF _Toc387765776 h 53.4 系統(tǒng)開發(fā)環(huán)境 PAGEREF _Toc387765777 h 53.5 系統(tǒng)可行性分析 PAGEREF _Toc387765778 h 5第4章系統(tǒng)設(shè)計(jì) PAGEREF _Toc387765779 h 74.1 系統(tǒng)設(shè)計(jì)指導(dǎo)原則 PAGEREF _Toc387765780 h 74.2 體系結(jié)構(gòu)設(shè)計(jì) PAGEREF _Toc387765781 h 74.3 軟件設(shè)計(jì) PAGEREF _Toc387765782 h 94.3.1 UI界面設(shè)計(jì) PAGEREF _Toc38776578

11、3 h 104.3.2 功能模塊設(shè)計(jì) PAGEREF _Toc387765784 h 134.3.3 數(shù)據(jù)庫設(shè)計(jì) PAGEREF _Toc387765785 h 13第5章系統(tǒng)實(shí)現(xiàn) PAGEREF _Toc387765786 h 165.1環(huán)境配置 PAGEREF _Toc387765787 h 165.2功能模塊實(shí)現(xiàn) PAGEREF _Toc387765788 h 16第6章系統(tǒng)測(cè)試 PAGEREF _Toc387765789 h 186.1 測(cè)試概述 PAGEREF _Toc387765790 h 186.2 測(cè)試用例 PAGEREF _Toc387765791 h 18第7章結(jié)論 PAG

12、EREF _Toc387765792 h 21參考文獻(xiàn) PAGEREF _Toc387765793 h 22致 謝 PAGEREF _Toc387765794 h 23大連東軟信息學(xué)院畢業(yè)設(shè)計(jì)(論文)- 第1章緒 論1.1 課題研究背景與意義現(xiàn)在計(jì)算機(jī)技術(shù)和互聯(lián)網(wǎng)的快速發(fā)展,我國(guó)的信息基礎(chǔ)設(shè)施和信息產(chǎn)業(yè)也在高速發(fā)展,給人們的生活,工作帶來了極大的便利,充分利用先進(jìn)的網(wǎng)絡(luò)技術(shù)和資源實(shí)現(xiàn)學(xué)科競(jìng)賽的信息管理化。使大家能更快的看到競(jìng)賽的資料。傳統(tǒng)的競(jìng)賽管理要對(duì)學(xué)生的報(bào)名信息進(jìn)行收集,還要人工進(jìn)行的錄入,核對(duì)以及給學(xué)生發(fā)通知等,容易出現(xiàn)很多錯(cuò)誤。這種既繁瑣又無用的工作也影響了辦公效率?,F(xiàn)今社會(huì)的網(wǎng)絡(luò)化,

13、便捷化,各種競(jìng)賽的管理應(yīng)該有相對(duì)便捷的管理方式和方法。通過網(wǎng)絡(luò)發(fā)布各種競(jìng)賽信息,報(bào)名及結(jié)果的公布等?;贠SGi的學(xué)科競(jìng)賽管理子系統(tǒng),為指導(dǎo)老師和相關(guān)人員提供了方便,用一些簡(jiǎn)單的操作獲取和上傳了需要的信息,便于數(shù)據(jù)的保存,修改和完善,提高了競(jìng)賽中信息公布的效率。1.2 課題研究?jī)?nèi)容與方法本系統(tǒng)是基于OSGi的學(xué)科競(jìng)賽管理子系統(tǒng),是一個(gè)子系統(tǒng),為了方便老師和相關(guān)人員上傳和修改成績(jī),讓同學(xué)能更快的看到成績(jī)。希望廣大同學(xué)可以通過此平臺(tái)更加便利的參加競(jìng)賽,同時(shí)也希望借助此平臺(tái)幫助老師更輕松的管理競(jìng)賽的相關(guān)事宜。應(yīng)用了OSGi中的熱插拔的插件體系結(jié)構(gòu),即使因?yàn)樾枰薷牧诉@個(gè)子系統(tǒng),也不會(huì)影響到大系統(tǒng),大

14、系統(tǒng)的其他功能可以正常使用。采用Spring框架,實(shí)現(xiàn)類之間的松耦合,提高整體程序的穩(wěn)定性。1.3 課題研究現(xiàn)狀模塊化的編程好處一應(yīng)很好的被理解了約40年,但在OSGi之前,開發(fā)人員不得不自己發(fā)明模塊化設(shè)計(jì)和系統(tǒng)。OSGi標(biāo)準(zhǔn)為軟件提供了模塊化,動(dòng)態(tài)性,面向組建和服務(wù)的特性,因此越來越受到軟件開發(fā)商及開源社區(qū)的關(guān)注。在網(wǎng)絡(luò)計(jì)算機(jī)和云計(jì)算機(jī)體系高速發(fā)展的帶動(dòng)下,單一節(jié)點(diǎn)的傳統(tǒng)應(yīng)用程序正逐漸被分布式多節(jié)點(diǎn)應(yīng)用程序所取代。OSGi標(biāo)準(zhǔn)正向著分布式,跨虛擬機(jī)的方向發(fā)展,跨虛擬機(jī)的組件和服務(wù)訪問成為了構(gòu)建分布式OSGi應(yīng)用程序的重要方式。OSGi控制臺(tái)對(duì)于OSGi組建和服務(wù)生命周期管理以及模塊的調(diào)試和診

15、斷的作用是至關(guān)重要的。組件和服務(wù)的管理者可以通過控制臺(tái)向OSGi框架提交控制命令,由于控制臺(tái)傳遞到命令解釋器,然后解釋器再去命令提供者那里查找執(zhí)行命令,并返回執(zhí)行結(jié)果到控制臺(tái),從而完成管理過程的交互。大連東軟信息學(xué)院畢業(yè)設(shè)計(jì)(論文)第2章關(guān)鍵技術(shù)介紹本系統(tǒng)中采用了Java,它是跨平臺(tái)的,不同的操作系統(tǒng)都可以通過JVM來解釋Java程序,解決方案多,技術(shù)新穎,靈活多變。Java開發(fā)的安全性最高,線程很好控制,運(yùn)行速度是依據(jù)框架而定的。.net是不能跨平臺(tái)的,運(yùn)行時(shí)速度和Java不相上下,.net中的線程很難控制,移植性差。性能上,中小級(jí)的運(yùn)用,.net的效率更高,瀏覽下載素的速度快,但是百萬級(jí)后

16、的不如Java。2.1 關(guān)鍵技術(shù)一Java是一種高級(jí)的面向?qū)ο蟮木幊陶Z言。Java平臺(tái)是一種純軟件平臺(tái)。平臺(tái)由JVM和Java應(yīng)用程序編程接口組成。Java應(yīng)用編程接口為Java應(yīng)用提供了一個(gè)獨(dú)立于操作系統(tǒng)的標(biāo)準(zhǔn)接口。Java API涵蓋從基本對(duì)象到連網(wǎng)和安全性,再到XML生產(chǎn)和Web服務(wù)的所有東西。Java API組成相關(guān)類和接口的庫。J2EE提供Web服務(wù),組件模型,管理和聽信應(yīng)用程序接口,這些接口使J2EE成為實(shí)現(xiàn)企業(yè)級(jí)的面向服務(wù)的體系結(jié)構(gòu)和Web2.0應(yīng)用程序的行業(yè)標(biāo)準(zhǔn)。J2EE全面支持兩層和三層的應(yīng)用程序。EJB架構(gòu)是J2EE平臺(tái)的核心,EJB架構(gòu)規(guī)范了用Java語言開發(fā)和部署服務(wù)器

17、應(yīng)用程序的業(yè)務(wù)邏輯。OSGi作為事實(shí)標(biāo)準(zhǔn)的Java模塊化實(shí)現(xiàn)得到了長(zhǎng)足的發(fā)展,尤其是隨著云計(jì)算和分布式技術(shù)的興起,OSGi這種模塊化,動(dòng)態(tài)部署的核心功能將會(huì)受到越來越多的重視。每個(gè)OSGi框架運(yùn)行的邏輯單元稱為一個(gè)Bundle,Bundle是個(gè)符合特定形式的jar文件。每一個(gè)Bundle的功能不僅可以是抽象的也可以是具體的。OSGi中控制的Bundles彼此之間依賴的關(guān)系是通過自身的類的加載機(jī)制,生命周期的管理也是OSGi亮點(diǎn),通過可動(dòng)態(tài)對(duì)這些加載的Bundles進(jìn)行安裝和卸載,啟動(dòng)和停止等一些操作,所以應(yīng)用程序運(yùn)行的狀態(tài)可以動(dòng)態(tài)的改變。OSGi框架包括一個(gè)安全層,OSGi的安全層擴(kuò)展了Jav

18、a的安全機(jī)制,增加了一些新的約束填補(bǔ)了Java安全機(jī)制中的遺漏?;贠SGi的應(yīng)用程序可以對(duì)運(yùn)行狀態(tài)和行為進(jìn)行動(dòng)態(tài)的更改。它是一個(gè)即穩(wěn)定又高效的系統(tǒng),它是一個(gè)微核的系統(tǒng),微核是指它的核心只有為數(shù)不多的幾個(gè)jar包?;贠SGi框架的系統(tǒng)可分可合,其結(jié)構(gòu)的優(yōu)勢(shì)性導(dǎo)致具體的Bundle不至于影響到全局,不會(huì)因?yàn)榫植康腻e(cuò)誤導(dǎo)致全局系統(tǒng)的崩潰??蓮?fù)用性強(qiáng),每一個(gè)Bundle都是一個(gè)可復(fù)用的單元。Spring 是能夠替代EJB技術(shù)的強(qiáng)大的輕量級(jí)的框架。Spring的輕盈體現(xiàn)在框架本身的基礎(chǔ)結(jié)構(gòu)以及對(duì)其他應(yīng)用工具的支持和裝配能力。Spring架構(gòu)的基礎(chǔ)是基于JavaBean屬性的Inversion of

19、Control容器,可以將對(duì)象之間的依賴關(guān)系交由Spring進(jìn)行控制,避免編碼造成過度的程序耦合。組成Spring框架的每個(gè)模塊或組建都可以單獨(dú)存在,或者與其他一個(gè)或多個(gè)模塊聯(lián)合實(shí)現(xiàn)。Spring的DI機(jī)制降低了業(yè)務(wù)對(duì)象替換的復(fù)雜性。Spring提供了唯一的數(shù)據(jù)訪問抽象,包括簡(jiǎn)單和有效率的JDBC框架,改進(jìn)了效率并且減少了錯(cuò)誤。Spring還提供了事物管理抽象,它能夠在各種底層事物管理技術(shù)。Spring對(duì)很多難用的Java EE API提供了一個(gè)薄薄的封裝層,通過Spring的簡(jiǎn)易封裝,這些Java EE API的使用難度大大降低了。2.2 關(guān)鍵技術(shù)二.net側(cè)重點(diǎn)在從連接到互聯(lián)網(wǎng)的單一網(wǎng)站或

20、設(shè)備上,轉(zhuǎn)移到極端及設(shè)備和服務(wù)群組上,使他們通力合作,提供更廣泛的,更豐富的解決方案。使用戶能夠控制信息的傳說方式,時(shí)間和內(nèi)容。計(jì)算機(jī),設(shè)備和服務(wù)能夠相輔相成,進(jìn)而提供豐富的服務(wù),并不是像孤島那樣,由用戶提供唯一的集成。.net平臺(tái)建立在XML和因特網(wǎng)標(biāo)準(zhǔn)協(xié)議的基礎(chǔ)上,包含了.net基礎(chǔ)結(jié)構(gòu)和基礎(chǔ)工具,為開發(fā)新型的互動(dòng)協(xié)助的軟件提供了一個(gè)先進(jìn)的體系結(jié)構(gòu)模型。.net具有高效的開發(fā)速度,穩(wěn)定可靠的安全機(jī)制,并且簡(jiǎn)單易行。CLR是.net的執(zhí)行引擎,只支持IL的代碼。因?yàn)樗械?net語言都是基于IL而設(shè)計(jì)的,就是CLR消除了不同的.net語言之間的差異,所以.net語言具有很高兼容性。CLR能有

21、效的消除很多常見的錯(cuò)誤,主要是針對(duì)底層語言很容易出現(xiàn)的編譯錯(cuò)誤。因?yàn)?net語言都編譯為IL,也就是說CLR消除了不同.net語言之間的差異。.net的核心技術(shù)就是Web Services。Web Services是新一代計(jì)算機(jī)和計(jì)算機(jī)之間一種通用數(shù)據(jù)的傳輸格式,它可以讓不同的運(yùn)算系統(tǒng)更容易進(jìn)行數(shù)據(jù)交換。Web Services允許應(yīng)用程序之間共享數(shù)據(jù),并且分散了代碼單元?;赬ML這樣Internet數(shù)據(jù)交換的通用語言,實(shí)現(xiàn)跨平臺(tái)和跨操作系統(tǒng)且跨語言。.net的環(huán)境中使用了統(tǒng)一的Internet標(biāo)準(zhǔn)將不同系統(tǒng)進(jìn)行對(duì)接。它是Internet上第一個(gè)大規(guī)模高度分布式的應(yīng)用服務(wù)架構(gòu),使用了名為“聯(lián)

22、盟”的管理程序,這個(gè)程序能夠全方面的管理平臺(tái)中運(yùn)行的服務(wù)程序,并為它們提供強(qiáng)大而安全保護(hù)后臺(tái)。.net可以使用戶輕松的進(jìn)行互聯(lián)網(wǎng)的連接,并輕松的完成那些在現(xiàn)在看來十分費(fèi)時(shí)且費(fèi)力的事務(wù),.net架構(gòu)將把用戶從Web數(shù)據(jù)束縛中解脫出來,用戶可以自由的訪問,自由的查看,自由的使用它們的數(shù)據(jù)。第3章系統(tǒng)需求分析3.1 系統(tǒng)設(shè)計(jì)目標(biāo)本子系統(tǒng)主要就是對(duì)系內(nèi)學(xué)科競(jìng)賽,獲獎(jiǎng)情況,進(jìn)行管理和維護(hù)。相關(guān)指導(dǎo)老師可以根據(jù)自己的權(quán)限,對(duì)競(jìng)賽的相關(guān)的數(shù)據(jù)進(jìn)行維護(hù)和及時(shí)的更新,管理員可以更改用戶等信息。使學(xué)生可以更快,更實(shí)時(shí)的查到學(xué)科競(jìng)賽的相關(guān)情況,例如新增的競(jìng)賽信息,競(jìng)賽的進(jìn)程,競(jìng)賽的結(jié)果,獲獎(jiǎng)人員等等。本系統(tǒng)基本上,

23、可以使學(xué)科競(jìng)賽的每個(gè)環(huán)節(jié)都達(dá)到開放化,網(wǎng)絡(luò)化,規(guī)范化的管理,讓每一個(gè)參加比賽的同學(xué)都能感到學(xué)科競(jìng)賽的快樂,大大增強(qiáng)了同學(xué)們參賽的熱情與積極性,大大的減少競(jìng)賽管理的工作量,進(jìn)而提高了學(xué)科競(jìng)賽的工作效率,同時(shí)也確保學(xué)科競(jìng)賽的公平、公正和公開。3.2 系統(tǒng)功能需求根據(jù)需求調(diào)研結(jié)果確定本系統(tǒng)主要包括以下功能模塊。教師管理模塊,包括查詢競(jìng)賽信息,增加競(jìng)賽信息,刪除競(jìng)賽信息,修改競(jìng)賽信息等功能,權(quán)限包括增加競(jìng)賽信息,刪除競(jìng)賽信息,更改競(jìng)賽信息,查找相關(guān)的競(jìng)賽信息。學(xué)生查詢模塊,包括查詢競(jìng)賽信息,競(jìng)賽報(bào)名,查詢與自己相關(guān)的競(jìng)賽信息等功能,學(xué)生權(quán)限包括查找競(jìng)賽的相關(guān)信息,競(jìng)賽報(bào)名,查找自己參加的競(jìng)賽信息管理員

24、模塊,包括增加用戶信息,刪除用戶信息,更改用戶信息,查詢用戶的相關(guān)信息等功能,權(quán)限包括增加用戶,刪除用戶,更改用戶信息,查找相關(guān)的用戶信息。管理員權(quán)限用來維護(hù),可以隨時(shí)增加,刪除,修改用戶的信息。管理員可以對(duì)老師用戶或者學(xué)生用戶的個(gè)人信息進(jìn)行修改。各個(gè)模塊的描述如表所示。表3.1 教師管理模塊的功能功能編號(hào)功能名稱功能描述優(yōu)先級(jí)1查詢競(jìng)賽信息對(duì)競(jìng)賽的相關(guān)信息進(jìn)行查詢,如比賽時(shí)間2增加競(jìng)賽信息增加新的比賽及比賽的相關(guān)信息,如初賽,復(fù)賽3刪除競(jìng)賽信息刪除不需要的或者取消的競(jìng)賽及相關(guān)信息4修改競(jìng)賽信息對(duì)競(jìng)賽的相關(guān)信息進(jìn)行修改,如比賽時(shí)間表3.2 學(xué)生查詢模塊的功能功能編號(hào)功能名稱功能描述優(yōu)先級(jí)1查詢

25、競(jìng)賽查詢?nèi)康母?jìng)賽及競(jìng)賽的相關(guān)信息,如比賽結(jié)束時(shí)間2競(jìng)賽報(bào)名對(duì)自己想?yún)⒓拥母?jìng)賽進(jìn)行報(bào)名3查詢與自己相關(guān)的競(jìng)賽信息查詢自己報(bào)名的競(jìng)賽的相關(guān)信息,如報(bào)了哪個(gè)競(jìng)賽表3.3 管理員模塊的功能功能編號(hào)功能名稱功能描述優(yōu)先級(jí)1增加用戶增加可以登錄的用戶的相關(guān)信息2刪除用戶刪除無用的用戶3更改用戶對(duì)用戶的信息進(jìn)行更改,教師用戶和學(xué)生用戶4查詢用戶信息查詢相關(guān)的用戶信息 3.3 系統(tǒng)非功能需求支持多個(gè)線程的同時(shí)執(zhí)行,并提供多線程之間的同步機(jī)制。 動(dòng)態(tài)變化的環(huán)境,需要的類能夠動(dòng)態(tài)地加載到運(yùn)行環(huán)境,也可以通過網(wǎng)絡(luò)來載入所需要的類,有利于軟件的升級(jí)。具有無比的健壯性和可靠性,減少了應(yīng)用系統(tǒng)的維護(hù)費(fèi)用。具有很強(qiáng)的可移

26、植性。具有模塊化,可動(dòng)態(tài)部署,復(fù)用性高和擴(kuò)張性強(qiáng)等特點(diǎn)。3.4 系統(tǒng)開發(fā)環(huán)境 軟件環(huán)境:PowerDesigner Version 850MySQL Version 4.1JDK1.6STS(Spring Tools Suite) Version 3.3.0.RealeaseFreeMarker Version 2.3.19WebWork Verison2.1Hibernate Version4.3.03.5 系統(tǒng)可行性分析本系統(tǒng)采用Java中的OSGi框架,數(shù)據(jù)庫采用MySQL。軟件是否穩(wěn)定不是只看開發(fā)階段可能出現(xiàn)多少異常就能衡量的,軟件的“穩(wěn)定”應(yīng)試多方面共同作用的結(jié)果。除

27、了關(guān)注開發(fā)階段是否穩(wěn)定之外,還要關(guān)注是否能積累重用穩(wěn)定的代碼,問題出現(xiàn)時(shí)能否隔斷連鎖反應(yīng)蔓延,缺陷是否容易修復(fù)。在這些方面,OSGi就可以帶來相當(dāng)多的好處,OSGi中提出一個(gè)概念叫做Bundle,系統(tǒng)的其他各個(gè)功能都可以作為一個(gè)獨(dú)立的Bundle,這樣一個(gè)復(fù)雜的系統(tǒng)就可以看作一系列Bundle的集合,就像搭積木一樣,需要哪個(gè)功能就開發(fā)哪個(gè)Bundle,做好后添加到OSGi框架中即可。OSGi作為事實(shí)標(biāo)準(zhǔn)的Java模塊化實(shí)現(xiàn)得到了長(zhǎng)足的發(fā)展,尤其是隨著云計(jì)算和分布式技術(shù)的興起,OSGi這種模塊化,動(dòng)態(tài)部署的核心功能將會(huì)受到越來越多的重視。OSGi會(huì)引導(dǎo)程序員開發(fā)出可積累可重用的軟件。經(jīng)過良好的設(shè)

28、計(jì),能夠很方便的在其他項(xiàng)目中使用。一些項(xiàng)目中出現(xiàn)的一些“萬能的包”,這些包中存放了在項(xiàng)目中被多次調(diào)用的代碼,但是這樣的包不叫做可重用包。當(dāng)這些包越來越大,類越來越多,功能越來越強(qiáng)是,與項(xiàng)目的耦合就越緊密,一般也就無法在其他項(xiàng)目中使用了。每個(gè)OSGi框架運(yùn)行的邏輯單元稱為一個(gè)Bundle,Bundle是個(gè)符合特定形式的jar文件。每一個(gè)Bundle的功能不僅可以是抽象的也可以是具體的。OSGi中控制的Bundles彼此之間依賴的關(guān)系是通過自身的類的加載機(jī)制,生命周期的管理也是OSGi亮點(diǎn),通過可動(dòng)態(tài)對(duì)這些加載的Bundles進(jìn)行安裝和卸載,啟動(dòng)和停止等一些操作,所以應(yīng)用程序運(yùn)行的狀態(tài)可以動(dòng)態(tài)的改

29、變。OSGi框架包括一個(gè)安全層,OSGi的安全層擴(kuò)展了Java的安全機(jī)制,增加了一些新的約束填補(bǔ)了Java安全機(jī)制中的遺漏?;贠SGi的應(yīng)用程序可以對(duì)運(yùn)行狀態(tài)和行為進(jìn)行動(dòng)態(tài)的更改。它是一個(gè)即穩(wěn)定又高效的系統(tǒng),它是一個(gè)微核的系統(tǒng),微核是指它的核心只有為數(shù)不多的幾個(gè)jar包?;贠SGi框架的系統(tǒng)可分可合,其結(jié)構(gòu)的優(yōu)勢(shì)性導(dǎo)致具體的Bundle不至于影響到全局,不會(huì)因?yàn)榫植康腻e(cuò)誤導(dǎo)致全局系統(tǒng)的崩潰??蓮?fù)用性強(qiáng),每一個(gè)Bundle都是一個(gè)可復(fù)用的單元。在OSGi環(huán)境下,“大雜燴”形式的模塊式很難生存的。必須把模塊設(shè)計(jì)的粒度合理, 精心挑選對(duì)外發(fā)布的接口和引入的依賴,這樣可以積累出可重用的模塊,也利于

30、提高程序的穩(wěn)定性。系統(tǒng)主要就是對(duì)系內(nèi)學(xué)科競(jìng)賽,獲獎(jiǎng)情況,進(jìn)行管理和維護(hù)。相關(guān)指導(dǎo)老師可以根據(jù)自己的權(quán)限,對(duì)競(jìng)賽的相關(guān)的數(shù)據(jù)進(jìn)行維護(hù)和及時(shí)的更新,管理員也可以設(shè)置系內(nèi)學(xué)科競(jìng)賽的相關(guān)的最新數(shù)據(jù)和更改用戶等信息。使學(xué)生可以更快,更實(shí)時(shí)的查到學(xué)科競(jìng)賽的相關(guān)情況。第4章系統(tǒng)設(shè)計(jì)4.1 系統(tǒng)設(shè)計(jì)指導(dǎo)原則(1)先進(jìn)性采用了OSGi框架,整個(gè)系統(tǒng)使用了插件式的設(shè)計(jì)方法。OSGi可以承載任意組件或粒度的任意變化。OSGi為動(dòng)態(tài)擴(kuò)充,可以為修改系統(tǒng)功能,和為改變系統(tǒng)行為提供了支撐,避免了傳統(tǒng)開發(fā)方式下,要實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)充,修改和改變的麻煩。OSGi帶來了規(guī)范化的組建組織以及同一的開發(fā)方式,這是組件中的組織,組件的開發(fā)

31、和組件的積累有了一個(gè)全新的指導(dǎo)和支持?;贠SGi的系統(tǒng)可以在系統(tǒng)運(yùn)行的狀況下給它動(dòng)態(tài)的增加新的功能或者卸載不需要的功能??梢酝ㄟ^安裝新的Bundle,更新或停止現(xiàn)有的Bundle來實(shí)現(xiàn)組件的熱插拔?;贠SGi架構(gòu)的模塊化推動(dòng)架構(gòu)師設(shè)計(jì)出能再一定范圍內(nèi)自治的代碼,可以使開發(fā)人員只了解當(dāng)前模塊的知識(shí)就能高效編碼,也有利于代碼出現(xiàn)問題是隔斷連鎖反應(yīng)。Spring構(gòu)建的松耦合,使在變更時(shí),只需要修改少量的代碼,大大降低了應(yīng)用開發(fā)的難度和復(fù)雜度,提高了開發(fā)速度。(2)可靠性及安全性本子系統(tǒng)采用了OSGi和Spring的結(jié)合,OSGi的強(qiáng)項(xiàng)是它的動(dòng)態(tài)加載和對(duì)Bundle之間的通信和管理及依賴關(guān)系,而更

32、細(xì)粒度bundle內(nèi)部則沒有嚴(yán)格的管理體系,Spring可以對(duì)bundle內(nèi)部進(jìn)行更為細(xì)粒度的管理,Spring將在配置文件中增加直接支持OSGi的配置項(xiàng)。修改一個(gè)特定的Bundle不會(huì)影響到系統(tǒng)中的所有應(yīng)用的使用,運(yùn)行的時(shí)候很大以部分的應(yīng)用可以正常工作。當(dāng)修改后的Bundle再部署上去的時(shí)候,系統(tǒng)從來沒有重新啟動(dòng),在外界看來,這個(gè)過程似乎從未發(fā)生過。這種可動(dòng)態(tài)更改狀態(tài)的特性使得系統(tǒng)變得更有及時(shí)性,也方便了軟件的維護(hù)。系統(tǒng)中采用的Spring框架,提高了整體程序的穩(wěn)定性。OSGi框架分為安全層,模塊層,生命周期層,服務(wù)實(shí)現(xiàn)層。OSGi的安全層擴(kuò)展了Java的安全機(jī)制,增加了一些新的約束以填補(bǔ)了

33、Java安全機(jī)制中的遺漏。系統(tǒng)設(shè)置了不同等級(jí)的使用者權(quán)限,僅有老師和管理員才可對(duì)整個(gè)系統(tǒng)進(jìn)行設(shè)置或更改,沒有權(quán)限的用戶只能進(jìn)行查詢。4.2 體系結(jié)構(gòu)設(shè)計(jì)MVC架構(gòu)模式是模型(Model)、視圖(View)和控制器(Controller)三個(gè)英文單詞的首字母組合。Model(模型)表示應(yīng)用程序核心(比如數(shù)據(jù)庫記錄列表),是應(yīng)用程序中用于處理應(yīng)用程序數(shù)據(jù)邏輯的部分,通常模型對(duì)象負(fù)責(zé)在數(shù)據(jù)庫中存取數(shù)據(jù)。View(視圖)顯示數(shù)據(jù)(數(shù)據(jù)庫記錄),是應(yīng)用程序中處理數(shù)據(jù)顯示的部分,通常視圖是依據(jù)模型數(shù)據(jù)創(chuàng)建的。Controller(控制器)處理輸入(寫入數(shù)據(jù)庫記錄),是應(yīng)用程序中處理用戶交互的部分,通常控制

34、器負(fù)責(zé)從視圖讀取數(shù)據(jù),控制用戶輸入,并向模型發(fā)送數(shù)據(jù)。MVC模式是一個(gè)復(fù)雜的架構(gòu)模式。Views可以看作一棵樹,顯然可以用Composite Pattern(合成模式)來實(shí)現(xiàn)。Views和Models之間的關(guān)系可以用Observer Pattern(觀察者模式)體現(xiàn)。Controller控制Views顯示,可以用策略模式實(shí)現(xiàn)。Model通常是一個(gè)調(diào)停者,可采用Mediator Pattern(調(diào)停者模式)來實(shí)現(xiàn)。MVC系統(tǒng)體系架構(gòu)如圖4.1所示。 圖4.1 MVC系統(tǒng)體系結(jié)構(gòu)框架層次結(jié)構(gòu)層次分為四層:表現(xiàn)層、持久層、業(yè)務(wù)層、域?qū)ο髮?。每個(gè)框架分別扶著一個(gè)層次的實(shí)現(xiàn),表現(xiàn)層使用Web MVC,業(yè)

35、務(wù)層使用Spring,持久層使用Hibrenate,這些框架層次以一種松散耦合的方式彼此作用。Spring在整個(gè)框架中,負(fù)責(zé)了管理事物,預(yù)留了可以與其它層進(jìn)行交互的接口,業(yè)務(wù)層對(duì)象之間的依賴的管理,增加了表現(xiàn)層和持久層之間的靈活性,使得它們互相都不直接進(jìn)行通訊,從表現(xiàn)層中提供了一個(gè)上下文,使業(yè)務(wù)層得到業(yè)務(wù)服務(wù),管理了業(yè)務(wù)邏輯到持久層的實(shí)現(xiàn),處理應(yīng)用程序的業(yè)務(wù)的邏輯和業(yè)務(wù)驗(yàn)證。Hibernate在框架中負(fù)責(zé)查詢相關(guān)的信息,保存、更新、刪除儲(chǔ)存在數(shù)據(jù)庫中的信息。域?qū)ο髮樱?fù)責(zé)封裝底層的數(shù)據(jù)訪問細(xì)節(jié),不僅可能使概念清晰,而且可以提高開發(fā)效率。域?qū)ο髮又饕蔷帉懴嚓P(guān)接口,實(shí)現(xiàn)相關(guān)接口。Web MVC+

36、Spring+Hibernate框架體系結(jié)構(gòu)如圖4.2所示。圖4.2 Web MVC+Spring+Hibernate框架體系結(jié)構(gòu)OSGi主要包括:執(zhí)行環(huán)境,模塊,生命周期,服務(wù)和安全等幾個(gè)層次。執(zhí)行環(huán)境層次主要定義了在具體的執(zhí)行環(huán)境平臺(tái)中,哪些方法和類可以被上面幾個(gè)層次訪問。模塊層次是OSGi的核心層次,定義了Bundle的模型,Bundle如何Import和Export代碼,以及如何定義和解析Bundle之間的依賴關(guān)系。生命周期層次定義了Bundle的生命周期包括狀態(tài)以及狀態(tài)之間如何轉(zhuǎn)換,并且定義了接口支持Bundle的生命周期操作,包括Install,start,stop,update和

37、uninstall。OSGi提供了Bundle庫,服務(wù)層定義了如何將一個(gè)Java對(duì)象注冊(cè)發(fā)布在某個(gè)、某些接口下面成為由這些接口表示的服務(wù),獲取服務(wù),以及監(jiān)聽某些服務(wù)的啟動(dòng)和停止事件等等。安全層次定義了如何簽名和驗(yàn)證一個(gè)Bundle。OSGi體系結(jié)構(gòu)如圖4.3所示。圖4.3 OSGi體系結(jié)構(gòu)4.3 軟件設(shè)計(jì)MySQL是一個(gè)多用戶,多線程SQL數(shù)據(jù)庫服務(wù)器。MySQL是由一個(gè)服務(wù)器守護(hù)程序mysqld和很多不同的客戶程序和庫組成的。MySQL主要是快速,健壯和易用。MySQL可以減少記錄編檔的時(shí)間,減小記錄檢索時(shí)間,靈活的查找序列,靈活的輸出格式,多個(gè)用戶同時(shí)訪問記錄。MySQL是完全網(wǎng)絡(luò)化的,其

38、數(shù)據(jù)庫可在因特網(wǎng)上的任何地方訪問,可以在任何地方的任何人共享數(shù)據(jù)庫。在MySQL中,mysql是個(gè)交互式的程序,允許將SQL語句發(fā)放到服務(wù)器上然后瀏覽它的結(jié)果。mysqladmin是一個(gè)管理程序,允許執(zhí)行,比如關(guān)閉服務(wù)器,創(chuàng)建或者刪除數(shù)據(jù)庫工作。假如服務(wù)器運(yùn)行的不正常,那么可以通過mysqladmin進(jìn)而來檢查服務(wù)器狀態(tài)。isamchk和myisamchk,這些使用程序有助于完成表的分析和優(yōu)化,以及在表損壞是進(jìn)行崩潰恢復(fù)。mysqldump是一個(gè)工具,用于備份數(shù)據(jù)庫或者將數(shù)據(jù)庫拷貝到另一個(gè)服務(wù)器中。服務(wù)器的語言是SQL。MVC是一種架構(gòu)設(shè)計(jì)模式,該模式主要應(yīng)用于圖形化用戶界面應(yīng)用程序,它使應(yīng)用

39、程序的輸入,處理和輸出分開。MVC由三個(gè)部分組成:Model(模型)、View(視圖)及Controller(控制器)。Model是應(yīng)用程序的數(shù)據(jù)模型,它擁有對(duì)數(shù)據(jù)直接訪問的權(quán)力,例如對(duì)數(shù)據(jù)庫的訪問。Model是對(duì)這些數(shù)據(jù)的抽象,不論數(shù)據(jù)采取何種存儲(chǔ)形式,應(yīng)用程序都會(huì)通過Model來對(duì)數(shù)據(jù)進(jìn)行操作,而不必關(guān)心數(shù)據(jù)的存儲(chǔ)形式。數(shù)據(jù)實(shí)體類是一種常用的Model。由于應(yīng)用與Model(模型)的代碼只需寫一次就可以被多個(gè)視圖重用,所以減少了代碼的重復(fù)性。View(視圖)是用戶看到并與之交互的界面,用戶通過視圖來操作應(yīng)用程序,View提供了可視化的界面來顯示Model中定義的數(shù)據(jù),用戶通過View來操作

40、數(shù)據(jù),并對(duì)Model數(shù)據(jù)操作的結(jié)果返回給用戶。Controller(控制器)起到不同層面間的組織作用,用于控制應(yīng)用程序的流程。它處理事件并作出響應(yīng)。該事件包括數(shù)據(jù)模型和用戶行為的改變。用戶通過View發(fā)送操作命令給Controller,由Controller按照程序設(shè)計(jì)的邏輯來更新Model定義的數(shù)據(jù),然后將操作的結(jié)果通過View返回給用戶。4.3.1 UI界面設(shè)計(jì)本子系統(tǒng)中主要包括三個(gè)模塊,分別是管理員,教師登錄,學(xué)生登錄。用戶先進(jìn)行登錄,不同的用戶有不同的權(quán)限。管理員登錄后,有按鈕,可以對(duì)增加用戶信息,刪除用戶信息,更改用戶信息或者權(quán)限,查找用戶信息。教師登錄后,可以看見增加競(jìng)賽信息,刪除

41、競(jìng)賽信息,修改競(jìng)賽信息,查找競(jìng)賽的相關(guān)信息,這樣對(duì)應(yīng)的按鍵,來選擇操作。學(xué)生登錄后,可以看見查看競(jìng)賽信息,競(jìng)賽報(bào)名,查看自己參加的競(jìng)賽的相關(guān)信息,這樣的對(duì)應(yīng)的按鍵,可以用來選擇操作。界面清潔簡(jiǎn)單,讓人一目了然。圖4.4 登錄界面圖4.5管理員登錄后界面圖4.6 教師登錄后界面圖4.7 學(xué)生登錄后界面4.3.2 本子系統(tǒng)中主要包括三個(gè)模塊,分別是管理員,教師登錄,學(xué)生登錄。管理員權(quán)限包括增加用戶,刪除用戶,更改用戶信息,查找相關(guān)的用戶信息。教師權(quán)限包括增加競(jìng)賽信息,刪除競(jìng)賽信息,更改競(jìng)賽信息,查找相關(guān)的競(jìng)賽信息。學(xué)生權(quán)限包括查找競(jìng)賽的相關(guān)信息,競(jìng)賽報(bào)名,查找自己參加的競(jìng)賽信息。管理員權(quán)限用來維護(hù)

42、,可以隨時(shí)增加,刪除,修改用戶的信息。管理員可以對(duì)教師用戶或者學(xué)生用戶的個(gè)人信息進(jìn)行修改和更新。管理員登錄可以實(shí)現(xiàn)用戶信息的增加,用戶信息的刪除,用戶信息的修改,用戶信息的查看。教師登錄可以實(shí)現(xiàn)競(jìng)賽信息的查詢,競(jìng)賽信息的修改,競(jìng)賽信息的刪除,競(jìng)賽相關(guān)信息的查看。學(xué)生登錄可以實(shí)現(xiàn)查詢競(jìng)賽的相關(guān)信息,競(jìng)賽的報(bào)名,查詢與自己相關(guān)的競(jìng)賽信息的一些功能。系統(tǒng)軟件功能框圖如圖4.8所示。圖4.8 系統(tǒng)軟件功能框圖4.3.3 數(shù)據(jù)庫設(shè)計(jì)本子系統(tǒng)中包括四個(gè)實(shí)體和一個(gè)中間實(shí)體。分別是學(xué)生,老師,學(xué)科和競(jìng)賽。每個(gè)實(shí)體中包含如姓名,年齡等各種信息。學(xué)號(hào),員工編號(hào),競(jìng)賽編號(hào),學(xué)科編號(hào)分別為學(xué)生,老師,學(xué)科和競(jìng)賽的主鍵

43、。中間主體中包含和其他四個(gè)實(shí)體相關(guān)聯(lián)的某一項(xiàng),中間主體和其他四個(gè)實(shí)體構(gòu)成多對(duì)多的關(guān)系。圖4.9 E-R圖每個(gè)實(shí)體對(duì)應(yīng)一個(gè)基本表,基本表示只數(shù)據(jù)庫中“實(shí)在”的表格,它存儲(chǔ)的就是數(shù)據(jù)本身?;颈硎且詳?shù)字文字揭示一件工程或一個(gè)文件的特性特征。表4.1 學(xué)生基本表字段名字段類型字段長(zhǎng)度是否主鍵備注student_IDInteger11是nameText255否sexText255否departmentText255否majorText255否classText255否nationalityText255否placeOfOriginText255否dateOfBirthText255否idNumberI

44、nteger255否表4.2 老師基本表字段名字段類型字段長(zhǎng)度是否主鍵備注teacherNumInteger11是nameText255否genderText255否ageInteger255否entryTimeText255否departmentText255否specialtyText255否schoolText255否表4.3 學(xué)科基本表字段名字段類型字段長(zhǎng)度是否主鍵備注subjectNumInteger11是subjectText255否departmentText255否majorText255否表4.4 競(jìng)賽基本表字段名字段類型字段長(zhǎng)度是否主鍵備注ItemNumberInteger

45、11是nameText255否續(xù)表4.4 競(jìng)賽基本表字段名字段類型字段長(zhǎng)度是否主鍵備注departmentText255否majorText255否starTimeText255否endTimeText255否CompetitorText255否HeatText255否RematchText255否comWorkText255否大連東軟信息學(xué)院畢業(yè)設(shè)計(jì)(論文)第5章系統(tǒng)實(shí)現(xiàn)5.1環(huán)境配置配置的環(huán)境:如表5.1所示:表5.1 環(huán)境配置Java開發(fā)工具JDK 1.6Java集成開發(fā)環(huán)境STS(Spring Tools Suite) Version 3.3.0. Release內(nèi)部包含:Spring

46、 Framework Version 3.30201307091516-ReleaseEquinoxVirgo Version 1.0.0Web MVC框架WebWork Version 2.1數(shù)據(jù)庫連接Hibernate Version 4.3.0Jdbc本系統(tǒng)用到了Spring Tools Suite軟件。該軟件,可以很輕易的生產(chǎn)一個(gè)Spring的工程,比如web工程,工程里的配置文件都會(huì)自動(dòng)為你生成,再也不用操心配置文件的格式及各種配置文件。在Java編輯器中有了針對(duì)Spring注解的自動(dòng)不全和內(nèi)容輔助。基于代理重新加載的特性,在很大程度上減少了等待應(yīng)用重新部署的時(shí)間,很多代碼變更可以立

47、刻反映在運(yùn)行的應(yīng)用程序中,無需重啟服務(wù)器。5.2功能模塊實(shí)現(xiàn)本系統(tǒng)主要有四個(gè)類,用戶,學(xué)生,教師和學(xué)科競(jìng)賽。在查詢或者修改相關(guān)信息時(shí),需要先進(jìn)行用戶登錄,然后才能查詢競(jìng)賽信息或者修改競(jìng)賽信息。繼承,聚合,依賴,類圖如圖5.1所示:圖5.1 類圖本系統(tǒng)使用了AOP的編程思想,提供從另一個(gè)角度來考慮程序結(jié)構(gòu)以完善面向?qū)ο缶幊?。AOP利用一種稱為“橫切”的技術(shù),剖解開封裝的對(duì)象內(nèi)部,并將那些影響了多個(gè)類的行為封裝到一個(gè)可重用模塊,名為“Aspect”,即方面,它能夠?qū)⒛切┡c業(yè)務(wù)無關(guān),卻為業(yè)務(wù)模塊所共同調(diào)用的邏輯或責(zé)任封裝起來,便于減少系統(tǒng)的重復(fù)代碼,降低模塊間的耦合度。并有利于未來的可操作性和可維護(hù)

48、性。還是用了IOC設(shè)計(jì)模式,IOC就是控制反轉(zhuǎn)。一層是控制權(quán)的轉(zhuǎn)移,由傳統(tǒng)的在程序中控制依賴轉(zhuǎn)移到由容器來控制,一層是將相互依賴的對(duì)象分離,在Spring配置文件中描述他們的依賴關(guān)系。他們的依賴關(guān)系只在使用的時(shí)候才建立。AOP和IOC解決了系統(tǒng)代碼耦合度過高的問題,是代碼重用度高,易于維護(hù)。第6章系統(tǒng)測(cè)試基于OSGi的學(xué)科競(jìng)賽管理子系統(tǒng)是用于管理學(xué)科競(jìng)賽信息,有兩個(gè)權(quán)限,分別是老師權(quán)限和學(xué)生權(quán)限,老師對(duì)競(jìng)賽信息進(jìn)行實(shí)時(shí)更新,學(xué)生可以實(shí)時(shí)的查到關(guān)于競(jìng)賽信息。本次主要對(duì)于管理員登錄,教師登錄,學(xué)生登錄后的各個(gè)功能進(jìn)行測(cè)試。主要目的是為了保證在系統(tǒng)投入使用后,不會(huì)出現(xiàn)錯(cuò)誤,導(dǎo)致教師或者學(xué)生登錄不上系

49、統(tǒng),無法查找競(jìng)賽的相關(guān)信息。6.1 測(cè)試概述測(cè)試主要是對(duì)本子系統(tǒng)的各個(gè)功能進(jìn)行測(cè)試,看是否能正常運(yùn)行。先對(duì)管理員用戶進(jìn)行測(cè)試,登錄管理員,然后增加一個(gè)用戶,查看是否增加成功。刪除一個(gè)用戶,查看是否刪除成功。修改一個(gè)用戶的信息,然后查看修改是否成功,修改用戶的信息,查看用戶信息,判斷用戶信息是否修改成功。能否查看相關(guān)的用戶信息。教師登錄,增加競(jìng)賽信息,查看是否成功的增加競(jìng)賽信息。刪除競(jìng)賽信息,查看是否成功的刪除競(jìng)賽信息。修改競(jìng)賽的信息,查看是否成功修改。查看競(jìng)賽的相關(guān)信息,查看是否能成功。如果不能增加競(jìng)賽信息,刪除競(jìng)賽信息,修改競(jìng)賽信息,而只能進(jìn)行查詢,那么很有可能是權(quán)限不夠,需要管理員對(duì)其進(jìn)行

50、更改。學(xué)生登錄,查看競(jìng)賽信息,看是否能夠查看,對(duì)競(jìng)賽進(jìn)行報(bào)名,查看報(bào)名是否成功,查看自己參加的相關(guān)的競(jìng)賽信息,查看是否能夠查看成功。主要目的是為了保證在系統(tǒng)投入使用后,不會(huì)出現(xiàn)導(dǎo)致教師或者學(xué)生登錄不上系統(tǒng),無法查找競(jìng)賽的相關(guān)信息。6.2 測(cè)試用例在本子系統(tǒng)中,首先先對(duì)學(xué)生登錄的功能進(jìn)行測(cè)試,先用學(xué)生的賬號(hào)進(jìn)行登錄例如student,密碼默認(rèn)111111,登錄成功。會(huì)有查看競(jìng)賽信息,競(jìng)賽報(bào)名,查看與自己相關(guān)的競(jìng)賽的三個(gè)按鈕。點(diǎn)擊查看競(jìng)賽信息,顯示出當(dāng)前所有的競(jìng)賽,可以進(jìn)行查看。點(diǎn)擊競(jìng)賽報(bào)名,例如:填寫競(jìng)賽所需的姓名:張三三,性別:女,所報(bào)競(jìng)賽項(xiàng)目:c語言大賽等信息,并成功報(bào)名。點(diǎn)擊查看與自己相關(guān)

51、的競(jìng)賽,顯示出當(dāng)前報(bào)名參加的競(jìng)賽,沒有報(bào)名競(jìng)賽則顯示無。然后對(duì)教師登錄進(jìn)行測(cè)試,用教師的賬號(hào)登錄例如teacher,密碼默認(rèn)111111,登錄成功。會(huì)顯示增加競(jìng)賽信息和查看競(jìng)賽信息兩個(gè)按鈕。點(diǎn)擊增加競(jìng)賽信息,例如:填寫競(jìng)賽名:c語言大賽,競(jìng)賽編號(hào):01,競(jìng)賽開始時(shí)間:2014-4-10,競(jìng)賽結(jié)束時(shí)間:2014-5-15等信息,填寫完畢,保存。然后點(diǎn)擊查看競(jìng)賽信息,顯示出所有的競(jìng)賽信息。在每條信息后面會(huì)有修改,刪除,查看三個(gè)按鈕。點(diǎn)擊查看按鈕,會(huì)顯示出當(dāng)前競(jìng)賽的詳細(xì)信息。點(diǎn)擊刪除競(jìng)賽信息,提示是否刪除項(xiàng)目信息,選擇是,成功刪除信息。點(diǎn)擊更改競(jìng)賽信息,顯示出所有的這個(gè)競(jìng)賽的全部信息,都可以進(jìn)行修改

52、,例如:點(diǎn)擊c語言大賽,更改競(jìng)賽開始時(shí)間為2014-4-15。修改結(jié)束點(diǎn)擊,保存,成功保存修改信息。最后測(cè)試管理員登錄,用admin進(jìn)行登錄,默認(rèn)密碼為admin,登錄成功。顯示出增加用戶信息和查看用戶信息兩個(gè)按鈕。點(diǎn)擊增加用戶信息,彈出新建學(xué)生信息的界面按照界面的提示我們可以填寫用戶詳細(xì)信息,例如姓名:李四四,性別:男,系別:電子信息工程,專業(yè):嵌入式系統(tǒng)工程,班級(jí)嵌入10002班,民族:漢族,籍貫:湖北,出生年月1991-10-15,身份證42900619911015xxxx等等。點(diǎn)擊查看,即可顯示所有用戶,每條用戶信息后面有修改,刪除和查看按鈕,點(diǎn)擊修改按鈕,會(huì)顯示這條用戶的詳細(xì)信息,然

53、后用戶可以根據(jù)提示進(jìn)行直接修改,然后保存。測(cè)試截圖如下:圖6.1 新建學(xué)生信息圖6.2 查看全部信息大連東軟信息學(xué)院畢業(yè)設(shè)計(jì)(論文)第7章結(jié)論當(dāng)前,計(jì)算機(jī)和互聯(lián)網(wǎng)的快速發(fā)展給人們的生活,工作帶來了極大地便利,充分利用先進(jìn)的網(wǎng)絡(luò)技術(shù)和資源實(shí)現(xiàn)學(xué)科競(jìng)賽管理的信息化。計(jì)算機(jī)具有運(yùn)算速度快,存儲(chǔ)數(shù)據(jù)量大的特點(diǎn)。用計(jì)算機(jī)網(wǎng)絡(luò)發(fā)布競(jìng)賽信息,報(bào)名,驗(yàn)證報(bào)名信息,評(píng)選等工作可使學(xué)生和老師從繁重的勞動(dòng)中解脫出來,僅僅一些簡(jiǎn)單的操作便可以迅速,準(zhǔn)確地獲取需要的信息,大大提高參賽學(xué)生和評(píng)審教師的效率,有效的減少了管理人員的工作量,使成績(jī)管理更加有效,快捷,從而提高了工作的效率。在本系統(tǒng)中,我們不僅站在學(xué)生的角度來思考問題,還從老師的方面著想,有更方便工作的功能設(shè)置。學(xué)科競(jìng)賽管理子系統(tǒng)實(shí)現(xiàn)了對(duì)系內(nèi)學(xué)科競(jìng)賽,獲獎(jiǎng)情況的管理和維護(hù)。指導(dǎo)老師根據(jù)競(jìng)賽情況實(shí)時(shí)的更新競(jìng)賽情況

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論