【正文】
填的個(gè)人信息要導(dǎo)入到系統(tǒng)中,教師在學(xué)生測(cè)試之前要完成對(duì)課題的設(shè)置和課題建議工作。如果對(duì)用戶的需求誤解了將對(duì)以后的系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)造成很大的誤導(dǎo),并且不好改動(dòng),所以這一步需謹(jǐn)慎。 ( 3)設(shè)計(jì)應(yīng)該包含數(shù)據(jù)抽象和過(guò)程抽象 ( 4)模塊與外部環(huán)境之間的接口盡量少 ( 5)系統(tǒng)盡量簡(jiǎn)單,減少處理的時(shí)間和費(fèi)用 16 ( 6)系統(tǒng)數(shù)據(jù)的一致性,對(duì)于系統(tǒng)中的相同信息的顯示和存儲(chǔ)要一致 ( 7)系統(tǒng)具備一定的出錯(cuò)處理功能,提高系統(tǒng)的可靠性。當(dāng)業(yè)務(wù)邏輯層將數(shù)據(jù)傳遞給相應(yīng)的 Action 后,通過(guò) 中的映射來(lái)跳轉(zhuǎn)到相應(yīng)的 JSP 頁(yè)面,在頁(yè)面中使用 Struts2 標(biāo)簽就可以將傳遞過(guò)來(lái)的參數(shù)顯示在頁(yè)面中。 21 當(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),具體如圖 45 所示。系統(tǒng)實(shí)現(xiàn)按功能模塊的劃分來(lái)分別實(shí)現(xiàn),循序漸進(jìn)。首先需要對(duì) Struts2 進(jìn)行配置。以測(cè)試試題的業(yè)務(wù)邏輯為例進(jìn)行分析業(yè)務(wù)邏輯層的實(shí)現(xiàn)。 } public String execute() throws Exception { = new studentSI()。啟動(dòng) Tomcat,通過(guò)在瀏覽器中輸入網(wǎng)址: 務(wù)器是否正常運(yùn)行。通過(guò)對(duì)系統(tǒng)設(shè)計(jì)的分析知道該從哪個(gè)方面開始著手做,并且清楚了每個(gè)角色的操作。老師同意學(xué)生預(yù)選則可以分配課題給學(xué)生,學(xué)生可以查看課題信息;拒絕則給出拒絕信息,學(xué)生可以查看老師拒 絕信息。關(guān)系型數(shù)據(jù)庫(kù)要滿足三類完整性約束,即實(shí)體完整性,參照完整性,用戶自定義的完整性 [7]。對(duì)于數(shù)據(jù)庫(kù)的設(shè)計(jì),要充分考慮到數(shù)據(jù)的存儲(chǔ)需求并充分利用不同數(shù)據(jù)類型的優(yōu)勢(shì)來(lái)選擇存儲(chǔ)數(shù)據(jù)類型。 13 m a n a g e _ q u e s t io n s _ in f o rlo g ina d d _ u s e r _ in f o r d e le t e _ u s e r _ in f o ru p d a t e _ u s e r _ in f o rm a n a g e _ u s e r s _ in f o rs e le c t _ u s e r _ in f o ra d d _ q u e s t io n s _ in f o rd e le t e _ q u e s t io n s _ in f o ru p d a t e _ q u e s t io n s _ in f o rv ie w _ q u e s t io n s _ in f o rlo g o u tm a n a g e _ t h e s is _ in f o rv ie w _ t h e s is _ in f o r e x t e n d e x t e n d e x t e n d e x t e n d e x t e n d e x t e n d e x t e n d i n c l u d e i n c l u d e a d m in is t r a t o ru p d a t e _ p a s s w o r d 圖 34 管理員用例圖 administrator(管理員)的用例有: login:登陸系統(tǒng) logout:退出系統(tǒng) manage_users_infor:管理用戶信息 add_user_infor:添加用戶信息 delete_user_infor:刪除用戶信息 update_user_infor:更新用戶信息 select_user_infor:查找用戶信息 manage_questions_infor:管理題庫(kù) add_questions_infor:添加測(cè)題 delete_questions_infor:刪除測(cè)題 update_questions_infor:更新測(cè)題 view_questions_infor:查找測(cè)題 manage_thesis_infor:管理課題信息 view_thesis_infor:查看課題信息 14 update_password:修改密碼 管理員的主要功能之一是對(duì)學(xué)生信息進(jìn)行管理。為了能夠?qū)崿F(xiàn)學(xué)生的專業(yè)知識(shí)掌握能力和動(dòng)手能力的測(cè)試、教師通過(guò)學(xué)生的測(cè)試成績(jī)來(lái)了解學(xué)生綜合能力,系統(tǒng)管理員對(duì)系統(tǒng)的后臺(tái)數(shù)據(jù)庫(kù)進(jìn)行管理,系統(tǒng) 8 應(yīng)該分別對(duì) 這三個(gè)角色的功能進(jìn)行實(shí)現(xiàn)。 小結(jié) : 在選擇開發(fā)和設(shè)計(jì)使用的工具時(shí)并不是選擇最好的而選擇的是比較適合本系統(tǒng)的工具。在使用 Myeclipse 時(shí)對(duì)代碼能進(jìn)行提示功能,并且對(duì)語(yǔ)法的錯(cuò)誤能提示和定位錯(cuò)誤。控制層用的是繼承自 ActionSupport 的 Action 類,實(shí)際操作中是在 配置文件中進(jìn)行 Action 映射。通過(guò)對(duì)學(xué)生選題測(cè)試功能中 Struts 架構(gòu)的運(yùn)作過(guò)程來(lái)更具體的闡述實(shí)現(xiàn)過(guò)程。由于不少學(xué)生正式選題時(shí)不了解有哪些導(dǎo)師的研究方向適合自己,造成選題盲目甚至做出來(lái)的畢業(yè)設(shè)計(jì)不符合要求等現(xiàn)象。系統(tǒng)提供給系統(tǒng)管理員有管理用戶信息、管理題庫(kù)等功能。最終系統(tǒng)能 幫助學(xué)生選題和教師出題,以及畢業(yè)論文高效設(shè)計(jì)和制作,搭建教師與學(xué)生的有效交流平臺(tái)。 Struts 采用 MVC 模式,能夠很好的幫助 Java 開發(fā)者利用 JavaEE 開發(fā) Web 應(yīng)用。 ( 3) Mysql 提供了不同的數(shù)據(jù)類型 供選擇,支持所有的 SQL 數(shù)值類型。利用 Rational Rose 可以建立用 UML(統(tǒng)一建模語(yǔ)言)描述的軟件系統(tǒng)模型,而且可以自動(dòng)生成和維護(hù) C++、 Java、 Visual Basic 和 Oracle 等語(yǔ)言和系統(tǒng)的代碼。 系統(tǒng)概述 基于 JavaEE 的畢業(yè)設(shè)計(jì)選題測(cè)試及管理系統(tǒng)要求學(xué)生在設(shè)計(jì)選題前期參加平臺(tái)提供的測(cè)試了解自己的專業(yè)知識(shí)掌握能力和動(dòng)手能力,以便選題。 從系統(tǒng)概述可得到,學(xué)生參與者具有的功能如圖 32 所示。通過(guò)對(duì)系統(tǒng)進(jìn)行需求分析,對(duì)系統(tǒng)的實(shí)現(xiàn)更加細(xì)化和明確。 系統(tǒng)總體架構(gòu)設(shè)計(jì) 系統(tǒng)采用的是 JavaEE 技術(shù),總共分為表示層、業(yè)務(wù)邏輯層、 數(shù)據(jù)訪問層三層來(lái)考慮。用戶在使用系統(tǒng)時(shí)更希望界面簡(jiǎn)單,操作簡(jiǎn)便,有盡量少刷新操作和等待時(shí)間。 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 )t e a c h e rt 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 gt e a c h e rP a s s w or d : S t ri n gt e a c h e rM a il: S t ri n gm a x S t u : in ti n s t it u t e N u m : S t ri n gs e x : in t+g e t S e x ( ) : in t+s e t S e x ( s e x : in t )+g e t T e a c h e rM a il( ) : S t ri n g+s e t T e a c h e rM a il( t e a c h e rM a il: 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 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 rP a s s w or d ( ) : S t ri n g+s e t T e a c h e rP a s s w or d ( t e a c h e rP a s s w or d : S t ri n g )+g e t M a x S t u ( ) : in t+s e t M a x S t u ( m a x S t u : in t )+g e t I n s t it u t e N u m ( ) : S t ri n g+s e t I n s t it u t e N u m ( in s t it u t e N u m : S t ri n g )s t u d e n ts t u N u m : S t ri n gs t u N a m e : S t ri n gs t u P a s s w or d : S t ri n gm a j or N u m : S t ri n gs t u M a il: S t ri n gs e x : in tt e s t F la g : in t+g e t S e x ( ) : in t+s e t S e x ( s e x : in t )+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 S t u P a s s w or d ( ) : S t ri n g+s e t S t u P a s s w or d ( s t u P a s s w or d : S t ri n g )+g e t M a j or N u m ( ) : S t ri n g+s e t M a j or N u m ( m a j or N u m : S t ri n g )+g e t S t u M a il( ) : S t ri n g+s e t S t u M a il( s t u M a il: S t ri n g )+g e t T e s t F la g ( ) : in t+s e t T e s t F la g ( t e s t F la g : in t )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