




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、大連東軟信息學(xué)院本科畢業(yè)設(shè)計(jì)(論文)論文題目論文題目:基于OSGI的師資管理子系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 系 所: 電子工程系 專 業(yè): 電子信息工程(嵌入式系統(tǒng)工程方向) 學(xué)生姓名: 學(xué)生學(xué)號(hào): 指導(dǎo)教師: 導(dǎo)師職稱: 講師 完成日期: 2014年5月2日 大連東軟信息學(xué)院Dalian 大連東軟信息學(xué)院畢業(yè)設(shè)計(jì)(論文) 摘要 IV基于OSGI的師資管理子系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘 要隨著科技水平的迅速發(fā)展,計(jì)算機(jī)技術(shù)已經(jīng)充斥著我們的生活,改變著我們生活中的一切,越來(lái)越多的地方離不開計(jì)算機(jī)技術(shù)。各大高校對(duì)學(xué)生信息的管理也越來(lái)越向智能化、數(shù)字化、無(wú)紙化發(fā)展,對(duì)學(xué)生信息的管理也將越來(lái)越方便、快捷,同時(shí)要想高效地對(duì)學(xué)
2、生信息進(jìn)行管理,就必須要擁有一種方便、好用的管理系統(tǒng)。因此師資管理系統(tǒng)已慢慢成為教育管理單位不可或缺的一部分。本文主要論述了基于Java語(yǔ)言、Spring框架、Hibernate框架和OSGi技術(shù)所設(shè)計(jì)開發(fā)的師資管理子系統(tǒng)。本系統(tǒng)包含學(xué)生信息管理(包含對(duì)學(xué)生信息的增加、刪除、修改和查找)、數(shù)據(jù)導(dǎo)入和導(dǎo)出等功能,可以非常方便快捷地對(duì)學(xué)生信息進(jìn)行管理。數(shù)據(jù)的導(dǎo)入和導(dǎo)出可以通過(guò)Excel表格將數(shù)據(jù)庫(kù)中的相關(guān)數(shù)據(jù)進(jìn)行導(dǎo)入和導(dǎo)出,導(dǎo)出的數(shù)據(jù)可以直接通過(guò)Excel進(jìn)行打印,非常實(shí)用。通過(guò)使用這個(gè)系統(tǒng),教師將告別紙質(zhì)的表格,告別手動(dòng)翻頁(yè)的查找方式。本系統(tǒng)界面友好,操作簡(jiǎn)單,思路縝密嚴(yán)謹(jǐn),能有效的達(dá)到對(duì)學(xué)生信
3、息進(jìn)行管理的目的。關(guān)鍵詞:師資管理,Spring,OSGi大連東軟信息學(xué)院畢業(yè)設(shè)計(jì)(論文) AbstractDesign and Implementation of OSGI-based Faculty Management SubsystemAbstractWith the rapid development of technology, computer technology has flooded our lives, changing everything in our lives, more and more things cant work without computer tec
4、hnology. The management universities put on student information has become increasingly intelligent, digital, and paperless. student information management will be more convenien and fast, and it must be to have a convenient management system which is easy to use in order to manage student informati
5、on efficiently. Thus faculty education management system has gradually become an integral part of the management unit.This article discussed the design and development of faculty management subsystem based on Java language,Spring framework,Hibernate framework and OSGi technology. The system includes
6、 student information management( including adding, deleting, modifying and searching student information), data import and export functions. You can very quickly and easily manage student information. By Importing and exporting relative data from database via Excel spreadsheet to realize Importing a
7、nd exporting data functionality, and export data can be directly printed through Excel, very practical. By using this system, teacher is going to say goodbye to paper forms and searching by manually flipping. This system is user-friendly, simple operation, logically rigorous which can effectively ac
8、hieve the purpose of the student information management.Key words: faculty management, Spring, OSGi大連東軟信息學(xué)院畢業(yè)設(shè)計(jì)(論文) 目錄目 錄 TOC o 1-3 u 摘 要 PAGEREF _Toc386454275 h IAbstract PAGEREF _Toc386454276 h II第1章緒 論 PAGEREF _Toc386454277 h 11.1 課題研究背景與意義 PAGEREF _Toc386454278 h 11.2 課題研究?jī)?nèi)容與方法 PAGEREF _Toc38645
9、4279 h 11.3 課題研究現(xiàn)狀 PAGEREF _Toc386454280 h 2第2章關(guān)鍵技術(shù)介紹 PAGEREF _Toc386454281 h 32.1 關(guān)鍵技術(shù)一 PAGEREF _Toc386454282 h 32.2 關(guān)鍵技術(shù)二 PAGEREF _Toc386454283 h 32.3 關(guān)鍵技術(shù)三 PAGEREF _Toc386454284 h 32.4 關(guān)鍵技術(shù)四 PAGEREF _Toc386454285 h 4第3章系統(tǒng)需求分析 PAGEREF _Toc386454286 h 53.1 系統(tǒng)設(shè)計(jì)目標(biāo) PAGEREF _Toc386454287 h 53.2 系統(tǒng)功能需求
10、 PAGEREF _Toc386454288 h 53.3 系統(tǒng)非功能需求 PAGEREF _Toc386454289 h 53.4 系統(tǒng)開發(fā)環(huán)境 PAGEREF _Toc386454290 h 63.5 系統(tǒng)可行性分析 PAGEREF _Toc386454291 h 63.5.1 技術(shù)可行性 PAGEREF _Toc386454292 h 63.5.2 經(jīng)濟(jì)可行性 PAGEREF _Toc386454293 h 7第4章系統(tǒng)設(shè)計(jì) PAGEREF _Toc386454294 h 84.1 系統(tǒng)設(shè)計(jì)指導(dǎo)原則 PAGEREF _Toc386454295 h 84.2 體系結(jié)構(gòu)設(shè)計(jì) PAGEREF
11、_Toc386454296 h 84.3 數(shù)據(jù)庫(kù)設(shè)計(jì) PAGEREF _Toc386454297 h 94.4 軟件設(shè)計(jì) PAGEREF _Toc386454298 h 104.4.1 軟件設(shè)計(jì)流程 PAGEREF _Toc386454299 h 104.4.2 功能模塊設(shè)計(jì) PAGEREF _Toc386454300 h 114.4.3 UI界面設(shè)計(jì) PAGEREF _Toc386454301 h 124.4.4類的設(shè)計(jì) PAGEREF _Toc386454302 h 13第5章系統(tǒng)實(shí)現(xiàn) PAGEREF _Toc386454303 h 145.1環(huán)境配置 PAGEREF _Toc386454
12、304 h 145.2功能模塊實(shí)現(xiàn) PAGEREF _Toc386454305 h 145.3 系統(tǒng)集成與調(diào)試 PAGEREF _Toc386454306 h 185.3.1 系統(tǒng)集成 PAGEREF _Toc386454307 h 185.3.2 系統(tǒng)調(diào)試 PAGEREF _Toc386454308 h 18第6章系統(tǒng)測(cè)試 PAGEREF _Toc386454309 h 206.1 測(cè)試概述 PAGEREF _Toc386454310 h 206.2 測(cè)試用例 PAGEREF _Toc386454311 h 206.2.1 登陸 PAGEREF _Toc386454312 h 206.2.2
13、 數(shù)據(jù)錄入 PAGEREF _Toc386454313 h 206.2.3 數(shù)據(jù)查找 PAGEREF _Toc386454314 h 226.2.4 數(shù)據(jù)修改 PAGEREF _Toc386454315 h 226.2.5 數(shù)據(jù)刪除 PAGEREF _Toc386454316 h 236.2.6 數(shù)據(jù)導(dǎo)出 PAGEREF _Toc386454317 h 236.2.7 數(shù)據(jù)導(dǎo)入 PAGEREF _Toc386454318 h 24第7章結(jié)論 PAGEREF _Toc386454319 h 25參考文獻(xiàn) PAGEREF _Toc386454320 h 26致 謝 PAGEREF _Toc3864
14、54321 h 27大連東軟信息學(xué)院畢業(yè)設(shè)計(jì)(論文)- 第1章緒 論1.1 課題研究背景與意義縱觀目前國(guó)內(nèi)的研究現(xiàn)狀,現(xiàn)有的師資管理系統(tǒng)在安全性和信息更新方面存在有一定的不足,各種現(xiàn)有系統(tǒng)資料往往單獨(dú)建立,且共享性較差;在以管理者為主體的方式中,信息取舍主要依賴管理者對(duì)于信息的認(rèn)知和喜好,掌握用戶真正的需求較不容易,也因此不能完全滿足用戶的需求。因此,師資管理軟件應(yīng)該充分依托教務(wù)信息的集中管理、分散操作和信息共享,使傳統(tǒng)的師資管理朝智能化、數(shù)字化、綜合化的方向發(fā)展,并為進(jìn)一步實(shí)現(xiàn)完善的全校信息系統(tǒng)打下堅(jiān)實(shí)的基礎(chǔ)。在現(xiàn)代,信息技術(shù)的飛躍發(fā)展,人們工作習(xí)慣的改變,特別是計(jì)算機(jī)的大量普及,使得人們生
15、活節(jié)奏越來(lái)越快,因此,人們首先要考慮的問(wèn)題是怎樣提高工作效率。師資管理是一項(xiàng)非常繁瑣并且復(fù)雜的工作,主要原因就是工作量大,不便于管理。對(duì)于一所學(xué)校而言,更應(yīng)該合理的運(yùn)用一些本地已有資源,提高管理力度,不僅對(duì)學(xué)生負(fù)責(zé),還要對(duì)自己的重任負(fù)責(zé)。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)師資信息進(jìn)行管理,有著手工管理無(wú)法比擬的優(yōu)點(diǎn)。例如:查找方便、檢索迅速、保密性好、可靠性高、存儲(chǔ)量大、壽命長(zhǎng)、成本低等。對(duì)于大量的信息就需要使用數(shù)據(jù)庫(kù)進(jìn)行管理,通常使用Excel查看信息又比較普遍,因此實(shí)現(xiàn)數(shù)據(jù)在數(shù)據(jù)庫(kù)和Excel表格中的靈活轉(zhuǎn)換就對(duì)學(xué)生信息的管理有很大的幫助。本子系統(tǒng)主要功能就是轉(zhuǎn)換不同格式的Excel文件
16、數(shù)據(jù)到MySQL數(shù)據(jù)庫(kù)中,并且可以靈活配置,自動(dòng)生成需要的Excel文件,或者打印出來(lái)師資情況名單。本子系統(tǒng)還具有用戶權(quán)限管理功能,每個(gè)老師可以根據(jù)自己的權(quán)限維護(hù)自己的最新數(shù)據(jù),管理員也可以設(shè)置師資信息的最新數(shù)據(jù)??梢詼p輕教學(xué)人員的工作量,加快查詢速度,更方便、快捷、安全地對(duì)學(xué)生信息進(jìn)行管理,使各項(xiàng)管理更加規(guī)范化。還有就是縮小開支,提高工作效率與準(zhǔn)確率。1.2 課題研究?jī)?nèi)容與方法課題研究?jī)?nèi)容:1、對(duì)學(xué)生信息的管理,例如增加、刪除、修改和查找。2、轉(zhuǎn)換不同格式的excel文件數(shù)據(jù)到MySQL數(shù)據(jù)庫(kù)中,并且可以靈活配置,自動(dòng)生成需要的excel文件,或者打印出來(lái)師資情況名單。3、用戶權(quán)限管理,每個(gè)
17、老師可以根據(jù)自己的權(quán)限維護(hù)自己的最新數(shù)據(jù),管理員也可以設(shè)置師資的最新數(shù)據(jù)。課題研究方法:1、在項(xiàng)目籌備階段,學(xué)習(xí)開發(fā)本系統(tǒng)所需要用到的關(guān)鍵技術(shù)并畫出本系統(tǒng)的運(yùn)行流程,做到心里有數(shù)。2、在項(xiàng)目開發(fā)階段,將系統(tǒng)劃分為不同的模塊,按模塊編寫代碼并測(cè)試,在開發(fā)過(guò)程中遇到困難查閱相關(guān)資料,實(shí)現(xiàn)在做中學(xué)在學(xué)中做。3、在項(xiàng)目開發(fā)階段后期,將各個(gè)模塊的代碼整合,組成一個(gè)完整的系統(tǒng)并調(diào)試,修改其中的bug。1.3 課題研究現(xiàn)狀師資管理是各個(gè)高校的日常主要的管理工作之一,系統(tǒng)涉及到了學(xué)校、院系、老師、學(xué)生的很多方面,但是目前教學(xué)體制的一直在改革,特別是學(xué)分制、選課制方面的展開和加深,師資信息日常的管理工作以及保存
18、工作日趨繁重并且復(fù)雜。迫切的需要研發(fā)一款功能強(qiáng)大且操作簡(jiǎn)單,更具有人性化的師資管理系統(tǒng)。在國(guó)外的高等院校,與國(guó)內(nèi)高等院校不同的是,他們一般都有規(guī)模較大的并且穩(wěn)定的技術(shù)團(tuán)隊(duì)來(lái)提供后續(xù)服務(wù)和技術(shù)支持。在國(guó)內(nèi),各個(gè)高校信息化的建設(shè)方面起步較晚。在數(shù)字校園這個(gè)先進(jìn)理論漸進(jìn)應(yīng)用的過(guò)程中,各個(gè)高校在一方面的不斷投資構(gòu)建不同的硬件、網(wǎng)絡(luò)和系統(tǒng)軟件,另一方面也不斷開發(fā)并使用了各類科研、教學(xué)、辦公管理等的應(yīng)用系統(tǒng),因此形成了具有相應(yīng)的規(guī)模的信息化的體系建設(shè)結(jié)構(gòu)。但是,系統(tǒng)整體的信息化程度的相對(duì)比較落后,并且經(jīng)費(fèi)短缺,在理論體系上也不健全等原因,而國(guó)內(nèi)的高校的師資管理系統(tǒng)在服務(wù)范圍、服務(wù)質(zhì)量、機(jī)構(gòu)設(shè)置以及人員要求
19、上與國(guó)外的很多高校比較都有顯現(xiàn)出了一定的差距??v觀當(dāng)前的國(guó)內(nèi)對(duì)師資管理系統(tǒng)的研究現(xiàn)狀,是系統(tǒng)的安全性和信息的更新化等方面存在相應(yīng)的不足,各個(gè)現(xiàn)有系統(tǒng)資料是單獨(dú)建立的,共享性差;在以管理者為主體的方式中,信息的取舍一般都主要依賴管理者對(duì)于信息的認(rèn)知和喜好,掌握用戶的需求較不容易,也因此不能完全滿足用戶的需求。因此,師資管理系統(tǒng)應(yīng)充分依托校園網(wǎng),實(shí)現(xiàn)師資信息的集中管理、分散操作和信息共享,使傳統(tǒng)的教務(wù)管理朝著數(shù)字化、智能化、綜合化、無(wú)紙化的方向發(fā)展,并為進(jìn)一步實(shí)現(xiàn)完善的計(jì)算機(jī)師資管理系統(tǒng)和全校信息系統(tǒng)打下良好的基礎(chǔ)。 大連東軟信息學(xué)院畢業(yè)設(shè)計(jì)(論文)第2章關(guān)鍵技術(shù)介紹2.1 關(guān)鍵技術(shù)一OSGi(O
20、pen Service Gateway Initiative):OSGi技術(shù)是面向Java的動(dòng)態(tài)模型的系統(tǒng),OSGi服務(wù)的平臺(tái)向Java所提供的相應(yīng)服務(wù),而相應(yīng)的服務(wù)使Java已經(jīng)成為軟件的集成和軟件的開發(fā)的程序員所首選環(huán)境,而Java提供在多個(gè)平臺(tái)能夠支持系統(tǒng)的可移植性。OSGi技術(shù)提供通過(guò)應(yīng)用程序的使用精煉、可重用和可協(xié)作的組件能夠構(gòu)建的標(biāo)準(zhǔn)化的原語(yǔ)。這些組件可組裝到一個(gè)應(yīng)用和部署當(dāng)中。這個(gè)框架實(shí)現(xiàn)了一個(gè)優(yōu)雅、完整和動(dòng)態(tài)的組件模型,應(yīng)用程序(稱為bundle)無(wú)需重新引導(dǎo)就可以被遠(yuǎn)程安裝、啟動(dòng)、升級(jí)和卸載(其中Java包類的管理被詳細(xì)定義)。本系統(tǒng)的框架采用OSGi技術(shù)以實(shí)現(xiàn)整個(gè)系統(tǒng)的插件
21、式的設(shè)計(jì)方法,可以實(shí)現(xiàn)組件的熱插拔,這樣可以使后期不同的模塊更方便的加入到本系統(tǒng)中,使本系統(tǒng)的維護(hù)和更新更加方便、快捷。2.2 關(guān)鍵技術(shù)二Spring Framework:Spring框架是一個(gè)可開源的JavaJava EE具有全功能棧(full-stack)的一個(gè)應(yīng)用程序框架,以Apache許可證的形式而發(fā)布,同時(shí)也有.NET平臺(tái)上的可移植版本。這個(gè)框架是基于Expert One-on-One Java EE Design and Development(ISBN 0-7645-4385-7)書中的代碼,最初是由Juergen Hoeller和Rod Johnson等所開發(fā)的。Spring
22、Framework為開發(fā)人員提供了一個(gè)簡(jiǎn)單而方便的開發(fā)方式,通過(guò)這種開發(fā)方式,將有效避免一些可能會(huì)致使底層代碼會(huì)變的繁雜和混亂的大批量的屬性文件和幫助類。Spring框架中的JDBC 抽象層提供了有針對(duì)性的異常等級(jí)(原始代碼不再?gòu)腟QL異常中提?。?,錯(cuò)誤處理變的簡(jiǎn)易了許多,在很大程度上減少程序員的代碼上的編寫量。當(dāng)再一次利用JDBC時(shí),你將不需要再寫另一個(gè) 終止 (finally)的模塊。并且當(dāng)面向JDBC發(fā)生的異常和Spring通用使用的數(shù)據(jù)所訪問(wèn)的對(duì)象異常等級(jí)而相一致。同時(shí)Spring框架的以資源容器,其中DAO所實(shí)現(xiàn)和事務(wù)的策略等相應(yīng)的形式與 Hibernate,JDO和iBATIS S
23、QL Maps集成。使用了很多的翻轉(zhuǎn)控制便捷特性來(lái)進(jìn)行全面的支持,從而解決了很多典型的Hibernate集成的問(wèn)題。所有的這些全部都遵從Spring通用的事務(wù)處理和通用的數(shù)據(jù)來(lái)訪問(wèn)對(duì)象的異常等級(jí)規(guī)范。此框架強(qiáng)大的基于 JavaBeans的采用控制翻轉(zhuǎn)(Inversion of Control,IoC)原則的配置管理,使得應(yīng)用程序的組建更加快捷簡(jiǎn)易。本系統(tǒng)采用spring框架,主要為了實(shí)現(xiàn)類之間的松耦合,降低類與類之間的耦合度,提高整體程序的穩(wěn)定性。2.3 關(guān)鍵技術(shù)三MySQL數(shù)據(jù)庫(kù):MySQL數(shù)據(jù)庫(kù)是一個(gè)開放源代碼的關(guān)系型數(shù)據(jù)庫(kù),由于性能高、成本低、可靠性好,已經(jīng)成為最流行的開源數(shù)據(jù)庫(kù),因此被
24、廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。隨著MySQL的不斷成熟,它也逐漸用于更多大規(guī)模網(wǎng)站和應(yīng)用。本系統(tǒng)的全部學(xué)生信息的收集將采用MySQL數(shù)據(jù)庫(kù),因?yàn)樵赪eb應(yīng)用方面MySQL是最好的RDBMS(Relational Database Management System:關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng))應(yīng)用軟件之一,并且它具有性能高、成本低、可靠性好、靈活性高的特點(diǎn)并且成本低,非常適合學(xué)校使用。本系統(tǒng)通過(guò)Hibernate框架實(shí)現(xiàn)數(shù)據(jù)庫(kù)的連接和操作,Hibernate對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封裝,使我們可以使用對(duì)象思維來(lái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。2.4 關(guān)鍵技術(shù)四MySQL數(shù)據(jù)庫(kù)和Excel表格
25、之間數(shù)據(jù)的轉(zhuǎn)換:該技術(shù)是本系統(tǒng)的核心技術(shù),數(shù)據(jù)在MySQL數(shù)據(jù)庫(kù)和Excel之間進(jìn)行轉(zhuǎn)換主要是使用jxl.jar庫(kù),jxl.jar庫(kù)是純Java的API,它不依賴windows操作系統(tǒng),即使運(yùn)行在Linux下,它同樣能夠正確的處理Excel文件。通過(guò)jxl.jar庫(kù)可以對(duì)Excel進(jìn)行創(chuàng)建文件、讀取文件、修改文件等基本操作。本系統(tǒng)通過(guò)對(duì)jxl.jar庫(kù)的使用,在導(dǎo)入功能中讀取Excel表格中的數(shù)據(jù)并將讀取到的數(shù)據(jù)插入到MySQL數(shù)據(jù)庫(kù)中。在導(dǎo)出功能中,創(chuàng)建Excel表格,并把從MySQL數(shù)據(jù)庫(kù)中讀取的數(shù)據(jù)插入到Excel表格中。第3章系統(tǒng)需求分析3.1 系統(tǒng)設(shè)計(jì)目標(biāo)本子系統(tǒng)主要功能是實(shí)現(xiàn)對(duì)學(xué)生
26、基本信息的管理(包括增加、刪除、修改、查找),其次就是轉(zhuǎn)換不同格式的Excel文件數(shù)據(jù)到MySQL數(shù)據(jù)庫(kù)中,從而實(shí)現(xiàn)將數(shù)據(jù)的批量導(dǎo)入。此外本系統(tǒng)可以靈活配置,將數(shù)據(jù)庫(kù)中的數(shù)據(jù)自動(dòng)生成需要的Excel文件,從而實(shí)現(xiàn)對(duì)師資情況信息的導(dǎo)出和打印。最后本系統(tǒng)要實(shí)現(xiàn)用戶權(quán)限管理,即每個(gè)老師可以根據(jù)自己的權(quán)限維護(hù)自己的最新數(shù)據(jù),管理員也可以設(shè)置師資的最新數(shù)據(jù)。使用本系統(tǒng),可以讓老師更方便、快捷、安全地對(duì)學(xué)生信息進(jìn)行管理。3.2 系統(tǒng)功能需求根據(jù)需求調(diào)研結(jié)果確定本系統(tǒng)主要包括登陸、學(xué)生信息管理、權(quán)限管理、數(shù)據(jù)導(dǎo)入導(dǎo)出等模塊。本系統(tǒng)各個(gè)模塊的描述如表3.1所示。表3.1 各個(gè)模塊的功能功能編號(hào)功能名稱功能描述
27、優(yōu)先級(jí)1登陸不同教師的賬號(hào)登入系統(tǒng),以便不同的教師用戶對(duì)學(xué)生信息進(jìn)行管理。2學(xué)生信息管理對(duì)學(xué)生信息(包括姓名、學(xué)號(hào)、出生年月、班級(jí)、身份證號(hào)等)數(shù)據(jù)進(jìn)行數(shù)據(jù)處理(包括增加、刪除、修改和查找)。3數(shù)據(jù)導(dǎo)入導(dǎo)出學(xué)生信息可以通過(guò)Excel文件導(dǎo)入的數(shù)據(jù)庫(kù),也可以通過(guò)數(shù)據(jù)庫(kù)導(dǎo)出到Excel文件。3.3 系統(tǒng)非功能需求(1)性能本系統(tǒng)采用Java語(yǔ)言編寫,具有以下性能:動(dòng)態(tài)性:Java語(yǔ)言可以通過(guò)接口對(duì)多重繼承進(jìn)行支持,從而比嚴(yán)格的類繼承更加具有更靈活的方式和擴(kuò)展的特性。安全性:Java語(yǔ)言是不支持指針的,所有對(duì)內(nèi)存的訪問(wèn)都一定要通過(guò)一個(gè)對(duì)象的實(shí)例來(lái)使之實(shí)現(xiàn),從而程序員不能夠使用“特洛伊”木馬等的欺騙手
28、段來(lái)訪問(wèn)對(duì)象的私有成員,同時(shí)也避免了指針操作中容易產(chǎn)生的錯(cuò)誤,具有很高的安全性。多線程:Java的多線程機(jī)制能夠使應(yīng)用程序能可以并行執(zhí)行,并且它的同步機(jī)制同時(shí)也保證了對(duì)共享數(shù)據(jù)可以正確操作。如果通過(guò)使用了多線程,程序設(shè)計(jì)人員可以使用不同的線程來(lái)完成每個(gè)相對(duì)應(yīng)的特定的行為,而不需要采用一個(gè)全局事件循環(huán)機(jī)制,所以很容易實(shí)現(xiàn)網(wǎng)絡(luò)上的實(shí)時(shí)交互行為??芍赜眯裕豪妹嫦蚯忻婢幊?,使得該系統(tǒng)的各個(gè)模塊之間的耦合度降低,不但提高了該程序的可重用性,還提高了開發(fā)效率。(2)成本本子系統(tǒng)所使用的開發(fā)軟件均為開源免費(fèi)軟件,MySQL數(shù)據(jù)庫(kù)也是免費(fèi)的,所以從某些角度來(lái)看本系統(tǒng)開發(fā)完成后可以說(shuō)是零成本。3.4 系統(tǒng)開發(fā)
29、環(huán)境 硬件環(huán)境:Core i7 2.6GHz/HDD100G/RAM 2048MB/軟件環(huán)境:Windows 7 32bit 旗艦版/MySQL 4.1/JDK 1.6/STS 3.3.0/表3.2 軟件開發(fā)環(huán)境Java開發(fā)工具JDK 1.6 Java集成開發(fā)環(huán)境STS(Spring Tools Suite) Version 3.3.0. Realease內(nèi)部包含:Spring Framework Version 3.30201307091516-ReleaseEquinox(OSGi框架之一)Virgo(OSGi服務(wù)器) Version 1.0.0網(wǎng)頁(yè)模板引擎FreeMarker Versi
30、on 2.3.19XHTML Version 1.0 Web MVC框架WebWork Version 2.1數(shù)據(jù)庫(kù)連接Hibernate Version 4.3.0 Web 服務(wù)器Apache Tomcat Version7.0.50表3.3 數(shù)據(jù)庫(kù)開發(fā)環(huán)境數(shù)據(jù)庫(kù)設(shè)計(jì)工具PowerDesigner Version 850 數(shù)據(jù)庫(kù)MySQL Version 4.1數(shù)據(jù)庫(kù)客戶端SQLyog Version 11.13 3.5 系統(tǒng)可行性分析3.5.1 技術(shù)可行性本系統(tǒng)采用OSGi技術(shù)、Spring框架和Hibernate框架,使用Java語(yǔ)言作為開發(fā)語(yǔ)言,數(shù)據(jù)庫(kù)采用MySQL關(guān)系
31、型數(shù)據(jù)庫(kù)。Java語(yǔ)言是目前應(yīng)用比較廣泛的面向?qū)ο箝_發(fā)語(yǔ)言,OSGi技術(shù)可以說(shuō)是目前一個(gè)比較新興的技術(shù),寶馬汽車的車載系統(tǒng)在開發(fā)過(guò)程中就使用了這個(gè)技術(shù)。Spring框架和Hibernate框架是開發(fā)網(wǎng)頁(yè)的主流框架,應(yīng)用比較廣泛。而MySQL數(shù)據(jù)庫(kù)可通過(guò)SQL語(yǔ)句即可輕松地查詢和更新后臺(tái)數(shù)據(jù)庫(kù)中的數(shù)據(jù)。3.5.2 經(jīng)濟(jì)可行性隨著現(xiàn)代科學(xué)技術(shù)的不斷發(fā)展與創(chuàng)新,計(jì)算機(jī)作用的日益突顯,計(jì)算機(jī)軟件成為人們解決問(wèn)題的一個(gè)有效手段,當(dāng)然,它的作用也越來(lái)越重要。在當(dāng)今信息時(shí)代,國(guó)民經(jīng)濟(jì)和國(guó)防建設(shè)、社會(huì)發(fā)展、人民生活都離不開軟件,軟件也無(wú)處不在。軟件產(chǎn)業(yè)是一個(gè)新興產(chǎn)業(yè),雖然起步很晚,但是發(fā)展卻非常迅速,已經(jīng)成為
32、所有產(chǎn)業(yè)中增長(zhǎng)最快產(chǎn)業(yè)之一,是低能耗、無(wú)污染、高投入、高產(chǎn)出的綠色產(chǎn)業(yè)。師資管理系統(tǒng)是一個(gè)基于MySQL數(shù)據(jù)庫(kù)的管理系統(tǒng),通過(guò)對(duì)已經(jīng)使用的類似的系統(tǒng)進(jìn)調(diào)查分析、類比進(jìn)行開發(fā),本課題具有的特點(diǎn):開發(fā)工作量較小,可以多個(gè)人合作開發(fā)或一個(gè)人獨(dú)立開發(fā),開發(fā)周期短,若是熟練的開發(fā)人員大約一個(gè)月就可以完成對(duì)本師資管理系統(tǒng)的開發(fā)與測(cè)試。第4章系統(tǒng)設(shè)計(jì)4.1 系統(tǒng)設(shè)計(jì)指導(dǎo)原則(1)先進(jìn)性本子系統(tǒng)的框架采用OSGi實(shí)現(xiàn)整個(gè)系統(tǒng)的插件式的設(shè)計(jì)方法,可以實(shí)現(xiàn)組件的熱插拔,同時(shí)還采用Spring框架,可以實(shí)現(xiàn)類之間的松耦合,提高整體程序的穩(wěn)定性。(2)可靠性及安全性本系統(tǒng)運(yùn)行在單獨(dú)的專用服務(wù)器上,所需設(shè)備簡(jiǎn)單,所有數(shù)
33、據(jù)也都是保存在服務(wù)器端的,系統(tǒng)可靠性相當(dāng)高;系統(tǒng)設(shè)置了不同等級(jí)的使用者權(quán)限,僅有符合權(quán)限的用戶才可對(duì)整個(gè)系統(tǒng)進(jìn)行增加、刪除和修改,沒(méi)有權(quán)限的只能進(jìn)行信息的查看和查找。(3)實(shí)用性本系統(tǒng)界面設(shè)計(jì)簡(jiǎn)潔,操作簡(jiǎn)單,各個(gè)功能只需要簡(jiǎn)單的幾步就可以完成,可以大量減少教師對(duì)師資信息管理的時(shí)間,同時(shí)能方便快捷的對(duì)師資信息進(jìn)行管理。4.2 體系結(jié)構(gòu)設(shè)計(jì)本系統(tǒng)使用Spring框架、Hibernate框架和Web-MVC架構(gòu),通過(guò)這三項(xiàng)技術(shù)的之間的關(guān)系,將它們和瀏覽器、數(shù)據(jù)庫(kù)鏈接成一個(gè)整體,就構(gòu)成了本系統(tǒng)的整體框架,本系統(tǒng)整體框架體系結(jié)構(gòu)圖如圖4.1所示。圖4.1 系統(tǒng)框架體系結(jié)構(gòu)圖本系統(tǒng)在設(shè)計(jì)過(guò)程中采用了MVC
34、模式,MVC模式可維護(hù)性高、耦合性低,用于在一個(gè)邏輯的圖形化用戶界面的結(jié)構(gòu)中映射傳統(tǒng)的輸入、處理和輸出功能。MVC模式圖如圖4.2所示。圖4.2 MVC模式圖本系統(tǒng)的用例圖如圖4.3所示。圖4.3 用例圖4.3 數(shù)據(jù)庫(kù)設(shè)計(jì)本子系統(tǒng)數(shù)據(jù)的保存和處理采用MySQL數(shù)據(jù)庫(kù),通過(guò)對(duì)數(shù)據(jù)需求和處理需求的分析,由于本系統(tǒng)只需要存儲(chǔ)學(xué)生信息數(shù)據(jù),因此數(shù)據(jù)庫(kù)中只需要有一張表(Stu表)就可以滿足本系統(tǒng)的需求,系統(tǒng)通過(guò)執(zhí)行SQL語(yǔ)句對(duì)表中的數(shù)據(jù)進(jìn)行處理。表的設(shè)計(jì)如表4.1所示:表4.1 數(shù)據(jù)庫(kù)表的設(shè)計(jì)列名對(duì)應(yīng)數(shù)據(jù)數(shù)據(jù)類型長(zhǎng)度說(shuō)明備注student_id學(xué)號(hào)bigint20用來(lái)存儲(chǔ)學(xué)生的學(xué)號(hào)主鍵,非空date_o
35、f_birth出生年月varchar255用來(lái)存儲(chǔ)學(xué)生的出生年月department系別varchar255用來(lái)存儲(chǔ)學(xué)生的系別非空eclass班級(jí)varchar255用來(lái)存儲(chǔ)學(xué)生的班級(jí)id_number身份證號(hào)varchar255用來(lái)存儲(chǔ)學(xué)生的身份證號(hào)非空major專業(yè)varchar255用來(lái)存儲(chǔ)學(xué)生的專業(yè)name姓名varchar255用來(lái)存儲(chǔ)學(xué)生的姓名非空nationality民族varchar255用來(lái)存儲(chǔ)學(xué)生的民族非空place_of_origin籍貫varchar255用來(lái)存儲(chǔ)學(xué)生的籍貫sex性別varchar255用來(lái)存儲(chǔ)學(xué)生的性別非空本數(shù)據(jù)庫(kù)實(shí)體圖如圖4.4所示:圖4.4 數(shù)據(jù)庫(kù)
36、實(shí)體圖4.4 軟件設(shè)計(jì)4.4.1 軟件設(shè)計(jì)流程程序設(shè)計(jì)就是用計(jì)算機(jī)所能接受的語(yǔ)言把所需解決問(wèn)題的步驟逐一描述出來(lái),說(shuō)白了把一堆代碼放在一塊實(shí)現(xiàn)某種實(shí)用的功能。在進(jìn)行應(yīng)用系統(tǒng)的設(shè)計(jì)時(shí),軟件部分的編寫是一個(gè)非常重要的環(huán)節(jié)。軟件代碼的編寫質(zhì)量將直接影響整個(gè)系統(tǒng)功能的實(shí)現(xiàn)。應(yīng)用程序的設(shè)計(jì)因系統(tǒng)而異,但對(duì)于程序設(shè)計(jì),總是有共同特點(diǎn)及相應(yīng)的規(guī)律的。因此在編寫程序時(shí),往往采取如下幾個(gè)步驟:第一步,系統(tǒng)需求分析,明確系統(tǒng)所要完成的功能,將分成若干相對(duì)獨(dú)立的模塊。根據(jù)系統(tǒng)各個(gè)模塊的功能和相互間的關(guān)聯(lián)關(guān)系,設(shè)計(jì)出合理的軟件總體架構(gòu)。第二步,繪制系統(tǒng)的總體框圖和軟件流程圖,根據(jù)所選擇的計(jì)算方法制定流程圖,這是程序設(shè)
37、計(jì)的一個(gè)非常重要組成部分,是決定一個(gè)系統(tǒng)是否完善的關(guān)鍵。第三步,分配系統(tǒng)資源,資源的合理分配后,進(jìn)一步將程序框圖繪制成詳細(xì)的操作流程。第四步,根據(jù)程序的流程圖和各種庫(kù)所提供的API編寫程序,為了增強(qiáng)系統(tǒng)的可讀性和重用性,在程序的有關(guān)位置處需要寫上功能注釋,提高程序的可讀性。第五步,程序調(diào)試。通過(guò)編譯代碼,最后生成可以測(cè)試的應(yīng)用程序,如果源程序在編譯過(guò)程中有語(yǔ)法錯(cuò)誤,無(wú)法通過(guò)編譯,則需要對(duì)發(fā)生錯(cuò)誤的代碼加以修改后繼續(xù)編譯,直到程序通過(guò)編譯為止。程序編譯通過(guò)需要進(jìn)行測(cè)試,觀察測(cè)試現(xiàn)象,找出程序中的bug,排除設(shè)計(jì)和編程中的部分錯(cuò)誤直到成功。第六步,程序功能優(yōu)化。此項(xiàng)是將程序的質(zhì)量的提高,主要為了增
38、強(qiáng)程序可讀性、可持續(xù)性,使各功能程序模塊化,子程序化,縮短程序的長(zhǎng)度,加快運(yùn)算速度和節(jié)省數(shù)據(jù)存儲(chǔ)空間,減少程序執(zhí)行的時(shí)間。4.4.2 功能模塊設(shè)計(jì)本子系統(tǒng)主要具有學(xué)生信息管理功能、登錄功能和數(shù)據(jù)處理功能,學(xué)生信息管理功能主要包括對(duì)學(xué)生數(shù)據(jù)的增加、刪除、修改和查找,而數(shù)據(jù)處理功能主要包括在MySQL數(shù)據(jù)庫(kù)和Excel表格之間的數(shù)據(jù)相互導(dǎo)入和導(dǎo)出。本系統(tǒng)軟件功能模塊的框圖如圖4.5所示。圖4.5 系統(tǒng)軟件功能框圖4.4.3 UI界面設(shè)計(jì)本子系統(tǒng)UI主要分為三個(gè),分為登陸界面、主頁(yè)和數(shù)據(jù)處理界面。登陸界面如圖4.6所示。圖4.6 登陸UI界面主頁(yè)如圖4.7所示。圖4.7 主頁(yè)UI界面數(shù)據(jù)處理界面如圖
39、4.8所示。圖4.8 數(shù)據(jù)處理UI界面4.4.4類的設(shè)計(jì)本系統(tǒng)共有四個(gè)類,分別是Stu類、StuController類、ToExcel類和ToDatabase類,類圖如圖4.9所示。圖4.9 系統(tǒng)類圖大連東軟信息學(xué)院畢業(yè)設(shè)計(jì)(論文)第5章系統(tǒng)實(shí)現(xiàn)5.1環(huán)境配置第一步,安裝JDK1.6,需要安裝在純英文路徑下,安裝完成后要在系統(tǒng)的環(huán)境變量中添加JDK和JRE的環(huán)境配置。JDK是Java程序開發(fā)的基礎(chǔ),是必不可少的工具包。第二步,安裝STS 3.3.0. Realease,在安裝過(guò)程中需要選擇JRE的路徑才能完成安裝。通過(guò)STS工具,用戶可以很輕易地生成一個(gè)Spring的工程,例如一個(gè) web工程
40、,最方便的是工程里的配置文件都會(huì)自動(dòng)為用戶生成,用戶不再需要擔(dān)心配置文件的格式及各種配置文件了。第三步,安裝MySQL Server 4.1數(shù)據(jù)庫(kù),安裝完成后需要對(duì)MySQL數(shù)據(jù)進(jìn)行相應(yīng)的配置,如密碼、端口號(hào)等。第四步,安裝tomcat,安裝完成后在系統(tǒng)環(huán)境變量中添加tomcat的環(huán)境變量,然后在windows服務(wù)中啟用tomcat服務(wù)。第五步,下載jxl.jar文件,然后將這個(gè)文件添加到JRE目錄下libext中,以便于在進(jìn)行數(shù)據(jù)庫(kù)和Excel表格數(shù)據(jù)導(dǎo)入導(dǎo)出的時(shí)候使用這個(gè)庫(kù)。5.2功能模塊實(shí)現(xiàn)本系統(tǒng)使用了控制反轉(zhuǎn)(Inversion of Control,英文縮寫為IoC),它是輕量級(jí)Sp
41、ring框架的核心,可以有效地減少類之間的耦合度,同時(shí)也使用了面向切面編程的技術(shù)(Aspect Oriented Programming,英文縮寫為AOP),面向切面編程是Spring框架中的一個(gè)重要內(nèi)容,Spring框架中也提供了對(duì)面向切面編程的支持,通過(guò)使用面向切面編程,可以對(duì)本系統(tǒng)的各個(gè)類進(jìn)行隔離,使各個(gè)類之間的耦合度降低,提高了程序的可重用性,同時(shí)也提高了開發(fā)效率。(1)登陸模塊實(shí)現(xiàn)本子系統(tǒng)的登陸模塊是權(quán)限管理的一個(gè)重要的部分,只有登陸成功的用戶才能進(jìn)入本系統(tǒng),進(jìn)而進(jìn)行對(duì)學(xué)生信息管理的操作。本模塊的具體流程如圖5.1所示。圖5.1 數(shù)據(jù)導(dǎo)入操作過(guò)程圖(2)學(xué)生信息管理模塊的實(shí)現(xiàn)學(xué)生信息
42、管理模塊是本子系統(tǒng)的主要功能模塊,為用戶提供對(duì)學(xué)生信息的管理(包括增加學(xué)生信息、刪除學(xué)生信息、查找學(xué)生信息和修改學(xué)生信息)(3)數(shù)據(jù)處理模塊的實(shí)現(xiàn)此模塊為本子系統(tǒng)的核心模塊,也是該子系統(tǒng)中開發(fā)難度較大的模塊,共含有兩個(gè)功能:將Excel表格中的數(shù)據(jù)導(dǎo)入到MySQL數(shù)據(jù)庫(kù)和將MySQL數(shù)據(jù)庫(kù)中的數(shù)據(jù)導(dǎo)出到Excel表格。下面將分別對(duì)著兩個(gè)功能的實(shí)現(xiàn)進(jìn)行介紹:將Excel表格中的數(shù)據(jù)導(dǎo)入到MySQL數(shù)據(jù)庫(kù)中可以說(shuō)是一個(gè)比較實(shí)用的功能,是本子系統(tǒng)的特色功能之一,教師可以對(duì)現(xiàn)有的含有學(xué)生信息的Excel表格的格式稍微進(jìn)行變動(dòng),就能將Excel表格中的數(shù)據(jù)批量導(dǎo)入到MySQL數(shù)據(jù)庫(kù),這樣節(jié)省了大量對(duì)學(xué)生
43、信息進(jìn)行錄入的時(shí)間。該功能主要是使用jxl庫(kù),jxl庫(kù)是純Java的API,它不依賴windows操作系統(tǒng),使用者可以通過(guò)jxl庫(kù)對(duì)Excel進(jìn)行操作,所以實(shí)現(xiàn)這項(xiàng)功能jxl庫(kù)是必不可少的。完成這項(xiàng)功能只需要簡(jiǎn)單幾步就可以實(shí)現(xiàn):第一步,檢測(cè)含有需要導(dǎo)入數(shù)據(jù)庫(kù)數(shù)據(jù)的Excel表格是否存在并連接數(shù)據(jù)庫(kù);第二步,讀取數(shù)據(jù),數(shù)據(jù)的讀取是通過(guò)數(shù)組實(shí)現(xiàn)的,從Excel表的第一行開始讀取;第三步,將讀取到的數(shù)據(jù)插入到MySQL數(shù)據(jù)庫(kù)中。其操作過(guò)程如圖5.2所示:圖5.2 數(shù)據(jù)導(dǎo)入操作過(guò)程圖將MySQL數(shù)據(jù)庫(kù)中的數(shù)據(jù)導(dǎo)出到Excel表格也是本子系統(tǒng)的特色功能之一,教師可以把數(shù)據(jù)庫(kù)中的學(xué)生信息的數(shù)據(jù)導(dǎo)出到Exc
44、el表格中,這樣也方便對(duì)學(xué)生信息進(jìn)行打印或進(jìn)行紙質(zhì)版的存檔。該功能也是使用jxl庫(kù),完成這項(xiàng)功能也只需要簡(jiǎn)單幾步就可以實(shí)現(xiàn):第一步,連接數(shù)據(jù)庫(kù),讀取配置文件(該配置文件已經(jīng)寫好);第二步,建立新的Excel表格,并將數(shù)據(jù)導(dǎo)出到該表格;第三步,將該表格保存到指定位置。其操作過(guò)程如圖5.3所示:圖5.3 數(shù)據(jù)導(dǎo)出操作過(guò)程圖實(shí)現(xiàn)該功能的核心代碼如下:ToExcel db=new ToExcel();try FileReader file = new FileReader(config/Export.ini); BufferedReader buff = new BufferedReader(file
45、); String str=buff.readLine(); while (str != null) String dat=str.split(#); if (dat0.equals(begin) String fileName=dat1+數(shù)據(jù).xls; int location=Integer.parseInt(dat2); String sheetName=dat3; url=ur+dat4+?useUnicode=true&characterEncoding=gb2312; String tableName=dat5; String sql=dat6; db.createExcelFil
46、e(fileName); db.createSheetName(location,sheetName); db.Connect(); List list=db.executeQuery(sql);try db.write(list); catch (Exception e) e.printStackTrace();db.close();db.WorkBookWrite(); str=buff.readLine(); buff.close(); file.close(); System.out.println(導(dǎo)出數(shù)據(jù)完成!); catch(IOException e) System.out.p
47、rintln(讀操作文件錯(cuò)誤+e.toString();5.3 系統(tǒng)集成與調(diào)試系統(tǒng)的集成過(guò)程主要是將不同的模塊進(jìn)行整合,使各個(gè)模塊緊密聯(lián)系在一起,成為一個(gè)完整的、可以實(shí)現(xiàn)全部功能的系統(tǒng)。系統(tǒng)調(diào)試過(guò)程主要包括對(duì)代碼的語(yǔ)法錯(cuò)誤調(diào)試和對(duì)程序功能的調(diào)試,針對(duì)本子系統(tǒng)的開發(fā)技術(shù),采用STS進(jìn)行調(diào)試。5.3.1 系統(tǒng)集成一個(gè)系統(tǒng)在開發(fā)過(guò)程中需要分成不同的模塊,不同的模塊擁有不同的功能,為了方便調(diào)試且容易編寫,在代碼編寫的過(guò)程中都是按照流程分別對(duì)不同的模塊進(jìn)行編寫,最終將所有的模塊整合到該系統(tǒng)的主框架內(nèi),本程序也不例外,先將各個(gè)模塊的功能實(shí)現(xiàn),然后再將所有模塊的代碼整合在程序的主框架內(nèi),使所有模塊組成一個(gè)整
48、體。5.3.2 系統(tǒng)調(diào)試(1)調(diào)試過(guò)程首先在STS中建立Spring Roo工程,然后編寫本子系統(tǒng)的程序代碼,代碼編寫完成后保存,選擇Run on Server,如果代碼存在錯(cuò)誤則會(huì)報(bào)錯(cuò),并指示出代碼具體在哪行出現(xiàn)的錯(cuò)誤,當(dāng)改正全部錯(cuò)誤后程序?qū)⒖梢哉_\(yùn)行。(2)Java類調(diào)試本程序在開發(fā)過(guò)程中被分成了不同的模塊,不同的模塊對(duì)應(yīng)不同的類,模塊也是獨(dú)立開發(fā)的,所以在調(diào)試的過(guò)程中首先對(duì)不同的類進(jìn)行單獨(dú)調(diào)試,然后再將各個(gè)模塊整合在一起進(jìn)行一次整合后調(diào)試。對(duì)于程序中出現(xiàn)的功能性錯(cuò)誤提示,如不知道錯(cuò)誤的位置,可以在STS工具中添加斷點(diǎn)進(jìn)行單步調(diào)試,一步一步排除錯(cuò)誤,直到找出具體出問(wèn)題的位置。如知道錯(cuò)誤的
49、位置,直接將錯(cuò)誤的Java類進(jìn)行修改。如果出現(xiàn)邏輯錯(cuò)誤,需要反復(fù)推敲進(jìn)行修改。大連東軟信息學(xué)院畢業(yè)設(shè)計(jì)(論文)第6章系統(tǒng)測(cè)試師資管理子系統(tǒng)是EE管理系統(tǒng)的一個(gè)重要組成部分,該子系統(tǒng)主要對(duì)學(xué)生信息進(jìn)行管理,同時(shí)為其他子系統(tǒng)提供學(xué)生信息的數(shù)據(jù),本次測(cè)試主要是對(duì)本子系統(tǒng)的現(xiàn)有功能進(jìn)行系統(tǒng)性的功能測(cè)試,主要是為了找出目前程序中存在的bug并進(jìn)行修改,使該子系統(tǒng)在以后的使用中能更穩(wěn)定的運(yùn)行。6.1 測(cè)試概述測(cè)試方案描述。系統(tǒng)經(jīng)過(guò)集成和調(diào)試過(guò)程后,已經(jīng)可以算上一個(gè)較為完整的可以實(shí)現(xiàn)預(yù)計(jì)功能的系統(tǒng)了。所有的程序在開發(fā)完成后都需要進(jìn)行測(cè)試,這是一項(xiàng)重要并且復(fù)雜的步驟,軟件測(cè)試在軟件的整個(gè)生存周期中起著非常重要
50、的作用,它可以發(fā)現(xiàn)軟件中存在的各種問(wèn)題和不足,一個(gè)軟件如果想保證該軟件的質(zhì)量并要更穩(wěn)定地運(yùn)行,軟件測(cè)試這一部分是必不可少的。本子系統(tǒng)的測(cè)試將按照程序完整的運(yùn)行流程對(duì)每一個(gè)模塊進(jìn)行測(cè)試。6.2 測(cè)試用例6.2.1 登陸登陸模塊中只需要驗(yàn)證用戶名和密碼,只有當(dāng)用戶名和密碼同時(shí)正確才能進(jìn)入到本系統(tǒng),由于本系統(tǒng)在設(shè)計(jì)的過(guò)程中沒(méi)有添加對(duì)用戶名和密碼的格式的判斷,所以在測(cè)試本功能的過(guò)程中不再去測(cè)試格式正確與否的問(wèn)題,直接對(duì)系統(tǒng)是否同時(shí)驗(yàn)證用戶名密碼的正確性進(jìn)行測(cè)試,測(cè)試結(jié)果如表6.1所示。表6.1 登陸測(cè)試結(jié)果用例序號(hào)使用用戶名使用密碼期望輸出實(shí)際結(jié)果是否通過(guò)測(cè)試問(wèn)題解決1adminadmin登陸成功登陸
51、成功是2adminaaa登陸失敗登陸失敗是3aaaadmin登陸失敗登陸失敗是根據(jù)對(duì)測(cè)試結(jié)果的分析可以看出,系統(tǒng)在用戶名和密碼的驗(yàn)證過(guò)程中同時(shí)驗(yàn)證了用戶名和密碼的正確性,而非只驗(yàn)證其中之一。6.2.2 數(shù)據(jù)錄入數(shù)據(jù)錄入的測(cè)試主要是對(duì)系統(tǒng)是否能正常地將用戶所需要錄入的數(shù)據(jù)存入到數(shù)據(jù)庫(kù)中。由于在開發(fā)系統(tǒng)過(guò)程中部分信息被設(shè)置為必填信息,因此還需要測(cè)試如果未填寫必填信息,系統(tǒng)是否會(huì)允許用戶對(duì)這條信息進(jìn)行保存。測(cè)試結(jié)果如表6.2和表6.3所示。表6.2 數(shù)據(jù)能否正常保存的測(cè)試測(cè)試名稱對(duì)數(shù)據(jù)能否正常保存的測(cè)試測(cè)試流程1、使用賬號(hào)成功登陸系統(tǒng)。2、通過(guò)點(diǎn)擊左側(cè)的菜單進(jìn)入數(shù)據(jù)錄入模式。3、在所有的輸入框中錄入
52、一名學(xué)生的完整信息并點(diǎn)擊保存。出現(xiàn)問(wèn)題存入數(shù)據(jù)庫(kù)中的所有漢字?jǐn)?shù)據(jù)都以“?”的形式顯示,網(wǎng)頁(yè)上點(diǎn)擊查看全部學(xué)生信息,上面的漢字也都全部以“?”的形式顯示出來(lái)。當(dāng)存入一條學(xué)生信息后,重新運(yùn)行該程序,則已錄入學(xué)生數(shù)據(jù)會(huì)全部消失,數(shù)據(jù)庫(kù)的stu表又變成了一張空表。解決方法對(duì)于數(shù)據(jù)庫(kù)中的數(shù)據(jù)和網(wǎng)頁(yè)上的數(shù)據(jù)不顯示漢字問(wèn)題,經(jīng)過(guò)查閱相關(guān)資料了解到,Spring框架、Hibernate框架和stu表都有自己的編碼形式,經(jīng)過(guò)對(duì)源代碼的查看,發(fā)現(xiàn)本程序的Spring框架和Hibernate框架的編碼形式都采用utf-8的編碼形式進(jìn)行編碼,而stu表的編碼形式為latin1,多次修改stu表的編碼形式,但是修改后編
53、碼形式仍然為latin1。最終刪除數(shù)據(jù)庫(kù),重新建立了一個(gè)新的數(shù)據(jù)庫(kù)并將數(shù)據(jù)庫(kù)的默認(rèn)編碼修改為utf-8編碼解決了此問(wèn)題。針對(duì)重啟程序數(shù)據(jù)消失問(wèn)題也進(jìn)行了相關(guān)資料的查找,發(fā)現(xiàn)在persistence.xml文件中有一行代碼為該句代碼中的create字段表示根據(jù)model類來(lái)生成表,但是每次運(yùn)行都會(huì)刪除上一次的表,重新生成表,正是因?yàn)檫@個(gè)字段所以才會(huì)導(dǎo)致每次重啟程序stu表中的數(shù)據(jù)都會(huì)消失,所以將字段create改為update,update字段表示根據(jù)model類生成表,即使表結(jié)構(gòu)改變了,表中的行仍然可以存在,不會(huì)刪除以前的行。至此,問(wèn)題解決。測(cè)試結(jié)果點(diǎn)擊保存按鈕后所有信息可以存入數(shù)據(jù)庫(kù)。表6.
54、3 系統(tǒng)是否檢測(cè)有必填信息未填寫的測(cè)試測(cè)試名稱系統(tǒng)是否檢測(cè)有必填信息未填寫測(cè)試測(cè)試流程1、通過(guò)系統(tǒng)左側(cè)菜單進(jìn)入數(shù)據(jù)錄入模式。2、一項(xiàng)必填信息不填寫并點(diǎn)擊保存按鈕。續(xù)表6.3 系統(tǒng)是否檢測(cè)有必填信息未填寫的測(cè)試測(cè)試流程3、多項(xiàng)必填信息不填寫并點(diǎn)擊保存按鈕。出現(xiàn)問(wèn)題未出現(xiàn)問(wèn)題。解決方法測(cè)試結(jié)果當(dāng)數(shù)據(jù)錄入界面有一項(xiàng)必填信息不填寫和有多項(xiàng)必填信息不填寫的時(shí)候點(diǎn)擊保存按鈕系統(tǒng)均會(huì)提示,不保存當(dāng)前已錄入信息并停留在當(dāng)前頁(yè)面。根據(jù)表格中的測(cè)試結(jié)果可以看出,系統(tǒng)可以將用戶錄入的信息存入數(shù)據(jù)庫(kù),雖然出現(xiàn)了亂碼問(wèn)題,但已解決。同時(shí)系統(tǒng)可以檢測(cè)出有必填信息未填寫并提示用戶。6.2.3 數(shù)據(jù)查找數(shù)據(jù)查找功能在本系統(tǒng)的
55、使用過(guò)程中肯定是使用率最高的一個(gè)功能,本系統(tǒng)提供了根據(jù)學(xué)號(hào)進(jìn)行查找的功能,對(duì)本功能的測(cè)試主要是對(duì)查找結(jié)果的正確性進(jìn)行測(cè)試。測(cè)試結(jié)果如表6.4所示。表6.4數(shù)據(jù)查找測(cè)試測(cè)試名稱數(shù)據(jù)查找測(cè)試測(cè)試流程使用賬號(hào)成功登陸系統(tǒng)。在全部學(xué)生信息管理界面點(diǎn)擊查找按鈕。輸入要查找的學(xué)生的學(xué)號(hào)并點(diǎn)擊確認(rèn)按鈕。出現(xiàn)問(wèn)題未出現(xiàn)問(wèn)題解決方法測(cè)試結(jié)果經(jīng)過(guò)對(duì)查找到的信息和數(shù)據(jù)庫(kù)中的信息進(jìn)行對(duì)比,兩信息完全一致。6.2.4 數(shù)據(jù)修改數(shù)據(jù)修改功能主要是針對(duì)在信息錄入過(guò)程中出現(xiàn)的一些錯(cuò)誤而導(dǎo)致信息錯(cuò)誤所進(jìn)行性的補(bǔ)救措施,數(shù)據(jù)修改測(cè)試主要是測(cè)試修改后的數(shù)據(jù)是否能正確存入數(shù)據(jù)庫(kù)。測(cè)試結(jié)果如表6.5所示。表6.5 數(shù)據(jù)修改測(cè)試測(cè)試名稱
56、數(shù)據(jù)修改測(cè)試測(cè)試流程使用賬號(hào)成功登陸系統(tǒng)。點(diǎn)擊查看全部學(xué)生信息按鈕。在需要修改的學(xué)生信息的后面點(diǎn)擊修改按鈕,進(jìn)入修改模式。將需要修改的學(xué)生信息替換原來(lái)的信息,點(diǎn)擊保存按鈕。續(xù)表6.5 數(shù)據(jù)修改測(cè)試出現(xiàn)問(wèn)題未出現(xiàn)問(wèn)題。解決方法測(cè)試結(jié)果在頁(yè)面中修改多的學(xué)生信息均同步到數(shù)據(jù)庫(kù)中。6.2.5 數(shù)據(jù)刪除數(shù)據(jù)刪除功能主要對(duì)重復(fù)或過(guò)期數(shù)據(jù)的刪除,對(duì)該功能的測(cè)試主要是測(cè)試在頁(yè)面刪除數(shù)據(jù)后數(shù)據(jù)庫(kù)中的數(shù)據(jù)是否也同時(shí)刪除。測(cè)試結(jié)果如表6.6所示。表6.6 數(shù)據(jù)刪除測(cè)試測(cè)試名稱數(shù)據(jù)刪除測(cè)試測(cè)試流程使用賬號(hào)成功登陸系統(tǒng)。點(diǎn)擊查看全部學(xué)生信息按鈕。在需要?jiǎng)h除的學(xué)生信息的后面點(diǎn)擊刪除按鈕,接下來(lái)會(huì)彈出確認(rèn)刪除對(duì)話框,點(diǎn)擊確
57、認(rèn)刪除對(duì)話框中的“是”按鈕,數(shù)據(jù)則被刪除。出現(xiàn)問(wèn)題未出現(xiàn)問(wèn)題解決方法測(cè)試結(jié)果在頁(yè)面中刪除的數(shù)據(jù)在數(shù)據(jù)庫(kù)中也會(huì)刪除。6.2.6 數(shù)據(jù)導(dǎo)出數(shù)據(jù)導(dǎo)出功能是本系統(tǒng)的特色功能之一,主要是將數(shù)據(jù)庫(kù)中的數(shù)據(jù)導(dǎo)出到Excel表格中,方便打印或進(jìn)行其他用途。對(duì)本功能的測(cè)試主要是測(cè)試點(diǎn)擊數(shù)據(jù)導(dǎo)出按鈕的時(shí)候是否能完成對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的導(dǎo)出工作,同時(shí)導(dǎo)出的數(shù)據(jù)在Excel表格中格式是否正確,是否會(huì)出現(xiàn)錯(cuò)行、數(shù)據(jù)不對(duì)應(yīng)等問(wèn)題。測(cè)試結(jié)果如表6.7所示。表6.7 數(shù)據(jù)導(dǎo)出測(cè)試測(cè)試名稱數(shù)據(jù)導(dǎo)出測(cè)試(從MySQL數(shù)據(jù)庫(kù)到Excel)測(cè)試流程使用賬號(hào)成功登陸系統(tǒng)。進(jìn)入數(shù)據(jù)管理頁(yè)面并點(diǎn)擊數(shù)據(jù)導(dǎo)出按鈕。查看工程目錄下是否出現(xiàn)Excel
58、表格,并核對(duì)表格中信息是否正確。出現(xiàn)問(wèn)題點(diǎn)擊按鈕后STS的控制臺(tái)報(bào)錯(cuò),雖然Excel表格創(chuàng)建成功,但是里面沒(méi)有數(shù)據(jù)。表6.7 數(shù)據(jù)導(dǎo)出測(cè)試解決方法經(jīng)過(guò)對(duì)錯(cuò)誤信息的分析,發(fā)現(xiàn)是數(shù)據(jù)導(dǎo)出所依賴的配置文件出現(xiàn)問(wèn)題:數(shù)據(jù)庫(kù)名稱和表的名稱填寫錯(cuò)誤,經(jīng)過(guò)對(duì)配置文件中這兩個(gè)字段的修改,問(wèn)題已經(jīng)解決,可以完成數(shù)據(jù)導(dǎo)出功能。測(cè)試結(jié)果經(jīng)過(guò)修改,可以實(shí)現(xiàn)數(shù)據(jù)導(dǎo)出功能,通過(guò)對(duì)Excel表格中的數(shù)據(jù)格式和內(nèi)容進(jìn)行核實(shí),表格中的數(shù)據(jù)內(nèi)容與格式和數(shù)據(jù)庫(kù)中的數(shù)據(jù)完全相同。通過(guò)上面的表格可以得出,該系統(tǒng)可以成功進(jìn)行數(shù)據(jù)導(dǎo)出任務(wù)。6.2.7 數(shù)據(jù)導(dǎo)入數(shù)據(jù)導(dǎo)出功能也是本系統(tǒng)的特色功能之一,主要是將Excel表格中的數(shù)據(jù)批量導(dǎo)入到M
59、ySQL數(shù)據(jù)庫(kù)中,可以避免通過(guò)頁(yè)面單條錄入的繁瑣。對(duì)本功能的測(cè)試主要是測(cè)試點(diǎn)擊數(shù)據(jù)導(dǎo)入按鈕后Excel表格中的數(shù)據(jù)是否能導(dǎo)入到數(shù)據(jù)庫(kù)中,在數(shù)據(jù)導(dǎo)入時(shí)Excel表格的第一行為列名順序需為date_of_birth,department,eclass,id_number,major,name,nationality,place_of_origin,sex,student_id,第二行開始為數(shù)據(jù),數(shù)據(jù)也要相應(yīng)的對(duì)應(yīng)在列名下。數(shù)據(jù)導(dǎo)入時(shí)一定要嚴(yán)格按照這個(gè)格式,否則可能出現(xiàn)導(dǎo)入失敗的問(wèn)題。測(cè)試結(jié)果如表6.8所示。表6.8 數(shù)據(jù)導(dǎo)入測(cè)試測(cè)試名稱數(shù)據(jù)導(dǎo)入測(cè)試(從Excel到MySQL數(shù)據(jù)庫(kù))測(cè)試流程使用賬號(hào)
60、成功登陸系統(tǒng),并將含有數(shù)據(jù)的Excel表格放入指定目錄下。進(jìn)入數(shù)據(jù)管理頁(yè)面并點(diǎn)擊數(shù)據(jù)導(dǎo)入按鈕。查看全部學(xué)生信息和數(shù)據(jù)庫(kù),并核對(duì)導(dǎo)入數(shù)據(jù)庫(kù)的數(shù)據(jù)或數(shù)據(jù)格式是否正確。出現(xiàn)問(wèn)題無(wú)解決方法測(cè)試結(jié)果點(diǎn)擊導(dǎo)入數(shù)據(jù)按鈕后,Excel表格的數(shù)據(jù)可以導(dǎo)入到數(shù)據(jù)庫(kù),并且未發(fā)現(xiàn)數(shù)據(jù)錯(cuò)誤或格式錯(cuò)誤等問(wèn)題。大連東軟信息學(xué)院畢業(yè)設(shè)計(jì)(論文)第7章結(jié)論師資管理系統(tǒng)是電子工程系信息管理系統(tǒng)的一個(gè)重要組成部分。它為其他子系統(tǒng)(如學(xué)科競(jìng)賽管理子系統(tǒng)、科研項(xiàng)目管理子系統(tǒng)等)提供了學(xué)生的基本信息。這些系統(tǒng)在具體應(yīng)用中構(gòu)成一個(gè)綜合的管理系統(tǒng),相互調(diào)用對(duì)方的數(shù)據(jù)。在畢業(yè)設(shè)計(jì)中,我們遇到的困難很多,在解決它們的同時(shí)我又學(xué)到了很多,受益匪淺
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 河南測(cè)繪職業(yè)學(xué)院《社會(huì)體育運(yùn)動(dòng)技能與指導(dǎo)(瑜伽)》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣西財(cái)經(jīng)學(xué)院《流域管理學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 吉安職業(yè)技術(shù)學(xué)院《群落生態(tài)學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 重慶城市科技學(xué)院《安全行為學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 新疆農(nóng)業(yè)大學(xué)《醫(yī)學(xué)影像診斷學(xué)1》2023-2024學(xué)年第二學(xué)期期末試卷
- 海南大學(xué)《中國(guó)古文名篇導(dǎo)讀》2023-2024學(xué)年第二學(xué)期期末試卷
- 安陽(yáng)幼兒師范高等??茖W(xué)?!秾W(xué)位論文選題與設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 公章申請(qǐng)流程
- 抽排水施工方案
- 2025年鄉(xiāng)村醫(yī)生崗位理論知識(shí)考試模擬試題及答案(共100題)
- 互通立交的安全性評(píng)價(jià)要點(diǎn)與案例介紹
- 居住區(qū)規(guī)劃設(shè)計(jì)講解及案例分析課件
- 湖北省鄂州市基層診所醫(yī)療機(jī)構(gòu)衛(wèi)生院社區(qū)衛(wèi)生服務(wù)中心村衛(wèi)生室地址信息
- Revit軟件基礎(chǔ)入門課件(很詳細(xì))
- 申論詳解(PPT課件)
- 新人教版四年級(jí)數(shù)學(xué)下冊(cè)總復(fù)習(xí)專題一《四則運(yùn)算及運(yùn)算定律》課件
- 第8課《時(shí)間的腳印》課件(25張PPT)-部編版語(yǔ)文八年級(jí)下冊(cè)
- 北師大版小學(xué)數(shù)學(xué)六年級(jí)下冊(cè)《可愛的小貓》公開課優(yōu)質(zhì)課優(yōu)秀教學(xué)設(shè)計(jì)(經(jīng)典完美)
- Q∕GDW 12175-2021 單相智能物聯(lián)電能表技術(shù)規(guī)范
- 石油產(chǎn)品化驗(yàn)室分析規(guī)程
- 同一直線上的二力合成導(dǎo)學(xué)案
評(píng)論
0/150
提交評(píng)論