【正文】
以自動(dòng)生成 Word 格式的文檔 ; ( 6) 支持關(guān)系型數(shù)據(jù)庫(kù)的建模, Rose 能為 SQL Server、 Oracle 等支持標(biāo)準(zhǔn) DDL的數(shù)據(jù)庫(kù)自動(dòng)生成數(shù)據(jù)描述語(yǔ)言。 Myeclipse 就是 Eclipse 的插件 ,它結(jié)構(gòu)上是模塊化得,在不影響其他模塊的情況下可以對(duì)任一模塊單褲升級(jí)和擴(kuò)展。 與另一個(gè)比較常用的 Access 數(shù)據(jù)庫(kù) 比較, Access 只能運(yùn)行在 Windows 操作系統(tǒng),主要應(yīng)用于小型的系統(tǒng) [7]??刂茖佑玫氖抢^承自 ActionSupport 的 Action 類 ,實(shí)際操作中是在 配置文件 中 進(jìn)行 Action 映射。 Struts 的使用能夠很好的 幫助 開(kāi)發(fā)團(tuán)隊(duì)減少在運(yùn)用 MVC 設(shè)計(jì)模型來(lái)開(kāi)發(fā) Web 應(yīng)用的時(shí)間。通過(guò)對(duì)學(xué)生 選題 測(cè)試 功能 中 Struts 架構(gòu)的 運(yùn)作過(guò)程 來(lái)更具體的闡述實(shí)現(xiàn)過(guò)程。 論文 結(jié)構(gòu)簡(jiǎn)介 系統(tǒng)是 根據(jù) 軟件工程中軟件開(kāi)發(fā)過(guò)程來(lái)制作的,首先進(jìn)行的是可行性研究,需 2 信息科學(xué)與技術(shù)學(xué)院學(xué)士學(xué)位論文 求分析,總體結(jié)構(gòu)設(shè)計(jì),詳細(xì)設(shè)計(jì),編碼實(shí)現(xiàn),系統(tǒng)測(cè)試,最后是系統(tǒng)維護(hù) [2]。 由于 不少學(xué)生 正式選題時(shí) 不了解有哪些導(dǎo)師的研究方向適合自己,造成選題盲目甚至做出來(lái)的畢業(yè)設(shè)計(jì)不符合要求等現(xiàn)象。 系統(tǒng)采用的 Struts 架構(gòu) 是對(duì) MVC 設(shè)計(jì)模式的一種實(shí)現(xiàn),它繼承了MVC 設(shè)計(jì)模式的所有特性 , 組件 的模塊化、重用性、靈活性使得開(kāi)發(fā)更加快捷,管理和維護(hù)更加方便 。 涉密論文按學(xué)校規(guī)定處理。對(duì)本研究提供過(guò)幫助和做出過(guò)貢獻(xiàn)的個(gè)人或集體,均已在文中作了明確的說(shuō)明并表示了謝意。除了文中特別加以標(biāo)注引用的內(nèi)容外,本論文不 包含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫的成果作品。 、圖表要求: 1)文字通順,語(yǔ)言流暢,書(shū)寫字跡工整,打印字體及大小符合要求,無(wú)錯(cuò)別字,不準(zhǔn)請(qǐng)他人代寫 2)工程設(shè)計(jì)類題目的圖紙,要求部分用尺規(guī)繪制,部分用計(jì)算機(jī)繪制,所有圖紙應(yīng)符合國(guó)家技術(shù)標(biāo)準(zhǔn)規(guī)范。 在學(xué)生 與 導(dǎo)師 雙向選定 后對(duì)學(xué)生論文的進(jìn)度跟進(jìn), 論文 批改 工作 方面 也起到了一定的協(xié)助作用。 本系統(tǒng)就是為了 方便學(xué)生科學(xué) 的了解自己的專業(yè)技能水平, 根據(jù) 自己有優(yōu)勢(shì)的方面 選擇 畢業(yè)設(shè)計(jì),方 便 導(dǎo)師與學(xué)生之間的交流和學(xué)生順利完成畢業(yè)設(shè)計(jì) 而提出來(lái)的采用當(dāng)前流行架構(gòu)和技術(shù)完成的系統(tǒng) 。 ( 3) 需求分析:根據(jù)實(shí)際的應(yīng)用和用戶需求概述得到開(kāi)發(fā)的系統(tǒng)的需求,通過(guò)對(duì)角色的分析得到系統(tǒng)使用對(duì)象的特點(diǎn)和功能需求。 小結(jié) 通過(guò)本節(jié)的介紹,使得對(duì)系統(tǒng)的制作的意 義和目的進(jìn)一步細(xì)化。另一方面給應(yīng)用開(kāi)發(fā)者很強(qiáng)的后臺(tái)支持。 雖然是免費(fèi)的但是與同類商業(yè)用途的數(shù)據(jù)庫(kù)比并不遜色。 而開(kāi)發(fā)的系統(tǒng)對(duì)數(shù)據(jù) 的查詢和速度要求比較大,所以使用 Mysql 數(shù)據(jù)庫(kù)更加適合本系統(tǒng)。 隨后又出現(xiàn)了 Myeclipse 和 版本, 版本已經(jīng)不需要配置 Tomcat,只需安裝好 ,而 Struts2的支持。 Myeclipse 的高度集成性使得與其它軟件的合作性比較好 。 為了保證系統(tǒng)能發(fā)揮其作用,系統(tǒng)管理 員要把所有學(xué)生和教師信息和測(cè)試用題庫(kù)按照數(shù)據(jù)庫(kù)相應(yīng)的表的要求 存入數(shù)據(jù)庫(kù)中 ,導(dǎo)師在學(xué)生測(cè)試之前應(yīng)該提供所有 可選的 課題 和 課題建議 和每個(gè)課題特別要求哪些課程信息 到系統(tǒng)。 8 信息科學(xué)與技術(shù)學(xué)院學(xué)士學(xué)位論文 圖 31 功能模塊圖 每個(gè)功能模塊之間是相互獨(dú)立的。 基本事件流: ( 1) 輸入用戶名、密碼和用戶身份 ( 2) 點(diǎn)擊 “ 登錄 ” ,系統(tǒng)通過(guò)對(duì)用戶信息驗(yàn)證和數(shù)據(jù)庫(kù)中用戶信息的對(duì)比 檢 測(cè) 用戶的合法性,如果用戶合法則進(jìn)入學(xué)生后臺(tái)管理首頁(yè) ( 3) 單擊 “ 我要測(cè)試 ” 菜單下的 “ 開(kāi)始測(cè)試 ” ,如果用戶還未測(cè)試則進(jìn)入測(cè)試頁(yè)面 ( 4) 單擊 “ 抽取試題 ” 按鈕,做完測(cè)題后,單擊 “ 提交答卷 ” 按鈕,測(cè)試完 畢 備選事件流: ( 1) 當(dāng)用戶輸入的用戶名或密碼為空時(shí),系統(tǒng)將不進(jìn)行跳轉(zhuǎn),不出現(xiàn)用戶操作頁(yè)面 ( 2) 當(dāng)用戶已經(jīng)測(cè)試,則不跳轉(zhuǎn)到測(cè)試頁(yè)面,而是跳轉(zhuǎn)到提示已經(jīng)測(cè)試的頁(yè)面后置條件:用戶測(cè)試完成,得到測(cè)試結(jié)果和測(cè)試報(bào)告。 學(xué)生信息管理用例說(shuō)明: 前置條件:管理員合法登陸,進(jìn)入管理員后臺(tái)管理首頁(yè) 。 15 信息科學(xué)與技術(shù)學(xué)院學(xué)士學(xué)位論文 4 系統(tǒng)設(shè)計(jì) 系統(tǒng)設(shè)計(jì)時(shí)站在對(duì)系統(tǒng)規(guī)劃的角度來(lái) 考慮系統(tǒng)該如何實(shí)現(xiàn)、如何將需求轉(zhuǎn)換為軟件設(shè)計(jì)的問(wèn)題。對(duì)于數(shù)據(jù)庫(kù)的設(shè)計(jì),要充分考慮到數(shù)據(jù)的存儲(chǔ)需求并充分利用不同數(shù)據(jù)類型的優(yōu)勢(shì)來(lái)選擇存儲(chǔ)數(shù)據(jù)類型。根據(jù)所見(jiàn)即所得原理,表示層將業(yè)務(wù)邏輯層返回的數(shù)據(jù)以用戶能理解的形式在頁(yè)面中顯示,用戶通過(guò)表示層提供的接口 輸入數(shù)據(jù),通過(guò)頁(yè)面來(lái) 傳遞數(shù)據(jù)到后臺(tái)業(yè)務(wù)邏輯層 進(jìn)行 處理。 在頁(yè)面顯示數(shù)據(jù)時(shí)傳遞的是對(duì)象數(shù)組 。 業(yè)務(wù)邏輯層提供了一系列可提供 給用戶的 服務(wù),是對(duì)用戶問(wèn)題提供解決的方法。 從數(shù)據(jù)庫(kù)設(shè)計(jì)中得到相應(yīng)的 DAO 層的設(shè)計(jì)如圖 45 所示。 23 信息科學(xué)與技術(shù)學(xué)院學(xué)士學(xué)位論文 5 系統(tǒng)實(shí)現(xiàn) 系統(tǒng)實(shí)現(xiàn)是 系統(tǒng)設(shè)計(jì)之后的工作 ,是將系統(tǒng)設(shè)計(jì)轉(zhuǎn)換為可執(zhí)行的程序代碼的過(guò)程。 //查找成績(jī)?yōu)榍?3名的測(cè)試記錄 24 信息科學(xué)與技術(shù)學(xué)院學(xué)士學(xué)位論文 int courseAmount = ()。 j++){ ((j))。 i++){ if((i).getScores() = 4){ //每門課程測(cè)試分?jǐn)?shù)大于等于 4則推薦老師 courseNums[i] = (i).getCourseNum()。 選題測(cè)試模塊的 實(shí)現(xiàn) 選題測(cè)試模塊主要是對(duì)測(cè)試后的結(jié)果進(jìn)行分析,根據(jù)學(xué)生 根據(jù) 測(cè)試課程分?jǐn)?shù)推薦合適的課題和老師給學(xué)生 。 22 信息科學(xué)與技術(shù)學(xué)院學(xué)士學(xué)位論文 a p p ly I n f o rs t u N u m : S t ri n gs t u N a m e : S t ri n gt e a c h e rN u m : S t ri n gt e a c h e rN a m e : S t ri n ga p p ly F la g : in ta p p ro v e F la g : in tre j e c t R e a s on : S t ri n g+g e t S t u N u m ( ) : S t ri n g+s e t S t u N u m ( s t u N u m : S t ri n g )+g e t S t u N a m e ( ) : S t ri n g+s e t S t u N a m e ( s t u N a m e : S t ri n g )+g e t T e a c h e rN a m e ( ) : S t ri n g+s e t T e a c h e rN a m e ( t e a c h e rN a m e : S t ri n g )+g e t T e a c h e rN u m ( ) : S t ri n g+s e t T e a c h e rN u m ( t e a c h e rN u m : S t ri n g )+g e t A p p ly F la g ( ) : in t+s e t A p p ly F la g ( a p p ly F la g : in t )+g e t A p p ro v e F la g ( ) : in t+s e t A p p ro v e F la g ( a p p ro v e F la g : in t )+g e t R e j e c t R e a s on ( ) : S t ri n g+s e t R e j e c t R e a s on ( re j e c t R e a s on : S t ri n g )a p p ly I n f o r D I+s e t A p p ro v e F la g ( s t u N u m : S t ri n g , t e a c e rN u m : S t ri n g )+s e t A p p ly F la g ( s t u N u m : S t ri n g , t e a c h e rN u m : S t ri n g )+s e t R e j e c t R e a s on ( s t u N u m : S t ri n g , t e a c h e rN u m : S t ri n g , re j e c t R e a s on : S t ri n g )+f la g I s T ru e ( s t u N u m : S t ri n g )+s e a rc h S t u I s F a ls e ( )+s e a rc h S t u I s W a it ( )+s e a rc h B y T N ( t e a c h e rN u m : S t ri n g )+d e lA p p ly I n f or ( s t u N u m : S t ri n g )+s e a rc h B y S t u N u m ( s t u N u m : S t ri n g )+s e a rc h B y S N T N ( s t u N u m : S t ri n g , t e a c h e rN u m : S t ri n g )+u p d a t e S t u T e a ( S t ri n g s t u N u m , S t ri n g s t u N a m e , S t ri n g t e a c h e rN u m , S t ri n g t e a c h e rN a m e )+d e lO t h e rA p p ly I n f or ( s t u N u m : S t ri n g , a p p ro v e F la g : in t )+d e lA p p ly I n f or B y T N ( t e a c h e rN u m : S t ri n g )c o n n e c ts C on n e c t S t ri n g : S t ri n gs U s e r: S t ri n gs P a s s w or d : S t ri n gs D ri v e r: S t ri n g+g e t C on n e c t ion ( ) : C on n e c t ion+c los e C on n e c t ion ( c on : C on n e c t ion , rs : R e s u lt S e t , s t : S t a t e m e n t ) : b ool e a nd bO p e r a t es t : S t a t e m e n t = n u llrs : R e s u lt S e t = n u llre s u lt V a lu e : in t+g e t S t ( ) : S t a t e m e n t+s e t S t ( s t : S t a t e m e n t )+g e t R s ( ) : R e s u lt S e t+s e t R s ( rs : R e s u lt S e t )+i n s e rt ( c on n : C on n e c t ion , s I n s e rt S q l: S t ri n g ) : in t+s e le c t ( c on n : C on n e c t ion , s S e le c t S q l: S t ri n g ) : R e s u lt S e t+d e le t e ( c on n e c t : C on n e c t ion , s D e le t e S q l: S t ri n g ) : in t+u p d a t e ( c on n e c t : C on n e c t ion , s U p d a t e S q l: S t ri n g ) : in tu s eu s e0. . n 圖 46 預(yù)選信息 DAO操作 預(yù)選 信息表 類圖 小結(jié) 系統(tǒng)設(shè)計(jì)在軟件工程中占了很重要的角色,是占用整個(gè)開(kāi)發(fā)周期中比較長(zhǎng)時(shí)間的階段。 當(dāng)學(xué)生申請(qǐng)導(dǎo)師時(shí)要傳遞學(xué)號(hào)和教師號(hào) 到 Service 層來(lái)調(diào)用 Service 層的申請(qǐng)方法, Service 層將參數(shù)傳遞至 DAO 層, DAO 層再調(diào)用數(shù)據(jù)庫(kù)操作方法,操作完成后以 applyInfor 對(duì)象的形式返回申請(qǐng)導(dǎo)師表中的一條記錄,其中 applyInfor 中的學(xué)號(hào)stuNum 和教師號(hào) teacherNum 分別依賴于學(xué)生表 student 中的學(xué)號(hào) 和教師表 teacher 中的教師號(hào),具體如圖 44 所示。老師通過(guò)查看預(yù)選了課題的學(xué)生的測(cè)試成績(jī)決定是否同意學(xué)生預(yù)選。 當(dāng)業(yè)務(wù)邏輯層將數(shù)據(jù)傳遞給相應(yīng)的 Action 后,通過(guò) 中的映射來(lái)跳轉(zhuǎn)到